From ef00f85bd9c44a8e9ef07be548959ce1ac6f9dd0 Mon Sep 17 00:00:00 2001 From: Jaifroid Date: Mon, 28 Nov 2022 17:05:18 +0000 Subject: [PATCH] Compiled without debug info Former-commit-id: de8a2fc62984f6c66dc6519ee8b9ad0079a4c33d --- www/js/lib/libzim-asm.js | 170 + www/js/lib/libzim-asm.js.REMOVED.git-id | 1 - www/js/lib/libzim-wasm.js | 7565 +------------------- www/js/lib/libzim-wasm.wasm | Bin 0 -> 1406402 bytes www/js/lib/libzim-wasm.wasm.REMOVED.git-id | 1 - 5 files changed, 311 insertions(+), 7426 deletions(-) create mode 100644 www/js/lib/libzim-asm.js delete mode 100644 www/js/lib/libzim-asm.js.REMOVED.git-id create mode 100644 www/js/lib/libzim-wasm.wasm delete mode 100644 www/js/lib/libzim-wasm.wasm.REMOVED.git-id diff --git a/www/js/lib/libzim-asm.js b/www/js/lib/libzim-asm.js new file mode 100644 index 00000000..09b19e6e --- /dev/null +++ b/www/js/lib/libzim-asm.js @@ -0,0 +1,170 @@ + +var k;k||(k=typeof Module !== 'undefined' ? Module : {}); +self.addEventListener("message",function(ja){var Ib=performance.now(),V=ja.data.action,Jc=ja.data.path,ka=ja.ports[0];console.debug("WebWorker called with action="+V);if("getEntryByPath"===V){var Jb=ja.data.H,la=k[V](Jc);if(la){var kb={};if(Jb||!la.Ea()){kb=la.getItem(Jb);var Kb=performance.now(),Kc=kb.getData(),Lb=performance.now(),Mb=Kc.jd(),Nb=performance.now(),Lc=new Uint8Array(Mb),Ob=performance.now();ka.postMessage({content:Lc,Ac:kb.ld(),Ea:la.Ea()});var Pb=performance.now();console.debug("content length = "+ +Mb.length+" read in "+Math.round(Pb-Ib)+" ms ("+Math.round(Kb-Ib)+" ms to find the entry, "+Math.round(Lb-Kb)+" ms for getData, "+Math.round(Nb-Lb)+" ms for getContent, "+Math.round(Ob-Nb)+" ms for array copying, "+Math.round(Pb-Ob)+" ms for postMessage)")}else ka.postMessage({content:new Uint8Array,Ea:!0,xd:la.md().M()})}else ka.postMessage({content:new Uint8Array,Ac:"unknown",Ea:!1})}else if("search"===V){var Ja=k[V](ja.data.text,ja.data.vd||50);console.debug("Found nb results = "+Ja.size(),Ja); +for(var Qb=[],lb=0;lb=Ya.length&&(Ya.length=a+1),Ya[a]=b=cc.get(a));return b}var Da=[],Za=0;function X(a){this.ra=a;this.m=a-24;this.Yc=function(b){E[this.m+4>> +2]=b};this.T=function(){return E[this.m+4>>2]};this.Ec=function(b){E[this.m+8>>2]=b};this.rc=function(){return E[this.m+8>>2]};this.Oc=function(){v[this.m>>2]=0};this.ob=function(b){M[this.m+12>>0]=b?1:0};this.wc=function(){return 0!=M[this.m+12>>0]};this.Ja=function(b){M[this.m+13>>0]=b?1:0};this.Hb=function(){return 0!=M[this.m+13>>0]};this.Y=function(b,c){this.ja(0);this.Yc(b);this.Ec(c);this.Oc();this.ob(!1);this.Ja(!1)};this.Lb=function(){v[this.m>>2]+=1};this.Mc=function(){var b=v[this.m>>2]; +v[this.m>>2]=b-1;return 1===b};this.ja=function(b){E[this.m+16>>2]=b};this.vc=function(){return E[this.m+16>>2]};this.xc=function(){if(hc(this.T()))return E[this.ra>>2];var b=this.vc();return 0!==b?b:this.ra}}function ic(a){return U((new X(a)).m)}function jc(a){if(a.Mc()&&!a.Hb()){var b=a.rc();b&&C(b)(a.ra);ic(a.ra)}}var ea=0;function kc(){var a=Da.pop();a||Q("no exception to throw");var b=a.ra;a.Hb()||(Da.push(a),a.Ja(!0),a.ob(!1),Za++);ea=b;throw b;}var y={$a:a=>"/"===a.charAt(0),Rc:a=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1), +gb:(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},normalize:a=>{var b=y.$a(a),c="/"===a.substr(-1);(a=y.gb(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},dirname:a=>{var b=y.Rc(a);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},basename:a=>{if("/"===a)return"/";a=y.normalize(a);a=a.replace(/\/$/,"");var b= +a.lastIndexOf("/");return-1===b?a:a.substr(b+1)},join:function(){var a=Array.prototype.slice.call(arguments,0);return y.normalize(a.join("/"))},aa:(a,b)=>y.normalize(a+"/"+b)};function Wc(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}if(ya)try{var b=require("crypto");return function(){return b.randomBytes(1)[0]}}catch(c){}return function(){Q("randomDevice")}}var Y={resolve:function(){for(var a= +"",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:e.cwd();if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b=y.$a(b)}a=y.gb(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."},relative:(a,b)=>{function c(h){for(var l=0;lp?[]:h.slice(l,p-l+1)}a=Y.resolve(a).substr(1);b=Y.resolve(b).substr(1);a=c(a.split("/"));b=c(b.split("/"));for(var d= +Math.min(a.length,b.length),f=d,g=0;g=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.j,a.j=new Uint8Array(b),0=a.node.u)return 0;a=Math.min(a.node.u-f,d);if(8b)throw new e.g(28);return b},qa:function(a,b,c){w.Cb(a.node,b+c);a.node.u=Math.max(a.node.u,b+c)},la:function(a,b,c,d,f){if(!e.isFile(a.node.mode))throw new e.g(43);a=a.node.j;if(f&2||a.buffer!== +ua){if(0=a.node.size)return 0;a=a.node.j.slice(f,f+d);d=H.kb.readAsArrayBuffer(a);b.set(new Uint8Array(d),c);return a.size},write:function(){throw new e.g(29);},J:function(a,b,c){1===c?b+=a.position:2===c&&e.isFile(a.node.mode)&&(b+=a.node.size);if(0>b)throw new e.g(28);return b}}},e={root:null,wa:[], +Ab:{},streams:[],Cc:1,O:null,yb:"/",Za:!1,Mb:!0,g:null,Va:{},mc:null,La:0,s:(a,b={})=>{a=Y.resolve(e.cwd(),a);if(!a)return{path:"",node:null};b=Object.assign({Ua:!0,lb:0},b);if(8!!h),!1);for(var c=e.root,d="/",f=0;f{for(var b;;){if(e.Fa(a))return a=a.v.Ob,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},Ya:(a,b)=>{for(var c=0,d=0;d>>0)%e.O.length},Jb:a=>{var b=e.Ya(a.parent.id,a.name);a.da=e.O[b];e.O[b]=a},Kb:a=>{var b=e.Ya(a.parent.id,a.name);if(e.O[b]===a)e.O[b]=a.da;else for(b=e.O[b];b;){if(b.da===a){b.da=a.da;break}b=b.da}},U:(a,b)=>{var c=e.yc(a);if(c)throw new e.g(c,a);for(c= +e.O[e.Ya(a.id,b)];c;c=c.da){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return e.lookup(a,b)},createNode:(a,b,c,d)=>{a=new e.Tb(a,b,c,d);e.Jb(a);return a},Ta:a=>{e.Kb(a)},Fa:a=>a===a.parent,$:a=>!!a.va,isFile:a=>32768===(a&61440),D:a=>16384===(a&61440),ua:a=>40960===(a&61440),Ca:a=>8192===(a&61440),tc:a=>24576===(a&61440),isFIFO:a=>4096===(a&61440),isSocket:a=>49152===(a&49152),nc:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Bc:a=>{var b=e.nc[a];if("undefined"==typeof b)throw Error("Unknown file open mode: "+ +a);return b},Db:a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},ea:(a,b)=>{if(e.Mb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},yc:a=>{var b=e.ea(a,"x");return b?b:a.i.lookup?0:2},fb:(a,b)=>{try{return e.U(a,b),20}catch(c){}return e.ea(a,"wx")},Ha:(a,b,c)=>{try{var d=e.U(a,b)}catch(f){return f.A}if(a=e.ea(a,"wx"))return a;if(c){if(!e.D(d.mode))return 54;if(e.Fa(d)||e.M(d)===e.cwd())return 10}else if(e.D(d.mode))return 31; +return 0},zc:(a,b)=>a?e.ua(a.mode)?32:e.D(a.mode)&&("r"!==e.Db(b)||b&512)?31:e.ea(a,e.Db(b)):44,Ub:4096,Dc:(a=0,b=e.Ub)=>{for(;a<=b;a++)if(!e.streams[a])return a;throw new e.g(33);},W:a=>e.streams[a],xb:(a,b,c)=>{e.Pa||(e.Pa=function(){this.Ka={}},e.Pa.prototype={object:{get:function(){return this.node},set:function(d){this.node=d}},flags:{get:function(){return this.Ka.flags},set:function(d){this.Ka.flags=d}},position:{get hd(){return this.Ka.position},set:function(d){this.Ka.position=d}}});a=Object.assign(new e.Pa, +a);b=e.Dc(b,c);a.fd=b;return e.streams[b]=a},$b:a=>{e.streams[a]=null},Zb:{open:a=>{a.l=e.pc(a.node.rdev).l;a.l.open&&a.l.open(a)},J:()=>{throw new e.g(70);}},eb:a=>a>>8,rd:a=>a&255,ba:(a,b)=>a<<8|b,nb:(a,b)=>{e.Ab[a]={l:b}},pc:a=>e.Ab[a],Fb:a=>{var b=[];for(a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.wa)}return b},Rb:(a,b)=>{function c(h){e.La--;return b(h)}function d(h){if(h){if(!d.lc)return d.lc=!0,c(h)}else++g>=f.length&&c(null)}"function"==typeof a&&(b=a,a=!1);e.La++;1{if(!h.type.Rb)return d(null);h.type.Rb(h,a,d)})},v:(a,b,c)=>{var d="/"===c,f=!c;if(d&&e.root)throw new e.g(10);if(!d&&!f){var g=e.s(c,{Ua:!1});c=g.path;g=g.node;if(e.$(g))throw new e.g(10);if(!e.D(g.mode))throw new e.g(54);}b={type:a,hb:b,Ob:c,wa:[]};a=a.v(b);a.v=b;b.root=a;d?e.root=a:g&&(g.va=b,g.v&&g.v.wa.push(b));return a},Bd:a=>{a=e.s(a,{Ua:!1});if(!e.$(a.node))throw new e.g(28); +a=a.node;var b=a.va,c=e.Fb(b);Object.keys(e.O).forEach(d=>{for(d=e.O[d];d;){var f=d.da;c.includes(d.v)&&e.Ta(d);d=f}});a.va=null;a.v.wa.splice(a.v.wa.indexOf(b),1)},lookup:(a,b)=>a.i.lookup(a,b),N:(a,b,c)=>{var d=e.s(a,{parent:!0}).node;a=y.basename(a);if(!a||"."===a||".."===a)throw new e.g(28);var f=e.fb(d,a);if(f)throw new e.g(f);if(!d.i.N)throw new e.g(63);return d.i.N(d,a,b,c)},create:(a,b)=>e.N(a,(void 0!==b?b:438)&4095|32768,0),mkdir:(a,b)=>e.N(a,(void 0!==b?b:511)&1023|16384,0),sd:(a,b)=>{a= +a.split("/");for(var c="",d=0;d{"undefined"==typeof c&&(c=b,b=438);return e.N(a,b|8192,c)},symlink:(a,b)=>{if(!Y.resolve(a))throw new e.g(44);var c=e.s(b,{parent:!0}).node;if(!c)throw new e.g(44);b=y.basename(b);var d=e.fb(c,b);if(d)throw new e.g(d);if(!c.i.symlink)throw new e.g(63);return c.i.symlink(c,b,a)},rename:(a,b)=>{var c=y.dirname(a),d=y.dirname(b),f=y.basename(a),g=y.basename(b);var h=e.s(a,{parent:!0}); +var l=h.node;h=e.s(b,{parent:!0});h=h.node;if(!l||!h)throw new e.g(44);if(l.v!==h.v)throw new e.g(75);var p=e.U(l,f);a=Y.relative(a,d);if("."!==a.charAt(0))throw new e.g(28);a=Y.relative(b,c);if("."!==a.charAt(0))throw new e.g(55);try{var n=e.U(h,g)}catch(q){}if(p!==n){b=e.D(p.mode);if(f=e.Ha(l,f,b))throw new e.g(f);if(f=n?e.Ha(h,g,b):e.fb(h,g))throw new e.g(f);if(!l.i.rename)throw new e.g(63);if(e.$(p)||n&&e.$(n))throw new e.g(10);if(h!==l&&(f=e.ea(l,"w")))throw new e.g(f);e.Kb(p);try{l.i.rename(p, +h,g)}catch(q){throw q;}finally{e.Jb(p)}}},rmdir:a=>{var b=e.s(a,{parent:!0}).node;a=y.basename(a);var c=e.U(b,a),d=e.Ha(b,a,!0);if(d)throw new e.g(d);if(!b.i.rmdir)throw new e.g(63);if(e.$(c))throw new e.g(10);b.i.rmdir(b,a);e.Ta(c)},readdir:a=>{a=e.s(a,{H:!0}).node;if(!a.i.readdir)throw new e.g(54);return a.i.readdir(a)},unlink:a=>{var b=e.s(a,{parent:!0}).node;if(!b)throw new e.g(44);a=y.basename(a);var c=e.U(b,a),d=e.Ha(b,a,!1);if(d)throw new e.g(d);if(!b.i.unlink)throw new e.g(63);if(e.$(c))throw new e.g(10); +b.i.unlink(b,a);e.Ta(c)},readlink:a=>{a=e.s(a).node;if(!a)throw new e.g(44);if(!a.i.readlink)throw new e.g(28);return Y.resolve(e.M(a.parent),a.i.readlink(a))},stat:(a,b)=>{a=e.s(a,{H:!b}).node;if(!a)throw new e.g(44);if(!a.i.I)throw new e.g(63);return a.i.I(a)},lstat:a=>e.stat(a,!0),chmod:(a,b,c)=>{a="string"==typeof a?e.s(a,{H:!c}).node:a;if(!a.i.C)throw new e.g(63);a.i.C(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},lchmod:(a,b)=>{e.chmod(a,b,!0)},fchmod:(a,b)=>{a=e.W(a);if(!a)throw new e.g(8); +e.chmod(a.node,b)},chown:(a,b,c,d)=>{a="string"==typeof a?e.s(a,{H:!d}).node:a;if(!a.i.C)throw new e.g(63);a.i.C(a,{timestamp:Date.now()})},lchown:(a,b,c)=>{e.chown(a,b,c,!0)},fchown:(a,b,c)=>{a=e.W(a);if(!a)throw new e.g(8);e.chown(a.node,b,c)},truncate:(a,b)=>{if(0>b)throw new e.g(28);a="string"==typeof a?e.s(a,{H:!0}).node:a;if(!a.i.C)throw new e.g(63);if(e.D(a.mode))throw new e.g(31);if(!e.isFile(a.mode))throw new e.g(28);var c=e.ea(a,"w");if(c)throw new e.g(c);a.i.C(a,{size:b,timestamp:Date.now()})}, +ed:(a,b)=>{a=e.W(a);if(!a)throw new e.g(8);if(0===(a.flags&2097155))throw new e.g(28);e.truncate(a.node,b)},Cd:(a,b,c)=>{a=e.s(a,{H:!0}).node;a.i.C(a,{timestamp:Math.max(b,c)})},open:(a,b,c)=>{if(""===a)throw new e.g(44);b="string"==typeof b?e.Bc(b):b;c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var d=a;else{a=y.normalize(a);try{d=e.s(a,{H:!(b&131072)}).node}catch(g){}}var f=!1;if(b&64)if(d){if(b&128)throw new e.g(20);}else d=e.N(a,c,0),f=!0;if(!d)throw new e.g(44);e.Ca(d.mode)&& +(b&=-513);if(b&65536&&!e.D(d.mode))throw new e.g(54);if(!f&&(c=e.zc(d,b)))throw new e.g(c);b&512&&!f&&e.truncate(d,0);b&=-131713;d=e.xb({node:d,path:e.M(d),flags:b,seekable:!0,position:0,l:d.l,Zc:[],error:!1});d.l.open&&d.l.open(d);!k.logReadFiles||b&1||(e.jb||(e.jb={}),a in e.jb||(e.jb[a]=1));return d},close:a=>{if(e.ta(a))throw new e.g(8);a.Xa&&(a.Xa=null);try{a.l.close&&a.l.close(a)}catch(b){throw b;}finally{e.$b(a.fd)}a.fd=null},ta:a=>null===a.fd,J:(a,b,c)=>{if(e.ta(a))throw new e.g(8);if(!a.seekable|| +!a.l.J)throw new e.g(70);if(0!=c&&1!=c&&2!=c)throw new e.g(28);a.position=a.l.J(a,b,c);a.Zc=[];return a.position},read:(a,b,c,d,f)=>{if(0>d||0>f)throw new e.g(28);if(e.ta(a))throw new e.g(8);if(1===(a.flags&2097155))throw new e.g(8);if(e.D(a.node.mode))throw new e.g(31);if(!a.l.read)throw new e.g(28);var g="undefined"!=typeof f;if(!g)f=a.position;else if(!a.seekable)throw new e.g(70);b=a.l.read(a,b,c,d,f);g||(a.position+=b);return b},write:(a,b,c,d,f,g)=>{if(0>d||0>f)throw new e.g(28);if(e.ta(a))throw new e.g(8); +if(0===(a.flags&2097155))throw new e.g(8);if(e.D(a.node.mode))throw new e.g(31);if(!a.l.write)throw new e.g(28);a.seekable&&a.flags&1024&&e.J(a,0,2);var h="undefined"!=typeof f;if(!h)f=a.position;else if(!a.seekable)throw new e.g(70);b=a.l.write(a,b,c,d,f,g);h||(a.position+=b);return b},qa:(a,b,c)=>{if(e.ta(a))throw new e.g(8);if(0>b||0>=c)throw new e.g(28);if(0===(a.flags&2097155))throw new e.g(8);if(!e.isFile(a.node.mode)&&!e.D(a.node.mode))throw new e.g(43);if(!a.l.qa)throw new e.g(138);a.l.qa(a, +b,c)},la:(a,b,c,d,f)=>{if(0!==(d&2)&&0===(f&2)&&2!==(a.flags&2097155))throw new e.g(2);if(1===(a.flags&2097155))throw new e.g(2);if(!a.l.la)throw new e.g(43);return a.l.la(a,b,c,d,f)},ma:(a,b,c,d,f)=>a&&a.l.ma?a.l.ma(a,b,c,d,f):0,td:()=>0,Nb:(a,b,c)=>{if(!a.l.Nb)throw new e.g(59);return a.l.Nb(a,b,c)},readFile:(a,b={})=>{b.flags=b.flags||0;b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&&"binary"!==b.encoding)throw Error('Invalid encoding type "'+b.encoding+'"');var c,d=e.open(a,b.flags);a= +e.stat(a).size;var f=new Uint8Array(a);e.read(d,f,0,a,0);"utf8"===b.encoding?c=ta(f,0):"binary"===b.encoding&&(c=f);e.close(d);return c},writeFile:(a,b,c={})=>{c.flags=c.flags||577;a=e.open(a,c.flags,c.mode);if("string"==typeof b){var d=new Uint8Array(Ua(b)+1);b=Ta(b,d,0,d.length);e.write(a,d,0,b,void 0,c.Yb)}else if(ArrayBuffer.isView(b))e.write(a,b,0,b.byteLength,void 0,c.Yb);else throw Error("Unsupported data type");e.close(a)},cwd:()=>e.yb,chdir:a=>{a=e.s(a,{H:!0});if(null===a.node)throw new e.g(44); +if(!e.D(a.node.mode))throw new e.g(54);var b=e.ea(a.node,"x");if(b)throw new e.g(b);e.yb=a.path},cc:()=>{e.mkdir("/tmp");e.mkdir("/home");e.mkdir("/home/web_user")},bc:()=>{e.mkdir("/dev");e.nb(e.ba(1,3),{read:()=>0,write:(b,c,d,f)=>f});e.Ia("/dev/null",e.ba(1,3));fa.register(e.ba(5,0),fa.ic);fa.register(e.ba(6,0),fa.hc);e.Ia("/dev/tty",e.ba(5,0));e.Ia("/dev/tty1",e.ba(6,0));var a=Wc();e.V("/dev","random",a);e.V("/dev","urandom",a);e.mkdir("/dev/shm");e.mkdir("/dev/shm/tmp")},ec:()=>{e.mkdir("/proc"); +var a=e.mkdir("/proc/self");e.mkdir("/proc/self/fd");e.v({v:()=>{var b=e.createNode(a,"fd",16895,73);b.i={lookup:(c,d)=>{var f=e.W(+d);if(!f)throw new e.g(8);c={parent:null,v:{Ob:"fake"},i:{readlink:()=>f.path}};return c.parent=c}};return b}},{},"/proc/self/fd")},fc:()=>{k.stdin?e.V("/dev","stdin",k.stdin):e.symlink("/dev/tty","/dev/stdin");k.stdout?e.V("/dev","stdout",null,k.stdout):e.symlink("/dev/tty","/dev/stdout");k.stderr?e.V("/dev","stderr",null,k.stderr):e.symlink("/dev/tty1","/dev/stderr"); +e.open("/dev/stdin",0);e.open("/dev/stdout",1);e.open("/dev/stderr",1)},Bb:()=>{e.g||(e.g=function(a,b){this.node=b;this.Pc=function(c){this.A=c};this.Pc(a);this.message="FS error"},e.g.prototype=Error(),e.g.prototype.constructor=e.g,[44].forEach(a=>{e.Va[a]=new e.g(a);e.Va[a].stack=""}))},Sc:()=>{e.Bb();e.O=Array(4096);e.v(w,{},"/");e.cc();e.bc();e.ec();e.mc={MEMFS:w,WORKERFS:H}},Y:(a,b,c)=>{e.Y.Za=!0;e.Bb();k.stdin=a||k.stdin;k.stdout=b||k.stdout;k.stderr=c||k.stderr;e.fc()}, +wd:()=>{e.Y.Za=!1;for(var a=0;a{var c=0;a&&(c|=365);b&&(c|=146);return c},dd:(a,b)=>{a=e.Qa(a,b);return a.exists?a.object:null},Qa:(a,b)=>{try{var c=e.s(a,{H:!b});a=c.path}catch(f){}var d={Fa:!1,exists:!1,error:0,name:null,path:null,object:null,Fc:!1,Hc:null,Gc:null};try{c=e.s(a,{parent:!0}),d.Fc=!0,d.Hc=c.path,d.Gc=c.node,d.name=y.basename(a),c=e.s(a,{H:!b}),d.exists=!0,d.path=c.path,d.object=c.node,d.name=c.node.name,d.Fa="/"=== +c.path}catch(f){d.error=f.A}return d},bd:(a,b)=>{a="string"==typeof a?a:e.M(a);for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var d=y.aa(a,c);try{e.mkdir(d)}catch(f){}a=d}}return d},dc:(a,b,c,d,f)=>{a=y.aa("string"==typeof a?a:e.M(a),b);return e.create(a,e.Wa(d,f))},wb:(a,b,c,d,f,g)=>{var h=b;a&&(a="string"==typeof a?a:e.M(a),h=b?y.aa(a,b):a);a=e.Wa(d,f);h=e.create(h,a);if(c){if("string"==typeof c){b=Array(c.length);d=0;for(f=c.length;d{a=y.aa("string"==typeof a?a:e.M(a),b);b=e.Wa(!!c,!!d);e.V.eb||(e.V.eb=64);var f=e.ba(e.V.eb++,0);e.nb(f,{open:g=>{g.seekable=!1},close:()=>{d&&d.buffer&&d.buffer.length&&d(10)},read:(g,h,l,p)=>{for(var n=0,q=0;q{for(var n= +0;n{if(a.ab||a.uc||a.link||a.j)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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.");if(Pa)try{a.j=$a(Pa(a.url),!0),a.u=a.j.length}catch(b){throw new e.g(29);}else throw Error("Cannot load without read() or XMLHttpRequest."); +},ad:(a,b,c,d,f)=>{function g(){this.cb=!1;this.T=[]}g.prototype.get=function(n){if(!(n>this.length-1||0>n)){var q=n%this.chunkSize;return this.Ib(n/this.chunkSize|0)[q]}};g.prototype.ja=function(n){this.Ib=n};g.prototype.ub=function(){var n=new XMLHttpRequest;n.open("HEAD",c,!1);n.send(null);if(!(200<=n.status&&300>n.status||304===n.status))throw Error("Couldn't load "+c+". Status: "+n.status);var q=Number(n.getResponseHeader("Content-length")),t,u=(t=n.getResponseHeader("Accept-Ranges"))&&"bytes"=== +t;n=(t=n.getResponseHeader("Content-Encoding"))&&"gzip"===t;var m=1048576;u||(m=q);var r=this;r.ja(x=>{var B=x*m,I=(x+1)*m-1;I=Math.min(I,q-1);if("undefined"==typeof r.T[x]){var ha=r.T;if(B>I)throw Error("invalid range ("+B+", "+I+") or no bytes requested!");if(I>q-1)throw Error("only "+q+" bytes available! programmer error!");var L=new XMLHttpRequest;L.open("GET",c,!1);q!==m&&L.setRequestHeader("Range","bytes="+B+"-"+I);L.responseType="arraybuffer";L.overrideMimeType&&L.overrideMimeType("text/plain; charset=x-user-defined"); +L.send(null);if(!(200<=L.status&&300>L.status||304===L.status))throw Error("Couldn't load "+c+". Status: "+L.status);B=void 0!==L.response?new Uint8Array(L.response||[]):$a(L.responseText||"",!0);ha[x]=B}if("undefined"==typeof r.T[x])throw Error("doXHR failed!");return r.T[x]});if(n||!q)m=q=1,m=q=this.Ib(0).length,Aa("LazyFiles on gzip forces download of the whole file when length is accessed");this.Wb=q;this.Vb=m;this.cb=!0};if("undefined"!=typeof XMLHttpRequest){if(!ba)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; +var h=new g;Object.defineProperties(h,{length:{get:function(){this.cb||this.ub();return this.Wb}},chunkSize:{get:function(){this.cb||this.ub();return this.Vb}}});h={ab:!1,j:h}}else h={ab:!1,url:c};var l=e.dc(a,b,h,d,f);h.j?l.j=h.j:h.url&&(l.j=null,l.url=h.url);Object.defineProperties(l,{u:{get:function(){return this.j.length}}});var p={};Object.keys(l.l).forEach(n=>{var q=l.l[n];p[n]=function(){e.Eb(l);return q.apply(null,arguments)}});p.read=(n,q,t,u,m)=>{e.Eb(l);n=n.node.j;if(m>=n.length)return 0; +u=Math.min(n.length-m,u);if(n.slice)for(var r=0;r{function q(m){function r(x){n&&n();l||e.wb(a,b,x,d,f,p);g&&g();Ca(u)}Yc.nd(m,t,r,()=>{h&&h();Ca(u)})||r(m)}var t=b?Y.resolve(y.aa(a,b)):a,u="cp "+t;Wa(u);"string"==typeof c?Xc(c,m=>q(m),h):q(c)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,rb:()=>"EM_FS_"+window.location.pathname,sb:20,oa:"FILE_DATA", +yd:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var d=e.indexedDB();try{var f=d.open(e.rb(),e.sb)}catch(g){return c(g)}f.onupgradeneeded=()=>{Aa("creating db");f.result.createObjectStore(e.oa)};f.onsuccess=()=>{var g=f.result.transaction([e.oa],"readwrite"),h=g.objectStore(e.oa),l=0,p=0,n=a.length;a.forEach(q=>{q=h.put(e.Qa(q).object.j,q);q.onsuccess=()=>{l++;l+p==n&&(0==p?b():c())};q.onerror=()=>{p++;l+p==n&&(0==p?b():c())}});g.onerror=c};f.onerror=c},qd:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var d=e.indexedDB(); +try{var f=d.open(e.rb(),e.sb)}catch(g){return c(g)}f.onupgradeneeded=c;f.onsuccess=()=>{var g=f.result;try{var h=g.transaction([e.oa],"readonly")}catch(t){c(t);return}var l=h.objectStore(e.oa),p=0,n=0,q=a.length;a.forEach(t=>{var u=l.get(t);u.onsuccess=()=>{e.Qa(t).exists&&e.unlink(t);e.wb(y.dirname(t),y.basename(t),u.result,!0,!0,!0);p++;p+n==q&&(0==n?b():c())};u.onerror=()=>{n++;p+n==q&&(0==n?b():c())}});h.onerror=c};f.onerror=c}},A={$c:5,Sa:function(a,b,c){if(y.$a(b))return b;if(-100===a)a=e.cwd(); +else{a=e.W(a);if(!a)throw new e.g(8);a=a.path}if(0==b.length){if(!c)throw new e.g(44);return a}return y.aa(a,b)},Ba:function(a,b,c){try{var d=a(b)}catch(f){if(f&&f.node&&y.normalize(b)!==y.normalize(e.M(f.node)))return-54;throw f;}v[c>>2]=d.dev;v[c+4>>2]=0;v[c+8>>2]=d.ino;v[c+12>>2]=d.mode;v[c+16>>2]=d.nlink;v[c+20>>2]=d.uid;v[c+24>>2]=d.gid;v[c+28>>2]=d.rdev;v[c+32>>2]=0;W=[d.size>>>0,(J=d.size,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/ +4294967296)>>>0:0)];v[c+40>>2]=W[0];v[c+44>>2]=W[1];v[c+48>>2]=4096;v[c+52>>2]=d.blocks;v[c+56>>2]=d.atime.getTime()/1E3|0;v[c+60>>2]=0;v[c+64>>2]=d.mtime.getTime()/1E3|0;v[c+68>>2]=0;v[c+72>>2]=d.ctime.getTime()/1E3|0;v[c+76>>2]=0;W=[d.ino>>>0,(J=d.ino,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];v[c+80>>2]=W[0];v[c+84>>2]=W[1];return 0},jc:function(a,b,c,d,f){a=K.slice(a,a+c);e.ma(b,a,f,c,d)},za:void 0,get:function(){A.za+= +4;return v[A.za-4>>2]},sa:function(a){return na(a)},X:function(a){a=e.W(a);if(!a)throw new e.g(8);return a}};function sb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var mc=void 0;function P(a){for(var b="";K[a];)b+=mc[K[a++]];return b}var va={},qa={},ab={};function tb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function ub(a,b){a=tb(a);return(new Function("body", +"return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function vb(a,b){var c=ub(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var wa=void 0;function z(a){throw new wa(a);}var nc=void 0;function bb(a){throw new nc(a); +}function xa(a,b,c){function d(l){l=c(l);l.length!==a.length&&bb("Mismatched type converter count");for(var p=0;p{qa.hasOwnProperty(l)?f[p]=qa[l]:(g.push(l),va.hasOwnProperty(l)||(va[l]=[]),va[l].push(()=>{f[p]=qa[l];++h;h===g.length&&d(f)}))});0===g.length&&d(f)}function Z(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d= +b.name;a||z('type "'+d+'" must have a positive integer typeid pointer');if(qa.hasOwnProperty(a)){if(c.sc)return;z("Cannot register type '"+d+"' twice")}qa[a]=b;delete ab[a];va.hasOwnProperty(a)&&(b=va[a],delete va[a],b.forEach(f=>f()))}function wb(a){z(a.h.B.o.name+" instance already deleted")}var xb=!1;function oc(){}function pc(a){--a.count.value;0===a.count.value&&(a.G?a.K.fa(a.G):a.B.o.fa(a.m))}function qc(a,b,c){if(b===c)return a;if(void 0===c.L)return null;a=qc(a,b,c.L);return null===a?null: +c.kc(a)}var rc={},Ea=[];function yb(){for(;Ea.length;){var a=Ea.pop();a.h.ia=!1;a["delete"]()}}var Fa=void 0,Ga={};function Zc(a,b){for(void 0===b&&z("ptr should not be undefined");a.L;)b=a.ya(b),a=a.L;return Ga[b]}function cb(a,b){b.B&&b.m||bb("makeClassHandle requires ptr and ptrType");!!b.K!==!!b.G&&bb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Ha(Object.create(a,{h:{value:b}}))}function Ha(a){if("undefined"===typeof FinalizationRegistry)return Ha=b=>b,a;xb=new FinalizationRegistry(b=> +{pc(b.h)});Ha=b=>{var c=b.h;c.G&&xb.register(b,{h:c},b);return b};oc=b=>xb.unregister(b);return Ha(a)}function ia(){}function sc(a,b,c){if(void 0===a[b].F){var d=a[b];a[b]=function(){a[b].F.hasOwnProperty(arguments.length)||z("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].F+")!");return a[b].F[arguments.length].apply(this,arguments)};a[b].F=[];a[b].F[d.Aa]=d}}function tc(a,b,c){k.hasOwnProperty(a)?((void 0===c||void 0!==k[a].F&&void 0!== +k[a].F[c])&&z("Cannot register public name '"+a+"' twice"),sc(k,a,a),k.hasOwnProperty(c)&&z("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),k[a].F[c]=b):(k[a]=b,void 0!==c&&(k[a].ud=c))}function $c(a,b,c,d,f,g,h,l){this.name=a;this.constructor=b;this.ka=c;this.fa=d;this.L=f;this.oc=g;this.ya=h;this.kc=l;this.Jc=[]}function zb(a,b,c){for(;b!==c;)b.ya||z("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.ya(a),b=b.L;return a}function ad(a, +b){if(null===b)return this.bb&&z("null is not a valid "+this.name),0;b.h||z('Cannot pass "'+Ab(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);return zb(b.h.m,b.h.B.o,this.o)}function bd(a,b){if(null===b){this.bb&&z("null is not a valid "+this.name);if(this.Ga){var c=this.Kc();null!==a&&a.push(this.fa,c);return c}return 0}b.h||z('Cannot pass "'+Ab(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);!this.Da&& +b.h.B.Da&&z("Cannot convert argument of type "+(b.h.K?b.h.K.name:b.h.B.name)+" to parameter type "+this.name);c=zb(b.h.m,b.h.B.o,this.o);if(this.Ga)switch(void 0===b.h.G&&z("Passing raw pointer to smart pointer is illegal"),this.Qc){case 0:b.h.K===this?c=b.h.G:z("Cannot convert argument of type "+(b.h.K?b.h.K.name:b.h.B.name)+" to parameter type "+this.name);break;case 1:c=b.h.G;break;case 2:if(b.h.K===this)c=b.h.G;else{var d=b.clone();c=this.Lc(c,db.qb(function(){d["delete"]()}));null!==a&&a.push(this.fa, +c)}break;default:z("Unsupporting sharing policy")}return c}function cd(a,b){if(null===b)return this.bb&&z("null is not a valid "+this.name),0;b.h||z('Cannot pass "'+Ab(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);b.h.B.Da&&z("Cannot convert argument of type "+b.h.B.name+" to parameter type "+this.name);return zb(b.h.m,b.h.B.o,this.o)}function eb(a){return this.fromWireType(E[a>>2])}function aa(a,b,c,d,f,g,h,l,p,n,q){this.name=a;this.o=b;this.bb=c; +this.Da=d;this.Ga=f;this.Ic=g;this.Qc=h;this.Pb=l;this.Kc=p;this.Lc=n;this.fa=q;f||void 0!==b.L?this.toWireType=bd:(this.toWireType=d?ad:cd,this.S=null)}function uc(a,b,c){k.hasOwnProperty(a)||bb("Replacing nonexistant public symbol");void 0!==k[a].F&&void 0!==c?k[a].F[c]=b:(k[a]=b,k[a].Aa=c)}function dd(a,b){var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var d=k["dynCall_"+a];d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)}else d=C(b).apply(null,c); +return d}}function ra(a,b){a=P(a);var c=a.includes("j")?dd(a,b):C(b);"function"!=typeof c&&z("unknown function pointer with signature "+a+": "+b);return c}var vc=void 0;function wc(a){a=xc(a);var b=P(a);U(a);return b}function fb(a,b){function c(g){f[g]||qa[g]||(ab[g]?ab[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new vc(a+": "+d.map(wc).join([", "]));}function Bb(a,b){for(var c=[],d=0;d>2)+d]);return c}function ed(a){for(;a.length;){var b=a.pop();a.pop()(b)}} +function fd(a,b){if(!(a instanceof Function))throw new TypeError("new_ called with constructor type "+typeof a+" which is not a function");var c=ub(a.name||"unknownFunctionName",function(){});c.prototype=a.prototype;c=new c;a=a.apply(c,b);return a instanceof Object?a:c}function Cb(a,b,c,d,f){var g=b.length;2>g&&z("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==b[1]&&null!==c,l=!1;for(c=1;c{a||z("Cannot use deleted val. handle = "+a);return R[a].value},qb:a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Db.length?Db.pop():R.length;R[b]={mb:1,value:a};return b}}};function Ab(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"=== +b||"function"===b?a.toString():""+a}function gd(a,b){switch(b){case 2:return function(c){return this.fromWireType(Zb[c>>2])};case 3:return function(c){return this.fromWireType($b[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function hd(a,b,c){switch(b){case 0:return c?function(d){return M[d]}:function(d){return K[d]};case 1:return c?function(d){return oa[d>>1]}:function(d){return Va[d>>1]};case 2:return c?function(d){return v[d>>2]}:function(d){return E[d>>2]};default:throw new TypeError("Unknown integer type: "+ +a);}}var Eb={};function Ia(){if(!Ia.Qb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:La||"./this.program"},b;for(b in Eb)void 0===Eb[b]?delete a[b]:a[b]=Eb[b];var c=[];for(b in a)c.push(b+"="+a[b]);Ia.Qb=c}return Ia.Qb}function zc(a,b,c,d){for(var f=0,g=0;g>2],l=E[b+4>>2];b+=8;h=e.read(a,M,h,l,d);if(0>h)return-1;f+=h;if(h>>0<4194305-!!a?(a>>>0)+4294967296*b:NaN}function Ac(a,b,c,d){for(var f=0,g=0;g>2],l=E[b+4>>2];b+=8;h=e.write(a,M,h,l,d);if(0>h)return-1;f+=h}return f}function gb(a){return 0===a%4&&(0!==a%100||0===a%400)}var Bc=[31,29,31,30,31,30,31,31,30,31,30,31],Cc=[31,28,31,30,31,30,31,31,30,31,30,31];function jd(a,b,c,d){function f(m,r,x){for(m="number"==typeof m?m.toString():m||"";m.lengthI?-1:0x-m.getDate())r-=x-m.getDate()+1,m.setDate(1),11>B?m.setMonth(B+1):(m.setMonth(0),m.setFullYear(m.getFullYear()+1));else{m.setDate(m.getDate()+r);break}}B=new Date(m.getFullYear()+1,0,4);r=l(new Date(m.getFullYear(),0,4));B=l(B);return 0>=h(r,m)?0>=h(B,m)?m.getFullYear()+1:m.getFullYear():m.getFullYear()-1}var n=v[d+40>>2];d={Vc:v[d>>2],Uc:v[d+4>>2],Ma:v[d+8>>2],pb:v[d+12>>2], +Na:v[d+16>>2],ha:v[d+20>>2],R:v[d+24>>2],ga:v[d+28>>2],Ad:v[d+32>>2],Tc:v[d+36>>2],Wc:n?na(n):""};c=na(c);n={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var q in n)c=c.replace(new RegExp(q, +"g"),n[q]);var t="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),u="January February March April May June July August September October November December".split(" ");n={"%a":function(m){return t[m.R].substring(0,3)},"%A":function(m){return t[m.R]},"%b":function(m){return u[m.Na].substring(0,3)},"%B":function(m){return u[m.Na]},"%C":function(m){return g((m.ha+1900)/100|0,2)},"%d":function(m){return g(m.pb,2)},"%e":function(m){return f(m.pb,2," ")},"%g":function(m){return p(m).toString().substring(2)}, +"%G":function(m){return p(m)},"%H":function(m){return g(m.Ma,2)},"%I":function(m){m=m.Ma;0==m?m=12:12m.Ma?"AM":"PM"},"%S":function(m){return g(m.Vc,2)},"%t":function(){return"\t"},"%u":function(m){return m.R||7},"%U":function(m){return g(Math.floor((m.ga+ +7-m.R)/7),2)},"%V":function(m){var r=Math.floor((m.ga+7-(m.R+6)%7)/7);2>=(m.R+371-m.ga-2)%7&&r++;if(r)53==r&&(x=(m.R+371-m.ga)%7,4==x||3==x&&gb(m.ha)||(r=1));else{r=52;var x=(m.R+7-m.ga-1)%7;(4==x||5==x&&gb(m.ha%400-1))&&r++}return g(r,2)},"%w":function(m){return m.R},"%W":function(m){return g(Math.floor((m.ga+7-(m.R+6)%7)/7),2)},"%y":function(m){return(m.ha+1900).toString().substring(2)},"%Y":function(m){return m.ha+1900},"%z":function(m){m=m.Tc;var r=0<=m;m=Math.abs(m)/60;return(r?"+":"-")+String("0000"+ +(m/60*100+m%60)).slice(-4)},"%Z":function(m){return m.Wc},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(q in n)c.includes(q)&&(c=c.replace(new RegExp(q,"g"),n[q](d)));c=c.replace(/\0\0/g,"%");q=$a(c,!1);if(q.length>b)return 0;M.set(q,a);return q.length-1}var Dc=function(a,b,c,d){a||(a=this);this.parent=a;this.v=a.v;this.va=null;this.id=e.Cc++;this.name=b;this.mode=c;this.i={};this.l={};this.rdev=d};Object.defineProperties(Dc.prototype,{read:{get:function(){return 365===(this.mode& +365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},uc:{get:function(){return e.D(this.mode)}},ab:{get:function(){return e.Ca(this.mode)}}});e.Tb=Dc;e.Sc();var Yc;(function(){for(var a=Array(256),b=0;256>b;++b)a[b]=String.fromCharCode(b);mc=a})();wa=k.BindingError=vb(Error,"BindingError");nc=k.InternalError=vb(Error,"InternalError");ia.prototype.isAliasOf=function(a){if(!(this instanceof ia&& +a instanceof ia))return!1;var b=this.h.B.o,c=this.h.m,d=a.h.B.o;for(a=a.h.m;b.L;)c=b.ya(c),b=b.L;for(;d.L;)a=d.ya(a),d=d.L;return b===d&&c===a};ia.prototype.clone=function(){this.h.m||wb(this);if(this.h.xa)return this.h.count.value+=1,this;var a=Ha,b=Object,c=b.create,d=Object.getPrototypeOf(this),f=this.h;a=a(c.call(b,d,{h:{value:{count:f.count,ia:f.ia,xa:f.xa,m:f.m,B:f.B,G:f.G,K:f.K}}}));a.h.count.value+=1;a.h.ia=!1;return a};ia.prototype["delete"]=function(){this.h.m||wb(this);this.h.ia&&!this.h.xa&& +z("Object already scheduled for deletion");oc(this);pc(this.h);this.h.xa||(this.h.G=void 0,this.h.m=void 0)};ia.prototype.isDeleted=function(){return!this.h.m};ia.prototype.deleteLater=function(){this.h.m||wb(this);this.h.ia&&!this.h.xa&&z("Object already scheduled for deletion");Ea.push(this);1===Ea.length&&Fa&&Fa(yb);this.h.ia=!0;return this};k.getInheritedInstanceCount=function(){return Object.keys(Ga).length};k.getLiveInheritedInstances=function(){var a=[],b;for(b in Ga)Ga.hasOwnProperty(b)&& +a.push(Ga[b]);return a};k.flushPendingDeletes=yb;k.setDelayFunction=function(a){Fa=a;Ea.length&&Fa&&Fa(yb)};aa.prototype.qc=function(a){this.Pb&&(a=this.Pb(a));return a};aa.prototype.zb=function(a){this.fa&&this.fa(a)};aa.prototype.argPackAdvance=8;aa.prototype.readValueFromPointer=eb;aa.prototype.deleteObject=function(a){if(null!==a)a["delete"]()};aa.prototype.fromWireType=function(a){function b(){return this.Ga?cb(this.o.ka,{B:this.Ic,m:c,K:this,G:a}):cb(this.o.ka,{B:this,m:a})}var c=this.qc(a); +if(!c)return this.zb(a),null;var d=Zc(this.o,c);if(void 0!==d){if(0===d.h.count.value)return d.h.m=c,d.h.G=a,d.clone();d=d.clone();this.zb(a);return d}d=this.o.oc(c);d=rc[d];if(!d)return b.call(this);d=this.Da?d.ac:d.pointerType;var f=qc(c,this.o,d.o);return null===f?b.call(this):this.Ga?cb(d.o.ka,{B:d,m:f,K:this,G:a}):cb(d.o.ka,{B:d,m:f})};vc=k.UnboundTypeError=vb(Error,"UnboundTypeError");k.count_emval_handles=function(){for(var a=0,b=5;bf?-28:e.xb(d,f).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=A.get(),d.flags|= +f,0;case 5:return f=A.get(),oa[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return v[Ec()>>2]=28,-1;default:return-28}}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_fstat64:function(a,b){try{var c=A.X(a);return A.Ba(e.stat,c.path,b)}catch(d){if("undefined"==typeof e||!(d instanceof e.g))throw d;return-d.A}},__syscall_lstat64:function(a,b){try{return a=A.sa(a),A.Ba(e.lstat,a,b)}catch(c){if("undefined"==typeof e||!(c instanceof e.g))throw c; +return-c.A}},__syscall_newfstatat:function(a,b,c,d){try{b=A.sa(b);var f=d&256;b=A.Sa(a,b,d&4096);return A.Ba(f?e.lstat:e.stat,b,c)}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_openat:function(a,b,c,d){A.za=d;try{b=A.sa(b);b=A.Sa(a,b);var f=d?A.get():0;return e.open(b,c,f).fd}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_stat64:function(a,b){try{return a=A.sa(a),A.Ba(e.stat,a,b)}catch(c){if("undefined"==typeof e||!(c instanceof +e.g))throw c;return-c.A}},__syscall_unlinkat:function(a,b,c){try{return b=A.sa(b),b=A.Sa(a,b),0===c?e.unlink(b):512===c?e.rmdir(b):Q("Invalid flags passed to unlinkat"),0}catch(d){if("undefined"==typeof e||!(d instanceof e.g))throw d;return-d.A}},_embind_register_bigint:function(){},_embind_register_bool:function(a,b,c,d,f){var g=sb(c);b=P(b);Z(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,l){return l?d:f},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var l=M;else if(2=== +c)l=oa;else if(4===c)l=v;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(l[h>>g])},S:null})},_embind_register_class:function(a,b,c,d,f,g,h,l,p,n,q,t,u){q=P(q);g=ra(f,g);l&&(l=ra(h,l));n&&(n=ra(p,n));u=ra(t,u);var m=tb(q);tc(m,function(){fb("Cannot construct "+q+" due to unbound types",[d])});xa([a,b,c],d?[d]:[],function(r){r=r[0];if(d){var x=r.o;var B=x.ka}else B=ia.prototype;r=ub(m,function(){if(Object.getPrototypeOf(this)!==I)throw new wa("Use 'new' to construct "+ +q);if(void 0===ha.Z)throw new wa(q+" has no accessible constructor");var Fc=ha.Z[arguments.length];if(void 0===Fc)throw new wa("Tried to invoke ctor of "+q+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(ha.Z).toString()+") parameters instead!");return Fc.apply(this,arguments)});var I=Object.create(B,{constructor:{value:r}});r.prototype=I;var ha=new $c(q,r,I,u,x,g,l,n);x=new aa(q,ha,!0,!1,!1);B=new aa(q+"*",ha,!1,!1,!1);var L=new aa(q+" const*",ha,!1,!0,!1);rc[a]= +{pointerType:B,ac:L};uc(m,r);return[x,B,L]})},_embind_register_class_constructor:function(a,b,c,d,f,g){0{fb("Cannot construct "+ +l.name+" due to unbound types",h)};xa([],h,function(n){n.splice(1,0,null);l.o.Z[b-1]=Cb(p,n,null,f,g);return[]});return[]})},_embind_register_class_function:function(a,b,c,d,f,g,h,l){var p=Bb(c,d);b=P(b);g=ra(f,g);xa([],[a],function(n){function q(){fb("Cannot call "+t+" due to unbound types",p)}n=n[0];var t=n.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);l&&n.o.Jc.push(b);var u=n.o.ka,m=u[b];void 0===m||void 0===m.F&&m.className!==n.name&&m.Aa===c-2?(q.Aa=c-2,q.className=n.name,u[b]=q): +(sc(u,b,t),u[b].F[c-2]=q);xa([],p,function(r){r=Cb(t,r,n,g,h);void 0===u[b].F?(r.Aa=c-2,u[b]=r):u[b].F[c-2]=r;return[]});return[]})},_embind_register_emval:function(a,b){b=P(b);Z(a,{name:b,fromWireType:function(c){var d=db.Xc(c);yc(c);return d},toWireType:function(c,d){return db.qb(d)},argPackAdvance:8,readValueFromPointer:eb,S:null})},_embind_register_float:function(a,b,c){c=sb(c);b=P(b);Z(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){return f},argPackAdvance:8,readValueFromPointer:gd(b, +c),S:null})},_embind_register_function:function(a,b,c,d,f,g){var h=Bb(b,c);a=P(a);f=ra(d,f);tc(a,function(){fb("Cannot call "+a+" due to unbound types",h)},b-1);xa([],h,function(l){l=[l[0],null].concat(l.slice(1));uc(a,Cb(a,l,null,f,g),b-1);return[]})},_embind_register_integer:function(a,b,c,d,f){b=P(b);-1===f&&(f=4294967295);f=sb(c);var g=l=>l;if(0===d){var h=32-8*c;g=l=>l<>>h}c=b.includes("unsigned")?function(l,p){return p>>>0}:function(l,p){return p};Z(a,{name:b,fromWireType:g,toWireType:c, +argPackAdvance:8,readValueFromPointer:hd(b,f,0!==d),S:null})},_embind_register_memory_view:function(a,b,c){function d(g){g>>=2;var h=E;return new f(ua,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);Z(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{sc:!0})},_embind_register_std_string:function(a,b){b=P(b);var c="std::string"===b;Z(a,{name:b,fromWireType:function(d){var f=E[d>>2];if(c)for(var g=d+4,h=0;h<= +f;++h){var l=d+4+h;if(h==f||0==K[l]){g=na(g,l-g);if(void 0===p)var p=g;else p+=String.fromCharCode(0),p+=g;g=l+1}}else{p=Array(f);for(h=0;hUa(f):()=>f.length)(),l=hb(4+h+1);E[l>>2]=h;if(c&&g)Ta(f, +K,l+4,h+1);else if(g)for(g=0;gVa;var l=1}else 4===b&&(d=Rc,f=Sc,g=Tc,h=()=>E,l=2);Z(a,{name:c,fromWireType:function(p){for(var n=E[p>>2],q=h(),t,u=p+4,m=0;m<= +n;++m){var r=p+4+m*b;if(m==n||0==q[r>>l])u=d(u,r-u),void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),u=r+b}U(p);return t},toWireType:function(p,n){"string"!=typeof n&&z("Cannot pass non-string to C++ string type "+c);var q=g(n),t=hb(4+q+b);E[t>>2]=q>>l;f(n,t+4,q+b);null!==p&&p.push(U,t);return t},argPackAdvance:8,readValueFromPointer:eb,S:function(p){U(p)}})},_embind_register_void:function(a,b){b=P(b);Z(a,{od:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},_emval_decref:yc, +_emval_incref:function(a){4>2]=l.Xb;return p}catch(n){if("undefined"==typeof e||!(n instanceof e.g))throw n;return-n.A}},_munmap_js:function(a,b,c,d,f,g){try{var h=e.W(f);h&&c&2&&A.jc(a,h,b,d,g)}catch(l){if("undefined"==typeof e||!(l instanceof +e.g))throw l;return-l.A}},abort:function(){Q("")},emscripten_memcpy_big:function(a,b,c){K.copyWithin(a,b,b+c)},emscripten_resize_heap:function(a){var b=K.length;a>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math;d=Math.max(a,d);f=f.min.call(f,2147483648,d+(65536-d%65536)%65536);a:{try{ma.grow(f-ua.byteLength+65535>>>16);ac(ma.buffer);var g=1;break a}catch(h){}g=void 0}if(g)return!0}return!1},environ_get:function(a,b){var c=0;Ia().forEach(function(d, +f){var g=b+c;f=E[a+4*f>>2]=g;for(g=0;g>0]=d.charCodeAt(g);M[f>>0]=0;c+=d.length+1});return 0},environ_sizes_get:function(a,b){var c=Ia();E[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});E[b>>2]=d;return 0},fd_close:function(a){try{var b=A.X(a);e.close(b);return 0}catch(c){if("undefined"==typeof e||!(c instanceof e.g))throw c;return c.A}},fd_pread:function(a,b,c,d,f,g){try{var h=Fb(d,f);if(isNaN(h))return 61;var l=A.X(a),p=zc(l,b,c,h);v[g>>2]=p;return 0}catch(n){if("undefined"== +typeof e||!(n instanceof e.g))throw n;return n.A}},fd_pwrite:function(a,b,c,d,f,g){try{var h=Fb(d,f);if(isNaN(h))return 61;var l=A.X(a),p=Ac(l,b,c,h);v[g>>2]=p;return 0}catch(n){if("undefined"==typeof e||!(n instanceof e.g))throw n;return n.A}},fd_read:function(a,b,c,d){try{var f=A.X(a),g=zc(f,b,c);v[d>>2]=g;return 0}catch(h){if("undefined"==typeof e||!(h instanceof e.g))throw h;return h.A}},fd_seek:function(a,b,c,d,f){try{var g=Fb(b,c);if(isNaN(g))return 61;var h=A.X(a);e.J(h,g,d);W=[h.position>>> +0,(J=h.position,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];v[f>>2]=W[0];v[f+4>>2]=W[1];h.Xa&&0===g&&0===d&&(h.Xa=null);return 0}catch(l){if("undefined"==typeof e||!(l instanceof e.g))throw l;return l.A}},fd_write:function(a,b,c,d){try{var f=A.X(a),g=Ac(f,b,c);E[d>>2]=g;return 0}catch(h){if("undefined"==typeof e||!(h instanceof e.g))throw h;return h.A}},getTempRet0:()=>Wb,invoke_diii:kd,invoke_fiii:ld,invoke_i:md,invoke_ii:nd, +invoke_iii:od,invoke_iiii:pd,invoke_iiiii:qd,invoke_iiiiii:rd,invoke_iiiiiii:sd,invoke_iiiiiiii:td,invoke_iiiiiiiiiii:ud,invoke_iiiiiiiiiiii:vd,invoke_iiiiiiiiiiiii:wd,invoke_iiiiij:xd,invoke_jiiii:yd,invoke_v:zd,invoke_vi:Ad,invoke_vii:Bd,invoke_viii:Cd,invoke_viiii:Dd,invoke_viiiiiii:Ed,invoke_viiiiiiiiii:Fd,invoke_viiiiiiiiiiiiiii:Gd,llvm_eh_typeid_for:function(a){return a},memory:ma,setTempRet0:N,strftime_l:function(a,b,c,d){return jd(a,b,c,d)}};(function(){function a(f){k.asm=f.exports;Hd(); +cc=k.asm.__indirect_function_table;ec.unshift(k.asm.__wasm_call_ctors);Ca("wasm-instantiate")}function b(f){a(f.instance)}function c(f){return Vc().then(function(g){return ca.instantiate(g,d)}).then(function(g){return g}).then(f,function(g){T("failed to asynchronously prepare wasm: "+g);Q(g)})}var d={env:ob,wasi_snapshot_preview1:ob};Wa("wasm-instantiate");if(k.instantiateWasm)try{return k.instantiateWasm(d,a)}catch(f){return T("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return sa|| +"function"!=typeof ca.instantiateStreaming||rb(O)||O.startsWith("file://")||"function"!=typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return ca.instantiateStreaming(f,d).then(b,function(g){T("wasm streaming compile failed: "+g);T("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();k.___wasm_call_ctors=function(){return(k.___wasm_call_ctors=k.asm.__wasm_call_ctors).apply(null,arguments)};k._main=function(){return(k._main=k.asm.main).apply(null,arguments)}; +var hb=k._malloc=function(){return(hb=k._malloc=k.asm.malloc).apply(null,arguments)},Ec=k.___errno_location=function(){return(Ec=k.___errno_location=k.asm.__errno_location).apply(null,arguments)},U=k._free=function(){return(U=k._free=k.asm.free).apply(null,arguments)},xc=k.___getTypeName=function(){return(xc=k.___getTypeName=k.asm.__getTypeName).apply(null,arguments)};k.___embind_register_native_and_builtin_types=function(){return(k.___embind_register_native_and_builtin_types=k.asm.__embind_register_native_and_builtin_types).apply(null, +arguments)};k.___dl_seterr=function(){return(k.___dl_seterr=k.asm.__dl_seterr).apply(null,arguments)};var lc=k._emscripten_builtin_memalign=function(){return(lc=k._emscripten_builtin_memalign=k.asm.emscripten_builtin_memalign).apply(null,arguments)},D=k._setThrew=function(){return(D=k._setThrew=k.asm.setThrew).apply(null,arguments)},F=k.stackSave=function(){return(F=k.stackSave=k.asm.stackSave).apply(null,arguments)},G=k.stackRestore=function(){return(G=k.stackRestore=k.asm.stackRestore).apply(null, +arguments)},Gb=k.stackAlloc=function(){return(Gb=k.stackAlloc=k.asm.stackAlloc).apply(null,arguments)};k.___cxa_demangle=function(){return(k.___cxa_demangle=k.asm.__cxa_demangle).apply(null,arguments)};var ib=k.___cxa_can_catch=function(){return(ib=k.___cxa_can_catch=k.asm.__cxa_can_catch).apply(null,arguments)},hc=k.___cxa_is_pointer_type=function(){return(hc=k.___cxa_is_pointer_type=k.asm.__cxa_is_pointer_type).apply(null,arguments)};k.dynCall_ji=function(){return(k.dynCall_ji=k.asm.dynCall_ji).apply(null, +arguments)};k.dynCall_viijj=function(){return(k.dynCall_viijj=k.asm.dynCall_viijj).apply(null,arguments)};k.dynCall_iij=function(){return(k.dynCall_iij=k.asm.dynCall_iij).apply(null,arguments)};k.dynCall_iijj=function(){return(k.dynCall_iijj=k.asm.dynCall_iijj).apply(null,arguments)};k.dynCall_viij=function(){return(k.dynCall_viij=k.asm.dynCall_viij).apply(null,arguments)};k.dynCall_ij=function(){return(k.dynCall_ij=k.asm.dynCall_ij).apply(null,arguments)};k.dynCall_iiiji=function(){return(k.dynCall_iiiji= +k.asm.dynCall_iiiji).apply(null,arguments)};k.dynCall_iiiij=function(){return(k.dynCall_iiiij=k.asm.dynCall_iiiij).apply(null,arguments)};k.dynCall_vij=function(){return(k.dynCall_vij=k.asm.dynCall_vij).apply(null,arguments)};k.dynCall_jiji=function(){return(k.dynCall_jiji=k.asm.dynCall_jiji).apply(null,arguments)};var Gc=k.dynCall_iiiiij=function(){return(Gc=k.dynCall_iiiiij=k.asm.dynCall_iiiiij).apply(null,arguments)};k.dynCall_viijii=function(){return(k.dynCall_viijii=k.asm.dynCall_viijii).apply(null, +arguments)};var Hc=k.dynCall_jiiii=function(){return(Hc=k.dynCall_jiiii=k.asm.dynCall_jiiii).apply(null,arguments)};k.dynCall_iiiiijj=function(){return(k.dynCall_iiiiijj=k.asm.dynCall_iiiiijj).apply(null,arguments)};k.dynCall_iiiiiijj=function(){return(k.dynCall_iiiiiijj=k.asm.dynCall_iiiiiijj).apply(null,arguments)};function od(a,b,c){var d=F();try{return C(a)(b,c)}catch(f){G(d);if(f!==f+0)throw f;D(1,0)}}function nd(a,b){var c=F();try{return C(a)(b)}catch(d){G(c);if(d!==d+0)throw d;D(1,0)}}function Cd(a, +b,c,d){var f=F();try{C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function pd(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function zd(a){var b=F();try{C(a)()}catch(c){G(b);if(c!==c+0)throw c;D(1,0)}}function Dd(a,b,c,d,f){var g=F();try{C(a)(b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}function Bd(a,b,c){var d=F();try{C(a)(b,c)}catch(f){G(d);if(f!==f+0)throw f;D(1,0)}}function sd(a,b,c,d,f,g,h){var l=F();try{return C(a)(b,c,d,f,g,h)}catch(p){G(l); +if(p!==p+0)throw p;D(1,0)}}function Ad(a,b){var c=F();try{C(a)(b)}catch(d){G(c);if(d!==d+0)throw d;D(1,0)}}function md(a){var b=F();try{return C(a)()}catch(c){G(b);if(c!==c+0)throw c;D(1,0)}}function rd(a,b,c,d,f,g){var h=F();try{return C(a)(b,c,d,f,g)}catch(l){G(h);if(l!==l+0)throw l;D(1,0)}}function td(a,b,c,d,f,g,h,l){var p=F();try{return C(a)(b,c,d,f,g,h,l)}catch(n){G(p);if(n!==n+0)throw n;D(1,0)}}function ud(a,b,c,d,f,g,h,l,p,n,q){var t=F();try{return C(a)(b,c,d,f,g,h,l,p,n,q)}catch(u){G(t); +if(u!==u+0)throw u;D(1,0)}}function qd(a,b,c,d,f){var g=F();try{return C(a)(b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}function wd(a,b,c,d,f,g,h,l,p,n,q,t,u){var m=F();try{return C(a)(b,c,d,f,g,h,l,p,n,q,t,u)}catch(r){G(m);if(r!==r+0)throw r;D(1,0)}}function ld(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function kd(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function Ed(a,b,c,d,f,g,h,l){var p=F();try{C(a)(b,c,d, +f,g,h,l)}catch(n){G(p);if(n!==n+0)throw n;D(1,0)}}function vd(a,b,c,d,f,g,h,l,p,n,q,t){var u=F();try{return C(a)(b,c,d,f,g,h,l,p,n,q,t)}catch(m){G(u);if(m!==m+0)throw m;D(1,0)}}function Fd(a,b,c,d,f,g,h,l,p,n,q){var t=F();try{C(a)(b,c,d,f,g,h,l,p,n,q)}catch(u){G(t);if(u!==u+0)throw u;D(1,0)}}function Gd(a,b,c,d,f,g,h,l,p,n,q,t,u,m,r,x){var B=F();try{C(a)(b,c,d,f,g,h,l,p,n,q,t,u,m,r,x)}catch(I){G(B);if(I!==I+0)throw I;D(1,0)}}function xd(a,b,c,d,f,g,h){var l=F();try{return Gc(a,b,c,d,f,g,h)}catch(p){G(l); +if(p!==p+0)throw p;D(1,0)}}function yd(a,b,c,d,f){var g=F();try{return Hc(a,b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}k.print=Aa;k.printErr=T;k.ALLOC_NORMAL=0;k.ALLOC_STACK=1;function Hd(){if(da)if(rb(da)||(da=Tb(da)),ya||Nc){var a=Qa(da);K.set(a,1024)}else{Wa("memory initializer");var b=d=>{d.byteLength&&(d=new Uint8Array(d));K.set(d,1024);k.memoryInitializerRequest&&delete k.memoryInitializerRequest.response;Ca("memory initializer")},c=()=>{za(da,b,function(){throw Error("could not load memory initializer "+ +da);})};k.memoryInitializerRequest?(a=()=>{var d=k.memoryInitializerRequest,f=d.response;200!==d.status&&0!==d.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+d.status+", retrying "+da),c()):b(f)},k.memoryInitializerRequest.response?setTimeout(a,0):k.memoryInitializerRequest.addEventListener("load",a)):c()}}var jb;function Ra(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Ba=function b(){jb||Hb();jb|| +(Ba=b)};function Id(b){var c=k._main;b=b||[];b.unshift(La);var d=b.length,f=Gb(4*(d+1)),g=f>>2;b.forEach(p=>{var n=v,q=g++,t=Ua(p)+1,u=Gb(t);Ta(p,M,u,t);n[q]=u});v[g]=0;try{var h=c(d,f);Jd(h,!0);return h}catch(p){if(p instanceof Ra||"unwind"==p)var l=Sa;else Ma(1,p),l=void 0;return l}finally{}}function Hb(b){function c(){if(!jb&&(jb=!0,k.calledRun=!0,!pb)){k.noFSInit||e.Y.Za||e.Y();e.Mb=!1;fa.Y();Xa(ec);Xa(Uc);if(k.onRuntimeInitialized)k.onRuntimeInitialized();Ic&&Id(b);if(k.postRun)for("function"== +typeof k.postRun&&(k.postRun=[k.postRun]);k.postRun.length;)fc.unshift(k.postRun.shift());Xa(fc)}}b=b||mb;if(!(0 .zim) - var baseZimFileName = files[0].name.replace(/\.zim..$/, '.zim'); - Module = {}; - Module["onRuntimeInitialized"] = function() { - console.debug("runtime initialized"); - Module.loadArchive("/work/" + baseZimFileName); - outgoingMessagePort.postMessage("runtime initialized"); - }; - Module["arguments"] = []; - for (let i = 0; i < files.length; i++) { - Module["arguments"].push("/work/" + files[i].name); - } - Module["preRun"] = function() { - FS.mkdir("/work"); - FS.mount(WORKERFS, { - files: files - }, "/work"); - }; - console.debug("baseZimFileName = " + baseZimFileName); - console.debug('Module["arguments"] = ' + Module["arguments"]) - - - -// 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 = Object.assign({}, Module); - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (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). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof importScripts == 'function'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string'; -var 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; - -// Normally we don't log exceptions but instead let them bubble out the top -// level where the embedding environment (e.g. the browser) can handle -// them. -// However under v8 and node we sometimes exit the process direcly in which case -// its up to use us to log the exception before exiting. -// If we fix https://github.com/emscripten-core/emscripten/issues/15080 -// this may no longer be needed under node. -function logExceptionOnExit(e) { - if (e instanceof ExitStatus) return; - let toLog = e; - err('exiting due to exception: ' + toLog); -} - -var fs; -var nodePath; -var requireNodeFS; - -if (ENVIRONMENT_IS_NODE) { - if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = require('path').dirname(scriptDirectory) + '/'; - } else { - scriptDirectory = __dirname + '/'; - } - -// include: node_shell_read.js - - -requireNodeFS = () => { - // Use nodePath as the indicator for these not being initialized, - // since in some environments a global fs may have already been - // created. - if (!nodePath) { - fs = require('fs'); - nodePath = require('path'); - } -}; - -read_ = function shell_read(filename, binary) { - requireNodeFS(); - filename = nodePath['normalize'](filename); - return fs.readFileSync(filename, binary ? undefined : 'utf8'); -}; - -readBinary = (filename) => { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - return ret; -}; - -readAsync = (filename, onload, onerror) => { - requireNodeFS(); - filename = nodePath['normalize'](filename); - fs.readFile(filename, function(err, data) { - if (err) onerror(err); - else onload(data.buffer); - }); -}; - -// end include: node_shell_read.js - 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; - } - }); - - // Without this older versions of node (< v15) will log unhandled rejections - // but return 0, which is not normally the desired behaviour. This is - // not be needed with node v15 and about because it is now the default - // behaviour: - // See https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode - process['on']('unhandledRejection', function(reason) { throw reason; }); - - quit_ = (status, toThrow) => { - if (keepRuntimeAlive()) { - process['exitCode'] = status; - throw toThrow; - } - logExceptionOnExit(toThrow); - process['exit'](status); - }; - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; - -} 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 (typeof document != 'undefined' && 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 contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.indexOf('blob:') !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); - } else { - scriptDirectory = ''; - } - - // Differentiate the Web Worker from the Node Worker case, as reading must - // be done differently. - { -// include: web_or_worker_shell_read.js - - - read_ = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - } - - if (ENVIRONMENT_IS_WORKER) { - 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 = (url, onload, onerror) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - 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); - } - -// end include: web_or_worker_shell_read.js - } - - setWindowTitle = (title) => document.title = title; -} else -{ -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.warn.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// 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 - - - - -var STACK_ALIGN = 16; -var POINTER_SIZE = 4; - -function getNativeTypeSize(type) { - switch (type) { - case 'i1': case 'i8': case 'u8': return 1; - case 'i16': case 'u16': return 2; - case 'i32': case 'u32': return 4; - case 'i64': case 'u64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length - 1] === '*') { - return POINTER_SIZE; - } else if (type[0] === 'i') { - const 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); - } -} - -// include: runtime_functions.js - - -// This gives correct answers for everything less than 2^{14} = 16384 -// I hope nobody is contemplating functions with 16384 arguments... -function uleb128Encode(n) { - if (n < 128) { - return [n]; - } - return [(n % 128) | 128, n >> 7]; -} - -// 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', - 'p': 'i32', - }; - 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, // count: 1 - 0x60, // form: func - ]; - var sigRet = sig.slice(0, 1); - var sigParam = sig.slice(1); - var typeCodes = { - 'i': 0x7f, // i32 - 'p': 0x7f, // i32 - 'j': 0x7e, // i64 - 'f': 0x7d, // f32 - 'd': 0x7c, // f64 - }; - - // Parameters, length + signatures - typeSection = typeSection.concat(uleb128Encode(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 section code and overall length of the type section into the - // section header - typeSection = [0x01 /* Type section code */].concat( - uleb128Encode(typeSection.length), - typeSection - ); - - // 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; - -function getEmptyTableSlot() { - // Reuse a free index if there is one, otherwise grow. - if (freeTableIndexes.length) { - return freeTableIndexes.pop(); - } - // Grow the table - try { - wasmTable.grow(1); - } catch (err) { - if (!(err instanceof RangeError)) { - throw err; - } - throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.'; - } - return wasmTable.length - 1; -} - -function updateTableMap(offset, count) { - for (var i = offset; i < offset + count; i++) { - var item = getWasmTableEntry(i); - // Ignore null values. - if (item) { - functionsInTableMap.set(item, i); - } - } -} - -/** - * Add a function to the table. - * 'sig' parameter is required if the function being added is a JS function. - * @param {string=} sig - */ -function addFunction(func, sig) { - - // 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(); - updateTableMap(0, wasmTable.length); - } - if (functionsInTableMap.has(func)) { - return functionsInTableMap.get(func); - } - - // It's not in the table, add it now. - - var ret = getEmptyTableSlot(); - - // Set the new value. - try { - // Attempting to call this with JS function will cause of table.set() to fail - setWasmTableEntry(ret, func); - } catch (err) { - if (!(err instanceof TypeError)) { - throw err; - } - var wrapped = convertJsFunctionToWasm(func, sig); - setWasmTableEntry(ret, wrapped); - } - - functionsInTableMap.set(func, ret); - - return ret; -} - -function removeFunction(index) { - functionsInTableMap.delete(getWasmTableEntry(index)); - freeTableIndexes.push(index); -} - -// end include: runtime_functions.js -// include: runtime_debug.js - - -// end include: runtime_debug.js -var tempRet0 = 0; -var setTempRet0 = (value) => { tempRet0 = value; }; -var getTempRet0 = () => tempRet0; - - - -// === 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 = Module['noExitRuntime'] || true; - -if (typeof WebAssembly != 'object') { - abort('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// 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; - -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - // This build was created without ASSERTIONS defined. `assert()` should not - // ever be called in this configuration but in case there are callers in - // the wild leave this simple abort() implemenation here for now. - abort(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 - 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); - function onDone(ret) { - if (stack !== 0) stackRestore(stack); - return convertReturnValue(ret); - } - - ret = onDone(ret); - 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); - } -} - -// include: runtime_legacy.js - - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call - -/** - * allocate(): This function is no longer used by emscripten but is kept around to avoid - * breaking external users. - * You should normally not use allocate(), and instead allocate - * memory using _malloc()/stackAlloc(), initialize it with - * setValue(), and so forth. - * @param {(Uint8Array|Array)} slab: An array of data. - * @param {number=} allocator : How to allocate memory, see ALLOC_* - */ -function allocate(slab, allocator) { - var ret; - - if (allocator == ALLOC_STACK) { - ret = stackAlloc(slab.length); - } else { - ret = _malloc(slab.length); - } - - if (!slab.subarray && !slab.slice) { - slab = new Uint8Array(slab); - } - HEAPU8.set(slab, ret); - return ret; -} - -// end include: runtime_legacy.js -// include: runtime_strings.js - - -// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime. - -var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; - -// 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. -/** - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number} idx - * @param {number=} maxBytesToRead - * @return {string} - */ -function UTF8ArrayToString(heapOrArray, 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 (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.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 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[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; -} - -// end include: runtime_strings.js -// include: runtime_strings_extra.js - - -// 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 str = ''; - - // If maxBytesToRead is not passed explicitly, it will be undefined, and the for-loop's condition - // will always evaluate to true. The loop is then terminated on the first null char. - for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) break; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } - - return str; - } -} - -// 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; -} - -// end include: runtime_strings_extra.js -// Memory management - -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 TOTAL_STACK = 5242880; - -var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 83886080; - -// include: runtime_init_table.js -// In regular non-RELOCATABLE mode the table is exported -// from the wasm module and this will be assigned once -// the exports are available. -var wasmTable; - -// end include: runtime_init_table.js -// include: runtime_stack_check.js - - -// end include: runtime_stack_check.js -// include: runtime_assertions.js - - -// end include: runtime_assertions.js -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; - -function keepRuntimeAlive() { - return noExitRuntime; -} - -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(); -FS.ignorePermissions = false; - -TTY.init(); - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - - callRuntimeCallbacks(__ATMAIN__); -} - -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); -} - -// include: runtime_math.js - - -// 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 - -// end include: runtime_math.js -// 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 - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - { - if (Module['onAbort']) { - Module['onAbort'](what); - } - } - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - EXITSTATUS = 1; - - what += '. Build with -sASSERTIONS 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. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // defintion for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - 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; -} - -// {{MEM_INITIALIZER}} - -// include: memoryprofiler.js - - -// end include: memoryprofiler.js -// include: URIUtils.js - - -// 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) { - // Prefix of data URIs emitted by SINGLE_FILE and related options. - return filename.startsWith(dataURIPrefix); -} - -// Indicates whether filename is delivered via file protocol (as opposed to http/https) -function isFileURI(filename) { - return filename.startsWith('file://'); -} - -// end include: URIUtils.js -var wasmBinaryFile; - wasmBinaryFile = 'libzim-wasm.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 we don't have the binary yet, try to to load it asynchronously. - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. - if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { - if (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); - }); - } - else { - if (readAsync) { - // fetch is not available or url is file => try XHR (readAsync uses XHR internally) - return new Promise(function(resolve, reject) { - readAsync(wasmBinaryFile, function(response) { resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))) }, reject) - }); - } - } - } - - // Otherwise, getBinary should be able to get it synchronously - return Promise.resolve().then(function() { return getBinary(wasmBinaryFile); }); -} - -// 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; - - wasmMemory = Module['asm']['memory']; - updateGlobalBufferAndViews(wasmMemory.buffer); - - wasmTable = Module['asm']['__indirect_function_table']; - - addOnInit(Module['asm']['__wasm_call_ctors']); - - removeRunDependency('wasm-instantiate'); - - } - // we can't run yet (except in a pthread, where we have a custom sync instantiator) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - function receiveInstantiationResult(result) { - // 'result' is a ResultObject 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(result['instance']); - } - - function instantiateArrayBuffer(receiver) { - return getBinaryPromise().then(function(binary) { - return WebAssembly.instantiate(binary, info); - }).then(function (instance) { - return instance; - }).then(receiver, function(reason) { - err('failed to asynchronously prepare wasm: ' + reason); - - abort(reason); - }); - } - - 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') { - return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) { - // Suppress closure warning here since the upstream definition for - // instantiateStreaming only allows Promise rather than - // an actual Response. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. - /** @suppress {checkTypes} */ - var result = WebAssembly.instantiateStreaming(response, info); - - return result.then( - receiveInstantiationResult, - 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(receiveInstantiationResult); - }); - }); - } else { - return instantiateArrayBuffer(receiveInstantiationResult); - } - } - - // 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. - // Also pthreads and wasm workers initialize the wasm instance through this path. - 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 (see makeSetValue) -var tempDouble; -var tempI64; - -// === Body === - -var ASM_CONSTS = { - -}; - - - - - - - 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) { - // Run the wasm function ptr with signature 'v'. If no function - // with such signature was exported, this call does not need - // to be emitted (and would confuse Closure) - getWasmTableEntry(func)(); - } else { - // If any function with signature 'vi' was exported, run - // the callback with that signature. - getWasmTableEntry(func)(callback.arg); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } - } - - function withStackSave(f) { - var stack = stackSave(); - var ret = f(); - stackRestore(stack); - return ret; - } - function demangle(func) { - // If demangle has failed before, stop demangling any further function names - // This avoids an infinite recursion with malloc()->abort()->stackTrace()->demangle()->malloc()->... - demangle.recursionGuard = (demangle.recursionGuard|0)+1; - if (demangle.recursionGuard > 1) return func; - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - assert(__cxa_demangle_func); - return withStackSave(function() { - try { - var s = func; - if (s.startsWith('__Z')) - s = s.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = stackAlloc(len); - stringToUTF8(s, buf, len); - var status = stackAlloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (HEAP32[((status)>>2)] === 0 && ret) { - return UTF8ToString(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - } finally { - _free(ret); - if (demangle.recursionGuard < 2) --demangle.recursionGuard; - } - // failure when using libcxxabi, don't demangle - 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 + ']'); - }); - } - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = 'i32'; - 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 Number(HEAPF64[((ptr)>>3)]); - default: abort('invalid type for getValue: ' + type); - } - return null; - } - - var wasmTableMirror = []; - function getWasmTableEntry(funcPtr) { - var func = wasmTableMirror[funcPtr]; - if (!func) { - if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; - wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); - } - return func; - } - - function handleException(e) { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - quit_(1, e); - } - - 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(); - } - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) 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.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); - } - } - - function setWasmTableEntry(idx, func) { - wasmTable.set(idx, func); - // With ABORT_ON_WASM_EXCEPTIONS wasmTable.get is overriden to return wrapped - // functions so we need to call it here to retrieve the potential wrapper correctly - // instead of just storing 'func' directly into wasmTableMirror - wasmTableMirror[idx] = wasmTable.get(idx); - } - - 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 ___call_sighandler(fp, sig) { - getWasmTableEntry(fp)(sig); - } - - function ___cxa_allocate_exception(size) { - // Thrown object is prepended by exception metadata block - return _malloc(size + 24) + 24; - } - - var exceptionCaught = []; - - function exception_addRef(info) { - info.add_ref(); - } - - var uncaughtExceptionCount = 0; - function ___cxa_begin_catch(ptr) { - var info = new ExceptionInfo(ptr); - if (!info.get_caught()) { - info.set_caught(true); - uncaughtExceptionCount--; - } - info.set_rethrown(false); - exceptionCaught.push(info); - exception_addRef(info); - return info.get_exception_ptr(); - } - - /** @constructor */ - function ExceptionInfo(excPtr) { - this.excPtr = excPtr; - this.ptr = excPtr - 24; - - this.set_type = function(type) { - HEAPU32[(((this.ptr)+(4))>>2)] = type; - }; - - this.get_type = function() { - return HEAPU32[(((this.ptr)+(4))>>2)]; - }; - - this.set_destructor = function(destructor) { - HEAPU32[(((this.ptr)+(8))>>2)] = destructor; - }; - - this.get_destructor = function() { - return HEAPU32[(((this.ptr)+(8))>>2)]; - }; - - this.set_refcount = function(refcount) { - HEAP32[((this.ptr)>>2)] = refcount; - }; - - this.set_caught = function (caught) { - caught = caught ? 1 : 0; - HEAP8[(((this.ptr)+(12))>>0)] = caught; - }; - - this.get_caught = function () { - return HEAP8[(((this.ptr)+(12))>>0)] != 0; - }; - - this.set_rethrown = function (rethrown) { - rethrown = rethrown ? 1 : 0; - HEAP8[(((this.ptr)+(13))>>0)] = rethrown; - }; - - this.get_rethrown = function () { - return HEAP8[(((this.ptr)+(13))>>0)] != 0; - }; - - // Initialize native structure fields. Should be called once after allocated. - this.init = function(type, destructor) { - this.set_adjusted_ptr(0); - this.set_type(type); - this.set_destructor(destructor); - this.set_refcount(0); - this.set_caught(false); - this.set_rethrown(false); - } - - this.add_ref = function() { - var value = HEAP32[((this.ptr)>>2)]; - HEAP32[((this.ptr)>>2)] = value + 1; - }; - - // Returns true if last reference released. - this.release_ref = function() { - var prev = HEAP32[((this.ptr)>>2)]; - HEAP32[((this.ptr)>>2)] = prev - 1; - return prev === 1; - }; - - this.set_adjusted_ptr = function(adjustedPtr) { - HEAPU32[(((this.ptr)+(16))>>2)] = adjustedPtr; - }; - - this.get_adjusted_ptr = function() { - return HEAPU32[(((this.ptr)+(16))>>2)]; - }; - - // Get pointer which is expected to be received by catch clause in C++ code. It may be adjusted - // when the pointer is casted to some of the exception object base classes (e.g. when virtual - // inheritance is used). When a pointer is thrown this method should return the thrown pointer - // itself. - this.get_exception_ptr = function() { - // Work around a fastcomp bug, this code is still included for some reason in a build without - // exceptions support. - var isPointer = ___cxa_is_pointer_type(this.get_type()); - if (isPointer) { - return HEAPU32[((this.excPtr)>>2)]; - } - var adjusted = this.get_adjusted_ptr(); - if (adjusted !== 0) return adjusted; - return this.excPtr; - }; - } - function ___cxa_free_exception(ptr) { - return _free(new ExceptionInfo(ptr).ptr); - } - function exception_decRef(info) { - // A rethrown exception can reach refcount 0; it must not be discarded - // Its next handler will clear the rethrown flag and addRef it, prior to - // final decRef and destruction here - if (info.release_ref() && !info.get_rethrown()) { - var destructor = info.get_destructor(); - if (destructor) { - // In Wasm, destructors return 'this' as in ARM - getWasmTableEntry(destructor)(info.excPtr); - } - ___cxa_free_exception(info.excPtr); - } - } - function ___cxa_decrement_exception_refcount(ptr) { - if (!ptr) return; - exception_decRef(new ExceptionInfo(ptr)); - } - - var exceptionLast = 0; - function ___cxa_end_catch() { - // Clear state flag. - _setThrew(0); - // Call destructor if one is registered then clear it. - var info = exceptionCaught.pop(); - - exception_decRef(info); - exceptionLast = 0; // XXX in decRef? - } - - function ___resumeException(ptr) { - if (!exceptionLast) { exceptionLast = ptr; } - throw ptr; - } - function ___cxa_find_matching_catch_2() { - var thrown = exceptionLast; - if (!thrown) { - // just pass through the null ptr - setTempRet0(0); - return 0; - } - var info = new ExceptionInfo(thrown); - info.set_adjusted_ptr(thrown); - var thrownType = info.get_type(); - if (!thrownType) { - // just pass through the thrown ptr - setTempRet0(0); - return thrown; - } - var typeArray = Array.prototype.slice.call(arguments); - - // can_catch receives a **, add indirection - // The different catch blocks are denoted by different types. - // Due to inheritance, those types may not precisely match the - // type of the thrown object. Find one which matches, and - // return the type of the catch block which should be called. - for (var i = 0; i < typeArray.length; i++) { - var caughtType = typeArray[i]; - if (caughtType === 0 || caughtType === thrownType) { - // Catch all clause matched or exactly the same type is caught - break; - } - var adjusted_ptr_addr = info.ptr + 16; - if (___cxa_can_catch(caughtType, thrownType, adjusted_ptr_addr)) { - setTempRet0(caughtType); - return thrown; - } - } - setTempRet0(thrownType); - return thrown; - } - - function ___cxa_find_matching_catch_3() { - var thrown = exceptionLast; - if (!thrown) { - // just pass through the null ptr - setTempRet0(0); - return 0; - } - var info = new ExceptionInfo(thrown); - info.set_adjusted_ptr(thrown); - var thrownType = info.get_type(); - if (!thrownType) { - // just pass through the thrown ptr - setTempRet0(0); - return thrown; - } - var typeArray = Array.prototype.slice.call(arguments); - - // can_catch receives a **, add indirection - // The different catch blocks are denoted by different types. - // Due to inheritance, those types may not precisely match the - // type of the thrown object. Find one which matches, and - // return the type of the catch block which should be called. - for (var i = 0; i < typeArray.length; i++) { - var caughtType = typeArray[i]; - if (caughtType === 0 || caughtType === thrownType) { - // Catch all clause matched or exactly the same type is caught - break; - } - var adjusted_ptr_addr = info.ptr + 16; - if (___cxa_can_catch(caughtType, thrownType, adjusted_ptr_addr)) { - setTempRet0(caughtType); - return thrown; - } - } - setTempRet0(thrownType); - return thrown; - } - - function ___cxa_find_matching_catch_4() { - var thrown = exceptionLast; - if (!thrown) { - // just pass through the null ptr - setTempRet0(0); - return 0; - } - var info = new ExceptionInfo(thrown); - info.set_adjusted_ptr(thrown); - var thrownType = info.get_type(); - if (!thrownType) { - // just pass through the thrown ptr - setTempRet0(0); - return thrown; - } - var typeArray = Array.prototype.slice.call(arguments); - - // can_catch receives a **, add indirection - // The different catch blocks are denoted by different types. - // Due to inheritance, those types may not precisely match the - // type of the thrown object. Find one which matches, and - // return the type of the catch block which should be called. - for (var i = 0; i < typeArray.length; i++) { - var caughtType = typeArray[i]; - if (caughtType === 0 || caughtType === thrownType) { - // Catch all clause matched or exactly the same type is caught - break; - } - var adjusted_ptr_addr = info.ptr + 16; - if (___cxa_can_catch(caughtType, thrownType, adjusted_ptr_addr)) { - setTempRet0(caughtType); - return thrown; - } - } - setTempRet0(thrownType); - return thrown; - } - - - function ___cxa_increment_exception_refcount(ptr) { - if (!ptr) return; - exception_addRef(new ExceptionInfo(ptr)); - } - - function ___cxa_rethrow() { - var info = exceptionCaught.pop(); - if (!info) { - abort('no exception to throw'); - } - var ptr = info.excPtr; - if (!info.get_rethrown()) { - // Only pop if the corresponding push was through rethrow_primary_exception - exceptionCaught.push(info); - info.set_rethrown(true); - info.set_caught(false); - uncaughtExceptionCount++; - } - exceptionLast = ptr; - throw ptr; - } - - function ___cxa_rethrow_primary_exception(ptr) { - if (!ptr) return; - var info = new ExceptionInfo(ptr); - exceptionCaught.push(info); - info.set_rethrown(true); - ___cxa_rethrow(); - } - - function ___cxa_throw(ptr, type, destructor) { - var info = new ExceptionInfo(ptr); - // Initialize ExceptionInfo content after it was allocated in __cxa_allocate_exception. - info.init(type, destructor); - exceptionLast = ptr; - uncaughtExceptionCount++; - throw ptr; - } - - function ___cxa_uncaught_exceptions() { - return uncaughtExceptionCount; - } - - - var PATH = {isAbs:(path) => path.charAt(0) === '/',splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:(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:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - },dirname:(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:(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); - },join:function() { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:(l, r) => { - return PATH.normalize(l + '/' + r); - }}; - - function getRandomDevice() { - if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - return 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 - return function() { return crypto_module['randomBytes'](1)[0]; }; - } catch (e) { - // nodejs doesn't have crypto support - } - } - // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 - 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(); - // 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.isAbs(path); - } - // 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((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:(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(BUFSIZE); - var bytesRead = 0; - - try { - bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, -1); - } 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().includes('EOF')) 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 = []; - } - }}}; - - function zeroMemory(address, size) { - HEAPU8.fill(0, address, address + size); - } - - function alignMemory(size, alignment) { - return Math.ceil(size / alignment) * alignment; - } - function mmapAlloc(size) { - size = alignMemory(size, 65536); - var ptr = _emscripten_builtin_memalign(65536, size); - if (!ptr) return 0; - zeroMemory(ptr, size); - return ptr; - } - 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; - parent.timestamp = node.timestamp; - } - return node; - },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. - },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; - } else { - 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; - } - },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.parent.timestamp = Date.now() - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - new_dir.timestamp = old_node.parent.timestamp; - old_node.parent = new_dir; - },unlink:function(parent, name) { - delete parent.contents[name]; - parent.timestamp = Date.now(); - },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]; - parent.timestamp = Date.now(); - },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 the buffer is located in main memory (HEAP), and if - // memory can grow, we can't hold on to references of the - // memory buffer, as they may get invalidated. That means we - // need to do copy its contents. - if (buffer.buffer === HEAP8.buffer) { - canOwn = false; - } - - 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, length, position, prot, flags) { - 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 = 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; - }}}; - - /** @param {boolean=} noRunDep */ - function asyncLoad(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); - } - - 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) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - // Issue 4254: Using curr as a node name will prevent the node - // from being found in FS.nameTable when FS.open is called on - // a path which holds a child of this node, - // given that all FS functions assume node names - // are just their corresponding parts within their given path, - // rather than incremental aggregates which include their parent's - // directories. - if (!createdParents[curr]) { - createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); - } - parent = createdParents[curr]; - } - return parent; - } - function base(path) { - var parts = path.split('/'); - return parts[parts.length-1]; - } - // We also accept FileList here, by using Array.prototype - Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { - WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); - }); - (mount.opts["blobs"] || []).forEach(function(obj) { - WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); - }); - (mount.opts["packages"] || []).forEach(function(pack) { - pack['metadata'].files.forEach(function(file) { - var name = file.filename.substr(1); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function(node) { - return { - dev: 1, - ino: node.id, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function(node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function(parent, name) { - throw new FS.ErrnoError(44); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(63); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(63); - },unlink:function(parent, name) { - throw new FS.ErrnoError(63); - },rmdir:function(parent, name) { - throw new FS.ErrnoError(63); - },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) { - throw new FS.ErrnoError(63); - },readlink:function(node) { - throw new FS.ErrnoError(63); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= 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(29); - },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(28); - } - return position; - }}}; - var FS = {root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path, opts = {}) => { - path = PATH_FS.resolve(FS.cwd(), path); - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - opts = Object.assign(defaults, opts) - - 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((p) => !!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 + 1 }); - 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:(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:(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:(node) => { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:(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:(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:(parent, name, mode, rdev) => { - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - },destroyNode:(node) => { - FS.hashRemoveNode(node); - },isRoot:(node) => { - return node === node.parent; - },isMountpoint:(node) => { - return !!node.mounted; - },isFile:(mode) => { - return (mode & 61440) === 32768; - },isDir:(mode) => { - return (mode & 61440) === 16384; - },isLink:(mode) => { - return (mode & 61440) === 40960; - },isChrdev:(mode) => { - return (mode & 61440) === 8192; - },isBlkdev:(mode) => { - return (mode & 61440) === 24576; - },isFIFO:(mode) => { - return (mode & 61440) === 4096; - },isSocket:(mode) => { - return (mode & 49152) === 49152; - },flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:(str) => { - var flags = FS.flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error('Unknown file open mode: ' + str); - } - return flags; - },flagsToPermissionString:(flag) => { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - },nodePermissions:(node, perms) => { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - },mayLookup:(dir) => { - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - },mayCreate:(dir, name) => { - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:(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:(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:(fd_start = 0, 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:(fd) => FS.streams[fd],createStream:(stream, fd_start, fd_end) => { - if (!FS.FSStream) { - FS.FSStream = /** @constructor */ function() { - this.shared = { }; - }; - 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); } - }, - flags: { - get: function() { return this.shared.flags; }, - set: function(val) { this.shared.flags = val; }, - }, - position : { - get function() { return this.shared.position; }, - set: function(val) { this.shared.position = val; }, - }, - }; - } - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - },closeStream:(fd) => { - FS.streams[fd] = null; - },chrdev_stream_ops:{open:(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:() => { - throw new FS.ErrnoError(70); - }},major:(dev) => ((dev) >> 8),minor:(dev) => ((dev) & 0xff),makedev:(ma, mi) => ((ma) << 8 | (mi)),registerDevice:(dev, ops) => { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:(dev) => FS.devices[dev],getMounts:(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:(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((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:(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:(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((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - 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:(parent, name) => { - return parent.node_ops.lookup(parent, name); - },mknod:(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:(path, mode) => { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:(path, mode) => { - mode = mode !== undefined ? mode : 511 /* 0777 */; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - },mkdirTree:(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:(path, mode, dev) => { - if (typeof dev == 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:(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:(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); - } - } - // 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); - } - },rmdir:(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); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - },readdir:(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:(path) => { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - 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); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - },readlink:(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:(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:(path) => { - return FS.stat(path, true); - },chmod:(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:(path, mode) => { - FS.chmod(path, mode, true); - },fchmod:(fd, mode) => { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chmod(stream.node, mode); - },chown:(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:(path, uid, gid) => { - FS.chown(path, uid, gid, true); - },fchown:(fd, uid, gid) => { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chown(stream.node, uid, gid); - },truncate:(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:(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:(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:(path, flags, mode) => { - 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) && !created) { - 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 - }); - // 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; - } - } - return stream; - },close:(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:(stream) => { - return stream.fd === null; - },llseek:(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:(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:(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; - return bytesWritten; - },allocate:(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:(stream, 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, length, position, prot, flags); - },msync:(stream, buffer, offset, length, mmapFlags) => { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:(stream) => 0,ioctl:(stream, cmd, arg) => { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:(path, opts = {}) => { - opts.flags = opts.flags || 0; - 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:(path, data, opts = {}) => { - opts.flags = opts.flags || 577; - 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:() => FS.currentPath,chdir:(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:() => { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:() => { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // 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 = getRandomDevice(); - 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:() => { - // 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'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount: () => { - var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73); - node.node_ops = { - lookup: (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: () => stream.path }, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:() => { - // 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', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - },ensureErrnoError:() => { - 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((code) => { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:() => { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'WORKERFS': WORKERFS, - }; - },init:(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:() => { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - // 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:(canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },findObject:(path, dontResolveLastLink) => { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - return null; - } - },analyzePath:(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; - },createPath:(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:(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:(parent, name, data, canRead, canWrite, canOwn) => { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(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, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - },createDevice:(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: (stream) => { - stream.seekable = false; - }, - close: (stream) => { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: (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: (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); - },forceLoadFile:(obj) => { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return 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) { - throw new FS.ErrnoError(29); - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - },createLazyFile:(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 = (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. - 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((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((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - FS.forceLoadFile(node); - return fn.apply(null, arguments); - }; - }); - // use a custom 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) { // 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:(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // 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); - } - if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { - if (onerror) onerror(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url, (byteArray) => processData(byteArray), onerror); - } else { - processData(url); - } - },indexedDB:() => { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - },DB_NAME:() => { - return 'EM_FS_' + window.location.pathname; - },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths, onload, onerror) => { - onload = onload || (() => {}); - onerror = onerror || (() => {}); - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = () => { - out('creating db'); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - 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((path) => { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = () => { ok++; if (ok + fail == total) finish() }; - putRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },loadFilesFromDB:(paths, onload, onerror) => { - onload = onload || (() => {}); - onerror = onerror || (() => {}); - 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 = () => { - 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((path) => { - var getRequest = files.get(path); - 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 = () => { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - }}; - var SYSCALLS = {DEFAULT_POLLMASK:5,calculateAt:function(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // 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; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return PATH.join2(dir, 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); - },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; - }}; - function ___syscall_fadvise64(fd, offset, len, advice) { - return 0; // your advice is important to us (but we can't use it) - } - - function setErrNo(value) { - HEAP32[((___errno_location())>>2)] = value; - return value; - } - function ___syscall_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.createStream(stream, 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 5: - /* case 5: 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 6: - case 7: - /* case 6: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ - /* case 7: 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 fcntl() returns that, and we set errno ourselves. - setErrNo(28); - return -1; - default: { - return -28; - } - } - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - return SYSCALLS.doStat(FS.stat, stream.path, buf); - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.doStat(FS.lstat, path, buf); - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~4352); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf); - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } - } - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? SYSCALLS.get() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.doStat(FS.stat, path, buf); - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } - } - - function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) {} - - function getShiftFromSize(size) { - switch (size) { - case 1: return 0; - case 2: return 1; - case 4: return 2; - case 8: return 3; - default: - throw new TypeError('Unknown type size: ' + size); - } - } - - function embind_init_charCodes() { - var codes = new Array(256); - for (var i = 0; i < 256; ++i) { - codes[i] = String.fromCharCode(i); - } - embind_charCodes = codes; - } - var embind_charCodes = undefined; - function readLatin1String(ptr) { - var ret = ""; - var c = ptr; - while (HEAPU8[c]) { - ret += embind_charCodes[HEAPU8[c++]]; - } - return ret; - } - - var awaitingDependencies = {}; - - var registeredTypes = {}; - - var typeDependencies = {}; - - var char_0 = 48; - - var char_9 = 57; - function makeLegalFunctionName(name) { - if (undefined === name) { - return '_unknown'; - } - name = name.replace(/[^a-zA-Z0-9_]/g, '$'); - var f = name.charCodeAt(0); - if (f >= char_0 && f <= char_9) { - return '_' + name; - } - return name; - } - function createNamedFunction(name, body) { - name = makeLegalFunctionName(name); - /*jshint evil:true*/ - return new Function( - "body", - "return function " + name + "() {\n" + - " \"use strict\";" + - " return body.apply(this, arguments);\n" + - "};\n" - )(body); - } - function extendError(baseErrorType, errorName) { - var errorClass = createNamedFunction(errorName, function(message) { - this.name = errorName; - this.message = message; - - var stack = (new Error(message)).stack; - if (stack !== undefined) { - this.stack = this.toString() + '\n' + - stack.replace(/^Error(:[^\n]*)?\n/, ''); - } - }); - errorClass.prototype = Object.create(baseErrorType.prototype); - errorClass.prototype.constructor = errorClass; - errorClass.prototype.toString = function() { - if (this.message === undefined) { - return this.name; - } else { - return this.name + ': ' + this.message; - } - }; - - return errorClass; - } - var BindingError = undefined; - function throwBindingError(message) { - throw new BindingError(message); - } - - var InternalError = undefined; - function throwInternalError(message) { - throw new InternalError(message); - } - function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { - myTypes.forEach(function(type) { - typeDependencies[type] = dependentTypes; - }); - - function onComplete(typeConverters) { - var myTypeConverters = getTypeConverters(typeConverters); - if (myTypeConverters.length !== myTypes.length) { - throwInternalError('Mismatched type converter count'); - } - for (var i = 0; i < myTypes.length; ++i) { - registerType(myTypes[i], myTypeConverters[i]); - } - } - - var typeConverters = new Array(dependentTypes.length); - var unregisteredTypes = []; - var registered = 0; - dependentTypes.forEach((dt, i) => { - if (registeredTypes.hasOwnProperty(dt)) { - typeConverters[i] = registeredTypes[dt]; - } else { - unregisteredTypes.push(dt); - if (!awaitingDependencies.hasOwnProperty(dt)) { - awaitingDependencies[dt] = []; - } - awaitingDependencies[dt].push(() => { - typeConverters[i] = registeredTypes[dt]; - ++registered; - if (registered === unregisteredTypes.length) { - onComplete(typeConverters); - } - }); - } - }); - if (0 === unregisteredTypes.length) { - onComplete(typeConverters); - } - } - /** @param {Object=} options */ - function registerType(rawType, registeredInstance, options = {}) { - if (!('argPackAdvance' in registeredInstance)) { - throw new TypeError('registerType registeredInstance requires argPackAdvance'); - } - - var name = registeredInstance.name; - if (!rawType) { - throwBindingError('type "' + name + '" must have a positive integer typeid pointer'); - } - if (registeredTypes.hasOwnProperty(rawType)) { - if (options.ignoreDuplicateRegistrations) { - return; - } else { - throwBindingError("Cannot register type '" + name + "' twice"); - } - } - - registeredTypes[rawType] = registeredInstance; - delete typeDependencies[rawType]; - - if (awaitingDependencies.hasOwnProperty(rawType)) { - var callbacks = awaitingDependencies[rawType]; - delete awaitingDependencies[rawType]; - callbacks.forEach((cb) => cb()); - } - } - function __embind_register_bool(rawType, name, size, trueValue, falseValue) { - var shift = getShiftFromSize(size); - - name = readLatin1String(name); - registerType(rawType, { - name: name, - 'fromWireType': function(wt) { - // ambiguous emscripten ABI: sometimes return values are - // true or false, and sometimes integers (0 or 1) - return !!wt; - }, - 'toWireType': function(destructors, o) { - return o ? trueValue : falseValue; - }, - 'argPackAdvance': 8, - 'readValueFromPointer': function(pointer) { - // TODO: if heap is fixed (like in asm.js) this could be executed outside - var heap; - if (size === 1) { - heap = HEAP8; - } else if (size === 2) { - heap = HEAP16; - } else if (size === 4) { - heap = HEAP32; - } else { - throw new TypeError("Unknown boolean type size: " + name); - } - return this['fromWireType'](heap[pointer >> shift]); - }, - destructorFunction: null, // This type does not need a destructor - }); - } - - function ClassHandle_isAliasOf(other) { - if (!(this instanceof ClassHandle)) { - return false; - } - if (!(other instanceof ClassHandle)) { - return false; - } - - var leftClass = this.$$.ptrType.registeredClass; - var left = this.$$.ptr; - var rightClass = other.$$.ptrType.registeredClass; - var right = other.$$.ptr; - - while (leftClass.baseClass) { - left = leftClass.upcast(left); - leftClass = leftClass.baseClass; - } - - while (rightClass.baseClass) { - right = rightClass.upcast(right); - rightClass = rightClass.baseClass; - } - - return leftClass === rightClass && left === right; - } - - function shallowCopyInternalPointer(o) { - return { - count: o.count, - deleteScheduled: o.deleteScheduled, - preservePointerOnDelete: o.preservePointerOnDelete, - ptr: o.ptr, - ptrType: o.ptrType, - smartPtr: o.smartPtr, - smartPtrType: o.smartPtrType, - }; - } - - function throwInstanceAlreadyDeleted(obj) { - function getInstanceTypeName(handle) { - return handle.$$.ptrType.registeredClass.name; - } - throwBindingError(getInstanceTypeName(obj) + ' instance already deleted'); - } - - var finalizationRegistry = false; - - function detachFinalizer(handle) {} - - function runDestructor($$) { - if ($$.smartPtr) { - $$.smartPtrType.rawDestructor($$.smartPtr); - } else { - $$.ptrType.registeredClass.rawDestructor($$.ptr); - } - } - function releaseClassHandle($$) { - $$.count.value -= 1; - var toDelete = 0 === $$.count.value; - if (toDelete) { - runDestructor($$); - } - } - - function downcastPointer(ptr, ptrClass, desiredClass) { - if (ptrClass === desiredClass) { - return ptr; - } - if (undefined === desiredClass.baseClass) { - return null; // no conversion - } - - var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); - if (rv === null) { - return null; - } - return desiredClass.downcast(rv); - } - - var registeredPointers = {}; - - function getInheritedInstanceCount() { - return Object.keys(registeredInstances).length; - } - - function getLiveInheritedInstances() { - var rv = []; - for (var k in registeredInstances) { - if (registeredInstances.hasOwnProperty(k)) { - rv.push(registeredInstances[k]); - } - } - return rv; - } - - var deletionQueue = []; - function flushPendingDeletes() { - while (deletionQueue.length) { - var obj = deletionQueue.pop(); - obj.$$.deleteScheduled = false; - obj['delete'](); - } - } - - var delayFunction = undefined; - function setDelayFunction(fn) { - delayFunction = fn; - if (deletionQueue.length && delayFunction) { - delayFunction(flushPendingDeletes); - } - } - function init_embind() { - Module['getInheritedInstanceCount'] = getInheritedInstanceCount; - Module['getLiveInheritedInstances'] = getLiveInheritedInstances; - Module['flushPendingDeletes'] = flushPendingDeletes; - Module['setDelayFunction'] = setDelayFunction; - } - var registeredInstances = {}; - - function getBasestPointer(class_, ptr) { - if (ptr === undefined) { - throwBindingError('ptr should not be undefined'); - } - while (class_.baseClass) { - ptr = class_.upcast(ptr); - class_ = class_.baseClass; - } - return ptr; - } - function getInheritedInstance(class_, ptr) { - ptr = getBasestPointer(class_, ptr); - return registeredInstances[ptr]; - } - - function makeClassHandle(prototype, record) { - if (!record.ptrType || !record.ptr) { - throwInternalError('makeClassHandle requires ptr and ptrType'); - } - var hasSmartPtrType = !!record.smartPtrType; - var hasSmartPtr = !!record.smartPtr; - if (hasSmartPtrType !== hasSmartPtr) { - throwInternalError('Both smartPtrType and smartPtr must be specified'); - } - record.count = { value: 1 }; - return attachFinalizer(Object.create(prototype, { - $$: { - value: record, - }, - })); - } - function RegisteredPointer_fromWireType(ptr) { - // ptr is a raw pointer (or a raw smartpointer) - - // rawPointer is a maybe-null raw pointer - var rawPointer = this.getPointee(ptr); - if (!rawPointer) { - this.destructor(ptr); - return null; - } - - var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); - if (undefined !== registeredInstance) { - // JS object has been neutered, time to repopulate it - if (0 === registeredInstance.$$.count.value) { - registeredInstance.$$.ptr = rawPointer; - registeredInstance.$$.smartPtr = ptr; - return registeredInstance['clone'](); - } else { - // else, just increment reference count on existing object - // it already has a reference to the smart pointer - var rv = registeredInstance['clone'](); - this.destructor(ptr); - return rv; - } - } - - function makeDefaultHandle() { - if (this.isSmartPointer) { - return makeClassHandle(this.registeredClass.instancePrototype, { - ptrType: this.pointeeType, - ptr: rawPointer, - smartPtrType: this, - smartPtr: ptr, - }); - } else { - return makeClassHandle(this.registeredClass.instancePrototype, { - ptrType: this, - ptr: ptr, - }); - } - } - - var actualType = this.registeredClass.getActualType(rawPointer); - var registeredPointerRecord = registeredPointers[actualType]; - if (!registeredPointerRecord) { - return makeDefaultHandle.call(this); - } - - var toType; - if (this.isConst) { - toType = registeredPointerRecord.constPointerType; - } else { - toType = registeredPointerRecord.pointerType; - } - var dp = downcastPointer( - rawPointer, - this.registeredClass, - toType.registeredClass); - if (dp === null) { - return makeDefaultHandle.call(this); - } - if (this.isSmartPointer) { - return makeClassHandle(toType.registeredClass.instancePrototype, { - ptrType: toType, - ptr: dp, - smartPtrType: this, - smartPtr: ptr, - }); - } else { - return makeClassHandle(toType.registeredClass.instancePrototype, { - ptrType: toType, - ptr: dp, - }); - } - } - function attachFinalizer(handle) { - if ('undefined' === typeof FinalizationRegistry) { - attachFinalizer = (handle) => handle; - return handle; - } - // If the running environment has a FinalizationRegistry (see - // https://github.com/tc39/proposal-weakrefs), then attach finalizers - // for class handles. We check for the presence of FinalizationRegistry - // at run-time, not build-time. - finalizationRegistry = new FinalizationRegistry((info) => { - releaseClassHandle(info.$$); - }); - attachFinalizer = (handle) => { - var $$ = handle.$$; - var hasSmartPtr = !!$$.smartPtr; - if (hasSmartPtr) { - // We should not call the destructor on raw pointers in case other code expects the pointee to live - var info = { $$: $$ }; - finalizationRegistry.register(handle, info, handle); - } - return handle; - }; - detachFinalizer = (handle) => finalizationRegistry.unregister(handle); - return attachFinalizer(handle); - } - function ClassHandle_clone() { - if (!this.$$.ptr) { - throwInstanceAlreadyDeleted(this); - } - - if (this.$$.preservePointerOnDelete) { - this.$$.count.value += 1; - return this; - } else { - var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { - $$: { - value: shallowCopyInternalPointer(this.$$), - } - })); - - clone.$$.count.value += 1; - clone.$$.deleteScheduled = false; - return clone; - } - } - - function ClassHandle_delete() { - if (!this.$$.ptr) { - throwInstanceAlreadyDeleted(this); - } - - if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { - throwBindingError('Object already scheduled for deletion'); - } - - detachFinalizer(this); - releaseClassHandle(this.$$); - - if (!this.$$.preservePointerOnDelete) { - this.$$.smartPtr = undefined; - this.$$.ptr = undefined; - } - } - - function ClassHandle_isDeleted() { - return !this.$$.ptr; - } - - function ClassHandle_deleteLater() { - if (!this.$$.ptr) { - throwInstanceAlreadyDeleted(this); - } - if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { - throwBindingError('Object already scheduled for deletion'); - } - deletionQueue.push(this); - if (deletionQueue.length === 1 && delayFunction) { - delayFunction(flushPendingDeletes); - } - this.$$.deleteScheduled = true; - return this; - } - function init_ClassHandle() { - ClassHandle.prototype['isAliasOf'] = ClassHandle_isAliasOf; - ClassHandle.prototype['clone'] = ClassHandle_clone; - ClassHandle.prototype['delete'] = ClassHandle_delete; - ClassHandle.prototype['isDeleted'] = ClassHandle_isDeleted; - ClassHandle.prototype['deleteLater'] = ClassHandle_deleteLater; - } - function ClassHandle() { - } - - function ensureOverloadTable(proto, methodName, humanName) { - if (undefined === proto[methodName].overloadTable) { - var prevFunc = proto[methodName]; - // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments. - proto[methodName] = function() { - // TODO This check can be removed in -O3 level "unsafe" optimizations. - if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { - throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + proto[methodName].overloadTable + ")!"); - } - return proto[methodName].overloadTable[arguments.length].apply(this, arguments); - }; - // Move the previous function into the overload table. - proto[methodName].overloadTable = []; - proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; - } - } - /** @param {number=} numArguments */ - function exposePublicSymbol(name, value, numArguments) { - if (Module.hasOwnProperty(name)) { - if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) { - throwBindingError("Cannot register public name '" + name + "' twice"); - } - - // We are exposing a function with the same name as an existing function. Create an overload table and a function selector - // that routes between the two. - ensureOverloadTable(Module, name, name); - if (Module.hasOwnProperty(numArguments)) { - throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (" + numArguments + ")!"); - } - // Add the new function into the overload table. - Module[name].overloadTable[numArguments] = value; - } - else { - Module[name] = value; - if (undefined !== numArguments) { - Module[name].numArguments = numArguments; - } - } - } - - /** @constructor */ - function RegisteredClass(name, - constructor, - instancePrototype, - rawDestructor, - baseClass, - getActualType, - upcast, - downcast) { - this.name = name; - this.constructor = constructor; - this.instancePrototype = instancePrototype; - this.rawDestructor = rawDestructor; - this.baseClass = baseClass; - this.getActualType = getActualType; - this.upcast = upcast; - this.downcast = downcast; - this.pureVirtualFunctions = []; - } - - function upcastPointer(ptr, ptrClass, desiredClass) { - while (ptrClass !== desiredClass) { - if (!ptrClass.upcast) { - throwBindingError("Expected null or instance of " + desiredClass.name + ", got an instance of " + ptrClass.name); - } - ptr = ptrClass.upcast(ptr); - ptrClass = ptrClass.baseClass; - } - return ptr; - } - function constNoSmartPtrRawPointerToWireType(destructors, handle) { - if (handle === null) { - if (this.isReference) { - throwBindingError('null is not a valid ' + this.name); - } - return 0; - } - - if (!handle.$$) { - throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name); - } - if (!handle.$$.ptr) { - throwBindingError('Cannot pass deleted object as a pointer of type ' + this.name); - } - var handleClass = handle.$$.ptrType.registeredClass; - var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); - return ptr; - } - - function genericPointerToWireType(destructors, handle) { - var ptr; - if (handle === null) { - if (this.isReference) { - throwBindingError('null is not a valid ' + this.name); - } - - if (this.isSmartPointer) { - ptr = this.rawConstructor(); - if (destructors !== null) { - destructors.push(this.rawDestructor, ptr); - } - return ptr; - } else { - return 0; - } - } - - if (!handle.$$) { - throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name); - } - if (!handle.$$.ptr) { - throwBindingError('Cannot pass deleted object as a pointer of type ' + this.name); - } - if (!this.isConst && handle.$$.ptrType.isConst) { - throwBindingError('Cannot convert argument of type ' + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + ' to parameter type ' + this.name); - } - var handleClass = handle.$$.ptrType.registeredClass; - ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); - - if (this.isSmartPointer) { - // TODO: this is not strictly true - // We could support BY_EMVAL conversions from raw pointers to smart pointers - // because the smart pointer can hold a reference to the handle - if (undefined === handle.$$.smartPtr) { - throwBindingError('Passing raw pointer to smart pointer is illegal'); - } - - switch (this.sharingPolicy) { - case 0: // NONE - // no upcasting - if (handle.$$.smartPtrType === this) { - ptr = handle.$$.smartPtr; - } else { - throwBindingError('Cannot convert argument of type ' + (handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name) + ' to parameter type ' + this.name); - } - break; - - case 1: // INTRUSIVE - ptr = handle.$$.smartPtr; - break; - - case 2: // BY_EMVAL - if (handle.$$.smartPtrType === this) { - ptr = handle.$$.smartPtr; - } else { - var clonedHandle = handle['clone'](); - ptr = this.rawShare( - ptr, - Emval.toHandle(function() { - clonedHandle['delete'](); - }) - ); - if (destructors !== null) { - destructors.push(this.rawDestructor, ptr); - } - } - break; - - default: - throwBindingError('Unsupporting sharing policy'); - } - } - return ptr; - } - - function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { - if (handle === null) { - if (this.isReference) { - throwBindingError('null is not a valid ' + this.name); - } - return 0; - } - - if (!handle.$$) { - throwBindingError('Cannot pass "' + _embind_repr(handle) + '" as a ' + this.name); - } - if (!handle.$$.ptr) { - throwBindingError('Cannot pass deleted object as a pointer of type ' + this.name); - } - if (handle.$$.ptrType.isConst) { - throwBindingError('Cannot convert argument of type ' + handle.$$.ptrType.name + ' to parameter type ' + this.name); - } - var handleClass = handle.$$.ptrType.registeredClass; - var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); - return ptr; - } - - function simpleReadValueFromPointer(pointer) { - return this['fromWireType'](HEAPU32[pointer >> 2]); - } - - function RegisteredPointer_getPointee(ptr) { - if (this.rawGetPointee) { - ptr = this.rawGetPointee(ptr); - } - return ptr; - } - - function RegisteredPointer_destructor(ptr) { - if (this.rawDestructor) { - this.rawDestructor(ptr); - } - } - - function RegisteredPointer_deleteObject(handle) { - if (handle !== null) { - handle['delete'](); - } - } - function init_RegisteredPointer() { - RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; - RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; - RegisteredPointer.prototype['argPackAdvance'] = 8; - RegisteredPointer.prototype['readValueFromPointer'] = simpleReadValueFromPointer; - RegisteredPointer.prototype['deleteObject'] = RegisteredPointer_deleteObject; - RegisteredPointer.prototype['fromWireType'] = RegisteredPointer_fromWireType; - } - /** @constructor - @param {*=} pointeeType, - @param {*=} sharingPolicy, - @param {*=} rawGetPointee, - @param {*=} rawConstructor, - @param {*=} rawShare, - @param {*=} rawDestructor, - */ - function RegisteredPointer( - name, - registeredClass, - isReference, - isConst, - - // smart pointer properties - isSmartPointer, - pointeeType, - sharingPolicy, - rawGetPointee, - rawConstructor, - rawShare, - rawDestructor - ) { - this.name = name; - this.registeredClass = registeredClass; - this.isReference = isReference; - this.isConst = isConst; - - // smart pointer properties - this.isSmartPointer = isSmartPointer; - this.pointeeType = pointeeType; - this.sharingPolicy = sharingPolicy; - this.rawGetPointee = rawGetPointee; - this.rawConstructor = rawConstructor; - this.rawShare = rawShare; - this.rawDestructor = rawDestructor; - - if (!isSmartPointer && registeredClass.baseClass === undefined) { - if (isConst) { - this['toWireType'] = constNoSmartPtrRawPointerToWireType; - this.destructorFunction = null; - } else { - this['toWireType'] = nonConstNoSmartPtrRawPointerToWireType; - this.destructorFunction = null; - } - } else { - this['toWireType'] = genericPointerToWireType; - // Here we must leave this.destructorFunction undefined, since whether genericPointerToWireType returns - // a pointer that needs to be freed up is runtime-dependent, and cannot be evaluated at registration time. - // TODO: Create an alternative mechanism that allows removing the use of var destructors = []; array in - // craftInvokerFunction altogether. - } - } - - /** @param {number=} numArguments */ - function replacePublicSymbol(name, value, numArguments) { - if (!Module.hasOwnProperty(name)) { - throwInternalError('Replacing nonexistant public symbol'); - } - // If there's an overload table for this symbol, replace the symbol in the overload table instead. - if (undefined !== Module[name].overloadTable && undefined !== numArguments) { - Module[name].overloadTable[numArguments] = value; - } - else { - Module[name] = value; - Module[name].argCount = numArguments; - } - } - - function dynCallLegacy(sig, ptr, args) { - var f = Module["dynCall_" + sig]; - return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); - } - /** @param {Object=} args */ - 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.includes('j')) { - return dynCallLegacy(sig, ptr, args); - } - return getWasmTableEntry(ptr).apply(null, args) - } - function getDynCaller(sig, ptr) { - var argCache = []; - return function() { - argCache.length = 0; - Object.assign(argCache, arguments); - return dynCall(sig, ptr, argCache); - }; - } - function embind__requireFunction(signature, rawFunction) { - signature = readLatin1String(signature); - - function makeDynCaller() { - if (signature.includes('j')) { - return getDynCaller(signature, rawFunction); - } - return getWasmTableEntry(rawFunction); - } - - var fp = makeDynCaller(); - if (typeof fp != "function") { - throwBindingError("unknown function pointer with signature " + signature + ": " + rawFunction); - } - return fp; - } - - var UnboundTypeError = undefined; - - function getTypeName(type) { - var ptr = ___getTypeName(type); - var rv = readLatin1String(ptr); - _free(ptr); - return rv; - } - function throwUnboundTypeError(message, types) { - var unboundTypes = []; - var seen = {}; - function visit(type) { - if (seen[type]) { - return; - } - if (registeredTypes[type]) { - return; - } - if (typeDependencies[type]) { - typeDependencies[type].forEach(visit); - return; - } - unboundTypes.push(type); - seen[type] = true; - } - types.forEach(visit); - - throw new UnboundTypeError(message + ': ' + unboundTypes.map(getTypeName).join([', '])); - } - function __embind_register_class(rawType, - rawPointerType, - rawConstPointerType, - baseClassRawType, - getActualTypeSignature, - getActualType, - upcastSignature, - upcast, - downcastSignature, - downcast, - name, - destructorSignature, - rawDestructor) { - name = readLatin1String(name); - getActualType = embind__requireFunction(getActualTypeSignature, getActualType); - if (upcast) { - upcast = embind__requireFunction(upcastSignature, upcast); - } - if (downcast) { - downcast = embind__requireFunction(downcastSignature, downcast); - } - rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); - var legalFunctionName = makeLegalFunctionName(name); - - exposePublicSymbol(legalFunctionName, function() { - // this code cannot run if baseClassRawType is zero - throwUnboundTypeError('Cannot construct ' + name + ' due to unbound types', [baseClassRawType]); - }); - - whenDependentTypesAreResolved( - [rawType, rawPointerType, rawConstPointerType], - baseClassRawType ? [baseClassRawType] : [], - function(base) { - base = base[0]; - - var baseClass; - var basePrototype; - if (baseClassRawType) { - baseClass = base.registeredClass; - basePrototype = baseClass.instancePrototype; - } else { - basePrototype = ClassHandle.prototype; - } - - var constructor = createNamedFunction(legalFunctionName, function() { - if (Object.getPrototypeOf(this) !== instancePrototype) { - throw new BindingError("Use 'new' to construct " + name); - } - if (undefined === registeredClass.constructor_body) { - throw new BindingError(name + " has no accessible constructor"); - } - var body = registeredClass.constructor_body[arguments.length]; - if (undefined === body) { - throw new BindingError("Tried to invoke ctor of " + name + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(registeredClass.constructor_body).toString() + ") parameters instead!"); - } - return body.apply(this, arguments); - }); - - var instancePrototype = Object.create(basePrototype, { - constructor: { value: constructor }, - }); - - constructor.prototype = instancePrototype; - - var registeredClass = new RegisteredClass(name, - constructor, - instancePrototype, - rawDestructor, - baseClass, - getActualType, - upcast, - downcast); - - var referenceConverter = new RegisteredPointer(name, - registeredClass, - true, - false, - false); - - var pointerConverter = new RegisteredPointer(name + '*', - registeredClass, - false, - false, - false); - - var constPointerConverter = new RegisteredPointer(name + ' const*', - registeredClass, - false, - true, - false); - - registeredPointers[rawType] = { - pointerType: pointerConverter, - constPointerType: constPointerConverter - }; - - replacePublicSymbol(legalFunctionName, constructor); - - return [referenceConverter, pointerConverter, constPointerConverter]; - } - ); - } - - function heap32VectorToArray(count, firstElement) { - var array = []; - for (var i = 0; i < count; i++) { - array.push(HEAP32[(firstElement >> 2) + i]); - } - return array; - } - - function runDestructors(destructors) { - while (destructors.length) { - var ptr = destructors.pop(); - var del = destructors.pop(); - del(ptr); - } - } - function __embind_register_class_constructor( - rawClassType, - argCount, - rawArgTypesAddr, - invokerSignature, - invoker, - rawConstructor - ) { - assert(argCount > 0); - var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); - invoker = embind__requireFunction(invokerSignature, invoker); - var args = [rawConstructor]; - var destructors = []; - - whenDependentTypesAreResolved([], [rawClassType], function(classType) { - classType = classType[0]; - var humanName = 'constructor ' + classType.name; - - if (undefined === classType.registeredClass.constructor_body) { - classType.registeredClass.constructor_body = []; - } - if (undefined !== classType.registeredClass.constructor_body[argCount - 1]) { - throw new BindingError("Cannot register multiple constructors with identical number of parameters (" + (argCount-1) + ") for class '" + classType.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!"); - } - classType.registeredClass.constructor_body[argCount - 1] = () => { - throwUnboundTypeError('Cannot construct ' + classType.name + ' due to unbound types', rawArgTypes); - }; - - whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { - // Insert empty slot for context type (argTypes[1]). - argTypes.splice(1, 0, null); - classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor); - return []; - }); - return []; - }); - } - - function new_(constructor, argumentList) { - if (!(constructor instanceof Function)) { - throw new TypeError('new_ called with constructor type ' + typeof(constructor) + " which is not a function"); - } - /* - * Previously, the following line was just: - * function dummy() {}; - * Unfortunately, Chrome was preserving 'dummy' as the object's name, even - * though at creation, the 'dummy' has the correct constructor name. Thus, - * objects created with IMVU.new would show up in the debugger as 'dummy', - * which isn't very helpful. Using IMVU.createNamedFunction addresses the - * issue. Doublely-unfortunately, there's no way to write a test for this - * behavior. -NRD 2013.02.22 - */ - var dummy = createNamedFunction(constructor.name || 'unknownFunctionName', function(){}); - dummy.prototype = constructor.prototype; - var obj = new dummy; - - var r = constructor.apply(obj, argumentList); - return (r instanceof Object) ? r : obj; - } - function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) { - // humanName: a human-readable string name for the function to be generated. - // argTypes: An array that contains the embind type objects for all types in the function signature. - // argTypes[0] is the type object for the function return value. - // argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method. - // argTypes[2...] are the actual function parameters. - // classType: The embind type object for the class to be bound, or null if this is not a method of a class. - // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code. - // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling. - var argCount = argTypes.length; - - if (argCount < 2) { - throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); - } - - var isClassMethodFunc = (argTypes[1] !== null && classType !== null); - - // Free functions with signature "void function()" do not need an invoker that marshalls between wire types. - // TODO: This omits argument count check - enable only at -O3 or similar. - // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) { - // return FUNCTION_TABLE[fn]; - // } - - // Determine if we need to use a dynamic stack to store the destructors for the function parameters. - // TODO: Remove this completely once all function invokers are being dynamically generated. - var needsDestructorStack = false; - - for (var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. - if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack - needsDestructorStack = true; - break; - } - } - - var returns = (argTypes[0].name !== "void"); - - var argsList = ""; - var argsListWired = ""; - for (var i = 0; i < argCount - 2; ++i) { - argsList += (i!==0?", ":"")+"arg"+i; - argsListWired += (i!==0?", ":"")+"arg"+i+"Wired"; - } - - var invokerFnBody = - "return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n" + - "if (arguments.length !== "+(argCount - 2)+") {\n" + - "throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount - 2)+" args!');\n" + - "}\n"; - - if (needsDestructorStack) { - invokerFnBody += "var destructors = [];\n"; - } - - var dtorStack = needsDestructorStack ? "destructors" : "null"; - var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; - var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; - - if (isClassMethodFunc) { - invokerFnBody += "var thisWired = classParam.toWireType("+dtorStack+", this);\n"; - } - - for (var i = 0; i < argCount - 2; ++i) { - invokerFnBody += "var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n"; - args1.push("argType"+i); - args2.push(argTypes[i+2]); - } - - if (isClassMethodFunc) { - argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired; - } - - invokerFnBody += - (returns?"var rv = ":"") + "invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n"; - - if (needsDestructorStack) { - invokerFnBody += "runDestructors(destructors);\n"; - } else { - for (var i = isClassMethodFunc?1:2; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. Also skip class type if not a method. - var paramName = (i === 1 ? "thisWired" : ("arg"+(i - 2)+"Wired")); - if (argTypes[i].destructorFunction !== null) { - invokerFnBody += paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n"; - args1.push(paramName+"_dtor"); - args2.push(argTypes[i].destructorFunction); - } - } - } - - if (returns) { - invokerFnBody += "var ret = retType.fromWireType(rv);\n" + - "return ret;\n"; - } else { - } - - invokerFnBody += "}\n"; - - args1.push(invokerFnBody); - - var invokerFunction = new_(Function, args1).apply(null, args2); - return invokerFunction; - } - function __embind_register_class_function(rawClassType, - methodName, - argCount, - rawArgTypesAddr, // [ReturnType, ThisType, Args...] - invokerSignature, - rawInvoker, - context, - isPureVirtual) { - var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); - methodName = readLatin1String(methodName); - rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); - - whenDependentTypesAreResolved([], [rawClassType], function(classType) { - classType = classType[0]; - var humanName = classType.name + '.' + methodName; - - if (methodName.startsWith("@@")) { - methodName = Symbol[methodName.substring(2)]; - } - - if (isPureVirtual) { - classType.registeredClass.pureVirtualFunctions.push(methodName); - } - - function unboundTypesHandler() { - throwUnboundTypeError('Cannot call ' + humanName + ' due to unbound types', rawArgTypes); - } - - var proto = classType.registeredClass.instancePrototype; - var method = proto[methodName]; - if (undefined === method || (undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2)) { - // This is the first overload to be registered, OR we are replacing a - // function in the base class with a function in the derived class. - unboundTypesHandler.argCount = argCount - 2; - unboundTypesHandler.className = classType.name; - proto[methodName] = unboundTypesHandler; - } else { - // There was an existing function with the same name registered. Set up - // a function overload routing table. - ensureOverloadTable(proto, methodName, humanName); - proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; - } - - whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { - var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context); - - // Replace the initial unbound-handler-stub function with the appropriate member function, now that all types - // are resolved. If multiple overloads are registered for this function, the function goes into an overload table. - if (undefined === proto[methodName].overloadTable) { - // Set argCount in case an overload is registered later - memberFunction.argCount = argCount - 2; - proto[methodName] = memberFunction; - } else { - proto[methodName].overloadTable[argCount - 2] = memberFunction; - } - - return []; - }); - return []; - }); - } - - var emval_free_list = []; - - var emval_handle_array = [{},{value:undefined},{value:null},{value:true},{value:false}]; - function __emval_decref(handle) { - if (handle > 4 && 0 === --emval_handle_array[handle].refcount) { - emval_handle_array[handle] = undefined; - emval_free_list.push(handle); - } - } - - function count_emval_handles() { - var count = 0; - for (var i = 5; i < emval_handle_array.length; ++i) { - if (emval_handle_array[i] !== undefined) { - ++count; - } - } - return count; - } - - function get_first_emval() { - for (var i = 5; i < emval_handle_array.length; ++i) { - if (emval_handle_array[i] !== undefined) { - return emval_handle_array[i]; - } - } - return null; - } - function init_emval() { - Module['count_emval_handles'] = count_emval_handles; - Module['get_first_emval'] = get_first_emval; - } - var Emval = {toValue:(handle) => { - if (!handle) { - throwBindingError('Cannot use deleted val. handle = ' + handle); - } - return emval_handle_array[handle].value; - },toHandle:(value) => { - switch (value) { - case undefined: return 1; - case null: return 2; - case true: return 3; - case false: return 4; - default:{ - var handle = emval_free_list.length ? - emval_free_list.pop() : - emval_handle_array.length; - - emval_handle_array[handle] = {refcount: 1, value: value}; - return handle; - } - } - }}; - function __embind_register_emval(rawType, name) { - name = readLatin1String(name); - registerType(rawType, { - name: name, - 'fromWireType': function(handle) { - var rv = Emval.toValue(handle); - __emval_decref(handle); - return rv; - }, - 'toWireType': function(destructors, value) { - return Emval.toHandle(value); - }, - 'argPackAdvance': 8, - 'readValueFromPointer': simpleReadValueFromPointer, - destructorFunction: null, // This type does not need a destructor - - // TODO: do we need a deleteObject here? write a test where - // emval is passed into JS via an interface - }); - } - - function _embind_repr(v) { - if (v === null) { - return 'null'; - } - var t = typeof v; - if (t === 'object' || t === 'array' || t === 'function') { - return v.toString(); - } else { - return '' + v; - } - } - - function floatReadValueFromPointer(name, shift) { - switch (shift) { - case 2: return function(pointer) { - return this['fromWireType'](HEAPF32[pointer >> 2]); - }; - case 3: return function(pointer) { - return this['fromWireType'](HEAPF64[pointer >> 3]); - }; - default: - throw new TypeError("Unknown float type: " + name); - } - } - function __embind_register_float(rawType, name, size) { - var shift = getShiftFromSize(size); - name = readLatin1String(name); - registerType(rawType, { - name: name, - 'fromWireType': function(value) { - return value; - }, - 'toWireType': function(destructors, value) { - // The VM will perform JS to Wasm value conversion, according to the spec: - // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue - return value; - }, - 'argPackAdvance': 8, - 'readValueFromPointer': floatReadValueFromPointer(name, shift), - destructorFunction: null, // This type does not need a destructor - }); - } - - function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn) { - var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); - name = readLatin1String(name); - - rawInvoker = embind__requireFunction(signature, rawInvoker); - - exposePublicSymbol(name, function() { - throwUnboundTypeError('Cannot call ' + name + ' due to unbound types', argTypes); - }, argCount - 1); - - whenDependentTypesAreResolved([], argTypes, function(argTypes) { - var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); - replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn), argCount - 1); - return []; - }); - } - - function integerReadValueFromPointer(name, shift, signed) { - // integers are quite common, so generate very specialized functions - switch (shift) { - case 0: return signed ? - function readS8FromPointer(pointer) { return HEAP8[pointer]; } : - function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; - case 1: return signed ? - function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : - function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; - case 2: return signed ? - function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : - function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; - default: - throw new TypeError("Unknown integer type: " + name); - } - } - function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { - name = readLatin1String(name); - if (maxRange === -1) { // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come out as 'i32 -1'. Always treat those as max u32. - maxRange = 4294967295; - } - - var shift = getShiftFromSize(size); - - var fromWireType = (value) => value; - - if (minRange === 0) { - var bitshift = 32 - 8*size; - fromWireType = (value) => (value << bitshift) >>> bitshift; - } - - var isUnsignedType = (name.includes('unsigned')); - var checkAssertions = (value, toTypeName) => { - } - var toWireType; - if (isUnsignedType) { - toWireType = function(destructors, value) { - checkAssertions(value, this.name); - return value >>> 0; - } - } else { - toWireType = function(destructors, value) { - checkAssertions(value, this.name); - // The VM will perform JS to Wasm value conversion, according to the spec: - // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue - return value; - } - } - registerType(primitiveType, { - name: name, - 'fromWireType': fromWireType, - 'toWireType': toWireType, - 'argPackAdvance': 8, - 'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0), - destructorFunction: null, // This type does not need a destructor - }); - } - - function __embind_register_memory_view(rawType, dataTypeIndex, name) { - var typeMapping = [ - Int8Array, - Uint8Array, - Int16Array, - Uint16Array, - Int32Array, - Uint32Array, - Float32Array, - Float64Array, - ]; - - var TA = typeMapping[dataTypeIndex]; - - function decodeMemoryView(handle) { - handle = handle >> 2; - var heap = HEAPU32; - var size = heap[handle]; // in elements - var data = heap[handle + 1]; // byte offset into emscripten heap - return new TA(buffer, data, size); - } - - name = readLatin1String(name); - registerType(rawType, { - name: name, - 'fromWireType': decodeMemoryView, - 'argPackAdvance': 8, - 'readValueFromPointer': decodeMemoryView, - }, { - ignoreDuplicateRegistrations: true, - }); - } - - function __embind_register_std_string(rawType, name) { - name = readLatin1String(name); - var stdStringIsUTF8 - //process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string - = (name === "std::string"); - - registerType(rawType, { - name: name, - 'fromWireType': function(value) { - var length = HEAPU32[value >> 2]; - - var str; - if (stdStringIsUTF8) { - var decodeStartPtr = value + 4; - // Looping here to support possible embedded '0' bytes - for (var i = 0; i <= length; ++i) { - var currentBytePtr = value + 4 + i; - if (i == length || HEAPU8[currentBytePtr] == 0) { - var maxRead = currentBytePtr - decodeStartPtr; - var stringSegment = UTF8ToString(decodeStartPtr, maxRead); - if (str === undefined) { - str = stringSegment; - } else { - str += String.fromCharCode(0); - str += stringSegment; - } - decodeStartPtr = currentBytePtr + 1; - } - } - } else { - var a = new Array(length); - for (var i = 0; i < length; ++i) { - a[i] = String.fromCharCode(HEAPU8[value + 4 + i]); - } - str = a.join(''); - } - - _free(value); - - return str; - }, - 'toWireType': function(destructors, value) { - if (value instanceof ArrayBuffer) { - value = new Uint8Array(value); - } - - var getLength; - var valueIsOfTypeString = (typeof value == 'string'); - - if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { - throwBindingError('Cannot pass non-string to std::string'); - } - if (stdStringIsUTF8 && valueIsOfTypeString) { - getLength = () => lengthBytesUTF8(value); - } else { - getLength = () => value.length; - } - - // assumes 4-byte alignment - var length = getLength(); - var ptr = _malloc(4 + length + 1); - HEAPU32[ptr >> 2] = length; - if (stdStringIsUTF8 && valueIsOfTypeString) { - stringToUTF8(value, ptr + 4, length + 1); - } else { - if (valueIsOfTypeString) { - for (var i = 0; i < length; ++i) { - var charCode = value.charCodeAt(i); - if (charCode > 255) { - _free(ptr); - throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); - } - HEAPU8[ptr + 4 + i] = charCode; - } - } else { - for (var i = 0; i < length; ++i) { - HEAPU8[ptr + 4 + i] = value[i]; - } - } - } - - if (destructors !== null) { - destructors.push(_free, ptr); - } - return ptr; - }, - 'argPackAdvance': 8, - 'readValueFromPointer': simpleReadValueFromPointer, - destructorFunction: function(ptr) { _free(ptr); }, - }); - } - - function __embind_register_std_wstring(rawType, charSize, name) { - name = readLatin1String(name); - var decodeString, encodeString, getHeap, lengthBytesUTF, shift; - if (charSize === 2) { - decodeString = UTF16ToString; - encodeString = stringToUTF16; - lengthBytesUTF = lengthBytesUTF16; - getHeap = () => HEAPU16; - shift = 1; - } else if (charSize === 4) { - decodeString = UTF32ToString; - encodeString = stringToUTF32; - lengthBytesUTF = lengthBytesUTF32; - getHeap = () => HEAPU32; - shift = 2; - } - registerType(rawType, { - name: name, - 'fromWireType': function(value) { - // Code mostly taken from _embind_register_std_string fromWireType - var length = HEAPU32[value >> 2]; - var HEAP = getHeap(); - var str; - - var decodeStartPtr = value + 4; - // Looping here to support possible embedded '0' bytes - for (var i = 0; i <= length; ++i) { - var currentBytePtr = value + 4 + i * charSize; - if (i == length || HEAP[currentBytePtr >> shift] == 0) { - var maxReadBytes = currentBytePtr - decodeStartPtr; - var stringSegment = decodeString(decodeStartPtr, maxReadBytes); - if (str === undefined) { - str = stringSegment; - } else { - str += String.fromCharCode(0); - str += stringSegment; - } - decodeStartPtr = currentBytePtr + charSize; - } - } - - _free(value); - - return str; - }, - 'toWireType': function(destructors, value) { - if (!(typeof value == 'string')) { - throwBindingError('Cannot pass non-string to C++ string type ' + name); - } - - // assumes 4-byte alignment - var length = lengthBytesUTF(value); - var ptr = _malloc(4 + length + charSize); - HEAPU32[ptr >> 2] = length >> shift; - - encodeString(value, ptr + 4, length + charSize); - - if (destructors !== null) { - destructors.push(_free, ptr); - } - return ptr; - }, - 'argPackAdvance': 8, - 'readValueFromPointer': simpleReadValueFromPointer, - destructorFunction: function(ptr) { _free(ptr); }, - }); - } - - function __embind_register_void(rawType, name) { - name = readLatin1String(name); - registerType(rawType, { - isVoid: true, // void return values can be optimized out sometimes - name: name, - 'argPackAdvance': 0, - 'fromWireType': function() { - return undefined; - }, - 'toWireType': function(destructors, o) { - // TODO: assert if anything else is given? - return undefined; - }, - }); - } - - - function __emval_incref(handle) { - if (handle > 4) { - emval_handle_array[handle].refcount += 1; - } - } - - function requireRegisteredType(rawType, humanName) { - var impl = registeredTypes[rawType]; - if (undefined === impl) { - throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); - } - return impl; - } - function __emval_take_value(type, argv) { - type = requireRegisteredType(type, '_emval_take_value'); - var v = type['readValueFromPointer'](argv); - return Emval.toHandle(v); - } - - function __mmap_js(len, prot, flags, fd, off, allocated) { - try { - - var stream = FS.getStream(fd); - if (!stream) return -8; - var res = FS.mmap(stream, len, off, prot, flags); - var ptr = res.ptr; - HEAP32[((allocated)>>2)] = res.allocated; - return ptr; - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } - } - - function __munmap_js(addr, len, prot, flags, fd, offset) { - try { - - var stream = FS.getStream(fd); - if (stream) { - if (prot & 2) { - SYSCALLS.doMsync(addr, stream, len, flags, offset); - } - FS.munmap(stream); - } - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } - } - - function _abort() { - abort(''); - } - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.copyWithin(dest, src, src + num); - } - - function getHeapMax() { - // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate - // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side - // for any code that deals with heap sizes, which would require special - // casing all heap size related code to treat 0 specially. - return 2147483648; - } - - function emscripten_realloc_buffer(size) { - try { - // round size grow request up to wasm page size (fixed 64KB per spec) - wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size - updateGlobalBufferAndViews(wasmMemory.buffer); - return 1 /*success*/; - } catch(e) { - } - // implicit 0 return to save code size (caller will cast "undefined" into 0 - // anyhow) - } - function _emscripten_resize_heap(requestedSize) { - var oldSize = HEAPU8.length; - requestedSize = requestedSize >>> 0; - // With multithreaded builds, races can happen (another thread might increase the size - // in between), so return a failure, and let the caller retry. - - // Memory resize rules: - // 1. Always increase heap size to at least the requested size, rounded up - // to next page multiple. - // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap - // geometrically: increase the heap size according to - // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most - // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). - // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap - // linearly: increase the heap size by at least - // MEMORY_GROWTH_LINEAR_STEP bytes. - // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by - // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest - // 4. If we were unable to allocate as much memory, it may be due to - // over-eager decision to excessively reserve due to (3) above. - // Hence if an allocation fails, cut down on the amount of excess - // growth, in an attempt to succeed to perform a smaller allocation. - - // A limit is set for how much we can grow. We should not exceed that - // (the wasm binary specifies it, so if we tried, we'd fail anyhow). - var maxHeapSize = getHeapMax(); - if (requestedSize > maxHeapSize) { - return false; - } - - let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; - - // Loop through potential heap size increases. If we attempt a too eager - // reservation that fails, cut down on the attempted size and reserve a - // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) - for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { - var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth - // but limit overreserving (default to capping at +96MB overgrowth at most) - overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); - - var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); - - var replacement = emscripten_realloc_buffer(newSize); - if (replacement) { - - return true; - } - } - return false; - } - - var ENV = {}; - - function getExecutableName() { - return thisProgram || './this.program'; - } - function getEnvStrings() { - if (!getEnvStrings.strings) { - // Default values. - // Browser language detection #8751 - var lang = ((typeof navigator == 'object' && navigator.languages && navigator.languages[0]) || 'C').replace('-', '_') + '.UTF-8'; - var env = { - 'USER': 'web_user', - 'LOGNAME': 'web_user', - 'PATH': '/', - 'PWD': '/', - 'HOME': '/home/web_user', - 'LANG': lang, - '_': getExecutableName() - }; - // Apply the user-provided values, if any. - for (var x in ENV) { - // x is a key in ENV; if ENV[x] is undefined, that means it was - // explicitly set to be so. We allow user code to do that to - // force variables with default values to remain unset. - if (ENV[x] === undefined) delete env[x]; - else env[x] = ENV[x]; - } - var strings = []; - for (var x in env) { - strings.push(x + '=' + env[x]); - } - getEnvStrings.strings = strings; - } - return getEnvStrings.strings; - } - function _environ_get(__environ, environ_buf) { - var bufSize = 0; - getEnvStrings().forEach(function(string, i) { - var ptr = environ_buf + bufSize; - HEAPU32[(((__environ)+(i*4))>>2)] = ptr; - writeAsciiToMemory(string, ptr); - bufSize += string.length + 1; - }); - return 0; - } - - function _environ_sizes_get(penviron_count, penviron_buf_size) { - var strings = getEnvStrings(); - HEAPU32[((penviron_count)>>2)] = strings.length; - var bufSize = 0; - strings.forEach(function(string) { - bufSize += string.length + 1; - }); - HEAPU32[((penviron_buf_size)>>2)] = bufSize; - return 0; - } - - 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)) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - function doReadv(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - 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; - } - - function convertI32PairToI53Checked(lo, hi) { - return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; - } - function _fd_pread(fd, iov, iovcnt, offset_low, offset_high, pnum) { - try { - - var offset = convertI32PairToI53Checked(offset_low, offset_high); if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd) - var num = doReadv(stream, iov, iovcnt, offset); - HEAP32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - function doWritev(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - } - function _fd_pwrite(fd, iov, iovcnt, offset_low, offset_high, pnum) { - try { - - var offset = convertI32PairToI53Checked(offset_low, offset_high); if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd) - var num = doWritev(stream, iov, iovcnt, offset); - HEAP32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return e.errno; - } - } - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAP32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return e.errno; - } - } - - function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { - try { - - var offset = convertI32PairToI53Checked(offset_low, offset_high); if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - 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)) throw e; - return e.errno; - } - } - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; - return e.errno; - } - } - - function _getTempRet0() { - return getTempRet0(); - } - - function _llvm_eh_typeid_for(type) { - return type; - } - - function _setTempRet0(val) { - setTempRet0(val); - } - - function __isLeapYear(year) { - return year%4 === 0 && (year%100 !== 0 || year%400 === 0); - } - - function __arraySum(array, index) { - var sum = 0; - for (var i = 0; i <= index; sum += array[i++]) { - // no-op - } - return sum; - } - - var __MONTH_DAYS_LEAP = [31,29,31,30,31,30,31,31,30,31,30,31]; - - var __MONTH_DAYS_REGULAR = [31,28,31,30,31,30,31,31,30,31,30,31]; - function __addDays(date, days) { - var newDate = new Date(date.getTime()); - while (days > 0) { - var leap = __isLeapYear(newDate.getFullYear()); - var currentMonth = newDate.getMonth(); - var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; - - if (days > daysInCurrentMonth-newDate.getDate()) { - // we spill over to next month - days -= (daysInCurrentMonth-newDate.getDate()+1); - newDate.setDate(1); - if (currentMonth < 11) { - newDate.setMonth(currentMonth+1) - } else { - newDate.setMonth(0); - newDate.setFullYear(newDate.getFullYear()+1); - } - } else { - // we stay in current month - newDate.setDate(newDate.getDate()+days); - return newDate; - } - } - - return newDate; - } - function _strftime(s, maxsize, format, tm) { - // size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html - - var tm_zone = HEAP32[(((tm)+(40))>>2)]; - - var date = { - tm_sec: HEAP32[((tm)>>2)], - tm_min: HEAP32[(((tm)+(4))>>2)], - tm_hour: HEAP32[(((tm)+(8))>>2)], - tm_mday: HEAP32[(((tm)+(12))>>2)], - tm_mon: HEAP32[(((tm)+(16))>>2)], - tm_year: HEAP32[(((tm)+(20))>>2)], - tm_wday: HEAP32[(((tm)+(24))>>2)], - tm_yday: HEAP32[(((tm)+(28))>>2)], - tm_isdst: HEAP32[(((tm)+(32))>>2)], - tm_gmtoff: HEAP32[(((tm)+(36))>>2)], - tm_zone: tm_zone ? UTF8ToString(tm_zone) : '' - }; - - var pattern = UTF8ToString(format); - - // expand format - var EXPANSION_RULES_1 = { - '%c': '%a %b %d %H:%M:%S %Y', // Replaced by the locale's appropriate date and time representation - e.g., Mon Aug 3 14:02:01 2013 - '%D': '%m/%d/%y', // Equivalent to %m / %d / %y - '%F': '%Y-%m-%d', // Equivalent to %Y - %m - %d - '%h': '%b', // Equivalent to %b - '%r': '%I:%M:%S %p', // Replaced by the time in a.m. and p.m. notation - '%R': '%H:%M', // Replaced by the time in 24-hour notation - '%T': '%H:%M:%S', // Replaced by the time - '%x': '%m/%d/%y', // Replaced by the locale's appropriate date representation - '%X': '%H:%M:%S', // Replaced by the locale's appropriate time representation - // Modified Conversion Specifiers - '%Ec': '%c', // Replaced by the locale's alternative appropriate date and time representation. - '%EC': '%C', // Replaced by the name of the base year (period) in the locale's alternative representation. - '%Ex': '%m/%d/%y', // Replaced by the locale's alternative date representation. - '%EX': '%H:%M:%S', // Replaced by the locale's alternative time representation. - '%Ey': '%y', // Replaced by the offset from %EC (year only) in the locale's alternative representation. - '%EY': '%Y', // Replaced by the full alternative year representation. - '%Od': '%d', // Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading zeros if there is any alternative symbol for zero; otherwise, with leading characters. - '%Oe': '%e', // Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading characters. - '%OH': '%H', // Replaced by the hour (24-hour clock) using the locale's alternative numeric symbols. - '%OI': '%I', // Replaced by the hour (12-hour clock) using the locale's alternative numeric symbols. - '%Om': '%m', // Replaced by the month using the locale's alternative numeric symbols. - '%OM': '%M', // Replaced by the minutes using the locale's alternative numeric symbols. - '%OS': '%S', // Replaced by the seconds using the locale's alternative numeric symbols. - '%Ou': '%u', // Replaced by the weekday as a number in the locale's alternative representation (Monday=1). - '%OU': '%U', // Replaced by the week number of the year (Sunday as the first day of the week, rules corresponding to %U ) using the locale's alternative numeric symbols. - '%OV': '%V', // Replaced by the week number of the year (Monday as the first day of the week, rules corresponding to %V ) using the locale's alternative numeric symbols. - '%Ow': '%w', // Replaced by the number of the weekday (Sunday=0) using the locale's alternative numeric symbols. - '%OW': '%W', // Replaced by the week number of the year (Monday as the first day of the week) using the locale's alternative numeric symbols. - '%Oy': '%y', // Replaced by the year (offset from %C ) using the locale's alternative numeric symbols. - }; - for (var rule in EXPANSION_RULES_1) { - pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_1[rule]); - } - - var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; - var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; - - function leadingSomething(value, digits, character) { - var str = typeof value == 'number' ? value.toString() : (value || ''); - while (str.length < digits) { - str = character[0]+str; - } - return str; - } - - function leadingNulls(value, digits) { - return leadingSomething(value, digits, '0'); - } - - function compareByDay(date1, date2) { - function sgn(value) { - return value < 0 ? -1 : (value > 0 ? 1 : 0); - } - - var compare; - if ((compare = sgn(date1.getFullYear()-date2.getFullYear())) === 0) { - if ((compare = sgn(date1.getMonth()-date2.getMonth())) === 0) { - compare = sgn(date1.getDate()-date2.getDate()); - } - } - return compare; - } - - function getFirstWeekStartDate(janFourth) { - switch (janFourth.getDay()) { - case 0: // Sunday - return new Date(janFourth.getFullYear()-1, 11, 29); - case 1: // Monday - return janFourth; - case 2: // Tuesday - return new Date(janFourth.getFullYear(), 0, 3); - case 3: // Wednesday - return new Date(janFourth.getFullYear(), 0, 2); - case 4: // Thursday - return new Date(janFourth.getFullYear(), 0, 1); - case 5: // Friday - return new Date(janFourth.getFullYear()-1, 11, 31); - case 6: // Saturday - return new Date(janFourth.getFullYear()-1, 11, 30); - } - } - - function getWeekBasedYear(date) { - var thisDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday); - - var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); - var janFourthNextYear = new Date(thisDate.getFullYear()+1, 0, 4); - - var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); - var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); - - if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { - // this date is after the start of the first week of this year - if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { - return thisDate.getFullYear()+1; - } else { - return thisDate.getFullYear(); - } - } else { - return thisDate.getFullYear()-1; - } - } - - var EXPANSION_RULES_2 = { - '%a': function(date) { - return WEEKDAYS[date.tm_wday].substring(0,3); - }, - '%A': function(date) { - return WEEKDAYS[date.tm_wday]; - }, - '%b': function(date) { - return MONTHS[date.tm_mon].substring(0,3); - }, - '%B': function(date) { - return MONTHS[date.tm_mon]; - }, - '%C': function(date) { - var year = date.tm_year+1900; - return leadingNulls((year/100)|0,2); - }, - '%d': function(date) { - return leadingNulls(date.tm_mday, 2); - }, - '%e': function(date) { - return leadingSomething(date.tm_mday, 2, ' '); - }, - '%g': function(date) { - // %g, %G, and %V give values according to the ISO 8601:2000 standard week-based year. - // In this system, weeks begin on a Monday and week 1 of the year is the week that includes - // January 4th, which is also the week that includes the first Thursday of the year, and - // is also the first week that contains at least four days in the year. - // If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of - // the last week of the preceding year; thus, for Saturday 2nd January 1999, - // %G is replaced by 1998 and %V is replaced by 53. If December 29th, 30th, - // or 31st is a Monday, it and any following days are part of week 1 of the following year. - // Thus, for Tuesday 30th December 1997, %G is replaced by 1998 and %V is replaced by 01. - - return getWeekBasedYear(date).toString().substring(2); - }, - '%G': function(date) { - return getWeekBasedYear(date); - }, - '%H': function(date) { - return leadingNulls(date.tm_hour, 2); - }, - '%I': function(date) { - var twelveHour = date.tm_hour; - if (twelveHour == 0) twelveHour = 12; - else if (twelveHour > 12) twelveHour -= 12; - return leadingNulls(twelveHour, 2); - }, - '%j': function(date) { - // Day of the year (001-366) - return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon-1), 3); - }, - '%m': function(date) { - return leadingNulls(date.tm_mon+1, 2); - }, - '%M': function(date) { - return leadingNulls(date.tm_min, 2); - }, - '%n': function() { - return '\n'; - }, - '%p': function(date) { - if (date.tm_hour >= 0 && date.tm_hour < 12) { - return 'AM'; - } else { - return 'PM'; - } - }, - '%S': function(date) { - return leadingNulls(date.tm_sec, 2); - }, - '%t': function() { - return '\t'; - }, - '%u': function(date) { - return date.tm_wday || 7; - }, - '%U': function(date) { - var days = date.tm_yday + 7 - date.tm_wday; - return leadingNulls(Math.floor(days / 7), 2); - }, - '%V': function(date) { - // Replaced by the week number of the year (Monday as the first day of the week) - // as a decimal number [01,53]. If the week containing 1 January has four - // or more days in the new year, then it is considered week 1. - // Otherwise, it is the last week of the previous year, and the next week is week 1. - // Both January 4th and the first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday] - var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7 ) / 7); - // If 1 Jan is just 1-3 days past Monday, the previous week - // is also in this year. - if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) { - val++; - } - if (!val) { - val = 52; - // If 31 December of prev year a Thursday, or Friday of a - // leap year, then the prev year has 53 weeks. - var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7; - if (dec31 == 4 || (dec31 == 5 && __isLeapYear(date.tm_year%400-1))) { - val++; - } - } else if (val == 53) { - // If 1 January is not a Thursday, and not a Wednesday of a - // leap year, then this year has only 52 weeks. - var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7; - if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) - val = 1; - } - return leadingNulls(val, 2); - }, - '%w': function(date) { - return date.tm_wday; - }, - '%W': function(date) { - var days = date.tm_yday + 7 - ((date.tm_wday + 6) % 7); - return leadingNulls(Math.floor(days / 7), 2); - }, - '%y': function(date) { - // Replaced by the last two digits of the year as a decimal number [00,99]. [ tm_year] - return (date.tm_year+1900).toString().substring(2); - }, - '%Y': function(date) { - // Replaced by the year as a decimal number (for example, 1997). [ tm_year] - return date.tm_year+1900; - }, - '%z': function(date) { - // Replaced by the offset from UTC in the ISO 8601:2000 standard format ( +hhmm or -hhmm ). - // For example, "-0430" means 4 hours 30 minutes behind UTC (west of Greenwich). - var off = date.tm_gmtoff; - var ahead = off >= 0; - off = Math.abs(off) / 60; - // convert from minutes into hhmm format (which means 60 minutes = 100 units) - off = (off / 60)*100 + (off % 60); - return (ahead ? '+' : '-') + String("0000" + off).slice(-4); - }, - '%Z': function(date) { - return date.tm_zone; - }, - '%%': function() { - return '%'; - } - }; - - // Replace %% with a pair of NULLs (which cannot occur in a C string), then - // re-inject them after processing. - pattern = pattern.replace(/%%/g, '\0\0') - for (var rule in EXPANSION_RULES_2) { - if (pattern.includes(rule)) { - pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_2[rule](date)); - } - } - pattern = pattern.replace(/\0\0/g, '%') - - var bytes = intArrayFromString(pattern, false); - if (bytes.length > maxsize) { - return 0; - } - - writeArrayToMemory(bytes, s); - return bytes.length-1; - } - function _strftime_l(s, maxsize, format, tm) { - return _strftime(s, maxsize, format, tm); // no locale support yet - } - - 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();; -embind_init_charCodes(); -BindingError = Module['BindingError'] = extendError(Error, 'BindingError');; -InternalError = Module['InternalError'] = extendError(Error, 'InternalError');; -init_ClassHandle(); -init_embind();; -init_RegisteredPointer(); -UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');; -init_emval();; -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(''); -} - - -var asmLibraryArg = { - "__assert_fail": ___assert_fail, - "__call_sighandler": ___call_sighandler, - "__cxa_allocate_exception": ___cxa_allocate_exception, - "__cxa_begin_catch": ___cxa_begin_catch, - "__cxa_decrement_exception_refcount": ___cxa_decrement_exception_refcount, - "__cxa_end_catch": ___cxa_end_catch, - "__cxa_find_matching_catch_2": ___cxa_find_matching_catch_2, - "__cxa_find_matching_catch_3": ___cxa_find_matching_catch_3, - "__cxa_find_matching_catch_4": ___cxa_find_matching_catch_4, - "__cxa_free_exception": ___cxa_free_exception, - "__cxa_increment_exception_refcount": ___cxa_increment_exception_refcount, - "__cxa_rethrow": ___cxa_rethrow, - "__cxa_rethrow_primary_exception": ___cxa_rethrow_primary_exception, - "__cxa_throw": ___cxa_throw, - "__cxa_uncaught_exceptions": ___cxa_uncaught_exceptions, - "__resumeException": ___resumeException, - "__syscall_fadvise64": ___syscall_fadvise64, - "__syscall_fcntl64": ___syscall_fcntl64, - "__syscall_fstat64": ___syscall_fstat64, - "__syscall_lstat64": ___syscall_lstat64, - "__syscall_newfstatat": ___syscall_newfstatat, - "__syscall_openat": ___syscall_openat, - "__syscall_stat64": ___syscall_stat64, - "__syscall_unlinkat": ___syscall_unlinkat, - "_embind_register_bigint": __embind_register_bigint, - "_embind_register_bool": __embind_register_bool, - "_embind_register_class": __embind_register_class, - "_embind_register_class_constructor": __embind_register_class_constructor, - "_embind_register_class_function": __embind_register_class_function, - "_embind_register_emval": __embind_register_emval, - "_embind_register_float": __embind_register_float, - "_embind_register_function": __embind_register_function, - "_embind_register_integer": __embind_register_integer, - "_embind_register_memory_view": __embind_register_memory_view, - "_embind_register_std_string": __embind_register_std_string, - "_embind_register_std_wstring": __embind_register_std_wstring, - "_embind_register_void": __embind_register_void, - "_emval_decref": __emval_decref, - "_emval_incref": __emval_incref, - "_emval_take_value": __emval_take_value, - "_mmap_js": __mmap_js, - "_munmap_js": __munmap_js, - "abort": _abort, - "emscripten_memcpy_big": _emscripten_memcpy_big, - "emscripten_resize_heap": _emscripten_resize_heap, - "environ_get": _environ_get, - "environ_sizes_get": _environ_sizes_get, - "fd_close": _fd_close, - "fd_pread": _fd_pread, - "fd_pwrite": _fd_pwrite, - "fd_read": _fd_read, - "fd_seek": _fd_seek, - "fd_write": _fd_write, - "getTempRet0": _getTempRet0, - "invoke_diii": invoke_diii, - "invoke_fiii": invoke_fiii, - "invoke_i": invoke_i, - "invoke_ii": invoke_ii, - "invoke_iii": invoke_iii, - "invoke_iiii": invoke_iiii, - "invoke_iiiii": invoke_iiiii, - "invoke_iiiiii": invoke_iiiiii, - "invoke_iiiiiii": invoke_iiiiiii, - "invoke_iiiiiiii": invoke_iiiiiiii, - "invoke_iiiiiiiiiii": invoke_iiiiiiiiiii, - "invoke_iiiiiiiiiiii": invoke_iiiiiiiiiiii, - "invoke_iiiiiiiiiiiii": invoke_iiiiiiiiiiiii, - "invoke_iiiiij": invoke_iiiiij, - "invoke_jiiii": invoke_jiiii, - "invoke_v": invoke_v, - "invoke_vi": invoke_vi, - "invoke_vii": invoke_vii, - "invoke_viii": invoke_viii, - "invoke_viiii": invoke_viiii, - "invoke_viiiiiii": invoke_viiiiiii, - "invoke_viiiiiiiiii": invoke_viiiiiiiiii, - "invoke_viiiiiiiiiiiiiii": invoke_viiiiiiiiiiiiiii, - "llvm_eh_typeid_for": _llvm_eh_typeid_for, - "setTempRet0": _setTempRet0, - "strftime_l": _strftime_l -}; -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 _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 ___errno_location = Module["___errno_location"] = function() { - return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _free = Module["_free"] = function() { - return (_free = Module["_free"] = Module["asm"]["free"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var ___getTypeName = Module["___getTypeName"] = function() { - return (___getTypeName = Module["___getTypeName"] = Module["asm"]["__getTypeName"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var ___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = function() { - return (___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = Module["asm"]["__embind_register_native_and_builtin_types"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var ___dl_seterr = Module["___dl_seterr"] = function() { - return (___dl_seterr = Module["___dl_seterr"] = Module["asm"]["__dl_seterr"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _emscripten_builtin_memalign = Module["_emscripten_builtin_memalign"] = function() { - return (_emscripten_builtin_memalign = Module["_emscripten_builtin_memalign"] = Module["asm"]["emscripten_builtin_memalign"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var _setThrew = Module["_setThrew"] = function() { - return (_setThrew = Module["_setThrew"] = Module["asm"]["setThrew"]).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 ___cxa_demangle = Module["___cxa_demangle"] = function() { - return (___cxa_demangle = Module["___cxa_demangle"] = Module["asm"]["__cxa_demangle"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var ___cxa_can_catch = Module["___cxa_can_catch"] = function() { - return (___cxa_can_catch = Module["___cxa_can_catch"] = Module["asm"]["__cxa_can_catch"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var ___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = function() { - return (___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = Module["asm"]["__cxa_is_pointer_type"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_ji = Module["dynCall_ji"] = function() { - return (dynCall_ji = Module["dynCall_ji"] = Module["asm"]["dynCall_ji"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_viijj = Module["dynCall_viijj"] = function() { - return (dynCall_viijj = Module["dynCall_viijj"] = Module["asm"]["dynCall_viijj"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_iij = Module["dynCall_iij"] = function() { - return (dynCall_iij = Module["dynCall_iij"] = Module["asm"]["dynCall_iij"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_iijj = Module["dynCall_iijj"] = function() { - return (dynCall_iijj = Module["dynCall_iijj"] = Module["asm"]["dynCall_iijj"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_viij = Module["dynCall_viij"] = function() { - return (dynCall_viij = Module["dynCall_viij"] = Module["asm"]["dynCall_viij"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_ij = Module["dynCall_ij"] = function() { - return (dynCall_ij = Module["dynCall_ij"] = Module["asm"]["dynCall_ij"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_iiiji = Module["dynCall_iiiji"] = function() { - return (dynCall_iiiji = Module["dynCall_iiiji"] = Module["asm"]["dynCall_iiiji"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_iiiij = Module["dynCall_iiiij"] = function() { - return (dynCall_iiiij = Module["dynCall_iiiij"] = Module["asm"]["dynCall_iiiij"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_vij = Module["dynCall_vij"] = function() { - return (dynCall_vij = Module["dynCall_vij"] = Module["asm"]["dynCall_vij"]).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 dynCall_iiiiij = Module["dynCall_iiiiij"] = function() { - return (dynCall_iiiiij = Module["dynCall_iiiiij"] = Module["asm"]["dynCall_iiiiij"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_viijii = Module["dynCall_viijii"] = function() { - return (dynCall_viijii = Module["dynCall_viijii"] = Module["asm"]["dynCall_viijii"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_jiiii = Module["dynCall_jiiii"] = function() { - return (dynCall_jiiii = Module["dynCall_jiiii"] = Module["asm"]["dynCall_jiiii"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_iiiiijj = Module["dynCall_iiiiijj"] = function() { - return (dynCall_iiiiijj = Module["dynCall_iiiiijj"] = Module["asm"]["dynCall_iiiiijj"]).apply(null, arguments); -}; - -/** @type {function(...*):?} */ -var dynCall_iiiiiijj = Module["dynCall_iiiiiijj"] = function() { - return (dynCall_iiiiiijj = Module["dynCall_iiiiiijj"] = Module["asm"]["dynCall_iiiiiijj"]).apply(null, arguments); -}; - - -function invoke_iii(index,a1,a2) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_ii(index,a1) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1,a2,a3); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_v(index) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1,a2,a3,a4); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_vii(index,a1,a2) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1,a2); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_vi(index,a1) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_i(index) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiii(index,a1,a2,a3,a4,a5) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3,a4,a5); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiii(index,a1,a2,a3,a4) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3,a4); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_fiii(index,a1,a2,a3) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_diii(index,a1,a2,a3) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6) { - var sp = stackSave(); - try { - return dynCall_iiiiij(index,a1,a2,a3,a4,a5,a6); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_jiiii(index,a1,a2,a3,a4) { - var sp = stackSave(); - try { - return dynCall_jiiii(index,a1,a2,a3,a4); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - - - - -// === Auto-generated postamble setup entry stuff === - -Module["print"] = out; -Module["printErr"] = err; -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; - -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']; - - args = args || []; - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv >> 2; - args.forEach((arg) => { - HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); - }); - HEAP32[argv_ptr] = 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); - return ret; - } - catch (e) { - return handleException(e); - } finally { - calledMain = true; - - } -} - -/** @type {function(Array=)} */ -function run(args) { - args = args || arguments_; - - if (runDependencies > 0) { - return; - } - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - return; - } - - 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) { - EXITSTATUS = status; - - procExit(status); -} - -function procExit(code) { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - if (Module['onExit']) Module['onExit'](code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); -} - -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; - -run(); - - - - - - } - else { - console.error("Invalid action : " + action); - outgoingMessagePort.postMessage("invalid action"); - } -},false); - +var k;k||(k=typeof Module !== 'undefined' ? Module : {}); +self.addEventListener("message",function(fa){var Db=performance.now(),V=fa.data.action,Fc=fa.data.path,ha=fa.ports[0];console.debug("WebWorker called with action="+V);if("getEntryByPath"===V){var Eb=fa.data.H,ia=k[V](Fc);if(ia){var fb={};if(Eb||!ia.Ea()){fb=ia.getItem(Eb);var Fb=performance.now(),Gc=fb.getData(),Gb=performance.now(),Hb=Gc.jd(),Ib=performance.now(),Hc=new Uint8Array(Hb),Jb=performance.now();ha.postMessage({content:Hc,Ac:fb.ld(),Ea:ia.Ea()});var Kb=performance.now();console.debug("content length = "+ +Hb.length+" read in "+Math.round(Kb-Db)+" ms ("+Math.round(Fb-Db)+" ms to find the entry, "+Math.round(Gb-Fb)+" ms for getData, "+Math.round(Ib-Gb)+" ms for getContent, "+Math.round(Jb-Ib)+" ms for array copying, "+Math.round(Kb-Jb)+" ms for postMessage)")}else ha.postMessage({content:new Uint8Array,Ea:!0,xd:ia.md().M()})}else ha.postMessage({content:new Uint8Array,Ac:"unknown",Ea:!1})}else if("search"===V){var Ca=k[V](fa.data.text,fa.data.vd||50);console.debug("Found nb results = "+Ca.size(),Ca); +for(var Lb=[],gb=0;gb=Ta.length&&(Ta.length=a+1),Ta[a]=b=Xb.get(a));return b}var wa=[],Ua=0;function X(a){this.ra= +a;this.m=a-24;this.Yc=function(b){E[this.m+4>>2]=b};this.T=function(){return E[this.m+4>>2]};this.Ec=function(b){E[this.m+8>>2]=b};this.rc=function(){return E[this.m+8>>2]};this.Oc=function(){v[this.m>>2]=0};this.ob=function(b){M[this.m+12>>0]=b?1:0};this.wc=function(){return 0!=M[this.m+12>>0]};this.Ja=function(b){M[this.m+13>>0]=b?1:0};this.Hb=function(){return 0!=M[this.m+13>>0]};this.Y=function(b,c){this.ja(0);this.Yc(b);this.Ec(c);this.Oc();this.ob(!1);this.Ja(!1)};this.Lb=function(){v[this.m>> +2]+=1};this.Mc=function(){var b=v[this.m>>2];v[this.m>>2]=b-1;return 1===b};this.ja=function(b){E[this.m+16>>2]=b};this.vc=function(){return E[this.m+16>>2]};this.xc=function(){if(cc(this.T()))return E[this.ra>>2];var b=this.vc();return 0!==b?b:this.ra}}function dc(a){return U((new X(a)).m)}function ec(a){if(a.Mc()&&!a.Hb()){var b=a.rc();b&&C(b)(a.ra);dc(a.ra)}}var ba=0;function fc(){var a=wa.pop();a||Q("no exception to throw");var b=a.ra;a.Hb()||(wa.push(a),a.Ja(!0),a.ob(!1),Ua++);ba=b;throw b;} +var y={$a:a=>"/"===a.charAt(0),Rc:a=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1),gb:(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},normalize:a=>{var b=y.$a(a),c="/"===a.substr(-1);(a=y.gb(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},dirname:a=>{var b=y.Rc(a);a=b[0];b=b[1];if(!a&&!b)return".";b&& +(b=b.substr(0,b.length-1));return a+b},basename:a=>{if("/"===a)return"/";a=y.normalize(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)},join:function(){var a=Array.prototype.slice.call(arguments,0);return y.normalize(a.join("/"))},aa:(a,b)=>y.normalize(a+"/"+b)};function Tc(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}if(ib)try{var b=require("crypto");return function(){return b.randomBytes(1)[0]}}catch(c){}return function(){Q("randomDevice")}} +var Y={resolve:function(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:e.cwd();if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b=y.$a(b)}a=y.gb(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."},relative:(a,b)=>{function c(h){for(var l=0;lp?[]:h.slice(l,p-l+1)}a=Y.resolve(a).substr(1);b=Y.resolve(b).substr(1);a=c(a.split("/")); +b=c(b.split("/"));for(var d=Math.min(a.length,b.length),f=d,g=0;g=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.j,a.j=new Uint8Array(b),0=a.node.u)return 0;a=Math.min(a.node.u-f,d);if(8b)throw new e.g(28);return b},qa:function(a,b,c){w.Cb(a.node,b+c);a.node.u=Math.max(a.node.u,b+c)},la:function(a,b,c,d,f){if(!e.isFile(a.node.mode))throw new e.g(43);a=a.node.j;if(f&2||a.buffer!== +Qa){if(0=a.node.size)return 0;a=a.node.j.slice(f,f+d);d=H.kb.readAsArrayBuffer(a);b.set(new Uint8Array(d),c);return a.size},write:function(){throw new e.g(29);},J:function(a,b,c){1===c?b+=a.position:2===c&&e.isFile(a.node.mode)&&(b+=a.node.size);if(0>b)throw new e.g(28);return b}}},e={root:null,wa:[], +Ab:{},streams:[],Cc:1,O:null,yb:"/",Za:!1,Mb:!0,g:null,Va:{},mc:null,La:0,s:(a,b={})=>{a=Y.resolve(e.cwd(),a);if(!a)return{path:"",node:null};b=Object.assign({Ua:!0,lb:0},b);if(8!!h),!1);for(var c=e.root,d="/",f=0;f{for(var b;;){if(e.Fa(a))return a=a.v.Ob,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},Ya:(a,b)=>{for(var c=0,d=0;d>>0)%e.O.length},Jb:a=>{var b=e.Ya(a.parent.id,a.name);a.da=e.O[b];e.O[b]=a},Kb:a=>{var b=e.Ya(a.parent.id,a.name);if(e.O[b]===a)e.O[b]=a.da;else for(b=e.O[b];b;){if(b.da===a){b.da=a.da;break}b=b.da}},U:(a,b)=>{var c=e.yc(a);if(c)throw new e.g(c,a);for(c= +e.O[e.Ya(a.id,b)];c;c=c.da){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return e.lookup(a,b)},createNode:(a,b,c,d)=>{a=new e.Tb(a,b,c,d);e.Jb(a);return a},Ta:a=>{e.Kb(a)},Fa:a=>a===a.parent,$:a=>!!a.va,isFile:a=>32768===(a&61440),D:a=>16384===(a&61440),ua:a=>40960===(a&61440),Ca:a=>8192===(a&61440),tc:a=>24576===(a&61440),isFIFO:a=>4096===(a&61440),isSocket:a=>49152===(a&49152),nc:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Bc:a=>{var b=e.nc[a];if("undefined"==typeof b)throw Error("Unknown file open mode: "+ +a);return b},Db:a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},ea:(a,b)=>{if(e.Mb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},yc:a=>{var b=e.ea(a,"x");return b?b:a.i.lookup?0:2},fb:(a,b)=>{try{return e.U(a,b),20}catch(c){}return e.ea(a,"wx")},Ha:(a,b,c)=>{try{var d=e.U(a,b)}catch(f){return f.A}if(a=e.ea(a,"wx"))return a;if(c){if(!e.D(d.mode))return 54;if(e.Fa(d)||e.M(d)===e.cwd())return 10}else if(e.D(d.mode))return 31; +return 0},zc:(a,b)=>a?e.ua(a.mode)?32:e.D(a.mode)&&("r"!==e.Db(b)||b&512)?31:e.ea(a,e.Db(b)):44,Ub:4096,Dc:(a=0,b=e.Ub)=>{for(;a<=b;a++)if(!e.streams[a])return a;throw new e.g(33);},W:a=>e.streams[a],xb:(a,b,c)=>{e.Pa||(e.Pa=function(){this.Ka={}},e.Pa.prototype={object:{get:function(){return this.node},set:function(d){this.node=d}},flags:{get:function(){return this.Ka.flags},set:function(d){this.Ka.flags=d}},position:{get hd(){return this.Ka.position},set:function(d){this.Ka.position=d}}});a=Object.assign(new e.Pa, +a);b=e.Dc(b,c);a.fd=b;return e.streams[b]=a},$b:a=>{e.streams[a]=null},Zb:{open:a=>{a.l=e.pc(a.node.rdev).l;a.l.open&&a.l.open(a)},J:()=>{throw new e.g(70);}},eb:a=>a>>8,rd:a=>a&255,ba:(a,b)=>a<<8|b,nb:(a,b)=>{e.Ab[a]={l:b}},pc:a=>e.Ab[a],Fb:a=>{var b=[];for(a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.wa)}return b},Rb:(a,b)=>{function c(h){e.La--;return b(h)}function d(h){if(h){if(!d.lc)return d.lc=!0,c(h)}else++g>=f.length&&c(null)}"function"==typeof a&&(b=a,a=!1);e.La++;1{if(!h.type.Rb)return d(null);h.type.Rb(h,a,d)})},v:(a,b,c)=>{var d="/"===c,f=!c;if(d&&e.root)throw new e.g(10);if(!d&&!f){var g=e.s(c,{Ua:!1});c=g.path;g=g.node;if(e.$(g))throw new e.g(10);if(!e.D(g.mode))throw new e.g(54);}b={type:a,hb:b,Ob:c,wa:[]};a=a.v(b);a.v=b;b.root=a;d?e.root=a:g&&(g.va=b,g.v&&g.v.wa.push(b));return a},Bd:a=>{a=e.s(a,{Ua:!1});if(!e.$(a.node))throw new e.g(28); +a=a.node;var b=a.va,c=e.Fb(b);Object.keys(e.O).forEach(d=>{for(d=e.O[d];d;){var f=d.da;c.includes(d.v)&&e.Ta(d);d=f}});a.va=null;a.v.wa.splice(a.v.wa.indexOf(b),1)},lookup:(a,b)=>a.i.lookup(a,b),N:(a,b,c)=>{var d=e.s(a,{parent:!0}).node;a=y.basename(a);if(!a||"."===a||".."===a)throw new e.g(28);var f=e.fb(d,a);if(f)throw new e.g(f);if(!d.i.N)throw new e.g(63);return d.i.N(d,a,b,c)},create:(a,b)=>e.N(a,(void 0!==b?b:438)&4095|32768,0),mkdir:(a,b)=>e.N(a,(void 0!==b?b:511)&1023|16384,0),sd:(a,b)=>{a= +a.split("/");for(var c="",d=0;d{"undefined"==typeof c&&(c=b,b=438);return e.N(a,b|8192,c)},symlink:(a,b)=>{if(!Y.resolve(a))throw new e.g(44);var c=e.s(b,{parent:!0}).node;if(!c)throw new e.g(44);b=y.basename(b);var d=e.fb(c,b);if(d)throw new e.g(d);if(!c.i.symlink)throw new e.g(63);return c.i.symlink(c,b,a)},rename:(a,b)=>{var c=y.dirname(a),d=y.dirname(b),f=y.basename(a),g=y.basename(b);var h=e.s(a,{parent:!0}); +var l=h.node;h=e.s(b,{parent:!0});h=h.node;if(!l||!h)throw new e.g(44);if(l.v!==h.v)throw new e.g(75);var p=e.U(l,f);a=Y.relative(a,d);if("."!==a.charAt(0))throw new e.g(28);a=Y.relative(b,c);if("."!==a.charAt(0))throw new e.g(55);try{var n=e.U(h,g)}catch(q){}if(p!==n){b=e.D(p.mode);if(f=e.Ha(l,f,b))throw new e.g(f);if(f=n?e.Ha(h,g,b):e.fb(h,g))throw new e.g(f);if(!l.i.rename)throw new e.g(63);if(e.$(p)||n&&e.$(n))throw new e.g(10);if(h!==l&&(f=e.ea(l,"w")))throw new e.g(f);e.Kb(p);try{l.i.rename(p, +h,g)}catch(q){throw q;}finally{e.Jb(p)}}},rmdir:a=>{var b=e.s(a,{parent:!0}).node;a=y.basename(a);var c=e.U(b,a),d=e.Ha(b,a,!0);if(d)throw new e.g(d);if(!b.i.rmdir)throw new e.g(63);if(e.$(c))throw new e.g(10);b.i.rmdir(b,a);e.Ta(c)},readdir:a=>{a=e.s(a,{H:!0}).node;if(!a.i.readdir)throw new e.g(54);return a.i.readdir(a)},unlink:a=>{var b=e.s(a,{parent:!0}).node;if(!b)throw new e.g(44);a=y.basename(a);var c=e.U(b,a),d=e.Ha(b,a,!1);if(d)throw new e.g(d);if(!b.i.unlink)throw new e.g(63);if(e.$(c))throw new e.g(10); +b.i.unlink(b,a);e.Ta(c)},readlink:a=>{a=e.s(a).node;if(!a)throw new e.g(44);if(!a.i.readlink)throw new e.g(28);return Y.resolve(e.M(a.parent),a.i.readlink(a))},stat:(a,b)=>{a=e.s(a,{H:!b}).node;if(!a)throw new e.g(44);if(!a.i.I)throw new e.g(63);return a.i.I(a)},lstat:a=>e.stat(a,!0),chmod:(a,b,c)=>{a="string"==typeof a?e.s(a,{H:!c}).node:a;if(!a.i.C)throw new e.g(63);a.i.C(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},lchmod:(a,b)=>{e.chmod(a,b,!0)},fchmod:(a,b)=>{a=e.W(a);if(!a)throw new e.g(8); +e.chmod(a.node,b)},chown:(a,b,c,d)=>{a="string"==typeof a?e.s(a,{H:!d}).node:a;if(!a.i.C)throw new e.g(63);a.i.C(a,{timestamp:Date.now()})},lchown:(a,b,c)=>{e.chown(a,b,c,!0)},fchown:(a,b,c)=>{a=e.W(a);if(!a)throw new e.g(8);e.chown(a.node,b,c)},truncate:(a,b)=>{if(0>b)throw new e.g(28);a="string"==typeof a?e.s(a,{H:!0}).node:a;if(!a.i.C)throw new e.g(63);if(e.D(a.mode))throw new e.g(31);if(!e.isFile(a.mode))throw new e.g(28);var c=e.ea(a,"w");if(c)throw new e.g(c);a.i.C(a,{size:b,timestamp:Date.now()})}, +ed:(a,b)=>{a=e.W(a);if(!a)throw new e.g(8);if(0===(a.flags&2097155))throw new e.g(28);e.truncate(a.node,b)},Cd:(a,b,c)=>{a=e.s(a,{H:!0}).node;a.i.C(a,{timestamp:Math.max(b,c)})},open:(a,b,c)=>{if(""===a)throw new e.g(44);b="string"==typeof b?e.Bc(b):b;c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var d=a;else{a=y.normalize(a);try{d=e.s(a,{H:!(b&131072)}).node}catch(g){}}var f=!1;if(b&64)if(d){if(b&128)throw new e.g(20);}else d=e.N(a,c,0),f=!0;if(!d)throw new e.g(44);e.Ca(d.mode)&& +(b&=-513);if(b&65536&&!e.D(d.mode))throw new e.g(54);if(!f&&(c=e.zc(d,b)))throw new e.g(c);b&512&&!f&&e.truncate(d,0);b&=-131713;d=e.xb({node:d,path:e.M(d),flags:b,seekable:!0,position:0,l:d.l,Zc:[],error:!1});d.l.open&&d.l.open(d);!k.logReadFiles||b&1||(e.jb||(e.jb={}),a in e.jb||(e.jb[a]=1));return d},close:a=>{if(e.ta(a))throw new e.g(8);a.Xa&&(a.Xa=null);try{a.l.close&&a.l.close(a)}catch(b){throw b;}finally{e.$b(a.fd)}a.fd=null},ta:a=>null===a.fd,J:(a,b,c)=>{if(e.ta(a))throw new e.g(8);if(!a.seekable|| +!a.l.J)throw new e.g(70);if(0!=c&&1!=c&&2!=c)throw new e.g(28);a.position=a.l.J(a,b,c);a.Zc=[];return a.position},read:(a,b,c,d,f)=>{if(0>d||0>f)throw new e.g(28);if(e.ta(a))throw new e.g(8);if(1===(a.flags&2097155))throw new e.g(8);if(e.D(a.node.mode))throw new e.g(31);if(!a.l.read)throw new e.g(28);var g="undefined"!=typeof f;if(!g)f=a.position;else if(!a.seekable)throw new e.g(70);b=a.l.read(a,b,c,d,f);g||(a.position+=b);return b},write:(a,b,c,d,f,g)=>{if(0>d||0>f)throw new e.g(28);if(e.ta(a))throw new e.g(8); +if(0===(a.flags&2097155))throw new e.g(8);if(e.D(a.node.mode))throw new e.g(31);if(!a.l.write)throw new e.g(28);a.seekable&&a.flags&1024&&e.J(a,0,2);var h="undefined"!=typeof f;if(!h)f=a.position;else if(!a.seekable)throw new e.g(70);b=a.l.write(a,b,c,d,f,g);h||(a.position+=b);return b},qa:(a,b,c)=>{if(e.ta(a))throw new e.g(8);if(0>b||0>=c)throw new e.g(28);if(0===(a.flags&2097155))throw new e.g(8);if(!e.isFile(a.node.mode)&&!e.D(a.node.mode))throw new e.g(43);if(!a.l.qa)throw new e.g(138);a.l.qa(a, +b,c)},la:(a,b,c,d,f)=>{if(0!==(d&2)&&0===(f&2)&&2!==(a.flags&2097155))throw new e.g(2);if(1===(a.flags&2097155))throw new e.g(2);if(!a.l.la)throw new e.g(43);return a.l.la(a,b,c,d,f)},ma:(a,b,c,d,f)=>a&&a.l.ma?a.l.ma(a,b,c,d,f):0,td:()=>0,Nb:(a,b,c)=>{if(!a.l.Nb)throw new e.g(59);return a.l.Nb(a,b,c)},readFile:(a,b={})=>{b.flags=b.flags||0;b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&&"binary"!==b.encoding)throw Error('Invalid encoding type "'+b.encoding+'"');var c,d=e.open(a,b.flags);a= +e.stat(a).size;var f=new Uint8Array(a);e.read(d,f,0,a,0);"utf8"===b.encoding?c=pa(f,0):"binary"===b.encoding&&(c=f);e.close(d);return c},writeFile:(a,b,c={})=>{c.flags=c.flags||577;a=e.open(a,c.flags,c.mode);if("string"==typeof b){var d=new Uint8Array(Oa(b)+1);b=Na(b,d,0,d.length);e.write(a,d,0,b,void 0,c.Yb)}else if(ArrayBuffer.isView(b))e.write(a,b,0,b.byteLength,void 0,c.Yb);else throw Error("Unsupported data type");e.close(a)},cwd:()=>e.yb,chdir:a=>{a=e.s(a,{H:!0});if(null===a.node)throw new e.g(44); +if(!e.D(a.node.mode))throw new e.g(54);var b=e.ea(a.node,"x");if(b)throw new e.g(b);e.yb=a.path},cc:()=>{e.mkdir("/tmp");e.mkdir("/home");e.mkdir("/home/web_user")},bc:()=>{e.mkdir("/dev");e.nb(e.ba(1,3),{read:()=>0,write:(b,c,d,f)=>f});e.Ia("/dev/null",e.ba(1,3));ca.register(e.ba(5,0),ca.ic);ca.register(e.ba(6,0),ca.hc);e.Ia("/dev/tty",e.ba(5,0));e.Ia("/dev/tty1",e.ba(6,0));var a=Tc();e.V("/dev","random",a);e.V("/dev","urandom",a);e.mkdir("/dev/shm");e.mkdir("/dev/shm/tmp")},ec:()=>{e.mkdir("/proc"); +var a=e.mkdir("/proc/self");e.mkdir("/proc/self/fd");e.v({v:()=>{var b=e.createNode(a,"fd",16895,73);b.i={lookup:(c,d)=>{var f=e.W(+d);if(!f)throw new e.g(8);c={parent:null,v:{Ob:"fake"},i:{readlink:()=>f.path}};return c.parent=c}};return b}},{},"/proc/self/fd")},fc:()=>{k.stdin?e.V("/dev","stdin",k.stdin):e.symlink("/dev/tty","/dev/stdin");k.stdout?e.V("/dev","stdout",null,k.stdout):e.symlink("/dev/tty","/dev/stdout");k.stderr?e.V("/dev","stderr",null,k.stderr):e.symlink("/dev/tty1","/dev/stderr"); +e.open("/dev/stdin",0);e.open("/dev/stdout",1);e.open("/dev/stderr",1)},Bb:()=>{e.g||(e.g=function(a,b){this.node=b;this.Pc=function(c){this.A=c};this.Pc(a);this.message="FS error"},e.g.prototype=Error(),e.g.prototype.constructor=e.g,[44].forEach(a=>{e.Va[a]=new e.g(a);e.Va[a].stack=""}))},Sc:()=>{e.Bb();e.O=Array(4096);e.v(w,{},"/");e.cc();e.bc();e.ec();e.mc={MEMFS:w,WORKERFS:H}},Y:(a,b,c)=>{e.Y.Za=!0;e.Bb();k.stdin=a||k.stdin;k.stdout=b||k.stdout;k.stderr=c||k.stderr;e.fc()}, +wd:()=>{e.Y.Za=!1;for(var a=0;a{var c=0;a&&(c|=365);b&&(c|=146);return c},dd:(a,b)=>{a=e.Qa(a,b);return a.exists?a.object:null},Qa:(a,b)=>{try{var c=e.s(a,{H:!b});a=c.path}catch(f){}var d={Fa:!1,exists:!1,error:0,name:null,path:null,object:null,Fc:!1,Hc:null,Gc:null};try{c=e.s(a,{parent:!0}),d.Fc=!0,d.Hc=c.path,d.Gc=c.node,d.name=y.basename(a),c=e.s(a,{H:!b}),d.exists=!0,d.path=c.path,d.object=c.node,d.name=c.node.name,d.Fa="/"=== +c.path}catch(f){d.error=f.A}return d},bd:(a,b)=>{a="string"==typeof a?a:e.M(a);for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var d=y.aa(a,c);try{e.mkdir(d)}catch(f){}a=d}}return d},dc:(a,b,c,d,f)=>{a=y.aa("string"==typeof a?a:e.M(a),b);return e.create(a,e.Wa(d,f))},wb:(a,b,c,d,f,g)=>{var h=b;a&&(a="string"==typeof a?a:e.M(a),h=b?y.aa(a,b):a);a=e.Wa(d,f);h=e.create(h,a);if(c){if("string"==typeof c){b=Array(c.length);d=0;for(f=c.length;d{a=y.aa("string"==typeof a?a:e.M(a),b);b=e.Wa(!!c,!!d);e.V.eb||(e.V.eb=64);var f=e.ba(e.V.eb++,0);e.nb(f,{open:g=>{g.seekable=!1},close:()=>{d&&d.buffer&&d.buffer.length&&d(10)},read:(g,h,l,p)=>{for(var n=0,q=0;q{for(var n= +0;n{if(a.ab||a.uc||a.link||a.j)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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.");if(Ia)try{a.j=Va(Ia(a.url),!0),a.u=a.j.length}catch(b){throw new e.g(29);}else throw Error("Cannot load without read() or XMLHttpRequest."); +},ad:(a,b,c,d,f)=>{function g(){this.cb=!1;this.T=[]}g.prototype.get=function(n){if(!(n>this.length-1||0>n)){var q=n%this.chunkSize;return this.Ib(n/this.chunkSize|0)[q]}};g.prototype.ja=function(n){this.Ib=n};g.prototype.ub=function(){var n=new XMLHttpRequest;n.open("HEAD",c,!1);n.send(null);if(!(200<=n.status&&300>n.status||304===n.status))throw Error("Couldn't load "+c+". Status: "+n.status);var q=Number(n.getResponseHeader("Content-length")),t,u=(t=n.getResponseHeader("Accept-Ranges"))&&"bytes"=== +t;n=(t=n.getResponseHeader("Content-Encoding"))&&"gzip"===t;var m=1048576;u||(m=q);var r=this;r.ja(x=>{var B=x*m,I=(x+1)*m-1;I=Math.min(I,q-1);if("undefined"==typeof r.T[x]){var da=r.T;if(B>I)throw Error("invalid range ("+B+", "+I+") or no bytes requested!");if(I>q-1)throw Error("only "+q+" bytes available! programmer error!");var K=new XMLHttpRequest;K.open("GET",c,!1);q!==m&&K.setRequestHeader("Range","bytes="+B+"-"+I);K.responseType="arraybuffer";K.overrideMimeType&&K.overrideMimeType("text/plain; charset=x-user-defined"); +K.send(null);if(!(200<=K.status&&300>K.status||304===K.status))throw Error("Couldn't load "+c+". Status: "+K.status);B=void 0!==K.response?new Uint8Array(K.response||[]):Va(K.responseText||"",!0);da[x]=B}if("undefined"==typeof r.T[x])throw Error("doXHR failed!");return r.T[x]});if(n||!q)m=q=1,m=q=this.Ib(0).length,ta("LazyFiles on gzip forces download of the whole file when length is accessed");this.Wb=q;this.Vb=m;this.cb=!0};if("undefined"!=typeof XMLHttpRequest){if(!ja)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; +var h=new g;Object.defineProperties(h,{length:{get:function(){this.cb||this.ub();return this.Wb}},chunkSize:{get:function(){this.cb||this.ub();return this.Vb}}});h={ab:!1,j:h}}else h={ab:!1,url:c};var l=e.dc(a,b,h,d,f);h.j?l.j=h.j:h.url&&(l.j=null,l.url=h.url);Object.defineProperties(l,{u:{get:function(){return this.j.length}}});var p={};Object.keys(l.l).forEach(n=>{var q=l.l[n];p[n]=function(){e.Eb(l);return q.apply(null,arguments)}});p.read=(n,q,t,u,m)=>{e.Eb(l);n=n.node.j;if(m>=n.length)return 0; +u=Math.min(n.length-m,u);if(n.slice)for(var r=0;r{function q(m){function r(x){n&&n();l||e.wb(a,b,x,d,f,p);g&&g();Ra(u)}Vc.nd(m,t,r,()=>{h&&h();Ra(u)})||r(m)}var t=b?Y.resolve(y.aa(a,b)):a,u="cp "+t;mb(u);"string"==typeof c?Uc(c,m=>q(m),h):q(c)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,rb:()=>"EM_FS_"+window.location.pathname,sb:20,oa:"FILE_DATA", +yd:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var d=e.indexedDB();try{var f=d.open(e.rb(),e.sb)}catch(g){return c(g)}f.onupgradeneeded=()=>{ta("creating db");f.result.createObjectStore(e.oa)};f.onsuccess=()=>{var g=f.result.transaction([e.oa],"readwrite"),h=g.objectStore(e.oa),l=0,p=0,n=a.length;a.forEach(q=>{q=h.put(e.Qa(q).object.j,q);q.onsuccess=()=>{l++;l+p==n&&(0==p?b():c())};q.onerror=()=>{p++;l+p==n&&(0==p?b():c())}});g.onerror=c};f.onerror=c},qd:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var d=e.indexedDB(); +try{var f=d.open(e.rb(),e.sb)}catch(g){return c(g)}f.onupgradeneeded=c;f.onsuccess=()=>{var g=f.result;try{var h=g.transaction([e.oa],"readonly")}catch(t){c(t);return}var l=h.objectStore(e.oa),p=0,n=0,q=a.length;a.forEach(t=>{var u=l.get(t);u.onsuccess=()=>{e.Qa(t).exists&&e.unlink(t);e.wb(y.dirname(t),y.basename(t),u.result,!0,!0,!0);p++;p+n==q&&(0==n?b():c())};u.onerror=()=>{n++;p+n==q&&(0==n?b():c())}});h.onerror=c};f.onerror=c}},A={$c:5,Sa:function(a,b,c){if(y.$a(b))return b;if(-100===a)a=e.cwd(); +else{a=e.W(a);if(!a)throw new e.g(8);a=a.path}if(0==b.length){if(!c)throw new e.g(44);return a}return y.aa(a,b)},Ba:function(a,b,c){try{var d=a(b)}catch(f){if(f&&f.node&&y.normalize(b)!==y.normalize(e.M(f.node)))return-54;throw f;}v[c>>2]=d.dev;v[c+4>>2]=0;v[c+8>>2]=d.ino;v[c+12>>2]=d.mode;v[c+16>>2]=d.nlink;v[c+20>>2]=d.uid;v[c+24>>2]=d.gid;v[c+28>>2]=d.rdev;v[c+32>>2]=0;W=[d.size>>>0,(J=d.size,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/ +4294967296)>>>0:0)];v[c+40>>2]=W[0];v[c+44>>2]=W[1];v[c+48>>2]=4096;v[c+52>>2]=d.blocks;v[c+56>>2]=d.atime.getTime()/1E3|0;v[c+60>>2]=0;v[c+64>>2]=d.mtime.getTime()/1E3|0;v[c+68>>2]=0;v[c+72>>2]=d.ctime.getTime()/1E3|0;v[c+76>>2]=0;W=[d.ino>>>0,(J=d.ino,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];v[c+80>>2]=W[0];v[c+84>>2]=W[1];return 0},jc:function(a,b,c,d,f){a=L.slice(a,a+c);e.ma(b,a,f,c,d)},za:void 0,get:function(){A.za+= +4;return v[A.za-4>>2]},sa:function(a){return ka(a)},X:function(a){a=e.W(a);if(!a)throw new e.g(8);return a}};function nb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var hc=void 0;function P(a){for(var b="";L[a];)b+=hc[L[a++]];return b}var qa={},na={},Wa={};function ob(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function pb(a,b){a=ob(a);return(new Function("body", +"return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function qb(a,b){var c=pb(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var ra=void 0;function z(a){throw new ra(a);}var ic=void 0;function Xa(a){throw new ic(a); +}function sa(a,b,c){function d(l){l=c(l);l.length!==a.length&&Xa("Mismatched type converter count");for(var p=0;p{na.hasOwnProperty(l)?f[p]=na[l]:(g.push(l),qa.hasOwnProperty(l)||(qa[l]=[]),qa[l].push(()=>{f[p]=na[l];++h;h===g.length&&d(f)}))});0===g.length&&d(f)}function Z(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d= +b.name;a||z('type "'+d+'" must have a positive integer typeid pointer');if(na.hasOwnProperty(a)){if(c.sc)return;z("Cannot register type '"+d+"' twice")}na[a]=b;delete Wa[a];qa.hasOwnProperty(a)&&(b=qa[a],delete qa[a],b.forEach(f=>f()))}function rb(a){z(a.h.B.o.name+" instance already deleted")}var sb=!1;function jc(){}function kc(a){--a.count.value;0===a.count.value&&(a.G?a.K.fa(a.G):a.B.o.fa(a.m))}function lc(a,b,c){if(b===c)return a;if(void 0===c.L)return null;a=lc(a,b,c.L);return null===a?null: +c.kc(a)}var mc={},xa=[];function tb(){for(;xa.length;){var a=xa.pop();a.h.ia=!1;a["delete"]()}}var ya=void 0,za={};function Wc(a,b){for(void 0===b&&z("ptr should not be undefined");a.L;)b=a.ya(b),a=a.L;return za[b]}function Ya(a,b){b.B&&b.m||Xa("makeClassHandle requires ptr and ptrType");!!b.K!==!!b.G&&Xa("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Aa(Object.create(a,{h:{value:b}}))}function Aa(a){if("undefined"===typeof FinalizationRegistry)return Aa=b=>b,a;sb=new FinalizationRegistry(b=> +{kc(b.h)});Aa=b=>{var c=b.h;c.G&&sb.register(b,{h:c},b);return b};jc=b=>sb.unregister(b);return Aa(a)}function ea(){}function nc(a,b,c){if(void 0===a[b].F){var d=a[b];a[b]=function(){a[b].F.hasOwnProperty(arguments.length)||z("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].F+")!");return a[b].F[arguments.length].apply(this,arguments)};a[b].F=[];a[b].F[d.Aa]=d}}function oc(a,b,c){k.hasOwnProperty(a)?((void 0===c||void 0!==k[a].F&&void 0!== +k[a].F[c])&&z("Cannot register public name '"+a+"' twice"),nc(k,a,a),k.hasOwnProperty(c)&&z("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),k[a].F[c]=b):(k[a]=b,void 0!==c&&(k[a].ud=c))}function Xc(a,b,c,d,f,g,h,l){this.name=a;this.constructor=b;this.ka=c;this.fa=d;this.L=f;this.oc=g;this.ya=h;this.kc=l;this.Jc=[]}function ub(a,b,c){for(;b!==c;)b.ya||z("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.ya(a),b=b.L;return a}function Yc(a, +b){if(null===b)return this.bb&&z("null is not a valid "+this.name),0;b.h||z('Cannot pass "'+vb(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);return ub(b.h.m,b.h.B.o,this.o)}function Zc(a,b){if(null===b){this.bb&&z("null is not a valid "+this.name);if(this.Ga){var c=this.Kc();null!==a&&a.push(this.fa,c);return c}return 0}b.h||z('Cannot pass "'+vb(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);!this.Da&& +b.h.B.Da&&z("Cannot convert argument of type "+(b.h.K?b.h.K.name:b.h.B.name)+" to parameter type "+this.name);c=ub(b.h.m,b.h.B.o,this.o);if(this.Ga)switch(void 0===b.h.G&&z("Passing raw pointer to smart pointer is illegal"),this.Qc){case 0:b.h.K===this?c=b.h.G:z("Cannot convert argument of type "+(b.h.K?b.h.K.name:b.h.B.name)+" to parameter type "+this.name);break;case 1:c=b.h.G;break;case 2:if(b.h.K===this)c=b.h.G;else{var d=b.clone();c=this.Lc(c,Za.qb(function(){d["delete"]()}));null!==a&&a.push(this.fa, +c)}break;default:z("Unsupporting sharing policy")}return c}function $c(a,b){if(null===b)return this.bb&&z("null is not a valid "+this.name),0;b.h||z('Cannot pass "'+vb(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);b.h.B.Da&&z("Cannot convert argument of type "+b.h.B.name+" to parameter type "+this.name);return ub(b.h.m,b.h.B.o,this.o)}function $a(a){return this.fromWireType(E[a>>2])}function aa(a,b,c,d,f,g,h,l,p,n,q){this.name=a;this.o=b;this.bb=c; +this.Da=d;this.Ga=f;this.Ic=g;this.Qc=h;this.Pb=l;this.Kc=p;this.Lc=n;this.fa=q;f||void 0!==b.L?this.toWireType=Zc:(this.toWireType=d?Yc:$c,this.S=null)}function pc(a,b,c){k.hasOwnProperty(a)||Xa("Replacing nonexistant public symbol");void 0!==k[a].F&&void 0!==c?k[a].F[c]=b:(k[a]=b,k[a].Aa=c)}function ad(a,b){var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var d=k["dynCall_"+a];d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)}else d=C(b).apply(null,c); +return d}}function oa(a,b){a=P(a);var c=a.includes("j")?ad(a,b):C(b);"function"!=typeof c&&z("unknown function pointer with signature "+a+": "+b);return c}var qc=void 0;function rc(a){a=sc(a);var b=P(a);U(a);return b}function ab(a,b){function c(g){f[g]||na[g]||(Wa[g]?Wa[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new qc(a+": "+d.map(rc).join([", "]));}function wb(a,b){for(var c=[],d=0;d>2)+d]);return c}function bd(a){for(;a.length;){var b=a.pop();a.pop()(b)}} +function cd(a,b){if(!(a instanceof Function))throw new TypeError("new_ called with constructor type "+typeof a+" which is not a function");var c=pb(a.name||"unknownFunctionName",function(){});c.prototype=a.prototype;c=new c;a=a.apply(c,b);return a instanceof Object?a:c}function xb(a,b,c,d,f){var g=b.length;2>g&&z("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==b[1]&&null!==c,l=!1;for(c=1;c{a||z("Cannot use deleted val. handle = "+a);return R[a].value},qb:a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=yb.length?yb.pop():R.length;R[b]={mb:1,value:a};return b}}};function vb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"=== +b||"function"===b?a.toString():""+a}function dd(a,b){switch(b){case 2:return function(c){return this.fromWireType(Ub[c>>2])};case 3:return function(c){return this.fromWireType(Vb[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function ed(a,b,c){switch(b){case 0:return c?function(d){return M[d]}:function(d){return L[d]};case 1:return c?function(d){return la[d>>1]}:function(d){return Pa[d>>1]};case 2:return c?function(d){return v[d>>2]}:function(d){return E[d>>2]};default:throw new TypeError("Unknown integer type: "+ +a);}}var zb={};function Ba(){if(!Ba.Qb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Ea||"./this.program"},b;for(b in zb)void 0===zb[b]?delete a[b]:a[b]=zb[b];var c=[];for(b in a)c.push(b+"="+a[b]);Ba.Qb=c}return Ba.Qb}function uc(a,b,c,d){for(var f=0,g=0;g>2],l=E[b+4>>2];b+=8;h=e.read(a,M,h,l,d);if(0>h)return-1;f+=h;if(h>>0<4194305-!!a?(a>>>0)+4294967296*b:NaN}function vc(a,b,c,d){for(var f=0,g=0;g>2],l=E[b+4>>2];b+=8;h=e.write(a,M,h,l,d);if(0>h)return-1;f+=h}return f}function bb(a){return 0===a%4&&(0!==a%100||0===a%400)}var wc=[31,29,31,30,31,30,31,31,30,31,30,31],xc=[31,28,31,30,31,30,31,31,30,31,30,31];function fd(a,b,c,d){function f(m,r,x){for(m="number"==typeof m?m.toString():m||"";m.lengthI?-1:0x-m.getDate())r-=x-m.getDate()+1,m.setDate(1),11>B?m.setMonth(B+1):(m.setMonth(0),m.setFullYear(m.getFullYear()+1));else{m.setDate(m.getDate()+r);break}}B=new Date(m.getFullYear()+1,0,4);r=l(new Date(m.getFullYear(),0,4));B=l(B);return 0>=h(r,m)?0>=h(B,m)?m.getFullYear()+1:m.getFullYear():m.getFullYear()-1}var n=v[d+40>>2];d={Vc:v[d>>2],Uc:v[d+4>>2],Ma:v[d+8>>2],pb:v[d+12>>2], +Na:v[d+16>>2],ha:v[d+20>>2],R:v[d+24>>2],ga:v[d+28>>2],Ad:v[d+32>>2],Tc:v[d+36>>2],Wc:n?ka(n):""};c=ka(c);n={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var q in n)c=c.replace(new RegExp(q, +"g"),n[q]);var t="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),u="January February March April May June July August September October November December".split(" ");n={"%a":function(m){return t[m.R].substring(0,3)},"%A":function(m){return t[m.R]},"%b":function(m){return u[m.Na].substring(0,3)},"%B":function(m){return u[m.Na]},"%C":function(m){return g((m.ha+1900)/100|0,2)},"%d":function(m){return g(m.pb,2)},"%e":function(m){return f(m.pb,2," ")},"%g":function(m){return p(m).toString().substring(2)}, +"%G":function(m){return p(m)},"%H":function(m){return g(m.Ma,2)},"%I":function(m){m=m.Ma;0==m?m=12:12m.Ma?"AM":"PM"},"%S":function(m){return g(m.Vc,2)},"%t":function(){return"\t"},"%u":function(m){return m.R||7},"%U":function(m){return g(Math.floor((m.ga+ +7-m.R)/7),2)},"%V":function(m){var r=Math.floor((m.ga+7-(m.R+6)%7)/7);2>=(m.R+371-m.ga-2)%7&&r++;if(r)53==r&&(x=(m.R+371-m.ga)%7,4==x||3==x&&bb(m.ha)||(r=1));else{r=52;var x=(m.R+7-m.ga-1)%7;(4==x||5==x&&bb(m.ha%400-1))&&r++}return g(r,2)},"%w":function(m){return m.R},"%W":function(m){return g(Math.floor((m.ga+7-(m.R+6)%7)/7),2)},"%y":function(m){return(m.ha+1900).toString().substring(2)},"%Y":function(m){return m.ha+1900},"%z":function(m){m=m.Tc;var r=0<=m;m=Math.abs(m)/60;return(r?"+":"-")+String("0000"+ +(m/60*100+m%60)).slice(-4)},"%Z":function(m){return m.Wc},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(q in n)c.includes(q)&&(c=c.replace(new RegExp(q,"g"),n[q](d)));c=c.replace(/\0\0/g,"%");q=Va(c,!1);if(q.length>b)return 0;M.set(q,a);return q.length-1}var yc=function(a,b,c,d){a||(a=this);this.parent=a;this.v=a.v;this.va=null;this.id=e.Cc++;this.name=b;this.mode=c;this.i={};this.l={};this.rdev=d};Object.defineProperties(yc.prototype,{read:{get:function(){return 365===(this.mode& +365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},uc:{get:function(){return e.D(this.mode)}},ab:{get:function(){return e.Ca(this.mode)}}});e.Tb=yc;e.Sc();var Vc;(function(){for(var a=Array(256),b=0;256>b;++b)a[b]=String.fromCharCode(b);hc=a})();ra=k.BindingError=qb(Error,"BindingError");ic=k.InternalError=qb(Error,"InternalError");ea.prototype.isAliasOf=function(a){if(!(this instanceof ea&& +a instanceof ea))return!1;var b=this.h.B.o,c=this.h.m,d=a.h.B.o;for(a=a.h.m;b.L;)c=b.ya(c),b=b.L;for(;d.L;)a=d.ya(a),d=d.L;return b===d&&c===a};ea.prototype.clone=function(){this.h.m||rb(this);if(this.h.xa)return this.h.count.value+=1,this;var a=Aa,b=Object,c=b.create,d=Object.getPrototypeOf(this),f=this.h;a=a(c.call(b,d,{h:{value:{count:f.count,ia:f.ia,xa:f.xa,m:f.m,B:f.B,G:f.G,K:f.K}}}));a.h.count.value+=1;a.h.ia=!1;return a};ea.prototype["delete"]=function(){this.h.m||rb(this);this.h.ia&&!this.h.xa&& +z("Object already scheduled for deletion");jc(this);kc(this.h);this.h.xa||(this.h.G=void 0,this.h.m=void 0)};ea.prototype.isDeleted=function(){return!this.h.m};ea.prototype.deleteLater=function(){this.h.m||rb(this);this.h.ia&&!this.h.xa&&z("Object already scheduled for deletion");xa.push(this);1===xa.length&&ya&&ya(tb);this.h.ia=!0;return this};k.getInheritedInstanceCount=function(){return Object.keys(za).length};k.getLiveInheritedInstances=function(){var a=[],b;for(b in za)za.hasOwnProperty(b)&& +a.push(za[b]);return a};k.flushPendingDeletes=tb;k.setDelayFunction=function(a){ya=a;xa.length&&ya&&ya(tb)};aa.prototype.qc=function(a){this.Pb&&(a=this.Pb(a));return a};aa.prototype.zb=function(a){this.fa&&this.fa(a)};aa.prototype.argPackAdvance=8;aa.prototype.readValueFromPointer=$a;aa.prototype.deleteObject=function(a){if(null!==a)a["delete"]()};aa.prototype.fromWireType=function(a){function b(){return this.Ga?Ya(this.o.ka,{B:this.Ic,m:c,K:this,G:a}):Ya(this.o.ka,{B:this,m:a})}var c=this.qc(a); +if(!c)return this.zb(a),null;var d=Wc(this.o,c);if(void 0!==d){if(0===d.h.count.value)return d.h.m=c,d.h.G=a,d.clone();d=d.clone();this.zb(a);return d}d=this.o.oc(c);d=mc[d];if(!d)return b.call(this);d=this.Da?d.ac:d.pointerType;var f=lc(c,this.o,d.o);return null===f?b.call(this):this.Ga?Ya(d.o.ka,{B:d,m:f,K:this,G:a}):Ya(d.o.ka,{B:d,m:f})};qc=k.UnboundTypeError=qb(Error,"UnboundTypeError");k.count_emval_handles=function(){for(var a=0,b=5;bf?-28:e.xb(d,f).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=A.get(),d.flags|= +f,0;case 5:return f=A.get(),la[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return v[zc()>>2]=28,-1;default:return-28}}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_fstat64:function(a,b){try{var c=A.X(a);return A.Ba(e.stat,c.path,b)}catch(d){if("undefined"==typeof e||!(d instanceof e.g))throw d;return-d.A}},__syscall_lstat64:function(a,b){try{return a=A.sa(a),A.Ba(e.lstat,a,b)}catch(c){if("undefined"==typeof e||!(c instanceof e.g))throw c; +return-c.A}},__syscall_newfstatat:function(a,b,c,d){try{b=A.sa(b);var f=d&256;b=A.Sa(a,b,d&4096);return A.Ba(f?e.lstat:e.stat,b,c)}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_openat:function(a,b,c,d){A.za=d;try{b=A.sa(b);b=A.Sa(a,b);var f=d?A.get():0;return e.open(b,c,f).fd}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_stat64:function(a,b){try{return a=A.sa(a),A.Ba(e.stat,a,b)}catch(c){if("undefined"==typeof e||!(c instanceof +e.g))throw c;return-c.A}},__syscall_unlinkat:function(a,b,c){try{return b=A.sa(b),b=A.Sa(a,b),0===c?e.unlink(b):512===c?e.rmdir(b):Q("Invalid flags passed to unlinkat"),0}catch(d){if("undefined"==typeof e||!(d instanceof e.g))throw d;return-d.A}},_embind_register_bigint:function(){},_embind_register_bool:function(a,b,c,d,f){var g=nb(c);b=P(b);Z(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,l){return l?d:f},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var l=M;else if(2=== +c)l=la;else if(4===c)l=v;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(l[h>>g])},S:null})},_embind_register_class:function(a,b,c,d,f,g,h,l,p,n,q,t,u){q=P(q);g=oa(f,g);l&&(l=oa(h,l));n&&(n=oa(p,n));u=oa(t,u);var m=ob(q);oc(m,function(){ab("Cannot construct "+q+" due to unbound types",[d])});sa([a,b,c],d?[d]:[],function(r){r=r[0];if(d){var x=r.o;var B=x.ka}else B=ea.prototype;r=pb(m,function(){if(Object.getPrototypeOf(this)!==I)throw new ra("Use 'new' to construct "+ +q);if(void 0===da.Z)throw new ra(q+" has no accessible constructor");var Ac=da.Z[arguments.length];if(void 0===Ac)throw new ra("Tried to invoke ctor of "+q+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(da.Z).toString()+") parameters instead!");return Ac.apply(this,arguments)});var I=Object.create(B,{constructor:{value:r}});r.prototype=I;var da=new Xc(q,r,I,u,x,g,l,n);x=new aa(q,da,!0,!1,!1);B=new aa(q+"*",da,!1,!1,!1);var K=new aa(q+" const*",da,!1,!0,!1);mc[a]= +{pointerType:B,ac:K};pc(m,r);return[x,B,K]})},_embind_register_class_constructor:function(a,b,c,d,f,g){0{ab("Cannot construct "+ +l.name+" due to unbound types",h)};sa([],h,function(n){n.splice(1,0,null);l.o.Z[b-1]=xb(p,n,null,f,g);return[]});return[]})},_embind_register_class_function:function(a,b,c,d,f,g,h,l){var p=wb(c,d);b=P(b);g=oa(f,g);sa([],[a],function(n){function q(){ab("Cannot call "+t+" due to unbound types",p)}n=n[0];var t=n.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);l&&n.o.Jc.push(b);var u=n.o.ka,m=u[b];void 0===m||void 0===m.F&&m.className!==n.name&&m.Aa===c-2?(q.Aa=c-2,q.className=n.name,u[b]=q): +(nc(u,b,t),u[b].F[c-2]=q);sa([],p,function(r){r=xb(t,r,n,g,h);void 0===u[b].F?(r.Aa=c-2,u[b]=r):u[b].F[c-2]=r;return[]});return[]})},_embind_register_emval:function(a,b){b=P(b);Z(a,{name:b,fromWireType:function(c){var d=Za.Xc(c);tc(c);return d},toWireType:function(c,d){return Za.qb(d)},argPackAdvance:8,readValueFromPointer:$a,S:null})},_embind_register_float:function(a,b,c){c=nb(c);b=P(b);Z(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){return f},argPackAdvance:8,readValueFromPointer:dd(b, +c),S:null})},_embind_register_function:function(a,b,c,d,f,g){var h=wb(b,c);a=P(a);f=oa(d,f);oc(a,function(){ab("Cannot call "+a+" due to unbound types",h)},b-1);sa([],h,function(l){l=[l[0],null].concat(l.slice(1));pc(a,xb(a,l,null,f,g),b-1);return[]})},_embind_register_integer:function(a,b,c,d,f){b=P(b);-1===f&&(f=4294967295);f=nb(c);var g=l=>l;if(0===d){var h=32-8*c;g=l=>l<>>h}c=b.includes("unsigned")?function(l,p){return p>>>0}:function(l,p){return p};Z(a,{name:b,fromWireType:g,toWireType:c, +argPackAdvance:8,readValueFromPointer:ed(b,f,0!==d),S:null})},_embind_register_memory_view:function(a,b,c){function d(g){g>>=2;var h=E;return new f(Qa,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);Z(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{sc:!0})},_embind_register_std_string:function(a,b){b=P(b);var c="std::string"===b;Z(a,{name:b,fromWireType:function(d){var f=E[d>>2];if(c)for(var g=d+4,h=0;h<= +f;++h){var l=d+4+h;if(h==f||0==L[l]){g=ka(g,l-g);if(void 0===p)var p=g;else p+=String.fromCharCode(0),p+=g;g=l+1}}else{p=Array(f);for(h=0;hOa(f):()=>f.length)(),l=cb(4+h+1);E[l>>2]=h;if(c&&g)Na(f, +L,l+4,h+1);else if(g)for(g=0;gPa;var l=1}else 4===b&&(d=Oc,f=Pc,g=Qc,h=()=>E,l=2);Z(a,{name:c,fromWireType:function(p){for(var n=E[p>>2],q=h(),t,u=p+4,m=0;m<= +n;++m){var r=p+4+m*b;if(m==n||0==q[r>>l])u=d(u,r-u),void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),u=r+b}U(p);return t},toWireType:function(p,n){"string"!=typeof n&&z("Cannot pass non-string to C++ string type "+c);var q=g(n),t=cb(4+q+b);E[t>>2]=q>>l;f(n,t+4,q+b);null!==p&&p.push(U,t);return t},argPackAdvance:8,readValueFromPointer:$a,S:function(p){U(p)}})},_embind_register_void:function(a,b){b=P(b);Z(a,{od:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},_emval_decref:tc, +_emval_incref:function(a){4>2]=l.Xb;return p}catch(n){if("undefined"==typeof e||!(n instanceof e.g))throw n;return-n.A}},_munmap_js:function(a,b,c,d,f,g){try{var h=e.W(f);h&&c&2&&A.jc(a,h,b,d,g)}catch(l){if("undefined"==typeof e||!(l instanceof +e.g))throw l;return-l.A}},abort:function(){Q("")},emscripten_memcpy_big:function(a,b,c){L.copyWithin(a,b,b+c)},emscripten_resize_heap:function(a){var b=L.length;a>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math;d=Math.max(a,d);f=f.min.call(f,2147483648,d+(65536-d%65536)%65536);a:{try{La.grow(f-Qa.byteLength+65535>>>16);Wb(La.buffer);var g=1;break a}catch(h){}g=void 0}if(g)return!0}return!1},environ_get:function(a,b){var c=0;Ba().forEach(function(d, +f){var g=b+c;f=E[a+4*f>>2]=g;for(g=0;g>0]=d.charCodeAt(g);M[f>>0]=0;c+=d.length+1});return 0},environ_sizes_get:function(a,b){var c=Ba();E[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});E[b>>2]=d;return 0},fd_close:function(a){try{var b=A.X(a);e.close(b);return 0}catch(c){if("undefined"==typeof e||!(c instanceof e.g))throw c;return c.A}},fd_pread:function(a,b,c,d,f,g){try{var h=Ab(d,f);if(isNaN(h))return 61;var l=A.X(a),p=uc(l,b,c,h);v[g>>2]=p;return 0}catch(n){if("undefined"== +typeof e||!(n instanceof e.g))throw n;return n.A}},fd_pwrite:function(a,b,c,d,f,g){try{var h=Ab(d,f);if(isNaN(h))return 61;var l=A.X(a),p=vc(l,b,c,h);v[g>>2]=p;return 0}catch(n){if("undefined"==typeof e||!(n instanceof e.g))throw n;return n.A}},fd_read:function(a,b,c,d){try{var f=A.X(a),g=uc(f,b,c);v[d>>2]=g;return 0}catch(h){if("undefined"==typeof e||!(h instanceof e.g))throw h;return h.A}},fd_seek:function(a,b,c,d,f){try{var g=Ab(b,c);if(isNaN(g))return 61;var h=A.X(a);e.J(h,g,d);W=[h.position>>> +0,(J=h.position,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];v[f>>2]=W[0];v[f+4>>2]=W[1];h.Xa&&0===g&&0===d&&(h.Xa=null);return 0}catch(l){if("undefined"==typeof e||!(l instanceof e.g))throw l;return l.A}},fd_write:function(a,b,c,d){try{var f=A.X(a),g=vc(f,b,c);E[d>>2]=g;return 0}catch(h){if("undefined"==typeof e||!(h instanceof e.g))throw h;return h.A}},getTempRet0:function(){return Kc()},invoke_diii:gd,invoke_fiii:hd, +invoke_i:jd,invoke_ii:kd,invoke_iii:ld,invoke_iiii:md,invoke_iiiii:nd,invoke_iiiiii:od,invoke_iiiiiii:pd,invoke_iiiiiiii:qd,invoke_iiiiiiiiiii:rd,invoke_iiiiiiiiiiii:sd,invoke_iiiiiiiiiiiii:td,invoke_iiiiij:ud,invoke_jiiii:vd,invoke_v:wd,invoke_vi:xd,invoke_vii:yd,invoke_viii:zd,invoke_viiii:Ad,invoke_viiiiiii:Bd,invoke_viiiiiiiiii:Cd,invoke_viiiiiiiiiiiiiii:Dd,llvm_eh_typeid_for:function(a){return a},setTempRet0:function(a){N(a)},strftime_l:function(a,b,c,d){return fd(a,b,c,d)}};(function(){function a(f){k.asm= +f.exports;La=k.asm.memory;Wb(La.buffer);Xb=k.asm.__indirect_function_table;Zb.unshift(k.asm.__wasm_call_ctors);Ra("wasm-instantiate")}function b(f){a(f.instance)}function c(f){return Sc().then(function(g){return WebAssembly.instantiate(g,d)}).then(function(g){return g}).then(f,function(g){T("failed to asynchronously prepare wasm: "+g);Q(g)})}var d={env:Bc,wasi_snapshot_preview1:Bc};mb("wasm-instantiate");if(k.instantiateWasm)try{return k.instantiateWasm(d,a)}catch(f){return T("Module.instantiateWasm callback failed with error: "+ +f),!1}(function(){return ua||"function"!=typeof WebAssembly.instantiateStreaming||ac(O)||O.startsWith("file://")||"function"!=typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){T("wasm streaming compile failed: "+g);T("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();k.___wasm_call_ctors=function(){return(k.___wasm_call_ctors=k.asm.__wasm_call_ctors).apply(null,arguments)};k._main=function(){return(k._main= +k.asm.main).apply(null,arguments)};var cb=k._malloc=function(){return(cb=k._malloc=k.asm.malloc).apply(null,arguments)},zc=k.___errno_location=function(){return(zc=k.___errno_location=k.asm.__errno_location).apply(null,arguments)},U=k._free=function(){return(U=k._free=k.asm.free).apply(null,arguments)},sc=k.___getTypeName=function(){return(sc=k.___getTypeName=k.asm.__getTypeName).apply(null,arguments)};k.___embind_register_native_and_builtin_types=function(){return(k.___embind_register_native_and_builtin_types= +k.asm.__embind_register_native_and_builtin_types).apply(null,arguments)};k.___dl_seterr=function(){return(k.___dl_seterr=k.asm.__dl_seterr).apply(null,arguments)};var gc=k._emscripten_builtin_memalign=function(){return(gc=k._emscripten_builtin_memalign=k.asm.emscripten_builtin_memalign).apply(null,arguments)},D=k._setThrew=function(){return(D=k._setThrew=k.asm.setThrew).apply(null,arguments)},F=k.stackSave=function(){return(F=k.stackSave=k.asm.stackSave).apply(null,arguments)},G=k.stackRestore=function(){return(G= +k.stackRestore=k.asm.stackRestore).apply(null,arguments)},Bb=k.stackAlloc=function(){return(Bb=k.stackAlloc=k.asm.stackAlloc).apply(null,arguments)};k.___cxa_demangle=function(){return(k.___cxa_demangle=k.asm.__cxa_demangle).apply(null,arguments)};var db=k.___cxa_can_catch=function(){return(db=k.___cxa_can_catch=k.asm.__cxa_can_catch).apply(null,arguments)},cc=k.___cxa_is_pointer_type=function(){return(cc=k.___cxa_is_pointer_type=k.asm.__cxa_is_pointer_type).apply(null,arguments)};k.dynCall_ji=function(){return(k.dynCall_ji= +k.asm.dynCall_ji).apply(null,arguments)};k.dynCall_viijj=function(){return(k.dynCall_viijj=k.asm.dynCall_viijj).apply(null,arguments)};k.dynCall_iij=function(){return(k.dynCall_iij=k.asm.dynCall_iij).apply(null,arguments)};k.dynCall_iijj=function(){return(k.dynCall_iijj=k.asm.dynCall_iijj).apply(null,arguments)};k.dynCall_viij=function(){return(k.dynCall_viij=k.asm.dynCall_viij).apply(null,arguments)};k.dynCall_ij=function(){return(k.dynCall_ij=k.asm.dynCall_ij).apply(null,arguments)};k.dynCall_iiiji= +function(){return(k.dynCall_iiiji=k.asm.dynCall_iiiji).apply(null,arguments)};k.dynCall_iiiij=function(){return(k.dynCall_iiiij=k.asm.dynCall_iiiij).apply(null,arguments)};k.dynCall_vij=function(){return(k.dynCall_vij=k.asm.dynCall_vij).apply(null,arguments)};k.dynCall_jiji=function(){return(k.dynCall_jiji=k.asm.dynCall_jiji).apply(null,arguments)};var Cc=k.dynCall_iiiiij=function(){return(Cc=k.dynCall_iiiiij=k.asm.dynCall_iiiiij).apply(null,arguments)};k.dynCall_viijii=function(){return(k.dynCall_viijii= +k.asm.dynCall_viijii).apply(null,arguments)};var Dc=k.dynCall_jiiii=function(){return(Dc=k.dynCall_jiiii=k.asm.dynCall_jiiii).apply(null,arguments)};k.dynCall_iiiiijj=function(){return(k.dynCall_iiiiijj=k.asm.dynCall_iiiiijj).apply(null,arguments)};k.dynCall_iiiiiijj=function(){return(k.dynCall_iiiiiijj=k.asm.dynCall_iiiiiijj).apply(null,arguments)};function ld(a,b,c){var d=F();try{return C(a)(b,c)}catch(f){G(d);if(f!==f+0)throw f;D(1,0)}}function kd(a,b){var c=F();try{return C(a)(b)}catch(d){G(c); +if(d!==d+0)throw d;D(1,0)}}function zd(a,b,c,d){var f=F();try{C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function md(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function wd(a){var b=F();try{C(a)()}catch(c){G(b);if(c!==c+0)throw c;D(1,0)}}function Ad(a,b,c,d,f){var g=F();try{C(a)(b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}function yd(a,b,c){var d=F();try{C(a)(b,c)}catch(f){G(d);if(f!==f+0)throw f;D(1,0)}}function pd(a,b,c,d,f,g,h){var l=F();try{return C(a)(b, +c,d,f,g,h)}catch(p){G(l);if(p!==p+0)throw p;D(1,0)}}function xd(a,b){var c=F();try{C(a)(b)}catch(d){G(c);if(d!==d+0)throw d;D(1,0)}}function jd(a){var b=F();try{return C(a)()}catch(c){G(b);if(c!==c+0)throw c;D(1,0)}}function od(a,b,c,d,f,g){var h=F();try{return C(a)(b,c,d,f,g)}catch(l){G(h);if(l!==l+0)throw l;D(1,0)}}function qd(a,b,c,d,f,g,h,l){var p=F();try{return C(a)(b,c,d,f,g,h,l)}catch(n){G(p);if(n!==n+0)throw n;D(1,0)}}function rd(a,b,c,d,f,g,h,l,p,n,q){var t=F();try{return C(a)(b,c,d,f,g, +h,l,p,n,q)}catch(u){G(t);if(u!==u+0)throw u;D(1,0)}}function nd(a,b,c,d,f){var g=F();try{return C(a)(b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}function td(a,b,c,d,f,g,h,l,p,n,q,t,u){var m=F();try{return C(a)(b,c,d,f,g,h,l,p,n,q,t,u)}catch(r){G(m);if(r!==r+0)throw r;D(1,0)}}function hd(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function gd(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function Bd(a,b,c,d,f,g,h,l){var p= +F();try{C(a)(b,c,d,f,g,h,l)}catch(n){G(p);if(n!==n+0)throw n;D(1,0)}}function sd(a,b,c,d,f,g,h,l,p,n,q,t){var u=F();try{return C(a)(b,c,d,f,g,h,l,p,n,q,t)}catch(m){G(u);if(m!==m+0)throw m;D(1,0)}}function Cd(a,b,c,d,f,g,h,l,p,n,q){var t=F();try{C(a)(b,c,d,f,g,h,l,p,n,q)}catch(u){G(t);if(u!==u+0)throw u;D(1,0)}}function Dd(a,b,c,d,f,g,h,l,p,n,q,t,u,m,r,x){var B=F();try{C(a)(b,c,d,f,g,h,l,p,n,q,t,u,m,r,x)}catch(I){G(B);if(I!==I+0)throw I;D(1,0)}}function ud(a,b,c,d,f,g,h){var l=F();try{return Cc(a, +b,c,d,f,g,h)}catch(p){G(l);if(p!==p+0)throw p;D(1,0)}}function vd(a,b,c,d,f){var g=F();try{return Dc(a,b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}k.print=ta;k.printErr=T;k.ALLOC_NORMAL=0;k.ALLOC_STACK=1;var eb;function Ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}va=function b(){eb||Cb();eb||(va=b)};function Ed(b){var c=k._main;b=b||[];b.unshift(Ea);var d=b.length,f=Bb(4*(d+1)),g=f>>2;b.forEach(p=>{var n=v,q=g++,t=Oa(p)+1,u=Bb(t);Na(p,M,u,t); +n[q]=u});v[g]=0;try{var h=c(d,f);Fd(h,!0);return h}catch(p){if(p instanceof Ka||"unwind"==p)var l=Ma;else Fa(1,p),l=void 0;return l}finally{}}function Cb(b){function c(){if(!eb&&(eb=!0,k.calledRun=!0,!kb)){k.noFSInit||e.Y.Za||e.Y();e.Mb=!1;ca.Y();Sa(Zb);Sa(Rc);if(k.onRuntimeInitialized)k.onRuntimeInitialized();Ec&&Ed(b);if(k.postRun)for("function"==typeof k.postRun&&(k.postRun=[k.postRun]);k.postRun.length;)$b.unshift(k.postRun.shift());Sa($b)}}b=b||hb;if(!(0($o#(5nbC~Yx(adyD&j`ws^4Ua!};=iS>|S%$%A z5CTgA+jrQA97GTxK!6Y;i)b&{G?;ljV7OeJ*vI;lWt@BnrJ4}Tnq ztvgT~I}Ft&IRK5={o4PvVJKp$)CeFx(9^D94fa-11MF&N481FN#kMBiM)O@;+@T^( zRjN**n0j*3%1KMQG=}H~QAJ3J>#pLy6Bt1*R&XV8QayJFxS%%Qzh)39?@*9z1y7d0 zpBSFAOMcdzU3T1lc*d+*v%HiF`ew}7`j<0jY&&btHZyjZIe+WzX3hE8jIDJt zH3~l)p8uoa9d`QR@cd0(NoB^2xx@2z-eLG#zubCwr}?vXoZ|(mnTtF364o-h-bJIO z|G;Qpacw$h&)#K+8N=JnnE$JthG%UvW7{3)dY+mxr~v)x@Xuz=aR9pVLOdvgWK^^4 zY7T>uA>wtYG}{Em!TKq9|F!G5*lYmwv%He}Xi^V^yrc?xXAJM~Q;}{iV9lF9Ja@*n zJI~qLDAK9>J>%|gJ$vT7dERv0{M^JhTV4E_Y7I?NYwI27%$q-V=dI^MARDVf#a(93 zo-uzW{N-flVMozY8-avLw|Z@|YL{7_uj`tl+05CqcZ6ocGlpZ%8u1J6_WbSU?)VFb zd6z5McJ6R{WfOyr2#{HGww^n@ts{4{Y@6ZsvKi1~c<%fe+s>Rd+X+Z&=1+H=JKu4v zdmQGw>^N&12k-cMKizT1*^W!KaqVW!nLqrq;koYic%E!Kd&imc9a??k+RmH5%?t>Q zTDXz>C#>;{sESF&_z{dVleOPrc!wS5{%Xc9vxcE<&o5@qn>AzJoS8e#+iu7CGj^Ig ztn$CiZi_I_-f`Zrlg;ko9p-I4ch*kxhv&?o`PMuAYQ|4z{cO_K6*xR=?v8V2%$xPU zhUd*dp}oW;0~MN8t&&6o#hdr5d0QhIGq&A&&ivV%eZ^Uh_VRi2XU?bGv_5RrZ!bn* zn%&G9{>8Ss1<_4m+j^Sa-XuR`hn?r_FmtCFBlEnxK*`S7q5ZOLq#bt}p3~NyK|62O z&$gR6XPenD-k${93}l@}S@VZo)1EelU>hOx zjO~VJ?&P@D>vRRnFmvahZ8yKAT=Seg9dh?gH+C4F(^diCw%vNio#)JVS`<|@#ro8W zpL0FV9X5?cie~LF6A^1^wJB=TB+hbRc8qG|bg*NT@o-!yk1E5WOc8II=2F&jmX}je z(=>0Zl16*UHYyoZNwYKg2>p3x^zx|Fw)1E0Fg#uSoFF|F#C)In!-r`dt}_=av& z$KOz^S>8VwB=g$5no*-VPO(ubEQeQ{LdWw>^ynLG_U0zOpof_?&V&!?6C`(Dxu_)7+!A8_g=16A_YfgMcog5B*R|AJ&zwl0h;-`v6cFoqp+vK7Cd3lXT97=aqc^=$0bYU^Gq=X^;Y? zM3PP^^b#q$1yky&qg2XE1EIPR1lFUf`Dw4%9~A3?87fepj=W@&Q|_w0!_Z@Zq)LRf zRTb!d5df($lmL@7MlO+rpdN!UP%`LD`6-YODxWVFD}U|vYGB&>Ll8V6xYIsn?o zdZLig!QMAO94uml=$a@7Uh$hn-z$F0557%rNoX@v1T)cP=qtXL0)0r}4?%?BJIO@4 zvK0f>L}x=B2)U*PjRjf2)n6BZH<_Z4Ya>0#iyIjU3FAUtu&0BXIznC&REC;Kti2kf zjEz3>1K?op2uxurW$06AJ^Phj?<ey~9? zu|dl3`I|q-Bjh9(K#=i!iv4~rl__RY89!Id_{CIDCeuxMF4g)6yg{;<$>oC}lgp*N zTrQK#q&ojgZVF&#a;bbNEGW#`FMI%QZGvCvJgBzcv< zNeV$%HoE0;wuBR40*wWbU?vURsz;=sqNqXxoXMs=5Y8GgX{{ z&Ly~}0VIt4r2#pgN(&-yYBI=rUbb8SZD6W!BI4qzw&O+f!-q9kEU zmb?o6ROSQ!~#i7pxs;m?oORU`(9YBx;-JG9olXgQQqCNp@20KdSv^a=OPZJ=ikKG%xxL^_jBc3=+!mhrE5IlCJ`x6?(9S>-fy8c+Lwbt=pfeax0mzFD z2r7fYBWfm-|5WvooBMv1`szXS60TlQ-cTb28~Z=l!V9W>g)Eow+)xp_fn-q zVw2=Qm&-r=7imutsWk8bVUtZt2&NT5N&Oi~bP7|@Y%fxF&S(awry9kpP;79+Y$BT~ zWqt&J;sy652%OTNs+WDcv;w=X_Wd{2fb?VkXf56e7LBC;f}wBofA#-6Tty({c#s=x zzNAQ|4CRsVSOLaEB1n@AwIVflkQh)A)00ixl`?UYnE;@24Xglq3t%=PINl`vGU#$% zE*Qm}Emd5?m^4L8Fb5{ZX;_@i9Lh@I|~W!A6^h(M%s>2w-k zQmJGnonbsIC_`YlR7YIGI{2wlicm2Wr950*;O7AX(oqRR3S5?}n!FJP7EGL_lj z&$r}SA648T3bmBrP z176{{mzF#W-^4V}n=%EHsk)LUu}j1tsFi3TCSTx6@?!=NhKcrsd? z&+q;_FSU{UTGH#5!-YJQQItw{OAAy-tof^rzV7GwO660Xoebyu9o*GN-_2um;R^K4 z4QDTt9rgzi6)7>XF(pl9kTirY#K+`1;D1WqCO0LQ3#MfF_A*`$F4(7o`}`B&`qPDd zS*h-{{nId#2`VG*`ZjS9*nj``2uX+W3U;MZf0p(-v20QmKaGt1na2q_MjU{ABJtqY zflL#%(n2Rjv0-I-3@ zAMm(=L@JGKl{hs(;w#;SP=2D8A%xE7)4A?iuII~@ZIc;)C;y1b5f$XoUyxt0AV}v} z=V>h1_wJyOxi&eNc8RmVBY#BJYzMNvs^bG#pR7zA;MDk}Lh`>|x&{ku*Ga?wlQGSoTx-?0tHYN^N?pd&r6?0Zumh`!jbK_V(=g z5|zg!eMvpd+GThK$)*`U-FepR`DCb-zMkjp)kEfVo7toZ$PLf+4(aJ@%M&%Lg2v3* zvwk+md#Wd^ti*P6Nd&&slOq+j_4fZVbC+T7=>DQz{BU?4*bRHf^pharW<%*(@7VrQ zGl8_j%sD@sJ?t&*k8C=I zbTqF>sEmww`)yEY7I5wDzd^C>a>P5Jb*=i|!VTiyxH_=a8z~C9KWJ0|H4bidzYCX# zw7MHn{Y4v;TEnRe@6c9>1|*$xSgTK$2swO%^5{k*-r^0yQANV+hz)Y<27RyL7Zz7; zs$EjuzqXHmK<%Jf{t*9`zU%#e{^7Fp(dpyU%hM;P??~U3{_&mZfB%>N@!$UANB{G` z|L2UK%>3!r+YE2}v+ZWg8rgp9**nbHai^dE$J}}Ici!a}!@vC1|N7s%{`x=W{${rY z{_g%B{_vjuulDly_IvC5`$zO2)AdisbS?A`^bhhE`pf-${44w3_TTZ}_22hDuaNs%sryrpbNxhW zb?TwigQd#5$-O8>O<_30bZH>TGm zZc49A-<-ZJb$|N7^lRyTGy7)_$Slkpl3A2lnmIDFEVDdwV&>$`shPtwhh>h)tWCe3 zek1*6dR_Xh^xNro(z|E&$n2HbJF`z_zs!M|gE9wa4$UmiEXf?5IVN*#=D5u9nG-T6 zWlqW5nz=LcVCLb>n#?nqw=*AQ-phQD*(ZBZ_R{R{vX^Bq$$muHZP`1r_hs+NzMFkJ z`wk_7^swCFxyAfDB6no&D2@jPhx#X2$>Q9S+%cRT%fDlCOLNENmgSDmEzfN>CavJ4?{E7LSa!dT@b64iB z%H5hfDZeIpZ|>pT6S>v7Cv%VHPUia6+#9)^QX}NGr1M{ z)AM`gAIUArAC%Ym9-JSYKbX6x=J(3)&DAmaL+omw{IU5(`F-ttzx>ktq4_iNXXbAM zr@L}@=kCdgM$7WY=a0)T&kMho^RMJr`H$zH$RCq?F26eeOny!NSzx~``%wPj{3H42 z^N;2arQQSi2krP;er^8s{2Tc<^Xu|&Sq}#W(7td`Vb8)|g{8T@3;PuIE9_r5ps=u@ z{tx#L43_2&E*w%=Tv$|CoLf{lf`5zncO?IgDqNafR9Hg!;r`+Nq5?cD99B4-IHj;AIJIzE;q<~8g)^=Ha|+7}A7#!ftVy0<(7#Iy7Zolp zTvE8Ka5-aKU$}u*R}_8^WY-q1EL>H%x^PY5y21;F%i`S1!p((StcL@N3yTL9_bx8! zSeiSixNmX4;?j=eI`%K_RXnoe)Z%HyQwl4Jrx(vEo?X18czN;4;*G_X#aoKE7H=!w zQM|Lbs(4rN?&3YgdyDrK?=L=3e5m+vadq+W;v>Z;i%%7wEhjk zoZfL($Jrg{bo{pC+>Y})J}jQ!aY4t09T#=HU%Z&BWng@J@vzb>{sE&&D%+mR#a|#!f zq?tFDZYkYbx~+73>5kH!rB$W7OZSu(=k6^%%w5UaBc(@6kCh%TJyDW0tSLQNdbadp z>ABMLr58#sm0m8rQhK%YT4`66k&9QQ2mRomA5vb(_2Tjo<-<81T|TC~gyV7LW#y&i6Urx-Pbr^RKB>H%veU{d%BONXqkLxh zbdG12&nch9@%-`y#Bm#^e_ZTY(LHRW5%x0Y`! z-^}%$nuY7;`f%1dphsqC^A1Oateysd>`HAxC@{{GK%1@V{DX%F%TYj$m zeEEg)i{+QfFPC2_zgm8+ytaII`JVD!^zcUc&GPFU-zvXdUdQp>@_XfXIDT0EsQdxP zPs$6zk2&rU?iubLzE|2i+$Y?N<9^}(;l3OX2^WP2b37$HH9R>yE0ndy8in_TE5n<@ zo5Nee+rn4;JHu7sUE!_a{)OAa>%tquyTg0JJ3`fZgj$b=kA+W!OZ=z9XTmk%hPiP;qck;sqi^^d@+1ET%5ZpTpPYly*ESEdo5fSzD2#a!*{}Uoo{!()A?-pM)+#D zuySDKlW_OSg32D1HCTbgxjifUSN5tb&h1m#x3XVlY3_i^(#mm_qbf@(M^_H6NFENV z98y_SIka+EWpU;3%8`}jl@lrs`V%W|w38}tg(p`|shnDQHaxAeqH=oWjLMmnvnpp- z&Z*oV{I+s#<&w&Im7`1NGtLE-ix}nN%I_+dRW7ewQTcu4N~?8MST3K6pt+J-_Y-L^L^~&Cz2Y0?z5!KJ{yrA>K&Wk!P?!2V41=ppW zN0)xriS_Kfyz}>+S9D(4c~$52oi}t|*Lh>-)t&cr-rKpV^W?%^op*QM*Lin ziyxx%1Dy|cJ_L;)?iANncRtbiWam?zw}sDiKHvF5=Zl?d7~$E@M>-$te7y6e&X+r% z>wKm2)y~&D-(Z|KJJ)u;1Rvk+e6REUXoQbD9c9;qA9cPJe$x3t=ZBq3a|@>IK4q^d zdr#SC%AQlCt80=6PFXbN&?$#aIcUnYQ*N5_?iBIs?J4g~d4I|WQ$C#X(Ugy;d@@D2 zUzXjYYtODDyVhh5=vvryP}d&apLAW?^}DVsx^C>+t9$qEkGocO-OOiY*8^Q^x?boy zpnG}up4|(&FX_Ih`{M2=x>t8U*}bNFkDgRQ!( zRoB&BS9aarbw}5oU8}n8>bkq@jqZE8?(JIF{Z{uAU8}pEG%hl`MZ+3ss{bBce-52&;)N^sqy*>B!Jkaw< z&#La_J#Y1`>R#4$Yv1`P#d{z0yx8|r-^+a;_I%QFX==~vg6jU&SN-Sxv#M+SbF1f9 z52=3jmgHsCr~S*TS5~j6UQ@lcdO-ED>RHtXt55Vjkv^ttQT5R3;nl^}BdSMLS26UG z>M_-0t4piL@j1SFLUnod#Oejri>en^FRor+y{URbb!GL&>dn<#s<)16cRTIwq|K@c z+CAvMQGKQQX7z>Yi`AE_2UQQY&${Yc)wiqfRNt+>SH0MOzxt5>LG`%Aht=Z~A61ui z?N{5owoh%Lzh`Z)+P<}gwS%h*f$xyovaTC~SF1uX}rM>3yL0!QO{^AL)IR+E4U8+V_0#i@o<%U+R6n@8#ZCdSB~(uJ6O%k9v2n z?@>R$c0hfZzp#E_{h<26^+W25>W9`3s~=upTtA|IWc{f6lKRp0W9rA&m)4J~FRLG4 zUtT|ZjIEtFNe^UO%ILX8o-C+4XbkzpbBJKd*j%{et?1^$Ys$tlw0> zr0>$c-}T*EUsb=bc2Vu(+G9PJ)E?}4qyA?7(%RlVzpEY8cSzr1eT(~!>|4@zOyAPJ zWqr&0PV76m@6^5(eTM{B1cz5|uHRB$P<^7ly8dMSsru9PXX-0^*VLb_KUd$c{!;zr z`m6P|_1EjGy4Tg;s((^n(6?vbUVVG_?b~-i-|l^T^j(vAs=80#etir3B+Lu_yXtq> z@2THgzpws4{lWUf^z}&n(fVWch5qyP=j$)jSM;ptd6Dmh{@e9;xR%7eTYr!HW3S(@ ze-PdO(C&}E)@Ya4uBiRKrn4(+SJkdT)~>DHUc0AuU+sa~L$!x%kJeV#o~k`V`HQvJ zYj4%wuDw%xxAtD`{n|&hk87V$zEAJIy$ALl)O&F6A-zZT9@V?hU($Pg?}@!9^`6{& zO7CgCD|*%YIlaH_J-7F~-V1s!>b% ztyTQHJFYiT**(3F)5CMUuk!st?jK@RNviw z_w?P@_hkCbzEyqe`lO?;_Py4(&|lm4I>&u${cjsu%dn8|QT##Q!Tk&SKj!S9{sa0y z;do&GzWsajquP89=d+m4q5Yrq>|6T;E4HuH-CxpwT>rBE^ZL*4zp(%G{?+}5OkFhf z(5bKWztO+0f6on;_vqiU>b?DkSMO))%i!G)(94VcPw@Rx|I2*8(*Jt@oBeO~zuo^1 zS4T`;=pV&r37@0+9K+{WKF9G{#%KA|6Zk%H>PdW`Z0Dy=J&p4fe9qu=CZDtToXzK4 zKIikffX_vIF6MIypG*0;u`lE7az0n^`Tf)@`M#RZHGHn+a~+=>_}s|nCO#|q+`{Kp zKDY6?ozES7?&Py->Ro)_&F3CI_wsoOZ0?(SKW7hE&ks#~bn0VMAD{Zf)YX(d$>(V+ zR}atdSu=Ib)MuwY$Jz6IUgYyqRQmGNS2%l>&ue_vPJMmq8<$x{mX=_`J>MT|R36 z-qiOwTRZiGsULFuh|kAUKbgAw20HGs!CoBq;ZqErNamk-^_#a$J*3M|@Ai4G5pF-^ zZRiEl2fRjcgs<#K_{9#dvFPB+fHy5DHiG$$hM&awUXp?)tg3n zRCT1`QL9<#hts~*;TLpig~t7rkBC#PhyI^TkJ&X+Go)`VN!?ckg|(5*}6^ z3K|Elt85lb8wds%dSD=EoP1?>^=R z9PnwZ3SmiQ+;6)H%6`NDPI9`daYvn_pey=?&>v)lKm|1AMi4Hl)(8AB;T0O^zFG+{ z;eKPqtChxq`xr!iW4WC)&Z5jH(1f6|vcM?9D25#a(7TXo29T=AB1%O8LM10cQjsE9Vk zE#Gk~5Vw4B%LguT%WIJX@q(-E+-lu40X1$}4KbySTja}C;JD?7x4v5 zK^8!~z4kMRyv7ncY3xPWXl~si5fw%;x7vlN$t{x&&$#7e;`+BL$jUm}9Z_qXwYJir zAUv|x_>l5s{9gD&ftAA_E?fNJVuTr%?g414oQn~4DE^FZ0Ds06Hfy6|4S!1y z65RFGM$ou)f4{Nc0e+*WQ4PzDOa6wU1GzklPp#2Q(c_&Bzi}>?7xJk$`Y3v2vqqwE zDVGZt`i=g^REo~x>`^|85A++JRsE~R$#(9(Pkr2LoXYiIhoRMF1g_NOR~mm4b~du% zEqz0th@OPdo5@zF%RRrsNas@X3O<{2#|tZC>Tc1jyZoz-WMdWeR`dDW3F~gztb2t} zf1Y~6^Q%$aq=VsW%}V=sGx%C63C+J7UFqx1N*{GG>hgmi5ud-0D!oguFLQn2!A)vh z?TsSG;mRY7(go4w%>$~!GEMujNTASR#7!GJp9NO-7Ur}@D4 zL-_K6gnW0AL$Fzp9Y_#R3NYRzwNX=~pXrp`i4pWyV(8ZuIkPa`c0(4v!m9(K&fY@314}lz) z9EaU-=>cybJrZ^|K{n<)5lb7$VO|8$v|)fvXUJO;YPCp`35`DDN=uZGHHH0xsZQ5E0w29#Yn?eR=|{D=gFr`Y%r zVW6p;Tzi|&HnPZqlqi;g(NtkF)}mbw_vo7K(f*C$I1nb+xC@PX)MB++KDrX0L_UUnWynI6cVeUf@r9q zS=1cLx1r?VZ1Q%(Dz8z(AO<#7o!B5+WoHl#V~I{{4x)jbLQ5#71^sRJfW~XcAWlYH zXAo_w*_zlQb!eYsFm#YX42-32GHfz!79fCNs0#Jhv1w;FQOCsE`Fayq&HQR2No~jr zk6>2o+><%~BB0CtZ{l4920v%k-Co5!m`E$14qi-Zy^-)GKRl0})|3Ds#hw=)4U*Hm zY!quqM`-1R9Q0YyKvck4MkCK`qYz@lLLSbsAw>uP4Bn$gW`+)c+&4=nl-5K)&B z7lC-J1-pES3v60qnm6)A~MeRgfoEYLeFut!q#=OY=wBj^Vh!BoB zDHlI>!?LVx{XIua4?ZLvsH)C5PdNHIaOX%#UdOv53+=RSU;^A8|z=qnWTh!?{vddA`o=IuRU7TqsT5MT%*m?j*bXWAOeB)udldqv}?AgaXVsM~A_vSsb|9x_d0HU5oM#6!)MVaA+>6{|5TT`kR=VBTc4vhj03RX#&=qw8JnN5d!6niD^gTl45vTgmTKt z%<`%WY8UOISPZxlV?KwW@(KkmNYQ#rz zdULEz37pd{L*E+Cxpr_7Uo=d3i`04x9ibU+?|YxYXt);N{0uD^3m$|^(*x;^$q{>7 z0S3mxv#2;59wlJT^YXj?GZ^BT#fN0bg(9PGyA(WJEY*zY9q$xI42JGnb?tOwA#aY zOOm7}o80034b*n6#DZHR9(uwc$=pZyxpapp6jM{PaW}8GgiGORA1@LWIR_TH*^uS;z~o`=9ea4h%O9{DbdI^ilkm*8jVf0 zYx?eNg_N7KE|~y3t4S0S>X|r44jY#o%LFx@*d(I$E2F1U!_GA8%!EArH!vLE%#y(- zN@-gQEzD*1sjLkug0hX);UH4SU_y0tEk29u#!X>f3O7YU9Pv~+LbN>y54ZekZO}rI zE*E!&Vkbs`{1YscKa5g&WRuV}sgw(%qHGk@R5W8I6$2|fyS~{b7m!(Rqf)%%BQprB zxm4k*XnCqBoX$KV2|LTHKu&KEpd<8{?l5iL%?#6kH^NQQI)zHIWjv4>rR%IfZO4Qf zGQUO(VeW__nXxl`j<9udB=k8$jx;l|S)W@$u$;T4Wd9XbkZ;YYBR^b}C@dLcSRzY5 z8Wmh99ZrOW4=->H1HmTvW;%6gsUf6ztD&U!Wkegjlq+OJ*-#n4A!V$ReE@?!rE8lk zq}t5lfM1X$2oFsZ{)R_$k9!NyBGI(%eD;v~YP%6X~WGv-JV$w7a}^?>v#qbCUM^mZX_; zo0vUL(kA0jyKVY|awbYRITI-yAvlZVj5F+&2Oy>Q1&Q(3PI^}eW*jOvEJuhvlsuZR_h`-fhfEN zG>rw9hK(n^u!;+|-dz9T%}oBOyj-aP)IR(zcp7O6NDtde3e!h6c4 zC3ctqGszNX!o9D{jyA5?S0)Adog%J9V0=89z5pvOAs_A5Uadg&4@=D*^b0>)!D7n~ zSUiDU7!^<4>FN*p6SV+jTh57O$+w_DveeS~sC}z-Yc&A`t+h!}qkZjo)CFu{M_pk< z*dypE8u zzCI#z)A0Ta{Sh7#dssYgh{%sdDvC)bkf4saB#5eM(GTM-DG3RxlY%im-(3ClHdjBW zcyl1w(kq*Alv#7E;4|GyXyJ;apKbcK80W-4T2O{8kv1QI45q!x`6h?b+y7U)>E?z+ zY3%$+4+3{1^YbC*aS1U6U+hRKbV-Gah8Z`5(nKabLQIuyWWLJ_CPr0{8iHALrWva1 z%#5>jYl}~IMidj>Rfy*5We~{h2!TLa^EI;2a-vEkY0_1rogZks-eg;Q=m2V=)oZ1l=Qp83kh7H!@hT(Jdm_|DWKUad@*3 zB1uE!9NGa`ZZ8+t6g^1mM31S6Lb#L`MVNqS1`07H?$Rp7_L4o60^%r&>36$X;!;Z{nm)PMQv!(+Ie{bwYnVtTB|_#OaXm6`CXL${etTN&_xW&G4W^(j+qv!By{Rhlsmr)Kz5aK!w0+FedKh)?45!_c4SDBtp}7`Du6a9g~w@`thsZaP2n9%SRzuL<3{2{B&1}LZMX2% z^M~*O{7c0-$V4*-nE;POD+ftVFwQ}06^sNTeoT7RhL^dIBv87vT@y;RZN?j)2|Zkt zb6A$9lwM*dO&Ahv6~Kx`2}=_8+YgO~MHK!lNm0y;OR+h7q_GAW%Vj7vqzll6ELFeV zkw`%A0UzV-h7L!Ct+KR&K>57!VJi&@4lN1T9_yl{*2tT%k%kq7taG-qlmKYvvk9kV zSur*;OqO!k9Q~uEk#0=HCbKhHxK{Xxm!`!H@pMu^CpGD&drpsc&sGBujU87wLfB!6 z<|LdV2#93G&PdjaJ{C?Hbg`^hbZD6%omqC-T7+s5PSgSoAT{gq%}G2+fu1qFkwPFt z0zPdbFGn~ONwusuf-@T$x|`5nIe7(Gt(?5K9{PZW$$u!PPRs>SU3MLjnF#U8lw@+m zX%Rxu3Dio6Td3i}BNSP`strLuV{VY;{BimHc9hM6qfoYf5p8E= zSc?}S2)rp2{N21*(iQtC8}^?Yxaf<2C?=S#uOF;kbh&! zg6PVk%Cbkg%3w0OllUvUYX;rUOm^%HVky6CfqQl|TmB_9a1#oylE7F`o4uF~JrQX#=j#Jz;m; zNFc&UX2C~~#JVxj%8)q*hBmv)aP0}MAR2DsBr>rPtYS>?P%o8~S9mST`IDPrQ&KR! z3BT3ckJgkQR&(?mLqql92rw*;bhAyH_5Ph`C z4Q4eT7ysHf%e(!4<2Oq*s0Mmj!w8AQwHp#v4ym~(icJd)aeFEOS%Uq=0a^mBiz72} zGN1_ytc*8gSTLJoPuLdWeoQblmvEVzR_0)ph^(#Elk6(A34CMuo8`t`mepbD+Y-%w zSaY$mB4W_LLtI$!rh9Y~NhL#&412=E`UxJccs+W4a>X0v#@*J9<$am^e9O{4%E#g* zVIT>)rHW$+}LsDdJEGaVmFdnf>4+?mVs@ft(dI!kL*M&ptq zkkQF%)If*qV8K;#TmP(5S{vqU+h3NR5EJUUN^WFPiT#^wKvZAt?e9xq8|KqTPAf& z{LT&FG^Vi;j*TKWvSU(5=)rbMcDf9f90(nB$$mo7qeGhrxe`5!qDQgu;qQ$eMd8#D z(W3}GRLKihvft1VKIeM>1V&1lsLdEjRkY*o95wn)f?`vpV)GHh!W)QYgWp&iZNV2| z)_Tn?oseW36UV_kI*K%I!?3c_Z2xNfGQ7P<>yvc(-abA(E*J=p)&hF6@jTo0k{cy9 zh437`?FQNUNw*rfR@j^!k%0}*SgRPzmT)8s--8QC^H$tuA04dt-cVtqpr&46!fmqLqAbt3}g;=f%EX8*qHdGfX?u=5< z(<4!ocSScncN06w&3@uhMrn4gEvTv%hA)ijJPz%PtPi&LFSVPve^;~L9v&MvIHp4* z7x@i<0)rnMKr90h`izFpK=0RWw~S?!Mju7nX@9p{EiOSJK##o#s^zFsnFFGDT|K^z`dnv~0B6H#UrHbiQdLBC~8Thv7W| zxD(`cW6+A>y+H)`KsQg(NJ5_Q-8Sc%+w|NuSaG7?j*@meOI`pPp&8KQp$@?g9kPSG z%s`@F(!m?7x(=KTr6r_P6SBUpgZw~M9cZ%~Ejf5Gg>(hqMIdWobi!algrSm=YpAl3 z=WXtZNStLi_p+REUn7e-k-dv(&>h|vXje2kqytRb#49uD5dXWw+fxO~ZH0Y`!~si= zz!^dfe49eYMR4(sKtiimBBzyblLd)NVrNQpT50phj9&qLroc* z@EWaO*obZB%`^8!uK0Ia)?oWBEh9%;b{#NFkXd(TKcvhuZZiAIyoI|*VTv=bF4$0{ zt*O8ehL+uOoGEa$6MZGaSDA0f3pQVv!4T##+=J2tL*Yh=kR?vIiN|y9oG@u)Ip~dv zkILXNz(e{Y*rXGDE+Y?&yU%NF@=(llI8erH;}tlBgT34;Zw_V#9u0`e6($UoG!$z98zolZ7m&%ur2)?YsFeCvnmE_mZj@LV zY@S%b`9|KkfgICD-iiPitlp*EBkF^aru(b$PA-N6mLC(q0m=_#S*b9T6E=rOwyr}D zQ!od^iJ423FO7l*M|~r==o(%|wSOd+;(Q={w5@BZ&wBsv;tuZz2+sP`il8!Y&sfVr^YeO+`Hnfs^KW3YLO-(+gJhM#>A6Z$!SVev$2S>RMQgCtP@cV5>Y~IC!zyt%0RV& z-f$J8=$Qv1Vku|zFa`=Hz?@dv7Bl#6!I&Kh#_awBB7n7v=5%^A0vqy%GM60bw%OK`)GC(K1gGme}8dE0{ z2dp{bK$9kWSGTcOky#si12K%cn~G;<#5R`AZ-#`^?1GTcv5kY+M!lGAW^To{2Ur(y zhFH(nfPh#983naP*LH+Yb`w6OT97a7ywbHEedIuCezF9lJ)t*n2k+EG{)66HM`YH`*Z)uh9Yl6ivxiyD6C{CH0bI^P&x#p{Yy)E7;6= zVbmmC8aX@+OJKt(3FKhnjw)bycmao_f)i9Vh};p+WVt&|YTQ$%vWSu6DzeG<3AY;J zrfHy~5&=&71QEuXS%E3rI(ajIL^~tyId|s9Xp+&54v=g_Y+Sh5|FZ9W)u*?{#nHJ` zn$2#@rLw@n1V&ppnRw`+Ne6|9wXU|{iWiMdcZY9MxZCE5t&HRVknSjWkp z2~PCr@?puws}C_J4UbJUlM9XjnZ^Po0X0D-&tR5PvI271@FW?6ev^<0$Bbf7Hteu1 zU`rmH=6JCZT6zpR)3~g4dNtd9kgrVRw&ux$oZO5*Z9K|}!MD0u@=R3H=I<<6PU!It+gR3>eh_o0y2nB z;4>z4yJFFh$zMw5cO5hn@JnV++7LoL_6G37f%LX^}m2X zrM~Qcp^^GF30^x(a~Ahi8)=;UrMNG2bX;FFjw2F@k|ZkqRX;BbIRCPrm&hB;Pio^0 z+sB##%w*L?CW2SA!kVoKh-#uU7-=B@Q*n)*iQxFI5A>%-@w6c!fGY=;43ZVrUdR-_1zMxZOl;GxX}oY~Akar1I9odep3~cTHTZpjwYUr!_$y&!MJ?5U|i1p>df0 z!J6M(@6oryb}B{W_zLZ3Yp~gRrlzameMh!_Q;sc352Q4c+gF|OIbNMm{1Xaf^8gFK>97b(>kJC-f3e4#ZOR&WfEjy_xcz!3*` z0=WO)MxJL|gN|(q4e&V@o+4h)OZjA?UeyV{#hj9vT?<+842{RWZmePw#da5&$#8K} zx|h@=o~~et-$=|q+X_*Sr1p<$CUq&5m{^^wuOgr&tpVh;nCdO}vC7G5-V&d!+%`#D;k%h)oS8ueYvf{5da(!EDr-PITqG7! zDt)M;ku*DDR?o1EleTQfW*(Cw3{~TCJnw=eu2&v4O@57-3n8a}7a*h?*DGp9Nbqp- z{ua>Gh6qmjAtJtChLeLr9}dh|G@7C;zOazz;6?P#F|l2fEe?Y@7lOD1yoEVLky76R znrnG@BCvIV67Sk1rU{7Bc)A-Nm>8lexoou{DS)%I8zZDEt(Ggs@gJ;&xP?D9sAg@T zsfu2AtGOczqukZ|}kqD(8G6$)C zJ!0UZPcsUH%f{vf%q|o*yG)J)%;9aJm&PZW62XO=Ln7OJ%YfrM22{Z{bc%v&{K2Hb zwLQ_oB-Ys83a(v%Yy54k!W3DmAirN|EOq&P@-GsYbQE0M5{Al9OM>e-Gej?AgKI{O zU{Y{R1>95|Tszrn2G{W5vj^8WbOqN;1kL}A4zAy61=md>a}!$RQtt!EivCf?DvrU> z$pzS$H<~s^F9R?eb7W*=FjlT$)fgK?Gg+5k>T4&nFpGT0*Jh|pQ}NYePDRb5!{x*L zaKAXpKx#lNjxLBuF+s?TK_`nv&sv;_rU+V`FiL-qO^A2$Vjy`zf*a`XRt;>*Tb$;3 zxW2}2^P*%T4#;X_@$tia;YUu?^PVzp+=O@D7U3zRYvljD>Exr--dB_|eXvb!G)M!^;{0SHgi4P7nr!xh@>kl4iAPk6Z(AmAs$(`^+$u!$7uHm3^S z{^a0(NoSH4>7@6|@KiYGN;E4ugI7dt$ED;9*r$2hg=g9THZ`NdSy4{U-kQQF)TPgD zl-C>64Sv{lv6b=g2d-BJali-$jd(UAZb4N8XN&M0$8Hf|8boJv;X^i=Cji-eV zCN^g|3ph4PkS!c=XC&?r7EDOv)~`o2d!dh8pw~>?+3oNc-0~8U8mFWeJvz)}v!I4c zVF>0^h3YhF5)vfjqQy!X%k9uirmJvGA;eL*V>|goo*X_}pKe0CL_`#?aPCcoK04Cy zmCXX8h@crokfkMsxrKA_TPc~DM3zCw#Uhs7g^K9DyJNUakKuue1`bDq1~m|ZHX*)< zcO57v!;HWIM;8BB%{H0YqHVitBB9skL}p~O;4EJu?OFa%#vB4UEGM+sR}!-#&DVGc zo*@?VjFPxv7e{j;PD#u8nl=)yCHcf`A+B*GHH>Ah1|7852#><9z{hD`O|G>m*UH+# zS)0Twbm4wBJRLCzTVvrU+Iuo?vX0}0mmyiGQ3O+53HGu)i^fa*V6M$@mV@<13BJu7 z-{Jo_o@EEJj*V-+YOK(688VjGo>8;x!1Q-i55FcrM0Ks~8w;{OW*Zo7T(F6BnhHjP zDU`&RZIsxL=x#gi$uCd`Q?D-+)-nP%(GDbQZgMXBrM3X_)?PxPhFF ztF;xiHVb}4AOnYg#MX95tuum54%?u(fpRGSAl)&$c^zVXK5Fw#-M6o8^fE@5eoz9p z@k}&N5Mi+Iqv_&IuMJ@xgcnHgu9o0QfFx;FPP7A9t`NbEUeS|rytvRk&xLDIb_a@P zHsNUInC6)VFRQx<8&g9`0J653cd@#)@{1{FMMLG`X5MAKtQfaU*0QcVt8%#x2&rj7 zpfKNz_bS-DfGmwH1EKh%_F~V~fo|qiRt8_rLojK+1K7Qvi6B_-XTogqekP?Q0U?T< z#BcY8re<0afm2#C55S1Vn6xBa;9A}040Bz1MNav~ic4)BU`$#vudNT`(voa0SL9@p zrnICD$EXoZ+))Mah$E-GFti35-nMu|Y020SkS|uOpOtcHveA~7&ZaI`=oS8wom9?&JFCP{3T)`k1vPMqh%pG)!f9($m=?G2f!=pp zoye53#fsRRm)SPEo<3p4fv9SfT+I%6#7Ay!!=3CPT{b%?dIp(|Q21Wl+h{;7V}kh` z^c@-)8DJ3>^rV~Q_c)h<^tk76sKuSN!H?n>CcFW&3)%zj28gjv0x7fsYIzWTVobr7 zkJW6)VZsiXmraUKM0glG0Y19v@PSl%17(Cye+#-6KO)^N+!$?MWkME{j?D4^soNLBvgfCaSXj zhfKe1EDS9d=!b4_f$vF5xMV?e2v3o*Hb#9Kv0$maqPtx_=(iv48nH}FNM#t!!uz3A z_&}4>g)hbc$6CdvV6l|9Hnv%U&re$KVLw8@pf@2pA&C2m9_!9VShsL%3T!(s7!?b4 zZ{+UWcIF82NM0SC3zGwbtBUGuG8w>ZSLNAhDth{gYX7sV9qZSm^fUe9t0{9(Rmu}| z#RBJ4sPNrS8Q*c;<&n(tVpB{t>`O@`6Ws{52@P0d!;!+#K}_&=GK%ZjV7f`pkmQKo zehW)I<#8n9w(bO~F_-!WkO%2i)10DQAv-73&I!XxJJ!O}k!34^hEj8T12kzG-%Nys z9G^ab8msr;0%R9`A^kj#PD~V@sqs#sD-rW7chp4|pQdALa4kui9UfrDMaA%(CIE_U z%&I)*$G>3|lSYat^dnge&t-I|lAP{j)@?=QTK2mUS=E*GU3)TZu=Qt%2)WlfuO$c872w5Ib$oG-<#V+n9NFR5lbSex4aIF_(6 zRbk;`Z41VB(f49~o#!`-vw1SwUBT40D|atEQj9Vf{$?^5Og0R2zP4`^cW4J^=NOz% z#d{EOmKbW%&rXMEFQ-Sa1ZvJZSw4`tu1E!;&8f4UR$J)~0U5^z7q}I!X}w&feOM!~ z7F{kO=JFZ~4vY4{FV@KxV+^5GWw~xhZ1g@AW4gL9NzV>7odFUWy>5O$i>bgLW#rmQ zC1T+XO_)V|5ti{7fHDA8e)cJTXDPkQD{m z?J@OuvAv$Tjn`Pdzi}&4JFo2#>4^!1SRQ6S2C=&NQ&EIA{ICXHp?n)l51@qY4RB;w z-*Dp&3pXxw&s9VuoHW1(byW09Y>FG?>oIR)JTWC^al-2$uW020WG}qd%14F9t#J@} z=>;Ms2^A}(fMLBX-Is)`tGaUij6x70`MlHO}r*69ynSg3VcHtsyia#EWIvV{QMK|%3G1H#Zh}|2uh!W9X+~789ZXMA}+au^P3**@K-r&ZuwL-fY-lzd|>n2Xx$5$?B!tsBpjh*U{HMwYb#U;Xq9YltVc?33BIsVz= z59HrzG7Xz`CWcWP^v+iHos*G7cVZ_CEhY)r0` zh+!HBHnVOhL#7S19Hy}x#bLwdb41aG73m^RaHwC)h|pZZ$+K&8FGgpi5?my8k#fnI zq&sLa$#OJAc=3iWRxb?~1$i{<*ZvJcDua}IF7~mVs|KQNU+0$`{Y^X`#WBMhKEk#N zz2YV5G!v+^@T+m;vQ;qeBj<;~sn_M^9();fc z)5g78K>9H!u>C)*giNE7i8dwP24UGO_<{4`7Da3$mY_Cb17D`ea^l}hOqWdkKwsZe zfNkx60Nu9q{*mr^JGCTF@ABg^)+9q;cTK?C@MP^MlIqcDZlQd#&?Kj3Qk`_GAi)nT zpZEipMl4viQq|aUbPjuL6q(pncsw@Ke(&HR_wJ_XEzXnMO*lBlZt8K~CP^?*quj+% z)3&jii*5557BZ1;Ad%n~zB#G?h_?2)*v!%yL}S|26W%O<+kHoOJUn+aybQLz&uDzC z#T{D}h}=%g(Z$BoH4m@$ztwKr=f`8jwjCjrRYp98QIhxwa~w?9g~O3PY-VLog}AJ% zP;Yn*duNxKa4&qS?^`^7zy!rTfFLK~u=5J*>yKWF{L#y!{n4MtFpov<4xeo{|K5(@ zgmX!Dn5;*3ZPjPVu5CJTUS}gx6@M`SxDs0=NDK{sC%)esKaM&ncDU;05^tV?Z-ztv zKE7*Bgyj{P^&?aF@nfUl2BsYhc^8Be88o?PE9#Htlh!Y$h)vB0i1b{aS0- zW{x<9(v(L8h(c@Z>BWA#lzd@)W2Y{n;Uj*N+U@314s_*?1e+7|=uSHf)h!jl*rc$_4L~ z4PUd|hW*lALl?cyDQJN0V)`27wPkbe8*1>wugMEs0^gtP| zU903}GA9alBv|xnujr-6I05}BqV|g4E|Nnrna7Kg5%Sw@wz?$}&Pm~`pf?f+3wb~S zvd;|Wk9N4p`c8#^qxxA0L8LQ%`{SR?3>kot?#ANtZ3`vWGhtp#8^sfMA4ugwKEI**pa?R!`ds zn%=GOP}0q6S#63Jp^I*5mxXT78;X;O5re6d*%bmysFHi$$r z;H;^uzzJ3w+K7B_QT~aN3P%SRbJnwkx_;(!dXw^VlLc_7bfWW z8ukSFwxPxrceL4Q0iHwqEu+;QJL)UiuV`;PwH*npM*hahXiOE89E<;*X_b``yl4=p zH&$tt&5ywKR=PKO7;S47d&UxupJ1<@8Lnu7bz&8T}A$D?_4F z=>%yOWy2bN_>piIN!o1h#4dvR%^i`2R;KdP43(u$nAXpC8S=A{q`4}Hm%b+Ar!>DEX|A<}rG+#FZAj~? zX_`hMjV_Nx+Sxs0yFnkY!M?fp;&8@*MD|PON|uu!ZD^V>M}jf-Z%A*33`bKgXs2A1 zKyZ%03=AGXt14z6k5;P8jKpZlMdTb!z(}S)%bM5T0Z&K7YhFi;x^nm0*1RSSs$9V4 zg-6AbyS~d~3B^550C4Dk>gBOSr2M0o$IhE*ih?CXg_Jvyb#E6qSpgz`cGx+YwRopeu! z1ANTH$Csh z(57Q-H+*J275EL=99&IN1Sv8%} zdh7%s#}0c&@pMx2ExjC_FZz57p;o>q+KVGh8i}0?8@oDMrEz%z$6H&F@f5V`eK7Xz@-~&p0AME*#^>HZ`V*QWv18yaggp zvM@Xk``VVg;JI6D6xzZV*3Sm&mN|Af~q>9c&2ynYg>k~+o-12x-+QR-z7#R7VgOa z)fq_%iNaBV`}M7f=g-bRYZs+F3>kD#AGFIm&`Y9de!$cW5W;ayp-*-?WHa>ag$yX zR?YJDZvS{P?dG`>Hjse(w&g;>C>-EN%v=Xfij8HY0Hm3~N1h3CNzhv4LIT){VdPTXU~zlpT+zMbUIvJZnmjQ>E~-!1kMhiXISf?tNkOO6T^x*f_%j4WED|!0*FHB_MgIViOlNF|vNRK^vn@@L z+_l1sc2YqoB|@(X+DY-tKN4L{^FY_8d2X%;2jZ6?gDU!@VC?E(5==i8#?jGIBPI&w zM4E3#x0xh?s!dmHoUv<23JChbXnKVitsW){Q8Zy<{w1;FGtsu}_D$OASq?xmu_%uJ zw7kMhe}NIqi8{eLK(22=7gNoQ+MGj2T8o3) z_iEC}@w;uiHO4RwQ8WgLHFgvY*|K{qqvY`PQY@Ve3N^e3@Yx2w5B`3Yl;JtdP&OjlX5k@zP$ z5cTM;gZVr)E$?Vnl-;%3e$y5L5DGM{5o#fR%h^0O- zTXA6H&-a>ovqfuw(JZ5(+oWrcsF`0B_OTvJDl};FN>Pc&HeBWQDMWJ&3z(96om*6= z-h!irsGEWOF;ivsZ#%?gmbnl>W3!D+l?gJ&OqJWRjk9BrVoxANv!KTG%?qZRrirHs z!KydFP(#6#zC3NTiB|c;+sW<t4XvF@|sLxJ8kuKt@nG7e;fxJ`WQ zS6CPxf&9P5$D05j*|g^1O~8Sx4Wwr2BxGwt=Rqd11>r;MNI3{Du|^UjGmr?I-6-5O z=>t21zMF=`u_3{d6jbv_`e8yt(#-|c z8Nvpa^*e_aXo$}M=!^?ka5?IhThfT^9&ojLsOhmnPUhdS{?hb_!{8&UB12FVJmljBzu(j&r$Pj5`P?LjFM0 zK!Bi8f)Whx1_Eg?K#=f`(m<4)Ym^3qg1kb2gqKPb6p_dMe7|%3e*0IiPQrn6PFJ#j zul1a3zSdlG&9#B5lvhydnQaqW;LKX(7Q%oO#uBhbz3nBtT{X}`LQF38YND}%MsZKl zT90Us@#Z_1LAb^cZQ`HS>yK*4&>*u%)d!wo9~EAlr$eV|y`d7hnOl*j#$4lOCWFXs z#CJiK(1Y~%qGF1ziU%ZZXoDmZJ{lD}8ADOAI(0?K{?@}s9Im<;jh8<84K-x^xR+L& zeCurPMHE8^M6PZ{uJcFJ>Hx{wRyQ|6t-@3FFwnDi3bI_SU%zT%xY_`7DG{iO`t8|( zQKMEn=i$I0Dse=xPN0HKHiO|CT5u=;Kc9{TF;b+8qcsgZfxGtV@V1>b#vBPq5PV|H z;R(=VG{NlV-%PsMLZfPACQYW+CM6mTeumM-vFBYxeE8M*;x2u+&8N&erK9WfD!Xr23=Ob| zp#j2mc3-WtD$n~AK*4t>NFU8$hDGVEa!v=dh8O=30Eqk9JD*i_?6>H)u$495`AT+G zn25_c6|q7ApP>mQ(g3hcrQ3JvP%CR00VVBSy|<=N$fw)mIMy2p;k^XfE^vR^117Xq zXhLTN-CPBpx>cz5K@UuUY2L&!WAlYlNFzJIvamB*i`|&p#+X*IaK5lA7S6GaRomE6g_ z%afEMeP}1FLxbKh&2LB~>K1ipMcEG_&bhUb#U0mOx4-E~Pyqgn6$AQ(3F$YOlnC03 z0lym)_WQILa6{Hsks-Ai;)lM%c$N0d;I$ku&`3xsa7d14JPeb@ta?3vinYZTPIT+d za4^Y3O6zkjj~{b?hnx647;pgl2Vd5Ex?(0bSM^@n{@;034-c;9s$TZo$w+_dRlUkp zYK^Xke%r9=TN^R!V~3bLz7S`V6~N&HPeUaThVCuqE5jTiBC4s<1{(LUt+}Q&Zf)Y{ zG?UoIlRmqXVbtq{kvXsVOnB3V1sT6`QIZk=(Qf3OIDl-7Q$`uYN?cF0(x+rl&oC_R z>sG!>0f%1&4#HbsO_{+%CTk0)YQy(xHD!&9B{(i3YP#@40G^(jD~zE7n+S`nBk*{N zr3co@uIMy}Hk*NA5&>T7Qlv1e#T^OF9nb`)m3UkhgUlJBg^I4>?tC;CL`QT}gNTq| z%FOugzC@?X0Jt(WP4xIRc?`L%&rYDcCK0s$TmUSG_e%6UvF`htv>YopD%K0oXx?&! z+bsw{<{kE!=Hn()QEteiH|(J(MvQ~j9POlP8;g6Xm1c&kY^CQ^o!)S(xZ9P78QXMo zFegrV8&e*mxS?XQ$`+?_8>HXutX=|cZNC1y5_z=8s!=k=c$GFKl03 zZdiNvNaI#qmMV_U5>6%GA`Ho;<-%{KyI~uSDgxG)57T)@Dw;4OxRv<4BkwAckDapT za1+Z?BP&s`To2b83d;@r19;{tBgz(4(Yy4a3zxQ$!{0wrWVB0fjcv{SDWE;pI+1{Kg`MI*(7fhJ59t_$L0|9E%LRzczC0%F zl5=~~TL~s&ig-l_H)%2+7q@8VfZ;{|Sf>^l^<>j_LJ0>PRWs9@4Pye3i~?-tUX zDqoyVIPv+e_U!|UbM=M}b3pU1YKFQk89l>HqHL>*YhLe%4!4Pj6E93d!(_(SE& zou7G0x;^RhzAj_>;h2<5STA>y6S8tCr86-==~>h1v(u}xyUg?j^6xE{%Z~EGC_6rY zoyL5he>3TesMm43;@B0ipQxk5Csu~&0?a2b>ppAKW!-TxYBkk65C{86c~YYitCnLU z&Lk)$K$2svG?G+;rb z1LXk>>5Z_LA^p>v z^j?ZyXdeWg7IUZ#e;oQ&5LIkNc325-MV{80lcE&B$9)W_S}p}cr!(9@!O)x#p)E$J zMRCAL$>~i5r;8VHsKd~gBE4B0yZ-(brK-*tYgQfM134B&tT-B?3u78>aik2{EnUf)sDIXO1$QQPOtA9dy9@eWs{{l5TS;8r>w+MMnW3-1^U z?h67qbC$`F$GP2|p``H~Ya%}S9U_UQZ`I<84{4ZJ`{rYo!TAkYe$N4@5wSk1j5_2q zVtkPEvLTS%-@cR!`roCTEp$zbNg47(tYy1S7=03lJ1ZUMjQmEHgTRPjDXCV{6z{MxF{A~Nezz@qyjddJ= z0UpN2d2R0ix{)X-bDDA1@PS?$HW?qr2p45$^2{Cm()TGmNLX?1R(P=CS#vu2ta&_J zkg^YNn~L+L?5eO=$JOBE>4ivIpB)*=|iM_eP(V_ z^dtsO(K`hbZMlq%Z4lJNv9XJ(!{=yYX3e0QrrcVDgFH)O3j{#8r!AcF=`|r!Lg^CA z2$KUf*ihh~MXAhkVi)eSSlK*X5M;unE@jD-p|4L@vibB)P3ODmU(vYIzhVE4O+ZF> zw%(XKVO*Fts&|O8I;4GQk-bN?FODoWYNLnn*z>mw)92HF06WdWP~}xD!bIP-w8}zYrVCpRBq)K?v36zUge_d_?(J_A ztDFPt3^+nha2{4fq`kVWvwSIDFOp8;C0ZJf598|T_c_HsOkRAC`S>}-*CsE%>la^b z#pq;oR#6%raA1+{Pl<|&zbfD)R2i8|h1G{z0Y47Aoj4yTxfDi}Y9XqIL!=HGkh`mC z8skSuEIrzs)b&cRJ`$4R(x*C$(^`EBcW7mBL##${`%ok)Shp6N#h;$3(@JcTFT=)A7Z!@-~5x<0+{ zj5nR#xlE*a*=Xyk#7_cBya{}O z*5(5To$gTU8KRp^!MlqKaNLQf^=%g0b(^_qw)wD1I=rUM2cpFX&=4qZeT!kr!6l-> zhjW7gAn%uQd$~q)(GgY0+SU%;TD4_O?F&)+0>?paSi8Ai42;nHE3E(*gGO>hq@l&t zwHpmVzdgm53Dq1}9?Z$QJ@Kl=CxDE=ou%&pooNb2A?esfC|V+GPMl>_;C4P#VO3!c z*)1Ut!_(2M7Jm0JC+)9uB3mUkn>n?(R3nZMm-HFHLfil~eaLr$&zHc4y<~zWg~3Pz ziB@s`I1<_Ft<*il6P6tbTWPR!y-iw;G#7sfK#d%yaVW7OPIQpe# zH^_7@yQ;9|p;SrHNAp7pFL80$^4THUUv52j)vRb1FjTW5bSCh9RyvjEM98V~+21J2 zH=bR-pjH0ifwU8JQ(nTKbJ;bL$rz(wXuz|U%AD1#`m}!)jS;m1WFquAm&*CV(a(AA zYEBZNoG7NAM9}m_CJ|AZrW4F0776MZYR?Rns0Jw%f7Ce!lKN^#Z&iumpW z@|5R&Kp`+%Ak%D)AvM0C`)jPSUB8NJsMB}$#ON%kRK>FAq9c)A%Tl_T?k-qg2KxQ- z1Z-MI9(%0P2_3zSCjEB#YiaUI?ofM;6KFY_=7Ul1!A`(PNRKteus61oZq9mkZj1ou zO0^k511z+Wxhi9h(Wk5Eg!(*g`5TK3o&~Gb^11Z`V-p|(1mAYH{H%=zZn;)=X5G?i zvOLu6IC)TFYRqYgngr{e*1qTBblmt-k(#q z=u~xBO!^3duw8yB4h^YHU*&b**j92nJnJxIl92%$5C^Gk>WL(Dg3)DD%9X8#$*Ni( zKF?dl*cDU(VKh^J zyA{cSNU$S7!4#`nSq9f-dZ#roCq`&gpmcHLSy(y`D|G!p8~v;|tfQEV#g7Acx`+BU z33TYZ#>1!pg-iK_ji9csw)N{;y)*&y-4M$Ukt5frlj~QLqTIa3fK=2VMF13z>1Th_ zHB^#9xv4m}DKY3T;GkP+v5!mMAJaIt>m8FI40Zmd3vwDsxA(S%=eL=2_@o>K58H&0tO26c z<+jd`TAhPx>_GgM@$h}7`jpGzSN73!9~d5Y9VPRpP|v$`TNil&W1n z*@hPGIn--2idqFn6k_NM7<1IxmpNuTyk>?ZK1d9aV3{)G=)Q>ac)-^WY01x9b^Tt8 zT$;e-(yH@$LJm@)f(oM>vzF7o8~})>NJiOl*Ol!- zw}OBPZYK2WKoDuwN#y;IKkIR^ z5n}ppdColvc0}4mZ|hY)0iPPQm(D^glnFyaP01W=KDPII6BDVGWx-Wc4`c{H>dQtA zWI?&^?V370EKw#P5eBJ6+(ygT#iwW2>7F3g{avG#?|k)+!a8ZyVncHhYB~xN1Po5* z^y1;@17uv}8bGX|U+qZl9E|sQYod8R)EaeEPq71;a^M9OhPU*$%Qu z(N#86W<*WRQB0IVg&AFO!_%}Aj1_s*ZQZ;*B%T1L0hv$G^GPG~#to{XWq~6|0Q%K{ zj3L6Mt`4C_ zoDz#BP;88h5cUTjnZ{^qWQZfs^1gfPKc3N;@7LxtE9%nTTRD`5)a?*B=r|E|GG2js zWh=eR9xw|MOIf3l1Vy}gEfzt?1YG_s%VNJ_4Cz0yo-YLBC&R?aTikmgeH48Y?Gff8 zHjKK&9d(2fMgnSnznqtb@h;si+p4Zuc>-3q zb0}wt3oFIDxKPfJ3k=bWM3y{L&(M%FIVZ0}Q%o$)lX1wZA*Ic04U;OPl34QRD{K9j zTeZ}kd>8JWve1n&J<>W3A9U&1qhz%B3mL48?=sdh?CrSZLk7F)V{H+-mR-02>@4{h z#csOAUYjON>z_*=WK#~HPJhif#KRweN$~rAgkI^4`uAd*v2Omi%HGl_K zAdtxnv=iGGHl5?uh;Nc8`d6RA**T!h>=0BiFsvGE5=#BgThOwkShZ4KE7$m3i7HTw z8E!=+g!EuEo~z5y6?O~wZ&2Zf+iO?}WXPJa$V~VR!e#tcWXP+dz$3~_D#x{Yim+KQqd#{`x>8#(BdbpHP(K~RV%_p!A>P#iS*M0?b#+7~!HY*n$gS!igjmL(W7 zJ!W=9%e{Nmgb3HAMk#?>YBOzZ1{AJ~jG#EMuBh&t(<*&#POBmjDgy|K$^cMvF0c#j zkmO?j8PaXoZDl{`e<(Y0!(cPpKf73h!`r)RN~9Ss2O#@MUP4nG@Tfy^eP_ojJPnuy z^8x=W+0*4bmuJIg7l+YJC<@E(U-C5RqZGr17@kWmn&theH{h&Pl z#iG2CX>|3vy!|2N+37BbC~~WagU^ubNL2=k5YAxw(Sm3B?q(VBT4fxl%jnPo=Hw#u z@FrA|+E_2=5LMDS7!LYQ!Z&+{csh@%yBqd+Rx%|v`ZuhD+ zv?>J4Hp!-Kn$Cz>=_BV?z%-PcC}NOmi2qB5{F`<7@_SPYoC238)U zqR(Nw|BF>NG=&QS-r>TFfa;sH!p{AIOS8~y_wURy;pn&1QlgN9P)81Re3nTES~m)_FVXg2Bv=QMDnSa4d7kN2DO56rSW5=JBs zvG0c9oEvrYpWK|>s%!N`DM>#7-Obvc{t7LjTi(G?{&f~{0O6uhP*8`qN~abOl#R$G zxM$Gn>%GH^j2u}7YQ8ALSerFMPXf5u@HjR4?Bay3K$*Qi_Lan`10`&K`zBpcId9aJ zm0Pw2%m|a%%b{!e+V5y%k2ESAKyGT4@42gbX2Zbyc9eheT)o!!oBjRn+v9tQ$4dGb z#B)XU{ayb4wmSVytJ9x|^ndI8XHq%j>Xy8{RUW-(yI-(>Bz*+WRK97^K5sH&u~sei z4x^cL()(Smt=F|0@oq!2LVpSKY-(7e>Q61MT|TB3Sb;W2R)=Jf^HiHoPOjN>@{oGMwx$+l zQh!s=q<(0+Co>hg*w8(jwTAAg)uM4xNlI8|*U|JV^&;z@lP%@-Iv`di@fE-<@klkg z=_RS^T{v-DROL6sp#EnqHdsNKYztr26d?~<>otF8!uR-_;IMim3z3hxdUSOb}6ORkr!`J?g?F{C$u!9hF52 z^oRammSsGAzOJA6{w=rlfQ^2(ClC^@1wWrNtMs>tQjBux)m^h_OPMK3*1_0ebQai4Y7gSKd| zt~^{b8IWO1P-y{`+<|;(MuL^$-{76UewYypkr> z1|exlG)YrLbeIKP@qd@O78;X=ou4G)Ake%PdWHG_3W^TsG@qD2@;#rr;Ow&D3;Fzj z8P}&S@F0Zt!FrQZ7s$GZs?v#ZU|hhuPk=#(kZhoXwW27oLS7pgD;!*MHeoJW1Du+<2xqRn7(KG^nfBE zUy6g@`>=y-RUzzCeR2~rJ<(pJ8{4s5X(`XMhhTL>RIO-Beb|AYp<`_+r0xEm4?EB& zKhq1%FGQ}N=%n8h;=ul-HQSFGkkrOCmhNQ!fPK@w09QTg9y**<1e8_&fuI7mCz;{G zH&AmA%JA}54Q~>mZ3$lP1ilskiY69jYzCB$Immzk-Ya8lN7$8yvoMkLZTYiF^Rmuc z`6|Yf;A(FCc7UJ~nY82NE^`h8d#0^BnivM}#TI3;amt1L+^n*F>5=|hC;R8uF>5tm zYl>WgbJE}17z3cioE>YQX2C&>P#JbvSXIn8i_Qo!A=W8$=KMq{t>nzgepWfvOVNzV z>r;I-j|_OU`imPesPg6$T3hSil~pOti)x8^zN$MPncG5NK6KRE)L`9Gp3PoA)qy{1 z>x(s(YZM(o)ea)E+mMG=o{-G5dj7Z|ZeST*~)HNpZ{OkPvGY6{Q%um)~c71 z?*)Ufrjv9&cXFad)k9h9m^gA_@KMM{`E>afyx};*#*0enyuWATzUV#RQka9q55$Y1 z0j>VZKEcQ#v0{zKcI10K8~0SY@^z|92oN4^_d{2{bB(V2%8U}rmEJ|{!6B`M+qs!> zrVl23A{VJP@ErMNa2fsSu;&kXDj>yxSDGFonjpr7?PpQck~3Ic5JsaRsX%54JM#pz zEyR~40FW&~bL}v27nLVrEo(i0fo+7W1*Rcm(ea{jUVkA@DZ;a+McY^NE*i~BAzWTb zyMe-Kqj&9?wW8Le7x1;7*Zuy zLCuz<^0%XywmhU2tLHbMw!9|8z zK+GYG=Ahu{`&@8-wo^)waEWw^08qOF9``_c%ReIXcx%)uJEi65b*-J1=RazuT0kep zeOgoYB{t}p7GJrh@u2Z`KEK^Hp2}|}PuRtZ>ZY7}(gMh6xl4 zHs}g&;Y{CMB*8xS^SmungK4E`S1G2~rRWZ(l%i9mm|B;jqeTJWP^IXuOQBHmZU6*K zb5;o5Ne6%pxYI|wFoO7Eb;ytz4)sN1jsd}MTvVg`dGxI<+s}}0(26-h_%}lpDgSm+$Lw5qqS0ou;i zQPJ*nI^9lpvwtmsLC>D5A)iwt_ZC01g*wI3ex{_^z*86Az%_qHu!}o?Lj!Z8mVwfE zs_gtCj(=0=ROJn?Z5;tmr^+ds1kiGBA!=EH(TX0-X@8pu;lb)pD&w)%)_%K1!~L(Y zK@RouhL+-aqA&TD!Rcx!cuTQexshQg)3yBab8P5xNf^e$IHhlli4$UsWiv0zx@;jgNpb0aj-nGB+xt5G-B)s}gy!POwg7>jI0p1~0MPBOL@jJaYRH`^% z!y2dk;h0q^nwj<+az+vc`?~E;_I2BTNrSF3PTtunr&hLh!~_`2bo-2)V~8_5i`V%O! zba_xix_nmBg$xmhoH5)&Ia?SDA;1!M(9k|OWAd?Yuk@;zLKKc=rgu1k0P6ORY2 zxGTop;ZGbHosI$mE*;TMx$M?XJ%1osCv7AhU)iSi0nk%l9rZFl(NN5(%j z+95<^I8Gn#SQ#(8Y4q@TCjMMkcauME%-UYoBYScT-aN{L6KwCHtrzw`F!XS}L^S^2ux7f5wrr{rD}j z@-5Y$vOuk6>&VtlyJ!V{1S!M4)fDOzIlC!*C<~EY_1gV>k!h8|CIg?vX>MbKwkz zUbD}$Q6$RYr zK2z?r;Bf&0TU5=XdK>NTk71e6+@YiVOJ}#4Op~YmX!4WgfLK^DL;*-25#y>Fb+T^M zmyWM#6#8B?D&Mqk){Psrq(%|Lso5wtV{OtXxV{hy4M6Faqd_!J?P8`}wd+%YY;ITk z^0H9CH=r~P7nb>?0D#}=)Km^xuo7*io zuj*2H)zPDOP}WuI4cD9AkUM2G<1_E1{|Do^NM^%W#leK#xZ1O(h)2RO=;pQ(;c zXq7kU#m7Ix?8Jq*+4%YdJD#?~aAV-4bO57az=+XO)fdHO&jdza5@o9hkV|)T%2cTv zaC)e<_==Vvv!y3umbZXO9s(V6HaAE!lqMweDBek^m_x#(pa>49v_2TpTEskcWDFzb zu0MQ$IVxPaY?pYvnaX$KRZh9X?&Eh3dn;w<2z+M_{ED*rxh&Yb%7Vw>C=jkR^TgO5 zx212h$o=sR@%0SyF<0&Dew|MWSZ+O!BqyqRVLy;xQ!Xh_-hR^uT94(4`n&RR6Iv@ZL#CJtPbHg`>#>ZxgU11%^68J?sgi)@Hsq9A z$;udfa*+9CRpU_pM@ptGGS$o64EqN6hT9Y_Z1#u?pJjeViOha)o*B=&6GcZezs?c- z+B}a!0?w)jIA&|(X?Hlgf(V!$4ix2vvQ!b516&B}ppf@#s%5ewSEUgiBcxj*^ER}4 z*;jLiHI+c$*Ytz^t51HDl%GSF|H@8)B4t=Wm^AVEmjg$%g{l(y{K3e!#d_rf@p=P8 zXC$0Qw68zfb{`}~Ee`HQO7ur(f>#`5GQuNuv;=;kGM%=o7@kS5&y@NyuS<87%-d-c z?72qwt`@*{j69(x|6_*~^w>*A52JP~3}bFA-**qwkhtVO$+HxQhjNtyv4^V_2{ zcmnMi|LWV9O$4WvPZQjQsi%nmM55cEWU)1dXeY!5MF=M>!w{jC?pLCXcgm+pYf+o( zd9vHuAVj9c%1DhdIL)a5R^i0JuDx-tcTXMuG2 zy084%|0Ak)1COf+HTgQ<+=v7oo6h-OzN?bQ+@EON-&)_}61%tPmfJ2F&y{_eP{0)U z-*3lT%LGrDE4Q6Dp4$n#o1@aL6w@ol7Fwub17ilRKVg4#G+P7!`_=sxIj!OL;q*#040XvoT}xA~Ep5%YQL4Fr%oZCoSUPfQS(Vbs znfL-0PMIrphTxVuBl8UdLFeeB*%Yz^+l3kj(()^aU>uQc2ym>7;6GDZUzkCvgUCj# ztgK8B3y~d&m2a%91Y#{QN)2TN#KL{qi1n!ov5v1oEEQqI(hZ0uQ&&c;_(aXd*q@hkNfse1R@Uc9O zDly(Fx&cu_*vynS^3pYow+qkCz_248yuBQ93}Or?C2a>gFnm-DV(Q_=)JW&{4W}Mi zOdUGfeg;nf8aF-O_lXNa1hQgyM!AJSkEYSyGZ?iw@Sl<5%xjb}VX1he^>|izhT$dU)YHbZE2tpT<%!~PmmDdlnJ;IO(1a%Nj-pHwbTLpJ zwf?S|(RPq}rerE&a@xvl3X&0-3W{6JH2_Wm=R5gUxJLTAV&_EelYwecnzqJSBbnmMJHM=!Ub*kVMa7#x92J z>F!E31n&V9zyUDYtTLPa7zNlQ0G|&M5LrX=P5h@?DUt9JxUyx`%BV(v!&oQ_cca=s zS?;&Dq~*0T^G6Mqy2%u9WyFv82a4>F_4PG6)-P{qi95AwJzG1-&>qpf)CkR|rE3W7 zo-X?i41`z47+7ef#_(18JTs-N=4!@6bx}IHKvwv)W@x>SiHwxlD?XPE4d1$h8)<&G zaD%dQg{DLU*TIEubD=GWIz=HNoYp$v@(@fOrq{Y&?yz zGJ&=8F)K=AMb|IidFuy0_uImd&X5D-Xd8V;$36<|S+y#EeKeyiXqK~@N}Z0j$2xq{ zu;JcP_EzFmdgn|CNYc!f58mH?2ApEH{0?bny>dSd_KO0frXow3U2rx~7g?0vJQI9G zIhWecKs9=>bQkU~10!a&LUMX}<&c6P!4q$4mnYtg5jp*-0{QIQu%ak`!=m>!ik^$2 zuU^hYzolIsduv_vS@*Z-v(^>u79V|EyS)0QTr5zKA~7)Vl%DXXD1*}4G!0|DrmMH7 z%Q7HUna^F@QuHz4kJ$-^EF7C-em9<0ia8YkFe3%Z?-A|B649p>%}wAJvy727iP#{lncd7z zFpsdEtraOOm8y2)?IF9E4O^Don4hPQXk})22~djA9 z9V354Xy44`xe?qdG^g+zKTGaMWh;3k#S2aQALmpblOBt27!2 zV6V_bmZeFNZjSCkMM>LcSk zXF((tFsbeeI3Ye&&Yd@0xfQ!Gx*AvaH#;XzytuK79fAPbogPH^k@mRpJvdA@O-; zh)+yy;tfMp+0#J6XON+q){0B6(k%#8dBx{vN8NIUwGz6y$!dnwiCNiFgM#K%7F`$7 z`V4yRMYIZiWTKtxm+eu%?0`6Yf_O#QXPA1;^fXjSYvJ@c+d;v|qbwZq^MsvarePl^ zN#{}Rn<%!;nS|w2ASTo<8P|?R!lS(lcRu6L!QUF=j=H;ZlD0g8&yTo}?AMo1aXOX) zF5EfFt-XU3a5<0=qb(wnmfdh?OC~?=Zl<0-3X<3h#@b#xBMl~>@f1m9;Jo(pvn#(C zi%0{^f#f=Vr|ba_1p5)=+GHs^KaXsUZ8SAw^Q| zyci3o2vYkvgW`6ACi+I}82M77Rn`eFwha5m)eKeyMORaw2MlG#r;Q;zNDnmpQVpj@ zmWC)@Lf7NTIAO>rH9pL3G)F5t=k3%|4N^_@xs3+M1H=E1IFsU@TB#qmbQun{LPwpf z=*LT*onT0v&6IfmAn4V)MoPj{;u}Ot-{dl#G8~5Z+D+F>8|tMq#yIYkU;nFOREYcB z-#?37l{ZFhnYP^B`hP#LSjhic3+;u@LYJqhh3Wh*Eo@&n&G$14y@f3cTNk$FFS-mC zW*6ob`rMtqFu(AC#+TK%XDsYk=$FsFrx-l2U*5Pl;NgZ_i@}b5dGxHo8U6BQ|7q}m ze)+7wE(Y`c^2$Af)BEMi&l;RYs#}V|_I~-AErZlAzt|gWs9`S8F0oDk&e z2S9}KkC0Ywggr@$ohs!XwkR*ue8=5 z+iW*eAqsQc?wAWg!AJ1f{aVP9-O$l~&T2Xeh4iKcps?Idz*nh^tDV%92(nWm;Tf75 z7t%&alMNMqmM+4o!k~QHUAH}u^0LoP0!>%nN!9(1DN|_Q6s@sixpw=b)1FmPbu1 zyV_-w6QK}!rw1}|^-d3G5#k0WFpCJiTf1D;IIIW%+VL(A;jLVS0()4;<^<+u2eqX@ zjk3J0oZ-^5na#V86vXC0$3)EKKBt|&B_Xo9T$HJgYCAm(mo+ZNc&2}^M^KSO80>H- z+X#Ef0cmD5IK?@cU$2VnU$nVPwa$YC>wvnBhUDj8Q3ftOQa!PItML@y(u?V<8`(HC zeocSIdE24LsnBk=35^#0$vK?Ook4Pp5QJf1mVSefvTSD)80!r~1+Zb{Ot?zhxt(bA8)*3P9R$HuLt;K{jvHH6l2ABThx+xZKQmj{6+Z08B}z-{bM4~Rq- zql{FmV1v49c=XsOP_dODg#NGBY^5FmK^~w2c>xs`9@HERQuo{m@EQvKQ%Z44@lCb- zb)hHKMAZL3>nb*GIS2yg!Hva{1M{BKCIoQCJoRew&_iH_H|1Ip}~sO69}Tfm`1PymNKO#!ETA?Q4jY_!>< zD^(f@%O^V=e^oaYK8Z<^$y2t_hBU|Lny*^LXi(Vyr|vsB zM?_*clO+9}c55n2i%ka=p6DHr9aBDBUg*Ij(@n(>MQ02EXm?#(lNcv0DbPoGoMX>K zyVNN11f)@af76iC<^!W-QGzjmfiIU@t<^*6GjX}|nYha6G$heX3hk+?zTWic=AhqH zn;!L?H$Cds>5b+EnT3AoS#(9N(i#8GUypxl=sG>yoks+cak8)QimoMtnq6xbk62&W zz+%GP00740RugIe2kA?j(FH-82G=(C|YoX`kJR%&1% zj5!SSAk?B#G|7$yyT{b_;+7}|+EdTj;(*~(*pFkDws5XK(|)z8^r#JBXz;;l-bq~y zBR@i@CKxZMbAhnJG;_gKVrU%tY|Z}IG!g929Fhm~#6ZVh|2HNDBB(YiR8hGs)G83_ zNgA*Cp}9(kK|#>4-W>-3X0?#>m|G%52&pDS`Nf-Kc{mkq>$~s|@2_*XQ17U2gd2E{ zSWw&0N9Ph(Xgy6nzs`jB8!Z`Z5jK~5(K&>)gY<%ls1hcJVuq-q8v${#v|y-U&JV!SRx7K`CpA&3 zYlEfTR}QgSS-o$(xzl7Sr`i_|Asc*LFKmXe6!*z&PaB9t@7kipK9BxS)-0u|>Hy!Y z)TCFFG4%0GlctxqwF?~X5`ZuI3zJfV^GPDH>!tsltPZV;-gL1vptFmMxX{oGxquHB z2$e6SP}HK`or@i&Np}}%mp9Qc4omgfT^zLP!@iQN`Y0F~>`(hmy#%smlZ;X@#^9U9|~f+F5XKYce;PH zX80sG&QYBpf=!0yK>xAzcx_CUfK510sGIaWICVS_<>p4|EuY2jD=RL0>vGm$6N!L1 zUa_?2-mqk$|2F&;C4%n21{++mb#?(lX#3J(E{yA=xgdf-g{AhR$6~J94GsL3+6P(a zGh8o-cyU0OxNS?yhXEbfF6(D0T?5}bP$pue8AyPijXuSZ^lDjf@x<^D1|sD+ ze5ifp^&HoxI<(OU&xTZ0HH4r-W`?PQrs=G`X`kB`B;d_)DotJus>C5grl?7kV1`Fb z?k|W`p*M`;w2nuavT{r&9aNTwoK|U&71m2=c1IDi@uC{`ryN6TN5<{+*6#iSG$#Ve zYalqlBct5wB(Vrs^Qy|S(PRER$WmHZqc=K zcE^Fk7y||Ul8%0(t|;j@a22MrA5z!*5jgC&Re`{EQ$sqjqY*d^EswxslfYrOtV)lg z7#<%x${%{*uni(WRopn;1^`47VRI>TN&s-}HOZvGcQgDAcveRRcwJx?y7V@S{KH2L zv@X5=fxr{gyISQ@cxDD@5;w=3GJOt|(80$YBVqrw6V+w&oZ4rL*E$s9W6#M8W$Mgx zPp}p^yj+;(hxv3J540MOI)<>BU^p(z8 z27Bl{#6E4Av966zHBhC2TBnlUuKxGLXhVUlxMyzbd5zeL(O3?UlvIQ6q*&3kfr9!G zT$p=ele~urerWSZ8PDmhS9kh9Ulr3d9#%LSymib#F({Sf41w4%2J~Op+E}+!6J*rL z{4qnPWV@rKGZ50kkSEoP>E>>ExlFK<5rWb}`cvs2q7F6V&ydXErr(rTa`LxqTE z^iz0qezm2+@i-#yKDH%-T%jJ|W`?H}_@;B^+UFDx<-&;Uk_*_LQ47~4>X_Z5_d4$5 zo$P~w4_mpI#Ploo(9&}Ot5R#{oB@39SZAW8|6s_Lc;kof@Gung56C>B^V67s0r%J? z!)3_sPc8()Mr_c&u!B3751`YYIZV}w3#>68Gd9%h%@L3mL^z6sL^0Y}Of6gnE{*nv z(8M-{s8fCkKT6xhMHXPS4GGC^AvMZ(OEyHQL38?$Y%HQ(5gcqzMX=1Tj6Ln_C;39$ z(Way~3p9aCs!k1=1K{}dE8U#JDkb^}c7=G|6+Qk;Z${tX?+Ecx>kwas1;aHWmKlq;{lRW>(X^pb27!U z0!if~4FvFO(}bKK3>#y%)xhr@ti}0bFn}!iz7T2p?sPp+P6_@Li0iJunJK-Git(l4yVp39?6Ba?ok^E zP%LOOO#0a;SB(tTopug z9^kdApq(m+kmv1tpjjv<_1J!;;Sv{!Y_lF=euk}9ErI2U4xNzd@SzLf4I)^zgkmH6VfIj;h?Glrh zFI~U9<+Sqq`^(R_%5M@eQO9>8NB5`*(TwuB;pgKc@Q%9+CH=ytNq1F!EWaN~zgQ>j z98@bN?eN_Sn1k60nvhSyOXUiWgP$s$vS_uI{!+DH#6^({I1~@zA>6&SH zG`KFKz1te%v$|?t@8;5x?co}(>y1%d1;Ic3kG_90}6t%3hjEvd4?ducMS)ED# zMS?Wuyg%p!gOI3Y`{_&U!q-Bm_KqwSB5kc56|2*Xy)mw;HdLR#z)+E38i zt&+0)xNHSS#;x>WG?Hb!z=#{RRaALnRFz|4ZiO1k4=}h94pWcoX3cDC&?yKmI7Pt+ z_H#ZkRqXC0nKI;KwpLc-iX617s!hJ4)a*DA;x#_rUC;vo&#&s3yuFbSS5Pdsy*_>a_s^xvf>uzdciTqWzroM)^|h{?gY zCygB^L|u@rx*%J1L9ptARMkb<7=R0rlxCT1Litm#&5K3S!YS_ywpiz>T`pf<>@xHg1G2WG}sCG8}J*rqv^;GrR+qF5> zG;0ER{W@fCG%topQB!5kXRPR$vw`>eWIg7J?Er!sg)H=phYTiH& zlzXD>+*OAqv&LApeF678WRnicKE+|l%8Tm3W!LHf)?pU{wv_-unh_5rYRs?#bt?pD zO!UA?ReCQ9K{X1@JwvawuOv5V} z`UGY@3u{2;taxUA5V4&Yf!qb1z&yFt3CsfL*y>neWr$9zx17Kn?G2LEJCCUPl^I>M z&cy8Ph_p@(gP_Bnr%tJ1%o+4%q9h{#XVagzc+cnVYFGk90@MXy1jI4$fMrsQ0Mt## z#5cv-;Jv<9wBL&n^Z6~WZfpBQK9<~AswP7c(HWt+lr!Vyk`PeGL~~gJF${|8m}nW; z=+$ib-(MkX8w4vX)iKff(mWzOt+j)~5V2|}TEJdTXo zBA8H_O*8T1GjKIj*8CZ&74cR#wmK$Sgr#2CP{)DvljoMe7WAc<3{n$dgs_Zd2;{BW zc@Y|fm|J=coJ*bb6@K&=SwdCwfC&6Y0|yCpDvlZz>#)2*;btZgm=pX5wrGAc7^Aev zb5u5q0@8-Cr8CHXq#l{heyr^DUR;XiqiyH$&@@upli1*#((7!cP>r(cI!O*0DS1G2 zBz7eiBcfSqm69+ZYw^wkx#5W2;6zuL?O*pa3l!1rhG9fm`khJ}Q=qArruIas8*>8PL@pQ?B zy~Wd|kyFH#EqPED=Ha|8>jSrE%9qXB^O9}5^(h0+i7Re)du2oGMrl;4Q&O*g z(j{!HJ*OzvH~s>UfHOW0wG=a4T`KY$A5w9VUR-3DGFZW$fe|{1K(r{PsKdLM{j-iE z2mZ_qYKu^?6+TlpKSPHmS0Wxry}RJvFsq`FQlf-Qp4EFKE{+imzB8@GjbQlGvT~d0 z(+W1XQqThIn$Cy)o+G*94O2Pay|S%?AK-E?G?%Ldj&Zf8`G?IIXff%Y7V5z_;=BW1 zl8GOvgb4n9QMBHHhdgEmWW$jepW472G9;1PBU1r&z|Z8);ikk%_ZBwp2FCj~^Nsim z{18R66Mw4cu*Is=_j-@e4w~f$C}_FBNO%xz4%&-JmZc12hd!A;%@&C=2cwm&Ul+E5cykulYppof z8^KelP4xmpM8vAf#b=)ld)$$vZ+CLProO|BC*#~#hSEuNp)(4}90{Z^;lW90w z@RQtrytzN_fKPsRaeVp>&7YJk5nHK{YYxTKQA*1XeuC_*EOg7GM~|N1{y6ty!W=&G z(lhY<_p;7)El9Sj>BejG=j&RYnZz1UdO6(Q)`NI1wSoMtJ1pNou@L+S^F>Tv-I5@Z zLRq$?iYG~2OTaCn(7kqtAJZLh2AO5%`~j(tXEiQgEBqcwU!rEAE6jv!gYxq9dl;_4Fhbv}JDGT?YM2V^6Hl5la@-9x9#4;3q0e?n0= zi%uQFGDotUT&nNcN_D(d&Jh;>c-~w9PY^+=FNlrhG&t}D>~Thol*uz21*jE zBMk!Sp{;h0LJirD&%ga#pX}YIG#QBzdnM+ydri;7*kwgg1;Jq1m%&|+&15Iol(2nD zT$fv-g|S-@nNuQSh;@hN&D;tm);)B&=8t|Nt6rjx>oSbXlIt9?!2-0fHBQ)ZZf=S0 zex59cDcFGQ)LLiP-GF>%spx0G%2Mf#U%-qUi$6ZRHJ_i0Xsn*$69m!BrD859VO z@3?nA^vaj+wW#PdMMWph>mhR6XRu_6yz``RJ$bkL@cxRtJ!NUKl_g*iY-JPj&LKTB zc{7KcTT9+^8<2PARB#1Fdz4xLqcYJl)&gfYF1SSLi3GanXe%y?g~(;0!6PssOjrcG zsNxX0bS0NLoiA3~{XCr2uoT*$28h@{Cg^K~6(E$MduFf$?WOYwv#Bj^zUI#q$==3z zN_3F)ZdQfx*W@t*{6^@0wTFdd@Kc`hJ8;xZ>I zuI(W6veqmHQU|*89F&xvO}&9UU=j7Iq1?rpZaT_Y+yMNdiL?l{f@mjV5rBi${l45A z-q?bR<{Z}QB{A!Ike49i4eXPoAn7`DGz38x69oX{b&ExD@I$>|r#_iM933?ZpNT?@ z4;68+{Y;@f3fbLVBByjMdf@ll&+Z(f67AMI);iR=@@LyGH;7SA{7QO@8~(BAfZFr& zR{C4@{K~b7;$8YXeZ=~g3+-7Et$F~*(fgw)^C%9;rq1r-Vv!Av?4itujv?Micg3D? zya@HF&ZqDlEU8A`i&Ve`xqy83o^l^$V?k9B#%*a-k&EO@=_~Dt$@%3-bwEli1_<1{ z{GB|#1{aB86f&$&{yRpy;g5=)%}>(i-{;Ji&;4Riz8HR4y)NJXkn%qYpA8o0)S$9g zkfd-%K`>H!NONJsWO;*a80)tS^lix*|I@W?k4k&$NHXar;QZmie^D#| zTdd)EHYQz);A`S)a9?ssYWmJgu=2i#AbrVfC>SVgZ!tKh_$W*XK1v_Fvz?m-k(92L z=|8k|=nYE-1;U?fxR6=^^wxM|D4AXl(%YvYUR72Cdit^sqZZS~>`ncCIUf)ui^Z25kGGh<3z04a4r2(-Q$vx`- zB!TPIs%*WJh!>`8i!!`6X{-J}%VNbh6oqVClWDIy^C@5vYZMFt7OMc824gH67}Zy+ z6?()p&Zl0r+z}$m3j!FV1aD76$O;Sc;>c9GDc0vpjsnw~$CRDyp!r@>(`25yu$;=P z5WBQ%4+wpTVxqSh7rd@2Ahd<^*LSL2Hqm}JKutFGhV-nhf*h1fQL1Orrut|WuN2Oa zx}LcsrZX3gITJ6A24w|lH0b1yvVl&gZ=DfGLDS9h>6d8DWEzWJbk~x%?Y?ZK( zfn&h^9UWqlcm%$E26;UbwFcRfyG}7I(gC%tNdGDQo0eW}7^VL*jB2tLV31fxMrt}> z2)tUxMYzU?WK>+Pq(+P*f>49BG-g2d$c|cc57JZJ#9+{0KfIlh(dip{(AG&B-%ame zge9}kG@^F2uJ4{fE%1|UiKJzs>%@L>&M%Hn1#M+vOr#Upgbb4Q5TD?~@o=~8Bw*3a z|LnCpBm++JV%^Xbo_T89hj-EfUg{y6(A(vevDSyH6=m&i_q0?;TLhXxdBZcemCtWk z8+M0oZ^=asGqifMtTgQ)61M*!x7y_t20uU{XQuS7E?aVlFf^t30)BH-yxEd%KiShu zVolv@v;L_iPIeY)$!|bsCJTVENd~1Y5E5IDLi-3&qoHMGSUWL0O~LNSzJl&o0qEgmfC0HZ9-D7Sjh`x~Al3l?#BOk;~n z3oL2Lk*_Pn03XMvSf?Lsx=#PZ%C`?3*uX^)IE=u?L)NK$x>>9Zv^Zc=ALJ_t0og{3 z1KS$M!9%qxLUxrr+unza9B2tNjE_ELimY0z&qWCT%|(j-u8GHH<+Vt5a9OinU`hke z+;lTT)otK|YwLfli|RyCt2SJ9L|_b?1$xh+NqEqlj15hf4vXK^$F86CPwbwv6&JTEoJ&{LY9zXNxgj{Q}5C`^b?3n+sR=a<= z?oo!XK{5ops7SD3iVuwT795rpok;J;t6O^v3wdhin4hs?ilXBtGa^W{~eTC|ykEQ^XyHO*qZfycN9Y9t=PI{m{i03!* zAO>_*i^`q&=XlI$%*0nXWk=%s?}d&6;&_Ifs{>8{ z^Ez4sH|7lv=JlkR_n5%_xYt%$&q3nESJ754z0WhHwPdz*iq^n@-5hNa+`s``oMZ64 z6#jYK_xk@O{B)7cHBRAtCiKO9)jnCeELH1vAwT(Q`I&_$_Y@@#iI5L*rc3{t9j((Y z5A+F_Ao@QDmmMo%_ypD3ZWQdbZweb!O7M2r-uBRbw}WkTFMYB-YDJ;>^cWS2t$Z-b zR?AodWF`=C>&e3!;kNSopD0S!7hZ<2>V^4pd>U4ok85^s>BW8ce!x&tUdU2|K#7vgE~J0AzDFZ}PSm^nEGm zC^)iM;hG|fqR4~)uS{16H91O6mHSxgXA}V6xjb=M?vM$Kl`~*5V3x-R7O&l)<@7wu z!(|IAm`=PEVLVUkDOY!@(T=8GCHA50EP3jd-d+)}WQ9A*ElZ!B@awx$p~`qZ+NnHa zqtoQkHuE{5gb>TUPaoBMhzz;AdZMN6^6NC^N_?TqZ^1ckf39|3XxosUUit4n>76RB z=x77RANs4Rys}dk>G@N8iX#2aRQa|qDV-W6@A3Sd1?u#>ct6KW&UG)pRToYwuhy)u zMu1sW)6vapQk+Y79{Xxt6ECSr?bls(fV|ppLdo6PtD;f7kb!i%VIT#g2L=0`T;ia+}zxhB%0kodZ*OLxG<@YwA?Z6P4oH-GL^M_0g53G7xau$?NO1Usy z!}sO*PLWDIq^N@{A}zc1>9UMjh0Cz=`wxo94;0Pka5RUxTu9@3h zUw_hv*W#{dbx26gWWmYf)mQakop3g$Min^KcN|;QQ6TXmo?tb=;+6vWZ#b=55|<0B zI8&wjNle&G(yQVD1(fK94m*)659^I|x){0dwFPJnL4;#dE)KUaRg4W&`LG&gcctU% zA33u%2pwMhPQ}qfT{!_+rD$e=y5|eT%6CDYKCuNvmsH8yuv~c5FgR(*SPGGbi6~se zyDsld1nTINHfk`2*}O5#vogBsiI|6xrIOH7Df0keq2tS3D07drr#+5Z9@QIH-#BinZ`eGM}3`m{@0N`Fit*sl5V zN)kx_fi+%554GmP^L)AiFSh#2oASd_dh=8t;n$I1)Z{s^4InFzUuzEiSy`-E(E!6- z-#n#9{npy&)k~?C+f)TBOpzfBRno+@g;x`71ey4=nAR7cZKmb2%<(DZ3hYjB<&aTcQTt2gvWcgKHG_Dpk@hAx<1J>0YfxvbiaX0A) zmY-HF&_iH2z;xN9i{?_PBGNsi#-No{hrNcNs?{Pnr;2F3aik@5$Lu1;5hC#NvL(%c z=NC*N-ucX0UnqP*4Q)n4ovt>K$YgBP_Yd#MA;^AiXIcCbC3J(%2z}SW9}7;P`8d*0 z^Q6`#y0*Ep(X9NNe=N!uvV8LCpI-Y_P`k2~UZ@S<(YW=EmF`AsyN`>C=$R@4i}n`W zxgrckuIT1{je43NRS%{j)k6!#S5zWu0EL-bOvUg3{qr>@$P@-CX}cRSjGxu^$|-NQ zMC$Ev$rCXSlp%HhwRzjUHdKew&xY!Ys1GJ|p^!lv?LF0Jd;MX(mwvDRyiJ~cEt;Ji z(AImV@g&&YIrwWpuPCpVDMT2j%blW`>O0T>wEsx?P%lG8*@t=@_o{75tBW5-@vKEL z0okntyE{uyaPjZH#|5KqG|G4IFu8(oCIz#DUUnKxF3h4W-{DWjzB4nFbwc0#FtKN-Ke70t zo0-fRC5ijr+uj;n4k02!VsZq&Xp#bwKT_;qA9-O8dy7Y&Q#?Za!cMoylp#9%BYuG) z{Mvr6PQL7J67DS?aYDKFXrs>S*uBXjN|pPeMe@FTi{8G#DzG-9Y}H* z5sP49kN)$C(~L3w_ldFztc{P00S|D(J~;u1@zVMzu(%B z#>nrT$#>QV28zxaUtj?+Jabx|gRV55ZfjU+VTXQ0^KQ0e|8)8w(za+Hg!N%vz*sIu zhyT&EnxJmAHI7)y!|y_=#8Bm3f%Gi5uzd!F-TbE0PbWBnDHD@4BiOyD(E>gX-%k2QnZ^pP>V{FwvHI(wX0YRjl3Y&BQ0Mv>5pn?*P}s} z{yD|ZbAf&T{5i!THCyv<>gH!pacB)flkCt5e-%a|>xIx&Zsds(dY=;Tv#0p!H3&`i zpLX_r%Fg`8**(`+DY7ysLc@|Cw4$OQ4SW3F{l^VQ8?_8u7-(y$SV*t$fPCb1vgMVs zg{Br|F_mb%)~+^)gDO;%ZswyXS*CbozWw?RLnB>U%GI~vmooOL8$bU`Rhjd&M;H+W zpcrtg46l#HS10EoZIcoBPmbSHzz9+A+w zV|ny&!*1N*2O&z)!LVwReaTS88A`0g`q=_LL(ivhscW6|5$<|GRr*@@pxA_nlP6LO zN4K!=AZyZk23Y};%dzb&?k0?aG?*4iD5c*YSq-5>i}>;{C0%!UJQ;ImUpwffPQyduR^jpctu~U0f(<$i;5Pz;}t_ zJaR)r&ZrdAcZ#WJx|;V}ZZRRHO3;_D;Xp^R^KzMEEYwil1AV}3j*2abdVmUR(n zwsR;C!FTf3^Vz2T7f%4orJ3}xwlraROmG3*do4>ejx*_lc0qB%LIb&^AI2Y21K8=W z8HspMcnzTfMSu$WtgIp7Fj>g_Ts@W#K9Wvq2tA`S%dxbexnc&D+>*`F zp{2Q*T6fhzddJWJEK%R9orA$Vjb9km%r?z9(Ry^4@h+_Vofk?E9+WSk^`S3 z_2@1sSkIx!!ViM59jTFw=GWjIncx8+azP_ZaME$ohazGCS&IH+>LThshB`Ga_7)ll zh_d{-@|m3X{Y|-fxBz@z3NgwMfFSU}^`-Oz2=*3Xni7REPPqW!O9SgLq_1g52`4LS zvifox$fwTSsw>!bi>@p+eo$9HD_gTh!=a+UR@<3Tg&Z0RgUf5bV}na=6@JfM)iYM% z_w6YEVs#X>z*5zB*SeI{UT9>H@>ony~tji$mjFhvtx5}gUZ08;$ z=Zg^aXy&@bjA9#)cEW;pIVnuTo0CprWWh7N-urc*miY!xKGF=y#Td5&Ed=iLVU4Ic zp7rAm2Tp?u@H1}XR$%M~jnhdsjSG*P1!UAswZlz%V!Wh zP#5f1DH5?@Fc-p}yAdEP*VqCxWX{i9&_KvdgJHI-K9aAS{v1gSrvOENtgf&DkZP3s z58UW0#Qd24PfWh72Id$-lIxURi_3zijQeDbtUohfJ4UHc0Vc2RdG?}x7k|C%_~cir}qM+%iI zLORs}7w`H34!HOv+_B)O>0Cp9qZWCH@OK6o#H<+kCP&y{++iD8Re=?f(ddJ@JC5Bz zW)$+HYo$*J*UaZm)vY^zfNp(uO}EaR09t~Ddg+A)M#ERDCV|i;Fk9AmIZ+ihW?z8D z6BeS{k;!gQMfxDGs&QLf-GHc}yz*xJJBohxfwaggevp8ZXLoMQT7}lAH7h#K6{T&1 zwQ4qpvRE_GDvqC0tGK@bCwJ2l1*n{86DY`TNv%!5Tq|vY+lDq#rIRX=*6IQcHMsH_W$!FH!^#p63PNrB+Vw8e084k=#A*z0Qm%kDrQty~{LClPmt0CH_NeaIfJzu*`p2!@iD9 z4w9&Cd`#LIb8SPB&IDc5PHhW}D_nX(anTpKXVW!;I&}`V5Bf=Qel)>@GHtZBiCUfx z{PB`lJ}5O=HSLbuRb-5qhf5){`FX6(g0gIOVm&oRyp1ejz7+-irS#l9btNsN9@<^- zP+DQ-WZ({<88(zYT7b(pEq{JHeVEnnTzFjQ8(Y2UvzH6}?tkRipMR{S(BaL8M1B1% zEAqm<>K3|5-#~${U)18_*H4Y|OfM^-HaUd*EORh3Rcl>WqgWflx!;Cuh?M?sM_U>9 zjU^J48WKsSuy%Q+0&ImL4YoCclhHfHWC6SA>qHv>}SfA&92(e6J;=&4`Qs! zSVJlHf~f}z3tI$3#E$MD^O9Jy&niHajP7Ei9yH#`-^8P4tGG6bX)}P*T6yV^Q?n3$ zk`{wvQ1hOE#t1tFWz$b-^WV1bV}5R>-_xl#@N8U0Fk{CE*QOr#Id6tCQXb7nnOD}N zJZgKi(%oOAyyb_CluxhecXOHmqW~0`%#Fawz*Y}kJ)ol7s%{YZ$DvZ7{i_Vn{Hm2+ zrsag__D`O=-d;Mcbpb;tN2*?9d5|)qxt7%HbQFB@?0c2T;$Aa$H_14$b!-e2O?w3l zuIHJ;J>pFx%SNhzu(YysU`9vI%aU&GfEe<{{-V`?Ppf88wa~)jOAGBgxj_F0^nbOZ3jl@ZoRu@*Dda4tFmvFUL6SG}`E}F2yg90*4$5 zr&7@Xi+9hR!cfr{Tk{)4Szh%ms(|86a|JCHQvz9}>i{uZhy=MN)HZa!C*>8ke18s8e5Fn`Co5J8t;J@BP(NN?z9C4w2C321WT9p$ELsPI~z{v7O$Vgl& z^*3Y0!zO4Rl^Y^lj3NfVsj%@`r{Vm)^plSws6Q=8g8)nME2?t+J-RCE4$i* zGL-fl2qGxOxN2p$+WnGWG1P>=b^>WE=5hU(v|H0z^wgdpS+~JGWF@^5Z|O1jPVI_G0H|>hsTP`F_(!uwu zaI8)I*Ltt<1C+;YA(+N0{Ma|a4<-;3!@gFQl!@;4<=*-$O{98!ovCIL2-B#^OahJ| zCILRGL#P9~m`(5sQI|dqHwot2K+shUFjfa@qPyL_Bcn97C!Y!>X56GE0UG4*p4Wfn z=@D#QP8GFwa(-whhq=JR9?gXTI)7ZGr)$OCPmg8^K2+U|AGA*t#tKyIY6OooV;ch& zI*B-^PMHw{SJI2^FE6yIbcb475eEev3a|+r7TM_;fhEPB+MK(_;$V87%Dl!1FrQvt zaXm`YY*Sc~UdBs<(+CI&<6iT9m~46lAA&k6w3!CV3jI!)P;8d`ED>jM>dffq;q1lj zULUq2^Mb&kJsVtxBYI4I?uDHFgCS8GLAs1iSL#ZCj_L|FKSRUx3|r2%Q()L~4Em>V zhbyO?JRQp6k7y+Ty-cqaHck;Pe0!AJi{q9zOYMv8=KEybKDpGPcK}}Zlxvt<@UAG* zv9mvUfBT8t0eG5t(WJ-=@=N8tY(<{%E`*=+DKpZk6>HNSR=UI0_USx^(ps%Ch6ibk z10y4b!Qc?JSC?)TvNw1lIsxOZWzCSWViZMsT|G4l3W%0mAU0KlQf6A_@j-zakysd=KlP8awLR^&Ys&%gIZ;>MN+L6cXI8VyRoVuZ<;d zngzhnK`1Dun{tzq4MU0E2!6%dw?T3~f!EBA0v`m9%K|tT1#m#BrS=n#7&yz7NXp<~ z6aa@tVOIcW7!Uw5Mwu#%g*vbE!n1cGc_0E>C)aL-mcd8~2(lFcGu-1CVW6Ow`q?FR zASmlWb|!yO*Fyrjw{i#3XFuf80CU46WND|~Yc+&yT=c^U5FVVxYU@CtWlUn!HTm8# zMh0q^IiYY8K1(j{L+3#R6nG#oMjBMzczamE zYv1_CBkdq}@>yVuL3#~bCgXJ{FPCU+L}<%3rZ4FgkLn#im!+3XovGz=5{Sk%Qc_@G zy{+_grFim@^imVUWuo(9MelZ{Z-N}UQ{lY{@f3Oo6V`=r4D=S12!O$~aPklh54org zP3!=SLP{EVO94w>4b^`^Pe1=ZbMGIeSykTop7%#pyT< zE`i4Bxz-`Xv^QkZxx;diyPP#-bY*e7oeasv$RAE@6tz{Nh>-L(Xc|OlBbrt*VkAka zs4yXl#>6&3C2CA(AW54siimPQ-|w@}dCyy2-4w=TQVs7pXP_p|pd;7Jur zfaPYUqXR=bt{w!CbGcBEUy{db6T=dXa!P&f|88HIIQ_d^@O>3mZwYPm&z&O}(9cdA!oeWgz?Nv~JewECF}#25jmbr8S- zM-gzp)yBvMD-By4Ypiht&TJ>fwOXSg&P&9S0u}P!%Pq=jW&MN~+DNQd=?_vN?HJXj|gt6I_Eq63gHeUq92T&|wV1FVy=V&G((4q(ph z>%X}j+T9w0GtO%-YuW@D{Zj>JEK-9OXFjE%jIndOexN}a6>REdkU}r_ol$dO3Yx6~ zQxv$Oz?4DvS;c#Gg*E--rnnYQ}dXA6{ z&{e(O z*{o<`toT7S{PhVk=Xr#d>$U7Fn6j#l3$8s9Qst;uif-*3<`YXjTiFr|>5xiv8t!&i zY=JFsHjEl zC1nMybp8i)G;yADW!P#ktP<`-(2hFSt-Rls`9u(n97=*1SR=V9fu)EXX$Gd5{_Qz5 z2-FM33S^aa>+XZe>NfIJbwPQs~q^Mae)@RvO2%7&dI!(U&&vTmmKjsAWSK+LN z0gVD}eyVnTJehYl@L1T*(0Lp++IsM)OH}_;9pa5+SzhIgDDQ8zCbGM(rjx9yV|KvH zqXU!jku3%?4Lyf3)G+OARAS7y}7#pfI3wA1JnHdUP zrZ!bV^9za4>R<9CkTx{+Gh-`>n*yDdi{WcuaJGu7v|?|66iza7vzf;;GW}s)Biv2> z)yNOsJM=yvz&_5aXUP=GM@4^Io#lioD&Z%1$(K>|pCo+ET&bt?&Q1tl8;RSKA)>dK ztsT0+1+-x4j^GDY z1l?@hlf-6P-m8O}#5TbM10Ib)O;%0e+$;CD z3(`3O!)nrtN`vh{fPuu8B4diePt?V^Z$Q-Ip#$^;*w)24ET{rGgPY&HI0nVg?5%N@ zM))scbbI91=b@+5fHJ4btwEyI*fp;W{PJL_=6P-XM;p9>m~0)-t$tS_>Z5)3M!|R| z04ONRnw>$^^L((-(5Fl{t9ID`oLtS9D2`guzcMb%mYOr@u%NP_DU2p-VAxC%#acTG zw5_v}%CgJ8r}xg*8bUtP>Pcl!k1_E}(%C9i9f;L0{q3W%U}#$-79{(c!%*|;l}w3c zojb6PK^7+#suof^h+lm}k5sqY}*jDe#F^BUR}%S(6RLaK@P$Lgw1 z$XK0nRg=16b&&mdNM}^vo^s~ zbEVbRY)$1^Vh=z`&j(P9`id_WC&F?<1_R63z#`f4?DrCzLYc#7|uo?(ToO73;B@ z>W|w!vzo4x)n|?_z1$XV?=9LOWv11g6ZT4FM% zwY`AIy+amd8kJ(PArTb8WKUfozIaw@)e-wM9>uTRGJ6bk;a zkTs|P7p5>sYnpZXV!^oU4@4V{Se>66-lC3;YyS4R04pX#7?EzE%F z10L8Vmpn63Q{*NjxSsCpqD#bugwWD4p5 z^jkyZl)Ij5eQi6c)%1E;Xe=OPB120^wUQLErj_f+v~wlmE~Ww>bbssbhj&G)S1a9& zm?Tv8&o08|WS3Mbdx3x3Swk)^LcvFu1a57ZM zyN zG7gMpUiTJvR7^qIyrg=DkYZvr)+s{;^5s&Bj)~8aV|I|cy*d#*he%c@%;IuXcfF$4 zQ4u<8CMK#inYLR1jvYhEq>HtOkC){OJBC`|o$ zk^ZP-mG$|m6|i0Cot)h&Dohli^k)(d0-EV3rB_d~wpe@pKGWY2D`LfU6q>n0GmwIB z#IH5M3xgSfubBs~y6^KNw1OH}-}ia{RFtv5-C$^sf^y<$$8`m%9?=y>e$1%&h=|WT zZ7wyeJKM6W|Cmn5g3MT=eV;n^d=%`anDEa<4_eZ$* zhN5(OYoRw=3sww$lnn90ba%Mbfg($eqT}}-<~`n1)fK7L5`|l_nunC6&>)&nzZ|yq znkSQji7oDYU2cQgvp?<&UG=5$8CI)C0xPlBuGHfz)dB8*w0-5J&{)B&=|_N3QGW6( zfWIhT^QT-Q%OaUMs~zaGTKg@mYNV`14&X~)L!w<8C36wy{%>Nj-8ff8aOD0WOu*yd zl#euw?>;jjv{(d5ko0O;=koJAd*Ut#6I>eb$|v<~Eq0p#mg=lK<4(QVK@B@q&5i~+ zx=0aWFSyBi_ph^tNs;|lEonR@6jMm_fHtSwYdCt__=O#Z*;5*RMItC zxTC@g{%Jgu)`V!!C4(ry4c8X9Eqb}*Bb{{@Mic-i<|UAgn3tht=H)vxuK>?Pz-pqrJz%vX z0LI2&-~tQw#mMO0vx;X1ps7w1QGktuHYGOF-U~hKPD|;35E>FWFSSZR&JN#bs7cq3 zZ~WMDlHs;#6Q4;aQ2O@bnVHoVoNA+5K`S8gs||?M!h8=B2F$d`Q4AxZ;UW-DG957S zvm1_~aInxYc95jUt(_faL})icD5FW&Y^Z)uvbug0)bIAoc^%IO@DXzi7`n#InjRCc zFt9b7MrB+ilk$H2RxEa__q@_{9+w`br_%?51qA|+c6vY_H#Cl}&iwSTR(?*mszyRv z_B;6LQgtkVfu;VRYA#=+$D9fjvp0JN4S_7?hgHq{S5-CH(ITsw>}bIva4pj5T9o(i z%bU`(D@t}~Ntd-2cdk@+Z7*j*YT~O@xPe5_I3#U%#g>0`UJZfGuPV&vD+{ z7G8~nCUqej!Miql%1{)2<)>$!L85$k*}<;XMYLSeKeC#7zB_=m6u{C(Q;-xy6H1}T zqhRbHgN!<29(tsEr;=fjBa4~uM&F_^mAC{p4(cKqFW{t~xvI$3WLM5WVn%J7Z+cbV;lMC|V08{$CXLxxW1`fctzWlY@5Y{O997H@C;R z4?JQO?xQJvu^1?-;yxHIBx$VSNeI2*KB?k9i@}o}#3=^!IWZt@Egl?bu|3XfMzdlo zlutB?h7Bw3p}@6adO*2nYFCj?z+_a#;JQj}hf*o6%eXxi5!DKAfc9=Nl^Q13h_@P6i3$e2pH$((-=~WTQ^@J-M z^bV%PP6#cPvO;LzEt&wH_TWl#vWU+*dLP-&=@8rtk%8c(KBeBQwF-^dg zbW|MSsIVsAaY{P_%`xn3DHW%&Yxa1Ax$M|?DflrZO@h$q5TB?s7g>A`y9+IQrYpX0 zSBvy%R^TsxFds^D$gG{*C0Yp))^NOYRQbwhYSk!y7z6&;jRI#}=LTa(tk&fCq z0&>y_91?IqkmqX?-exnK-;&hD9-k3O0ojm59zIAix-e27CVinC=Nrd9&y|7t0)={` z&R6p?bl!1GL?9F77Pp-NowWr9VaUWC%LNeP@VxvD5uf zuMtE`bz9^v7|2P1#vrXqX>1C{hyV>ssues>|4`SO8PT}s&d^=+p;d; zZ~s<{9m$7t?%@{XZDS5DkK9x7BjqYi&P3mG>lw!=lIwo7D?X!(o=v|vwAsj}*_>Ni z>CZcH)}|q)4LjR_5^XHl3kn^|4Wl4NLz=qC=z@6qDI`qM?sW2I6QPt%S~3+Aa!Z3G zqqgE7(aw!ff9NxzNJ}WwbkUBB(~Kph_G)JtXrQjyv0dSzKpWr@LTM3ywAqw&o5CHu z5ncE!`mb!Y+b?U0)OR%IIk$=TY(sm3Low&dOKI{nMX{iWr%Uq#meQb0hkiszwmuz7j93=McV+HR~*7^{{w7dnI(9>e}5q{s12=Y9vlH*jo@1ILmzm95V_}X+im_ zusJjao7ZGrqV~|>mBjlaFghr1RwFGEo)dh~{UHt$Hj;(pP7&H-Z17zhxko~|jvN5y zv$9^o&*2pm3QeTQ+heI)p5wkhFC7H+Yb}2u_gjm_Ve57_Hc`Mu`oGVT?Ua`sgz6+Tilrxb=?3D~TL@|AGQd|# zfPwP+QQLZoWH@XZ`UGCV8~94DQMQMH_JvcEI{kUFd_-djgMc9*uH@cKf3I{Id1exN z?9x`S)*eoYqV_JQAt+T6Sgv(RuuKeq^9u@AgLyHR4NH$W@=LpMG50BlJZHkr$fi0HZt?H@ ziNBVNgZMuCjPj4eVZ-CL>LA0XN(&GEfN9~E>xtYZs|hB6#$&n#*GEJQry8G>g|{^) zWm!uKQg*ylzw&oVcgh?fv!|!HrNp(%KUfa1zZ>y=HBEV}&BzypORVsLoP2Up`EQ;B z9kiF)OG@5?81`#Iq<@laOqA2>KH=KJaOkad-h??+kVRCqM>xBsXQmv3%nn43`* zzFqN&Pj@*L1Kd)!Lr6Q-JI=vb!1n?5iJ;ojBz$s?k6sGV-Kxcbvpt<6ECWsNDD=n` zh>c6vVa-6O7WUg9Q7CVb3xmEzbiGY3B>D!5aM|K5h54kQl0tdqy0GwLJ#jTTSRHZ! zRte9X%Ucbjl8~Su#o>98znU=_4G(giz_Vj|3)WJ9prelUSkK%dKuovm?Y3LxhP^9U_ApK90;T-b2oi!*pyR5TR zwiqH_&X+HH4k1s<#`HfxRdADtBXbfLLy_ckrhPhz3wUYRz9DmutD0=iH>z{~lufaQ zh)VA>0kug%b%5r(&_#n=_7Apest>5rdEg#;j5}|xE6)_c4=uX2EES7}a>Ab1VrpE> z|9g6+5rXr_s7o5t3m`bl1rbdce1!@U2kj+~yMA=mHZQs33mzF+c|EFUEmJSh@OgHk zS77l#fwaWQ=?~jg5rsA6Vx}z^R-eof;HV9^IaO4l7O?7h#{$hS(5sL#tp$PHNK*7a zmp2+tm3a8)g-qL>g=i|+(9iV_5>d-#P4LFB;?!BRks5H=s5~UbL>K*_v*%$6if25u zGbQ7J6H()Vsw*0TcbE4wW{eAGCl$Mk062KN&|9ry3(^c&M-O zT0^~ZaPz>nv;jkPghNx%8RdaG{26R_Nuw2RB-V@KYqqHkj^SuPNmQ%`LnVh93(fcP z=!Gg==hBDih*RLj0cYr$^=;8RHU3E|s7jCZZLI-lo!;J-1bL_GdpkveC+Uv3>cK1A z#wzc*a)@QnO79|LdUw?TsyEj6Kig}qS2)1_IvfC`XK}n>a}}B3Y%fuDFb1vElyJfH zEN^D|N!Ev_bm^&6)7PbP$uc#sjh9|mzXv2jvU>hkYy5X}Z_{2rgZfOWFk&(2R31AN zYwy6Q1iL=cqKd_eo9|RC>3!KMz%VXbJf(Y>!9N33r(2M6NHE#t8VB&$S}8RI$FY72 zX$XFZ5#RA((hs{eim7ox`c9OF=w!&DJ^|kXlj`EsH~PqNZXx}M^p|bO1>s6zwVDhj zX_p1a5l^#_-*R-WTAdmv-;;@h?iFTG_@F5Eyyv_qjPbaP>Fs3N1}A5ZAAzBAw}klE zHk^jbVG_f{7t`Y*v@CkuQ8^|VXXgEB1Sy(E=Qad7tqm_3g>&e-xP}(j;~)Y%%=U5a%qV;{K&xo5@f^mQs*VnI2%AOup8FvYyiYEX9IZAEPMI~pd&cL%*nwS zL^;GdZ|%j!hg^DuXDC!-VMBZpJ8=0EpB&H|^adLQH>_mkRpd~WH)2E_yfLXv_ys9< z$QJ+PO&{UJ0N;_OA&mW|*qYxWBF9;*uXpGtJkwp@UYwRi?fUdxJQ{gl0HBWeH&_ja zyhA@CU9iv&{Q^BjDCB|^eQJ3>7dx*j z`-G)C*<`QP#9xz`Ak%UjH>eEmcD1Vj2#>LrzJ;UJ=&USJn#4wIchFW_Sy~%$98|Eq zcuB2de3Qnv%l(RnVDJBm-!{oc<5xs$nrv9$FW@n+VfVAJ*=o)0)cX)wMPRCJ@20>TGuuyUarprfWmD)4eUX|YblaG0Eb zs{OkjqZ4Fu5$QXIiU8Tzczo4bdog6r`cEC4H=$VQ(e9F27JRB5aDn7&%@70?T(kiM zoyD3JHZzCEXo)^hGq0gNi#NV4UFuf5UL&OQC=$=!8;!GcQ3w<~Hd`p{rQJqGA{n?WhEEZJ>P1Zs331D`DH}%q;LWTOXIcaX`E+;9}>Z#Z(^nfF<8V*jpp0ilBi78__|-(C;9%C zYeXkn64K?O|JT_Y&^%v;Fad>X$lE~&@OB702jS+xu9fhV>c-ssj%wn*(4=j7&Fk^S z!WnE(F`J+EM9`<&tP~3@PUMbPfTy{Ol`DZM)N7>-ZE+r72aXk-tXgrfRe! z6_w;Mu)=94Y`z^L_9AINd3^f+wnn~_G7FHS<~LtCOFCR;S3kCj8j|&o0bCD45=qj< z*dWc}qYizqg66@F-<*oA*5B*P-h%4&;WO5yuLTS}Q<7U`O9(v|`OdA&zh%j#7>8)g0fcNHQx?SPzb zYC)n+Y58!Re~Fc#sr457MCzPZvAcJBD@2_xYabLjrk!KD&hbSWk|pAI^FHZKO<5{3 z(6`b%yI`#)d9s8|weB(UilVuO-)?rO-N(VYmXyovw#y<^inr-Rq39s0hzH19znNX= z2GwZ6f%m}@(EwLbP1cHYKs@O|amoRZDM*^IsflM1f=4A-v@lx?7)C@3+m$r{U{mqk53%y01_DQI6NvR-CLM3$$c;Oh4HCyR{ zk`^LI9T>)S4)vi^>D8+#Bp&i~p9WQ^)mVHMunbmjwr%b*1mjiw4H8d5n5!y7QSOZ} z9(Vznn+HBc|9QLn^*R$p1 zPcXPnpL!0KmZmX8J>-pZ3H2_eSFRgRnQ=;b6~!QlM7tW@{Ww*#Gm%BhpvS@g z6k7TrT6bbgx7R(bTZ$ZKz?kuaJPry0M&TG=Xw_Q;*MO0T6pB{(BS~ux+2r>|Ye3A} zTI40=$L@h>D^aZn+AjZ$jx&Y{pn!P@JN4ta6>at|F60EUZ5WL?eS>Yg21vMe4rTGz z#N}7E&9a4?^+NEgf3Cf`4%bUiIZQ$t5z`RDPPm(}lK>CSl1Oisy$I)uZf+v?CS{u$ zpn4*@fZoFTcy}7_PSa_gGhD)<+Z&vwXoSIObL7pC3|s7f9X3_&|F8ob zbYjI|vr2tAQcy={%nZmThR=ArB=eB4|BMwioR7>Hbi@yt|)qkCx^U+ z5@yozsexELGmTv5^A)@1?b&_}lAl3UH-QTXosy*#SW1(Xun%RxZMQNoA=1~>YI;2@ z$ijY}pa*b)WtPDy!A@R{)PyRf5feH9;Z~FNgK^^Knio!ko~) zxfA7AxxOeKui(O%Us-8POaZ5l)A``UGvzKfhSL|x^U9Fih z+Tu7qn0p=xlKug0(4~ShAVKpxrnJ?xMSZ}5xbO~c7Kfd({am<2r<~kZ-AzBo3G4Tj zt)E&?Ic%{(H4Je1+CPao3PrTIw~@|Eo*yS@rhNQZyL@9ioe9rW@q9Q*ELvbvo~HIF z-wM6mlt=ugNl%-=B>aj;&6-?C6WdGBZLd7Y2Hm~#y2;Vx2^p12(dV_V<-0|GE3Za$ z+N^+GR`}Eqx>>O{l6*~m(kmaGsBs5Spa%&Q)xouSfLw|q>Tt1_4^1#tbB*0_O?*D5dT#rVCJ*Iz-~j)e48+ybJ<13D#~Ri>*{bXB8b#W-G}`q*Msmn%HA z^bjtZuz;q{EA}85r_U>Pb3skNNUGLFG~UYl9>)Vi;WXMI!ESR$B;RPV1Jf_G`vyFL zyQ*o`_i`Wm4f zy7o_L#6AsFJe|2kCVQUK3m8B!+GyA2pb%Lzvh+zJntn1)m9rqQ)7g!dLXpufz;SAU zCTo31lV~kyV_pV`tjuRJf#;gUK$b7VF$A zABeys5j&)xWsUHJf$+R>+~L}@tIlm;_;D#tQ{^BnV#KdMre+jt$5nSm_kV^GXry*6k_xZ}>$x3IL$QZRP&|5K@t*q}sStOm2XLq7r3JG2qfrAQus!=iL|O{K~qEie`R&otDHd zZ0s!IWclrx!A8!ZUnKP>)=TNo`q(GQajc{5im=i|hFi{SKMFc4`g_0l!vQ*@M!FL> zD22`(`SIsZ&>4{?#*2tTO!$R{c|}=iYUvs7GkI!F?>h?7oioP(9s1 zPu0(;HkiQ%xX}jSdc05BGjS^z5|u%!YwQj-NYJh`cZjb-w^|47=p(>6Gu$XtD+U`y zPeQ?s5KzWNbNO{D1$%UWpybXpBGi{9vaUQgUy*vie?t)8TH$|}q67B_lIZCKuP>Nb?W@oBivYW;7b zLJaCudF-^&s7`nYaSnQ%^RQ(5sfh|x<>UD)0$)5A5m@0b@jinUN-WV(Fbn)hsattT@a%ix)vvC4GhURf~*=Q#NaN^66JA@L55EtjLC}qT8}6$ zvwB1Uj7Aj2gGLRz>Ho7HRa7x#>)>yg3@Qx1qrzkzENrmVU@eEjHj-&$grRMehQkwu zk%^1^WltMy@UM89%8QGKO>RD`4XU39YKn9|AVJ0)cXbO@S};mw*Ine!X;E<2J#s*s z;FZ2P^)#t*BW;c_L+MOXG`APemLwEpy%^7$DG^FinJS&Jp*E9@>3xe_HBd>fJk;G= zzW-lmpTH4Y(kQ_3BE6}{4LSh7yh{I&C!vB>%$NX$GtOhA5pYAn9`|8+@T*C`$mH3+ z>?5kjoKYT4SZQL8nHC_WFfLqI2C?C-TX04(iCWm?J0Vj2vYHADrQX#~$Ak=+so+E| zy@jk22bN&P$PDdkJi!uHH0Yw(G04ildE}=vzUKxZ)x?G5l_k4;Bx<$VC0;_Qrp7wW z9g3!?7s?u4Gv`s|IXRHR4;gD}n$Od4wU0+?+BaDc?NPGFM&s(p5d1Za@M}I2${9vc zV~BYZL#&(ljMwSE=a7}~Olf!@>g+AAk0Rix=)6IHxQaUVu51%~i&$1?mIf@#1^frm z7g61~Y_YaB+Sv`i=EWcnM&@o!lV-%&S~{>>8SAI50LfrMUeoi8kQrmUonlLrry3V}Daa31+C zJ&y~%0%#o!q^R^4V~B5a7s3_BPg<^F2;wNzdiC4WJ5*^f#B@8dMBg9Qb%zS91^~dN z2irXACO{96b*JgldKALrb{&WKMIr&y_srsu^G-S>p*OsRb6dQq4^9?@*((pkk|TS( z;^-7$%kH^utVsiVcZ%ltWcZx`4@>cU&Aji_$`L@KyJesj!)*>;9(fd0U!=?Qd!P1U+~z-}^$_r%>}9fe;!|>ztt*-5*-IYhtHf_64I9&@&8N+tdBzXTJ?*UdfAz!ta!brhWPx6@>ug1L(xV$d@H_6ManOvAX%Lr% zxC~MGOcKVoT{CC*%f+>nc;Hx7q8D|EBW_ty6ph=qmZBbfI}FN=YZOIOg*@Yp`&Vmh z+_jIbQsQ_~^J{F}O;~8o9&-ei!MYNg&Rk=YZ}_9Cf+xeKGuBw* zUD{{yBq%UGP^Yi4#G^;oTH@>)3H<(VG)o+B)oE*_nq%K?mf^uzIS8BA*ulfEl5!;u z^JIgtX^kb`blX}>Ol!o%Z@jN6@kE}OJMYV4bfdz{Z7Ya#;~GckjxSWz2_)kqv;n(% zEyQ#9*KAOYf4qK;A0ND9m5*oEh#Lpq7pC0UfR48V$%wMTl*!EW8prgGPp?vFhWU8e z>(*G};}2FPJ{bq>t+C_Bzh0Htz~u49O|22(j@^ioW}-N;aqjg>)S6sluMfY!D!9?c zRpB_X#$F%#y;Vva?=>3+u1WPc`jx7v2APc))mdXv$G_DqYP<~2Yn1M_y*NKilF*ZF zFa5X_-i(@rUTM~Y6>vz{@*S_hI*~q2z_mQsk$UYj6>mLd2b(e~U2`Cl%`gN$+vQ?n zo1H$+u*$elJGrbDD0%` zF=nh1too^S=p^{j2UvztMSW=usL-Th7Yg9<_v4+ zULNI=?P)%n&v?A46Ke=!vje)-bSa^T4?E-T21Lw^V9vG$={AMRJaQdoCgx6PJe~5^ zH~QH=J)FMP;z1d)=XMm&gpFGnQ;N{pW-kXVlP1n|KgiX^HA>(uH{(1@ zQv-nso+L0zRahXO29p9c3&E)%SH@gf$j%19>34md<7yv7B)%0?WsmxJ_z*t*UOdbt zy(yHgjUD6#h)LR^GpNY-SNem{GZl~N^gea^!4O0Ol3Y`LD@st3AHi$-yy zEkR5NXU}xJ1%>hXZ16arD5ck)80&-&idw}-d^j_8X9;4)JT8^s`(2nO^ zxs$cxnK6rDue&kE|EPhucU2SErr`wzK>)ShGcTkz6!e0^W&xPLo-=gogeW%p3FtEahVlGjLCNDbMUEyWZ_7S6j5?Mt=Wj z8!SN28TQq&+-kPpQ;#S#0GB?XUa}-7cwQ4E@MS*mCkkuHf~nr!VMf6u%!Eg0x)l|z z0*<=Jy=o#V<{^L?VL679CLjo-0$ALjnPgz;ly+vG+yL0Xur9*jZXm z+i3o6qHj^4hS}v1%lP*S)P=V_HYJgvKtrp>3bBqz+VncSv1`e z7N!OKju=hPQ;LF3Z_|VsvW_*Ct$iEXosKz&;&fjz5moW>4r|&+CWCOvu{l`J`iMw> z0u{MS3_Q{3U1G`OdUXz0|2tiGXb#}C7>f2_Q##n;=eE{hlapB3pfE$NM`Yw9o}MBj zo?gBFRjtzz*W=q<2v2!#WLT6h@1M9qSrUu#nK(r4Yq?VzBql0|qm63nRSa6PWU;0N z0mEXDG=G9mes6jQt1%d@Dww}TAM{3X7usWmuzoL2&_`ORpnyNUWit^y>W)q0eZud0 z?E&69U-_f`Nxjd@dXjt5sL`~ENkZsBBjZlc za#GY&uPf3n1WKS-Ue^Xjv+A&N)Rmz~tVmz%@$-<*I&?$oEqZ?R6e~%H9|P$O&bN%O zD0#-oz9KB?H|o_)m)5yf>1hm@x)-nq{bvTnj}`pwL_4VNSkso%*d()t;cvCtvoCAE z6l~bBZy1Xw0M0g6O@Mogv6NzqmP2e~HDZo=3(Wy)U4&}jT|~MGQ4Z$dXfXjEA67Y# zDO*_JwCzg)6MpB(v;eVHc9?O6Lkk^3eU*J8kmonsY+0qv)rdu@vBu_dUn|I6pyb*i z4p<4nHU%FVB9?AK#_9;5gSu+->+{+-aJxvt0&HG9;!W+rwAWHB@`~n7*m%bHq(B&B zv~Z%t$QB>oH4xX3Ik=NM8h$Pa088J&lfM+yKobHVblFkv-`{o2d`FnOZEvMYh31LW z^Gwi8di`mY0qTr9_bz0~6OzR?k%eeZj_;j}wmCCo{~~S4@)<2Vsp1PLwTOM&^QH3(tm*Jc1Fko`oS^8`wn+1a_v@8n0u;@+SL-h!dY%D*!oXY#xc@A0CEfQ=gq~oggv_jaR z_6jB3*0{s(5~w4K1Pr^Oy}i(`7Dlqaf@=vQLYhs;p;3P2nQlL_=2^vGwdeubWndc! ztM%v3CI#O>lzPb^2+-+Q(NeT2oKk!?R8R%wLvao(cV$v8k^S2#zEQC(B?(Ol)__|! zPRa-5R0s=w*h-(@KzTtP*AN{Llp*nLKkBbSjf)$gqf-I_GqDT+k7waJNYD!ohPo#YKhw_CIg=1@cBT zQ-zd^~2|Q3oT4U-6)wrEVjL_?7RgZ`>MK7~^*ExDX z416H{`WXv^`9^13YCB-&ZM2NWy+93XB<=s@r9)%_xadvVHr9H{1cQ_ZJHTBJvIM8z zR(y}!U>miYA~rEFf5g;OJ~R+{Ah-~R-yA;P%1u#4i`l%i>gEAu(4>$&J|XW#^oRm2 z6AKlln3eK|dy4cK9l@#uGNEt6GHFuYQHvr9*k(w)X59+njp`>#54o$;38I97OUWB& zdyKs1(BVlMZ1XSBnq`WxE~=2hfIm)>>|Mcq;^EzpUuIlQ4E&My9Qa3b5M34Cg};u5 zhlw5S+ad`PNInRZBnU7DbLkCB7Z3}apNiwp)>zZf#QhV*`mdTx(ZFguPxiXe3U)074U6;lL${fF8dyW@WwpZjyM$K z?uw$>xlPo0V{6#==6C?xptI2^jjXD>iwg>85{fXy^oH)8D0ZzjHTZ~Ds(dILYy@>IQpN24gfO5fBDZ5yQ_ zzB;56rmTZRlo9|s`gfbkdsxSLr^0|x`fliyf5brF*)kc_Y<`M1Xir`7dMPYs^{{vI zZu zwrkD;Xxz}zf)U^Pdq>(oT(8jzu4PtKHCIJjsb);2nODpUDajzO>S`6u(_Bz3e7y*@ z*}WROo~9l;geP&Y(bomdBe+a9zr6{hLYQoWOEVy&E;TgfKp`ocg%r)oDyB}Yg|+S5 zHjwjEqF zoRI1TUJCU>JX-@Id9lp8$N(o*-Q8mF(U&-J4|l+MZ4ee@Kd*g6SF~DIOd<@tS`zAG zt#b=P1Ne8fhQ!4#O5x+Wt89s7`>y>Hm1s`D{~&74(N6>h_sav2lXyga!+WLN*c+ts z=wG+X--ux&mS!pO3t%POvr-HF`0 zMiBK1iK~I@em(U$5pFNPtZs}g!1Flph2HDCecI(!Iaw6P@8g6sdb996QvLFdl_hxO z{H;phGi?y75+diLl<+=S5sLJ*)UJE-1UK z_t54A=W-#Mdh6V_D)8N94un(M^Cink129sv{q|z%-M-r`J==E|ohLb|aM~Y3h&`*gNDt?9 zcA92X5VH@^iv;KAJBC|5M*^j(^@^)BN3utGZU~^}!FA9`6RTY4oGytcB$c$a5cBWz zbjmDj!i)80({~-#IP0^Ws3jCP7iX5*)nC)PXXs`!W(bC@aJrUVDlf;3b1O>JU`4(1M$mI&bVyxG8Nnn_2#&{ z(B=TgPAuiPc^Jo7=$My zIK^_7nkbB}hLdBA{i7y*v%{{FvROdX^t!GdrqX*sEPz@yI0(pXR!%n*(oi!dX+}Mx zg&!OK(eb$L@Zf1>lbeKEFJs_ic}k~=27VL6$H;M{i-vD9hELzq4yiP6+??rP#aN9cuMY8%ZypUuZWs*`|J~%*XxiI2CJ z6TC%4T__%>mn}UcKHsU@*Ih4I(iXeA-|OJCxpXVDjP-8m zUgb`KqutUsq)#!GC@Tr05dnb;=f;MFf7rn&bV!&S!6?WacStGvG01h%XPsi&5fcXRp4jEIa3T!g;Vx`XgG{d9onuMU~LUPc^hvAj)7|jBHB}Swl z@9b6Ku+IKWzn1x@7P@I?Mj;iK*Z}ZEkx95lX4Bk-Y*8D%+SDSECrcW)TrwYu4z@Ba z#PU8YibO(u!&u~Uj=Q<^zG)gtTCARwz2|9WrR0X%L6jN28MmE6x7HCGxY)(}@tYvs zrj11!%X(BSCItx%k(9A<|E7o5z0b}?lUgrvZXIYHgDlEWgKpd$cir@6G8?fFB;h** zd%`cVvhh}@O|ylai~+FvL(zHa=i#XUxoka3(Oc? z7kl8gD#FvHHP_5y)$&TNNNoiy)rAoi^JEC*!8ON*MH@>r2$NQl(avI|_#6QssV-n^ z=L+_cI$-3;RD;*;YCl^Smpe}ZS?Up11Uw#9SvC3&k;wulM3a(d0sNgrE9!7< z_3vUp0bjKx3k*oSEJD20@S(d3?r2b7o8fSRjE3{!R>V7f6$i!_le-2|csD zr-SQc*aAM-s+o^xIB$F<1|qekE^0pgtvDk}#@}hnMe*(^RbR|kh%^I7;aOXN>Vl66 z?)r4{>v5-mjRU#2X#%a}7bBKD-Z-v&$o-5Pbz1G zCn8QUAetD>1A;q_hV--*Tfi$uFy>Xm6w&a@W#<4H_`pAytrgXDQVbd#G`nid_Swc5 zqKpxCkdAuGx8LlfZxO#madm)-BT8SYElhBUFw(g5o>ffYCAz7Ndyl;V$OwCCCW#MuaPmVTECIwq>tz8Ba_jJN6?p`R<}a=j)~v6f=4EU zx`u2GLm9_nzr4EIv}ua$Up0FwzoD1PQu)4I9rcs?RZ@QsR<0I4qR6`QxTu9q1_nk> zW_W2gpn7;TC?Xp8F##KhjiU;y>u~?aD1O?RVWPYv!p|qP!I$^>(6;xcH2ZmICC*9p z?fDg-a$By6wp=5CXlp(80@NFal7jS6jr0u*n(6f0vQzGPRY)1(tCWY@c+lK=7!Du?hJ!>nTQka}00>rF zbV2*l#aiPQ6qPs?6c#P#2|p+*Uq?yxUfC*Qi>10XP4P^-kY>^$_&V?C7(zDgy7&pX zV^arOg}AM!P3JM_pjerQ$kSOaHdJiRq1{N4OxDY24W;ooM^Rj6tD=G+DMJP^WytKI z42kW~b+Xyx%{%6#9-5wLOj&5TFC$FMl}U?Fm5gWax-*zc;Kh)zjr>ySzz`onwh(&q zhDh<%96p_6<|}K;(^^tJFHJd1XWs$XEtT4A+`ygq$8c8D700V~FDmli1)Ya@)JQz2 z>jR*X=#N`r)WeXoSQ0e5Yf}#o`n}q82@ZV8YFT2s^PXJZGS?G}NuJlcn|E;KDapoF zGWDEknLs_a>@M#C|H5(p+11970xz^x@lUj)?7ON5-Q$RK)v}LHdEGVSEr6uweW9Uu*ULy56k*C3sP{_ngH&Gl7|HDULm3D>x#G>(f|&}k&dzT@Fj6Qjr<|h!!i(!M zWi0DqPT$(3JV>#r^eDI50`5?>TVsC{U+H>~tMb*%n-D1%egm-BTg4;?85miD6zGxh z**|QmmA=+fZ@_Bi+S02w>tQ0CUTA!^^C-W6z;bOiy_#)#A@~FGy}bsrAmctvx;yF! zfc!S?m+T@^ho5xe$#45=5>GM6Qc?fP{92M6Dw)u55FjbaZ=nG8gfz;?=ZrJHMbA8Vu^+ zMY_w2QryfXOBFG;!It}14 z16MiglH|*a#PWXK!Y0g3nL`7jVoy(WI!hwk?ZqY0QPD(&4Mp)nx-JDFSX}xh2&MNg zSkHPsp-z4gyXlpWc967s5AA%8c?AJ3vRsej(RZSmM>{6*r%=&K7P}L+NAY;{M@_w; zb6lz!efqmjFruX_*~crgi7;w<&9=9hZL5rPTvF~QMdFV6JBftcmjT9hBs)uq7c`UB`nQpUlCEJX0rh=Z`aHj5*)O!AK0?B7+-Yv*d z`rSGLyIVe}Cg>^sjZSEacZa6@?nt~lGzEY|2Mg)g+tj56@o7mW?d8I@rQ8rcA^fEc zyQ)Cf3X+Fnvm9yMS(y|(0V}$ZN!tKS*PI5OT3}Tb@L^P-8^vcxP#SXLm1_L{ZXE22 zfQ|OwI%SB#=F(%EGLk9dBVz2Rw{&Ma_#jxW4yp=~sETpWK>Aw4A@Hk$##s#Q2;(MR zxL#d^R*^Z9>Z(`2N2cUDTYJql4zDP&lDKzGxb;>owEh;71#-sAn`nWmJVqb)>E@;m zzI@{CK_dorN^_b@KG>1@?nK$|4zCZ0@JRscrilus#yizkgCPJ=1oSJcJQ&|ex{d)M zz_>QJtM%&s1)XKJxuRZ;MP2y`V<5zM>cy-3l>a@|QzMLEkQo-j3PA1e+7)$(+4Pt- z$U>C;vSpuujwlbh2censSDIPJwYmot4sZqBt)cbae6ldFNW5+o#B;7G^qLkB=fyQG zn!)u3#Ue&R5Gj0wFb1ViJZkiOy2F-1&Zw8780Rv@M0tK)$BDTiFnAh{Lrje6Chyiw z9Ccl(!)>pinKO>Hy_|dsYnb%Gn(q|-G+KzR;l@_$^g`K?Z6j@gAT+5DV9fk*ny3bD z=Bg?1b*Lp?JtYS$y4oyHz)TDKQ1s`9SRM0&4Qe9$b?SnhrVCqk%EPrz;IYf~-7Vbs zENQxaO$}`lGuNDu=ZA*9thMz*Yr{rDYl}If-`G4PGtLoxgDx$b zMIV-nFWO5)hBL++bhVo{v&hA~%Qdf81Ckq1TW0QxO)^<#e2HbIK2Y#H(-bnp(pxw4 ziaUGDeTNZNbeO(V?flqVu3h<@f)iTT+4P(Fy8`dv5QB}pvfILCu3DOQ6-{IAJ})Vp zu2pBng0ge6he}^)qK@bEX)Ry+0US=i4QCaX z`qZir4q%4F0z)p5fRPd!&T!gtL5n(MW`}(Ei%pe$2o*Exj&cB#%9+fepa|p{s8?!Z zI$DRTAnY@uVYbDXFLI$=CUiA$+lImc+yLBHryl!7H9O`7U1#cbwLF^J*iR0; zicM@O91@AvZqOdH)$ADbqS-N0W~*6+SXxB`SXw1=0}lm+b-MHxPHWPOGx;!*pcf(# zJ)^3Q;oOUZO_a&cKFvhM#u_gjLwWY-7)q1Px7?<(OeuLKmkC*oOw8E{SBGba zB?#Y`vy0Xb&d9TNtXEpEw7IIW%^nHm>5*cP2uo^qOi$f~Gf&#T!I}C*%_OplOPx3P z69sDenM^SgG(1i8-P1XK>aQOpf5Ff^8!_I+GwKOO_9FI}j3yY*NMGL6r@NkD1Rb!8 zJ>CWdz1C`Xa6;gS2}U0>0!}DJpBiDj+8sI~IVKo;F^PD3Fr^??(-O$*2qo646P*&T zMKomH|{PooUV&U;XY^?uKQAIgH zc$Y$;(EBAp?|XvYFXj>(YVJl7s4;!DzZMf)^TOlcy0ag$h*6JSZc ziX|bH(6K|6m5@O#p};-Z5xV0$Ey3L3J1w|e)LR~*J^fsqz6Ug|wO2w~shZo8GnxBK z2GgPM&@Mf)U}G?GPAAFCiguC$8^wy#rXgyH%H!)uZ+0fPW>B}rJ_R0WceLgSx}0-i ziF2nm!zGap`tjYxX+K^Bjtk}W7dNH1;aNymlcK`{o=-EdMZ^XbyRUIK`wNYL(Up&< zInn_*1`oHKoX)=MD7H1S<#{f2Eh{gu+?#ksuAAgWoYW}>RN~o!Yf-6CQ2+y#P@yan z>5#gX9Sz60(kx93hKkmVEgxTc3j&!kN93_MK!JL3fCUDCc)u+fRuYhWPUoTS&u0Zy z*-kJGR9k!t)Xr-^E{o++mNBt9SLNeAGGZJjUD=K^bdR=eS68nE`D6JrRlvtyr0ZH; z)(u*NsIMPak8=fJjrGIy9eJW)#?~}#wo5}+8y??8gopp6ziklC1gPj zH%!=;P`h*S-?ibeF0@qwT#4c^VdDLE~# zs>20@1qEZo%YBK>4P4>CZL#Wacu$UYZ@Hjzgn>FI|280Uq#eG1Ts!1Z zSK?y6H?H;3Ya3(VeOXzEEJTmym@yhJ$m3QOD6Bj!P#1I#v}<}a$_6icXoPbt)MI2-@PiX~ z>GF-qyKvSXaGTHZ6)c;Gq$c>~&eeO~>?iY+!1&Ray%4knzVjub{u`gGX>P{2;2UeVbaIaWCD? zIHbpA9!E{DLI@17W+buDBfA2`J6{MyByL$LzXkfwi0}FtNet*UOS>jovFNP zj6M}FgPnQF#WGVpD&!`+)Z$LR2Pahf;at0}%A?v3RXkt8~}*Is_&oupVi^0 z>29%`@2jSmWQ*VBiA;P!w0C=!&jczgvQKrT@3C9ny>hfou2uRyz%(!2x!ZGbHQrS6 zZ+W6d<42&r<)-iS?(uhOkbTuF;4hQ}>MFWP*$=kHN`BCyV7xnm;3Cl0?}M$n_YXoa zpKU1sw|;wcRM=6!4Y{ujr)F?2<1R>M1*f}fiUk^Bm4+X~Y_Q1zjEs0r(qHmp29U0m zmXE6|j5n}lya3jpxd7OPRNTs?4mu0BkK%?pKv#v`te>LgcTJ_2bJpl}PLxj)`5GCj z{QL7Ov5>23D)}5Gv3v*zsn$Spy(;{rS45~FZqs!%toDImkt|}LGP>Bens$^I4E0Iz z337kP>F2wFc%APE)3eh{+l!Hfcp+V4d$H?q#|FqKkq+Ve@zOFok*?yg=k-lj(tpB$ zuCO}aDT%EjK~B)smbHHTcx5`g*|Rkyyr`VI7z(h& zQHi_b_9`u#;`MI&#$^e&4VNqJ;blw%Vt{-Rs4$8HF4F-!V8jsOIa6rM+c!TAEpGz1 zWIX?>z)p1rC1Wn6jt>f5am4A8cUY6p%Ry{Z7_N8M#8PIJk84`kV_TF8^A>gBj2#f{ z87I>;)(0@e>o83T=Ly#`A1dr;(kLR2vV1u5r&P_e_ZcT_LF3n@+c&Rxi-RZ{xlTi; z&vhL+2mCpMk*rDP4GAd@C%0Tz(|lrgk9)GHb}rKK9O+_sf^30bi=##fibj>FPiSGt z(!SWJDGm*TAs7cl-X7ofe=&jYtOs_-XtWpOcBe*Ah_gdOX1tk;H)LQu^+SRd=pBX> zwv7tF7oqeWf~ejLE<*7DiCr@z?3UngcIqpXy$I~OvI;1#(F*i&AsS)bX}Pip5CoVp zErTVzK|c~9nV5xDGP%wc0C=MyBN3+Zs0l(xu9JDfaJ^O?VkV!Ba=;Szv%$-nj6wZ+ z629sP*kMwP4zTGdE!t*StFH_}ynt@T0g>rjUC1<_NgZH-U4oSRmpPJ^ynvzzaKsCu z9ZfcI%9gp{j2X>)db_epd>v{?WAN%WH!7_r2tBkJ<4*S3%C2fR!cnd75Dzda)L61A zaL1a>Lojce^jqfL3W2B5kQHamc5=UBAZnO8r{KJzr4{J#D2}jG$eG8Iag}x2gh}0} zF`PD3zVGhs)X>wG3V+=pl+T?3u8Odw?qu-MVDl)coXyrnM_kybL(Wvg*jeNvbS)Wy zRZ$JsEE84mHpa)b)-N+C<7)|u%ugWYoQko$bQ6>k z7}k?jFcRPHNzHPML{D0SmB&V>$NELBSLG%ICYTi-Xqk^w^mTG^0+*Py5l5*;Ln|!2 zY^O3?<)_e^Y1A%FxM$x_dIjwBQYRl(vemC^NV|+IobSsozS?yC1OYesBU$%os5-iOqo`eI?D&=HRW!8WyDi3c#$@;z3Q1QnAAj>)ObHKrKT&6yIa z;P7}lTIz+!AP%iFcWsZFQ@tpRfo1!2| zypvMl2TI6Jim%2uCMBvTjrO93cL&mli?+?+l7kRxUDf)thgnh)>d~Yt70n6WTzlz| zc0F<$NNwecGwUX*K?>EGQUoqOM`qDL`5AzYfu*0BedXeRNk@>A92sPW6M(FtSfo3G zfUV3=2R^JID}*^*?FoZ8%coy9*l` z2LrAVc`yMQ;~GPe2kB>*ZW)ij4dM*ex7(r4ssV`)Kpw^E4LNmrky zOj*&>xk;tl)}3H5@c=)bw6c9GS7SR)|R#;9J&7Q#Rl&-PM|k24uA0{hc8V~kW= z9A69wB8b1@kuW#yGS~fe*&&BN985ZL;NS+KAA7ZS4$n%%Sh*ynhc(0!SoK zTe^92fS97m@puaxR<)z=Zy4>T8whS}0a1k`?vQ~kM2W@)U2DHUwT}i>q|N#o6Sl_8 zcObh4JyUj};dv+9=*m)^=fV(h@^g%j1}RXyzop*wwu!w0gGMe!vVUQnDPZMBvxk@3 z($OZiv@5#6r6)8Btn&*aM*r5_@$Y-ksb}>;7sRWPPj3h0s|=4mUNJnK)rRMPt2@xEU4$=dwv&Vs1I#| zoMfYhS-+ge{H2zv@X018+n6aKZ;){iyE6G%qKVGWl=t0w{e1-mW`WZl zg|exTa{fi^?7ZA2LniCYT4e;gr3z&OG3hTHkSI2_9uU<#Pw+gK-a(!^FpSU*cXJdN zR`@KFfLQ-inK`FQ(F|Hww=+j71Xm#>8(<5;MeJIF%6_D^VCK0eFi9}eX=e~tw9?1e zeO=jW!Q6y#2xh@}*xp`9Q|B9Pq-KB%i`li|b_^fEzxgV?6Be796|J)H4%Xd&ag0Cx zIgzB>8dUFEuDyg6S%cQVrEXlaufck;BlL+n=x)Riy@5VOt(h|{)ilo=fy&~|5<|V? zb5beBmHHuWT{{5l|HqmS)XkocLbS8Eco~?>hV(uY!vsl!H-O?gmyVbZl0vIoz3_u2 zkK&;)uIndTQ)5&?YqSIta8y(Qe~CSb7`*y43?!l+0G7!lAE^;7L^9DdfoC=vnz&dY zrCQpgEs5zupp3)KtA5O+I{^sx?~lULZlg6G%|T1QK=30NGb|y_}VVG_;ytlx{HAFx^m}d6ieXDpT%0 zMJl;_<>S+Z7-ChuPUz59Ch^R8>sfL@%>y8M)~$c6EikkmPo3CNXr?bns0jt@8&Ski zh#c>-RwB%TPeHBH$wW7KtzBS59(=kF;*%{h#nwpBV;Egz(&`**s?seNCOVD?v?sxy zlnI^K!Af_#8x#_3Hv(I$i5nc$iXyFgGR+6|Rm@U@1UeN$C*5<$i5(vltDrTNc9UgA ze@{)aogmqhDmZ3nLMGfp!40YhT{%rdgV%%ew8k_{^MMlz?Jby?x|O7`Xp?Nvzy^1P zg9gU|vxITO*4B=9jckh%@Sw9M=!SKYr`NT%nmP%e83sbS{+nATau*>g^$AfKE2$Sc zSQCWJ=$bUWUBv1I;nkh8TG~q^txS5ukW=%=^r^m<+38HE=8N z={)j0Q)touKS%9vXiFY3a5?=x_yPti?)wRF22wW+v{#E~{wXTU$fEzFs}?1E6WRaO8c%onDg7Gb87T3eYB;RkBfvrVG-|;AtCb%m z#yiGK9oeh$v#>iAoIgPRqQ<-?oL^jb_moBj?GmNYebH8B&W}MI`j8T`LNFWHBf*@> zy2f@W!cUB|2A^^b z@Gpq5$*~&DhtUmUff!LuL?4`r68wOB*ewsP!@P~hVXjdVg+w)zY36DD=he_{b~8AN zaxAO`i_`72cdVU1Qlrue98K@<(9P!fzIMp7SlEp2~IBL50%o?FEMMu()ziyx5ujtfxk; z9b}om!J%1;Y?v6}%}rosgg88=jJ7jHi`4Ay0F~8~yTyo^T~Uw1KM9U&6WcsK8NJ^- z;_S7ImVefq9duHE>_m{U0xkgyX=UB4$jdDx54EMbw6Y@X7-?k|qkJ-(eowJgWoTuA ziOL^Z85M~ZxrDsYo6yR{ThPjQ1F6FFhJRC&$?9D)?xmZd!QjyUd!2s;S)t+Y50{ zTj2{+tqobI#rEW8D0r1;@ck_mA<1Ttw`d*0a(n>@No}TcUDoJASu4EkjrlflkZk`( zz>CFlY*MF50BHu;xP_e8x@wDIjFo+;&UU|o0@a&|DljcvwE9@S*_k1WvvI?*-li#y zaj$EuWDrD6XvM1_E-))Rc-5NEfTg?#!j1W1FShNKN3rE)l~T{SGdtHl@V)d1g|HR8 zbRK@Bai_PiEDFvp3MpVF^*eD4Bi$?$imEyus=}ZxR*;d~=c8)t93;XtAfEPuNiKx7 z#iGFUhSRDQQ{<;fe3ZT;B4e@_wOppH-5G&h8EM9$g2%Fk%9#5T!9~*qPYfMRYP{*R z3Woyu#>?5c)?zpeDWl?Q#cUfDv-%k6Os28!zzvu!&@6#Zb@)@wQJ~Z@eNfH4$V2aA zDp1|?>bI=+7nezkfn$<0c)zv=1CLCXAFk?wTusn&K@3Z1?G-0F|BpO`?|Bv>Bfna1&0>uVR#nGDH6vot#`QV< z_h#2Cd~X%)N23pcYEZL}v=)7G>&WJ9FCj%BG4$U!_zsaFiW@yh^V$fXBwx-VgcxNp z>%^_AJmh#-t{cDRF4r0u36jX*mL<_^j$e35oAvzy)EU4mtGWGzwkgs zGKld7;11_bGe#o=N;)3u{how^QXW`15!WYh&Q(Jv#bbV1J)X+gvBGQNy}EzBcIKSZ!gLIS?FAtno`2OMa|*(x$T~@;*i@z$ z*MsZqv!T~whpairVeb)}Egy&xn=KE1V`KSnp%ee2&9RxldP>ugkL<7E;sj)GD$rw= zyqxa#zgV2c#@QcO35!&O|6xmR+51g_GV(|dF$#~g`@ zH}G7$CQdj5q+Nc4gx})B%eYr`9CvU-mait^?*WZFX}$kQc8YJDj9 z#z<9Y4SLMGdcmgD2ywkV_LWr+G$W>*_dd5e;YXkEa6_(4pV+{|(!TP`kI{Wn(-BZn z7_L?7%DA*Io{-4)^m`% zu%UxH);d@|3sKqm24wghEdz$(PRUSUP_#J^-G~Cc$-fl&J^P>!Yf>OwFf}wSox=pv zmHv&!FXbD=okJ2+u6DiB0gR+DuZOV>4WW$xLN>uqcyWc0M~qh9P(H|emYUVuK@H*D z-69-Y=wxqwS9^SBrP|&9KP6FrUa6 z-6FbjSM+Bmg&%qtesV6)GXPB60q9Q3=r-aJJUz$^OktA1yWuRuoG{L_LfM=plVFOxgH&MdAgIpCE-GwEY= zJX`@YnoAT@9G*TPNwbMkhN$g>nX5h(TndPK^l* zE_5?6y3>$(Bko& z`g2H^aVgl)1bQa4A|I8;;Q>5tAaCy^RZT3H7#%|Ov&n9X`W0+6uhC$dXM|*|5(LkMm z@(w~}6_6G&Jl^>~cypkU3@-KF!{3TGF}M~<8YH<}WK8~ds;i7+?tDf=3uY4YIZCkI zT+MG+HckNP1n!FuP|O8Dr<(aP$Yab`91uF!U^tI=i&E0b8Lu`W>|`EA448RT&4a*ImM4p}b?WgzY7vijVaa%2ey= ztj1c)?0O=&Kdeg`)mkpUW>flH<*MoLuC@A67V#cTu_n^E4S)efoQ6W?4^~~PTD)pq z_fyxm>QJVCS2ri%1rmaK>R&)z<76<4r+RdX^pV=;eL>yQRiTaNz~7!?u7>6dC7Jm? zgUppVrdmBn#0H(aqJ`0IDdwh;nRI_tvbXusi=X79)zA;{jnGf9JSqA;7W3%t8!o^a z`93|Gwrbka8o5@CT$nJX^dfun)%`ISiomfTj{SoU%Q4}=1%mFtoWl2I5RgQf_Sw#3 z5WJy3B9ieDmb4V^4cgm^e)`f`6;Um>S`*n^Y=R($3&Q9v6i|v?3hMN7YuIM?HGm_z z#t0CfZl?9}Nk%EM3?}w^`GVeRhFgq`(b^~6#6teuS@a4#80x^7L0hX*IDzskvQ4JH zlmkf41%0A&+;JwogCuSPSxB9Ud5VRrMca@xxg|vHx>?zH@6+l^#z?an(GVm#h()& zQ*DMA#@*2H09FI>W&kTT6p+;T8r{};P2jR+ zA#Yx+ zD_ZULuNZkNFo60$DHKv?h-TeaK02jmC{D|@3f5T++ZVp*hDnEIChS$7Ik4?Ty!~U+9zI50cv@U#HAw&8ro=1K)g1{V&!}_9BWL)~%4qmjH2{}JKonr>Wk6Pm$`Tv#D)DVB2&H|uCDo`BU~~0OV&lgY)VcJ&bR&BTJ6@$ zTEEg>Qj0F^{5LxL!_O0rUU>EX_**W1X1#U^QI_VvLHl+*BpZIX)&BpvdmA9TuH(+{ ze!TB{-^`mYV1O9_=UooPfk=>`1d!Yh7|#vLMClRkVyk+46?+%4UB5 zKKH(N-^>6rq^TtW%j1|AHo~&wiM4!MK$+l04>8Px2a< zT9Vhf#7T~4CpF|vE?D?+O#@B&?1TC9A5mutXCJFat#k3iHiYtTn6n1lr1y1ZxqxRz zV9x2_G$QK#-wirSqjA>v8(j;}(V%>u{t&wDp)PKg|372}m-&laS>C6b*6ef4AnrAMgC&~M&y$$ox2B&8ov-Hs!)WBZYX4a7&dfs_5*!e zGg8WZl$qQVpQOx-=(Ym&9JSCELcT=@f=`AVJ%Ch@+#EdTphpV0Q)RE~<;E!td$RrytEjdO(M z6d)+fcM_o_4$3+JMWhIWraS|ZM05*F0LlqYD>)ifcrzIFPwY_3$#ybpFL`z&j^nBi_s(S-Z5%V20j{{-szfK}nfR-VZ^k-NL(?QYe{m+)*xCJk+<*8~zgs+SK0SnoaVd|pFeHDB~9^Tn?uA3D+! z&YJZQtieO+(E+N!W|nHutwVF#`)gyGsARR`F;X(rraHDSFbe|;=N9}ZYxKU>!2Aey zNO7NQU?uRyF+wem#MR!n8Ig2@aOjH=!)o;Y$qv~R2%Sn-CeKASOCx3E-(1JNziHeX zRXy4Fy{mRkvpM9RNg_gWd{)Yz{0r!v#k!@A$UW=+bMh?!@LzCsT))Ltto$#zij}i2 z;m5Ob8??Bf=}AMFi}RO7e>n&vV0b?p!BM4|mWu0l!Sd4DT69zV9Ctt`gX(Af?aSe+ zc-NVmgWpjqjmhZb+)Xhvx@@rV8B6>*{}lNrl$QDy`lsL0Q=L|QgZW=I!{v&$87OE} z?Fx0`f}SL|z&}Li&jAn9n{Gd;TeBO-Q1R}ZA*=5${sErAKrDD@P|~vQx)3FMxfwDf zA=j7^X^l7i*`8?XTocBoWgT3Ij9b1`=ec)9BVS zj1xyHNOg%Jl|mpL6?MGJR4ZP0mFJn%dDveT{bg1r5D+3GW5;t@t{@U=#Rx;+F%8i)+K}lOW`&96Wy|*( z$amuW*1y~=Q=IQ&-X93UY%)J0xqM3Tr{V8fu0U^W@qI3k!WclwKP7+CwD(dYYa~19G4%8yqJZ9IO;3OMg zd4|NW%C;L{?$5dTr~2bYSiWAyMAryaGpWRetw-e7eTnAe{RpV1$)uGk-rJ{ zZ70EywbUh}@+EcD2+HOyu19eF&MrZ`Lw_HP{Jdds>Z4Dt`-M!mbLx^D_L(pxu zhUmZ*5cOauxM+0Mm)&v=F<-19c)=9lkbdATwuVpp$4~yHO62Q&7NJl^+%t|+pAh&mtL%}4+K4%U6~~Vu?LGN5D>H!iV-6#Fxc@pn*?Vat=lT| zw@B;>q@Zc8C{{RMqmw_)^A4_0a^0!-T*o!IwTQEc&?F@-08z<}{<-d06M-qN1r4ZP zR@#2o_NQwEi2dau(qCKR!R=k7bL4I!ykm^TAxFZzW*1vJ;pDwPej;Md;5z$#G*wCA zz&qUz22ON``0QvFPIDJKLMkN7lMxgnm`N%rWEWZT^LTh~*KTme zpz-CC)6>)TH0`I{@B^6$EwAN_@RM^wFim|rq<={IWGLVyU*KzFJj5VbVeZ%IL(d{b zbP*TE#eY_m!mRHoF^V3lQw%N=zK=ZKnJ8^VIso*ZE>j4E>;WyF3PA0NApmRZuv~*Z z+lA9=xcMs+h-J-7%(Bny>5>(J|FHSuV(vD>k2kaD>xr=s4O92!$O~GQdIvZ|Wlr%uF zrg4J@##N?1UZfV)3>s5yiicitZxE=M)(eF|u9aOy@ZEGZ!B`%wCL|$FTo-imPkki3 zE--;of~Fj5@`jf+IX`D0XigjmTJQ}ntQ43?#0qeTP;+4a{p$)Ii{ zzcLdd7qGnzXv3muHaawels$TPH-M~4?!*Z3q@`6;K)@wi@1c8+!5&L<*9LIJLwbsa z4pQ^2z=uN?Db}bgk|_kn)V4*k0RV7X7|}0U*;xM|LmA8{;W*fZa$uG!oX*f0M5dUd zIiHK723l`p>U}(~X@XZoNije!-yl;4AtC5|u)Z|Y(ZjNn1elKi))emiNU&Aprq*4O zCYWIZW>wzkUGu?bE*MUC!>$ZTR%W{v`Pq^)NIGhpOAODo7Tk-(qwW{>cJgmD1PrCF0_vXqw|(XVQ>4 zf_ByUQD6P;qU!^xm|hOgKl&65Gk^Zygv%0yYD=vP$``4NS-SfUqK$nyy(t@*zg)Jc znk^b;Lnm~(Y;iSPJj{kzaOrGuULz&2;;tu309<-3&d;u9QEtbbqi({!%E$&qH14T~ z_`uX)E&hq9XtBHSC}q^oAFv#0WL_=eMqAA;xW#5f1Ngkm&f2X*)F2Hi`Df_q*_!vsvvXZulz1*OqQQe^Lyk z_cF6HaH_Ic^(4ucYuGD?GUDdME5c<&ifWB!8Th*Q0QEx{M86gvji|u^UG3(8Ykt!T zJcMBfXM>N*o>L!dV;!}B0YZbo;fwfQQSkj)v=l#RsZWUfg&75q+#*P?nd*^=U@;-)WxL`zyKsoA^BDw8Ix3dE}9sVpLYt zPc>>BVcBL+18nPbt{khUbblr%$0~QTXHK2+42iV2Z6_@Rr*e;NCvD58J+Ym%sZV=y zJ84m#3Wj^PlUCYn(%!e7v?ytn_J_8Uc0Nh|_lB5v#Eu|{4$kh`94c62S(v}XubBAh zZw>i}q8PHse_T;XMN!Q_UyU~+awE4kzXb?Lg`al>5j zxH4CK*r z9mShpFWyib{yu`pvi{3K!m{*_58jl8Ju`Sy7Ul^^v?Ggk2D>jfKSV@(V&q z7SSr<(QKD4$FfY9+p;}m+vBp;Ww$He`98Pnp?t=E_mUA)%&#i` zBBHoLa^FTE&n2@o&QdXVfKl%8`y=Dz2$wx&un!x2SkJn^wi>)dz^?zNnZ_s+h=2 zkcp!}s-><~D&Gv%-~7mDevb~G5QSm5Bptt0yph6a@oYAuif1Ynb6-@?)nlr7%qr$r761IF{{B;St9UEoqGE^ghl+{1FsPXOqGCR&VtQ6oO~q78 zU8_{S8LGebb6@#YIL_p@h-)F6P{k9Kin%W;=94O(kXJ>`QJ^$_s(6fw$JOF-YcaoS z@drQg;~!=&C*3xPYZ2`f6=NG1w3z#%Vm_&2S}Ee9K>QJ@%cHudihEWuzpD6G{>R_= zX~Y52ZG*V3$;MPMCnygp=Dw(yPpX)n6>(7@J6))2mC8jjR17DA&+@B^Km8v*N(Aj} zhi5cmAgqWXu1LcPCc|*zw-`zBU$6R=FuA-EXl;+KjyaxRGLP&TfL$14?cUsTK|RZJ^ITol-(;x-kBRNPd> zO{oE2=bJR%xhq`%rPqD&|)e|JXl% z{4a1fZm`r5s##v;y}m;<+KHbAKlJg=hw@$Td&sfbX=0hycFyp#*JyP7eGe@&hdbG; zIUM?DBNKhmF(WRm>bJSc2xc0VVyFI)3rjY+fm?Y3(F_Ay1OIJN9K-=M{EFgs3%uQW zvD<^U6ZW`_@e}ZN2)rE+O+RnDG!yL!-;|3lPi+ z0y@Va;IOcKdRRXl0Q%b^G+-#`U;`%-9kBE>S;tf2M&5_p?iuD(AVB=lK$(FIk&^_$ zlpvsU41yUTn5{sdy@#F-JZI1V-INYA!$yF}@1~TP3W8J+AO{HoWCup;v>=!k1ayu; zAZOG03Iq&K&JR&9;4Vl7;!PWvqNl{mbHfQiFd+ygJOl_4dza}KAea#ZbdEtlpr71T zAb?33C8`%nI@s6?fVdSUb_GFK5Fi-|2NRH?gi|0$1Oc665a^)$g$e}F0czYKf4*cd zY(RxfNtiIak0QV>jf2w+DH$O%C( zAqeOkg8-k|{F({`^a8HDLw=yqxM8YbYl=>Kq`T za|{9<;&HG70llEDE%*TW(WqY7smY4T2Z4lNCM&I>BoK%z^SkL-=m~#~qKu!vRNkKs8 z7zD&~$PZT_F#jGZkfb08c7lVA`~VSjtFbUE2xbKVQ;;Bl9Wfxs1;Mx=pmPj@9YAoT z0s(WVaplX33|>~i!%(VNmmfTip~Yc_>^rv?gFe1}Qi(R*71-l{h`WyKbB9#|R=ZD>^x;XY+qw_`CkUoB6xS8iv2CH(Hkdu6n}Xm3{hV=aL#*npXRa1FT*i^OuwU zav!R0?EnX3+8GI1;Fcv#NWSJk2^;r_u*W@GL$-1tb08wU=PvAqByF%SF@Mi$=66(B z#0G_~(_S#|<^n1Dd+o@O0@rWL@Xhld%}dkp5CB|c{wyd?$+nE9M~;O7h~P2}z9_Ax z%>kfUDhAs#V6~YV*#jGca4F>D6$YazemG)03jiIw-9$rct4ke)_A%eSAVJ4 zih%jCZE2=%eK+U+L9>8vR!UKvcrqRHB95kwOVljqFEsPKkr$YMPX4+Uw#^AdS#BeP zyzg0~Ht&|nHGd(H>qwyJFqqJT{7<>|;-j<|o!0#{R_0Ab&XM`rY-Q2ABl}FW4s{&l z$H_dfrZoq3s*Z^r80*KPAjI6Dj2L0%=pvWr`?>1mHC%cR1b;`iLoAaMawMX%ag=iU zLvkijjX}(%m&vz)+|U+S>*I=|k&zJ5L^Cd-F1X-|hZG=>O>#&>&0@uw+wlBETh{fu z*azQmp^(&K#g8d>$2tj52@=TRHSi6$z@Qb9NY~Q?o>JP~foa@g2jHfwCp3Z>?FIGS zh2^=#gW4x&c@n)#uA(xa2qAxmj&O-gq$t9-({SH=mv6oA6To;yt?!tT<3O;Twlfr6 zN7i*nR;GKN?%-0k9orIJWtROmMDxtji|%ZaaOXlCcD@uQe=!zz&dJ!_LvZ4fiX+x@ zd&N0>r?ZwU2JQGL#h77`p|X}fC|Ncp>^5?BzSg=0qK5$U=v4KoHuBUMd1{S3bw-}j zk*Bf2lh+{UYYp@N^xJt{{S16Sl!!U^@h^qmhWrwTeBoMlWAtP8M$T^IH$^Y#ZN7#M zT>K9@#x54*7kKu}lZ^#m0>K z6NifK>O(b@DI*(%R2U2Ed0i(7ZW} zm;Tf^HS7x1nPsj}wqA%`W>*AbVNL{rh*kyA-~v8_r>HtMn9I&J^C1ubE_tmOFpReW ztqb$d(u_gMXR8lSR3Fxc4{~ilMVqQ5;DKA`7k@)0N=Dx6Mp@5^vkt)d%{LY}pM7J2 z^ILBia5Shd{x;x5&<-=Mh8WU4W6t;zEV#m#YD;Su)}CBj``}vbrjSkJ+GY~we{LNw z=5S%n-57oC^TsIb{!c&0eKpf(^dkS_=inlhqTs0c=Qnxxx%KZv>>7Z;isUHYV(Nc! zeJTL^+Gg+mkM*^ZcawK7e12oPZ*B7Kg+JUR-G+C?sP7bJ7yJxh8Mrc z)?Jz9{VPbO=33_8X|iQY-dD^u%rO$oa3CZ0XB*;z(RbxngEw{ z%(TkPtqp36(RaX$37E|DEYf(x)Gj9%q!>JzxwQJbbYbHT*rg{VQSa%GgKi1nY&^6- zkZ*q`lo$8qyVvQe#sKfwok4(WINR-;t#&6#yJO?MiOH$ynH@W4ckP~=-?Mk0>t|Oi zT=}M}7WcpT>T3>Md&hMLuYb#158ZI%O^4rh^DRf-{*GIZ=1bpm+xIe^rMIy;GyNX+ z@1#rU_tKnA`RP%%?Ta;JKXMf|e=08NbH#ZAqS{hm*XU-jw8H z>5Vw0rZ*4}Iz5!+6X{zqm8Ne=@~QOtB%e+XqBKmeOY$A*wMo7+J%9x+y(Y3MbC9*x-ZG! zlCPm-Hr_i6lRi_LBUDbUev#OvjS^rnH;nhto94-M(%UOZzpb>cIdpG(=i0U1;ilXkg^VspbPQ2@T?>_l`_uR`m(G|>K+|9w1-CTb> z{crGZhASa;Hx==yAs!_*R&cM7QHeV}iyUZ^b*S`(a5D4=uqe`sH^Bg9yHEPk9|dU7 z5TjB5B5rz7n&3{bOEgN!nFq7R-Q6jt75f@7AXo5AT-Jg_YtR0wbF!vsZ^*bA6p+=a zD{ncsa)z>4$-r)Q=J>`^Ei9-3A8Gb+x$QU8AGmBgXoI%rr2pksEdUwXSczDIhJF-q zJc2>c2G9)%VNB{3*!!6kHHack0b$4CX#|j55&-4os`NkE3Q%cX(*NT11vCaw2<9@B z0Y>HUpZ?J63up~Mzke%0wMtC?^Vb*9I)L7@6`=AJPk-?B1r!dDe&1Gr5)Ly+|FhQ@ z&?bPM+zL>MO(_b~%k!=8?x^RCyY%j@0G0QC`k!tE=&NH+X#cigPTGKmj|AqTa}S|m zfdjLt==j{Scs9|Q zZ>uK0lcM0n%x5c1R3Jc{SV>^b33C>0qG67`J+4E$cJNA*Nr!fwcvbC^A{6%i25lDt zP; z=76c`4ce}8+I8ovYL`N3GLyYQ+ts68cNFcyY*F(03YTBEW`M&JLOn>ocO6gPxLPPV z{M5(-!OPiGQ~-}3E)m4JVbwtLP&o^U*OQKvL#bQbUCBr@DtxnWV3)*;PnoM&e`h{H zyKZAcEK4D#lyNx>v}L&*m$qdbM{WKqRt4*DT0}5?CPEfNteI?;K02dTs$vS6q-b&} zqW$jv?7A6o%5B8glu8f!teL1GL4%TN3L2RaOY8|RT5HKtuCF?FN?xrZMoYtp+J>N=L;dqch%xO~yM^=N^g(zjKi$B?V zN5GQOwyb=b%8zbU`HU)ugIvCHur7+h&>656MRmJuTH4osO*aF~w{8V9XA}hD4sQ^c zcL4J{&w0kbrb;qYWv? z*a!vZe}-~@ghBZjZzDuZngJ2dQvWSm)xS&if6rF+Z$`wJ5MFyC-UZAzZw2#i!3HG~i`;P|mZeV`f_K0|{fc%vbv2gtw5;5DBN+M>xRUu-L&nOYk(YTwo>X3Og>(*^_ zi0PxG(lUF{YfnBL9E8ewgqv)fKcf0|h-2=2YYz6IJLHqVM0JM97_Rv<)?h~{Y zcCNygHyfJYZA#b&v~S%CTFkZqEOKi`^4*5k0qtA1g0?ScZ+-(n+Xvd~w}Lhkv~PO@ zK$`*W!R@iP46~|hB@Q$~GDPV8qU0kkVC8m~M$!6r8sl_^C--_M*$?sq~MT^}hKAE|Kj8zNG_k)>5 zVW#+FI}6cx>a{ougLEUtIHqp{#@-CZq*BQ1eS+?a9U1OOdU@QjA>%cYdNC-_NFwG5 zWt<4Qj9O+!tGGU1&L$!jwgRjMI(bkYGiX~3@IoI#eBK$f6`&Dc1Dvs{Q!&S=ZDNIv zj=CXNoe>e>sqELFUbm$EP>?~Rx(ekTZwF*xHiKdn%Gwr{QXaZ7b`o1_ik1vo0cZxI zw|o$%a9vZ>2eI|R;o)%G1bB$efX4^qv^JBc0$x;QmU9n04%{1-&~oaoETN5t@%4v> zJ=7h==7fGu^=Am{1_jRyyQ3gt-yPd&NMsGUY5NVql5PzV-HkM4Mh%&%_5zRr=b#rh zZ;0;?-;kmwUST6Z1wAq{L2uq0q?`Ri&Rx^e`f&EUC4@LatWJS+$U!(5gu=lEi-N8siJJ&HoH z=n?X!NsK`iD?P7K`Ov}Q8lYd;YTi2_;IA11zqv1q0dHz8mdytI-@+Xv%~|`4Rt)IM zQXg?MKLF5IYz6eS>oEQw1!(-yF9r0q0G$E!$fCbRoYjrf&~*jqHu-q{HS{>5MUo29 zi}wYt3!`trwl_8U+JWbrnR*MhO`wNmW@#ebX*ND5Ex#sjDZ63Zwp+_QBo!+73Q`R} zLH|{f8}Lx5Zj|ISi=}SY@$MWm6Njo&lQ?LrUo&lf8ySrGf1s<>ZWm)|hz?S3?z+9( z$4VeY{A>wVejSM2yX649UN~JC((vZ&t70RNbN>eZ6>rJE@`Hf0XG?J2DsZmYCOAX) zFxyhGo~bIn?C2Diw{zm-7KRJ4(F%jjuLr>SQ2?tp9eFi$23`%Ffmg$(rXFH3cJsH; z7R?Vb_4uwt4jUl|<4_gOqy0Qpf*EkIN*c!bTYz-eD5RUP`a?n`)}?ZMT%u=7+mCi| ztn1fHu+`llt^={z%p~&P2FPy(DQdfoaq5Q)%cVbH#yICz|s9&DOG@;~QhpI*vCYumDX*Ll1+W>^~ zUA7?hTLj3?tpM4K*x3y8-6i&$X#m@8s~&E)hShi(tX+?+gMa(PF8E(_V!s8L$F@i8 zZ!aK!rNl0{UqfO?Qr<}HW-l8MdzHFIiTw!8McuFkjlDxHo!SPC4VN$4x%AzouD1hv zvK4jRx(@P7QrFOQVvxV)boCCP?Q8|@b8J5k*w``PDz6*3w*qc^D{z0!z=cTf2q{CWxX7JR(GalOFtYskU9Ic=T1qD@#df~C@g&XPh! z#SQ<7`$1gYiHJ>+M5JJmE+2Fn*7PA}%`p$BIKt_y^Gh#RaIDfuON7~`?Lbn5*$^$- zsl5)|RfRfEW@3 z^d8^`zVxJ-$1z^VjS)A4U}Vayb77`>|6m8nq#w_S6f{Ze3HdcBM@gC_QJ@Qs5@XEB zArY5EocDGS`$LfnU{vF_gOmFvm22_(8|r+o-AvfpDUAf$2-ntLxpqGy<)p25ro4(m zJL>%FU6!^~MrcXolb|N;PwOa~%9Kj^G>DR_p8h(sCsM+JBy>>BADona?c z&{vX+-F#jlYv-9rGs}iPdt;4IzqWOLLy!;+0YJ2Rt-v#Y9Jj|4ksxxxRAowG6m zxzP>1fy?NAw)AFKe89qk5aTI)h?iH~bBeuv3L%q4V^JK^j%m)+Vp*tg83w^d9T*w*eIT!)}g&QIegdO9>eUG?8c8>_QJb25} zlfW$68|&jFQSB#bk`I+6BvlRzeTj{QDG9#K73abHuecKQhVU8WR$99QwF*4NJ9hK5 zps%R+DC-cCC{hx8oarob)slBcoG5XQlh8t8OTe;ezW}C}aiW6mi7`+BONt7xz4Of_ z06p7>V#DMoL!Gl$w`OzBgf?aNP?v}YQaU$leD>Hqw|4`<+a8c6H;_dlqx z9_;Z3UF{#vXaOfyljeO7D$*CpQknth^$;yaA!9W5k#h#5qsDQFZX>aw0Ra-z@Jf#&ReDO32XYmBu5 z+qB(jz&AOiT05OsEVGr=I?$gjOx!AT^&D`-&zHk@`RM!k2cuiU1ya_$hJtbg-#DyU4Vd#9?D0h`r^f*I=b1nm;`c>Ya$1ze@y0JB!N_bz9rna27V7G^Uz5G<695Y$Bd$)61E2xfIprA-h8Bmy^K-!G8)b}yah zq>UFDYk{;$U`lkjZvUL6GlUjZwzVM}Y4M0ZS)Gcd$r zV>q$qjg~Rom@j%c>o3k<2z=1$2OtH$m-@5h6|)Y=xYXeK1w6bkc6|`+9YQ|keeWOc z*v(5#pgueu9SuwS-H2(_9~f_;GiZO&yL1yWp3%)TG2jq&ELfS&;e!6K+KS=PLJTor zvrVsq^ge|i2o8zyX{AI2NzG6M4->uB^M^UFK~J>*21N)1??}WP3#qtPF#-rgaG=W(90HL0QDEvSRYj;CXHTjb@RFMYT);ZX(SmNNIlQBGE{6^HsTnM2&Wrv0 z<>}S9n&v$}qaqoO0&NZYrXkNJU{EgZxLhLZJD15i><Oc#08nda$Cs}#xc0(>`|QvM!zGnw!Tk?$Fu$+ zuBAVI6@{I<2rrY4~1buxOI*VNJHqL!eYXhEdFQyIf_hG)`<)%Td5wJ&QdSA zlNQ_H99wa1FAdZcdE2UF&loWh+bjeboCGQ5gL;y}rtLsvO=!$yB6T|vyp?kn9=o9q z1lQlr)p$BbHCh%*^5eBIm5{9C>7aC^7b>i=3yzpgcssGH5FW&92!#*EoFnlS;+u&n<~xkTBDQ-e z7JnD98>kp5mNG~t7YFsrtdSw&uRii80zGd%R4z=w4m+hgo!C2tCnItLN;8Ns&n zuQMSaAS$YG)0i{wHBm4X(OGK53^Q7 zY^|*2UsE7Me3809afTTSK=DZuyd2-Uoc|9DFBi>aHpy`02Zc}^q2R`afSyi+nLT}q zS4mK0Nf!=uUBZTXr|*PiMnBkd8n%0hXDLbj%}F z5K5rtI`R^2C`hShdvRnkw8K-*Mgzr&lL4sB^CNFvmWK@YK{^*;I<}2S$xX z?tG_P0XVOnfuuE31lK-0?dmyC1O4_=y@YBL0_r=C4Qk6k^@+7rY+rYHBkGOWg}7TsU}de5t3?^_~mPKk}5o;pOTxOI<5muX#|t z6OS>MOcK;|;weQnedhclN5DABKF+Vy9V$o)(p{IkS-TtK&eKgP_L2c@Ve}@ES zL}>)W>O@E#l8!5A>Xbe}dt^Dq&;?1zpYJzT>48}DXMmPq2<;7g#-kOh89jNK7aN!%a z%%;288z|f~d5LtSdEIy8@V(Z!OfMhDFqP*#N8zjyqRv~7!@f9CGF&}Xuo%&SrwC@JA%EG77(V3DV*I5A)5$NK zy9<3DrztALU>4DEX$t6}Xu==J+57U2@fBuh_wAu`o{_x-Z$Tzlh@Am#!@=*>Kg)0If!ZTn#!y(qb51A^CWh`ly^L-KwMAoRo7(vl@IswV~ z%tzGe^b;?c;B*cuHIOJKUG7}GGDwOh9S-XSAc^Tz7c34TfB5Xuz7H+^=uiCOFFx^! zKlw-h%ejXQbiqW6_6G+qo023-IjfY1FPoAiO6d#_`-2MVHUYq?Su43)mKuOX4tJ7k zYPnlcYbb^}QuS&N7l0zTaA9o|)9d?#*$O1CzP^2AB~7oIrm-OndZztBtD2^{Aq}gd z(T2FzhBQ)PI>qIVN|C_`$2FvhV9GYSaVew+@FXI@XNGlH_ys zsQz%F9c3|Xbb`x&%b%7UWZ{zgK@kEd$)cs^hYTxOycB*2_5`{(W;gY>E~_t1avN8g zxQ-4UtrEr3KmN$azkdFsKmParD)@klUQMRjtI1S<6`3?D)Yzq8|Ghu@=imG{zx4I1 z&dQoZ7ohTwq#e<@0ht--+9q&AHSN)!T!#u5KDsnFGDxcU=pzAV4O4|6X2ZE`=CYcw zn-n!+#j*+L21vg$*i`b)4^>$Rxt@hoy5%Sg%P@HlZiI zPd5PB&o1~*yGv{NDRDZC+6UN?=%#sK(uD2*?Di)I%dsA?RXcI0WN^N;ktK;;Y+*N&Dhl#pN6T^ z*{ho12qpc!!ouw!kZz$ubqi2vP8#P}6J zCmL~|p9?2N+>hfOvlA};NjA`c^SZ`m?Hb6jE$uxKA;p~tbbbsNrt-fDn4Hd_^{L}C zOttK}VL5`%5L=GCh}$xUX*@xVo@p?U{IUQJl-0D*sM)fK_gZB-do{i)okYPQ+Q-FB z*oq{sT6a_Ll7)>1?(DY&FSE)dEtmv6421wUNt5{D5Ufd!NE^)^HYltM2mPav6W==?g=@G>apygJ67kV4I^ z>q6EVpw3}vuI;vWhz1ZXyozH3QT)>Rv^hiPrR}K~&e2~4Xwodh>(Z*NLAEj$g#m=h zdj{HR6jL@AaoRg8GnU#s!DK2$(o^VJ>kp7QKE0A-W`ctk^VtLWPI?=f0~#IC3E8ML z;0>5*(YrnOPkk6QB0fXpkR9V^g$>X&s-8O`tZoPc4-_H#V+fxyMPhSR{nGGLF^C}@ zU`sEqB+#T_M2K;TJi`QA0@BIByCEoGSEstPBm&6)OIi_tXsw*lhb|usiWaS?G1;RN zF5qY}EPT^Q6Q3CrDIf+wkxkF4RAYPtSSVi$q(A|HeOgvIr@m2TL>>2C8gJ31GTth88|>+7c(&;iWv?#$hyFReIN7R zg#-UR-W&&ZATIW3-%#NIhtC0nGaR%%4uAw^qw(I?43p%)Bqpsm!c2iINRT`FJL03G zV6wUx1(P{L)0<5JP>4FfqqS>dm2If4vP}AN9cjTb*^@4W3oUyAC~GOwTa48Hz*S8AJhe1Se=3$IIhB zPO81K)de}Wbn;_u1(#*Oub^`bM%|<~bQ9V+Tr?Cee}L zj}hN+h)3|&!XeFsEt9I{k{qH7_kLk0L{Ua_Hm2Sz`it|IS%2X~dwpx!vVnyH8BDD} zv!Hs!VHUrf2`QDHX=+$yv}7ALZ%o!!O2T68y?(vL>VW~|HB`v_Yi=d~;Qeyri*x5{ z57;3~-V}m&p&~aO4#Xp%e_v(RRKn3gDlK%}F_sGI%XAznI=f zP1VSYMCE+<3Mtu?Ypi$p2vK6$0A_d27Or~T2hSKbt# z3p(qvN-W zce|G9g@d;mrdVsxozF_c4|?UyCAUNK<*W1IAkKHZ4|xw^vYj9lk)Z&Lc>#(%6_SHR zfG2N#Hep5IXAxd-UNff;L;Ip04KDk<$OEr3qc7EtJohM^pBWXCiJ*CDALgZkQErYKf}`s zz!#%;v;6~TS{e5kLG)@~qsE4=oTBXx#R}hu1%61P8|+F081yVg1jLbtKlLogP}TwD zR?+>m(GjyysuEOA)@Giu{lxp@WAHOdPO z*xk6@9pl_fTY%zZeYaPSw}MsX)zEsS`F%Z}y&L%xef)nX|`+WfC;+@A@(!qx-E) zFsC5_%6hM?Irj}(bJ7|E`KzE|#q)mb(gdS0%)3QngrCTBSLr67lxGqzo(5w2l-|ZL z2ydsyq8B3TF<$;yY&}X@^!;JJ7TtpPGI>2;B-!KDWQ)UO;(1ZQBS`iO^}cx0QED{h zwrTz}TuP=cimZF4evsENb-5IXskaz?HdP`Gh^fO$ddUBDy#|{6vBhUFM;R+)3>gV7uP4aD*uyQHQ#G`*Y`D@F->3bi8Wj?If*Ws zqO+zS^T|)u26hU~>L}B+ZO1MxG@i`c^jE=xHSM7(ZAw#03wyuV#JFWDPfddKrvQ*K z2<0#1$A>`V>4R(UUxgd_Ef&qyQ#6V~k%pM+@()N@518g~Eaa+jZIgXlM>qFi1{g6+ zzJjN~9e^K>MDL255i-F(Nz}7dm3+>_734Hnb(u=W$YCn!1aSHrCXvJeswqG{)OE@5 z6IN9{h$CvrfvX=E+%J3H*n_mcnsu2&)&r^dR#tsy0FIS`)F;OU8>fZA2)wm2IbG6+ zRH1lrk_|ybWTkRI`0{~3&VCXxHF_Zr+6ZJwvzasq#~DPdIZ!l{LkvMCEZFkRfpJMG z#|>3fO?Fc{6jFf)G7>=8jC`ZUW$2LjA{tLV-UwUgob9gof5DBvq z66Zt1AsMtayv1V1Vdf5xFzZ8bLdAiU0(jnwZSYy*1FMoE4Z0bhh8xm^kP#X)vRE=H zX}khNpg~$f?5WpU#G#XOO&-ZrUduyltkVdfmy8~U2>$?=ohf#_z{Tfs!VkE za*6T|66$@Fi9XHdQ~HacfDB-A1r(?IV;GgFM!t8g<6RjGBi!#adT{dBNU{Qz162(6 zJ8~35rea=VkhWxAY7=}>Ie2D5;28*xiEDU!m3cQ~Pg2RyH|ZV#I6riG2gPelmyHua zGi8BV?J(d1A7oPt4MNZ38x)x#N@5FaO$}mNJZKG)uVC4r)}TR$e1j-ZIW#hKp7Oz> zLFflcdl{c9Jjjw3T!`etyKj(8Lv%3>I^-MFcmUwa2C*k886;SAb>`mK`OEB}l@Nxc zG;ncaw4jT%a*eRHe?EGVTp&b%jOLZK{PKscs@kYmRIcsLo9O) zjZBecdrO|%vV&Eqrr^3QFs?{%8#>U}qYmUeV&lEks4kVKZ@SX^I8II`0U&K^{zCMS z_v=ov)P1_onHi!p8SAhq$IrBWW?-JvFe3$H#PtRo)br0G{eD7Q4Uj}X(LBY?Y;mJU z2E+``kNZ&P!lx&VcY{n;Yw|WhRKwAk%Spu!(%J<*swQ;Q=PWK5G+bthT*u`QVgi?g z#8KdK0)-owV+6+I!pYgX^!jhoWq|{#xh(dt(&Y%JY;!r&4$jTJoH*ff+h(T+n?}*d4k+~*?Fazw#$8Y z#qGrk(A}&M`7NEsBTU*ER+UXCEcFod+@gn|#~VRFI0o^Eo**FH!$DpHf$8RYZjT_? z)9-l*dKfzPtXMuE=m~;79)gX96cC{M?0_hVAn-NA!MMB1LmY~%IKWeh;o%*yhAn5QL`DF7;QT+L?l_CCNSn03~)q= zA*KBe-oO(M$!?z{Pg<)}3c2*PG_jfI1Q(8)Jj4aI&B${c(1>(Zb5o+6mYbHUQWGfv z>cY^N;Y;Ls9Ha0AoTw1)JcF=KoDwIJ;i-5RokJ3+(|B^6L`=~r&bq!wwD?w!0KiE^ zJ`9$H$Y;s!Wd>$fc?7F~tZ*+{vE(cVFvvid$Ft5{#;!T#hCM>4=>0YCsA*00uAfwC z(wLk#JN!o_tR+V3IR>*)NUf+&2ZLHh1^IYZ(`ak27_gG_NfqE{BH6D%v+%%HLT&nP zi0F`8U|HAzi>5c-)(sw`rA0$AEDA4bz8XEYy@nzQ(sy@fv#ujaaJE}BNoJ(M5;bVB z8pG|dF`aVF0?p6@zv)Az`KBDx$lidu5wr}D5^zRf4WaQ4upMafkvP+rZ&OX%z$8r) z;6eyGrXPstlBgb(=@G3(p`yn~oUc(l$gP&c3bW|eK&^y?zz4T7NSsjb`6*#o@isC@ zEvD71n=;9BNc)G@)4uIfn-=YN@{;!PO9IA%_7Ag+r0%1I4hGmf?Xzv|FtpElvY>rS zc7%~a8;$n0tse&+BMAjE!Oqn@ZjKEr3UzW=Z5z5LRV*e}yy)(fJ2 zHI#vE4W;>NbZ2`Fh4x`scf%=D(SEn2{c3|X#%b`#KvrW?(S>;ls4)fYt29sh1OgE4 zS4$GcjJ^uAh>IFh0>VgfOtR6wmDnh0^q~6wkPKP{`deigXsbPq9x7?HP)JU%Bf0ra zNp40Y*WR4uoF}=(%oe}G?||eSBuA5~B)5=33l)-UjrK(Ac-CYCsgaxmR1?RI-D>VI zlJg=k3`aXNS&E9?nntHeaylD&NOFAE3UD3CX^N_l+&o#>h!mD{+@>VAko2_;Rilj| zvVr8*H@H0{xpH37UR4^+yt18!LUK%qcWX8h$#qJSt2TJh$)KwoKWdDzqC|`EWJq!< z&66CKBavLSBqO;BS~O!DQjpVehV>+8B@Rf=r0@ClBqv#5Kyn0Lam09lIZGqea5L*j zjz}+~GrYLm=Cs!GwARb~-sdW<$=zS=^x7O_Z|NmyP2xwg;-Iypq%~22iTjiw-h7$fY!Eda5|(lc(<{)g4WXQH56Kl z-Ojra2olj+`;xTg7m5Q~Q)8@uW6_!#Q?NIc=4lN@+t##JAcgQ~_$7N<<9Oc{gaux# zo7IsrSrAr6v<-p^VA`#1V95*?;W{ngG^^8Bm07(gCmwLj!4R-M)vOLbvki(~4A_2# z!K}X1=$$q5g9db=QUZQP8mm)NFmW?K{NVIqq5N=Y_<=PIYu56^iQxy9TgZZU%t^~y zFU)?8rB$4kLb8d5nhX1Ax|-NW95Q&|V$wgw zfD_1%Au83-p%gMj6;d9na^Njh7=V!cuc5X%%iM+0q6YZR_El;*j}`+pfS5M2IoV?-X`w`9^HYQtGyh_89R4Cpi>Nez(YAO5`3r#z%oa8$oAP_4 z;{1y^H%fMC$!^oC*llK|p{IdZPST8{xV1_kImQlR*yTUNbr<+UqqCDD(XkOcLTde| z`4G8YKZM_KvNPS=mz-}7FaUHrt2~J5m&5D<-6|q$0VL#Lovo7n7PU2BX zGKxf}<-tdrWISPS5X(R0YAUCBseKsd1BNF8a-exAzoHEHUnk42H3Wo@ZdrxC1KcUEUVG?iBqL$jN{hgvt3Qy8*r7?fKo4d;n@Ur6n0BZq2?(u?Y~GzCmiDn0>; zM@HcmBqKzkF*rbl6gDl)+H$l|+*V}0*nDOV`#YQ+4*EM>br$^{PCCxtq3$;4AamCt zGz%!7bWFhe+Tq`*WUsC z{r(OYqx<|F?Kp`9VZ>kTI*r6>TRwW1Ix&khptUy)5@9!##SCn&y75z{r9WjBY;5O7 zj$sjbCsO1cR8ZywRo4JKokchh-WWnG6jswlrt+axeMqYhz3Rhs^bH<4)ImYf(H`?!a4?w`1Eh#ohdPw% zhe@%i7v03gR+%@3tZMXf+Fvk2=t--3E?OUP(Huq>V0`mkFz;K#XuuLu?i)o-CBxe8 zQ*H{JMDmbGI2;NSXiFYb*y8KSKYUYo)u>Ui#UP2zsOZd`Xm&(wKYEH_on}siv!eAy zWoo;gOVgV@m|c-726n|O0GX&?qjtrC8SYYcMd~Zea8jFWuq#ral>FM@q>y6AqNDnw zVO6t~*%cG^o=P+??TQH#&*pYTYffof9Gc>=Eq0LnWOcI!Dy+8VqK&piJURTLobiWv z<*fiMgfEE}vMr*isx(TmO1$*CiEUBV$f8kDT4`%T!DI4jX=~%zgjLzvDz-&+2!zK3 zdT7|F)&o+t7xp&ni$eqC;zs+T?@C#RMR6PKivzPT{rD>Fi?#vBigvzt3`?bb5r$c| zxwJ2KI0UumNNcl9)YunMLfLX)Xds>+wmEu$fl{{FY>Z;x~ zh&L@B?O&yD_hLoma$kSZ5s@9MDJOaMV|bDzj5%2wTW5^d>KwIO0vI4vr_C=1g1GM_ zNnw-3l($)`9X?ebUM|xlO0UgQ?ewWKP$at_-cg&S+V4}Pz=e+8dEg|d4484EIW;Diz*iE@dgGojJQpzI-vyh+i3-D%=nX<1azFD+E7 zW=X88irgv7BES~uWns1TDz-_0-HEleV(Y}(YMwuZt#j}3Y^T{Z)JovG?5vQ zx)@|h>Px`5B9p8#B4u$@g-o(pw=|9F6`SyUiHURW&GK{-(KDJw%VwX6-NJEfs5?)& z^pxwKn)5bNOeQj)U^SElkyWc?4&2Yh<(WsNdz2YfFnW&)_N~i#4_Trz;lnhBPvW*z zE5m6%;Bqz_!(?PYH64iAOuI4DQfVhOFNym~#XUwz!&6}=WqJaC0z(W-A|&`io{)Kagn4Sbl-+n!1;*LZsO81S>LiLC+rR}JY~Bdm~GEd~{V#QnwrZ@ClI za37;pe`878t{wkc~slSdG~n}TIpJqQ_=4pTDY>+nkPw; zNj!sy&H0ROJ_t=>);aFlMw3OkfO?l)>*OtDapyJt;$k@HFr8~Fnq)~}G%0-s-#vON zQxjgcmafh>*2i?L)z4NA>sXYLB~AL8hct-+#p45FHkvH(kq+=7R2WTa*~Eaf#!Hcs zmUdiRYA)S)v|9&(zpV~T`L8B+D@`or5P>dPqyQactp}Y#JWZ+yaCWd#N{J|=Ni31o zf;{S!yP!!poM>{i7O&%K1cF#w8B7Ud3Ua>4tOntHW@>XOzvp14f5GM5IAfdTE7=|*UB zo*F$(c7V9xlfLF5O;$|qo+b-?z+wx02o(d9dpRHr<6FZfiOV(~zacrTq1Qs)!GAR| ztu#@`-)YzhbXK9BCIvbVu=on-6vFUtR?reJOsZ)ZF&5qphG{W5Z<&X)^cw6dD(M z*_9a~!eiaV@}>q3GUF)<%#u&dVyVMVxI`$YJvJYCgW(&df=qHdSgyMBhJ z=Yr#_%SlFO-$j@XXhXxt|j>y6`Q|jHGlr| zANv#vQNp3~hT64xAiNd+*#kBF@%~lMlC}_+0ofn>mQ&*YL5< zWQWE6`q_&BbZ0l> zNCH}V|Dp+x^8wr#sX7DE+E?pJ5PN|f48x3V_WAv4^%Ti-KDB*fEPl#kd$+XF=>9?4rj-giInE+M{`-+HIsL=}Zv78^k zs5jtBij#Y~-x~C-4jmbb0~k4^36a4G?FL6DIVFUQtW-Pn14Lh@0tpcOv@ppc(rKZ@ zxcNM%wTvNqp*_V#QUN0rHk$)0+5L*R@y3{^TWk07b04a3(Y zXUz}W_ce#Ky}{Wkq486sE~z#!BfwWtargsY#$GL0NNx8K!^QwpiI~(m5ktI+D*ATV zPER8NW^Wa*=%jNX=%M2D$UHnrjeU*x&gsiiO%2qua1!3Y=yAVlG?(6OG;DoUZElhmh-APmi!@fN4UJ6#?8X_nIwsK8*&JuK&8tLPAAdlhM@Jd}X5 z!!pG)Q2`KOK=RsVGwk-mm0y}*H zMbT@=#49}3#PHNEAy=E#AWVJ zk=K{lRmt7N$v~0kWD4BCL+ZKP1YpXAB8AF2p1+EX!K{dWQifmk3{9}lj@8>tr!`Pk zH1KJJJ%E*XreuaPl%;kuR9B4RpA7g{ox_+B1>pim;czBMb<^ETL4Vrn;`~!~Rxl6Lf>2cb)*zR#%yG`le#COgxr45}CD{7Ty_(lXRe=uy0jDYSOIYUJvs zjSY*FWA)C_uxf4l)Y@b-I* zL$DZPpxuDPtcNQ;nj6pF_~ZblF7}4tFrObKNOHHcyDSNp0g!{!3b zJLpo|beS`Z|1Z*bSO?4+0N@|Wi{*&$3PYkiNK>@Cjw{0#2BH+2&BTpB7Tu?x!!)Gi zaDhD9T7z7wO7TchV06XA$1~VX__fp47-w;#hB#PeZ4;`$0Mpl#pd>}ab9F50>wi{ z!QRaEjN(3{p8N2Ww28qe{k|0t>QM;CS;sBz1JlMWBrO2YM)vUa5*(xI`!35K25H3} zR9=trU=8}w@puxj82-jC>=%lH55NVKc(Gs>@7BYDe(u*v#q0soShw=t?Nj~`2MMV( zsQh*>0`xFiKqN!faj4*8Rv5;UL1AP=Hq(oDgHA4GVGL{v18~tVB08U_WIZo&oA8pu z_z9Exps~r%!Bi1T@AQoC5DH8aKZ__oXRBp}7}C0*m4|8Px)j)#{!!~Da}j31tkSV% z!jIsg<}N>_C%u&j2CQU0osHRmh1~%<0Edep>Bu!- zUdm*kp?EY<8*^%nN0GNnbmWEBm%_tkKNpQJ9CfvuVv8KC+@S}w5x8i0j6o0P8ej26~Stfq0hw!H>AVn^G% z?4jsMX*qmEu1`chtm>M!u;6z)CPn;N!wJS|ypM3y`ue!rtu9KAMMlH7(pV~8$a^d9dj=tRzYR##66Y}kfMPW`CTz0!K+UEF4yxVIO{Nh&`1&B#RZ~SVwTh|oHuMIaj=TuuSo5HEs9vk`q6Xxs*4Y=J!h&GzU%8}DV ziBw-|?`JGT+XQ_rv2DWe2(J4x9`(5T5Bzys%pCGdpE=c^0ozn2zkT9V&uHSWlfw8297h6D118Ga~jN?WgVfHQvl@EtcrXgPDcg+y$Sv7$9% z%;S~*G+d09`Jim_wqoyCfR?fJw3^UlKL+5;LAEOdr$LQQIz*{)_!Y2jW<{HMC+9L; zHx!k-t=GH-Dl`DX0f6+}^l>+7c55942X&w(WM4DvWXe0+mhLG%5dvoF;(Otza>;b+ zq9RShhb=EaRvm(mxzx7-pcS{{|6}j%V!@gHlU0u~()!o%SJu^KYoOx9M|rcM^G{xcC3+{b((gPD8Mds z;`UKKV474V_9u3smEOh>CP2mxG{^6njV&sIddK?IfaiWHT9K%63Oisnc2=?dXeWbykmHWh&7Z|wG!sQ?Q--N`W5@uJ1s)L=-4)d zNeUe}i3!kjX@8bRqEEfBFMvv=z4iY_y*^Ni;1j`3obBMz2en4|Sd2oOy0K&hhp}(;e9z;t<5_`cM<3;HSa-f_Z z#Mmf>q_Ke7S=-k}#1SWfAT4C9)8tL6Frg|wvEuRH!|7&BiypKv-RQE86Z$v9p~zLQ z$A@MsvSwC;kY=P9taYEfkftD097??l%*FS*%Q;M11NN&IzZIuX<}qD zq7ozJ*fJs!i;)pza(xPP3EOv)Dk;&D3I<@}J28P}AZ4hi5M;}wrjquCLT&jY(rGu|_tAqcU z|G)Hrmfk>{HO88jLRhJu1)O$EpS=q_U+Y%){+IiqsQ@xfJm`aa5nIU9MSt_Pm`LcN)-Vm zWGo)?i3H0G?Ea>Ys=wPY^`u0bRFzo`<`d~795;m>RWuniuM21Up5lz*%h)zEOe#aUh2xcu~8yQAUXsgNp>)R&lFQUJav{7 z^Ud;%{BL%KNz2o7B{7BE?s&Ui?#L`3E6@0IHqCTK@-%@67TTuJY$HviRXee5xm8MB z;v>XNRXhG?8eMT2BlHI>V5jsjpDRq_4gSuq+>Q*YTS-}p*ozu>T0yolx&m2SdGdzQ z0<<&o`TRwTrow?RcZQk?tT+ayxAFwea6rdpq}x6TUmpB}w}orQMs?2fJ-3qcAKVH7 zb+J1e9^GhB`$6aHqL2b-)z-WSHRQPNOcDxt>-aBr%cPxFif+03r*6T*n{K&);Z9!@ z#Y1$96P*!jNA-X*V5{ZXPau1*FD-RC*h*bdzl?d690wR{=$E6r!Mw+s?wk5C&+rwr zyfwbUdiK@&=F8lC#i_gc5h`c{iZ*E~=zFWY67xMMVymVIQAojS)R;a|*X8$#kM_Po z!zPmtA#FWjY&}hT(pelD4vrOrdO;_B1V$F^0{#=~xDdkiAHF2PCmfKjZQq5SdK%IHt z@X>$q0&X1p)2&4;BHY$klztQ=@~o@rq)1pS?uSVPn1o69s(NkFqHgTb>80GB_Zc?a zn{9*3yvjUgoY-QYU7_LE${J7&jCjls6LZK9M8*Uv&#HB>yPDEcW-OJG1R12*e_YY#WPUBaj7G zX1G}al|ExGbCgsEiVIK0ZoRB4n?ZiD9J+e<_RE4rg_REifwMbX(i-19KTS`&f_!3cg^(+C)Y|^ z$%viW#@Zb({lsu!U@9U8a&3Soi>BfqOrS^hHA8=bGqF$CW}MM4_LSh?vQKr)a^2eI$6;H^+6W$X zZCGl%cB|eO!BO>EXRms`dJaiz=hGKr8%=A|qhqBz$4WP2CG*5CLwSF!xKr+o_b7B^ z33~w(TfhN&#|gbqO$Fk}=kc~oIu>&_ZEqrtu==Q^BjpceTZ8b*CRYg$*6~9y_c@>A zltdy`@DA|`cV>K}%93_=*}<#c#*}uM)p%N7oZKBuL$*VbG8#^AO0drQd5v?V3LHSZ z8e&5QprvY4@h%=sK3b4G!k0UmTjQ$yXi=uC-H#T#6rb!@(-*=N#?B2DIkF*)K`b)Y z3QEJGyrQ&rF|MxLYFs^MtBjfTmiS?zbI*@0a+I`v9`?0HzHO|*XrK6MP%-9uiqqNv zQNtJ>%r>f?<@TP4a_F`-$;u76sU)^+qTP;MhTMaJkyDD~P^k_u1sZxnCmN{ARrEft zqW9Z&Q&4CKD1=&@*L&-xhq}0%0Kz$8K;J(;^r5uZ5m#i>^IJUQNN-~?xMDvT*H=0% zP0hyDJ8y--hB>p#nqL43Zw~%JJOq1k7D}hip-ooUubJJ#PY<#7=B{cWmC^ zN1SmH<~_o+Q!$KKqEw_cCE{w1t)PqeT*lTliJ}KFP7Bb)0B355tDuIs3TlX}pa#hR z=afQfU^*pg(0nG2Jl1P-RNYL(u$Hlutfz^{ZMK_T!cdzhBFCIE5t({m+llB@aUufi zk%@T8VIj`niAZBZlw5T9W+HMWPP=rro`^ik6OpSxZdAwPCSv%V)A?p1u0GmC9M=<(hL{=eZz9%S5Fng`FCKLw z;@U#;zT+lh_vDELeGn5dl0=Tm zOWLs+{7XzGHdhDbC8wEc4qHj*KNYO|@p3Ed>_y2H1g=`dM0~r0`M}t)Q!Go`TbLmO z7`Z7gnD3cM<7L;`r*YVKk@pH*>6j>owg(7j@o8)i;2m?q_P}M!xII8vYW1M)fl0kR zu&@K5px533Fd^KrdjRl=T7QbL_he(O_W;}|aP!RL(^Bp@42H3a(|9Od*!8moJgG>^ zKks!9Kw+f42N33A^eU#yp?v^#vl)6F1BfcZ#$%)D;uRRX0Ba#>qL6gw>N~!_As#n< zUdxJ9BZG%Ff~dhii?TxVZM-#;w8=ieylPh0!{Tot7PERMz?~CgKHhK?^4`U8c3+so z{Qv(2nBNp;$dA2>v}S)0V~S}B zn?~u3l#E?mnW?7H0EnJ_sBwU-*XqN43>Up5%22{N51`UhR$Ug9TQ?)X3!4+oHx!IQ zMtAcNF7yVtc_^#JnqF>8Xf|QB$hi&a3$-0s4pmQ93v)KiJnzlfC1UllAaWfZ>6Z7X zI;YUpuSy`tmSFm^vpAezD3Mz6>U1>2gh2)|_1z0jLjKM!BooGROupCyX|RY^-$GpN z@>J`lkIfaDIy)MtS##b|oKCe>t9fDF*MyOQ2)mI+_+-Lh16EJ-v-0O<@ZSqAtOrI5 z=mhczB~^2&pn_ye%h$q!k;nabi0Sy;I%T!s8F`SyO^X;X?Jx_2jPd6r{WL7MfPKV} zf%1$YV|3Jz0eiw6ALAzLtIhHGu`Pj3yAG_!o8z$(w$1U~)QM${v55%rl&S|-q|#Vp zj*q%Dp3U)`md24AU~(;yQ(hksYLCG>+!}@n)~ql(#*opVzRf8P8!|?7VnM;OB*wL{ z8ja9?Q(}`aWZ)qqu^gFKeEb+g2D|DtVJ8|%h77eXDg=vTPApQ$A1Igz{Tm)T@hAC#Twe%PDa&(+a8PDCx)xr+H96U_bf*b(jq~h#6RP#E^==sBM`BI*AR9bM zCE^St1i`RPgtb?1XjG!GF@!cAS6LTYt97ATEsvL37vfpgg}4e`XsywObn%&fa7GDS ziy&N2rh7Xq0a(%1g^*gx%PphCb~Z|k8eJ&-#N-VNMhS-mmKykF=~5xuW{x0fJ(6W& zR4YWBDGDebm_o!p!=oxhUC8N?6{1nC5CQ)h@IQ(|wD!mf(dYwFi2N>gs@1FzttN$t zc+vf-scW%WXY&IVPX#1bke}{24c*a+o$pcNgv8l+3Yyb8R>V(n35(>%b@aTl)ufze zm5QrlRVqwts#Iq}rGnmR?2t;u!c*Y{brmnY(SNzZG2ZH8!H!GpfjFo5gL@u|06JK5 zk%L@)hUX*pkL3T~sSxjIoJUi{)UYJNBvz^c79@TMCF%5T@P3Fo;{g+T-c5(}2pzE~ zJEF~g(Q9do_gT-4tI%TODl8sx6|;Or2kDM@VLGSw8*>sZFzfk*ZDn&3S7A;XTEVY} zIjQ+N_NGVqx?(4uv{QF46A0xn&hr8d4H#TyFu2NKa1~&z2*yec240%d4(`apw&aWl zGvwrY5aL7|c2Vt2nJ|quvte!WaTTV`xC+xISC9(~WLOm>7}LC|WuK61#rT5x0od9%ahK-#e#(0cMBNyVqjVV`ij^j=f-YARU3TVXPU=yn z@OuqGaCKk041xgZ;0+*@qH))A5G1_V+iIX^TpR)DCC{7av*Q_KUAL4zA6*PUVqzWF z0VbAq+SGw|sL)VV=^)K;c-G)+?ksA zO9qvB8_|sYI{uQqcxE$3p9ryYX(VVdOX;?Q`-HHsThrK^n}?(<=8-S#S1Z$fjVEMRg!;596W zeYg53jt$lL``2)3WiXMD18lbLbzblBjLaZ(0uaV^6Q)H5rR?y*q!G+#grw$(MJ!w? zVv+N1b-+W4Ahct@g_bzD2P$3vt`4@Fvd62c7~wC;w$GAF`|{|g48_&?ehkv^5oMBb zQrH+`!m74Ph7jW3SHS}FlSG41Jsc)L}9KjPmEU0u>qs$Y>^2eTRh zy)@I|WDaMU?p%DzQ7U^8oH;CUukY~fzILYp&siz+dP1}BzRUh5e{h?OVI3F*L%H1o zJA>aL12p7k1(RFRHDqC)i(*taP&{uU7E!!dZbGN2LFvsp-Jvd$a`e!?Z{uY&X8c2_yLBRw7TWSrz57^#fisQw(NkA zBLqiRTtQttJNq{oZGLY%X9x}1|JrQJ*dJ!nK3yt@H(?3guki;n4K-f4zzkfAI1NN9 zhy}DzvzsDYS==JLm6F}BRU1Dr8+<=v-`6;BhfOVL%~p}46;3-pFk6Ma!(kKN97y2i zPwEHzWS{oLWAitx_3r<_InV(@2TMkp$Q93qE2 z2jB;nB0I!VM#g^j3`c*n*BQx)-suu~3Z3?}?L(CQM6?c8fSj3lZ>gOvpE!2)sRWK^2cGMxj+ zzEd{j+#$|K^apqBBtuXNfydd~&21(aBc&x|W&5NcDv*2la*5#_Z1p(;v< z429Ff2?U|8#Q=e{-~eFSU0&4tbP`(|t`vRD#LkBf)peLA)&aNHi945lsF1Q$@uQUJ3-?e1`{y?W@Nv44i92w@zKUjA8}ZiEI4+I%TaU6 z#`nw1VBCE4%B zldlh8g+KZV1;UioSH#~$>}KE#K8X`;)noX1Y5iHBh*k)dnL>DM_k5r&oyJ2zF0*Y9 zVxd1X5)Un%XD+3H+{ko?-3A|iYjkh$rr8(bIsEZmY?MNTYHzoTaC1Y(-Q8erO|Zec)}7IqSsUo2XS?dygm&acvjv4 zJkkyd4v|FD^*{q>@iGAu2qOjjkSqc}0mg{$^VsGTZknFO+LA1+rj!UdTW@y@9frxF z1QX(nfTyr;`x$y6=owLcrWVU#mQ;YP!Gu1pk)^^MV~g0Z4dfA?ANs0?g=Ac;&T%n2 z6(6H_u#j@K_M8vnTfPIciRUp^;ESn2NWRPk8gYUcogX~W_h|FJ*KsSo?=UV392Iie z{vFxAt6dzf836`(&lai9@eQNtmJuFf zfZAf<`>JSUK7^HEph59rAOPq=s28>47HSn2-C7F!X+ou6*vMa)cMA6JRKi6l+~^xD zQd$Bc@dob#i+GVN%%ep3b0iA*M!BV^yu4;=7vN{hBf8D7^(}#mt{uy;^>u+^*X}S4!(L0Pkn#564&&0g$gqzr zL5mDK791R=Ba6?vjQbGNo-a`il{J+>c^xAwfa=<#HSevzltLBqQhLfXe7IOg@zHKu8=M)$_A} z8poMv8gqAnkGYG*WsCyIL!H%F6=hRD9$W#WCw;!|c&Pj84`3wW0WmUnAERp67n<$^ zz)9VYQ?m@eWt%T|Uw}bHzdjL1q|pP6Q*=Mb5EYyz?LCOA@$d<{)_pNdNnHHtwI%h= zM?s0CGiA>&4{b7NL{m`6k%l9D1YXy{-+tlQpkNRv4KV6y+ zKk|EP_#d`{QxmfQ#tawsUF(?3g^Cn2FwJg>)jj9jj&^YC+Y() zb}NSy0!-tEdd*}{$6u(;TREKw913ML6?+Sy#;Qf8IWe0PJ5VO8@4Z`5Bp}E-d{5S+ z5-$Mr4~5OE^AhkSHJ;JKwl^C6jSf2vRWJFJF9C3zk_VcG*tqx^&w81v`6_cbjXD!J z=sT<;|EKKtZXU7!@magBnkL2^V( z&M1bn2r;kIE=}HGfH6DOTg z>AG5SfH#J2oS-nW%6{;6dmeHaCURiPNC`~r=OlJ|=e5T}YwAnMKEMjs3&%r8GuCjP z=smRYNU?~x!xl|LiiFC;8lg*-Grdu<5{6ml^tH^IZymV{7e}7)EyUUZ5rme zyhwMj1E%gUFfks~XvPB@f2%9=vDi*sp@}G+yE4gLfl<|6VJsH9;u=(s#Uyow6*=bq zd@S%^%Uy}I<_bC-R{akKtfnbx(xjZREy31+Mq=bmcK__vIp%W6UcBF%J}xv&q3e5- zf9UE{`g@BDHvQtlzfkVE@^N-*W>08qh8d4%*r^W zdHobZ!A=MTtmd8gB=<88 zH1=Y5Rua(6#dEVMF8=3`JA0Uu*J3}eUtS`dlkI~rd&BiQ$YI1iGXygAzJ4o&PBEgDXF(iCdawRD;H*_OHtI=D$nfCY-IgqAEvhHUd_Isti&- zj9Zu1=?Z9C#rB@ibUA~xSzf5uu!N@7@&eR~sFKjc`-~>-_JDNZ#o21kl?eEe3DUMk z%n`_(4Yh#fFq&dW#_6=}KoI7^jGQsGr`rPOu#L;}H9QGLtL1rST4x$9pk|ckGm31X z*e}lqJZ6X4XDW_M{0dWx?&rZY)C~AxJHj8cCys7?qI{yn(2K*?r*DRWQeH9>{!%$j zt5%sfIni<@4=*QXNSY#j3ka7cMYYWSDnIP&G4WM7*4x zZm6;X+f5SP&hLE43_0g=%O_xL?)#TJlectHlEG0v-@Ez4KFhiK9wT-6czrX&MhAPL zM&xqjlIn22`fhvv0`?9YtY2K6zeqf>e(~)5#dFqp{*#e0a*6OiQ z^K@P#>=2>~eiNOQW-TbixNVL+6j^o;lg1DO{*9raDmF%*T14ENu?vczp8PC2wVy?&$CRXf zd)3>6xv90HyRns`G>@l;608N-uN6o~>pw#c*Lg$P&qJ?l5foFv(qhrLp z1@34Z1V-@Zz4q5w1rdh;qX2bzDqzJzv)sk2@JRzAn$>0?+z|XXSmybF z>NiPUQHkI~U6cbj;h3kdd_OW4Xz0;?;CiyR=RC1CXb0VVQ1afpT^8`y1%#LK13c{G z6pgMD(I`B-VhVJySG-K)c`%Kf;S+3-$J-*>?cDK8?J;zW#6+C*nN08XCzzI_Ocycc z=`c`HPi{~f)j+b!sKg#PNAv7Y&-9=rV06|xhGs;ETv*Rc6@q#{G-(d^g_-iAp&}4{ zHpmS;;pyO_v1-Bq;1t$Bh10rSajG+8f-;%r)m`R&^ldeIUPHtFlub?xTB9Cj{aiNo zlV_j}CBp?^4J*UsHe%oJ4Q`gF%mR5Z& zgg??LxJB<{Te-Ozwr|Gmn@Rg-yM43MzPVW6AV9jBA=696+o6sU=&@EbP~^`#h7@%E zFk!MAz)HF9&J920J_ZGj$GYRe?kru5kzy4<%t$k><0#>TF~Hj)Ay=#;b~*!kE*uyj zIg+Br80B#wBxmofK;4AXo&v6@g;or1dIAKqaBBq?jt?F@G69);!ww29y8>tw+QPdc zJR#;^nU4#Tr>g_58OWv>v8JLS4|c+SSX`6gV8$pVe4+2~`FT;^0^x6_mTbLwaR zYLKH_$hCd~$4oi)Xh_E^lx-CzQfj z%uAPGei$XSFFx--$}}nquUaZg6m3)%%?Pmw14`0bg56N)C7P(U7VHR0;^5kuXv)UP zKf)m9&e(j_f^1A>OZx$F`L^YEX3K^G|$$?L7ayEAZz1btwYy_9{0m&HulDql)zg<`F9m`B-XC5 zlS3ZT1pJ2mNT+PBgwZQk(g~?m3HhF7D2#i9NY)_3r|)TTWtB$C?cVSS*yuGjM?7;} z^WDD;0UH<=Y>vuEH4?JPRcD3T<`~WtVRIZ_kS7B)HDHDes|L3;42Nxw!$1RvHyn!% zojqC|Qyb15gFwVayJHyXoXCDB*1}`3Tc<~7@LUg<+wE}!c5MW<5>mbO2$j+yU-Q zn^5s4;@hhSo#eEnot>|2I)Nu|xASAy1}SrwYmj1&Of^U$QT5Bs;|x+OL}s)MQpf`u zq|hieNUbJ=6qCCnjw6HS$HApq~oRtsMAl0(xFwze)NUa<(g3RqX z7^LD@ikd^R122L?$kZT(TdDMZj6n)xWHLzMLe?0hIt_cw1}T&ir1{u*ZyTgY$WU8x z*pqLu#3GH^HQ2PxJRJ@p~#$UkW#2)m2M1Dnc>HT`+y8mE$;3V)Xl55 zt#RLUB^#s=8x9$y=BzyoQcm^JfRMxvI%gwKg(jAaQ%`&SOfpVA6Z%#%PJO5!^DjTF8^JR%T%gxT7y)Wr!+{#xnvrokSvoy3Y!N^YX`aKY)CdJ5SXNrB}dNURo5GpW=QAiqz*BM#liwe@5wrJE22rYi|J&eh1a zCcmw(xDaA$5<-4@)9(Pn$4P6Qz$~#lCHvKp^0=^B{wlCO5l*iH98!4$&qDiH!z?e< z$VnegpqEeL_jRN^YD*H&SA@4Q9kJ;Z2Q9%vH_8vi%BHBdf~ZH>6YQ&P&e|w1F4{$g zn2sov>@*$9*QO&6J|a*V(-F%Z4tv-|R^m~Z#*#UUor-`ykkp+%89fbKR;PQTELeZx zJ6P3#&7xEJ+kf9*uYtHI^jn_QI0Hw#XzP zv^rv=ZH=I6$WlwvlP;s^mbb#@Hb`I%YLM2-rv+&s(t3b|ddrO<)y6IIt<*@PGB!Zc zvqSl|fXs*sg2p7Pu+prRoiHYKI14sFVwa>GrnW{T31!M?qFcQ+#T+*sw$YRgS96P` zN34GhgP3fRHVXHsjaygB?{NF& zD%4H4Bw9^fVJ&#;wVMaqF>U++xMhxW($Paf>avmT_x!(YOVZ2xbA( z5S3@4nA*6-i}_tPZk=-JR$9fl1s^T9LULBv*ehYF={_5`PSy7ahvja4^G9Ob+N?f% z5Z(gC=&Mhp-MKg1og-98#ikD#G)FVt$jd-;BvU?NBOYr5K!Vjk&%sQbGY-}`T$y9y zE6xV6NEAcHy;JpW#tPjnR1>Rp70`{FS`j+c^6gt*bTuU1xrL7@tN*9hICC4a=DDIm zD6HcsPn5vzTeq-jvu?3)P|%D-){oYxj{EY#@=c2%Vnz`T59BM=U2Fsh3LMphoJ`}i zd(*>IvDInA%e#_ecO|ieXp&?t#hV+IDDO?8nU!n#d!%F&==8ncFXDr2^v4HLmN*xx zI{3Fm?qioeu7W8(O*S&OHkqm4qrZ1i{T2~nu)Q_aXpBRAcX}#moGXk7(Yj7diX&eb zFwBaQRnVA!oR_39in%cW6w;1mkMi}p8x zua-&M_R#Q1RRj4e7WD~oVqpX_4t=XnI0VYG1e9RoBo znz<}3h0y>}Ps=9P8Ez23MmMA-4)QTH4e;=0f!Ef=$1uuZ;WflLV&)@fie{piJg$+U z6Ecprwu&+*cvuG+9!ZI#li=u{nY8*BJTK`DqKRi@DI32Wxyp=bSh}N|7S9k%RV_!H zmxTCNz4f(;=E}_hVcIDkY7e?Q8f}TenoK{t7Q$VM3rHxE z9(Z63Vhh%xq>C&Yl99+5p1{TD?scY-&g`eTnEB+VxY#MXcR4Hv_Z-dTeeG&wm{tJd zTXIMckL4l7)fv;3&%hZGb%W%C`duKUbZ z%u941SOTY<`?R5n3_HW!;#1l~Q&3a6K}?$THm*LF7;IWo5N=pZJVT3;`$icp1qFG? z3?;Px^eRRKBv6p$hDXST#20ZgH|M~O3<0nIf!A0@7f`DM6HUQSSzS$z8V>0q^~Xz= zwAgN`Uh`561*%^y`Ta2@6pSSiK!rAsi6P-0GKTu9SEqZ>&+qM~0r*ee|RG(bwbASAFzae)QFN^kpCYmHg<-@#u>_`jPzTi}C35KKje~(dXmQ=X~^P ze)PF`^iw|iFY+V8#Oe0yKKe`f(d+T(RUdsOJ^J`xK6sV8g9C0~Eu{fyA&~-Gtgf{! zQh>cMQo4s6C50iR0B3XPUS)8Ol7l;Uu?>|70&kZ=~ul5Qcl1*^-)n2icGN)Y#M(1$+ZGrhwOpF)eMyipcK1|kIRw{E<(!w zv1H)1Ww4#WW^4*XQaw&x$IV2>*v}&hZ>w!s+9Ndl^lusW#9c^K7-_g`eWK@@(R+!n zBvFbF45u8{VF;jR>e;p%aH06(Wm5V{-m%m{0a|a7ar9d6WlJ+HYgn}?%}^Y2hR32Y zMoEm}tT6lR@;C8QLIZN_5GpQhvo?O1iQuUd&4)M2$-{n_Fd;rXdGLo#yWV{GG^PMP z``Yyx$M*SI#^#lW=;+YCV@Npt!0*jgY*o7-A2lR;#8G4{m)V(qo1|>pVKPe2^=G)( zcLz(@74%jz+K0#cIUXzU!;q&}*#l#<^>Kd4ykcZ5d;4XK4T^c1b5CFjVNF9h?@TAX z8|CVhr4tte`!*;a3o+jj#KxIN5Z?+%a79}dox5nqAYVri%Z%AL8N)P!K{I-|_$2q~ z668&Fba(Kwgj5KLUnxBXBaHCf*|hqY`;pUd4{|3GiUgQ-$e2a*-N?wWTzyQ7eDyKj zhXS_AcyJJ{yB8Y3SMe=i|C2~6{t;!%74-?;Mm9q|qSg{CAJQ&JV+91wCI2_EEUZht zS5*;!N89L(b9449A~!C~p41GroM?R+`;~ z);gFACs)n>h2KAj&u!=r2F zdbbw(r(*?N6%Mx1$V`&E-3;!ha>MBBnB~BBv5piU>H5 zRPX$9^pGh7<7(0={iAqjE+y!VFFb_`T!Ewp!O$!=DS6jqk-ijZI!_xV#Dj0k3CAk?oQ3bs+;OI%KY`yTqbZBxN zEqh{9YP^>lcVwbu?DH2kuB{*fLtVSkyOF)^GORVOQ4yiFu(Q|!R7PC>-I|0NVYj^Q zWwja-WE{rT8_6}SKl-nhIs>;7zm3O5kDbJ#LVkWj+kno@pUoHDZ+KC$v-tX-;TJVd z6|txI5WZGG71s<-_49B2-QW0OIc#A_0*YR`ppF-4k>rfN7iqeB74qd5(SewkygmqSWOhOj(HG}S*fo097vt}n{OxG#*Q=lX(7uvsGIdatl(#*2 zYQ*X!u{77_pdUsHJ*8>%4ZH_>)#u{xPxBWBW~1;fD7wk704>uf2O6!Ii-tah+|{e1 zw&{5}WVO|37~s&K98_8)B?P3Y@GMnf4uZW!Gs)As145me)RB^ zA7cFsgR7Ea(PxzeFJ;(XTAAQy;1b-2t^ui6!)9>nB9_6OA)n0^bsQ zOqXQb(8@L^{}}X)WMzACQQfKy4z|byTVE{1bT2S;h6x)9Z$zt^emI0(*E zZun5d^%TEzZ-s~7zK4GmOed>HOe{cGmVp$={7hxg*Ev6`?r?9NG?3vC5ShSc{g~Q` z0gytBHs7k}JJ)wx*I#L_X*|B{;C9GrQjNqg25E+^n&7v<`!7)%<3M$e9MVY@>GBl+ zpu}9*)d128`U-+j`~^#3Uk(Z}EwdXG+C|vkX*-t>!B*YRXm^MxGX8i&~SF4 zDu;JMHiymklAzmz6BX=2GX5D3^-3PvUJpsOX;P|dfTCI~#}rD%ST@>V(di5c6cYk4 z6Toc4@v*w42M?%1D~x*6Mi&E!!873F(Ep9 z0Mg*Oo!?A@h1rv<3_yT|Kmfik=9+6}be@3o@drie{30BUkd>3t7LpP7)gr@_3>K}z-Wz=g2~a1pQ-=*S6MTpc!Ojyzo?vtx&a z?WM4Hj!!i?jeEz+kia0aPX|kS&#s6O?As#97-qtfPqu}ADA9Cft57Uo1 zCDV!i{(;Ut?K6Ma6OVnQ(P#QdvX~d%fh#T{`?CJ2;m1!(p1D-LgRUR(GmD{RzdFD) zs&Z@cOnf271Yf!#fVPVPx?C~r9y2lGF4Egy)X=elhYpfvXWC_zl}&~Ixl;Ym&FKhR zOnd{rjNujK+I5&+ZS}zX0>g|aO0bmqmi>6#wz@QL(#=`BVArkorl1*Vh$)$uGW}=z zg6q#Z>1vt=XtGJ+$r|E{kBtLc)2BjRHU8@uK;^yh{bWRJT43c+3I;lOc4`4UamJK7 z3Nygy%GeDH$3SF}jDv*o6!@0#5wSHLR5ds(jC!66l$Bij7gno%FpF%cjB;}}Ub+FC ztSJ#!g&gm)0GJ9FJW~+|bGmDebI-6L)M(d8fEVd&)!H$^E%gINH$36nVb|s?)bNMu15lb1u-YFA?7X2}Ul^<>VhW1QjSV486HPS5dSG4ep8{I{5;E z)av0}pyc)?7bqSV(#8sy2sLDIC>Q7eOBV8Q+BE|WqD<>6(~m69qVZvKfqLGhHpNIM z3=1?DsJjzxZsY%Ds)Oa~jRVY7+AaAr&jmVYY*lmwXQ(7ylG@cOtjKjeoso!g8Bc!B zG_{cn6hL7}`V6tkT6pr0i600uiakIHNk8#r&21G#vfxX6I^zTH#W)${g4vXt>Ea@!oTQASTwky{HZk z3b{C%cLIi;^G*=i1F=lT2j>7OD=Y_71oX7FN3M^V*B4W+k1Jk3GrOd&h10V+KrVaz zcy%ZT2(HlN@<93Gr(`dfpWPII@mxypah?4#9xhGeQ$@-avdt33!>i5`12DE)X+Kur z*!}W+xfKxuMh@$fhEmB6DoB&bm{G$FHz_Mfyfz8m{PlKuC?5w|wOg;T{4Lfd@j>hL zd9*WvP)`KF#TEd}cy}TcmH`SqE>q}3(~&0|P%Hx|Mpi5&F)73qtAHkVUg=>DIk?FC z&1r|J696_531o{VOCXB>X8E`iHR2JrxJ&N#n;I<6vr6PLmp_TY5{l)u?)Kx7U@>ds zL&srMQ3?HjQyup5i?ea<`fr2ysifBGKm@+5X{QO_AW9(l?N7?9f)Z&h3@}cC8xuh} z4JZ*EFexw9pwIxItiqqeC)u6bOQ@P^p4JAGORW?eJ~~Zq@n}s@#<$|wf(9e8!?jUf zX|Q1|NW#X3m9_yPP7~TVnh>R!Ms1t|nq(-}?$pUpQdSKgkyRtLX0BR6$k=GCF|kh` z^J+L-bu))y#f0E#c&5a_OMnit51(Q$bqkr1UIXiT0&aC4-a?b$2R=QGHYE?Ksea(SwKCXQh~t9 zje$TAV&a#ZX(=OULiSE7kdhx#fyhru_o35HxyA>2d@HB>I5ki3p{-zk$F8b2lt}ks zR)FiRbRY0;BO)~VMEVZ}Ohl=LbRT8?@Xz4zFdE-5$``CDJx({@+ zg>)aNcxew5#!LpKI^73Jv!(@1lz4p=2Y5;3l)!G(r2AmT`VNgNR5x_Bn~|a$0(L|? ziO72DZWHfpjp{SFwrzzN9%lZ%lolj!7SCVGZxM`fCk+NxFq1J?F%V64l(tj?4jF2M z2k0z(AY0PV@3I2uRw~pKUQu{2sJtzgc?4wGUp*76X0Qye%}_;v;o?pVdp<7DA% zO}d21eBWOVlTa~*jM)livZkk6wFnpm_&P!ty3?$?02p`iDtthI2*A`atPh6@Y(OFK zEonfCFgrk3UXz!~10>7zEqJgWGl&ka@(ui@y~QJzR3wtQutLw+ z9i(=Sj|sBQjYQIvE`5h8FfKC>SUF;hoi-%@OJ7TQS&G08#zjXHhH1~NxV7ji17#7$k(w-7|MdK(`p?hz<*Loo`oCVdMDwOn}D9+198 zFzzyj(Vw-2^eqOjGqBU5E2lznl#5w5OaL=IURcD~9OSg6wDD~Emhl7Aw@g6jA7%QM z%&o{{SU_Dddm&%)jCjc)!XF$&yl~Te#`9Q52Y&XIsv~_10|{oFsLMTOCTl;j7uI7g zD>5FJzGdj-@44p7PUje-JRWJc!Q8{8Z^0%fC(S_S-XQ7HvNXp2G}kG8%dz94^+Y*n z+p*JdAsX^vCp5^G(LFQu=JYN2P(lLpqDVY}v-o-6>02Q1z1gV~(zpEU&CXL{dN_Ds zwuf)s&-B1@i6)dy5AYsrVn@@Dc3RmUz^0}LY<`*^$arLW(Q)Y+Y-Q}z)Cm&wW|(Jt z2#KySJ+RH=Ow_;kgET!LKh~Q2Lzo_ps=M7rbI0_skV_SdRx&-X9GmR{lS%5p5z_;N zm`o4dmg!-h4CnsY9E2+p z9&CCzRbJ8baJ4Z#M9R^}mAWp@!VK|**Uuy~#FJh>pUe=u)uC(;+4K;p8g`Qf;<;pc z$cBjP$=I-@?Z-KSXS2yjLmg;xKa9&$aNXXNXv}FB4ukO(rJP-ZoNi&2O%Ky2U^VSd z&-&AwUS=L^0+=UwSSYoVN|mLSitTKvPzYNnHBF^v;Jc41Gfye8Q0iJLr9b)Qy_vqi z0H}t^rlY%AqUs06agk@m(S*~E|lL%<(~%D+1_lH04}GsWkaYJ%1=}I zXMh^P{X+?Kyrx?TBs7JJv2djTYrIq46^ck?6yO)hVF3{WojH#Ao0Pjwjj&yqJ1%MK zq2ixmp~z(#g8>bo5TgwwtA;ruF&J2B=CQ}*dca_?Qs;WGK~m(2{*Mt9EDSBFu`)=R$!-_!04vt*UKkFN)~n2xzJt^9w?eH!WOVTw-Qhpq_94u z+Fc|AYy?(f#nhx|0*vCqEKI*l1Tzii)-?Zc7}yS-Uj-YT1csS3z(mZ?;Vcq1xdVX- z1OBWDgJms1imee|X~H;{Oc-I}8O-xv&}268M4OTaZ?lm{!K7Q~QH|wc{snd~4>v!; zE&eGpJ(T8p?Uu9h8CAR0at9N}RdOkO2&$_yJ!HcKmX+&3j2pEEjhxK^gNBw2Oc)yF zv0d!)!x71gCJeT}XdOm@0j6A=r*UAG_2zeB!l0Ndv_2KrlL;e|I;c}+6Gq%KJyc(s zqz47<)i;=euI8)$%PSB8wMS=#vUnsYNlvc<6uV9_O#qK1wSV1Am1p-&Y zY7#>XQep@nqSf$4((X>!uo}D5&NLshS%_z;mN<4C4fJ~ZO{8Ii(6RfkfLTi+ z_^sMuj&3tkCAOQfxg1uQ602+@WUC&R0K)buxg7B9C55Ny1j8Bcn7kP)kvD^}S`kx@ zFQ*iuQ`Oc-?$G&@+7TFcH(>-{XQ?GNx(>BL@ygHWKaWQyY@kSF$^b%A1e_7yB>GD! z0*H{A31ondL15by0o&|FBaK9F$}>4dz&F0uP7%PFbpfS5%PBKO2Ac;+`*+{W2`b`* zM|`eMB)(cviNt!qXo5&>S6-$GZ$eIK{zS3k_`KlpvV3rB*?Y@V1h6HOpUYnW>iO<15y*e0ymQ>7Jk zmiAsWUK;GMl{l!b=)2Sv8Ef^B<<4vxp0HI1vaglvrp#EQ9uAUMjJc+JtxOTz&9g{2 zg~OuUtv-fFJ<%}8RZG1aU6(sgCa=EzzjgP%qoXxFx~3n8Hpj>uK?OW?sAWPh#t?%< zRdNV3jRu#;2JTtgsj*u$MvE)$7PaoQs@Y2YfuY_w^AF?}jW03ao>*^!1R#zpT8bo_ zING~f=A}L0KfW(~xDVi++s!xmm}j74W+ADXKM4Y?xZ1UKmr+!)gL(sTyHq{BSAA@L z2KobDXFF|ezpCxgCpXA6b4=w!sVhq?)iDGKh538)2u-qBeFhp`E)*-@PeEl$#yHKM=xff#+zDLT% zuGgmAazD*)jFN~uHvB#aHyrhA!j(RuC1|=uxUZp>`{LRA5N;$2nQb1=VV`XX_cfM= z>L+&^!u^SzhHzi^X+yZ&LAWRI+k^k((Fpe#e#<~Vdz5fn4bKTTYQI0iJ&EPk-+K>) z`-jGIpM5`s`>-sR^H3gwFAbzekrs9KXOUQV%lnO2@epoQeDBZc4mRDh>?QzaP)W|v#3ZWH30;ro_sx_8q zd+8+vprk0dXS!W32NUICD3Ae!(M%B!82v(i%CR4j&ILd8@V^6k^x`f?o;5-}kuvIp zF7(h(U}TC8Yj|>Uz(N)4{9H7v>1R1xmUN@<;jl_rh*89LA0bXKmF8L~v#*L;`j8A* zrCX4_Iw3X@&~`z73$!?3@(&8Qgux^5v8b~30Dx>glM-f!trvCO?FEpD2f>;Yv_dSQ zNW5_jtVWa(N+m|>ptFof5djm_6h#Qp0!||gZ4sxbg^be#jL8@w@m4!@M6wKU7_seY zZ6AyGw#i|NvNJ`L1IBQgAcL!Wa9FytA!0gUW@4EOmbq9R{Nq$+GfgrFfxQF&>_*wsmNgkSa$iX3k{xPgj3@ibx2t>KiWaOg z!3K|uIMH=I<6nBTCNjZP-EC$H`5iRK(xW!M4vj9;BGZM%qgn z9l;df;j|DkhSSSL4c$*&D7Tnp03h)ANRXsDJQ_lZkK=Ei|48?S6O9f%N5=Octtgd< zY;djj+(*05Tc13E7KFH-GtuxST?S33==KFHwR~eGMH8ADbhDlVZ8U9~q)6|-UUkkL z`ZN<_9y~0X9z^*WMTwi#)370?^VK`Qf*eWyePbcZEn?kcwDM4M;CygY2vD%=IKp+n z#ul_GarFawC-7mg`DD!m4OqPo6SO4yDrVy}vg>(d35f_MC{tgU1DKTbW5R2UJ0+h;97{h>Sb)-KI2@BR~VUrv6N~RnsKY%{EEFZ{_EeB+~DUjb&59oAZz8N*>c7Nh7A(X-rC3d(ZNZd_IU1R+~hg9fM#dweipB9~>W2o*iOt*u52e9l8J( zqlN+H8)hOHR*`3iGKc`lU74%!v5IFA5F1x$*!ncWU}a~+>fZkuI6x4QT^6hry!m!| zNI#t{d;uhr-v)ke)%*#}1jdf)JRvRFYfDogp=HF_ffo?sk4>DDvC*OYW75!WsQI?j#^7>u@$2tY2=ZSXF0?^1t19b4D&hB8M*2WSqaxM zXsG~Z2rjZl5W5Oa;ed5Ip5@WM?4@)(2S&A-DSQiqel4>jWq1d4CpeVU8D@GK7Jdlu zd)4m|vDd5qEq}2MI^1m8GexypxF=ON0Bo1*c>u;KV|Ak*OmmPq(hkSWk4$H z+qY&N^YlQF=mVKM@U_U(BVwQ!zYCv`S02hRM04yF!-}J$R6i+C&$s&B?kk-i7KN^) z49pwi`crEKcX-P*W5oxxN+ToWL6iJrLM2l&?8PT(;N+?OJaDmPR5S4O38vrrQm5!G zX^JDM4wh(lz5)moe-ihg3~IYSJdV5zF@_r8(U7_*xGS&y#+xh5lyAP-O5ejqNpeU4 zu$b}=JpId=Ye11ka~?Q(zeUX%gq>2-uqP==K{#;Y%KVDOuAiuaPDDg}${}W|w}~xC zt?bLHit0^RNSzQU@&XNc_$3}PWMugnJ3f_3^SV{Zk)1V~xXl^$i;l^3I^S93h{?`> zP!u0O=>AX&Z0x{_rx-zT;emZ2L}4H0#Nhl5DF0}(pv3wRXlgu|J?c=hAc>agBH4C} zKu$ta6&bY|m$dt;>A#^?4d%?)k95Dn*aVgM0aFF>#iOZ$D0NJ#pnvj6se=5F`H#}j z%4iZro|r1=VonvbJ5Lq#_A$||D-OJ*|7g*zZ)J5yEBtZMtt@Sbj1l3=dD~sGaN{_~ z;;4mtx=JONS1|X8k**xu4MY4OB3&Z^G^BLjNY|D7M7j>?;4r2oE4tz&1Fv`TsEEFM z_IInBGX&*=efvj_bd8+}&~|X}$dRsCuVX{u5hGpQz>||kq-*%TG(D3y=P1{e(dXWK zxc)oGh3mU^b&Rg&`$z)D?Q{E?gCBJ7w?4t~7LY-)`e?GH^2d?^*h!63G#e!uE0a6Q)6qsB; zI-!1aQk*a=Sme~B#8TBXXEhzvZ2}tgA0KdC=@h6R@iH4yqey-f{w5*2u=D{&{lR9R zyZOZ2nyNEfcl56|I%mVzo0FRR`jZ%~R5Ky&PB^LAz4~6wj6!J}+ZE(g& zC6KY(CD!W_sOY%_0WR$itfUX%ZWz)zU!h52Js}oVK#%c6=h#d$Z$h{1^I<3rH>;uS zCM^?Fh|MV7qHH$72y`SumppQGMj}3Y#b$RM*_87Xv*EqMa>7nO4W~it?n!JZdDo$% zq$vOvVBq@0)<;Q4HZMjt4vk1{L<`0{=_M9H7d7)wE$9H?E0WTqtk_UtS4D$cqM$7w zBFiZ^(Dwphv3ZG%Nj3%fdRkLbv)s`v2(noq%7I+gXG#S&pb#ie8i0U62OHfG;s!1l z26AD+H;^j_l?c*p`iWBu5nD`bfdt86rf}?ioJd>~BySlS6QiU=E$PilyuscXZ>HiY z`U!p=uAFpb-Pz!#q@PUR!llZOO|W`$a?*xJ{Bg@E7ahoY9>`@XA_BRF$7kD6mCxZ`1)~$= zxORFBH~4c;KJ{%qP;r6CEhTEIw7;bNxW4OI(j^Q>v zl0(Q3^EWdqgXS72;LOHxg+Pu0OQOYep2iRdPPd%-*~gbDjR)fhW;o!+h%~UP+d7BY z#V9Q~O3?q1{6`77!S!bxU&V50oS58njxowd9M@VC$0cKPsynMVhJyuIfO=$aQ{aas zOZpke+?!=G;HTJk6YF~@qfr{ijtg#%5yy2JYeV=Nb@^N#?1YAFbLje2Mk%2Ie>*-u zFUp%dZv0#nUXS69pY8PHJ}VEAEd0Sn=?~^9hk@AM)a<#`8wea9%Q{4~z>$?$n6tOa z4aljhoI5JdxZ~Py&gLF4`zQbO%qV`z{rat5cc49^AG<%@P~VgBuSh?5=4k6<$wZt% z$^DsR_d&&X*8b-=t9#%0^4|q2D32%I3iYZ}cK$@M#5z^TiacFF)?iMfJjL0y)hS30PfKP{51Ly>6 zt3prbnWB%Kp?CqX4$P{hxZ)=7ZEZkzcrdv6GMXc4-` zvU0Xi)b0NX-sEPl6~$<_`ZHz!0>HbEPk+HC41hc!H{JWhoUIVbdela=L*5(x$bZ~@ znxVyc`m+e7o{MMvT=xd`-+dQ@y$v1f)E*oXL}imo08iQed^ZA@_QCseX+KMU8khEw zF70fkKogMa(Sr-uv=I@sP`k7*98!nT7w1}C+FAN?vE-b|ABX!o>kg8(`?Cy2Y&H|U)Sc>7y~9W{I{4(e1i96N2N5I3bF!e6JI+6@ zbzh&9JJJJljf`hp*V%_aAMb=MJFrKqQ5#a85%W=Gy2SOX)+%-YK)x}#Wl~LQB*Q8j z7&4IfT7Z(Ym>nJ1DfAMbX*sYPqjiQTEf_2U!bk`9v(?L<&cy_d!w9(q5Yzx1*!>O* zI0{FcTXT#9`&p=uaWF%3pkJd~^|n|=N@5$BRpb|6DbLQBQ3b&xQ}qG@RXAuI2`E-w z=;F?dBO>)qAB1=My?=rnHUff|Oa8)6$s%)yyf@wz{vjL&?{tul$2Y_L&$5Yu2OB9) zfpJpxnmZ^fV((Xe$8{Rz;d0c_#46V{ zO*|_%iDsVjM>?Q(cya(K+jun{u#XujwKi`VFHaL6Dx6#Fgi~BP*yP)Z2u{mnF~Q-@ zA={$tOFBT$lWVO-0T+(la@C(Qx+y5(DSDbZtf}JDod5jnpx~EIH&yLQf?& zn@(Mg&kDd*0ZTy8pmn!$7t2iQ&_mrtUInSwUF1G=XS>J(pOBckIBB|=zEw_MQnsF_ z-wMBu=o`_Gc5%{lk0%_~g0PN^V)~Y&NO0mjHkN&NCe_CN(l`Zy(BHyHKfMLo#|5n+-jAwbFC5%Hu;AG4|OHcUtIVXx<6B1Geq`jg|Af&1rZke zjMo=aDC~#4ekNt)`VOz3pOt>^!&Ol}6$hek`gB{bdpsXF4vL?v1Q79KvMqjw_y+OA zDZBpQ_Q44*6V8DqzBCdfu&3{f>$9nexHgYD#(ZWzx8C#$Sc#(L>?-F}9b5GARP+fr z$!QJ{Cv^3=2A@o&c0uxKWXZMTORc9;96(!M@x=4fB@mXg2yo4r~6mXv~(Dif)xaH&Mnay`LntJF@QI92pQr5c)?7NC(6SVcR zNl8Yd08M_c=|%#2;@kbG&iZA75|fe%8@pjMqQ%=ShR3=AS6C*qN9lnCk6;)qFgMK_vRc~##1ICBQpfX+#H z?bGFxPK7}VuU#z(_r*NuVa8@OJB64ez_5{EC$JSemd`%l^c8%DaZotm&L6O*%Lc{d zj+}gcx_l~>luge=XX!9>_B>DH9%m=*CTHq!{uy;^V{a=joVMKe*u<(1mCkkpFyJe7r{b;#Bj zcJ4z+TCas9@-OG*^^_6>o10lkqHH_plQbZz0p&0WN%0dx(z*m=$RR5f9Z5n`Rtf|; zb!@lp7+{uIENUT%J~W*Q!6g7tNLp8(hz6|-tBx+#LQ+c~kfEy&)LrC0BnZ0*D@{mD zLQ>=bNnc2sn1!TaEhHg8B_U~;g{1T46ADSY z3Q5@6$4F$fg`}mBbj9nZynbeO)$6Cdet!12*Uum%JsCn0qJ%=ymOqmzhixPwi67XX zch3^*$j=bXh93gg{VArGNM<-HFNVByCX87;zK$c-4rJ2GNop7~D`xlro+?YFqxS2^ zK-K*9W#z2)YbBNW>q|;a?bkEVJb&%7gOQdrqPYyIUo`8o)8M%x*u_|FlpfaHAqZf~ z$J*tMmPA0bJeQOwC*M^7+(_ktuAGMKlG{g^O65^tqCD*1gA;Rkz*Q!jcgbmk9ExHb z2Nv0Ri`3feMgr2B3E+4Ojp0prO;jlZl zNKxuOo)=_99_5F}Uz|-Zz^ftKdHblSi;c4^Mo!UY9ahYl*=SJH?yR4{jD(&c=J>I+ zF4K~1C6@LQKEVndHT&h&8ql;t&sY^g(20R6ukJ?!2s+`adiBNG>;j^_fHq$!1JH%$ z5px+$7U*d?OIbwLlJKyWM8B8{JF~|Uz-w8UBr^@dI9eQdW%OhcYc38P3#h0QLegX9 zl^S503~@5INnvVV*^dSgClTxS%PS#HUJif}SJM|RA8lUQ455r~N6wQ)!R$hLO$Aqp zj2U+!kNgEdn_dF0$jQDrPb-o}+j#aw1tlLH%t>|)I(#3#z#@(j1LGfC7LmKPLtV%1as#-6+P|K) zNHxLMVH5K^ABOM)&st?IMASLQTzoP_opp^w5UirkMV`hziEkBk&e!*6`05k&&1obW z*;1BIxCAy>VF)f<)S?cT!N!uP!(A=va0waJq7E0esKX_*EQva<>q*pEw|gV3lXF{N zcx{~}CjASYvZ&Znxc4R(Txy$gK7EB39z@Ero=m*`g?t7CfZ)MLB^Ji&&!q^ec0Pl- zH4_^oR?6DuYQ5^O?(V@$B7hmpM)Xzw@EYTI$c7p5C`w1kex~?E5{)xqg*@xmk=BB; z;84l(cs7|SQo1D$d}--D%huCT+73VY^y=|zIh+~>gAh?!6=N{oZT>d$h;4P z6%w|T^FAz&dC=9_uz4=zeF#7y#6@~T#KVl3$ulZN33xai*iK^*3(-9POwpmzBDide zbf+Qiuut5gKuYOP9|rp8Z$>40cLH*k+- z?%NddI1MSzUQ8Nlf%IR ztsD+pr5+wyzO$GK{!~Nuhq!3IQ$5bYJIEO=YIM@EbayVQpS93ry0UYs#6}_xT z!Lx^53#XBYHn^De4>rvgb2zws`!*=!AciuO@g>c(B95Ugy8lDsGksJ<>PPixKaHzlc9tiinl_YbmA2W~PF+d+ z#Kf2EP-LFN!Em=MQFpVvhDsBSSWqL1p2fAz3}3c-@03?zGfO!fqG*WgXen0EX4y2| zihhO>;4zh?RdHyg`1 zES}EUJ{o=WwLY&DPY93{pF_O05KoBir6ew4k-nkdO5Z@_rdq`a2wT{)Vx7L>5M-op z2+(#BlFW;NgN~q;D@TAkHn+sFz*!O(FGCRty3#unE>lCfoRnTm^E^`oGCy&Nf%IM`B$`gZ*R3}(_~F}dR%f@A8-#`Fs;g6} z&zc%ZcXpA>87?}%5#f~BTY3Gge^Nq+3zqThN8IB-`cq)KV-xtXfAzfS zEsizQw6sopkS)y~4UV1(Qy8OT%HfWa$TJT^gQ%iBXNp?JkET)GP~}J7s`te zIB*Ct&haK}h@!4>D|RiVb%@L7*xlhF?C`mOC<;e^$n7w_o?r2EokS0s21(Do48}yj z7$Y7{4pKG@a}dCQkD~89=sTwq(Q?Y{Al~wHeprMZMbfC+9WNo4zA4$e7kGuv^pO(43YXx5wC$ zxS%iLf*!MBt7fY#CjoY5EX^2)FBTa_P?|eMP$VQ$b8zNDZw82N98qN1KEM~Y%L^2C zRxs_D3%%Kex^IjfHo?3ATxc>oJW{vTSVif{|4h89A-P*=vQSL(E*bU!TQvfHTF>v@;+?j{%IYy!ykN`%9IR;T~=H=-LskF z(>f$L(n5mLpGxL&a)9tV7AzL;oYtXEOu%YqS_c<6`I>1R$c18B2NoP^^`>W;-;vd! zTr+T;ZA-;G*uNq@OObR_CHd3Z-`diDCj!8^QueK!^R@)z>kFmul{Kkzom zq}9D&?`D9L)LMP>*FAR$$rW}q&kljdwHUyt*TlT1GzH1b7lFujw6j|j)i0c!JmOGs zZg&f2biipk-x8UWDd)6d3h2U_GB6koa7;c4SVN^B^pC#sB0PuyTqwe*qOhiPvuGcg zAo|scJFg45CHfv^8=kW9jOW)HQ1aw7($C|u?lhZNhC4hAci6Nm=r`*P{HmufA(j zB03345rTLw^AUhi4YLrR((UIY#$=|2BPtx$i7kkHFh4>NseA)Ga*JVCtuW=b_>FF7 ziR>eZ&<DSd`-^p{ccbb|I|_p-A;v&A{7}M{3U~(c z;5_q%8?jj9Z%v&zu4uF+H$2>Vm=m^24~Bbx=`coL8g#mmKBNzL43x~{4>0#dV1duT ztk#!1=D%1**x|vKzHlT129{Vzwh2g4+;@7hYhHZg3oFdqZ+^i@Qik6MM6|k^2O@~k zjmn{-g31L*hW3d&kp>Kjk^mq$u6j2^z=o27P>8*XR2Gtu5A;cbrve_MA$d#1M}V+> zfndW(ou@wcJ}Dc=USUvjn;6}=-6ZSvcLC{1n$A(?fM z2>vW<4akx=5}<>yQB-%+>-g$7xt{zi2wloN%&##C)6y_U3-m}kb-0Hp6g!7AUNkLN zTE)%wLF-=}e0=oU&k$}x{EZb^@X{vVt!RcM%aZS>)*RK`(duDxW{}t$#HQ7&GG_)b zJAx3*D-umNsFPBpP3aDbXg+nQ)kT*g_z7t4Ye<1#F|n}?O#XT3O3X7w3eH!_i)4cv z=-}@ajFXjr(b(-K3re{(iq0QXg=nM1z7k>h!Fn`IYLO5|Oa00Jzy^oJczC?&ZlaPz z%aXQ~VZZGI6?l*aucn#)=sz=ry|5pdDggfLY@%_;#~|%=z1e}eP~@tFMtksmO*ar*N9pyp7dn#0S*FGGATM@U6%4xu( znaRI2qN+qj9eoc(nntUk8i$(^;{#F+5-t$U_@W_iT*rr(CjTk|&jD=8)3mE!jQ*3R zwIyf}rY7+)nzn{KW^1(P0v=~%#m{)gh;U@Hk0=Eua@*FXM6^Bn51W>QvX6l=01e;* zT9SqV^ET1JoxRa_Hnlsz#q<&`K1<2!&3^%0;GN}X^0UrMJrr7aIZVaS*U%G>$Dl*{ zi^|{u#5+#27((N6=`Ga6N6wG_S~pEjbi*zHM3dt*F^15Kg~TujoBWRwtdGU|clK3Ik=+ikLe2|#4Q;2}VY-E=kicc}L~k&NrB zrDKr}jevAhOtMP8U_2oClGs-)2mK0^z} z5YRM}Zt`z>>TfZY9CQug$_82b(%Wx&C=|~+@hqUSkV6$cX=u(fkA1^;ge(r}b-)53 zh_5cqM9pB%=jsxcdw@^#R(2!RXSByB6C%b6LLzgy%~KZeVbp9)RXlnEACte1F*g{C zS6F`K09+07A`hJ*AmY0`RpQ1(4b%z_YEeFxm{GY5z^U^{9h3jIe`x5I9J&w1iV~E@Kn1r6%5gxy z)!U!^jW90o3R}egOWwPHS$39nzH9AWU0vO~I$1rGP?A!1l{F6=Q<3tVKG4bZob=WP zT8zgyW;~ha;0%tOkx7T6Xz*~(j1K{V1_&6C9OGp$Lbyk6iNHvJ01ANtL2f1^O1K*2 z7C;aY$@%^N@ArLc?OnU7tJ~l(&orU-x_p=Sd++c2T~-%a=2>grq|3}T3(Zyha<0qm z(2mXnU%xJ77+=3h;Sd7Jb=CZaB(5@xAgs-G7C`t_PXY`8P{Ch=t&%wEL zoGp9*bE#Ey)l3chH~NN~`WaS(AKO|dsjRGEo3Ehl;U}T7`PyFoyaF{OK9p26e}gM0 zD1vIu& zPtan#d`a^*Olz2$zk{V^^?1uZC63R?FTP>Dq0&@AW4};ePqBnk|C*Zr2#jEN&~R;i z5LCF~ukXFD88s2};RW37&ANP6TXg#y=C--<=Qxm>wwrItLoh%5BB6a(6wRR05UbTz zzSZNpD}`tm3mjHnZuk|`ukX}c-sW}pNY7YFatU)Z9(pSi8 zvgU`IrMM9-`DmKod*hz3Q0^m2qMkRPvdk=TrTwf27lIVd$eeksO8?AEqu%j@XTp4m z?@pVLFBwh~@^@N{78p9*30>t@u=Qb*NwY|Tnn@-V=dn1XZaFlnPx5GkD2d5+{(Ne` z@Tw@KR*a}>@WkXLZIYn^b6^y7_KvFd2sZ~?|BNCFyxNee1KHX;pf;x9mbq5HOn~%{ zs+EvCi5GH5dHyh1i{6Q@XdOCh@rtL0pYqz!Dafx2WJJE?|}{v z+>MuUy9@)c_S!HCHbW)8Hqoeyf(;dqQbI_yHA$mW9_y^(9FE}_YW*46ukbD1PLF~2 zUBGYb7d27Dwe`L1`hzFLkOZYDdAknEN5j4&4)TacvAlZNypuyWLTE9%XcMpzY7E+q z6rEV(u5*Q?!sp`jk!F`RNFlr$b3eZFcaUfW4`599XdHZdyBS0Ap|93$O;`L{)_;>b&Iqip)k@1m47wiQPc38>6PJl~)K3;V6ldd=nDFDgbR)mSxu)|aWUpBqlu zsHd(e#+**5_CKvdE1?vN>#Y-U(2bmkW9fuwTr4&3#KDvm>Or$7vg_+%=T-NU{7GL+ z@OUm73QyU!w8BvRR`4p9$Bijc=lU5->M3FAD4?bu<=NhEv5(GIUmAXI5GM(vXYc2L z{eBdM8+%!kY!q!<#+Ab@fO+|stLC|!P^tECc>ZlEyuGbNu-B^QD%_~?<=2_Duo*D3 z4TY|(RjTn)m<8#6+lORBf34>1=P-*~0b9TVa%K7&(_gNb#N=f8k7sGp!qZ{^Y-V)E#n8qsxFaFM@djL7!;lzOek3T%p7to|DWy z8x1937yC!W>x@|hxLuR!(pcR1aZ))BNvuB@@nzO_b}l)Pu19$__!;HMH>~GV4_1T= z&96|B0%(Z$`@0&xk)Uyp-m*5-k#xXfcNZx%fHj{^h|Bj$^V;RQF^!S{xQuc}-iU0Z z1vslXgf5)K@n&;x-m!P*lJRwK3zbo2uTMZ$%{LUyeB;jE_*uQ?K9y2`#!PloTv}QZ zih-n#QkKRrRYtul>w|L$rN)6W`t7;k0+~E9ug#r29EXI%z`zK;itH}!FtxheI~tUM zh)UOxp&gAzd2JGe_XCW|4m6$0RJ&q+Pf42*|_gp&s$}uoy>% zC9Yan%!nSvkcSDl;aWAUqD+3m-LTJ}i@M-=gsH4M7f~4e4KYe%kq*zP9*Bt>oOU#D z<(eArhIOai)Nij&H}$jICpS^O(z;G=VoyN6l&}8G8R4=4$e2r!Z-MD;-0*#Ft($9Q zwIn>MqvuHt|HMxH(VH5iM$TuIc#oJaQeWt$h31-hi#ED4HG9=;Bb~q}2a(KiN4th{ z?kDBkSBe6CsMeK`iR6mJdaJGTlMqnbfn;i1>-=wuHJELiFbU7;F;Y|uZ9NA|M@B@M zxwsPo+B@fMdDr}ZU^*1d&lM!@q#T7y7-vBlE@+lrk_nU&Ldz!EEfHp=*XEkn7xX60 z_M5HIDI;o~O;HSG(mdUc6gM^?jYPLrRvWs8u8Y#;5Jtr6drpOEQ_+NhS0tlv1(0 zq&-VWn0087U};__-zewEiAr=YZ%gl+*YBq8su_UNpp<){Jay}rOCxJG%T8F}b$0=)c zHNUSMvC#w8Iq6LevM#ryF9LL8C`(?1I;NR<>GweeNMw}HoO1#Zz9xZ~nDhfJla?7Q z0z^eb3K{{Q!wVzplv#1HNJpFAv<{L1)lyx;AwX2sz=id)zPs?fxvWU z!zkd{F#QJP)BP68;o!aiSeh5|C;EO=p-~aE9h}uHTo^RQCuL*Oh(X{{>!x5P&?<^0 z_P*vG(sN*_=s8VEqCu2`LRS&LOMX*k+tK{8X1A;l5tOXFEYgdfxfguMH)j(+JQSji z8PXGHOte3CyH;f zMQ>PoQ8~!i&JLa|3?fRg=0;|MhjnuU9!c|3#3B@A(kTDFWM)cCFOw~UV*}Sasz&tv z1OKkc4bsAK9HJ1lUVh_QDi?y!nV5k{V(XI1e|}w3q}^drWVIR}Q80|b3xg3V07Vlq zOr%WTp-G4<{|fnLG*VoCKyascoSy^n!zU7ScP2kd&1sTiymCqN0tM=$^ove7oOA-H znQL0q|9LWiCFM%d4LP+DiqiQy7y${RHKsUOLa(G?AIWT%RO-u6u4+A^XyR9uq@&-{NC^VDARdPEoNn}Vk1nS9ij2bfqGO+}vBi&uf=Or4#U{=i1a5T|53 z%}peF{^&{Q2|Ut1nvtinV?TLDenyVXS91yg6S>bT?UnIPXc(&uGw@e%bS6~B%`K;F zS2t^fN*duBFCmO8W{C|7BJi$SYY9WOB;=wBq+I}-@FU&?FM^3QVT-g1?QhilNsu#s zDyfs#gdX(_Zgh=TZdH~LPeSu}QR4;p5T270dXk1a&DCGiW7=wRuD%uWZC$Cz<0Y@C z&75{QuL$r$^QuD2PHI^KIFVkCHWSewSBO5dO;o-aMr8Mew4WF}-4H+1C*1XPyK|5U zy#Uief#xH1bF(!|JZk<9kxjjxbR=&mBe{P8aEdrmt}#t-X}z;$!QGDpo@qzI&E!Z{ z!+ghBGWSiyNH8HSFy7UAJA=p}jeEL$i|-kHEAD@K;n~__2|^dkU$9v>pVt~a^Y!4D z3cGGI&;WZ2z!HAx4>YzU!Q!kxbImOa$$~*$St~spF#6iFP2EnT`?E)h&P>ta-zQ8WPpqH|b?HgcSRE2Ag!W?VqiNpF`M-~8pRO_rN6tq@KqCLHc%qi4O}kAIVG(|HJ;|&Zq5rY+KiUm7kNpzaELFFK33kzPhBNvLz_VB1{0ODCLOy%}2ZLv&KK1| z@m}*e4(^O{d;K$sz!h`TjtGPhgau!iYQ}6N)dcxatSJK25?T}#yumXa6-4~kiK#{M z2np8YYS<*47>^z^==j-D#yMW-NJC)X`glCL^pew`5&gqe;jTL)`m|n{A5tI13T$A> zpwCDhZXgH_7h_^&)O?u*$(mPsrlz`{Al|7Y>_dL2vmSS&Vb#$(n^E#`ygQbb^f{iNAvEkP=*e|(!v9;TmVU^m+^Ifl@~j~ z^U4Orb6#@K`h}{qeu0OZPzbfR4UIHBUMn3iH+XKp-k%gfng7wL#9riQ!a~!FLwKvlP>dsl>nXkFm&tZb%8^(g1>4epG;Y?rTC9gl@YTK8 z3W25t$L_Qm{A}^312G^yVWid5;k*}r1i+_~n=HxfXls~9UK^!mx@=0eHIbBT*$e3#(56KYnhTESS#DwppLq*z&;T zyoypng0J}XBw{SYf&eAk+iI}VUT8X!G!N-IQGeMByzv#Q;3RYh$yu4KO@5%7@~=<^ z{iDNp(lW%`o&tvpt1NA`SWBp+frfeIA@`%G$ss;Nn7_|E{%p2;3aF2fOY4E?M3t|h ze=P>1#}%R`Ug}bYmDbX;yKBW!E;Hf-alB%UiYoujp4f&Uuw1SAv$F~e+T@T{%64E- zw_Yjhl|g7F)mx(H=Fi3CYDcQ-qw|`iG5E8( zFlf>5c{&o!hfdQ56L8r(8usPxx}A|6FR#^?4eQ4>f8kSsSfj&!hVm%IJ3M4get}^| z{G)|D=T*w3qW%`fdpVt8AvNxdwf36M<0$|9n8W@t zgk)2R0y}Vaeei0 z9gr?gBWWkV%Sa|vF#Prjm>ex)&GJdEJL=_A3(a3nXM`^?HJ zDHbyqfqGHk)E68v)Nq1R5+^7#IGvOW~~5;`Yxp-O`4o!{gns7lQ>pNF)QKprVT zc6$tNhL~gr*u!e-!aUFAiTs4D7EZDrM_!!xLOQ`0s!hC=Z`dHe6I0&hFe#XFTsOak zFPSj=!#e|Avh7`LF%~(PFQ2B;pR~rLE6=BhbFnl^>syk4zAJR+ME*J9Be6}UY0?!8 zDbGw!4Qb8EeaMir3ZeK=TC(S;Jmuzdn8I-40SZp804RZnAg1|2*Sv_B+%Mw}o2_c7 z2I_D%*Ze6qUwL)Em}@>H6`88}y&f#agrQKFWXQgD42U@Hi-}4lO9g-Pm21VPwvxrt z1ccwQNbqTf`+UXe!A=)>MH7{7}rZQ#*l-YFu&fMGS-Mw5n&Wd3%brH z8Vmm~<&JBt8u*tMu=2X3AmF&5rurkUN#hjil-$s-b`kc%g{THU-7>kHXGuyZT$PN- zhkTxgNQk&r>(A4S24k((LLC^Aa-PGF7e<-3fV5kcH6j&;4G?Hj4x3-u&;=zqS@zjIzD-yr1m7%rWj_;f(^2SyyyZOqXCptmUcmX46I1!Y|T%~Ch z2Ro)^FRchnrVbD%_uxBg#VHAaQxAEp}u7NpZ;qkV3eFp2^c-65$>lFFg_86R*sDi@D&an2jiPFbQ72L!{U&a(gP`; zZ~STQf$%6&Jabxh!ydyeJ&e7(((N)Twgl=ABcjjd8}d!7=IeO3quwLvaC}FlgkAEX z&> zMYNak!g8mLp2yYVg)GnJ=eV;@7o$jFc%7$0_qgVjB#T+qj&vaq<(>UzJXGynwG`En#p@~3 zXPiAbH5+*#g46Oa@@CCpzR~y;p!dK&e~75_!2`la$_w~2HX8kgQZD+{pCw7=8|M|5 z9`HQ3dM+<+0D^o29CAiz?eFbVdJovD3kcZQWvl+UiJi5)1Bd#v(0o`H$veGV;P>io zlFl>}el3+g1`(ENUgKpc#Wn{6Be6a%0HqQZtsGbqX3(0>#{eW7h;~COLJ|;!;^ry0 zN+I?McudDFh=1ud>b@*w>9T}uFAp;u7 ziXwkMQ8Zjp``PV4%7VM=@n1?v=nz)Z!!^SMoWt1Gog4)^%c}O*_lFgGZ&&e2$AKO+ zf;66V9LP8-z%E#=;^L@i&x7ORd3`F#S9{CVey)mg+Pq|Zd7i<=%f?z3JXi$ySFl8D9f!VV!c7`)J zrK*4ZrEb+X&yGH$TN(W9QC%55@`%tmOklDL_*g;?HZwUIs)JuDmm|k)6GOtJfkE1~ zZs&qMgM1Fc!?UBMn>5=6U8?;=H9jj#P%Bf&lm z;IKK^DtYk7DOTHM1x@G}*b2s7MxRzjrp$97&p(N3e{4?JP4-KQWJ8O*6A zqJhcB%uJ58?7V6pi!5aDQaAY%v#2-`B+4|X1?{=> zO@!EJ1E>`!=`!vSDQ^5^UE_^%Loh=`7*01+Qgoa)N74|}QLa-^>=09ro2Q~!{7%-? zSDb4wjAq=&T=TS41eN0_{wvKD(?evmkXW6KS7$}`7h2{L7u4pSQ zdtx z&9r@cVbu%1lsW?wr;<8LP1y`%*sQ*j2x?|*kA|4_x_w(JobVHmGE`<@o56x@0WTQZ zG;0d_K#3_}{uAeIx(NEuY$*8*4Itk26%t5;!=CwcG`@4MPBiwLkvT$}qG@Mcf0jk~ z(#CT4y;Yz8xKOFm*3%>UM1`PcU{V?9UG?Ku-A=0h3{_8+kBGtD45^pK&Fc@((dQtj2*z+o&jTGz(zxAa*BRaqg5Ld z^wtB{G^!@R(Wbf`2AhOnsc;Ng&Gku$O{XA!fS8gd#>2WBPb`DSn!8%xf(E@>vFXrN zaFDJJHCM~o(AG~?hP?W<8=JG$@esrQ&oUX6GRk@1w21kT+5xp3%RB8!gaDj^FGbwz}FE} zFd_DyUNnMXEl#177y_@sT6mrFTBKKoz7WIaE{W!Hk!n5ibF=VL=egdH@LSQLOSv9L zM1TrS95}tcrNO`-pwLeg1s0qMW6zBR#sW{O`0V3*kTb=--3w^X@=1gr(0paoJ z=oF>zu$k51ODRqRp}U?>%S2`6`U+WJ@XDtf#YB7!OKt?; zSJb@dB0o;;dvQA@1s#7VrJ?d?0XJQ4rY`k|8oVjv*NqC7qMC3V);0mva}%DQ*;E{s8$m7X)QFlR9HX9!9n#R?p0+uC zZwIId$8v*+xXTI*uNS2WcOfG{;f<&f<3O3Pl2giUJ!);(6Bzc5^r4FCTga}WKYp^& z;xn~5RG8&nH^kw-8aj$rCHJ_fu*ff%*xMLafo{J#tWb+`g@TKTf{F#4VyWqI55k55 zmmQ8a>ASSKjtIy|t-~$EUOsis@KQ+6fm>}cnuo$MLKPYYdlF+uwW=EeHWgu`=0o)j zxH5`#MF|?R5ef#N$T`*d*{En;DImV7A4X-fV^lW6sEop>tn-6D7=}9M2Mk3#u>$nm zt&e-h!|Jc3TZLSN7y{Tf08fyQGXf3;Twi}y!sq4yK-Y>#wZ0mnOFEZW>yL&S?xH9;|kU1B02Y?)i!Ah=K*Wji)r?ce3$cp4)c{qj>i%9Urx+5zTwlo@$;PxOi3_o zV#>^d+mupN#&rC`?{-slN-65uux@CC5BZfw&Ja-g*d*e`_i0YnW=c~|wK;!m{e zdc(=1RVf$wAX7OXibNC zL?#DJ$6B!z$GFdY5V(oqF}x55r)QVTA0G?0EY#4%B8&wd1v5$-X7lV1qllus0w02# zky_vku#-s|F0(`F%P(9b6)E*p4L;K^3*t&th4e=wwho%)@V86A1zr2uLdqXFAev*> z4p2;}OraYSMHP@1XRiUZAeqCuJWfxSwGlk%Axsd2hN}_UD?A*w7d-yqpLE9l4}T$0;4d>QapX z+Y`RTnrE3Jl_53KG_NB!KECoQFsN}ran?WRM`F*8E-a9KzH8VkrvBVM1nk^F)y~}} z#HC>r!r|0Pj>q z=;NKLa(tSoYj$i-ksZZdz2L53OJ;(CJJT06YAA2E9PtCbC%Kc}w`WQ3j;C!iU$UHH zM;MAQ!*u78^<6jZkGtk|`!R4~&h$KS81qRzn7dRGAIEF)fxr_J8#M5sWoLeZn1pC- zg#)FdIxtM0kSdMq`CN9!kaz~G#stAjo0Io#m2FuOXS_(qxuOK?_Oy7j>^Ba}MnN*E157~og790V6{ z;!oz{&|&aW)IF-kBDAx*Uk};Ig1JuCVM^T(yYhvwp}j-CmUkszQaN7FYX@SO6n}R; zZ{Q6QY9`T1zpV5V9ZUqBeA-#h3pI>pzcX<-4GfKKG=muF=kW;bDp*@RBdcabB4q)G z+V<#&eJVxYX3e|o)%=Cm0Br<>s9o_I^<|S#1ClA!uFtZ-?`U2j1^c=yS_O-JHs|pt z*)C!ksa(A0jv_??i^-VoLEY+#+1+&tdeItZoZw0h$>iz-#dr4~`>?YZoP}0JgNt=# z4D)Mgrf1>*m1xZ{TrjeoRjJxcb7h+BKW|uOZQ!a|XWL}HR%LH1xZyJ(0~Hgz{qIXS zQ+QCi8GS7Qq9jqNGze(dh32kJ0I^5PC8D{I8t^HK@Z1&H4A#7PKOYTL@=iJQ!M`g~ zRC-dxYX{stS^vv{{%ozL<)`t|Pdy0^?t}PrV;CI!x}e|0fZqO3>Vdo{E%z;%`s0Wd z+3n*YR{8h{FT1On8fi^nq9Uu!d=vJM4mQzu{EUE~ zpJT8mKe3P#jtmdL+RsB9hRv5h0HRxeK%Ouwu9XA0`6=eezT+jZrThVZ3P<_{lnR%i zf2>OX&h3keSa>t0ugsYJ=5+_@ju&P=Uzz#jWdJol3qTF>8+;l4=#LI3z9h?4P!Gyr z@k6fseJWP8g&$)+p>;_ub!k0`tea&Cx}GlKAE|YpKv9GhEJ#?Bl}0=ztl>2>L~RyG z>o{0-Vo~uQtqAEKwVd(?vl}b={Y~UlAgyJQWe%efy2BEeqydx?Y0{q_A}sVEyQtfh zSnSZmIUGxdxrATj8Y=3=t*+!- zqrZ7;ip?gLn)EDN32MU{J$eZXL+v7j!K>*O11>L_eM@#*rjSGLqMlHY>Lvxg0yMIz zfwZ0Q)a1YdJSiCjo}^j9Q;JEg?QAFL3NkYMDq%``hrLWO!R#srl2&!e88)Lpk4qU zAabMC$a#&ZIi=CQee2>_4vDDxZjW|CEi_lxC=d4bUdyzW+(hXTZa-5uF9D$Su{SND zVkq4_+bU$;dc<0!xsBPvXy^U1hbxNzZXy+;R-C`*3UxDVZg4&z-TXc+>x+hakRSfw zxW0xUGJ4mu=Jk}0Z6eZI(RE(m7BL~Rz5&gwxG=aD4s0B`eQKDWE+Po%qQ`yPD*{fvGy843Kq%Rf%I}`fCD+O>|@H(2;;@5Qa#jw>ENy?S` z@a6lM5~RuntD5}x<^aOK?<@XV?GPGS$-bm~6FjWXCezu-y?aLbq-Rn1E^kU&@WonH zoJMEeFRfk=^(2x5AjKc};{jmkF0a(?b}uEgAPHpMI103C-U}o?FfaMDmJ`5vWLXVf zs$2Za_gX4VY0AE7{sg6j+c$^j*}Tyqg`6O1RgauP(IHRMZ09gxgXB%{)WXH0)a?58I`1sxdr`{&7?n7fSQ$`_F&N&=KG+B z3Hjk~rncq%X{^qOG6W^ac}5RXj3)EN(E}>Ec<~$Psn#7_PZNOh*T$dtj@VP6%yH~V zNe3fwKea98;RW>4@RsmEW3@Bspu{?6ZhXy9TBUo!-9-iO1qc`5Ewp8ia(Lo|$ z6&TpZ$#@;G+FIE5yD*1Ji-oHf$Dh)!4_hU5?=P61)#cPrC&`3n1rFJB(~RyEt@M;W zyg!gYC1CUS2J*L1tMM2996^f%q2kqD_p-Y~meoLyzlTGj`j-v+IyZ{8!Ub4r-hKuQ z*M7lO(NmX>l6BZaWWT6htH&%LHVVVCD4{BGU$ho*3!6HFmZ78Jc@A4VSC2&%0| z1H3w%2{D`%ku{rdOi*hbgNmj+r;^urUWM=HV)@=`jgse7^6Lb7Pv_<(9z3&hzgAIf z2^w6TKrZnM9V>o;862^YAEGMEa39F?;;+W0R`GQZ{+gN*Kt3QorcLA`?-Z4&_kf8r z!!!YSAJObS(=@YSO-wcK8$76>bXz@O6`%$0&F`TDLe`#k3ga5qNO^NB%sKv@U#^>1 z2w5JWv$|z~8`}-AcajmkZO1Kcp6<4L1b6h$?pGyf|F_75Jf-GVt>EGU2N6Usk-k;A zJb@OX4_hcYmhB2BmQ0tTV4Tha&+Bhwez+!22#2ywyObk_K&O_COhFOP*1l<`hX*3M0OaGQd!K-+q+%Ru^Qg0)o;E;PC+ML!~n*QrsQM`N911<43U(fLxuIxHIY4C zmqmM^_Aspjffnr{Ae;PvSNz!QmlJdjxr0cD<%%C+n`y-U?utMneHo)-wTi^veGc<-!S_~NiF#eT) z9){LdHlBeC7PQQDR@!K4Gce&C%z8fe#76+g);l-{EUxVd$m+WS(G>k2vNM2dDZ${r zoH@wm4WG;zJX8<<_nl>!Bbf3LTJjWzA|%NnnWtqj2zfJUaHMOP9{^P;StEr} zXfQe%$u>oP0Qc|%F`#u5+C}a_Fn73}Xj|c%78jteFs}6yNMU#aikn1%Eb-Alm1azt zv%aEv1#5D3$^!lRBXImKH-ET47?c%H$@-l+CKXhsfHzn%E(K22-zGo>5qb8e7e4#W%Mc!xDX@#St7p)bd(X3#EU|4h&hFr_%@b?I=Fas56I%e5sp8Cxkn$t zEbHKDeZT0lZ@6CzK+>Tjakh7ouzcXRCw(u3i@hkBGR+GDsfLZT3Gf55ArE zrpEbr`1oAO4U?nM9$y~) zlmtPmb1#$dQSq|z0Wk%QP>c%D)(u{PFDL7KUiC9thWj(gZK8&Hc0HE*ow0oU zjU9itCJb)P4=|`};T|MqdJ&%}R|XOd#yd@KQ1O`5q&q$46%)t&;b^r&mVx?0A7jHz zDJ*dF-52Y;0J;OHZB!0xdrNDWYpuXIHjIy!=`Bl-rF}Rn>a9<%Q(SnMz*~ALj=km8 z8=eU3!m7$$3r>Xss^cfA*eFg%bW>M-C&fD;dHfjENpAqV1PX-J$;qrtux)J#? zd*${V<_A$cvbIm^C8oOkWK+pWu1M3Vz+q=`m;HojziwWP(i?K?da<;FVk2xgKf_g~ zTs7yT#Q^kN9LB>#v}{bLp>{^x;g%g1a(qRnIFWib5((w9(Goveh{R8PU00G?j4P4~ z!XDJST)!Bc$MdrX$(D>(W89pd>mP-mtMTO=`&^B`273Np(UllE?)iIV9cz{@?NL^x zSs-!7T))p24cksNrJ8y5N2=mQA7v#-G{Yi*D0>a6s5j7tDf*G>cu?=r?d2og`<=A; zbr1!AUhD_ai6303S`=g5mj3wmvgSYU7s>VD((zvHSTBtqkITnvF%z$k%Nri`n32@a zWzMcci5hK)l@#HfUEkyfOQc*oqG6(YuIHxx_eDw95=Y)EUuEuT+7M;*I`JcLSfL!s5A z-9%c$ z1v?|QI{?)W4a+!Q%&C5l#RD+15vVI`ZMQAOJ6*Y?klX^A(MYLDzRZ+PSZZr@hBH;E z?0G(|!P#R0oXof$4yx&JI~3t~&;!Xqu&f5OurJ{~kHJMInVT{N!7e6u-W3z)P9U{d zEpiDE$DK}MJj<;#Mp7e)@PauQ9HAcFUt;16pk)SK!pjV6Vg7(dL)Jjer>X`?w`;$( zuXa8qBfIY)p>p=9==AXk0%0wg%`5BJP+g6$uJQE2${u+vd$eA`RsvEm<7JggK!L42 ztOebBWB)aNb=PetD@OzPa@k$aZuk{-^D+68;au^tCVvOk&Y#j+cJbw~hX;?t9)4*! zDaqk-ro|^udr{JAZE6@~bR2pt&Ia=$C2;qk-c{-mQtF800O}08cnOY|Xnw?%~<@_pY&$l!4^{YI6m>Q%}IvY9#jXFI2Va^gfa z9hA;B&y(*ecYE-?rEVA$K#W;Od7`)X=_mW;gZJ-^^^>!+K?=~cFS)OS0J6XMytxwvBY-EE+Q4cs|#^5_&G}KOVa;gutD~N z!ea&wO(WvP%0WgBm-vB7a+3FJwD`nie}Np0M5e@l zqz7j+2AXE%)xrBnFgBIeu*L>mbs+B9ATAWocDXM4TGP~fc)ko;d$7QYupO?Oz-ewA zz=`4%Q@Uw>>!9zyBj4W?@9&)?SrnA*cs9^JB0#wuV(F2V8vyhpM8okNm4KcP#_D&! z$mO7<$ba)9t%tRa_=7apv)zQ|23msD*=Wp(l$~$aXj+nPm-N9My&i6vnT*GjSuS6y zDUVh<>n`$1HYq>WO`aCQGE z*GAumthH3!q%AAc;`=#j9Ta9}uIb!3g6*vPe2jRUY1d82B%L^b`!N3k}c`Lr!67SK)WwRUI zX?cOUSrZKW*SuJ>l@^1i_G3_5>0EM@7m&?^d5-hLWEnX=iSY$%2&3yKvlEYxo>N`> zg&v0n^zd)A-T(3wIf2mI_l>=8Q6lPFm-u-K+wGuzRp^LUDmGs5C$r>kl_w`8aezT3 zsq)D6ap5U_w{vHFXiJPhxnrI3&@{?(q4LS?+0wr}6AX^HE`cnr(;9Xfl@_4F?7;3_ZgXt~N(-8(w% z576$QvtYk0&6rp~U>!hi_qMXAq@5q1T?0}}Z-l06tG#eHIy1|y^mLJ1OI?!N^djW8 zCvu4wi`@38#gmX*-2@)39|MnZ^1R-FN|(&2?Adw^e)Zllp)95@b9@)z$C;^p=*%&B zb?5dE^Mh?a#1FQ8Q-0kAh^Z4v$H{ie?9a>N7f+DyYDYxLO($fF2+u=!xuqyuc}t;x zPz%t=3?Q*BssN2(0i;n%E0;xsLsStgmih?;zFMf@=AN33~fNvU5u21G{8uGj^4Lh87RDHKrQi=6kpFlt^%7ziTR&8Xta z0pkH-_4$LymmFOQE7SZI+2(@_`uc-jR9lU*Vd#nZCzduJ(d1=e&jI!<0YMcKds}>DJYm;q4&2Y z>HM1AC!J9nif8PkUuN&TB%Q$*3@=AqNoNafEdkgJ(~kI_a?;rryX-89`3(!IXB$0R zk&@1y(?GR(dP18Fly%R+R;X7SkzOR7nc+q7r6;8I_=9X_hPIZ(&Q$PzPg#}8w@4n3 zBc*7S8L8Dwu<&fKS1IY7TT4r_r2I8kshJhw1u#cMKAMKH59ZM&Hwy8|FnxO@onN#6 zbdt`-ObMdNScL}@@!n+?zF~I27{1&~<*}xd&hXVgH0d0W%t|`T5Qr?O$exom1_3IE zvAL&`&KVVOR>~;Cce_hEXZ~taid5YSSHK-ww|kw^voW0LvDZH;ICe-n)92|Woek`_ zd(wFVqsdOS2m!k}hYr#Z#Uke4rb%ZH$BAi#Cpgzof7>LT1Hha;!d-M=-`1baF-J-il;gazs&X7aP?_Be-lEVED1>zEwwktX1GLy)2T_*w z3+Q#%uph1%SkA$m{Bf=o3@2YarH|j)Yh&WF`2PajM~4sCV8z7rZ?{(S;dqBiubhv# zzWQtV6F!K5f`*9d4P~3f!?{J@r&sdxaZZtR{)|!}WO4E*rQ?VhXnRa+TKGMxG@AlX zUB@bSZ^2TC>kC3$AQ=)^Gn2^H`M;P)2g}n1Btix+57p##$%Ujv%3h}#tw2k)GN%Y@ z!keC2mrWi~tvr3!h_HPru7vd!{=ZU+lXB$1j=PVms<3LljE z3!o1Au@YbPKD95brqf1?4vM3>IOHbGD8VnRRS)$UGqXSAQc>P=8`H&I&ONv7)g@+z z;!d|OJT%AQ4^irJ(2jR@WE~n3>B{jnXh`v_^D%!tA6;L^N|e&VZ^OT0zH9YM#ow-D z?6>gjIkh~85x*dlOQE%Vh<=&yjd$19<1^ugia9fXl$#V@JUyeEeCcV<+4WO$Q{8zU zT09X~Vv3&P0hL?smQ#!n<#a_k@KV6h?2;-3h=z9DD900EyjMFo>dWG@-n7r+6&M)e z-hyB{@#AvwCiS8PF40RgqQB3n(RX|xytI|Z8I1uQ$;*tbZvS^o^?%#8{qrXEud5mT z-?3x=j6mV;H12qoTGds?UBRAC(>C@vi)9x0cTIthBAJanP(1)!@DNO zFpWe8K}rIEauVEpGRkdpLE98ULro8KITzw04>NVzVTW6$#)Ea3JsvnD#=}KB9)V+C zxMgx2ddfRDMKvAj)Ei%?x!u7NI~u=8-31|Z$5l^BA%2dJ7dzZV^^9t#`Xc30zKf{E zg2w_`R6W+_`DsylK0wdtQufBh;<1n?383LhXym^`N*^NsPBX3Z3tp(PKG`sJx;Qb^ zQ7ku{$P+w3GvOlqKcRPshYA9^TY9wlg3gx52PP39+Gr!pTh8!nLp2FN3L8S@c?}U` zaVoUuz-REhG#jvO*P-l4Cf5&Twx=gkd*--WCATWZRTM2$g^nkN((Gjlj~}v%l4ly? z%&-xDdNm)E(X_a1k46NFZH9#H&$4GmZN-bvwMPWLG##GEY*Dd8%vi_{ZLC$c?qu!| z&Ke6QgFd8>k!B=@9fPh_NPg}q32x|{{bCG?pBR)Dw>p6?m!wnHqtY{RgnT7tY=~o> zpvNP5$g0+Ym4Uio43tisB~6VoHm|zVoQOs&FF=UUh@p#*PK-BEebgq>#D(qbMpVL}?l2&GC#wmy<9!htH+f~Nu#YkfRxz3@Z` z5~vcu>xr1u1%-LRV+yNrZm0zP@GE7l1q=j3y`EkaBqvo}aw2VHrf zHM3$u#@&2jAANM*olQ}7i36p~uBRSeEr-chcgcND=Pdur;=+_Zw>Z#t!|X-tk5^Dw zTCdk62WLt=8|;gL`Ax3z3wn`RC+Xd7)(xrT7lBtbzql_bo!n>8AX?+FF0R(`CYB-C z8)K=#;^f+9JZzu9phJ~@yO)F&+ISm@(lp|SNYnJ#Z|wD#1Q|49a|(&TbN z(?2c9FWMr-Tsm!o`euta)=><;C}9Shz{ER;`2j#SOKFyZ=m4gG%5%bTL>1p{N+%HY0j0q!UAYRHm9KJ^o$p*xf)k%lDj|GWa~?;1$C4|-`Hje z*^iW7ig>Z|C3>-Vv0$le;pdH-2Y8{tgMi+JBA7zd zc#Dpg9uFz=2?5$sqY|*MG>DpD8Kn40EO87)o0;zCwq)Xpz>)~tim3B{tp zRv3SweHBw$Mw@3ivt6vJE4^M2s#F3^tz(T`_%pTJ zx0Z$@MdD*s`ZrE!OhkTpzbpqVL_QtP6fFF=gptPFfxs|#q>Qxc&TH$U1ZsOZPK9IB z3`iiKr}iKD}K}W1kB8TXWh&ewew?{%%|x8BJwa zM1r!e@1`qxB&#CNMv?&!@&`81F}v;JzJe_+c%v8tQ~SPR0PD11I&OFFk5=weX=FRC ztD*Yimlx1X6zLvS=w*pZF@8?3VUYUZm}WsSv;7GX|28+FqCdz%j<+$PukMA8npl3r zx)dp?W1$Ms7K$VgV4Xae%|ahv+b@b%p?Ev*-)a?zdG$PsS}zM7e+na`l`5ODw2t*Y zS`WCcR94nM$2t-@sehuQEI8Bp$A>LJrf8dA1|Rz8SkgcIF6&$&oJ=2_?5?9=tBnK* z(CI-$-)WT$YW;KHrfLcO?K76PS4&7&R!bC~p_Y>63C*5V(x=jJCs?GrLhD>S+*pXD z9D>l*4IkvnryYfQx8ztgnb#%zi3_eTt0P)<7cyZNa1$Yc-62H?PDgY)JDa+p$RZvo z9A==hJu8l**FB|pg}~JDiqj8}^<8P4|6O>)opIuv%XClq#!uW|KB!x^C>}wnBWBvE zXy2Yi$Xc<$7h~n(qvmk&kyI`=Ba(MsLidOKP^VvvnlI@<2j4@@H7iyqaE#@QDNa)P zu@0AaxzwBv?9iz9-vGDwS8;@HN`_lTUkvm`LdR&Nq|s| z&xl4y85Y}dozK`{eV!bKbT01|Pq(onXF}uHpQsbd!+PUI2dFG=Qu$Zy$7TP+r$u>< z>ZJ-VSY^$xwhYP)#ZN$Ha+pTmK`TTReh@WC@bIJW{z?|{>Ew^tssRKkr2qnEV6mB4 zgB^illy$8HlcDumt&KJ1Bz(}GzMlrD{-)SEOSk;Fu@Q~(a2ZpncdMLK2@Sk$QsI?X zfyo{4OoC2Xr0FGo@DVs@K|TV>7&!+KJIOKd6{a3TuUD*0!D{PDtJuS@iO5gbh_n+5H}{oU<~|-b z9}r6I7q|!fL?QSyN^OAvp2f-eWsM$VCJ@({H4?^bABJ^U;yR9I2&Mq67$cCmXca{P zXkjf@V6N?bK(Bf*I9eETweVoImpCKCK#HMr*}Mu(N={xuAK7{V_0Bbndg@gxWJ$kQ@8pj@d2!yVBA>*u95Iw~ah6EZv+maFWE~BTfumq)*K!C*YRv>g{_% z{YxQ0`yc_4ump}^M*>9hK^v9!N$&NIi)HqeiCy+hpP1ygi{?LOKKBuUsWi$%B^`U+ z(LJx?HeyG0@&WzQ%dLtjU&llt{G?~2-fea9H{QLkcNDXMuX$@-Oyp0&gHo8KQh9?9 z890o$KEU?FYM=gYs_l(NH~A=w8{OdtFe2=PJB3DXNcFVf{KharIuU}L`^$I}T3Pmw z>7o9ZDIxw|%kEt{Ke}!1UI0IFi8(SpuCF!FQSW-@R+U!*=xEI|rWlH7HXZaqL3T{2 zi_7&UZe>;<-#5a>+L_q*Ld#-Y{SgHo@+!Gu`l<(`x@awD&!_R`?Q$igAq^2HJs6#ugP3Tx7n!yZ7&nrG|p(wQR<`1 zox;>ds*6VpQKQ}?^LJfBr2)nWa1R4 z*mNSSV#%~Hj5p`&<}C{e=Rsg+7R@}z+_g7P{>>hr)FFy#%lPkw*qATzy;{Z$%NA%+ zXl2ZRfwet(^L@d%Q(-G>^UX(C^(}k)cE0l>mch@!Q8FI+gClqsnT8*%s>{zmJbAc} zoFsJsS?pP{Qi&^>HC9-wQ;u%H%rqaRgXTjJDC|loJA6J)6DrnJ=3kzX2fh(gZTZGC zZ3(@Kk>z-GV@EKA6Z`4T@O7&>DRo)Pnf zsn!q2?FFX0ryMCA0}5o%J${`h1-lCcmXorOnQ}+qR{%N858`r2On3xRytXIPE+IC7)oYu^9%zu*aCI3`daOJtiZ2=YY4T>q$_jpvwU3vdZ?5GfUR zgt0iP;3w6J!-g zQ773d+beorlIrXC>WZyyE=OGeKBr;|?=m$t^%xJc``Ir)?FAM&|ng1okE>% z(d(&?!;k1wlSMtzb`r z2HKoHMeP8qBrO)j@j)5hI6WZ2j~6G@gR!{KTyY=XGmQlS%v`y;iux;*A-B!@_jena z(~*OF7?MhPlr*Ufe<0~bE{vO#4bPh=P;sHI;M_$Tk)|5=)Pt^shk87Wr%aH1VE>8B z27K8eiwN&eqhrPmZt+u`uz*rVZ9<~)rA^O}`s4sY$KpB;TlZbAe2cywKl&t~FD0_zE9P!) zDH2h6+3bPFKz-?t*C=p=;fp|Dc~m#g;8qVv)hr_eU_4C6T=O~ka<(6VAKuxciWp8o zfr2&#NcQx7WJeo|$-N|g^W4j*_u+cA;=vtSJ2%u)olr@NBNa?8a*Bz5wc&YR^j{6W z+J1gEu)x@sLk?J(3ZW-g@~+To#ARht9O(Uom{E&)#dpMIq3@L?td%-jvOyP0lzJpZ z>B~>Gmj@nZg)HNwUQ=T<2LuY2po}g(j~|sC-qqdG6l7?eU7=1Hhj}t~MWVLKVhC-r zKEPW>iHc^uGJ+KfxY7f&K~MFq&OC7&L8BZ=C&IjSYp(eQEh$$_yiPr@s|ZrM_Z7zl zaS6dA2axDq4Q@!QvGD1(PkBTg^Fz)Xzz&lqE&FZB8z3tF*kaBZY<3pLjlc?nTjwW^ z$PluDiw6X7on*lfB)0E3i6SKg#1`BgtI|JZ5MXQ3MMu!c)se0gi=@XovL-(k(^HZe zZMxeKp;E*aT11db(#@s(ic1wZh?OT#R_IOM_9t)WCU5sl-p)_n?w!2dKY4p#^7f3u z$v5(k-|!Utz2@Uub|R_XO_i_sgwIo|a{H-Q`NFAJdC{qln9SXo_Juf|bL_Z~LRzNYgLh{Ll=gP9v{6r;)ecvMAUr zWEasINr-t~4c(O?i$J+mZ>=~g)k|DqHs%4|l@_DiFK5Bb`2`z@>|DkW(J68niM$)9hF=FX*sR$Da^6c=a^+ra{uo zr-g6yJbJh1xQO5U0yG`D^DhsW?Rlc_$}>>RZe=Ex4z{H!qnB5$~>X zIvhf+&A~A320x5?#E<5i_;WZ`W3Gp^kH)>@M73aHU4OVeG44I);d4ig8$Tz>=-FKg zxVj(uyqn>;f^k$W6};r(q;Sndpk1}OZD4`fuf;hN9 zB5<0)@xdvYFi{2D>;T2>>Y+{<#>Yb0C_AU5Ny6r4vKU9`t;OYG(L-}PnzY2P*#V`V zQKSbWGoxrlKr7RPYX?}lnQ%@aiPET$M2p+0PhwPz>pffLquD%Y;#1Im*@VJm3?NaC zU3@f~E7}rGR9=648z0TSg(?7!i(0p9@E#I-`qZ zdO%zSCdk=iMm$c?tujmu^TYB={gfG|@OWrZfi^8FH%U?*l@zPaP&cV5MW;07rGNm< zCJ2>gEu@C1m-<6JS2*D(9%XWt0#ND&@PdI!TDa09PjN(-3&m=iE+S*f%@HLbL$8zt zBtthi>{;?h<2(2MZ&Cs(jV(o4%H!sSdJs`tIZGSdwePJ6{l|q$mA0N94fRJ#Cp*2m zKUqI+)$OF}H>)~2OO+Xtb}gxGhXpjR8@4c3`d#NYSn7btsyC~=&;^Rf>Kzsw`t)u; zT{1JJCJ*N(RfoQ4OyXQ>BXO>6l0`R&ed@=h9(rItFl(sPfF29F!sxnpS^M+4;`CXt zyb>KHfQmcQ-Y0{Z`kCvej%W6i=Y6_k6x#%>HhH@npEP2DIDLwGci<<2v3&MO(vgN# zie4?Q7o4z=y3@xrRy1lukO`I12QU*T*vbN#u{$X2jNf?d^28Ki;ihy!(>W9c7t?Th zOn$9JN5M0Q&Ls3A!5|pKNL<$p4NV#|!iXE_V#W{jXMMUu<7~xdNAE2)ZuC&|CMMXK z5j@kC!JB^V5T#cFFsAhRltf?`SHV;&Tj&eY*RZd&EALE%?1GPf)q7lNd`Wluc-15{ zy4`GE&jhQkM2m?QBc##e(vY#ysRC^ADT3r0ey+D|qCkLJO6?l5Hb;qqg}^v>A&UCd z7ld$S&39VvtZkJU;~{>t*8KWWi3tCire>? zp;hWn?HQoJUbp=TfVPe&S~Q=e7N-CTwvqz0dqbRaMT_pTl|yS&=t*l+sIRpt7({K_ z!v#xAoG2n+gg?Aygt&yll`i$ipy_2H1fc2OFE!X$i(%c^Rx^qzHi2T@yY9BtR9qz{ zTn^pq;qr7fuWOJ4K%I<*TU#uYBXzY8!C3IF1wN1&Sn!d$%z=k@&~8=mHU)o1lW!`} zeDek{!r}!k^~bI-zrswh7P|LK!RV&o0jxz^&4{Gf1R`~>YNqkbYDOd_CJ?E6RWq;7 ztY$<~Vgix6S2ZKDTMa~V2%CH;Hf3Z?zGqL}*9ST4F~fr_hmIiwHI(XJ<@zCOgzi|(q~#i{PyCO9pP5MJrI8sP_ZgynCW zgUQ_-&K$3Y4sTNLL{nQUstHGRZ4;gm1|ph3IjIq%x;zBIv8DI65nU17QBTD@Kzzvz z5$kcHL4v#7Ad10d1%`YJweCMswA}bf9tWy~DPgHfmV5dwrI6?TQQfdvjy}Cq6sY|q zVReEDTv5y@4G^tJ-s3SKL}TtZXQKU1ddzv54An@18#lvM(}F!9(TH7WX)Dn+yI?5` zAr~UoCqks6Zdufrj15y%UJGpK8JtXzHUYYabv^|7K;r9!GO{Enm%=tJm9$n^sjX=(RvtulhXSszKaS79 zNNOY=)t6ilUWLtqaINS3&LxAF6GkbJiuTIN2FgxUY}HY&7evMZjc!RUxp`1ZPreay z1)lyeG#rD+JUrL_Z#EDQeto7k~D<`^Q zuJ>)giKjD=xrSON;l!US6XH8fuvt06j^seZeR-jK$ulV%lT;>rjuS7|<Dp>%y_0GM2CQ-0PD-`j+DWy} z?~rQ64=VK92zrh90W=wSh_&IJ8$(~lJxiZ??kDRSZSZqF=ieOv)#D6wYhIM_l4geMtIh1m9^F4Z-Os!H; zv$bkZzpNTbSv_?bt*pc_Y<2MxzpZnu;&!J?{~dUU9{bw5Inv_w0zva8*Gwq#e| zrs}EkcG*?;9hzfCUNyA%bY4|#B)=CJr}L`l3qNm?zDP;c=wRoJs+wCWI!rfu(un46 zaw?Z9S0dnrMVJL9`6a$+D$e2Ai09X?C`>pt_rG zoXnOQ%7O>q>CgHWH0bHr@-v9jw&Y3G_HvO(-8q_b z$dm+dhuo;hJ(U~nG$_0#-+syD@_wwu@SVKomL5A5L*#eNhi(O;3w^ZJQ6JMlSVibO zfszURQe6_y|Da5$RBoHnByHN&X}Zx94{&x4G?JFtwkv}fO)%h@75sXoXiX}lyysMf zS$WS_woG)79Xg(xc~V;fS8AIzQ-j3|89^;2gs5R$7wRn~o+@ z#mH<No{~;do3TzYZjN+e{Q51!|2+wOI{J^nRTh8guHE&c3$_$_KwC!SNvKrvPvJF@y z-+wqx1&I9)8aJoeLxv>EgL{{LsmT!`!}@!Bi_aMRNgbIsRw;Gip~clYt@>vt1@K!# z*fZmfsD0wND~0srvV7bXLvVp|+!fU7qyuZ3L&2*#A}@_v;IH-0sc_P??H&A5Ld1ks zysOq5DfPke_LX+mYTcL6qSbHR|9U_l{J9|=`-!ghU6+@C7975{WjNpKB+&DpdMGDML;41 z$1_18JP-RG@X!Utw0^DgBJ`FUy%;(_J+z)w8Vi)A-Rs)OMgdKWN!f6z&CGtLZKZD2 zM^X4dxD`R7XG_|C9Gh<5RKWukhuNeZMX~Wp9 z_+aO^h;-Vhs86wsZ+UCpFNh$#t*2bHzkSn_U|d7iaeUjSd*k2gHTNmIhECSx8&9Fh zV>^#F>2@}w+4D&#JAANTt>&S!#O3VLNEs@04{BB8*DuG$)6jhHuglEL*23bIHRu^? zysN+TqHbQuf|2oOpG3@!zCBi@e`2Xx8ipz9P^)}%HnxjZI(GA}y+SJVmv2?+d}{3| z<7x?~=7_J>xjO2r5m(22wZYYKU+K833w(8ms|$Ul&+}XasjSXtejpETa`u<=aM}mY z?}ZWDLQD3s_N*h&_~%p`Ftd~mOnqL3MSx=rw+OM`Tp{)tp*MKkd=yop-EU+z|JeTAKR(0FwHE7A z5C|ASAIS0O5cwf`?&JF(C1+AhJ+nT%Zut4V344=t&`<2ZSHUVKYnr9e9C8KJnh_DT z8EG<5vExt8np)pinw_a!Jkci>NeW>maXI3D@RoEo0yHcQDHuRYjpP^wDZ%e7Qu-8R zvEU>reZ(=S@b68cfTo#Bv5av&7RCuh1LFvQzFR@aQ4kI~bOOrE+JSGq4t^0AVA^N0 zO~|piM;cRD78BtwfMicjp!fB0sq|PbC$^|?l4t@DB8GCRK?6YBlnuC|AL^isLm>|w zD&*7w5Mm~vn;{NU$jRbhlo*F*#vQScaA-UjhsK)MMd?EvV3XDPVqZOlA0*O? zYl#HNX7<6tca)UcZGTquUv597k^q(i21M+BM+wPKjsvrBD`-aMbqilc*K~tI z(p%V*?1L=sdDZ$&Ki(R~bbiM6LCNTn=1GHgIMv|S(t$8d$G#S$6UsqS zBSp}B1p^@XH-^=*yZ!GAPiQ{4-;!rS;m%}2$tGxD2!x8AAll6!=4Ee(M)fvsp>_Ju z0{m}UVte`wEnes}%RoGSb@>o>ROiFTY=kzo9c)9@5!6;A>N$0i56;w6_aFFCvRU)w zRANp@S)RDs%$jYcs)8E_4?nre>svy_yaacWZ2ruRKRMKI)qIl^fJ1VB=_K}h)vo7) zw?RRiGB-a5xH8;CE|t}i_+3ohd|vYiNv+6P=Hc9cW>Sn)L-x?zxEeoD22vO`!pF6a z&4*bKNZbCevbC^kp0(R^6+WxQ0G*Qs9$30VfMi6inZQjO_R9Ygs`&ls!9${a%TF*< z^7h0%;}8Cq@b>ED>ggd&a(aH=i{5pQyN-9ibN5aDs~Brnb9b#D3cMW1fuH-L)Us_( z__;QLzCXS3f8o~M1DjTh0c`O)ai?smyWaS_-?959cRmN?FTa>uvd{57g^{NCR)@li z3$TSRPOkARAf?D~BSJ>G9yL$b$Hc;5XWgY$r^-?Eh_Axj$Rm_LgCfEAYi?B=r1IwhxZsRIz){qHbb_050bgfTe16pY9m|uG-$vr6*2-tJ%J$vzDH(OmDL8z+7^uh6 z_x;B{>@2?Y6Sh}6N4Y0}Q!o5+CT_0zx>o|ZYd_R$tx=3^TqqRo*J_zCeYen>3Oj(F z(H}R;m-|$GswH~6O!P>Osa$|Oq|WIROgoY=JY$qZ}aB;&GYtv?aSHO$}T$))mUaiHCJj<$T{!R-|U}2r!Z&CT_t^Lhn!01CGapr$Sxb5}`YWP@vfVMSNe7< z1sF8G&-R4BJCj6>}NE)oRh_5bpKi5iV|qfa78+PTk~Jf%KqAqMcr9O zrEB?qV>4xG2!*E8P*eE%&H@c+$ay;u@Q}gD(ErEZw+r;|65zM&9^fBr0Y=MqfX1NS z_7rE6M2$FvOLRTO)3~l0OnQyU*_hx$x`n#>Sc8O7xtGQ2!6Z%VACQ4M^TEzx$r)5k zepl}S{pv-QkQ5pHP#MBjL6ByoU8%V-KiM2fXV3ew_78=CAZso4&_kkLB8bl*wurB+^Cqdt%kRD5#{ zYY#(`zq<^$Kg07LytWtb!Eq4@HsQ$PXcG>8g_40}Kd_htvHDq>gxaqG39u31a6_kH zcT__6s@crB!<2i?aPoksvQ>UHod6_%!rhC${n~bQC z_awWQ8J}0!c~PDIc!l1gQb>DFK91*NOUpR!xz536>ik>1Gw4Pp9z%hpgxNOE?Ql2F zEsC*qZd=RUabb|qhYUW}W)AA?;cUp?*jTN4NBc*6M~CQs63c77n0?m`mj6eXlc6n} zikgqSsmR#*JFX}YJMa3R?E$cc>qx3niIBtBz5J)go-)m@bcDh6*FLu_a0jI!I~G3 zr0fCE=@%|3!&tW&Ivo;{73@g;I52m$@Am8O^d(pi{?gyqwZ!5nS z462=-8UYDg#F&FENIA3IQN4HqQcEA<3eQjKNrx*8h2Lm3m8U47IS^;)f>#0t-h*&$ zG2jaBThcGh!5s9rq?LDmm6fJb{DRX>^DB0uCc~jdS$)^btMA^MT-;gFka}PaEUMoh z@c!)MIfWOoThqK{m~M@+h;u!O1j6$uA7=W)^(4c|Pmv}sqOnFyN|gz(p_LnIRT z&)b4wDG(9yu9kwc>B)H-X~#YMpdEMfg8{h<+m9vmw~oY>)q0UBx?3oOaCqDk7va0u zAOD#!1=gCZ(uX3{!d;)8$m-{;&pawBMQa16i;A=G(ne+d+b{4o=dSAO+YOVAQqQEX zLDfX)pR|x3$c_mIWp^@MQ}V;RN{m;O&Afvy{UIGgxc>W*ehcaSM*r3KytrS#X`s-L z@24F)e4lO83|Nhb;|Z(N#g2Nae)Duq_2m*=yjN_zYtMzJ`Y{X>_>S;}KBli+tMC4; z)9ACFxzsx__1#yWrvH_6q~sGbT9(!K{qAWy3!I#6(bT#tTJ@`IPUrXD8&s49jgg;T zm-=;i@RWY9=pnoM_15aAM5}y-ZW)2D_O5*CY4sCnyS{ulSFjWkWRI#3R3D{D&UGkX z0BjelvnUK?4F9jZ?UctagbII(;AN=w{V$HCypl=_Kq!*dXDmjgl)DRiFohZ0pnCXI zoAZ$%f0wgkrKw@j?)$kg>Nx+?3e)p71?BO zcRBmRGdIMGu~Plv*pP2-Jr-dTSX* zE9#lNnf(%uY=aKA`rjgM8m483Olc9s z=4P}4nsmx!$(QaBO{ktpAes>OpiOFt6P^e|A@XkHNIK2;&v7L~_i6 zDqjT|RC))TN@jYr?SkrOjy9-?U|( zgBk4q^8C%7RTNL?ZPR3))!SBm2q!%+JZgWZVGC_Nb`jd{8TUriK4sK9t9J_HU|DgP zT1URuzj)NU^b$5L`xl?koBpMrItfBO5w(9O+~~*O5jja0%$owBQo`W`dkBBtQdTDR z4Ll|Kj4}Ht7RC{#Oq@;7JpNr)NV);gxfNK{ZVbs%Q;M3>@taed4|t&Z>K;=;rKp)s z6;-lr@DPLkU#%~H3X)kNOLI75Tr}E*eUQFm?LoP)vNM32MkS^DrdUkf$7NPdG%Ij= z_2*t{DJrAI5m5)}yh|Pr+i&yPGX#T;$E0k2B}0%ow=vZF7Em+TWIr#1K*CCYX6oNR9N7BiLSF0To(kENQk>XL=;DQPfzz^(UTi9 z^^AnGzGT)}lI2m8!z;2v-N`7bC-j&sQuhne1d~o!Ejp7em zTz$t}-gPtInLL;bzB^fA{7B|37RHxMDL+6p)n{Z%35!sVUcgKzq-fEWZ3-$nu1TAN z6=T#4F$_nc`yEJXkJf0!u%thH6`HzEXws+C++ir?x$CMk892~3>Z#!~eXK5t2+cxO zeQA5Mj=j9)IhJDRG&8Ja3%dwOe>tr>RNco$KjH=1-83hGY*ywZZMuA~kw30oU+zjf zi$|j9%-yP=p`kjQ6{gptGpSF|L-l#B8!hxZW!hz~Bxw*RV;*pv$5&QPP_{V{AKGHC z%cay)#EUSjW7^C_bxTj&tZ<=T^+h^{XPv;)t-b1PNMTCn;2?-V&aOn#kJ)SpOR$fK z=-xb%XJ->|0}^x>vgsAR#Uu(o{TX<&Bt}GUPSGiBXlO7(kmxwz^`%8&kgC$lz+C5a zsOT!N7rXJPx9ZxGR^d0sbgiiSR=(SNAms9sO>-h~INmy;9izv2W$iNYz@ zL=p?(^|Eq8V#pPF_iy9IseWIbQ((UOvSihqOA9oF)tgfEC7nJE!0Pj_=CMX`=}dt*b~%8grM&yTEJ-)GNF@ssQMzJ@SMV^ zUYN}0L%%6oio2|T)ZOUgzx9^?TiUl27ZI7rfDfUb;zXNX)wPqOckg5b4cKy;Hw_5p zi7r)VHuoCjA;7(Sa%S+i=|lCER$a0|EAzP(LGE?YXHSSi90;vHQ{;0DhGJCeWx+2p z2}LdZA?)Q2(&1MjLOQFz7BgWwpT`&)8Lu;7QQ9~y;oO-1%v3L$a=I3FSRc{Pj7J!@ zBixfL&HIX9Y3kd440uHADiVVGP(4wqslK52D|KiUs)6|JP<8M2M|ozWHC4|oc6)2v z!JnK|$U^l^VZw;LstiG}tK(~31r^AkRZ9Q~O>`>)PTfffw`c}QATjN;@gfb4^S%%? z4hd5}v5webgCULTO@htUQaRnpx8j^p`Bc21$-Rt(KUlx*Td~S^oKP&Xl#Vn8ijNAK zt6|+gwbM9y7d%XYz+VxHm_;S|opkgI3DKL1kYw0sahI0go4Qrhp#*Kx1OGk?+I7-1 zSVi7UX05Z<=&m3tcK?zf88)h*psJ$qG;_!KFW3G&<1j zX?>YPXK2butUP}}mP>`!B}e$0ISdnq43h;8-?%AUnat6sNWSqT6wlx{4zo0;J~t9; z8lhZz{47+jmX0H^H3DFG(xDMEnx)Q6^|j3Bn`*G?B~u7u;A{+(;oGNsGm1Q=`?1~n za3;DpF0)C!d0SqNS8dTR_NWHI$HolWOP5hFYVJYM4#|q-hMz_Pa{#082P^W;TWNp- z6`%RwXT~3rr=6eyoTe*`lMl&{_|Yezv_>KzsPP}gM?*@rbRAqwv(;_e6qLnv-4;{s zScs#2A&$vdR7ereWCg;2fY%v+C7a#RY{cz>tFUf&@uLej`2mm>eni>)>3kZ?gzryd z@w6PQQTkR5@DbU zF8v0BZ2|`iA(eomHh>5z8-QrjPQ~=;o&=9O^iG~}A2ZQN%Br(s(rOp1i#pJN_7}8q zgNhlKux>wrsg$QmOj}jpxJ&*gnjBX_=it*TD2SApZ8f#tuvL@M5*|RQ>S4VgXW)|; zbL<6rw0H6FKjq~?OfO`DsiKjVv3^9bEwhjvEwA}3h@6Y_c1<# zBQhBM} z)0fb2c^KRLp)D8l*gJg5CBw;(Dw@|+GKb-~V6aRa_lyLd0)6Dl(zDv59Uuc&Ca`+y zQk|HogWL{R@9Q^4Mw;s3k7Zk93|Jaa8~hn~gZ25t-d3r@wBHR+GqTHqwVyL8We)u3 z&?T2)DSrj9FDloB;EVL`x}aQ(N*5^QnNOAB zn_8eK+s22SRDVvJg4N$k644}oNvOV^%+Cu9G;-bn#hgh|u@Af0+M((@>1`3!&Dh*( zteRyOA=M^LBe2c9RSyBKo!w!(Xn%<1vSNzhGY@7K&?y|wgt~X>(`67! zg5}UmnmuJ>VVPN}TAy*SzTjfBE7OCu>%*~cXXGH8n^7sfW093GG7Ct#B!FhJmL`CB zFGPSnfU+j6Lx1)zO#z#MRmv2@(92XnJ|*0QfRq#jHI1~~Q~k4E976hCJps!U2#@~4 zuu)lcX;WseZbN|n2tGk8xa!i3rbL#F>o0BPmHMFBxA)1=R#_FAR!_EpTm+%Bjqy2k zT6+D8SqznJ!DG`gcq4N#+M;;|@rq+%VEVzVf$D`TEe&{7@I%ZEww9u~$SU%ZLoc1e z<`%FW=j%~UX%s-K0RSbS+DzM1{gYntxo9@?6??klYKc#E?iEzPy2O=zponTqTX+h$ zH7J@^YkgtIJ!noxTa>nyRPvpr)arZT77)TxB|u1(n3r6Me2H)VU<-WT`;^kx^z9$w zi0Q3*kmyZLJI2cwh>8lWE}j&i;xcf0fFUsr9qC+pB1NP{bp&bS+1Q{I!;k=CiJ=*2 zi^7BeXilskDU5+L`zt!C;inM+05o=A(ex?JCeP3Lps^H6v8;iPHkO!Vqmi%Zommn& za4u9|`f0xhGa3kuy%BK*=lWQPp7yINsZkJQa@MdDYMX{+X(2=DPAoF_klc7X4NX^D` zAaE6N)X(r2*GX%6lIRF{@-Z>ntTGT}jTw>OpPJC0$z8 zg+q?Q)jy7H{XaIBUawvmGdgN1+83K>gjkO4R-V;|JSMhLD6OaoRiYy+)bxT#8FcQ% z$@Dl#lPD77eC@IuI%Cz!%qLzoa5>2JE{Ck%HLS_^@4+iE%;!%<7g=e6M>)yMbBb_cM>xaIVtW|0 z77T?&j&z8uEUIQJi*34kWRC#NFEQKlqmU#j(N`bmN6e)HL=}6{__iwExV?fBhxvu9 zD228=bSdOyYYx|qQtYKL`KcAz-!3MAnKmYzp^E@hE)rYDjxsP7a3iYt404%3x#Vzh z3p4f9VL%% z79+z8GdE@SZ`My@lHZbyfc6kpa$#bm zU~u?X`Z4TXjUx#`#oeP~Q~8tV0<%b4_Nc?YI7sXx-B-g3yGKI8T!8VKKSMSBVYz%BUipB)i~(`E3!n zviIKx2brBX&JPK=BhUW9`V88pGk4d>2B6nCNB-u7n)li({gS2cPw|nX7_SF38}dOh z4Yu)8Aqxh#6*zM*YCL_x3IHuNR76q(4_$ZMGltFM3jkGhW^CLJbB;=}#ct3U5`4o* zC4|FuGJNSw%<(;#Jz-Qc$p`4Lnce-Wx_`6T-4~$Xz(7k7~P2E)iyG|gH;1yye~ zbz;P|1hXe0u3U3Jf?%Kp%0#is{vhv$?3+=n2V3KDg9i;#kolTOVUoOCOpjUwqTTw2V}Cu`ubq-S zN7mKjQ0y2Z!WPGN;}23qi$M&YYM^D9-u5e)a>#SMQN#vPAb|HsfW(y4e@JU;A}C%sM|8@3zK z0M|<%OEQu>gkY|zf@?M%nz7aPxj8I?ze581Ee$&2;2y0UnkdDrHPHuh4cPhPsj**& zPO*I~IyIUZpzf;6wX81J8`&a9sMgK!D|Gu-mZ`XHh4;as;ro&b%(f*$X=1M^_%$|& zSZ}i5c~9~li+S6@hXF)un_NS z>C^5PEs}3b4lVw(83);=V;_q_$qvzsO|?I$j-5gSUZ-qwI`G=w<~w-R3s`@(X2d2f zT*ZNd01f13YoKW784Dw?YF1-OhR>dT2+WdFbNS=g zDtB=h>s4~y$%Y7uhxhOrH<8J>X}SlwsPfkF^IO;UnxeQTCJu0|4`M#fF|Cz6xfz4u zJjN=!b}sujyLYLsFZi3pxO8tP+hoFy_J-Tr?%E~s&f*gJu|HGloXB%yHI+$if?2`< zSsEXk;jkGD^tflUHpJ@hCqsZ5ce`!SIrB8QgH-eSew+Pl&v4c`>?>TBP^LN zPV})TdGnKIpSv{mMwYpJT9nVRK52CHjiX{Tc z2bxzrbXtPS$0)FjajZ~BhY78lW&HSc+%A_T2FQBE7|owt>hmW(jdK2*lYwTj(MVV~ohSptq{JwxJXJ>2$Ac z6$=F*fKZT38Yq7z=&VUG_%=u3z>sUgqy!gI#_ZmSdz|n*iq3*LZb;f{qlG#AARx@@ z+I|%$nwfPd-)w30F*De6LObk|nB3gyp)#Ak*G?JKZ-Oo_udV}umNoo@HF=1P!*vjwhaZrDDnNT<&Q9Arf(b^a)E~&jboVlpm;OarRKU^Ki6fjNX&I#+9F~& z(I1X60**#W4*#mfYPWADNXXQLi3KXlO@>bs*UvsmyD6mF`^As186fCAQiG4G-$Ayg ziwmUiBpg(QvbynB&$HDlK&+86s9woDS2xTOgd^{@u1H|As0XE~*`0;B%5$Y;W>XV# zs#^`Pe%F&Ez0gyMbZ>7S=R3-nAk3~Ty%jx!HnbQem}qji)it<>Jn;=ML1qe)!z(HK zRdp7n#c>-ly^2Hrey@5lJ1tJDzA+cSLc7X(xYga*D5cibolX(30dsKFn4K6(+YHiq;) zgY{ZZR*HLL5KyteV{E$J_(uXpUI!7yQCQkyU}oZ40XNX}GCv62k;JmTbl=m%G87>j zDPCwqlj9dcI*>eB?@@L~b?2P+(o)6u%_Rk>c9K5xBco#<<|{qB0fqFlX8Vbxel4I? z1xleBtM_%9Oi5P@A{}ditgICoE;aCdvw+o?#M|mlm*iAC%83NY%!nP&^$yH|LFF#1 z8A;esLvD*dv(>xiqJVpEoR*!^OlR~=>6u)bcoKGrN!n4ppMw!#P^_bI9yGaD@6|yT z=if2sN6`m379{+cN7gytZwU9qP26m{m6k4u@t%a>OyJYv2HMs)Yp9@!6>%kpEhCXN#=D`L9X>ZlSY)GnqxBuU ziCL)t5q|PzB%%44O+-eswuaP#dxSOfivJ9%*XwId;t^}=v_4$S(%xgRaUt0*F*S0y z#7mQ0-B{ivd10Y5DF)G$(nP<<%-i@{SnP$tkv3}pBoRxpS%R~*9l?ZP-c_&llDV-h zLc_lDWcZk==yGys(iuzaNX5}1KV+MyQdlJl=0P66cNJn7n<Db{0{bMm}&k5%s5{qW(*d*6Hz8E z*4qw3*(?zggK`S*;j!ckPB{)sp52mjV}7X@lo}w|+Tf_bdk|UTCB_}RP;7q0slFE{ zv~U0D7C+8PEhrBI&IE{!0kkH+#Ee|n+fiJNJ&|-C6N+8(yU2!QPrYRWWsjDZ(z3Nm ztTgS8**2Rg`}y_CULbOow$=1j+%~Nm*)iMd_(ybg{QM?5{t;*-p&*WfK);Q8pKsKA z#zV)hvLS@b%>INk{B4649ps5#kSNixy=6R~0d|>~vQhFIdN@Ly4PTUS+125z!KptX zf>;$UG3#LKzQ!PnUNUr2tSKD>FU0!>Q#;oKZVe>|=;I6f7Wewd=`?YodLlI6RvH5h z3ll*C7#G6LQSc zVA{nsGxU*jBiKr#;810AaYVL*vVkux2atDN2Sf&fYcQaIvU)jANw=-&b|c%8 z^0;!pXS$6aY^^wbzCwW?mn zirObi~;gn=S|V0UyiJ5I`?SgUuRjSr>2(6z3CH z`SiGrrO&*3kt5Xp7n)uS<6f_C>huKqIJp(w*fuppl7gCokzm!{t-w^GrvS5BtVsqD z6C$KP^-7DQ{JW~t6ZzD?fBH%ATQshQq{~xS2qS+#i~3lj3En>tRnKdtzsw=X3~OC5 zreYXo=mGcZy$>wI4aLyT0yJK{@vSUg3J(7=Nhl)lGX3reX}?=6xhK&~pyT+|A{D}Z zCbf1~#|Y?b=31%abL}E&?X~grl%mwVG-xVd1%Z*ACM0IbK9O~^RBD!JedAe@hHGZ2 zjDyJZKulXXd0F@BRMAnY|$I(Sg`X0MZB?e{0;oAjsZ0u>7PZma~& z-dA?4KTD&-Ghl`fOzY4LDp_259VtFbqsF+B1TMZsbPrQh@0KqbQFH_sNRkRvd0hFB z9efY<_36d>!Tv$caS7w==Yj4 zV4v%=k*$)|2f0f`nfxWudlm77>=m~xsV7yA>$R%i)rS84NBi{+aa7C!01qP1zugb+ z|FD{_k1`r=pzPJW)?a)iccxjW@K)W$i4{P5epYK(%otqJ%V#H^k{g^A@X2ZPn;AXD>dm5$O-4B zRy3E(^`s|V#l~iXvRLNIda-gfHU$k7$DnS}YWrrMgv6U6*+8aylRAm+=;MGSL=@jo zTSu@0_VK%@jsIYY{+b?F%6+m{_&u;_xb_o@tklKnP>ZnuS54m14E>qv-gK<0?-l`b)3AZkpZ%Z{ z{N(q&yaSuwK^Ks-JlTf|@-~qqh8hlm-XBu-re0vVe&AL8`jqMorzd?Q4!XW~u)gho z358Q1#r>ior3|u_!k`A7L1|id7VkkwT*;HB_DYs1#M8&?&Vs|NP9*+ANzVV<8Icea zR-_(6E(p<1Oq^-GO&Q%&2zyC@>Ftw8^u`OZx~ajfm)2i8^W_ z;53gu&$#%YHanwz*G*DH5x-)cX#AtkOO11Wp?=qUKDM=6iL^%aL?x4g@S_kPaMg7S z;J@&aR4|JMizp`Z-xgCL?xjRpM-1v?BfS*C&*r2-eZ#f=`d+hf!$0s?u#=dnIh%th zmGldWcWeU0J-cKY=WNTFMR9ha=zTdw&n#y2;<>n4Dj}MyZ;p*9$YY?;0ZaHiK1{RQ z9+T(-z1xt*9tmXL*Aayj?Q);#WR+Y`>!^u>@Z)ub9Un{7n|kKh?2thQcugo!ye`zi zM$E-niODAjd4~svul)p!AqbirnVK7a4OZ6M1j^cGixLB^kX&KbNu!x9A(p+=xIg-(x z`{Q87F(lOjf}XU<@Y5mvWv{?L)n~Ue1C+g+vf9EWF9ss1#fzzJrTQ{5*RS4#Bhdx@ zvVxI88x+;SUeU=TI1yUbkKl#{T2{`E>My68r>nfCP&X_%ZlhVicB*izs6)t_12 zrGTxKSgELwoyNf?Az2k`?m(G!vFiD{@#n!)x|xIV%-d(XnN#DLAKu!{EXOl%+|teL zcQXZwA~6IEH}4Qe*aF7mIeig(4$TE)0I)3`DJD@u0q`R12R(Rx5=P4i+m&2tfxOx@ZaUe@tlr}4UeeETTY;3JJ{aC1d z^vzvUURu1v=+)8t_gy&}^=z!0hf%QFZj*$ouXw0gPFUPgTaixAdiP#hl#nDa+6k@k zRkp^L><$dG&u`BHv>xbMkH#IluliUNF%o!*;qI-g*fgPTkMe;NUJBnq#E1(wAx^Xu zh8c->GwB?NlrT$xIE-l-yaF_gIc!2rK64mbda->2nRe+A8WB{;&uc})P^l|aw~00q z)fe%W7$m(VUP^C??b2J~P`&B91EI3G93?q1r+@*@Ki=IMs8N{^LG&AY8IX{5@wCoI zAy^4%WFSDiAz>qN$1m5|UU;zc;h$a`pR`imJ{bOJcD}7|!u20l9xG3#)RErCy=WEN ze8vT7J$5&R)s3f0%j&+4yz!wB1*0%=V_%XuQ&|y+0=-;uN^^k!VqPTi2cUcFkYvv*AW?|!1uUuDHcWNENTd3c_{pGKbRb(b=8LYFq5%);`^9vD) zEKES^J}BQ{iWwLY5ox9K10?}zQGZQBDug0m>$xQ4ue3^adm}`lPKZR(wXIX% zR$`V$qxqT;M+xCxHqF=<%&Ci^cd{-J$bN*Lfa6c)axle8!Xxs7c7_-LoEjKj>&7_N_ zLm(lO^^i=hr0|Ox0V239SJvUW(T{2>2Kot%+v<6Z<_r9Up(9;u3s60?d=U%``N4j; z9{iY04w<3`rnE1|$diqXx_tnR*3%NCUcoz6eM{T-1I6K(^Z{a{0uI#ifb;n5zgENX zT>%||wsd=R7AuJcn;C5+^@vVk@Hs9Do2z+Jz4#KZx*I*(Yz6DH5 z`dd@a=3ifLd2NuP3@WV$iQrSmP+WzW$ z;;FSmPO1KRTm0TOQ?B*bP|-4Xqr8jo@{YbxqGZ0WEFZVsOb{c9I+;uhJc%}0`v94G zS*_kHl9yst5{O|x&CT!v)zFbzlIf#uEk{q3GJ3o>ie(&SXo+Rzp;OAfzANDFzP~LN z5$YOvk`L!p{5tJ5%j+==9+*=+AZQWaNbOZnzEl2l;^Z8(JS=(ln2VqvjED+dLxkn@3onc|?0iXC!+h;a93$ z%65aB?6scr_r7L_-<}FbI*{e_Vj+QnY=lwWmHZZEs70+JZ0gQPK*@x$kHnbvt5)}A zv)H$Rlb81_Z6zIpI9RJSIEpojEqg5;M3Dl(ix!8uR#zqrMY>lxtlnlKUFM(5duf!? zyRc{NBlr=Yn5DOlsf)4>?IU&33_Db&hmE~MHDo?26YW!Sx>9@qIq7OzDa#N0CaXw@ ztfZp)A#)pI(5SS!1BrsOQO}7m>PERnAdwd;UT4vJQ*@msm+A#mUrrw6Ftqxz2}EZy zwwkJ2AU~YOO6KwiU#g%H-G##Xf(UurW(jsYm5Ch}TpMfT$J5DWe zHyLMRzHBf~TM{1^4>N-5j}Zo&^dM8-v+i|vLk)?Pv(-k_df z$3+>V@IqHI2~F^MvXykKHgIv$cM?Bly<7=X4@#&$G~1OEn;aUselR?4BOf`LMs6Am z_m+IrM2Abp1W~*rtr#gFi8j!evuE~iWXq?S&T@F`Afk#9ELl|eES{9D5GyPbfu_$& z@}ylKdrg(4Tafi)GQ6+I2o|4nB}Yi~^CYIvNAAe}{DzJ>)Ex2olkL_=tQw(6nz45A z@{32MDuK?Wn9vf`pvnfrWg6v zCM6EH)X0n7NSh^ZLZ`tekLeid1WU@rDvZV6d!ygalmEYz#JTsMr1_YMTcnJ432mgl z`Yz~N!Yf%c&Zs^uMEwn0a5skUzQLNflmsze56vL46xkb;_oDQ2zM zc;M8ANQ6HHg8TV%#vL}ub53OW;yx4R*DDUAMIBiZJJiN>=*_Bls$P2vGfTf+RHgL* z*Az6{@o5>O1|hFl%Af;H&@=MiAr+wQ9RAwHVI$2Q{%R%y)ZhoZpMy^f2lK%+c@Nq! zgqqZS3IF2(VIyT7Am`+XZ3noCsARXHgVSR81693ctm=ii*RBp~mp)Lat#t@MJNzJ# zCFJwxl1zteLx5Xj;x@gFiHJflL&GML16~Av>A1K~ zQiixDr}_xy40@7Cr+P)oO|yd>Q(M*NB5$!5sLqV2i+JpcVSZjw`<^c)Nj?)aajoTJ1KhPLJ`P=!EEV~r!0cof2zAmF3A*N0 zo3_zW9v!&Jqmy09aP;1U3GNDZ_{B^vnfFkZ!aQWF(i|!D8x!Ar)hKkZgz3TU5s9cMo z@&^$oC0t{vgGB6_#9Jm1qYr)zY|3l!BH2X^Sxk)Qd1a^|#*>lVvY@WS;)4-l1q{FT zOAWlx@F*;#9en>x(M1ygiLwF6q%Xv3j&<>7#vHUJsz7QhmLM%!wK?mZMeUY~Oe{3q zPE1gDV4oCy$H0pE_Ulaz(de>_zdyk5U{Mdm*@eKns(VQjdzziD-;uo=bHpKIg`NW15aj{6b7RgKP!l5S7yF zgenQrbam;43X?4b=w)_w(eomkG$~hbaSu1}v&swl6<>ro=Yz!#E3-K_i|0ZtPj!AA zPgcFGr$8VmG8mK%dmW&oqK?iH;=q9vVLt8|UeYCyP$C>0`}RFO#`g>Cw(#*4U%@j~ zePtT&AQe;~0;`B8Z0wc9C zR-iA%H<>R$y~#9;blO>M(2!Pm0rT*dNB8EEn3-h|_%SqEB!HmA8lIIi2$JV9V7o`3 z2GejAmx8;CmCEDFyZBwxQ!6NtZRUjCGq8KqZ5Ch#+} zxQ)SL^oGBXp{(FG+@{E=Eh8N#llPEDT?{c3LY;h;v=-Y{v}i%TtuZg$g3jk{k#(^} z4E2sQ{w-=yw?sIv`lCK@kWx9o3OKehu&we&j`%SETSG~1l{(x;A`c@Cg5L!^mpCwa z!n^8(MR^gl{}O4igy!-f}RRa7*$PDftRv<0_>tVmICR13G)!UjIkt-t@oNDJ` zm($2I_!+Qo^SJU{Kgp4NfG1kq&kqd!jHQ|C15m&o=7#+mQub8uH{bi}X(d*7c-?S$ z-J9YrUheLr5Vd_1^&j=CE2de^h*I3%dD47DQB`*{H6u!aPs)#Il$TwyFjlxgZL&rA zH2!V|?7Hzzn|N9vC~aNQ3WMNX)a7#Ln$*tMDat03tJ+fLE|c2%Ix_+|xxoJFCivrg zX{Q)V8ioq&r{D3R5CW!*s``6y>gX^di!N*|(SMAKWs;XU>&6wBLNSaX%6;k+27`?U zc3y(LGcYJ{V$_=ttU*R#id{U7p+(yP#&3+BFJF4&DHE}!o9}iRugg#lE8j-Um_y`gq-JD7kpQz|VI&*+1iJT!^OM%Aq?@gYvMod*VYQgSZ zA7Z5~`0A@9y}pe~m6ZH8D@sQHK>I2g@ilRQceDBXH6pZQa+L;`-ruu0P0M-48 zbqmInkSASPsbWQCE-)S1O(7|yx1>BY(Vl@!lSieCZE{sq$T}UNr zHkn9ApAp(|kp1VIhWLvio9lSWE1;JB>*^obxq1& zdLTdzXu$fZ7S@1RZsPLL1XL4Hwrg`)l)-3pkJS;eam2W8LVgX<6w^u4pdK_(B2cx`M1 zk1huT2iY|>{p^w4s_YT+?>nDO* zeuJRzy&d{k*XtxygqP?ujf-Lru|o%{4M!z{Nt`RIe++8BC#c1!*#3e#Z0}lo4;;Ga zuq6ijD(?aHs-d>!5|FGDBL5NuBO%8?^?L`wqZ5vm46~N$9a|{NBL`qWnY{ z!G(}8f~TBrhGHM3RDYFBuR^NrZcP~aMsZF3WJ~t28I(+6Su3nVW~r%3P47U2)77ZM;Pe??m~Y^kvh<+Cfi!10wbI$&eJ+nrm< zm`>j|)Kh%hkUTr|{B6UYZTw)Zap>|mrFeu%@E6w0Sm$Z9FV==cxMo&B5kp5P*ta$t z$oA6ebtxg%7rTX)sDc$oR3t#p^-O~qn z<6T$Sh3PMH>cH%t!}Vg0Xh_=M`f1eu`hmg_9HUVqqHg_laZqkAon7x z;!VABtrP*LdAYJzy(hUs!rry3(MlHRuM%)Hci8t=*&cpZoN|X*8h;@k5D`l83@;!^k$7u&*5N*SrY+fa?)vQ$|%hQ zCGNMlZBZkdOhrUw2LdF1TniGz1t;L-p5f1af>6rw*HmL?Az*(+ACukZlCE=T)XU%a z6(}4ee(@*cK$fW4=60l$$@_++dBCQMU{btNf@Gh+-<>dm=jz*2&JQA0DMN7p_;nmj z6bwlm*00cEQfAvncQbgu7$C?Jk;PYQo3|w0)nKJRGu6E_6lIhdhiX$5-%J}TBrj?} zS6fUs+rqX~u2QUaB|khg+@#f9%T!#|*D(H^uXCx|_&$ZNRUBfQIU; zQt-Op48KqM^|c<@!lt&RpksejoP_Tvk|K^C^w%9dup>%T(ys;2@S2mFKyAS{mmK|Y zCa^PNCJ<+i)NY!&2V!%2{mkKo#m^(8yzY1U@uhoBTn97%m=v!@*qx{}+>@K36Pz-c z5m9!qA9ha6B?O2YP>Ns#3G_UNp*tW;&Qq2rI1=*PX*y8)nKpgtcrE<-M#e#eAVF9o zw3n{g99+6uT=4{*6-^1JUYru@n}TgG4L^QS?~FsC(WZoM+)rvWJW{RcvRRAoP`;(9 z67~wuntz7RpFXL`KOGzd>%=^p&Do;FcUP`yI?%@j!i(Gw&1xw~66X!b7DMYr1{}qV zIPLB?R;$C1FAMxWhaYJ5Fwmi$L|&J{6l~K*0^avU>AIw;c)CxeLf_1SDktd1K~B;% zZ>G~masw-hU3)pSeOS{$F}}-}o&>ODJ`K^ooc+ENt$EWvtyJB9z@!#GshBdX@b-}; z=NP&Bd<)P^=L85nNNx$FXxGp+N=$At1^sZ@(U;H&Jn!+<%<&NLQ`Qf;1??RRmgRtj zp9U5(49iIUj@(m~)Fp7becrEjG=@6kMNR+f;swM54NwA-$ioPHj+b5V*70x_(*fYB zN>LQuZ{;v;?XtX3cS&{HP(ighJXjq~*vDrS*yra!GrR9np(9eZ5NNQ$f9q%Cvnv}U zY&ht%*h3DDF9AePm|=+3MzdiooKrkIX)y>wwvcOpPa7N=E|W9)c*x;60WG<{@94sl6^p{VwAVys}uxJ z=n=3}7f?`D4Us<<0S_O?fyOdwfN6IUB8{p6DwAxjqRj|pikP9_Ej zt!sP?FoQ5EezLc#F1bPF*(C2Qo(;b*3SKx*ZUMcraPx$--dM}ABUzM>2Umauq!+WO zADV&wzL`A8%S_RbyX>2w=@YdOO@Tt4{B2$adSP_ci%~F+(bX5J)tQLm%W;JY$||or zRTb(17Runy2PTVhs<`@0^-ojb;fAt*EDx`%%S6!F8y`TQx$f{K#~p;ALG%NR88&(m zPD!x}Pyyc{FL*sL?hGGuPS_0-VABY}oMH=Ii>dFnh$A(G4E2*T)Lk}ADmnssz=7M* z^;#f;-F-l)UXwrjbIZ2gwiJ&t!?c4ffxv);IYKxbrLSNjo)v?oHmvq<>8>ZWP*VKW zP5NbiUdONQw^?Ek%Qw z-^5fOQA1K3GDIWS?t^EQYb9uu5aX|W(%FHa;*oKI5ui^2d)u}Y>$9l7n}NyRQH*O^(~q-&;dq%{>S@>hUI>|aW=x9Wb+-cDtp?Gw;;Ld%fkZXBFx2emq%~tw~a3!oz_EGcc zfgDdn1d(W&%Z#*c0ytT$iCx3zVoAi{qyjMP1`5jo z%lt6Z)un9^$;jhdsXjo4Ok^^4c2MW#J`-l3tk9rTF?b>%>pl@|+(HG3Y|3s@_6%7Xew-r%lKTA3#UbVBD@O zXol7Md@Yn0m5fE^hk$kKDG(&Oav+EXL=%|YbndDi?Si5}yh~a?((xZ9s+DO?>-#NW zh_|$#%xqWhQ-Gx@K@(oxDV;-um}t$tTu`gLA$Oma{B+ocjh_xnawBI*>{cQHpCMB~ z3>g+5-fhXo5WcV9`0n74n8jk~q$L<-jSX;q_B3mtteMyt5CJUk;}s``AS`p0mxv*rlqvc>{HA$fXaRZvOzP@6PSY7I4T3om8=^kG#U!(4`;M@7|7e`OVe0< zp~?OpuW|Q_VZW3c-BjV2;($2`VJK*TB=oU%o_!mEX$UgiS@6_db0zcgnb}gvpreok zQ**kZP78Bzw87QUI8b8Vut9Ks{NOi6Uo&;u0%-K%801J(P ziubd=)W-~5;ty~X#mv{m@D06aILjy~e-+__VnIepG^vg#8qR7R9qBNToMTv=6^;&- zfCpdW1!a2C45*%`A~vdjATXsNB>{kQ=Vs&2W5$@u^!(-NxXy=&{5(~AVpO{YvF}Dc zr#JvKyzTC;NUZu~=7Ucu+`Yg6Pd-u06icbyUP}_Pp{o4&&SW_gKpW61K~G4Uv2c0_ zM5K|U>A^~vC>fP<%i_}f?SB2I>6}Pvf7ScN0!CVy_E+Tp1wPG^;6oS$e88fq%5W*f zK547adyNP=U}Q-hMRA zg{Z`zBB`deLiZLGL-bibU4NIR205U%{G-pE@-`p(JIGp}YF2?>NFTZU)o#D~BG#0- zzxs2Ybj@CF5r@L(^F=#a`y{GFzHsU(*nvteW zGQidG0;~)U36O3NPLU8N@aSF6Fch5)o#+vJFB>Z-apF>fIRf)g7Ff?KcWCJOJKNt*UqGlB-Ao zXh5sprP~jzCt~<5T?JJM5iMas_B)FwB0pfTl6@((U@?4mKZ}jL^|ZqDLsdk1%48ae z7&Ka}Ax<93ZGjqF@3U_d;UTOZ7?D2jX=|*l4+%ucZz2;_O(p4f`5^T8T{O7amG5+c)l-F4jZ$iuXxK=hSAlMY z4x}MB!Df;1ARpR4$3-q@3Fv`EiAoG|I*+ypX!NX@y!iMwlef^y(pc&VM9lxqGWHIy zNLqp=P+|$VQm|Pa?<@|)kyK9=!sq~8f!gqDbL|(>f!Um3pH@bgMunib({b&LmC{Iy z{QaaX(*LjpA&Yb^7ntlc#WsqPNCy`fU;6l!X3Z}aqJGM>eX0V&%LbJGS^%vYx;b?W z;8d#5DyRc6^<^(kPN^6rSyoSKaSh{umLx3X9*&bQX;yKu84+KA9lVE`NB$F=H&H#$ zCgFXjLnWr6k0-v=A%Z0FwcTiOzn>o%b00r2<{Cfda@IWuU~TTPbu8(A-L*7@co0od zs>xAG-rl6nJ}{&o$wX+E$F)dVYg6_{%HBv3r4pa4hO}x&ucDD|gj_RPk+R3h==kw~v4|2i!y&Bv$ul(M%eYG^vWVJ9~FT19r)SK5UK z9${%rik+njj&4E4X|Pdc_oYAjl01l{4kh0Xffd5IIYdxHLPmn@CC!8Fr75{25evVT zr$0;DK5k>2} z>ej`KVL=K6Vp!~<5vYPlWHMu+<)VNV?qt}T9lT^W3qNA`d3~mlU#>CIBq5t6e^Ddk zj(V$w7xTy{88i!r>xEyfpQ|gVlam>0Q(cogV?fpT=4#R^xmWq(39eRJl9W3GK9Acx zr9cE^cZ#ewbze=FEXNC}4kM>O!1I*PKvV-zZVmm6Og5N5DiEU5oMD;BAC^*VxBNT{ z1E=tE*;DmmDJ%vlEgQ408h)sMyyM}F0jZ`?({J>II?aZT4Wl)}`YDn0OLoz)IE2J( z+DQswg36@vrXttA%9OGEq!B3x1upr)3ks@6AE;VO5?OdLfKG-5N>QQ!lH*8tN1Cvi zlh&IWZP0tJDQG*ghNYx$hDbwYScp7sc~0F>6Se)iXD;jGQv%~O;-OmaD9{(FB{LSucEz| z5ZWz4s#*O7X0@n(XHGLJ`WSxxINCG@VcIzASsYl8wnU*3x>cW;NXQUa;bQDS>49A} zr_!CK#s-pMjrIp}Gv*dR*h}U@$ud7NcF#dMPM8pW*0}#E6aMD@3CX~qw^ji1-bzVc z221YH&T}|cPEnpiFh1=E>O=FH)x&r<(cJZEHcn2&HL@YGe}#f%$|McA(`guwy8Row z5RTNJ6AKclHd!VTCtWFWZ?Y$F4`ghvXeA~)-!Y0Kei+jV6pv1)cV1ZHVBL!W`kE)( zsNs@CKByzDfslUWZI=sZJ2Nhe%a1dM0U(tQ+3V&;G76ayK5;=d9lE2K6Bs%AP*dO6 zH`&HJj^tmdKDDiWB%0Xq9sa`@fcB8rUM-|FQR5{Ap@;Z{fRFvrf)Xn1Ty9VF^L*{| z;(3I1A-JieuMJ!tV?i@uZ^t4g7fge5S#V((Jep;X#xF}JZ~WwsC1<$lD9VB`(e z*nR2M7wF1)WhOTAf%YcCVaK9_B2d<$9}EHPG;htB{hmSEgSyjb2#+%i*L*aS|TBMr0y8@|% zInS(2W)l`O>j?%WOEwN?)=jCW5KuRtH&cQT=?SwChtHpyyUi12KakdXnPP-Wuk~o% zt2byUJk+-iJ0AI;JWgA$UhkTQlh=LBurc{$24EVNVVh)MXDQ@KUXUR|h7?UAeiBhG z%7m8fCV60eIU65U<}>9s4WoK{`(ZTWz{W7h_zYD;JBvlv5LC|=P~0=2`xusNP?*DK ztCx}$C>;#z*Tj8^HeT5zY+@Ltq_W0;;`+UUjCYS_2@|-nKzPutH`LDy>>srLXrlgW zrviZc+EA^>mG}0*D~xwbp}!aybX|%t(0{@>f1zu=_VjExY;%~ps|qUkys^7D+j(Z z7z6_-BR(jloxksBqE~#OWQv{AhT!$zO=!~&iQ0$?+J$dQfgf#a_=Fpu!6Rbm*gvF7 zXp?3XL=sSjgvmkBEpSAbeKWrgV?{Cgmx)Np#`_$%_0*GL5=36&6wS4lF{0qprdw{I z2;VYq!g$sTx^afrVns5ZnAS_^aJwHdmF$|u&mMxPY=F=j$^tX)R1GWJ zW!R&-a|3fqb`;_hYjadSzV8LDzWJ!Jcqz^ZFG-Cviuu64g8AthDX9ZQkbtt%wXKrT z@y-RUsWxe;bX?Gy3iygv!m`0o(~VXIQPftV?*?N=Z4F-8f}cICibDW=Hte;S*K!;q z=8@<<(SHy{^}r*L9Pj!o4xyuQU~QMfEa2-0mjOr2Fr+tU#&k{JbAm%KzWviOKl_Ji%ktsoyKV6;PLO)H&s?w z(PMq%E0Yn(W|wN}fVyob*4)yk77@|w=GP+Q-#OM>Y}spgRtq4rV&BcgDAhJyh58%5 zH{Alq3N16^O1Y*pPcpcjt6^5g| zINVG1&>73sy^7Ecut35x=^lfP#Z?3%`?E%PS_J){$3eKLVzKD2)djR~JVxv)Uuuz` zLN`}x;y;0*5*t<3>*wNTfS8@*ZCqM zk@2R9jf`JhuVNq)zLDLg&x)50k!9WxC2Uzs?4nD`}~KD7DK$Ybo8#vB>r7m0%|)&C#s@!QO&fZH^l zr2Z_SR!h2E@K>w97S*%L_i)CdO0GSDDq+=1FYuH|FYdLFxR7ldn&LG%j0DmYDQTVG z9Ew{P5>vu;;Uu=D|kSC2TZ>;b!vX4FQ z;q6l~++(cJG7Ps9O&}m{(=SlmqF+?{&Al)&dF9h)EZ?9}tyiT1yk`L-V5it3(h~s# zc>6CGwrJ4r1I`^Zjz2R9-el`ixt7qucX$f`GF!H`rA~c03OWz)MpjcV{9uS@z66ZT z8Vo+D$ziZcnH;OV8Mo*{Wb0Z%&(P?@>+0p|kLExQa4X{$ZU8wXZS94(yU8SpyGv@QG;}(kjW9a@Bv&x=P8qsDI$IMUj5P3%GGXckHwMr_Q1VVU)QP+ncPb z1~$t1fKn*%gwnDY1XA`S;l7cIRTSE}TG7ct? z3>AI-j}wkFem5i|NI=~g!xK1#7{J%f@}2lsf7x%er?V+fl8B3p>YYpiVCqG5=b0#~ z+u6gp152OxJ9>y|zW(ZP(_;9|LB4q)6Yl1_pR(r%5w6AfSHhB`(RmZaitwT9f!sY- zovlO4K^o9DcKIk4H?i zSr%u@MHf}nCGk3k_&UT$&t~@dgU}+X^KarF4?1^;B+6vn1PGE*J56hXpl!H{N zKA*PPc&7~&XP;t(#H`+T#5P@hg?)yJO=<_u6(7&;C0Dd-xXa{3Rd%r9Efca&9 zrqAvxyl%_ceZ|%F&eYGDO8S{{`MH;o+Ft{gw#US_w zDy6V1uW!xk2}-SR{S9}pz+}Gf6eM+fUaPEcX!6pB6e&OejjQU<3Zh3qN8hx^mXe_F z?G^yQB1ltYkkFCU7wGf*oiNcZJ?^T9Pt#VB;x&b_r?znfedeS7<`q2$NXQGJQhOv# zmBSxgfm&Dl0Rt&%jyQqB`rm~nRfN|53g8?5dKM~J^R6mS7xM6xAM30yLJh{=4D%)V zr$QkC5V}mW){`bPGLxd=d+JMiDXJSGLCR|xTR%Wp>j(UumJOrNb{2!q%6DRkQFAH# z2Z#0dzu#93Vs_hJv8AC^s45G`4J?avZ{@0l5M~?6|gdg%29`s^^gu)Z+%s6b42)?iOJKw^+0eKbX!!t`884 zouX{fN)*@c|3VTj2&ZIkom80EYggJZv5-kwiF>V-WRg93Sn?s0U$Y;cAl4DD#?9J=TFoS4AphBHoKmw`Xl6s%A8-l zzY8}@8R6y?vn2Z}vFg1calu*?ze8w)ric-*@A{3 z08Lh^!Z`%3F+__^|3Pwhk!;(RPbd;w->nA&XuYAf#_GAb>nyvxh#3VKZa4hZzH4ow z7QIxJdK+tuuB%r{=Ec56Ref-7w$L>IJ%kj~cw2H_R2^Sxv#}1+ktystXiAHxq4im|L8zPjCu+qeRKseMMaZq|(0j-L1GoA?~OUa$o@cw9kxW4S*!j9KEpKBW{7Adf_)OnWh&_C%^N6 zE2YCD?P&qcpV{gStUip|87+gI9jifRa4cP5enbmHApFRjaF#FBD?SPBKXh*762@svoI%4j$t*{Q|WH6@cPeCN>Usf+0L9jdy!5$3Qe(HCRD(xkX z@POvnFZ$CY4}Q7s9mY~c>UHJBWJySvnVeE+}cwJtELW8Y73R)y~?NzhfY%53&|4E>& z+m2eGFAQ*Tv@7n=VNLu{NG`YUBBBM6P^4EMo2!l?W0j@i01E|3XQ~-28N()9`cyYD z4q}LFbwOd^vS`!yRI)OYg$zQT!4IPCTz<;>R0#C|<3z~qCjlJo=Pqzw$~C?4%|=T+ z=RCs_Z(q&{iKkL3x=%t*^|$N|03A!TB$JYkYsn2BR}-Bo=E1iH61F(OF^WXsW* z>&fm%D3H9CE=@|w`$0_){S6U)#K{%VObrAWnUv6 zsJTzo_b2gS0F9C+xe*V^*$+$=Fk!|~%P{T8m?8tAX_yvbbol+G*xf4L`h6DID#eR? zSr`KwZ(fLt0K?x*q44>OJ-WQFu!~D10oNz;4XVw@7^Ux#DaCO2di6a(zJ~S5;-#qm zEKZoBX|r~|qBYODW*3Hs?XvZ2Vq0R7oT*kE0?e~3MIlM*ml>O1yhx{@?ZX^MW@Nt$ z!tugV7;~~HxxXVS58u|0fp*Qcy<&cSUC4}R4>E`LcJoUAtNsjv@VCe8vC2gG<&HT` zMJdi&37KQDvHG+~h6q*6h}VP*0@U`$p+6gZC`RS&fEWFMu}Bh?RO-4ADRRBHt++t- zi6lT)%oHmUAR-dOp|upPScWxlgg7!B3k@9A!RnL1k?cixFK6)t9Fz(;X2;-g>$@`? z3x;DsaM)mUPa21u$1x)K3>aK1q9Ojk2>j*jGG8AzHE#Y% z`RcQCHQ!SsFP-)6b#5%#enwV z2J1bc$HvI0IIA~ZeQ4+xp+N6XC`j+J;&8JCf!yYwDFeH*zB51v-~+ncFGvn7xx*2w z2T3TXWK?g%Rg|_2^y!iMGv5l=Tq*mv2?avy_!GUTI|`LwyT7Ws zM$6f;l44>Odt+(5V$eqwulVsPO%w^21VdR?S8_b0?Kr=W(jMG$J*>XK`d(vRuI`B` zW(1EqD4DAHR?hzFi@f-?l0_m(NU~+%sJd4L9yU^Mi{81cMdCTu#{ zFnMuz9*jq0&j|iImmk>f8A~xWJf15vE++OauyjDhJ#9@M^C0@7o88wtR zP<;vhMTMheNnz6X-lY^StwjEpX>?5j)g5Eoujz5T3p|>#*T)li-GE$H%7=WS=sI(WFY!;=~9^ z1ur!Hv~!Bb#t@_L1}7vBg{PgxV`H@*IB=bMcnFAG|G=UQS{e#-Yvcj0C}Dqf-<%qD zvz<~Su4ln!gDJ+1e61r1VVJjFrYWBId^ z%>C^!kx1w^{lXcy=oiYptqcmjg%1^6c+hutYaaC#N;PY}D}LnZcCKjGV#!)d-*lw< z&3yI=%VpHK66i@gX{sAbLGRK->0HB2x|XK+a8Nj6Q5jG;S0fdrO0iI?6qSsEr+Vmp zSz;z;`U^0ZT$UXnnrQ@7&P?LRFpSF#7YU(pOkX>)&Kk#@SOFcyM8cFF?TlY$1olXG zjT9dmU4-Xfa0GQ?mkT{tFwK!UE6nkm0sJ)PGT{!$|DAtQIM7Z*R}YHy(SEx z6?T`v&@w-uZNv|jg5rFj=#lY76i)17$fDGZ2jt8f1nyCaV#pT~Y4Cf--M=q&KBG#%IT&3K{2`$=b|y79{W@M`?09M-OgLe>fTGzT7A*=p7eWkgRz( zn|hy-!AYXaiNGl-#0<~QdNGsT_{vDTCM+7vjJjIw~RN3 z2##ZamBWAGbc$U6zc`)m-P+rtOJ!wsgjotM(mW=7z)oJ2P^nSSIK|s0`Tn zz~9GP%K}b1SC$38>nsauD*fClTNdu)fGrC$CGW=!ip}i^H8W{PkTz*YxczfwM<^4n zV|As+#*R=kvLp2CB7WQ>W@wU<9ii7rJ0hTWy~d6(au2s?08Cj=L$Ko*6;dL)|itGzLcI^wMb7b#{b8K2z^V+cE7$Sy&h{{KLU;2q1Rrf2CNtrMtgfF2xF!%RfRF5g<-139wR+7H^|PIv6V< zg)Z|<{tN6VXC6a^c!S14cLb4^gcZ42VwU*5z4RBVF{(o2fJEsNH5Af^m`AA*?!%Sp zV1Lf)Vt&!VCm13U_dH9?|GBSYDzx6v{<%)DM-;-qUI%V9DqPS7#M$TtSM`!+5aw4; zV*FY@mq`ED@*)$9uf_`JG#TqMUJ>5e@ z(4`c80*ew4iKAJq*Fy!4bmU={2(f98qx`B~q!Fg;)p<-;!Q_061Cfl?o8@mwVKiM! za8)Sl?jAIT_saMR6FV-t5J=7gGTV%zcG7IZo)U7l3uT3EjK4e()J_}y(2UNZJQE{M*v%DvSpuj| zK8h7NKEO9JA{|MivH6;?A8$c2qyLWZ!E_YO%>*l>J--TNP zb|Wui)e=Rtvog|)r&I+5c@=vvZDQ)0DMHprzKLFJ@-1ak4Dyob(RvN}A=B#^XXcBi z3}4p9Uu3h;t`By*>r4H0FJbaWpzj1om2YM2c@vrfC`wuO-muwA zAz;Q}sGf)X-L1#n=|W2FL)Y(oD4cS-+}fE6g;EZGpnruZ`9YCTuJDgPLL5}Rt2$jR zBYx6pid2R7hqf^6hrU+UFY`G;MyWolzwwp>UubYQdlV1obmR?KD6}}%lqfh6fMer1 z`A^%ZCD>O}*ujG|0r+51Sq{JQZ+o*c2ldH-xLsZ9Q#Z$gm7Dn0EWVLnouyc!S2h;K zUw&$%%(vK|@K#ewrB%R6c_bVL%tq)o7YRK^7w9pW3|_3@EfYm(2>dYL`nCtWCFLVN z;O8`E1TBXGoR25FA9T_a-wEesb8OWRND6p-NmK&5S#)pxCMW&zR*1@lY*b>g0Ew}9HHz19!}Lp(?HSWa(^lV<7t%#c1rHtLbw znv)^GO|N3yNEeZ;b~6}})B?!|+GM~sY{vjvM%BKiyBm~{+xMf|UkbxZt=zD4X35%gXLM7*pnio(e5!u%RT7`ZboGMy`ZAmmbObJsD(sg5Ug_}P zbBbjFG};EqTrW_z)%^?WKH~g!JNZie3+ER(u`@H&a3LCZtl#=F*$JBSrD-0f{W%hw z%bdrmPUmZm*ZAvmH~ihH^(PA5TF&+S$gvl2N6D*tx=d7cAy8G87)!4REf|0##GLw3 zD5mq3Vln3j2Ohh@GZpP@I5OQrwv2n$!jJov8{wx%I`aF=alF+x9jofQ<9hAs6mBJ1 zR~c>K+5!vskXr}{zJZ&ZT_|E= zK&YA!G5N2NL@nVAWT{6$rsuJdV?fZX!wLG_*9Z;Gaw!-|yXx7)^^pg3^*A%HSts!* zYT@6-^`fsIxwzYk&0eO~&#JXmLp%$X?n@v?)P3eS%U%AN-UF=S(e(=%su&@q|! zV)Svw)nq274D6;xcZ3>C2%0R1EwgDG|5|x)+=St@T+ z2zBr9Xvps+P&jYp;Y*-z9{N1MB~Pgbhi!w>2$v2r?@faZ7g#OO7zcg;_=Kez&Y&Rs z?kCY4Uobs!sejoF7-)TtVKe4yhPEUOL-PD+FYH9ck6)^T31)DJbt5TYIUqcuI;mfo ztC+?5k0r?Xj*#@tf*4m!G)4@E;w0CtAB=@rN&Tc&pp#W85}4uX{B(!p z>VrdhRO(=a4ArU@*#(P-auR~kN+eZF+tlOFZ(p)iOA78Xk};aJqplPF7A+*juP5&!5`ml@gX3 z=y?t{Lpxvg8cqKzpq+LT+Na0SE|l_rTmx%!tHJ-aJnBXgjFv+Dj0B|ijhxZwgggo2 z+hk?HuX2QdDRLVMVImnIJK8!~Ge=rS6XoSi!*FWrOcvzG0)p6uY zT!MQmGZ`G^L0xFv8Y-m-%GU9&&8Y+GKd#jk2Gf{{BRZHcipJFPvcT%-ZWDkwVu9eBf*X>4u2N@o6mRN;c7#-^G>vrbV!1*w9kxu2a{5^YJKhGLQQXe@yJ=%)Anzrf@U65O`WR{w+aOZ*hRpi(501w)nx` z%#*&ggP*M%;|Eh^$I{lA_pO?kZSq`HOT*Fs%iY_6S$36mzUQkx&#CU+ok~(kie%TJ zfPz#*sV(V**3`~4*hrLC`f)OM@{GBc+-sihs2!)x%{YM+NyNqhj2bX9Q9BI^Vt}AQ z0tV8CsL_iW0Tr(}_SLAUs0{+5hUEVK|99LCB2-dSw8J~ACD46T_{gaJnw!o>v+s8l%uBdY0taCL{|E#XEqO9>Ukf+ zk8)EqtNkfLY|>svhu9E(Pni2)zl(OFuQOakKXi6SqgCCtbvIMo+&ZwZrMO8x>EK^m zT78C3Meb-2FH#`LmGOLAaR))R<8I=cW&p`&V981Bj01hn4d!(d@f61!BS$Z0D2xY# zzdHcw6#vxRi=!}xMbn*W;wyIn;4tD|5AoGyQIR`_*)7I(hw0f>5^zsb+U1}K?jZhd zG0h#w$b0#ggBp+~NZ2E;Kmgz>=%KCeUYMN`I#Z=gvci{48n}TY9}kJF4Yk!g7O4c& zxK@CRdtTRbLWz7aPM>8u=uJ&X75BVGNU{h!a>n|nORcN4o-2;ND!P2wA6%0_v&VBS zH8uz|ttE>bH2buz7WDH=7|yVO9x>XG!0=d-z{7*nTQ^GJjU85Z1$!l-&jB}12RDiX zMvCD7&#>Rh-m&ieWxvTOm{ws(4R9C&%RLRW2Z~BndyYgNQ}_=Z3M?y`_Kp!b!KuMc$PvOJP}cr zkG=erLeTThAl9i(tnF!8i$yD~sIuU64GqN76ovZDN|qLGwSKr1X*O5siE<^Bek+&v zYCVP11%EXizcQ*`i7l*^6&_MqSy*16y`=H)83>@Pi;?2Y8QuYY2v`k=HL`!NYz3D` zJ#F0E7f?!l+#TgP_ z$a6WXdB>YY|GFZ`#U{K~dO=*y=fZlGb|mpCf2VrS|h)nG$Q=5w?dXW!c=!a5;n6mE$eQYG7U=Dr5 zWlx!S)PTNNuVsK*t0TgpRVr3Q^i~X6HH|FOmP~Y})>NQ=#h4)8d4G&ccd-s`8qb^! z<3jx*xB4Ghysy5X2sdDz>)@OQF>?hCP3$y_%OiZ$0gg8e&?*_LdQOs#8t}rmc}&$O zvy%inE0)pVHPS@}mS%}5q7b6<%^V?pO~3~Fhkk;{y}zp3DaUl~){4?4jTfkw?2}Vo zLQ7PzlP=Pu7sT4}Py&Q%lzAADO}P@wQp!eJraH@Dv_>HTvB;uPUVzi3$#hXMmnd=1 zS@$fOQBtNz`1R0H9HnO9H#B*zh!#*|*!_}~l)JUaOZ2%QYO&Ps ztZUt`kS5|Xut_F(>aga0leaK5=)&9N67YP=gBsll#G>*$ge|(QOfwN4ZDiSBlFB3& z!RpmKUmFM|dq>)rf8zdM1Yc$=IDfnLn#aG4r@*C-w zK0ZOl+{ebM&Et`?$t#yJ6(B&it%%hZrDd1Dk#a8#s$EEKj!TAXX@1p*Ui$9O;Fc1aH|xV@M|WU-?kZCEaj51&ajV#1L;@ z%e8NsL9+hf!!tCx)#7-EZ%wU&1UB5zl*$lt&El6y99RJbqy_M6lgg;136Gi z$eSa zd+bE$erp9+rHl5U5s)8QVWRp*AIwUld?#NKbBFj7C$mTbc=KLLtSY~}hFYkYY4kaq z8X>cWs?^;sM6nnx{rEF}lT-Y#iK3A@^3@%x;x?RRBg1T`zIRXyYr zJxW)Sd~mj)iyjv|MaisbL%GG9Ij4_I4^Rg^hFzob`2E|OnZf7H#SLmLdqUbY`tW!3 zc1_NYW?!@QnHl9c`zhAI5(#9=x=Wd6N+k%~F2DvdiTy=34n(9pv06qVd^~F&j+^gM zQWo=fxVZUvL#84U;5d_dSToMGgDJ%TZF%G&khIxVMapE1e%;O&DeVJAl;6>OW^#@E zyh>I=Rg#qr)u?1;JGNRE6|vNb%48K;B)Y{Bh!Sn2)$avaX4X~vY4U;OufDL4L3mNS;N>G7M4nMOThMopC4nuq$02#fuwkhpuQ z9oDI_tcw>fmm=k7i^{0#aIrgAZ6t)xEY(j<)BU3pM}0C9{*m6Gk5 z2vyUB*SB^<^gfqGl1#|apI*wrcK)#PRwy&K+}XmMNWV0LerMVMsweU6`K>#7GxJLq zxMVtMpAu5;in`{HY={JL^2EGB4I^D(1;DNfuQh_ za4CURJ*pj(+!iJKvqTao14ROHU%`c*@8^Q|^|E}cjx_;<-QYA#%Ij9O`|Vul__xJn zUwf4s9f1hg70RmCRpTMAdh3qHw}Uvk>nh(KGP@ZS#7n#uBBJ9`glhyx^;P6=19Q~; zHcbem!tKkrooS@np?M?iHMDP;;+hP=NO8sRbBb$*kbC9ASjlE2WMb zw)8US7oSt6i72_a_wmNT;)0i8wP+z1(vX?dB3IaM6u)wUx?D)NQlU2$^!if_m^B|d zjoO5a^awXjfby%>)<81y?y@!hJ9Lpa=`vn)5tP%q>{U_r&_&|1;@)XTa}V(YM|gi+ z_7M_K*}CPIDTcCjWA~5VmWu*80V`SCzB5hv4wpDq`mzNiPVocvblr1{SLPrD{q1hs z{bEryNf#OMtwFjj3yWaO>AJ0yu3OxwB4z15a#236d{&mf)SAXIA4p?K&5Xh?h7aQ~ zPhIAz#hL{Zz-oyniR)tjj8rlo%PG^ECa3LjSDU8RD)lMa)gNOHxLGQ;DtVENB659~ zlvo7W$=sk-QjYU8wl!J$P${8tUdSvDfg00>HlYB*8lU>Y5?ty5ceNfsC`v%1!JYY7 z5Q=~0N@EhCOa-A(tJj~VlT*Af5sKmYD!l*~xg^{YmQs7GQ&_d)%ZvPb zeQK}1Od*jG0?-m{AF_RG2%*^Wf%6C5AZR%Bz|sndXRi_s9L9}BoG7;`L98gIPa;sn zswo*pTqWU{w!me&Clk{g;lNyl6!SUDc++i%ylYOyWwe<_NCyReCayB|2F?AUk*< zJXNXJ-;$~~$XNz6lsWwXOP%#O=I(*V8w$4disKRn4PBfjA$NaaiEPf#vfy`tuKdoq z@*T#7K3BFoEG%$ESS~z`D<9%LOMO@+?5MZ&pAJ{^dp8>(`JMH*Eu1Ssp?~ew;uQ<% z`Gu*n^dM5jZZ@hGM?98*yI(zP%&V1_`&ul)ov2y+e?SHrT#oz24 zj?0lZZK#D+(%y4Z$yDz`-(5=?j~P2jggxRHp%x- z1&aawM>zKY$Qm!kzGddjd`e~+DC{hZ_s&uq`AcWEsEr~j^KMn9so~0Jf6ELuGL@A` zy+swXm$IBiMbzVyc=^P)%#hw(dpYa68j7;Pb#|NELlRf*$y;PFGZtFC%iLE!6GB5RaGgpvXSRo7Hz(QM!iZl~jC= zoPDE*yx4Ei&6Za8R^r7LQxkjwyjXj@eH~%9$?M5wK7@|#vTA?)>m;9g#qYVjT3Zvv z*6WH%Ef&ob|NJ4?Y!j%?^{l&Yy$&XZM)ZZAiEk0=moRN^%BSEaNgiwf6#q*d3mE4U zEn>Ig9WNMabQ%m)LjfP;^-GhmVp*)w?qLB_qJJcI3q$it7En}eviQK`4M_z?hivk` zJYzJq_YJ&Uvj>GxZ1VK%nas2Gv)37(Jx0I=XM*)!l0P*@b}Ov8cDyakFjIVlZ1Rm* z0|xvohQ{=CSgC8bfGT%PCzCrG?2hs6Ir&7;z*$lNbu#EOZ@*m8fd(u(9hVi#6=HwE zX}HeLaN;`GWD42sAXLGOM%5JaAVLR)re<+4gl-Oo<7kX`*Wrxf-K;+z5*;j zJEvlSvm{>-{A-U*Nb=9IAwu%M)C6Pkq-v5N?G+y^sh#EG1-vy#!eOtOe49+Z znS6_=kFyz|9WGdt7;!QtVJ^wZ-R#bo@6oMNnT4pXy#X;zC1-=Gb)RPKyehurqwNt)v)Bip`)fup+3`vW_~#HZ~|e32Kfq)QgAlf|#fL>w4w zD!;yHUq=&L+9an+Tom_w9uH?zp(mHJfyZny)(r> zd;=n0%2W0yT&a;kdq_3bv5U4kpL&hKRSgJajTbjuM;4+21{%#uP~K^5tg|I#>t+sp z7^&F4HklTp+XRRdOM(HYtx?uc8(LRtYyE z?&<4grgcbEjP%4UL3mq4c&+067h{h-?OSYi%@jXA5_iuL?taa<18E(8z@FD?@<70~ zV2I0A{ppv^APhPSt+q(F^%88mae@gioVoDyY&bo}ru#1A-`Ytl zhUT~n#6IoFZ>8(RIKpOat9J5h*dH_O3Yh1nA>ZT%OiLA(hNKS6ktG5WJ*CtZzo{+w z4SiAf2Bb8p+oi4PV2^ISEy@OM!E54Ocuj4!Q(NTBmb@04RBfex4Yf7YFSDB2N^K1| zF7Yj5EI&8j#)(OCd1oOlOm1PCkRU&DP}ji}?K|kXEk9Q=c^F0P50LV}CW#GltNlh8 z>TJ&aLG1xZ_qWcHyjZu@?UvEtf?NUxC)J7)6Hce8{EqYV)s~s!?}yzM$wXZBk^r6| zW{lWCk3_hbEz1Kz>EZ8MCdlLM6x+!ngY=<3QQSeaf}(8@`bJVM8lqDXGs9L!D=GU* zt?sIwjH;y2siFc8unvHS`%`sVR|CY(sC)B(0S1M)jw*ch`a*rX4JmL&ym+!W1BMkB zqkhp?`O~b#bU7rBE*g1WoRKf&{rrOL^|Spmn5LQHeItF7zMA>FWOZ znt*E#^v}z+V9HnG_<6-)r1JufnGOuw&d|p}>6rAy!Zd`loq3(Ru8+-qm}KH+pB)QI z*&BytbQ%plwQ{+|aNWZTB(Dpx(?YD2RTu8$Pzn)}+Tk0a>lz~!n{X{tkC!eE-=6zL z&ug~OtXuUWour^i(mK8Gkv8L=!aTF2%ri+!j**~0ETyqSMgPRiY12xc!O)~#Bl1@1 zFk<6;m}p>ll*-RCgy4t!%%(Hb1cxwIZ-Fz!?RbUcY1F(zzHnKR?UJMja)Y-Ot&reY zC~e6AhH*HbL}GrQ(jPJkhx+uir`D$=XBj+XWFw`82&Pf7ZANDNP~-DYvGIv=%rrg` z!+3&YdAe9+1h!?CLH`Hx^IpQPcTY7-44!ouubUW8<0bP7V1)+C}3iIA1w4cZ40 ziQ|kRJ)zF^Y!7f%Uv7wBKL7-JTMe=8bIS8$TLIST3pA%{m#DZvIBYd z;KH-5z!#KU#)IYla}F$A2rIt|N@i&SX~d5dL?qzdYi zqZG%bg{R@n!w0B8E!&HI9a7ZTG}HOB@^1cIlIss6vL&SGHw2c$fe01-qfs6-(10*7 z1KQCbUktNdggGXDB>6@WANG&67Pg=a`LG9;o1n*$PRWC|~B#DAYk~HRs$Q?Vf&~_9sJ- z4_(B2*?6Q4)7(v5(wN|-ghKeKi%gkGQgD!(!Y~?BiSOI<3)8r^FtUk*{cYb8gL`&4 zxHCPtZ8133x`(=Xs=;Z&7NhFSVj|?byYg7cq3|Id&9 zuQ2^XWA-?{T2s@-E=T#Y;F8ZB6rad!su7-2?7qT;*Z8*`-BdZcu8+Ri;_Y}$QVS1| zt#g?0+Cd=;zWpQ+uR6k3fr%wT=VF^3t25W8MhI}Km_m7eH3lg@<6sz$DAV24B@LW2 z-A!N8AiScxu9A|+SoU$}xO5n056Ud;7Bkx~)Eb#U%^5hsI#4L7C8l3wu+UcL5k2ib zsbhv?j7dEB4qb+%3mjk#N+%ha={0%_F(XS=i4WeQwO1QcKJ>_qSe|sW&vHxx!kr2- zmzu?aAJ3ohQg(Wd<%>uwbf&ycLWz!@5p_dTIHsu3A|3%oDKa(!lh_akBM74K<1>)B z-Z#|AA8IU2)9o@Y&dh1Qp)?KEJ4vb&nK_J%#S*$T zjd_KAEofnQ`0PHPx4{CORIbw1~=D~vj zo~B^yI?pMYD`PUqXhH`%VYsap5X=*Zv*E;0w#IFDkshcA+R z8BOz==S^sSD$)G*isnhdOf;{c_6C~YUeP?eu1C>49_)6}yhMUTgS71i+TWgNKY9*J zLR}>()@CB#F8kO7h4DN@P>G~V@;qCU_J5U=wq1mU^t`-A@Ou>raWJsHf(r5iXNt7AQfYwdx%P9>+@tqb~RVq)o|PEb`IetG25A`ot?DP zl3hxTUHZc&FWKjj7dC(c(Srz-v+TM3|27G7b?K?XIzOysnJ39kgAOMu*dS`&y z6wz-pGMTF~{!o%@kBN`$6kNG_-VD+W{FlipkUS$`-B)z-zCYH*k;R3hP_Q9HLCg?dGK#Tt5EKi^dG?a?;_NNp7N*29 zylKON@maYu0&oS(bbusSAyBO{(I0{Z{2@}VHLK2ybWidA#GhJ8*`u~6m3E+UfCB~q z%^>2nj0C}y2E}5P%9;{aO`pgM0`YMK8MFt(?eXmAial$$2nn`NGIJ z;@xE?Nj01*yJ2`K%dN?a*C?E#B8+x43^sjF7QZrbTnc@Z9`gnA$KsYrGM*j zA*9!hYf%(;f1To5q63pxTCZuxS}(K4I=9$Bi#+HHCQ`z{i>k7n%0xJ)I4EyyIu?1X z=sOE-aO5&C@=PoK<267BYSfk~$-#-V$de|roIUcxSTNJ-%S`bb&mR(mv|jSrxKqh^ z7lLIt2}ZkBR^WwJF?GEc#g_+*^kv3bl?E`plG!oycIi3iXH8+SfJkgwFWu-gXedrg z+3+dKP_ooEWgS_LVT?dlTG1Xx7K&*IS&*ZVg)o#ip|(Jl5l>vNLcCYkgm@x3>Vy$r zwx#HfR_fdqt81D>m{x7IQ(MHusV%ZiGJ7{aLx~8@Ut82AM)bg1)$q6=j%-|mm zhnH!(oI!06iZ@j&*pHY%Nj(*EjT(j`kLgK!hJ2j%HE1why4jwk0PXLSUj40e04|w>c=U zA;I^_6@las4+?`431bbBwL%?jMfQ=B;C+PAGE~Z0R1A;PuoP$Jiy%2`7Q69m&d zI6f<8N^7Z7c3aX~YTRor6{lIjd@l5AM%8Ta;HZ96F;2Laf==JQ%ZrK$4%S)2kWp^L zi&$Rejx3fJokw@Djf(%8x6VU%sVln9=TGN&;Q7eG`AEpb;>HC;|2c@N#Rf^^e40$@ z-K2`oi=cJ&Zt%F%LEp~%KifxopIy|B^q!@O;+KCnwhbzYJhJ{>{BBPAe%EBKd*_tL z4gmjlW`Ea7{AcI0-WTOAaiap9(*?y2VxeAEA1v*fGJ%Q^sxoRubrW*_J*0iaBeE-^R0&@J< z?IwsXz0KBl6X<*i@BdaZsrCy%3q9S?o@kLjnGlx7%I=34n&Q}uglI?hlWcITZQ?ZepdVD=3su* zm=4qf1>U_hM@w<8Q0!o0v#r0?-dkS^Ux-N!JBc3Q2UHQeo;dYL+Lj*xfCi3}(Ag4t zsLg@7B3|v-O^RS@=mCA;DTYAyg|wx)2C+$pv{Rfd#)I108O$#qS>op63?CV#maepa z5FO>_7!Z)!E62piZ8L=k*_xJY0ymaDK;B6C5^T7 z30nTG^R#c8jO*7!8p1giz37CORC|i&s{M_AfoZ76F3Zv1zuVDZP}gntjC`K!x+5E8 zuSWOoRvZ<Zb8F`(ZjNv2fCiU%!?|yYd>>*zQa z!Nd8Nn075=ooJno(2W-EY&^|r-??_4Va1R!ASR_g6TwbGYWSB(3jK$?*X0~8uMoJl znNd^ld0ZB`u(z(EvlLvuJj5|zLUU-IXh`ng(q^Qb;NUBt;P7=Lu>nNkQd|}X)Xd&3 zs}8^Fnt0>2aXAzh4qy|Sr6_oGZ^ps*WG_nNui7$UI2MQ7j2%4!hMiZP^o`Qhw{NL*wFMZ#1S&IYn>NQ#eF$ z^aPt7B23mXAB#FrJoX3WsV@*udFl%Waa+W+CXTxMuUo~N5|7M%ontYcHpB@uTDp-}PiA4WWQx%)~L>V=F zEm-V6zdD_$JY+<)4eyRRXU69>bwAp!495;c0oKJ_=n;uJ>>y19W|hPstbkO6-EZa; z8~wtVh4IWW)hvm9VwON}P5G)E`<4p}vrsX|(p2`xGV+oaEpg#RC?iP_5L7!CqjhR| zXgjNR23TEs=$Xa@D&x?vco@>h5=WfC&Y7H{z4a^yip(ITg{8hpU!v%Sj&aH3#0*3HggyDQb_4 zO6)H#rvhY;=-Wd>x@m+uKao2Qlb{Z8#cb*Rl@^9Kc(;q&h}G>DaJ%>mMiAVaT1@YoTZX$aYLTS#gbzrg7w=>)_z-45PH(2Tdu$J?q` zsdU48fP1a7#q=pzj%d8S-5S5Cbz_LgVG~unh&?g6fUveE&^?ZT5^qo&iezBT>4yK! zZEI*@B2h-aEY4Is5#m3L7$yUZO73e;@WmIokm!?h@u@Hb)8!Y@<}z>QvKS;nMV54$ zRuVa#`7#fSWVS*6oQh>z94pIO!+A4sqP z0~KzGel2br#~a~hwJu#S+*>*$it`4mMt8LsuMA{iM>Phl0|Lc5=7uCDD7d6?k%v~Z zxr|vt12SqfWwv4WkL8N0q{w#kFAv8%P(}WvXCgq;k zxoQ}UI`i+tW!i48ildaIGTldIxEHN0->5La4rfgOX1j6o79NH{Cfjn50JZKj0 z)osb4HdpBKVr3yDCXELp49bK}S`xd_tvJA@(Y@jnq#-t4XtYs!G?gR4xIgPdEpe(uJx)`oWJY)Lt{>RC0$TpumhQR?l(i5~(hNCCIyP>PR-U zI~OHtAK{cVP%HZ!!cGJnoPe*Eyrxjm-3tfUflX@|>Nm3A7Bv1AlO#K``>A%bBhIPE zGHoO{GP}rFdHE#fr9a|(0uL-046S_yP1E)LTp0F#>#lwAgNsUT(T8C!mwDWRICaQ5 zfA$?LT6-Z;*V>nuYhT`4ZZt-h7FXyKKS5+y2Ej_@MteHQErmOiU#CC^e%<3!iGFe8 zq|c(5XZ&U`e>!X}Q8@W6EatqCut#|4j<1x86F)0^812lMU}T13 zzogN9)@IZvcBvgX``pdoV65L8gWQJ+wH8JmCTcg^s`ub)tCly_NOa|m&6-l$M4(K* zuzTMiCOwb^CTQ@Ebq$`ZvzQYo>kWLJ9bpQutDL-OT^E=e-7FT(?9MIVyPX|VfJN94 zJzJ1GnhZ>MQE`sca|UM)k}$Zu52`^lBqAfwbZSS-oP;~Pkr&Wd;)PHDdU;MNT@;l@ zIS=^_Gc<>oL2s}%wHGzU>l20Gb_>-vE9%GglK4=&k70dvn2s&ceA&8|77`B(wce6h z%mmiPoUoMrL{Bye@6O(ymiC~qAD5HHXouhvTnb@9pS3ukJhTvPn~K5WBxuR8Al6fp1{b}+)vY&4v$RUBr?02NLx$9(qs&~VDl{;n1&@@+_ zddtB3t%!48!U;RlRK-NkpN^_F5RK6z8kx)Pf-f~sK~FO}6*SSH=0o=cy9H=UR9SXM zFFYUr2o4RL4`F|k=GEe)<}Pl&%&BWdDEjCKEDg@vMNVo2r^b>*m*(OEf*zaWYjz#J z>a{k(-0YWxxl_J~o;m`-=3gj1u&xz>7y#F5Nj313H@depgJSbaR45Jbj})40B5w0Ak{~DwDp|v8Q@mCIq~fn%V7=b4 zq@fyRB-*T7+^1MBO7~6ez|zTqL{&7>Xu1YmLq^w%j2a3>^5Ys4F^NG?Oq;2Yyj6E( z7sMSn!H1W{;q{)XZFkFj`pTCyWSaEa z^0SAFT3zkQXe5iZr4S5r^YMu=Mr2b~)N^G}&lN#E`-6J+ae+Lp=r@a#OrKvv(tir8lT)wfGLLsdN7^@T$6;AX;>XJ3S=hK)2V$#8My5CM;ZoXMu)C}%y`k&TnHIl#YOeB;Tr5*!&vC$-!{cm zx)odID5dNldJ+P)r!C>lC!wT5-e^@HSf;V7B#}}f!n}NLV@t^dTL1fx;^P09xLAg# z->$H+LQZ?=9S!ZNmpkwTR_P6o{AW)x-2=E!%Zz7F-VW1!L}@bJ(+~)-wu*-;cog#ttgkm#Xlb|cAP%iwqu$nEbb?8@@h%_@Qyq{~QCTr?L;2du zgeke9ZokM@GUjBG)5?|Q?*jke1QJt)S214<71^?&zMI^0NEHc9&!Cq15T&w}aQ0FR z&s6n5lPbPD-VDkj8!z0mFc)yRcySmermqgaps$ABM^=c$X0pK&-vS^90mmQ$F!V$O zi{kU#c9NwaUdjHziy-^$Z#CS`pnq^evYDd{KFHocz~8;KiPI@SG@SkCEl~IZjkKnL|n)xF58Mcka_w2`wBN%k2^mjM29d!15sB85MAPY|{tM zR$gqYxPw(o@FK^FP@TfCs90?${;Se_ix0?Uf1ZrC359vt$8SA1RyW#mUZM8*t2cjs z#+{%*K+LEtcTrY)E{3{YJ*Qu~x{|r+HvQrwuX>_;j=C+=c!Dx-mprJ5a*aHYBbO#- zfQrhAEqFjfDp|)5RaGXUc>nQI>pxPf%MNQtTiy(D?%-(5L4mD@3pBW6hrV6x8#l*rNHeW(WM zq&dAZ!pwZEAfCvGbOwo@%o{H{!#MjpaezDbwzS$KPqvCQ5dBe$m*d|br;B0}qAn`h zOFJqulk5>krGU(yYPI7IOhRQ39hGSa{@#|Zcc<$;>3VOv-k+}b`AD5rwQ1vkmiN%Y z9lWi~pBsMiwoRYhz3G#CH+^!?rcdtQ^vO}4+&(EmqaQ zi=^?=w$lo%%2q8onnfN=rndAzzt>r!Lm20!jqELQyOWo%iV*0pKNRAmX;zOy7;9Zq z5Gn?+4U!svrX{ z6*k=Y>{T+U%yK)bS{1`ZSX{ub)3EE};O8fs<5JNBi&aKuOMJo$>=QYxRYUzXAhL%1 zt9bDztxHazOG>=DEcNYf42%Fu1@B0)oR%0EGgx^;6+m{Mqz8H_mHgP4Vz%}-=+VCH zorKk{poAY+*to{{O36e_jWdem=0^vZ7s+8c9p&hWGSvpNxBMYG@|Yf9%H`#bzlS?0DbR3)S7BaLna@n~dol@kzH`-Q1G+I<#I z4fCTo*!ax;=i)O^)xyL1?vNeAunV)FWn)ob6m%m*%z8D<%e;P1qU|&z20@UtSD~&! zCC!K?jEQ5O8!;)Fr<#efypMh~H|qz}=Xo31BUvEs2>JmL%g=Q$RB23d%(XZqCM(8- zgr3jdtpK(-2?G;DV`VeJ!m#@m?bMpvrqP5Xy6DMNn2q(Ux=i}jwCV;cgpFcef^_>JM!nzXj;8Wx5SUH%qwd@}qfsj!HC<%rF?@3N(?_erTfplJkJ*V?1B=G%Swue1*pj4eD1PQwi%b@pdL->jxmZPjW))B-36mB*Bw?Z|`<<|?btb0; zbI2NFuKUsoZ<|@CBDSWcnzkoRI|n`BYxOb=X?DVDghC+E(VtDLn&bmi4H7313U`Sf zh#JK5t!#>wVZ{cj=@frh8yTpzmBjXpm)g7FE8biA<`q4na>d!2bO2D=M^iF@7=iMtwDYt>yFrA-%kvZzkGpP@^=1jFxPO*&^y zng_Aoo&AXj1BqP^5N=LTCtk;;+ggn^a?zNU_}GX|GHb<7*&W^og79 z@+qdhQT)rNOaIku@$<>2U{0&3f}(g(xAqe=wF*76F0IhBVtD*fDKi0ps|#+?RGk+MC`_%m45)7=V}akxDh{Czb;1^^iI>}S zHGTPwqRQMvJ`*5KxjC)|imR9F&2)uEYfW-nQeTqpys%aXPqkMy!a*n0BiE7eG_iSY9=c|F8$3g*k>yJ)1W`x%ogY9JLPBq^;#k+bDLKGl1Yt#%GA{&JIvRSm7dt9 zn|i7izEzT~q2G$5N(#6kB;p^ljfUuYDQV+y0_<;(I%#o3Q%`$7J+h* z6QI-smAVW(meu?lRF@s4Uo;R?*(%X6FsVRTObZx5MWm%^b=h+<>2Qs(jA-t4pGrOX z=}~X8`(v#tf?J_|UAQQ_ri)Q#7&;}l9M!0=km2LV zOn~J0C4wt@*xshW3?)cs-~fhJ9KM#xNcY~FN-2!y5<5jbwjpQ>zs%d99HCI%kSbKR zbNogG={Mc>@9e!Tt4cuq+gM|ofcV)~_C7)WIFMnM{e83A98?Jv%>dnu3D({Mc%h9lfE@@22oRyjgxgtYLaL0(WA@j7n%R4FzPj;8 zMBrebR8;N8n;`g*-JuAjYE1OFAp+*G z8WYEkCY}@HNU1rp;MBdv1K9_+)bdWTM<`Gji)5;%U3FPs=?EU2m$8bA?_w?JKS|qNwbpk4;(o@n7%MAed z-_t6K9~lcVge|A3&OQN=xs~iskXM1yglCU(QA1_JqWnmhUS=6c%k*b9d!J6l)Sbjn zyF0R{t`mY**a=&)4b3udUgi?9sQaV23ppgN!8gy|M)yVQ{Omy$X0q%7Wgw{p)6Co^ z#r$?esyRnOSqLrJH%OK_n8yr&8aZlK)T-9s1=iU70Co_TC44A0;Kk>_i_dx4Tz@=! zH(0bAZEnw`TgS6swEM%&yEO-`RrgGP&??tQ%Cdfhv@Sc|WN(7~Dvwne@4rN!Aqzw& z(DP!8kOK;HsE6wFY<72C&2GX6g>%A(hoq>QnuQFqUs15{e*UJ+sW?+a)JB^eleQP@DmF0{e7K?IRWe3c{OC72M6TPk$LV(!GJModE<*jG8S1+6X518@3YrKp*-bCqJ z`OH!=_x-p5ag+U3)4W{*UedUfh6H(0dqoz_r4bo#UFNn{_$WBp=|B|EkeHD65%kJs z(>L!{YEt^K=Gx16G%G%~)-;dB6Kk)W7sCNz0owR>r!);-RDsG=fz@^ZDvMD3`MdvO#i&8V%XXFXF^V#q`b{`&#T$2GJ5f(<|#WAo8+pBvT>A#m7 zHT8b-^i2Q;I#~Yy5XLTX1bF}#p*>mpjL9G{P>g@GCPR1sMOn_^N%s>6E@?c!j%D3H zzgTN>w7~OaSNi8%zkN7wEA@)08Z^0flUq_dPc*)jMjOTJn+4h~`gk5GTV*}9BseV{ z&(+&X#cQurB*!36Jkh+oOo5;l;f~^+k@K%WQCj3tG0*t@5JIc?)X%hwze*dHiXUkf ze0}>AeOPN9@WF6pN2<>00iXXW%WbG2Jura_E>ikZsQe*#{{Xt3$--_1)5j%?G-G&8 zEoP;dnEXSl$0#d^Ga9TS ziT@1?$1{mh4|7}Zancd;L7u$n+PxEIClL%`P8Ln+xCTqRb|A`WG7#+)ox|TJ>)Frs z{c^FDoK3!@9UD39kVGazVu0=|Tg{uAX$w^7T99LtxpyJUw$3}hLoyLP2qG_5neG*6 zQomGeKo#+^4VIbTITF16{Rw<>LCuEc*!|`wp-r^9125|R{6Wje;`)PJ*GBd@X%=p* z`^9l)(L>Rmzz}cLycN+cm9xfmDgC{bUN?xgp`ckBytU~pYK@6!a`LF6&9dr@a_***k7!z zX%p=Jq*hp@W5_D7XK!}dUre|_{ktMMS@n4+8}PI zW18R=c2sUFPW)Vn^2v=76%JlE45jsKLix7$ZqX#vOgB1-NrizIofp%G*ws?~_#W3@Zfup^fxu9U3PkBZR7EUxFsaIN3FqeE zEfpLik-iC|!=U&kywd<-bW}@ajz532SshMP2`i~8o5x@!)?O-~jJZ_AL!J;UOHbyC zX-CE4elsN5EtZP&h^WJ;C#oNe8ovrvrcq;9sx3)&jhbMBm5AHds68koK1~{~9Fzkj z;jwmqdN8QUWVL%B#nFcJ7n)e7N9zLmPN<;xtxKNYx`Ug%d2u_^rtUC#iO_DN43+_k ztdTXmERu?Uk*`gGEOY`T(uysv6xsB#uIG{VRJ3@R485czZaV#jrM08r*bog=A@c%NcZ>OOxM%*T)*GJE_Y@JO4Qb^T-oDMcC*FH^}zgKL&n zfoX(|ml0zZbwyva#Gm@=M!7E=^%S#?bDDjgWR=lZae;a(Cev%8w=Pp+H9|_m=h?fQ zCv2X3&j1UR81k@)xM}!x1bh@8=;$R9rgHi8R9H8vxzmy}!`7PuMge2P4CbK@6Sd1Z z(~}YpfdZ8Xk8ZA4pS;7Bl{Bi?^l>n4B_h`KRa?}{z7D@NJ=yruKkN+h>8saX!2lVo zlu$`1!V@M(U}}G0%4s%6Ryo{xI*|RI0~G_hU8FEcYj;Xt_-n}AOJUr7r1iuZBiI>3 z&1G7}bRV2Q{Rsqz@~B}vrlabLCPW@yjCe#>VCBR@>$*ayBAxgEziGs~)fMNNu@FdC z1~pSxB*bxhT znK;a|B}B+yJ+UxCMq`Fpq;x-%mU2&2aSdLLeJEX;tjqNji`@&E(AvKB6l+g2lq z)M?lKDQUL_eZ~ZqH3zh-XVITgv^%;F6#QwAXB^4{4 zusNQCiXC$h6}KuXE?-keLQt__5*4=+6*DuUV*7!L8+D&iQE??4Lp58Em@Wwx3^p%s zr1eJjo0@+srbAV0kd$=kzz&qc;q8;f+JkMD0Qgb;{9ftW^z`@y4>676;qi(3vy4X- zV8)YP_b6sAfZtS89*vh93`Ak4J0Yu}WwSLKMx7J6S^3s3;3!l>H@Y zQj-RNcu)<=;Qz*o%quqS#Ee9aAKj5apihnLL8E>sK6R?H{OlMkte(Xhm`lAXMtOSGaURS)NVx1_&pC!aqypJVz<34eUMlD+;c-z@0{YHMgD>R-eEoxJpF z*tsnNo7^+EW6%D7U6@j!b+1VwiUYE-dW<7eRrP23oe%UUFUya-l`m*L@dV$vX%KHZ z{)9fXn|D$x|9t7O^om2fj^>kZ1^I?K_H&0%OZ)ZF83o&7K1RXo(S zwa>Kq8XSHq|Bhux7)$3U8$GMu=bfLtEByc;{qdh6kTMS3!UUad6u5Klh{eAH9nnB$&UxH1B-iGTyv)=#~fitOy^yOD{i4y%K&mE0;Vt zrUzq3-|V*Ty6dj0fur4i=S@7DysYuE^K{T>rz@1gNEf#EYBepbm~==2@!3dtk`+sZ z=3BtlPDg7qGsWk|wr%CmjpX*VPLrMYR~!@g(;WYi6yoVmf#Ma}gXI!^_npn)rp+@n zcX@}<&d`ut5bd!+h}A0I%1&U4RcmKX z|IM_x_2zc*d54Ds8K`F%s6*JK~(XBOy+gQykG62`Q|pBZ5sV%%Hc@LP1s!eoGkU}gM@WwE4W z5g5x6*%uXh06r8BhaY=sBc0!@u6fv4p?@qVm2R@?&IC_xTa+*tA_t2zbP}?T@oV8m z0!=0Qv+Lz-%MM-(^CDk;+N;Ha?%To3yVuzD= zMKn#+sN%)!&(LYQ%SB?`p&Tx5ABwx|;`R-32NKqr66O59klXCfsa8=){lTMKvft;^ zjQB6M%iq|kQq8I~Bjr&r0zOKrsbxYmwJoNWVGd=sdwjMdmb7np8I*y5MqHFCz^`0p z#v<7&Vd%>z)~q^v>C?)0Rv0Z{-VNjQbXy+Ye9A1LAgX>V`=xP5G$WS<*`$;kSvc8y z_>^K8`8GXZ-G(2q^5?~J0mc*70N+cdN}6c;3n*-_p2PWwb9JiBu?h2o@v=8ZbE||% znwjOo0ElW!NX+-`!Za_eX$hxTId2MdsrF=;l^KNSR8f|fhVg8B&!^02|L{eAO#4! zc3s%f)>Z4?$CA}YA1hyn^DmHi9n>Y3O>g4{Kel{Z^(p~vd`;SO^TBSr{mO}(CbiI; zSF9cE%lO5%~$uwE^EHxGMQie_r3p1XEkBqR?U8%(?A7u=!(!fdF$u`XM|v-l+{l@(V%{XTM;j| zWck*Ac%tzg^ri71{_}a%BQUIH*YzrI=FMa7QR8J$LgP)ab0@p|EWWZsB@82~)4A!Y z_j%*ZLf$lpDjRi8Rq|)1V3@mDWmZ3hl35u0RZ3{-7Hipy0ZDlL!lnCV(C{&c=ni+c>kdRrGD)Qh zUio*&K2YyfiQA*?SI|MGzoU{>Oii2je*DPWfA$|QeFaqE30qsc;g(mV>6*OJWwJ~~ z2RmefH?Awj4nr`X{EaOKu+IBij+H%s;3$HoS={p*TU0)CtiSbGe;d_y{?J?B+uvRs zb@?%n^o6K;w0{N@#*WPg^2S}q`m(3lL#wSVN zR<*G9uwQ#dKmTwDRmOy3c^omJFRwYVo&qjByo@{J1cBtoXRE{TAKJTX*$a#V6wdGUi0O zYk~>Q!ZC%%HRL0=N8L4F8L>>6FQf)f`buE~&VMVqs5ps8m@JOpZuI7A4LLGdJWK&8 zXh_DXciec{j#uA^@)*Z>3>yn`Oum|FW%8DNjIg4mBbUBHwA17jM-!biZaOC8r~)~8 z>5ct%0QF}8>ow>o=>lD|sy(l{J*d6L%{vta`CNQ)jd&!P}_UM<>3552U$O7_;Z zX@dpWhg{r${YlLiuNvRB{N!T+Kl!179mKT1XR17>`zVP671Bu@FxJT%0NZyo*osAIz^#ZKPDHZ5NLzUP&}DcqyxSdDW3A7cQU_JS`GSN`;Ox;XTMZ)Y^ZGY zYB|V>OEqm}$qtH-iq zWKyhzO-J}c4R9&eKKX?X`AXE3%d@=x{Z-9nfiD+pk9>OSMbTTJl|iH>8MT!Cz6@rZ zB*FQI?shu!(yoKUES+NffKINV^GuKaOcK(MT{`?A>VJL2E&`hTM|~ZtAwU9fxZhwe zMQrfKakU4}*=haVdN|M38IpC-)(~h`Y%M{*myb@W7PY@uwRE5Jn1zAw`@W&KwbwWC zy$RO!hCoR$uXPOf3U6#fm-x~_1th8PQjoc$@lplG@FqmmBGxZP8W)2V6?X;)Do%La z3Ltw${>+Y~Jvu?JgHgTO#gYB6?NIrwR@5z4zAHyFz}(rNAVG_d186Q{%2XmC$|6_V zcUo0bDV&x{IYXJ>e3`0NN9QWbU26OIyt0m9qI8$4(5qUNU4v(iQRpRthzd�DYkt zpdJtoE6WY6lP&~sLkU0xCIGn6>-8xc0jxDk2ts%P!A(Gb-S3iQ{jMat8!AWEx*Gwa z5yYLwA9qeU>OOo{b4F*P9Ip#4jv}+r;wUn7h0h`L`r3U>hbQk*G15#|ok9jSaC7hG zS8)$pFevlAPIEeP#=63{Q24_t)X`#98*gbU4a$wa#f{PqN9L?=v8v1{zVyl<gMA=n?*6(f(LbHxd7k`=#6l%*ekJxN{Ov451g0sACg`?M|nIA&N z4fsk#q;J2G_rV=F)S@H|vs=*;-IM`j|JWHNo}LvNsiNToP6%k&!XlKT2oNFI?EM5y z5NeLH0ve%5reASKR00;M%$Bk2_SOOcH3ikU<sR(ho+Q0J zSb9d~&|`N}A#C(?en5u^jp(T!(Sz1%>a*5s6>>saXsHdWfcIwa&=!L7$2&RUENq2n zuZ&MK25N%~-bXy09;^_FweeK%jbj&zrjgHgGCm)h4hM7@_9E%IoqD1*lf?dhP5!;j zg(fe>`07$XH>BFdk-K-@*>Kuwc4gR8~}K+BuI3XiaNqbJ;&}jk}*_ z^1LRhVjTkNRn<(}zchI|IFX3q1TQAs84*zeH zF76Gl&`7<<%S%5FxjF{Qc0ZNRl`+sMDuZ!V=IhiN%9Lc&T+Wd_+Wa=9n_NBNItLw5 zpF6FTs=!h5fx$y3_ChJNvxf_h z{akeFxRb-U+sWPKl+of|E)drKekc17xP@JzlVHpTn=MiO#}P;>%p0b_A*;`Ek zQQP|Kz3uGrv1D$!JC|I)B067bv?n7}yo5?*z2UhtTr6 zQExu5vQ9LpPd!jFXk95*Zum+`XW9Lbu!+s9c?cfkbrE{Oetx@Vl=N4w*QKWvjB+LTKd^y=nTFRS|e9)qwTnMq$j4qvptx=`NuzDi(9v5IIx$yZT zst2s(Z3#OGEMIFE?4*Du_0jYm(GV_^`Zht_QD%^kKfSofsH8eeDJ_|l8WR_WzN2wQ zvVFE>UmOGFNGJedVicm$YCJIH>~}y({P;2GOQ@#_P%m7lYD@G+wZ-g%xI>htlH%!{ zov4~&-&)v^AhsmgvLxvPWARGMGqycTP9nTAQ7u+vZ5w%=OdjsNiVGnHKW^T zhdJv7#CYfhMCB6VU+N+B!BX}*=z**qYJ^t!BgB6`UFrk%+ZyqY##^XNLurJ+fFm9! z0m9FAn3{gdQP0NsGP(*EXaQy8-p2ff*be0s8~m-_AePWFAhIVp?@YSvHLdImTI%v# zrQP@47+G6Fe_0xGSw!BZwD^fz-h{yCwOs*wCC4!FOp3Y=9@46P`8Aa)0wDp$s@ zvbP{pgvUY_TSozm(@(LShjd~PS>ck|$Z9gRlu_U7QjKGAIt>*zzU=93=Qm^1yWk^fr`tNE0M zbb9ST8x^B@ldXGgMABZPE2Unm2g6 z3<9#?ZzkhFGFwX_V~h3yGuf?TGK%%x=q z5Jc_*VmTdd*1xh&c7gE=s$h&8P9yy(zBm);qs2>K5yk~ zzV_=x{Vg-?$BmeeC*-Cd&u@LI+1u6aeXZe;+xOhxMyEZ$^)Ul{tPcG#a1ZoF-QL%f z(C<#rj~M!qI`ks}{rql^b13KoZU16|{;;7xT!;Q}K!1I=_q-DNmlE{DhJLsX{cu3< z?Dn2pLf@O9A2Reqb?Aoz`s=#A9VPU867+FHAFo3n59qJ$_GCil>h~`v==%+gBRUX2 z_XqUXbbA+;(CcL=-cYhw*~Yw zyFG=)a`pSS67*{g{n|S8YXkZj-QEQy^oJAl5knuTLmvs~#cuEX68d)%^sR=zwGOQh zDKpBacY9AOp&v=mYldE{L$3vNzuS|(%hm6XBd5wgmmN1bU@FudIPyY0z`Jy)#PCM-%830==RJN(=^M&2@X*OVGbe zp!)@yHh_AX_Z#%=Zf{!&`pE>kPoQb%ok8~*^sH_#D?$GzfnF}q%WECD+@NQ6ds|D; zPbJX30^M5!-D}XATUTEq4A9Re&|L!ERRi5+(5%~=EpvwlG>Gmc{(8m(!l0cVgpi2hrb$eO|Fa{n^ zpo;=stbr~Xlssfx>tgP;4}?O`1)A4DbAw_@Xqzpqc8Z%5C>{lNa1C_cpi{Q*1N7Ai zG<=a7=$t_(ZOsSh4=2!BwK`h^oi*r$ZTA3ueF7cjUof%bapZB%XY#xghKGWSnN8 z@H~1E1GLnOHcq7%YsRURDj~?^0N_09&YiJSKxCLc@j7(oaKTY5Ol(Y|e+$Yz8GeWs z#G%%C4Q&ApKfGNQ@CfIyGE+UZGHOrYzk(2K+V|0=(avF6Yfjy9mpoxvN#Sa~Brs(4=_+2hQD~@&@NFDu;VjBQJY~8=N~$YOK|3PSNYk z>1|D8T{ltRlPd+!iIL-88EP=dR6QWC_$+Ih? zX;VZ8lSQ;k(~Q(AZn9iibBk-D6WsEKnwLR^Y%XIfr06cS?kwkv$a3YI28C7u0DF*{ znlxV#W!o@cKe#Rckfw1%03asuk=i6ylQ-n{6L&RHILJ~>ltG|`rw~&VCpqkC=bcni zY{#JJWI`Ixn2=(kk@%@t;s#Z|flYtD*4P27lG^F8=>a<&HF{wqBxZl3#N^<-V9q3O z55YK3VInqRoS&~TPGHn*b3EdLmaC`7_=dRPmyYpkLyTM-IKQ@rHB8|VI6ov25;)6e zw2b|v)W-1#+r{)iDo|f4p&IBYxsYHa8UBB&HdtQ4qex04c^0O2JPTuf9RXf#O8-ZM z|5Y(*SH+}VRhu;22db_Y{8wwzT>G=szEbbKGU_IO!mq`jIAz_>QTGbfy&~!+2g7x7 zFiuss4Ehg?LH37)?@RGyz;*5y0N4E5Qp2llSDRcuylH;_@K^*rQ5&qVAp=@!(FKvaSfgFI-JRcC}U+ z2aC$dxE=`EVR=yvV7I!kI}JTKU+zE77tO4f^lqgh;9aV`OVVTTp2HfU)TbWRx`l^E zd&vH;2o3%4Xc~ItDM|14S59B<)NpquG$wD;XvEuO*tHc68x*1Oz9N`-&1g*A_VDSs zNv2|}IQnpSlpU#pPRv--_h};SM~#m0uV~mSY1qkg_OMqxY}s=I%6N;_d=%g;4&wgH zA}Ft-ES*}9B}YaEPqoZ)ImY?G%1X;DW7ijB-!#)G2=T6e_WdLpC^Z|KPwt5BlEr-V zfp#%w-Ke#e@NY+JM%#L=RsE~1=5n=dV2%wIP||9fuzm7@!1ieCIo8}pHnLYML1{l;*!v1{Y?Y;d}?A8*^F3)8+OzdK^&B`7@~taVj`u` zSgZ*R;vaC2$f%@{d?STu3g-IEGm!u}!is%-f!_UchF}^@Gd;l65#5<60EUJDeQXm@ zXh3Na(Jqu%qdI+U$iGWpEEe}(C048vTr-L{xM*S9uN^NPwEG760z(FvQY%EhvhC~B z7&L3!el!i3yzyhoCD38yL%l+NeD+#*`2hJTOk^G=OtcR9a~qLw)DMs}gr@d7G(Gt> z&|$s=QOKpVeD@^yvf|10p6tMANUP9cu8-!$^;|H>*bsS(h)yvBr}1P(rXW5Yx1XYD zMmhvq(-*)HflFq-T%(N>P^bP(=m%FPj*q7Pr%uvu8%@%;)RfN9T%BaD+D~P!=&{&x zq<2xL`C3qFG|fLLxp(weL;8Lha_?Ab;!BcyR{mMimsw5FF*6&deK>-sIOoRcAL2g| zrM=jDeszdt5|Y0hWmc#DDj0n-;bJrctygCCCI-qZHSy#owcf-)nLVXRtv4}HW?#;v zP6jjk3%w1owPq?=z>~E(CW7fXK8*!zBd4Zp#@0#EvCt|T(zTLS!ND&Xu$pi8rc`Bh ztujDHfJEv`OF15W6VrHc&x2pOdFXt+P9k?ixZNaSs8gvHBWyWHo3zp@t#B!H-%>ve z!#uYg31;hY__8cwZ;I^MjzpOFy9}kX%Wr4dlvd$mt~ZqZCaX~WOqo|7C@n!!`Ba+B zQw7@^*ghw#l@-);Qkh0CDsx%N!4+g{=oT1hSk*OcaGp*JIh}qHE=+eR)toT~2>=~y z4D891mCNt4&p`sC$Kz+^c+_7-gV)F-8rZgE7t8pnjjXb0{bWcQYrv0uFo=LbFoc-M zlAe}X9n+ZgDi)s;q%EUF{b9ujH4zU9$d4sRZ(vBoVMvH$dEmeD!lbqa<2NqKwIL%I z>mVYyfMeG?c#&{#lg~g>r3gq2qh-3QbYhAl`5E(4>GhDNTEe)qGNufU#hSvG(yg7^ z`*d)Re(A~YQK@)omJnjFjSUrYra5du|q?~>4k2rwS2_$GLaCC!Mv zgDB`(^T}N;Qwd3_(3+PWcTvCTqqN{F!{DUT!C#d18aYAL)~AbZl&eQ zn&E@GrWEh`cU3B_gb(f+39t4mqojln?_#KDB&WF3Cgo;Y`VtyTkE%w!I8Vz$v$w!(0nP^auq8HMM&n9J z%kT6}yo!r9F7u=Tu6?v!{04nGWx%o=Ksmx{0M!ULA3zw3wE;jQ>jp48VgND{pVSQ9 z_DH)p`>WXhNlm~y1880UwS1o9Kox~`o^1b5{xSQOzl!}Ir4H8hzvKQJFt=zH*I40L zW1wb0!Ls$mN^HhB)mb4wwo&|ESV`2%GLo2r;iVjY>%#h>kEf8nOQ(~*r>MJly1KW` zoO2q*8ZBzH3NpzKjHoHU;#&3Cp|^$*s2_>)NVM)5iE-7jW{$`WK{ z1i-xspjIpNz_Plr3~!aPcDd355}B5}$s(xWpFRT?d>4kSeMUsyKKx&(TAz~%F zy;kb7of{jZgKp3&3mLv)h?|Z8O&1A3f&8$*saJ~-GGtPYg+2ox)nG)m3}Qd5Sn>F12LPY)3kN? zFHzIR4(g|_Y1^98VHK(nCRR?RVU|oU!-)i<1GzIIqU6pDrflHOv=!t&cI!tMY7-hy zhr-;JT0;3FFwfDG?c(oBy(PYbjvR<}sMMe(wo|;l#Te+2;N%&MDS4<9L4a(Ht&$}v zR_YsBC<|V6Vf9^+6^1qBj?WYTDOb%lK$&`0HDYz0-Xa@dRKnSE+NGkgO%x};xOr@S znRlhI9gzQ&AS=QtI|ex~r_~y@IbJ-TAS>gngv4%_tEYtoq%o47VJ+JPv7~nv#k|D- zeDZ(s6TcN^FGH(Q*=Cj%y*{Ng(R0>~ zs!2!Y?oR2RrkqMnmuO!OfRwyx$_f6dHNs-T?vx1XMuNm^)+2IJ0A*Sy?(v&BUjQ*) zQgUUcLCL#$SIX+lUIn$6#9Z|mV&0va^6N@Ut{Q=o1&}y`@XRggb)!gnx18h@VH+=A zoggdOSmJ@s?xw-SLHPEsO^~BVdUuUY#)=?6j;5(oLm<}c?i!nn z75_a!HUx=qsm5+Psn}$<*<`obBqXYA0(=Z)U1Af0;T4-;Nv&s-xe*qlP9(0pLtYpY zFp5QEG+%Ua7L23`{fw9Z+xmo?w`G&ZsdOYj4(D4 ziB*^&(h$C!Fu~EE>l7H3k0HySM3_LxuGctSaG;ct$f0#LWhhnCS{ibe)^jc z<0YMDg`UEW7PGC(P_QH)6($%qT!v2SfzN`>z6?Hl^v`X5CQEdL;nK4yTO4P4PQIs8 zJS(wTrGnzQt)yg!T11!fs$!+e+x{}*31lgR%YX5anscb8KVr5&Ia+_L?(oV)?tN8QO)M#ZJtGw!! z@H0vV?=H>8X7LxPsfuMGg{B6Js1z8llrcD3%jLm(xyUCxw~~-N^z|u1i~lcsZyRLi zRh@~RbNaL-q84rv4{?YRj&wCc-{e4b?)0TJsjjJh>oytHR98w>S3mTlf9QvPsD}Qb zAF5lbx|&HF3{e~t1Tl#NPH4*t7-B->k6;of5#MkJCW07(Gmw%$zy_Qkh@IGwJKX1a z*4q2s`+fI0r(3p(JvZfY>zwnh{k6W=+H3EZyfneEMP9k`m;LHpwWAiYoKa3>u!0&I zZH7jnU^`|=Bnbv6QWxHGwrd_FG}09kI?+Nk-Dx%s?zEx5cBkhGqBx;^0lWrvOVQi- z$A0zlD0%;^*d$5DVY5QE_4_6(SA|pay%MVrpQ|qmBXZS~ZCNRv@STO%x{szH-h1b)V2L|`E)QV5}Cmi9y$FPlS z+tQDAST@%B`APoF-5X2>_yNzvA+e|XeRxDa?6WQkrpqpzDMD&wZ5PIVG)*yS>EWnyoQh2EjPM z!h|NI`ZU7%Mx#;7d@{~-5ak{+djR6=qyf73?nCo%o(=>XfPLG(ic*9fK7e0Wb3s~| zk-NOyGtBUcZZX<*`#CjENfK4#O30N&30D{e%uhIzD6|d@mF>b8r$i&$wYmOX(I$Hu z19?tCa+M7%$-4A|el@7=KOyamOrcGf7_@(Q+FRm(YQ@x7s6y;YL^84whKmZhl> z8f@@&$olNvtY7uXslLKGkTq;nR+#HFhLTsi8Oq>g_N+W((7REw=8OQ%B|l-*W+Z%s zC{lA~it&CRHX<3}r%@94QTme9t$Nkw`t#R&2h@m=NzY`m)Dre5rSwj$!$t3QUOjGFiKjNSX2#a zgwE2vR&Wlg!1cO*TKUrwZ(0UVycx=FASt2j23qD>>=R#&R&iaDlR49`o!NU;I!^2Y zS57ZC_Mk2pm6c$^#@y_mf?#rJRmI(_eueTZzW~kgYz}~-BX9C+*O0a@+5io#TtdA1 z8Y9_K#GY|gFcetJ%{;_5>{3HeWo<_7P5-;N*&O$#%#z@0tXr?grK#!?S3F(=rLeW4 zA}o^#t9HE}FTh}UtU94_o8Z5L}~rY=Kh7gJ~WP+fWBbOi(XIQn)etufDu7_KzVL}YYW?n?3O%$^$= zW>b4};=?998z{PEYExFgNd#<4w56KV2iAE(3WQ`#Yi=d0^T0ZGXk(jaadRROSb~aBO zy#0am=WSJ{eC!-f5LN8z;%@C=yC|%iZ=kt6$0`hhg=|}=i>#rKuGKsA{Stg4?E;MA+cFX z|6P#tgv4&4nR4{`h(itu$?BE>IV7az0<6zR9TNVS)vW|b?47P~x6rIo#4s=ce)B33 zb5GFy9-xOEz?OP0KwlRr<@&V5Pl2L?h)t_+CUw=VUO^g$k^*_g6$m>=lp;^VNCDbg z@5URteHJVKy053?46ZOUJ4KvX8;m}+L>l{d$!MlnyspT>BOqcsV?&$vFOfg8X@9eW zdJJD>YofS)Ced9Q!f0{*4aPGi>n~1_TmlnP_MDWk#-u?${4*Gy6d_1!cpK{tK32(5 zBQMcu#z=G%q7NgVLCA7(%b1~0_&%8dAo^@=EjOfJ;J;#RR2(bdY1~J(4?p{T)l;lx z8vv~n<4nbrG?dL~l3gN}6jJCrhff0%ElW_3;x=z8RM;<47Lk1%IKcYN0hd$z-CL^3dDRuD44f2Qf0CNe7N#Pt7fP_CO`yb zum+1)i7tP-{<7Yl|2%(zwkBk8VOMRPFFXqB(if z->p0cFVbOG4n~%hB4^d+YzoTDegw*tE66qbb~qI`2<`^-EyRRNYy68EU^mOOttPXs z2J2|xACk%NZW@fh+;4RS3$Gm^0((4shHE&Jv^wLBB;3HKf|YaTi=k0Mr_<`>ZJ72c zc5*7|<6+#uJn+h^UiGFCYaoG-v5#ZEhGR)z$Gk79 z)G)kVpOB+$HAfkQg5VQV4d>n_@ft52Z=Oa88yy>F6~+ojZz&a!>9BDeD0P&pJo>sl zdi|H*HzGOmG?7=nK7m&bWxTS?@t2cvmwnuv!4Ahp3@M~@a7l+=_^^~ThGPUl-h~_R%*~TH zEOH3k#UYcrm_Wm!0yH+9@+BU;nk8y8D)8gMI9rmg)o1zpa z47r?!7g|G5%b54+eW8>;`m69l1sOCc8Q=iB!)~6~?mz+z?-Rg|N3H{gE^e?38ZM+D zf}Uk}<|(?CZJgl)Fm>#!J9B#OoQ<3h9F1gP_%(ve6zgh0X~OH~VXpt`boJR7x@uQa zbfC1Ok;HjxvVVU44bmw^;WxXufx-GN`V^YfnPKD{{8Y;*Jnd zfE^E(&C5K&&4D48!t$h;NMCXVuy&>G=^@D| zXGET9@C&^PFs7P~T>H9NR0$-9$x7o9_nMG4MS`!P8053smIHtxLccv|aY?U&H+QXb zler<5@9_}wS`Q&r(-;PfAtYCtA9!axcyUY=us4g{K03yS*R}oTO@xUf3x!35*iE_x zj1gnEJ}8*@>WVSO_=%-`Tqg)O2*?hj(u?D=e&@HF_4~kU)2!c(-FE7-K7Cl-adx_T zuv0xlOK7QGI?HkmI@Jg85RQ}{YRg6GlfuJBOJ#*-peDdV`zT;Kde+(fCeI2L&R~gY zAu?hGdDHw;&Y?Y#mO?b`VlCxbTl#x^%aCZrFlb0NDBX>Pcd6q#oU@YnCxd8^*2JTUAXo~_NWWxBe zZgbMtHQc&8>B^4Ng}#ZJh=7;^H3_D~`y;`*KAkgDh)4bNY0nmf@27~+jA<0ghbiD( zu48+t<2n5(0Eh`b1nlhEKv> zTYk((AF)hC+$=%hg^y3vw?!cOjDm9ESI_5E9i%4rxgTV5*NUrQQfx7fRB_l1*$SkYfd8 zsPup%5y}Zr=YNhk)7BkRF!yU!-j(R!E8~AcftXz$j{g7#UxMD+uNpY#$c=j5+K=M-u~Ks9!fi z4cXk?W}$z`ioA$^x|Lic@HD5EsYu<633}Se$VWTJ(nv%OY{afrSZd$J6ILn7Nt*8r zkU>Ix_|ED80Ljqq%<#9Z;rxMzz9hGN1kT}4Eu=WV^y|}J%O{-6%BDyUE7A&djJvmF z|3&0aS&~QdhBU$*G!zgI;P#ETOwZmAR1%&E${I=Fb|NT58oK%|#7jZy;;sy~ZO9r4HN!p+d*;FV ze9^Zhi!G&1t`y{Td4gUv>_#?5bj1H6GRjBTnB0cc3d)=y z@{7I;!-^)-UW)qG9e4>ji)OM8!#6SuP@b6_N>)Zm63h1HZQ@`f6-B6Jw>l3@Gf!An zrqnL!Mp~{XWki<}yf3x!zFffjBJj=)wrG$Jk+~1$2FXz5Lfg|tIg!8WC=1C4jvtq(ZW(AM`Ni3HI^voIR3*i~w69Nus?ZuUej}e$^odeA-a>+Ew(bwA=rVw$sx@V zO0Wb4t6fDmc2m_`9Wqm=>>o;WB{_pQRlVIIGvOm7glnZXix~YK4p|a8?E#w1VGjze zS9Au^-kGYix^{@n<}Bv~Jb*v}k}B^|&dFjy=oTg@JL6%B(bi;cTr?WX`Y|WiC-quF~X(1WZPm111R?q)lX?eAN~d?#a2gjZo_<01Nu?= zCAdXW6e4d;pbpzY-$a3p8fmmYGa!B3#E3qFHhnBA$>Tnyb7p@VD=qC#Hz{nFIZ0W| z6IWlr2;%ow>^qiLx%(o^dsAb1kM*dfn&EQCYA|05{uWiu_r9RED$11z}8M;+yvW&5pL@4!-MLa zzYY2|?M$ih5pr_x*=`p0+ga`9*GpMgFdsNZcfiGfzE8D7OjlQaJI%~8HB;SobDEEB z{lu+{#43}MCE9tzG*=6D&L5^(UOr?HhCh;Ui2#E^N&}OE_!rNC!kFN_{EL>^yaHD{ zoemUt&XNi+88axAX&Cu#NYalTdPg z7ZW#ms=D1FhwQMG?MU6^_c&z9`OREYF$t@y{e;+W2>XxGo}bg^Ddmm>FN^> zS#r;q>2by{rv#2kZo%l~SDvi-NYX^dqxORyM7owTmg_+~GIbP!fF6;X{biUYH9cyY z(7vpuU)U*Rt9|Ztf6ulQut=pouwCq*By9RDdE<^klr!Z8UzKJSy!gvHQ6gw$UTi3A zDT8!?YYjs~rs|=`4V>pR+9NYfb+gg6#8n(0B(-e}O#=~GJ&kK&@xqjX#S7o%uw|;& z3leSJ+B-F^&_>tTS!)`>2*xiq4_977f7r!{TnHm5@Mr`vRjmK_ef=fJ&+b~gE>_OMU ziRS6WfH}OKBt&o8)pvMN-Y&1R)qp+j9V#4Ma-EV$ z8i1LTJ5Edc2P7EO1a0`Zt(uj#J?7}RM=NoZ=i_3N^tNzOcK%=0c-=#`r6Uy}O3c$g z5!FP_^;-ft?bvP!Fy$+$pR$>xvJR>SQ;w>pJY73yj0HQd`L0O11tr&jbSB?zVxo2R z*f=M`-5JaPIF)xW6_f83QU||dIt(lnR2Za(DjBy=SBQs{K#tz3J&ytby44ct&N^M2)K>@2lY4-dFi|M_B_NIeByrRd^}SW! zN`nX)qY~?5y!k|1I65XIj?P`bF6)p9;%IMv<9D_xh~yKAVVxIZz94wzF<&t6+egO! z>+du%E$f=-LMCF`wh8}JY(P@^oqOl=y#aaoT`#T;$ajH*g1L_z1aFPeg{drAyYU;4 z4<(C68bcc_6y0*PQOe0P#2D1#Iw~bUPIsBN7WW@RHX^E)++lMwnR~s_q*F0z-O56k zPOKFa9%eF*Dl}c{5wi@g>q8nes8{&kiC5PuTB~PDOF&yAElDv(83$0zoyQKf0F-Hr z86((eU0KSkHxNE5vA(^H#|a8@>l=@h)hq9suC8;tf%AJ@_w%yx*rO?7=iD5*Ce44$ z?0M-m7GGog@%Ie>iv(?LKjIbjFAb1SI^;n@wzePfhWb4L@@a=OCoG}q0yn|ZEzN&& z$e`;Z^`Yz2Elq4czI(K~Pq#F2U8zHs{I`5d^UV$k{|&BHGEc6T`%`Zb3f5OR<} z!jsFlG=JS8Oa5HGrTH5US@Pe~EzPOwZ4R0FY@7)^wR}tSW`~rFH}dnor8!aP(^5`u zZe~JHWmNU5-}Z4zK3=*Z+OK}cA%iZC6oxKd@%&4#`rUU=SC4e6C!qlBA`z*H6}p!g zaO7SK0RTY_v4VdK`=q7KmWGNLwbxQg+PGuacA+MeCQRHW9fph-HN*z6@sg+^j60); zDacy$5XX1EXusOrF!3s}?J&9HcdEL_Axmtl8@#|V#v~th$P(M8 zS7G<6k2qwBZHM%E6Fw-h+|U_`$QX46-7xK>Pek++Ifiv7fHPA$12dpU?!q57h8nzN z@tJamar?kefR5d_Gojp?JC1!^WFs1;I&;V4J}#N*;zmfWvo_6W5t&JlIWvvERWUG= zG!KnR?XUm;aUZv|%hzBB+vLmHfp2V?q*|nA_@|s2(Kc?21*%kWXZqyw`Dy5E>Q=JA zSbfri(_n5xay1XcDhZ=t16|CR#DN^`rCZmkwULB}ts4opUu)zFE9j5toFjooS!eIb zXkb`0pf_*I!NzKsHjZVUrFsxU3tVM(>T+aCVyn8tM0AX^oTEP`M$B2(DkvparFj(U z`}xmL`ai{UWtc`2Fh6AX5ZM0v?IssU-rE7U%@ghks&o z{w5-|v+cI!Y{0(d99nXp0Rv;|a{uEO8^i+-X||AUkE%Xo+qoR&&M_~<4xb&fH{=y0 zSxSq3Lb=vEZf=9UgkX3lYcv=g>U<81&1p7Y(C5J?j6n zz5R_M7@~1kb@9E3B|e~ns{J6lU#pnJS83qX2}!2T?l1dM7luG_Ll}8CuJn*^2(u;@ zF=;%VChF|k-*o~a=i;A`qC(Fbn94()>L1{V;X-mVtGyWLF~OBWFo_=zb^+lvq}WXo z5-t?SN`ZZhm-Vo_#!aiHTfRHs+pY89VFD_z#gddV zG8ZIJ!A_YbRFKiNS9k;%#P6N6T5{h$o*2!oZ zyZU(;x5Stpb7bT8%Hv+JcT0P}s!Ee$E|06+qX|T&0l8jmW+G&p>k2s~!iQalL6RKN3r@T(A08^N~gC z;5I5CPM+G#UBB>M`XPA^l>;;JZaVpa7P?IqAc-CdN<+0l>K-(c->aEC5oaRxTWddy z>uo}4VHd<}f<{d~DO?&rg2zTuqn@LYY64BP8Yp?&XiXfH)KXg7A$zE5zbKgUP)C|b zGbbt07>W!;xWE+&9s9W+yJ+liP`I2~uN6FUI{jT+(3xEm#QfZvxowOFKFjP-kK)?qdYQ>smG zqfOM2m=ECWsSIsfykRXM-W&I(;%(ZKOEDLc8=19umt98YoJMQPQYvM|BK;6kcq%1l zL8eg{F-IOeWO99|AlEA?DV7tt&iSON-xi}4JZOC%^!uZHvrU23L2jEU9UhQkAyB}y zo7$3PTObJ*U{F!bCUPt=Y7Gs=#j->5gqu$c@4Sua-iau&L`pRHei-{w^ipktQIHjQ z6e$U8>S$21trSWoAiCcNxY6i{!(-W%RtzTQiqp}}mgU$ykdN-lwj4Wss~tOKXh>X> zL2oHl7~E{fB64l}omO||DFh1T_qk(A8Z7VQDfEG#rE*Qb)O-$_#`LOCqN9vCN^IvL zM+w7E!}#QIvb~1bSeaTd3goxA`~o%uF`+-?Tg9Lb8lXu`^T))HNTWbKCA`rE<2WNS zxRzkWH5vPrINg**yCEh6C$howT-X8Ki*EYF++5s??xUd*c-GnLz-)3GdXV#x-kSkX z8Lfbtg{wqMc}F!;5=pvBF3mvSfjk`0@$Qh0T2UI(PK9=MkGl{3bN7b(&<||qK6D(i z`NQodFdxVgn0I!&yWk|1Tr(4DMGl)%q>v*Q-j{n2X)Lc$es7Eb@del>> zylw@tZ(QCS`E0K7zNrI^Jo^AbXZ!|<6+Tehia-}?^aoUw-mP0 zc{j6I0}k{|oG!l@hZ}7wg%M%9N0ybDsj%GxjnB4RuJ?989k_Rgahr!E4ucv{jE9YU z+R`|T(>$Dj^7Kd0z9E-G&VN`uFroE>)oQ7P5Q~Rk4|=2JvnWqN9`iM$YpW@cc=EHY z*^tNO8h^>6%}hFXx4t2R>&UH--N}!vE8f3b={u&usaPsL& z!lx^dPhs$c5Ay*ydLD{!uTHTF0pW))H@-szvgh1x+UzB!=nhTkj$VCsT=)=w{K<6n z^D%dGp=ap7(2E?B*1R0RUGB?4ASHI^WWZ zX7$_V#h4D|6IrKoJw`+sZaDR%qnj`$*23Fd&pKYu_Tb-OB4^WyoVAJkc)j!+G}{|e zpc?{E98t5lNwW|&r>eU!P42#|tND7`eBGMAY&Vpvm2GNX|J3Dd@LuWqhMRwa^9n+E z73frTuXp;iK=A^&njB9DP#m3&OMOysPo`ZyX>eXH+O6*MF0TmmO4{X>0P1(!XqHb1 z?uoR^Ck)QU#m3V|yvxT0%Ga+%rg=Po`XxBpzkF11j8tPe%A*FSxYIcBvVbn9on20W z5?X&1lnzWIYEZT=Uaa?`UJI!JH%U4aa70G>s_vMGWQ8V3gv=UHoch|PsPX(2P3|k* zVrQ(5nd^Neo%vU6=81qkpdKDbfgXrJ^=c>p8y{^8fX`buD!X!sOmInEUm7>LOX;|m z;V^`919G1-8uZH)JTjKp`ulI-9bEe?f^FS$u^*;4;UkZ9(0F8B!)FJl>@SgI3 z#K;^#628C3dNDzk65Lb|n<>y{0ODG?G?td$DY!e!BQX^<2asf>JFSx_-@ormyF>ll zk%Hb4K%s~1rYTAI1wmc_WE95>25A>pY5E%i+DNi#!d{E|6h&R+ zNS1U9R_`o+v$Ock&f<7$M6K>_Hk2fCeolBhmjay&Ksk%w5?LG!dfBOXlbVOOPWTtu zh-*MZWhQ~GXg<%@^Sr_5d4tdMhI9(N(iV0mvC-@5dp!kO4?y`m&!+Qy#OHa22t1Qu z;*1+IMNa{DrwMgBSDH>rVcv-?Xa4{BifCfdk6ko2VNntd+P#*w~lcTiQ5fzG69DOgbOI6 z&N?I@?+ovY@XnSAx13CR+2K^hYE%R%>3l9lq%0az77ZzlgF2duK*>x8*?;4Jj!jl+ zgTN)0!lxk6el4&OHV5M57t+a3Rp0Z;&l7Gwnf$!N>D>^aw;`d1NpC|z(K$%MsPv>5 zCP*&@v*8jDXU9zd;Txf%Al%l=E+LBJR#H7>1hD|}^9NJaQ$FPZ;ReZ+5o0?XlgjvL z+Etx~P&eWMp>Bi#`#kNP#z2<@;Q+{iIh=ReQiZTL+2ZSqebCULH3hLOBHlO!m=A-f z4TqOKIJ&^w;Fn~D@EW~OpA5}8!_GTRtKHetg@T(sR#_f5VLTY6795 z_8RcT^AQcJeExawl=-XaG7}#v``p2fL|HZ>wQ-TFZpAHga8M&-%gP3k~ zjWvmBJACGqRbq)acG3tmp#H*wMFB4{ML4!Vlr9+RA%~1tgnG!~Xw+v3W<&j40rf+7 z=Y)FTjVsJiPsuZ{sN?nXT|(E!@6iS9|* zln7m7Ek5IzYzq2gm(4h2Ivv$um!UA!%ye2s9$)wZwsCzdet|w-g$_(l9h;`llS0FR z1es#jNEglZs0Wx^;vb12{>`^wtjynfu-(eo9jZLA2h*+I^mz+ta0|b*bYy5~={7^p z$wGIkUiD_QGl!NC^AoD!CyH)&F zl9~Q1+Ep7to7QT0G1UdA-WaC~ zFs1ssR`U>|5QB`6Ix2Sc7?(!wvHyrx-RscIRhU68_GFoghOy=?V_a*3v8~vONmqfY z*a)m1a8y2Q<<&q6-_kY1@v}7>Z8gD>`id)XF9V{n@ww6aYRNrm>aC=;!VPKkwQoaT z!T$%o(;2!;LETq!5S&3sC2s{~Q@+^%Dgrv1y9oR@F;39ct5Bh-j2)6B=gQ_f$QzV@_4z zWEd?zF%Lttf?2f7b26e(1Z*I#2}Y&1Aho(L5kQUPm6Z=AmEI<`nkzJ`oyd{xZ_<>K~ z5T82oRdi0wqC=qyvT=iJ^s7M_HcHS}!k*~2fiSzGNEQJug72&VY*(8@g*5KZ+fo69 zMTXhBhU47%(`=SP3a{_zVbi@@zhV7l1TjA1qnbtghHMUC&KGv)`f|Q_5vJbDMXG4~ z&PSHw^U}po6Lzgv;;MAHo9oYu?aF(c<^Nxm^q?<&PXFRg@Z4%W0_o47E?2!ThSYG!q0(7R>z6v@F+z|*o5>=Yj7*U zP#gmR$qa-dOnT5*1Q-+(zWjN4Gu%qDqLsLw*icb}7NdFaENPruQnX?Xy=W!$0`=1# z0y6?rKk4|84e^jb_<+3YvebYN1nedvKD_!i)M$9C8QJRaVr>lnln<{2D1vxOiYY@5 zA75Dw!>P?eVU%A+Q$`AgS`B3p0tZ*Ht(8US7kImXVtfz#4H7Nx!_U>y>lNJNSJ0^7 zAS;HGNhhr>3P9g}UqNJA6^h_&qR?bFE0S+i`pe(YgfV=iUEnLbE_D_|V@3fJ(U54~ zCi&jUz*Z-ZTb5y5<@3+67=87};cTF1P;rh7*Bi}&EM*nfn>)&llOr#kV) z*>r+W^NHv4)$+7j!ZU}b%wY(0ia@6lxjp6Amm7;mtelKfY#^n0P%PY9$yG@+oTOJ| zkr>fwF+}VV&Ja?K8<&D>FKp!P!hF{_-?e1EYrZJk=BRGJG+jL$Z`Ofw4-HSS;fbW- z2{oKT{@doE@z!l?1&tDpI36b|We-jewXg`fK~18^7f`IPf1&-9&QQh@m@mXh2N=`$ zk(XHF7?&{OW!AWIKClF#j3Mm8l7N9#K3GjKuObp}&!g;% zTNS~49+gUVraHo>N0O0_lyH6AJmn14hp!IR=YI3zWK^$zp}xR!9IClJu)-CLc%OBG zYDyp>4c#H`4+uZRN7x{VHt~?qph!C9ujPEv6#|Pdwnah7oLYn!LgZ}9xuDxIx~lz7 zZ5vsvpZBky;;9F1nJjWSi!pf08}U)H(nYNlTR{OA2ie$D>{3QZu>+BC5SS;(7Xm+V z+Y7O65MdPqEd^1O z8TRq|4wx8!eTS~jC}lC+H(`1?^*oumz>Y?ANGznWcVbho_!(|W)Jg3@0;L{f zqcvjgp<--Z5762Dno)-)aC+pv?S|M-|6KZ_>@U4?OCffCE)T@S0_|L$Zf;3})x}1z zdQd8A{Vyj5t5Cs-64nWeNQtcktF0l7<8J;-S~1luOTDoi0(K^iUL(-iR< zB>Mn<=OW#fR~sPA75raI_A=WokCbfo<$TTzbGzJs?EGNazYrR|CE3iw;>* z10ss60VHJ{vZMxxKQ|c|{mTwnQUfb|E1{`@Xc-)-Jvo zMkmo;)ENV!dIJkY9(7`J<^_;3*!W6Y6!M5Zco|7zEA{cp+0B2+7{KX({+L%h_4dNNV$B%b-_95eV}c=Oh7^HvW3N-)^jIfN8GO3Fa3WT~ zAVQ+~9r0FI+GSQd`u0Vu)-h~oef62A{x(1V)D+>@zZP7i{D8gireVD?c!LPbH#)A2a7o>2{O{#wHU>eLSdVMqZUHd?FL z_HZn-!h<6zgCx7njVj|6(0&wcv0~d)#nhw)LqZ+j1L`fIp5D1Gc0-;A9I)|F!~Dfy zIbhT(^LUO@PC4pC;%N(@*fkm9#k^abw|9EjX(Ar1kM}Gj7blsp&kqK!v?bixL7l9(|?#Pwr zoB*QF{^%)d0XT|mGN!em<;?b_lL0S5F^B|##`x|T zE#EY`jW_HPEdTj^$;G?EHt|Q|uS50rVvu51lq5r+l(3ISZ#Gi{SHwzq6tm{&!LBs|sf-IJH0K1eWpcaaiGZSjn zJ@}ySZSa`oApIbsXd?k#N(2;%)&}n=6l#d1UrXKv?{tlKfOOR8O4(si5f!HW>;}P> zNd6r+vj~w(YPeJ}A%e;3`eW%aS(8R>az)56fm&uqiKLT@ELD>WlK~Mn9}DEd)0Ux% zuL}g^ha56UZ7c$cTUTO>ba?~yc3)pEwhPK73*_Br9nHhaHAFox`B;J34+N;tH#0_lQnUx&d2c8pb>qfY? z&S_yg$it;?PFK(Yp2vDFbk4JphjZWFsyw{SA+Jgv22@Rh#3~G0s>yOJIfc9&bfi^) zt#GI7+tbx6Yot0xCb9GLr)JK5XUk}H$g4tYsrItL_&R9RFt)tXc#{7M6hec@!5DuU z_S^%V7WZe7>0Wvxkx<{6u70j2loa_tADJ#bxm7ZK)FH2mOr?8&8)Q;-OoL1_TOddRNo>I<~P=HQo~ z8PETDGYNwYH%biHYil^ESPu8sK3s`DdSOAKHMs$FLVZ6Lm}Sboc8wK5HQ(388Yj3g zB(W?uSaKPqPT{jYRX6{m@?lTmL^cvdI3GeM0EMZ)Om5X@ah38v0eARv0QQ2Z1^^>= z1cUR_GCuXtjKy<3#-mdleTAk)^B4dO4>6C?X`h48r;w?b$hDYwe^f@1_(TKlyDZmH zs$h~3q7O3%k~SBsUKFdYxbQMK5mSw+j^w#U@oFR2X|T9`bCMKyg3J;r%`k|RDrcCV z!yNZfan^4Nvuhj@FKZ#7h`5mzI%xW>fJV_SzV%>!d$<}=bE+Ht+qinltWtst;p&`J z(2odLLvj_8P>iq@EDu|_ns3;G67vO)M+oBl$Ec!l?v5w?1DC~O>3Q6>%aBZwyl=5M&TJxxaX~@aH;(ADRCmwCYq8yS^BcpX*^pfBgsjk zlv~?EnEc=Q@TJYR>`dgq+X!E!4L45KPtvq-7AJ`8p-+|iv70E}Y=TgXVS?ZB36@fV zx&gr4btsHK6?*x z+g9Gqf=qOd9C4IoxNa+?v>MBg69`J_lxM0~r2tr)2&zTm)-yXW6 z>gg5igH7ROB9q@9`ibp2v2V?s*pu<@{TRJl1hB7Xrlo^aFCs_mP}uT!HCPucBg<}> zc0ZCP9=8d=j&lJ$EGF(*-d%6LMhnjfie5DN6)5LORH?ire^B+Lcx!uYHj*Pi?>kM* zy(Y8Z_iXdEvKv11fKC9ppc^~W&(iS4jaE0>o!v)bSWsih(c@Abu)`Vay;LKRl3?OL z6;NO9ly_hZswut?r|wq2_441~!ikfF|755eOGp>C_jP?pkr}PSLiXo6N;`=4;5?P{ z+pu7NB;8v7o=u<|7@!LVh`4;?k8i19zj6N#ZF837uP%Kb=JcPYD;&as+a^Bj|3<>AB4+3Q_ z8x@lV?{&zK%Zrdu-r=qq$UpkL!y!wF2)mC)jsOf9X1Az2OZ*f&qdTwwl)WQD)&YnZ zD*oUDnglR>npHD=7;|AVaAqhN_yotqKLNR}nzX-EZG!b4>QvvyL=-WF}FuqxFwJEaMzYY$r&th zXxP>z47bQab|7}*JA|>5NC5DTL>#^V69De-hF~9D5O#0D=Hm~{DS{kz?GFymMH^;{ zDC$)f{2)(HBwoLx`l*OS9nysC#9WhT7PWD2DgBR9$v`6sQUWf5j*7UDXxiPULTE`f zsqjs)1aD@&c*71|fn8Ef;cdZO#8mZhhYYeA6%JIBzcX0N?N^_2$UyH133?}&2v*b8 z|KpG)!Y5Y=BE9n$4jITF`vm!Up`cTDC?(dsw-4T_Nk3RZVgkvi#l*7Ia%AM0##})8 zexjPXMkR`?sV8JkvMY%|G^I#FG26NG$)!a8aKw%QSmyE#JGQ!C<`V&<Hetx?i{eR0|r}g=v`B!kDrr^|p zM|j<@_~@X&cZ#J1Och2&aL828A>9k=2O_B#-RdoxB?KFq{k!t!9o6PdJA7w?uGccf zUT5xtT4=djf}mp985}KX(yCW&yv2n2AVIt^LaGpj5i9hd>;h##o_ELvLM|kp$pRta zLAj#nRTms`o{$ayEgaCJqUcrcamXPd8~$53pl6VGIHak~WOVp%;eeh&zTY8Xb6ft~ z3J=kT*xl@OB_kRN{RV7A4`vTK(`WkhXu@JYJX)k#)u$zVnp%ov0?MbB60$KuhXsGj z4mvB(z$3P6mI8%DOEbGYHlt1CpR0H`SaS$s0q+KLER+;$IJv5IDD+Q;M{|a8{KdCO z#=M%VwL-9thX14wU((hjtfP|-nK=c(ZS9?vC==95eESsC3fm^cQT9O&Dgt?QxFQEN zoSKB`o(HC(4V)z_i1rqyC`N(L=VE^n5U~c)(dZBpREJ_+_$FIl zK`mJjI7wC(MSgvNk)qaL6MT4IXmv;at*k_E(E=+#QD!YP957Q7S@9teW!Xvuur2^SalVs6|_nrtSec8uZb#^xG?5uT`yzk=%0kvL$g3b(xxZ`?&yLIq`J|lFL zHU#_r&W?EJFQB9+?4qs=6GWln)H7WF86r$QHQ@Oy@psNN7k-+pPbUzk9U|nkG{z}H zok}oxN>H93!}}vJXTIO)B;igby`6M8cLdeh8iCf5&ejCvZ_>aei{9A@!ktJuJK=Ed zE2^{O1UjB{c3eR2clN7)@Xn4A?pV^lWq`=~)5uA^bMIUNn*J6wP*gYYAJ9>fekuh)5h5W!_J(WauwC-6tF8MzxwX_2DGKetORtFdmq7d}Cw`8k z8qjA{lia+^5#T^YBQnE66G@mOvKkq6L4-(4C=JnAL@9hdKsnNB8l!_44BjAtNKgu{ zsZlBpT7OrYgH+R5R<~F;yqJ8o5uA?_{(v_X$tn)ImW_QMRg!gWfQYlwoZhg#If<0o zV!&S^H86SQopC$kw%1WFe4x})?lk#rXwgT49B@8*zf1HEd>;b@QBDTy zU4M^K0^h^JX7z@ln&2w$Zu2Z}S2f|tc{YM$)Iov;$W3@}%9zYS zdTA}CSN$eP_DH9CjQrUkS!_&Sjte$f%n4Nk0m%uWz!lkocS(>E0J!|VU}tnGzY6_XxTRFlXY*J~zkMkLS}4!qiwmNc zatV1WGgPWO4KFlc;YLPI8BK7wf~hHn2i6B}DE-%YWv-n-P^lm>2*TFbRK@qjeaJ*v^gjOTzAtPy zQ~g+0d-CpXyQ~7}5eG6;9b-c*KZ_MRkg!hmRnub6M3Hb^2|{(G3izs^%kK$x*|j+L zUTVN%*+;BZdGE8EV6S>qqthft6H<>ICYi27FAysMkDurpc66tCQa;TZ9yClU=N~b- zAXe^F-$-zGFB5*67EMG0)s`XbRNt}&C=#arNg7bkrnDM1zRxu%r4`mluv7qZ0PN-3 z|F}naP<0484uf8-8_XMNLxUAa1fcVpAKt)&pZOrv{Dk#2rwgAjoBm+@bj=8}U!Sg= zM@^SMVs3lU!QW=c;tROy`OAN44C<4zMW|!=A@&-XJSEtnY)F4L2O&i=i6B+!+SVi6 zj&S{5Hjs);KMiO96k4SA0lU?&(EU;m7!=Q(vS1P|erBJ1k(qrsM9$r-czqAuuA zC|nrv0kjp$3I@}DJ)JD0jJt{rIK!=k#py&}>Mjx&k_1yn9F0t6(s27(+)XS{vnI zbWvFbdO$M5U5bH-+$9;N&g>^)!6Ahzl!ySxDRWfLzqiDP+F}oRJ+us6U!EqJ?^UJe{nc z6&N$w$Hz|AjHyqS^)FPloVdIeT50NCIXGIZCQB)Wwe-nG(;AwBSqlyi&{6r`?cGym zwo*o;Y+%@-Z?Hn?kq9!&hGiBOg--|Y3BYqc4G;^A19vAE;Coo=$`!ya52luSTp0-) zbu>O*hc>V>ckc*=c4d{Y6|O`0xKpYYd@VQI!@(3XzUjy~ z!*zOYS*SP@G7E+Y=TiVNLk^B1{7nHbv!8*oJk6g@n>JM!r`1JNa17yXdJ&sZTb_c^ zny|~@I+u|Mt_^JqLgDKW^R*se#V zVL!vQb!lURI{{SKHn@6`#;#x9F6#*P!pg~Bamr+`IAyK>3}M=v7O^5$i$6^uXB~BF ztP|@^F1^o0_7vexCHCc%hKohB36f5dHUlP=zlg?o?IJCyqhO8QtT_U(cM&PGmd>6I zzzIU0aLCf`MGR2sRoHgGake?0^m;t)^;78e7$NjB6#kn)9&4d=!I)hDB54LEsz-|^C(+f#=3+fJAP#LDNMe|jkz&u;dCoSf^ zMa~j-E|J`QS%b@IGWLTDRLas@u~W@d>S3ZDd33ZMnd3NfzQ%UW-?!OFY{YhS#?6&I zkgN@^0hC1(8&VqswizU_gE4r3A7k(`al^3uof?W2gnZlRI0Jh48* z2_VH7A>c{X5FFUN_GDmq>oo)wRdC8y92nI>)p}aFN=cJTiA(N z3ggU3Xs&b29Vl`_p#R#mnGCSX%iFT6v!D+4uw6FG)D3N!G&dg;?iSP2pBLcz7;G zycHH0vwo>l2rc9{z_~Ib!XD47NAads9=arB-J&jU(VN{c(Oc5KZwY;C0%S6{N&v!+ zGK57MWw4HlU770EiP;RgP(}!g7j8Jm2uM3)fV#E;r z#E}FN+22An%U$9cIq&i`yM!AWrwKQ7WS0}!=v9nF zCvedzj(EzY=TtH>9NQd;Ckg55QOkvT967fFzpk-8d|j$?wO>>FJyJVz=T8svBz@KXiHdauygVFDdaIy)>N8xEa)*gIPx z9K6%W2P+Q8SS)mQh(K^n2V;SMIVKIm}fVHt522(*xN29Fe-*>LFWe(!9aaPvuL^A1NB zBg||_pkdP4P(X6%Na;WI&gKZ`E~1u+lp6+xOA04GbasG12a?X<9RkRQBen*FaGy}! z3<88nnRGOU{WA>96gK#gP7I1fViH%)_Ifk=^kH<^R24l$Bwr^WpC75I3gBy#`N2)Y z{2YSw!;n!~YakdWgGlGstNuKnpBzkg)YJ?nUd_z^GrGy~+?9+DUkyOM0?to4{C)xf zUoAqwj(*gM(cvuJPt$O)DuM$tsPXS)>^X;j_CamKqp|`KJUBtm>qK9E8q@@ZLw*|6 z1iZ$gpSD);(~iR^UP%wVoFLs!)a9hTCH}`b2<5z4W^8TT=KC&bO+pd9Iwk_MWX~Eg z$<@$_yYvS;s+UG5&VqIB(Zf8wwkOCygrWz>$sVWk_LACpGq2xtA0E5z6VZ>cPb*CY z4K_buE{nzNhC_it^${!-r?M-H){UNmf#zHDno~J{rO-SAknu}lH~~DPBxPL+#MiCELEP^4MTIClLPFiGVJxa2AYa3wk5(MM7OL{d#UTKv9BMcy zy8r+L-s58(WIwL!1O{D4un+*TaMObD1c6X>Yhf~6S}E2RfH43$5bRWa7-K@6a0$d} zh_B-eq4d})BqTWW9H$3`7h$0A*23I4w1vb8R-x? z_OW(x&QNZVbD-P^2EL(2TEoBaT~tePMOSgCXzLjD(J^YFm_(C4g2;{1N5>2LXchVh z71?!x`)Omm(>#PHl}^9;BrFB_!K29S=%-7!jnGdPfSFdh_<PTI5 zYNRe&6V_h0=Oy|#!R{K~&^^OKxB(ML7e8n^=>)-CuS=w$*9jJs0d|kf^4XQJEgJ**7WOl|>qXWVtjGe+G41i$JPx?ZFmW*I41{Sml$3Da{54~;= zBE6QvJQI+}u}x1p;BqoH^ko3V*q`#Tp$DUnsI@E^SWqV%+qCBE_Vfu0S24~L+Vf1n zHpe!->3|LW82~Z%r+w_8LSuhWp#%&1gkzf)ecc|sK{k4fnkPKQGr>yqtIv3sL4C$9 zp*{%~)CRkpV^>Hm!a0k6qq>9|J>xisyZ$-v@&LgOB&&upC0MGeOm(sZ1h7z{ad@cE zGXa%US*AZ75PCEMLXSp3s_>vkBLMVh1fZcX4eC9?ag2a)90{oTNvlYYD$Ad1nZyU0 zaGGlU`Vl%t`_1%h&Nzb22l`+rxZ{48Ya3`%`9OjU+77E6lW`24Dt;^}`v^dcNozFJ zd;}oI#J>H+p7d?rZU@fD4xEu4Sg#A0kJ11f#q9Zyp;>kS`eBqESd|@6J`u#gZYDRJ z2bNHTia!!R9fom8FDWsiM_(0Mc|aX{Iqs#-iFqFJKL~^ffo!X(_L2+_&x5wwWY6^yl|WdV7B{vb4WKG%5{MR=6U!HzEN}T_ z*$P$-TqLSBxDzeddG~hJQmQn-I4KKCXzYd!3T4` z154mj##hgp?}DgDzJsVw;=2VSu=dr!OUPodwPbxEMa6v0Hk8)6bozQb*nvR7hlxczZjuvaa<8#eiF;*ihH#rtXHT;MJlgZ0hS7`WAH zaIU$&(FqkN)A5{Q5NvKA-rKQho@Bl-ABhT z^BQoj_q_C)*_ZwJPh1;lyy5jihY8T{Z+FOLLM|teaGh7t;mmA+yx@@VX^DI-hdcQ-?5z^I>`h+@K_58Z6=novS zC-Z~@y_zMC{?H-KsY)Q>Nw3z4BlP(} zhcxAsK*A+jt$YnTCGze=<{xeELpeJT3fAx zPY~?Nk-c0eH0<>hZmF)bRZ3q0A1yOt^$D_9Ktf%e2#@L2o&Ei#DOyIWQ^hu-T#oR) zHgoh}#}rdOs2T~4fkarNm{P`$t^rk3{9=QaiV@=tub~tX8a%B;{8q#rv~@pOJv;-f z9$79cmBmx~I6kJWomnE*7vLEVHexa;CbTPC|6TiNixC{Prcd6zgO%_=z;O00*T7x4 zbM_Sofpk~u_yadz+U|jyhkh=7W5M~JmB=@|O8S(BY}htxYfcUHR2ovX3i#-#^;(6u z=!I*opa0BWxK;-vU4%Fn@4;+>VQv9?SPzZhpIEwB0Z&E9)>(-r*5Ft1t1Eywn zFjVaq?wb9x*=h%qonrUUL}FFqc-;0C?L^i>U+AP-74G`ibPV+GVPkZSW$<$$1BjLc zydW-+1Y)=7ghAi2!VPeOot2a4h z$&L*ZJGQgB(IHEAEWI|dU%kyCOLlCS*s*@~4u>q+v0-Azc2vLPkR=i0L6MO6*-^dQ zAxn0wJ{Qu%Ye0VAAxm~_Slh9o>{#;@D*P=nej^TAF*89)n%77>sBsLCnZy=}`h)}o9ejb?)a}|;f;370SFb5&WaQRJEcFLE?CK}_Ghsm`t zOFa~@jprk=edUWgs(;@^HuRHD`!=x5pIb=$jHXtS0;@_Ila~@>c|uHn z6NYFY#rnvRVyOaRHM%HJ@#+9BN}~hr1-Y{o`L+*LnO%dx1>h0{qKWJ1EdjUq?22;4 zYY27V4FW~>o}sW917C*4PWd-^?)^jU02URBV}w>63U!P;FfI9>@^rM9Cd&XJiJ1#b zqOtORBX2Q9r)xz%*NR-Ot=y9T;C3CSzsyc5zxAi=PE9yY@$is|LUf!)TQoBNcrpQv z>wkkX&&PID@4*GUH|?y}-@3E)a;HF7;aw`Aq$Vd}oV9&W0u6RmVn!BQ%v@wwETiE# zMlD&(E_trObz_StZhq*g4*6+x5rw8^2wFe4v-+__%p00Ck=B4KPl8+Tk_9xkleL+J zi@H5ceVZ87=q_10&2EftD2a9h*`q|8Ma5l|aCUiv>mAZgC@PLC+b*WhZCv@e@t8(6 zj@PS@8#mszv)b>-R?#uU*NTpXb^{Kx*+#<0=3V+rcCrHHebIlyUHmZ@^siq2lh^&! zD}H+K&;0Bw2m8#i!i~`H*r{sV4IyX)bBhUz4JZmsbN}uc_@G?~S+DxIL*FXsP{8b8 z1if$f%qs)*Cms400fdrd|03wY?wOwr(4Tf_)FxvgIG9z>#7mN2xqIek0`zAc8nwxQ z4zR2R&Q{_+K3wHOGJsHOKx%&_A<#=BESnC5JvMfKVdrUj)5(_slB{ zx?g?Cp~C^KWZqs=`_sE;eoD}Zm0s_fn9D&bABuaZb=1ME3}}ME#X1r~R6)?VVWmm` zXC`*vK1osT{!F3w(-V9D&K4(sI`j@p_@HC*6p3^y!Q&|*{S~`st}~=hRe$ZECkc8o z0X-?upV~e1lL7Q=4!TCrwFGocpx5o5d3gZ6?4TzIdLjWmA<&=PjZCRHYN~p~L5~yk zcmjG{pfBHzRH+NiHyrdBL60S%#{^m@UwhT#4!TOvMpXsKUT0r>)wdkdtNbeW*b$pjGp0<_M-_NyN_=n_Gf63``q)=AiY^+N|;Bxs}10=>p8 zY$8AhC$hM`8pl*PGVqc?8bWlaqG^dE#)~I_P-64O-!gT(z=Ke75-H9R$pc*3xH+D>PCRR-9h1~sFXO`Kg4DLjm3!xMz~c> z??xUGFNwgH%mb_bb~Hx9xjE@>4~{hFclbo~z#U8(9mGSJNGw&voNsYZXnjm0p(5fI zfX3`WGUr_r=ZuRjxD>6d!OyCe4pg*D`ibXW^)8=C$(6=LLQavOzw4kK&e>xYEzd+I zmJQxXCrX9Pa3*6RGj3rj1v?F2uoxLPY7k*BKEahv)q?f<8-B{;q*QH6~Z;yUg zRHq%uaHV=tR~?nYYQ%geKPi(uTm2UmoOD3N1bs2+G^A1mc@zR5Ap`KtjH;u?n`P~F z6;FiQy+8&9Kk5LfR99$l0z>SHLHvzmA=&;e&xj*FOE0crpvuJ-;~k}vI42CiOaeYy z7B*Szf41rxTWk=87-VR%5Q=oML6Fkk@f@;p`LS>gFX=#Fz>x(Hnna`kW`ioVN5(aC z5nw1Cwy=pD<-o%gJiC8yJaQT_?T>&HQeG%tZ4)-OFP*<4F7WJlA?a(JqOkkYH+EDn zX-1XpFuKh=H;%{8RWpxC3IlZz`0ANwBDTIEec2EfNKvYjY8D&ME1!H}X$?p~uX^%p zjl18dn7NG6`rvxMMC!TL2hSNvCld9E7EzM~c%bIQUM#jsSz|&kMb(_Y^qVJjq|1Y9 zZfMS!naTDEOy{XBX3xFbbn?Yv{k_GW9cm2gEHGN@J@z7(>QOJeEK4o+HG6;)RX)-cpL(7p#W)_zPRZm~4*-eG5Juyl=!%=ELFBxCpjC zkv?rVH|Pls6FRqiN**3}CU)L7FU8L70_SY=k3nJ{M8DXB#7DN~@p&F%e31C!R|{>n zyBd?}uQIsG0Oj`QNi969oK;H=m}8pdcauPYfhhA|xnx3VWbp{pz!p^XBsWGnASYAE z07FfTn7A}mNb=?}DD#XHU60#d=!pa(+On!e`)7N%C3hgxuf_D^ME$x&osv)~dXSSX z122EaytTfNX-GKl*;$5m_;U4@;hisX7TIDh;Obc9>8(-m>R6<$F&c`eGm(YcaZ0XX zf^X2yjkrrP-cmkadB|s_L#7*hbrort_ zeOlix=dX0e>zI6NJMZ6kHVN_PD=vP{EZhY3wnf2ksT;3>o-bTHXPW~*LR`FU^hR>m z%1=6|iAH$FV-w=oUHh3-B5y0&L`epB&HryzV0gIDw+bWhKKPs>+vSRIz>^ggwjs=L zXdiyI%8)LKZDJk7b2X(iFT5$4w7j6OWK8>7r%T?Hve`j$VFRi}#?wz=^8}Y9ORDZz-nyNnDerW0`j32J@ zWCfwdhlFr^R)e|*Lk-O$rOI3LQ&>@yy->4T$8Nq_K%h04MRWg>MN+z7{+}vm}r@a=mi-&(S?&1C8 z9)3&@c}Q0@;f*gmU0@=m5?9BzRfg6g)kWFYXPS+%%^2DmcbVx>TU4L;;lR<-Ub#cl2D)#;_3!d6NeJ;Q@ZKg zuaiL6Jlnb#f+!lQa&@T6ReyWhxXRW4vE9nmdl%Bm)kpRe)jiiU=Pza(r_@o9d4RMB z(~9T$$yEdNDSZmRGYz85QetO}M91@2`V>JQ4e*Jgqu;8_ckZkn>Qql-!zkXL<{S%; zgrb*1@OXX3y!kkmSl7Y)Fxml5Qh)5cGQSS6rmI)p)Z3hes65tK?rmx-!_jqg%{0{m zvMF&5LNo9J9idrUB`twni}P1==a?75mrO}lq0saE`ghw;g9;b&fkx=Bbl__J15oGq z|7U8W9W`93O+c_t0*b^i^7fzF(U4DdbRiYi<%hFD_mfuiH zeag1pouCnG>kVW^bg&elg^q7qB<9Q1%UIX|6Kk?wXI3v@jgYmrE2)gc`KWr;g%8=; z54grLj+9o2|bCI2!5mpj}GHmS@zej-$-!QaNk4) zST2`+jcxS01bT&+>F8z;&bJBaGjfTyr!Lwh?zg3l_WnwzfE&p5)DhiX*^8;Gu%B<( z`La&u6}YP5^2?!B=zQ+}`FKzyiV*n8qvz^7*(vu=|F330FLjc5>5$z>aL5hlvMKs_ zF4+zpO@3dy7##}fKT&^?LHLK?<&WR4>x5cA-y5zIN?+W5>28Ev_XYp->R#NAn^W&I zU1oOFOnKzP`dVN}_QMV-CUl2Rkn#rOZNG6z;*anq%y_J54;Ye61yvo^xR;ZVLXfMbg2-d^J^t%oac;~`f?Ah-%^C8iTF z$I(ffgN=m2LgV{<ebN^y+Om{1y}U)=(HMeAdaVx$i?-4oG{*|3Mcd>bVBXDZcK67MMCT9avi}ms?JUj2`Z0)|%*@eK{s7xRRgPcS(zD91H1IV1#~1TcUwIZPlDOv2V* ztstG)8;g9KvW5aA*{$!BmM zqN0QQfPU;MZ1n>Qw{8K55D7}bi8V?kiHgOcuisKV*r%cPV;VxP6&8Y6I(8H& zZd!l>*x|y^C{iknnKtM4g)q>(z3l*(j2A3-^>4CtaQBMR@b$vyx$uVfH5i1m`4p<>DlO{Zp@?!Ziy)8%N*l_t4t3!xZ zbZcUbN4qqpoh-s$Y-Id7u5_+;wP}OJ&6h8wUJRl(0!p)L&BIJ1xeyY9PH+!Suvv5B zA*j`e2dGu;wqYpYA!yVn0nn%d2*LsY%35^lw_r-LN@y2dUs75sw?KfU9`h}g z3vogy7>uoHuwZUye+fAne6fQtO271D&H0OZ4LgPIFr=VtXgeVOerf^*}@7tZa=5Y$sFww@O_{HX7 z%da#@$ljjhyia0jNY<(CNoy;!4O%!g-EDC|HvN$(jyf0K+*FkTHReL+~^9 z2^fGR%;7it1eeOOa)O@{p0Tv*ao`56k8@IJqt9v}Dm7a$ae9m}#}fEsHM~Xz1?Gxl zt+FN49ATu@x@BpkqlD*8egXby4If52;D|tihKMi*7@f~MQq-=s$3WXZ!6f~CP^EBf zRpbJdRjq$Gsc$B@|es=wXSXz~%$NnDKRhmQ;uo z5M=a3YWy#>oxFJ>dp=JzEP7B3`doIb4++-DHW19GlsIK@Ofkh;Uw5I*l^U;uc&hG2 z_`L2pv1_Ywt6ee0{_IKg91vuXa0fh5bpU{5=xt{TA9(0XgBH$X2}A`4Vj;!(72tf2 z2N8G#Vjz=~AU&)|%&cI@P!BmHWX}919RURt7HGwbU*74jL5Cwmg&DdelM@|*ZTJZx zlW%jI06KmQyYfphDq<B+-E(5?n(JL7eaF26haC z&AsS=!oO65nwsVSYWkRk$Ko1;i~eY`Xn8t7ES;N0A$U>F&C=^pxh&@fo2oGtDKS0N z7Sol2n3i{6YcVzK#!v-2MEoxzqa3W5wKw!yup$Jql`yOzBkiS_ad|Kiau&&D5k>gs z)N4srMoH2>QNLt6FB61JcB_v8)6CkGbttvVXs1%Pb16}eOKrR_7x2Ca^~hcE=<*%n ztPa(PuMzDUa>6Fj`lG)<{ATL2mRTS`(Fd4Kdh*hjcUBY>)}F@q_y)cfWG);Gd?l_} zYUF4vm7q4$@?S1$nG(K-=FK*ec>gwVikbAQa}OHo7YW$7g?1&o+V*CLG&_w0{D*K*)HpEk?i9A?GJu|mjo!67Zln~Z*dkn!4CK)%-@OA3D_xw*Ahz26~AIf#||;#Tx|r$a*dwX(ZP zGP*M|RejJQGj+;VP@+soQ8Y=-sp>9=%!H4S;IWn3ECTXghb)Pl<$WY`2*uEPMY_&j z${=NjJ=wUOAZ2IU37Jo#od$jIG@@po`WVU?_S zd5nIXC#hVtL@J0D(&rhel(KA)ireVzB*+-`IAQnmjz_->I*ikgqClk8U+=7bBI-xu z{BgA6F7J3+MM~A#M5fD20MKhbw z18Ikn^{eLx#D!5UiXZ0M{Gc6;20wV2bu^czwsL+TKIA@?GnDBLP9kpRpybYAf_Bgz z9-ZiG7I2pA4}e5rODMyk8caf*ASXwSDae7&QIHj%ndVGJgB-g5Xwqh5^^>tAbkxm8 zo!}N}NRhWDP>1t`jgMw6YNXNr%z*S6SR2u2(56rE6$oK)Ij`0ygs~P_k@-{!xS3Z8v^EP(kAz3`gg~cm^ z@H_>W1$ks#Y2;u?ihwPP)uW4rnjgOFuyK%c&$A|Z)S;yb~$?o*8 zxDOgLeHKLQ@9gWP+80Rxb0pmG2eMyMVTd&Nw8(IWPBZiBxRXSPB3f`?=%NR_9maI zmVAn$D^M{tBmj)8r);F(qRZkhZ;#&#uW*O^R_j4w@*=2k`SQ+q2Q|9I5Ln?Tf1?Kp za|k*U(L^Ph2_Yaniz^Sccl0fk;?wWNr>>oNZVIH5xd<9CY9ndD+{K6_2`&bL=7}!G z0%i_UET9elNrX=hzl|XLDp^(9Mw|z~XZz=3hZ?KG4ivk)g(He>Zfe#XTjju8L(MU$ zK0^k<>(D4B-)L0%lPm1G3|Vjk=_Qn0FM-PQ;D_7a%;H5p=`3+=P{M8K!fSu|2|h1%z?`1D7qeFj7x zTo(P4;BYVwhvRjPU9|&(hkE z?x>fHgV(>iHTBH0#Gsy|b073puzekJYQqzsq`$F?2<4NI1)6Im;!#8~%bVkB*H%Sz z0}JeLPeegwigBKAkmioQ8U(>~9SwJ^0+G%Ie_W3I5k=HgHrB?&?l>D$fCyMDdk~h+ zVB1HVZ7qeR36?#J-1`V*j2?d5ld1d;>A4i$LW_H7*O27GlNEXXTY2;7 zZ*14||JCeF)<3?|Jb!G?MaLfrHO}FnAIU1`$r=?Xu$BtUKpk0C8RBa5d#XryV-IRe zd+fo-S9~BqyX%dO*iw-j{&na3)gA0mX9Y@`Kh7HO)(|v0-RhIyv!qv<(nzNUj{v-8 zn=C%O7LW|j8{+VrmWAVFg7!5Qh6lH6_)q!pWhUB5Q!I1k&P4pe=3(^}0uf*YvD5qE z!*qhuK&^nl-9Jo9Uc^M>vTu-B(6y0&TQn_#2XK&QpfA#WTFbqh6sF`i=PhI zoPo!K@e`bI{x^a=qWgRSARhLriMs8>UUk#tuvh)#_78j2Z96zt4_*+7uv~adttF0J z!GPo&K!1nuav&xmKSfrAqXkxMax{oNiYH=TKkx)>b$Zxq=xm0BIJBh(^f)3J#4t>6 zSK7Rup@lc%c(l!0ObW<@n9p(4tmRfh^BUtutti6*cZJX#bsv%nq?fSNN2 zoaGtSL=6m{_DY>B+!6|B}9 zP>7X&V7k@(ee+4W>=MWyCL2)LwRXtTX3;R&fWoe;LzY~JA!`B6dei>|zAb{ImH#-} zeOO6YLrZWnvOrG;!3T)U6qbji0xLV7Udf*ngbmZ-z4MOrmEW=a)zUN&?HE# z#pDtifyJxJBmu(!8zN!WHwV=mf4OhSrMb?bQ=CAFl{sx*T3O^X$T$(Q%s{KaXlxdf$+LMP^LYFktiu4F&d(}b8e zxTYParQ<-7$`y?kI+xF!uzW79Y*g~1p^xb?PfXxYo1S~eF1%>nC=>0tJAXtQ#LT(^ z4oa<#`6#QL)w5I9M~u+OsmtMS{HLP=P5hykcxhwFrG6$ruA9b&*+b)OkmGl5qg zdzDMK`jA7GS@n6ozC&3AtTPe_+QJD0%8>=Ie+bq`l_0(^Dyg6tKk)+0NsrWF~l8BY=5 z5C=@EfFUNBARNOui2*~L#7SIG5)({98zoQz!6_nv1j?7&K;i;P=J)^abIx;~_e)o{ z38XW~-1mK-bIv~d?60%;J|E8)x~4fluHSxWp!QMd_R%*imkYA;ruT05)O^C>Y;kVP z@NMHWZw&7-hbP5dsKVQBo2BuaQ=3JxNVm;k{FAB8qNrrD%}=K`i{g{XHg8RBil{SX zI<7<9vS%$iYQeaOcdp}@*D=ageKvcI@|}~@8J?PGJJ$)jUtsd2ldhF61R9QC1S zdi8}sH>lDL6|fszDP0KEAHOC6yH544tAJgX>gD@hv|xCxDqULvyVjNBx*rl9uT8+N zQN3#_VArI2T3Qn+wJ-5%Rl2$YcC{;2*UMa`8ahUot-)1Qjf$^V)@+r?ipgavcrtDm zx>C_z$$4r7Xn#>c7} z$4ZUR&FR~P&d(6@=&#txlyCRtDo54B(OKvznkWZ$JnEzFJc+Mt_z~4OQlWPw)!<-4 zTG^B=F$u7)Sh0W8)slb+P&nKbpu<&-iv5SW?5~(VXTww4QQLCLd#kMQb~he{xe=93 zUL(|2Om?JY=|PR>V3%g4x{9iS9P~gcNk5>*2dWweQjHwHnJxQOixq-mTKBtFBC1HX zp&A<%oQ>>+nVv{(0xU_L>??5#jL`6q1KjG*Zs z>7U5c6UZwC1Z-|<0ZWbRVz2GNpq@uS7@^aFK?5L?7l8aq1KRkucGL+om4@WH(}kJ5 zNgxwmVNdwed6{W)mkTy3M&6aF3F=L3Lz+*v&e@P4TboF2$u=vIiYiYfQZ*CZ1Mxup z;u5LoKO@G8fP$Ve`87YKn&;FD)48>&u_e%(7bF%f!7H7S;AEMZ&AxPE`a)paa&KD6 zzJH$6WEykcv9K8Nnat465`zowT$fhSo zZRPtwnsf|8YGQ|}B6twkAzPG&DG@;{-v=GBHSVy@%&HuQ@!4Nm)|*Ovzm>1BN}P2( z9RQq~PxjvP5$YM!~JNbN*c!C{cG4LE@?A+uyt7hOOj(Q$5 z#>lbH!^kpx<=4#@s+1QH;Z3q>! zahHFZi60ODV3$UYekV?fE*HnSQ!hS$0nSY*k|q)H?(Bo@J^_<=E6Nut7t&ep$j{WD zt#xU$JRNiQ#=nlKeKwyWUKNT<K&7gj{O{@x(3k~F-zES)t?POx-pb3vMP zF}?fuvGyJA+TykBAG_FT^VGN1)8?`1L$@U^x9lx9?`p`OgRzU}8U&Gzwm$o_M_57~0HpSedF1jO_}Jq_8Lbb~*110v}> zLlJ&ZFdTn2F>phTC(>GNj7=E{H7r2FXT5wI8T=Qz_{b|t_;jX4js=1Im*(N}m4wTz z&}cp`nrzDMUBLf&7ZR;5MS<-UyIz;jnia=HBy4%hH$h3>(jJc=>W92_(j$J4jRvHwT-Ap0a$s=9P@tw%_lQq&hhyZ83CH*+TG4%yvzWR8*($Pfp-Su;_rNyDN^HwV|CzW>w)C=r<}sCp z@itAZ^uUjF`C_^T|CJp5iXNk4dVIGYyVLQRcP)=ky~nv#f=JTUs_)8?`-nT4Zxr$q zD@8YVQ+rf6*+z+?oDf1v?t723n8580=LSmE``KB&!yHzfI`FIscC4;b;dNE4a~-!} zUI?3s-mf)wtK&xlyR0Mb_uA-}bmCVN?%91}SVn_k-TG^xLe~hHYbs=}*$Of}fd4QM zyrH{8Z$ST80)4eWv%po{cow)WJWhc=GY|B=3G`J0J+U&jHPG*z2l`zJ^pygAWrg*X zbFmf=uIP+)^PkE6IwPIn-yA{b17Lc z4XqoFznH)yTcP9cb!w#5ap-pby;(D(&ZCocrtH9B5$bS-5i4q25u2Uka}UoH_Tl&= z6lf|sB+!Q{(1*4F+LRuSA2D!?kq3MJ;fcXc4dkGDn^;l1;6PGuXWy5}))me;=ha%} zxVUc0Cg#{TOr z)3%R4O~ZL^+XYdj>+Rz&xa*nB3NNUV1X#Hhpu_Q(V)Q_@Yj<<3ej@mVNz0=yU6vBl zPW_vfY2in@6(YHmM0+?s^>0nv7JBvOXDa4H#x(569#hBEikvV@UT5pV-RyPEo9)7# zN*54)YBSCXpYK)YkFL@N^sClLFF&Wpfr?~PuGBZXk;kzQ)JR(|df~oWO5v-DaUkd%DKzUIfM~g_LV&U^isoMVyR(JmKyv5`!m}#q}UBR zjsGO?FmezG`Vj~x5Kw%6JHm2!i#yAPO&*+F|c|p4pJn}P6 zv}O9#G-DK+p+puWZX__(Z{>!AVz!1=NwF-%DR-LE%;c_I&D?|W<>Pzi7p{(fetzNQ z<6oU$xO4p5^9xtUADv%#`S_3K7p{)~WKrQuJ|KyjInJHqAD&-$`S?fY6ngsFIev?a zBhahKuVi%n8$N{@_&~dbp@UAP&1QogD%r1T&XAJ$;DX`&oC~=gD78&qg_P#q6iI1j zSsAUfgJi2TM#D=jT{O~(*Us>mc8av6+53YtPb_$KDCE+bykObC7`=)F_2!n2(VOKh zS#xakruGeZ&R&-SuUB(6+SX1P8?^$DP~dJpOcvs%tihfatbsOuCu0UVSt;^K`Jxp^ z<}31z6Owa7OIpj^_VJkyiTjh2$imE0MM5W~3MyvujrLW$0())S?F2&CO#Hrju&IB@ z4(edk>0E&aRHOTp2J!2I0h2`rRGWHKp4# zzvJn|Nzqy-k7u3yowgUk^k2Xb5xrbA`Xq>>_;Tv9<1^?W&8C91xxv!n$mw#l+ z-nNCWo?plWJEzd}+&;d?#nbdWG(pdUSyVqVXZko8(q0szY`kts-C}&-?Iide6db^v_be*>twn{ux2W*biweIq zzi|8b#UIVKp=-sI*{SWzC^7ByM=PdLr7$UG()RcI3tyZfKQ1reC?* z*tthM77Vt7K&L)(jqGZ_nmUq+S;2JMz%z-{KCK%OS2uL2(hZGvj$dmG@{CbAD{oBQ z&T>{F5zVSJrCP0$e9y`@{u{QUl2ETRDQwU+AkQ@eu3@*nD5wULe8J; z*IRZBPzI~RQ^t=HVe=|%^r1_-(Zp}DP_gCdbL|AyQKHx=(~_wYxQft^o(ulMZz8#B z0`tzByr005O$7^Si#8}+KK^4MOnW4x>t2$=+F7ELx6`)h%>sQZ5N3k@(FEFZH?ah~ z70^4!Z!qYRTB?pr*4w6MiC>(TtexeMIt7cfea%_7s|8D( zB>Y^eoXe%`{LD{JWKq=e3Yr5SI3+9AVQ%OEkwZnP}Htz48;0{83V+Lz;U_@pU@WaNQa1AUUkmYger=H6 zTaB;%w!sbZ8v4fHHd5b=8_g7UYhakCYXqkHef7j|`M|2`h3DY0wPtm^oL0vvwLQz5 z%f>JE>iE=SFPa;v2st0A*k+p&-RSAsAfy)v)9N&QB!|_|DhZiwU%hvtb zhi@MpNG5UT_$Q~^w}tOqRQOBt3y0%}<`?c9zjsmLxkZH^SycG@^9xtUpIKD+r;7?- z`ukJTl_|73{#Wx0caC2_zi@SY_oBl4<`?c9KRCaTu-1js5{;<*7DWoUX5BkETdp1c zUs$e3bLE-{6LHu z$HDoa;-PvRpiqsY#=8kkHg*ajWxQg!4iIU%&LCK>vr9QtG;xEk1G`~gf5eh^Pj46E zc1bnY>pH??%lCTjT^-`jszBZ+#O$$Gz`yNhb8{uGB{x`VyC;vU#cTW4OO>BZK+*cy z;DaNs)>r%b#jDwAu*8Ym3%}~<$1iq6_aFYvdPDasw$Iqn9h_d)p4hTGLm?46z&_z~ zN$l2@x82{Xc3-RI>^_jzd zJ>bFX)4az#$ou%fe_;;zI|2U%T_Jx#@C^G6pKOQyMjCP!jZ5X85MJC}KXcey!wd40 ziV3V_J>z_Vc8HIs@T<#{a5+d^N>jbm8^ZyUyrsu)%;~K>FkHMryofd{?^_V=&(9og zS4jX_DOIoe8HH6=2IFgkR`kPKuY~pB?!Re_0O%6YEZm(vlwpTOG!Lki3tvmbapJdMQ zj^-JH+NJT=i*vJaYbo_tjC1c;ijxpcb*>QcwR$OO=7Sj)DIEeww7L@rLHL&>9 z7hZ$JIyVKtwuYC-W_Tg*>lcgICldU9r=nIN~duBe7-0; z(<)iT|KQu^*ta)@DcHXXt;%zG*|V7e%p1xt&muM>deVmS@!8y{-)3xSNF)4=M|e@( zc=CoY@IufOH!f}nk1_ZhJGfttgOIl6J`^A|5U zUvsj5c@EhF*ExFpxX7MQ&f=uCCTYTGE-f&cb1*&ig^Q=^*IWYXi<&FjaTZ)JR`I@G zxSn~`%N`eHBwq7GW}P(Ko&Ar?{@oFIV-LR>+ z9(P0Ld(*YkbXffAGvI-{atE`^ovGcOefeFwmNKOw;)mO_0G|=oR;)P5euu|$M_v7n z=uYeP8ei$|c7EmoPZXUFOnw|pZcCWlmN1#Rm70-oS6GJBVsfi7(dE=-$Ez-YG?oRpAZ9{eH=$3NlG}Jg%13eW$x5vGuZHv=xp@B8G1Ndf9&KFa+Rc^0= z-drJiv+?9&GuQQEqTuM#zMBN+rmF5uxo&q%)oljGLA1PaU}oOf4SP>2E9J$RsXGYf z(e?%*aYKc~4HaP<(eXOfxNd$&*Hw+LON}Qf$W`o0b7|y13dm~(^4gHcYpdq$aRJYn z(s+%UTvOG(CfDr}>*_*i7MeOjdX;`RuciAdgLqd40%<#nWsL18^9XfZ2&5B>u6sPy z?ItF@Z)GkH$Bcu7=xBBvEYeeF>cN6r?(&j=*5T7+sdcKo+a;c0?c&} z=DOmKB<_G}9GKtH#BO1CG(oIjLk75C0PEM>^V6&G3G@9GN%k9?ba!#9;FScw4is5w z_cb}i5_5rS7P?W;PnZAF6bGT$vQg@B2CX1JIo_%+8${`*^Wt@C#CAsY zB+-E1r0b%eiA|PnJEI@3Vv?>dII)lybpcu#dMtiz=PejofTF|IF2737UPTpPEFgeq znt5+cnmA4vbu}^xM)(`^J6ftbB7f$_6N1r_N&tJpyjM-A#PYOi?*YA6>5L7Yd4=S@ zbm;kQ|1b_clO~HbTe!aNZL*<`qZHP^lUbM}|@Rg6ma9y%E(r zB_YT6h?902T)lnUFn3d8RU2ejQl}ITpkM~ySd>)WW+2C6uZ3Jsy*g_bgVkAnS63T) zt(OHIE!rXn5^Jya(!}jE+sUa|AcXX`u4pjqv$ZeufR+1!>Wv%V<2URX*>axne(D)# z{n5J0eSXl~1r6@)4>m!{91t1AiHgVfLf!|(E)B8W-HS^Wv(2D61CZ>L1%P{M0QX!F zz?%SYw?}e!a$Dqp6+MvyHW!2N{mNF)Wk#YE__d`mXZ8Oydw;{?{S8M;jpBp+!f!#JI$__gcEyO?>iTH~1UkqxY>8?(2OkAg}1A_!|JGUf?npfbEJE@suIpO0)a~s42G@5R+OM@?}nljNvs01``gl z8;Aa4!sM>RCCxXfs|g1=>UIsr$7RfZ~0`U2GW)<(0fjLYUEcZal5)2=GDpI zPH_4vb6Vzpp?5!n;@MRkG~!mc`N^-IaQA7P{KA$St&~?{CpSOr&jsB48R%p;f6z#C z!_5!DJ5o^rFMnZMnGKV0Gum!eZ8tB_RyOOf$bUGI;c(UXa4Th2vRYpcsnJ9f0G3V{ z)LMD4tFJaN2LfGt{VjFd-G)ho~!N6KNxRjIcsm8os4#7jmp{(0#*d zf#4o?Uutys4E4&EGBMpvaxdwR=PXB3XNH5#pv9SC(DDq{vM}NdS-^XTQm5P$QAtzf zo!+K;XI=fyQoTDT-XV+zj;C&?Lm_wjuuJBK=O*-v+b&PTcKS&}Gs~L7*o+SnI(rn4nIZ-lr3rPS+$lUFbf|rrX@? zwz~RlrFxf5x0+3r$lNk1GD>BgN*p|uFgaC&J{6z|wx==qs)Nt3LYX38Uqum+uSswA zmI>BMdMdOY0}$e*oYofygUt}AFAhR}zgWZnV!)5QmNBx)d2CQzEoCnrHDZqr(%kcC z4dKy%pybx{h(7CvpRMbEHjiim=TFgkO8Y(m_ELsV47$qjDdU%v;S)9ZPh@lov{oU{ z8=LcW_4B2=2&VMIBd+wwq7EOaAv}^HOa#2MSY(UxVR!K1i4Jb9)%(MB2Oo|ONLOe2 zv?KbUVSTW!{=rf`kLa8$omU8XAxHvEQArt$dtSS%H<9?_Rc7k+ggLE<;4gxBE>Igz*j_#eM z+V`Y^-ZLSW_tvU?PYwQ_08avYS`qFxHh0(6?=ID|BAjuhGmAPrQ$skDAxtPjML=1M zI}P^E%4%NUhwJJeF4eo3d~gC2dpqY+$LA)b=z~t^YGT5@J6D50 z7vN`#?fZ?*`|IlOFV!_x+2e;@>ET5kK3qe1I765a+wMKUW| z7wxQ@ovo{%E!DdOe2}VX3=br-Juoqf2WzrDPy>D7!lMvzw6e3o->yIXi5l$vHQ4(D z>;)B4m{+2g){C^UU<>O-Ga{T=FM3kc{7DH}ADurrrWK-|7LqP9WWC4SxF?&!sdX?2 z1Lcc?w^DVt8%`~IQGY74cg9jx@#aogRa*?}=^Y5%z_HdHc|l=%n~?(1(zZqBb|W*j zjAO1AiOx$lDSbS(W-~(u?hFO&AX|+?YdFcg-CD4}HRo@L5V`(XNfk60bi>3DYT{YMY-d+`; zud496%6LsW#@+$*cOarXcgy|zw%UdetucIryeXU^WN>Fm@K8UzF*VDaToPsS4W zqnsTX%nlNsfZaYWdK{mFC>$#2w`S^Kba=3<>xU{cb+7__(13Turo&csj+DHjmQ@ajA`{C?afy-E zc&3(@z;xTp*)T6Em9!~~N>r{=W-$zzz*to34kG#tUv#4ygf@_E(Oy;jTQ6K11V1=r}eUB?ot(9^8+0@+M1e#5kC_c`e zj5vFj3T>gGu_%Dr2`HAFs=6%aMP0a-v_onsy7fvCD@^SUsYa!7_PD3rQQC2Zg=L>uEQOE+;Ytr5rcL|k>J3%H z&W0+zXLRDIi3hYcz{q^OY#+jb&TBOt&E`PqcsTxpQm@sECFuoxmF44)EnfvCj}D8nMx}$eI3LP1=^i0e!e(FyJ@+~R zWr~7IdGxvSlGVlxD$Cw{K`cKSVoALgdMvN2^!G|>f>I_S zi*J|{gJlTXI-A8|mBt^dhM?kP&X3ueAG0w(=lg_g&}O}EcEWmTL#nP&s;$>jnDk=2 zVm>S{9P<3{tnukTZPR#c&OiXrs(5R5**_5Y!wd;X{BtcV&1Fly{$Pk_!DxAb{W->_ z%eqX4iCJ>5mTe;(hYG)yYR;M?_sSE9sT!CcNHt@wtY%ZTS#ZsheTL}$gQ@1MEf%u< ziPG#WW{kS`sUP<~nb0{7(8QjX*e3|>S!q;eO@axgVW2UC=#rCRK-;Es;9N~rvLBv< zd1h#xo2RH1Z5F=^_^yk+I_j~%RbL(TPs=g&9>>&s}ir1Y1#*l z540@NwfEy4>%;tAlPlb!4cKWb`?m3m#4VCLJlO-<=HPB_!0kf}xkG)u&z!yF&tKXc zCZMS~)=`ZN(3Q4-|9Bvq8889@vpvG-C(E9$m-U4I7n~%88K*`bZ^8*p>)=G|HIFyr zbZQExMl*C5ClIeN!hG!RVkDMVPqf26?n+z92aItS3zNBdTQtvy2*$fjBpZ#r;xtU( zJ>Geu`8ZN%Gb_(}p45f8wba@53;$1oC)tq*WsPaYt)FjS2xGF=8{hjCjDr<*xq0Q~ z9L;#R{|vM}T_5$1ehAHh%IEbxl?sP!41C$(2EuJiu-?3z@r^WP$a47Rz4hiSrJRy! z-qr}Tg}tw0nc-bXheCw$f#zx8tX=TqkN)SLwQ|_}+5lDa!_lyL=rT0uvu_-Z|7crM zJ7Cz>HO)`zrn>_;_ABqJ zSS~j&zdS_?%OP$Q5ILNP!nZfRSHnN_JQX%SjeTFXID}bH+3pk3D83ttzh2+`$kV0( z$aJXG%^QS8PP>een@9oM;#G=0$>;JtffUU({acNox7s8O_nZ(I!)oX~5EUV^++0!2 zRKF`XVVGbbwTrC$~`OscUPKf0g~TmNQ!`3uIYC#}WmD|Lp%x-*7|T@?#OMjOuOz92wf_JZ+K zQoGfY|6I?wh_V1sY-=*@U3q9rtV$?b_;$;(&SsVD@*3EIP|K~8I(U(p%_gP^m=_!ko zCeOi2_5hqBS^cg&3HqlJ8B$Gbx!#3CTU$&{LcP%P*w>?_@s1aqe1SC6hE-Nro~o<& zY{X=+RCD=Ke5lxiYa3)^oNdsPGst)RWe*ZIdu+bc^MZr?_}7+`W{3Vfem-jP?FsSm z$r<8YK7MV6cyV03EpZX`C<#J>Qt2bd`{ZS#dIMr6&0GBO)m%0?tJllC$~1&xs1&z{ zdd*v&#$o}1liemfO%%xOg_;#;m{NQ^mD87w5%yMI^?0yxsIz+pHUtw3aWbWZSVY)! zaQdZf;Zf-Q!rO5vw#!eriVsM1B_ELJI3G+V$N0e19pz)24$f@nWo?XZyU4J~Lw+CA z!4@DCs_A9w{>{8{FsdGikNxqnf!%XcJ~$AgKbzN&`!9r!>rrDg+CF%Zp3{&+=9*aa zLv+{g6^vLw08PCFaOos%_rxQT?7N5JFD1M6XAeyL9`ptb8~p|+!rv3m6HvuXKGbD= zz*{9aIr`$pSLz!Omi)S2s5;Vv5#Zcnuf3y$%!OE*OZNOKRTM*iscpl@y$rFIvCI1lVo$5mmRz-1rX#uu95dKg~ z*Mz#4_CpM=Cg$YP)t0#P>B{PdzNW(K;P&e(zY z{{*C1-Abf_BYy>?7=*v(Qmj72lqW}u|Hn3_lkvsJ_nf3iTKCdwArS4>H~rZw_1CA3 z*fD8lU#2UL6M0T@ig0!1h5~o~+@~o-_dWii7o7^6s=JumG}Aa)Fibu0U=>{~bK7gv z+*W(O7l`rYAnaYU_ZcZCJ#e(YN>`5b)0p>oE>^K;<2|zQ_Dh2z-O|03D&u2!b>%JX zoLh1}4vX*rkZHvzdH91ep%W}80`Gy}>uSy|7n&QCz%y2ju^PoY0e*TAG6YwP4Edc2&mNLU zl5^nqCIFQ@(DDh%%4%~qr9^nonaRMJRpx?m{{@R zs@mgK=W2lPEHLOjYdCt7^?*7nCz@a85f~I`ZNFY%U|xYo>RLV^xGHjE+)#3OMQTI|xeWTX1 zR7ctty&m87UqcnyO&od?s zX9C}yF4{w$ij+GkC3!*^CAXQwg9#4vdO~p+9Km^YEtWZI*|OHcV^lDBZ1Lkk;;|JV zr0{|~9wc6alVaaNj(tD6U;todoMRk_CO2@6H=1AnCU6Di2qY}C`m>>DrvL8dA(;jk zhPR}C(+6hC#2Awm?2Y%HXnqFB((C9(&71cmqk>ar8HEO=beVoL5jWl>aiYo5U6=Qo zcVn|s;;A0ohmy7c4#)*;KPEoL)t##*HH4cW3(ie?NBJN%Exw*eaC1A60t_B z{ba4*z7wn;{DGYkj>Hh&tx!hC&^1;qNbHa_@~1f?(ENs2>dW64*}9&rul1`0wVsSR zPrei3+c920!JpBI=7DtRrq54J7bMsDrhF~gX~9{2*0A^Np_R*t_vQ9CHR1=6UGu=M z;FJ3ENW?UuV_PBzOo$5-#PyFo&mKYwLX&6Eqow|>t!-a|uGk>iK$0~YKGTRAU>gL{ zFL06Dw?;hyTzVFTfabqryH;q}8+cQlQ$tHq(q~FZsT-}PlvE`uR#Sb-@aV%z%FAE? zK=Uhl&wK`34rTUNUOCU`3tdDCbin}wY!ijb)}r1QvWrE%gx^C}TabcQyhFk*6dgSn zk`k)<`!QzP7~*dkb4CfEJDmOc8_LIgcQg|+&YD`)zsh!UQ|zm48?vSmumaT@!j*o)A|+mtTk7&4?%bSS|J;9&ez|?{DZl zIbFk*_a$q7p5#Y?eKociB3?x`BomW+)tX)LJmFlutFH-RPy@XGUAIu#rCZy?cf?1yc^M99B`=T?l8Kz^wW`;~{04G@I z531^k?Dq_rQV}H)?bIsqczeHcs&_q^)4Pgh_Wr$v6GfyDSBaDt70eDV$ZQtnZ2! z&OSEVzLXf~LAGH*_|{}K%Gh_ycr#cpr|pq|^c+^$6_mg8JHlB4JSVg$y%Cbl?v3Zk z#oT?Qm;NV^o>BN*6g?Ej%(lQj*HEiAon|S7Aw{Oww#DG>(RXH*|EKi{=0{dC-^m$> zc*l|;7Y<<>Y^vD%Z|NlY0i}URC%pKtgcRNyi)R(n0yU_;nj(wv1BUnkghBf>J){uu z1tCEf5!W+aAi4wsRaD zErU!Sg*MHHB8E*WaB~?zm(X2r#?A#O%UD_pgK?7DAzfs@Lo+_zw~h$a?L2%aTx!ZX zY<}^qo5f?g0#q%?at7o9_CuO7^W<2B(}(e-lu>>+oa^gb{8Tc^*3mB0v^D(sel>#@ zb5Wb)y;^4MyLn}1vxdpxcp$0DqtETiy36!v?*l*arn~G2`+ErG~mgeVk_qA^u| zF-YOG0*#PZ(YGCW@{kPsU>AeE8H3fp0EejuL8bhKpljRCtSwa}&EFGAml8>%8T(!? zqBg3yrP`_Y9=&GtOLX7c>%-u_xUACAzg zjNb0Q`?c`}f8i_1rTa_u1-BG@OnQD>YBcHRZK;v`G|ctI#YS?k>PFvJCWY37g%w1! z#K_+Gkw1^w#a0!K%LXjwKa3Pp`}E`3T}NTv+uti<(w%}@A1=}xcl>aqH|(f6;>wEo zZfCT@Tl=Y{c$LBCiPnl83M+Pi576HqmS(?(!sXyH#psJZ$P4I$*u{5AnxacT#x}j>3|)?0~#Z2cLV@y>95U<=oqxNh#MuqLPsY zRhKOXsy$t}tJzZ>L#cxCp}_b69}r?cAE3c76rF)7G}FgMb1Qk3=Iwp4Q4i>d0qGkZ zE$b6v=wo@o(84C*tdnk|)es?a5Xg|5w~*1)oFx~;{AMafcwD1-O~1KYK_FE5@(v=m z*5Z-6V4zHMa^CGz3G?Qs)XC=cL~a`O;b*{A|N6%lmh(^iMV9mR5NLdO<_V?VEZ^}{ zoxFmGzxj;ffeHEk2N&)oi}oCCnyEH_qo_?$(j1nIe`|Ul_&+Yy=V_UUuYsAMXL?0yLsS!GR@=x>3-48y z&0pBuhm3L18{D&y=^OPVYmbHQNy9uc8Hna{DIvZtn#54}<_7YDhUAN1kleeJ&*urP zOt5Gp;BXl_riV)L@h5)cp?ZHI%BhER z9!5wlYJ}wZiu787q++ca$m>Cr?Fu+HT`kh3^6TK?<{!VSuK{147 zRfnjP`zO{A6eu1NHX69h%OmLoNIP^I__T|G ztX}W@Q;QCq2pld%r`0~oL0-YpCgVO!FcH=DoscFkz%KHE@@`o8qN+MqL;nPCLi8)P z`8?5&*YI586@%4;4o}1k6@Gb#Y<~>ztF+RRgeLo9F&6;AJW!W3aG#*Oc~J0yY->rE zyJgJ7X!cgVy;zHaadzKY@6wys2jA~@DgL{vv@0RRj0CA81Wywt_Y%4w5$TNw-!Fai zk0t-mj4aSA-xq+fE5&^6*U&XP4K!Ob8pKvs2-B;B|XWx?feEVvxff{Qkz!A70VTpIs%oQmP*U{n8( z^%v?eC0{>Y`aW1W;BoxZ(~Zlv@7R$}jq&p!(dEBRyGVyo7W1V z{X``;@~X@HfNN+FF@@-veu6NyDDjVkP+;{POE1#H-TV6bkc%3X#2zoyp}%t6)Gtfr z+B=YP>uxUx4aHGgGFv?Iw-}9$8u*(+Z}AbEiJ>d=Y{nNBG|DZ~-VxX@YKNcaXU@kI5@ zPmYV8Jkk7la>CR5i8XjR0FhiYe)^MogvEXot~bv;P47-T56VJww+PyYa^;$Ple=M| za&-&MUa&~q;Jm12|KI`r&Y%%aUZIhuCuqdHAQ~|#YjmC^?61M)paedZsRT`ADJ3yX zz)09WHqwIWz8$CqfMcQnV&x06bS_75ha^$+Ux4D9K!t-SsiS|noZB=+73xp8VcH?6 zCmv;5+X_T!7sv|-ZxV_?B&;hWX{Au2cEDAziTc59BJ0T>C|vZjkpYed*8Gj}r*??_ zF4?eLXi=M{v_q1_{sMzv$W1D@A@mu>>)AXt^U!7oq!xR2*ux;-dstOUR~lix{6QV(C@;Gs=$(p`RGW+0DbrMjBHYdI4E4G-1bE)yE`Q zOifLfwttZ6kYHK_CU`tCenINU!~|j{VFxuWY%LgmQkvaGwh-I(F81bP2#951U0c5a zY08KqhF?>rbhti67!^6~Z~9nk4D?|0XL4AyUr^Y>e0|y>N<|unb`mn-B@u*6hs>pT zTvKjM-aI_uLyS~PTwwJF|7!5U0(`fAY1_F(Rw}`^;#Af99eC2b4h!F_0 ziX$o`NOvNOZGs(9?#NP_PpdNEA2((tmTCbo%#z~xT$)uul3SIk9OuL5y7+2Jhp|xn z9PgJ>ohs$;}(}U?`8e56{5Yh)smZ0SJoO1ZhZIQSq#E;woD!LKYVx12t zi7!CZdub*kX#Ys6d(k1dM+S* zV50FeT5up`a1o!3989I&iQT3f3WQ_G76dYpL13J~S21KBg7BE?y#=Cggp#yVHBx}~ zTw8E#Ocp>w$qW#~;JQLX@uHynk0u{}_(>iIhG-8B;R8$XF13H6#2{6@^s%mRL7n)C zv`IiZRLvz}`&BG`H$1tE0nGg_(@u`L%VY(|y?p^tFg6q>s;hXmni)Zq;V53oo#OCq zLp3#PM#kUJi47BIofnI#tv7b=Fpyzzda8wJ_qzT(C2@6)Y(X}C3o^(@NOa}1r2XO^ z2Ks;BaC$!48}pH-C7T9VXYW{++fH&0&SGxbJs#*d3WYICMNCNaL*Fr35bB+@=2JoS z=zz)*4x|arR-Jk$biD_qo)$!F{or#cO=&9iBM(ozWDQDYg?(R>4O?@R+vy1wC{jCV zIGLq+V)Ga~W67<*ZUgb~!-o_@8K;p%FXippI?YdqqDJIv*RoHd6h7iv5^8g^cN6U< zceHM`-Q@n%m-J`t3s^#!6d#joHo9J-NNcA(?G%+Xk$Buwp8aoVb-(;-cbRJMcmmS= z!6ocL$(u|g2~8equyVs<6sEdy&ojFyWZliig4vyY%dE~K=i0nv7YT>Niowc1nO=p{ z5e(>p|C!iP=iDPKQwa+{zr52V%408x?SbFuuaYcEp^}^WuF_4(Q!D+@FZ-!-U(9IQ zP=!Im!QH#->4;GC1G^BOlvL=g{GY{ql=%>I9PTWwAsP779^;HsuK}j%ZpY4DF=M%w zwsR{vfeqdDO|pgR5i^VR0tK1XJQx3Qzw|xRm8NgZ1Ex!&g~r&#v?%bzo82)enmy8i zo=_EMFsa`nv(A2SjJX;?N5w-upti^d%5wK-@r126YI#LnDwT9nhM|f@W*+2W{|med zoUG{`hj#Av&7?K8V!x&(P~mfXf{b1n&_HWKPiG(>W3Ta#`&uEB0Nok@lCfrr#0Zag zW2(!Vk8f{xBrA2K1&g<9&6}-*PuJs}^*?v;YrWIxO;_yUeS5>aFl>a6UJ};PXTO@faxK3qD}z&!HeO?R}w#h3&g-hSeiL3*g6OP z{+vaZ_U zyxjbZ+|=jvJY}`Zfg|mt+u<&?2}yl5ui2$FVfq^F;M|9iTCWPVZb*w*b51#t9V?&Q z*1trHa}2qhGTYDDF|$MGrZ8%JY(Tm=P}V%i`1izeUeU|Ln!&V2H5i|HDOThlzvHOa z0e{m`FX=AX*2Bz=1EIzDL(NwKwjKrR_6|oBYWuW`^+YC&uLofk9|vF-AN%)hkAY!4#B$L@UuC(IT5E(sjM#L>Bya6}tE=v+%UgeY2Yxx_5j42lK?96khx z58&uyb>B*GAyOrP+dtYSI66xT9GxWv&WH~tDW@Mc0OwrC$dvP0?Pj0e$q6$f*FeKj zq!k?1(`A%~Qd7!2>i}Db>RX)7W4_$I=JZt4e00#feK6w2#uLr!b}}_;`J0OVh;yV! zpBIpJHvi7k4~9XrkV75`uUNRV`SD#mNbZAp=v_pxUVuN-Z~iSzh##*)kR%1#10PS+ zbRdnP*+^S}b^s?m89(zx!)y2k&L_H{`Pm^e7hom1d56V?W~7Icndv7RW96Nikv_7$ zIB&%)Dy;HoZ5AEIEX7)()0VsU>Fnca-D3sa5U_Ydx=hNgeST|qM}9%ZZGFy&A`7?n z%jS+fyH@eK*v5SGw-4ozbxY;lOBUl|P0DWR@9WWBQ%#v(np(x-A!uuUaR^aFa&QUh zANfQLEIide(Y#OY@MD~a8gg{A`E%q`kKCvRC$WQw3?Y2VYd!hiO4C}`fbUFB&XjQ3BZenU)^Edc|?IAC*b=@~&~b@U1r{ok|IVv$IChs-fMma}e<#fU68Xvw-L8y@?l+(18LSu<^ozJ~XHM3Wux=#z{I&Y$t zBpCwwKv?8io)K#oPsp~d`7>9CsUvpOwx_9lUU`_#DXD^Ig6&~pNW}xew_Rv#-g{xi z<-SeiQxduxizk(lv?)^7zGjiZvuOaMjEwWp=1pe6Hw`@v;H+ zGg;CE)m!M95+SLAKwI-Adz6r>gepoI$3#({8nS~jJ%>m+7%N@xX11LozYkW&n6-H`XHPYID?hZWzbu#i3{J%|Pv9A^O6~Ir zb?(q7X!GVUY{0XJI2kx{&*}Z3KDRxm_cDDlf>Zk3@tod^M)3E}J{>HNxOL¥l&n z-O+D;ohyz0McP;OoZi308KlFTkYk!gu_uz{E9eE0y|g#jRN)o9f5|U-e|&wJN_%=kQ8oZv1PQ=jZ$LhR71Ns0d^CNcV|9}G0A9KPFkV4P>vXv6~t_#_cfMWX}Y!ppIR>U_7UHjZ^vT$+w!*$<+vu3s*l=ECnkts znGXz3I6yrlhWasQUSZ#d%CDm*{53}+up0`&C!L;_CX z`o5ikZFnLMI=7E7bXv96!mXof!b&xMYApT|Rde}_W+E!=R$#r2A8VJBI?z+a)+*Sy zb96Z-8Y(x$)|cqno_%^r4#SQl1l{N!n@dE%9V2F(B_$zNX~@SiP54;KO)i5{mkF~~ zKHTK8XmXkA?i}$^>Rv+KOQP;2so3+O-Y9SGE$l!Y!J373`+JnTY;|Q0L8uPl=I)7+2$rhUCUZd9$T9BVpF$ z5!gK0>}niKXroalD=4pgM~oHq^Ju#pt3g*-W1EFFdaYC+`X_|ZM!8m~k6kOR@&J&) zp!ppcnh(DOxs~gnF*$*zZ`x@W&v1k{;~T_;RBIuRs!$b=Vc z1qka>qzsC*y1~^vHHU5 zmgZNchM+Ra2fXIXY&j9p>!Rk+#*Mdf)mAr@5M!_etTY{rJ!g1j%Oybe7Od zwxrLY8=qSe|1*E(g=vV|DIqE+=U9N^K%|KR5uM}~Vx7m4`%Xe2tf61fWbySWXC`Ff zZ!bD)V_Xs*I?66x+H=N%WRQR5e;*9XNfkT(0Xnx@pmA zPebVlk8DuyjPk%SsHK%HBdWvm(}>>E9vv$p;&n#ZPRAUaAk%ogoQy?cq;EE|owk`bwgDVtIc=>4tW7X`(U7CmF1L5*P?2qi-& z44n~EJ+vXwy+tt}QZ0jvri`7csz1`V-PiNFCOXq^CV%C|+_S62ON;!Q-P=S8P0E+~ z5pz5HDS)A^1<6_Kt-NKB?G+MR#^YQOaw?@6nUtEe_A5i#PoY!X0W*5wC-7@ zu4+0xa92Y4{8n$FQC=ukAeGu?g6XY%d>eG~Ei_tE30uREZo{BxvL@Rx)WU?!3#%!_ zUZ#f44P`)sl5rbNOF!z~N(tA@JbQRu7{41IkZrmSnqAYmD&{HyR%O}C;S>n&iFx+$ zD%QDF?WAE`1&rgRsy0&{4HyI#>GqllFckbEV2&m*HyO-Pz|f=EcUWK2zI+=E**t}r zm{=ZX22PK8++gfX9xd?Drhg)$o3YlFqrf#N8l)l(^0Y&@7k(k|hg#b!}nm5;k2^2YaNH9VdO zbl5s}IBa3uvjYZRd4VX)mDsIqKeM(iQ+xcqqx?PH)w8X0SI==r?ho8Gx|l|+FNl3x zZIp27rJH-aB(k!nwbZRo4TV?!^^8d-?9x72l4OD-6Rux9Xe)`gp4YPr$EdqXu7k>| z73bt5Bi^;#Q%&UVB%4oSooOeu%e+X(+9nM4Hx&B1I_Kihe^iqHzCN4=HG-86q9c z2!%zkYrp#qOA%2(Q~TIH8Qfc(TpZ8 z2wYkj7(ldOm*jwdf+$1JM?8;LXU&4;Z8sPl0ESoXErm0?6;SvTJ9VN-x=YwgIw@&_ z^IjvX=|)Bk_$6>^tEjFN-tk)dn1>}iNjCtP7J|ISTyni#Xx0Jm-=$ZG2ngkLvF>XK zXJQ{XR79hC3TGp9e!jE%rWxQBB*aK0nLgV!u7b z8HjKZ54C1mjDXmZ933X1oE1Jq{|sMkMU8M<`4+CY1)NGIrG4?jbGf8Rgd%aHMpnC} z5a^&D@~230<&j}nbG*6|7;R{NRCd;Zk>}CmwU79lQv$f`Bi7hgesXKR$V50;J0Wd|tDz-{m2jrZdMtDdY^t92d27Vp z^pqyPS_4%ClS2i6L=&P|pd@z+sh9i<^eio~i$1GT`$7GTr z>i6n*UK-EUboAZ&;Tc3%tps2fVDZtRfEknNzd)>mtXP@4j{N+`jF$N;FqCb!8Rq7`3{@by4^J<3;RX+_)Xm|hCkWu(#! z9LYn1S{`R_($RJeJ_XyGTpFgW>UFHGAbje%I{ua+>xy)zsTib$9pNq)l4H?CQ$M?^ zO&q8mXyS6FdMS0V;hBn7&Qhorhc%n?>v4y+r(cC(g6aGsBgN$0EHlrdD-LRV zOsZO~@K5qRX@Xf4J)T~Q1;E+SBbIPqZ?Fk|GQ_fd-c7=f)*DUE_aJ5uf+BF3s2rX( z;fBnE?4&G%YS}#KM_xN7XcRH~vBF*ae=Ur#NW6y+)(mx4fx~||+dy1lUSq4Ov~{nu zm-^;wd4w+eD@7+N=xm%ynqS+cPqv!auEmR^@J0B=l$vvbEdU;R4*}SQ`_QT4c8Y3v zntX0Ar^pS|Qm|4&J&&n*XqWC75otX9ENK@aDAREpRTlZotx{Aeh!IQrs;T%XN;dDI zSGMy+myzo5z5YNo!yLmZuRaL8TR*jy2$siGyPH<gAf%soG_LcWb%6!(&mGXfW({^ zIR<10;);)AU8gM%`)Pjc#&m(U+I7$#2HKnL%AeAeUiH)T@0pmmQ%(bI!B)CVw?2)! zDn&=l-}I)H=azhDiJ=_Qw+CXyg&rao{OC2m+BpUL-KBjY8{I}q!1S^{XuAVwpf-Z_ z9>MZA!;0nhQE%nz8PNUfANYC(bT6Il=*pVml1d2W*YeQ`Qqlx!VM5HN9NSK;7UH$Y zjs4mn;TOqhN>T>u!bqGf^3;__HMVt^c}axGmMR71$s86k#O{owRDP|DZC6c#6fvHf zk=UX;N%7KPQ~m0dX!>M#c~9F-nSR(=kJmO?sLMk^Fc-Sm4V#Z@(=E?w5|=~SQYue{ z=>Mf)@W>(zUbcV+Vf2@|2;4)_`}aN|a}=~;*4Bl89g^_u=;NcreGBkNynr2=3@b9j znDVeN#{yIO3m?Q+=Fg>&MQ$E_!*8;i$U z##N2AjK3P|!v_tReS zZ~V>gcRYoa43L)N3^jrRuhYX=HDe*pBTfVQl@yV(xY}-rWZZyYL!{0+^~Mjq%zJA4 zq#|?x8lnKg2cXGpdhdyTziOL~+0%{_7Ng-N)+|-jVQ7W5+6$)*zvVo%0jAe%2wfwL zq{hW8>P@GhwavyI`prJRKVV|J;v%X3H`D8CuO7@izz~;%A+ug`+B<$x**US7YoHm9 zkdQp=0}ao#tn9^u6c_L63GP&99DgQ&ykug>}@{GF+M5Ipt+ru<>ob<-Wwn0=G!-QF~ z5fm(&vR6W*8&_c^xb~RyA9G4@}7K#cRO9 z2?&e!L$39zbs-s8HnU8bXR(3fZF^=JWbKgY8sq@dRfoLKQ0qlnDq2=v4EFMqEVf(%#w=6oAao4}fNA5S`^n?_1*@R+84pU7irV4wE;96B++^`-r^*XMvo z9=!9!v=Ot(23H~sHM3aFWdcStJ%Ewa?2@ejlBH`@V%T|6A)Qo#(Sz~Nyez%m{E&WO zFk+VvU*s$e(w!}UC}f}-2_C$iG%x;aRix#9(VJ%%yO7gh*Wm92grvf{VRG`rt^e)(4JY!3eZ!! z_e$r2qXO#S{&l#Gbrcf5=mgTA=G)=QgM*+D?_^rVq_BReBd6Fmok694-NL~tir&e@ zwitA{!b&=EAlGxSJvKD4J6Rjm5j!kPKT^+4x?S^xphq+hheJuEmRzoGj zGX5eHt`fL!W`T|4yv@I1tyunmYHH?0hsO_b)xb|tPf&Q5$MN`fK=(iS*?##M{&rB? zKKyN6cNh5ENY^s>8)|l)zOnZ7?BR{^t$FtFCc#~uI3KG{?FeZ2SS@Pk&vNrvc2P&G z@!EoUOIGy~ff>>Knj*7abFciK-{iY3_{u*F;!mvf$<1rm&5%b46w7BmNGJh~BX2q< ztLrXID^}D*O8p*UIM^96C&(JtqCiZ%}20H zY@o{&5Lme#fi?6SV}=zu5_E~3oQ%`wp5~2Dp|YMB3D_(Z^-DlSLn+b)x=>@_16V8g zz2@Aqrukv4^cUi4i8=NKiZ*-JhRw^Kf>F^A_6jon>8**w=AGKPP0i*HA++usrU)IR zeBA$j9W=9pp*xX^inD$Cq@@i?%d;MHmCn!50`mZ9U6wbSwA7tq2o3C1PjfpbA=ht6pb1c7i$Lp_LhSoQFws#+5 zM^&F|5GYq{UJ5+#Pto=l1X+|ggP6F~`;h(4Lj`vS4Rw|^bV!>0rmarc~Scx(ss z^|0W}ySeI0NoO-v`DDJs!jcuyH_s^e(jrY^v8y(y^+_LmAEl5U?f zO1vwEmr2b)10hmnu%C^PukJ8D{>I6YQU44}JaJ~&~o=iTJJOgal z0Cm_f;v)-WUu?j*Nb=(KVw$^5SsXS~w)u%fC(9o-^+K~~aJ`Ov>pMlBS}+1Kav^#e zVl8P`v}SWMK9!6rVb;7t6tYHsS5e4fc(5*^khUCQYnodu_S#}D+p^sJ3Zfw8K=;B> zlvC49<=^5Y3KW%88?y)*oH6X}>m$8XReP#^9_{7?m3+rkW&QwS_iI z&YNYJ1@VdA#%|QRKB?>^fHp;0W`P`{#odazr$i!s7ilu_kk^J!$Mv`tQ z*Bfq%s3F*zsYT&X0zsABKCGM8EF2Q!HM~g~K`;wyLO&7CX(cYC)gVPF+VF8P7e84> zm#}JC-eUf;RHiH#{ev=;F8*CuXI-MGdzqEz_3$x7`Yks?zag@I>#P4T;KV5WfaXp) z9At!38uJZ<{*Fo7r+Ja9AsB6pzPusHFF8Ve0Gj>N&ZSZiC|xRri84t7K&X(V!k1uK zbC&k?;RtGjyinI1LC9dMIe=zz&F}4S1V8RM}+0jje83dd7d+E19JEyymfJ{?FOF-STP^Zzd+M9lVG{I4a)^f z&f#34F#+vANQHpE)ZCT@WaWRoAiU=Gfs_p5_4vx4KeTO&UqGvV*(F3No7d8N*y-Z| zAIGVfJKxlyX~o8MZ}ZdP9tyKP{t+Pq5D-C!pHOp$9MLh{Hk0lIChm{40d&yrY9>8nft`a0VL;2#2#|9BUVOn@p& z#M2vzwC5G2Z(hZuMx}Htioz-VOt=*N^zTYP^*iaOz8d#RKR+^TUa3$5{Y+f>eE%C+ zKY4Ret)H*fyg;lF8o5|M8RZWzHGdkfnQ9g8e_14jjwKw~5INl%F_%c_$cfKA&F!d* zpI{tisx6sBP9c;;nAt4Mm}oRPdIPFXUCDYfGw@NaQ|igeXkwEmVLQj5bICIUc> zFz7M8JPNVfOSq4e-gK+k46|64)1Bz=q0v!4AzM{(`bM zKdR76PsLz<$gt|hesJZ9OJKRK&$@%c{HW2&Ve0k2U)<|*^RZpI>I+M@VFsPGqu(7$ zK!uS~W^|aBif2gAgn*8>pX9Erf5i|&N)v+rO+m2sKc!cHAivXY{7s7_fT{(hu);HN z0byy$D*kNu0b? zi-dLDYcN7OgssC!Zg)+2IY$W~FYkbOf-1{O%5lYMR7~U4p24CH!>h$52?IUrKat9!-xv@4krzz{*np4a3oD<0is5rM!QpE5#m7Z2V`jba4 zNU8Ia(Z7C+Y<`;JSyzFNkCOm$M3*x9k7x7@RfOYqXANGSMH!#y;34XhEDR;*d&>Vk zdD{HQB5kHHY4dt(J42hT5k32;5y8RtqfzNV<=yU=GWfbTnT-981o_mD4UJ5nk=q(D zKzci%;XP3&{mf4T7$T(Ap9x2ymha_@&*V z9LQY+0i_~|_MEsadY%#&%2?Rn!tBWkE-6`o1Y-iNFj8{K!CMe{Eqn24xrrlTr5c3_ zQ&cG`*OdefsPQi30?hT5H-l`QE(?r_4)GlFlhjMJ27Qv~Rw(xpDf~d67Blhcz?#CO zAS_U6)SWJ;5T4&jrd`#^1j6*8d?7^7g7Ys6yNaiB;c&6`4WvKGmuCFg*9{Nho^7G@ z*wo~y^e5!@|N0ttkCx2sd#%+O=}Qh4vmP+rt$g*Vu~mu%%p%Q);Xh2_bqkW_gM1*( z2cRfn>Hgv7U{n7O8KDj-a%B{-5Ca~^KRw;JZ2OKKz5ZaxVMTr(v<9SB%9pqY3@`1o z7D$lvlRt+L$CcIXZhBbk?Y2-`<{Nwj z3$`0Gq}-U88T^{J(L8XS-&~L$1CqjQVJS3-*;`1?uN`dO4lE)@s%(t6A4}sB^0W~e zdK1?WA=9Eo@j#C;7{+vz53oDJ2VUqgVeZ9TzQ==Df7#TJBN}v6-1HipZnfh%BxMry zxzF??s>6h`Y9WDjU72+EwHacr_VgH#+-_Bd-c?vT^%MU&rZ)u(3-Pv}DkRPjdkQ{t zhg=GBu=WdB3qnj>WRNmoniYFS#IXG>#^NAdL}ErsD1RXHTM#78vw1QZ`KnQ@qG_O;qjE-4|ZO;5EXMeOAD{%&6m2 z{rGOz4T3^OO;fR~#y1~A_qw4Q`6uhAq`2OZmOWUMBw^#r9+Xk_;-d+~FlZk=Dz+EO z*rQ;SW0u`%K>oqtL8`-YRNgRT>;=m;^apVK1ck&4QgAYL!2wEU5C|{65J*{U2wbJG z7-=}&fo?Cz&`WDRbO^0gXP>X@SB9KlT*x1mH%v7Um0N@4_!W`F=A~tt-!L`_6yF5O zQM>c7uFc7C4N-;q<6x8q*ZYY_8D3E^OYH)A;b7|5>1-`viU}4$N!fkky={HYz^BdJyG4X^UaU*N~O{_Kh9i0|=BtAMH8me7A(sWfTZ=@EU( ze7zl4-V57?bD@3=)o@btx2ic7OTf^69gi1mFT-e^n;)(&J02$FQt_0>yZ7~?GV3Zf z>*&|Ww~`qIYbr=mg2x^doFvc{uW6PPSzp{5T}3P4X6y2#PF&@Amu?T58hs2>KK7yapyn)2g9 zh-b{%W|S6#^UR^*S=DkqHnMDfSnuL(wuLwZw$D?vm>cR_D;rv9&%Lcr(L+UhJ+bIp#q{RBr!Z}CoWqSF zmp<+D9E>7i7iWMkP0j^ZFC8*x;&Db_qM~IgFqJDN=B-q?+l4B?cgtq#3~Lt~{XEdz zo8sjuh~cX1aRGF2q6xUgu5d--L}~wiP`uOP{mJ&=n+Z{CqrE@Y620(Rp-erjYq17t zUbZxv9TP>WO^6$<16hVcUhR!OJnF}-Yfain@pG&^o=+6L1dgfk%+H;IcYpBlxLW^ zrt$L4B-%%n+PJ!*wJeD?(S^u5*~TS)JL+T`Kio6fMg|llv@Ky<4!rW-NEYh06SDJ4 z3fRww2hT=6$r$V6viO{2&{WUO$HF<@i{sbX_&qoJLmj~5qbrQzt6%3A4{Ji?nyW(4 za0rMYgxk2fU*M_(M#T@NjUSqLlWknWt9s~sqKzL~CMVmtgpp3S@k0}@ZUgaFRC@{P zZO_#E%(lp|D?%vA(xZ`rJ;Dd%+wA^R&Xf}TewmNUw)Y%-5fBY^#liCx8d12(FzCk{ z%8sN7`v_C6+T~dn>F`hf9D$Gp0@0D4t2rMS8l3PJ5EvWgb#t;i_}TYOYZ_fwE#wz0xn3vQ!-QD0M$W937ib}Aex~m=^#d(9jcmX z-Q58OrRR(XcGB+1^AI0V49{D>lPMsOf=0@ZDmcy0yHs4(4-KRR1t87TY7ZDbujoBL zawNlu>_|JlJLS~2l7*1oJ^hX}NxV`@D5APdVx>Y>t zpEwr&!iIitNEG-yR2XS*A{Qw&YIwj$7`Wb4ZS==jwykn5TfC19N~+>CszGcx&!X%q z&GQg)yT4@og+fNYN^Bcv$i zN*8D&k!3*aAw}x2etnq$Et?QC`vNpapZtgmC=bTK*-_7iO|>~VRZ$(HRo@z*Huylf z)`w0NtgCjq%TpZ)Lb)KZ+tWy8{&P@UpxxOBjV5iN5)@IHi(Kb`Y?Ytu&)#x5=7t4# zgGN{Mz7^Fhkc_tKPIaI0PaUlrLfm~wbpXn}H<>t>BnVDjOx}22F5Jqa5?Hwf{nGPP zl_0T#M4);!jglqkuR2z*at>7X_jH3cUz}@ME%b?>Io@a83p}x7Y1j85ER{jCI~8*6 z$w5XUjWi#ShxFl2AeWqKKeS{>9k6JxZ#Ov?`5|GXdec|C#+Wp0qdO^8iP%pSL7&sp zepQ5p5eH?RxtS1`awS|QZ1j*ck`N`Of}NpB?^#KNTC!NkR_jD@ymT)MgmXuh$Egl7 zjtXj0E79nRo&qSv26<$o?=)M)U?i1Sz9f2+^n%__dbJ=-?inzGwT5B9^x+?Teg~XQ zSF@^1ewaCO%X2Di<-WgqZ;3h5i~nuj^>uk)%wzxm`(lc3#=Mwru;pL{KRB+zw9vUb z@K$RwBCZ>9zxMBo*?wlUl~=~pGNc1hcllVrXG{1^QinV&27wi3q{Q|_$2 zZAzvH=L4~fatw0DUlz%NB6}_~HDxq)&{?(Yd(W*ko_0(n_gE{5V|s*aEz@ z1x|j8lKPQ3=RtW-iEoRI(P*Bzh*>6|qx3;yA*4I>Pz9e_Ov0tKKTFV1_ z!CCat_uW~m9oO*G98;z5)+`43rYaVBa9Bh%x$AOzGqn8Dzb<6D%h0R)LUZS;OX|~N z64#tgcbR%>Z{PK-zk7{{i^))nUg^~&voTK13R`+7y0cE;Nr8B134ga zjf7p)Q1s|-li#G2Mxfz&-3P$}F#J|!vqY;q8V|BaJn|E|0H)sp+CF1U z9K{`}I{yWYiM*)0pNT&9px}k&OL6uNpPlX| zAznoCh5xUhG%)Jb{evH|NKlnuURI-X25JorO7)v&QPkTuaOJyC7; zZ~Bg*&opf4LbPhIf1}+jLj>1XwmNSx8$YJ-rh5?NO_#($kVnbS7Cf#C)x2)aU3~@N zzebSMudYG3N}XP#LmRw|!23VSy3=}49d8^oS!~o*bT>?z#2v8yGbuh)z{=LuA|ySQN_-6B=x|e{IX1KI z^?JI;(W!E@0;fR*bw4sx-jz<$R^7II2L7akK|6PpK^`e%oF2e-t(vKYDwT$8p!E?@ zP}v=;3I8v9?*nDoRoD66d+x2O+jT3+fi6i6Y2{YgV=7P$yf2KQ$sTP7 zqSPL8K`!m+1q5q@eQDTERcuosWn2@_Ry*Aqx58DxHkBKLo7T|{ir*qUK=aqgRgec;mgNdml5jh=-2^M00yH=$CI5@Q@j@1*T<^On?!_Pw6BEUAWwzw z(6&)7@d&aEp-{vCNX!nr zWl-`1Sgp%Z;Gp{hxeDYYL-Zq%w>myeB&1_Skc$$Mc8n@Cc=}wbRgY~} z2pKHy$TZS4JRjsAUe70H>Fh74ss7`$XpRnoR*g#B3l(n)FJ@~lF-!iedKfv^1F9*pr~c69@Zu;T@875sT^y4omo-n> zQ-64Kbn(X0s%N1STTDGDbZtE;w)i8R*y8UwO>FT-4oZKPzzg$OE&<4Ihh>+Us2SxB zq^r`MvZ($>zS^3I#1D%7LW={l;M^k=xKH9zoK3@)M8u}(;*Yk`#nNrR zGttF@xCc3DzW+ClE{+L_(L{7H2Uoy*w~8)SFQ=o6wf|nSGeG3!pBi1P3MUnO67K(S z(ZyDNb_QQ#HFfLgVlt^RvZX&>ch%cOfA-WLdD!UUZae0&t}GS*&}pNK_o$6Uk(8P* zB(+6=F(UwbhXkhrj73bu<*9TDFqTMwp;Fm$V(PFlGj*4?#u?lSqYd&QbA7tL|fSy-iPC(L-umNrBh=PEg=SncmQ^Zrf60#64U zKMeR8e&Tr&k2IuW^nzh$!3mnL!(IY|8?l0t)x|@LK7bh{+`HnAdBj1MJOPT+C%{8I%U;~*+yF;%1JoY}(=m5Pjw z-SR0#5yePY;-bCM=At~h@K zrKf1UQ@l1wrS=LyQMz0I6hNE%6E#92%%`Yv13(_(snF)@T6F)DLYpNS9NO#yn+%$w znG31`t&MI5R~sXhUCbyZ+Z2lR?y~C9mc^7^Id*JlEyXx*C??+vnWti$?`*N~9gA`P zaE@^%5;|$u{0cKcd|*WH{-~~XLy48>Vn!q{Q;5{N%bv2B5lOZwMCx6|7Ef8sh$P1p zBK59fOB;)U$j$N2A5Zblr&_AB!c$=!=KsVFSj2-9$VA*2?);<_?mQ8TaMolR?wlmk zP$j!K)w?qSuAFSxwolT2P^GI9e&BE@6K!=&5?2>S$ix;?Di{&Z8w#ol8;Wfe*gLrj zv%HB6#oW5!*wlJkiJq_*DQCFVLF~o0I)^(?P~A#}Fb3xp7+M$4eOAx(;*{JE7!eLl zEr2HXrtHHo-N@_jt)t}@%RyZSX zgdgn3r^r)Csm(FXIELd~3^KU9Gl#=-lq!j&64Pw4AY3b*-(eDIYRE|*WyDu5$HTtna?wRDa1wbc{9v2;A#lvXR!Yq3&jfnP3tXd6aa;w3q z%D@}T5~LEYsXM3QELsE46qQdg<*xxS7F*p5{?y)1Pj5P~xj>|p0%}#+Q!Goo!O|FU zFWS*WF7c*qk+XLx?4T?B<+l!&;#sB&*SHqpSF38U$iegwiz9y z&FgT*a@leBP)}YeXAs>neFk@Yi9z%hqckXOWoE}|5UX|s$u885~nFTIylNojDX zLqmTh7!9->#%n4x@hez4htBI~JnI%{NYJ@HGe{wYe$62(G4-eudO(4pjMp;*zkLr@ z>fTS3HOeygd_s_7V2vjjBmmPoF^ATBdEI<{JsCi(l|{ZM#F_?~T2P5;gM(21?;f`0j3H;ANGUX0`tCc{->N zK=lVHl)vh=)}Oug9U4)HOyg^&(bK|c3U63a{UAX&-POaTd-c=L>g(~l^JC(&O9Yf8 z7LmhUK}OuE4IbStP1YZ*31Hz?wG0?ACFlYiy|N@nt@S-RuhUC&ra0|e0h;n%e#>Z~ zRQ_kRZorxJO3MfeKGwI__3>KHwobztBN-2F)3uj|6RFG0iH0ptmd>PMina|a0svVe zB|svDUV&0-r6I2p)DDHHa zgf#~*O&5z8Yl7Kn_MAK=T)|3DKm0GUFqWzC#7AfPiBrYBNs~yuKqO>a*tKxSV(JnWLm|o~W z+#tWS+va>rl%Nu zwAXSU?VgM&I|cUEQ`YUs1`QtHZHLq?+ChjWF2^Y*CU14NSAZxl>w3`M@+!rES`WgwT3QHygs+h z1ub`XvhT%oW&*M%BI(Z7a81CSkn|AdB{#|5j(~Go7I69H5s|bTo5);m_H0ekdmaf% zyE-|p02Ds1$t<^sU)_U5(xttYr1v}$l6E`tjL{CE2i&eJ5F0R-hj zF~eu4&d&M+$=Np1N*K~}Xk~|?*dTs@VNYygPzLy#1db9@g+=P{g&;OpyEUbstHr{k zLuk^7v#O#HZmJ#1mgt$PJyAbjzT35n05{GeY8#q#FO+s8%JiDk&fJ%adW@8+g%MrM zh)=^|nl4qQc_EZg2=HvXE-_76WlYLjl$Tnhez@fg<+a4!Ex+hCvj9&^&t3S)uUdr@ z{w#KLNavyl$t9H!^l?q zPG+L03A-}P)9FFk9Ptrt`>S5WDSF-Qijtpb@ZNd8S3J-DnzT)Ns$&XlJm$@R)7?wy zj$*+QK@nnCA17%af!z*oQr^AC-pEEhK;a@D?fAQ-=YJ=kdSqpgp6_e^?Ib_FIz#!OtF>wlj`BvO5ZujH_aXL zO@C9$?qmA9OWN7H-IrR*FNez{;w;P-R~q)6QSf3FKoq9{4vXV!tPDHo%g+gY!-T#l#yaXF$j#E{8Rag$ zuYX?)9zKn8`~$5KI{__A^ebPx$eppF5vU_a+Q*ypIC|q7#(Sddmd=r^e{GsOZz}s) zyXA&K*my*{T&6F2Y=Z~1ffk^I{gN%VUht|T?D^q;oouNBE86LcGEL__5|`uV`*7_{ z7>vKvuV$|8YXSmiG4R7!HxGfCF-a1Y#*WzuDXxAxc{M6Y9wcP0m>Q*h=nyjzfMPEZ zhiFFDFzV5L6c)}}pvbARtwaxHhz;wn&j$nNB|L2;jwdyfDyXaZQf}N1|9}n2D~XOqc0pd!CA?&a+j!x^@vxd7Xf{$# zYL~+Jz!tO^G-Zw-rso#KG6@bXnqow{)Rw-GPHLAmf4fcTUSEX47EPruo10=uBHtfV z{Eu1=^nd_ubW7rP1MrHffyy3ks&ulY3i4FZm!M_;(3Vm}xrTDet@v$2sU3r70A(lJ z1}MGd&@(PWsg$juyt+_GA$4tAhSbBs+_E0|N=yp&cYA{JDoGd*`2%k9ogXc*3Dkr|NUY6ojhL2t6t`-w+I^H`10tYR-=V3%~!jtuis)R ziX}4ZCwOoF>d{atI9UZVMZMa%&&Tt8gg+Xz z6!_1eQFwb>ES>038u+6AES61ruvOXF`T&d`(pA5yg8?hwv}T}g(}BFwp=l;X|8a5H zjk>m>T;va!p&NabKPdoHg9o9_TAehW;xvhaKce`C7E$DjEC;9CSFUKE-(9`5RMAJC zc$e0b%QzQS5la=oP-LUgKlq6*JNqZ@cNzRdc$0vC*yshTILPA>?RWXxpZn*t-{r2f z?t$iASVg;#fc3mQfc(5+L6}9ldc45EhQ$Q*M>2>}Xn2L8M=2Ts8bvNb%RFY4@cn43 zO^|?@M zNxheGs#!SDds6esg5sr#LRu_{KtNzhSaU8OJdt?oEQm0PrDk{0N1LhMs4XFng;elH zBMEEdO7IwKzUW0DMV|W|A742n2tI=`1277h9OQX+Z`=EF)^0Z*NJf`ELphXZB|(Le zY6pm27@nGZxcpJyO*1z5(=ibsW{WOUSkCFqUFO5WE=FIA9PZdAFP#y9|D--00#uE7 z8$%tzGEmNc2#$g~w@}VnNK6Dm(newKZG%a}TRPDE`h$`ZsBfr-dLrpK%TQMDisn|d zyWP^@{zIYD!oM;LRXms6oHxHbOUrs{@pI&9Wi)TGCd##MkL;9ycWoA;`wDX{sF<2W zEQpQ{l<6b-TJSnXNJ?<|%u+#_GIIM``|y;3!YJf=^fcN~nH;%htJL*@3Uk_~2}4tm zwNsO5CzOheu-k1{?=fK_^b5s@qB*g%W>@dKHhvCukZ2OsAYTK%8KUfB#V`CvXL&Aq zWo9X#-j=3QD9jdY4x3pj5*Ih%4rUZ^AlhID02(>;G)cvGJZc#u1(7JPLydpciZX^z z0zwR-(-L1nh3Fzz+qhy+tm!&eX&OhLEh3THq@rBHVAlxE;!+?2DgT>bakhq3HNN1~ z#p-W8x|{Q#Fn2!nvs%1;M04lu{n(*NZwh^))r!9(fMW8z^>Cg%S59%5IwntZ@qzm1 zwlm3OeSLH8vC}r|#bL8Tp?SGKcpnaMJLbHiR==dGU%VauVNsE-&-$Gs)}B>Tj3A`Q z_?1-v+$G>O=nnJlS2SBi7;E+G;PTKDoLBEl^=HyOy%ToK4)#HxDc^fNjnts>jhs)1 zy(*=C2lCCl(Y3!#vSkaI?2mU3wG<1rXfdD)4D_U2$xQ_VQYTV!%wi{d-h%7Y{fg@+ zHGe2nzpRo)4g-o^*-D5{dACDGl{w()!ZZGOGfz6Qt$&toQtmEMuwhF)WiLO#hL;;1 zV!1!%RIt|p<|S@3Yi!So@wc7>LAW?wWRHhmJ0f(*WY|l~gwKHNOb;CW4VM?1W+xDu zPXC5D;*9T=ZHgZsF{OkSzW^97xzTQGeJD}Ys5MoXTEnBzX>A*$LOsg2P3?>(+f1AK z2`>uDTSW5nRi~BXMTzsgIWIuL?921f=$M)i@`7bNnHPLxC}eqFKU`xHKXS`Jsxjzf zT7z|Se+hBss&^+p5W(8YytM>9uhxI)cKtzt)M|YoJfEx2O0ic_9D79NKpVR+s9Xoj zdpXv79d`KcPtJZ<;q9>x;)4SKn~?-&AH!n(r>LU5tSqoVtkn9GIF0zQJen-jU-cyT zVt@H8r7bO=9o>#qWtvf;vxLC8$=O1JR)xu{CE?|>y&k-LP81n|sgd$7@I&4aKj)|j z1Isg5tM4CAMnTeZ@v~5Ws*)+jWybme{s?tb=NIZbu+P#l^PoRe(QrQALg1rTPz;d(L?7f%bKz5Q7ybijIlWbpChH zoZNFkb1Ok}9zC6VF9O`v!{TJEVpxg)u&A;YLNuKD1bAZULfd+rpzDYu?M+oq@`3kiU-C4&Y!+n%cu~j6 zo3+T)mgaY~-Yq?%w40InJQT5=GhszVSC-6azxG^>{;2LnLkUmZN zs-pB1sbsCGAec(8bbpaM3@X^`i_7k9a+6m+Y6fVpw0V3bVp&6wWb;taBu~V@E4t&B z4WXf?hNw3+gzgm$L2?44G^BJjMI!$jbz1qq9;Q1IaFo#a`GE=~5A(}VFSt8Tahb2K zWrqx0vgy~q!KRVayN_0-ds`}xnuGLWVcCl#+Fj3ET%ihI2?53gQd9?or!bFjfdn5? zN0%7%=JrpZpl`J1W2f|J(y56bPF`Hnd z*&$W2`R1RTK?6Z|YC?+NIn6^o9|=6V=BMmAQT?N4&U4h?*Dc%uT3-YfpL9f}tWTvF z^k4$XFY$~RMo?39=N$xWJci-RD#Q*4%=I-3)o*ykq+kEndHQ+c=LXF;XXW{V|yj>qF2FgUMi&M4iTP5Z$`@LK(2&ZmEB7-a2fv z^>i*XtTa%+Usv1v>3IL)u5@lh41%pb?%!ede^N_MXSozm4;Da&^_w2^^kuEq1bk3Z z1lJ}dunmpfJZpQ+O-m_iQMt!|m9UKzE}7Rvom(BA^5Spih{wqRTYsWr_{)baRz1%Y znP7TNpFYAT+#OOiHS6kkA#AKQc8Veu;yYFOyJmXRJ$^-Gs66$%2PvSE=RY1;sq8hI zV=7N`=*qkLTac-E6LDSjYbrrU^L^OK+btY<0{Qa5DD5vvvv<+a+TP^zTCtv_nhq$b z3BsQ`MfdByejSu3gGw*CHn@Y{7lgn!gN^duuU}e4&+1od`NWfKd^#nT8nkB9t3Qop zZ<-iCrSQ};8N&?262AFY!eUX&f5?0Y(;#T+^nulfw@*hh|M8$dCsmm_zlG1nIHeIN zoQcNaw4oM+LIxsHUZfy;i|LRlgC5meo{j1PYQ75Z=%Yru7TJWtl>s&Zs@gz?KvMI9 zdR@R*;VE7dRZ?;h613v6xID`MF)6sWun=5jdSpm>2#22Qn`i@#d0ACK56yD8u zC%X|2TG+spNZdulw!&RrlM+s?N99e{Aa8iSDeO^V zf1#(L9gn}Ytv^nD=hU0)HAyrdY~NXd4h&D^(53!KQ|WAqUh~;r{RM8)waxco3DZ!W z{r=~(kM##eZFqpix0lSU^?LQMX~!6cR|ME34nOrkI+D>#adq?1i) zy2cO{UCX9~bIPjBv##rLQYH#W{CllL{wH|%sD8T)z=*;d>Lod&!YU1x9i}fp6BP{; z)ONmFhVCL$kDofXSKJ3UG1L$yprG-#{GR7B7zm(XTRVYcF1d*X@n!JCpb-Z}>$X7|7A9QZt>o+O95-#RkHq6{K zDD^A)lJZ8{=W)wv>M7@LxxQyZ%aA*cif3ayypw>5CnZ6SpZfN`ex)SLg_2-ZMY=8W z|C3T3RGFMN8=X4ncG?&eUY+r)lM>q%*V0xrZL59YPSUY{wYU@h$7Q!OtrE8j{=Pzfc7K05>mN{Lm_0Fm9!Xb7wI~@xS zN;6>Z>hY&$!y$j9-_fjIL+3PBH|iH;-`JNUr3ShSs~h?;d^cbQq#5L%)QWb9Zh^N> zx76jTIZRXq&J8JHRCoiGU!N+!zVFS{huT*iwY}bF(pJqO1!K_Hc1Jbkl}b|=Rxje2 z!)k4=Q|pUbVdZqS^rEoGcmTUwNJwW)QZj0DzGTInBxa4CV|W30bHWj9N{eP+0TC*k zlD}=@m*$0^l$Ve7ZI;+cq$Apc>zb1y*%>G2ryDE7`X15Fkcqv_S&>MD-AloI3p&R}KVL1Q5>gVvC+i?c7`i3e$pDZH;m zhA|XqBa-jW=bfXzRe0OI5pAReE_bJ#{NBpKcbG6nC_{mMAzG?mD=4s5T&RIXL<+1h z<%eOtPI*Llm7J|FM^o~{Vev6Ozh0kNl=iPi%5VW~JkSfRhmnV|N!=6S{oPC~7BS5X z$(`zrKst=zs+uExamcqO*PY^?i@|bP%&Pq{2llsf>XMjJmpqagCE~usGe_h`znMQ8 zkXQBVUscC)SY}^Cx3hjgi*Z5&LIKd^)Mu>geJ_EpHcl@F0s`U3FEDqEg%d`We=rBSug*SjB%% z;V?__cjlf=H-5?1^e=VdL*(`oL+j$duuZ)fXdXqvE492mFoO~pUG&?Gsfp8>6*FNrK`NyX@Pn*I zTSgxej@2UXHblYBuWwhsg{R-xUi=e39pi&uU+Q$ooz#2!hH6y_xoxL1b zqv?&(E8oJV9?I288#1$KLn^S!i-GD%>!&c_)Fb;t{W_}O<|9+g(~@ClK$e21sl_f& zJ14+grCu16xylrTxGciU;%}07@DMYYf0#>>rWPBZUf94)uz`zC#RgV-5{d{apUxsB zW}_eMM>iK$hc#-#B#SonH$1I+rpdS9RFU5l0@ApDb5Q?XL?bU0&)Tn5arI2sIx6xm zsLxeW4FXyf6|bO4Pj*S-n0*9984bqRL*a3dQ@RHNfis3di*mdW$fFkt#grRK9EEg{(U(iI^Pz2qRoif~t-L;7W` z1*;(wS&S!vhQA4P@c>4F*66C=S;?jE1fj>?CyZmzR)1aWEc3A>jv%+-mDFNtcqgb( zjlKG1LlXkHgb)&Af7KS@TM&Zz4Yz1h4pu5 zL5LF!oH>=(EJY&PwyxhKhNv5%D)}MM33v78LL}2bD3+$Dk8i}U>7ueG5op#(dp)iG zo9#N+M1V4>MHl)cQjO8~2RNL&;y=UKZ$NHa?);j+7IS@Y<%QRLXM>S$! zzAKZ4nj4JTJuGh36~_em{j~Gql$-;M3=e427{D+0V@i}Y4M`Jyr|K%mr3o*BXvE~B zEyuV8fYhQ|-AMEY{KkhE3|&YPp2dJVxgmndG_x;gj`x2`^#}>>Q}fiTX@@j0*)Szt zw>sObug7i0CFjBmnv)w#Q)8!sk~OC>P>rOK08W(_*GOvr(JyH3+gK|t+4r(U{0c2NS7Tl%CCJ6pib9Y!sUo_ZDgoo*m@SeCzcS##cYCrhe!47eL9& zRGK)+c&#mH8j8ghYbfS15NsZ-@%Zs=W=n=>1^B4A+4hWXy}R11uD9vyD_NT-$kg!D z_dWwXVhljz*CvB@cSliM(=4&`Uw(-5nR^j80r9O8E>M5&JjgB9A6M%`lI9h5LH!aL z%(feOd8u@1SfwrT`?nWz%W^G?+WN1zLv=yWF~PuiWes)#nz_1}c|lX9rE!r#9whZ+ zl=sq=f|4jKY(Ia@T*w>SG`7LK(Z%1MEZLWjLZvXHIbV$C{K9B#&s3pb{HrZ|buplS zy}fwmf(3}ZH;ewdm7~EYERiqdU8;Wz z>dA>jAaowKK(mbu8ITS$4{$jif`AJNS5dVuwPhSf z^?SThE|}gYThjvl)))4-X^sELDBItZ#K5=7eWQLEs2lVPgX922+u+yp%X*4*ThrEI zX;4=WuWkD62>{LCyyQ_VX-O@un$Mi*)xZ82uaq}`{gOvb2C@9*tzW%MQz#DVmI_H3 zMp~0iD`NCo?p%wsfn@kaJs1wq$<1EB691Ii?HP<4iti}75=EQC<{Mw5OLC9$!`O(Q z4ir5I=^@`iDoG=)F+%GQfZpnx`^(#6@CyZtbQyJMHE6&w^m4GVF0QB&NYDW_-l{v$ zxwJmngk#mepx&K5WLhu&k#RF4`eukmwF1BoaHEjBo%-K05Uls zS({xoHm(5TJua~}O{bQfjk2^!HZw;58SU3VDP4#DNfq-;%@|zN8$jo0STKig+2s{A zAJoE5)eH{QAAy$qVaa4sT2mn*fj^#yqx!D06D}QXC>NvMmR}rpQ0KN9optE0s&SXVgr{4$Wyj|gj5h@_B_s&@ZWELDQ zL>D78)0|LzZ)*eE&`{Upx8w%~0{4RZi;EA!it`7leTOAE~*;kmhw&+iy$Zc|sJvhl!C64%e+t}rh6dp!s^zCHS1&_5gKH^Rm2 z-qMc@U8cZC(S;XJ6dMYY8Pj=`7}yJuQ?Xzrd(&!!8LL)ZY< z3KJ*iSgLMg4CPLz)J46ItB3r4jNjGj?%8Hm6q+i8=$0!@G|i1faIV-(ubfky^0ifn zQ+}Lq%4IFcPnYJ48kx$G+8lJ-jE3s_x7Qy?t3Ro;=>xiv2Vi}qvjr}!j#24k=7PZk zb59-|_48_VA8hEBlzuPiM^gGR2K$AP{pjqI2hY>vDmgE#u8Pznq&}O5j?a3`O(iEG z_fKxC|B$^l4UMYAos8jjAsh<{f-bocK(v60eX9Q>T;^8I?nRbLFuv44ue$%h3cc@HcU#J zpp>IK0X88puzkDW8H)3mY3|N&R>;=)%-?Q5ADh$FJ1XJukNtiwj6jtKU1wI|h-$038u~HQL}cJ3`C6=0|2~iZwQk;@wQtHAXDL?p%rqCNKUF0Npn%}iP2!(83JnD zh?~AWW)VVyz5~i}xbwvVZddP#RH#W6!02PjOp+2WX5Xfdwrw-~vN(&*Fm{H0)Rt>S z4Da4l?IrOwl}goKGF@sfGC<&l!gO&cOnZqt)KO~=w3kpP)@)82ES2{8^9*tn*b@bI zt3b-l2&df2YMiSEuPnDX_qzp`>emCDw<}#3TG7jw85UGc>yjF77Rt5CZdG&WI1g6F zsa84V=brUi4+(hHLl2R9@2~=qHAGWC1f8sD#Ns~@*V+o;$vPV}W3Ej5K|e)>gXSx} zXPm_)-`d$GhtFjpOjBhFJ6eqivs!-|t!$?aYOC7e>e{Ird!>0h!UY6=M7A{Z?75`z z8ip~|Eb4NaFvm-FqB6SKovVsWZh~nf6k{ zS_xVuAsBC}_)uH%dajsJieh5!rC3uPJbPi=y#Dp|XGBne#h2xdM3n$Q9*IY%$5qix z5g9^}On*xx@#UkQuTZ6neiBe_RgFicWK$%N{le-fUsdx_0z;%F=^5R|3pnwZ1g?61 z_bhGY|Dx1N)vRa|;BbkdLkfvBo`5joXIK1u3wp+$XkK%?he7eovxGrQ_yDws@@wdXfJywQQ-Mu*N47Lg@WqQM68?c}KE@Bab8)qo15zQ2Ye_!?LbWf&-~XXF!yP zZiCht3TD*b$zsozLhc(;;&w~ypu#*zLG#SdyJtEDO$21s zw?kM*Qu;AS=!zhTqma<$dPMalb$_HDAr;t~hz(c>E+cfU$tdrz{&z=9^H>WypRvoh< zF*WPDYLe4e3fw%vL0oQ$f8g!L<2c0CyS36BnRIX=en-9Rj2q5>AID{iL{!_M7 znHnZ>PpetecbL200VxzyRi>}|uKek;%Ayq$*K|>Q({+}k3`MMixPvuTk~@2n$r2(Tp>(Uk;=fY)z+Q7 zNvs1v>C}3f9GWx_$c^OIqajnmF$1WIY#>kvSx6*HYw;ZAT?ebQ&IGk3XTlK>(%hm# zt32!I6l3BRFmY74YP}1GmGj2Pd007(3TlqzDR+awc{!>-!tHuvyb%P+0da^fAv&ZK zX2yIvX-D-*sIRxP`2mK;%;?DyL=CIIsP~XeCB0+)C99OT z4b{Z3yP{?#*gzCX`C1o4t{I`5rt>bENJ@WhIAmBWb+m$_;~uctDmAT2Je+hd65HW~ zD+6Yjm74(#voZmZ&C2xJF)L4Q)eMPkGXe%8aZG$X@>kgQRx@cLIBC3yB>bH)#tf~7 zHkIw+cw-64F7SJt4bJf>jefk*ODl8`+c6V8)uWgdHfZ5(Ea4m*bdiQGcemJxSW#Cl z3&v0_w;&cZd_8TM0SPB|&WM*%><~=cT-m@B5Uw9ItDe!8m6?}Y4@=E=Irw+9`QX?9 za1qL#X1RB0X0Z^+j1th74XP%IA({<4Xq9?Iy534e9|w*0iiC+o zk(>JtRhBmmgZzT3hcgYh2hBT^WdRsB^422a7-p5TwU0!t}jcG3&x9<*4yOkDVZ1*omm4XB@~Tj{_(|oUqL`}CvcJ+$*o)!cNolyWEYc`(Mg6;FD74ojza^)=fq?{+ zot}U~j`MHUq)`l;C&teY#Lu^8anc&{Jxs`Q_t1d?xwrrN?_Rkp)3>GOF_PL;uepF4~fl%`sDz#0LR4%yvisj8f;R zyVIO6U|iMrm8W+**4~NtyE}e-^YLCZI&;=Vg z+Zpyql6zB^OrX!Q*A8mI1#%YJwCV9#&|?tPv!GGYI_)vgVue#|CK5Ggey>n~Hra3{ zgglEblBmw!N;9_AAa%J?kBdJZ?;mWuVlg1e3t^^b)q`lW`ss~>Y!HtG>uu2@Jjbx9 zGJ8`Q2NgM$y?=kv*nFHG&$w@Pv5ARxUi9jJdnjMOZS`FnljO5Gd63 zO0z}Prk3^Ts5Wz@35FCtm8lZ;cUMu^)%#p!mMlR0HkP-cF8uTxL-e`X zwH|>TF(bh&r!O9g#3lKhNqJE>CfuchwC?EiPX$=l|np-&+;UgL{Ml2M5hhAlPIi!y`VloqkBc5FRv=H&@O4bIW%QFhqsA*+=#WllmSM zK=}k-nb4(DyPRNRvIdgccm&-We91_@v62;5tN>M6e>i(K<`5a1Mggyo>yqBi8t>)| zD4yi#4t4UTY3Sa%X(+0#>xf1uqM7ChZBtJ3_O^mYG&VO(kImuE*c^(nIkffID0!=~ zxgm{Be2=lYp))o&q_N@q=CMhYZZS58+p#&cacpkrj14OQn^8a48JpRy@H)dZgjL#k z6Lx_x4388wB?r9NoSmX%!?42FWopKtAmIVxSc2t=*EIK*SJ=MOBTtf2LA0|bM{JE2G0`%15Wvz9k15H-(56Uj`P&r*1LY!0f){O?_gW~H-Pr~> zM^l)b3)Y#bet}6Tb3%`(^jr?`*yg6ck9S;>bZ0 z>qaXW9dwJBoJ0Z%^R~zs5F+!6&3>}4iMR{fE_X@u_A#pRr22A#zSw|odukS9PK;TQ zS9`*w*0ffArx&2gAtdp)aLgDaBvXyhYLVDHo-vzZnkW1kO!IDKyc?Sc{o9rDoGR_` zIb~oJt%6Unxf2+wyNi=v%DI*gZKDZXsdl+|KMt^Mz#_8rMfQwrxaT;Aa@~ z&m#DE4-)!LwTO3f>lSrpXEXwC<0M55chOl??vR#KarGOsIQc=#o#~m~PYNK8M~%;g64pUM}L-dqDIG8>{r zPf4>TjYq)y)xP+sJ3$IKyGN{xM`4yK=qZtOm6X%iOR?{ulJ7L#QZK!^?11XiCx-v{A>sD-=MiykXcQcn)ZF_=wL_kQc{j zx{uWBl}hV}((iR@kFOr#uWHOoEd2mb9wl(F`3* zZQq9S9|d6@G6Z&GrNRvAS3E{;lU3Y!45|RUtunir#M^{5W`NCK#Cf1u8>g}`Gt*Ih zQH^%v_q5xqx`s1W90!zkl(?0=AHx+Mi>8PmR>SNoC{6K2P00f(J6KA<88*cdSXj?x z>&KuooqFnv0K}!j;M1-FR|@d*Q@{8z%HVB#0T$%S*u`dCec`p~zkqQbfMri8QPX7T zz+_oLnV1+YS(yXt5ixY84hApMQ4iBdF3$%|`d~45L~PtZUgnOE((HsY+ zi=5bNv4bl4@gY(~l~56H_3~Ih3(E_TLL1aYML5e89DWHuR3rpY5rJ6~+(QIrsq4Jq z{{oFfXz6Oxo;n5&{T9jco{>cOj7dpxvjg31aLm`Hs<<5ou8kNn@lz7_1Dw7^DEU5M zo$v;fy8Q(xwYPyatyP69t-%9%-l;#6`U8W)P=Er>r3;it&M}F9TCUyWb)eZpN1blRL{Tq`IQT+FnwfP>hxrB=to3#CKZDYtOYRn&hu=TVNd1E}!Z z=qeN-7240>QH{&HKbN>aYRtmZc`z^}p@Zo-D53@ChXoAv=+B`(;jf-yk)3o)3eZ*H2HIdwiuv4-F;n#SIFbr?yJdb3D;m z;4AY|b6|>-G1|MDfOJvw_=9Bh?XRAgWd6C?6@)}^l$BYlM+@~`eH}d^+e&oJjSF6Q zAkfo}{>kh?-9<4O`vAVl><^wb(6~-USjCb!gq&){fiarQ9>BfN6H??L+khAuHMK@M&c%Q)F|Gc#Gsgl|{DJhWDmJSn2NGb(3AZbJ1KvK%wK@xDQ z=c%G;ZsVvdwuIS3?t#xk@7e;Hnv6jXW#@-J=y=9J#oZ1D+QpU`Oekf}ASWNCQlQLF z&YpQ^KakzonIg`lv*t`dx{gyYx%PO>(X*xiafTV4-XOZ+UvwaaIfOeiFc4u5OI0^qwI34x&winu*udX8f7v9+EjQ#ryE+WC(}Yx9=GsZisMSSnkKC za7dy*<|Tdc@mC=qZNQST{?Ahf-uOh~Z}r(Jn-*}`Jy+k5c9i9I0C{6OVFRii=|OR? z7WPFSB?g%-rCNL9IY+f~*MY9qQoqQ6xg*_}r&HW@P_E&E;;4zNs8J$`zF!~qssql> zqy%jN96{{AE8h!TymQq7%AUI%J>P)Xw!?BU5pmz*XN2M~K0Jss28-JTezF6p;r>}y z)M;mNa+vf)4-c7Rc%0cA^OL=g?NGl9ta)E50ZEeX;D}RnnkIvAOu<$A#qq+k7W?U7ui^Ny1B_EYmJPAnqL+6*uUd#(B8%A$ zWHQ@LW30}JT+nA^JkHrvf4cB2)7_>zqhP?403GqO#PvE6+(nh;><{r7mTS-D2U=JX zzj!%LWTAm>iMKQ>as&A@Qrdf?<3$$l$zR!a;7NUQ*UG`clPV&QGw(d?>K%Orv_`rn zZxq|rJNzoV!)-<6I_?yX;R$G2$6-*TvqQiD`XM@nbi}qlN;!xEt*(J>eij|sbP^v` z=^krQ^zXvzgnmI5a|RqEKJ-g#_XID(jg?*l0T)(xkg`fKb@K3y+YYSt?9g=)&B^>= z?#gCioh?w(Ud~B&=yZ2PG)e`5{I~lrz&!i=d;MxKoSB^)ZJQr2oOSj&^`joWeet^< zbMDf=c+|}{n^OpP6ewcObzyHO!{W`z1i0SiEDMOX@K}}g2P+sYp8!8XP zZ|LWTzc}5`T|y#8YumR^t8XkNM@sIw^3;EpK0SQ5XHx0t_7hsjmQFbWM>asVCdlqX z-FI)rstuXeilhIoD)IzmQn@8k&uBofs6I+}G~UfLw2wa%XgAW!69nza3|oQr-kj28 zXvq`M^6A@yc0Tn#aC<=u?Ww8zS2s}i;|1-B0-FmKyy=`~e|>oH%*qONubv4g_iY&F z3jigNGgyP`=Hbi!g;4!)3$yl@ggI9kd`PBk!#nkx+ zng8OK{wh00xyTbI@K$UEZ3syu8O_;c<1AjniqJ%yz*)RJnZJl-Nu@_8@zH}>c>vCb zN8Dg)4A0LvkZ@f1KHdrztoGov&R7W@F24c0ZHdl%96ua$|5&wwxlUCKGLI>=1bk5b zm<|T%DUz#g3l&vOD={-NS`<=GNZH?98|cWO2vCAM$}3BJS!JJU@Xkzys`fLYJhjG* zZ1_@tRtb85k8>15;g0w&O4XD?v*diDVmq)fplxV4aVbq!t#J-6>7{?%A@u5Ybt$!-+3cgHXJxGc zJ9Q0m;}Yx%Khkuh5U#Dv)PFBa?zXSf9c;S^m%2}$!t$Q?Cy`@^Ej_NfFDUr8sh>I| zsXowr_P<0whYpR8M3(dD;Y_E8EGONW>e$gFAk*3`UjfbaS-$Sa{RT8~P)U*|{-{AA2S*kJ@P(zZ< z3p>@SyxA@ev6og4brN%{q}k2w%&2_i57u~n_+3%7yC!i|9X2prQ3f#VYKI)I{4Ul1 zg{9iKrcLiYe0fo9-d4IauTYDT`x$H?HQ3)fPCXB}1C;s;2@AYVBSJhxIa!l^H*L!E zmgyjhG8+;pT-UFUeaaG3j#&b^^2_l7&$kh)Bm1jBvj-;~*$)&`NA{ls=z@&u!$V=K zb%$Y$bFBkR)tzsFYlFprZFrHr%0OzU0C$(8KLx~4XJMl_Y8Jbhbc{HxmFeuG5@?%+ zw|>m@4)v)^y#{=zIj5&n>sl5Lmg*i+QN(rqpddkUg46hQEtKmgA*59veC03SD5Hj#t7Pd+Z zGkf~`mXI%S8Xa}eA?#QeK5d6mo`TN==V;-35*|ZSM=~{2nBJ<5h3|euOR6|X)R6dE#M?|=xy~)SbY5mu zX3<$1NmjVQlX8Y6Ze4#-9GY`1+7y96nsfPt3o~)D1QRFS&iq`%hE7I3`g;sUG+bbF zfO7^vbNdQF$fcuw!m>)jZ%Bh_FM|Q0EYJcErD9PP{RXrD5)zrlm#ye#Nj>fNUfq3W zNhnx4>}xMXTalYT?0ER?6m+V*3hPodLp~-KCZGtL)dMSLYmT$f+84ZzSP|G)#6589 z9Ke;OXy+vuRAX)>Bv$`d&>AG59l)z~J`F4m=CooJKGCQrscCdU+%!N?Z8W(c^+zrD zBWtWyx=D_FRVJ1p@kz(pq&fnlj^jD`s{0H8p8E{K*~8CL?(HnSMb4>ftoBJyLNU`R z+|tij^7GF;6{2m0bRp9kM8Vc337Gj1Fk+7@$O#y^*z{`sAi(Kr2VQnilO>HdxtyC* zyxc44l7fim0c2hf?9h^+@)NWn9qpGPokij|D7;-Mi}m^}fX&M%A4pCcg!A2yLT+Ue_N3EAjFQMi#r)AYjgFC1{fPoocR?Lz5URykJj1xtacB~Tv z9<$J!De>rD)H_epZ&&X;UJyHywaP(8W?o!?#4y>I;bVB<(?@(tO5r2InBan*daQXL zEC^O`Iu^9>FEUF%Bk@SZZ1n2zpLh<2#aNkVt#)$2GW!$)5hukwVJ)G1lYn*`DW~Sx z3*7n}95JLoYJgo}1%%W9A$ljbyLFyivnK6M8VJ{@#hxUF7EV+;K84T1sC8E3EV277 znDs_2V&U8@Jz9XWj%%i|z`4aVcAJGssy90*y2}>wNsL(YLnGBhfS2_|`M&h8eLc6 z*Xe3G(@Ho$Dnk}F3RoJzOHTGOD}}RN3HgAVEBK+ySFX_ixG?Zp!F9ZhLU^jyY9t7Z z7D8ArKh5XoNlf-NL*7EIl6h49EKWPF-zaL;i|l(pUF;aqz4=A4n!BZ7YZ{0dlxWRh z?ILi_7e<=-UCwJCaDW}C{K5S%R}+`j|A>n2#uZpUVPhfgJt8+kPg6tkT!k2Q#$;25YdFnV{aMF=^sq>m(}PGphWxoP3eR=# zugWhPl4pBJ?nPH}Z`wiOom7UzlqBXTV6Th;(pzVQ;FM%fS%`-s<6(9rXp{hozhb2x zCp~zehy@0bs*ua^(qIyAY?$M6yuMXd zKi@PJt(l5czsX2|`r(MSw+00TJw4j=1oMQ`h{~GcM9;Qc{pV)h{#e#0Y~KU#koCB`S%3?=Mg6>!5tAMzUkuwDd=rn_%^F{*nPiAag2IW> z`I20B@#Ct73ht=tcj2*s&F0s4Zx08>MZNb{)jm;X$|ujpt>kO8z+@Wd0jJn!1~48m zZ`B45Bl<~9ysw>@sVEnP_8S&g>}X>-2Ny|d@H%GfdPOU$N4eK48~w`jphlKoHoLT6 z@hoWB($z_|RS5z#)lYCtw4}c@6K&w0%0zHxn~zgln9XR>vFr?);buqYRq(O_mrkWe zfR=uWUat$lq}FTa%urw{B!qNa4Qe^|&ES0C#mOaVlsp6zn6tmoyJoxuKN{`>XRffj zWhPo+h@?rfVMgz0WwBqzFaF})GGT%^=rjV5BfD-qeh^(-uzmu&CbT>_iMfCWrO{Y? zX`cSkZ~pSB&L^4*>H2&erlS!E6tjcF1JQl`N`Ig}Fa%$T5mFrD*69BV_nzc23fvdV z$}osr3%ZS;&>|RV`>cELWpzB^aRMIee=PSMPW8i4W(MSL_l+Lv`bBk%1kUN{2h1mx zqK@9~V@ym_ST%QfTM>Oa=?KG&3oWMP0$t2#*Q7Cn$}OU}3w6c~Nd!hicaeo?Tpy{3 zlgb!O#bS?>N@xUp_oBen1+PHxpqGgC^Z;YAo=7{s=#<{R{KX+;$fKEbDAs5~wg$xx;u1a#kVy5!dR=_6xU2uj_)ciTmKkfri zPmY51>0)+t0BU>;8AL9abHc{0fy7%Qst5+d$Cu3t?zSoQ3MS`4P`4#hB)bz9BqA(; z_3bmPgXjqEegiKL^C`qUIR@4&>@5MrF56ESE_MqiN8 zbs5Vrgo$=G2d^NW>qAk}wgK_Y`d!jRdbT3t4tOz9jKH_Z(3H)qfq0lERLu@ISWH7OyU7%Clvrpul^E2PY`^-PRjQ*Sp<&;mz@>=nx)RWopv;JihZI9)oF*ratF z-{hWnp%kQ~Em_LxSscd3aTS(98^Q+9fnq|ANi$hHfQQfYtgNySLrp{8aF&zuUcp2| zKwhCgSF*HOu2@x~*MFF3;nt$iBK|B2)fB>qRqM|p!J#h1rZ;UuAcM~_$MvPDy3HAv z{TeGuHy4NW57-MTcy6oLBxi~ZGZ?#s<-JAkQYv5SKKFY@FtJUS&+OS&f z%d5)axPVVhfK?sh$2bL|MaHS3A^t42DiPn!X1vTrDUd>6>(@$e-6}U3CV^Cl?p@rC zL+KR{1k&}OvF7eO>=smN2>Ijl;NNVnnBF;K&8J|Y7Nx;0f3wl-el2J{hMf7X^@pL}ZnpGVNS|=5P z&@^9Hg_Ds&Pz;zh6z=8~phqA8i5uOb*b9-YajX`ITfTsV+&fd zJ1+iD^GQJz4z9pkxy3 zoP(xf+XIO_+vaTU_NH2?Oug}PKiSI^9WI>HTDkeyrs8&ySA{ybF@`^)7hdA7(FQ)` zU1b(!=;R0Mzu3+=<;Y^|qu_tIaP~i~enNgV*G^skS*{;@pBt~#>Xf~Yc^`>h1k?fn zujKu%lpKaWr@2LP0yVALDv$>+s4LJ)(XVIs!04cz0OiXD2j&7JmJ4}H8^@TnE`i&O z(%W?Pl-2Jr&ZW`5g)ds;2?vy2UiAGnj8dr1+AC#oF4b9R;Z?Nby-Iz@ZCKOI!d#iW zNl+fC>-r(~k|S8Uk(nN`KH8RTzJ}sx&Ze^&%y#ff$Sx(SC?rvlnGWjNfk?I8%59kG zDW9Am9nvQ!SY{(j7uqu!{Z@APm_0d32g{`(aW{*O{zWY_B$GJY&Vzl^-9TY>H$!w%Jv(kxJzDe&3{x*lY>(8h`|3Y{_$jW(h@A1Umo9zvIu{E?j)0L|kftf==7lcVCV+1j zBvhMSkTT+Iwrt^o3@XZNtM2%YP^H){L;tl7X^MM^Oc}`$dX;Gk5IZyl;yX0uw?b30 zODHJIKj}*T4uMsfz?2~f43_BZoj0n^R1g%e+^TCRIf9}ndayqyIX_0UB@sUIen~)w zpxLr6H-vMH>Mz?`C3&=rvq!6wX~8-chEZ(T%jz1AYk8DA(7d_yEW{y;r3ZDO46$;A zy0KL0i{iaKb;T>7td^2#+hnZkQRgRT9av$tmhGTQI;gFmGjwQXvW*w*&rEm!dFq;2 z>66a0Os3pSkR)`=-0Slq*3|lh^(Lm1e8N`4CnDry}SU6Gubj@m|Aqhq4gW{=b$*y5l>4)PTA2CkZ z;R3#>Ui~FJq_J$(iQm%=q2}HC8|zQorZanSFTU2dZOV*Hbn#fEjAzM?KiIy&7S}8l zx_PLCy?9%~6O|;8wgQq2sw&{*@cK^E@T%O}@)YX_t4s}b8AOvV8&p7X=BZHW~Qw~hNT z>Le(ZYV#JN<66n#149;T<9=YL$O1p;=-jsHyPtW8bD!hwVp|v@g&MbhrdOy^4 zJ|?TP9}4Aj<6bCi=borf#I9SOVH?`;1x=$XiWa?1YpJuvYpMAGK#xFx9YDNne8t|e zfxufdGCjBIEFo>B&^*1U-X6nWmCbs@}5-}6eKRIC>Tv#;7%7F>PfHI(?jk5_ue@U z^5FI>s*>}gr{gyCLf83`Ezi$ljw2}eR1@Hn%7sr5;#S;XJhDN_N%~_lie03Je}}fC zM=#xokjnWV^n~p$G}lWos1Cv6+Zrip93Yki7)RS9?);TG;~VFk=!G@M8uT8(hT{bN|Hpg8#i1 zijWh*h{yxzazi^2Jb{v-2kfz3H@$1SZsMM&*`0~1vuStc4{ZUh4`vj+IL34^qx+W* zW_<5w<2@hD$Xnvp>ifUj;x>3R;8KN7C2?&&fVtcc51#0}PRy;+A-9q213d~`bXo!+I-zzo=yGo_NJ64=22r2Mcqd<0y}d5g|D&bK&@){nf=RT> zj1#R&8+6Tj8b(-ssU6P^sUyV&hB|-hVTb|dw2*`Kf65|n{Ik_501#)$02qXrEV7XD ze>%Y#$~$=W_w}~^H#5`k_bdME4+g`*0FkdAFkx0SWqQ(ve1ExQ?DQ9uu=v8PpZ@Z> zTm~sR{RM|Zl!5DP{l)2M0BMRRgdHpx2qnTp5c9@;PEq5!desy6hf@4u*`E(#$q$;6 zN6kAQ$LK*h;$He@o@p`~|8Ip(x2B+FBpW5R5o5nnm$+i+|d<5096!^ zcg(~3SAFYU!8DS$480;x!GXPK@bZ=5oZ9|D!)XKYi&ZB|0UcVbUo+!h{qZ6Yzf1LR zkmwYMCd3YBAu{Re*YY8FedaK)s`@jh9y-tc`sag1qxuSgp)9j0-{Xo>nJ<4YO0YTs z=G6&=x`0O)wygrhf@_JB>Yty6rbgUrN;JVO`67iVvCf``odPu(Tu^@&$WkAE490cz z1=I+aQg5aA^BeC>7`=mjzt``s^scP_W9l$1fXw>mgj9}&PmJ+h!~SeSOIWp@mWV8& zGX+R%5TI!WTQ;f}LB!}~w>pI#=V8N7jjr@6iqMZ3UG+?KB9yp`jscM}q4`l(G-zLb z4bw)&u&N8vdiYtYe<67x4inK zE1eaEO|B&vL0MjuI1FOZqQ9~*HuRY`kVcS+7IRt4pr<16}!$SkWmA1Hw%H#DF@_k6e z`E}yUFZwL~d9lt*fN67UpUtg~1%YX*p4izs&@_q!1&ql_$QJv7)(2${^*fS!tw6e& zXPan7UXTgNaVCmF6PR}EjFz|d>4nh%3b!oxMv{B?Buqi!1yh}aQJ5x+fdpyVjwqrk z&Nh*sNL8q2ebTSDzA2IVjXotVg@cT#GL@64Y%ixoNQCJj=(5xW;!24w`qWTT9g2bw z!XCK!26>8}L`UN{CF!tn{=z@BD5qKLJsz@H{XfZyk;R6wKIaCY1C<45S;*KY3)MV7#8e80a($=l#x( z0b}b`qLno2Qahmn$>S4@#Km z;5X6Iqx92D>2Bj2b@<`3ake0zC^#FjgA~v>wIfZ(OG_=AxdE6{PlUizLzDXQ{imrX zs?eGZqMAtTROCO+^yf8TyYs2D^l}Yro4K+on{^G)`B`1Y$o4~h8*0T8CD)qU4Jzm;61$0vGA&Z4n4^!y%uC}u{x7ho%edf&(8R;6ToJFk%|KcqqT;Xvv>6Egtif2Q*$E_Mtgt5vX2~`n zrPAIuty9AR*aqaKULCT_r^Q(JuX7|qkPVGX^Ac|OLFJO>#fVAsnooqP!+NEF$@v@g z@IyU%WBX8yLb%zfZY{*|DnHb-lOO7t@PjLzy;&L)WV9Y8#+=WeuN^$aV8#wD3QmyE z)D{QZ=C7ev@s$u%*3~8q4@cATq#pp8da?V3m~&QVWF zX&&btNEJ&w@<#EYe&+yvgQ+IU4FG%NCzP4d?>I<6yY5HPf-vHlrufzyKOGhp8)2)= zSvC~HGI&crI06h!oy9*V{=lF|E!Fr*rNuH!rW^)_zkXldK|J2m<`1(cJl~%9`U4Z- zPpCk=GIp%q{zzLW{23a(wqRx)a@mx;*yA5A^>uq}`jp6f zIpl5cPZ+nmdVPJe@{c=ARIFTg6%WJzU@rfIxjY&Rm|j<*f0Pm9}7gH6kCy zVa8v=H71eU-rWi3c&o$_obML>qJQ7a?<%PCqE`Y`5q?BLAg*biPaJ5Y zKSZvuWo*!}Rx1!3D8Vs0@!$r978Y*U{)vxnsAmA~&SfBSERGWLt**ucz}#GBcLLEwsrEsl^&dJUKi6 z1T{Iy(~wWkFEedxp~`HLY!h^TKrxc~pI?T0ks#FWaQj33$8j-V?AL$EN919M$A83S zouuO9Pv7c@-OM@b$NO>OD9+fTn}#*A+-J&@+!KC;PiYQJ9j!}AvafWG<>cL`aOqf1 zAaw>U{`Pe&C-4Jg-j@|}noNjf>3JcZS1>sh%R?D@M01kTR%Pj=-P6KR`Bba3$)d>^ zPo~LtW+24^rv~zQg+97y5?X9uYjhwgkqJM-1wWb}J-UvKMqXn_{*KgO>c^Xg zF^F4RExPssY+OuqjDGj>%dW2T7*(d06Apz#fH_I%RwQeJrjVZ)+B6oFp&J#$1vt{$ zY{YOuFoPt2mY@t@z~5|VjP%%7A`HCOtn=@MKc$?y@3f>})SGj;F#r47!Ge#jR7VtL zr=Z**NG41M~}}Uce)CLXtOHMS}c>J zJFPqq2&_EddpqWuKPGSeX|A}*)aQYgP=32(LSbk5mYvEL#Q3T**XedUjKF$_uC}Es zq#ExG0t4v}-qwtSa11?tCidX&4{YNuk>==ow;f=JDH~WBe_+tI1WSn4 zqErwK)ZkH9+^ngIA#ZN?B?~eB&3gX_aW4rWA_vY(!~+g)Atg@*43h(L!v<;f>%TR% z>5xu3p@IrVQRp!|!;Y#_(|u7>w=O*7`x&39y2^VMb(eR7Ao{vAF6Bme{>a8=&E!k7 zrU`fA8@h|H?ZUxkc;?LxHi2=UJ(d}a!~Gu=81dR`?w^7&eN3oPHXUD{QDYRJ!)$G- z8COC(g0YfJ56)?pR(i~h=QsO)cziv}pUE3m?5Q(k3|e5xkpBN-^7qC|Ei%HwWr7g+ zu{Pdcgh9blxZsv`w2>mekam_2&xxdA9ysRsUVKHYe5i#fixm{|EDJReP9p z#vkYPJY}%N&)_Ko?(3Nhb*LX}7f%^zVS~8PRXHfv&<_4g!sEn8@UuXPlUbktN8@^0 zdWs;>6Xym3hMq=G832o(dQTZ#C8+ja(o6q18gSApZ%-NQhpy;EN!j@Qa(}<#l;5wA zZ&#f^WsYZC#I!l?d+KvKFx>Z4fYoY5)2~mcn^pXb;-`+E_4ILF@6lij@{g&yZXbV4 zGreuF*CRnKtaCJ(n$S-IyG6{8X_ikHBB5CqJR5NI<7%*(=udy@Hv(kH!3@O3D}!#elR>Anaw7+yFxZ_txld&0`f}3Ar{0u4-uKia&flwE zM8>9+?c^u)><{P0a&0pUtdUnY(Fabj1Ewa^AEubCXW`)PK#Lzo`s25ej@fJ+V7E zo|>cnJ#yrTKHpM4A4#8Y?0!C6J|9Y-*W1r1&Tp8^-2|9J>VoA@w!MLBkAPxGVg6~m z550K>bMm47!RGbr|53Z(<^v1DMDOP>&ruJ9(rK|44jvs91ieu)Y%P)=>VYN9srB{h z>ZkKd-B;_+rJ)VhZ+MLIXC&_apKp3!#_y5A&ny!ZT&nupr~b^!_-T7y{N{JBfFq;x zrpfqeyAHj%d5CzX;Wa>h;y2Ge02YscRqW$t8U&=^`oVL?n?mZ0?RU#^%oSgkO9zXUrba@jUzwqTB~@ zGv8q91zF7NQ0nYkkV6ygA4#!#OnB`n^Hd2)RyB=oay5QD@mjo~S>vFh zmaqNzMvi3m(q(i%ZoXE)e9B<2c`cma@DMey#!H5)a)wdPz(ZufJ$|XyKrcM1 zXW;O`9rm)MB%SPa0+_C3&|%D1h)b~*kG&ulR?mtTew2cR#(73cYCehEhP2D;51x&L z-JG;Pb?j#k}J!uleZ8w7gtK4#tcb9nU@4&>Phh6o{+r3 zK9-nqqxrk9y-VgWliMBdd!yH0vemuWFa5R*T?ANM49)+ zs|ru(B;*&Jtj0f+$Ky2765-DyCWy%<(RPGh{Kfn+!zw|*Qk|WAOQjDQSNK~yM1@xz zd82aU@6*_iUsq5}^998U&j5TvBDyS0s#z8qJ(N*LVS`Ws1#x$QqMLRx8QUG8;36P* zYp|#gt_{r?JBF`9c`qi8=yVu>4dwTUu*fpHjGOo+wO=skz32aB@7;qeJMKEq^SH07 zbF1oBcU5((tFh0$)5Ell3JF3Zgryxi!Fmfb8{t138{P=V2C?DoYQ}DP7MhsdIyD}p)GGjoqXm-tD8)1yyfUx%S{brtfZaums z+2%11%Uw6m$vm0A{N*oyul!}EjGMtjutbGR0!;O@y;#$%@~#^`P4y`6qIv|FsNO4@ z2l+vH_tl%wzBPENl+D&W5QsHYJDd*f^WR)%bZUjK5Dj`C&lHN~6}S7p^F7K^%$xa0 zd2c39*C_bAkt&qYKo002Roj^f^l^}Y_b`10-a{Ix!{Z`i=FoIUUM^R{rACQT(4#y` zJ`BOzMW&mKSR`gyxjdo@U=&OTd23~wiaCqp*sJa+rC14vt^KgBX{O;r5}v?(jn4>T zR>?cSpIS?ao~P7RGX`qBahLmj?e0=Eo@nJM4-;c`KOy1Xx!3YT5p>`7;h-KAXb0d3n9Cw%74p|n^pH<-6+_S)pX4fZ!4r+H zpJsttpsP}$-qjzRrs|ZEIE@v{cls~E<4BZmuwu*UwGWO{EDXpIK3o^$53*AF{Whs6&Qx};P0qJT zZoF&?4BI68ADg#}ZE{ITP$ZY-SeMJOC%e0Vx2Yo}z236H2?ZgY`8w_Vao<&h!~WVysDokY=F}}23t(d0=chcbn|cE$wx{8Bj@Gr>Q8oe@WX4}8QT#CW|;KJHV$S;@!Eo5AfW4`+sgg$L1aN65(9FJ=E;_{*aCl0yo&f5}K+3h^9_hOfUXp^P-nt{BH9?egR?j<9>15ZMTi#*a*J5 z|5d9nE-cmEuUdu78R;0kuUdsZv=Xwq4T-P~hvjx0mSGzXJ>c7LC^3ZE#@);wG_e?> z^qAcIYP9$>)E{()q%Eb^2e(H8nxS?9^}=2^W1415@3z~hlo|7aE4o0l+v@NBHP_$& zYp#Fr)vkXxw3%B$5*9Q4s7D|LF38>DSV?Z|ZOR}n`}+0m|7&+w^|;t)^X9# z!R0o9fwGYx@YbB!s=FdBawUqY>b`;)O$1AG`%P`xg6cdeQ|jO(?%I$%$`Jh056^w$EzGHkbTW(8~X%o?c&$auKT zxN|QV_bcN*GS0Lar{#LQmyFTdxdnKPe$d>xrA=Xs#HHLus#PVDFQ0g9Zqfau^rk#2 zFwm>$TsitdMWH=*YFB;-vCYTWzjDW)Rq;w!4p~x# zr<&)xIW~cqFd|;ILfAg9#<-;AA0@zy3gv@>*K>Q9wrRyvH19E=e?Ts6$(DM zq1}3!BHJI-rI}iblch6u`sGsDPgtvx_W@+VV!G1%QLq4xp%})XVuj6 zH?9k}u17plHeNj!wf-uU=&sGTCEu3%w$!&U+qx6K#k;~FT{yRQ(Ok371l9JMxeYzq zaU$lXqoQ(m)IHQb1F6>kW%QD@9(Ec^jxf5}M4Hs3n>f!2ji=44-i@s8Cz_It#cQ1= zhzqsGzl(XycVH9}8+VhX&l~ohu^Vl3vB+{}AEd~Uq55)k2l1|68l8Ff7QIWQsEWDE zbTP~EgXs}~Bm(N8b9d#`1vp@Q4zF(GfmA`YP+O$ z0u_4IWbVXm$8{ah4doHpf;n|a&y-@oDMu%6t9vn9rH!U5YV>^wLNC%Jn21hA))16_ z0Fs`IEy6TxVIg(}WMQ$5m*6c*sRsTZO(#zx7-SlZYcPh%JGU{(zg;Ec0r3v#I>x4+ zI`=LE1;BE5B=gCg4R4mi>dgh?m78(V>`{4Q3SRoFZ&wHP6``_1rJ&?ve!zBJ;MIvA zx@ii*rO$0t)%WK}Dt)MX=zl_hEAfGEperw<+i&hizdB+fVtU1qx~x|EJU8aJ;;_5{lTvz$qa zN8tJ~_ivX+LXKyGw*r_C&TfR4LN?z$>Eem0&C`xS8|1ut0+WabYYAyg1GPbdKB5Ob zYpw8EKiNTh?Ltu#Kzi+QekpbRf`hgYd20MRy}IuBq(8cco~Xn8;mWekX3g;~2?z02 z$t#qqZEp*`J$c)tIm)J~Am3zIr=>F;d3JEpiK9a=S0Eq_16LDu>jfb9yylI!4zUr* zqhp-1so0~#gx0v}p&0`|tk4Bj1s;^+Vw^eaN9A=jI({n!fdeM%K@-!a=IGp2`txdT zbpn}XJr9|QTOg3cb^Il?F$;tEOVg5bLsAk?JM&&nhJBd;Gfu%Pd%%~b@n0LStaqBW1 zL^?y?@G&Uggr_qD`ph2Gqj6sxK*S5p&B*~vw~viWrZMk1!c;SsSC>vCETwj%8KIg8 z$$SM5f?nF0N3p27XqDqwtc0@GdyY*Y!pMjiKDlD72v8HWBfyO+kJ6b9DBp)9(EvhQ zZKf$>1?0gEhXg9RIq3>OV-`tcV2E~Fn2s@s0_zxK8v7#fVdRp&yy@P!Ze+S9!To9m zT1C!nnCs~kTq%^+oQ1dI2)M}?yLpyn(*D&b7+lDh^BMylUVR<@R!Wh)#(ixHrC3Hz zUe+7fh=UpVNUC52QruO?HIpyY03l+pA>a$5hUH-Uh^3wxga%2}s;(JvrWJ%PPjuS^ zt5(qEXeH4twCu(6M7pJVOHVFDx+qFJNLTNkn{?H|V?f>X+Ynx=x013N97E|js2=Px zC<)o(pvI@Cf5U2}5Q=^JuX>v>PG37WucK{3{>UUrVROzBMsllVavD#fe?SuhNkOz- zxNDmKlA_A{j^n5^b>@+haw3R%4J!bN=D^B=e?Y+=&rFM;I!oSCjpZXTHeQVY4yXXq z4r1QG;l%@I=(yooa2w}P=TxeRni%KA zfc0F)p{Ds0=nPiuM|WBRoG|g{l8e{|5OL7r6u@fX24x7TZ#2A8y*U;;b(Pf`p3#NS zeWdw7i+(slZ+UmcjB3L?KY^xY6E$@6 z`FZ8o=)7v|$@Hr6LJ1qI3mId;)UYUl$~3PR&{?bF;^j9WF4(yjhZKFrg*{^R`Nw=g2k2T zNOQfkLU2qYqkiknZj_*gU}$f@mH}Plk%v>GSC; zHp1WCzJ`)srT(rjC6RyM23+g;bnQQrVHC3udG+I+eA%@4J?37;?dtd&qU60hzj1v$ z7fiN^|6jTZ&z8dlu1%)d$vuie;j0r9?dlrvdO?p@ap@{WdomoyOUO}{mkUkTc_=2| zRLT?iiZLP&%Xqw8Mp2d5EEr2eGEb=IO^ERe&J>oo;@i5%A09%X#bU7vUdYIcs!j73 zJ|_=_YRXj%(+b^wBZF!;GDw`+C!WUxCI}iVFZIA8G82NAdVqt`TVCp6pdBwfxKS(D z)K72@KEFvva8U+`2lNqdyACnDqv#3GOtoQ<6IcZ&Aqu<0i`JEW@5ZkO&>p>D$hpaX1rsV7_ z@i(mGyg`D(8cQ1g6R5BT`vjES#fh?sS5(6;VJ@M`bm8~Djq!jf%t%_5i#h|W!D_4u zyfSJCA`>I4RZBUXC6NimuBeL{wG?!qmiCew!?cD-q_!}(5{#ww7>^osg5vU8vO80) zrjJ#zQ2du84CqR{cH_0t7%~Z8#a4K8>AxlQsxYrZ0;D zYB_&~eKd5faf3?aUPTHDIMdm|s>vI(7JXe8UTY&o~+9oOm_$fdTFIB%@ zL}g?q4ZUhO1K_mvZQr7Oaj6(n5@mN7zm?B)T!keRTV%>VnhY0gqsG@&SRBtIDTd0s z27PrQ7JC`VVN6~{vWm$oNzTXQ6(r|k@*7F&o(^iboMb;Hzn)|-CNCw~jmeji?8M|@ zl4VSOEy*G#520^R(L@Il*yzhp(Pa?wI-D!6L~YvrHIC3Fv{L%Azz}BFj~96}&p#i7 z!e%x8t5`hI>jk}TMqJ}9bS`-4k4`8m#MSfTstPA@R|p)|r|~1>kJHnk$ui@^SH#*8 zCcuX%rYDs1wUfO&-W{G0M7piqODB7Fyt{OQ%Dk=I*H13l@$T};fgSI@ak9SS-4&Cy z9q+E3?A!6~s>#ZZcQ2c)?s#|2WdD|TY?T~pVTqsX11$C0dg0b}A+cV(QD&Jir#J&G zPxPb#Jb9&9`eNJn$b-!M5nytB{SDn_*jefnKY5k%CCLo_5JmL6wSwB*ni||I` zs9M(ffZo)(Q z(68$Se>jji#T^4u=rH8sG+q{jGhk>{KwWTkoQkOGcu3Xxb%JA&A(>krFNKxy9=fx? z?vB^^w~zE{WQ}#USQJ^#OrY7NFn9Ap88F56gs1=MkaB1EyGGuseOsZpZp?-S<=*LB z{;tVf0ckRnrgapg>!lNu6YkY4MH3k z!ZM%)24!4>27r!=T=|w1g>cX_GY0ZF(2=9`yl+pem>b;aIt=$5E4Jxm>MMK)BrIuF ze4$=vVYNO$pqF8(NA*%YS{FwFUyEjGt_zg0e`Y)|2AM8`tf5%qU%01&nW-0iB%+%P zHRT3GtEeNzc&O@CCBM+XYQ3l_vl1Tf-FzHh!~S|DJl1hi!-(qy;-uS9i!g?)F~+dj zFY){3dT}!pw;QQr-LYELnl{VK4}CV}3&uBmU2agE2c{94q6`e*UIcz26Sij!s;3oA z2BG2T92XFZLILpVG|@~rK>|{@32kET#rpK6m&waF*jjWPTY2G;`fw?6Ibytrp&vCO2IWaG;_UN$Fn3shQ zZiq|8B96N_9_(zSsdDr72~Hxl5*9Yic(=3~^Em$eXf-LrTmnlVlnDeo9JE3>1H$&a z84%P&DLyfUcY9$~gz+TY5X$Je)OLJ(;j}bir0mFRqB{}618^kq> zWQE28G`kw9?q0e~_8p4^8j0$GoE>Tf1*fCP<{q!A#?}?Rq{?$w#ai7)_Rz)*%68<> zj+*$%LmRf_-v-yR70d2$LS0QqBwVqAWL6=Kp!3Lb19;? zynRU;4d2{k}K-K9GJNO}~$&-^bJM6Y2Mp>G#R>`&9bTL{byhAMy@wR1f5IiYzwD&x z(_qWfaQYO@B^EWMEJ4ahF`UTw?&5A)sP*2pqoW`4qE5I!B`?c=B-i4kBnl!e3-4Of z)}aaJ9qVbV&5%y9faE8N=G$p&_bE%=jjkIu? zilISU-%v3V{AKysRa&~5AAQyjbGn(zByuihoQvw4hT!4&=HXSDOMNCr2aN<{tfGTL z9)eV`UN>Q}z6!lSeC;~Q1xh0ahjC?M)JU^%*Iw&eLZMcVg~IoKIVc2*x&M062-eO_ ziIXEjH_(0e@bW{e!me(jTIT7^(7cEYN7cJ0=fII5(-4NSLdk9k7KPTtdE#J{QAA*oaE3yW8=&eRQ8M9yy1R z{pGXcZah|2-%?Aw=>lUlVF3sn&V|2v7SwgYS1)*F6d4G^|LYuEP{Xa?alKZ)H4vDZ zjG<*7U0AYaGa71&#$j}U{M@_RfT1{-kyz4#dr_N_ESb(M&7$o}Z*NAm+Mc&CRff5& zA(>kih;%rsNnfZkpxCNSSJf}C=Bx5)*WSA;mkANx@E=7# zYe*DKqW}hP)OqaJFkv1$j21GY8w)|&A_G^H>Xi=lM_q8}epCext1Q|G>%@;822rp> z)QL~75e_E*Dh@FABpt@2)EE`xkvf7&fEAC6Kp)~wk?0q~9y_d|y@@4c1h-h8vQxco z*Y$E1IL(Eu9);qDNrzZNH54I3%}Z9-mUe+dG7txf1%vb-zrs>ej0TDo84ox%llbZN zu?fY{D6SPp15pFsx*=c9z`)^8i~SS|rFVf%d5h5DZnDUz+;3bXTmh}JkQ5i28;g_? zrzqKt4K^eg!54@qLyqaE!qOO*lt8ed=qV!2h}HXH^S`6~9{LC=2F-7du;|>roFvY2=b^UHm8<@JlR;XJD6sebss*Bp(Dbf;)u?%mc3aK%N z3N*@)RK!IZR183nIMbl6`jAJf5FX^%LJ@RXbC5&~;}T3SC`XuaptVTsaPj2YSheYO zI|!47E6G4dFNz~%#6w-ViCfsfL9f7zx#%hyqdxyvJrYJnBs%<(!eI^agiw(CIMdm< ze!Ri8oS3G{IBGjeHMwaXdS*KnBB>dO7W^n#b+@}#0sUeC&Vej zXliy)G1bL4*fJ%zAN*E75KbCugsO)-ky+4eWrm%U*N-_S$L<`!Z=F{LM1)?XOn}q` zup7}6K=VrBUQj+KK60>D1PYJvf`DT#afofFVy-Qz{NKuCV$vW*!G)1*#t2qCHZU%F z3>WewX-1UM(TJMWD41NM?zyC|kOmw=J{1Zhm=!`{poI(N`1p9d^D3YCe%z=3~E`B9*7U5{6W zVesLX6k!TA#jm`cB1pVa+_(Rkj;a@m`ES6~l$rGSL;#|WZ`!LUqE7u_uBab{=hb4Z zSY_3Kry;{HU)%(p@}rHg_)8D~R0Sk%E;K zYm$D*bH7FP^4oJ;-uBYlk8XL(5(H&eXTH`#t?K+YTgna7+efy%)e4Bp{`!`;Bfnjl zsdG;%_kV3Ex02pIw&m?wdiz^j-tOmZPL0x4VlNNyCJVpqQtjJ=>FXz^U$el7`jf7* zonv`TgEP?JWDv0G&;n8<43Sb|xkM?*`K0+E5(#Bo^RiPY3(x2vD{hS%Yc`;%Kn~^Y zEMIEwHNVFrl^nm77H_?kR-~}70wmh$+zzF&8(4}l0i+uEUQ1ZVXG)?)S=*7Ck`6Co zCz#z%EJa;UCMS|Bf>s1uRbL!%m78EzbR1qKB{0FYyNiCvoUo?{gI9V1SDRoLQ}srM zCZf+I5H8DD%G9?kju~5Q(Qq(k@_>8C2G)scp2+xsi1ET|^I6@A4mI+2+8+Ij*dB8T zilc zdovKf5DUJAcsPZ)hqV;fBNR_7n1NME771)`&WD4W;h2Ob0y;d2H3#Q#aHGK)gs0!( zSCigmT}Hs*#&rpj;Zd!-f4fC9>#i@M2RTP9KX9D1fNpa%XpLhBw9+7AgKbuVUh%?a zPh2?HY-H);^KCb>;Iu*7aQK(z7lP612(y*}QWs*4&=?5oPdjK@*$(uq&A&ab?GX2w zq=B97OTWc@e~Ni5ZAD9PfnIp>-3{9Ld_Fw=&WQ3Bq6PzhEhtYUJq2=#@M*>r-BpZo zzHdXT#5ywI&5^)yp(O%`C7v1}orPU{&*+gh{?5?!cI-XR^(dOCX0e;7FU>^}v$uKZ zSr65(RoXFKL{Gi^^MF=N=GWn(_S=(!AkBdW7|aUln3ru`SB}D%Bvq3zq~b`y^ni%z zeJQv7TnzHZ%g=No4?8RN&#rzn96TZDcU?K~F(S>E%#;;5rdAWOB<+#N@;8}diQCad zxK?)tU)#M;vs`O?-eAhLdQ)8C5=$dV;BvzOKy`+W!Erji)$7e%np{J#@0A#^d-EveO0* z+45Wbjm^M!!=h!?wuz0>DWrAN%20!@b3#`f!7WJp=-(#NzGSB;NK5POUok^`9!O)A z9Ra@`X{C`iC9a1rfUSS?w~4JUG}xN|n*tyBmkm4#;aEIn7DOuZ1nqU)d4uCypghE5Bta^5_9nTtlC2s z+nu6vWrK(nVrAT)drye=}`Ye@<yO&rvqC9O(y2yTNy!z`=7o@C8{6F ziB?fLyukeEUI@=@jsw~Bu>v}ySV2(EVOOOEDE$VZ_>YStVgu9-xO{=|Dxk?4Uwj?S-EKUpXU=p^V*ZEHo=pzBnFT%Ic`cO>7@y3n5gTw~pdEx1DJ8oiJ6 zO5{sO(As=4j9fa-OZmxZwZs{sZN>b%VO=DUR5 zr=d*;wgQVVgry7$^hZZ;NQDPj611rnY4fJ%YBNqRkCNI1)!YEbfK=7Xsn{(eXGE%_ z`*rQ{?+b0HD^UC+5G$_u~`CwCiXQDl)$Ya5+i z8^gqT6drQ-7mZ5@L0(V#j{6aD>0A&ITp5JE$oLs020>ujc#=6t-89S;zR}h7wg1jo zR1KmW*{facugpgOTvH1!aD`iqiztGD31+T>6H`Yq;6f2NemNGN?u{$eltZKNsYNBY z6RD`Q3r}O4>iCSiAp+_WIQj*vM7!^w&Z_Tq*qTpEVXhc-N_t9Nfx3EpK1_2VNk)Lw6ILHEVuEnnG}2%@qx`m zuzrxMbu9x4CVR=RNwLw1F#2vHIJ@61maAEjmI2_oQkLVX4MgPU3i@XPb4JktFu?Kz zbJ=>gsPoxOd-3pyYn2n3!_l@}4fx~}3$lA_yG-C1guztuHx%Ij-7*qPJ5XjkMk=Ae zlr$ZZ(OXxW@n9w~GvdgDxHulwHzGiYi>G2Pr};xMv+()vTc+VjjsQ9DBsJt5imx^$ z@!pyH8x@CE5i(?}f^1s_xQ?0%fHYRX-JNUHqw?XIwjG4w_bt1-YAT21QeCvjA`C47 z*QvV$AQ_yfJ&bBbqlRWn1$+fE53!=jBbClReGR~ji_rQ(S z*XUinDYS+EFnzrq_MZs*zdPj~b#D7nll!e=|8kijdCMa}mt*|ES%`GjM&6kZ;_(=Y zz#EIT(zealth!(oa03d?Ky<+>e$ql#gBm0fayH;cj7JU(0tFk8$y5@64z05E5FjcJ zRrjY};(O}FZ>{fq4+xNs#}F;k zrt`uEFMm?se#-SOA02%H@1ZyZf6#;U1;f0Nt?m5eNq<88)~=s`tDT=bp-;%6f!)3; zU_@la-f!tP&NTOH^zcgLlnLqMAt=?YOi@v7S?ZCRg@n;>tV}Aa9@`?DY^9rLV@^cUY+=Drl6e>9@y_ez)7%{wVr_^|HUKN^WY)2W}2P<|+5{nDCY8QrGfgH$P4bsh-L#hCh??UR2QllpOS6oxM-QybJcY||;B1GK6~6hV1)WM6Ka0h~ z=d;blZq_M^oSie-cs^Px1B?VvgE9^K%LTv0UnxyTVQ`U3O0h)c(~q!W$-ze)mC9Lk zqkp-|nMsnr>O}A$%#+rhzQjfln>X2kW$C$KZaMQgyXoqIjhI&)ujsOFahBWj-Oe*FgjqpT42_sfjS>01Rdg|Z=O^zOR&#A9MB~5k9ihVzap9| z=?yELnydVHW=2NZ)4lXuQwEWx$qhPZSVIQ$K4cx_;k;&KbjJ;gM2!h~i1k@MWuiX} z1to6n!=s6dq_Hmcv){@v&Dn8A?TiAG3jPO=K|E2rLnskFqYtgAT+<96P>PBXp)Rk} zkp+fhGWkP!_`lePE(A+Y1fXyiL3+|>Tr-0tsykvBFXJDWL^Y=#|ALRs=wFKqM^3K^ z-$#lFDSz7IvWUojxT!3hzH52(&?@@p=c7)eDM{|-NJw&@_;>kYcv7%pQTCo z;P23>c+6+`%+C+$>Ic^tjPQ|PifL5E@Y#nJM(cQrMa;WHnH+XJ5?rAnA7uOX)vdVN1rO&7E??@?&9-kg;T zg4wXvo>`p|k!`2>L``6PmL<~!Ke$Q=CVt8{~z73Fof!$Ue&7(F9$ zXCgtJUEkGH`1D-(BjUM6e~L!dm{8{7?U!(oJbY$ubbbYo*=G%6tjE)FF!~EVh58<~ zeV?oYTjA5T=}JEOsP?o(xJMu26J|2(Kh`9?1H@l?)&sdj;`D1slyoG~*wuSiJgYvq z%A-xp+|D-fAa_0Kd%8ujcQV`)JB=y~X5v}apl3>BI*d+!Ycv??v5)4*q{8N*&oRWB z2NGqli$@`hOjF*Y--_K%=wpmGMO=W*9pz?9J=JMaXE+mFpTh_HP3n=kCUv@MQcn(> zhL|2vw3kw9LpA}5yOyCY50v^fO@l_qT-Y8NePP98t8&JjzX*Bt#k=$JMJT+*_ricq z(V-Dy6Lg!uiDQosMB;&a+ErJ>WSNO^$7kK2vSlPapP3zY>jPrXk!9D|tFT7G3v{;9 z2!*|TZTxvneEE;#(+%-Q17hhH>!GE0=Qm)Q)o^|0IR^;K zM<&tL6?4hlIZaD<@0!#G@d`~7amhu@BE9;NRr&5zzw{(IKDyzKlfo!XNWOTrw$^#@ zuR)7B7x@}Uk?JRYYUC))cHk{K`U&xh}(0n|?YQ&6S5tpD25TJwS73}&X zJ}!qYMB>%#L|ip(h`))kp}rA5pd*%02wac90iFHC->EUO&-q)y2>KfTak#MluIq7~ z7RC2`PI+IO$Y}j=afI$ybRXE&RNO=+am*H;=%~f9;}Mib!3Qtr10OX?`a36GDWoW` zg7eZWZ<9rvESn_41bmqu;3ksUBh`4rn7$zGEL^*boxI30hB8CuC;Vvh?yWF}Z6N8Y z18^e-no@#Mh0$DuB+WZGmMBClEv-`~oJT*0lolQ3d~ixTM6P?Vg^vGD(ySk)ejHEx z^)j%^IoN7lgvgkod?1(>d3w;6-txcU&K+ebszPTLReqf0zUqxCXpKd2&h9 z=z~8mc^cDqeW^`nM5+UP}sMsC2~WIJrhYmqYwS#NMa!(%fhA6Ai1t`b?W8t!i%_VaMId064$-!>1Fj({yFG8dluUTGJ=e7}C5CQ2%w0)LCN z2)fJ!%fp|{X}u{ApW|1zO8zOom`;HZm&+-|Egt8~Z_?$TxIo4E^6>d8@mGjc{FS%} z4Wo1gDA`28Tg9ggk;nt62+pC(yWjdIsvCS$!H3wC%!5H>S@>7D7p0b~DSv5kX+8ge z$>j9p@4fBYvMl?K|B=f6-g`w*e0=H+kj$Z`FEWB=Efw zhm5|4vk&9j;pmA~d-PbqV_ZM6%4Z*!wTegi>imA}op9$J%c8yr)fpIb_(KM_6VBk| z>5YDGbv&3EK!8_3^lQk6MENU0fsS@2AN?lEm6ESX*Re(-KF1U~SSvP#vn^uC{-FLE zeF<%(T6&{j<8p~CK8+q;B`^^z&5wSIZ*h%F&Zr-jGA%;pgpf5Mq^Q@X2ze3wZU!OP z1q_7nGiOYI9PRg*`C$y40B@8_q`A zfD7an7*?-djdb^*U&ClQKXi%e_ z9`hBA2K0w@a)3uEM;tcHJeAzxjp)+PB_g)+8CB+KHAgp5rK=SKa={f7aCxL&p{jN& z6U+Mir}8W>)>K9`KF3t9w~hwKx~LPd25$ghz4!T##*(J;5=e=}O9z)4{${QvY|gv8 z4q+1l7lgoiiojZJFA0Hz7J+_V0)YdWz0(0&VjOi-c0}HSkw*i0>3wE12wZ+42;4Ir zWzDcoz2`X*Xtk=H{StL_V$abUuA6Zf4yotM3zMFszG(IfT@3=!(=b6KeX-8<|Nn&3 zZuDm>Py5LF}U$j|1(1EFOg=Z5;>^iJT3)v`)+)Z4SnqpJfFrfJ1le(9n_p8k|-2oFUXKM5DseQO0=7xSVQSZ?Lo_d zZls6J%lOishP|@E<~2jKYl1nZO%}Scj>(LxV%I+=GoQ{yFX^fH)|46WwU|R!n*Lt> zS=OID`jhhqt|nGIi2RsTrPPb{$1V)H)#?}N&)4YBLH+ThRR!+MWJwccNehZgUQk@1 zn+w)p6h*S))P7R?og!ovg+%(zkkrsA^t5`_sePpODHV`Q(HcQ+dC=e)((y;KOf-mN zd9MZkfQW)-OxYcBYR5Mt-dy1~+|uVVYrOF#00(IVTk+w1 ztX`uQN@MM4=$^8F?hNBAUuIMpu?~)MSXoa?j!-(-c}nYN4aKD|Caa^Lb^dB{Dl7

*a;h7^^Ke*XOIQ~U>DKJ1eV9WYP}8L{RAYHjr|{F( zFW_fJZyK+ZM}!8P^?|7wa`)%gSHxDEciE12I6iiHx4j&_pDm}>Cup`ZjY0cWKIo6c zt62Gh7V)}5l#R^@K5IFQJRPNrkA8jy15id=Qt2VWSnx>`YU~m`!+GE*m3cwska9kLGxfuX{YF7YUVlDwNCw}@1D@;kP`Mb?=7bBjP z;T#)&mMr4(uj%I+S)fz*y4UqtW2UR}@APXa}VQCA99Q10{Nq3v z>KzdJA_o=FCam&i3MTts=i-V5$7yc*zM4cR>M3jzDmpsZCv+|uol8O|&Eodu6o9zn zQB*}+Q)=>9?_;Hjh=Hg8L7Mg_g2N>R?@-ys=Hg0`@AzK_{HZ0~)x{(q+=Pp*a9bQ> zsqtH@2kO{bJirnazdtS_7?DWVv@U!uH&Kd69l`NnPQgf|bcmyLa*Ojt2=)|_yihEV z#mN_~D^V+$y=AhHt0@MQW%W6%u4nnrn(wCd0DPz4*Jx+138tI z`jHOY!35!ej-UvcHB<)O{jyw5_QqF7!Ggq|4#u3mgTF1g+>%a*y=Y0!iFHXPid)#j z7mm;c?&XgCT6;Zk(qke;G#D`Zi5&b_Vl@{=Ud#e>i!J6#VF!a@3+66@ved^0Wu;Koyqls-GhV3HX%c26Eh5UT zh?oKrA{(M0-!jNX2B(K6rh~y_Ck6@)*fuseJ#;5FaKj~RC<0`P80bpV`71%qb5m1; zhD1$UQPa>!iyF*D@z}2tYJ_`{$_qx#SAY{{pD6_@9WRURZJA(@V|oEs|LS)1;xy3C z2=nSRSBUhQd6afJOI^*poP$d#plA`sF~pRsw2F_4)C?1yY>HOMe~Km+6zLa@i1Ea% z`Ou1jN302_8E;)eu_C#pfC+!UI5)9w8Akx@AAMwPvX69hFSFU7=`Q^ojYA5(fJmAc zV=Przv4e4bXys=pNjkK}(oCA}^QdY8du&0|ZML?ot!+93yW%tgLWYT_9;$rwhBz3; zOCMM1s-7uK!gm9U5hpKy<3QC%3_?`#CsuY#Ew4#eoY8kV;Mn>uJyccWIej#woWDTz zX2sA#0||NwU_ZM$UWm1zERW*H5yQ;?1@sNCe96qXU&r+= zP+$0f^Tk>(p}tdV9M~YPhi9F(Wt`5CHcWz+h*GZvl{`S&$j+m*&M57+F`jBz$2m!ThE*t-oC%>$Is- zgThd3`H0e|fJvkA>?%+RIec)3Rz4DTwhxh4|8V0T9i4&hBAnN3?RH0TyWuw&>=?;A zrZ!nqjft#fu*1dEWn&_1)nojg+LqEx!;K5@Y2+W}ueku$_`=IBs*xDl10Hh4{PN8? zsbLrW&e0?hJXp$f8kx@MoZJ(!{%rKCxy-8oi&m$2I&H_mYZ^4!{&N8o4<<+uISI$uhYcvXJQ*Cm ziZ-Me>KBChEu4#fYnH`;mBlG1 zUs9ebh&HDB%ccCXdCIG#_$a}sl}<2EjO1akE4h$~k+BA^jXFiN+2v2k>%xH(3P~ea zJ`|gwcQbRji%6GIDaOoO!hu+Jc>L@_fKTWpN;}T6DxO7Yc40ppWND2XreiblzG8E- zghXqA!nV>Bn~URX$&5|k9X-IBr24yLi+#`N9V=Bwq*fgUuZXcZ zd|VUkZlh8bZHxwYRQ)XqKF22`tzCD@#asvsr0|9QuuBm6-482-zl=U0pH8ex{MIq~ zE9xz_m@AqJY`RQ9jOCPDjM1GAd6gZ~iR$t^P>z=YoKVgZxIwl;k^Hk9f27C4%n8EP zl6IfA`jXInOK4{uR8}3c1O}8FLu{Q}V^1GuZ9!41Ocso~)V|Gi`b=N@%$DS;@gXH} z0x+Us!%;)mMt0P2U_D73HJr21apXv4mki?^{~ZFpb8j(%{A z(Z$;svuK@YwJ(~xL1FPs6{ZKviJOZ>MvQtrn8pcV6mbvhG*(DDh%NQYw1X?Bk#p@tcjT2rr8-|BOpywcs@7YsHgYw0jH`0mXPV2-4y2LE+LH5p?_!<0NN& zv1Rz6MD4|iq|qhO6=`&5NF!>~9EgdmN?M$XX~V)8y=8Z`a4L-|GYv&;OCqqHnUr@y zlej{zf}1*AQwWFYBBZ&hBW^Z;-nI8>X0t(xd6hU~HgS_1+MBAtm!T^8J}#%S?hy9^ zIIMO6;`9Pbp1@&^IBoT5so4&|2Dy?Aa%l10&Cz>Uon}}G+>)bXf{$&p*6HOMI2T#p zo&^xoZ^vk3Yw*Asg_Sr1rmsG45FoFb15B70o{ig4UgL{9SP|!G|1gLy@Dcnfx;lr^ zDG1Qs;yKlUnpQemTR}+78bx)^%hrVnEQLo1p^#>d+i}irN55*^j>LRJ1&z$hgnVyE znR;_*R(?j2kEI|^8H-iWBR2?44XldgDWlarEDg5S9Lo|O4|r}y`dwqVxLWbG!j=fQ zpOwT*8`(V~`2-bc#9Q`S#b(*}DHrO~#6gMciS9*;rQmzHJRU4n2tL0UV*dAK;4mDX z!$>iEcRXEkWSjTblxcIiW(YM5)AEx@27G8U4&~Utey_G@xWGUz1nrThRW+jed14Ok zthB9CtC?s!4Q+T5%=Xe1NaDIR3Ecz@QJbJ6wx(&BdXcJ9?3PN7(Ck^PQ%aILRdWwO zr+#TBO7g3Evjba)l2*=KC<-SbYE^3}&c|+|twvZsCkHhR zv&qbbxL1{pmb&tl{KujO>ksc>BMZl+lD6CwdbMvMm3oH;5=6fZSviGSz9E03zjv^8 zT#ol)c<{%Ef%}61KDsYZwPs4qWY7uqqanQr54?`fGjOA)SG-ZjP}(*Yo$58y3`}ao zHOgm19PPx>Tl&RcpdbCfs)Y*W&lDyeMo4b=fNHQVE;|f=@$^E#nx2BIVNAk=?zwgE z)~1z0`j>(*nHG7Oa_ju)RK8FGh=H&mgvfg-|D zixzi3m?jmNE0~=0-U}8Qgg94;;xipxnmrc7Z0XCT*~ezmzcrKow@rE&e(^z8f@Xki zdVu!Y_TU1r8i~6=`$NwGt>`umfYkyVfWVsIrr%Sz zZnd*>G-|A};-1JMJpE_MQaS+TIWv5reZ{#u8invo`>LN_z4;5%4_StBsXM2y(u?o+ z3xc{>m@kj1E$vq;tx_}IME3jS&p zLlRg_C*(xtdXP9S#gm8gkM#liF_TS;9gPkm7NrmyO*W>I3z>&=WL8uf&@oOYL}-1B zqGQ59aK`Y5jraozbF0NMctBnn4pWAo66@~0DmEoJaoj-$ay|h9P5ON6=qHMXL@vDt z*rd(JZ`=aX?WZxJ;cx0m09;8s?F1l3t9ptNrB1T21Be11 z%@aHU3Tme>yGWsv^I`?m*>XZ3<3Vp^?#RU8YD4-k&$RDP=FPt(U{I=LeqvUAkcb#L z!cpdg2O_N{UX+XVs$R~!CZ)R25_Rn)b_mS1vB!@7&dlbv8oq{+^R*ORSdn*#aB4!W zHWF)JPPEJ}DDI(UJ*E_=XS+1NFUv5t(GF~BYx>|bxUzUgbBi*_KbLu2zm$25Us7yk zzOr~Um3btUxj&V;FP3?)%DgL;xfgXEWepiEr0x}GZZONRFc8<*dvBFMa;x{GukQBm z%d+o`jlafie=4KiSI2^{ia)QUPU@h6&#~i)Y9Nw%{`E^S3kj}9b9#!tN_a)Fth>fb zYm%{)#q#6$SKhX&rU=3)v}xpY9=V+-6K`KB2JWE^eXZIV=2t2#S$p|}`tZ(%Ye210 zKQ9c6(e8S9%^5NPnIO_eli~=47{a5TfvE7VTp|R`!3V;{WkbbPFnUQkMq6Ppp4mHr z7AojQeBQkT!?s9>Q+Jmp-69R}B}GtJN?pIXT7v%HUxW%V8Wf_%^f|w0jc{3u}~|@vCoqo(&xT4(Yls&tw*Kgx-nxG&4@= z7hFHXgfutls_zjXG!4;`Xwi*Hn$sswrxdI-+an^^2}^;L(%1B4_G`2bHtpayp+q3I zg}+fqKLC<@qn};HZzS@x8M6gd!dOGL;K*%?)6s2B`FW}=+`+ryYaK=tr;Bo61u_IV z#fIV4`IKM~?xyL_IQcN$nNps%y4VQ7?gqU6dIXkM#1uin>6{o%BrZ0c-eB|2W}pH# zZ%0RYeZ;E0PoD?Frht5IF&{Ce*+}Kz|0PeN3df>ywdS zs`V@}!P$otr(DORREU&@&>oaT9U>$|llKnT?Wg&V)X>_F_-UN|EVq-^pDXJ1oERDfyETrri|s#pBd^?HEWfX}2iXz{h~nm2nJa}B3%$H12m z2kRh%B|Se57LsFt+~Ow<79?_l>8`tkSjWx)xG*#QOdY^}7lB(TA%M@}l2F4v@SA*e z#=AJ#_^l#QGIC^raA#SHN!bcpbE~~#b|NQte+GwJ@W&_$f8xLDnGYLJ_%m0LKH&<4 zGq7g-375t5#2@e)e=va-f3(=(;ezOs(JbvuEKD%GN+OSOmB>Dfu3Ws4BvqZDHi#~E5(p`!&*Fwqh!`>!Z=uNi zMwaQU0BBm)E~oU^+C@S|YZn=sN%1X-yk{Ou(XuIv`OB!Ibxmcb?A=CvW|&p42_=39 zMT%wGvh46BRZ-~D%$uWW-tP6OROUdR2JcqH0d(2HfYIle3}{%3l&UJcE4Q0ZjFcF} z;44R?$w@VwpQnzhl%z@(ReEz>6+Z8dzB{LLDkAZpcrx&*D!u>FT$>00Nddps67g+? z_kCf3eZ)UXfz8o_tB#!n#0WRX%}K9c2$05ZLmRkQ7ie<)myW5;t!u zgwZjUG67Hk*2VU`LLvUhYS>s)g$O1VF;FH@McB3=6FU(MfSauvx{Gh9SiWes8U2!bS_F2jPtxTxKB^i1DG_hzV6XzcOx!^{rB= z02l&eCnl5=w;52pLfh4ib*E1G=BTzH^>7i7BYDw=a#raOl=>9zdkTPGTtOs)!;K+)lprGi_=U zwXsamZ@x;k_G8ZAf;pVPk#GCPwQFcrhbo@E7R=v~q=?iCx{G$WLmOpZi=1b0I>?|n^*hn1M^^p{;fNb{v`TV`UI5n_vl{JB%F?+7TJVbp9l-QP!V!E0KBlQhe;$@G z!7m3$h*5JUihoca{8p#9Wx_EF*}I+Xf?Q0;#n7*G@Jc#{MH`TKc_@DG!!AyFQ8cSQ zT;!#%VTs2b`>Yv4w-Y>kD0pq6!91`&L7F!gU6^o9Xy7S9uFR?s;}j|OTv0Ncq2NOsFA}f z#GodbK+u*qbmZ><#VpK@U|t+7=7YyH=^t99{2j6USY6`SqzwB$lRJ>E;>p#DA1CX8 z90~|FW^h*ZvT*lZ%hmrtwbZct;caCcIg5No#{)PWIrlwM64F{DCk>LigkbPeG0yQw zC7;ImwLB%lQ|b`Bvz~33Oh~)B)kleLDX7)uwkXA#Rv3ds>ux>~j!J7-o;M-?uMq{D zkCaboHuc;z%SdnS`3%jbo`1PbKhi<@VpJ6zMeM*f48`M#n!yo)O9E@~g(|bLLYTV6 zS(@$AATE9rK!hJT}>5m&RsrNl-_I^?V>oBX}1Wt z(SbXf?Z3|px3Hz*x}!}$u=1kR_=kq1a!Y7%9arY7p04mV)2{J?4^ul_K?eG*-wzga5 z>#Rp=dlY(&tPk--^t6fADzV4xc;ZD{I2Ejr|Ju&$FwUYlQbHWSghr?6cKA!7?MyT+ zTZXHg){*ftVJ@d-jI$C--VzJ04>Uz$0btWnYG{om? z3~xLhkX2-kDLw89p8l8}j(VK*Bo<;Btw2+`&(mCF#h_aeuhdJuk%8w=^nswmG8Xuh z->hhBz{);t>1HwV49j>_bFe=9fH2kP@tcn@uzT??=jK&UUlI6CWvVl02$?$4q;Uso za;R#4@umqg8aak0*RgZ`jV$9zEl;WeEeud>_{-W91J)*bh$$>FC80OlzYT>-q5 z>n2W}`2t6xTboo8NY%A;B(o!Dc&+*wBN&J=jHj4_Nfpbl6}p|*V`U^I$xOunM#cKq zYNTCka4i%PlVql10CcP1x)z%_=FMLV?~X|_DRwQ(6F%T<6t&7|TxSYfgkS0A1f-E7 zs^*1vbxgmyX>y4zE;2DR6X9thXACtg!limy!>#jw#aOhfh1^@nPDS+%b{3+eU;RN5 zH4*ks6ZZ$UB#cGQv~IN;0V`jHCw*ZdTW2@ZcSZPVij|sTvqx*Afw7ht^EtgVV?uu4 z>XwR;v)5?CKhy+eDs~P|z*(Kj8pCBqpJiP%o_h5LVeHC6tHbC20<^roNgN~b!EC$Gp?P}q3I~ft_eSky85sn)3AL_rWpOMXRmS0l7cY-CSkWjJeI8$b&kTq zwwOKxs3R-Me|LV*5|UKS(sj_5)($6Kb;M!ErJ>>Y|D>YyWC@W* zF^JcK_s{@oOb1ogaqJi%T0o6)^^T3ih)}3aA_CNH0Y|VH2v*zE9IUQL9%HJACmwbv zV^<_S&^;!uy*=;HW)%c&0%|-;mb5i=@|@=$`g898oM>3n*aO?KXd0YH(CJ{ZZ1l&g z(F*xZX%5m*uzDb#>VZ7(N?1h7^SL>Eegg3Mc|E9AWoQ^3(O=fkA05`ny9&`?N*tSk z!Sok9Zi5k)Ar~FJXM8j|Kn}f1a$-=?RY(hqHIWv@+yHru!X_pX1lHlcCMLB(J2uIf z`F1R;LcN4mM4F7gvg}RBt5;xCM%gI6u^p(_JIYF}Yi`L{P?(1NSg#k0Mr_a$@R$do z%bOyL>R;rMIbeLopkVNz1L89%hhyIj8W_{L{&DUO$0#+m@!C$pLMzX_rCq5wGMu$m zFT`-6SteSDQx8EwKGX_~Z^4{Z8AV>`+G0K!{Tds72uoM%$(S9gLmD$->`W(`%4gzs zl!ON_{3K!~rcIm3%TP9oh!ln%+*zlVD%_N<{+e7auT8&fI_HN%3JH(p=3;;eBdod* z%^Vrj)Zn1Y*&5s;<1Lj?o@hDtq;-j*%xUnrsf?GYYLNwt`V@)IIDdxhyvTQu&df)0 zTuD_c0j>dhYkP9fsy(RC-?0p=#%M&k0aT#VIol37F0<`WPEUk8HRDdTpX>r-)0WZO zfT`vbOA^bc%`w_b4=WRrfW8Ak!&hWh^~0w>u4vP^hsMP;vvl}ZUG;>L99F$ zji#~7zFaIan#Q8QD3LTp;~gz;|JV>U4Olu*LFE6?goH;ROV%*%P1v)oVH?wqUN4#O zJM$PWw1YI!8BrRJm1k0(*sVsz*yIUvPKgwEHsoRr9y`efYmgRi*3>9)3(W7`xz-U1 zUtOh!47BDvWXq*Qv8G!>DL$7A_)v0$2M_+9o1*O++Q>>eiaruGz!J&}#pdV-P)c$g zqnuV(f;WXU4+aC7#9*mqG$bZ{7ihXZaEU1oqrw~7k!{5KopqU_dQWcl7d{!!540{I z%$x5??%|fm!l!4fU`oPYXog-rIcpJ5jl}Rc$EmA?zf~DOX<)-s%@;HfK6TgfOj9n+ ztA@e5tiP18{JtE6yf`9IGpIp`VlCb7zL(1MxP1Ob>OoZe{F1e28sI z%4w25tjkLM1>8yfj zaQU4sBkMiKIUw9mANHg@G> z33_Y~nw3tJTQ(CaH~RN0a_vtWK5>6IVz(ij(zNs^2)_#>WuLSowopexrwBX7LA(M$59HT)ekwP52i{C=lua`+N zVa7wyJkPz>162DGlPRFSv8SF&kq@Ext_h3V$6zGB!DoGp{Yeg+8E=?W98|~J6ALAZ zk>W{)vR(`}b?^*`9gby;^1&+@kSe&4nvUa05PncYHaTIO)PNQI zB2EMy6Q!OZRv|^_Ff@fxF3m!|4Jop183u05$IKxLd9m>yX0VHOWL)_4+aj9*N4)uV z37)usq3twpTSk*KgJlh)s?LjvCo2@7fHv}PISLvNR1tos*$!2Pf51S=Ej5Tgtizhy z@Mai(h0BiiWW~1s<-keyLimgXlahLOUWf9QcAiC;o*T@t3aEg=dkL}aC>K}`>1D}E;ntS%69FU7=fDyB?E`Wz`^XTpc5lU%0jw5>0Nq)$1^}W z@3tI+5kL{cl2ZlzcjBosa7jhDaG5*93@Z_PV~?#M7sL}vf**=+f@vLDAA1#h)6vzk zi`6PatO1p+6FuRKYW1;_yW~ZyqH$$cfTfMClXz7RpAwwT{O1*oH{;P0BNIZ>c=)V0 z*%FNX*6~0aj$`2jC$`q$O`#5Ppgqob+!CVu5SHsrBxDJ0e%0SmZ*PidaliCH?P;8c zjI+j;f9AuBaEqZw8B%D7tVW16gWSXBcH1cN8f3TaLEfcL)3(7|KMis>4l< z-y@|b23d!?KmesI4VMicjU_Y$I;(} z`$6{M^s}?hyc5ky#v}9q5$4^|6DuaV0?_8dWr!kQG00kgeDO0&YYvG3Rz~SEU&aJZ zVBorlO5r@zhX$!bH#2lc6=4VB|*Jf*c)Jmi$c*~3dFe3!K~@f65E=&SX%O% zH{nC?ktq}3=}q@#**T0j6gJe7bDg5A>uQe7`Wl4?Uy}y{%;ZxTC!g+ZyOZB~lXK|mF_;G?HU$lrouydV_F-8CV8QW!UJZ;VFz9G0#) zc_;V=XG$L>SV)lI4j=uJ?)#Gij%vE%XS@fKS_tZ;Oh9FRbdH){^f^uBn~-?8Oy&{w zMkA}U8Q%H6SSQY2$!MxMo5zWOkd=I=5jTCOE({Y;x=5r5LPO>~Fc@A}NTSm%t$OfC zUbH~qZj3u!jcc%~9ZCXnHv>p57Df?UozMj|4U#v_(F9GZ1zWvtUJc+yirtZ&jXr=4 zB8aB9`T7g`jLf`(9>h;B69p^j3R?*4>?H(<_1{zXeTSw82EZxE>;lpZ?u-#v-6?Ye zh(Du4^`fK6b~u9c(|DY9F&mJFQ+F?W0;J(LVcD{lPLhqiz3+~@Wr8{GJ&;BN(t^cU z*rsBFR`PJ?OcBy9GLwDxOg8E5+4sz3lir?vdM2Cn_UwCSvPo~xe%DMk>FwF~&193_ zo_+sJHtCqHUOU8qX)moThr@wVhnE})YvIpzNeRQDMeVBkNTDc}_r{7c@dFlx^_*;7 z8Qc%tJ!>>GC~@IgYJ?OY50lxSr+6nWHEhkn#*FfF$2XpDu<4z(!FTb8?3UyEnO1ho zf%|DKe3#nxE9c;DIR}+f@0L?5=g>?JNKSZpFr{z?+#8(%Dhn2vWl%0C(~}(oq?2Pn zXq~y)jY)2dLA}ur#WW-N=W|DOshe&%I#2R<-KT5}SyR&l&Mt15VdIO^&mC7l5pCXy8_UOJg7@{vl-!`9P|5@dhgr9;fuEH~09_02JXh&I0)amzW$Ggo{@9$y^ zf{@zr0)cn~yfLz!={3P+xTpTpimW?e^`;43fPmDCgNiH_@PyBj&Hw2iJK((TjcuE{ zSAs4U`5FUFW-f%e;`|MOw@S-s`}oD(br3Xl*p5QF9}t zXufRFWAaY7rSwsXz#EF6d<_G#tngdDFTfHZU#gZi`%AcIS%r!npBw!V_@gv~11GNM zbaj%(r#pHI@0*C8Q9@(tj{e^UQNj-ND|>LD+KB$pBDolj9UWk+6Ze2N@c^-O!{LF$ z`=c3QZoP>to9po+U29c&YsQ@y%DDSN8Hs`KtO|C$d*g{|@BAXM>zx^iQSZ!1EZUow zrX7(t)fj>~FEEQeRDK}~u|~&YVRv8Trc3~H7O#+rWq+afNu&B5m-^0L%MX2VL3)z4?(pIGV7)t>QwbzcWM%pch2!^P1*D#eDuBC9 zeIh06rBUw{G&L*?y_f23kfB60ILO6)AW?l#h)7ZGXR#JpRF(MjuxJ%%?q|x@e3G_ z_Nq^pAIO(;Rd~Z@(ByA$HJPFaW5x^Ia?INAAv-r!3&Z$nzDZTE=B9;fkZ)ZM8zXmA z7{z6dFf9btZDi1-y;D!joH=Vp*gnWxnX-A!F#HAZzc$x+s&?_yo zldk!53a)B%rS9sk`%WVrI*oMbFwu|_%6i)3K>=vd;^RklBq~F^N6kNjbiqAtsc2xm zq~NkM8(un5OrpHzeEyLxUL%DX;u`9L&8yXo@`*(S0Yx|7(UF2eH752cc-J2?ChkVh zBLsfZ1q#{&i+8U2)q)l98cnTWz$BiiH6CK1)M!#PQ~__GYoZEDLZvn}u*f=~8|t~& zHykT!5OU2K2&v)MEfmBLFi4)7@OfSy^63*yc@98S7)JQcag5AXrUIjy7c6-Vp_M~N zRW}pLA8X7gHzK3_+3dI$Jk zIxa@P>Fc8DAIgx22@50c92ODE-iV0YbttQOBM$srU;RTzF4HdfV;i{=9;ykkd`u`& zH5nkNV#|T*J)~IMeghb(=Rd$RfdEF6)*pI>y9w=59R5BXKuwqKv zoMQ9%(N}2K6lUq-Q8w>rK05inm8zL@DSsZ5j3%g2`vbLA8|#$C5EvS(@A8TiKBCI3 zFa^1&cd#SA;oB)Pd)5Ckb$djSB7WiT7>XeEC-$nV&)qW!s_xRQajAwnk^4+LoN|CY zf-r5Vtd^)svpT?eMxS4)ehuI5$>Mv#22jzK&V#=~4954UagA@99y0~-mdc0n4e{WH z5wwd!sSV7r7-_=6&2PXY*%lO~v$>42D_^QLfmOBg& zxulDI%jrqKE!N*stTt-!4n~0BYf`y%0dG%UE1lrN?0gdJeOgN-juoa~I=bUPV4%Vx zi*W}6zVA>wCH4OwIVENNltRuA1fk-Ym}Dz=_>y{bAoP{gRmul~7U#|{IjOBnUwW~V z^CVB5%beD5f9ctnMizz7J{#*}{U&_w*;wJC%AeBJkOu;%l7?rVja82PKElV%+tl+d zF0+U9`Dat5d!3PL)jt2vaYeL?t;U=PDc6sO-+4AwypM-xo_#h#i!Vw!vFb~Bc!W!) zBfy-8NTbiD$`6Kho_|+YP~W^RV;NHYS2->_=&)hC*lm#w!{3-Mo+4TZ#nmi*3O58`(ElG?-I;n|v*XBKle)F!T;^3Q42JIm4^1Faf4*)Q)E@Y>j1VO|q5hL)~J; ztc|7=kr#D#X?D59qB@J!p{~ytjRSCE^S{=*QxVp+D^!h(zc}L%>x#T_&@~x^tQKHd zQb2@G-IAe~>u1OO)w`kBZ4Id7(qb%T6=@$s_2{Z{5FPm&~vtx{@v&S8g~J>y~ZZYr>;#a)F=!G>-i z$QQi62_E|fbO**$^8i6kk6yGkCUtoF!no+n~Ptx(VdUkl;@@ z^0jCp>V@oH!19w7)Pf}&E;AS+}IL$kU zkna&*#D<2)Pu|j_f$6YH0#{`xh)2)(u=xG5cx2R8zc*mPEMgval;~CeO(XdA zE$e^syzmxJ^l?xiwMd7-du2O5FzB7*w@P7T4l7#*A8CG2*~evUp$oY1kPeg)T{aWe zS=e-`YpD^@8sNSL*rl|uGiwHTF%2+ZADr}FH|dPgAsJ-*gd)ry>O}=uXr9dx1|T@* zHQ0QmodRy>Fh6r?o)Pp?$G6g0ctT^*cDGrx8l$0-wpXDID>d zu9MHZkC2+myEep&+HEGy@Tk-C2U4tu9$Y?C z4QT$&mu8}DM9~!1#tp%&LX4;pNOTSI-c!WLIH<@7R&e8Fu)^Dnv=`evvC>HU=<}GX zFm)RCM4ZiyGShAs*exUCN!irsTRwO@rJYKvO@tk_B-FDi<;saJQZ{{#s*lN(9tr7$ zq)JBVHp?YwNp9cEVJ%B0mM@oAAr*JG}nF{s9AF4@mo$-O}P&=$o~+sq1SBW7mTRllAy zt{}6J>I}TFZ5SP1zT=Z_a_guGMc+FQTOwgr&8b&5NV?)Eve0Ebl}BI-%~ug4SLd=< zc*hnUScg*O)wwp}k?LHXYgvR;_v(B;rg~TB_;vKIe|5e{qrS{C23r8h+$IyI2<(DG z>k4o5M5w-)qi1aC%kgMyiBLd)M$j3h%iF^<-*P-W`GjrwnnzBniauJY?WPnapO&W+ zPStZv+sbWfLwtFJW+MHiY6*4TT5Zu*3ytM6KeG6d&SH+RJjX})H-ut;n>TpJ{~%?R zAEQ8Mum0VvQR$60Xp<7f3J9L`an=YN?BniIIM0y^0eWQG*Xs)QrSZ!IPn?yw@Xg7dW0yRW-3J!*fa2?P$bc;$J zws1~+&#E8p=5x~fp6>fnPN`7P8T6rDP&HElfQUs2UB%pnORkf}5qBeDN`|Ycg3u-} zp|Jgqu+N)sThLZRcKr^+{+lR`s-dIeWLzAE%g&*Ipec{Lv|^RgjUbrkq?v9x#aKNe z7FD_!lfk>a(MgU1ngiyMFJ3^?rjNMiLovq(skaa4eCv3p|DU;c0k`xj3pD@B-siT@ zIkhXPs#K~1{CgWTk%VL%Ok%jC{&bNLE=t>|t&j7xwu}!?ozR^sk_8VO;|CjZz z^{sDx_w}u{$}v-lkQO9J>9(dDKxsFaxWqD`drOQUxmas4A5qx*^gWF=y-2`F6_|BJ z0`q~j3#v2y03yN?qA#SS#iH8Sw%_zB_AvI_1S}mSq25lcjr#yXJctUwM|`8AcDXDN zgQIlLR(wyUnB9)$tx5op7q4NdusNmH;A9+cY)1ywH^y8()8~-`8E9hhF`mkZz55LW# zxeDIs-(DY1#*RC~ z9S30`e$+Z8YmP^ZtK8uth6a>L@8bnG5C-3_YoQ)ztpKji62>-Me`P-ppXmbM-d?Q} z_y5DNaP$x5D%@#}iqc`TCw!6Wp;~H>imigrk=tgYvu_$l<|cLI%=!d07dl@~Id^aa zLz@7R5F*P97YM3+Cnj1LsIgiGFtyBj{2;;Rc@+ycV=^-?os4Bjk~LX4FIgtBWhkze zq}hEJbdhrn;Bc+`ROkcwj-qpN2rC!&Ki6Z2F^r0#RK?vUE%l6W<@ zPg0D!BRg#XTyv?WcmX5eGy%H@ENE(jAx^t1Pzq#{@>I_c+$>>&<7THX(D3GEMF zpMcbAd(Ua5y8hMe&V%gPz~dl910ckZc%w^_MG3b`7zhl@I8?Z7{M@Wj@q_P1mbH6(J z*${UKo$x^qQGx65lh9)xLnRPnmcB^CZFlTU5*kxcrlbp)NOg^ahTiT%upsJ1S_HWkWT zjK^yuw__*+JBzc}dAJdCsd=!nb|{$Zr1fQDPVWt6 z&0rV)SX8UqW0#b|DW5f$KA=CF5&vVWTuyFtcqWu&7V-Xbfzj=ot zH-rJ>ti+t5qG)zPQ;5bHAgILsN&*0`X-NZ{sM*2+bTkv2rsYl>1P)&=v4RmUl#?Y~ z-~bKed(b*Bo;vfK@#Z;;vINzfynar$m>ayaU-lKmB(Rv9SWNQdpAhdk_je=baC>x8HC0cGJr2TH%1r0Rk|l)bxB4 z3m?e&Fp#ztrOp=bFo|n6R>A_yBSdF6N^IvJau5o1+DG>3DV!5bCMtxy)@gVLb5?0U zbs|cFbF=r=ru%wwKNx(`OrpeqvDRg)Zq0UO;Zb#EN*NOfb+J=_pp1S@w$Ho$5gj93 zfwk6(s-s^ZT;!;}`A=71hZBj#)f1bErJN-et;I(|EFlVMZbB?HwuxBc0Mkq?_kQ_g z#3I?{FD30nX{B+6G+=}b7_hv0<^%I77;+Oqm2~W2GQ+ZERsgEbMxVevD-CH9C+=VxmrQJxOc>_;JWgY|DUnfUtPRnfI+1* zhrmnD+>8iOMV#aUBqp!9AhTeouGWZm1C=IuKRPP zRnR%)x87^uDS}l2mYiQn`5O+hOs_b&mvIm-I{~=#;Z-{`=voJYPIQ5vr-Vbx*ccYD zU`NvA4w2Cn*`TBiUTnJsUv?O zSuP0Ss=di&`RrQp1Iz&+IVXE=rBt1+yNo_Voi=lYt}x$3(@^x)vlH@p#Z$6s`x}ML;PGo z)lF~0Wt;1FFgx_XVHrK7TEI-8^Al^i&T%uAYx?2$owSi zv6wmY`M?;@yp#Dc>kCVV%-3H^iZ9{E zgyaX-V0q}WhjX(T)M)01S=qX|6+|Ab^e3%s7#{kE>7e}pzX4;&i%zA1E@1U@F{Vyq zr=j65swPq+j3m5>ZHnFU)9eC9@`yv2xmlG#tr)myy>5U|z{(bO%`;Mla0#DvJ)~_t zc*}HAc48hQgDwq70u1ZNPJnAq^?2t{As$CK{AT_}=3r)Qln6ggLgcW)sG;9od zjsTG_3qVADwg4!_JX1zIDcqrxSlR}XlySft$j+k#Vt)~RfqbfmKbwc8&##~ju6#B!bkjwxVcV{ zF>$oPcwJ1!>mq{$5z_MzWU(K_j4(6DY7PUIU(yhjMDB??W5D|TT^pk!V=xkrR+!c3)o2(Ny^mF4h-gUlHJrV?7z^DYZRQ;{0q+ZuaTH(7FisMQ zJ%#2M4C(_ z_->Vk+?`g>9+T2&+N`GawEMJG_dF zXnHzYaLDDl6ErF{>I37V6wky~%ET@;4yPkGnww~_IROOAC)Hrg)c|v@I}}-LqQYXO ze)}po8Z1vW7qu0P+hD5d=pJ%6DHrl!0cf|%W%>=6p9d?kG!bbfU>RzbUSHkbv>xmK z)Ak_aRX2J__QicMe~^N8XH`d;;J6Jk{AFS_2ra>7-UxA;HZ~3dOPctkLI>MorbRa? z*(`l98YETP;$I}!G(7;AD-wtq%&{PQY*Ph$YLo;B2wqg^kGYm2#`t0|T4uKYFZZ zQ-*0b7!|z2759*#@ETcHIDA`_pk9g%_7s|EASfJiFLixmk=v8x!m@iE)^5rxldgI0 z#L@{{*j^efQjOb=F#in!PFXsy9E^Y#;fN%M49~z|Wh^#n_NVWf-pBqC$cHR}nLp$cjH=0tFaPJ6 z7rWZ?4Nf?1-hK!$_}VU*^Y63|qR$7Ra+mobTxd?6d2*elZS`#J<@;HltG~g=^SD3x{){ zpx*^wtg;p2&e_KfB z(_%1+<}^fGHyB*yE&&2bT^|Pp7gWy!(`Ebj?9xCC9axy}J~Z0a_PPnIW1pJ7sW!a% z`Tv^VSeWm6yk!iiZvnAd#zsy`sDyFA&}Ir?j_n*T+g2ucltBksI!%-a9W$VAOwjlO15uo1GL)fI zEz(V&pQe5{4bIHyAt zO6_cy9;7pq zhulu^kAzA6#ipMa-W~G?oeiFRkE$hMJZF0h!ZM z8&z{UxWgLd=Sk!FfEx>y(rklxa15H^6}I)syuwCm!D8Z?GGW4FD<oM53Hn6?qi|Fw!+B~9=PdBi@}mYGasv+`5jZMA zu>`K{ZyY@u+iN2?>7wKn#FaT43qa;^IVlKsq3NUJY`!4D(61kkvza7bhM6oJoXy0H zoXwh2Ih&R9!P!Fv$CR@ZgS#bgz%^m;XmTTi$C0a3248d)&@zHHj`v(lE3Z71$fem> zy&S>E%TsB)Go3l;6YRk-Fh8re^!l?=?LJ5O4GF_-Fr^qI)pgLEMs=r&-IU24SFzn^ zTqQ%qqboGZU9{HTlhCc^*J9Le(%4JuQp4Ad;X6f|JtZp9HrN$cn))0qX=}TAxI3;4 z&FzS*?Obj5%0^U z)Y+{&8Xd`E zZyK1ELqNxp7mN*XNayqJLUr0RcC&|G=%J_8jNl_V?3s0X?Ad|4jqZodE9jL7Ta3Y5 zbj#yGMIIZhtNrRdS{WifS1To$HwSaf5&}^GnAXkJEUjw)_h+s2%rx{SqG%c({|7l- z>Q;4m4!%JktfH2*;8CjQ3Vw&8Tu+#wG6ifVAGnOA=xuYz1i1Dq#pT9zQk_kWvLAuP zfTby5N8Yd!10H4ZAF=s2m^xMMv+5M;w^3(s?77Lkvnk;vcckvEerp+j`X~L9-`m*y zTCA5W+n0O~D`8?!3t{ts2}KeUekw`K3oMr_(h8+#8(pE-uC6j7ft&|A;AtxkbLa3Q zWJ19PtmhPQlsgClIgPxizo98aoh{}c*d9DPtzV1kh}lqGAO7IvI0iCue^X8um*sGB zSxql%F4>KUSWZ(7{-8W5Xno*+RtAlgq*VrvE=VR_207clRYr1MYzDAEJq4FB&R}i) zAm9w(#D~_~^w4@`?Kwq&n_gBYytD&hw`$YPekmAsiX4Ht&G;7m&sNj8uadKbpd4C) z*!A;tVSELS6$s?OB0wB1v*{xP(~+8^uY88D!JZ3Kbl_vmqJtoltc+v|+mb3LxGB~e zG)QbPz%!16-24h^ewfy$FxJ61GjK5W8^B;WQ1qwEFYTZ~n*8@c4|e+e|2XtS>;Hd7 zPrcUm|Hq*xTK{K4&(n$|R$&Y$D5f$evFj`+AeBnFSyuNH9;EZ&bqX9rAB<;y7`9Q+ zGUa01xMvWUNg@rYvY~ognh_PO=Rq18mr-FwRhnkjd;(-Aej3sgW-A82(Kpk!O57d? zf>t4$mCxPZFfnLpb)i?3Rb9{Z-R=ZQG5cB1wo%&?fsUOt73iIG48Jy{I||}*mRyCz ziF(|oT3Mbtj!f^gL7x>u$kmOVk2HRku_qY1Z*d1g4@|x-Qm$^&13b-ofVoR*Jf~2U zx+e~|cJ_qIsna0_oay=bICd5L?2Tk89-I1Noj?SZAr=_ zppuZW5ghOu#5e)RRa+;3@l}Cu;D=2o47#w zZj*TH;8@snQA+P7dC3}M8f+SASY=k>!NjiE>HabV<>hSp$t1q1GB6O_hCe*#kK2{O zRi;V1zOx^{rfo;U0r&CC_7TnjMVQ-cv-XQD)r&_|spt7cqJ})r4@m=N&I6w->Yi(F z{*p%->v`1qdL`CWLAM@rMO4(ZPm&yC#tW?AGRL7oE842=Dn-X|;dON&eld+Lo64jM zz799}g{W2>WD>JX=@t87^P+1xHFqX~4vop{;k%gSGG(q;rJ-t5fH>u5<%~JqDzoKa zvz(k&r{t{O;HUSMr`X&*Sj%n<95E9CbHQp1Mye1PXZ#+jV-Ay`T&xC5yKahIN*ULe zipoT6WtTqPo@4n~0u@{TPCptLu0Nw8oF~=99UCUK@A^_~+=F;D^IR(HWB=c&Yw z?&3_~#T6sA!;^+XemdfbU(WRMJ^L_7k?rx6l@L1=kLUe{SAx!YZ04Wlq#n0!nvYWs z`8Yo89h!W*3X!q^oe$Sc{fZ;CJS-*U^F${}7YH;FYG#A4*iWG86I56pfvkSB>SDKM ze#FPkysoXEyXypm6bs=Rl53pDSY*RLceJSX=&J*WYbMzEisjHCeMH!C5QnLksh9Tf z_Lrr&70K?TRRC$~M|5z!7<@w~A)&sx4bd>zyPAo*$){zgV@?}>A5c<{llXp_ye;Re zn1flfi*ce_e~kmd!<>s;FaY#{W=H!SSCHO9_14hW!fRhzGTqBU0GNMal))CL*fxx% z9!$#f0gkv?cUFOkxD#l}B6c%vc7s`*jxUq1F6DzEXl7BykX9EIBH*W(G3V?>wj@?c z(5$Rt8xKID8OC@u_6lO3kQ7o`OdcfX;!qb00SWXfeHOYZ;<9tldD=PX@PSbxCLlum zEewB+^nr!;ePw%R=`;55TIHASoyzbn5hu@DVfpft?P(uF}&?a*e z+hYPT(X!5ekU(4+HeKN8q?d6QkKsFX=Pc;Kj8agu zDh=g1NK%Lp@reYGAi(R^>A_^|FKY9&2)H1Z%?8d080CYeADckt^=eL6rpz<=-_q$L z`@KkzmdSzW8QWwt;3v{dsL5^w0_Bj^B+g={Q@4!-`*W!|SxgONOfaxVT>O(du)=gh zAeYv*A)c6Z-v`#fuLSIUgGe(Ghr<=`7WqA`5}XM2UiTrd-h0qS}m&>-M@u z8_g>p;{ZsGa8yCAgo0GBq$|o=aL{aL$GUb|eL|XT4`|3UNzlq^$e1YaM6Mc@tic%Q zQ#xX}r${(E+3@525hN;tLmqbc8Hyx8((sd~ve2BecXSH*wn2W|9js+mtk52lVe(=i z`*Q9UHDmx0R~ekoiF5ur3C?k_>E%L)bCgcTC8i(AhC=#u7O?X)mcJU7bvM-hc(z>N zJeIR=YZfLr*Ax*9^CzQT~Q2*egi0p2-YOv&^qU3FG?Cn*xbJ1%$9<6rsG z3bXWgnMy);81K|wK3i;uj7B-yMU@LHefBM(fTksyuSo3aVFHMA#SS7pv8ZE&9^$mM zERmt$&C*4GE7V69(`=ULM$#pATshaGKUuUJ1VIu&J2aeV2NzaqQ?B~Wjx`N$g<}>u zJAy0D6w=$Xa2zx+I<-l$$-D`@3bXoqMhcTSNG?N;9he!Q7?ohGh@!+8Zhq|&Gw|Uy zMU8u#N->2L18NxP6R9T4=C0brsZ*+vQ>n$wV-T=`xscD`lo3IKos^p5d$q#})D#@7 zAvjA-GHhxoCYL}zF1tN&x`t#HjSn`k%43_H3$h$o6j)-)F%@J9Y@EyeB`@~!1F^E6 zo8jKe_NLjn_A3u01D&0#=$Qr&Lq!%d`*Z_MS{lUHEYEPTLl~1{m&P`5Zu# z3gS881t$G@71hkO514`&HhC^V-Dpdtz}n1XMkUN=Al#kWr~{TQ+OTMN@p*eF+U(@A zYWpP38k&(v)YRFcf-7k5jB(_zdR%BGHyE^u^}Zpe$MX(r!RdtW-PMMzj)qhCVt|Hd zl{$kc8$=)j%7D!#LRxLCaBw7xQ>0v4Z48L zK!p^_J?eCyV+F!b92x^3sv@fR$6`!V_;P9|Jws&RHMzW^ylJYKR^3830a)Fr36RFyG}NWT$GBq3mWfPlgh88EZDa@02mQn~h<>TgGbvo3f`$kPX^GyoQI6uwj zpDu{rf45VsCTY1@G}4ZoYuH3zeze?B%3O_jK~rfS+>=2PvhDz;pf&q$(>UeZa`2D{#W|J1CImZlxNs zbym;CSVvoo6FD)`Oq`uXxsJ37NXsYtkV^bqlm;2ZUJX7b2?z{X9%P^gmNdv@9kPTy zeGOtnPNY^KZJXHy1crEj8sVo*2N)@#vCF_KcAt`s*#c%w!+TL4T_lE$OvhIDspt-> zQD&UHyenN9ER(Euu+$VQXs{kA!=4kv5MrE>mI&uW@SRooVUFZC zBO}E_k`=Bg?Z}8YT(0@lp6CrU@D(WNzmhkE_+jeCs5zO>(6qUKr zoEex>`br(YGBbXt1M!ntA9*Q|d}Ld|TCWPi0c+uyBwKjANXm*In|<)KI|)GZskJB*yC)(@wI| zqX?eNo81+~v|^=Wxq<+qvSqV0r%si4tOZTkMS!lvwhO4j9jp=~Ip)yQaT(Ln08i3p z`zjJmYJ^wHy?a>2r##xI_#mO0_zfz|8QQD?r+GQb80((K0@Q#+#Je!oJOjk4wE$FI z7#WOM!uA@e9Gna6uK9uo7y)i-T&4K|DgsrPg)VwDkh;Rljn7-7?k#GbK1bvdd6Ds6 zrwz*-R!4lU{W``qP8ShK(VUcyW@H$(P~XONPLV~0U4|x;V|Cm>A#>441JS7=RgQ`X zl6F>h>|9vPA|xj7B6;cDLYyewg&0Ni01q5MSLa9&@r9{z7drVMMOWT<0W)4xS&5-0b>_}jcxpY zYFJ^1oB7djGhT*fml5(RnqBZ9RdBmRAC|z9tijXeIGa>hHm8>@i~5 ztRa;Qr^Xdd<2LAnl^#^OZ8p8kn}|?vqkKv)qajWnNa#hk&twW-sUAM6gItV z+7|gYAd{osHl&xOI-6|{+%Ut^43+9jU3!@qE(YUmAS3rE@Fv2$o~^Ccb?I{ZAxkvf zkWz5Go3$b>Ji|lKTEufB;C*W3)X{-qbE;l~NTsjMaCB6KAI#iGf(Pv_0Q{r(Q zsMb#+9`GyI05twh^64O-H+rBYhwnQiBbVpMAl0}1Zvv#qq#lDs|F-pSxB?M>!Yw3Xv$ zG>&nQv=hUdt~xV8{Q?@Z;Gb*ojhf}XA!Jn#VTRsWInv56v;h7OygDjG+*#F(hK=J_ zOwrpy$!_ch9{ERJ|$nFZ^UJ=zOq3NK;#TjY@|BiQ9 z-i&NBKQqsLQp+2Ex80Xb@`BWSVbp3wv@Ra3%xG z^T~J;=AQ}9O&S2`D`5pF16*u0rV8tw8R@7&gQQ3Vt2tHdodG2iELFOHMK{t(qp6P^ zHWW|j9cIL0Zmp@>cN4y4mnU9AneKC9xsYV3XzGqqt!i(1vn$JI%3}3dE5ZXB*zltL z`j%yx{5YX(n2^d%&``C%zvXxTJZ&U{E-codIvS*VtW1F*r|SXC_jiqg@7So`fGEZo z6FC!uaMnA5ViL7)urRZGCvpr0#OesDyJ$=Ma=+N+ZSo~O_B%K$)?!Co4G$bp!P5yb zW?6F@f(BY3cT2S{#+UuKdn)(3KRQX&KTb+t-h&Dd(?A!T8QtDOx*ArHyQ2+%ZWmzn z&aTfNFI-yuK&T&z4sXM1YY#KEggv`(+jwrA4@GmS?UC1QZ_h{ew1-trChuX$%Hr)= z!~d6U*Qj`So``ZPx8^L@Cbr3d@(q|F*pyqf9zc_RJQfYB70(3rtUZ%0omtDl2I+*^ z_<%kP0HdY7_VT@)3OgX@q#VAQ8E%r(0JVX7^`B32| z-JR94F|Etf2Lei8_-{L;`o9qEqkUWC$?(gpvyVp7O?zKjTvP;Y@XhWh;o)I)AhlAC zL$X^`fl##fcNgX0-6h>4M}##SW$Z@A(!?8CNyN6k2DqyPOI-LFjkbp)QNLYBv?g^8oUS$<*zFI`r%W{2(hDu7I8X zLL=dyC)G=gL#h6eiV8iDg9v7T^d7>lVhAaX(o*)#Ikk0=$fy6wgvOPUI zVBQlhC^h5cvCI5gLN113EWtHKga3Qbz*S`LUwwd88ZjS)oK82fCpIsKckiU){(0px zeRF{gcZLoB=}==LDAHb2Hg6G6b$2pV4nsOz^sK(Jd#63q4Mg;`H?>OIsoP%p?TJ3XkfRGJ4l)S)rUAs zN*j`{DhCAW_(L^MgQo5cNm>m4rk_qzVSCIa$Q41B`rHpP-P7R#3;&>JiKtOnV+pL_ zOs=%yd9c&OkAW6}jt9UgShN4-d6%>sn>qm0?W7#sy zWWvX=4`L;?r!BcE2*dzOfKeSBySOuWW{xiym?bz1JM7u`cFZC>^jOG|fT?dRkRxV} zjkH*Nk5*S6n`g!FmK>FEpuOtgIMN(k`bF!(VqWwRRH`UahRDCV7LC~EmH#s=1Fq&c zJeWr8g)^a7XYxT_4D!k?z+96SRFzDhMcj z2RZc}!;Rd7W)WQV14CvVp~*Gq0~Lv=ut<5DC@BUH#8Cabqh|F|QNN=ik*3afxUsj(rJqANdX%a*yH0=`iNJ>Pfi_>{`&4MIS-z2TD zxU3X&^n^;Ip{*rW8=)0A2$VvF0~%UN8@J949?N%b0>Rs~34}<89TDnxu}b@jv^b2Y z6q}WAkeUpfFfe-2F@7IbY7TDcv1vDhMD1bQz~XaiDyPlS~3-~faOBlS4rI}i|vH<>q&K(HCCVVNETvAS5*1;LrRjvRUU z3eo5U{1Aq@CbL)o#X+1xV4sq%!8A|Q?c>BhAQQKCxhb9qUU0jh4-w47WaRF;-mg=6 zNCuQu{~83FDz9!Iqp%A`X1$1%SSQ&kcPSt<|MumsSd*LlD_U>|de6I*gQ2h~e~l$O zkwEl^H_E%{9Y7$29XlUk>#(FbL@x~`p(~Hi2wf0xqRjQ-tV$gW?q5ifS4$yI*zJ_f z)IL}Y5ji$=0fxcB95@)eCu1B$TEW;MuS^L9cLp+12|TVM_D|YZ=@I6jryR+{7-yNp zD1i=+5n+A(jUe1<~7-?wkjBuMM6 z;e3Ymk_2KAB>InFY$IWiPUXOLx_=%V+X*PXK6E@Ec$>!28- z=1!G>ZK?_;3*1MA5M*k^CSnx2rWQk>0N&h$KSHFy?=yB>ULrDM$AMZ*=3xG?+85f+ zt~(1YM((BZkEjHl3WZm83a>;Lzn={#%E4t6L^8ylUj-2SoReVqq}uXtR89I&rFPrHi3>WYXzF~TT^Yb0p|Jb$Za z?j20zqWX{z7@kb?T1UP1M-C0zFJPmgN(P=;NWaDNX45MB-nF@LJ6XAaO2a|Py|)dB!V zC*v!tK9vJO+5mITp4HI4J`SCrEZ)qN%9A|-0+EP&26tD%hnN}TS{fJqns6$0`dDu= zMIVWQC&$NO&cxPK%;HHZ=K}GQXnydItb4}Oi6%C~_ss(g2K?+~cTz3}V%m8;OTYp! zIbLu<*$^z&e&!*LGDc1q)?@!6_&BKn+@|4R@ZG^|F@|6ZQ9^`+sH6xDj`3c<25+<0 z+XTxgep0uO<4&KM8j;X@V?2Jv#d07AY-vPD8sl&x5vXJ$(U{|};XO;T+Goh{&D1(e zrWP5|3&}KXj3}9!#|W9Cz~bW*$Q0RN9Z-wuam7xGTH5CX#pRwdYB%zks5N;4jy+&jiPCdNA;AhM1 zLj|HD;SAIC{u{Rs@7P(3Q%HMXt8c=M-7k^2@&3JOQzV`QZBQ9Sz!hm!q2=J8ryLMG z!{^X|roeUS2bE4DL)rf9Z@w#Sne8Uj?Q8z>SJPbp_GYD}<*pmgX%nWZdkEP+ccwW# z#fP*JE<#Iu2$g{6dmUi(+e^@9{6MLerV!an$tq2bhF(Qa)~(&tE!G~w-oLdgjwfaW z`@^^Cj?5OoA(4C?UQ!q0{IyFG@?t(hvrfB%L62ODc1P&6bx=6`O9F*N7`6k@Al%#{ z?QSxp2ejel74|PhV`m<`u^eoph@;gWCeM+%!o3?mxvBKSHzLE=o-w#RM>Nx>K~f=X z2Rc$%Bm4^zlJ))_K%-p0eYp^JeQ&a0DPUsoe!kMc?U@B;%VfW$> zzLd!?I^qqlp2X?lV0L{D3qXax!@W|Ni(s<;b336)no6~4OF$u@{!{E%O2{XYR!|l( zy~_ZHJ0AY2vur#M*Xd0Wiz!2=Ief$rNTMm>IA}BzR*0-AVHuz0B{F-KzC-u{cF?zC zhjE&r@1S@-z?V$)&4ZyaU)T$2lIT0$DO;rP_<=}DItG*;jFVo(&(MxpMaZQlZkxg5_?UDwa1aw9TRhj=nlL}18uM@fZ#ult95(!4#YEro$%a{P z$hikh+OKVAqpO~09z4JqE{kV6!m(DC_>y&FHOp0WIX{SHVZ>Zx(4!1rl zr*_~m&SRY^p+(Mms`1c1S05NLEGLx2&E-!)JPuqlHjt20muzqRr4?*Q+Q$ox&<$Q_ zY)zLJS1pam{N@0s8j~r{w>wad5)Bdp8;&D)$fM3u&eOXz6*Oi|tW@ z^-JwX$n&zpD-JX{B`kchZo}RLNfFksH1581Zc()7(Lroyb7g4yyx0vyqF8dmc(+$#x!B%9b^mRraK&R!(zap+^ddqgh9Zv; z3+bRMYKz<47*Y$v4Dq73!H7*4GqdeW0DO;Vx?2O&;21vg>FqfNjapBEc%}u$);lmU8&A7IJ2_wqf$HToXq8UT(6-o)N5FB9;<@ z0$EV{oXY`l|3G21DB;4QoLB-7`9ZF3aG#gTt z08Zol;F)oumbptYhF*31-+b<;%L~z95~1B5&&_J9NCexLwUwz9LgFM0h3nD}x{F~TKcG_&aohxrhI)XZSpgI3A$AS!o=4O3 zGwOlL!eFt|CznS|VvE^WGTu`x8K{D_V>3UTJ1s>XT!+-4XV;Bgd>H*jStg^8npBZI zR7FD6Lxc?H=5B5DMIqMRJ5n?%+WjPkArHCZ#HqYebY$s*Fs;5wTTP>*)QjYNuriNq z#ePx80(+Qz@C!^4;MR{2TtgpWquT!sR%!qY{eM${h2fC^Of1f0vcf13Mgb+#SFXW7 zC=pncH2=Tzq=tpzAB4=TbvqFbFvw^Loy^`EgEKL8^h=m-WMyl6E_wy_s@Fy}wk(5% zZ+>y{nD#NFs)i*vE&;*8=2i#LaObxdhC#FR@8J5SD-FzjgDno1u3$#%fcmL!m%ayQ zzE4a=+CjV`DOQA-YU5NS7#?6yNRK_#5V94}!1w09K-e>VF<#&z2FN7VPQ)@*Q80qH z-MIpj=pLAJZTJS7isbBdu>sS=`DY_l*lPZ4rXD$`{OoGCTi4QjV5|0150Zj9d_Otr`RnLAs56NaPJvrvhT4h; zzAI)1C7~(dvfPME`XVMQJn29wE}{ci!OPN*cKDQjHUqEO87W0l&xCdoLc-k@4Rp(K zI??5bF7RRJUr-6bUpt`Vmwa`iLy30r5|bt^fQS;_!OG$1Nb)IuVMYy&bqXweycmm~ zjb%Tk^Q91GdRhh{!flFi!CeZke>wf&t&+W0?U2di>I}KQXwTHW<;9s7GMw?^9EC$% zJxOU%m<;s_DswuJBUQ0Mf&+aq=U@W1R zOsdqT41NSJ!{{>bQIda11*F>&LB7_Zu*1wO>r~N13%Yx)C{3bf0*ge66^kkI{^{z*LlKYa~QZi zlW%~&w9icAFm!~FC;em{S~AA_BUeR+3!ZR*LQM;)f=1Z_=Wy7_)VL7a05`_4foeah z^swfBj5`lDH>f2^P>{V#K{b>bf_9{a;}#rX&8np#Mrg?6cEDgOE*v?D5KYz0AzO}rR%g%G3?UjW8>$<(BD zG^ML_zmcx+3WWnSNM2}YE?viZB6+3OTMwO^pk5NQH2*+ieFv$Q#30fPTG?(l&I^@- z^<~VBGp=2oFI=QTGK7IUCJvD9#Q3n+(J_2~KMRk*PwhD(xc=JmM3TB{dZ~u0Dl4c* z+X2CrYM{Q8)<8+71=U&UXIZ@1Tov4GV=vo@DIOYtTwHvDc7yjsi{nw_{e)xP{hW>J;|-+DpkzfACpr}aMJj}x%==}o07MxcY5Qt-UASG&VS zile1s=E-LS5v-Sz_()zseA^Wuykp|EWmNVe2cUs?N_BRn-!MGi!TN~b&Jh!mCmVIo03^8#7pEImnPYY2)TM{|R-JD_q z;E7tf+CW=GJV9sW7R4q?F2D110nRPRkf$`si#OopRQu9jJX%5%MO&rBNnKc@I3a$RM?_vmJyIamGA2=%vWYKsCmgX5 zUW}d*cWn3=rxrUcsoPc1F|X9>n+J{{@~25Z9QWtlF#RxxC|=;T zIe2Up@*Ocgp_@B6o}JDrkW9dq@s%n^H0eKMSS@tcpdd;Vbvr&wi*gvwQ8Y zd~7++8kM4Z?ce|3Y&zz~LEyG@UWpFsrl}@xA~e=*(f=Vh+f5gewOzNL0D;{*R`T-h z6L3Uw(T>i%yDwDu(aF2dFqGYQx5T>_#AjeR&z zJ4Q=Np*XI}Z`zOkvHTaaQFHC@{B_5SbM5Q@WP1JQe>%N>?Wf}dNd0j8x3{BL=|)JS zJyzV__v)#e&vkP1li1mIX3?J3KIl>w3dX@AGFE&1)me5=MctMg&ss1vbNj(NR)#n4 z!mOM$4*erTpA@Up60^H38PjSZfLz$S#TdF=SrexH1oc`IB3JlxsDY`argZ^#$n%d?Sm>xEkjJ!O2n>Zc>+(Xr zqzlzRJW*G~MRGiQO5j0wLm5c)FqjJEhL#zLwq#Vno7udA))@iDl?YoT7P;@kLfjYa z!qtr5`Zvf;TDX=xEOX_VD~W)Tj%Kn`amf4aE5983?L~aV>C<|HpJCKEJ?T6RpRf_R zrT|U=w5XNT8-AV@d|~Z`!l53wzZ;_^FQ>fwYVzYu4ULB}15KLV(@WXb8>++9ov9A$ zh?oLf>mV$N`3)Br-$pEI zH90!6D@Z1SCLB3gWnEVsW6IzCa+kR&5Rn0Z5VZ5>78fJqUQetG6HHleOcG3W-0yWV zzj3Dl0xRmfk`?7ZY0|MZwjNT~J|}xx)$T}dpnpmjI3`dtZaEpy zp2M0n&lSDyjQ9DljFs?43&P@Fn7pI7TY-AS8VwUwNQezb41^9pt?!zCts8!-!IS%m zW(OmvWFG)J)6e7m$=8~oH92!2a1j?EMO6kgLf1+rX$LPR1rmI9UXa53B)L9H0j-Lh z`lA;Vw;LQBzF+n+K(eYZZuEj8Uk)G**CFNgqplW&`mA#Kf&y@Y6v!3>64F17`4Z3b zr=Nb{KAD;a3+?~IaY}Ky*#3EUxzzq$cR6T3&|NYQlJ?Q%7$cx4275}gZKIFT6C?Lr{aCNj?Dq9_VOXn()Y#3vJ2ebJV$updC4@S05lst8}EQE>n~8 zwW)TolULb({_a{K1e1|fqnn`}*VL9^*He&+IYh-?`j(SjB z35~K6+$wQsmm00ZG0W0ksJM;QZ%CZjH>38~Zdgl#eq+V%v^ zoO-gfHX^g6>j{Hq2#FrBefJ9yU%3aYyUMhhvN-L@fc%m0!u8`P9m0yRWIuH%O*l+D z^xbF}H?^2_hzZZsp=CQ%3R5#?pI_wZ3PyIq-y%-2Z_c2l-Wmv89E7HyI|LS&Eh&C4BNq^gZmt&X*b!K$AL;1Q(T*3ODaRhjMixq(ELFtzVC?5rw-;3 zV>0N35hI_Q4%#yW)?~z%B8#4$ks?4sbqtYw<7p7*lZu zzvIJ1VdmePoBA9uVh;Z17Um$VjV;hH6EGVZnaho2I^c`E4#Ua`@nkxHilqZ0BF5l0 z(Lsj>C6fS|02{(;+U02ytPQ=Lj5)(1Ck7NVV>bAo(E!N}tBC$YXmq&=mcp{o zQ8F+}?0Uq@WbYJ%TS|l?+>0dS;l{!3RT8Fhv0dnn8Vd6?;V6dH{@9xYd{e^YaTJa! zgPC=h+#zrP0+5D@C-F@|B>V>C)fFsaw5;|oQux`RWPv% z2WMDe1}C6_+hMr=APnS%i=3U}fcU(9G1inCC1r}o_f~`4oNreTMv{>Am_E!Gy|vYT zQKgtVp)GnA31_Z*yCGz!IhghhDFtrJQ~_I1GU_(bR2A+ae zN1RW??)lEJd-6R<1L)^Z%{;yjVul{KEt|8?WU)E=Ai;H{Mt(u^3)NeiHzYqYH;MY(3k3&^ z7+iL5JZGj>O3Gz$3=Cs#KfiGvixL?Vi0tRXIcYLp87Bo1yriq?`eWbq;y8 zPsohEGq#`yyz}#d&_Ap+Rh5kTNpdh1Dd8n5L+dlkkkNr@<2uI$tAqpTBVkq5DrS`8 zh$!vQsh7lqGpNtKo&3`+#_t8BLr&1d_<_f=%|0fKXin^?2ahYF z<DZHORcP6~|^uf1;&lUzOPFB*`u8B^bR)Gt0jZ5CD;KKM?0OCxd z!S_0ziF*_M62Hpb)TBT~X+rQZ@FJyKkZ6G;_{!xT15rl~x7#ds+1@-4?ba*nuiHNO z-jFd)nkagXz9NYp@8Nuf9@|AlTXH=-D-$ynO5`-uQ{b)%7r}K3t}q(>`&cfL>jG}Z zhwTVK2$+$xFc9i^N+sE}NoQ?GN#^{bq*50IxLhQkejVT>p@hs!&;jJYs)t|gR#CpU z%&S!l8eK2c)WQHGStLJ|3Bw62Yyl%_aJ8JQ=ahfZORK)}Cn^Y}n@Ixff=!L8gviRB z)M^D(&8~0VI+Y~MLX;uzknKt|AhrJq2FV}`UgplRi=K(p;RcVMV9@Z3(Y$NQ8 z>S_}D7>`KO@^PL_MZ#pnEi1ENwOr@m+ZkYLkjL{FaPCvO3RX{+vFdDayIi)htk~~L zkF{&H_>Jaev&sa+R6>i^EO$mYS#Ip5%Kb|NWklY8~l) zWNlVtDzp1^!3o3-{9&*iF5(7O7fCif7~C(?+`ZubzGI zCLY}2gMz3e1#aj5H@3GGM0!2C&qsIi=aNY{COW^ zNpgFf+rPW;gi@d5@n88km3oldpF1r~IBQ!!e5ndI{uINXd2D;+3)|W^opxz)>0$3~ z;_jARZEx7Lw{ZEPr!ha;wCk@f+q*6rj@sKFTxmb`Ukk1t*H+qo`)6_eR<3*PpB%T$z482^xK8zd^nRbG`rjJYss7je@wEQW z#`9GF@5l30|J&pGLF$}qUlnDJeto5#Z-4nu_?F$jXtr#B{q=b=X0H;OE$0T?Lqa3& z9(T>Sd=a+k;KmYK?f&jx{PNdV{^Y6ECCB#P@UHTj<6pSqlB37=Kl$}9_>Hq(_LjT3 z{J#A+tbX77KkCz${QJMIPx&wR#nbQe&xbEL+7!noRlV#DPkiTx?|3&={a|_H-Ye(+ z!jd0(^$*_i=igrJTUA zsu++9YfZg(a4K4X=Z_!rZ_C*#!~1u|QS8@EAhdVK##O#Qe#xnU01rmie#WzUsdg^ z_BF*_<2{!)H{6D1kaOk_VjFzrzPr|AzQbpi9BjY(!81(~uiCG@>ow`co=b}#M0tS{ zIXu(V^{8LsN^9<&(DdRx(+ZAn*)&hBph^`?n_k>E^W~OJA5TqR&zGvT_P1aAHwgh% zd*@gGu)F-)yM9+MxY`KY`G>FjpBd5 z<%6GoRWIg`p!@wV|HwyQc>cfnG#p*TpNsy*(eCPl4E2O~jvXDJ*6ivi<*CQUyKfzz zzJK?*`+@$mcmEik+6aHTM8iIaBM1 zM6h_5DE8RV(P>7%Ck3bfUcgC>_ZnYj?lU$PbAiXv!8NXdzp z?G5t*6_EA-q0c$6q~q8)_2IR5g1;#GJm7fHd%nJ+#r&Ru16rv_49a7ZVO6F8%~HFY z2?i>xb^rbUnR^N1%;Bnxn79K6tTvrsfvh10uO?_6=;{!^(Se4d%1_V+ zM@I<;dOw#M$F&IHW9$jkUj}%Ls~u%3250`fhDn1{+w=W7g_Nk%*EmmfL5`!j{55zF zg5XnBY7O9VV2lOYqhiSxhK+WoVZXFeBP5!!r6Wxrn zG4;L-T;E^oE{568PjkvO+?{eYUn}d2JQGIKTd#^BMX#wMNl4#-Ee<5qSxKep-Hv)yysz5kPY8q7cW3e@Kodgk_W>L zGpcZ%*?^Ul$gl-5@X1cfQA0hd>}9iKwJNokcvOxerZVkm&kzUwI!I-42B_WJ7E`Vn z@&_(Ksz4a_Cbqchy2J~If_Kex|55a&uRWZc2eS-_kvW+^po%r0Y%vvo82%;tFe>O#odZf~iA3X$*UC~@ zdMY^-pU1NJTr8DoJA&3)X^Z^0kt`nQh@N(LgVd&qS7d8$k}e+EwPH z#O*!j23A{A30QU>a$NiIUqMr}aTyhdH{d63`^WZQk-SHWq8n16t0^;4;9;o_ zj@^2!DQ|6hUD->H9ldq%J7o&EFzZ#GS&);Cd4=zzcuStoS3mfchfK1V5^B}{!uxOj z+xiLunG?Dzis5T^i3K`&D-@CJDDvBsnf~QPIehJ|wm!I87o{6-mXa0!EcoT@eOnH1 z+;y|@>e(VU2adaMqRaq#$h%w@gWm(kIr7wF{0JHm7{bb-W78SR_O-9mnIDy2!~~Lo z`+8rBFx7y_9`SYF%|7&&Ct0+2MhF0JI&Dc#p@Gj@q#XT1yDbd=i>oz_xAmUIrpSmy z!%Mi~4LU8AS*8rz=d$eHfN%Q^0O0>~3zWej=kfA1X$oi$)_Vp`L1a&BlztNL{?-)M zC8iwKJr7?5J|TjN66vZz?24!$jeN}yJ;ZaTEgQ4M*Q90YjYkMxz>bB>$BOThj$5MIL%%e@1q(-tMFD}F% zSJlOZMh;i?#RbH)v6T**nl?^89-ReT3_erAnT!Vm7PE?6kjYT5L30%`@HG>k5?$Q1 zYfo@|kVBqR;*EV_l_&iPSA9w$k^00_p>Q`9Ks|vpu;=N&gbalw`~XWNlkp(+;OQ%U zfzqlFGHLWct|)({HC5AbTCyPM#Cot;M@DT8WjRPB=HxeMiq555IwC{F%PRe7uGaZ= z-By!=WJj2OnJ0@4VCs${5RSEsUcK0E6gdJCH zW4+}&E`2Em^ziynL$VP#E}OomWyB9l@4SoE-WMw23Bix#HA4DT`?xgR#o)1%c>);b zX1*!V<;W290r9zkn}21EQw)bcwQIwJt99``WT$>*eF_&;|Q28)*oMx;$jd5oM9q zJ1(rxN9KZ3bo}saB)tWne;GfRQ@m|>yU5#yw-LtTm=FR<3_kOK*NvqruU_0T0jTy% zUtJ|(@fD}04$t-r9gL`tZ5CSXId;K`7xb!ZU%7Dkq(Knor<1pSHfA7xgb!co)W~t` zL`gm0Z%Qi{Gt4X2&+Uq^AZVsYvdPNfq#^+<{>2S3rP zde@6i$KtMW@6z&>QvL{{>V$4B^vn zNnu-i$16ohzk_lb-B~y?!1ud8ZBnCE-LpzCN4%FRv1!+MSO<7rm6*NFe6DiR@r_lI zUe?Tqr3$9t`IlJbzmjzY_j|=k#{tDLF+c+d<%qxdC7|O5&8f1#`PUYj^z8e=p^@Lx z9Owx~;A;Q$o=0Z_KQ*n*2ZF+RyPhtlBI^q;Y3AN>>62c0#9&9@?glZJ-!kp=@*{T- z4p${Y)uFAskwE}3w7u&P_tM}@2Y)o}q0;sEfq!uf5`7c?P>6a=5N)O~e@b}y8}qvB zz@wGQpP!(`uJs2lIdV5@X)riaI?oz}NbjLo1CG#XgJT~G52h}#s=gieivqWVbyq(< zUSa{AcUj)4kCbUJ+@8lzuxh(r8QSKIRG5$&o*3nNC@+JY>-j~_Jt~w5W`JjndW37)Z5rtQ@t+=(z**5#TjqR@*zKi8bi48sK-ck z)6E}5_iVcIsA@qBTu?O$;yHumKO3zK=qafp9{hMMDf zeDDjq29v!pvF^uI@@D*ox@7LeH1NBi*N%7V_FW4YCi)Rm;sxtppT`Q=<6}KH*^!-l zbBXgO5%BXrc+>`_e#`UeGI%myFLMmNwK^CS5P(eMVJB`2xM*tFM&@s2G)wV zkuoj0zIfAwHMQQ>lzKp5kcB0H&Z2^6Foy+->$B^Hk+RP0u}dS#WAEU-?o$)vk}R)^ zAp=Go<8)?ye0q zF=D7;Ed)l~RZOVEIjCS2v#Q8GPHqD!ryv>Ok&x1@S~6)6RFtv6WU?f-k6eh&1bdQM zeJwdlSPXOR9=88IaLC0l=D674*abM?F}Abj_+!i8Lmu{esg_C3zng}UOw^Taa5xyP zhbdZy1|~$9ra@Xzgif$_jqC(SbT`scjBN1OaGA&6qd#*{eL`V6X>B++cG3au~^K<;Oi34#t3pU zhSh)AV);F$Du@lD%3aDsnm7mYij(9{x3igK*`lNy!TgB$7VR={6NIUu<QMMyfZ|$%`O}!!Lp~f`MS(#6EaANwOrzZN{&% zLjjvEB*KKIw0zCz5+i?9@37$ldQ` z*zjXKsxXzrZK#LmquWQFDq#N(6l6L0K^mbDJ$iuN`7~ zAHf#djeR(6)Z9ou5*D)VBURDDNY!3Cp#iY2O!FBWG8Pc=8TAg|hOL)$dv~Y&iSeyk zYSzN%=id#!JIu;hKwC`A4yaM5drvC~y?X)S#%T?gdfAj%;TS08OB%cm&1wp@cA|Ru zbN8~}`h+lg5C$%_BD3cpgbYRdQ@FmZslz5vhz_5btbtG|@N!rKZMFv9S{Btl32MQ3 zc4y%nKYUDtVf-4C5m+!6Mq@T?x&mK6jkjMvjRR=EvCSgEXfJ)S$+KNuKT@Z z=bTh?G%*(dMTBNC)B{@lq{vFh)kFBQSXjhYfO;*(a$rDpRgfGM^n0*QsB6p_#sO6E+UL*uV6$iW;JV(<``8cZlUQrcJAiY7e0x<8&nJP;vqm42(6}@I$!i1^T z1|OeTP!t%~PWxo>o2Glp4%@&KQZXi!L^>+H3wmRNB!q{#brN&~S#S&^oiK{8kSZ|N z+YQeK#3tnNRhq?Oh*Qr&e1u{B3`_bmHvl_JJ?2x{#&) z*k?%&S(v!PY-D5{MVNxgAs1K8@K4bm`_vcy(1e8HuZ5H_#XPRTqHBQS+C>I}QC%C0 z&0_E>5>e*7#T!Xa`(c*yfO4ZHpyCI05WY8|H^=DO@uG`^S%k2X*RhUesN4$m3S-=j z3s-{1Z0#B|P|y?=ABb=d5`h~w5@9`U3I;Unof4~JV_W?Weui^W8>b&x1COY!0&CQ0 z#y%HODG5>`pE*B`#@JyD$w3c_XN=ibi6C9G?1nIN;gvS?cvc2U0Augquv3j_+mu-eR#rc6Fs#x=IrY;<4wH+f- zU8M`w^C8{0e%&u%2G@epldwsuiD;+HkN}B~rU(kL5uKtahzkT-R?kb!i7+2m&WWI2e;{_Mh z1WLeT9D+;iAx-1q8*>A-HbuG?W$9qRrtw~BpqFj6HUnko3+j#C;!3PyRV3aNlzVPb z=US_Mz#52_!2~Hn!&>uP1V~K*?yxbSvMcBYN=B)2q#6G57{vVKV@QK`5h&(H0_u8riBBVAnpZo)8x`8H!L)Z{;n_BoAkFS z$MfKpcsK_7VG>Zwur$Fe3#*i&aSRA3gTFzAinxds{29Z5rqUapB^K}gN5{Q@6sGcU+O2oNl07FtlMxIazk>SU==s4U=4^W8Z z3_x`PNIyOGXjw>5E)k6}HMQPi;8{~>pR1diUQ0O1ZZ;;FA%?zII65g@U`<%ACaj#pO@!KS8Or2PUL(77v6 zj67oz1Dq*<(QjfyD0q60sxjv_0$ATTH6}Vf0e#^AXYHj{+MjR4LViTrg7qyWi#9o} zB>qBsMy)`J-OgpenEH-ypR>X|9gSJJ-#0+vuZCT-0w=9HHe_vTcB79S1xhg9MvfhE zbI6V^Fx$WoMG)mW%}VZ03^5Ti!u7E?May6B4FAM2oxoM013p*4}<${bE0c&ZxC?!dNPOdsF@Zmkh&gunUx`H}`_UACwgfGq0y)adv&x zxcA(rOD|`qDp=AQJ>j_1w_i8z|3KIw#qfiuJj2Q9rD9lPQtH3-aDoS~@CCF$U=4bB z`*lDRQ934`uOozcTBdp_5*rsu z8(}v?27~VmG%6tJWuDr+=?dtxxFqrT;GuV1dj2bqkY+LXP?g+f&tJyH z2C$mKrQxR@*$1>#vEDCF%`){qe1Kgd&aTe_0sJ&0AR*Z=l7+k|%w`19dgWVw%Us?= z8Xf#=nCc<;7p6VC-kmBOjzYxYvaKJEHQ!_jY^>+IG6c^^AM6VV{(k*>C1u^-_)r1r zg0ac0*y2leBYo*hD9FErwr>6g{1WY7l&U-55miLc>*yJ|8lcKH87L<3OihWaP({6T z((K?5=U56_yA*64ZtaUl|1zdMuvZK}W8?_d>*n$=dHKjqbkf*3AZ9H*~z9zIGwc$qh$D_tNBUfZfnDEu))u-I$iKsa-ROmqv?L zF=;*}di1BH-T@#v1HkzS+5aDV?*eDpRoD6M$9dJ+r>b_PtE;NJqS@z6)CRk;RRksm zQ@fmWo@l_3i{8)YiZgdcZxt|hXkz@>j|$z1jq-ukL5WMt-3q@jTI za`ggNKLWurWaY<7=v*yU1Pd1J0P|XIxtrRNSe{C-@q&n^tnFw@wI1)d$S=HhDq~q# zGnT`Gv8&`rbHmdvZ80+6C?F{L&=1B_huR0j{cJ5xS&kcpiteKfn~OM?ASY4RHbDB$nPd>9cEmLgeNNiQ&bJ0(AgL~A zljOSy_3EmfjhplK6dGhs(L%HUD{tn1&{@LsP7B$!h*r=A{Ek%pOv@TBC+Uhl zod)Twu$WeHes$mcqd~B8=rwN}h~`_Qx13-r1RnD1Yi(PdlZ)GKDj3J=Mf(Nlxb|!n zW^sfyq}tcp$Z5pLGX`f%BubDUKZ~64enQGVJ(EQuR^+sSbd~6NWB!WAD79?#DCy6T zJa(%vXgnhZTg|RqzxU)~W^4}7n?ZS8v~O$1N6=SvoK{H7f!_dst*zC=Pc7F9Sle3Z zcAY1%R(1r4X}d1Sl7|7oWWy-mjpkEeCemYxnObF2G3uC^|McGcUh|NSGmCzkp(=Cw zZDg_0a(D!FRed!)}sdhc1z$@>q)Wpk6qNC(blr5WSm`c zAhvVZ1S%PJKkX8P5DP^5@x4s4nKRdb16+{}XKQ~>2-(R0Dp-b`HuHbZ2|)mqZCz~t zZ`xN-wZ=Z|`zp0{@mvTeID|yeOg{%YisEnA-YG`(_eSi5WkON{&7TqzSq=vnU>iqV z8qA0o;{1Ul>(88yrly}V%#j-+8V1qJT31=ev z$*D9*Ek9%ZG}*<75n{j{Gl;3i@4LkzsUUbm`j7$Ph5cEL`{x|IZ4I{eXTTS&16*o` zxj@Z2cwlwRz%MvE(WcdTy=H@kE%Ax=x_ z=T-1F3T|iY)Lpg4?~H7F>mmp}yv-h-ir_>BD&X&Gz}9B7<~$$U_;7VrT%F@q=N9`* zCUaW3IWhu~pK&;_Vh@kHM!#eeI1_S4osy4)11+uT8Fg$kfKi)O&bFRN-))s1@c8ne zG_4`bJWWxLnX9hP(}s8VvSSKDX96Y=aPL>`{hjOH0|MX6DGtSM#f&j4*4!3{hCac& zWR!pn&pB?K!i{x-s1X?jF%JtOGXprZ(g9G z6`am(5IEg%t7}>mT3dBw*n-nBl12`>I3`(jw`^_a$XZeV$BU=Al#iW!jNn+Bi79|U z70NVYO45uGe{<`^7o%8X0umVo*IW75C#AbhWHTq!1%fRHsqx|)zx2wUTv1GX-1q9RKOr07 z*+avOjMX&7*pVu>va8zj{jE&a1ldUP(L0rEnkTwN7d|jo5H*6y6$;@?uX{5y$nVmg!8aoa9SgXocnX_!%_DKcax7V7U- zBhS*GOn-KWs_@B{(uavTX@2mZ%+;zQ??#KE5z ztbZ+e!+N_^*j%unVa5k`K{I@JVrw)7{pK%hZJ4|?jN9^N#oixX_nrlD{TbgK1HdG2 z7e3cfSRO_%(|2D4 zPH%z3{vI`6!|IWGk-;sqUkioTA;@W0^NbDP5&Qdq{e3W${fCB5`@!66gPCN82iW4o zl0**eJmzMRM?RQtF-kF6kA7m8H1>dv3MQ+D?eD#QgkqBfi0sRcI(^&?Pppult5)<* z`wPG1$thP2kt6c3k{cy1SC!GBj~abqX;Bqr;~rzxSfGDv`;6bl)cAm9k18LaIv;nB$>8VOE89e!h&fe8`6|!RYe$f9Ah)R+XwcCxcy6bD?hM zr0)b}eNu7Snovw&>f(3Yw12R5@dg3oYIlNWD`K4iXGOBKUL2H=H*+Fk@KDGT{-zQ( z5L+l~&D*T!`KrZH`mfg6v)Jwk?FXT`KV7LqIuVpoiyGau? zZVH>X`tU==In_H7Ita@^@8b@=2OVjipu!bqg)w^#E>4B_*eW5Q!H~f%KBd{nP+K%F z0#ghYJSQiJqW-uo71~5N07Mpr+xR$l9>ywHe0C&ui=W^E_(o$Z)S?PVjv3u2EKSjF8|MC%Tz zW;fBhzTA#9e{dI~fk@WNln}<`8HrmgD!nTQK%!0{5H1)#|&yWH&GX6q;~+V zQ_VitF(V^4(VJM^dK+H^gQ_-;(+2fac*WW|+Dz}{XMTo+^8Ur~=D^nAmgZnKMK56S zdASV*g<5Bj!a#sVvFHuI=#BoIgpQbC93u*dtt!o z+C1vpT=8wPjI{>JK^?CexXl_kRWxvmZ{Ro$pwQ%BaH)&)(+(z;q=UMxm1J8Pi0+Mf zB?Zo?%<72JZrk4JA-Dd_5o@0EYBfD7H9VOpt&9!s;O^aGA4h9k%diIKsLNNW8+1WU^}Ae7o3A zlw<3J%|+b#E>6W`f(B)GMVion){H31pJLI+h|*|F=G3YW&4>dVsENCQ*!e=qp&b~P zad!yXh-xyWTebycb{YJ{AmqrlbwIn(s*Iz|;M(~$PI_C~1Wm~P5t`r>bUw^gqiNL? zbfyzX(H_K=YliKblly)^~awIF8xM^WKE7eN0~CR_*N7WmY6UpR zS!=O-aR1`&1D3Y&EP*5xVW4B0VQcY^UVYDi|q62tHvWNl76pb=N%^lHEr?OqREDwut($Y*Y zXh$MY;XumYYeels4UHhRdpsOwf`;cyy(DmsgO|b>e3?Z06a`O&ZIHQr`P|EJ zC>oaS3S_y$)_@)X>S>E)d@q>GU(pgm+};W01Nq5=J>F)!7VK_ z;RxnL$^Y;W!*1nrqUf3EOn#X?f)LrGZHjr59v}^=D<;BSK_Ehp<@qAfpw@CnUOUT3 zfDCnzxaZcbgNemMH!5=jw?OU3nx}b0ItJ!P+%z=}`V7!nK^AMwu2$4?XkjZZfCxdL z#$tGQkX$7h58I$7N;b!9SSP*cOBc|nWLIg|Ifz~>*(;Eu{7=|Ft;Rlq=LKHnwjo7y@jQjKHKy?nf#1wwhnyQS~L zbrX(rY^0ynh-NaW0!e;U$AHBO9O@z$dG+B`43QFa=tKb&=5k18L1^(Kb|lRi5iPPYYwzRnE8ef`C<3OX$!HU4GN{MI{8=YO{Y+u50!)aZ$0B$N!~8P`o{y?kXgU^ZIEW_~w5@6$5_ zid;HwCw_pgcB{bOv6G9yI52-E3Bk0|wYdS$h-E3~*4`DwZaLb#Svxm-HZ(UKpmtYE zF)!vLBk;QUpx((IAmD*qeoBhf%+I^d=3wijc^0$rrL{Imf10Ii;m1A~qqEjO{~wT( zJ(rE+hjj})sj7Mds!f8X1d8MrV4?btDB4UN8xV^lZJVXldgk-eAjpj%(5)F;2Ai*q^_&cR-q2 zw^H0|q9yO;_ayx^J4Xf?`&TAx5SG>dfqvn#5Iw|Jov}%C>>TkP8Bf|$jPDJWC;E+P z|G$ap$=1Zg#B@u)qh>rkJvJRqPd7AMszQ4w+7r{sG-Y5UVg5k`zOmjGQ0FNzc34J* z30uRj4}q%aa^c>IPC)QuV|%kjXeX0~G6JIBw)&5`;s;TcK@Uf=E64pUJ?Mb@!I_30 zl3mpTcQCjgR*BJc;5z(Aj!0$w?OY4Y9$`=k0GndenPQ4G;=#;SkTFnV3LpXGnG=G} z>Z7*QLW?gDWY&zM@ zfdOLf0>nX>p?yGZixh8+J$av=sIdFyvmblaF0qAVzDjT8PHpTd$=~@nu>(m*D(EI@Nn`blr^RoH$ zc7md1iov4kw#^h9E~Hgz`>)vq8*Y5ONAl5*2qE>Jvw-%Qal-7*Y%EPD{SeyO@qe_=KbMua^wc2-N+v5`S~z8AzEXY9Z=|FiDY z4~qssU)toq@Q}JNcqRza$+m)V09|TnozIEDGke&YJ9-tsn7810qE1NLNXCV&2I&Ao z#~CE(9%3F;jWQw-u*^^=@-69xe}-<+9;yyRs*>n%?L_ohqv_x#1pO!ZGD%AB0*!h| zE0Il8^XmzMZGi%mLVAb|T7b^22aynX=74EH-fMeGgjT~~s3)|{xnlq-abwbz%ZhRi z)~uwK(vl9d>Lz?=6VNW5xe&H1Tn2e7N#+6*)S)mY9>Kr@@&jy7k{8=SH4p$&EFLKh z&JLHM0wKZEPMAebdn1AkJ7g^8gcha8-4|K%LBEHhWh}<*aAZ%wYkVGK2jwLbfh<{= zytNSw6X1=00r#=xiF2UK&A8EOcgDI&Z+v1hojOOx@*(CMm^eXqs7vc#Jv~xT^2k?M z`!{-Z_O_)f!K|77o&QGe<^>PBv4RTA&UM3)f^V8;dJZKF@h@l+dHZ&mOyMN^8H z(n4&Cg-S^Ge(zj-&Y^I>>HoT1pv!KCU68>wV%mSI5Epr{LmUJ5CJ5l+>jvSU_O}5R zjmk6Hsr)0n6WRZ0l7Gk)N+h>=iceikOdKth0Z$|kJX}~H`2Ji$InS8T6q3D;rx_D= zREg@2Dn0zv{O)@-t8DL}J)eK*g8bBnU{(_4!hboRYev2mHBj&ggiQXm;1d?V-Nk6p zKL>gsZ3J?e?_45V9b_gvJ_x@vgN5{ ze>#`9F_s)5z`!{0y$wjAyR%Gqb{khjgjKNwEvk!2F30K;iG^K?BY4u%wUhL|taT>; zSLOF0_%{kN3Ew0*2Z{3uN^gME!hlcxp3UK3zxTcQ8|w36-I*^v$d)pVy^Q>W$oF=4 z1|NC^%EVk-$bY~prZlbM^X2##C>Nhp99VxFg<345l;%mI$l2W4c08Hew6t%wk!rhd#F8w78WsAnEULJ{9!mA{)XZLAzF)ItK^B; z3;-21dil1ceC#E#0mQkj`KN+C^6upfS2``SMLxz{G;^k*$Y^=5IBX5*oYO104vq3q zmYCB^QXRH&2mVY0K|D#WL;Dny8OtX2X5%js=zumHwOHc z1Q5jv8JeaHw^UF!P~un~2x)McU*_}E!5%%kWUum4u>8J3SRla68~N{h9OSqp?X291 zOOc?B7o!d{==}6~$~CX9$B;e8Uc}+hybU_hyE@f#2EjvJOY00j4ulNqC4)3;Q)B$% zED`h&vvFg=q=A8*HupPk;Ya&OC~k3NQo*Dp!vb}dcOefbKS7xMi!jjtRJKS(|G-7Q zfiuOIM=oN96MN?UbAFD~FgXBt#@C6tdXN*_KZD&Uvn%i?VmjDdG$Jc%A-?3X9IesEb zYf#i8f;*^rEp4P0tJ--E5;lnL_AXu8USgtJedp`z>_w7eh6r6R1^2N4X1#g#d3-sK ze(CbPgJfRuWZY_wpNj8IoEXs44lgj%{emU(GcAFcYJqhb252z`zH&c!-u-#A7q!3| zP?9I01t>Z8^AzLkq`b>mquM3*NtIL>*}D`>OdB%($w>`XLVLBFbeWAN+GBgjPU8!K z?HCz0Dksr&jLH4I%zGSmGb0~%tHJoZEPdQ&&qm+- zJkc#S7GZaek$A3;YrRyNXHA71w3hSG?F5-e81`;y&gW1dkBDYsD-t@h%pPd!xtUOQ z<=?AjFP(QKF?mbzEV@O-1$)H_r`*$*YS4~F@=P13v4%Sm_>Qsw-*d9PlX$aYPGWm9 z1jty)x3Oy>79vPU|5u=(x?mMi^H?fz3y^TK+bla)fpi!#2v(aMHfI_V0vj&bd3f=% z3xc^U(F!w9K-F3nS7s}S=uHwV2?~IoLH^axu^UVV5z=Z!;7!&`rx*saw?1rxjqclZ z(}UFW-=*{Fi!VA_<-3FuVqeb3E(aM}a9a>pJ~HMzFCBa8oOUA83!D-TcGdMYp z0Nt+!CWEG*>?D(=IT|>7a2XD0u*}Nsk>0gpAa$?^em#RAT!{Hy?q-KN$TU0)8W(Y7 zB3S>yF==zX{G6p6Bez2iEM!@#6_CxOXRAV)7LhwS+m$k^B(cj7$1Bzo{N_m^Fl}LT zY}X;;d~C1VEODN&?m2@4(4M~TUg*z(A#>%=H$X|ak-DlP)IjFnjVGjiFq@~0`U4r65uK){0xp%X}nYB`#f2_kSH!m3-#Su9+&wKBog#0}pg zR)L5D@&LuODX5lj7{7B6d1^61Y>`RHq82747nT4Ueby=7g3ilGr5=yQv(&v1u52J& zi?R@~f#NWx40Q<9Vt9qxnwkv7W7Jmt>7-xQt%}K~V+;e8(~;@ZyeV2a<#0T`CNv)u zcbLioNa|rivw6hWj)iDDcvW#l}1 zHvC$!Vv=A6JSCLp2ABVr8LmcjH93lT~MY3bwnGVYw5rRyMtd zLksGHGxlm7=jWB|&pxOJI5auV|2rvMCr^Lc?wfKpYrWbn-mR0(x-o-ED*G45n3esD zw>$d+260iAshS5V_yh~*Hh5CvVN`BxFeK$CXlbY5l(i0+uNt&81Fj#sleY|b`CgTS zjp4e^krfCylrIj*is_?Oxm=i{P_(SbLu3uMI>3-SHzVz_R6z6X;$MDKXxX%PL{|?; zz{VM-49kzpd;orPQksdui5d)#_ac5S2OkVrKb^*JKPbu~xzKUJl!{E7wV--avjg{< zmcP%}B~Z=f=uuOYc46ntQxt)JqB<Blf(t*^Z@WHfYj>?{33^u#l&Fr z>IY@!tU%a+Cn)#%qH`Vb#ww^QiuYO~<5-D|@wFnLml=$Gk|S2b!abKnTdns_9+Lt~ z`JiLvgC27^e1mv_28kI(dd*ity;T0**bUJP%UTT}BZMc=#SNioec+pRsiU1o(^axv zrp&zT1v~7H(ScuzJhKC#jpRoIU?i+5%yaC|XlbH_IWB6%nrIeX7olX=|%iOAf~t21E9+Dx+X11jGJ<7lZe z`*nLc9N~+|Dw#628}is;4;MFJ%iR(qku|~o#r8L|WOM`|nB2ml7x8%d!kFxiIcM>r z0(2;inNxcK^N)|ZA(V^KIu_FaUqnD+McowjC`?NvGxz5KtvH*HLpHhtH&&o=v1GU8UQD4UXkP*q;)Lu6L>?U{qt6Th9{emMNoUu?s;&G zkQo&oS^9~bGgbhQZ#-n#5xb)dmuC;uo)q@&L#fH(JUKb-WV#pK!TTXPqmU5icAj)U zC#C04+O%~5NzQ3eBLN3Xw5`6rQ^1|#@kr1Y+(8L;r!!b%Po@}b{Bvk%IDOeZeeDvc z!nmQ0g~bCUYT@v;x_OLJ#=Ue7@!VhbujqoDlozl`dyPh;$Nyse>G9kBu}}B5(Fhut zHeEqN!c-{2tEF8CK-k$~{$RjSC#ZXV5Ej4}OO;tK@K8}8&O=v#HBcZPt}5b6KtZO1 z#gfIQ0Hj)T4fF4l7k1F$R6mOpVoS@=_UB2@_YuX=@vKKkqR^t3e?lfVfm#2dhgo*u9KUXgC-Qpj!KV5YwCXgA1f8u*#YuzEFEv?a98G z@9Kwci1;3nPVI%;O^gUhoxVevmj;&Fg18?l#TpS(J>o7iM8uPVVN8 zE$0Jx*|*{lpddkr@6ZP5-nFJce_~Qyn2OFHV1z}+$ARqVPkO$v9lX1QKj%M3jx*z& zI@o3dIcqLK8qM;ic(#hJh!4U*5+W3>VPS0?BoWeX#BeqBdkRAILI?rVy)y3ZREZYG}gyy zqJlb-hdFI+uE?64@-)*_2v*4V0yziKi8Q@CyzCo+1MW<<1rX`rWPgk720YNvw%|-6 z0HS%)B6OxX#@^rZjW;b>aLeNB7?=jP?WgQ#_uxPc52lIxdx2C;p{2u4^^WaD)`5_D zh0Ag+lpw?IpyX0anlD+CNjLL%f8vYJ`iAE0!EbHZ#F-)yDq*IM1qI}wY)dwCa6mNr z$;HQrCY-eZMQqX8EKtalcx+Rw6=g6n2~;b)Q_59BJfM18;0|A$$x@U~a+8_4D$HkJ zlsB(a7|Q!sCY5xA7?i3qYh28GiUal6A~a(RSPh=g#MPKhe9TW=mm4k~%BEP6qnsh% zLara-mCYSUOy6|miB6i9S^sQSt1J+gGonYjID0@AU<5N=q^%`T5Y1XVq}AJirGd^{ z7Io-1VHBNP2h%rZ(+B!QC#6o}pJrksSkZIG+tloFMoBh!i)19u0x@4KKzx3S=ktnK z$XeyX2x{SIEvdt|L_ngEjrYd{)P4{x#HA=dLLA73L=R|^ zG930b6#`Q(2r#zi=VHj_3@A*omES^c;d^mN<_D33=!k{P5A9Kq4Wki7ve-JihEu|Ub{!3nv%V`l;fblKF&+AWf}j+X^(BrxhZQ<@|bl*UPe0t5g>9V#w;~wn_bgS zy5;8hL}q9$q37dnFkOzAAG@AWgN6m!`NXxObwdS#sKqz}Vs&gdZPB5E5S%rTffz~4 zYTb&#NxbH8Y9B&iZ;qd^Vl`xvUFXvw$s=uoO2!NM$E>n#u!3Ty==XBfLiKcU{gW9W3wk_ z6Vd+S`*Z~=YdT2ppGl5CElj*oE0N4O>R%S*59`EXe)Pk3hX(cy9)V@o@6{(ug${h( z05_^jHy!~!xe=AATSwUAeGsnOK8%A(b2!BpROJEcbH^_HQM2I8!7Ta(89t2!YaM%x z5+eqBivpa$CD1}`@dqoT40^&Iso~HLJ(23dnK?H|b00w+H5gt030Ccsi49}bwR`=S zy$Cmq39rR&9|Nk;y8P6A4sk@#gnC>A2Wco&J?!2jC}-mmpEu1n zIaL6;FUd-PDOq%da-)QR7kFd2&H}SL8IhcWLz->4H?SnabkkuSZ?^eeCPD--6io|i zT0m}`PqV^8W$Tyn8i6^7vHwM|k4(opbTeF8P}E!2K@8JYTv8EqSV%yGJ0?+JefuHF z{@P%4e?1q56)@IueLHS|KQ}_%+>Vr@n5f4T4$A<^{cYI1^5{iNd1`nZ2x*{C51eOD zgvV?k_R$IwuF8PPfOhgaZ4%OlU(0?_z9@}j>(X^>;cJmY$aBid3f|Fz{xRg*diXpJ z+PLrvVQ!Fbqeyt&GJnt8Grvz^MAQOS#d09z5RC$SKt|>5rXs5YXNSA+SW779zGB$E zL)#CEkq)?8mzQ`P#8yIDEiRrw8g~p3xke{VXinQaVHo89hz>xPE{FU4yO?c#+x;xW_97%3n43Ya7apf8}2O$iPa+4pI#ZvY$M zyyB*zCu0CzZ~|H8KqYfE^#(4{eZdkG1>eYD<4BM$V%K+I0GWi25kE&;{AYVqLosp*DJX|hQdy&L z+Jgbu#m!YjCa~2WxL*lfA;ufph{fbo>(2Y9`T@8H*fifr7xTe?fEl7L7h4)RgrW(_FaUmXhJ{Ck z0H-(z!ek6cVu&EBG=9)@nZ{y-Nj4K+etGV6v5M3L3!S-QyjcueF!IBeDkE~MZ0YQw z%Vh0rsXLHBQIdGKaU4M!lw;YqL%TL08@d~_t`&;eQxWK;acWh_xzs{y^{c@^i5Fbf z_^?sHcU@x)oftWF6VfIZEAc>M!f)xGQ=R~nPtI&N1w>3hw=XpzJuH4xarP>wq*Hp1 zO+;(Qe*h?Nh;wRh`GI2rp{0Io0PSn{FjQ8+e~=YiznCuMtdZ|n;%6d2d0+`t+FkkE ztobYu3iDl?SX19mG2N! zxgH?Mv?3UB3153JqCUcmdSHjLLQcr1F}PD9;edQQ5bW~bXGCWVM3k4(9_$Kw$Z4XK zLNR^BB9x-8Et&RRqx2g3UL`|Xueu09y+SEG<{W8}g6npCxqg&0-En zR&a&z*qsr!6W!vuzktrx$6ObFo!prjKMzSOn{8n2r*aF!C8eDTtu$W#vB%x4f$e%Y zD+;Bca}n<&50S`2#6qie;sypUKZ?8WOW7ixch=uIX_GmQVtZ?C*+Ymqx_kFjSraw8TE;;?vcD{37C} z_+|9L#s0&`Bj{+os4-9)H1;kAiXDK-VvdpcW-~e$A>IoP)~LI2#0J5lVz5T2_CjB! z7BM5-^f?AmTBgQ4t{knu^1VW`bU)3co1!Lb+%>aVsO))M*?j8ii`e)}?^-4ZDohR2{aI=^HMzi}g$l z&7|7Vr70Swee~3w;15=vr{S1rYihA1Ta#le$+nPVE6J9uF1X7}g})KA^MCT||u_R;)}viWUmVJ7!vR=yWI+2k%n8N9WS5`5f9ffm zX99YJKKbt*J>|E~8;;^O1zVxW99Rd5BrZ(NnX(BvmLFZz*y5oXQBx2z3Ao|0lV_5l zSR9iQT_g!WbodD=^!O>I2^wL0nT3oEKe-qTGADhQE^IB$@*wJr`%se7t>OJpJ*q- zPb~!}G#!3IFqC)0(F$z<*MY|BX|54c=sQg#l{l=m&C-DvF&~nKXiUYPmliDIBeBa@ zv4(8?gj%>N){B-wWWsP?*hC$_^u=7Yc`7* zFE)g7v#y2n3;mj(kM0y zU9Z_J1~0CM9kE#ep5h_cC#0`n?`xklvW}(kdN9~ga`-J!{Psi=bSlcJY zE8RZfTIt$8(Fs1OJccUPf!MVN6(1&>c%-+d5F~*!c1Z6ngEldga8Xq7(_|DG-kBAm z#yb3zp^~MQIUy)<-pL@jtH+hZOby!(Q^>jgP8xzc<)Upf z;DV#3O+7Sy#IBrV4n|c?$MM>NyK5a+3wIzp+1Mi73Q5;609izmZo4MwLMKN{x@{-v zLS()81k8m^5`87o z*_VtVn4D$!R8uYs1*mE}^6P&It|w_q8iXF%7koG#JH%r2y~NP9Dpl2DeYC$LN0@2BWQ_!~x&CDKYDwJ?XMo6bneN$+r zNiv0XXlCsBanOv()zEA`hc+~$@sVi8^U(^`h(%#fxh2K?Rbm}@wJF|7mDohlg3VK4 zt)gY-scem+1wu;EGHJ`pvka1lpxRmKS;mMfIkvH(p4He?&$7Nr2PWT|Uu@A?k3?LEi@K+zBR%3x#m)CQxQ z696Q{s1R@k)+E1$z07|!EPE=Kmg8&^b4iYO@V1)68sp^0X3YP)Agg&Ldvf9KA^fYM z_pkEFp;VZ^7!O0`B6{|>WPkbfi~vDMbNPcJqR~;BFc^zv<4Qt~SoXG3BzR(ux5zBlI{;Rav*ys;7h2s<$S&R++0Cy~14Obr{`;Bn&rF zGo^c7-B_YmA&o1z8Arv8t*ki$eQlUvLyXXg3pPrL3t*vXi~_`cCTcW*;aV(1k zOg=ar%}_bT=~DIzgA_dqkMGrZJYFl&;fCOcB;&PJ#I;_{nnj0FmkMm81};k)w>9Yv zS~7I=kPa$3Okb*nC(YroikE&N(P16Ca867|hjpA40heS=uzRzC!BDy9nxe9Sp&6Tr ziQftn7Uy#DA8L4*4y&GF1S>5=bJp5`-9v|KvS?fE-jz35l;fV-VKj~dkQv%kkP1u+ zK*tgtjwG7d3(o2I7fGQf89t8{tIM?m(u9y%{OZ_)@vKxfELV{4&$$WJ3yhdB_i}g|G{F`Fmt@0TF`rtTi{fV*$)Chw z6AF=AVgg4a6gJbxs%V>@(+RvyIn_jEsEa57uZ4+PwgD7ppEF;$c;q-=z_L9|VknDt zgV^tB44+tYpfOAMuQYtY6B8>WM;>4L3zst!c6?8~(rGIphGD#RJ7w}fjv|wg^_8XI z87GM)`-={8N=T^hhD_x?EKJ)7AOVO-h9a#7&%7dw^Vv}$9w|7?2)bJV?5<+`49ypE zO$-;JQ7u!%6tqbpVv^k$y^`iI{S<$U1}geiw4=eGtuS^+pK2b+uoi1V_pzaX%vDM9 ziXLafsEKsnj25a6O(k&sGFbtPh7p=o0{a@vy1vzDLa73jG@nDp-~bo7NKJ93t6Mj*BlL#*NfUrqWq3ti--e~k?8xPkOv z>p-LR0OJEq$qD}+iZ&K>DkuEgkOW%6G)b3(PDP=1kp>77Hpag z*saM4-lpX8*f{1yqsS1yPI|m7NS-Ix+TAyq>w>;HX_)UP_{b^ukulluIl7N3xCo-X zPw9Gt^oJxjsg{FS=%Yf-w0$V~ZyX#u*igvl89d%yLUW5du)%`hu&hSWLKa@7$dmfL z1B0ed&82%{4;0@?CVq9+yh`x}vbjEw#O8{K;ar4D4cf&o%3YJye?50zUQ4pP6eTE6 zOSNCmwMHZVBs&5L2q6<7Qhe1=H&+k+a@88OYN~>qRcrc2T@&qp>p}oF3EcihJ{mXr z$4uc6#Rg-XEL>zo$an2KAL@-F$oaHx7f-{Njwr3QHFp@TjRp_9lZkqDm4pxGkVXDT z6&2~1X=g3_^W1sT?BH;b>Xwk+#>1b>$)SooZ5(0$we`5E$D-@}=%YGi zof|E+6;Tnz2p9HUuSX0%bh5|W==cM&UBnw}7X{sn&N0yh3| zX5%UGrCN@YM`)fOT*1vYt_=jMu=G&zy%UZUUXRkqWfh8IdIU8BlYw&i zf^dy1PBOP^xbBKqC0=ET-4LCHNA~-Rf+=|kV`1V-kJfZp6sYXF8~5c3zDlsOVAkStAS<0%TRolPTmCGpk}DHyP7bIPYxP4!SYsVX89xt zsJ+?%0o8Em8jff<`A7&Ij}GQ!1c(;Iw4Mh%A(8HX!Qml#cnw2#t0q`O+aM{b5f9ZU z7D{EVDVMFRL7gK2y>&#i#I#2?6CnJt-)Q=mrAdq>BAI_p{ z^z8Y*lps|r%TNP7|+JMVFWB#D=1`bT9Ka?AkQMrC-U>* zo1csac@}9Rdaa2RuQA4CadK)hY95-f-2SLi%^E9%Vq(85F%H7ChO{5%5PhSho_)vk zqVfT_%N|I;;O$$Hc}x11kxLHBfLl zf%|G2uj7(fYq0=u!SO7%lbXPy-Vv0Fal9Y;&V09RxOuSS5`E2+=#Jj{AAR-iZgq^h)vJ6)Nw6A!wLUOePgF0(1XTq zi-bs|=%Id6fFw9FNEau?w!R;77WuoCZu`{RUj7x(UZmenjy83-Fp>ey+!7t&OZj|- z)_8g|EDNH@RZP+1MYP0w#_j8#K{eoktAAAWbsDwFQ6a1QNa*XH3D?&plTKCl!LY2m z>gsYiu)u(_JfdJdxsjtbWs1cBr#@ZiZ#A4-pxRG~kB0+; z@6F+U3>FC#oW{dzPVO(qx)LrehCs7wNC_kf=4C4q!$=!tz1rH%s-&CwwB9xj4nQ%rwN*c{HD+7jNTdyc;|^8k;V@PVs(H?d*rXQJBA6r$WZEOm8N#bFMzQnBA03 z(AJUtWD?;ESy3mlN!6I(RIG23T(+tPq^v=zQMi|FT~v@UU7o|^8LL(HM}m=T%R$=e zW_l}uQGIsV06ji?bjhopSg%c#@d5t*4B&`L+XxyN*H2SjOGIP)2Z?I&;~EW{a$FW> zQVFfy#0oNMJ!|j@MriE(FK~NV5~3v3n4DlBa=7^YhWal!AP`?QAa?0_ClB7u5p>|Pt#;_AYo%0 zwU+!diVTIi{G8x>$v#~zeWImjWW|gwI-IpkK7rmO6wn}B`Ku3+$*~}lc1;E2%#m76 zI%-M+-O4HBmZT9$dre7%07KJXU`~8oI_TLR*WJMU+@a3-%m5A}u-WZq+J>qKJ%Sd$ zm=U~F(iyESBAr?r_Cr@218ea%KqrBzp|y>#VdeSGdh;liFpxfXo*z(mEgeLf@)d`< znr;|}736bnVDbYTcdsj~I@Dm_ud9O;WBVQ3lD;)u9riVKvT+zoO{f}|v_`0)WtKiK z$RDwAZkSvCb>akN5z!-4S(D`N!YDo%`E!XdcGir1)5FqKF^84TfdU!7;LtHzyznNV z7A-c8`Z2GpT)1BgS=J%F^iP2Su`3x@CB=b{SW$61vqv|nhO~I%XSJpgd*sB=`i9c0 zQPT47cPp+F=myD70jS`{{FRU3m{>M^a#4i{ttOF`-~_0L4j*yAQ3kB!5LO<$u!uB7 zF*1!!9yqzdAP^(Hk_s_;sqDwmNro2vET--EJH+EWalQZFT?r|s{`XT&3wZrr+uaP6 zq5-$^X*ecI%a%+3|EJk6{u%ZJnqSvH;7tSAf8B}dFC6&mcVJXlZ2w&5b6BrW{7^Qx( zTE#&8&!hl;#Xinj6nsIkUQny6Mo5DT%TPGPWd0i;X#znQ99sqton(0_=s`;hrc)r> zz+qNa9u?mO*Fg+P5FG8&H$;CMH}69DuFN&E_ zNYl+7vX7CJ54A>^e{ewd-E5MAjcg8%F5W6B0li&>nj~k)E=nxAm6ziZTV#fCavKSO z4;uMb1s2hbG_sM>5MSt-K3qfOEI{NS!wL;CU@vkYG16{ z@`U9uIIR1J;H6kOEW7dq3=&d;Tp%Gq>{=c3!#F1z`~*L^cLsp+1sYM40oGuqA$cJK zz|wQEa6&3pLi9X)X$k@CoNH_t0usicRWfwu$w4(^?=WPQ=*Tz%gW!exD(e&2^sFNi zQ;feGbH#3BqU;X+niCo06H=!S7h6(nh(i2ee@ZNwxQa;yKgk~l9sVA2G(;2(`8qV9 zvJIIvBdQf+>k5u2OnOIgRXAMLsFBdF<3EUEFo2g~N-d^NRs6WlLIE)K(r-vd(Ws;&Bbbf2z) z4g0$R&b4JMRU#5&|6m+NPH@PG4MA{N@FO%@kE&is0IMq(9snK=sH=~?BRHT-J;Ftd zL&4&OW*2g|clhZAi#PZM=tyvg%Ac#jerFgi8e3Ue;C@0{DHg2rJWMsBssP_vxB?jv zimpd%{MAT2VmyW^$hY`)ne$}ID;^-th}HU%w=)~`Vz61yb{{>#L5*MgTA)*Mb~z`E z)0e!cXmS;$7hKG5_*!5lRRK84Z$Nlynt;mg}t= zqHa5SLdO`il^ovMAUfXC(sBEV+0!kDPRz%ka~kfKK%oI)3}#Q;QgYma^RQY0HCoJQ zBjZiDNdFLIrD3Feexy5re4mN%A;rXj%aAt1w{>ynKg*bWxsZ1F}7Ct571W_S^ zPbO*D4}e}#Fog)WDVP4nxd|InpHx>upGnmwsDl4DrdS=l-4$F-0A(IsmvnGTrf+Tr zNmrFlHC5xtIN>mE_zj8T=1Ywh7|jPQk<9ALC-apf%92XJ(T%g3fJyxXOTmZpPCDaO z$Sv1j0sQ=n3Db=V_*YBgu>mOF`|xD`*&v+_%9(}f97AGW8UY1A5WWO`?E~S9h(*Fz zt0Cm8H)i!+wCD3H*HtY?zIT zSdszf7YU8{mUjvL;9@5-K-ep|K>3R6**1Emz~~KXowM<)nT=nayYZ{<-1yb`8^7AI z@vEn9{OV~Nzk2${uP)g5)rA|sdOLF4MnL51`3>LccAJgr-LuKN4{Y-8-c8;iac$V& z-)!>kQ=7c|+fCj*w8=Y6R~wGykxkw`y2-njD^_U(Waj?w4d4CBChuOg$-CEV^6ob` zdH36!ynDkY@BYIk?{3-T-L0Fvd-Epm-m=NN|FX%u|GLRL{01AY!yTKvd)FrK@KMy- z6y+sm1)3-lsLT)&okSs_vG4-X*s{1D50%F0i^CC_%g&JHyY~!8q>nhKv<*hheGVt6 zFCk76N2Cg5QSz%Hv9yj0HO~*+7qh6rO>dg*htTd&LVtRLqU90UEx92{Je~o=OsJ;8DApgTPT9yAK}7tm z0_)@;Pd*fq!jbtRE^EFN(&19H0daAR%q0GU|JgkYJ2h7Y;c{luBB%4rJLO@RJE9Be zhMR#<#l)$9AiZw}fu+GoYlRKc4i^yR86hQ&dHQ8wI!vjxZLmNFCGt4A7+c=%vBaF^Sr`=+03)Nh66uB@KK(gY@={P1)uU&*L^&DJQ&w2lbwm;{t4fMe z33C4Fk-IcQ4I;sFZ>fO5FAj|9gT!yv1+$BnZ_Vx5j;Zeswu9Myeo4-8k#VS0Xl~C0 z5DLP^;N)boU!8L@*{{xdnM{%zoh4iO%iFlwwdJhF$*<-W5>{Hj4xtka21nI~H zxT14t(cjBiv>Mt>6pO%US`)409E|ApRafy2bC^dL@uYnHLN2Vjp~ z&u+hYv|}ougv+}Fl+$|}Xc;-tR=|*e?mmBX>_w^POA^scrl1psexRMg@DpZF`pEC2 zRrSOF&!=5l1)&ZJ6|DDxD3m4=kR&*LZ{#Yyxq=4d#zUi_J347*&cWi`K??zwW*gJ{}I`3Q};`5HV*e}8tnVwIq4!|&3+#+ku&!aQ$~K4Q(w zSIm{lP<}67G)kn6eyKYQt4hi$VI|l&W*#9Q>8!M6f%iYmN*7=R;7)pC)*T)IlIbn8 z=^xt9IDO;nc1Q3j@+NyWG>x3hR-y%K#(0;|Q$&KC3Rb{bKTInNrIi(93Z=h%HFf|l zTrwqGYig3ZSV|uR;|nFJQc^{@+&^KKND=;(Mg=9s{BkuwkUA}y=IafchUk{}_6ab|8?WV4Sxcl(()2u^V)ll94WQte>L;sMryUSxvf~CPmc> z6l@r;v9r`eMue-y{Hra~Hyrk62l%8`yF}}1wTm@|wwdO?#xjwxnOz&mVcP6rdU7@o zUuu+|S*L$A>uw}UzQ<$_-T8wZ2QJ3UWW+)mqFBba;1WcEq>yOR-;Kq5#2>89y5V3B zGHM;9kHV1oLweYkCQnrdwA^!SGKI`iSD<%<7mDi%W%6ua6#ujeoa>5)P+wnOG}I_` zWW-sAGA*&RiX=AYm9I^u@19Hkp9W%~Sy!M}@^D6u{YIiBKqme7v)U^>hHg9{2~h)b zRLP;MgPxX|(Z)-uBRCYQz4qHJwxz8Q;6Ci|)C2LG1tP4aM zoVqgcs@`LMzhX9_Tnvi)Cn6;f57TMGK2;b-5HTAY$vxYLHiZI2t4+g5?;#T1b_5gv zxD&yy^DMd-s~VF(Qa5+8m=K3ouSE_-kg3L8>l@qveYje!R#%CAIii zx7s%VMg?Jl zfMlxcBreG<8}QIS_B`~DNAu7>nN6;-rtL7?X!bdRKaO~0EK>wUHdZ#{iCAfX86}cv zwH!5=Fq@6&h+7VbHec+B<>NI2kKceC8McXix+ZEgZOM2!QMAZIu#s-quIJeXybW_%?Lu9v6=dg(MG8TP{YEteJeG04Y^?P4QDcSI$PC-R4>t` z8f&grFIvz)_ObW}UsTjsbRDzZnmC#zZ7zf2)oIoS%~eDAIGoziEE5@6nR=6SuGO^? z$WY3k!e~DpN<|;Fi1}Z4Z3OsLIqjuhMm309F#I_GgyNw%-J21PpI+#w*>DlTL8jM2 z-_@A^26<(OdRDV_A_QyOtVD?FtpODoNyJb*ydaYH-HQwQUQ8TWt}H8km4!guAo8L5 zT6-U@5izQMO~hb*N)e-a<>qH1M(jzHi5T(Oix{z_$sxQm&Unmm##y65p1f)C;LKBF zK{Dcbs^?GQtoJAtn70;Z|K>@YwLSR{jI$%~aZdPnwD}KALu(XFd}>H5sO`&t!c_H> zPh#jl28RCqlib|-+Bc$%pQ_>A3F0yc97wMu&&r140D6rXv7cn>rC?Ur4c0UD5d`vF zVyly3l=GFu4TEl!t|?KST#r+3V*x4rVrOtW{GT3M8Q_lS}_Ggrat zFOPB++%@DXsF&H;Rq*GPxqFTA-qu>apv+5eqSPN&CWeU&K{K$*M+3G6o`4e3X$-wD{gv6$d@_t#s61;mxSjOxN3em@K=%gs ztVr_K3VM~ZATFH+rm|Gd0;c6#t~>=;mMZ^W;VIyrVgc4U3!IB($XQ_R%2^;25?6y7 zK$W7A`w0ME&0`?f3)$=yyj}Ac#K~)iOwp!(y0I08{?BQ@mvGEKBZJo(icu-UK;2n< z1b&L`3S3GAn{Cx%&32XlEgJd8c4M<`ms)*cwW~VJKP&BXbGva}q1T|&kD4M^eKndP zv+}o-t=JT~w>)AdPH)!zkePKw7Fg}{!=5aF*Y-fl9bsF};u54E5e+Dew;!4bIkSdL8Dfn|S(d+R$O6Il`ombFUDDYv7}bm6~7 zxVX>UVwG@VKEw(QcMA=TkKG*-ePKudayhdDd4#Ye*VERx=eRaxgQgQ@$L3?MbT>fX zGz9P5kX81*+mk;~;6ND@5iMwyb`K)%eG}f82bBl~Wl*ujpL<5Mlie*tHM8W6Ib}1n zK$+JS?{9XU2hI5>(&d}!xZ>%E;#i}6@eu2cYsf^BPc%T%*ep89dn>-s!Zo4b6NqP= z>Zr1dV1Zp|^f0Fz<^~KS{lg|%!+6w4-`HgM2+HY4S%>tY&_Yr8`KD%H5?Gx6E;}E# zF=(f+j0Zt_tK0?c^rU$W(m!e@L`KlC4^>D%=1Nl+8ZA~J*EzRYTo6n$ux36VCQAbzzSJth%w8Z z=_h8{#9)N}q;|~jtO%0^ zm%3ba1QS?wimBH}xT32NH(a~J_3uH-wel9}tPm2$I05==X4d|b88xjQ^z z0q<#`)X4U#wFEPbUt6qmfQX-VSq_le$B6~WYojPU6m!IMG!!W+8%&atv)wb zk#mM~QRJinUom+Cp!xLF_Gd9CsNdcz|VzsC*Pq3q82N_saG@0gLwQu zo!YX=+n(MUt-m)^ILUV339Y{^#5y1UXj>JO`%I`Ho%E*A$>px#M1Q7_n*7{=Y{sU#+$eRN(h+>*~tBZfiAxM z_{z!y7GMZwTx`M>WQ#Dy9ZEV!IXb+1yW8IMmRd4QAiXP?#wXucNPif0aKbRI*ndeQ zSPYUIBw!Kx7)2nog4uu!q=5~6B@rZ~Q8R+bPp%OV9*61M>CgWbKef%jlRarkc96N@ z)F7x7eBp~+gbM&n0c>o*soUyy!kw!)bANKiy0Z8+6| zHl5AXHB0cI(|;+UI8aH=JNTg4^YxK_VfKPxCoO2xR-tCrqROWV8MT13pLPg~==@ef zj2P0}Zn7ao`Dy!7jp$BstC|6B9S&PR{-BWyUxh%4n-JiqF*3MI*MsBk8aV#q=8eGd z=l{6ikXdXEIBuRZaJ=QH2gjZEr2@xYPY4`F!G(}H`lRx%C+7g5^p0r2{fn=(t_m+~ z`bvaBE%&8-a9!h-j!WO|xb(ZiAgYX5`Q1r=?-!=h#t6a{El__rB9GFyd}(y)b!Fe1 z3b{UHyw6Oef}OAs(0NIYjS^ej)rK|`XZ zTFBaBWyp*c@8pLTYiLN+S*$_1NMm{z#`>{nd?Cb{X)(nsnFpl^?zRCeRUyk+dTdTc zHeKPUFrzHm8O#!A2jpnYeRqdk$uOtsxs$zaO+u~7S1WZ~T7Xl^SPCtSW!#et+t9LT zKD(j65|)S=WQ`az<20j;=~=ri*n5lk3(pN?27@TyqA<8={UKo515rs_c$R+A!7Pdh zdAC03UF)_D@@*-jF9_zO5M$t&Mo>|0-DZHmE0AE8n9gD#qN*i0IH^*^{!7*Xn?&9O z69<714@^P!UF4xCJlMUeSog>YQ<`%;&p}Z>X`KHnc+yDa&@M1yp1h(uAvFmlTj;A65C8qtckXHz_$lm;a`L$zN5 zVHXdnZ9TqeMjb}UO5{%V`2FlmdJaWQW0DHU*0Q14NM<1R@u1C-61 z+~F(`nzVkJ209BA88sCkIoeR#Hx(MGB=(#yDl`)W;ediB$Awlhi-92ZzIekn5eTmk z{?LOaq&P`^2bGFp>3(DiNcl(LHsZ|YEOc1YSv?+k73!`!fqdQE6C;psoJ$^yzC8)# z&Hyvq^b;qL?EHT)0_n!`xCGLzEE`)39c zo{%mNae@pM6mTMz-;%%%Uy;R;vGVY+I-IiaEQ zb~p=gl&3do61^Fy*af1pt~8S`MJ}-Im@a|R6E}V?N&?pT3UjtQqRbYr?_+-3cWiF_ zVO|(qxKD(OiTHLne9m524e8f4SswDQeFf7^e}9I{2mMT243=?Rhp>`TC7?u-{ST3X_K2_v|7 z1{oUvmaeg~7fJ**5w#?y0ZXPV_%%%96>D(U(CIL+fuk)Ef*A>-+%5tTNg_oBa!k8X zww4(f4|S>x_8J(xHEshrXV1KPYm*#|@B_T_Ug zlY$__18XnT=GP_aUt$mP)>~e!aA$`L6yZ?h?Xk=lxn)V?C#P!OuA%2Ya0SSz*oOS{ zJ11lp1KLr6a#7xTQQlhKr~Skn=|7}jE{s7eSq6-8zWrrO*XC`tfl?VR^Q5)!T5Ui# zHuh(bM>eosL8KCNd69KVFYAk1QXIMg+b9~kqD5GFvQBS|(Nv@hiWNO(C#LgY(F`@NXSxrx2(X@r>1s}X{xF%5~R`4IwSKf?LInT$f93gwdH1!t$p-^u?Sx(4La790&u;P5!$G$;t1uWqm)Odg3}eo?Z%qMJtx(E>2| zYrt-fI&^PvkC!%m#-fA9POeBfq$By*)zSUc6H)9)ijK-iKqtch-`Fl9zS>1JZwukPVgMD@KPbae5cH|u3 zH3*)*XO66W9k!S5*^6{%!Y2bA-yW0T(iJx^&!;_@ROi!%7m8b6i-iKG$k?3T#T`{$ zcvNJdgEO+0YF~`7YVk9WBswSa3W<-(b27tiD+K`@85Se_uj>BoS=DXmf^#jWjxE?t zYuX1@E1#tm5Oz{ehA{zH6qsH=r1ubfIh$m-BdS;hcvS%lyqrBz%WgK? zWhtYpM)NrvO=-y-281@9Zv#OhL3$wN64>N`+iSrrvNlXQk3dgQYBkKp4S0rDS%S3C zhlqLMA%uikxPw%LV!(Fum$iZQKm?|jzM?6nK1JItyd5Pj7#OCUGypKB3izE<7Rk<$ zq7W2Kk4deZ6z|Wb^jCsr2vpoSWfW-VN}8r|F1ZUk+I~NbY2;&TN3L;~18>l}aUwIp zgjv_YK@d}OU068Nl|2Mz=y-xh3A;`ToK5eZ0~1$52}W`0HxNw2^e)*81vth>6T>3~ zHAf9k1l_gD=4Plr18p}tJqTouO8?9De#oeB%SGv1F~MH}`_=PzZ5N_)=r|`|Brs~E zGwI#)@ZyJDwiNE!`pRVf`L3LBPzU5uUnjwJ8%iYg(bX?szYA&=Q8}P3oi8p%`vlH z;p0U$ftY-;C0Rqn?U=31vT`wlPy(*?xF*yx&4~?Du6pI?w7I{#is;(&%NgPR@7BHtklILB)-hp&TwvsNk%ym~B zD-7iGRMdh0y2*P&7kuc54tvH(Q$0@!!r{h_UHWq7;1Y28mn0a~k_c4EJbY2mtqDo4 zYJ8b-QD-A@lEo?fz>c_;biRCUlGv9kwYUqcy7I_RdZHkW23-YS_`Q8W0aiBXWn=ic zqyg>X8Q-^MJ@dayo0Y4a8d>6)2lH$dcqq>UM5K=lM629J*LL`bi9qWt0ZuBt>J#$D z2h7LRz%ib0UxK$0p7`blnZ5^O`7C*={21|s$Wsl&0z50!I2NC5oaUcv+m@fn_Ty zN*T7&FL7wB1FLjLuxGs4Ynbw$H8l_S7GEKI+i61p%Y9>jrW#p_-s=^g=5DELD@Lt# zLK1*0Xz>zl-UhtcZrbwoW(OZBd9o&(EDfNi{L)z*0P(+ z%TeZHds2+=!Y@J1C&l=0J>~eyFy(lBG5&|c{~r*J&xcW520hp0s*-r<3(_1nDD0Aa zC|PYFvch*K<{%7t(t*|njWCgLSo(VByh6F^1ZG3&t92IA7g9B}ac`KL=_xXGnX zWDc2nx-p4)lDa%eUH<1$m#_UVNnM__H~4d^PihVSGwcnI3~##sRqPG-uI1?mWpDTv zD-FX|iNa(%+A1NFty2{i#l;s<6b|5#@>)V0TdHXZ?c{gb5vM>8Y-+!BRw8*3A24gt z$L#M%aiZK`^C(90C{_kAZBw~$N4Ot6?0i6h6f5&6;wT#7QIraHK_FM=JF&61VxV5i zh?_VVt2lxzcDApYgE7JejfYPTMtxPBoj%qLeu&0YZ!sF1gYoQVT-2!MN}Q;sTl1@p zaxku&MLBg`4?*6R?T*aPAs^;w+!=g~?>mE!>PcnVlT*MsA+>_(M{5qpbv+Q-P`Q@! z5e~=U8im8r;*!d!AJDG|by)9k+!YXof@+P?P2opFjz@)=S&Zul$K&70e?u*hq>)}U zDnf=0X-gxwWBXZWt4yq2*h&Xk?{>7w%k#3XlAX{W<#r4~E_X58TDPOZ{XCf1t!oOI z?=5*K!e@e?-^cjr3JCU8-H%9&nq3Sr(k)%>G`uP$?&SYNVO6-L@-zQwl8%3510imx z&L?EJ96pG;)?Zt}B>y^VRri#yD=H`2khjwNH%m|W`WnRc4b^x&|E9uG-MLt2aV`Cu z5X2JfMG*t{nYauU>EY_^m99=1SVS!p_N(K?=3jD=L~h9k3e=G;C&{12An}XKyH3D0 zxH3pG0;J_ykFu_L?G&-(U70|YY9Io*i$6_vCRZ1uQ?0X+?Z^>YwIeT}4XkS>DVj9z zXhIQA!1d%Ey>VNXEHl*eaDwvKJ0{(=9LCO){NUbv26t&lAd8%ta(N9B1zRyebB2B_ z*lS0fag1@SnwxsKH@KL)b3g+eoQqKP)8-V#Xw}TAg&9ppq|K7Xu3rhS6`& zEs73Unjp8s{Dz_RnwPabWao3c(Z!_7?nV?xkpB5h*5ayE{pq9+&%jY!Mx4?JsDSvw z%|IZ6e3$rPaY3?9fXYXps(8kYIkamo3B?8Zw;4BQl)i)5^X>gl^6e-2cI@SwZ&$wk z_jSI#@VI>YpP#LRvSK%$>sJhJUAWM$uLl<% z^TCBTE2>R;fJC=5rU`t({(ipD2PEbYVR-h^aV4dQ(Nr?>Gorf@_~<5swv+o!d`$`m z`T!?=O&^$v7oxTLz|9tLNMu(%;BZ)KRb*PB575WAi#~AoI(>k-)WxWEvnWyC^a1h% z1o@292kzFQ>jO5ZQf3?;)7k0+(nEXz;;z7D z3nVd>=>u6U5Yg!ax~dStpR>V1O<{V};@k9sC2XYQg2k|C9xW95KmcDR9+qS7aA`sy zq#%&sr~+RdJPc$gF7fdQO&#IBQ9^Tb)EE9a1wlY@-;P^c;z$LdDC87`w?& zK^cxY6nn{%`g!T2-zxaiKt+R zwu+fn(O^Oh3Sx^WpePNr3fj>YQCmfA6}3@>R#97JJuGp&K$>D+yVa`Q=A-svLWI*HQ79sT7h~ zoGs+3HfEVoW;D~g`HNBh(^p`M>ctm$SnPQ-*&b5LMW|Xjl!q^ka_8gmU&$RMe z$h=2$O=wGx`E>U7O;{0>h+n+sv3wmtP7eP#9Cz0euOoMuWPJ^R?&(qeH9DfWCGO

zy#qxH;U)+74@;8^;W()CsP(!p7EtN3Sj97Eho{k}XXR*->)#*QW~ z*Nq*&s@aty4Vp{c*s*996(3)mU5ODuhAC`M{0!NZJxuX6SLdSknyyaK10TXtG~w}& znEa*WR*JYc@W=oqN;If!B1}qP_e7|KV@nb3*j)#Q=T;tCZEoe;l^9mIIjd6=8*WbI zAc@7`M=8rx@|$EmGlG{GlJ7zbDV6BBra)Jl_`- z>pW-&k6AJ%M^!1YlV2gRQ->66kA@|7^2Pj!zj$0K#{m(FaS5cO(o z{fX^YpnOv}EWB8c<1re)l>ECVb|2JC#^@hu|Am`5ekrM2zx3VrgzC5Vmwkxa6RMx7ev7lX{za&M^<1YTbvyr|VCO$9 z6Y`yykb{|@zwR}I@x((1AjWQbSPs{$j$33=Q`m8SaYruj(|1iI$_3N zL$1?n-H5+T<`VHx_)1ExDi3D=WonS?)TptN*?;Z1PLH(8z?+ck6g&WI+~b(*q@0~9 zM@cz57}FCe;Ez+T(*n5P4Xy)Ac6!8I2Pv+D!lLg9PYmn7la!PnjLaaAACg-G%3r2D zdHU3^U)s|>HsR&-o}3kW`p^@sung4ooaM(m?e_^*DEX>>-mr)HD{vHsK5*V}kv?Rs zaLwsMzn-kHo`ti}svYrtBuJ`9C8;8nnxyJkI1d=pKU_$v;;qL?Qr+j0>Z-GFOj12+ zk}Ax9b&@K5{HjQ*`xZ&6%w-LdYCQ{QpB80X@_(G>Ky7h&V>K6sQR0E{$-;XdL1q3P< zplaG;1glq{+)9#5NE$d*Oe4|7uH25S!&?qSL4tesQ%-N`7WX?NZUjC*zwF=SLandI z*(F;zL6&qy5@67fDe(-+2hZ4C$IS#2&vCnMw)0D$)gBAXl_DIj9JNYRs; zeR{1;dIuJ~h3q_?^3$^WGVES*CYN(%hJqUH{Ga@{bpQw^PwsUlWVV8 zah(v-7lu&3`l3C{!TnmBp6+UVsOT#8KDMIQbCs5wU5L+{p*T0Av)K1V`HvXDj4q%^ z&nitIe#a(J*I0hE2H+NJ?YT!XWy&xBc6D@7sqU;K`zRdaouq$8d)g^`xcnl?dv;FD zRGRDnjdaIEvV%uEQ#i?gTQ^a}k@BV(K07_u9Yx7=1QT5|0XVitao#(hq1#{Fiz(nl z>0P67CmaN%fX&hD!I*GN-A{K1SI}n{Z&5e?PZy36r(1Fw9rr^Mwv5$LKNaVI6Dj+N z857dUc(@f%W*Uxm;SEndf&RGGVXT@$)&A?dv_Do}e^s79Z+DnEig8_(LNNWBDO&L; z%duXkTv59ciy+Ma4)x{`;i-a1v(x-kl#4ZYH-1VK*RpzZAO115q~#e`j$3W2gqddV z+)`|_T8eqcz+BCM6OVK~V41f*xFQMda_5NxUfBj*N21GTLBep2k^@#3va)2fRQ0*2 zp-`(kCajzwEdEQQfLEJvEc^+56uvE5pGmC`In&_OUUuC4xjTV3(`D!)soiQe2E{H= zEJKs4kGl9x6ecvUYv4rYy1jL3UYDtm;w_|@8w8Qd2A!1L16pOoR|N9u(6zpy8XI~HO7^6%zU9U#n>LM{SG zIez9)0IyMyW?q)G89`ONX$Wmr1EW^;xD)3iD-h>ZaU|%(z{CZ>Utf;2s?}aR>0kfV z-aQtN1^I&;Fzu2!$sc#JHRLW6o|7c(tG#Or=PPKHuhh=GA~tD+%X-Gxw1|QowkO>8 z_gmZe1#{?m$^0b4V>hw&b|Rp#d%fVPLrR>g5~-vdyLt0}<@YYep>Ej}*=x6ODW{E~ zPk&-M2^1qgiR+7bU?df-X{Mw%B^llP#&WtDv8>{w>f~?e(!~{+V6;JP;N+;6=@(7H zi9`+wDw`Ncgdgk`)1@GkRpl4=C0TUI?(FuZ5xhj2(7rM~4BjZCbF` zBOK~sZWPkYvT!>#=Wj|(l&qnfPX9eihJ6k!wKLPRfm7mg#k&}5$Z5>e(spJ zRw{9J5uf$%_3L%XEmsTM1c_~+l*HPN)#48(JHc?XH;{g!AHc-!!W@Bx2Eo@4S}+Yj z^U)y;rBE!!{)R1-u**bMhRhkY<3jQQF(3p!L}Y_^Lk{M3XR#bi>5CKHJ$-Q^MjGYU z-4i_{(o(vBNG-(NxppBhCo0slD@4H+WJmM7TUH@iWfT)E1jYIx0*M_B(Uy+quO&?UC%T5a-zn`{>JLxH^^VU^PQ(*S3iay{ z>cQ7S0(XK~{OoZ-9wJOZ4DIs{5f0aVh)l^YnwNj>xnP%lEI0*_GOBV&GKK3RX3Jrf*^OL@V)kGhm_fXMz z$pM&Xe0r-_4%nfx&86{1msl*9?$spZ(X~p*08u9d22pfBrXTjY=+Dl+Y_>?q$P2av z7ii)^LVnmKWP`gm;A`O$GV24~Wt9Q2NywweBq1}5YFOBjioHWu%78Ac2ZDdaLQF)4 zwhW5M;}A6o-BHfi`H3~a+o^jul9Ee2 zSS%%vNwA%8DS5$S{YICNl9|(hn5?=@G1(e&G5Ju;$y=Du54n|Qz(Q^sz>fKRBU*}` zHFoKizHii>x<^*)Ds_SL(hD#;S+}$J>>z=Xo;Ej(%h!HzICMcfAB|F~+c&vlS0JwoXOv;$ja3@UapWeq0qLd#k|UMn+%lpYKY@yTd6R_SjsW{ zvky4)C41`@4MuOm;orYAydb3?oYwg;i)+Y0Pa}4R@Hv$)&d(%IH}JJQa)vYFFx#iR zGL?bnqcQ!NL+Hx7L1wp5YPa*GWjsQEW$cBY!6!rwdNZF8FH6Itqv`<8Um*&o29CE^ z=xr!;G>zo|NXs1@Ll<&Z3!Ej=dx1yRh$ z%YUI&qp@pBx5?lFGXrg2ah7D2E{tNPlUkxxxiAcnt94;`^SCh7yi3|a@DF4wNcV;8 zdQ2`1gG)Tri}80lm(maJzQG5`1kh>~qHg6X>XS1ExrX#TFD203oSw4h%X80q!||OHy*ThzT3d0BuyNQ(<{R%ilKlpX8x9s)QVUqd)pN)wEyEU}C4ODUDrwfmd2mh|Yk4hz_K<&zl$wcKN^B7NUc(XZ)(&^hW|TC(PvLx^tl=y zonPHD(Py!_9|HgMYR&z~M`MM2^oWFJ)?$&l-{qrYH}|`I z#IPQdxgP=PIGOuRMp~o29~mjw`}bIa)LQKQgF;fx-v8ZT??2$y(E)q^9@ED8xya(r zyX8&(mNB&!lfU{3Hvfe!12%srVG=7v&1CuCGtxBu2NnH*8%38e{eL!07Nf^#aRC$Y zEeK+9{?Mb3KH9=Nu0OI{XWW95{eUne56d!}a<+E{Z*RYq-8R!7$!?$N5sQ=Ep98NWDEU>a9DM*iYrCXJXpOX8gU!02TnfUE>&YMW(* z;VU-oj1VQ8ay-eOw8CW-9cgmcY*sWsKvcLv_O31YQ$!xbA^TXmFniI!1O_J+QN{^H z`r`ys0SxR^kH+War|OYgvU}rzj+&^x))!$9ID5;6`EaC^mEX zAGReYuRnoVPHR#@%~nq24D%fCy7z36ha0ZPNzV(Z<0t%GTTl-&wK`;Wcw?rXQC zFN>R<3NJg7aT?hKop|85aR?>53`1KKf@owJM;v>~*^PZg~jLIY87)J{`4rs!D5LwDO&J!BG7rbTX zV(8c2g(IL1zH7@|Z1f<~E@s1=Iu9BN#i*-Iui;na#~6-x@nO_AXtTG4WqR z&Q*@xsc7RG+F-LoJJ`a#QNI=-WJks6LzBKSpxa~Y#xW<@AfgnOF=6T{}{N%ds@3t`%!{g=hyvyoJ@~Qk4}$url+S<{y#mHt>@>)O?u|PIBB)p)6>cH z`1JHdcY1Pq-E?<)dcz4PZkC(VLPd)f+m?C~wk_J0Z`%&rwo3}5-YZ<7dVj-~?q=R= z_D)um+X+OG#d~8R<<2R-h|H+}a7qK!?`~3Pb{9TcYm*xr!87j6ViD#N0SRh}hv%f{ zvcOz0eICEyC_r7ThX{$hZ7bD15&8Jp|M0~Rz2o)=KJmJr8i`yq3|pr$r;{4MMyqrE z``&T)yFT%{`&L)y1P!{gia~Gw;}u4{VYMwW{dA@2uUBKU1H)sTyMZ!QWxHg+K#5Mts~f!$FO0x-r1NFX0Z zF+dlgu$3CZt38^cI~mqQo<{m=fqpgg?l{-nYus8QncsnrnrFO|=QFp=tZ!Eksbbmgxwss@K zHs?4^49G7_b!$S5hKyHK;zN@<#6vKeJ2RFi4XDlo^ayIj|2D3li15VMS9p3&1WdW5 z;;S{1`2H;(HMDVH;Kn{dhC2J~6igCR7u5VI2C@m3^R8R4^AVR#d#m3W^F>_%;<4ueBCM1=4RJlcs~H`e*Bk3PW3@sCc18ippn9 zEh!b1dp6Tjsi=HzKvCiA_e@byW8Vvk3R-1QR8(BJWA_R3n^H?EDxW`2ippv0QB?kq zQYtbXCBNytQ+6};H2AzHJZC iGu8@+-r$7&#QY&|&z3FZO0vU;(0sxzOb4M@Tg>dejSeBN2d!*yEze zD75l8YB6eVK!rJ@P+@LusxamI+m=^h&Zy{oCjLeqr3eQ?C6K<-Jju{h&l4^8Paq>HB4eqTqcvG#xJ*#Z6 zuKz4M-8Jby%eJ&u{ikfKHDndmrvH>p4O`H)>OadiwmSXij1}}BryQ>T1c?G}n7MpV z>OVt7fFb%1eGS)tKz|yQ{`27U>hzxnj+_2-;QFcjlx)`~s1pg*78^E6C1)#H=s#c6T4`IW>c6w|*_0SH~DvkRECG$6)&vFdX07V2rAH;DH9 zn5{vj^=vE`@(Af0_3bEu%silsp|4nr?2^qo&x5DA(K@uq`wP%EB6K*Mjqkz>W?sz! z8AkBFYEu>7UFDw1r08A>4!{b~)R8^dLqqJf-pd$@gW*CfJo)W+M%l-=;3C9qPYn+_ zqKjSb9i=PQ#TI(Sb=AbaYU_&rHhf)ysIBY&M%;Ja$u`xJ{`0F84Hyw=R{8@82>r5O zL&?Z&UP-?D;i>$)QMTDmZm>DUS(wsDls_8zozWlVLlK{-Q7F3` z$B*lRAdXRpD1Qx4xD)t#xefecPU-zauPMM*S!YlX9MbIPvnG`ic*nOQvjo0URd4xL zWTwD{YQoBoX7`9l@bgvn^T(tvR_RBBO$(ID;T48=JixhaP*gLJHFo0V5R2@yTjuj` za4#*%3${JWmyGRu1CmM`e z{~EixIp3}Xb=*2T=g861h;&Y57+|7|d{h|~K}L{9R z%aj2|mS{Em3;WRzIs_ z4>1ZU4UoU~^yI2Gzu8Pzw~I{x;L`kRR^LqJVMJz=%p>9+P%Km1b^nEmX?_VHN!1-c zl^y%qE&VChq)*cq$Lb>AB_6TBvwi<)GPj<`gB0aa8DyO3qsMhTatIAilRRy+r`l0O z@8I@qI0mp~CDQyS_EW2}p5VxJJ=HmRXZA-|2?9U?C16S0^}{ss`z1v?Y@l$%yE=Pvq8FpW(lpCXOH z-^4w4*Jf^qVXpIo#w(bwv{IA3b*zS+R0t0wdPeeR$y2^(>s&@MHNk%Nq~tcEW9wiR z>N<~~J2N-YwJgoawGUY=og#KwyQi+}LkUo^_cC1#U@C4m%6BZ%;URH=Koxv()^QhbW+w#7DRAXsJt>H|Jf#eQ;-?lQf_eW^KhpHLDpR zdhoRJN0$X%1@|n8@L+S}*1#Nozj3t>bClX- zqJ*SlG1&FCy-9D?=}hc{7qMJMKCIV^<35DyhwuZ<5vMiS>Kq{fU5H;Eaaan>fb7f)Gm% zR$cP-WIH&iS_es8z(6ugv@{o_f^kgOUAJba=g(JQ>YzGjsp0%(n;Mn`x$YJC) zxqYRPGi2YmYaTmCB?*NkHi+m9j2uB*Sgj$g3a1A#s(#C({)VB~bG2{pFUYW2E8JMOAT1Ywr`B{NB`>Z$dC-sx68Y@uVDOoL%0B@v| zhw)+9Go+5!P#EMycIk*{r^V6^L!tUczD(07>dQYcZ{p+6F*r`7E~ayF{y|a}j({SB^~D&vo{*Yd_c9 z&ncagV@FR~rSXz(nBHga2*+RnB~h9t6{Tjuuul-nG~d$>_JV@snA)T7;>{~{-b-cF zk%QPzLrgdE$bR@?OkRImdflsaI8OSuq_n6_pd^h${3E~sw6jB7`f>I(ta{FoSx3G7 z`WC4EM0PK4Z4i3*k!jT9+B-;jcF`8o7I}J^J*k|Xk60_Gcl$8K)$7LDH|$heeY@|M zHUew|Oc(xra>Pjo7SNQvwdE%?N=3CdWCQTY8&8q_e0koDG!47&(I0 zdv^Q6JQ}e#gnDIP+tk+)Yx-iAuI!uGtk5rmC50!#BNYY)CqgkE$-c#Tn9|5&Yl3wi zv%?C(D0R}4rY!wbP$p#jF47l1{+K3$Mf8_5k^Cj+EuPC5a0e9WbtA#5=V>w^kF0vY z#H@P!Hv7Uxew#wu+sPB28Ekr$*^XC;%5{@oMIS4TTTezN>tdQ2^T4s1j=h8}Z)yos z9wL^T@-ze}W0VsMO zcE@HxW4$q;*-3BZX-{QhliUAgN>guERF=oWboO^ic~Fhw*dwF{StNCza7*|F?|3Pv zKtY%I%aSV479je7q18M@E*GZDN4 zh$l3xlW4>|zKX9#Y*BQOUoB5%A*abm$6J%^@Md_^t+A+C zSr610s|f10q^CEvTY*j{@G?y)k?-~TTj3S}!VfJL2=DYjS-3OJ&=7Q1rsg$(+h~hC27c)K0anMBoZQKZf@my!sFRn9^oXdG|CaI? z5IAFPtiodemJE6f-lN)wC6%!HVJt>xZe>*NF|d32@BQ+GF7Ofc=yX`ItNg`+UXc^GjQm$Dn-4ZMOdmPJ>&AISq`=vB5w_hV!^N4IG$& z5x^>Y2{M7}K)Sh(t-@So_C0rH^e{Fr_8(kQ-~neynl`&u|H0w5Q9qDb@XX4d9Euuzkx+EDi&{AVe84gbL*_a9`io1y*#eaAnrfoe)d z|Fq6MO*!3CPjVleYVYI<=-Jcyiv3*QbRXz^(bUct-B7v@W><0_fHf|j$$fBw+y@(T z@uR|hFjW!-cOM}3HQWcUWHIS=1+xTVz7*7GF78bYbsw~w?t}J#`#^X2)kT{@Ro%|D zHfL=9US$KYM>zS=R6AjwM{s+*{mRUCdz3{wWWXHKPdmRqDqFrlw`9;VeW>M2s;ZKRE4fi}hh78b^*8G@t#H;0Ox5 z3Eza(pR1%r5Cwfadth~L3w13ch?>T}^6F_Pks6o#EJ%53z(e%UiV7Z8ulY*5Il%xk z%we$-;xkci%T*uTedq@b z7=^i7G3GN@O-DKbZi)e<+RMs7*$v7=%gYwR&REi&apN(#GyGT~+!=z3G#0rtHlUG6 z;k6%N3x{%Z&yIdC?aIhlg5>Sa!`Dc2sj^ND3*2xRNVlm4jV{D`R%Rl_3ETNUR_; zEOuqAv@xVZ0RIby*`Vv{_p(4M-556NifZL6jk?^Q<-$G^}HRSmowdd3$o2H$1bS;5tjt;*H0-p&S|w4dwjXV-piFb6=kDpv=KCsQ%T zoVFQr3g)t+t7GNP-PIBN8?T;TwSVJB%Xt@mtSb_9Br^D0_&3UTvN~Pl!BsrHEQkfm z`ZvnDb^pdserY49`!`OEz!}-9vM+7+-$$|QpSM;Y#+#Xpq(gZyXpH~y*a?rw;r0O` z!`=pAgXhYL@r}y%?{-IbVkjQLoftH^v=gIl`?pw4GSG=Bs+<_q4o(aiPW8o|7(bH} zW2AIq=*R;kT&417cVXu2x3iyZ$v6e99n5bsg<^iQd!I*TFNkGWQFcnKTO4~QXTTn;ULun>$@--b-$l*<9d%aG&|`N7n4J!~a4gOMv(nwvDy(!% zI0HCgY&jF1I|It-Y6$MA-@rhI3ql@tA*>EvN#(@0>)Yk~X2jA{*^LSat3e$c1zpz@@m?1yMx-~d+1>=mSa zLO=M+@|=TDfsC6X<9Ri1h3s4ARG=1m?FEbc3LuTV-*fUS$m?LN$dOTg(-GpFG?cyU zcE_m}ZU&Ci7r|%5HF4}_NvhHvD+fqB6T#2z7A`F50BS8GF6|UA^`W> zGE`%G6y@8`p5sIx_d{8JJE!V0yCQXWplfuLnLRibdJM(C7UBb=%cij{iPBaE1k3;p3h1lf&rzmbEZHObd zswL%6HleQpj?Bg-iLU{=m6uD$sHei>seAl@a zy(#{m@aFX+{AkR|WMXYDq!nFl$0e>U#*SBD>Q4|MM->1&rQBK%{GXEYJw+wF1dLCl z(~7ryQ;KK76hLvrhrW)^B5NtkWJ8$AhTeJw^f9sdxy)M0fZ%9;D)Uyf$J_>%C)8PA z%-(u|PHY&cy1qBg8$iv-r?jBn&XO=;tE9k$aI_0YFl-2fOf0p8CZ;mCk-pWEo&TEk zPS7f6a~ljownqJ8NciRGnJTzdMUXc#)c!`f4zjruR6Zq*!4`qd;oHpPg%Y&0I148u`t9?Oy61dAxx zu9ITpsJw=wb_?2CS;8yC^(Vk;L9HXqlo_&20rx7Rs#|lrxdO0CL8WR>^~K`G6pjzq z<>%S5brOiqBdIbM=nas8ni$#Fc z2A6P#ZjNx4!eTWw@r{@0-Yos$+SNja;aY~LJsI<|CrdN4CveUf?l{9IqG{59 zt@FuLt>%FX6D1=XE5&-8Mas3v40w-bc1rYaAaP1`U0i^bxn?B?u3FOg*dUeMRdQe; z45kJSTzYB-YEGK`prJc+l(ea6&>3a$aT4Tj89Nq1{+6*I$fE@b{jfh_ zHjmaQ$cs5N1^G)rpMs+3Yb8|IX@>;t28Ni~h`Os3gLjKO?LLH;o2 ziXg}zZLze&0Vp$$aDP22=^9HHKo3{>XHY>do`FWLcBykEpFp zlIq8TRR6{;NcD|LnanEEEUA98r24TS)sK}@Jx7@8G)_tEy8UNPC%PcjyRdd_Lr^u6o;5wy8>ffV1pcu?;HSBo!c<(1gvun~(&bQ*pYvblruhE}Ci0K5 z@H9%_!horU$e)GPA|;vzE0O;MiTo!> z-}Ng45&2!P3GT^CQA`p0Pt+o%+s%5JT{AO>HI!d{WVU(i%lxGoKse#gueH;PT07HM z29@AQVb;uHi6sMfA=G%YIOQ5uf(NJRPbxt`+)5tAk+HH$(CeH%2huq^4kk973}Vt! z1+MnTic#doq*XyvzzSSpcst%BGSut%{cVOC&r$&JDK^g(Sq!BQsN*d1t zFE2F$N*E(2Xte+^rcq<$2U`Vz1)qwMSFJ753Mxhpw3+A{)Pe~(uOKRKhu`j7ss%#S zQY}!q#l;*&R0<1wI3KFb=~V9d7|Gt9q<r znDLw)C1xk16$9K~_7kRX&)|#u24CDe_~L=`1(W=ry2yJ5yE%M} z-CTRma^2iib^|PLE5WcZxZszRFP^G>cRMr@)D@}AZsJ)R(P(p&?c17tWNVtfJuZ{? z{M14-pc@}-_la4-mw;RuHYrB)ehYdyhd*3|rft#7wZ?1Q267i?@0}@(j*A$F zZGD|rPao_cZJ`(&5yHw1P!F>L*`w0|+f(#xqgM=fYTj}5~qV-(cxob41$A$X0GL|#694*v~zQ( zLJ=WZxFB2ETetAP{0H6aPMqNd857jhq=hd<7{$}O;*zc^mLSf)7<M4cJeg0MB*cUj`l;fo(KV@|AGVQMX+RqA$S*?7x?SuS^FBC7X^cQ=-SiHE} zU)=Yl;>8|+amkm97f1cYwO_FpzqiaHgMDFnEByA=9-|fmPj#6X9ETZKICNU+nFHnm zDfim3SHK8(nIwUh;4eVDi=}kvrzlajg=|lxcemoP3n`-h`w5Awj#wNWp6t-S9<_;< zsQ29#{z{zyXJB>eM;mhvEsyTzl!UL=dR+V#j?8q7U^jvhe0%pyf7I%;iTmW5=JAUx zN1qjnFAxsfunleAYpMmAr~!3!L4&bni>A48D+WEHs2uP7o&sa*x_n4%9Z@j`nOS>= zJCc2nJFH;iI-G~I1;n)Zh4GKQrhVMeo)^g&$!-yAw~!i@Dz06t6W@mnO)DI&q#gE5 z)6ajTtCgvWE<$HMet-oUv)!c`#?FrQ8hBw^$1%%72uju30dT=tLO%_>U!q5n-3(3q zjUf>uLJQj->Az>&f>L+BS4e5Qa4v4?tCmce%XGBV)?#KMi;;@E*`hLp$JzU!QHEF9 zU0Zp~4sA-mxgj38Fu(Tb`t1?qJHPs<+~P=UR~=o?$){Hq@2{};OgX>g2~5>!Zd053wj^;%@;kli#dkKV-ma?pwoKLHuqgz>g7Z|JYl66^s=@42iwBl( z@sJPZPLqbKsvl8ReOqQQhrQ~(dz?+cH&mdDZ)FZ&v+;s_NS^Rd;*U{rj3#_p7SD zEmO6CA2RbQ@Zghb@yb=U_>0xFct9=Qw0w&PeR@|7p!ug&Ro|AG-XX8L`{PZ>+^wqm zwoKK-UiE=bG^>6_RrPI|szz&`XIuia(wRv!rZGLNY zZGKyA9$sCWsFkZAmG`T~qszCrV4_HV)mH_*3TWR^Ref6;Xnr1#Oer`^f)rPi=h~8& z(5VoZBr_w|<-3orm*}I85Q=g;Di5JZ@AZyfY4%U(CB-)cDala!#;^2w2y@j4zu(Qy ztYoC7y-fBVBpmp#MBNCf?TcK|i_NOKOIs?21z=YtQbkWw$3({`@l1Dn7y|$2Ez)4$ zluCt^wbLCYS@K?;n4HRwP9LH1g$hCE57QwfAD>4ol~QnekrHMUleQkU>nRb^JcA?@ zNhjUpG$K}+~IVzZ*i+J1GAu;uA_t(f&tH%26P*H+=QBhSiUk`w11r-j@ zny?J%j;Mv~h{T8O(WB$~IzrzpqO~UITRyA=WkG^?$W@4lb;={NAkct^Vi|b738psK zgl0zXiT5roq?K-EWs{SMEzr8N}BWl%=m0%F>gC1kt|@YooBUa&gd%rZ32+Uzq+c_0hAU zOdez{EAeMpCrULLnd(b;R6W>wuC)hMTA_!*#X;}WC|VkYtmL)9VESTdH09^aa1me) zQ+1QG&rCpm&P-!bYAtL~{s^{fWuYnHHE)Sf`754J58e_#A!p%}`S79$HR^_fXrV%$SDDau6`qqwQ2kmrZWNFRGaBc~@TG)#(mD~7%_ZmT$W3JFRs+5 z`5a`I>Wl%!$?0Z}L9qvzq58fKNKMQ7IDmyS%S{ z%8WD~EI&dj;66`q6`ZJ`$DGkd3$)fZyt36UhNQJ77Fx;JXH5cZUu!V{zmSt)2l0?O z7T?d%?1@iU;K7ImzlP*e@{VLG1%AE|5RwL5M7kP|i;SvcOUISW!r+bvUI+RYlLpej z%M?skc072{Y2xJzU|7Cp%0PyYXw57m*es}!n#$MTGrR=z4sLRU)ck5_3#AukwzW_p zr_a+R6*?PUYn?8S8=d-~5i1jFb(?!#+cVeMJzD`9f5;H+fSrFXFRcPcDI&TdzO}U9 z3)tZd_5BXv(0*5C7SXv;*8=#{6uuM&+DiXM-V7r$btCUjyLrSvgaxwFO50fGiR5H%*>(*p67C3d9JM>b8aP@D;1_gbwG1AQYTqBK;GS`;KMVHJCv)?BdaK1zdoE2!K11 zDmrGm=MuGXmwqJ1^f|m+L_?>9c+>|B5I86`lYnQKB)k%e_pjp!GWY1Ccc9-`a0tjR zg#a|=^QgVtMg zJNX}+hp4TOp}BXrn(gTv$$|E|FUk)s*&dyhO|GWD8`YmpS6Gs_pTkUnOVXdn7ml_V z+)XVG)eRF2-?^G$>^$Z^ae*$ zBC=?Q!w0eAg8WqVMWLzlXnl!-6KZWr1+BthLDC&;6e9>DC3qa-3wvAV0^(`~fjAPk zXhXS3#|PrN{z4cDM2v~izc^ij9HyakQmCT~IDahhU`jwGVfLU@E5Zmo_ z*aZ`|3yf;)FpAO@_Mx&X8q@;UKyscXIQDc(KbYy8q22Q<3QfB%A!%HU ziZ;6-u8j+XF91*ut`!FNFcU3rMD zkmPL2B;UZ?&JVLv1R$FHi}IE}cP^lGasg%N_k3PF^E^uKeUwoy>}j2^)t-Pm`2Ovn zDzVFZ<7};)^pS)_;WCGt3*ROTpS-N_S}=O9g#Wa_?>t!%zZcpBt^hbFQ9qi`L4k-E zV_rm#vZOeQA!0bdU>Bx@^-Z#ZIB|ij5`$tx&zRo@deR{1i6>L&S%F$2mf=D`&(JL8 zm<%&9tRpNiV5Sd?UAjF=(4^EDv92*#>C(y}i#8Z7v9cv4i8Rb&Gicf4T&To3|AhV8 zQnKsE7@ab^X%NlInJ^R=AunDf`imB5mXyhOQT{AzPVyrAhH?B z)EhK}iC{k|F`n)8&28jP7q^xqb4xLMfCZ}u`NY-W{ldNkx~llklGST~3x5uI+T%7# zFs$PH1+VL~&*1xFzEUWJibyQSoQoou*GvX+sQ)6=wse;V~swA={Ss+lQiYYVwiYardMMahJHiMlM z*v1RWG*VF}8@5rVa!X_OBJ^FWF6%_cwrk)?W#f}Ti6c>gKjaG|2Cg#y#LmIWuDX^ZZ6E0w;Emfh3g8djHtFs^N zI+=)iQIB6net3laJQbzYf=0}-aoxe_8L@mCcZLXl>H4}w`e`brNDvi!_H_#j3wuXS zH}A)hq9lh3siaOMY*bfpSa5YbS{T)>P`zfY&`VWb4id#Yo)UG!?{SZnHR}Vp5EeKq zqkpcV{q2~{&!2{nxr=`qLgo(tTyJDg+WWKha}g{*0^W4c zC%5S5>p4D+yLW%?zT;G7@()jB2S)S#JblET4)XN(_H-Xl*Vxk$p5A0nkMOkLo-U!4 z_u13sJiXyJ)ykDTefhWabS+PBf2N*p;%U!;NRRt?{BBoI2Y9;XG(FwR(*v9I#AMv1 z&15t(XqJAZvo>;{OWvKwEzVr{pt+!k@fkt{&+c$`~C4s9v}9{YkA!LH7k1)k2m<^J{}MH z;{hHI`{TVl9`(n=JYMp3tM)LDyZv#2(Om71m+^R$KQc212{Y3$1rmM*bXPj8;oyM3Q3QzPOkXI%FQEuvsZhjr4Id0ezOF(AsIMqMedMJZ0_`|Z)FflkcMabR z)cg*hrc8dPqv^do9`?t>JYMz<$8H|4^2ddR4f!qpco~oT{c$­3v>9v}9{Jv{EZ z&sw;J$D91|P96{X<2^h+;*W=Tyz-k?_5mLE_~TI?_xj_-4EKOP?&2|w;R+rP`P-{` zJmQZx@VM|TYiuu%yZmuKk5~HRK_2(`<9$5t^+(|73jiE*fT9K9mlgnERSRHyln=H5 ze@+r;0spHC`0u``fd9fpp<;>Zd^7m-JHVeZ`L_=mqFu)0=lqdYeKfS1Q$(ZTmr;zO z(UOSrp%~4cVl>wlqq(UZ&6P#P5*zqtqv3ZL4Q28J4v=ekyw@LT)kj0CIYkUPeKb@Z zfDPYmGz9kSwb6)+-9W`JPKf#GW$28T=|rS&79&N417(GMl)A+@q+W&!yi^5#DeW?S zDjBwAg?lJ<7*WyCL(PGm^4iuGA^SCyb{S2vPa+JYTbnm#_P~#DwInilFgr zDQZ@=DgohNE@N|$-5?*HRT@A_e-m0H=HR)=nNgY7g_V-QqSVg8W89w^oJ&Xz64xY) zk?HcR%0Z=9@U6U^y{2^EE%K%hxZKv!6y2kUJc{W*eQ{%a%5;&%O&{gOub8dBW)?<2`x z#%lBQMkYP;VcFy|#DjgFR;D>eThk81A#-M{-QdO>y;d3>)TWp)=QSFWZ0Ey5R&N;NPH zmaYu~Fm%5lu=~&qNQi6GA4AU7|7|Ua< zLg7-+*vAwbRW6kt3|{3M&}!HkQ3x8KmTUq%-O@-=vm8y)9Ck$Z;Tgxt?#_T+=$kaa zfT2(}FaGi($+?PJ!7TlJBT;zSUUFVvFLYL%-k&{#dm;^o1B3bHfx%_MHJa+ei_d3P z;VR%>@@&1b|1Qk-Z?b4FV3s`F{!*M@vV*4OQT1uX*=J+2BZ<*)C^6VfVXEZf1G`38MuTCtL zP$aWU*oW10#+E9rbN+0jHX|;G>0));*{1Auv-uT2n9A>tvdvNYY!+98?L{+lv6DEC zDeH4US^mf?Hn7Hy4(lh~zPqSCwCmpik8HoRx?6r=VfowzJu+8u&iv&%eAzMoFH=f}MtQJRMS;hwD1K+n6b<#90BIv;;6tT&j*~dAuK>C}gAw*H(m2NEt)5M~* zP&=V6Ml;gq4~(#a;;{|QQdhh4wV59{o-?n8>&-sa;l3bH08vLE!Btv-C%J$)ie94l zZ=#*p->9}Mw*c0NC>JCl-f%JL#FURj3&LAk>9+*#mZTTeRYAo8%erRQG?k6lS}vPZ z$!n4_(Y*s{RF>j9M$8?0;R|-k44|uJ?OYhy7vmS@*}T$4C5(7dEl;H6%1G7G+IPf3 zEWI|nMlo%wG%qtTGObd9``VMiK79^~yUb!6}m}&fp-od8%^O@dViWdTgG|FuN9?BZnfrOTX+Y z-EoeG%C1w;8$n$yzn!HL}&*cOKTnbbc5Rn!elHuBZ&oWhZ}UuOmmIp zBsF<&Tud;^z6&a4U*_a;O*8$Dq;Maq5}3ofj)8sUqAKb~hTd{faiN7p98yu&th-@a{q+XmAwwJ zMr&0BoRw<@+uy-jB}=ST@_4P)Ikp{Ho{L8N=9ko_0yg2EgwNuo775Mn8zqj?9(%2M zitnXF?thbIJ(C_x%HS2v2|?6CxP*qWPfcC$452~vqrPagVuATl+n0Tz%0(72Zue2M z6DVu3te`|bfyW~!R*tuzu~6r`7G0xV6?SsCZem1<-5R-ew3M(y#K>PUW$&Z8QctNQ z5^VznbIIj%;e43R)@(vP38A!gydU3^8fHh>w$K3SURz_Vzs0`b7yKs1? z@2XL4YTxnNin6hP#rk+XA|4QtLK9Hvq6%9^+>p;uSS^QQzh%3|$#qydn4WPujY#{e zh1AaF)(k0ZT!=`x`r11;gC+|x4`8&a!c^8Y81LD#{}n9p9m^1inzd+d9#}aj}1$!B?QuUznoZ{cVdM z&Qx%RFdE>L$Da1uBKJ;)=m1fI+q^%K$p1T^!()(JfUN6=ar*9xK;jS4P-rM&&#^#S zTG?qP428ZDL!T#HS#l)vh5JgP@Ou$5EB0lI1#TAv<|O9@uXOQwFR|W1PZjnCL`W&2 z3ou%NZUXHyBV7PMh)XM9XLLPiQ2(KXxo;?gd4O_DP>vciN43KK}--8FelvoJ&+Fdw`nE{E#qfkvj2B@n#22Hm~7 zB7t}^w!WuK@C|Y=#!nQOVS}fpfFxGoR+tR{F(l!KnH3mIwm<2|>`sLq+bLhvN0sZh z)ijMiS1=C&&cv7o2+6v^q%_~`-kJ1o2gC|@i#6p6+zS&u#U8C$ve-MLEoG7gYl=W| zo78QSC5WPG<2Z9ELJ51?3z8!AZip12B9LJUjq)ULOlaHaaop;NoPer{6Bo%5ewj<+ zZoAaoc9k6Q{VkFsv=JGRwWGWaIqe#v#0>B%E|!rp$6v)gG3lo&-mRq$KE*zSJuq(| z2XQvY>6DWolfeW6`{s!mi8ll)P||*f9F^wr-tX+o0a-$BEIRg2X(Tjv#@$ViGKPaYbG6Gl{z5+-XqPx9D}t0LLWg54;N06}J)8RnuZn zRzlMQv`Z6MyhR1BauxX^>STK-*8-CNjtkFO!DipAvJEJO@$|y3CTeYyU_VGm3KGYQ$bC{G|9dWyu8piEaO$Q1xSc> zSLaCOuY$y|{v>-K4`*fWOQrHL+dyM*P&cU4o-S1h^s3#)RM9R#4%fE4F0)BRvJ}(1 zj8cJ`nh#ynQ#ao|zob{j3dF@UE+PB2q`SWDQ|SwkvRAdUdpFA{qrD*W)!8g{I;TRx z?nv?|^~-{EQ4iktl`^}P@u2=%1{?W2MJEKu{qz+q04>a-;AOLbW28@*kL)w- z8ALFj1YPAHJHRtnC2^jYhC*G2+9UNqb4z5C=ff@?vYd`a`Aa_?F04wj@6DtmQU1PD zQuO?zuPB^9Jh?euwev?VS#N+BX)!>7W`a=w`7|I;FRr)GYbZJA)O?01CdLt%NYwvgVoaW%rwr z1AMX*&2&tZoklk7QZ{d&+K7)8`d?Pj6-?@RmTj7AffU6m@f21mu}zRKT)IBHtyLcz zM8ZR=(%{sr)rlG9gvqP4%VPwaPo z(|4z`M>sTCFIZE~z-^zONBL<|9r>F*dj`L-ac*QEfIXRSWZ61Y+6WZQYj<%A@A^>? zk2{yxn-(kv?r%%vT99NMpY2p^$2>GVNy;9OJ`G92&0KYQ<$<^xk-@cxep|? zI$?uTlvFeN^QkP%0-T78W$8p?Xd#NUF&4CVTNdfX+oPuoX5a_q zB=&RQ_8Ujso&?^y2uB3|_ofO+B}QU%ObFnM`k*!3iJg3!6FKsj{$=Up%oX2vTv5*w z`FD=rNWsiGVjB_Q)r3$W(%#gdwZ+&;-mLa3t?YiF*u9icS(p5U!?x+PhLSDyi(UMJ z^T^_$G1Q_L^vF&*6!DjJM2W6?ARUt-P(&~C!_~a>O(S6(`F`v5ET$+Mf6F`mi8U6k*%6d!oaHL`IzYqhwlpsMa9xL#k?1t_&r*s z0OU_2vR9}1tE}&QsUSd@4GIFpwq*jQAc)|Fz-1iQfgtr0yo`F5eP_DYQlE4}S=CC) zDs))UChz>|vh5dRGAL1mJK)`~07aWk(>Jx@FEq}au>3j6_s#!`S)+~iiEVA4Xw0^l zU;F?A&{U!LVGcn2>0EFig9?M~snJt%3(p8-h5oyuBABKiMnZ8~ROSfqf~`CwK26I` zAIys`FPU}XqDeqyeorgF@6*D*r}=5k2I46FRv4eK9|-ZUUT9;%5`=M{GoPcI+IAyU zmoqw^o}7XvAD^dm8aft(G%SN9LFKn;3W3pBZ^j*%CQPBAnHXb5Gf`_9H@a|k=`3%c znL6}g)M%#C9hd^Mhw?Ki7d_UeC8$wmGL1WhG<*S}HyM&o6 zy-z`eYM%y-_wB0b2gG++80s6aO)wHvg!<(S)7K|Dx7SKwT&$4~_QA^`AcD&8fjNM& zOYlEHg-jZ#*s=E4X}*2ntG<0`g>8@Rii-V-^YPzNkUif|&sR3SZ>`Z@w@0oP;z-BE z5lSF~@HwqvH{w-E6IhiABj5#J)P8r0W6mq>T<_XDCh3x{z2n{(U4yXfM^ZsezG1ZE zmRA~`V-o`9b(oRqpo`+FB+Sn1tiHHOzc79Y92K{1`ye1tUpR7z_UHH&aRT9vg6V;mIH6Qr81g z67%~{OHbr`5jG$TRQ5NJy7XT&E-ehbXP;7FfkIb=N^rpWaE2QRI%0{6_w!bQ3%+WF z9$vnlWW*=Sl+lZ@Xkf$y z)yn^0mjhY29%3t<-$I}gL|v9H34V|&>}S``^80cuHui93f-h)RR-OGkU1v{+izig9 zx7sGPm+8t2E(T zrm&@saXd$PD`YJkjQ$W0&<*~w*8!Ec<`+Uz6J&NBb#1Pag$_m|1%$+tM72f|JSF79 z+dDMN6r*P`ckfG^I?-rIdH$F-SarJ8MA#CSxhU3+_Sla}kyCwg(7kecP-VIC{Rs zeCX}W{%+P7Cx0BE)OV{=CQHF`RYKxOOb>rQtEjl=nL&V6P*y6)8)a9`=KsoAAmX6m ztbVjHgw2ik<}&ZEmNMU%eR_7zM0qooA=5NiX?OClyVaXOlhgFoVU-iZ`9_F`RpHOO~a{y ztQx!qF7+qB?4{~rKlg}U4XBt1wFz_35^H9nv4QTlw>;V{GGn-D^6tu9wNaVza6s7+W z-OW%L3#G*ggN!y#8@rGTa%~2~ew)+Qgcql`WF$(odV6O3rU-hCIQt7G%HB%Ac_7E3 zK%HcrH@`~+RXc?R0@;`#kQE`mPRpnYP%mvo*Ox@YJ_3F7zcj0lvV#GPP4#2pS?~2c z*U@Gx{)No~-0z9bp=q(Vk45K51g+@Rhq0kTt(GvKq8fy4ZwEtYxMyf9GW>1W+$0Og zdMbjXUpo8%mTl{CBNxq8LCyKCW~(I<2BVjH7u9LT2WW{=8D!s)n(fW>#|b~}Pl!r& z5zsj^=iC``YHj*+9CjsJS4%`|Qb z=%4VkuGd8jwofAFEilv!V9K=~%RUYP#5*W2C=g=KXAtN#>yo7@N4%Qeng7EVN@5o! zI}EY@ZkEv)8*S-8_)&%!rZ2*7o0PqJ{g~>H$=tBi!C`L-&H|v`KvO-^@+52ZJ zkph7Ls+T#{^YWs0Q=)dQ9=}A{@S^IUQM-K4)q%{ljLc~@&HKW3V~X1SEUw(m9Mcgo zb)DA1>IexcB)ZM#vE;%^Lt$Z|p@3gR{Ko=?Kt%h9J#l`ren2O0L|r{0?!-Aknd#(!jWzl~bap=`!k$+| zOw8t=i_XRyp{GwoXS3Y?EE2tsep}JWPdOR5QW5?|AwEEEACj1rvmAZ3c|rctQEVgq zu9XyO_|ntoXP`A7fQ@vYszw^09^K?$p0eo6tAE$OEN2={O$?nJQ$`|)yGf~0-2D&-$t*}1a_BZh9W5p+; zR|Y;^5tdE||JD|D`N8db*7AcpvDp~NbL+DlZW|YU`9d+a6Bd1X_wBZOjSo%k5r9q7W8#;{2o0 zIg=#)`^tC;pS+9ZjY)TzmC5dBsfyuLS6myo$j$;G&u1z&4K|sBkF$4-TO&i&kg6EW z+cx`PDx505ye539P^$Ry%J8K^sp88gpX#ku_)&a$$B_V!3PFlbM*@ZlKe7*LWkF6P z>Owa}TDq!R;$yM{Xt^#E>Dd*P-fHklNkS~m+{bX=febGwo9#iAS4=A3xHG%|Hz;Hhi1(;*QT`LA zo+405q^ylb-@Gkc$+Bapt&M7nu@`Msg{(u6rlczxw;Yl`QMV>(m_5=piLSV91H-&G zG$FhiXHClK686@IZEsC!1voC46)+IrWq!WI15!aJ^T~6;oHdT}iKCxoO_FnIj zs{F%}*rZr>C&ToxrWb8p*Hb9;#kp$#f;7E--5p3_qVV-&}vxwA+Ev z0BH%)SHIUsV=I(WD+nubw`V^aKNw{khi)W?s;jcvey}H1sxGX8<1X!o)vo9W11Et0WhPW-20+ zo6!f4dSiNp+2egSFGNpKX1SkgoMy09MVU%H(0dyUKL~QW-9|LAd|eDNvSAOeJ3hQ_ zf#u_aEYAc>{EV0-OixePYxy@ON=gGVN?LvSNk$J0cP!d^woBa8ax)A^y;PikXipE0 zuc9ZGJmAE`;plU+TC4SEyKIlN{vblN{v4VmQEdcV^|9F&&~0us!xuXR zgVS4Qi}5u~QV=rNLt=@C#23oIkrJZMtl4v z%>t)XLF-%j?i&o5M=4Fpwa8tp_Xbn8A+6QAcKsN6nu~3ugcCr;=n4wx@G&M zbTgcV!hFNKgP{3KsK*ZAzF!`6gx96NS%CUfS4;#0)&Ps0^Nsw25?HBH0QxYsZsdT5 zU@zTf6}D9s#Aw)@e=24oM&o7#dn|Ue6Vg9*@#S+wV|7B)mY$}(Q}(~l_bg=1G2%v zOcg*|3%p}KKUf)iG6NYD*q2s*wdWR#iXr$*Rms}+5wj#Bn4;ohOT(%cEZ5tT=fN0F zJvNXT#=lsux9!n$<&WEzyu>o(44g?mCHBd#GE+7TRJ`h*YYm(NCffk#u2>G|y`34^ z&F&UbrcD8}RbRd-Mw@bxtu_ecgVt(Cc&6nx(AHTn3rH)KuLwzvNs8EEdxgl)3O7WW z(fQy!5EiysJN;wq0|GUs3{!vg#1%g>wn=%4Ibl^W?uQr(+LT7p*Jv4$y1i9 zBj1pOPyNE+tY0VNK>MA6`m-z5uZ$&(>g@C>s*g!V7UAqKbY+nQBcE`ReP|P`GCeE3 zu3KjKN#5BJaMkP;iA=kq%`)~*w*2GZPiAJSRAR=B@pxi%g8w>12~+Pg$S5Q2WIP_N zc%sYolA3Nn0W+YVRft^TG&Qm;%z){B>KCG9GGNQF1Ek%5!dBOEa)y+2oFKkMbCQ+> zaM>=ZzK~mrzQRQi!~6R7qigG{l4geX6{L#ceZ3M)S1SwP9cOLB`+9JVFs!7d zp?!@l*Vo6^2*Y8x!FoyLmnJj@sS=XO4J95fVJ7Hl_DLE+v9^UwYUXMLG)EZu!Sy73 zID5r3>0Zk=8|h(0b-Fd$IwtVwn9$S+_ta&Ou3*2|X8R0n1Ob`-R zuvNjR*2=$VY@=m1mruev;EHw+_Nl=SDqeYtRrqAkteL_=QTW&dS~SddfeRdAA~Q^` zkcR({xi5i_s=EHaGm{W-00#tIfcAl+0SzRmh!K$o1c|aqf(vTnB$>d#BoikI0c({i zw$!aym(tb>)mpVxiaYL>YOB>&+;K;1Ew;8;#kE@h-|xBizGX52wEcZPf0xW#?sD$A zXTRs(hXe*4G{LzSSfa)Qu?nCMux3cU03(+|Dd303NK|yLBUh!+p0rG&utePTds-V0 zGY!W;j4f1iKY*h_L%I|+KvM%r*OOu#m|bVXr5-RYBq~7l2zLReerxKr>Jjh7;nu$T zZ$Zl?MbTpXgN1C2JR+(w8dJi~To#7ko_GP)CHBt&NZ9Hyhmc4|VnYW9Asr_HhaHGR zP83BDdzD`nKzaNDNz!o#22f$Rppph8rq6E@{ZW=m?DMyjA^=6hxE%|+5o&s7IY(uw z8sRp9Nwx(Wn8=LMfJ>JXB>_5IP6146MWl+XE|>DOikS2c*f1dQmWEqiA2f_=M2GT# z6OLjyKg%#23xY-ND6Bs@a7<~!;m{$*dZRdsp6f<_+yN-5EINfnK68B!$b><_^HJRzEc7GU@1!{=ZaaO z1#SuE9=VUqI6$jRzQI(K!1u&CE8tiVeWl{QLw*%tPsZwyit?8sl5Yxr&^|bpVIBg5 za7Z#KwzJ_q-C~Xu>1>jA7=VHujG-4ym3>DiMLP<_X z;zgN1%oaZ&=F$pUNaYcFgzMdvCUJkk_@d^lB>bakBX^A&l8bceus*_Ek zlTi0fQil3=cRs>_hW|B#Q{{1EPxlMwId1tA`9P2I*Nz1S}JLOb=ap z#)m=lk+vMP5z2V(JiKbgt`VYgk<7_|>CYj{np_fdm;anx!WlE^CD#06TA&v+j}8ISk?Ng%xo(17+uTmivw78zp*N+WpkD2zWC%y0CZIYo5u5IJXhn2y87 zCyE0^c>w=~x>Yu7>F!74q%Gmg3OF{CzrB30?&6!i~`qDEpII$dYUxtDpi>z)jifG_BgVzxAS4(56BxC3mq7-JifNl+Bl z7Zi`$&k?yTNjMr)nt9Mnk(X}aTZm%6Qv69&s+eI7h(ZRZlsnv?KIC0qC(;eC;fXT_ zW&I$^T0?0s((JSFS_^`vp-fD0SgezHe26GnnAJj<+;~Qf0h@?5W;W^mis}m07(qICq1|lqjOb?wEMxzK{?!~hRFoQV~0I+!iJM&pB@karI zX*qF}qVJ8L_%9;Sh(|jmo>RJ?UQPoei7%nMgAW4K5AVsz=~1S@EYw-Dp@%=r_s2W5 z>h|~JC^GQg1WQKcUU`E|V+q449A&IhIru@ah46t#8I0n7V}? zaByFQxm_HkiwrJ2LY6BMmGFouYZ2zFk*~Bo_CwHy-t^)#ikZM6pvFXD?HPoq`;5f1 z-Y$F*Q)bC0ItdsS6Xef2A2ZQOfrIT$vvsr+*&Li_NCLnHxdXFckxqfb%-|7jIp-KU zW5!w(k?8Q12Y)IG08F|c9wUN5Cc+?HAYR}>3ay>!)wm^U)ox*Gdt_&*i>!ImHEICTmWBpv1&kAOMX@2IYIm=dDYbNR6#Y7%{#`i{Z(DvASbB zplH*J$@+LK$WTeRqy8|28jC+v6fMzA48Ow$x6T%ECnle)3s5gGfkTj#P}E6oWQ;9%4gwlP;P+q|gD@wdRghOLa z7O__hsRMO{{IwXi@H4(bO#!V4DUS`uRIY?XPz@QOy-f%5Zbyod<;nWJv~I)?NgZ2L ztZ9QUU|-vvZUom7D2X+5mdmN#bg~^m)Nf%^At8N=WfQBCId)-AN@C^iALvoXlav+e zkNiUSA3xT%VUpF10zvdxOGCunVY0bmktxk@07oQ)ZEL$;LsjwfV6FJ#n;Z?((wNhz zt3A8du|a}f%ic3Vjd}lqd9}lbLVbHhqP=3h@DJm)__!8hE=4_i_AIvUbZ;(NVSWJ& zjh?6rUDR9rIPP!iO-lhx&nuBj1llTd&or_kk!SP!A zx&a6!irV23`KpW+Ss~%_VNujrmz$VCN5L+0@hs;8uteNPxMsy1CAlO}(0#bUg3r_Y z`wCVUj3C`xYK^DYhN^C_#1%tvSuU%tL>Dqxft1qd_{7CSL3z|VfE_8Vcs7C0;6MN~ zx=&OX856UkC~?_P@bYCtAz?x4gaa>8>LKAjhx}(&r1SPTpf_|XtPZImMvfSwkRY1b zcJn7t$dwHE;7x|-^0zo3;}*hM)QE#}0Ve{$;8tfNILt<1IS)Vx2zvw}WH^eFn)cF$ z7;&KCBZ7c63IqYpLQZ>IfL1Pu*yAxW7oojzoj}X6(IIC-F&1J_14@|!h8-du0Vhw2 zM-QMjiJ-8!u<}e7sIfAI2u_(Qp@tRQ^+va%T9td{ zuQdwI&IxT|U}=&fipNuMUk{WDc!(A@kByd1Huj7Qu2td9pP;bBuEHPCJxdm6EaUy6>(u5*`Q=Xyg<;Z7AY64Gwh>WiYHRUb?x#@ol&bFQ^mNa?jv>7!whAWYP zwb8}`UXyIkdnN6WRg77ANd!xD00Vv%Du{%Sy5;yJBV^fcte`&@HiFQ(ryDxQ&fz)8?d?L>LHbCO)b=KQK37O1)jRUeXMAlBTZ zYi`P~xds~+@)MIDLCv3d2~9XHlp}p4zviX_H6KLHtGtYt2X)N{^K0G;VUpkH2GsnH zKhO=j>V_^=3k-BUt9nU6>vhfb`89v3=RGu~*Q4fb{={6bt6ra9bsNH``S7kq)%!gxQe-ziXa6{?;yz;?Py*TmkKF!BEB&t1V?iJHIk zb~vuoHCN`>yuLu6%Te<-Pi8IGHJ9htTn%Qn(UjWw4sCnsF z+vSN;k=a_IK|Wca%T1{G51;tvNKF_v;hN7B=<*TNT;Xjxm@XAz?u9FUP@v+2sCcf& zDO&bn7i$RA)jhjRB=nQ}@NhfC@zNjiA4Aoy=~`_)s(pe_`+zPefy$*GEcj5p%>{_{ zdQ`l?LuskhE6uBSTLFwBRN?;3$EYI}oxF;V7QoADRJ_F#l?*P*@>B@WD+>trRjBv0 z-yy=0s0hbBRPk>GI$Vj0FYaYA1KS(*U`K`OZGOEgOD#ve_kEU9tcY4Pwyo+qFVGz= z842AXAMIThfOYp7jwgpb7M%pu3hk*CEHyW*C0iWkE{ehTh&aXCc7swx_0PceFl)7C z=m&y_82_UT`d1>neh3&A^Jnl(X-&TyL+YCs{rwFL2;Tvr^Ng`bHXTg}Tdmj?a8VyKM_>3j{qQy=B{q zUq0%tgrR3_2$DYMDVq3%MP=Jlu;_9WHAVxAk`|(*g-=;p_B91de~izo1WJ?QqNF%! zTehVHOTUZK#;Rc3L?V|kb!pkE5-hzHrHvuM(qx|~oHkurwy*f5B}Els5RDS<70E-% zz`$JCd3ZNWe4FZ)6_+415!^?i$~dRlP&SPr3e%VhgQT8i5$y*NT0oJC|)zc-;hrp`fSV_eZrf?(luHiUc@+O zNjS!7zyl2f8z{QB!zE!7hg}oq4Mtdk2%aDna@dskx3-K!!;iX~F%!lx<4jNjMwxIR zvz#{*QFjwcuN3ji!W6Sn21{ckg2!yl_;>WEyF*_@&n_zBt1)XQ%nf_(h#S`Q`>Nc~Mf5xZGBb7z>1@0VV7#HT zLcHURc@V~kWs@C^IZqhb5o+-=u*;YSTI{*-LeM&K_c?Kw#~k5ya1vV{?gn&&J1sOQ z9UxIY#Ky~jNC}G)ltCErfjm(nTl#zw0DwTAaeIh7@>~?LPtDQTy6 z538Lh)o9w9-t&4{i{h8~z@8?>X+leJY+5y7BC`tOpve6Ty6m6V#%i=-93OVMP}f3d-r!*;)3- z%H{LrC~ka17GDk=@hR*`DIdZO%QHfAolivKsKT7GK|RKW3jP zhA2@^Al@#7B34yU(13stQHB+QpWb4l$ojp^A2Rmz{2k>}m{`a(l%Xs+wX1)qW8-q- zl1_*4EgEPxyLm)RoEYX^c9jPu41-$6A13}J7=eRSE&gPyd9b{Mvi$j3tLKw(kHYiG z_*Fn@NQ5QoGQuL|yUgb%ls7If;gMiY)MYS7%1hAQ!sFW(qyz@7zOS7^)|3DeLaV4L zh7fA{!heex@_mFBp@OB}7gQg83(^byhmy!1d+ZV2Lo>*B5>Tvve^u09mg+IN@9K3g zCj!QY&@8yygJBTW;yX#K`0;3!kV-gjm2o4vM3gEP;>%< zs<6fA0}?>&as0IxSOM+fk#$(5(_-oJVF~F%yt5tMWhvX>;yO)Fzsu4^Xrovg!~_Pf zC(yFPb1uB{?`x1M7kN9wb<==`T?fnS6K(RU=oAW?c~A$id`bLWgbkyWCQL$-d5~>G zRa;`~LY$0I2AJg$UH*{(iG_vVdX)eDr(OVLlPmhT%DW?@y-8#IMnVBg0PC!0PF zc7R^=kys><_u|}Wo_8Poz}P9UNW|6Qfp!6>2NUL?XyQ?AtVm`f-DVsYVN~-!N!JQn zhN4(>REgz7@m99o1oA25-WvM<0 zI)kPr&O{hK*5yC8<$)P4R~+4Ex4eEBGBsf))>{t21H2)2qlH)qMPVVvkm;>Hge!GT zM2oZ#Lrpv}28tG9#GCjLQcr}KY*q@6gW=S`I9BOa5xml^BDo=mr*QjlpuHX+6z`iE zt-8l;uM59e+nbpzWh&x+0F zb?6@KYe)3S3>xgOq!|XKN+sFDef-CwBuVK#gla6c|It{5G+%T8>h^h}abR|#dr{uR9a(<8F2CNEFAgy)?J+wAbXj^wkPFef zs5k$CL57Lggo)q*@W|Aah#V&(+-2A&-mMEknN5wp^pq3{GZB}5WuG`G3$=U>n}tIP znS~P7(7IX_KNii!3kc*#%Nn@Wnh3gZRUHV%;fYA-N9F~TnBFhKWH7wZXR%Z&9Au9h zs~2VWH6kx^SRFKnAD%UNy09_#LUa~CIFp+CcqG30fJCvq^tI&dBD1kf(Go3jB!$ci z*BnPC=S48$_edIFLY}%cM-Zph>x*hm_bm-47*t4R31=2hvXti zsIZ(%+)qP|ETQ#N9jXN58<=KlOj!6C7rcR69n+;57D+9Gii-=;?9rX`R4cIZ$d zsSvUd(h6}kFqCPeKvYu8E#ILu?rtH65{n4_03z;XKNZN~^vcw8Fgj6#;ui|TY6yW` zZ)4LAnH2$a#)=|6d+Ol)M__pd=W&>u$Ycfyu*20GZa!IXg8#ac2@c9^&PrbS&;+x6 zT^_K@2B3Ui^-NqAg~#qqIL{E!vy_M6LOUA#)JM^0&}_cv9xtaWrQLHITw53 zRNCky^AKh?J0|tfv z*=wM8-+xdnf@6nwA5?@h7JKd1r!U?V_ZTz?A6JmTY9O;lJONBG4m&jKyHG}0JeOay5PYz3 zT^y`vx`zTnRjdaHi2k8#mQWC8LU|mwXv#ZM9$veY_fKN;%P&WH9KvYImr8l~xKcj< z{669Xo`Z{{8BO_eDUXF3DW89+AIrltadBXyDL-DyBj7IO#hJ~U4|qrXZl0|GqCq3@ z^QD4#vw0QZhPm&1QHSYLp5bMw;Gcu$j~H&Ad*Q*hgE>-xfn=#5{%l?kaCY65-ctUF zQh_04sUSvOUIlp5?kiq})1(4}$WkFcnVLv~yY61$Raht$7%`R#VzA})umKf#I;25s ztJGl7SZat7l2>CrYW&`>u~cd><|#GAI`?a6Rf^={sBEr))a!+8KAx7(q)E!Y2m~I8 z`QyEZ%Yh6~olLz(?jJ%ZFi~Y44M}_q3qte`!={hKRfBMfE)J`g(7yE5lly~$2B1C5 zi56)fW(|3wla)*K&H(&?osb>uD{&m(@Ne0^g0e=5>y&h@ba?cdKAAoLD6g(V?N?x^ z2vPlaLrwg5Lwz(f)OSAHwV{fcxT9GeR$!>ke>+s?zZ>cwLPLG|^IaRNSez1+4SrQ% zc|^#3Iiej*Fo6v!=V!>3b~^eL%N_{4fU1U_36Tst69uhL!b`?+%( z+kaO|dJOHqRgvLgCjDI@cpmwVakn(DV!g><*6~dV_}*el;DZ84UqBhm15K30ZnOh- z7xth&i46~C(<#hMeq45#Y@ftXx;tAbJ_w=(JJDdW0S^!?YH{Kce5}N)*xjK{@jD`t zr;lCu{89-j>W>gW?(vNKkH60E#YWsu%rAr^zt4e9&fbpJ<<4+2qa>fhZb1BA_R10p zCh1e4;@jTK9lfv%&%(SXsBp~_S7E1`%yxV{=Sq&V0_IR&J^}#*u_Vk}TI6_m3AR4S z6NjlxG>qdt@j%WJPw9QHh!n`iRWyvi@{3=1dQp0(p0WVofdC*Nxaas$N(?OkCkRr* zNxwec;O(v@?ZbDJL@&5^c3)6$d?qyUhHNK9UYpr0gopStvpjq(_%I?5F}U8t*qG=i z6<-(e_JGlY1+~jEY>{`IJ2+esO+byvBY!cM1Qj!zus~Dpp8iBb=}9wsa}2)U@v#<9 z#4Kr!x)?4Zu7Fmo;^DbDWCW=W)YEu?|FHF6w#?9vGVpGQL}T7|YK?qC9Gescj4m>R z1q+lk*e=C$8nFgL$%6iL6WIBm@34zJq3qEc%DB@9m8u8vyBHQAU$1aPpMxENsNXU*pN2!t;&6tl;N$YH~DAT{2E z+BOt4@i|kVJKyahCbZ)z2k>fF3swa-y?HVnlR)Hv+w7e^GZi)C~~VT zYvA|^QX9G$EG_7b80gwIAic7G9wA{rLBNl2&|Kc>7EgRmkpG7EYJq-fRbGF!)=l{O zFvkmV#;xn?qxK_4IC{bl$(ns(h)8lqMDrm&sLj)1fj-=KNNmOm7jT8+N2lqp+EM~wM<91Qq5$b%^3^zA^aL3&n4Awh{B;cVS(m(Z(^pD^NcDG>CQD5)4MtuZ!OfI5|^MkY$Rz-_F zasoPYlr`TbIe}XtNL7>+B))y6-r)LSqrp9 znugs}qMt}Oe2a~E@HO^oclYX$5iMf&Ae5Za+nr+Zg@6F^2O_}dFp~ltWA2?Ch# zY*6gkrAdkj>m@Qa24Ad9hm8i5A} zh=m%Q+88v_8$X6Fx2!RAxv>P>vSP9=3&+e-_If+sWluY;&egCwf9V~Gg{64?FB@g_ zfWZq&W8A@27DP)#-|S!xwobyH#?qK1JV%ap_**x!^KZ zU|7HcNHEs{5*9A;muC(1M82x*hV@c4-QVJ)^BQ#QUza`eL?kvxz0%K6l@aTcKxX>O zQ)I3le&(x?9HZW(Xl&s9DYp~=Bj6>N;KKqR9fC)YScM2C8xQxwwzx{|UZE&zV1_uWfQ_yO!tM-kAmGZacu3@oa!Y+L?+Q%G0+>6=ACn0wZ8CDGzT zHPRVQ!o{H<=nIQn!$B{Y`9vqaxr5GW9DtzUe1ItBtQEq?N4OQaC&0SD@%M8G+GQ(x zw@gjP!+iiBM=;SOv_KWoJ1*w)YJNqj%12>l`NrO~> zSd#sV`WN@_-=m}_H*NOm-@kAFxNQW5%_dD2FX}&VU<7tjM0P*`4YC6Qbc-DjNB8mL zo90L)_hUUPQJpkKM41f{%6*|x*L1t;F3p?ZIcg15u9^?p&|n$y+m;D zHMs#Ufz;Mel$gNv8&ZFyp~@=$zg};x4E$9Non%_+tDCq+3Qor@={K z8sY%D5D|W_2m&=Cds{gx91atL1H)17udsEp8#Mh6xnbR)=?;rQKWc1|`|t!^$qx_P zH@~uzY?CN`$aSW1Kb>hDg70bz1lr^0WRC8`lTt!O{%R@24=~#_4vkN} z5s{tn@WH}$H(__Bz>=3Q=P_4-jJXhVJZMqf6$L-Dujs{id2pfHzp)7H3j42YZGZX1 zV##Y*QaeHo{`GY;9){;NPupy>P`M8fS&(s?j4yAzI_Jw*eLCkW;v(luQV>I}TxMso zDXMoBCPHTb!eR$Rr`;J=TK5f%(j+e@|yhU|1X?ZiWp1WV=#76xT0 zO+^3bfJLbLbL@D$ZzlRW3L*-u0;>%K7_$x-{3GSU)#bn9@4H(+%5zX~GXJi|G53M# z!w^`!$_on80|SVG&?3yKyZog#SWSgOi_(e?M)OcT*fJ2HIs+komKO{}0{zUO^YxTZfj$|y@x??8Mnv%9W_-1K9T3G_%AsNvL^!CoEDr!@*o9aq{26nIw|`G8PR8euvI%Gd=YZL7w40EC_N*zzkyS)0 zs0Ynz%c6jK^5d1^h@x36kuHHT9fLkR(6hD0ufNblO?0*+e2HO*Cg`pre!SAg{4}m@ zywYleBZ3V>C%_-bi&uVpk?tm5>uJg^Gi-vPl2#IB{LPDqBF+s2>BuTpcMyWZ_Eek0 zf%LKqV%|q?B1}^;Cci}W-h??qv`gFoiQ|%=hs-7O`!-(F%Ag!Ht~=C~ac(fnaxyd? zATJWrE{9#yrNxSvOc#7(;UfIO?)VFb1`dwa))N~8b!(E5^O(bp(JzKFE!L_C1BNN(kP>IIPpFV_>v)B%pn z;~E7fqzB`n2GJ#0K^t(bTkIE7jaVEzV;{8GTJszRD?B+U1e}iE{JT?jC9_G>}Z80{v zQks-1Adyg&?+ry?KoteCN}TT(%rAx`*nn6L0@B()SS=u|Atv}5OWQYi2U>xAp|K^# ziF+UpS!grLE68Nmh`@t1ZWe?;tnw*pH$R5^en%B3Cr*x2U?F@EK9 zT*zX;8kC3>X&7bg=eTaBN|96atV+>FJacV;a5+)eXkLpx=)(~FRv&s=h6gCHB9#tw zAh&#rz>ivu`1>GRyElGn93IG2M8`>5B3;4kW-!KO5_J=e9}Xl3qdPIEaKw_I!#{4LmX?;p^DmEEwQ!O&I?C8QA` ztrVaBln;VZxrdBfZ3L2Nz%Si3L4gvd;fTx*4lYQgSTEtOALSktgjtMC=(+D}V2x#E z4J`{6MDME}SOL*18AAL6*z~ij)MZM$>W_tZ6xJCL9iF_+mzgHl zMZmHmo*;61&1b%c9=ow#N z6bA|YgQ}y6Ynkb%bs8QmMi$@M@$JQS1H@YYYp~;@tHA|;0qK?Q^WK+-OW7)(!hMr{ z1uVfOe3iIzD5-rq-6TriK*(KAM>jN5 zyEg@s6$BS1O+m0lTtp36XKDjYl4bZ60!cBKRoTS%abh-If!HJrjX1=*{!haBS;qgx zcYC~;nOUuu!|w%t@0Al{>;uU?WF8qk6fBw@Z-h2P8m<9tq0iV_7Ii77?mR6ptvE->I>kC3+(K!UuVM&?sQH~QKg9i$Q46OHYNpM2Dry{2S zAj{1fJE%w^uI7{}ETPLOQ?6JJ5mzsHMm3d8X(3*Qv-;n}ffoF%{R6DJC68f7mkZo91W{Mg6#SW3+xd}{A zkW?Df!-dWYi12`SxuISGUrHCK4?>K~H4_>rP6!X=6*gAHaGpPkicAH-G(7R6_sIZT z8Z3PP1VaLl5=0rZW)*vI@Zno%86ueJ&rGQeC{px=SoAALxX(^t*tO?i-~R#}Y+Rs0 zIQv7MNR66stvtMQa&(Nj$SGQk%qq8+%mRpbSPT=dVwga;C#|8FJIB4@Y~T`ND7T1t zeZ|b{+pT&q&YA{QaSM7;m*++8ix@@*m!Uya#iux!ra|)rY!yrV5(kY;P3a!2v&%bfL*vD37-gR6yNlVG3-hEf8^A9s}d{^sE5%e$X{ zY?s35=WC9E@x$pSr^C;_%3r++P|dIiMHL6u?S<=TF|if<}GyP>Q-j&d~I8gxE-6UZik*}0(tK_W~ zt{9E(2u_hKbjX)+F)T!-*fLV7ZW>-R2jU7EGqJ|xc9%iuK# VNi!d|&~3 z7+|+kGFoXFu4s+}CXDkx=XhHpIZP#V#+5+y#YAOGm+`q_tCx6SXo`uZ*nffT&4L@y z@HUBJak|j_t^SV702Vbsz^326)F%1z0{;y_i}4c+@z6Oz9^zNkQHOm2^5KY~K~c(p z-Oqv}^C?BJcX1?A?CUcZyNsxEpzNF?@xgJ0;6C)n>6|<>mMaU6g(?!JBB4fv3|~0l zg>W+BW&8w`q)s!F7;qLR{mkcJRhSV$C>KQb#k|?bpO6Z`;M)MX-RDc?wzV-P}25~+$ zh^}rbL}t(W_~|ODhjXpj9WC1wFxfXC2b1tXjGXVCH5;5CA-cySx*uy2um+TJa0re- z536wv1A?Rjw9bu9C<>n=FbL01l#<%M>|Myd1fm1Sa(Pn?nSwT<-5{B?by>bBXk5Z3 z0(!Ol^Tw|$Y3)A8l2us4`74ZGE!iXGOLrij(p?}CX%p2F4Ikl*>LosFFrd!3Xa>ch zxE4aTmO{2h!KYhRsz-zlgXa1q;TqcRi_%)hsrRuV3;<2{H*6Xbhho zlxM`EyptyMDvbCB?!LZ70J7Ge)b*gP7xX4%POp-UGVn93x z$REY@+JH zdsO&2QCbr2K}(cn5Fzf(z9r`gGZ7V_i~)XEl#l_r=Lsa#&=rWiP?2|Q)`hwNdV(tC9HU{q8I^$q zTJAFV01N>C(cqA~gCT!veHdhFSB7DLvg&OZ5I7BF?*%|H)(imn(*$di<)OSx^)aoW z`zKa}Y<59`xF&Wq+63!%DFBj`|LUNwk>=}H>9}A#Y>JW=V8;6==vz`YBB2W%K+uD? zjtJSarjZ-};}KL|D~1quQ1=(Uu=&z;14!RdU7Ir5(>Ts1Wzw+fAq8-@T+XnTCC?zo zBIBkvmIe@AjOM-4Ek!|R1mU8sug}39V^20WSDc;Y5J`l*s*pyIwl!p^_*YQ z;z`?xn9z%iIj_e8Z4A0jfFdLAON#b}Ke&jCtp(Z#j<};k?~MB#qwV~d(z`FCv*8#S z0@-w4SGs1)y}7y=qLCjNaE$HQ6$-Y9Azk5qThN$Qba6;BI(S*qad1hWochsz^aPLlO6LK8gRg#1Im2 zpgFA+HQ9xUAtYusb$Z0mRdaqxIU8s^JT1m_@Hs;)10&)^yxtwv7OnLWK!^MqD(9Q_ z%P)NyQ|{X@M!?c)xzsz+sZ`!;lOKw(Oj$#Tu0g>2bEKSDFK8#Ct#Zar;HUcjEG?P< zQ+DIfb}?px9xW+Q(C8mB$uP2TW`^_IsM*1xoPVEbvQOsivDfHvJN zKMGqNA#=kl62T0K&$rUdbN8&ZWTFJxh7-3$(~}vCOzD8Y$sMBjf?69#RLJ6jXVJ*M z)4+JUn1@!+VPr6FuJjE_X&Z9WlcfQohWfqQFBzsgAN3?8r!XS%Mhuw?q8i>U%7pek zS;ESso}c(3ssQz9v;<%$&3ph>H({9YF#RPX9CASlmsr6K@^wHu>Hrxu8(c{OkreXu z^1nVqSDOI*I=ZWPN)e zMjR_Dmfg`{sm))*{OB)RgVugEo_7*L24=qZXHFg$OND5je?xAWmP6%pt-j@o9r}0Q zd!28);8{Epp{ubg%f@u_(j35)9=Q$Q;Dy42-gx3(nH9mQV8P14rI3p%j;jkN{WI#C@FCja_ zrza8bLjagHDeRo%iKyr}w0=NP{14{uKABBBeHWE+GVScWcM$LFQ(_ zKv1anFrpVhHHbwy4;(QJ(}ye@flhY4kN0#R+JxB!n6~TkheLmp&b={kffi#xAWFsn z*BfI9_!Yge6$Od*@%T8*eyC<>^cWy0I#iQ^^RG}%qUP~)3fkQvN1AX8fs4Y?iw`RC z#!z>nUEGHz39NwR#UV5|bR%7b8+0Nl5QD>$xO{*qgvy94hTP{Gf95JAK z3yj^;IYbi)Q3GrGc|OmkBdlG5QC@6cB2vE9L!&OBJxXOlJgZKC1@ZfWOlFrb$QcNy z8{3gu`++{-aakd7q!DfMNl_kv7IUMg8()Qr`@7yZMgw{qpFc#y^a#}izKCUtJc2U6M3#WH2!bNINNx+sAoRJ{a5=&p|g$9N=WA_(?1)+%?2mIr((S|0EfX&L8WePvpvwHq;R7P#rl(sW2f)BLdR zz^>8sj^uH3o)Z)%O;}?Aq6ibQ-#3{DY$fdGxhaUJV$hJ0;{QkCfxxuZ%kLDG+lB;g z-V5Gr9}>TTu@Djg%>j%TOr{s)vDP25<$MYO=ljAg!1yA*uqqQ0c1}>%1xBR{hv@?- z@I@VlqeTJ*lE?&x*a#=z-~#`NG_EYfv{wht&erV=lS)>AX%$s4%Vx75$O^z4t}b-Z zUC2w&UkYH|y#u~-ex~!yCStl+gKy3Akc|IEb0%zWc0 z$e~c>Ol2@8dw?*5^NpE7pP1pl?hr_x;|2|?i4zqts*n*MnxDMcMRA$?wP6s24t%Yw zB`cG4ghJ5Qdy+=NVz}APV;)IHpj;go&}tEo>yc@-7#LcY*#^vy<5&fw;RAHxg|+H~ zWVjPR01B+BLYl|~Im0B5;-Xz#D?mJ}%tld+SP-~qkNE-+gQ8()TJUpnAQXP#<+a*a zgm|<>A#60pGIygT8cQty8UxgLiuL6pVlof&e1&e_v!OJaLjjU01-}yabQo#0c*P~P zN!PVggo1goFh^?J0Gf_t=+EBCB%%V0oeO=#G+OEQ)dDc zT`eQDtb-JjJsZ}nf`fsGof2Y)ncI#^yv7Uyng;G>8f#cL9mX_rnK$gKINNIi*;dg> z1_>UL&lV(ea~!Z?V!|E;6SV>K?1*rJoUJWYGw=7sbk3g+lCgX5=mrVxz%J59H~1^+ zkMb-#W_X}`?u%6O#*jfMniVe?NqwCFw#s$0`@* z7A=!x)%3ymLtr2un8nG@dhjT0oO>$WQ((ZPb0bRb%(&QI`&0)RsF!d15&kZzD( zx@BNc2jBsE@cU)h$fqA#9^UbO0s1)*)8t}K`EO|5cFP@I7L}@O9+got6iHpz_+<$a zkvd9P3D}XA0*U*Bn4$n0>DOBgk4|=0UYD5WM6Zi~9aDlDv74NtnY7l8wI5Y&H>>GdR$n8}9N>zM_ zX_nlBC*`3A_bt?5$xTjAJGKfH9}y@6bUG#aUC*1GUbfU&bORy)8^R;M&XFl`V%Iq_ z0sUxm{5+=yWHa-oghpLF{*Rv}UPB;fdC&NRD@Eks?kZe zIPDA5Z4RF2Sg`(#bnDn1mS{<#T4TC_U9*OhZcZ*p%jGd08MKgWbe1GD9VusVYMGiG zx~pB-k!x#AE>pD~DfvAi)!3r1YLe|8IlijtXyMPyto%&NrR9!wmZ=fVV@5QN8G%k4 zvdyiT)KW!^rBiLA>yr(OOGl2*0E>8PaN3YdCEHU@O)8mdSm<=7+ZSd#+MQ{&&WXv^ zbg~75XW`aluDz}`na-6>Y)a?a+DA7hm#V2t)hSCyl#gAi$_{iKr~JfnT$P`AVEKu- zE-PPpVEIx9kJ=aJvYo1~t|he;ZRFC;DJQ!mm21l2X-lU!-A+rYQ%&tuv$9K6;}X@d zL`_|yvQ15GsrJ!JRC8Th`ivAV?2`k{eOtC8*N_5OyvOL4DE(x#cMpUDm#Vx&b$~`% zTeG=#%nm6dlX99s6>aTF;4#OEZtZASZpVU-wstio+tLn*oi-pO)9BQv@H$Nz#PEsR z7W}kk+uAc}Tue>2C+m}KDQ97_4V2-ur*h5mVzwD6dejrn4jZ!#nG{j$m#fWYL0|3d z0I3me30wt=6>P4vv1zAm<(Dbg5FvJmx1BauxFiX=tu>Vag)Q)hM%*|#kP->2160ro zrcE_wmN}gZfd$ZCBg+$){1voSHMh1en}a7ah+SNyg^T%)_$7xYTTr^GBO|EdWTh8$ zWINix^HZ}8ZC+iOsJezEn#rZon9^KpF4e9dw6!-@R)QDp9YjTgzHVIBl5Dm&Ae;1p z7R(?>A=j>^u7CP#|tO7Wkj?zWMwq=T?QRH4H*zrD(7h0bu!7^0^GGP z1WuaLm~o=~2z_bmg@&w2!oF(Brj|CO&~L_>aHP}W?7u($On|t_fzhXAJ6hT)9o-xT zlS%1&Zv;R9UkYvGk`tC{0mu|r*$zm%N)mv)RlEsq}({fk!jP9%>#fXjkC)I*k)0>}YS&E#Q?jcr*>H zB{O5dEDPEfwmA?5%DyAePVhxX%i@-7XN$8C^aSiSWs(cRH5x%Y$(DwceoCCzwP)*q z4b|43>u3N|=PjojLCLYH%)#lAp^UZ9_kB`F+LxW{+m(WBBmZf zO5+9NX@ziCP#YK`NWG;alWA?w)wQe6hJ{J~@@KsHtr&-k4p7LrL(G$d$KqmMyQ)PS z_)8r~9g>0;Zp^0INDr;K?2(CYjq)~?OJgeAAem+SzWk*e zl;K-y(PZHOVGUB*KCfxdw!&EG`hu7N<<*D+@L%WJKuk+u4ipABO`X_GBcW|sOSWZM zbDI)T)u!4Zf}4{q%PjUNs13=WY;%1!gEGK@hv_!hFJPQ{VFyEshE0HtM$8tVNVcRP z>4fDmg$vMI{W37oLFj5}y1Ap->#fO2%IpHkV-G!4m&#MpQ$35qY071rE%G6lk{nf= zs&u?Tz@XC7r41TZaIbla8Xi4~0LwNJZKO|_2Ws}5x>;53TnC^#xSlh8u3J;(WLp4! zLkBpZr5#sh0s(b0RC$ac0ChAcZ;GY{P+hjQGn;E{Q^$ZkL8-7?oFpxc>L z(F*KFL`YtVWS~qEDv64nWO@c>(<@H|*0mbVQ%8L5fQJn&R#RTFGqOIeo11c})9WBr z>N?s$s&x=R?QLJO8EEb=QA7AVsqJ3C0S<(=O*f@EGVlwOZ8J1ndujpfV{H_xW{CJ@ zl!NBJ9(FYNO)O@LMpQ93umWM?=og~6^raXq`m)#>LQ}MEtfJYiBGp=;ySW7&WIg>f zA%brX+sx@F{b~$Bh|R8_MNQq=;xNFT){l3y9UY&_wRunbR8zsXBs02D-&v`4kl$i` zS7NKofcnypdf7*4o#upoT4bN<+uqY4L_2b+c`eB$$#jNdSik5$moiUZ?{Pvp)7Stb zQr`}+P0Y%+Pb1aq$8ne@;U}?qEuKV5nNkC7OfFc9Rf6yQr&VOD6LLukV+BHQw%3z0 z*?N2J%@X8>Gi%fo6CfJAnGWu+L}SIxS~ytWKx~W|71+mc0V^W0_ zZEtQ>O|1&BD~t_3VRN!o)wZe;)s-V=R*tA~MzpGAM|)OG52#~Y%}l|-^b7~9s;%g5 zTbyo%<)gA$mCCBASp^9wrW4&t3Tm~iwY^1K4BFBJe$V(f1x$H3d8tmQ z4$Kj4Q`T6J%8s`3bEmr4dJV?bV*T2MDOfN|(qwPAUz}@VP|TnD6to+(GdT{Tt;|`L z?XaF2{JM!kTgUcunE$iBQ&;D%kT4gJ+ zzATy`@7WsS0%~zCnM^N&0$Z4YQPZLtTU1MulLBM0ML`85Gx*JQpnv?r%ZC<_%Y_{+ z3zE>wEouzBs|oe?2W0XwVSDCZmOF>v~4mGm^PzIF^7!l;75m+IHMghXPiMNb4GL0 zG4;g&a>HI|WhH5EC)R{Eox0Q{&F`${@nQtkVs2-^PN}T4Y)7l5u7NIL7ZXC|*9n>| zT}#WTYV@S}{p>=WnW^?9=XO^s<%4CURac1e3x>vA4`L&)heHJn2ojFA9bhRfZjB#a z*ijwZ%TDSLOWKO-QV`KV)tXWD@RU_^MuFed)Gi9s3F=8z;~8}DAZo-fIbH$~p;EA! z(;3x{AVx-|nzgl@YN@P*3IVz2C`^rat>$IG{#tE{Fexi@n$zF_6oCOFzyZ78JS_MtXoOqjvx1?2TS~aH; zFKC50fjH3d%oKw}nB+6h6nnl)h!a7PG()X*$y_eE4DrX#It^7oEO)fD0s_OkU~d3| zsH`bwoCpYn>a2Oo0ixWmRDo~&)idFJG%QRnNg?KvY;?^v!f7e0W<(ac zvYG_YHJ^2TiD`qoY59;#Aj)Di**K;%2k#u=nyjO*wC%wuX70Ijumz?#N7 z1+|{|0itX;JXpZ8fC1{!FKkf1z$>7uzEG8VSpw8cZPhIjJy5X17jz_nm>KqBw)IFv z5x}*>s)K~45I8e|I7a^HcaT(o1=PkUJ-Z+!Yn{~P$}0A7Bpr@+;GL&+<*5z3ntct*lJ8S2{vb)PfQ) zR0t92$OI>ri%6IQp%Y)5aM^7Unl`~j?X+7Ez35`W!N7UkLCvGVd+k%wIm82C$zpLJ zuecUil;vtkHr=QsrbRdn=Ka+oE`NF~+2yU}O8Y_J&>3Vmg4=dpad9$zP zK`vr?k`9Qt0YV7038HPsDi4$`B%0HPuoTIb3&B_#N1WTRuC|T4M4D5L@KnSfmcjTv z$%;`b?_t130zS-&8Jd_$hq9)1nJJ#uN|%b+6XZGM3{VP+^#r|N=7*;dqG{{MNaR+N zDu(Q7hp*atGlMk$CoPA$^M40%kmvt*ty<;!ziSaox75}J8`OTRu?l^k)N)Z5hdDUS zyHeM>gp^*vx(Li_v8*i-5RHkD!`9J8f%n3**eKK_&;=AB4y=TDbMS1rn2dY;-BCym zF|LjrmaWwR9W6vjqk>)8D8iy{2_rm=HFYML(;)FA)!cz#kGOaCNu{x@>^+Q2m@CMd z&=o2X9-(c5^)2{>1v{v$WDk|FsMxl6Ho7P{2x=UzN5kUE%8nNK4Zb&aC0a(%v{4}m zMz!aXjm8{=eZ-Evn4QM$h(_xyz~|!{h_@8oMU2BbYk_`fP|z*)_(4EeArnZ=t5=YO z^ioBKzV98$v^=8_W*mglmQkJ~R!S#0SV^%`i1`?ONj`LULcU;Q0 z)shv{RzSBc*mwHZSwMvbLrby`yzWdmPS>u5u_gP^;8oktPIu zyDtIjcdEsr1tpwffG%LZwIvakR1Bc012W0x`o^S6CgF^Dc|qUsu9zWo@~Pf!;L?yO zp0uWyrZR}2a#8SPHS%OQMs;=b(VjD+-Wk#8jF@ht<|nB+vumnP)EXNm2BceMB^I#j z;0z@p?d!6w5F)bt$slhlY-6m7y0fMp#NXL-<%bKVa-mmC<+5r)HoF$vi+zcOEEcU*&34rbZ=e5d4Kfm+4}-!HWl7So?44IuZYKcq%npO`VMe;aMs;MOK*nB*|W$0d*f{}4cMwMxyHQs?5woqCLF zu2%Dsho@R7ChO8o)oKO?uBvBEQ%kDU)Rrm*@3(Ho{F!du%&M8Q=blu@c~x_()NK7~ zYW3WzS+!H#Dbw}+lo|7CYOCh@4|IVUvu7VWZ;pOiUs0v%%d7H;;DqWKQ>VCdrz+5% znmR>|E*n#M$|NNZsq6?wgNV~`VYRcIYdgy0oTEY^K^@nq zTar$7PLK?ziQT@2Wf91P>b@M-7`uPzHL}A}vc9*2Mo<}vE8Q2^*?T6sFym#1E$p}e zn_!B}4x7*gCO{oQugL0m+eB|7y06LQ$cZMoVS>I1hH-;)=HXKplMH}hxNJgRf$rJ~ zEQC%}2=%uomsUCxu*SzF4lFB8bU=U(gjDEZ;gY*n3Y@(QZS7Jaf)<3eTM}mEqKct;i;-3DvWXcV|>j4a}&2iS>AIqRS>)%Otp7B@=rPJb2`0aq{Y5;iTK!^n5#^ zDrVv8OVogs2vy(wC2HuH=?*IxV8ys%qKgNr4aJ>#q^dz;@9~VTaFwN$X^}_jrLFvj zR@Lk%)L`l#1m=--tRp>?nntmtGc}O!S=yLxJW?Hml|;C+e&KKUmlFe*f$Jmv#}fjV zf$K5;<1+v9K>u=-f4RSZIl{jj=3h>L^^W)=OtA?n-8jJ;)r1LZ^aM40f;vK-48yci zIVXE6s8Z8VAau(>j26gsh|aZFj2#bqM;$WD1GW8El$iV5!~gx}1JS|n9e zwMg*AB#G)cFdoB)GNBr{hkm4Ar;?5~!DATW5^!loESmG$Hd@KFRyQt1gwC_UCSn~% z7r@ie%0xHkwC8qEs3VuzaRFKA!wP=aHYgjUBjQB|%q6iSgb8M8q*F^UHc593VhxkU zg*$|o8tdAVZHq^%aM%>#r)HW&SYkmw5pvHZCD%(@#*+YH$h?4v5L;|xGHWSXm+&Lj zV;TG9!;ubGI~aT)tpb?x@Hf63lg4$MLRsjg6{FESHoADkT&Bv>EoJ^~nJOK5pnrdm z_vS$V%D)`tJuI6zN>x^lQlm#nq?&7>fn`ys?#5EPT&lN!2(yk&E{Zj`qjR^DT zCH6TVNLuY^KIg8AkvgPm({$(rI;9fT*P9kHsit<6fy&YRwEzo<*x_JvDQpI8>EznE zRaJFU=FP2{J-2Q~)$vs`YOvb6B$a6!X{?=6Szt8@Wg{t+GF&eyWscKGRm!|j{3IoJ z7y14ULmOCeZAguT*av^LG#Xg_@bA>g!g_6(SlG&tk63&iY1pIG1Oj$cNr#*{W{aTF zOJx5^wyCssq`%5U=>Ul&yNgPzW=|XG#UE_^v2>)GNweHng(DI8KVz9rey*$pvm#}j zLKYbtp*Q4oJhFNgmq??V26FVazJ!WHG1&2=Xw_0!7UH>snw`mB5mL7Y98Ebt0=wXbw^y@AQblGBD<2rN=Dwwz(6EYyIpNoGpS zU($CZvA1+28Xi7UIU{x4pj653rcyPVauWZ^hLutxT=G!;CwA9HX<(X4J^HAT2$D&4 zFZGE&yg*s1CYCC4WVQ*iq*NVPR;ospGT1MUg;PD1(~BsHj>}Nfv;rgWJhqTRRk2 z=d{Lge4#0bg!iMjk6;gY4HomURj$J%z};{0P%h#s8`$@Hw znU82{3aE!_XAgE5A(e315{2(Y-poFzC z&%pXPh7c}D{$|6}!n!V~Nn6z{yu@EbCQ;K0*&UM-*Q6;p}PReFPtwos_nSm+fNq^s3UTrSQ4tEX+Z513G&#QSxA9#=xPH zEbhRQ)a&xJZFQau(*Yc4E1jPJDZyK^|IFkvj7`}c4|rG)3#nSi$|Z`-oPkC>_xH{w zo4Dve!y4f}?= z8^Y5BaMsj1hM$zKpYkqvfBxhWVtR<9)G*(`aRC5+7^ZP0Bh3waB4*nD|DqKiOD ztDI3d_6|iP6(pM*J{;nZbL1y^XrHML3ttUdGwo*6el*J&R~cR=+Tg}5+4fwyo0@en zv{uEzqA(!H_3jk)%ttYG#uTOY`ZT6yRh0WN!itJOtg*VGs!FLFQT9rd$RnvZOUESER<#lz;kAm^XjfW=7p?Z!0ahS;$tD03)S5fX4tF9Sa zS2gyqP))liqcgo&f`wS~a4#4o^{NP=lJRT-jQefJcr+}bF2VrpVsB`7>xVI=(1UGr zY%tPV-N2Dl1VVX4SQth;usD1WxLcA=tNjQu{;wD-lVbPM2%ZPvc^YMEfph$*rKaq3 z+#49i>D8|4aP@GnH5EXX?RTnfGo9Z6p$}lwK&t2aJk*(!*I{?%FZ?*BZX=xd=SJ2$ zcGoJh-a9BCG4+-JJ8a`+JR{!u+Z*Es&eF==bYUbu%|6cHv3}{n9qeC%Y|lR6hB5%!Ai z4AsZ#o=s_r+b%YeiDZ;TI1KwUU7uistlq+5d2yb~Ua zPro}9Lu1Q{frfUC2UoT*LWGf1f>0m33#d4BM|M~tRA@fx27;a8DXyg^J&vc7A+VGF`5yCL9Vf5%m3)U0uOp}FE<8zHb7 z+rAh(7ds^3_vSr6)ZS~4sX8djK}@#xILY~zU}VnLFz?1!oAU@N#%Ei(-3iN$ZP+a% zo6J3W%$wp6O;wDuO%V9WaCh_Ob{D0x0qBsKHQ2!xw)1TZ?rqmZ;)!CTc|Skwj1%Xp zljg(F#^Wa=VsR-o=~cXc4gYU3<%XHx*YW!X{{OSNFEYPxn%}>eU)%m$dCz;8`@iNr zFERI9^PcxK_iyJt?`7`)miHWPoBZ>4{Cx-i|3kU!uZ_eXJSW1T>Cx%Gs;H=_XV0FA zL;{DJO`0@`)vhQn={zXe_n&tk*Xu`nKh#|E{q2id552bG?Q1S?ylU*qm-_yE!^_LQ z_V%+|R=)7m4-cGiN3Z+Ny!ot>vJHQ|WatB{8WVR8ea~6HX!_}Qz5l9v|B7!t^Wr{# zfAf{*<8FUu`|rEq<9~Gd z-B0X(?R^`r+7K=6xw5$KmKS>eZojwVH-Goc?3jKt7M}R4p~>GIS=MyND);3jJx+fq zaQRYjw|(!tn@|7x?RWIJ_RR;@9Q@3Ntye!figvt^is z%SX@b^U8$Ni|72(jUJFl#P9!()BDj8w=X>5*7LGXuVTJvV|Pkldm^&6`nePQJA z)tlDecK!3e-}A^@Px^MB+eRO8%6)ggM*tkAC)V zzwUhMrvvwYsp#B6FSqrNH~e|U5sjBkT-4m>`uU5_h(FQy&7XeJ>(T?(soieAs^nW! zFWvp!r>^Pw-G%Q(zV@GuJ<_M1Q2)_m3sTEZAD7wtuRRvGEE)XFf3_U>^!MhU@nYif zV_sR1eeJGKKG}Bv#Z&ITbI)flUVqxwYo2@VtV^H#*+UyQkDvSAYqS5g;GQQJoN(_i zUg>fBQOAzEW%`Q;_SrmR@NU2U@R-=R)6OVzf4l9p*XF&p;QDPBw^S^Z{$&668s53`nnfMEUD_PIp+~PPj~dta@8>Nj$?b81 zDn93!2QD9Q#)dc69eDFM#}B@v_fIZ<>IZ%9fA%kTZhQI6VXwUuf99#DzccxbXa4o^ zt*Irqh{|8da$-#&T&yFPrqbA7h+=sWj%Yktp_t&4X5;txmkXgVbx>G#D|sqd%P z)qni-7mJfsPhTqu>7G_VOX`-FM&l8}I%@`K7nk{NkG1 z_A4H@>F!H=Jpad$C%jtwz=9X{9eqaAts9O>J`^3i@YKr=%#J$j{`hS_ySVpn2ftQ4 z|DtVCeBwkYw_@<#=hTlI``enb1B)KcG*)fz{ML7_n}7W8uW)DgJpYA9s_)tO-fN=N6x|dhj`W-JpK*(x+wXfBe|E8%{m7^Q|G7%ond6 zb&D$w-!^}gb5O66c=Pxn{ofxq?X_DE!+^zfmV&eIru zUv)wKr!9Y|dA+mt)O+q8m|1(xb4OjY@`rt|xMa@i=U?r2!{fhy>eJWXx%9D5KRD(2 z`rOdBmMwnu_S#8nR?I%>#QuE;?Y-~7-Ct}Szu!;XeUH3u@#m?x=D&63h+dDK&^Uh6 ztZUX?5_x0I`Fjm}{JMir`~2QfzkYqcoBp}!sN2fU?Y|~-ORw+zYQO1^{%v5*rjgUm z`uD=l)EgfzJ8I0G)At+KKDgJ=Lr3*5dhgzvV{g4^`rOu6Q_Cv0opsuO-hb<_4{ZGW zKWARD>DeRKKKA&hiTB3Py6FhFEn4+cVqjM{`23D?(6>TH?5i9EO$FMAN~BeANF{w?Ba)SSJ$psG5Fqn z&Ua5g`JVX;S8wf{^1=(5`Cpq|Hn8rjalNlB8+^bkL)66nYV}<;73Z#9Rln|nCu?s1 z!Jvn?zjDI%Z4X^`-NtRtUh%?*Z{J(8?)r;{+`0JGiYrHL8+G14mM#9njniA7&JI5H zRSDV(BJbZRT?bh1isrP68<^5ZtKi_!6;02egDBpkWnvomUJ^bb;YhL}l z^6~ed`{w6cpSXAN4a+~Df6I?1_F8kx+2dFIYW;pg4*J)?l0(N%8}+re&We)TUT>ZL z!KTH>jXQVR8J)MB+A!<+PaoU;t=FG={PxE`xoE}nTaM{}#joT0UUbJJt!sb!J@=j! z(@xztR+1UN&qGHItT?Z4-_pseXD^7|P-RYSqO!U7Tye-H zTkrY$rWe-sc<24IzH!sW)X^=MOwWv2Thp<1T>r`&N_y?PsCK`e2d0kd_vW(euDEvk zz29#de96xb7F@Qge*WOT+unNNzSr*^@Y$y8`W$uc`TL)B%OywM zwcn=Jj|V=MK4RKilh5e<{N&pgr(WJZ|Ez}(>s9m5CF7@mbo07i8{S>h|7Qn3e$@H7 z&-c5O{D0V@jggjTR>V%ae_HhA>wA^_edA+2ZaMR!qVopLF5Yn59(})m#FM)}cis>C zyuNK-@5WE|=~Z*-=KsguTR>$MwR_?;NFy!XAl)HINK1o+gfvKZcY}y@OLqwpBHfLI zw1|`lA_x*9690Wryw3OCJ9F>Mz4M>7W{&IUbM|xg-cRm$-lxj$1@ugA=FVjE(nD7@vmY z0?#X^kw9_Xi*Q+5QDBzknP5!(;GNeeXhOoflA>rKVRzMpI)u$s;6$_u4fyPRGx_MpMPnLoh8$|@v<*u9 z16nG^I*;2FOHItuhG$HUsCO9;NgY|c-D+9V2aeb(^Z402o~Ao||D^3$r9LgD*V#nkj3=@)xQGRI0{ zQk}Fxl9F7b;?CMwVz)QsB*>zl+*7gK*RX)&esH(NRqMvgE6wPR6ZPgYA+=RJAC+mp zHq}kR)rTL{DRskk%ynwQ3$%ISw)NqEGU+{(vNy10uY43h!n^Xy@%!@bSk3Buq4Szv zt?-8R{KY3Oi^h+L7+&iF^7LP^DA#v2v+}+e9UAVeud;8xjo8_W;w#^7)qDJTuMzjW ze{$k1%O>Tb6zRbw3-+y360fWVc`r{DZr`(Tjxa;b=+kCyL)V%x4}x zI!$`|ee_cK*iheNUW>nJ4m0v>L2&KvyOtxzr6<|7A10}e-haH$zc`0(J^R(Xbf#hM z>r~)N)@g(S<8kgcITKb68*lY*(N1Dt81ynEX7>2qUg(n(BkCW~)av>voYb8c^tLl; z6Q`r(h2n5_?=ujo!GV1ov_ThS$&q`uVWYR+c8syUhI=EH{36c%%r=%yf;pa;aVsJ7 zZc%c%hH1*T&(ul10n3Re{VmyJm3~>txB{8Eo~O@g?dwx<5#7_|n>jOlCl1m%cq5-8 zKe``nu!0fu_{rF_FV6#_-hG#N5+sKZSx?g!5n-Ah+>WUov{6kSFtM;0s4`Y?1x=JxsS(o)%}}HFK$-YSJL%WRuBd57qf437r8xf zEf5!dRoKIHl5=oRD7Wm~C;xd$Ti&>HPyHuiq`J0Zv4+UepjYVcMql2k!KyXJlB;=O z_N3a9dbatIEPfNxv3etCX58z#sHK+RWzyCKgNN-qJgIHa_&2j?X?!wpqipv@{Y|YD z<7ZrZOZ1j6Z0u9VlM0D}4(|_@#r+odP@G)p?ca<#_*W+36XCG_d{rQtHBJ=HusL>1;+b<^ z1!Z6Lpo|yF-4|Rrx&tvp^%i$f$6>->J{C}6M}PDsWpz&{G(6>_$V7OUS>3YG`-jTU z#zYyp-NUfgKd-rKt6|LTh*`F)p5&e|@AYJ-$lm6leyFUKwR&tX=bwOb)bCp?HcixV zW~(%w&CC3X=4mfca(0gYZ3beQ^Cllkak%(rhuGgYWlKb~@iMeUOK2Km$vEGB&yBPi zbHl?b8LC)8_HPR@>_(b&$T4_DNV=iZSb8Y@0be2XQ`f|DfZtpS@-TdER5lP z%Nl2Q%_u!M1NoJ0y^^gAGw}h5_olaO$p2Ph5>s2Z%dSaIvN_454 z$IcN?stCUF6P$AnnEM@{^%zJ?=XVIy(jvA0JfvsmM$df4Q`w zx?_ApI(*^N7S}*fOpL=+)(&IM57pR5n(IMAoZ3RcH=Y%5*l|;!bcSKr775iCtcbOC zhMgg@GszLkD;>Q!aHHl*#>tBEXk$(#n@^#4hJLe0F%!n0wi}insm0vr;@_(GnwN&LY@uoy|IGOz;+duihtZE2 zYJ@DS^wy$Q{5DGlbvqF@*4@#V4y=u(74R)}TLI z+RVD?s2}Z4u)_0(jjyy^E(%9#LlmAeFu2(*Zg~y&SWov{XG<>i?t^_Qq#zqfqq|dO zZ=UpxmGb)ui2Kjz(|6m|M!NaT><;zV&yeY$*5t0Nlj9u(dY0UueLRf&64Sk0FSqNp zV4ojsz(r~1$25FeG`<`@J5|z{VgmE9F2{wtEKBw*a9d>80x27ld#Hfvwt4D-QCLr;IFCyX)s2FMKqb6`73W^lntfNriIGBn$0zvY zI1PwhoCx*Xs)A;5`+n1nareR+sdD+^#4|UxSKeuM1#U=_=V~1DcRr?9G-69Og~gRQ zP>uV(z*)hN6Stibxjz&BV8WE&r$*-!5)Qc*yCaR9_JQ^f#{@GbG;ZoNYITap3+GC~ zS=`vI%Gz0-khh;BaDy!cgw`Hxiru@Z{g{SbwjTcZNv25-<3{(V)Uo`9;W1nR?+s_f z^31mqB=xoaXpa*{o5c?HtcBEHy~E{>LJcuNX{v}5_d*NqD08F< zzomVzNzt7v?c6}EfR*;!+H;KfrKb}wZA4BcRd<4%2=vQuGDizblnUchCw{RHdaEbB zx~q`hrFT}FXT&lHN1wTDOft4S`NMzkWzUP+o52+6PHkAyYUu6uT%7j!@opc4zum_y z&l_wD>N>PLF|J*jfQxy9K`rb@D*;<&uqsXN9^@Tgy-`D*78d<&jeb~SNcvcfz+7@w z6v>lIs_1TzO&`4a&*Z?h$>SF863w5%fqZ=l`UEaCE^cxMm@}C77#g^-8IUG&FwMU> zxb&5G=oclA2ZqramTVALPf8oW{G>OTuyI>4k|J2F5pBqTC73C~89K(xT}x(iOyjfb ztkzUd&Sr3+Z;(+u9{GeS{V|+hQ?NL61G~SG&&uL5>>hHL)|8gmr*nQ^{_qr`@T%{~ zDNeKX47#r(zEcs7$)LD@!$axEE}$xAbT$BrnyQldXd2EiS9czsjWG2oZ~ERV zN;9ijvU+UyhlqlN7Wg0erwd24HeDOOzv#_QiGR0=zh&L&I@R1foq!f!UqzynL|Sff zMCDEPzb)g#H}Pv1%934P5-_A%tdLaJL9#LVl+00R(vzISo zvk>h={}iMBZXJGmBAyyntBXB_k;eNMvOLTFT#3bFB!}tb(FH_Rg*|kBA54wk93wnh zx=p)d2QN9^=DD7NsS;AAufij{G#R4sl!Uufi0s?hTn9UWQQD)!nr zY!YxaOPdynti3utu0-}iK$)T+D=K;^2k*KY)GW1~O`iNpqk5fY5})6nxFeKl(@fKq zW|(%R(C&My-AsR@voqd$<9l<5yB_r{M>eS1ScCHjJr?D$5?vl6kzTTci61hO9yxBo z&QA&H--L}oTPx7jVnk)?u6l8rZALhh?(veiua?wWjrVmU=EZlE7<9FFll^C<(&9Q^ zx1v_$DN-cU?&*Ero?TEDc!HB2^?q4YCy+Ug8NZU}M9w^VK*5`d1iL!?aR?uE)7<$( ztV5K`#gcB-Dq*QZU&9y$MYDvhEJ1CVFO^HHqWk##Pm9;%4Suo!jq&-1 zkXqH@VTr_8Uqi@Vc6qa^LE zNQv)viA{d2p3)FAiO4=te;TA8Fd=vFO=?V&iWng{LHUSY4EJsXS9l}q$~)(zi6uJ@ zxS+x;2LhTq`SP2txI?$bJCY~-Ucza;Gcw3DQPmCX3qqE++)Ef4r5Qseic33gmFN}0 z?o=+r@(lbg9+N4|-JGg`OM-cG4^%f=@qPtP+7`5B#f>3K~* zI@=EVd}i~xkMbwJNfGC2_g!}Hv8CJQRv2!TJ^riAMip(#?4);ZMvWQI)3zQz3bZRr z6f}4dnfdfUg6qmPD5A#V18hUOCai+Am*zcxWu1neAicR6X+LVLYv}Tni$R zBw!dIdLP*ot;_OwJT_5h`YC5rq;&QPS%(m_INH}V!c%$q`<&|nA6|)X2mAbZ7iOe~ zvQYNTONm9R^yVjG;&}X)p*Kr68y{-FvPMe4(uI#Hi+Ci3a5~(b%anrRlF|8NLiRbA zztD}kg{=qv#`7x1{ix`rk3CY^N6LGye!!?hb1!1T$xeBGYm*a~R{5})T|iBUcibfA zZgH=L(pT=cQmIKwj~oh4HIU(4taAE0jAo7Wy+u{F9AuB*WG-2FrIdDldMduB9>%Bn zzA-N0aqR~0VJRkpSe|EI=_IEH*}U|(fbObpo`HF@renVx%<~&a37=N@8NMXPWeT>A zF>(z(u4kmyhNXFM@r>--ojU}f&x_D)D{dm+LjCEkcBbq@_i)mD)Y{y(X>?Pa3`I}d zs;W~WDBD%;NKmcNq-3KC57WEuOmwXMNt$>di{4R`?x|&L?eJnok1g+ZbVlIvPZ82n zT=bHC(=z(8Zu|J2xY-`SbZq&1>~|kE4KQ!lv_Ew#*J|m?p}h6&GeLy(iV@qppOF;ydl#=)-st!|=w(|N_|UiQ zGgYIQRPdvj>O~A$OT9S@N*hj8SU`g^*OShz7jaB;B7X?;|GKH+U*AAW~;A?Dn(=P9z2iC&3aJxLk;ZY?pqLh9CQw1BFY zKJ?rriG<<#Yc)B_u9SF^aAA=KpI?bQc#czREi{E}sOXgLRd|ohaq?q7Y&xzp>Q4PG zHe$#_5+~{@y6I1bY)L}g&xG5)o`M@$ehro|exwD&?(R-E9u8~M zXwQ3`_RUZ7(JkpWHZOg5$(!Z!6P`_d`C*(;SbV&7ukV2Vf%ZXkTJs@1A>Co=JK=Mi ziM;bZGVxQngb$}{kDNEV!*(_w%VU1s=!yNRfD*Y82}ig=^X71+Ldyu zoV2g_O}uuoseyP^uEvKdv{d2J5Q4l?wgt>)O!(O5f-&b7X7Qbtz^8}xlHpeMyZ0ks z8ub#s9KI17r&56#cWStk?7Him{DImk`xfJ2cJ(@8s;E_DYElthRK0(56h*D}(^!$d zr$YN5LN0%bhdkiV3to6F9PHq_5PC;lGBhr`IEWlaFsSZ5_t<6>`I>{GiXA3XJI0Q??+KNj)JGJGqdr;bCGTY`>wXAL5hQ zAIf~P*{u`k)_tIu)Z^2Q)-!{}FH_`IDudo2FBU8?CB}3(D);3=T~3;-T4}I_P07R| zNbg=Lsos{^rLOt5k?shChuRI+4Ym9g#0M<)84tqpN!`ehg4|vW8953_UOL7{Y zGAZ>@XAt!xj11;$f>)$D)M);GfM@rZ}JN^EwOR|((3VodApk;XIRTuTkx*IvTrE##Ls!gIghSbKf;YWSI?2&sXVK@As#=WiBjH<+RKl^D)l;ROA#H1neN*b!MSMWC zBF?_RTE$5(6eSiKRr$;cPte877RemD&5wj`2ysp?c9b+EPqqHz=Y8jQh-zr1JrXjs zt3OuX+95J}OP%Uvi#5cLnCCf2@c%qd=*)eCNh~{PLyyYfQj1l@9e5*6;CV}K{FeS< z;HQ8$qe=$yql4V1T%||(uS{H$Y%!0?ek%4KI(X=N_9mleuzxVfAhBKp&y>IS()Q#d5MyQ>xWSFUTM`xv_{QQcU-7 zrm20cUQ~}@7^9_ZZLf_XS(TPkveTre1`;%Yu}d8P8i1(-SNX zdW70<&$Lb*nyGEe*!OQ{2pw(ypxM%W(R=eAw$44$j`Vu5Dty})n=5-w-=bKF!`rl8 zEA+va)rwc&ENm&=StKXKA=wKzc-QVP+YJ%IRjB7j14hsxhG`Kws!ZZ@|T zU5x&&)K84)-4!@FX({nM{ps_nor*gsx0>>9?A~;zFKvZ4YVv=hmo%x@_qsF4iGCxW z>L%mKoKfUi7*2BC@g(>CLb;~Lf!TU^aPkOrFIX(MKd$UNLbOJ%lUP;9WuAky%qW6%xP?%&!c3s<3IBsd~a^3-KDe?Dj}`M$isYxsr8e5eXbzW z2t|+VVPX`!c`1(^KkFXujpGFQNTa13ksB^6h9oYZ)HL6&E@?f~@M29S3L3bzitofp zA{@e_O7(Q6dio-ZKxxvk*7{|2p`0`LGYYh!Gjv71o2!s`FZ6_9+LsHWr_1?u^ zrdqq{YdQ(Xa_z=(CzAwL_-vAv%^<4^~5m%Gf=nQKq|apwbuH{^z} z75su-%Pc$zcL-*QaLJ@RUe-(%J>ouAP}KBSrc0}#xw-GN|M(Rg+T*&g%H!{KrhK@e zxJ~oODuah?ryb5>qRHy4lF|AH0{nM8nRpq-v@A2dQao??n51}5_`&DjK_6J0>`;Ch zVLM&sS>UL74=xJB>z0Ve9-r&yi36F*S30*9Cl%4o5DcEsg;Bl?6X2W*3eCDGd4kAn z#^xRZH)7?|#X2~^;y>QK;`$L^m#aNf+D%u-HSmc^?)#TCANtmXk(SWy_g&YX+eI18 zJdum;8jSpqUU=Fl!bZ)vjMX}897z>XL511ie;M^9{g~4AezR^fWC$2bfgJBeEvn>emQt1inFD^L6;9H=uj^1gK6Pa< zIoUnyLX3}&3X*KDe8~HZ=ZzIg*-!m680vK<7E7+)oVZY)huxY#y&rzIKJVCk^60=w(&S zaI0l|-~?HN)wJ-WKsnVsual^aOKAMgP*P$jCi`?y5?9I{30U*8U3XiH_u}KdHRE>k zarP$rO8mVX+r6||II(>(#oH-q)hF?5^DO>&aZ=W$NmA8)T4^Ld~=&Xa2HBTGk7-qdfx4${E$R=iWT9Buo3-hgH^>7CoMmRW=ZD2;HWOlNHZ zT+-$ov>0}#Iik-@xydO43F_<8?tUG6A2Ompno57Lu7X9fpEOI;*yZ-EFsMgO-{ovj z`x$Q#>_#XhdgcpFgU0U>VsQpxaJOTO@WK?of67F7xb>ukp&8S+ww2YDBxs@SD3CH_ zcuBUObecb<>CS~B1EY|+m4yw@8y|0kZaK}NG8MNYT>PHedk97w#(PeJ9zSddUsf!O z#Z?Y1#U$|r&&Kt$8w?hm-t8S1W@o{6KoodCdg%~!0 zw-yJ){K*HUw$T$Ok-k4)qvohY>aEG$eY?D$*rI*(qazNFn$HB~kW*Z?S~*IuUVYO% zs%F=rF;75TN#o;SXAa9lL@@n$QG<7RFq6TR{El9}(A!IpcC(3UMPT5QoD!op zij5tctNU4ol8VWPLT0B;Va`k=yCXOb#o*dCzDlPeX#MSJ26$&tY}^neB8?rL(EbLkssgPCjmk zM5%iXDcJRok7s>E6MrdU{;-e;soL1+kVZiv$J0QYav9a3G9m`yW!f5TQ^w^A0`A=W zD=YTaWGl|61$#eN2Z+)-OJSMY9vV3$wcUKE`(^vSW$juNvR{0j@bBdxhUlHSu>d26 z2G#&!cuXE&DV$*cJJNR_&hP2k9nsS@PbihOmDcI0h3dQ>Q-GU!?4cn`fgSrIfaO~t z4U?ozANHlgf$I!DyX2-xP^@7#-s_L?Y9rq^&UdVe$4Bu@-mh3_!o-E$;;DC#a&+N{ z#gg@{%Vo^l+8}-B`y9vZb`IrCw4&m=x|~aAws48syi??e-Iv3ToQ(HR(WMqn4KDWs z&Xd9{83+nfcGpdoDp|GDDR@K`rh3qYXHbw*34=H|8Rj0M+F6^@^OUx?tgECk_j<0e zJ%2rVl%p{-|g~aU< z4N@CxqlYz4)E`@ZC4bpkaTBexlU89qfZ`PAc>^!U6v~#N2TVH}6CzPHZG7LVZ~jCy znKWX7con6d_>_+#{%da50^?)1&AP7hlf7rzEqA{A{~$nZujWH~Q5fQ^xlV<@B*yi_ zmY8K7lQbtFL@|n$i_Yap%G?Y`DxkMfOS5NypzwV>6+{5N9t_bgD%TDH?6FJJ%))hO`DAp)bL5F zi+^{AM|iPutnY43kreNjn1Yn-%x2Y&;0H3@m|cyDiPC)Zjk3Xy(_U?O-R86s5%pWR zckzt{mg^ZRh0T-R2XvXOE2?&q?B3$6zp;Z-#Ez+qEf^nhG0-pXGJeaYXE(rCO{5e_0XE z=F8;kv$}^kWH(H?`{lHjM;{!^vytsH?b}dCT2h_OQE^o71-fnzt4t$#HAQR)1wdx;r%XS~SNVmQ z_v2%o(Mow*^YyCR=~uAc*0Ax_$RB`ZC~TqXTcCQt(JM)Vh~=HnBnW&` z@tX5<#_f|vUOHu`AymBGYY$fLO`aAiD2csGN%;s?r_gBE=Oz6n#yY%=TEtv5)z-HZ z%v-r;t`{pC+ZD_P5eL|OukNb7T6{2%8uK}Be_5MxVbWuhs80D#IsY4D8aas}Z)-i0 zAu?5!7d&u}jaBt>{Vij$pCI0UiTRX1z4}D@-qJ+fnoh-X)as@oB}MFxH&@*^o#UQU z%X_MlZ$|~crzK#_l+oHY{1l@3q9G>UjQZK%kF^xPf;c06pg4Xrck_PV!zJ$)WGeT| z7&4In)bZkcQq!p^vhEq_vfZyt*jz}r1X7TEvynqcmTuBJ#vg0QC|Hltg?^;VJ6$=P zi@-a&uuLV3W_v%_-=eEqO~XQ*!AAXZok!HtFSR6+Sny3FHR^<+qDKV|ItM#~k*j{E zN}lEpudz~fJ>KHXfPK5+R#>5E=AfJ2xSF|VPEUArbO%N3;oHRX$8JgGHg z?NM~*ms*fg-s@Ox->h(ypNxX9n{8TYlD&|}ns$sHpRX%N_{<_?XJs8hRQ^c|;V0E& z+{9!}T#TtPN+$g~o|#!}%mgq```N`Y__cH_Vj!hGdN&h zo?8izHM>)YLFa?PNaDqPdL^cEtKxeB_h}nfo>cg}KTk)yTT(4T5WAP|BG(MJ|K9uV ztWckTP&Lkr=kG?5Es$Q2N}NncS6KHxMIm1Bd~Y@Becry+Lx9})`IW)y&-*nKc2_)b%Bt^BmW&;QXR5==AlzaHkuS!{APUYWXLVxUR|fpYSzWUM?jNMEUm~ zt4~*0Jh9}4Kia^l*nrEE!`oroS82gX=HIs$5}65DoH)M-oK_0gr#kK?<&kQH zNs)EvCe-;cd`i6%d92pg^pls+N5#n7G5Jv#UyT)bzw-+3R=gYHC&ecP`OdyVtIgki zs$8QTnP#5vtS5#mxfs$I+VNDhlS1~WKeXiKsEyd-auni>1zZDSq~KE(BbC;Rz;_R}2B zCoUjdM>9Q>?!&Iav})qe+t}Fb=?HI>WV`~+ys`Fi z_j|aSv~jEFGOP0UUK2eleg66ZA_X&-@!s1WCT6yaDn;F=>qBuG zHnzy9i{A1)d_yo{j`Vqy2GP6uy8>DtsrD$MWCG)YenO7@^!(t2@oKII4U7Hi2d0sm zFU@1NmR-CmU|&}r<+c;{#U3bJWR-^Vp@t($Wg36h%NSi($`{pJWxUz1wtC1J@miZ+ z=Y1$gwsK{Fm7$XU(b6X)qer;g_iY6ve97m+sLq`7-Kbo?TeF?ybRD;+!?wQ^9~@j| zX-Bs;o{nG=pMK5|y!1+2tjl_mZU;4iwd6FlXM^`m27#Q+r&AZiW1l$;r2YFn?q7fC zZ4<3w-3qlNK*e2DtGM%SkO}K~TBoXf@Bl*IW`}f(n;ky|O(hGf@H1gbKa%*YwF*k3 zdbbm-QblG1V&s?aX_T@fC#~ib9=}Lzc(!PM*$^G^U9tw&1J= z8~1KE%ja8IL;Px6M2 zWO*>BpZkva=EC6Gp^Hup&8vK;wj{L}KUlI(qXwn1dK-5YW-Y0`9$UkrrF}O=EErV& zL~LItwT8No``kv{Y44WsVJEH7pWSDB=9)2qDM>F$F6yaq}W0)_=~q!5g%)7#9LJFnvOY=X1h*;cdGHH)vB2}W~++x71&y% zSkA}-#q2*@q;j9$!9C%aVCU#xAnLcZhzlnAfe==N`tzn55!UNjv@h$$ZNdno=3%Zo zkNEG1j|=p1`7nD$wW?`(Jg1b(WX&5zpURNY5*yHy=8g40J$Cz=Mi4F7nL+CJ_Io%| zbvjxEy=q;v_je;=o9gxudhriswF&vXJ1q5gemIq!itAr)IXjZFMsXy02*wiLoDE|h z-l#=WC*2l*SfK`EWBXaNLg$csq9|Ng1Q%am_a|pi%m^Rt3l6!2w+WuKIbb&?XtI08(V=vX=_Sn{!d@+5^im?dW zMR6R?h!EB2ZuUdi>5fix4NUCirOV8w&#hzKU2R&k0W6`^gMsujDGLrEr@}kU=l6xo z_Tj5B?wx#;-jVP&WP1Ffc*ECrZ~oxjuD*ZK^IGFLEKRYW%or0&Eb_1%(iUO}qvChP zWgHszt(}6SZr@^Pj`D1o%`8YXEj2qQ-G76~CTrJK9S|~GaDM^cduLaAw`}4zy{^g; zXXL2$4xf;zw`HG3CO>O@%$uVvt%ox3J?s}Vs9%0mlc2ArbOt6+sqSo*T(AF&xh&KM zQM+V~_jDv%@ZR4sU3E2I&Elqa2!9#j!PMklL7!DdpRZvx(6c?#BVwU|XV$-){wh*+ z8Pg1BU(MyK@C!Na7jx;~v=xOPC`y-3g?zzw#~qOwjE$U4i}Zezs=)ZOd3K*NlyNBL zJ+D1({-Jf=rS-@2HYxa?r-P^*3Tb(pFH!=QRL{kp54w`?xKpjvY%?dqTk(dtA=c1D z-Pxjh$ndq)l>Ybf52I=hZ=&A%nye5bH&Z}cGT*b}X`A_ESsR(s$y|s+T59Llsndl% z_t5DmTs$$yi>VvTqI~2(u?KAjR3{fHZA%)5mZh>JPLQ>nHyEOjf2HMlF<(~xi8UszfwFh00Q}cb!H=&sn_Gv+A zL+&hom_^N>`p)o)M@PwgC_5Sx_-h;5I|pTmg-88E^uL#XnEP9LD{^lM$sR>#V7)cX zQV3>!#rkyDLG{yE*L{13d+vAab{}(|R$9g3lBZ&X5alVp#w*GH+UhH-L+oL192=_DEy!wf}CY+q_!}cie#^nRn#bjE!Pti&lA_ zUXaS50rjX@SB)F~CFWOh*+4UH#moq}|?|h_La1~&9Js&G2u#E<5=FwtdZuF6K z3VQ*+Cx&qsrRJDF9ii{QMm<>7BmHQ)`r8XpE|S<*8lt3 zM<1;Fq}K7YXd8`Pim$j)m>RiQRNhYbDnG2CaKmy?wMC%cxBf|T5O3d&KF!edp_)@} zb>NoawVk;nLsNK%}fykiz!aD7%ACJ$GOK6Az zff}Y(hOArAD?gSSI7QYQ576YdpCu^@9Wq$fBYLZ_#Vv=izx)RKjbo(1QGk>*dGd8v zLJ_-=ymQj>C`%_p8xcPR_%1HZ_%(^h$-T)CBwah*Tklu$7EUERCAF~H-(-iTEG>ua z-n?5{A7Ev9;I_E<*7#6&y3BWPU)ZmHpjePAo1=JZ#ygd~)s7W;n8M5YU34waPWL;R zACrO$d$Vl;gt9T}xo8v>yaWiXE%xX0>WAqu>9u-Cj%C<};WGSMF`Y-x1v8SpE3*Ba zX)j$chkRGW;Ap0)H)*V^DEO;CBE4Q@P};^Br2V8hsQ&DrMFMf))Ky(A)=*ah&vI4h z_~wtw`SiOP3mnA^{NWEhUua6bM#v4D3w9yl{@fDZDw!S_VzQ$|YT5V!^XcC03$i7V z*tVJDN1SISw^WAVcoN`IE-PJ^lG>>>UGG^oxev+IZ96EL&uo}|Hp)_Ws-=43FhdAe zbrYkMP45TA(4NQGNY{`cfvUz%yeus(t7ub5{>wHe*CE_Yw>IsPVk|xl^`Mv#VF^8B(>%9T%6d0SLjx_ zEv`;s6T63$>7{SW4yyg$gts=>lHDGZnK2?17j?N;I*fS4qm%qTeP>>S$a_G`WzSOB z?}k<5Yq+}SYRo)bS`_2{42m-qrh@28X!a5GQM5$OBY`*L;9YxeE$1tc>{#ZUB=uH> zE-Crwy#BO@#i1U-MM9MEd2~l3fnTWCkYB_8UQmFUg)6rj6k^~fzU+ne|{~%8mpjO`ADo*sEo1v8>7;y~EKn*qHiT`OG zW@mw|=3u6s^RiFaf$eKUYf=8stU7JcFJ5r7EuSYR_Q{v?7ElycXS>8>PBi<_hn$%< zqYjxm1ztq-l$7PO(+ykIypa_lg(n<-{)OPxH*)x@hj7s_-pU`a+$blblGK`a;H5e6 zid-xd*iG%SWFIFmJk3D#uAfy7%YCi8uRFwSI`!eTz2%qhy(j0NK8EeD<%r_?s$u1b z!s2q$%&oNQu9<6fN>65lOUS!sj|hjguoRG1@x^^Hd>V0guf=~K!TwzPCbh!s+?xq6 zg_69Xk#d5>84BhMY*e9!h@{>ymrdnyE41UB5;>D^Jb^^5deog5k4!(p2L$i1!|tMy zuN$SxtvLt?2z1n0x1P?>u@pLoGAKTB*+Y0#?Ac%QIC0~4XNFFYvaAf!TJKvMwIA$; zaTdb4Idm}!wSo=Gt>QL<)9)C4GM(5Cf9!rj>gGnDPeJ@2KS(>-F6BLUHl!cGz&)+j#uA=oQMYjJ-fT za>niI(LlP1kGl$L>M!9jB)ja;=k>@fHf~sjR#`MV9oPvA9Vr+3t6{1}TOwwZ&j(Ww zk1p$`vPVh8N%A|6{p_eOd{@7v+odVEkF&2+5F{EuZ9rO{T82Cas~dc?EtHeC+ZX+T zi+-EaMa@z`G16j&%YH^@=i`j^FqyWmea}0wMsm?1%R*e_7fY-479xJQsj1#g zwe9098DM~~?)TSeKR{dVlZh*yRy7$yvS4Du3q^g!AV5XJc4o_>h>IbhuHlSo){JW9 z#x~d$7|P-lpS#(fci;S0iNlloUHPgu{luH`6SPQaGoieghYmSb*aV#g#3(lWJ@7mRLQvrPqfal}Vz+Hn3clz6X#3{j z*assXPy&Z00=+x|4gh-50`&3+=tU3EOC7H7!R^&+7N9!U^`N@HARbT(hlT;wg#fif zf)P)Jc+d+VApCkJUJZDNzwdj%ecaWXDWFcEN>~6C0HOf?0GAMeW|yGCC8%%-DqMmJ zm!QHWsBj4?T!IRhpu#1na0x10f(nD12`T`<0>A?x17HDA0EhyB9)4Yr@z)N3 z18-$3gF~xD`fr&qFwkF;1OZS1*T@5E0p4K&@j5`o06^t_^Vv0gMCuSU|7-Di7RW`xrEZ0cygK z0YEnU0-Qqt70!V@=b+6w(D$4IKokIk?)(x0EC4(JG5{6;1%N1kKfomfSO9ncWB@Dx z3II_6(8Iq39f*Jd=KjfgAPxq&2?m$~1I&a$13(9Wbi@Pzs=xsAU~m9{yI^nufE!@& z0SEvH0f+#I0d4`10FVMe_K^cn0Q~)_CI{ynDtM>K@``z2Jot{x7p{Ex{H6T1G^3MxYlAm0BGF3ACZ z?lOb$pYIb`SjdOqy7B@D#ucRm;}wzxE=0(Di2imH;_v#1P3c7~{94sW506<_ck*-D@ z3~S{lJZga|E#Q0D%s zh>QR&sbCR9gqBgTXo2TYYzYB{8XzJweG> zp(PnCfZ#bKm;g|y0RkeFsn~z|!9awTY_LFr=THOK-~C+cjfw~@@1O;E4pCA-A%P?i z1r2UN6x1MwC=f&hQ5f;q4mh;8uuw}Vb0HI<#DoMuiTPi-YEy##sQ{<}XaMK{7y$m$ zR?xk!|C$wayc-TJ42+&Xb1Bl5IL{+^3K6(ndbf+(~}gD5l?K@{4YK@{4U zK@E78ze~2dsh?@$>fTnAVC`>%HMiIb1LLlNbhTXul2m1 zJ0U$m{j0eX-2PsRV343qB~<>k7QrAvn@Ok)Z6qQ3Yox*;QC=0XK^%c#FlWLCKnzSI zcrl1#Ai+~Y6deiLsDUjk60~W9)+n%n6JPI#LwkL-xqt^eNHb`ZLy-~%@CUer06K<7 zA2br7QTdVaRJ}FybYH;KL=<{<;tFxvc~6lAtL3 z#f15PpW8qlX#k)6XMJwFb~uzcP{6K(10@iYX;2bT0zio*1^^{f0QgWn0*BUmm2uY{ zK#ifOLX9W^!~g;S{zUJ8u>vILAMtnh&@)KH-?+{=h+Z4^chH=L|UH|gry6xYb zf4;wN4}Et9U9kV8(LcBOpXL0EEa(orGIa_LP4ORx1mx9g&t7}?-@ls@519F{*{`gF zen0$)+_hrRTKex-?$?(y&^r2`@rfUF1ETdW&VuHR|ENCyD_WNP+z@a%_dlI6M zf`0>2_8R{@3;&B@*I990=YOyS&At2Q*?SN0wyx6bS|MmGK<*6!_Sg$Ylgm_5B_)0%2XhG zsR3vJ=l~c1pij5ZCq{Mv=o91r^jGTZ8*pe2&;Wt}S@yrfJxohA6!#_>0>PP%TeNKS~c2@_t+Je*R%uN4Oh7MC} z{D-;%e-0mjxjGeT9Xy9F(|WMC05%Z<5CPx=5CdH6ByfGY>z}g({^jU_KP*n3e>_^? zN`?UFn**F=L<%T$fo@^+z&#uY!gc?g9N=77i|eBge)-4;)FA~v5--_?L#v|UXaHLV z(3TD$9&~XH`hO@xe1_jVMnIYVdVU++Gyhd)0r#u`Y`=Mb)ZvAW%mwG?fpes;PTc)t zqtult=s*|f0?q!I0+l-epB*qc05}1-0Js5o0C)lT0Qdm}03aO&0j_lv0{3?Su5}a! z_t4MTf9rS`l)<5Swhk_y*Jt`(r9?H53;E}d{sQX1&t1McE%U!gi4jl_aw~MHbb##^ z=u;d(0^lBiB!CovG=L0%EPxzWgSf_o(ZWq`lis(>=|^O+ieI)Dbi z0{~5cKRR+>AKmyzy(?QBUj5Q9AR;z3r)2L027VK~`LOXyCJZ22pbu>TD9(S&g!H}6 ziEDkKGNkXdOx~+QGX4rCcn+oJI*oOf zt1GAn`PU8L-?UZW+SFgZWdt%HpF&q1xOWF_JpeobpuF({fX3Co=38&ThvfMH{F^rN zU&&JjCy!mlG8M>xd-jpKav64&v2uvQWZ8a=-j#X9$p+0NN%3BmpD? z{P*Ohfaj3hRDgdocYcpeaF!TYV1C(Z3glep&l$K+1MSlR{yq8n_j~}!%mDbeY}Eqi zJKMX1eZp^B=l+uG&S3EDpYEjJ6$zirJ1<-g~l98iXA%?0>3<^G!cpp%vV%m*q! z4rC*At%LhK&^{jkvb6x^P=;g{1N@sZfBW~>S;N2l+w+%9J@7j1641UB zpbP-Y-Esga04R6=Kib{|Os=Ae`<{?Y1cp@+5m^!lge^eAjvxsnKp-GH1`+9*>CAMd zr+b+04w-QwKnRO~Y_cl}2_zwb1Og$Skc-}^l8 z^SpQF+^T<_rB2nYy0>oK>U)=pe4cj;ljl96|JioO*4ok}z6{UzjZ`+;(t*m$+VJa& zFO!YsqI*T;>&x0K?DM@(n0!}=$oGEHe;?P{IX8awd9aR`yL=};T37dgbXSTV6#bv_ zT_qXveMs~_%UkQK$7S>-Ps+KA^00C)SG-5My`t43pWnm6kBA->*>&?V#r<`9@VXi6 zba12)>-2Kjw`=D%kJZ&ZF8wD&eIlP1V}doJCq-rUcT7Etwvg^BrW^?TR z$~ni!&_8C7DjSSzmdg&C%&ar6`QY)ox@VR6oalMc3!)cAFNt0jy&`&5^nKB5qSr-h zMQ@0HAnF$lh<+#<^k>}h+48x?&bBz5qaMaT{?S&YEm@z@_I8|2NlO7Y)F_O~MJy%R$#ZyNqC^3C?xaSR#% z_wl_>_SvMi&hZ`5r_YNi@eiUuipaMrdRO!((Vsr14L>r0F-B{r!qD@7ci8dE~QuHa&7NSp!wiJCvw3XOna2F!{V#RiA$ji8%%5>%&Gz8;(rcgml^@8@m3*_vd-g;WxmTiH z%5dP5TFa?2ZztMbG(t2|w1a3z(J0YQqMb!!_c=LVJU8^C&@`~Mi}Y_4u@R1z+%BSz zJN~5Y8hL|0?i1{NYy;=~RgShluCB)(VD&Mj*kmUi<$+(zrAJ+}o%vL44f7b~y{Bj| z(cYr5qH!Yc>u6=PkJ5HgxT^@>zQVgHzI()^?V`Z!+>R{G~fhlmapd0)ODj4y|Y#)~G14i|Y}ju4(G!k2OT9Z}Tx zBwH%QN@+qquf|XsbPT`x7()@EwtoGvT$0i5JaYRW_1%i zqD4iOUM(0mqP0?J$#i0vF?AtZ3eipsYlb%5zMFNjk4{QQ6gxXB9c6b?>UcIeDGi=vjw?3jrsdppV(3`6M)|t8 zK041FWc~1ne6i#dXk;&^_6JXpr)4`!A5Co{`+;ORfw3)rPLoS&V8@F-uA_WW=_iOz z6rCjU9pz+UI?5@cQ$?qVP8a!(@+IM^qBBI}_C6}F5AmjbB$W3?`EmJ+HJ>(nUXwtQ zKT~9#}unkH%y zwTg10>7q7KUeqosh>D^P(K(_{QAt!5RYWsH=Za>ExA@Ud2Zwj9$ z;=(#hbiRlS>jk2ZyRcrUbS|v3MHh+Yh`6v`EV@K=spvA%w?vnV>K@beB-DvDp4y3f zQ`G?j47IPYohf{UWAz=; z^`aX@H;UFdR*%(<8yoyOE?dqt>pbz%P>43VPkI3w}@^PeOL57Q9R%} z;f4|V;05#d(r0kbM!T9P+4-XX)y5ZyM;pIG^l@$cPNgpteOwz~r1Zri+IXz5buIv3 zSN?VZ_`TwHNp6W~sfY`}-3sp!EfXyl-7C6Jv_ixM;C_X%vQF;E=JOiv3|1C(^}1~8 zLJ+nSUeXPyoz3x5Q)@5#%B~%c<%+MC z{=*{6;}ONl<5AILqQ^x~h}OxY*8k)E^I#Eb{omPN|7G1sO7|(z)1qfY&x)QCJuiAe z^rGk`(aR$0=oN*r?gtH1H}A`?)yg-s298{!P@KndbD<+gW@# zQ2BoFcyOU^YvA&MD+aC{`1Zh616L1RGcb2x z-oWhx^9L3T+%a(Hz`}t=1B(al8dx&0wAwSP+H-!j=Ynd_h1H(f)t-y0J#(r(7gu{O zsrFo2?YXSl^Q~&n<<*`msy$a$d%j)mxvJW8b+zZ3YR|RRp6jYT->LRoU+uY}+H+&I z=ca1U&DEY;sy(+>d%j!k`Chf>wrbDZYR|lC&+XNo`PH5U)t)=5J$F`n7FK%}ReKg! zd+w_CEUEU$jk~Ko_f&h9ReP3Kd+x3F+*j>cQSG_E+VeoQXJxhL!D`Q{YR^N}o}Ow? zZ?$K2wddh#&m+~IN2|TFs=en|doQT=URdp&UG2T7+B>J(dvUe*l4|dz)!xghz2B<# zUS93JqS||9wfEcA-m9v;S66$lsrFu5?Y*wr`<-g<_0`@Rs=YT>dvB`t-dydyrP_OI zwfDQ#-tSd=Z>#pst@h5V_TFCYonP%;Q0={=+IwfUcVV@6QMGq*wfC-S?~-co(rWMB z)!uumz00b-%d5TjR(tQO_O7V*-e2u~pxV2#+WTO&cU86bp=xhWwYRt0ySo4O{`vh2 z`tRt!)5R9`FC3UXaADZb9+)i&r1)DPx zGAHD9msyn+*+SRCflF)cRn0zZtnnjm}4`<@wEl$Dd9xYvw)wvkCrOg11fZ_6Z)D;2k5TEYMC7Q?KCB z5mT?=T_dJm!K@6yKk5}cCSvLpyjR53D|l?g)GL@3CFoPH;Qb<|Ucm=MOj`gSl;F=h zjL(Ngypcli_=q=)_=p4_88OEV`N;{M5;4aO{udK`QpB4?{;3K6QpB_a^uL_ovl5(1 zaC5}m*rMN(;OP<5j^MW^xFf-(1kZ?g3x()+CHU(R(=Oqkm*5K$d{KfgiFiwe=zlB0 zS0?!C1YZ|1{Q&(N5`1%lznkE>5pSgs{rL&LGr@}!yfk9^9s0`>d|!eeNbstNw^oS0 zo-2m-ZdlJ~0;V6se>}n53ei8diTtM%tlP)Hr{AOhVuBftpub(@zn0)P5hRX4v_z02|hf*lM;M%#JfcOV-tLQf=^8FDG_tsA^+18d`5!5lHju= z-Yx1kC3sqba|zBz%yo|ZiwW*ba3#SrBi}-v0YEj=jJCf&P{K5B9I> zf2hAlBjO7*MxCvZCgash1}@dub+*Q%8b6Ef5ZzukVeZ328%|nJncp8XRuBdnD-*mb z!959H?Qs7*y^Q9Op$$yRgh$=e@wnQ{KNT^xEAKTL*Kg2deD->b z$)0oCjKQ99+TfQQMxKYNSSKfNe}aFU$iJ0f9)hBeF7%s-gLmAQEL6>&kDvWaONED! z$V)7g?vIH*9z?=N7Jqp_Y4TtmN*X4=51c&rJDTf$Y-q#2s571EMMHk1i-Nn6A6(Uq zk$y(>_|S$qL*T6+c|lHiqlis+GpCEp77@#vx&hr#=_Y5sqG7}BtsEb`U4lnBtSZxu zn11#7#L$L&hl>%OPWh7T9i`!s`~C^u&0%DWk9S}u7tJ2tm_2F&Z1Q02AL8tR$2*L@ ziOwGQ$OJRtX8FNC#$oJDaTxvy38q7O{ZkTrmc!UHtmNQ-A@U8=53y&M2~oqOnLPDH zeV9F~k7g$izcpg3Khrn)vXjTZnGP#j_sxjO5B}Fl)Mom#5mqbheA@A!8dBga7 zxiBGlLDxjAAmHmACJp+}`2v)|SO1r>M`(Wau! zM4O9jvTN+%Q}>h0+4c$HIo>2`GRZYwx(9w?y}DP2&C(OU3A3J6#~Ho$_Or} z(JIk`we!|4UAsj4W!jTM?2fhft$jr3g0(Ay^gKeP6QX$sVUSxHbQTKFm%fnn2$xFs z0fjx1dsr!t2tO)%MEFr@t^&Pre)Odl3d{Bqd=Q6F(lLgY@<-^7!B|ZmiJGO^guz0H z$-?YG3$+yaue2y-as2&AGQ=0jQNTR+Z$5?Qi^Ix zfA^~;*R*Qh*7o>-=7MNJsnTB%B^M3)iOixXqg2T(iZYad<3h_OR?DM?Rz?(BdMq)L zHLm6TaJ2hyu={Y-;phdc3U&0>a!ad?69Jo@NSFbF3~#77GMohM#LFy=@!>IRU>IHQ zf(>(G8s#wjT@uWw(&XVE=rH;d9fm(%gkSgrK03iC2%A0h&u|!jneAaF$n=@r@pziB z=_6lo7<;U@GCp{w!}w#fF;-u*9Uu8C9Y#K$YX|+gMrmy5Q_h=3mLKv95`2%t$TJ&K zFEag=3I8#N@rV4)KA8LsWA8Z;q1BhShd+;rOdkDyhp9hiFMR#JF3e1u`De2iX8%{> znLX^k>o9)&QN&Cd^4R}Cr*J zk01G8CZf&52UCBBsSl2a~PeMA*lkuYcs3eHaz_l!w^{!|3mu z;6oh7-eV&34|@~E=T2ThD9`Z@V{eKuciQmD?-)h)h!}ll1HArO4kOQO0C&0yf_}5Z z=yy1I@+$~)XNo+SyLH3Zn<2b!48teCyu|+nR@HyVtv+EuH z&Q18-_?SHU%N<63mBYwABCP+x{GSl8^1{cSVf3GJ7`^X14F4rzyWWxi3&M<{?0CHH z_{jgJpPOm zpP6>cZ*Sq9BZhyVQ_nBu%h}FCCSSX$udT|h{d{N}>2g!Q`2Jle%Gqx1rK?r=q;zY~ zf?@sQyG_K8@7uIsHq%_`%(RHwL|S4iW|@5Ql}xs?GfS?yU_0z91;v5ca(A{3ud;c0 zB9%@p3GU2v=d^yP(3UAEMHy?oY_`yu#hsR-e#_IWEHR)WD6g`pG1Ht=tUKG?ruB%K zLUTqM&C0Y<<*x1Wsu?u087+?s6`}fRp^~!gRE~C8RZzE<+bW&9>d0m?6**6CifX-a zMr+n3R-P%SMa>`8W2>^vQE%F}WOK@0iK0;stQ{~ZTw22)TUio zR3t&wCZjr_T9Qpbp;WDE8?|HHPQ_-_;+i?knGy%OsI}TEW049`TALzJt^n#(j9pe# zgi1;+D^XOQDe5j}`tB|2P;|1uTP=behnHN}Z9T(gLMmzx6}V+Jt&(=-nWAoiZv0WBD$>R>G_e-FYC#FLeQ0#_71dI6uBDjkyO$QH zz9u2n2Ti+-8%oqp2VIA!typR+s(vcvitMVA^pXllD#h-O#%yb*vzr}_Fr-$x)uO^N zRnMRqYJqH4%~T=nf#XuhwQ=~{y34t?mZE$v7ei;(j`I!Y5j#KC*G*Xc?$Cy3HYSma zEW~D*6A&AilMNTTkCbaSVus;!Au-JIlMxPMn@5<&2XmtJm`7NKadv-)k@rhY$d7?L zCwcRCyyB)0e^SIcM+g6pb$rssJB@_)zKaC>0 z7-O&1@xghAk?(L==kU62hmr3R+07{RJwwD`5gzmnk@3OjCwPvq_xB>t zU%Ho#?ssFz@ zjQ$*l(Z5K9&*tAh9UuA29L8VYAK`m{u{T79C?obbJ|BvjBgUU$Vi<H_RzKC zN7@1r=RoYC&t!{X_;-oC{Bnomz%5?yYeO`>&HKZl4cG31ub+}F)5SK+gxD;vEghe{ z{KO7;`-DF#!A!)Neagyj6$urDa4(0kx1W;-f8JsA4i?@}p@Ps?#ydX#+p-?xPj-CD z`$dP5KVF#g74q0W$zk|Y9mbz834c-{^4POwJYe+CR>aB+ztv&%rwMPV5P5K0f|>a9 zd|Rf2JZ;0*H~w{t@i~R?!QWKG^2h##4&&bi!rLiC9_%Lu!G2;6d)GOAur0emANw~d zvZF%7-%YTe$U}dj_~sw=bGO6TW7*9v(H?wTW~1a#zU7MS7WvqFAkn{Hc#p`(-a`py zBGCBguSxX#gzegf{xc3!KQBgkjs=*XL|A#i0}iAAQ-{g#ZHFlzH{zxb|2K}0J`;h) z$3DM_H;fPTSHtM@d-p>WVjF#a%MPZ`kVYc{D>>ky2_Eh+`E4NV?QiNZ_CJ;2tsKUm zZ5<~6kq#@m&O|Trqm+2GLi2AAhq)H*B798bgZFY6fA@D7{|5-4UuR1=s$zkd*=P>!T z2!C0jm4}H7)6NK0jYHtZ4XIqG9rzt37M|nu z?{j?Q`DvifkDmp4{HVkD*B7yZaQ26o{eH&>|3ujIX`eq5K0nIiA3wqK_*YIIK0lc=eJ~TVhN-W=I!t~a zI81*0H0~0G_>2C397dm?qnSPQ`5BsF`1~~Oa)szib)E48@=WA%e`fZX{4)%n@dX%N z{9$77YK11x#H?ZX+b4LZ1n=%J{-xLNQ8MiPA1ir}{rHLcVElBm^M~VY82f(wL>bcS zw;xYokMiCY?V&&3`6E}>8Bf9Y<0@f7wLKP^zGAY5My2p?|jc zR(|+?{DeN^r@Is?2VgDk@TYlJQyu|ofL1=%Bm+p0VKN*3) ze&jQL^74$I43nR)f3P1vkssry2Nfy^{P*J{^!@k; z`9rm{l#jGi#s7W8*gGT2!>4{Z{w5E<$zkkGcbGmtP54g=(M6u| zmFeT3A77!*_)5=*29N)_!sb8vjJN(4`S@E<;@=hW@E?7~Uts(NGyXD+{&`LxKHo4k zd+-^LdF;nyVukaA_lNP=f0Rys=rbPk*pJ8H`|%ica;_4GO4;<&@!2=TxBSST^R;2@ z-KNA(M1AVxJSBR}gF7%|eag%D&G=x>4~DVF`N%MQ#%qQZ9lSmgN1pN4rZIogxPEy5 z7%v%y@6T8G%lL>n6#WPP7$14;$4B^M<0EW={rCuf{P+kNKR!bKQVDIX%!rde<0Y`= z&v?l&_WXDWdw#qGpYal767)HqR|t=Ym^43LK%e{59U>ne7(W??&v?Qx{xN>qDaz}K znV#*`9^`}vHsK*qc%Ty=q+#z`$y49hLjQ({Wg?tU`PQx-4@K*4br}8I5%2ERD%$OQZ7&N}~&=MXG?lGsz;TrIwMo)TS%^bcgwI| ztKO6?HD$_rn2bn!HaCNPMi0hiB-`G%H0+ggEiON&sYIPwJ)+D`*V9EFUh=FJPfE4& zmMYC9y%3|M2a+Yd86&5cW`%tyb+*)}VrNT~Td(LUXxDc)dzD^M6<B>Tx!-)>RVCDNkVxe z$bqSZ0~4Br;xvqk{ODW3!OV&JmT6aMR@kg#skX%N>074OqPH8)3~MC%mSwWd%{tCG z)w+)E-R$Ou1HG8NURI}sW$ZIEV6mI0U9PilsnR-CTg0_jp>sMK+R3+Eu%i8<5SJ~* zL(}bB)~?qv7F3h$^n6-PxR4WJON%hV9*aRnFNsrQ5Kqe`L~4-*94)96N>!Vp(I}#w zvKC~g3S+;lma2oRWcErSP(cdW+)QxTiOrwd5kgQ90E}*oQKU9lDHG z4yXsIFD#?~sAtmj)EYz2pskBIoJbI*nbYX03H<@tg*s431Fx07q|%pgNI2}I)2P-W zmsA7tiKyJk)x1(#4Jils>@!-IqIhjjz3GpdBVXeB4>cF^RjO)E-LG4z^Mdik!M64? zt$n7QlF&mW(3oi_(A85ZeTzdF{1Fb-L^>WRRKe_Yo zEm99xFQ#MY1S4lAQ*~kYQJX~TkyhRO$!4Ui{9nR>& zRM}I%EPY^D!{3-`4{K&^I6;oAab&}LEba-=W~JFzag#@X8;8;7(Gq$lkG{#n-_Bw5 zcW@Z~ND(z;`a323QNlKSLjM5A2airL{#gF-d5rJz_yq6fF#fQnadVORbF|}A&Lc&( z&J_E5I6nG&JIwHo`rwFQ55BKY?Cm46b*Aur`M?K@%zv;i4|sgSKO({2fBeCJTW5;? z6eo{AEG6KWn7?0ie9FtC4DZiL!W<*3FCJxhK93r}*rq$3E@C5Z(#{fj`NoLJ3xBhY z51#HYJ+0_4{7Qlu0%PCuJKyoqKTpK1HU8tzMI!SDdzU(l|5rMU{C5(3lf&5muEY4S z*kSD5A+q*{AM-`@aPmfesmS~RFH7+K4x@9Q$hWtL93OvIiLAXL|DfozBFYbDYS8ER zc!JkBjJ>B5{Ct96b{PL(OYlL;*ys0#<75BF4pUz&O&KM^U+`NZ!`T0=$m~&`UyDYI zkjLKdMaJj&yc;pPv^n2i;r~svy9j+`()Rj+(##(EEEh0LeoU1ZM*oI{&+l5sDjoaC z-;&@JPM-2I9m_ccc`#EehVgephq1Sru;mZ#Pq2TSjDMe2A-ufrPw4ypg#3<){Ah=% z58pq)jgF7L=YxI!;rRLfL;iOhQsiA z++yXy9*$ zC;res3kuQ4{wgOAUY+149LC<`!kr2gg!~>;q!cmyr<^?Yo=@=04kQ0sg46#0rsHGp zXAYz9&kvOEm*Rh2p@J}O`-8*C|0C*Si|g56g}KIZyh-CEYsZiJ{80S!6)Fhrb6Dgf zPyIJIdG!7HiTpn6_~7lFKJvc5!cWgnW1K#D?jd}cLi|CW$1R58ALQg|@B0Z~p%8h> zyN@tq1oA?knKLUdX*_FI{&5Wc`NuI}9I3=PoIHH$&*Z5u>hE5K$WuSmpJD2k`s12l$HzZT66?RlQ@;Ml-`5}c z-!3JtA=m>`pN1(v_1P2o_{a6OH)2J@qeb%{d6thD#(y5Cc)ZGC@}s^z{}G4bQ~$|Niw#|MM^5~Co7=0GQc>X@Z%y3X192<2(?1R4FYVDVeEO%y^e4mkLw`D2q16Zd$z%GH;q@eU zov`_6td$4ebXpZ?_e^e2yb*y-`3 z3Fcv@@u`nz6Z~?5*CzN!4s*5onZx+^n*{&CVaoS=;j|+>Kx#KG$30i?vSq;HTG%vm|t((#=1{10HjI@_4$#=D z(YlJm9Pg6wrO`gPE5YYEtfJLjBy9fUZ#tg2M11Z>%-_ose3iracU^*Sa+v(+-)0Z_ z?}>k1v=5%|u%dN~oIZG|!<28i!|1Pc82Mg@;Xj(-H3@z;!7n*Xey=&KXx)z-hCd)Y zPa*Zi`Q)b#BmXNW5B{CQ`1g+R9SYG0R~;Yu_Z)`*zOWrX@V_0#pY@dJ`5QWnf9ne` zRcQWhn&2%RR$@{Cu#{ojiJL#11L`eTCs;`9}*dq2Vdb{PAN zf4%+nRB3NT`|$nv5dS_QzR7cb<$UOIdcV}*#F#OXJ z{N)6n?J)Jx;;^E1S?&IsF-&=GOXU4{5P3fy1gGP{1&O{t zzasC?uV8rS(mJrZNKykDqESFlEo69ZbwsJO~(@J11 zIb5ahI8S)xU&9(UmxEyhZ?&&?u>4->zu|dk==wBwW0Hn~VR#T}CjVK7RZHQW6Udk@ z(@0)^2Zu@b_NZ#?`TTf@yrIbQ`;5cLqwnRB-B@Jun>tJy5BZTtm#)UN97~1Zk+zM) z*v20g7QpA!P5w5Ohd$*qKJq&_41cu4ly^^&*)EpJ5F{v>^Fig%c_A7ov()%lHHzp5TcNYb|e!)-%tl zZ}`~|Y#kkWxP!Y#iP*rnb7YJg{}^F^_?U$;KWMjtb+3#cQn#IqZ7-syjS!6#4feEk zUKBo2t2;}rlcdKo?B&w6o~E^G3$$8oNgr#iSM;r9t@Y%o&CP9XWxXaz-70h?UUQ|F z9qA*$)7u*LVys53RLo?v#bTvWH(}KU^|d8#96Bv=dqMc-Ay)TP0GnY7%tktd5}RR$ zl58qVNTcnt8Q!P{L&c%9NrGt?Y_tRTv_m#8+C~1YI5t|hXFj9mZEi1fqAv%N4Rd{vi4Rk)_*~pX5 zTSGN`Xo3%OSkby|CJw3FK^ZfDOv@i7+DSCn@(=LWn2CJEdJ=lH{11+(wfrHQPk2Q{ zEj@NgeZ!xIXi=?}jFuW3o13RiYiViBx3?Dx9UXejUAbJ&b!YWG=|T$^pzw)FEiu*) z1{(7@T}-q}UF#xCiWkZteb_cEG0(BQT<>|)l5}0^fzQ*PO9N zoubzo3zbbptFCn5Cak`!zJVv$;h>VnW{tuy^72aUO427GJwik(ainO1Y-oaa5PAMi z3EsuwY*t??|5km&^Fz=;8>?JV*oZ?L0JIrysKG(Zm5t5#T;15LESuNhAfGE0o5@?h zHq6zG%`jIxHnaD+8XV+r8!`NBR&}-fiu#7PhtfZ+FHtn`ULva;@IDb+U*dTNd`^m_ z9UL)LK>xC<5>)^`LWDeV$gVWVW5cc-R1y4>MaXj!g+Dc7T&LQs5ar|u)!8crt*yOo%!6$!Yx+5k}@c9u_KKe>%>9Mt|Ez{2FA9M#baW#DP z0EvbTe=iYXpF;<}B4X+vd`-lZ7kop+$m2h&2}~cIxe?p(oA0oCo1O>Hy}G_(&QSCh zMjp1YwK&0dCzvPmU7C=kiIJ&U}}C z5~S0dPU+zXWqLyZBblk3%XJN3eqDXTlS4Ba@)w$l?d=tvvvoEcT^gO!3A}cSul)a= z)ORXa`D+PmRWSW`hbA|`g?9j0R8M+YnJEX&>>3%k1 zOEYXXIK#sO>uQ+OWozzD8cv~qU`!{DZBF5A$b%0NnH}=-@>Bxy$RQ8*@?0Npyg9u- z+7*`^p^+js!#mdCAl@m#qa!9qbaqYnyC--|g7-==cV}#7kBb_c`LkaQ27b6czI#i3 z!~6y+V}gjvp#s2@B1V<8$q{d?khJ3?<~#%cxEOLhL4QgNi9;udkhAOADG_r$v+Eyx zZX&3Bu6JOrN8sj&i9uCX~T&l)XjTokUu64rLf$wTTiwNfpwOndB<+hGeGA(9R_X`y z{FpbB*9*oq(VG{mZ$YWlw;*3uDAMn{^^4AeetfDMRYl~!etRsTLP1hYFy(SgF=16R zQ;EScHZjmv%JDXK=6bV*Rt-`#an+hD=sI0!Ee5|@`&Je{CjYX0&`;-c?d_rt!koff zc6#3e#o4JKx#{p#pBzIr+M5nbIDVvo?f7!sJfC*wG1m#h9AEmXVcL%kT(FN#1|r7S zp$or|^q5IZ!<%Q+8z;PVmmQ^d6}x^2T1Q7I;?S`PKHgz+Juzb9(8&>-SEoiy3E-a| zF(ttM)QGJWpBXW{wi3rn(@{(78(v$Fl#!83Ij}a$VfZ^c41YI=;qNLUM4xaEhw*T) z$TL2}6XI;}ZTV1qO0gTImB zSrMZP|3VS6Y~VQwzSLp-#UErjQ6ta5hm$Hi@V6sI20yNG82^sXy#JD1x23FLC@!v@J zYlS&>@X5~xT84k(A$I$Wz>KoSEoOxhHj^*%$?aM>z_LTZq5!cRfBGwy!{I&B)?x@4#73L(~IwM{? zzq_)&VYsHehv;v@a)J2B;Za5JA2#cPmi6mToji3aXH&MOV!ngVN_0#}SBv;m36T+2P^TwoPGnJXy%1pf#gjY`V-NQ>>m?PJYxn-qb zJ-o3(DZEGmtKx=0@8=+1+w*1>Bza*9`_9Z{WdI1F9@BAdjYfC@1u}euMIR9f zS?M8hHx-@@H7;Y5VRrT{(JN-MIbKCmC~A;W=1dwkHHWa#lGwmd4b?EG2g5-)V!8w^ za)X#i9HI-b(XGLp^4PGOt8{5jq_@7|&f%z!7GWAOvf;7^MistY=HP>E-hti*9V$W| z)9{ao*yN8+Ft^&s;}Y^GIX*UQ5I`5ghc8DynEcL)7+r94#K?lDM{N9#gzwACnZ=hE zeP3R%FE91u%M0I^7wpRm_T>fp^5UZ}FXi{;B|l$YurDvzmlvFtmn$sw%@7fOmuR~f zr`gO9F%!gD5&zB;Ay3`lpVxpIrNhYE)sglCZ5#RI zuV(~0ap|P{czwe!Hh@b_VVyYEMn;S@X*)%XWu|;}{?!Y)IM-(Q8c}5?r@Z(u4Ved` zyy@TKF!tv=%n@1SFgjizc`%{bOZhj5hyU=&-{;5C{hs54ef}J6pFjNNPM-36dHCc{ zOCUd5M^Azu6E=S+-%}2w|Dwa_`|$(v{fhJby% z)0?(*vVB3r+A!a6V`Lfo7Kbr)TY_&-@Es0oZPFqQ$rd(AkL{UhL+bXG5q=HG$b5g% z0iwZ?`8w;Kj?{Rsw)}&U`6B5utJQZ~sZ_IOt5n{7QA2gjZLNQ*9wN?qslMUBQ>TVG zr_~IO^=U?i*%~3TvP<*Lnq<;?C_P;yu9y6^=GwH(rrai~oA8X(!yCV-b&dRgEPOOI zrcwnWYvQCqY$`#BQ=4pr@MsHc#JluyJXQ0{^$oP1(0!?4GedUc!}aE9iPve@?%q)-@&5Ki$1>j9hL2D59?dQr0NuOnN*$i+Tgw5Rf-Naytx90XR^iY zIh9Jb@3#N@CiuP#g(gVzQHGblUf(dq>W7d`UWfXkm~3{et;vy&EbWSoDq!|jGqJ1d zCj3Sw&*ZSxTKWIJbwLd?G&eTOmT@JUWkd60L$=n^Us)Slx(x+kL59ur7D~evc$l}w zXMB%Ivx91`d{${zdTZ&gyb)Xa=fuRg8S~>zG8_^4mN_F$;>d@VKKBRK(szlXW@`6{ zO?8apQ!W3i(y4;JAniJ%=A-nY-$xV;lae|)zM}ZT zp-rXc?ox}E6coBj-Q_OcpIBRoH+_0rTYEd}@S2)R-QA@bGg>4jxk6XD+*K-dYiyqH z=Q~AZQK4_1XmP%=Z$-XSR2KEE&g=cBjafaiSlpp6 z-|7K@K5DD`27Mk>NeuQwP>g{lM>@-WE42WyyS3P@=Ly|2^g2mhoaWU8^n|05*UKxl z*F{3sHS-Vx6-6HhZ7a6*&67br6;VVl+?3{Gee+e*7a}obh@Au$BeHn9-V>W`E;jeg zYwlaz+_$oMdbXmRYPq%bttLLbf?(fjKHuA3)Ei;j`xdwBafW1bQWPx?@iKX64x~-I zHu0n?TCBKUUrYkV*ewQXwghL{E8Z@)EQ=QBv~YFSoAnL1Yf7uO(bm}1Dnfg#p;|wr zKY7fc%42RDJ!V?LV{Se?CJ&G8cG3EhU6AlCqh%Aze^TFYLAdp^OB32~cT6mCY4VmC zCVFhW)bu%9c)pz=jBnQ;!*;?jJT}p{TT|nYbbLyk`g=gax9g$l+x5-xu8F)a5B9yk zVDBH;+XMUjsn0ZjI}6#7u>~!LE7HL?HuUW*Wq4-7AD`gE9mb!D2|g;p$0YbThspm0 zhdB|Rl;G16d`5!LN^oO>rzLoLf(s5)o=%6UGhaUZoguO|jXd?~uYgSScs})MS3r8< z*Br*)%_1* z7#a0BK`P=25gUpOx}FAT!!Z1pL^y5y7lp|XOhvsGF=^qH_nZ2LYr@I-he|O`to_(w zw3%Ijk0$(|h}aCj70^fc=ME$DcEs2M|2kr9f!~RkIG(-o+xmtl!eGCu6!VNS{=rFt z{~R%vATN)#_eF%{Or8EchKB!@;Qu&`eHOf+hYj%h5tA2q{zJW7r6wPiyD-%n%_5k8sNbGh<|Ya^$-jUJflW=6y0kvTxv+uL85F}#9Mllv;dMcI5l#K~ii z86r+Q$kY0nA>uSfex!}p&g^63Fkwz(@W2xie1yZ;m=v+)e{{rV-_Ot?Lw%DUaftc` zBTpNiTdi++U^pCGWF&#$?Gz%~2q+nIRm35*nX6(WfX`RV%nPvA+Jp_;VCJgWOvdMj z4EfRj5krRjIPrktlb`34--eNoJo&*#7EFF%;^hAoVM?wb97*QFHc=eRk@~VC48II# zA|HKh+T0j?(pnYyq(U(ETNJS)4_`M6>+suz8I+kkb8F~h8-1p?!01BEm6^ZrX9_b& zQxN=T?rrOc;eR9He_ePRCx3qAlON}VIT4c=_;O*(kNWtQ@CbzpLj7DF`RGG8MGPMs zOpooT5R5-JC^9Ny__ro}rq6bceB^J7e5;T75u>Y?8n)TpL&Dd=CMc1+x5Gt8i0tld z+*rS`{%B2Qg>OMjLYb+uv!%}+TwA6!pK0x==!PrPR%x$j!I!4K+B7T1GvXFeS4Xy8 zH&892EO&%FeL5AVePz;kFrzGTpy`fA*{k^{7%^{P-J5t0K&W;xGaxmSu%JkTt2W=(tS%FEX&B$C>yah&|F7Yk#`&10`-9m`{lFRwStI{>QO#UU9*izL!oy=oE)-df zQ4IkKpl*cv9q;rwMnsc5Ry0L4*d)jKCOKIj@zAWR76j5JX_6nPpVB1R!j!^e{|r+K z!!*J5ilP^8*f_eeby{ObQ)~0+X|2tz`n`8kOKa3PEOu1Fx zpXj^0*wm^o@o0^Keofb!$u+iSGwli?eH5Z^g?>1hX==@M=x6E*h--BQs|oZI3J{E3 zODlp30>7^(mk->M_IzlgDQNZG-O`zvW?AxOk9K{6r0;I+vzg}BX}W1|ohH(qc3wB- zT6>{|AiSP4Y*y=F2y90QOpP0lnul)VUM~%zd2&!l;`A#&A*d` z$=B@T5BZosxrosv4gZkG9`)e!BfUdJ{_w%)MvN|Y&x@G+DE~J_e(-Z~<^+6w@4v?olY%oOM^8Vp3^7w~5$HDV;cF|deGfOxtaURm8cJ}awi`OITB~caE z$?7f_M-u!*#K>dsDTk4N)?xTBI;?2j znHLVJJ5CH<%*h4giz2?rX%~#K>-^ArvcAOg(GR^3k#3lQes|9BhTeL8wTy4_=$ziy zGx^jejZ9cIpV!1`UUR;AeU2%gQEE1%YH*X!DmAOrY?Ge*ky;230(lC^YZ3VAc9T}% z>0Kh&(I>a`yKj*+`0|#PxM{tfzCjnbMRE1jvwTt9qJ~dJK2W7O>rO3n3yb>nv80cd z_vy#p{OnL4P15qcjJ^_=DRk>wb=~@89Bck~_=tcmS^7C5KQ(7{pe~h}ZuXV1=jY{F zeXEH@E8#9Tri~{u-$~LGc-So>wp7JdA$0xBRJ1SY7l~T5 zuX@mj(8}2?JC#;3y{#pyi?VhB@QEv)yk;xFOpb+w($*o-Zz1?-nn;UvROdo?74}-= zn3<8w%EKA*y;kQ_^}#9?qNohpi^@HQj)4`1gKQZESevZ~M#>0E4dLgI8RHsTO+Z0a`wb53Kkj?6iRjT3~vytqhT zUA(XFp>s|pEsU}ry<)iDA~9?I^@f}}S-;j7TIVGhoWt43AKDn8jl6SO6>!y+!yD$+ zgKT8ZDTUlQo3VlM@{-{PJB+~AK_ zZG(bfpP5wCN5^LJ;Dfh!eC&^M7<qjt~BY z!}$NJ1pnS)1V8BT<`e2BeEZJf4Nt7c zeF8Irbthaqr0ztO>m(8P?k9_QyNj! z4H>`LkO`aVjxk#p%@5Ktl~Qw7A4}Kj+w64Rc2959-MVheb@#`uqi)f)B)555PLs8~ zP)&mRqPQ6T2x0U*8y6!ZaOJ#lWn_E=LPUBWOs}*AUUA?Fv()$j% zW7m37CUglymYSy3J+{(yuO8A%dI{Y0Hr5H(Qm5&aqaEeO#-^s)o8?+tS<{w}@0UC0 zoX*aYa-K2c+;eBn?Cx&X8wA%sUryCmdz zs_q8|WW*uv{Y;N{2&nEd6}|6~iqm8{ZxdWRyy5k*q=5T6^0GW^UfA?)9+SE`JsRQ!dC1U2#Mr#>gXF>m3&!$7(-qEgk znCW_bf{swBQ@`ZX5!Ntc$?%3>3`2L1sB87Icf{BxZJ&s3K+AcKvQRekIWK`J7xLT* z8iqe1V(Jb&DPohK95K4^xidtcICMh9@Ud}9#HK$rVynwDBc|>&WkS=P)>3X3s`>X- zh1f?PdyNrekNmz7F?{Oa!idQq+!C>szuocCKPO@@vk_ajdp=^i5&Rb;-YDXiBj$7f|J8^$iP-K%IX%E%8~HZ0w0l!4&kw|h zx48)U0TK1XWCZv}5pzFDo&6+Yv;U?r!%|2OYo@idPH)S%7dp<-nSI8&GrLvyD~2~* zvn#qk6#=dS38QW zd9C-i7h10`8}`6bQ>cYZuEM@cwB`owI1lL}q0g#ok!@wVE?!;Qb!xZf2Bm01RkM*< z%^sI4?Q3q()k`zFm_SgwPVHoe$0Cvm-*I!{ zRGLI9vKKyipHpU<-&I`uHCNR;8^rKECK+mrLk&6ydc z8Bfle0a$Z|4#%3CbXz&pCt5^y#B)U~H2gaW?#6 zh`@OWj6d{Y&O?S7G8iV`ZAD&w8)42v$ip9*@J9&agYkEEeEc3I;=BVNysN|bv!}@N z!#=|R!|=z6J}p8Y%&@@t$TKW341c`CoSzRBeO81%@{>efexmT_A|L(94&(39BI?BS zzo@wB!#_@B!z%De4rA|hk;#)k!v@3fzbx8OWcJTi-18Ym>=gOPH#v;G7Lk{qp5SvF zralUy-9+R^d!fA&XQRE)p8Ze_{+K93`DkApGn2noag&FCm1u9r$A9DF@7EnhzFWjG z#~%DyB9o`Q=ZW?cS$-UU<0C&?bU@@If1&8Wh~Zx<^88DLZ750p7mGeGviz@5+{<4s zOdEoaeadT?`lP&viHv`Pu*p^XeWy=rH-O6ipGKPkVS+Wc5vcy`tkqX8%!#@o$a8$oGj( z6q)=p4wK*0qLUr}Ma9iN{1-&0Mn3jm6&WA)+=$`R-#wrHZnr}4>EE7zx$xIS z*vG#QM4Y3*_(K2o{PpCNVfYl7bCl_S!trT8!-dax{Dy?Tsl(*Y3U;#(-YUV{I86CR z3R`)QA0bSc%^%vA@sZ!nVf^E{%(tREc#Oly@8jgLKTi0{C=Y-Cgny93@DFvE`WIZs zAHi@=#b4y9Q_ivGKR$gYV))||dz=q_`8Xfm80GPIvFN6V(LX}^#>XGVQ>KsnaiUvA zmj6i(qkoUc%k$jnwkQvuv5@icops~$BA>G9UEG6@T;QLW@L5;Bz{#KHF!DT?n&xl=`56ww|E9y(=Q$O1fIj7&Eo|ilU+ggTxl&|& z>f6q(rvGK7tq_6XpB>}IZxVhWronGX_;#*99)CGEt%@>oCA24aZ0J+=p2){v+DC81 zlz*XUb;QV%X7ZGW>%k);?4du;Ve+Fr!DB<;>I#fJ?d6Fm1K-BZCV!du#M$6epEXoF zKk*3dsi==XS2>LQgOP_0`CTXevoQ^M*1;Qw&$@TBkN#~A!~dSJ{(}s7p5r5bhr{p} z2$PTHzsO8KF#4Ym9uxIBzC7aFGh+O0aPo@Q zZRRliO@+rsdF=5BkTD#2ApglkehY`m?=uc#kMf#-;B6dV(Yoy&hCk9_+T$pPk@xjM ze)Nw+6p{ycuP9Glq0cjac-V%2aK!Myhef=;;*{4vLIm@Y74#JZc^(;p(IpQa8G_Nr z=9eN?u>(FUVg z)17_I#!qnR<LMXF*-AF&I(1W;4xuV}_l(Oe)&XCziWsobd z)2EfR*NR!?6Byx}NqlgLH`&Vs-~V8rVV$(*AT`yenMtC2?t)KLkYR|H^bTo#)G4oo zjOO^{nAWu_f31oo0|mjZLjA6zUDcvW(1O|aB6g`J6+QSCatJun6y8yOx;4 zVZu{&=U&}O?UXVtBCTm9U3lL*+(4if!3m3LvQl%Z@<~EPeK3W${D-efkp*>6sEh)v1tH6T3oRiiwFV)z zAaqns0S0%7)f@{vd?OM+X+mZ}!ajRtq1M9I7=5DJ|n#0zPb=w4d#6(|t z=~6vuheZYY?n{hdI7D^GVAaYeQ?*KsNg?2KF%BD1ngaeLHV26&QwcJu*Nwi_erMa`xT*>S6Fnaz#x9`-;Vk=GMc1=PT zG^O5A?(EQt%1aI%`Q5Ae$l_HZLc!bE~ z(GKIU4H(Qn1|0Zgc%K9x=&-V?`@M{qJbp5XV;FxYI1K+thv6UNF#Ho8=1_l8w3P^d z$nSKK9S`)GaNAl0AAN4pJpT;gZA4a{jKkCqlVICLKKj!{rjL%VAL?tmXru@p^3<1M z{AEIFN0ITVKjY(n*b_dAIH!5;AC_89Up&~kns5(=`jAy z7t!X>C;z(~#{M#g@t1XN-X1q)hS6u;B4tz%%1e9m{0D^(i+u9uhJJj+65yS8~K8CUXq{#HipBML?r4W6N=K;cBjTm`; zC~xxk!>^Tn`S@XYW0a@7{3y*Z^|65rn>_j(JBd|+g>wp# zr@d|KF!DPk^1C^VKTL{xf5r+Il&&Bg?`It!dru2@L_YeQ&rF~4?khg$F!bRcE;2sl zoggZU;A4;au0%|E4itk)H~7^5VGhGTI>9eHj69PT-3k?i`uKt4|9|X#2VfON*Y-^z zZ9_tUKq!#_Qlv>ykSdoBf;0t$poAnqNP`rbp#>rIDqW;^fzW#mMMNa@4iN!GKmid! z#r)4RyL0bkNhs?3{om*7Bxh%yIcLtCDLXqmJG+*Y+tRL1d$0vzdzAXx$@?3PSra-+S1}i%B&I$tQt=ur- z?0XD8>$koMH&-z2c~8OA-x*ld7p7qHxzAkX_XIwOcv(Mv6-@nu70mP_mGo?{3BV(a z^u$vY%<@eJK4S0@w8ScW_7~c7)ZjBc?Kx&(rk@GSISlQiJ#!UIdD^SWF9SYh$g}=w zzvMGN-tWlqkNjltIVYli@|%EEKKG%YH~1|7df*ENraaGQRi5SLoQnFWpZ8A^GyOL3 z)8LcO@}-#YK_xx;M-N08FDMv6%M}GvJ`MN=e3|~L34dq8 zw-wCt@qX>Lk)HPaWa8firp?q(`G*Q-eLMiZtMGY`E$tzn^H0tpnV$Ny;UM|6-x>I4 zgHQc#3MM~?BG3Bd{q#dap87d|d}LtuFWyh9nC&Yu?|a#vzZ>#Q&-ta)$Nc$AJ`(eM zeib-fk>|&pC7=0m{^Eebv3%6e`Guo_sh{&jDNp^JFUs<>Je)6PGvtXmUzC{T=O$Ar zPs{~fiK&nC56&r>KhwW&;)g1j{19MIMZUX&sjr73kDw(UhimYupSX{LS-uYy%=C#0 zru+y6lb-~f+sL1Iw1Qc_2?{2Es)Cu{WMIyLX%EXYTfuCPPk{3qeBy-)W_zwwN{-0$4vONg8hYa^e>pFfPX=M|9l|-eEz-# z{B%Y>c!~s1T^b$;ee;@ccgf^xZs=W0a^T9^L*#g9naTD>d zhn5(Qs37vulLzU5;#%LT-6 z*rp@CWWs4Ce8q&Xn(%cK{?3HIH{n|*{DXoKwA?XpPK1enGH@;fKQM4^13xmbFECHL z-wm9{z>H*B^BVGetVHZ*U{?d@Gcez&B|pD`vm2O~Yt~l|1M`$ZR+gLwE{HIK7GDGN zlp@Y&V4mWX_ct(4G2#FNQ#UD(fdddGzo>!z4P4y7F99QHdBwn#C6zTWdBo)nTnJ(6 zuVmoD2LE*fVaPjRy5ba(xVC{g#1PjtF!uuxH!v`7 z|ERw)FzcJo`^kUHz&-~5Z3EL@yv-CJ93L6eIiBnEV!<9y@FL>lB07f!hlB<92*YzI ze20u*tcieRP;4*!xO*6W$(}pyW3lLuCpG+~wut!Hn0P$O!*eah;L#ADav}#jTg2vp zjxdCm18-0Qs6R+PZ>*5vXE&Ng_rmY5)<-(N&sPI!^>6V^an;tkq%D}7ws26|f;DLi zcBCyxVql>-5)Kz!952&=FARY=4K&E=YCWeCBtU}mkl^zdaJyH)qa+Qcd zUZ@;Byg~*RisX9aA|;Geuza+%O%LnEK_qh2V{p`UBGRT`gee2H2n$s#BP8`Apw4wD z6dGZn(+KOGL6^}RNDu4Q>S45<-rRa5a@i!ZfJwISW}}lZYuyZ81{zeTo1wFGGxV^o zSq(!HI?;kQ4K|1@U@Fw==BZ}uP4$&#GLQgjYFdyJ~|SFdT`;AAqb0DT8WuH z&V&aknDYIBi^7K|(sSKZV&*puSeA$SCIc5Y#@#iLdLc!E0H}fG{*q?>~hZc!{R4|9ETfh|+KGzjhd2W_daW19*(Vjvk zTw1}jr-}(TP%!ha4O~shU+v%2-$9Y5KDn7omZvNDwUqR|6ioeGSF5e?6BR!7k5w@B z&jMEKe+FRNX+y+KO2K+KkZuueOz0Ucn7eQr+tS_ z_^g7dpW}&?CuV<=nE7#?N-fVd;FgGIe&pXb@wqP5+Tb&Pt}{tY{hlba)W`Jhz-DCN@>N09 zBTK_w5fU>!Cvx;9zc#{Z`g#hcTwRdt0mK|VB&OdGBwHUr%dWEyV)bwcjNuvf5ojn# zo?#h3N&j|qOmBR;Mc=V1ZX-WIdigqi%KVh|K?9-(;I=jdFIwYcoH(tpi7#aZzrY%- z|5AF&JZ|XJzkiA!>oU0U!C@(Dqk>WvBRwQzQ)`mp z8NS#Zi#>lhS&sUL0!(`2hhQ@UlLHxir8J1n`hDR~(m$;|e_n3Bg#Z zdn{0OT^NS`U`GpQbr53|x55yvBb zW(`#Yf0^Mke{w-VF*slegz0g>Z=wm!bE$SNbs`jx*YD$l@HGW|6Bu6v4oz8%PXjN* zcUCvK>fc#Kr^K0I{Suf<(c&!OnLR0QJ`Kj%}GOP7ZzFPm(XHKuyKg-_< zB-@keLk&!Oh}HUMero+wzgqv~_XElLB7d-fSsvz>q+rUARxtBZ>zDFs{gSWNFVoKf zN&ATxE12?X{bu|uq~70IPNt`0pYkwa_7$D0^Lec$W_g0JYj@BtS1p7Y@ggo6#OlO{ z1>q{Tl94gYe0;bor*W| zD&D4G>e~%c_3ty`gC=}f!OZWd37<0I^CsLBhROVxzNHEC##ZuacP9l?{(WFMi6Z8P zBo*^US7N4L50d&=Ue*`e3u2;^vcBXbi*3jHQZegGV&=CSB-0bKzEsTmQZegGV%no_ z;9~llFogYs_7HOejEa9zFzsV~OFl8{Tg9wziCNxNNUxTkH%1aOzci4FubS|83TA${ zO!%$|KTt5s%lei2iCMoYX8o$z+@F2}pA&JIE$WB;Ut*Sz3p*0iJ}2Oc@F`F1X2RJO z%<|_1mg$M}m@pTDRQ^i}W_i^9&ismiFK^_DOPDYhiX@-;RWM;L45|F83Z}lACS1pa z8=5fBH>r>5dA_Nb=bOYVk9xkcez}3LA$)k^BHc;B)W`F&vB4+i`KV%^j}r4D5oyA) zCfrxS9OMU@@Guh|qhRX)Si!XC69rS>4B&U*!xOg)T&Pm<5(Tq;)boefeEw{KyzIZ! zzY(}Se0W0t4inyI!e1(w_McQRFIdNcKQQzWpEqGHbV)w#Q^yzTx+U6V8TCq4KjUnECkv%ks0n^O^8VCS25nxj{}%U)F>xny|W%29~9U!Y9T{g*JV} zwG~WzRsF=OeqvQWs=`u7Nl#qYgzG67!3=MO5~~Y+#EneyO%zQ1@~u&ZDc{WCGfYw! z28ml5e9E((=&pX}U>WA5Z-(Km?r;z{%GhpoGrXPIB0456zH2;g!s;U}pP24Kdfw_f z@WZG4464w|C%v(_)rr-A8@p@Q&c;_n@rB2@xH!H8iPt6ZNizO62JUG)i=QUp`)hpJ zjNfs?M^^D>nErkke;9+WQi`|8_|jaY@fsW72^7Ej!5=xXy|D)sM7U$doi<;XLy~@Y z_Yyh~7h$~DhalbuMegEFLcT=^aR^gXe>IP2X)hM^-nxB5Ddl zo%MIbi+8lxEf_~9(1x>{u(yGwtv)6`*PQ62K2C4wB+jct8|E4kozz!Ahc-T^8+7D{ zhN3P~Phs}z#A+)Bl0_qa#lXypxU7L?6<07YM=Hj>W?)tUN0&DY%qk$RX<&v)bqq{- z>S$7UK)fyBNJ#njK(t@xPd+jElz$&Y-3-&-P!RbNhZ$JP zM;e&?{I_IiQ6bpuP4IXtdCr2g0OlgqUw|1`Aq)7 z!7>ts9R=b@&FzX~KyswcxUYpHb!bd|=;bIq9%(sB7q+^6cXU+hnxn&0Hys^(bad(_ zCA>a$+tDGZJ9s=g>gZ5N3`J-x|5De3b|5tF=(yBm97m;X7CtZ3x5ZXGH>Q8bdLacTk7`I?X(6oPQ)g{PlPS&k0ye@9oCEjhPC3j9%&iI z5&E{KCL<>vA<3gi14)F2q;3`n)(A{#T8X2un0doyp=F1NM_Hg{2Q7lNLm)Q}HIa;( z7=_%%0*{414pM6%wFY*u9;g$4h^M|}ab(Td>wst*Qh-oOltrZ6jCMeNxUQt(y22Bi zor@sbNIRL=%O+gXgv*$4c@vg{w;T}U;4N_tlYDIxu4lrHOt`5Dw@@(4!)d)N z4>70Z60>}rOgO}ZyP0r=39I_4Ppwa4bAD?5(w-iQKH^>qX8HjNCO-j0$2KQUB!D9( zjRvXZ8wt$5!uqECa1ixUmi}0fDnC)ddS6Mt?y7y{LRooXkZmU~3=*$1(n{TP6kW{w zQxIh(e}Tc5c$tBvtxJGaTeq0xlTGqm`{M;v>QgTk%%Ar0B2GRr^{IFlu&fL6_Zyh< zq&W(vT`UjR2W5U=8GLE~m%up;KJ^__Fw>s{srj7&=DbYWcge)RYGBE~rSRPl{vO16 z8~Mcd6wLg72dVk}3Y;G#^|5gzW}K>@>8YRdJo1RCUt-3o~qr4jy9}1LtQCB&WE-vvf9f^GP9ayHXtjH6qdxMCpDSW0UpJkBxYABfUYW|e3 z4L`_{4nYRLT=Gf2oi8F@N@Lcp^RX zmwd|iQZVJ?fCJ#e6Y~8OKJ8WOlkx);KFh0O@`o#Yrst9u^XFJjc{6{!!KbX4n$u-+!@9E;IZHN~?I>$BO6OoLo91Ehm@yFJ0er)m$9|P&)nw zV=B-Jm&Wgg1_kY#j|bd%mKiUC_{kFd941J76CR%`kH>G5;^#ZVc)(3MzG#DI+Pr(m z=d5@@Tqt$KM}>yz9&Y^k^j94B4$%Sb@p;c9zAD4pd0PMr2*gmTF9}d7Anr?W;O~Y) zPfQrqASkrxKR3#+5pnf_9zP~Ui}?GU{5es4&wPj>g#e}KiD+1;8?ko?f;x)jD$fjQXG*R ztp-K0ps_gMTk%6!iqKfd;%7(k=_|BIOlZnHgrGJQif|0Yau0q8mEYD6V>IfSM>KiA zupnfJV&I6?B6{#~j2Fk0d3qEhKq>RY0l)vU4|T~yCh7}Lwvq3c+jW^ zsMO#Y92qZtD#m^XZgt>y{&9eoNGOP8+DLpq4U%NiGqR!xp`MKpBn%UAJfKd*5ueG& z&kn?6yF@&8eT2m08~La_{3b3cHVhSJu?~NvJluD%SU&;gqXsc((5K@G%pWb?1?F{c zB9c7ydB4u#hnQ0xoXKKXC#D>+Cy1DGl;n6e}egXBxyoI-F2VtVqq)I&Zo z=_LbGhIvw6sUb0S6LTu2=KsEesh{QH z@-{qSZ;--g`VbT5R8i(fdpR{!^+%gf~jx0f_XlgpMI+SkMe5& zWB%s$RLjpgQOi%P_D^E9e^Q^?KZ(`;NqMz@607}__H9tg!*gtl3GY%c>ubM)nf{Oo ztMx_sBMP7Rgn?-*)1OuN#1|F3Z$3W{i6=)R+_Yb?c@Hg!gX|5&TvnHu8oyRjQ`=Pq zlh2P6NO|)86iohiCi$Bt{DXp-p3jPti7L={McH*DwydxrBLm0RxtUjKQ5xs9%9y?iurLDriUlaPFA|q$NYR0Oqsk2 zratxAHtm;RC}w`NU#%bNWBn9_Pd?8k)(nWJ| ztIw8cuY7jQ{3$P=6(gCjw*>;l5tjD9t6<8vH}q4U_<9dq3$f%UD16EfRWRlGQi@E^{H6iR@)OTiF!NueVAjV<1H%(}u2cA|pS8f1 z;nP0i4GLzOt%f|qEdOQ%I0KONwcWsyzenLye!qfg&ld`2nj<){JPb4c;|iwyQQ+F} znIHSdX#>L({pl0}bqqesf6>5_&zD>zpY?T1!Ib|=!OZVB;M(wI`Dm2H%s-ogX|INZ zv>!>uB7UhQc)$xk@*l1E8^XJD^BxZWG|1rJV|0vJ?_YQpK z&+@bX5mPt$?0=F^%>E}a<=OuvW`1h_BUbw#^EdauqKdt=fggjB_7j&M2|BZa`=RUPa)x{RsSuAa=Fm)d1}2 z2#LlAfkUEG<`SkX#SsezG2G}LgKhRHE4c8ZzaqiUX>&sc*EE8~To?Q9`Ai$18^#+E z`g;-JKyxrx55zH(S0aL<%SK#`p|! zG!86MbYFa19UmXS>PBC_1kg8SEj}dP8Nap{gDS-S6a?^k0Ctk_h|=Onld(Z26fAuG znYth|mm+g1F*nLqV^D-w669+X@cH6|P>AIQsM6m(z>5(m6%@uoo-a1wKuP@_2Y5nO zf5(B5d?SM54073s3rBo;LdY)_;yA(*9PKYebY}64_ae}K;*AJl3Zg{@@J0FHqh&>` zc-cXO`8opyQkLqz5Mm_CtH14#vI5+-L80Pp2ho}EqQgu#{Y3|!b9~VOxH0=Y`#6bC zhIyXRp<9bMrlDgzWjKz}@%+PzK{S?6=6vF&?cudvEG6&+qGJM25FIi3ymerhj+hr6 z9qE|zD$b)|>dOsc#+0FfT)L3*jAwcdB$BV@M|o8r<*85FKz=@u)W`fd86ajQP(Hwf ziy4@Cl3&WeEF06v+hbYTuN!>5A+Y()gyron`Lw6H!DpBxZ+~eUu@yx7n70@l*yr^D zLGWV?KJ%wcF9Xv);sgUTOiDB``P4t$z)a6PM=O~82?pk5g8az_raa3q!@!g!f3AVq ziHH{)SnB`Gg!dU(+8bnG);INc0&zPK!=x@C)(7Q@BMi*EXu}r>{)UVb*`D*>sezpFoU#)-2F9xx` zSRce{{WJY)gU|XT=3@@ZGjHmX%Twet{XP)+#FSC%n|!st$ye)}eL}5oVzs_0|1F66 z#bh@)<2xtJv!211HZ(BdMkd_Ez$||dzZ1XEP3z2znko$97ADMD3Nv9sX53D}ly9$K z^50i5GfG?JrX`6L=bH+Ll0PY!T}h6G z>4{lh6|=k&Q|47**wCj6!e*E3;G9Atg4edUS^^%2Vz z7h>l3wjxh^S}B+^YJVWkYvQxKGC%Uo?bR0i5{Q@ivHexd_EvGQf@x1z1=HRr1+)IS zVp-PEPaI>yeH2U^DgvwR!H3NijP%Se(S(x>d8Q?Qw1S!61O<~nUBRxvT#@87g6WC5 z0;%GK3TFDxl=RfU+Jx2qPQKdTSwAU?Jn=yT!xR1W00OlUraer5*o66hh2%56+JA`6 z{YS33$?|bct^wpE<{F#Cykz{SVCMfw!Q}q}%weDDiPKG(A0Cl>+M}*fQ6C5Gx8XBA zG2h2faRCLhJ-9|C`OJ^+Ur0>-<$-1YX8Xur#X_{`4_uQ{`Pd_1!#v;Q`w^6BwANA9znB|kW z_rS?mPTK0G%@=p%bqp5SR9(-68<=n-6P7b%nZBus&!LPwI_hs}V46--TY%^!ZjCTy zWzpIgn6j*@4hE(!o*z6>5VV|l$gwyK`8uTKX`Z%n zecGx~@;FHZM#|$v5g06wBSauk9w9as=_jYHoSwFFM%v0x(^f7>Te&1{<+8MuE7Ml4 zq8#9=F^tD?)u6Oh!_!vo6iFaITgXFr_4CC*VRG8aHEAo?rmb8jlp|kcI$vbERAh?6 zAiGr}ufb`n64O=>tK@U`bIM$aFsdD8LCvFMpz4Ni=snbtx3+_cKfMGoTR&?*(vDiw=vkHou>c%uXDDg|On zI$}=Qb)@6+3YOh)nW#>^OQO+GscXeit!BOJ>3v6+(PL~KSu`>`xH#{PvmY%i`YGc@ zDqFyS7$I2p18!O{t*xY3M_k#2<+`9OT@4feO%ql}eUZ~0sX%rOn9V%+40yV<{ZN5!0yj8ST%l<39EcD zG7QG55)#jMWYMRXq^FzkCnh}Ggy)&?LK9wM!pjxRYa~k}PXYsqAqiq)2wJJg)85r4 zyv~F-n(!7A-fqIXOgKfsqMpZpB~OU`3X7&3G~q8z_=pJ~GvSjae8z;&oA4zQ{@R4E zn(((K{Jnxj(e4~^({hSaQM3auZ5-EdLzC*JO%Z3xZ6yuMe8+_4BBDGq9+>!#O!#*N zv+a$Gt&y|5fXk8A7-sds)@EJuQ8%p;jY(IO5j$e8sGbSg6s#8*DUUhwq;XSN#ByH{lx!=2^&p%rbG>p<80&E&?pI-sKR`=QVmg;H<@+ zj4ccnuPA5Sw8f4h8k1P`S=&7h!s|u+YIa;(A`txwib0F+8Uml4KHT{l_}+vb3S zcuU5FxT&yJ7w=Ut!k%~2CW^L|Tjiv=Tvn9Xvv}AIk^yHo;T$HM%Y^fou-q!gJa`*H z%cOBUlanvFX&*W9%#fStD9PD*F-4PTDYTb#CzcMWhH*D{2 z!jUH2!-Qi^m|v-u`b7WGJ2lUBQ3m}KMtSsrxB)l9x{Mx=DL&+-uyH}d34vl`SY0oU zwoZaI1cdd9kX?)CmR?7Q!M{*NJ$e9KJ%B+=&qd8qwMrk-bQ#q`=)@&gH_3K=M!9fG zh?d|PVhf1H77mtTFksO{7Cde4T*3I~zza@arRsPA8>L`gz~(5J7aUcd=~a22hN?WE z#SfW+<@M={AZ{@_7DQ;CT*0JYYm3zz9AmkIkD^r4#98;hC?tsBrGy6EHWfMGA=$6yh!jO!HWbh5?^JC= zaq&^$;Z48QQQ$>^hlc{;v7zDkU@$gt;h_PxuSMeB!AQKBhZ5qDvTfh&&cPvjc|)c* zll_b(Mvt(a!3@*MGn&}U=PX#|v+GIBrDt|s74uQFise!~<0!AL=MWcE8Lrk z-L!ASlY&r%L&>ft9A?7d3TDY7O}K{%$C_|21=I4rCfr}av}dph4^c4lA8NwG70jMF z%7n)&*cIW)CTw0JnXmAf-y#!UYQmo>nB`k#!fO>weSc+%gZfhxeZ&V$_>c)7Q83GY zT)`YQ&MBDnpJu|}D46!Ed}1^Ix=H?qf@$w96TV}@_f7brf|;MX20{EH%LvS0T{|H5 z#Bd?cL}IzoN1l1+dv!lWp80blk4#Vek_mHTkK|MT%O+gXgw;D_%9mI8Y#+6LiPidL z{%ZXatMyB))-SPIzts1dDZeTTro750HuL31BbJ%`nx^!%O}MUtS>6UF+(f}VzvV_F z>L+fk@WVr+aC7#Hn>LQEn&B-+;`aq zWn0R&ppe*Tj$Lps*KoAVL!$X0&fyk-7J_VZxD0y{-ieP1x9>%8Mp{0k^mf3OI~q|8 zyFs_&1AK2;I>9Ixkb`(|9fc1nT3kahvBBQ?uK18+H;YerOi)l*_YZnRcZ{DPwwe}e#f z`VpHGACK%7j|~$+QF(jVK3eJOfUWWPr9mg`s_z*enhkR`xx2 zaEXfWjbb_T_J~6bAd3RAy-+p&aWSIlMBOh!TP+5$?It3cME4N)uuBlPREf8>=^K34 zqj6-92=RGKyht1!RUc`}KXkI3;k_>$n=^1d`Vu;jOjogT>!|47o$6`+-%RiI?hYS0?cTF^SsdJu;YF7fe4aW{fWAzT`?3E|Bk4k=sU z^G9&EfhttCMujvB>f1TAMRaUjQ@$-J?k_$=-l=cub~J*&9kM$>J3+fZyFq(EDWJWe zeW3lI1E9}A(vE`&e*uzq976a@5bfX(?UsZ875oaX!H&11wctE+Widp1ll81APs;0{RBTUznvG*Wh0VRj69OPf&1N zi*Eek55*w%lSZ&%d_%o`zC-w1$bSdA0s0?;r|TcugxMGVGp`B`bqsh`g=}xLukhd8j z1((+Gotp(=jIz983+d-f0MgMRd)ql9&IQDmF?b)t{{y>1BmAqKY_|$w#^3O zSJe2cwr-#b<(mfe>)RGTt<()YTJK9AK}V14*!#6)h`aXK>*YF*7I%p9hi^5ICx}0K z%WCt2?+xOQ-ui%8ZT!JoS#7xx&JB{?i9deJAFyS2$_t;(=m(!o7#9;6!sn0U(w0*2 zX-jGN6)H3f>SMBDnqotFEX$RF9Dhi+9OzXLe?+$es3M3zp!*t#Kb%_`R0Sk$;E(54 z159n5?+$=sKE)3_o-4Hf)LF6s#VjaTGAj==XZ4PPyY6)Vy zw1VFn^bY7adryR8K(QdUeH{FF5X;*OKFix1 zzF}j#=$MT4{xR~F^yI=8Kou&!jj2pV zI|7im9L{k&K!ZVvpdp}-KowqV&XoB4Q*@MmvC`{05NXcr64hzBkMK~)4g)2D zhJ!|cMuJ9xMuWzH#)8Iy#)D*iPC$4fXcCC^`7!*-AlBy;_^i*V@GDdjcGwER_P&aI zWnK2clJ+#nO$W^Y%>;b{ng#k4G#fMrG#4}vG#?~wSb*?CknF>Y5MB&g0$K`M23iiP zP+r(zT(tFi=!Sgd<5s7YNS~Ms_@zqS17&z!xq`5 z^w&am9Z1^3{?BvTYzxQQ7qw+Q^y-)I*7!miu9>#Uj9xDZ$X~XNAKu~L0QrreO`y%7 zEg;&m75+BRcF+#cPS7rpY@6K(?*YlSNkMooi2Y+9eD;t1@GHFDx-Vw!eIpe^*hid^ zx3r@j!kMCrNU4^^D<+vjpURv6} z--KAK$rIhRxiRy(aAZRi>r&P zXNeNoy|R1d(meC{LbgP%+$Hj8h#^jZr0Xe>?R0l-L&vz>!Qcm|XxS@@Mw zrOT8p_iFhPK3Ta6Suy@}e8oyg`kK${m8-l_wb~14sb0fyHM4R)wchlpZLL$cUi}6Q z8~HSD@>bJkZ#Qqzyk)D_@4VZlZM*lHw{PB|dGqGTGqB_P2pEnwd?0}>u9GR|N$BGf z)ETkCS(G8f$0zj3M47~NQR2EPVHxZe);&BTGAg=6i5?=Vr@@GcWgxD3e6QYpN|fl^ z@52P0k%c|~%cA?6?HMr893$``qqNWVe0&B!Tj*bje{1018u+&c{;h$3YvA7+__qfB zt$}}Q;2%~4i9`Nj1$x2aWOaM^UlRY(e@QvBD&|LAy5ufhPf$J(UrXh#-aMfEpxhvL zkTpQx;+PBJM1=j}b8|^vP!5m=O3e3IY^3LcXkt=&x)sa5i6Cp$^z_8<;3F;(Yr=^& z!8->073eUiIp_-zc4k?z8!K@(_}GPIJ&JHggipdB0RI%?up7&I7KFFQ5UA&ffIof3xN=qh&U^D8Yk8QRn?yaC%%esWf0@r zfLeeapK!ZTzL5b<1COOZ9nk@2fvl)+D{Qc`j?t!x zXiqEJ&WifCq8+VhLo3=hk>!HDRL4d< z@Szc*#S65djCyy*$HYXR& zQ_G&E%ZByzr)Lf>)-K_^oHQ(4y83u&UamQFYPp=8w4C0#bLPyMRraoiRlZr|?rOwi z74*ga^5xg%ea*?9h%gIe#07MSXCMp|%Ig;pkk`+*aFL=2aWOWpUrFEMSdZ1k%H;Jc z{xGH)5uwq*+ zuV3{VHSJnzy@@4P-@0{u>-pAi0J*vieH-~UZsPk^(lYU|=%x_0H_a5$HT z?Jbfq6y2j|Ol+KMUcY$sp30Rg_cA$KW?2MmnPm~^VR9LB&kT8q%In=bGv2e~`eYR8 zn-Tu~$kOk*9GVw{CY|z+l81JRGgl>S7kHyI;3q`i*4z`eYre@o&74EDGZ|^|6{C_OuBu()#iqoM( zV4w(kd)w_n_Fi7zw94)*KF=~R(?aTzPp$dCR#+uhZ#?un>aNXp$WW4}tG6ZZ(7_9Z z?I62BCaEZj+AL6lj4tbLhBSOL$$ICQyY^BhS$KQf(pszwj=O8~(1TUyqk_!B z37KkrW@KPOpm#z-g4Bp$LSRCI>@4==IG@x>j?%@24AR&OfKXQLE``Lc2UB8;qs$*4 z15O|XB2ssNRK!HAKect8oiWXU!_Yt%7%1~6dY=5LRR{(mOO#*NLQM<`C^S)uJUDy) zfjngcai4O^U29>_o8>VGp4pK_r)SK7z3hRa1h50fV=u^QcWs)3xzJ8}Q7NIj7q4_- zo{@2&Xmnep8#*nhNI1P987tk(Td#79_1GDAtqqz<6o=O6rJ`byk_QpeIpV0xic*V4 zW?Qr7MeRcZh!Ga+hO_S47)N_uvyp{!=4}J&jEST+Th1~<@ohpf4vE>Zkv>5*Gs3c+ z5rCA?Z?1L`iGyDFoL=5gU{n2^`Rnqcy+!uOUzFUIKalQNsTr#s5$I^=-L?A;&zrL> zu-!+=6WGh48osD=Z&95PNia%=V8)z{c+|hHNc0uEP8ovXGHCYg3^uUAg}kVC-5`V! z5KgZFd&@IFjG0F-x@+d~#+=a;7$+!83rDTaI^Q;kt3w%cxa6*VfNB;tilc4{Q`xK* zVJQM&%K?2!77icplbNc;5PGbsm)*7V4!FSbdZRio%rS5&)_b` zn+t|!!%4d&&eUfybc5tEK?HDd5%Mw?zDZ8uC_zlcbY~a~EDFL%F@O5nU7PHgsVSL9 z>U}an&jKE?G9S@vNlz+R2tt;98U0pwdX!!snTgP&vmtD+QbfV>{?FwseErhGqtyBw zzS9eL)aOw8Un?SN-d6uO_gE7){OoFZUipl2S>+?7o}FnX5*hVpBJkW%;&ir+9rh8z z9zvHjYctMSc%nyJ2K>#gn{e2XFC3N{%?A97|8q5v$?d3P*12WlGIZAL7v`WV4jed8 zCeyoDM*RX|%*MUXZFeoN6t(-{@zOE=2X`&EJywR8F!>1c zaO0Bxgl09uxV2KF{(KmoH<(#z9HFw|u%jqxT~3d+yrK z7ixKCp0#pv)t2V-0sFw2RVWL6EG!C_$+?+Df(+5+$KHdQX_akenz0%U1MKxD3uDY6^@~zq z;4^X;b-=PSU|O-t+C&qFiG``qVY}fHC$C8`Q;3wpA+d0@24xim%+L%-ZO56avPJ3( z^iEEL1}6>~^3l*?Nf-woxohcofTTOURrRaBk*|@vfv8H%ePND1CW<7s2LsO$P@fX~ ziExG-It&LKks-abA3tHj#EFw8+4X;HI4Pes_MPl& z@%0@uX3CVQ+B7_c((!b-sX(Jg`(kqf`7>tV!H~edJ&9+|j0Xl!r2piTS+gK-akM+J zn(ro@lT(h|*>aHN`Ss~+!RF&!-Q~zl-_sKZS3KOcJ69*h8O~9pvgi*Ac+83QV|`YD z#|GJ4I@o6j0$Vb4dUR7hy?u(aSmzA(&+9v}<+Z@eZoVE`XmX284s*b~emD%o zQXNl1p-+tYuFwZNO>y@9_&?(+Ts#XW|gM5f)L1z{g>jN(N0;m z(DP=hD|o8(b4=7kdR$$HduW=X3pW>tx#wx_@GpWDb*A9rEZveUUFJEP6#rj=_P${c zy^!s)_q{Y68l>RBo%@uF>-sZPu)gnLe9&%XbEwuG1tsrlJ1RTk^E$sU?Bd6>l^c-Qf{ zw$Rvxo^ub4ZKI7Puiw&T%RgJ8-zBVEmAo3aA^fN7&|%FQ`|ZPjE`$ju9W%f@mK(m{ zIIGU-y|AxL*fS0C zwnW@_;Go}sh}#UTC%OrY8x~_w7V*XwDu&&}nxmUjHu3OnhKClXS8rxVThGgk`Iq9* ze`k7VryTy0lK-`d@l}Xf9@>3AqqRBqAl@^2b?_c2+lDi58FtI&;^M{oA>r8Q2?=iE z9?*-?9lW7UcB4!>-d~C0S`l}CdjAKX!Z@KQcn$~m+?KwG>~kws1<}1ZF|jp~v1dUQ zv4w@{cFC+mX#2Sy+WseY{AHa&aO7T*4EAJ}#x|9b0mIKsR*kcZtFccB+Y^Y;QzV~< z_596ltMdO10o?vA^w6d_K2H&!CiB0cEPuZZ7{wQRXa}C?>msK=^?2&VzWhWE@CRXTb(*QEj_m> zn{D`W*ti(O;{#_paT&k?>&KZn+nTM07ZcP!zH;(c{yK;mHx5*?&aMfsVdV8&&lgxY zDYwVlLmM`3+PuNCW$U)>jI&q|tn$z*ni_QJ66hOvS6f!NL$89o0s znOTZVnKAZIj9=%W4dG3WtlFACfQ=@0P9fpK>V@eNW>bJo| zTj$76oBf?mDOgrP(H~f5lvnA~`ZDL?`{zW?=HY(?fGLh9Qgf8=zGV02!S9=g4{Y(;jRuO#h^D2X~ z7X#)=6W;0G?V&}!n3BIF?UD`C+&vyzpTDF9iT`X{<0_Hjp{1*rD{s!Gc!gD+ab3rb z0@0jL^4;7#J>}|=^u_DtNa-oIBZyT}EG+R4k*;o7%f|QK^=Ygq|Nm&?Kc&X`Vm&PU z556Cd8ek>ZZLm*^>~UF#uzK}$$1_g2Onq>jon19AXJ?CeqQDjWg9kjcP;3O@#9Gyz z0jP}3&sB(OAoE(Q>zHdpUTgSiH!z_J+yj(PpKaoomo;fj>$2* z`pQFFBp*xI*|vSy1F7nny7Yu%lzI+%i*mNvvowd)e7Q4x;6PO95fAOE7FH*8Q)^vdCWt@ukTt@k9%lUG81`@INTAQu-#*s z<KC#b!YpZ)g|#@z)5UCtf%P?i2xY;S(V|9ikm_&_C7<@t zI!V6b>oyspO1u)(wLsldP6?4C8{&+IHs?=|)zrem+3Yp~N=eMDOfm1ZG3O9Q@q}k# z*ixjd9EF*To>WRehp}IGI((WM8vm4fLhewGE_Yt(uupq-gQ74~VUaY#nu^r3o*WRf zDq4nkdvP*E+km~UZBh1sD8H;7d$bG*wq9NMIMW5p@C{jXjEf#xV=4ESedxR7p;Zcc zafhnE?4i}}^5V`YoL(ZFP**&(Lb58d@L}dR9$Jq-wP1ugV%JriYY>#|(u5bPX)MYyJ06{!e3%{P6xZ;SJxeV{ohVt07%0gyiNauJfeGS>gR=BvWPRO3 zE1`&I6@;;zB|MN15oMxlij`hu>gXJE|t>;=PuE9)b(ibvkxdT4JxXeY*NcYwVejVpyY7@s@P6Klm%`A`Dx>}Q7q&lnpp7_9tf@bGX!W0B zaHcFn+8O_ghc--}ky#s@ z6~`#MjjeZo8_Xi07a0vLY7mvFf1n6$_0U7>nu)#kF$o!}s|1;4U_146?Y5&uW(yzx zX!S=P+KfM6_RRABTjOBiZy51k;AZ;o5Y?xG$oqE>ZSVi$+Ijw}Mp@E5v{#=$fsjP1 z!J5|a1yf}u4sAm;tw&buXU3aPw9FGILkJUy+09T*E1tQuj5SUeUOgZzpSDTvGkxO( z6GJMOWcZYwgV&s4npWF>GRuiY=0k)iUnW_>rX=mfuLYTC!l-MVGh9PIz=h%koW*(> zsl?a1Z2Jco!2EcGra8b*g@5}Wai(NiZJ9-)(4#c%r~j@(>lJ~bkI^(N03a|<(-!%pWxX- z$aXqj3w9STyk>eZo~>r$WhyQr<@4Al6FoD{lSzETE#cw#4O{#R!cl6WFuuNSq>(|?HJ@C6jpTZ{GPJbcJN=#>jRG82qf^EIus0nJ?8Z^|h6dJriVYTD`l$q9sQuJE@9 zloeZ91=xPBX`S{y)9rhvlNve0vG*Gy-r}S#)wFG*7VUGPC(8$(crc~Nh#;3CsmWN! zBf=kr8PJgtC$P>E`i=A=MubJINUewDQCBZ?3Sk*9eQY{ejyWZ^e^^ry`1pBeD&h)E z<$uei_!&yD9QB!|wJ}LOk+<0vGd86+APT-h(^fdxF8>TXyI{|!Jo7B|Jq20to+}!k zwq2!Z{!f*)SkoX==czI#W`+hOfa8vo)YY1HJi}XSriA}=D7L5l0}F{c@Or!{kfCIv z%|#3v9^9wA2bv+>-wKfR22FeSZ`CQ4LH9;YTbW^~(|fvFlY@*v`o;q)V&m zGnKNYZPv8rCYCKzo05!rY<#Apj5)nEbqj8SOtF-;j^Bz!CZ7E8{~=QadDXM~DBgBW zd)*%K0wGk<4o$mad=UBt68@hORhM=CPZ|CXG8VlwMa$yH9&E+L`z-r##`<8k1izD9 z|M^e(u<3xN-Eok2A^$Bt%6(AN7CZfSzdxa0ZVFy^w4B0ENt_0q0i6Y%1Dyw509^!K z0$m2Bf!?m%E~rOXP*jETb(&Rty=`b%*KTq6ojc2kUz{w?(A5J(M}H#xuaV{oh~aPG zUjG-=oftZygLB**wr8_t^-S;NY6x zzy6%vZOrEZQPtni5!UpowbRL%o?Yi1z3Nn>;R)xr9uLiaEPTDk!e5uHe?4N_nmVTr zZarW7(YDXNi8xa+KJaq=BiT<~c(3Ns<)4*5TfCa(Qp-UtPk){#D0S!h`|Ao9-MhBU z^vPR}crV<(>C;V)CEbQ+`(Vvk&;2jo&{iiUM8E3Ov|GF7{z1EImhG}(y!Apam!9Vx zwgnuURw~EIA4d#b-Lug84K53>?wnoe#HR1&9dzyU+9Qki*d^{${HA$*y)}FHfn{q( zx=oD;ncxr@eEojQ@bJz-5e3hb4;}iprSrYplU*V{T_kFj-wtKyQ-hVbZw8f2$ zIlteuV^qTM&A(svzu38P*>k=>B^)0e+VsS4?Sj@c`>N&oYH^lr^RJZOdcwN!a+A}O z&(w_Edvw8X_fH+~ej}{z?`NZ4YcRa)iquV=&c&8>u6NDfsnQ2cJ(e9z$bPX#&ulH0 zSshE{$f4~R7T|fX*!pg5*A9&ia6i#y^X#iZUwJ*c^!~JiXJ08YEj4-FlG6wB)?EAE z;Oy(lRS(?0aYe+IT>(Qj-QKWv=M2v)8=PhwTOC)m;mPk;^*%PsxA=MIA$cyu=G20} z`KWrx$F;ggW?$02dq3@n*VS3+?vqNaw0Nxk)U|)TN#1vk&38-ccF*CZKlZqUb!^-D zmqT4c2lcERk?&iV@Tgt|PW+Kp`uK?U{m$k1vdP7+(U&(rdi3Ltv2}NB%zJWda;NX+ zpE@;Q($Tql_ndj7)xFEj?{?jKv}@aKi!QpXfAg)%YZ{#^o&8MH0v@X#G;yljsh_ho z<;PB!-@V**$&X{BD)ikE)?oD7phNkGblEoNSah+ht_y>1Te>Kc=)ttDGxlbw@u_uF)3W$D!)zENO<=ghIkCT8Dp^4i89FC-Mc zd|o?o?D()cS5Dl0xb|YVs3GSH9nQ03aEIcXAAH?AIl6bljeghLyAAKr-8=n@>MmUZ zaRo~MG<00p%FYjur-ujCKN69r&lQh3KOD<``kf)pZ|_;_R5hr0*Tui&>6F^6VOZny zy`yS1>3($Oh4!b;cF``^zEk~7mDVe_E#3F&)=LAAtZ8^7eSP_Y_qJ~zxo684*js?1P{J3;_*i z$G2^tnK2b_)~tMdg-go~UEg|`uW*mq3B{K0PYWJDcj(fKZl!*_9^E{lcIlPXK5TmE zPUUMM8?q-lOzrRA|7e4Leg(AS8#|U?ckHVvcPb5EF||#dv|5jx&%gJH*5dd4&BA96 zOe$V6b+`Y!>sxL0c_;UvUKK7KzWnL52b+G|Jgh`g`u5saUcYmrS?r;)CDS6mIJl_I ziq9enI6IXJ2<}quw`#w3+tqRQyfOF7U)?b2-QGD)ud7fx`RH$5@(tMDaX^7j%6{GT zT%KW$IXb+$qD`kppYPl6`O1*T;Y}MS@A<}i)WTtT<~)48#mw0)W}K>=e&Ke@8O`7F z{m{Kf%u6XX&#xZpvhBozUPYH&X;$xWNz3idQPoGfKA!c}^{tDR4(WN*Ql?63*T$8! zS|{Vnzn8qT|D8gQ8cgliJ?;3+GUwO*aeaz^%Q-9hy*BvbwMGZ7Czj2=ymaDQJR-%bXw1UFv_w`PB}Gf}2bj_Qkc++gA*#SKvmFW58JF&m&7LAKRw( zSF4I&UUS2L)9IoueENij_ws*mxZ>~058j>LZ|m=sYYdv%`i%~IjtuCuaM`-Dp4sl@ z3GWn?{OaHmqZ(bkz5naCmOma=ZseGJt-jnapo+_Hr>E84mHha4m-_`LcbwGsgB;aP zwdG!sOG6Hei%CIku_z}r!Tj#oZFYD`t~^& zdgb<>(JZ$6)|$8SJa!osTji}H7kc)nzxm23hjt5Ycc~dQ=g7p8Gnf2QB1iU~L8ZIr zUfv~T>+OyUE)DoC?aeoKCAGgdrrgi#HZ&eTdH<qQQ*@4egT{3-x&6|&Z_M*N`#^t7CrRN?P_W6?TZri=1m0bg%Q_hY?3FzBy*<^>*KNTzv{6ng8( zj`w;jIX|hUL)=N1E`dUH{1gTgn@-RPRSef0fa zk0RGJ`_!$ErOM)3)m!YTko)e=>sh@0EaIej8**oUg)%}g!1u89Q74XjPX_1ekF14AV zHM?`^d+pHXal41*2uRxAyZ)lX-&IX}FfOpv*5W@!46;s1FP^RUX8+DPV_O{B{(AUl zXL$a%8+7ILU6*xnONX_Yeydt*U8mt>zuv6)qK!({`TC--&HR4Yx0KA%jPTp=~!!W z!h7S2f0O_8B8S5R0@_9upR;~*Wa&{qy}mr`ZgD!Wk^(fzJ z`<-J$AAET0$jaZm{9OCD+xo%dEfEvKi@kdA=7EQuA}4fs<96)m*e=cXm%hHrC$ZC` zHRsX_guc{l|LYA7zkKD#w_>at4~?Jld+n7M7VK)OWp9vw$-Da>4xHJdYmJoDp*Op? zIo_z^sS30EcJw}3_~LEH;T^WlO+Ei!uadXin)QhIe#Y7Fw^be7{rw-l_`1`Ai9w06 z)xSNF8r-$A>x#Qe>;2sGtx18u_?LI?o&Ig}-*>Obn^3ghj$h-?Uhg;6tH|jl@AqrF zWW@2Kf0P>4vf$%g=Zb8c)_zx~3KyoNgayXsUi`()w&_jW2etX~gQ8wdx8JXSV8{;t zhCyNLc31i0mi456jTxiEL-I#$JN(HTg(ep~_xYu%R}+Wjb$R#I2`wJ<_E}SSb5hyP zU%MVz-)QjkJUJXb+}&Yh{ZURHivyR9zMFo}GgryVbHC~nRk+Nm1B?54&MqQ2SA+oF5ktTAR$oh|3H<*!!tSj*L})7&duYd&Y=+FK8+w5;CZ zjL!_Wc0VbI)*a*Fe}33acR zuk!hse$kDpt=Rungx9BUk3HM|o7N*7gIB-5{MxsVe+tc3YSRzZJEcXP-PriMak+iE zMW$T-1d)VN9uRaTk*8FKkSZHjY9bf)j&i~{1FTbd_a`Lu<<$8y&UsCw< z+a*&9Et>!M-9L&JN^HBZabfRb%OC7s``Y^Hl}>dozkbl}Zm)OFQ*=jQ;D@z#j5@aI zyOJZ{@JN4q^66E1d|&Ugb5ij6Z*vXy{A}9J2KW6sPU!flRx#U4H?AET-fPh$w~u>P z8@uONXRm;4uMB;udCzRWPdhVYS@l6qjc)aME#K*Yb-!6gR9rFt=$htnGphEiwP*9B z8{u#6Yf@=viCK?d*>q{)()RA2uX-+fXVnk=3%#6LrQw2#X+IPRsk>p`u#aQBJM1kr zZgZ|7?ms4-BT5{czxBok zH6E_MeCbuc_lA$IeYSfCt<^g|t&eTk|LZ$xq4Q2SuIbYE@|9YTYQ8>oVEB|H=_9Nk z#ck9s+<*5%e2mk;viH7T@=eHqn_I7bQX^;QFJ?EnQnHalSRTjsZrne4CwgA5B|p}l z%k%&14Xu705`H3E=ZnL>cR9U8`!?v;t3$UXc!hYB``UA5%e=S!oF0zbH#BEd?CHlI zeIFIPd1U!dBXX9_*KNVT2Y!L`%RT!3?(UgYdYA4uxY*v8Mrp;;YrglzthCDk32nw4 z$$jr$)t~FlIW={9@fy8ejXR#RSo?}UO>(<9;q9?idOW;vru?P`9glkDUbFW2#CEMh zcWta3{X?76XSZ!$?_90*J8QaatC1&flZ$ieFWlKbrTP1ZCd{d}d#Ck$@7pUkFAJ~N zu3**WC9htKJ=kjFC(FlG=+&fZ@bq$(n)Nv{w9wQQ?WXr{`op1#FE?2ivhVlnqZSwL z6x3j9#j!*%b>HYq- zFYm5%?l-?f#H9->#&jE7=g0MKOT3)gH|*{nw`kPP;*D=~o-^O=#J#3{%9Q(f`iz7R ze{1;bg#34x3>fg+u-UVlo#^p+e5)A+i(BI35(f^M{94(FUv4ZPmgj>H*W;j?XW2rJ`@M>}?7K-`cpeg44;kjW=G~bIm2N%ZxkQ zQ$H_sIs4l`*VL+RVTEYkO9B6s_eDQC0zE0-q*U8ItbS@h`Mhrq zz8=1^Q;Vur$1yvXe^dQ-y`%~$3%evuXyV*H@0@G5>Ng+LsM_X;Kf1N?D*D5=A17~X zJ!`S zHCvpry5jb?izh}JUVrM{firJ%g9%a(RNSn|xcNd-eMd*s0@zuou!vp*RrFo4Fj#lx0Y9`gIA7T0bAej58taN_wp z9dp4ye)xLUom&n$<>Rjso~8kR`MBuwFW2lgaGQGPr!7Z6we5=H^FH|bN!y$q4;}qV z&tFeluyXXn&#&9%>!Mw+TlLPN9kZuh_(1fnAA%zbN4{A0P{;NUj6dhD(;xrtwtM#; zp8wA$+Fozj^R&dAr(c+KiG9ks|GLs`%Q$ZPZtu%p`*~o=jH-qkyr;iie#c&?T)leP zw+HV(0{&L&_s}AbC{jJ)1-<td5e{Jh-p>=BV0x(bhd^lf+BUafL**`3F>UzPXr`412NW$7OGU47=lLna;m z*H;fcP3hnI)Ro6Qe(L@&AAP|2p6B)%m_F&N8^0fT=d`OT4?Vr$qN<^vtUmg0f%qk6;9x@R`4iee9yA zUpr*Xn2$bqw_$Q=-8-3g24A?U>!ep7{^I(x20Hc~=6SWteQw*j??Yt=-Ff4CZ%+N8 zXGPomx3`;H;+oX8;rYdQRQ(hqGRK$uqq6_$MqQt;xsy3)X%z_WJ_@=ic;S@ms<0 z9qDIp4^GJ+{^9KhAAj>tXHA-U@8|c9Ubn|ir!MVY_VBD*_b&bV$jgtqanTm}6NjB! z6M1v~3wvC7{kMVmHXR?&ICb2WYiC^g*;6OoeVt64H~D~@6R}fw_F$-lG|Uw!!0tACyM@9hpf%f0%B zSI=8I(f!c--NOcz|K8C4$~$B3PuE}g@#ovTGpXw2!Mi+DS@CN0>8DTr_Ts;k)$aJn zoJVIJ_ifXvEwBCgtAzo7bokGc&sT%cDJ53Gf!XuN9PTGEreEELYy}s4e-;~sT zIrpRIFDdW%=EIYo?+m}TXs^A-es$TmlM|s^Kl;Z9Ggi58Y0rE=WB$PA9S(c=fzy6I zx8b3?J-^w;-uUFF{!r|Yx90yi_1qt-Z+~gULuZ~^5*#sd%;tu!TR(RU1&+dF^>7K)EQ~b+A=`+WD@Y8dvZn=G{F*827 zAo9c&wa>YBAL84k@$v7@pKwp$?$)-)=lyfvgAzBq_v`0fFLh6zyW_i8ud>>H{q6V< z554pIB?o@L;I+5fg3jZo-t^`6EAwZ)^ZK(F)gO4)R@>}$@TDhv_n30S=+Dodc*dVWk;86{J{d2lTyf>GPj9<+?8UAbcbgvuh6j9x>2NFl z1_GZO*ZDG(oOwM!3ivaxx8nX#`GPV7N%em2dYLTCUKemBd3s;3w#bvM%AzN$7YGA00 z9GI5jTkpno8!(0VlLutz*4uD>2v9)&5>hR{3|L71J)ZNUYy;~6UV6}}GGgnwTz3Jp z$UiT`wjRcH3oxGi&7?Fi@OYqt{5RC+bq0EYkuqxFht%Jf>kKfB=l`Jowp<5+y~tlp zs^yOcO38mleQl43qk&_|pDQD`_HcbDus`|Nd7sf-$AJCF|DALQa1!7k|8MGZ@@}9T z7*79}(f^)Yr+{LfKSKY5xo!mZAb&Y22IGN80VU)=qCOKiumRYK{F(G`<+=x$L;hv@ zAHj7iFp>Q2q&lA`0E@_fPyKwZYk(bOA+IuG>#1CK05f?0H2o8pGq4%hoBZ{pI^V|v zW#qr2{vfUo26iQX0sS{|eK;_m{M+=uGuH`V68U>camo%n1#pr7P0aOQOnw;ezdXDC zOUM`T{2|)c@dkk1$zMvE2OJ4l$bZ0d9Zx+lhWzQ-_3tJ>oBWH}^^cIBK>k)z9q$Uj zPX1ri*Y)%Pqh#p7E%MCuZzn&U=TBzWKSX{U`D;mazK#KGCy!BX(A}hpPbULT^1o1D*I#jF1n>WFcKy@jS%*Q7W!GQlbWieEl4|+o zfR+3w)YtXr2XqE9&x6j+uK!ZlT` z`I$U_HoN{|^81j#kyQIT4k#!8PwMM@`T^*6&_&tx=NlRW7m$A^yZ%Y?lgZyts`&I5 zpo;wO+4bKP{Xah2-Doxvqa5up{}?vg_YPeir!`vg_YMemwbG zNOirA2P(*aOMPAcP0{}o+4T=nW-rQLL#pME21?0)PJM0fKwvES^RnxIDEa-#zmZ-4 z82SCk-$gnEI0(K!0MEM7Q`ZrT%Z_3|5s`Gs;P)7c1>g)O+4D3q& z!tDAVPJTZ5)!Fq=ke@{UKGN-gQvetFwf}+sAEtdBZvfbx@|Th30Y?HB@*nbC$5RiC zA%DgO^#4+J{Ubb|!1LQkb-XJ8JNfUZuj{!f`hP0B{vpbYqx^NGI$y^CHu7ImU)TR2 zU>EW$v+I8t`FZ5u%C3K$d?ERJNVf$}2At%7rM|BJrs)6i?D{uRW>3mrMXKeO16J~% zQeW5q0AOeG=VaG^DfzkNU(2q4l>ENr?<5@zoCs8s|B3qgKAWQd=d$Y`rp!K+zll`) zI}Ru(zlQocpE>%!IJ^Ei`hPdO{z=MAru-_>?Sa1lRpi&n(EL0Zou8LCB7d0doS!#z zSbn~Y$sJ*!;YL;rWAPr~JHuJLDfJ3mN**{4J<| zB=yH={T+wpZ>{wQjLHva{X>T4Z>9CO9GPFF^`{Ka-&X4n*&+Wyqdsm}#FGJtDgzN# zwn0$Y7U5)=jF8c?v+O2&%DysH=89E3(j;kFE|Bw#S2&=!bAItCS%wx#A6*JN<`$JO77&WB(uj?ehQl&scwcBt}s& z1Uv~$1g-^IfiHlafb)R{;7wo-a5vBc`~nOBjs?nq$AGbm=D|!91i>rg23`P)fLnkiz_-94U@D zj03I!LcqtsDBvu>2fPAI2krpcfggZvfs+9z@C;B0+yKOZuYp~F3xR`x)xbR9KHxB5 zEii&N7?C$f&LBO5)I;haeTnoX(y63VNpB;)jWkV~CjE}|JJP|VgGo;$J(0AMw375G z(x*uGCEb_wI@0S%qoh&NFG;^7-I;V}(v_quNe>`Bfb=cWw@Bxb&LzEv^d8csq)SPE zCH<9Dcde~Sk0U*fw4Ah@^l{S1N%tY$hx97at4PD7VbV`YKP4SaI-2wx(sM{_Noz@8 zBYll@Ch1JlJ4x>(?Ii6a{fYD^((OsNC;bcQUr4J+t4N15KINN*xdk|s&l zkgg%!jdVBCi%Bmg^^^KZ-z9yQbOGrC(p99ZNRJ>rf^;3}I#T5X3xNXQ5MU@!4NL*r z05yVC0ONrcU`L=1m<4nJTLGoOUO*5S33!2NKnB>77M256;9+1-;4+{I_z(~n^eoK;xA|fHq(m za0&1L@E-kLIAm~Y!~V1{?MM62_O><)^6?u^D@M_>`U@`Ysl5RiBeCC=FX=?Y+m_5_y48@bFZksfhZR5E2v215slw?XVBPAM;`6rZ=OuxLh!P3#`4-M$}VNJo;1dB*)&+^m{4Yx->e zOdNjcX)|;bg^@%ilu86*g-ywL8}Ab=Ocxo&XZF@El7cDy{tcZnMF&~fRVWi(K8Iss zfwVWZ1XBKVXQ0g$h=gdP2d1K)Rqkp^Z*rwA;{AqQmIO5{m@V|AVdqiGqMORgeiZ#zJ(!3K|{! z4_|^-+fp6=P-9at(o~j8#x3clNM!tkf;5Ys2p=#mcu+x8GLZ>H66u0KK}R4(gl(ok zCpFN-@)Sf81#QW6B*R)3j0@5n?PUJfqtvO^cIhOL>NXaTp3-fpP}~0>U3rXmucq~a zN$Iw>Tz^f;*#A>+2A*vKk!U*>FeXv4Q>T%{=uIiDA`}RQQo8Js1XCS|6*P8dLd;3h zz{yxL87+uKqM-u2)t4PD(!~Ktpk8*u02109q@ulzI}UOQWUdnA+7Qp8$Vnb#LM?%9 z1*xL|$tT6Ghoyu6&H4$h%@!MYs$~yA&TfY%>fdZ5KZiCW?5q)Xb}PGof?X9xgM4n5 zpMzu@;7)}9GyJb5{PZ27M2Ma;+)4G0V|u;|#$QOwmQ$}8GWfcIyP_g73jR%Eas;*& zYSS4@OQSLeFcWU)fN8Y{!u|Q4vP$U*rIHd&@;s9eozfbU|MaoDR47bil4y=LF{&&t z^Md7}g0l96fqMn6_IP6`b&xdhPpUl@tJUW6iqGF*b65FoZg-WtkIe;|{S6jmx{Vps z#vCb=OcpeUIC;!YVZp;9gt90nk^Q1rA!F<-F zE;!ic3B^K988A&*&qnO^&x~*re6#1{^YnC0%i zr%!SD!=T>BPaiMsu|RjSJtMtqr926d$r)%9Q&1|6q}wP|9muF~BZ0V-1!A$rKvPsa zAq1X8Q>Y{r3Ph!+#o$H$re;YdLJ|qWArq#|B|eXMS|ZJv!bNru?8okK*vc&qzr|hd zbHb7Ov7)KP4jXS=XE6n*P03Zoy?m>mXccLU7tWeKMT%xknQF>a?K!zhc*%lfb3xn? zM+=lCv>`4OjBD@5rwTI3Xef~emHM-dKZ8ht%`k@l4eME7jDvgV&N&H!QfVhA_~qoT z4e0C-#KW9)m~L-tOF~R42q^~&s5GT4$Yuyw|1-JjPfcPhrc2a|ikpy|{)?tILEkyK zX#LIT&$Ro;drg-AB#_XH|DSf7O~_g<75!td=Tvcy*Y#&nn;N)cNI%YH?#hiyt41rZ zuRqcN3>?yRP$?P$Pxpz_?TKD=DM%QSg_cXhgjK337!NV!G84ARvPK88Q<6VrMSo77 zI|zAh_3j18Wg#TD4DARON0qcX4QVV$K19Bm)MUS#lj2lDoSuI;Mu{iy9WwZt9ebG{ z_n$se8u-<3)jzW;X<=3)tw3jxc5X&8(yKb8B^_!*jbO_Wq-@EcRw|#&bS5{F%1}eY zsX$vxC?0|c29xzqFAXiLwYCrhUswqL>0qQeAz!ZZiPA_;^Ldm^1d z&Z&N7H`mUKcq$}{e1yJH2?9GOTliQ#J{dAhfh*}erUe+h8KZ#j=wjazi z;bbb3X^AtI6dEXke}99JiYy^DiuDOfrj(&No>C!W=r1DmYDJl3o2n41>V|^ptddmF zUyJxZkQ!K^`^=^(ZvBn-&rnFV$v+^Jjabnf6%a9JLA*?x%ETFzCsT}6R+>h9Qc2R- zH`xT^fv)Te&tXz~_dzFKCCruo)jqf%^rZBIC~oY6eYS!$J7F_V{2T3z)ANsluGEqe zz@HMrRx%a!qS)wHBpyg~OHSkuH3!;b8Bse-tlQJxmEO{wd@!{|TSD~N<* zSIA-VhC9Up5*x5%LC$7ZjMXl8ZOLBiJ^d>*o|rjH?{zVLYptR8r)RIHW^1Ta*llRK z5ln|5(e$ZPn%H8JAY`U6mTYYdU<{1JLp`d>_F{ZBc!I6Y!0}k4;6eb~{o<-OJPWIY|-&({%JL#{{em|&h}RT{EC#Oop(}B{~Q;bWSG=9K|9m_ zBifr-zo7_Z;#(zVkpGs07T{Y;AaN9C?ZOFzCr*H`D(=O2f{_(latoX?fW}e5|0&Ww zTeBGUVYT&|_FsM8P2B@z*F7+JBS|%7z#VCAq(Rf;l(U#1z#IOoK0IrR z7#P%xR+hfqSp0tFiKPuyrKHO0D=g~IFAeG2ApW8mUe1{05TwXyJq>@B@GE-JkQV$vFF7G^8UZJJ`rctVN7 zaARRI6f{u4S>>+xTO5umtHo=ta`kZ)Te-MxRqj%o+pkz-to+RN7aqBFlTOOu^!|)z zS{8A75vfQKateFvBxy@UIv8T1$q{pQ_5Leo>{Qs=+Az1Nz^;;R*QR&V|9~n*Q~GeF zzr4Bm?R>KmSrCZ~;?<2I08{AOK7xdk1Q3>VMcY~L&Eo_|=&}xN!%`YbL|FXXdUdIQ z06#D+C|wzRGKsX32wM$%P9TkCHHo5P&_4^Umk3R~R5~3ACs=K?mqqq!!&2%hwbl8n zeBP?Ek}998G$%;0B=*H(af!R!UumoNqult+g}0ShOYQ72*g|Jdo4r03^!lZPGkTYN z*36Aoyx3q>GmDF5#_UP`IDcSGG-uImOYcm_n zW;jn#AL~&8S($wzOT&SltQ@?F3Bxf65zj83qAQpa3{*DO#q12FnsA^a_N#=W0NcX%)R>y6C@#rgNaIW-w zDO{0}!p20x9DaMkc!5BV-@;Di@y@U^e4pRz_PJnAwo-q;(U+F$YdSE}sd;|(On-IJ zlqrQpvuC48E0PvX?{|k;o;IbZC^wkG*_iW9M`v!B@lYmUj!k|Jtkx}pm&GF3cHsYqKUot^erI+Zrf7rCJ#GeinoaGw|ohsh0$$(P2E zzocHu>X_G@@xp5)(Tr(R zbs369;~}~x_Y-;w2$|H~Q1Qrga>Emq=E9+j2lS~7b@v7AWM3^(7)AdJG~5EKIdW@ukF9R>r1PRbz9PIjU;=cC;!yUlo+}mz0a{cbI7O zZKh6zDfL?o^9}V*4x<{AP3?%z8;C_cE&Yh3*K*Oz&P-narf4W=h*f>hE&u*}$l$jVISE&% zTO%C$NLM$iX8vZg9DUc##x`XHPqjwc(!J4D`1?bMq8iJT#-Y=;K4Vgfx8vOf6mrG_|nWCWlKICZ+Rk4SGlbc|b!I`33le&>-OzTH5 z#TzY4Ki-Ar&ia}|>XR!>Go@*IQueP5ciy<*?(=+BSB;^7Y|}gGMN>_yMM--kM(l|# zM|mK-^fF>otIwoV`axs~^taUJf8oCc|HvDhL_p>(@B(4r~Riu#RfGt^=(%j_a$E09<*p=*7L z!lvkFBLf041?w9ST6#diSbLZGHVL-(ELYJvks32*E3Nk2+zbUnO%bGIoP%MM5!3l3 zsN=BxrpeG^rUg4xC?+1CSW2szL&Z;DpM%9)Uu{#j3$|Y?`+myr!Nv=>He&dSrYRrH zEn@#A+sxDy|G`8A)L_yl7;T1;z(I}o3-Ch7g^f_FA=8+sX;(4AlqPcT%G)_WRJ=lCa2Va z!uJ`pm&L&f=wAmETc?sJXUOSfoXY1dRhDe)GX>(rcS2M%<0YQCo%e=sA>P~5ZVhKPFwc?* z1iNv1p(Q56s@4Ys49jorPQ_GacIQNWx7|Ygi?zyy4CLw4>Md23+5SMn!c4la6Um0O z(qOu!piLwF+6_xdu6aqfh|^N86PA-3&9%rbdX>8l(Li?_<{ z&%J9eLpH`yoU6*-8eFeoV@92Ua3F|THmy5%VPi5%i$0Idq27hwmd$r8b2AV>?`Lsm zmu;$~m#99TFeAqLPaC^N0#0hEGL8xZ8{iJLZae5(ZF3vGdgjdHCMK)QoUv(=PU#?U zd}JA6{{}7X*aHIuLQi%uZ~hAOLum|1jn7z-YLILLIwT~n+)W2gv-Rl$rs7^fTy7~y zcgGtcf=r7v)Y6LI?Nil-!piP_MifCAbXC@pv zVPmMU87(zyzsU7~z(d>E7kk?+wUt?X4sUO>ro>|`)hs9r6zJ8vvZHK|O1il*tGReA zm0p#Si2br)#Pm97*kdWPS>ZtNUDJ+*xRM)n@1~M%EIU-x=k~M_mZY*-Pm8x!XxUgM z6RnlK~T zhGr@vM2So*noYcabI}YKB!T|xAt@4@F}+PKg;0S}iaD(Tod&~ZQ!%3{UHJw+Ivh#(S!bW$;w-V3`>ODB8!WN6C2J{f zR~T+jcDFMTDpDHbNfPWu=zGX?V3~}nCWZ{skxUbtfyfaE7WA-d+b2*kqf9;9K2#8i^=l790kw1zsvW*^yGyMEu5#wtVXLt@ zdIyj2R#HlMOMe8$q}Zabgow^&9%?stQHFr!3l^$sG3aV{+0`wkMY`5i>0-b zkZY|Tk0cOPjL}XlW_6kaQm<%=h27#%y_&(eeFy_3i~xfiXC)@9_1UX|fmr&8hhyRK zY;Sz7KwbL9UAnUb3&uwhY5>(`)VP&qw5?b-zCvt|y}h%bghzFiky$*@X>)U~Sk+ppDnXGxUJ!t=FK>Wmj7>>!6aRw05vf1+yOI#+1qr+QtU&_D5?~ zVsq&G&4g8O45qJ<0G1Jh?^|1v5x%#bX4x83epq`+xkKCcS68ezqTa^)UXpfasT7;D zdm1trK`Tav@j5oONH`#Nw~33rm90KE z{32@vr~fKbfK+oYa=jg;t_7YR3K>JnHie);JGs}%j$*M7F~eSFx4G%ZZ)g20Fv|rI zCtFf}OcNY9FsMVqF>}`KDHF4dS24DkDmFviy`{unrf5u`**bxakoc6(alJV9eSAmFbn8$6l@R12|JvKJwb?*hNY(hc@!tp4ovy)W(Z;6=7ZC||{>Pv~cL=^;(0zPSW zg?m$Xy^3UqdXapt#l9-t+C0@Z@CT8`ZKZ6F1QDxDDZY|brUie6O7T8*W#_g-qbfBx z&DX8^p}q>cHl|Xcl7Vr`JYhSY%B%ogg4C2ww^1fxj-xUaNGForFvciN_$yQ>>LV6w zm9tt+-f$cT9n+U9D}c9j(*|~Hx@76WahExHy?C-gRZzw4mS)~65O3kSfqru0u)D;o zLcZ5hr>!vVmTq>^tW<2wmMh7Q7-@{?C<8MWAsBch0ow?q<5coj8nKfWl!1ozC8PfJau{z# zSc=At*HlMW8sQA_t%176H1_rho#@%K-u|qPGIO*gh%j&;5EAG&NJI5<^bOGJsHP)- zWrcQNM`An!%Yngpf0Q5hMpMcR08$64AUd) zT|xvL+CVhvuXGdTQH}erQb)(89EHhso0DlwMt}2Ij@MAdXB2l)u{4K}&SbhN*@>Z> z*Xz;10skT=&G{=;OX%MWjLK~<@p(C91LxNXY*!a1s%2DbIqRjS%AxaO$(_wv-*jqK z4oA3xt`_B84O*VbxAGF`3%+WHT|I!R;nWh6K+}E)I(UXkiQHgok_5b9z%n^%kAX6V zFxR)E<*HkK3=)!PWP6Wg{EW4%3Et})a%ODL*L-IrllF5N?@`VPhK(>p=H0LMq4xlm25yU`*$4- zD%VPVwQ5CXbu4F%jZJ2SY&^2f97uKmO!XhQ_^l0<{YH_=O`e62LOnv-*vgya-k=gQ zh?kI%^@;S2SMmW~rdh+oDh zwdMqC`~7xOuav^`v&%`;6)s}~L%OkPHZ}*vW_aMWl7#~r<+%`>IKdV!ZP-~MYOHTw zB3i>{t&v*Q?s=fr7_Ha07urhu)X{drdjf@Qd|*VVjUCQN@iNn#l3cCHzO(^kp&X-t z*|Rawy3YyLS4zAaLjpz+X4OQ<8k$RuC^AtF%ZydDIja$vRLe~?VsFv@u|M1J$IQz$?nn}C57KD|a2X1y56&Ex z+h(mQci9_Yq*c`hr?q)Xq_H)@k{d5$b<J&; z_C*xyGP@cYXYoM5Oz^GAo^9EI*^_FTxW^pxnZ0Ox7TLe;P7=H$5n58F) z2^|xFiu-1r+}4q0585K;;j+qVI#SGTZ0p9S02UdYRk)`rUQQ#n{oYc6F4W^Y-BrnWIG zTht6lwMs*6sQV7et9sQp5ytW`ecDL1h2544EmSZzcC(n%Qpc_VSwTq@;!stEl~P^3 z19C=|w1*mBd!?=o0MhAWi|FfATIn6>@w*Pu&!LFFLew{LhVi}S; z#XQJ}^#&D~WgJyimHrZ2g&jr5FfPy}=nXltj@fx~>gl_VNH7H2v_|`X}=HF!lIVD`tYa9>Q$*YH^1$1O7t6APFpvW55|N7 z3t6R-ez!rXY>wsd2z(xmn7(skEl&pVzbY$Oe+~?NK+2H<7>k-t8@o9Qr0CpFe8)%_ zG~D0_6}bkW1G*i_sw!=!wK8 z+f;N6WoW3cu*X|fU9G}dJ+dWER2BoBDUHsC0*dUBj)<$@H06ZG+&r2V(Q@2(O}K|&ik?u+GJ4ZCS>diEw4hO}hSX>;by>j0(y8pAd^N`~rXm#> zUz$kA{2sehc+1tQ2_2=A(u8@txtY4g+!~cFxJDUm84<%~wF+MuW&G+>5^D>7$;nn| zgQF%IZOf<)^;f$^@5I7|^x5Y|vzNN*2AjL#{%L81>FH)@mWst_g@QJfwq!uxh|I!H9Y&aR4q#~?cWet_EO(w%<&&JrFWETJ3%YJ!^* zG;LEUXc0V+yC`^k3`1{mj}Oa0hKs7qC(sy-9*?St3`)(Rls#?up%=lCwRX8QvFGSM zP|4nz!7k@A?pNe!#1lwkZvf>x5mIq2G_h|~mh5|BzPV*1=k z1-}>LvuCmuB*fJx8HhFAs86xaRXWR{?RMPs$JyhAE$ zab86IJ_{i#JTkh=wxK25HmQVD1p^&YiH2`@Ah->>x2OEomC}wi5Ef>sq(O(JQmafU zn$A5Kv}dvt~QD&aX8>N z&E3S3B+T|g?R+69VTjZYk3&tyw(}sQ_4y(E$#et3)4yu)#+pR1tRBJOp1~k=`km!vWI0Q(pXw6KZsKJB2@wzn2^rra(#NXYIx7*H zVqLi?3ibylR-3-?2R;sywRt;HGIMbWp+sEm+)h3;6lzNn0nx}bMKpX*oN6RDtk-<1 zDn`7H9+^;UHDPYzG(?PcBNpDteoyR=@-z(qQlon|ONVW$I61+C5T=W)K1H6WFC$ur zSgH^w@{N;OPK0ny_+uL*c*$8~6fyWIjW#1km}YLB-#SIl7%7b0WTxPNhDhM=<8BS? zs`r7(BgKh@5;J11xHhTg)og84NhrYCV9VX%X)6{ZZh_JSy68IN%cXqph)fo2WU1}~ z3qZWXU3E1qI-4tFdT>+4%@RtFAAnKv))|*G3{rlIX4BSXA8j zyux?`Ory9P#}4ZihM&6e8HbZR$f$kYjfpGF$yU?8?e-D54%MbA6i)aHgi}{!$sYdbOKjxl+z!b?|@~DZUf)s(=@tu2!jSsiCa;c6ZPbuSWH)6#+ z#4v`LSkqALK}`z7l_6D6IW;hCd6*~D@{5%>+!+zfj;wxr)_&{3#uANjg9mUp4Q%yP zVROW4thr7#*?M5ZEeLL=QPtxvS37D8*zQ4n=3_l%b=yRkQ`;wk7nd&53_+G|!+c3G z%si$c(^G>#Ij)~9qbsamEvXK@Hd<(KNHk@jleeP8@H%@J(Lzesjp#g1?}~R37=bn& zMZ>}+r`5a|Bw9Gy@5M;L?NV&odK(*QOLs`TI0DseiQJyGa}o|oOa^g~8Y>XcG~irJ~Pz8EK1hqf#Oi zGVPE)qy-itl4ucMc^%lw1H&-r1AQXM(?nSN*i$2L-*`j~r9KZ0W9-Hr=&QF&gdNDo zOqnLS);0ou*kB3TYsF09V-Tj9O-~du%QdzVX~k1)+Pi8{M)fKQ2X2iw5yyfnqb)`1 z%H3DIZv_);d^LJYbM09ExKd`IF3(m3fNUdbL#tzpK_=o>gln(?f~~^~KwjrP4t+#X z^6Fq5(LfVviQZEJ!0Hwav~tHv8Yipe>!5%rn1;cuj&PJ{V^Hdl#xZ!6u!xP!k74?% zv(W=6&=i(Bq{t|qwz@LC+V+=lu z9pSdD>8B1c2MZ6eK2k?ia1?o09mp7CkT|0)OR{E}I;5m%3(=%JuB($M1}ltO^$=zh zs;@^8G|f~|>Eqy zJch+17SUQ6HEyx9#n^6R2xzIeGWA$AqlS?fEXuTIsQHpB)D7bpMNC6a+aY+wpd_CJ zGE5FJCXg#F(@9(Ok_mI^NA8ZbqsPEyK#R1&mtyVs_5&^4L5~WwsKp}Ij`$NKL7NZu zGO$=X>XBhsh(Ul{Z;Hs1~x@y)+X}!b% z5@%11BZ8ZD4eS%~Fm1q-Of!PAJl;PJs+pQTn9uh`0Gc**a6UPxdU!mFNj?v0g_~Je2 zihPU|>dHjW{Ec8Py@LDbcc5S$fhAc*4`W3l*(iMISX73s<%$6qK9x)g7Nu;eGpp%k z(maKsMd&`Q(~yAmWQYVLqCS&ROv?1AxjLw+f%TGzhhaNB&fd@y;|aDR&3l^@VLxgk z2aAoofnVe^ahO(;dQ3Oel1O%t=*Ey(g18(u@ldlcXS7S@T&5P8VD2DzV*FJ@gv%y6 zoBDLc1hbYvbA^Zv$rZIw<6^T}u4%?l785-j4af!uQz&~0&*Nl0(S8IG5jsd>@J6tx z1J{SL$#hzk$|TEds*woyNmjWHT<-+0T+-D-CJe;5)GBT4LIklXbL);6JAE5##z5Md zf+Q+;WED2<#JQHXAgnT&(c8>G8&=nB0VCTS%VsmGa<;W-?5J^tH_$A{c2z~Vx=~KA zps-v6cq!Y^a>(ixbDyh$0+78VE}h}Sp2%~zjrs0r>1W|2o|phcDr=aQp&W1g5G!`> zA#H5@+-Q2^+say(fDLB5{mrV`PE+jc*@w)<#trb5GkyL?k5FM#kZTI%*Hl=IZ>j4y z)^`Ku0sIyazZM{}HV@cR$W7_TGp=HUVfs$ z+I0(fb_D4DG_0Tem&;c3Zt}-GX)NC}4T-^=${Q+;trVKIX>n>((8o zkV3>w!Cq1@>=etAN@|`jOk@C7K))!JVrEjvpnM$$z7LO8{;Ga!7+o49OGEDjCj%&c z$OLHw&vauOniOU9;2CjWX=Khc=#_@!ra8GoxE{cDNVzv37{J(+R-Ue`l`rt5HAoB; zOKXIc@=lFBLVHOgZKgrEbd3FjZA|&Sa(3nF%F)vZzv%?!c!xA(p2k&^MvY6O;G|LE z(s0mpn!2bf=?vr6jY=c7dDk>&vC^0lI4B3Ovvo6GJ-*PR{4*{Y0=_bg6-yWZ+hLE$ zgkZMeD7+E2#U7tQFUzpsW@s~m@{vL2*Ar_Q#++fy88oj<8V<@_XBc0mjr*__KHUXS z4}OzjyUeiFWSGwk9591uk?Ei5C5%!jyvWl}2n4 z2K#`8Gy!ce4!%MbgO9|Ur2{JMU=BKyQ9>(dQos#vXV;U4CrM~MP9+Jp4k!`9lvPT7M5+QWX- zL!UieL>LhG(5eD5{iI>28FY3;ZbWPb!*0)(&dh^wjEN!98~QOg28t26Oe}n3L>h6a zEkD6Q6-i!4X8y!=NO^ks-!kC}J9q4PQfWoU_wQ0eC(yqF_p63e)bIfv}IUz$w z^emXF*X(2jbD_CL!%&eRCZn)|9Vnovn<$p79Qq$>Q51y{#Z0fIy~8Mj=g=fslHTbBL1yk-=A_8H^@uP)IUq z$Q24@Q->bd^}%qE6}*KU6yrg1a9j8F3}w1?3x-l405p5{KDM}yB*+Ke>4wH;1%9wI z!9&DeQ_tlEE zj%TRBR>oI~GFXb)s&tWEN?n{#LTbTLLez#u>TDJwF3i&}wsJkdUqO(8-Ej8Xu*MT@ zA!XDnL)a_h{ma}{fJMqNMwP2`6>~?qtxC!<<(5;wyn<(To?#&#M{1hJOVIi35L!TkNRQICsU4 zuix%o43PKmjP+S$tCvMYn=T@fdQr6t2L({xfOo+ul^CjtW0gu5Mt}Tjm6WNhC2pyn zdz`0oSgJ6&V~$4Yb`US-s3hgx93Jj_eb}VyFf;4DdMw6RA5oT^r50?lHp7DK#KPoc zJ=EaqBoQHsTod-&>Ih^;O=fc2+}`KSg@i0Q*RS0>f;SwM0Ar}Zq+7!}*SMV6X1r31Nxc?)t*hhsCvjI!ynYSPQ3E*Hz&jEDPV6t^!>Lt< zg~DyTgPO;xr5;?Y_mvw)1&qZOlU-F%#897>U@FkfCEik3!`uTZGG1%AjC~ z6&h8t6?_)u<A2 zy@Av*cN4YGIuIU>{cn*C&m%Oc27Po(=$t^)N;|$hh!Ibo+Vc5QOJzMSGsqAMg9xEP zNDzM(1PJ{>eo!Co9OwzsgK{7m!5QdOs)OjDDaZ^864uVCqz0uybkG^rd8iCW1M81l z01AV^pfAV^>VlB4%0pUE7K9}(B`c^30)nOlD_FG>6t;56hWHl<4BCN|FpCRbNc>HU zEl?521MNUM*r!1#=mxTYY9Ja6$dHWStc6d3j;K{I75D%~OKgRNuz2dA6Y(gO2qsj6 zM4%7|1iAnnG08$0m{}nU@hVa1ujyc313}@TkS!b(y$}9`t(ZuXnsNw1u%*{}M3GKHcM5^gYG5j3aYh`XN-5MXrvYvd287GqxUBUVh3kDb!{a1+PELIeYL~~dEP4PwL#5$>~9~KKsvKu2_7#S1mPZU`+itrRg6pCW~h^81XvTYRk zL>;5i4*Cr0Gr}Bs*Ju~Q42MUeJ+0>R9$cD~iy`Ty(0^iageF4VfK$AlQWt&2PE1GY4@@lSrFw zyi+4GX&ZL#7<1Z2A8jejj=X!DTH}y@TQKOS5is?AGeJD4j5E{1d*g`Av~-#GkyAN@ zf?S4R)`@<>Jawv06Q^uBiEn>)lP+7;Dn4!YMjsHxg$L>)(w|(T(uOCsy!qU}(mX##er@ z`?4e9)x;ajK~T=nvk@6z=IQr?Rz$9MAqSfu$Pmd!6Xy5sw)D0$Gh4F%k?-8YnZ6q147E-8isGC5=x>?n zub+97*6KX5d_y~T=DR$ZseV7-CMNT?JYJN_htvo z&*~;qdV@VduK$T2-dwsRAyuGJPXbK-zHNH_0N)#2DUlsPFtajQ1x$*CK*k;QyW9HZvZoV9^ zVU}yze7Q`n+^L%{$E%p_{eAQ0T65*z+kClLuH3-GH~YTvT)8QmFV~zaSGW0c!Cbjz zl(XEtcH6-j@316XnE?N94+}XG`f#t7S~>3v$JL zej#$}bu#tv1@chwXL4@UJ95uq#j^Ljhh^938oBu22g~%`=ExEMdQ!eUZWlT9)ZL|Z zuS4aP#4j?Xuv13OwaOhMACrg2Tqrj@@{sI@95sY5T^)N^nS8jUP*y&6zD#Wtx&6gM z<@T%2k(s_%AAU9MvwYb9zYG9`|2BV)zPzL zuRWiVS5N4a2JfDjAn%fIx7k_7Jo~O(T(nM_cWssPY6EipujO+15wFW0p*yAcvla5m zszYSWBhN@|#vnOp!OOD4JFiLI+;`-im8Z*#dyJRy$9^Usph7(MWU&nVa0hwsu%~47 z1J&}~E?3Ep?;RkMMog3C!y9FJMV|a{$^ml2%}2UWvjhM%J8z4@<{z7@{dQ6LT^1yWb}9Pvh@a;VE&DSlM<+ zo>UHOk^TNzC*{|kDw$8Wko#WUOMW`+N=a0t8 zs{BxSxZH{~wR*l^79O;v9JAsG)UOFLGx&hSUmq&P6~%IZqg`A}UPjMI$lyT_%ETWc zGP3y<*=Oqu<)E#q<@UL6$rl}u%5guB7JKwC*=3)*D>BE`EClo()rsy^2L&?rTHPd1mBw{=d9+J;1`@D)-%`2w#S|%MV5Eu z^w}56>b8?)^qrr|z<1}$sG0l9fy*wDhGl2)E90lj_Mg2jv1K>OTk9%i)~VY|{f?Yp zx?+?Bp1MaKUvZZVU3j0o_^++R-oB4~`L`eCtv&9MZAM-zEB2l&!Q~w?XzoVb2BfK+QR_<$~oh=$jv9--Rbhyy!fcef!ojq+pc1 z{_p|v!|9L6V>h76KY4{*HS-zyXH^2)AWvXoU}$-PISv}Z_Sh&|9YLg zJE};ykRiXmDM4qme4T%%ObAVp+L~2TzHW}R{(P6T-~XMAKjU4wZrK!RKIuo<>Zwuk z%N_&djgNMbdAD6IwLAYsW;`=UTqU2&i2E;>se9fb-(0(sRE4gV7azPr1~1rN4(NJD z_WZd+mY%qktQeh=$FB77^HLwknlJgq(M5Ig$eVY{was@+$8*og3tQ|Ww|rYDC!P18 zJbXi^99!|G{B+PI^4PNP<@#?X%j&PrmjwsjE6=|Zms20#O(wqeH@R%w9Fd#Omm551 z$lq$Wk_m;kOXae|<;|_Hl8$S)lcn{4l^uppl(+9JlwUqxD=XgmT~^$`RzAWiJ>Z(( zWd5=?IVLem)*iP`#?RlHv*A-^;*Q6P^S&>jr<>$2*eK5m&z7Q92guQ{RmhZgcaX;m ztuih!U7l!rR;E1lcUcu%E0@cqk{|m>8dhH-yC*q1F#JWi>%gP2QQ9S1^PZgN&Xa22 zOxg97J7wy(kI0CGUk;k`ksLGW8rkL6hvl!uGi2bMm&+Hoz@vWJUH%gJNcLIRDMPkg z2463fs%I{df-BCG+b(@cCLgqo-2QWk414n_Iqd%DW#wBB%5|gflP51dQU*dx5o|nbG3fcA7?c}V~!*bbxx$?lm=`!H$rShKbX>m>XMP7aKAM)9E z7CAKdj;sv6E^pjlB$uD_uyoeFERhc%m2ci0A$QN&U&?mm2ur(PUcB!INu2(eTtDd` z*{<|!89SfD%#R!=6V`q%pT7E?>~ZLml01!H?tbr4S@+t>_*_4bo7X-jXAFE$4n2s# zlpAi9XA&36{M1r;Y*?%O^xQQvA^oo0@xyKCeP_U^CV7$GO#eV06P&Tmq5^*-`#;$b=S(HZjk z)irYa)py8qPj4r~R}@OJcAD&0vqH{$_CtBK;4X|0zcd+g`rEW0?H*)DJT4-a_D? z^4UR8%j$ym7H@mG zoHz9rx#qR)B$CgO-CMtrBaXjHj(40RKff?Tc0c_#S$fnWIrq8UW#Pqd%iCCd-p|aD z@Rud>`-Shy!7uw|Y4~!v`}!X7{dlSDd;FgK{2j;D6a04k#A9W4`EptD;V1I(MK6o} z*M+jK=5ral{gd)&{RwjBFZ;?%4?Zf}Kl+@!)o`PfKYFYjV{Me(kDV*~b)P9i1INik z$5L6g-%es(HC&G0`&8-Le}!EA$Vc+=TTA7UIS(a&XSgA$IGCvZx#Q>Sg%}7KDkGZ z`ujB!Ek01n_Te|PrhP3h@{3u&eeaVz%*XF7Stgb<&e(474S5TH-Th~LtNd1JX=Xmj zvUAJ+y+7$8i=XbAtNGPo-%BQSteP|TqI=K(X~=!|;d))S?%f6Zdwu+Sbirx+j(*PPyJErU=PwTr8+N48 zFTWvOvSzl{`((jhj~un`zE#gIxa0dFuMLb|zu@WWvKOzrb@_s$=eSnB_nL2kSe`v| zyTO-E{boU8)$u!3&0V?w^r^pIGw;VW3l4hw^$SKEvgF>tvd;PEf3;@83(dz3?K$|= zdyhFH@!6;k*DM(EV|cpz#gq2W95d>ro8MTo;FnW=-gDWrC*J$ckEY`FD>!Isg7O3*t+cA9UsU=j^}zil1Y3cdS|P z+nTkf?{vp0`~Os)+V}M9>FN?)=j4H#M(Z zvtYaXCQo$NoOSQw1BO4JcgC6pzAs!Styxxm@6$!G2ktvz&4L}if90+{pE&K__X@AM z@%*FKEV#*c;O8H{v~2&yr(E%mb9>e-`2W~D@3#sp*|J{0$Mbq!mtGq0cfZf)`~Cg(yKdb(<9W_` zp8Y!4I+yLz&9AG~j#NzQ|Cjt|a4zd=`fyNQ{b9G=Tu+jZ{tC3}^8N8%WhIZnB3t;Oui(_cm_>Zbo_=-4-x zEll2GZ523QemiRP+%7$H*0oQ z*&jJfd-$R*ksD_#-mPEaa`tl$8{^pL%G=&c6qmPm?zr_`4qMcwf9y5r=4lS|w{N-CcKs}QL-We^TOQ`H z`994jx>jDQs1vzM+vZ*l8$PdwZS+=WMa#Bd8kE1C!)mXx^IqM0vSP(H$MjFBIjqvI z)2?sbd&t|&b8{_wEr;cL=yoaRwOl@gtNYgKQVxsI+Hmjjl>m8){M4bp&*d=V$_8wa za;f~`%{zH5lXFB(I zUD2+Vr+okV9M*qsrc>99NX5+9{`r5weZAYTDIWF16`?NKSz&M|{Iwvdcg}1@=(NqY ztKgphVo*KPnzI!by}J*71NY6ea-%Mzwwlh?svVz2jsu|^#kqBZkVg6T&tT?GnCi7W0!Y_eU>V! zT(ggxhx(|etl4?ys7S@`^No7eLVX1c3BK!?7OQx>#Cmo5wj9RIuQ=R$cZ@vFYkvCq z9Xaga>%3F#jx3blk8j!i`K}zMe0g?_>tRntl=Y$Nrf4r~mk&c{e4ZrlFrix99<=9- zuJyLoFSk^2PPtfbING~KJ--DA2!%>hZ;j zkxjbo*SdxAW|FhU)zA!i+^}lqt#mC!Y6um}$e?MM{{yN{;_esuTMQ_~=#tAyP?CJxT z@^_S>@*Ai6#MHxlvuov&Z{JTWR+OuEXZUH%M+fxx8t(}Rk*^sr>%r=pm=AxhA7T1* zk$hr`(q*R%;fIz>jn14Y?~^*D?Ym~V%)3@Ui@jIf<%eGC#`?F*Wn*eC@oVktE%%AZ z&5(7>Wj798nPD_PQt>T$^gYAKIhPqUw3Mw|JYBJJ#>MJSU7>%;sauZ27RhIs-q(8Jlgs+} zYU~=?d8XX;pvH#=A-Sx6w}WLG+?uX%Sv|>Y#pGOeu|lsdi7n?TT5R}Kwdd?yc5`lL zSM9^0^3QC+%eFDOY+Uf#{@G_|$Yd7^`f8NLM(bdI$yUd#)zZteHmvI)V6@sz%`K3cXwC##V#BgNt!;Sl6WpRte*u23?<2qkS<6YweaTnS83%bw4 z2A$=FUObV%)c-$=0(KRD|h(%uUd}{uL3t$ z;dD;m9X|fhx3aG9KQk_~f0d_I?(ly_RjI!v74Gon7Q>I;=2H)z)wA12?#P%yBX9G^ z^xK*BS`0U5G(JW1Hs7dwL!Qv^U^BQa zeUm$WPUEX)to1!mmE_xgZe5$k+mARmz~l2L#%-I|X^Bl5@6dYjA@93zA5G}=@$F6i zVa)K$ieqpGMO$B6ev=QcmHyssE!^=ZYSgp5$|9(RQxWC%A@?Vz9 z-+5@>EBeDnxD!`-Tcz@r%^zOxaTo5Dxv?p4Q}_!T!;`w5fZOoC(dJbt{QM@F$y5J^ z`>6YX7rjz=^O_mIH`}J+o9nz@o0_$+`NN%1Bdm9?>%5aur<>^m;WjqxYQ5t>xv{>r+7<~9EN*J@UWWE6iwi@#m3^7}q^yEnZI+%e0vHIlCI(Z7a_jL!K0 z{qqL5kX_+l+3Urp-y-+4g*B#K=3AXIOmaN|cgoEx7oS|>kKPMw)p#@9F_qg|+Far_ zQ`TQ?xDf8Vx??76yU5p>IP>iAFu09vef;$=@=rSKw!1bG?j)NnvT+x9%e1~LBYKj& z>cQyS=lRB$mDfhJgF9%n{HXjqZ&zVM*aRcET|2H`wecJu)2Um>3mS08A8|6#JI7mn zU3R?RoA-#{c>G@>XZh6aH8soMBKPU&Nf~GOmOqbd%RdP>ccXvno@e--we=^~*-q{m ziuno2yz!x`uE9&mZRZnXlV*^4`lbc0*=WysWPN&I2U?X5IglKhulhCGQkwYsuAq8i+heH15# z@cil@H|okX;I_0}Ubf>&UeC6#-N)>AaOZbhS>pun;~72R(_OgZ@AmV~Kh95{GNe+Y zvv9k%lSO14<6kws96EU)+>y;+CMPBGhikRg*H{O4Qt*METaNN4f(}ngm=8C%>ww0> zBm7}SZj<>F$ZcWsF7z;e&&0m{LJx{R$G_sJL;M4mW-*EV;m+LfaD?qa-u{N^riu*i z__2M{%?|MQ@(qI*w1(UD?AHj{e%|Czc5~xeaLY!o>{)Rizt?=`z3*k<=5CDj`?i-q z;M>n2=TjcaGokmwd%O8->syZ0eFir->shv9C*NRmYj^7#a3@u^oVQ^+Uu)%)$y<}i zt!d^wcPpRT;oOXNd*P0}?LBJTX1-IE_?7q9lH1d6{)mnIqn88r?u>%lvYN+JyAAyJ z=Kb2OpG5LE)02YN@in8{M;#hV?g0bd4O+#w&d=VQGnCxZu8;1zoR4XpdezPjZf-}^ z_vTCZ?Yr~NowFc!KEAga#cwx_sN&gNkdJI%b0%*a^14}LBXVb-)~X!NFWXmDSGz2^ z8%LDWcI9h*Yx<>rCgx=>X6A?7Kom07qwYv!$*v@^I!z1^=ourX6eEw#(T7T`|wL;;J zylXjQ#CCQluKbL}oyk2UcWkrWZ15`Aa+w+we&zF(VF_&I@d?j0F1`4Ani%);=7yqjfWqk8MBx9_IDdzTE=eXQRFA z^y{%Rk!eP3{oDT}xhot$AAX$qm+k1^bOGG5m!?&EoM76{BTvLSll6x?AqqC!TN{n#q$NC9?%{FM8W{ggbJgZ---NSa0LH4f>RWJ1@0)r=@4vl-&2T zvhKfz+oM-)W5KKm0O_*>_&2 z$sV|q6j!`kTw(35t$5#d7Tm73x7vTc!ovD&$~iWI{l^`P3EqwzsAFzvb5sSaVe}~^2vKi zac~FCUgw*Z!oJsNw4+%l$@`ei>5$6Gt~#)bbAa2nk#~iasccX;&n&x^a7SLrRDMlm zu9_d0Y3RZ|#{G`V&>O79#!UAnPhR5puxdHu#2ak)p^OO!PQvZl!!X$BCOh3^h4+rt za2sX&H=S^k4biRfzDxw%#(Tdz+`7s1tK7bSX)xTG?VjeCrZL~c4jP={3nm}leX*bB z6#24)eYH5_7tCrTXZxC8C=XAIt-v|HU`ICJp1pPIBKhvXer33z7tFqilke*vZt^__ zkA5kmU$CDQhuSxrGFhQG>t2RSc)>L8W!R26HDB@h)QEaq$_rL$somN-Y=*qsXPr07 z+!t(MnAaHxS*FTbdA&1aX-8j?JrFEri^~cW@vv}ck1Lc`HR!CU&_5NnWx8< z7B!{>DY%R5t@8RyR%gMavcZv&it)9YzEbACWP9@0`ZrHnD9_rsMw>ItVrKTw``?&4 zPafTRX${Uei%t7reE8L``HD3mX1bhX7E`qM^yT?^@^kaL%ebH{7B;EU2Ty*1LObHq z8)bAB8*;hp-vQh_#UpJ+LoOkUmG6^j@re6NF~7F{bLI6crn6qza~wBU(PPo#AIjV; zW)UT!mznAX8Z;}>_ECr_NzvkGVYijCJ?*{5IRRC!>ToEJ)mSFG)5 zWqRI}Xhmve`9o#kD|XDH>GB=ZgA^6!+k8|;zhb%DJQmlEoTKR0cI5-*-dC*S(qZ#6 zE$1k_zT2Vv)PGl>DtnE|`>%N?hGeWk%0mRP>N#Rc7A@*$UY{8F}i!|KW#h1S!EP-GlimacSo!`8Q)J;qQO zp;+U&t}z$%hIMn8onoWJI=uRvd}Z_-mY;lj`GjAS;vWXY!>|be4Ue17Rkq-`T1Izo6UaBUBA22 z$wl&3UsqM<4BxVG!xFbG{wqvg_lrRV&iF06cRt7`=F~j-8H0$|N{6>h|CjUGjuo91 z&*x;c<$~TaYlBmLZ%0m5?3kX>fQxy{MvV9w8$CHxF+s~!n(%hN6Ni9?2xR-EnQqo-Y~UtEe_|+OGXTK{i^AxID<2BE)Um{UbG)+Z8=M! zxp3kqr9m#!S)AL+jwcq|j z8JNq$!dKS$s5x3;bteC@G8*TJFDHCV{cD1J%F|4=Kd#eloV=>0MxbKdvk7%LoTu&E zb*)d%v~hBiPU%^Pia(xkx_p@ZlYJmCg9m{$6 z^hy5Dh4Q9O&3-7O-?5P3E*Zw$V);;c*UDVNJ2qECD>7ngoczeT7GIUu-!bo~^*c@T zJr!Kq{Ey1qckIpZt!w$IOXZtpFVN=<-?N6pe=hcoTrbz^F$?qmduGP3e{&kw?Ph*f zD3uQHS#aC7Q(kI}m!~&q@ktr@p1J8y9e@1CRJpwK(yCm{d)CTIQ+`P^SW(4&P*pDB zJ=3iJ-fVj05=EB*zuqXXzi00=94w|N=PH)(KB~v%y=P~wj2-(cXDRkRnfP64@PVyu zK5FhbZkl4M%Px%n53JgeBW$E{v0||I7Jbg~13NK&LBr`&m&qG^`Cf?&`oON-s&M8Q z7b#C{Hx%{%f%V_Izs*_}tLT2?fi{=$fjzbuALKiAmVC&?{hyTAKQNQZykTd}iE^WZ z2^fDLSi*pPUj9>8%0KQkt;QLCWQ}Llbm{ojTi#+pFU*RXl8FSc6OX$hwZr80V1`r+CsW&w$JO$m$H7r8jTt3VCXujLMwhC)Qz;*EmmY zSNX(dI@LMjPpq72qifgr?dozVpID1tO}@9Bwo)-~;?bAN z+)qr~=WXPXDX|Joj!VLmK}mQrC`kw4$)F^>u9j35lmqy#Xp$b#2YAOVsUpCuY)N?5 zBB>In45|P;F_%;gR0lPH5vU1jf!d%Bs0-?W`T*B64&d5HGV~`ye=_tZLw_>#CqsWS z^e01qGV~`ye=_tZL;p?aPlomzW#mT8cCt+E7ElnSK+$JbDo}j z!u1x`Z_rR&H+jV-ZfXI^bN-c$?dsun@A+ibbU`bQ&JS?J<2r;@{`rb}H7+E+pWga5 zA33;V^Tr3i(S0S{K_Y3~1xU*}^Cwbo@v<+Ocgt?Bb3%~1k~EQ|&NekBjK9VEJ08BZ zX>=o%)RLs>B>mcE&hA>b_*>oy>z>Vgp%CKA1id5;pRmm3WE!8@t;JHG+S;nPoS^q2 zq^@;NFK|oaugtW!ZFjdyS0QdDu2onil62eb*~Z#wd}qDsZ$EU;P~|y^r0FEJ^%-Qp zdcy20OVbtJCd zq^2sVtDu*pb01b2Htz<{60RSvda0V4G`%FLrJ$Fj;n%-gwYb5Lzc;XX<6+fLsA@yd zdl}M|KBrb*NaeMiUXD@ht*?@Df?kqt+qrXucPgK^ZMxaH`t?IWYiKO`?jR|?ucw-7*QS0NB9AABvG@hh!S0GI}7~8}$g`e8yFdkNE1tvMhbdKYB|c^DDgT!M;^Dc<&X-hT)7H*N$Q$$d3WA5zVY7KYmPK+rIK0- zdapv7*D|0?vunJek~ulF!=nsz$Vi$<(j*7p1|zQWwZ~jKzW7)JRa{QcOVapN=f6Z> z!S$x~V;mxysY&xol4jznj8)t<#EoeaI{WlxKKjT4lZ1XXRdJI@nn=>5$bJ_;T;jcA zt}^$2$5j0)o}}p{O?XmY(dZKY`c%&hkEkZ9JPXqNlBAJ>-s_0#_;Jm!0T=nFX{WT) zQ(LOyx(a$pnj-UzpL&5W_wD{v{)ALlf?kql8fwnld7gLfJuo=tzPdEOB&kf$n?fnq zd}(m|9PjmH|HiS;3{`qLK`%*Twgwq1&+?rd4cGTrS5HlvUXnBu*N3d~Nt&?X>GP&% z`RL(gVir7DTBgw67pdEJ+$qannf}Q&09|Tr%I; zsafCI;qO$f5Gm*-X>C_O zk3m|!6*~J#Ue4vUY;E3Bm9QYZSAsATSFNn_Dcz*u(N3cjyzWUC=OOxaRpm({XdzAYw;Gpr!ZFG(6H=)Hxw zuFvP+$io%85VMONSBNu?D@hYcD$`|UY9HcYq1Rky|+t{$^^Y6jog^i!E+y9Ze#TLQIo5R)lAZKL0T!vxcpvz@uChh z)(vf=Ce1HNnu*^^tGGLqa?NoMy6@!egKj^cIK7T4t{_b;Nt#4)(@C0S`q?>jE1$FB zy?M_ctxu>%0!i~rlEw>q?^4`fiF4L%KCpA^c3c^+QiWhPe^BRPjWO)mVRuV2x zT79GN^TMhbMzX9{YvX*+i}P9}3FGcl36?q!mc_6eU!Ld=&ydz7Bs~Uc^^47$*sWyd z`om0*#fwuhN5XW9YWZ^BNUL}@@XostNtHCZs+tQIF|EE))V67Ryf(4sKTm{(R2SPa zl7w*?)LQGS?ugyS{%SfbWm$w+KueM)3epExLoV-PWt!jZ^?pn(vG^oS7o@sLCa?Ff zNnI{FbgNWRCC$XOPpf>Ay7o-%vSJ@wy{^LGk*3lw4@u)5K$@Al_0x$1>`uS?n@3#` z$BZjU6G5FQdV(-hexfY(=K$WXZTz9ofBxzowDXn&#V&-uc){C}^wGmI!bdpBS)^|%i%{CmI zcG+*OmMU%}N%Kh>Q!U|#XEK`?+^5mDcIQ;JVM)@sOh^;VW^`SAhJ_#g=@c*`rR4;zly2sH`P-$Jm`{Vjjy;0Kah{3mX;yJhAWa!Q&7IKCXzI>i^ZIj%j|Gvr=e&1i0v0o(sYs<=AHWuml?8~)P#ZAHmW~+RXI`?(87?;8p_j_CY z{uSF@NRlR!G>f`iDyx&X*}Y-|aS*wZG@Ybh zcU>Ogo64qD-~8q3Drtcx=q2fxVeWB!Dm!wbSO2$L#11JF^gf65XhnaUsyEo{V?B>O zoFgteGI0^xDv_iy8I$u)-e4cK9eaOUBd#2hNSaPk*PD;uRlUiM${XCA_(W{Lc#`Im z)bQkZZ{M5j!i0ATR|6`EU7e(HFCaBGn=s(?O*Z0$?qR1cMk=YRpqHdsw;CO+na0*; z#$oPBv9C)=u0&U``TC27iqfnO%wV!4(hbKdS2mkvoJO^39z>(ECh zZrx%To}0?H)GIHh%yADZYcHcb(1VQ9k#|6gqgUN}w8eLU+gNZ`Nm=;$&_0NFhB9I6 zg)L)y(1%he9_-l09(xn?5bU%WEqRl_>N}-y(iXGWpcWs68!FiG5mT#Pcm>)j;Z;Sw zGQYK4fNMj=qusT+et|N4b~Z3rM&DHr_E&xJ)y~h)6R&v6M&o<)vJg*f0fcWebJl_W z*jHE;oEw0ze*58z*@2<>E_D#L-luJ|@p>Q<43)XbLa`Brqh~O7=AsQ+W!S*i$J2vz zz=z`n4MIFP{Cz@0;g3v>?EAVTWi>8S>)c6D+(781Y+zO^mR4atPOxLU@MbbI~E3 z@XcUZXkehs&n?*7Q-=J@Xj58QC_d*d#0+wC_mug0dWFh_JdF22DICJ!@{+0EiKAi! zh6N+k=&+Co&JKIy2V-9zOQjTQ11Y1NFHhAPe%ut~do%7wY4W?BTtc)j<5iHk{IttQuA1O zcp%{rG&g-x5?j~P7bs;xKBzIfb`E0WO6?(*0rl#pipF)v9=X0~PN8hU=ou(OLHnuv z#V%0Lh;||95d}^sY?`a82%*w#!ad!o?a=o`^-^u3Rq<_L>~Uo!T2PxPp3vg7L*+o> z8@4{~LM6-m0R|{%|!i#Nyk_t`Yfsbk9Gd%eEGV=Pn zS-a!2rG>=QukeLOKYU17?2;5nsvc5b&?E8ks;HZKK?p^q>QmS7yZ?EhiwJc)AutSy z2fE`sx*T?S#{g7~G55gn7(CR3j`$3hPhePx3~lU5gXNErZooY&1R=i{XMYL5E{-U}zvd;U=~} z)u@<5)qpQ(9qPBEA;w3du@{bNt_eY%Vy_`GBqeFU%lfYQM826#RFO_`^FS4Bx#CrYapMWI>e(MJSL^77JXzqkE}7-TG%(X>1lJ z6ea?(ntl)BKl9elGZY`x_WeElCAa$UFK&JbP{mW9PTWST%7um=9p>eQ?tq=NF`E@M zxL9ILHR9K=3u=LKRp5!;jD=Ftx3}HAFu%%FH7vtEWTC<|RWP-=`JsDxL{K9K;q&G+ zQK?OQ>b@8m7-_=T9D@(VV^j=4f5l)an8f;rVK+bgR=9h5dLVNs3g%6pFn_c%eIsUw z(Cng@@QcwGKWIK<0)u33_))@aj7V1Rzf{y)uCZBjIG3k!NGD3CiN*}wx>~W?O76Ut ziI$$OLL*vZs@5g#R@^<^yy^2# zd08h{=f2Kk&3d{vnzOj+ntob=+V8jzT1GnQ+&wLOT_?>+8f&#q;97ituA1g??tqp* zr_`9G-A*T8+k*4d=&7-uJEFTyBSdo`-ikk(Ur|rL0liWz9PKnYtGn>hZLi%+d$2ZV zl>>)nJS@|{Rn*(7(No7&CqTyy7vQg}9(qKqi@L9L^Myxj0_rJpj38i zhU@;E2guUmIKyUGgU;6AEV~8{^Jj~Q@C2SYH?Qke^%71D7l0H zc9@INS8xdb%Hhrp4*bWTv5Bdf zdHW6>Ejn3s?}2Y-NejkOo1BKGmbQ*=nX=`?DCPC^D^xTvtW>#5)oRsi7}cy*yH4GD z^<@njHc|!nH+iWw|L+7ud9=%D>55&6t8+?=vxlQE=m#8tBj^tX06KQzzS=yP1K}PE z^Y^w7USZfE(9=a&_}Xw>8n%UqMOeRlbaforusb2nATStgQH$Hr#lB2>-q8WOQNkPm6K<@0ylDZ^yZ|Yce0q*5-O+X9K3bX?>F6oskI&bL#dI3A& z00x4gzzui;Z{Q330gdIUU_n}Z->8n-jBmwIRB~eqoe9sEiMq19|XpMU=RXAK^PbhCV+4d0VaY; zU^2kHQ{k{j8h^n(1$@Q0Ajoej+>wCpoXUVSg~viR4gS-?4}>MiZwA~mfgE8S>29l- ze(Q61BOU&;0i{9dliwV;=Yo%L6XZ7!?)ktE@sA?SDbXB+I>fjA>{Qtc<> z6BuIWUSz)&cX4wSnkBX&?$JxXN4ZJ+-y6|jS&Ws^KSUQcddWn5X%;dQm8urWCC4=W zs>Rho8__}Iit?|8MlF<1U}@6vC?*}LFRAxcso$vgRjIB1t&d9iGXGtv!bwAk1*G!* zK)$GiH0O~{GD(l7IFRO|Pwqf_?JTyuv*n_HM7jj(sJd2YRjrad3(=;ZWpqJ`Hb=ev#C(LPwk+&n@ z4C;y?zoT#`f`bU34LJB+fGNdOZx1P+dV5IqEKRWgO`gj_H>FKS*~_Zc-$~?+2kNW8 zB)I9wK=>1|p8~^GUcx+Z8t!Bu=FI}Lz6-hm)^Vzhr#2y8VOd8nTyR#uXF4)O9chSr3#jY34R>+tmpkyk3nU#Tf(~5Kk(3}^q5NukEU&26 z3+ae=50tcCxDQzdcmSmJf}}^iEZAdB(9s;}(prR$ZK95ci2Der>&S$A2`IcKc?`cN zK+^F?Sx5;EDod28C+Qk4x}RBVpqH;jQ#Snsk#cGMoH(Bv_z+KMp~xRnO`-4b2?$kZUmD~aOupkHmCz=8IQ;Egr&R;W&_X=Gy;u5 z6VMbi1IrrUUO0mOU;r2hoWLM37z_cI!a<{lCy(Ojk(RXP{?Na2>{N zw7Z9=m+ERvxO1yEL5@Cl0sXipcAcB_?c8LbtVvK4TUfDk-+lwVX&N+UsWNCxlAS6~ zvQweSkH!IwT`8<&r?BKlvpY4;biq74C0rHz>XhK{CcM%6)B ziGPbzTDca|o{n_?Q@U$l<|_sNlzvOZFBasBX6^qeO3H&N^cM?s)33t+6ovKUI&-YT zK<}+)#uF`W4Z6izK;3B_SP$aC2Jko72sQyacA=|nhJ6d5@LRz)upR6GI{_Uj2)7IN z-GIXF0ee9L*a!9lnqz3bp?Ss=(BTE#0L@P{4@v$_VE?Bf3UM*Rs_5{cbSQn97=E;x z-9yd(=kWY99VsqN33O1Jr5pZMQM`ekvi!kETHFCtz(GKjBQAS7;HDyOm9+Q5?VC^= zBuY!3H3&-=E9o%LRK+_a#ybr22sjE7!7*?gD8LDD63{dJN#GO^^|W`Vdnk6au96m9 z#)6l$wx+#zt3wx^8f(L(LlaQG$!rZjGU>PgJC)@$pt2-`GvF*Z2hM{F;35#Ub)=1m z-N%R8xx1TSrRP6dxHjuT+s;b)F%^SIIZ`e6w?G%=X=X8bN>a;{{IM!em!OmKbQxR$ zSHU%K9i)I%P&iN4Aw@DJ=rlr_bg0*Zy3Pbq=MAJuI&XqBfcLt%+u#nk3(`SRoz`K6 zYl6xd^)EUbWAIYl-vgxcKF9zMz(eo|WP-<_h)$p4%gG_le=6rnQRfq+Njjf`XW%(_ z0bYVE@Cp>wS$sJ||3PQrG$s_yw$MID|2++9eBlJpKS&y1KM;@lb%7o~KV1K}!=)Et z{K+tp6(^TYeJuZ!i(`voV||Y{bcMWdeM;j;)Mx0HgD>DKpc{|h zz<2Ni`~<&%5=eE2a=3VVq8M~xwiBNJpeGP;I_lzsd&zEiV56i9iv=UUlZ(smR0@1e z%zt}JGXl*~hmmKh<9L{K;K!6p5$)tZLbR)o*}L$wioIl@cUj}ib5)V)T#<^b0aFub z0d1fIbU_(V7L)_H1Ip=v!bKJ?3l>}C5-u1P6i%(ksu?%LOB! zLJPr^iWw!^$=^t{s~0mCepV@04fJ@8(3h%WRzne}nAKs{07jrDs0C_+I-o8nTufDK z6<5sCwiXq$ptY=#pW=$aiT>)v7y&=4mDdgQR_ldkX>s+Cz50NPA%ocfGz5)6W6%UN z1$23r!Z(AxIcNb|f>xk4XamGzTF|3C|Mfr=5>Z`jqp{Woy2bQOaS2FL;X+&c<1ssL z)r_h7owh|-YQ-$E_*6O4+QAYsst!Mx(mg2GS6W>n_ODsEC%wo8h#R!-a!K8w0T8Iz2 z;>iQG$;C|a{d0a9iu9;vtYH>b8wx*Zen}JcP8Rk41#=3RTAW_hibF_O@ek?JwL-e6 zLKk=Gq6S^?pzD})(6vdr;9H!GuK!CHW9Z^b;ka~9z*F?6_+&3G9Hm1SoGC5of^y-s zdWtf-C|y`a`KLTf7ojPQ;=)K}g!qqgkz2hi68>k zyQ`sk4AK+2bTU6EWWKeY=Tl3S`n^|~Ordilw%UQTkWmy6u$Wgs`DM|q;d z5#T05_6s_jqy_CiEzT(dEd>8*;YwlXVjp$hNK61rU`n$aPJu)4-7HTJ7k4}qEv)T? zAF?yz#lgn7Z%y&0iSfK(SC5a=OfmihPdDF!L}-%IMqD~H0O`l8O$K_$9GZVp-MWuK zl8b@*t@|Z#)8QwRIWe5 z;}KPNKRl%RX9VH;4}}Ls!UxegS<&!kiVcrO4+`|5SEbZrQ2HMcKC5v0bh6_mzKfzB zK`cY#&&A})R9y$Pg8%40wW-SQjJTwaj=Qk0LSI-7)_}EO9r&ZHs>gBzJn)7PURU!| z&kp53LCg!yKWkur2COj&kUbC3{6Y2~faV{vmqk39bID#6b~n*3gPrC`@^1}0&3RBb1f$y$eYB-VHk)b?_kf0GNB=-Yfbw7yT08 z-Y5EHBRvYYAMOKSU}z_LUnGd$A)<8XJU0Vj28Nm%N@qf$*lPoT%m>3PXCM5KelSJxz>rL@f>;=y3`3atU?|@TQ+dAx@H7 zoW^3lj;iHL2rR0BUbA5QUeF~WVd4|h&_=x9Wk-5cK02Jm^b!lwGpEt??1J^+cNCh`QKNC}zUiJ>%t?XS~`r%uW9ehIF0`RJkiw8c;8Q|^bX<{-k$kW}& z&95J34qOBHxA5lua5u_E$fGv$K>12TzFNah2bqQQML(=Q z8B9%j;G)`K;Vs=iN~3E3mCz&Q&*DeX{M{CH-hoN=cDFP-EvUYn@VlkD@1c)$B^~j_ z=tviJ+!J-&FO3cp<9>Ma&(lNIG(uemsp&ELi7||H9)O475y%9Ofz$_{!2YjoYHHpy zFnEGnu!j>~4x`&S13d9!9K9L+`}g>+n%S2tZFZXnhxh*Ma%QDkdCa<=rHNf(=X61 zR4k1h>e7xrs!3&%L5EbP3&rSrRY>3K|4<)&oKu)9)bv>>i#UF`=2(CgJ6G^SMpj_NT( zP1oFFbiFI2>wRf-nRXZ$5fD1YGt|dj8gY(p!EXL)^ASkn{8Op) zno!~XP-*SyPQy;9*CaKap&CW&^)qyQQPcUgR66m45m2I9L9aP4t7g&i{(zpJYI=W_O0UTu`W)Tdebsd~h90S`SBlZ8gbww2 zl-=rfzK3662p;18v+u4{(`Bwzw0s&!TU{5ulJf7mjO}rg+QUsXl?v^rjkKjQ zttm#2Rv|swrP5MgSv9pwt?C|?>KrlvwUJaG<7eGl5)0%)TW@wau8noe7t zqIIZONT+^jbeb4<$Mytx1625V75an`(w54WP>h}mh4fS`ogQou;pG#qrYBNO4?ez7 z-O7-=u7#&p#>8M&79VX`3 z6agnALi-oAO@f*(`!YrAtXd&m)k~$z*cy9t;GN+DJ#~<_RHmcF=&2#53SmU&!U@efRrX!{p9d!!ns9PEx zrltjLq}nbbFqo!salAS~k5q?0iqToGkk0z0(P`3NoL41B1)Qfur603bh)|=jPBMl`X9peT_tYQkyj{l|JLX!X-7eez-|Zk9GN?9$Sxt|TUeR*3 zD5R%lsr0m0=@~#*PzvV2XKK1;7Ne_GAziIYrOVVVzz3&G(qt>HLmiR6RDYa)(Q>sZ zq^oUdbeVQ?R9)G13RHEFf?+2%olvI=HQi&1(cP|)ZsXGEHZgGw3<>@H!$p1H0%=QS zyi$xFlR|n-OQWY_KhFtj{V-llhed^=^=MW|hk0pqn3&lFxMQ`67c|xDO&jS;<=Iq> zuJ(m=btsjt_GlyzAG&7gruJJIq^8TTV$pJSETqe#RJzPClmkbP#TI4i<;qag65{?EtTm?F?yJ&#}X#}u2_{uk7-9V6ZS{)^boK3 z(M%lb6BKm;f*yOME!AOmF?xE7diubmeqvu5Jtmz>>>mf!^o^)o zv@ZLK`ud6b97?6H!@y9FLW>=-k2Ho3seBh;cSL&q!2mE2IDtVx>W_nA|M&B8vp>)G zL|w6Jy3DH-E!z;Jt$yzBTq<3r(zOk2TNpy8%0jzwNM9<~wqkS*6?F}RN$obgG`dWU zsc#JN2^~|cPCqrBb*dIE-w08sRF@-5r&CRrus@?PIZNftRMR=P7@eaE>2xWLP7_m` z0NVS|&PyESsycN-`cj>Kh20ft(Y+owm~^jaG)#9OmCpnAfA1?Dq-!1c4G*MY{<{s6 z)bzPlD_WnPNMF6bc$G$9C+on_f!JgZXY5iP8Y69~Tvv+G<6TJ4n9}GmG3^(qy1PkZ z{kN`_YPu||7cG-dAzfojqs!FTIwAmD9J<>`w^RSnsSQ0+`F6qXi!`a-{9sbM`NIqV zQo9Ah{_pK(Dz%$)pT>2NkGT7MIfrh5HNDvb^kQ`NPwo{my+ggLS?(wE9}rWjq53+ei+RJz(b`h z4HkA3R;i9D1ZOX2QMzX{who3hsqKs>?;C(Mji>!qZFz zWlK=gV_#dFi!P)m2JXdbdX|(*kJ;}V#$u6#{$Yglr7|VKUbr5YB5n10j4h2WQ)BU5 z`u7@3QYq-1De4?)fOjac0SPg+I-Z9Gy@2HJ3jZZ=PXNQQV`bz~L%rF0)DkJSs;5`z z7b~X6pF4VxpS+HCu{(QE+&73z4;IoB90&1^Gx__2%&Z7QPrr@_($*CeZZN`0W!Voq9p(s6PifJ%7Sgs76!t#k_A*tP z&InVm>j=k1A}odZpcZB_!c2qzbRcbTNMUMY+Z8FDO$aj+@>yUupn91DC|nPOqrA~^ z1>xqyTmYf~gxVAfO!xc0*Ap7a14sZ9>SB-vV+RS}o$Ghwd-I~~+#uft3M)Ss!pP`tBZy!&clgAg_q z@*859FObm@3;&xi)4(l2ZE&01NT*)^f;Lbf+#UGe1?hmo-2)VEtQfAm241@bbl{Vr zTm{jNmjQ9)PNlrfHBhxZ?Xp}(2QS=#a-clW1C-u8b6lx}oDOT4`tYv+DgpyQ;S2$V z-HNbT$Q#*@iScv{RXWBXZY6}P462CX%{t&|>F%nuqZ(^-RpDO^RM)|dE6Ij>f9oEs zsm1N9hv!inVtdUdTHKcA(9#lHjJDC@uC~RNmF@A|sxh7mHNiWArdr%5FdeCWF~jr8 z9kETH1)fm`hMl#zVc;=n)CJF3f;V8P95Wa2?yAL|0=>K8IaKf&lxJvdkP3c~-BOFY z12n9V4{!i9>yD8ND)m4ufmm=6w6MlAtKbFrL3SJD3tR?o!JwXKDR2^Gf+oGRxL#l$ z*a>n#En6*a0$2_1gO8xU9iG7jyFuCB$Tt`Vu7FHn)<=u$3#Nm^puW8p*8$80tHB$f z1pWFVZEyqJ1$FyraecsMa0~QzK-ypnxCBfcwKz+#9Q+O5fx7+iye>!pZ$YI2s6XHj zZh`xt%s|u+m+6t@(o55F5bC4Ei16F{op!#6^N`Yt)2d)CWA=p+9M1Tk2 zEpT#1y8;DB2bG4R9l%r&19)%|ya3-o^i61P}+(!7tDWJ#7j|0zW`2 z^e|7b4x|B1^e}5M5o`hXK~40seqc7Z3tFO=jRh+~CMbg*W&tLF&EPg@gkI(g)`1jI z0X@tD_<#f8At;X?)*Flm8^CQ~h#qDIyumhb9aKXvvjst52Y3V;qnG)EW#BZZh#uA% zOa@0l9xz2O8wp}S1}KMKWeLWDrQmOH7CZr;fj)XwQ_vekfH~kexCkDDU!WO!lm!?F z{J>nW2JqlI$OaYAqiTaLz#B{lo4{Uh3uJ+1WUjka0Xll zUja8ti>m?Jf?i-Ka6~*;;0OC(U@6!Rc<=yZfnT61!n6bdU>cYQmVr&+0N}wTa34Gc z@4!!B;0m3fIWPv@fE^eHMuQMA3Cshlz~A5yI14gC7We=(+)&4$7H9%GfNsD63;~`X z2uuU>z$)-JNB}3nC6EE0f%o7iFdU6G18o5Vy}%&g3IahSmm_a0dpV+4qznk2azBOtOr{`A~*%EgL@zgc7_=1UG8khy5!5R<`c7T20I7kN9z%B3$ zPzy8$ZGi=_1bx6TFdB>n0U!d*1kqqE*Z}r`{eTC_AO)m>hu}GQ4?Y8} zG0+DpfqI}JFb3v;fu6t-3I!rL!C*XC3J!o&a0>+aVdVwF z!DJ8#W`emO3dDd|uoA2R@n93!26ll2a1a~?3XlZOfD7OXNC9c!F313x;2FpQ*&q*m z1Yf}q!1?1>9+U<8zz|dgMxYLmfySUYXbp^kIj{h7U&DP=F+G23!DFKnh3$cR>co1kXSg z$Od`fBlrq_04@OK2W5diFa%YB5vT)XpfP9;S_5NX4lIBiSc08RPzNw=fjw{pPQV$A z0It9Ti~)Wi2!w)gFd0OGnP4u60x=*KtORR7JlF)bfn6X090W&!0wjSm-~zY;Qa~EG z3o<|^cm}dSHpl~X&^%AS8I;aP@D(^wy^uUm6-FCo8Bln=RUUq{-l_moeZ6G}cX8{j zD)6rkr1e%!*h{nCs)KOq>#h25OY5zMur~qC!9T6HT0vgYdaEsD(t67T_TtuC=J4+b zIs<9F)fIO2^_C^vC9Su5Kvvv(t0(-W^_Cs%rCo2?BdoOEa)6!ITLWOydTS6&XD}R$ z0_y86H@Hi?-ts_LX}#qQyR_aK3wz=9mOuPxy%hwL)>|Pk#{*h#MZla4r1jQR*roN> zbl7JBX}vWU_62~}TZ>@+(|T($TG;<>y%moz>g%nIaMOBg z3rzL(mUR#09e#z^Tf5-57f9=^{jeVbwB9-j^EfyOr1e%#cdT9DJ_F8!OF&w0U4=ab z+yu7)t+&!){?mFZ5&6nMnEzzG^$78bTW>v~^st_K4l@hTdg~2LT5sjRr1jQ2m>)sm z_0|{o6}R5{27mSS)=#*l^%fU|H3-lJ#YWm{kQ9_#z;ebz10lvmOy>I)dp^3UppvYobmt<)EbX7K2QEz11CV z_4Sqw+_r$$TYX^CdaEBy_4QVNxM{uR1e4ZVLtqwOZw-T=wB8yCJFT}|VHRF*xx>#3 z_y9i;2&DB^Fzo-g>#Z=v2?xckwR6$3Y|x0b>z z&3bD&!b$6`IM}82)*9H0TW_t0KZoB}ZBQ2I14HmP{Ec94hPe$ihP^r13A-^&b6^4F zU=RGPVeW%z5Az_*BfuH<5#Si?9xzY9^n;lMGZbbxm<*EPJ_qK)9tC1REVu~2H88Kh z+yrwQ*aZ^6b@<%?w}7t+(z&_7G&lo(CSo{uSmA@CB38php!tM&w189!> zbG@Yl_hk4-f|+10hyrEd9}9CO(1Sf5<|eQW>;ehkAefDLwIbw6u%7{yV7~%01*Czy zfYw`8;a>w}!JZBB03A+NNDJs;z8?Z=AxvFB>n#~fIvT-j23mo3zzlQ*T>t|;Krhe- zIDmm*2pA4rfIIL8z90~UfC*p{mZ21~&Tuo|of8^Knv6YK>Cz!7j9@E{qS z2baNha1-1C_rW9Z6ubm)KrZ+IzJTvQ3ABQ-o&i z0*(V7B!lzdGPn+If;-?ocm$q;m*5S^1s}i{@Es_DRtU-u^nd}V0&0NTpgw2>nt@iJ z9WVnOK^MS456}zr0S;gw7y^a^7vK)OfiDOIAz%WS1g3%+U=COSqQO$I0;~q>!A7tZ z>;!xNPgD0EXG0YS0GuU!+`lo~BA2*KHdn}{z+lHuh~ku_4CSamC8`ohG%>`HKx3MaN-NsYkTgp zKL+wNLl{nak|GjE@jS;9b&=vkrtl&&n8mBS#v7#bHj7!x3YzQUR*CPijtzXsM{HvU zyZMv@9HLYsA2H%lzNWwJpA=8?9p^aDPy9kAm-&;wxJoV&LtPqEgb>9Dlj`_NiA|GL zH}N)Zry`Z8LUp2urY^BGAb})OXi6$AX+wKDaz7995Z!r{$9RIi4B#mSGmH^D#~8*j zfyqo`Ixq7IbD75i-eM6;SkAkwVJ+*~#1^))on7o@KcDeAUvi8Se8ab7FhlwOAYR~S zF7Z2mki!+Ok$;$vZwgbCn?Y-EZi&!}h$_a;s#1;W)S#5?f?w(@iov(h zD6s*J2(Db3iNT0MdodU-=pqKA89l_{n?*k{xLQgRgR7uE)l|nCs!5bCpq5i&_qN%+ z33Xh(*~Qb0s;}zC_|_Gt2~*SVZXhaN(UEAE$B|1*r*<`^bpcDMs%VC>lER9i2iv(( z5v8(?ur8++>$$^~Rj|Eo;#m@0wGChkSLxkUmqjMAe!&{aGE&xz4TmNd$ds(yOewQw6YE(*hCJ|tsN4xIZUB8S_Few zP9~+>Y7GR3H$^-^iFR59GdW18y;I0wmT`iv9j@1!WW%YEPJI+LsYNuksY6|2s7EZp zFl_utEirFMwu5xNymTMw;O2*53WjOxTRx89W`_m@H-t14gQ4E|yx0F9>YbFAZ?OJK z>nB*I5s3ubU7Yv65#OET!=Z>IiBl4x#uiAXV1Lgj$ucLuCuP4dAsi}l{az0btxnnN zWq6}p$BgTguh%wbW1pW7@}-hG4~_`BHL%1%t=KHO=+^RS%K literal 0 HcmV?d00001 diff --git a/www/js/lib/libzim-wasm.wasm.REMOVED.git-id b/www/js/lib/libzim-wasm.wasm.REMOVED.git-id deleted file mode 100644 index bf61f0b7..00000000 --- a/www/js/lib/libzim-wasm.wasm.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -7c7199a5aab0bb04587d98e1f0abe5c03ec2c004 \ No newline at end of file