Rwave/0000755000176200001440000000000013230660764011345 5ustar liggesusersRwave/inst/0000755000176200001440000000000013230166326012315 5ustar liggesusersRwave/inst/COPYRIGHTS0000644000176200001440000000004313230166326013730 0ustar liggesusersCopyright University of California Rwave/src/0000755000176200001440000000000013230444130012117 5ustar liggesusersRwave/src/ridge_annealing.c0000644000176200001440000002224713230444130015400 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /**************************************************************** * Function: Sridge_annealing: * -------------------------- * Ridge caracterisation from annealing * * smodulus: smoothed modulus of the wavelet transform * cost: cost function * phi: ridge * lambda: coefficient in front of phi' in the cost function * mu: coefficient in front of phi'' in the cost function * c: constant on the temperature schedule * sigsize: signal size * nscale: total number of scales for CWT * iteration: maximal number of iterations for the annealing * stagnant: allowed number of consecutive steps without * move (stopping criterion) * seed: seed for random number generator * count: number of iterations * sub: subsampling rate for ridge extraction * blocksize: subsampling of the cost function in cost * blocksize=1 means that the whole cost function * is returned * smodsize: the size of subsampled signal ****************************************************************/ void Sridge_annealing(double *cost, double *smodulus, double *phi, double *plambda, double *pmu, double *pc, int *psigsize, int *pnscale, int *piteration, int *pstagnant, int *pseed, int *pcount, int *psub, int *pblocksize, int *psmodsize) { int i,sigsize,ncount,iteration,up,pos,num,a,count, costcount,sub; long idum=-9; int again, tbox, blocksize,smodsize; int nscale, stagnant, recal; double lambda, c, mu; double *bcost, *phi2; double ran, gibbs; double cost1; double temperature, tmp=0.0; /* FILE *fp; */ /* Generalities; initializations -----------------------------*/ mu = *pmu; stagnant = *pstagnant; nscale = *pnscale; iteration = *piteration; lambda = *plambda; c = *pc; sigsize = *psigsize; idum = *pseed; sub = *psub; blocksize = *pblocksize; smodsize = *psmodsize; recal = 1000000; /* recompute cost function every 'recal' iterations */ if(!(bcost = (double *) R_alloc(blocksize, sizeof(double) ))) Rf_error("Memory allocation failed for bcost at ridge_annealing.c \n"); if(!(phi2 = (double *)S_alloc((smodsize+1)*sub,sizeof(double)))) Rf_error("Memory allocation failed for phi2 at ridge_annealing.c \n"); /* if(blocksize != 1) { if((fp = fopen("annealing.cost","w")) == NULL) Rf_error("can't open file at ridge_annealing.c \n"); } */ tbox = 0; ncount = 0; /* count for cost */ count = 0; /* total count */ temperature = c/log(2. + (double)count); /* Initial temperature */ cost1 = 0; /* Smooth and subsample the wavelet transform modulus --------------------------------------------------*/ /* smoothwt(modulus,smodulus,sigsize,nscale,sub); */ /* smoothwt2(modulus,smodulus,sigsize,nscale,sub, &smodsize); */ /* printf("smodsize=%d\n",smodsize); */ /* for(i=0;i= stagnant) { cost[ncount++] = (double)cost1; *pcount = ncount; /* if((blocksize != 1)){ for(i = 0; i < costcount+1; i++) fprintf(fp, "%f ", bcost[i]); fclose(fp); } */ /* Interpolate from subsampled ridge --------------------------------*/ splridge(sub, phi, smodsize, phi2); for(i=0;i= iteration) { cost[ncount++] = (double)cost1; *pcount = ncount; /* Write cost function to a file -----------------------------*/ /* if((blocksize != 1)){ for(i = 0; i < costcount+1; i++) fprintf(fp, "%f ", bcost[i]); fclose(fp); } */ /* Interpolate from subsampled ridge --------------------------------*/ splridge(sub, phi, smodsize, phi2); for(i=0;i /*******************************************************************/ /* (c) Copyright 1997 */ /* by */ /* Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, A. Wang */ /* Princeton University */ /* All right reserved */ /*******************************************************************/ #include "Swave.h" #include "dyadic.h" /**************************************************************** * Function: fexp2: * ---------------- * returning a double number of power of 2^j * * j: exponent * ****************************************************************/ /* 2^j (j can be >= 0 or < 0 ) */ double fexp2(j) int j; { int k; double s; s = 1.0; if (j >= 0) { return( (double)(1 << j)); } else { for (k = j; k < 0 ; k++) s /= 2.0; return(s); } } /**************************************************************** * Function: wavelet_transform_gradient: * ------------------------------------- * Computation of the derivative of the wavelet transform along spatial * * grad: derivative of wavelet transform * s: wavelet transform * max_resoln: number of decomposition * np: signal size * ****************************************************************/ void wavelet_transform_gradient( grad, s, max_resoln, np ) double **grad; double **s; int max_resoln; int np; { int j,t; int np_minus1 = np - 1; for ( j = 1; j <= max_resoln; j++ ) { for ( t = 0 ; t < np_minus1; t++) grad[j][t] = s[j][t+1] - s[j][t]; grad[j][t] = 0.0; } } /**************************************************************** * Function: signal_K_compute: * --------------------------- * Computation of kernel * * K: kernel * W: wavelet transform * max_resoln: number of decomposition * np: signal size * ****************************************************************/ void signal_K_compute(K,W,max_resoln,np ) double ***K; double **W; int max_resoln; int np; { int j, z, y, x, t, i; double sum; double **grad_W, *k_tilda; double fexp2(); if(!(grad_W = (double **) R_alloc( (max_resoln+1) , sizeof(double *) ))) Rf_error("Memory allocation failed for grad_pis in K_compute.c \n"); if(!(k_tilda = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for k_tilda in K_compute.c \n"); for(i = 1; i <= max_resoln; i++) if(!(grad_W[i] = (double *)R_alloc(np , sizeof(double)))) Rf_error("Memory allocation failed for grad_W[] in K_compute.c \n"); wavelet_transform_gradient( grad_W, W, max_resoln, np ); for ( z = 0; z < np; z++ ) { for ( j = 1, sum = 0.0; j <= max_resoln; j++ ) { for ( x = 0; x < np; x++ ) { y = (x+z)%np; sum += W[j][x] * W[j][y] + fexp2(j) * grad_W[j][x] * grad_W[j][y]; } } k_tilda[z] = sum; } /* output_signal( k_tilda, np, "signal_k_tilda"); */ /**************************************************************/ /* we compute K in the following ... k is two dimensional and */ /* k_tilda is one dimensional ... */ /**************************************************************/ if(!((*K)=(double **) R_alloc( (np+1) , sizeof(double *)))) Rf_error("Memory allocation failed for *k in K_compute.c \n"); for ( t = 0; t <= np; t++ ) if(!((*K)[t] = (double *) R_alloc( (np+1) , sizeof(double) ))) Rf_error("Memory allocation failed for (*k)[] in K_compute.c \n"); for ( t = 0; t < np; t++ ) { for ( i = t, z = 0; i < np; i++, z++ ) (*K)[t+1][i+1] = (*K)[i+1][t+1] = k_tilda[z]; } /* output_array( *K, np,np,"signal_K_matrix" ); */ //for(i = 0; i <= max_resoln; i++) // free( grad_W[i]); } /**************************************************************** * Function: signal_tilda_adjust: * ------------------------------ * Adjustment of the size of (w)k_tilda for a signal (w)k_tilda read * from disk ... * * tilda: (w)k_tilda * ksize: size of (w)k_tilda required * fname: name of (w)k_tilda is stored * fsize: size of (w)k_tila in file * ****************************************************************/ /* please don't write to disk void signal_tilda_adjust(tilda,ksize,fname,fsize) double **tilda; char *fname; int fsize, ksize; { double *tmp; int i, j, k, l, m, n; int rsize, middle, rest; if(!(*tilda = (double *)malloc(sizeof(double) * ksize))) Rf_error("Memory allocation failed for *tilda in K_op.c \n"); signal_zero(*tilda, ksize); input_signal(fname, &tmp, fsize); rsize = min(ksize, fsize)/2; for(i= 0; i < rsize; i++) (*tilda)[i] = tmp[i]; for(i= 1; i <= rsize; i++) { k = fsize - i; m = ksize - i; (*tilda)[m] = tmp[k]; } free(tmp); } */ Rwave/src/Swave.h0000644000176200001440000000224713230444130013362 0ustar liggesusers/***********************************/ /* Swave.h Some Basic include file */ /***********************************/ #include #include #include #include #include #include "R.h" #ifndef Macintosh #include #include #endif #include #ifndef Macintosh #include #endif #define YES 1 #define NO 0 #define ZERO 0.000001 #define STRING_SIZE 256 #define max( a, b ) ( (a) > (b) ? (a) : (b) ) #define min( a, b ) ( (a) < (b) ? (a) : (b) ) #define inrange(inf,x,sup) ((inf) <= (x) && (x) <= (sup)) /*****************************/ /* Type Definition */ /*****************************/ /* typedef struct { int lb; lower_bound int ub; upper_bound int size; } bound; */ /* structure of an image extrema used in point reconst */ /* typedef struct { int resoln; int x; int y; double W1f; double W2f; } image_ext; */ extern double my_exp2(); extern double my_log2(); extern int nint(); extern double log2(); extern double exp2(); extern int iexp2(); extern double fexp2(); extern int find2power(); /* uniform random number generator */ extern double urand_(); Rwave/src/bee_annealing.c0000644000176200001440000001156213230444130015037 0ustar liggesusers#include /*************************************************************** * $Log: bee_annealing.c,v $ * **************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ /**************************************************************** * Function: Sbee_annealing: * -------------------------- * Ridges caracterisation with crazy_climber algorithm * * modulus: modulus of the wavelet transform * (coming from learning the noise) * beemap: ridges * c: constant on the temperature schedule * sigsize: signal size * nscale: total number of scales for CWT * (or frequencies for Gabor) * nbbee: number of crazy climbers * iteration: number of moves for each climber * seed: seed for random number generator * bstep: stepsize for moves in b direction * integral: flag; if set to FALSE, the function computes * the "characteristic function" of the ridge; if set to * TRUE, computes the characteristic function, weighted by * the value of the modulus. * chain: flag; if set to TRUE, returns "chained ridges" * ****************************************************************/ #include "Swave.h" void Sbee_annealing(double *smodulus, double *beemap, double *pc, int *psigsize, int *pnscale, int *piteration, int *pseed, int *pbstep, int *pnbbee, int *pintegral, int *pchain, int *flag) { double r, dd, ee; int i, bstep, k, k1, k2, bee; int *a, *b, integral, chain, s, count; int seed, nscale, iteration, sigsize, nbbee, tstep; long idum; double c; double ran1(); chain = *pchain; integral = *pintegral; nbbee = *pnbbee; bstep = *pbstep; nscale = *pnscale; iteration = *piteration; c = *pc; sigsize = *psigsize; seed = *pseed; idum = (long)seed; if(!(a = (int *) R_alloc(iteration, sizeof(int) ))) Rf_error("Memory allocation failed for a in bee_annealing.c \n"); if(!(b = (int *) R_alloc(iteration, sizeof(int) ))) Rf_error("Memory allocation failed for b in bee_annealing.c \n"); /* generation of the random moves of the climbers ----------------------------------------------*/ for(bee = 0; bee < nbbee; bee++) { /* Initialisation */ a[0] = (int)((nscale-1) * ran1(&idum)); b[0] = (int)((sigsize-1) * ran1(&idum)); a[0] = min(nscale-1, a[0]); b[0] = min(sigsize-1, b[0]); a[0] = max(0, a[0]); b[0] = max(0, b[0]); k = b[0] + a[0] * sigsize; /* By Wen 6/5/97 */ if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; /* beemap[k] = beemap[k] +1;*/ /* Iterations */ for(i =1; i < iteration; i++) { r = (double)ran1(&idum); if (r >= 0.5) b[i] = min(sigsize-1,b[i-1]+bstep); else b[i] = max(0,b[i-1]-bstep); r = (double)ran1(&idum); if (r >= 0.5) a[i] = min(nscale-1,a[i-1]+1); else a[i] = max(0,a[i-1]-1); k1 = b[i] + sigsize * a[i]; k2 = b[i] + sigsize * a[i-1]; dd = smodulus[k1] - smodulus[k2]; /* dd = smodulus[k1] - smodulus[k2] - noise[a[i]] + noise[a[i-1]]; */ if (dd<0) { r = (double)ran1(&idum); ee = exp(dd * log((double)(3.0 + i))/c); if((*flag)==1) ee=exp(dd * log((double)(3.0))/c); /* constant temperature */ if (r>ee) a[i] = a[i-1]; } /* Chaining of the ridges */ if(chain) { count = 1; /* The real move By Wen 6/7/97 */ tstep = b[i] - b[i-1]; if(tstep < 0) tstep = -tstep; while(count < tstep) { /* while(count < bstep) { By Wen 6/7/97 */ if(b[i] - b[i-1] > 0) { k1 = b[i-1] + count + sigsize * a[i]; k2 = b[i-1] + count + sigsize * a[i-1]; /* if(smodulus[k1] - noise[a[i]] > smodulus[k2] - noise[a[i-1]]){ */ if(smodulus[k1] > smodulus[k2]){ k = k1; s = a[i]; } else { k = k2; s = a[i-1]; } } if(b[i] - b[i-1] < 0) { k1 = b[i-1] - count + sigsize * a[i]; k2 = b[i-1] - count + sigsize * a[i-1]; /* if(smodulus[k1] - noise[a[i]] > smodulus[k2] - noise[a[i-1]]) { */ if(smodulus[k1] > smodulus[k2]) { k = k1; s = a[i]; } else { k = k2; s = a[i-1]; } } /* update of the ridges */ if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; count ++; } } k = b[i] + a[i] * sigsize; if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; } } } Rwave/src/gkernel.c0000644000176200001440000001732613230444130013723 0ustar liggesusers#include #include "Swave.h" /*************************************************************** * $log: gkernel.c,v $ * **************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #include "rwkernel.h" /********************************************************* * Function: ghermite_sym * --------- * Complete a matrix by symmetry * * ker: matrix to be filled in. * lng: number of rows (and columns) of the matrix. **********************************************************/ void ghermite_sym(double *ker,int lng) { int i,j; for (i=0;ii;j--){ ker[i*lng +j] = ker[j*lng +i]; } } return; } /****************************************************************** * Function: gintegrand * --------- * Evaluates the integrand for Romberg integration. * (case of the Gabor transform) * * b: center position of wavelets and derivatives. * x,y: Integration variables. * nodes, phi_nodes: position and scale of the nodes of the ridge. * nb_nodes: number of nodes of the ridge. *******************************************************************/ double gintegrand(double b,int x,int y,double *p2,double *nodes, double *phi_nodes,int nb_nodes,double scale) { double xpos,ypos,tmp,tmp2, phi_b,phip_b, u; double g_x,g_y,gprime_x,gprime_y; double integ=0; /* Spline interpolation of the ridge; computation of its derivative ---------------------------------------------------------------*/ splint2(nodes,phi_nodes,p2,nb_nodes,b,&phi_b,&phip_b); /* Evaluation of the integrand --------------------------*/ xpos = (x-b); g_x = gfunc(xpos,scale); gprime_x = gprime(xpos,scale); ypos = (y-b); g_y = gfunc(ypos,scale); gprime_y = gprime(ypos,scale); u = phi_b*(x-y); /* First part */ tmp= (phip_b*phip_b*xpos*ypos - phi_b*phip_b*(xpos+ypos)); tmp *= g_x*g_y; integ = tmp; tmp=gprime_x*gprime_y; integ += tmp; integ *= cos(u); /* Second part */ tmp2 = phip_b*xpos -phi_b; tmp2 *= (gprime_y*g_x); tmp = phip_b*ypos -phi_b; tmp *= (gprime_x*g_y); tmp2 -= tmp; tmp2 *= sin(u); integ += tmp2; return integ; } /*********************************************************** * Function: gkernel * --------- * Computation of the kernel * * ker_r, ker_i: real and imaginary parts of the kernel. * x_min, x_max: limiting values for the integration. * x_inc: distance between 2 consecutive x,y values. * nodes, phi_nodes: position and scale of the samples * of the ridge. * nb_nodes: number of nodes of the sampled ridge. * b_start, b_end: integration bounds. ************************************************************/ void gkernel(double *ker, int *px_min,int *px_max, int *px_inc, int *plng, double *nodes,double *phi_nodes, int *pnb_nodes,double *pscale,double *pb_start,double *pb_end) { double *p2, b_start=*pb_start, b_end=*pb_end, scale=*pscale; double phimax, b_lo,b_hi; int x,y; int x_min=*px_min,x_max=*px_max,x_inc=*px_inc,lng=*plng,nb_nodes=*pnb_nodes; int i=0,up_bound,gamma_min,lng2; double *p_tmp; /* printf("xmin=%d, xmax=%d\n",x_min,x_max); */ p2 = (double *)S_alloc(nb_nodes,sizeof(double)); p_tmp=ker; /* mark the first element of ker */ phimax = scale; up_bound = (int)(phimax * sqrt(-2.0 * log(EPS))+1); lng2=lng*lng; /* Compute second derivative of the ridge for spline interpolation ---------------------------------------------------------------*/ spline(nodes-1,phi_nodes-1,nb_nodes,(double)0,(double)0,p2-1); /* printf("spline done\n"); */ /* Integrate --------*/ for(x=x_min;x<=x_max;x+=x_inc){ /* fprintf(stderr,"x = %d; ", x); fflush(stderr); */ /* Evaluate the range of computation of the kernel */ gamma_min = MAX(x_min,(x-2*up_bound) -(x-x_min-2*up_bound)%x_inc); ker += (gamma_min-x_min)/x_inc; i = (gamma_min-x_min)/x_inc; for(y = gamma_min; y <= x; y+=x_inc){ /* Estimation of integration bounds */ b_lo = MAX(MAX(x-2*up_bound,y-2*up_bound),b_start); b_hi = MIN(MIN(x+2*up_bound,y+2*up_bound),b_end); /* Evaluation of the kernel */ *ker = gqrombmod(x,y,p2-1,nodes,phi_nodes,nb_nodes,scale,b_lo,b_hi); ker++; i++; } ker -= (i - lng) ; } ker = p_tmp; /* Finish to fill in the kernel by Hermite symmetry ------------------------------------------------ */ ghermite_sym(ker,lng); } /*********************************************************** * Function: fastgkernel * --------- * Computation of the kernel (Gabor case); * the integral is approximated by a Riemann sum * * ker_r, ker_i: real and imaginary parts of the kernel. * x_min, x_max: limiting values for the integration. * x_inc: distance between 2 consecutive x,y values. * nodes, phi_nodes: position and scale of the samples * of the ridge. * nb_nodes: number of nodes of the sampled ridge. * b_start, b_end: integration bounds. ************************************************************/ void fastgkernel(double *ker, int *px_min,int *px_max, int *px_inc, int *plng, double *nodes,double *phi_nodes, int *pnb_nodes,double *pscale,double *pb_start,double *pb_end) { double *p2, b_start=*pb_start, b_end=*pb_end, scale=*pscale; double phimax, b_lo,b_hi; int x,y,b; int x_min=*px_min,x_max=*px_max,x_inc=*px_inc,lng=*plng,nb_nodes=*pnb_nodes; int i=0,up_bound,gamma_min,lng2; double *p_tmp; p2 = (double *)S_alloc(nb_nodes,sizeof(double)); p_tmp=ker; /* mark the first element of ker */ phimax = scale; up_bound = (int)(phimax * sqrt(-2.0 * log(EPS))+1); lng2=lng*lng; /* Compute second derivative of the ridge for spline interpolation ---------------------------------------------------------------*/ spline(nodes-1,phi_nodes-1,nb_nodes,(double)0,(double)0,p2-1); /* Integrate --------*/ for(x=x_min;x<=x_max;x+=x_inc){ /* fprintf(stderr,"x = %d; ", x); fflush(stderr); */ /* Evaluate the range of computation of the kernel */ gamma_min = MAX(x_min,(x-2*up_bound) -(x-x_min-2*up_bound)%x_inc); /* fprintf(stderr,"gamma_min = %d; \n ", gamma_min); fflush(stderr); */ ker += (gamma_min-x_min)/x_inc; i = (gamma_min-x_min)/x_inc; for(y = gamma_min; y <= x; y+=x_inc){ /* Estimation of integration bounds */ b_lo = MAX(MAX(x-2*up_bound,y-2*up_bound),b_start); b_hi = MIN(MIN(x+2*up_bound,y+2*up_bound),b_end); /* Evaluation of the kernel */ for(b = (int)b_lo; b<= (int)b_hi;b++){ *ker += gintegrand(b,x,y,p2-1,nodes,phi_nodes,nb_nodes,scale); /* to be checked */ } ker++; i++; } ker -= (i - lng) ; } ker = p_tmp; /* Finish to fill in the kernel by Hermite symmetry -----------------------------------------------*/ ghermite_sym(ker,lng); } /********************************************************* * Computation of the gabor window **********************************************************/ double gfunc(double x, double scale) { double u,v; v = x/scale; u=exp(-v*v/(double)2)/scale; return u; } /********************************************************* * Computation of the window derivative **********************************************************/ double gprime(double x,double scale) { double u, v; v = x/scale; u= - v*exp(-v*v/(double)2.)/scale/scale; return u; } Rwave/src/icm.c0000644000176200001440000001374513230444130013045 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /**************************************************************** * Function: Sridge_newicm: * -------------------------- * Ridge characterization with Besag's ICM algorithm * * smodulus: smoothed modulus of the wavelet transform * cost: cost function * phi: ridge * lambda: coefficient in front of phi' in the cost function * mu: coefficient in front of phi'' in the cost function * sigsize: signal size * nscale: total number of scales for CWT * iteration: maximal number of iterations for the annealing * stagnant: allowed number of consecutive steps without * move (stopping criterion) * count: number of iterations * sub: subsampling rate for ridge extraction * smodsize: the size of sub-sampled signal * ****************************************************************/ void Sridge_icm(double *cost, double *smodulus, double *phi, double *plambda, double *pmu, int *psigsize, int *pnscale, int *piteration,int *pcount, int *psub, int *psmodsize) { int i,sigsize,iteration,up, best_up,pos,a,count,sub; int smodsize, tbox=0, ttbox=1000; int nscale; double lambda, mu; double *phi2; double cost1; double tmp=0.0, best_tmp; /* Generalities; initializations -----------------------------*/ mu = *pmu; nscale = *pnscale; iteration = *piteration; lambda = *plambda; sigsize = *psigsize; sub = *psub; smodsize = *psmodsize; if(!(phi2 = (double *)S_alloc((smodsize+1)*sub,sizeof(double)))) Rf_error("Memory allocation failed for phi2 at icm.c \n"); count = 0; /* total count */ cost1 = 0; for(i=0;i 1)&&(count < iteration)) { /* Initialize the cost function ----------------------------*/ tbox = 0; if(count == 0) { for(i = 1; i < smodsize-1; i++) { tmp = (double)((phi[i-1]+ phi[i+1]-2 * phi[i])); cost1 += (double)((lambda * tmp * tmp)); tmp = (double)((phi[i] - phi[i+1])); cost1 += (double)((mu * tmp * tmp)); a = (int)phi[i]; tmp = smodulus[smodsize * a + i]; /* cost1 -= (tmp * tmp - noise[a]); */ cost1 -= tmp; } tmp = (double)((phi[0] - phi[1])); cost1 += (double) ((mu * tmp * tmp)); a = (int)phi[0]; tmp = smodulus[smodsize * a]; /* cost1 -= (tmp * tmp - noise[a]); */ cost1 -= tmp; a = (int)phi[smodsize-1]; tmp = smodulus[smodsize * a + smodsize-1]; /* cost1 -= (tmp * tmp - noise[a]); */ cost1 -= tmp; } /* Generate moves --------------*/ for(pos=0; pos < smodsize; pos++){ best_tmp = (double)0.0; best_up = 0; for(up = -(int)phi[pos]; up < nscale- (int)phi[pos]; up++){ /* Compute corresponding update of the cost function -------------------------------------------------*/ if(inrange(2,pos,smodsize-3)) { tmp = (double)(lambda*up); tmp *=(double)((6*up+(12*phi[pos] -8*(phi[pos-1]+phi[pos+1]) +2*(phi[pos-2]+phi[pos+2])))); tmp += (double)(mu*up*(4.0*phi[pos] -2.0*(phi[pos-1]+phi[pos+1])+2.0*up)); a = (int)phi[pos]; /* tmp += (smodulus[smodsize*a+pos] *smodulus[smodsize*a+pos]); tmp -= noise[a]; */ tmp += smodulus[smodsize*a+pos]; a = (int)phi[pos] + up; /* tmp -= (smodulus[smodsize*a+pos] *smodulus[smodsize*a+pos]); tmp += noise[a]; */ tmp -= smodulus[smodsize*a+pos]; } if(inrange(2,pos,smodsize-3) == NO) { tmp = (double)(lambda*up); if(pos == 0) { tmp *= (double)((up+2.0*(phi[0] -2*phi[1]+phi[2]))); tmp += (double)(mu*up*((2.0*phi[pos] -2.0*phi[pos+1])+up)); } else if(pos == 1) { tmp *=(double)((5*up+2.0*(-2*phi[0]+5*phi[1] -4*phi[2]+phi[3]))); tmp += (double)(mu*up*(4.0*phi[pos] -2.0*(phi[pos-1]+phi[pos+1]-up))); } else if(pos == (smodsize-2)) { tmp *= (double)((5*up+2.0*(phi[pos-2]-4*phi[pos-1] +5*phi[pos]-2*phi[pos+1]))); tmp += (double)(mu*up*(4.0*phi[pos]-2.0*(phi[pos-1] +phi[pos+1])+2.0*up)); } else if(pos == (smodsize-1)) { tmp *= (double)((up+2.0*(phi[pos-2] -2*phi[pos-1]+phi[pos]))); tmp += (double)(mu*up*((2.0*phi[pos] -2.0*phi[pos-1])+up)); } a = (int)phi[pos]; /* tmp +=(smodulus[smodsize*a+pos]*smodulus[smodsize*a+pos]); tmp -= noise[a]; */ tmp +=smodulus[smodsize*a+pos]; a = (int)phi[pos] + up; /* tmp -=(smodulus[smodsize*a+pos]*smodulus[smodsize*a+pos]); tmp += noise[a]; */ tmp -=smodulus[smodsize*a+pos]; } /* Compare with other moves ------------------------*/ if(tmp < best_tmp) { best_tmp = tmp; best_up = up; } } /* Best move ---------*/ if (best_up != 0) { cost1 += best_tmp; phi[pos] += (double)best_up; tbox++; } } ttbox = tbox; cost[count++] = cost1; } /* Interpolate from subsampled ridge --------------------------------*/ if (sub != 1){ splridge(sub, phi, smodsize, phi2); for(i=0;i #include "Swave.h" #include "rwkernel.h" #define NRANSI /*************************************************************** * $Log: spline.c,v $ * **************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ void spline(double x[], double y[], int n, double yp1, double ypn, double y2[]) { int i,k; double p,qn,sig,un,*u; u=(double *)S_alloc(n,sizeof(double))-1; if (yp1 > 0.99e30) y2[1]=u[1]=0.0; else { y2[1] = -0.5; u[1]=(3.0/(x[2]-x[1]))*((y[2]-y[1])/(x[2]-x[1])-yp1); } for (i=2;i<=n-1;i++) { sig=(x[i]-x[i-1])/(x[i+1]-x[i-1]); p=sig*y2[i-1]+2.0; y2[i]=(sig-1.0)/p; u[i]=(y[i+1]-y[i])/(x[i+1]-x[i]) - (y[i]-y[i-1])/(x[i]-x[i-1]); u[i]=(6.0*u[i]/(x[i+1]-x[i-1])-sig*u[i-1])/p; } if (ypn > 0.99e30) qn=un=0.0; else { qn=0.5; un=(3.0/(x[n]-x[n-1]))*(ypn-(y[n]-y[n-1])/(x[n]-x[n-1])); } y2[n]=(un-qn*u[n-1])/(qn*y2[n-1]+1.0); for (k=n-1;k>=1;k--) y2[k]=y2[k]*y2[k+1]+u[k]; } #undef NRANSI Rwave/src/util.c0000644000176200001440000000144713230444130013246 0ustar liggesusers#include #include /**************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ int find2power(n) int n; { long m, m2; m = 0; m2 = 1< #include /* #include "wavelet.h" */ #include "dau_wave.h" #include "pvalue.h" #include "dyadic.h" #include "Swave.h" /****************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, A. Wang * * Princeton University * * All right reserved * ******************************************************************/ /****************************************************************************/ #define HISTO_SIZE 500 /****************************************************************************/ double *a, **c; int NW, *twoto; /****************************************************************************/ /* COMPUTE WAVELET COEFFICIENT RANGE FOR ALL RESOLUTIONS */ /****************************************************************************/ void compute_d_phi_range_for_all_resoln( d_phi_range, max_resoln, np ) bound **d_phi_range; int max_resoln, np; { int j; *d_phi_range = (bound *) R_alloc( (max_resoln+1) , sizeof(bound) ); for ( j = 0; j <= max_resoln; j++ ) { (*d_phi_range)[j].lb = (int) ceil((1 - 1.0 / twoto[j]) * (1 - 2*NW)); (*d_phi_range)[j].ub = (int) ((np -1) / twoto[j]); (*d_phi_range)[j].size = (*d_phi_range)[j].ub - (*d_phi_range)[j].lb +1; } } /****************************************************************************/ /* COMPUTE WAVELET COEFFICIENT RANGE FOR ALL RESOLUTIONS */ /****************************************************************************/ void compute_d_psi_range_for_all_resoln( d_psi_range, d_phi_range, max_resoln, np ) bound **d_psi_range; bound *d_phi_range; int max_resoln; int np; { int j; *d_psi_range = (bound *) R_alloc( (max_resoln+1) , sizeof(bound) ); for ( j = 1; j <= max_resoln; j++ ) { (*d_psi_range)[j].lb = (int) ceil( (double) ((d_phi_range[j-1].lb -1) / 2) ); (*d_psi_range)[j].ub = (int) ( d_phi_range[j-1].ub / 2 + NW -1 ); (*d_psi_range)[j].size = (*d_psi_range)[j].ub - (*d_psi_range)[j].lb +1; } } /****************************************************************************/ /* COMPUTE PHI COEFFICIENTS FOR ALL RESOLUTIONS */ /****************************************************************************/ void compute_d_phi_for_all_resoln( d_phi, d_phi_range, s, max_resoln ) double **d_phi; bound *d_phi_range; double *s; int max_resoln; { int j, k, n_min, n_max, n; double sum; for ( j = 0; j <= max_resoln; j++ ) { d_phi[j] = (double *) R_alloc( d_phi_range[j].size , sizeof(double) ); if ( j == 0 ) for ( k = d_phi_range[j].lb; k <= d_phi_range[j].ub; k++ ) d_phi[j][k] = s[k]; else for ( k = d_phi_range[j].lb; k <= d_phi_range[j].ub; k++ ) { n_min = max( d_phi_range[j-1].lb, 2*k ); n_max = min( d_phi_range[j-1].ub, 2*k+2*NW-1 ); sum = 0.0; for ( n = n_min; n <= n_max; n++ ) sum += c[NW][n - 2*k] * d_phi[j-1][n - d_phi_range[j-1].lb]; d_phi[j][k - d_phi_range[j].lb] = (double) sum; } } } /****************************************************************************/ /* COMPUTE PSI COEFFICIENTS FOR ALL RESOLUTIONS */ /****************************************************************************/ void compute_d_psi_for_all_resoln( d_psi, d_psi_range, d_phi, d_phi_range, max_resoln ) double **d_psi; bound *d_psi_range; double **d_phi; bound *d_phi_range; int max_resoln; { int j, k, n_min, n_max, n; double sum; for ( j = 1; j <= max_resoln; j++ ) { d_psi[j] = (double *) R_alloc( d_psi_range[j].size , sizeof( double ) ); for ( k = d_psi_range[j].lb; k <= d_psi_range[j].ub; k++ ) { n_min = max( d_phi_range[j-1].lb, 2*(k-NW+1) ); n_max = min( d_phi_range[j-1].ub, 2*k+1 ); sum = 0.0; for ( n = n_min; n <= n_max; n++ ) sum += minus1to(n) * c[NW][2*k+1-n] * d_phi[j-1][n - d_phi_range[j-1].lb]; d_psi[j][k - d_psi_range[j].lb] = (double) sum; } } } /****************************************************************************/ /* PHI RECONSTRUCTION */ /****************************************************************************/ void phi_reconstruction( phi, d_phi, phi_array, d_phi_range, max_resoln, np ) double *phi, **d_phi, *phi_array; bound *d_phi_range; int max_resoln, np; { int j, t, k_min, k_max, k; double sum, two_to_j, two_to_j_half, two_to_j_times_t; for ( j = 0; j <= max_resoln; j++ ) { two_to_j = 1.0 / (double)pow( 2.0, (double) j ); /* j = -m */ two_to_j_half = 1.0 / (double)pow( 2.0, ((double)j)/2 ); for( t = 0; t < np; t++ ) { two_to_j_times_t = two_to_j * t; k_min = max((int) ceil((double)(two_to_j_times_t - 2*NW +1)), d_phi_range[j].lb); k_max = (int) floor( (double) two_to_j_times_t ); /* NOTE: k_max <= d_phi_range[j].ub */ sum = 0.0; for ( k = k_min; k <= k_max; k++ ) sum += d_phi[j][k - d_phi_range[j].lb] * phi_array[(int) ((two_to_j_times_t - k) * twoto[max_resoln])]; phi[j*np+t] = two_to_j_half * sum; } } } /****************************************************************************/ /* PSI RECONSTRUCTION */ /****************************************************************************/ void psi_reconstruction( psi, d_psi, psi_array, d_psi_range, max_resoln, np ) double *psi, **d_psi, *psi_array; bound *d_psi_range; int max_resoln, np; { int j, t, k_min, k_max, k; double sum, two_to_j, two_to_j_half, two_to_j_times_t; for ( j = 1; j <= max_resoln; j++ ) { two_to_j = 1.0 / (double) pow( 2.0, (double) j ); /* j = -m */ two_to_j_half = 1.0 / (double) pow( 2.0, ((double) j)/2 ); for( t = 0; t < np; t++ ) { two_to_j_times_t = two_to_j * t; k_min = max( (int) ceil( (double)(two_to_j_times_t - NW +1) ), d_psi_range[j].lb ); k_max = min( (int) floor((double)(two_to_j_times_t + NW) ), d_psi_range[j].ub ); sum = 0.0; for ( k = k_min; k <= k_max; k++ ) sum += d_psi[j][k - d_psi_range[j].lb] * psi_array[(int) ((two_to_j_times_t - k + NW) * twoto[max_resoln])]; psi[(j-1)*np+t] = two_to_j_half * sum; } } } /****************************************************************************/ /* daubechies_reconst, called by Splus */ /****************************************************************************/ void daubechies_wt( phi, psi, s, NW_ptr, maxresoln_ptr, np_ptr ) double *phi; /* (maxresoln+1) by np, where np is a power of 2 */ double *psi; /* maxresoln by np, where np is a power of 2 */ double *s; int *NW_ptr; int *maxresoln_ptr; int *np_ptr; { int max_resoln = *maxresoln_ptr; int np = *np_ptr; int num_of_resoln = max_resoln + 1; bound *d_phi_range, *d_psi_range; double **d_phi, **d_psi, *phi_array, *psi_array; NW = *NW_ptr; open_read(); compute_a(); init_twoto( max_resoln ); d_psi_range = (bound *) R_alloc( num_of_resoln , sizeof(bound) ); d_phi = (double **) R_alloc( num_of_resoln , sizeof(double *) ); d_psi = (double **) R_alloc( num_of_resoln , sizeof(double *) ); init_phi_array( &phi_array, max_resoln ); init_psi_array( &psi_array, max_resoln ); compute_d_phi_range_for_all_resoln( &d_phi_range, max_resoln, np ); compute_d_psi_range_for_all_resoln( &d_psi_range, d_phi_range, max_resoln, np ); compute_d_phi_for_all_resoln( d_phi, d_phi_range, s, max_resoln ); compute_d_psi_for_all_resoln( d_psi, d_psi_range, d_phi, d_phi_range, max_resoln ); phi_reconstruction( phi, d_phi, phi_array, d_phi_range, max_resoln, np ); psi_reconstruction( psi, d_psi, psi_array, d_psi_range, max_resoln, np ); } /****************************************************************************/ /* */ /* Discrete Daubechies Wavelet Transform */ /* */ /****************************************************************************/ /****************************************************************************/ /* Compute dH filter */ /****************************************************************************/ void compute_dH_bound( dH_bound, max_resoln ) bound **dH_bound; int max_resoln; { int j; int temp = 2*NW-1; *dH_bound = (bound *) R_alloc( max_resoln , sizeof(bound) ); for ( j = 0; j < max_resoln; j++ ) { (*dH_bound)[j].lb = 0; (*dH_bound)[j].ub = twoto[j]*temp; (*dH_bound)[j].size = (*dH_bound)[j].ub - (*dH_bound)[j].lb + 1; } /* for ( j = 0; j < max_resoln; j++ ) printf("dH_bound[%d] = [%d, %d]\n", j, (*dH_bound)[j].lb, (*dH_bound)[j].ub ); printf("\n"); */ } /****************************************************************************/ /* Compute dG filter */ /****************************************************************************/ void compute_dG_bound( dG_bound, max_resoln ) bound **dG_bound; int max_resoln; { int j; int temp = 2 - 2*NW; *dG_bound = (bound *) R_alloc( max_resoln , sizeof(bound) ); for ( j = 0; j < max_resoln; j++ ) { (*dG_bound)[j].lb = twoto[j] * temp; (*dG_bound)[j].ub = twoto[j]; (*dG_bound)[j].size = (*dG_bound)[j].ub - (*dG_bound)[j].lb + 1; } /* for ( j = 0; j < max_resoln; j++ ) printf("dG_bound[%d] = [%d, %d]\n", j, (*dG_bound)[j].lb, (*dG_bound)[j].ub ); printf("\n"); */ } /****************************************************************************/ /* Compute dH filter for each resolution */ /****************************************************************************/ void compute_dH( dH, dH_bound, max_resoln ) double ***dH; bound *dH_bound; int max_resoln; { int j, i; *dH = (double **) R_alloc( max_resoln , sizeof(double *) ); for ( j = 0; j < max_resoln; j++ ) { (*dH)[j] = (double *) R_alloc( dH_bound[j].size , sizeof(double) ); if ( j == 0 ) { for ( i = 0; i < dH_bound[j].size; i++ ) (*dH)[j][i] = c[NW][i]; } else { for ( i = 0; i < dH_bound[j].size; i++ ) /* insert zeros */ (*dH)[j][i] = (i % 2) == 0 ? (*dH)[j-1][i/2] : 0.0; } } /* for ( j = 0; j < max_resoln; j++ ) { for ( i = 0; i < dH_bound[j].size; i++ ) printf("%f\n", (*dH)[j][i] ); printf("\n"); } */ } /****************************************************************************/ /* Compute dG filter for each resolution */ /****************************************************************************/ void compute_dG( dG, dG_bound, max_resoln ) double ***dG; bound *dG_bound; int max_resoln; { int j, i, n; *dG = (double **) R_alloc( max_resoln , sizeof(double *) ); for ( j = 0; j < max_resoln; j++ ) { (*dG)[j] = (double *) R_alloc( dG_bound[j].size , sizeof(double) ); if ( j == 0 ) { for ( i = 0, n = 2-2*NW; i < dG_bound[j].size; i++, n++ ) (*dG)[j][i] = minus1to(n) * c[NW][-n+1]; } else { for ( i = 0; i < dG_bound[j].size; i++ ) /* insert zeros */ (*dG)[j][i] = (i % 2) == 0 ? (*dG)[j-1][i/2] : 0.0; } } /* for ( j = 0; j < max_resoln; j++ ) { for ( i = 0; i < dG_bound[j].size; i++ ) printf("%f\n", (*dG)[j][i] ); printf("\n"); } */ } /****************************************************************************/ /* COMPUTE DDWAVE (Discrete Daubechies wavelet) */ /****************************************************************************/ void compute_ddwave( phi, psi, s, max_resoln_ptr, np_ptr, NW_ptr ) double *phi; double *psi; double *s; int *max_resoln_ptr; int *np_ptr; int *NW_ptr; { int max_resoln = *max_resoln_ptr; int np = *np_ptr; bound *dH_bound, *dG_bound; double **dH, **dG; /* double *sym = (double *) R_alloc( 2*np , sizeof(double) ); */ int j, n, k, t; double sum; NW = *NW_ptr; open_read(); init_twoto( max_resoln ); compute_dH_bound( &dH_bound, max_resoln ); compute_dG_bound( &dG_bound, max_resoln ); compute_dH( &dH, dH_bound, max_resoln ); compute_dG( &dG, dG_bound, max_resoln ); for ( j = 0; j <= max_resoln; j++ ) { if ( j == 0 ) for ( n = 0; n < np; n++ ) phi[n] = s[n]; else { t = (j-1)*np; for ( n = 0; n < np; n++ ) { for ( k = dH_bound[j-1].lb, sum = 0.0; k <= dH_bound[j-1].ub; k++ ) sum += dH[j-1][k] * phi[t+(n-k+np)%np]; phi[j*np+n] = sum; } } } for ( j = 1; j <= max_resoln; j++ ) { t = (j-1)*np; for ( n = 0; n < np; n++ ) { for ( k = dG_bound[j-1].lb, sum = 0.0; k <= dG_bound[j-1].ub; k++ ) sum += dG[j-1][k-dG_bound[j-1].lb] * phi[t+(n-k+np)%np]; psi[t+n] = sum; } } } Rwave/src/cwt_thierry.c0000644000176200001440000001620613230444130014633 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #include "Swave.h" #include "denoise.h" /*************************************************************** * Function: thierry_frequency: * --------- * Generates a Thierry Paul wavelet in the frequency domain. * The wavelet is centered at the origin, and normalized so * that psi(0) =1/sqrt(2 pi) * * w: wavelet * scale: scale of the wavelet * isize: window size * M: number of vanishing moments ***************************************************************/ void thierry_frequency(int M,double scale,double *w,int isize) { double tmp; int i; for(i = 0; i < isize; i++) { tmp = (double)(scale * (double)i * (double)M/(double)isize); *w = exp(-tmp) * pow(tmp,(double)M); w++; } return; } /***************************************************************** * function: Scwt_thierry_r * Continuous wavelet transform : * * input: (real-valued) input signal * Ri1, Ii1: Fourier transform of input signal (real and * imaginary parts). * Ri2: Real part of Fourier transform of Morlet wavelet * Oreal,Oimage: real and imaginary parts of CWT * pinputsize: signal size * pnboctave: number of scales (powers of 2) * pnvoice: number of scales between 2 consecutive powers of 2 * pcenterfrequency: centralfrequency of Morlet wavelet ******************************************************************/ void Scwt_thierry_r(double *input, double *Oreal, double *Oimage, int *pnboctave, int *pnbvoice, int *pinputsize, int *pM) { int nboctave, nbvoice, i, j, inputsize, M; double a; double *Ri2, *Ri1, *Ii1, *Ii, *Ri; M= *pM; nboctave = *pnboctave; nbvoice = *pnbvoice; inputsize = *pinputsize; if(!(Ri2 = (double *) R_alloc(inputsize, sizeof(double)))) Rf_error("Memory allocation failed for Ri2 in cwt_morlet.c \n"); if(!(Ri1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri1 in cwt_morlet.c \n"); if(!(Ii1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii1 in cwt_morlet.c \n"); if(!(Ri = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri in cwt_morlet.c \n"); if(!(Ii = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii in cwt_morlet.c \n"); for(i = 0; i < inputsize; i++) { Ri[i] = (double)input[i]; Ii[i] = 0.0; } double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); for(i = 1; i <= nboctave; i++) { for(j=0; j < nbvoice; j++) { a = (double)(pow((double)2,(double)(i+j/((double)nbvoice)))); thierry_frequency(M,a,Ri2,inputsize); multi(Ri1,Ii1,Ri2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,1); Oreal = Oreal + inputsize; Oimage = Oimage + inputsize; } } } /***************************************************************** * function: Scwt_thierry * Continuous wavelet transform : * * input: (a priori complex-valued) input signal * Ri1, Ii1: Fourier transform of input signal (real and * imaginary parts). * Ri2: Real part of Fourier transform of Morlet wavelet * Oreal,Oimage: real and imaginary parts of CWT * pinputsize: signal size * pnboctave: number of scales (powers of 2) * pnvoice: number of scales between 2 consecutive powers of 2 * pM: number of vanishing moments ******************************************************************/ void Scwt_thierry(double *Rinput,double *Iinput,double *Oreal, double *Oimage,int *pnboctave,int *pnbvoice, int *pinputsize,int *pM) { int nboctave, nbvoice, i, j, inputsize, M; double a; double *Ri2, *Ri1, *Ii1, *Ii, *Ri; M = *pM; nboctave = *pnboctave; nbvoice = *pnbvoice; inputsize = *pinputsize; /********* edit by xian, Mon 14 Dec 2009 09:19:33 PM MST ****** Changing from malloc(sizeof(double) * inputsize) to R_alloc() ******************** edit by xian *****/ if(!(Ri2 = (double *) R_alloc((size_t) inputsize, sizeof(double)) )) Rf_error("Memory allocation failed for Ri2 in cwt_thierry.c \n"); if(!(Ri1 = (double *) R_alloc((size_t) inputsize, sizeof(double)) )) Rf_error("Memory allocation failed for Ri1 in cwt_thierry.c \n"); if(!(Ii1 = (double *) R_alloc((size_t) inputsize, sizeof(double)) )) Rf_error("Memory allocation failed for Ii1 in cwt_thierry.c \n"); if(!(Ri = (double *) R_alloc((size_t) inputsize, sizeof(double)) )) Rf_error("Memory allocation failed for Ri in cwt_thierry.c \n"); if(!(Ii = (double *) R_alloc((size_t) inputsize, sizeof(double)) )) Rf_error("Memory allocation failed for Ii in cwt_thierry.c \n"); for(i = 0; i < inputsize; i++) { Ri[i] = (double)Rinput[i]; Ii[i] = (double)Iinput[i]; } double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); for(i = 1; i <= nboctave; i++) { for(j=0; j < nbvoice; j++) { a = (double)(pow((double)2,(double)(i+j/((double)nbvoice)))); thierry_frequency(M,a,Ri2,inputsize); multi(Ri1,Ii1,Ri2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,1); Oreal = Oreal + inputsize; Oimage = Oimage + inputsize; } } } /*************************************************************** * Function: Svwt_thierry: * --------- * Computes the continuous wavelet transform of input * signal with Morlet wavelet, a fixed scale a * * Rinput, Iinput: real and imaginary parts of the signal * Oreal, Oimage: real and imaginary parts of the cwt. ***************************************************************/ void Svwt_thierry(double *Rinput,double *Iinput,double *Oreal, double *Oimage,double *pa,int *pinputsize, int *pM) { int i, inputsize, M; double a; double *Ri2, *Ri1, *Ii1, *Ii, *Ri; M = *pM; a = *pa; inputsize = *pinputsize; if(!(Ri2 = (double *) R_alloc((size_t) inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri2 in cwt_morlet.c \n"); if(!(Ri1 = (double *) R_alloc((size_t) inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri1 in cwt_morlet.c \n"); if(!(Ii1 = (double *) R_alloc((size_t) inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii1 in cwt_morlet.c \n"); if(!(Ri = (double *) R_alloc((size_t) inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri in cwt_morlet.c \n"); if(!(Ii = (double *) R_alloc((size_t) inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii in cwt_morlet.c \n"); for(i = 0; i < inputsize; i++) { Ri[i] = (double)Rinput[i]; Ii[i] = (double)Iinput[i]; } double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); thierry_frequency(M,a,Ri2,inputsize); multi(Ri1,Ii1,Ri2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,2); } Rwave/src/cwt_maxima.c0000644000176200001440000000465713230444130014430 0ustar liggesusers#include /*************************************************************** * $Log: cwt_maxima.c,v $ * **************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #define MAX(x,y) ((x)>(y) ? (x) : (y)) #include "Swave.h" #include "denoise.h" /**************************************************************** * function Scwt_gmax * compute the global maximum of cwt for fixed position * * input: cwt * output: cwt global maxima at fixed b * nrow,ncol: parameters of the cwt *****************************************************************/ void Scwt_gmax(input, output, pnrow, pncol, posvector) double *input, *output; int *pnrow, *pncol, *posvector; { int nrow, ncol, i, j; int pos; double tmp; nrow = *pnrow; ncol = *pncol; for(i = 0; i < nrow; i++) { tmp = -99999999.0; pos = -1; for(j = 0; j < ncol; j++) { tmp = MAX(tmp, input[j * nrow + i]); if(tmp == input[j * nrow + i]) pos = j; } posvector[i] = pos; output[pos * nrow + i] = tmp; } } /**************************************************************** * function Scwt_mridge * compute the local maxima of cwt for fixed position * * input: cwt * output: cwt global maxima at fixed b * nrow,ncol: parameters of the cwt *****************************************************************/ void Scwt_mridge(input, output, pnrow, pncol) double *input, *output; int *pnrow, *pncol; { int nrow, ncol, i, j; nrow = *pnrow; ncol = *pncol; for(i = 0; i < nrow; i++) { if(input[i] > input[nrow + i]) output[i] = input[i]; if(input[(ncol-1) * nrow + i] > input[(ncol-2) * nrow + 1]) output[(ncol-1) * nrow + i] = input[(ncol-1) * nrow + i]; for(j = 1; j < ncol-1; j++) { if(((input[j * nrow + i] > input[(j+1) * nrow + i]) && (input[j * nrow + i] >= input[(j-1) * nrow + i])) || ((input[j * nrow + i] > input[(j-1) * nrow + i]) && (input[j * nrow + i] >= input[(j+1) * nrow + i]))) output[j * nrow + i] = input[j * nrow + i]; } } } Rwave/src/pca_climbers.c0000644000176200001440000004040113230444130014705 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /**************************************************************** * Function: Spointmap: * -------------------- * Road map designed using principle component analysis * * smodulus: squared-modulus of the wavelet transform * (coming from learning the noise) * sigsize: signal size * nscale: total number of scales for CWT * gridx : the window size for pca along x * gridy : the window size for pac along y * nbblock: number of window used by pca * nbpoint: number of sampler each window by pca * pointmap: map of sampling points * tst: the first 4 locations containing the coordinates of left * and right corner, followed with a sequence of the coor- * dinates of sampled points in each block. * tstsize: equal to 4 + 2 * number of sampled point each pca block * count: the maximal number of repetition if location is chosen in * a block * seed: seed for random number generator ****************************************************************/ void Spointmap(double *sqmodulus, int *psigsize, int *pnscale, int *pgridx, int *pgridy, int *pnbblock, int *pnbpoint, int *pointmap, double *tst, int *ptstsize, int *pcount, int *pseed) { int sigsize, nscale, i, j, k, tstsize; int gridx, gridy, nbpoint; long u1, u2; double um, pm, largest; long seed; double p1, p2; int a, b, t, up, down, left, right; int count1, count2, nbblock, bnumber; int lefto, righto, upo, downo; /* seed for random number ---------------------- */ seed = (*pseed); sigsize = *psigsize; nscale = *pnscale; /* size of grid along b and a -------------------- */ gridx = *pgridx; gridy = *pgridy; tstsize = *ptstsize; /* for(l = 0; l < sigsize * nscale; l++) pointmap[l] = 0; */ /* number of points to be in a block and the total number of block --------------------------------- */ nbblock = *pnbblock; nbpoint = *pnbpoint; bnumber = 0; for(a = 0; a < nscale; a+= gridy) { down = a; up = min(nscale-1, a + gridy); /* overlapping with neighborhood block -----------------------------------*/ downo = max(0,a - gridy/2); upo = min(nscale-1, a + gridy + gridy/2); for(b = 0; b < sigsize; b += gridx) { left = b; right = min(sigsize-1,b + gridx); /* overlapping with neighborhood block -----------------------------------*/ lefto = max(0,b - gridx/2); righto = min(sigsize-1, b + gridx + gridx/2); /* largest sqared modulus in a block --------------------------------- */ largest = 0.0; /* for(i = left; i < right; i++) { for(j = down; j < up; j++) { k = j * sigsize + i; largest = max(sqmodulus[k], largest); } } */ for(i = lefto; i < righto; i++) { for(j = downo; j < upo; j++) { k = j * sigsize + i; pointmap[k] = 0; largest = max(sqmodulus[k], largest); } } /* locations of the block; Add 1 to compensate difference between S and c ---------------------------------------------------------------------- */ tst[tstsize*bnumber] = (double)(left + 1.0); tst[tstsize*bnumber+1] = (double)(down + 1.0); tst[tstsize*bnumber+2] = (double)(right + 1.0); tst[tstsize*bnumber+3] = (double)(up + 1.0); for(t = 1; t <= nbpoint; t++) { count2 = 0; while(1) { /* p1 = (double)(ran1(&seed)); u1 = (long)min((right-left-1) * p1 + left, sigsize-1); p2 = (double)(ran1(&seed)); u2 = (long)min((up-down-1) * p2 + down, nscale-1); */ p1 = (double)(ran1(&seed)); u1 = (long)min((righto-lefto-1) * p1 + lefto, sigsize-1); p2 = (double)(ran1(&seed)); u2 = (long)min((upo-downo-1) * p2 + downo, nscale-1); count1 = 0; while(1) { k = u1 + u2 * sigsize; /* does the position chosen ? -------------------------- */ if((pointmap[k] == 0) || (count1 > (*pcount))) break; /* p1 = (double)(ran1(&seed)); u1 = (long)((right-left-1) * p1 + left); u1 = min(u1, sigsize-1); p2 = (double)(ran1(&seed)); u2 = (long)((up-down-1) * p2 + down); u2 = min(u2, nscale-1); */ p1 = (double)(ran1(&seed)); u1 = (long)((righto-lefto-1) * p1 + lefto); u1 = min(u1, sigsize-1); p2 = (double)(ran1(&seed)); u2 = (long)((upo-downo-1) * p2 + downo); u2 = min(u2, nscale-1); count1 ++; } k = u2 * sigsize + u1; pm = ran1(&seed); um = pm * largest; if((sqmodulus[k] >= um) || (count2 > (*pcount))) { /* choose only when modulus at (u1, u2) is at least * * as large as a random reference. * ------------------------------------------------ */ pointmap[k] = 1; /* the locations of selected points, normalized as prob. --------------------------------------------------- */ tst[tstsize*bnumber+ 2*(t+1)] = p1; tst[tstsize*bnumber+ 2*(t+1)+1] = p2; break; } count2 ++; } } /* advance to next block --------------------- */ bnumber ++; } } } /**************************************************************** * Function: Spca_annealing: * -------------------------- * Ridges characterisation with pca climber algorithm * * smodulus: squared-modulus of the wavelet transform * (coming from learning the noise) * beemap: ridges * crazymap: roadmap for pca * c: constant on the temperature schedule * sigsize: signal size * nscale: total number of scales for CWT * (or frequencies for Gabor) * nbbee: number of crazy climbers * iteration: number of moves for each climber * seed: seed for random number generator * bstep: stepsize for moves in b direction * integral: flag; if set to FALSE, the function computes * the "characteristic function" of the ridge; if set to * TRUE, computes the characteristic function, weighted by * the value of the modulus. * chain: flag; if set to TRUE, returns "chained ridges" * ****************************************************************/ void Spca_annealing(double *smodulus, double *beemap, int *crazymap, double *pc, int *psigsize, int *pnscale, int *piteration, int *pseed, int *pbstep, int *pnbbee, int *pintegral, int *pchain, int *flag) { double r, dd, ee; int i, bstep, k, k1, k2, bee; int *a, *b, integral, chain, count, dir; int arest, brest, afree, bfree; int seed, nscale, iteration, sigsize, nbbee; long idum; double c; double ran1(); chain = *pchain; integral = *pintegral; nbbee = *pnbbee; bstep = *pbstep; nscale = *pnscale; iteration = *piteration; c = *pc; sigsize = *psigsize; seed = *pseed; idum = (long)seed; if(!(a = (int *) R_alloc(iteration, sizeof(int) ))) Rf_error("Memory allocation failed for a in bee_annealing.c \n"); if(!(b = (int *) R_alloc(iteration, sizeof(int) ))) Rf_error("Memory allocation failed for b in bee_annealing.c \n"); /* generation of the random moves of the climbers ----------------------------------------------*/ for(bee = 0; bee < nbbee; bee++) { /* Initialisation */ a[0] = (int)((nscale-1) * ran1(&idum)); b[0] = (int)((sigsize-1) * ran1(&idum)); a[0] = min(nscale-1, a[0]); b[0] = min(sigsize-1, b[0]); a[0] = max(0, a[0]); b[0] = max(0, b[0]); k = b[0] + a[0] * sigsize; if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; /* Iterations */ for(i =1; i < iteration; i++) { dir = crazymap[k]; /* free along a or along b -----------------------*/ if((dir == 1) || (dir == 3)) { if(dir == 1) { /* more freely along b */ r = (double)ran1(&idum); if (r >= 0.5) b[i] = min(sigsize-1,b[i-1]+bstep); else b[i] = max(0,b[i-1]-bstep); r = (double)ran1(&idum); if (r >= 0.5) a[i] = min(nscale-1,a[i-1]+1); else a[i] = max(0,a[i-1]-1); k1 = b[i] + sigsize * a[i]; k2 = b[i] + sigsize * a[i-1]; } if(dir == 3) { /* mover freely along b */ r = (double)ran1(&idum); if (r >= 0.5) b[i] = min(sigsize-1,b[i-1]+1); else b[i] = max(0,b[i-1]-1); r = (double)ran1(&idum); if (r >= 0.5) a[i] = min(nscale-1,a[i-1]+bstep); else a[i] = max(0,a[i-1]-bstep); k1 = b[i] + sigsize * a[i]; k2 = b[i-1] + sigsize * a[i]; } dd = smodulus[k1] - smodulus[k2]; if (dd<0) { r = (double)ran1(&idum); ee = exp(dd * log((double)(3.0 + i))/c); if((*flag)==1) ee=exp(dd * log((double)(3.0))/c); /* constant temperature */ /* freeze ------ */ if (r>ee) { if(dir == 1) a[i] = a[i-1]; else b[i] = b[i-1]; } } } /* free along a=b or a=-b ----------------------*/ if((dir == 2) || (dir == 4)) { if(dir == 2) { /* move freely along a = -b */ r = (double)ran1(&idum); /* choose free move ----------------*/ if (r >= 0.5) { bfree = min(sigsize-1,b[i-1]+bstep); afree = max(0,a[i-1]-bstep); } else { bfree = max(0,b[i-1]-bstep); afree = min(nscale-1,a[i-1]+bstep); } /* choose restricted move ----------------------*/ r = (double)ran1(&idum); if (r >= 0.5) { arest = max(0,afree - 1); brest = max(0,bfree - 1); } else { arest = min(nscale-1,afree + 1); brest = min(sigsize-1,bfree + 1); } } if(dir == 4) { /* more freely along a = b */ r = (double)ran1(&idum); /* choose free move ----------------*/ if (r >= 0.5) { bfree = min(sigsize-1,b[i-1]+bstep); afree = min(nscale-1,a[i-1]+bstep); } else { bfree = max(0,b[i-1]-bstep); afree = max(0,a[i-1]-bstep); } /* choose restricted move ----------------------*/ r = (double)ran1(&idum); if (r >= 0.5) { arest = min(nscale-1,afree+1); brest = max(0,bfree-1); } else { arest = max(0,afree-1); brest = min(sigsize-1,bfree+1); } } k1 = brest + arest * sigsize; k2 = bfree + afree * sigsize; dd = smodulus[k1] - smodulus[k2]; b[i] = brest; a[i] = arest; if (dd<0) { r = (double)ran1(&idum); if((*flag) == 1) ee=exp(dd * log((double)(3.0))/c); else ee = exp(dd * log((double)(3.0 + i))/c); /* freeze ------ */ if (r>ee) { a[i] = afree; b[i] = bfree; } } } /* Chaining a curve between (a[i-1],b[i-1]) and (a[i],b[i]) with larger modulus ---------------------------------------------------------------------------- */ if(chain) { if(dir == 1) { count = 1; while(count < bstep) { if(b[i] - b[i-1] > 0) { if(b[i-1] + count >= sigsize) break; k1 = b[i-1] + count + sigsize * a[i]; k2 = b[i-1] + count + sigsize * a[i-1]; if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } else { if(b[i-1] - count < 0) break; k1 = b[i-1] - count + sigsize * a[i]; k2 = b[i-1] - count + sigsize * a[i-1]; if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } /* update of the ridges */ if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; count ++; } } if(dir == 3) { count = 1; while(count < bstep) { if(a[i] - a[i-1] > 0) { if(a[i-1] + count >= nscale) break; k1 = b[i] + sigsize * (a[i-1] + count); k2 = b[i-1] + sigsize * (a[i-1] + count); if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } else { if((a[i-1] - count) < 0 ) break; k1 = b[i] + sigsize * (a[i-1] - count); k2 = b[i-1] + sigsize * (a[i-1] - count); if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } /* update of the ridges */ if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; count ++; } } if(dir == 2) { if((a[i] < a[i-1]) || (b[i] > b[i-1])) { count = 1; while(count < bstep) { if( ((b[i-1] + count + 1) >= sigsize) || ((a[i-1] - count - 1) < 0)) break; if((bfree == brest) && (afree == arest)) { k = b[i-1] + count + sigsize * (a[i-1] - count); } if(arest > afree) { k1 = (b[i-1] + count) + sigsize * (a[i-1] - count); k2 = (b[i-1] + count + 1) + sigsize * (a[i-1] - count + 1); if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } if(arest < afree) { k1 = (b[i-1] + count) + sigsize * (a[i-1] - count); k2 = (b[i-1] + count - 1) + sigsize * (a[i-1] - count - 1); if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } /* update of the ridges */ if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; count ++; } } if((a[i] > a[i-1]) || (b[i] < b[i-1])) { count = 1; while(count < bstep) { if( ((b[i-1] - count - 1) < 0) || ((a[i-1] + count + 1) >= nscale) || ((a[i-1] - count - 1) < 0)) break; if((bfree == brest) && (afree == arest)) { k = b[i-1] - count + sigsize * (a[i-1] + count); } if(arest > afree) { k1 = (b[i-1] - count) + sigsize * (a[i-1] + count); k2 = (b[i-1] - count + 1) + sigsize * (a[i-1] + count + 1); if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } if(arest < afree) { k1 = (b[i-1] - count) + sigsize * (a[i-1] + count); k2 = (b[i-1] - count - 1) + sigsize * (a[i-1] - count - 1); if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } /* update of the ridges */ if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; count ++; } } } if(dir == 4) { /* free along a = b */ if((a[i] > a[i-1]) || (b[i] > b[i-1])) { count = 1; while(count < bstep) { if( ((b[i-1] + count + 1) >= sigsize) || (a[i-1] + count + 1>= nscale)) break; if((bfree == brest) && (afree == arest)) { k = b[i-1] + count + sigsize * (a[i-1] + count); } if(arest > afree) { k1 = (b[i-1] + count) + sigsize * (a[i-1] + count); k2 = (b[i-1] + count - 1) + sigsize * (a[i-1] + count + 1); if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } if(arest < afree) { k1 = (b[i-1] + count) + sigsize * (a[i-1] + count); k2 = (b[i-1] + count + 1) + sigsize * (a[i-1] + count - 1); if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } /* update of the ridges */ if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; count ++; } } if((a[i] < a[i-1]) || (b[i] < b[i-1])) { count = 1; while(count < bstep) { if( ((b[i-1] - count - 1) < 0) || (a[i-1] - count - 1 < 0)) break; if((bfree == brest) && (afree == arest)) { k = b[i-1] - count + sigsize * (a[i-1] - count); } if(arest > afree) { k1 = (b[i-1] - count) + sigsize * (a[i-1] - count); k2 = (b[i-1] - count - 1) + sigsize * (a[i-1] - count + 1); if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } if(arest < afree) { k1 = (b[i-1] - count) + sigsize * (a[i-1] - count); k2 = (b[i-1] - count + 1) + sigsize * (a[i-1] - count - 1); if(smodulus[k1] > smodulus[k2]) k = k1; else k = k2; } /* update of the ridges */ if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; count ++; } } } } /* advance to next postion -----------------------*/ k = b[i] + a[i] * sigsize; if(integral) beemap[k] = beemap[k] + smodulus[k]; else beemap[k] = beemap[k] +1; } } } Rwave/src/simul.c0000644000176200001440000004634513230444130013430 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ /***************************************************************************/ /* */ /* Functions for computing p-values for mallat wavelets */ /* */ /***************************************************************************/ #include "denoise.h" #include "dyadic.h" #include "Swave.h" #define HISTO_SIZE 500 extern long idum; /**************************************************************************/ /* local_mean */ /**************************************************************************/ #define LOCAL_LENGTH 17 void local_mean(double *mean, double *s, int np ) { double *s_sym; int i, j, t; double sum; if(!(s_sym = (double *) R_alloc( 2*np,sizeof(double)))) Rf_error("Memory allocation failed in s_sym at simul.c \n"); for ( t = 0; t < np; t++ ) s_sym[t] = s_sym[2*np-t-1] = s[t]; for ( t = 0; t < np; t++ ) { sum = 0.0; for ( j = t-8, i = 0; i < LOCAL_LENGTH; i++, j++ ) sum += (j < 0) ? s_sym[-j-1] : s_sym[j]; mean[t] = sum / (double) LOCAL_LENGTH; } //free( s_sym ); } #undef LOCAL_LENGTH /**************************************************************************/ /* variance */ /**************************************************************************/ double variance(double *s, int np ) { double mean, sum; double *temp; int i; if(!(temp = (double *)R_alloc(np , sizeof(double)))) Rf_error("Memory allocation failed for temp at simul.c "); for ( i = 0, mean = 0.0; i < np; i++ ) mean += s[i]; mean /= (double) np; for ( i = 0; i < np; i++ ) temp[i] = s[i] - mean; for ( i = 0, sum = 0.0; i < np; i++ ) sum += temp[i] * temp[i]; //free( temp ); return sum / (double) np; } /****************************************************************************/ /* Compute p-value */ /* Def: p_value = P{ T > T_obs } */ /****************************************************************************/ double p_value(double T, double **histo, int resoln, int histo_size ) { int count = 0; int i; for ( i = 0; i < histo_size; i++ ) if ( histo[resoln][i] > T ) { count = histo_size - i; /* num of values that > T */ break; } return (double) count / histo_size; } /****************************************************************************/ /* Compute p-value average */ /****************************************************************************/ void compute_pval_average(double *pval, double **p, int max_resoln, int np, int num_of_windows, int window_size ) { int interval_length = window_size / 4; int num_of_intervals = np / interval_length; double *temp; int m, i, j, k; if(!(temp = (double *)R_alloc(num_of_intervals , sizeof(double)))) Rf_error("Memory allocation failed for temp at simul.c \n"); for ( j = 1; j <= max_resoln; j++ ) { /* Compute the average for each interval */ temp[0] = p[j][0]; temp[1] = (p[j][0] + p[j][1]) / 2; temp[2] = (p[j][0] + p[j][1] + p[j][2]) / 3; for ( i = 3, k = i; i < num_of_intervals-3; i++, k++ ) temp[i] = (p[j][k-3] + p[j][k-2] + p[j][k-1] + p[j][k])/ 4; temp[num_of_intervals-1] = p[j][num_of_windows-1]; temp[num_of_intervals-2] = (p[j][num_of_windows-1] + p[j][num_of_windows-2]) / 2; temp[num_of_intervals-3] = (p[j][num_of_windows-1] + p[j][num_of_windows-2] + p[j][num_of_windows-3]) / 3; for ( i = 0 ; i < num_of_intervals; i++ ) { for ( m = (j-1)*np+i*interval_length, k = 0; k < interval_length; k++, m++ ) pval[m] = temp[i]; } } //free( temp ); } /****************************************************************************/ /* Gaussian random variables generator */ /****************************************************************************/ double gasdev(long *idum) { static int iset=0; static double gset; double fac,rsq,v1,v2; if (iset == 0) { do { v1=2.0*ran1(idum)-1.0; v2=2.0*ran1(idum)-1.0; rsq=v1*v1+v2*v2; } while (rsq >= 1.0 || rsq == 0.0); fac=sqrt(-2.0*log(rsq)/rsq); gset=v1*fac; iset=1; return v2*fac; } else { iset=0; return gset; } } /****************************************************************************/ /* denominator of the statistics = (Wf[1]^2) + (Wf[2]^2) */ /****************************************************************************/ double denominator(double *Wf, int np ) { double den = 0.0; int t; for ( t = 0; t < 2*np; t++ ) /* resoln 1 and 2 */ den += Wf[t] * Wf[t]; return den; } /****************************************************************************/ /* numerator of the statistics = sqrt of (Wf[j]^4) */ /****************************************************************************/ double numerator(double *Wf, int resoln, int np ) { double sum = 0.0; int t, i; for ( t = (resoln-1)*np, i = 0; i < np; i++, t++ ) sum += Wf[t] * Wf[t] * Wf[t] * Wf[t]; return (double) sqrt( (double) sum ); } /***************************************************************************/ /* Compute mallat normal histogram for computing p-values */ /***************************************************************************/ void normal_histo( double ***histo, int max_resoln, int sample_size ) { double *Sf = (double *) R_alloc( (max_resoln+1) * sample_size , sizeof(double) ); double *Wf = (double *) R_alloc( max_resoln * sample_size , sizeof(double) ); double *sample = (double *) R_alloc( sample_size , sizeof(double) ); double den; int b, i, j; *histo = (double **) R_alloc( (max_resoln+1) , sizeof(double *) ); for ( j = 1; j <= max_resoln; j++ ) (*histo)[j] = (double *) R_alloc( HISTO_SIZE , sizeof(double) ); for ( b = 0; b < HISTO_SIZE; b++ ) { for ( i = 0; i < sample_size; i++ ) sample[i] = gasdev( &idum ); Sf_compute( Sf, sample, &max_resoln, &sample_size,"Gaussian1" ); Wf_compute( Wf, Sf, &max_resoln, &sample_size,"Gaussian1" ); den = denominator( Wf, sample_size ); for ( j = 1; j <= max_resoln; j++ ) (*histo)[j][b] = numerator( Wf, j, sample_size ) / den; } for ( j = 1; j <= max_resoln; j++ ) qcksrt( HISTO_SIZE, (*histo)[j]-1 ); /* free( Sf ); free( Wf ); free( sample ); */ } /***************************************************************************/ /* Compute mallat bootstrap histogram for computing p-values */ /***************************************************************************/ void bootstrap_histo(double ***histo, double *s, int max_resoln, int sample_size ) { double *Sf = (double *) R_alloc( (max_resoln+1) * sample_size , sizeof(double) ); double *Wf = (double *) R_alloc( max_resoln * sample_size , sizeof(double) ); double *sample = (double *) R_alloc( sample_size , sizeof(double) ); double *bsample = (double *) R_alloc( sample_size , sizeof(double) ); double *mean = (double *) R_alloc( sample_size , sizeof(double) ); double den; int b, i, j; int k = sample_size - 16; for ( i = 0; i < sample_size; i++ ) bsample[i] = s[i]; local_mean( mean, bsample, sample_size ); for ( i = 0; i < sample_size; i++ ) bsample[i] -= mean[i]; *histo = (double **) R_alloc( (max_resoln+1) , sizeof(double *) ); for ( j = 1; j <= max_resoln; j++ ) (*histo)[j] = (double *) R_alloc( HISTO_SIZE , sizeof(double) ); for ( b = 0; b < HISTO_SIZE; b++ ) { for ( i = 0; i < sample_size; i++ ) sample[i] = bsample[8+ (int) (k * ran1(&idum))]; Sf_compute( Sf, sample, &max_resoln, &sample_size, "Gaussian1" ); Wf_compute( Wf, Sf, &max_resoln, &sample_size, "Gaussian1" ); den = denominator( Wf, sample_size ); for ( j = 1; j <= max_resoln; j++ ) (*histo)[j][b] = numerator( Wf, j, sample_size ) / den; } for ( j = 1; j <= max_resoln; j++ ) qcksrt( HISTO_SIZE, (*histo)[j]-1 ); /* free( Sf ); free( Wf ); free( bsample ); free( mean ); free( sample ); */ } /***************************************************************************/ /* Compute mallat pvalue */ /***************************************************************************/ void normal_pval_compute(double *pval, double *s, int *max_resoln_ptr, int *np_ptr, int *num_of_windows_ptr, int *window_size_ptr ) { int max_resoln = *max_resoln_ptr; int np = *np_ptr; int num_of_windows = *num_of_windows_ptr; int window_size = *window_size_ptr; char *pfiltername = "Gaussian1"; //char *pfiltername = (char *) R_alloc(1, sizeof(char *)); double *window_data; double *Sf; double *Wf; double **p; int step = window_size / 4; double T, den; double **histo; int w, i, j, t; if(!(window_data = (double *) R_alloc( window_size , sizeof(double) ))) Rf_error("Memory allocation failed for window_data in simul.c \n"); if(!(histo = (double **)R_alloc((max_resoln + 1) , sizeof(double *)))) Rf_error("Memory allocation failed for histo in simul.c \n"); //if(!(pfiltername = (char **) R_alloc(1, sizeof(char *)))) // Rf_error("Memory allocation failed for pfiltername in simul.c \n"); if(!(Sf = (double *) R_alloc((max_resoln+1)* window_size , sizeof(double)))) Rf_error("Memory allocation failed for *Sf in simul.c \n"); if(!(Wf = (double *) R_alloc(max_resoln* window_size , sizeof(double)))) Rf_error("Memory allocation failed for *Wf in simul.c \n"); if(!(p = (double **) R_alloc( (max_resoln+1) , sizeof(double *) ))) Rf_error("Memory allocation failed for p in simul.c \n"); normal_histo( &histo, max_resoln, window_size ); //filename_given(*pfiltername,"Gaussian1"); for ( j = 1; j <= max_resoln; j++ ) if(!(p[j] = (double *) R_alloc( num_of_windows , sizeof(double) ))) Rf_error("Memory failed for p[j] in simul.c "); for ( w = 0; w < num_of_windows; w++ ) { for ( i = 0, t = step*w; i < window_size; i++, t++ ) window_data[i] = s[t]; Sf_compute(Sf, window_data, &max_resoln, &window_size,pfiltername); Wf_compute(Wf, Sf, &max_resoln, &window_size,pfiltername); den = denominator( Wf, window_size ); for ( j = 1; j <= max_resoln; j++ ) { T = numerator( Wf, j, window_size ) / den; p[j][w] = p_value( T, histo, j, HISTO_SIZE ); } } compute_pval_average( pval, p, max_resoln, np, num_of_windows, window_size ); /* free( window_data ); free( Sf ); free( Wf ); for ( j = 1; j <= max_resoln; j++ ) { free( histo[j] ); free( p[j] ); } free( histo ); free( p ); */ } /***************************************************************************/ /* Compute mallat bootstrap pvalue */ /***************************************************************************/ void bootstrap_pval_compute(double *pval, double *s, int *max_resoln_ptr, int *np_ptr, int *num_of_windows_ptr, int *window_size_ptr ) { int max_resoln = *max_resoln_ptr; int np = *np_ptr; int num_of_windows = *num_of_windows_ptr; int window_size = *window_size_ptr; double *window_data; double *Sf; double *Wf; double **p; char *pfiltername = "Gaussian1"; int step = window_size / 4; double T, den; double **histo; int w, i, j, offset; if(!(window_data = (double *) R_alloc( window_size , sizeof(double) ))) Rf_error("Memory allocation failed for window_data in simul.c \n"); if(!(histo = (double **)R_alloc((max_resoln + 1) , sizeof(double *)))) Rf_error("Memory allocation failed for histo in simul.c \n"); //if(!(pfiltername = (char **) R_alloc(1, sizeof(char *)))) Rf_error("Memory allocation failed for pfiltername in simul.c \n"); if(!(Sf = (double *) R_alloc((max_resoln+1)* window_size , sizeof(double)))) Rf_error("Memory allocation failed for *Sf in simul.c \n"); if(!(Wf = (double *) R_alloc(max_resoln* window_size , sizeof(double)))) Rf_error("Memory allocation failed for *Wf in simul.c \n"); if(!(p = (double **) R_alloc( (max_resoln+1) , sizeof(double *) ))) Rf_error("Memory allocation failed for p in simul.c \n"); bootstrap_histo( &histo, s, max_resoln, window_size ); for ( j = 1; j <= max_resoln; j++ ) if(!(p[j] = (double *) R_alloc( num_of_windows , sizeof(double) ))) Rf_error("Memory allocation failed for p[j] in simul.c \n "); //filename_given(*pfiltername,"Gaussian1"); for ( w = 0; w < num_of_windows; w++ ) { for ( i = 0, offset = step*w; i < window_size; i++ ) window_data[i] = s[offset+i]; Sf_compute(Sf, window_data, &max_resoln, &window_size,pfiltername); Wf_compute(Wf, Sf, &max_resoln, &window_size,pfiltername); den = denominator( Wf, window_size ); for ( j = 1; j <= max_resoln; j++ ) { T = numerator( Wf, j, window_size ) / den; p[j][w] = p_value( T, histo, j, HISTO_SIZE ); } } compute_pval_average( pval, p, max_resoln, np, num_of_windows, window_size ); /* free( window_data ); free( Sf ); free( Wf ); for ( j = 1; j <= max_resoln; j++ ) { free( histo[j] ); free( p[j] ); } free( histo ); free( p ); */ } /***************************************************************************/ /* Compute mallat normal threshold for trimming */ /***************************************************************************/ void nthresh_compute(double *nthresh, double *s, int *maxresoln_ptr, int *sample_size_ptr, double prct ) { int max_resoln = *maxresoln_ptr; int sample_size = *sample_size_ptr; double *mean; double *sample; double **histo; double *Sf; double *Wf; char *pfiltername = "Gaussian1"; double var, std; int j, b, i, t; if(!(histo = (double **)R_alloc((max_resoln + 1) , sizeof(double *)))) Rf_error("Memory allocation failed for histo in simul.c \n"); //if(!(pfiltername = (char **) R_alloc(1, sizeof(char *)))) //Rf_error("Memory allocation failed for pfiltername in simul.c \n"); if(!(mean = (double *) R_alloc( sample_size , sizeof(double)))) Rf_error("Memory allocation failed for *mean in simul.c \n"); if(!(sample = (double *) R_alloc( sample_size , sizeof(double)))) Rf_error("Memory allocation failed for *sample in simul.c \n"); if(!(Sf = (double *) R_alloc((max_resoln+1)* sample_size , sizeof(double)))) Rf_error("Memory allocation failed for *Sf in simul.c \n"); if(!(Wf = (double *) R_alloc(max_resoln* sample_size , sizeof(double)))) Rf_error("Memory allocation failed for *Wf in simul.c \n"); /* printf("Idum = %d\n",idum); */ for ( i = 0; i < sample_size; i++ ) sample[i] = s[i]; local_mean( mean, sample, sample_size ); for ( i = 0; i < sample_size; i++ ) sample[i] -= mean[i]; var = variance( sample, sample_size ); std = (double) sqrt( var ); for ( j = 1; j <= max_resoln; j++ ) if(!(histo[j] = (double *) R_alloc( HISTO_SIZE , sizeof(double) ))) Rf_error("Memory allocation failed for histo[i] in simul.c \n"); //if(!(*pfiltername = (char *)R_alloc(STRING_SIZE , sizeof(char)))) // Rf_error("Memory allocation failed for *pfilename in simul.c \n"); //filename_given(*pfiltername,"Gaussian1"); for ( b = 0; b < HISTO_SIZE; b++ ) { for ( i = 0; i < sample_size; i++ ) sample[i] = std * gasdev( &idum ); Sf_compute(Sf, sample, &max_resoln, &sample_size,pfiltername); Wf_compute(Wf, Sf, &max_resoln, &sample_size,pfiltername); for ( j = 1; j <= max_resoln; j++ ) { for ( i = 0, t = (j-1)*sample_size; i < sample_size; i++, t++ ) sample[i] = Wf[t]; qcksrt( sample_size, sample-1 ); /* Take the max of the absolute value of psi */ histo[j][b] = max( fabs(sample[0]), fabs(sample[sample_size-1]) ); } } for ( j = 1; j <= max_resoln; j++ ) { qcksrt( HISTO_SIZE, histo[j]-1 ); /* nthresh[j-1] = histo[j][(int)(HISTO_SIZE * 0.95) - 1]; */ nthresh[j-1] = histo[j][(int)(HISTO_SIZE * prct) - 1]; //free( histo[j] ); } /* free( histo ); free( mean ); free( sample ); free( Sf ); free( Wf ); */ } /***************************************************************************/ /* Compute mallat bootstrap threshold for trimming */ /***************************************************************************/ void bthresh_compute(double *bthresh, double *s, int *maxresoln_ptr, int *sample_size_ptr, double prct ) { int max_resoln = *maxresoln_ptr; int sample_size = *sample_size_ptr; double *mean; double *sample; double *bsample; double **histo; double *Sf; double *Wf; char *pfiltername = "Gaussian1"; int k = sample_size - 16; /* k depends on LOCAL_LENGTH in local_mean */ int j, b, i, t; histo = (double **) R_alloc((max_resoln + 1), sizeof(double *)); //if(!(pfiltername = (char **) R_alloc(1, sizeof(char *)))) //Rf_error("Memory allocation failed for pfiltername in simul.c \n"); if(!(mean = (double *) R_alloc( sample_size, sizeof(double)))) Rf_error("Memory allocation failed for *mean in simul.c \n"); if(!(sample = (double *) R_alloc( sample_size , sizeof(double)))) Rf_error("Memory allocation failed for *sample in simul.c \n"); if(!(bsample = (double *) R_alloc( sample_size , sizeof(double)))) Rf_error("Memory allocation failed for *bample in simul.c \n"); if(!(Sf = (double *) R_alloc((max_resoln+1)* sample_size , sizeof(double)))) Rf_error("Memory allocation failed for *Sf in simul.c \n"); if(!(Wf = (double *) R_alloc(max_resoln* sample_size , sizeof(double)))) Rf_error("Memory allocation failed for *Wf in simul.c \n"); for ( i = 0; i < sample_size; i++ ) bsample[i] = s[i]; local_mean( mean, bsample, sample_size ); for ( i = 0; i < sample_size; i++ ) bsample[i] -= mean[i]; for ( j = 1; j <= max_resoln; j++ ) if(!(histo[j] = (double *) R_alloc( HISTO_SIZE , sizeof(double) ))) Rf_error("Memory allocation failed for histo[i] in simul.c \n"); //*pfiltername = (char *)R_alloc(STRING_SIZE , sizeof(char)); //filename_given(*pfiltername,"Gaussian1"); for ( b = 0; b < HISTO_SIZE; b++ ) { for ( i = 0; i < sample_size; i++ ) sample[i] = bsample[8+ (int) (k * ran1(&idum))]; Sf_compute(Sf, sample, &max_resoln, &sample_size,pfiltername); Wf_compute(Wf, Sf, &max_resoln, &sample_size,pfiltername); for ( j = 1; j <= max_resoln; j++ ) { for ( i = 0, t = (j-1)*sample_size; i < sample_size; i++, t++ ) sample[i] = Wf[t]; qcksrt( sample_size, sample-1 ); /* Take the max of the absolute value of psi */ histo[j][b] = max( fabs(sample[0]), fabs(sample[sample_size-1]) ); } } for ( j = 1; j <= max_resoln; j++ ) { qcksrt( HISTO_SIZE, histo[j]-1 ); /* bthresh[j-1] = histo[j][(int)(HISTO_SIZE * 0.95) - 1]; */ bthresh[j-1] = histo[j][(int)(HISTO_SIZE * prct) - 1]; //free( histo[j] ); } /*free( histo ); free( mean ); free( sample ); free( bsample ); free( Sf ); free( Wf ); */ } Rwave/src/snake_annealing.c0000644000176200001440000002775213230444130015415 0ustar liggesusers#include /*************************************************************** * $Log: s_annealing.c,v $ * **************************************************************** * * * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /**************************************************************** * Function: Ssnake_annealing: * * -------------------------- * * Ridge extraction from annealing, using the snake method * * * * smodulus: modulus smoothed by a window * * cost: cost function * * phi: ridge (scale coordinate) * * rho: ridge(position coordinate) * * lambda: coefficient in front of phi'' in the cost function * * mu: coefficient in front of phi' in the cost function * * lambda2: coefficient in front of rho'' in the cost function* * mu2: coefficient in front of rho' in the cost function * * c: constant on the temperature schedule * * sigsize: signal size * * snakesize: size of the snake (number of points) * * nscale: total number of scales for CWT * * iteration: maximal number of iterations for the annealing * * stagnant: allowed number of consecutive steps without * * move (stopping criterion) * * seed: seed for random number generator * * count: number of iterations * * sub: subsampling rate for ridge extraction * * blocksize: subsampling of the cost function in cost * * blocksize=1 means that the whole cost function * * is returned * * * ****************************************************************/ void Ssnake_annealing(double *cost, double *smodulus, double *phi, double *rho, double *plambda, double *pmu, double *plambda2, double *pmu2, double *pc, int *psigsize, int *psnakesize, int *pnscale, int *piteration, int *pstagnant, int *pseed, int *pcount, int *psub, int *pblocksize, int *psmodsize) { int sigsize,snakesize,ncount,iteration; int i,k,up,right,pos,num,a,b,count,costcount,sub; long idum=-9; int again, tbox, blocksize,smodsize; int nscale, stagnant, recal; double c, lambda, mu, lambda2, mu2; double *bcost, *phi2; double ran, gibbs; double cost1; double temperature, tmp=0, tmp2; /* FILE *fp; */ int *posmap; /* Generalities; initializations -----------------------------*/ mu = *pmu; mu2 = *pmu2; lambda = *plambda; lambda2 = *plambda2; stagnant = *pstagnant; nscale = *pnscale; iteration = *piteration; c = *pc; sigsize = *psigsize; snakesize = *psnakesize; idum = (long)(*pseed); sub = *psub; blocksize = *pblocksize; smodsize = *psmodsize; recal = 100000; /* recompute cost function every 'recal' iterations */ if(!(bcost = (double *)S_alloc(blocksize,sizeof(double)))) Rf_error("Memory allocation failed for bcost at snake_annealing.c \n"); if(!(phi2 = (double *)S_alloc(sigsize,sizeof(double)))) Rf_error("Memory allocation failed for phi2 at snake_annealing.c \n"); if(!(posmap = (int *)S_alloc(smodsize * nscale,sizeof(int)))) Rf_error("Memory allocation failed for posmap at snake_annealing.c \n"); /* if(blocksize != 1) { if((fp = fopen("annealing.cost","w")) == NULL) Rf_error("can't open file at snake_annealing.c \n"); } */ tbox = 0; ncount = 0; /* count for cost */ count = 0; /* total count */ temperature = c/log(2. + (double)count); /* Initial temperature */ cost1 = 0; /* mark the initial positions of snakes */ for(i = 0; i < snakesize; i++) { /* k = (int)(rho[i] + smodsize * phi[i]); this is probably a bug */ k = (int)(rho[i]) + smodsize * (int)(phi[i]); posmap[k] = 1; } /* Smooth and subsample the wavelet transform modulus --------------------------------------------------*/ /* if(sub !=1){*/ /* smoothwt(modulus,smodulus,sigsize,nscale,sub); */ snakesub(rho,sub,snakesize); /* } if(sub == 1) for(i=0; i= stagnant) { cost[ncount++] = (double)cost1; *pcount = ncount; /* if((blocksize != 1)){ for(i = 0; i < costcount+1; i++) fprintf(fp, "%f ", bcost[i]); fclose(fp); } */ /* Interpolate from subsampled ridge --------------------------------*/ /* if(sub != 1){ splsnake(sub, rho-1, phi-1, snakesize, phi2-1); printf("interpolation done\n"); for(i=0;i= iteration) { cost[ncount++] = (double)cost1; *pcount = ncount; /* Write cost function to a file -----------------------------*/ /* if((blocksize != 1)){ for(i = 0; i < costcount+1; i++) fprintf(fp, "%f ", bcost[i]); fclose(fp); } */ /* Interpolate from subsampled ridge ---------------------------------*/ /* if(sub !=1){ splsnake(sub, rho-1, phi-1, snakesize, phi2-1); printf("interpolation done\n"); for(i=0;i /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #include "Swave.h" #include "denoise.h" /*************************************************************** * Function: multi: * --------- * Multiplication of 2 vectors in the Fourier domain; the * first one is complex-valued, as well as the output; the * second one is real-valued. * * Ri1, Ii1: first input vector. * Ri2: second input vector (real). * Or, Oi: output vector. * isize: length of the vectors. ***************************************************************/ void multi(double *Ri1, double *Ii1, double *Ri2, double *Or, double *Oi, int isize) { int i; for(i = 0; i < isize; i++) { Or[i] = Ri1[i] * Ri2[i]; Oi[i] = Ii1[i] * Ri2[i]; } return; } /*************************************************************** * Function: morlet_frequency: * --------- * Generates a Morlet wavelet in the frequency domain. * The wavelet is centered at the origin, and normalized so * that psi(0) =1/sqrt(2 pi) * * w: wavelet * scale: scale of the wavelet * isize: window size * cf: central frequency of the wavelet ***************************************************************/ void morlet_frequency(double cf,double scale,double *w,int isize) { double tmp; int i; double twopi; twopi = 6.28318530717959; /* tmp1 = exp(-(cf * cf)/2); */ for(i = 0; i < isize; i++) { tmp = (double)(scale * i * twopi/isize - cf); tmp = -(tmp * tmp)/2; /* w[i] = exp(tmp) - tmp1; */ w[i] = exp(tmp); } return; } /*************************************************************** * Function: morlet_time: * --------- * Generates a Morlet wavelet in the time domain. * The wavelet is centered at the origin, and normalized so * that psi(0) = 1 * * w: wavelet * scale: scale of the wavelet * isize: window size * cf: central frequency of the wavelet * * remark: unlike the other functions, this one generates an * array starting at 1, for compatibility with S. ***************************************************************/ void morlet_time(double *pcf,double *pscale, int *pb, double *w_r, double *w_i,int *pisize) { double tmp, tmp2; double cf = *pcf, scale = *pscale; int b = *pb, isize = *pisize; int i; for(i = 1; i <= isize; i++) { tmp = (double)((double)(i-b)/scale); tmp2 = exp(-(tmp * tmp)/2.); w_r[i-1] = tmp2*cos(tmp*cf)/scale; w_i[i-1] = tmp2*sin(tmp*cf)/scale; } return; } /*************************************************************** * Function: vmorlet_time: * --------- * Generates Morlet wavelets located on nodes of the ridge, * in the time domain. * The mother wavelet is centered at the origin, and normalized so * that psi(0) = 1/sqrt(2 pi) * * w_r, w_i: wavelet (real and imaginary parts) * scale: scale of the wavelets on the ridge samples * b: position of the wavelets on the ridge samples * isize: window size * cf: central frequency of the wavelet * nbnodes: number of ridge samples * * remark: unlike the other functions, this one generates an * array starting at 1, for compatibility with S. ***************************************************************/ void vmorlet_time(double *pcf,double *pscale, int *b, double *w_r, double *w_i,int *pisize, int *pnbnode) { double tmp, tmp2; double cf = (double)(*pcf); int isize = *pisize; int i, j, nbnode = *pnbnode; int position; double sqtwopi; sqtwopi = sqrt(6.28318530717959); for(j = 0; j < nbnode; j++) { position = b[j]; for(i = 1; i <= isize; i++) { tmp = (double)((double)(i-position)/pscale[j]); tmp2 = exp(-(tmp * tmp)/2.)/pscale[j]/sqtwopi; w_r[j * isize + i-1] = tmp2*cos(tmp*cf); w_i[j * isize + i-1] = tmp2*sin(tmp*cf); } } return; } /***************************************************************** * function: Scwt_morlet_r * Continuous wavelet transform : * * input: (real-valued) input signal * Ri1, Ii1: Fourier transform of input signal (real and * imaginary parts). * Ri2: Real part of Fourier transform of Morlet wavelet * Oreal,Oimage: real and imaginary parts of CWT * pinputsize: signal size * pnboctave: number of scales (powers of 2) * pnvoice: number of scales between 2 consecutive powers of 2 * pcenterfrequency: centralfrequency of Morlet wavelet ******************************************************************/ void Scwt_morlet_r(double *input, double *Oreal, double *Oimage, int *pnboctave, int *pnbvoice, int *pinputsize, double *pcenterfrequency) { int nboctave, nbvoice, i, j, inputsize; double centerfrequency, a; double *Ri2, *Ri1, *Ii1, *Ii, *Ri; centerfrequency = *pcenterfrequency; nboctave = *pnboctave; nbvoice = *pnbvoice; inputsize = *pinputsize; if(!(Ri2 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri2 in cwt_morlet.c \n"); if(!(Ri1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri1 in cwt_morlet.c \n"); if(!(Ii1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii1 in cwt_morlet.c \n"); if(!(Ri = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri in cwt_morlet.c \n"); if(!(Ii = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii in cwt_morlet.c \n"); for(i = 0; i < inputsize; i++) { Ri[i] = (double)input[i]; Ii[i] = 0.0; } double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); for(i = 1; i <= nboctave; i++) { for(j=0; j < nbvoice; j++) { a = (double)(pow((double)2,(double)(i+j/((double)nbvoice)))); morlet_frequency(centerfrequency,a,Ri2,inputsize); multi(Ri1,Ii1,Ri2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,1); Oreal = Oreal + inputsize; Oimage = Oimage + inputsize; } } } /***************************************************************** * function: Scwt_morlet * Continuous wavelet transform : * * input: (a priori complex-valued) input signal * Ri1, Ii1: Fourier transform of input signal (real and * imaginary parts). * Ri2: Real part of Fourier transform of Morlet wavelet * Oreal,Oimage: real and imaginary parts of CWT * pinputsize: signal size * pnboctave: number of scales (powers of 2) * pnvoice: number of scales between 2 consecutive powers of 2 * pcenterfrequency: centralfrequency of Morlet wavelet ******************************************************************/ void Scwt_morlet(double *Rinput,double *Iinput,double *Oreal, double *Oimage,int *pnboctave,int *pnbvoice, int *pinputsize,double *pcenterfrequency) { int nboctave, nbvoice, i, j, inputsize; double centerfrequency, a; double *Ri2, *Ri1, *Ii1, *Ii, *Ri; centerfrequency = *pcenterfrequency; nboctave = *pnboctave; nbvoice = *pnbvoice; inputsize = *pinputsize; if(!(Ri2 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri2 in cwt_morlet.c \n"); if(!(Ri1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri1 in cwt_morlet.c \n"); if(!(Ii1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii1 in cwt_morlet.c \n"); if(!(Ri = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri in cwt_morlet.c \n"); if(!(Ii = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii in cwt_morlet.c \n"); for(i = 0; i < inputsize; i++) { Ri[i] = (double)Rinput[i]; Ii[i] = (double)Iinput[i]; } double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); for(i = 1; i <= nboctave; i++) { for(j=0; j < nbvoice; j++) { a = (double)(pow((double)2,(double)(i+j/((double)nbvoice)))); morlet_frequency(centerfrequency,a,Ri2,inputsize); multi(Ri1,Ii1,Ri2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,1); Oreal = Oreal + inputsize; Oimage = Oimage + inputsize; } } } /*************************************************************** * Function: Svwt_morlet: * --------- * Computes the continuous wavelet transform of input * signal with Morlet wavelet, a fixed scale a * * Rinput, Iinput: real and imaginary parts of the signal * Oreal, Oimage: real and imaginary parts of the cwt. ***************************************************************/ void Svwt_morlet(double *Rinput,double *Iinput,double *Oreal, double *Oimage,double *pa,int *pinputsize, double *pcenterfrequency) { int i, inputsize; double centerfrequency, a; double *Ri2, *Ri1, *Ii1, *Ii, *Ri; centerfrequency = *pcenterfrequency; a = *pa; inputsize = *pinputsize; if(!(Ri2 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri2 in cwt_morlet.c \n"); if(!(Ri1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri1 in cwt_morlet.c \n"); if(!(Ii1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii1 in cwt_morlet.c \n"); if(!(Ri = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri in cwt_morlet.c \n"); if(!(Ii = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii in cwt_morlet.c \n"); for(i = 0; i < inputsize; i++) { Ri[i] = (double)Rinput[i]; Ii[i] = (double)Iinput[i]; } double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); morlet_frequency(centerfrequency,a,Ri2,inputsize); multi(Ri1,Ii1,Ri2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,1); } Rwave/src/ridge_coronoid.c0000644000176200001440000002611613230444130015257 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /**************************************************************** * Function: Sridge_coronoid: * -------------------------- * Ridge caracterisation from annealing; * Modification of Sridge_annealing, the cost function is * replaced with another one, in which the smoothness penalty * is proportional to the transform modulus. * * smodulus: smoothed modulus of the wavelet transform * cost: cost function * noise: additional potential (coming from learning the noise) * phi: ridge * lambda: coefficient in front of phi'' in the cost function * mu: coefficient in front of phi' in the cost function * c: constant on the temperature schedule * sigsize: signal size * nscale: total number of scales for CWT * iteration: maximal number of iterations for the annealing * stagnant: allowed number of consecutive steps without * move (stopping criterion) * seed: seed for random number generator * count: number of iterations * sub: subsampling rate for ridge extraction * costsub: subsampling of the cost function in cost * costsub=1 means that the whole cost function * is returned * smodsize: the subsampling size of signal size ****************************************************************/ void Sridge_coronoid(double *cost, double *smodulus, double *phi, double *plambda, double *pmu, double *pc, int *psigsize, int *pnscale, int *piteration, int *pstagnant, int *pseed, int *pcount, int *psub, int *pblocksize, int *psmodsize) { int i,sigsize,ncount,iteration,up,pos,num,a,count,costcount,sub; long idum=-9; int again, tbox, blocksize,smodsize; int nscale, stagnant, recal; double lambda, c, mu; double *bcost, *phi2; double ran, gibbs; double cost1; double temperature, tmp=0.0, tmp_cost =0.0, tmp_mod; double der_plus,der_minus,der_sec,der_sec_plus,der_sec_minus; /* FILE *fp; */ /* Generalities; initializations -----------------------------*/ mu = (double)(*pmu); stagnant = *pstagnant; nscale = *pnscale; iteration = *piteration; lambda = (double)(*plambda); c = (double)(*pc); sigsize = *psigsize; idum = (long) (*pseed); sub = *psub; blocksize = *pblocksize; smodsize = *psmodsize; recal = 1000; /* recompute cost function every 'recal' iterations */ if(!(bcost = (double *) R_alloc(blocksize, sizeof(double) ))) Rf_error("Memory allocation failed for bcost at ridge_annealing.c \n"); if(!(phi2 = (double *)S_alloc((smodsize+1)*sub,sizeof(double)))) Rf_error("Memory allocation failed for phi2 at ridge_annealing.c \n"); /* if(blocksize != 1) { if((fp = fopen("annealing.cost","w")) == NULL) Rf_error("can't open file at ridge_annealing.c \n"); } */ tbox = 0; ncount = 0; /* count for cost */ count = 0; /* total count */ temperature = c/log(2. + (double)count); /* Initial temperature */ cost1 = 0; /* Smooth and subsample the wavelet transform modulus --------------------------------------------------*/ /* smoothwt2(modulus,smodulus,sigsize,nscale,sub,&smodsize); */ /* Subsample the initial guess for the ridge -----------------------------------------*/ for(i=0;i= stagnant) { cost[ncount++] = (double)cost1; *pcount = ncount; /* if((blocksize != 1)){ for(i = 0; i < costcount+1; i++) fprintf(fp, "%f ", bcost[i]); fclose(fp); } */ /* Interpolate from subsampled ridge --------------------------------*/ splridge(sub, phi, smodsize, phi2); for(i=0;i= iteration) { cost[ncount++] = (double)cost1; *pcount = ncount; /* Write cost function to a file -----------------------------*/ /* if((blocksize != 1)){ for(i = 0; i < costcount+1; i++) fprintf(fp, "%f ", bcost[i]); fclose(fp); } */ /* Interpolate from subsampled ridge --------------------------------*/ splridge(sub, phi, smodsize, phi2); for(i=0;i /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #include "Swave.h" #include "denoise.h" long idum = -7; /****************************************************************** * UNIFORM RANDOM NUMBER GENERATOR *******************************************************************/ #define IA 16807 #define IM 2147483647 #define AM (1.0/IM) #define IQ 127773 #define IR 2836 #define NTAB 32 #define NDIV (1+(IM-1)/NTAB) #define EPS 1.2e-7 #define RNMX (1.0-EPS) /* ran1 (from Numerical Recipes): uniform random numbers between 0 and 1 */ double ran1(long *idum) { int j; long k; static long iy=0; static long iv[NTAB]; double temp; if(*idum <= 0 || !iy) { if(-(*idum) < 1) *idum = 1; else *idum = -(*idum); for(j = NTAB+7; j >= 0; j--) { k = (*idum)/IQ; *idum = IA * (*idum - k *IQ) - IR*k; if (*idum < 0) *idum += IM; if(j < NTAB) iv[j] = *idum; } iy = iv[0]; } k = (*idum)/IQ; *idum = IA*(*idum-k*IQ)-IR*k; if(*idum < 0) *idum += IM; j = iy/NDIV; iy = iv[j]; iv[j] = *idum; if((temp = AM * iy) > RNMX) return RNMX; else return temp; } #undef IA #undef IM #undef AM #undef IQ #undef IR #undef NTAB #undef NDIV #undef EPS #undef RNMX Rwave/src/mreconst.c0000644000176200001440000001366013230444130014123 0ustar liggesusers#include /****************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, A. Wang * * Princeton University * * All right reserved * ******************************************************************/ #include "Swave.h" #include "dyadic.h" /**************************************************************** * Function: signal_penalty_function: * ---------------------------------- * Reconstruction of signal which preserves the locations and * values of extrema * * f: reconstructed signal * lambda: Lagragian multiplier * W_tilda: dual wavelet * ext: extrema representation * num_of_extrema: number of extrema * np: signal size * ****************************************************************/ void signal_penalty_function(double *f, double *lambda, double **W_tilda, image_ext *ext, int num_of_extrema, int np) { int s, t; for ( t = 0; t < np; t++ ) { for ( s = 0, f[t] = 0.0; s < num_of_extrema; s++ ) f[t] += lambda[s] * W_tilda[ext[s].resoln][(ext[s].x-t+np)%np]; } return; } /**************************************************************** * Function: signal_position: * -------------------------- * Position matrix of the extrema of a signal * * filtername: filter name * lambda: Lagragian multiplier * ext: extrema representation * Wtilda: * W: * num_of_extrema: number of extrema * max_resoln: number of decomposition * np: signal size * ****************************************************************/ void signal_position(char *filtername, double **lambda, image_ext *ext, double **Wtilda, double **W, int num_of_extrema, int max_resoln, int np) { int s, r, i, j, diff; bound *psi, *phi; bound *H_bound, *G_bound; /* char filename[STRING_SIZE]; */ double **position_matrix, *w, **v; double sum; int p, x; double *b; int *indx; if(!(indx = (int *) R_alloc(num_of_extrema , sizeof(int)))) Rf_error("Memory allocation failed for indx in signal_position.c \n"); HGfilter_bound(filtername,&H_bound,&G_bound,max_resoln); PsiPhifilter_bound( &psi, &phi, H_bound, G_bound, max_resoln ); if(!(position_matrix = (double **) R_alloc(num_of_extrema , sizeof(double *) ))) Rf_error("Memory allocation failed for position matrix in image_lambda \n"); for ( r = 0; r < num_of_extrema; r++ ) if(!(position_matrix[r] = (double *) R_alloc((num_of_extrema) , sizeof(double) ))) Rf_error("Memory allocation failed for position_matrix[] in image_lambda \n"); for ( r = 0; r < num_of_extrema; r++ ) { i = ext[r].resoln; for ( s = 0; s < num_of_extrema; s++ ) { j = ext[s].resoln; diff = ext[s].x - ext[r].x; sum = 0.0; for (x = psi[i].lb; x <= psi[i].ub; x++ ) { p = (diff+x+2 * np)%np; sum += W[i][(x+np)%np] * Wtilda[j][p]; } position_matrix[r][s] = sum; } } /* init_filename(filename); */ /* filename_given(filename,"signal_POS"); */ /* printf("num_of_extrema = %d \n",num_of_extrema); */ /* output_array(position_matrix,num_of_extrema,num_of_extrema,filename); */ /**************************************************/ /* solve lambda from position_matrix (lambda) = b */ /**************************************************/ if(!(*lambda = (double *) R_alloc(num_of_extrema , sizeof(double) ))) Rf_error("Memory allocation failed for lambda in image_position.c \n"); if(!(b = (double *) R_alloc( num_of_extrema , sizeof(double)))) Rf_error("Memory allocation failed for b in image_position.c \n"); for ( i = 0; i < num_of_extrema; i++ ) { b[i] = ext[i].W1f; } /* for ( i = 0; i < num_of_extrema; i++ ) { (*lambda)[i] = ext[i].W1f; } ludcmp(position_matrix-1,num_of_extrema,indx-1,&d); printf("here"); lubksb(position_matrix-1,num_of_extrema,indx-1,(*lambda)-1); printf("There"); */ svdecomp_solve(position_matrix,b,*lambda,num_of_extrema, num_of_extrema,&w,&v); } /**************************************************************** * Function: extrema reconstruction: * --------------------------------- * Called by Splus. * Reconstruction of a signal which preserves the location and value * at the extrema representation * * filtername: filter name * f: reconstructed signal * extrema: extrema representation * max_resoln_ptr: pointer to number of decomposition * np_pr: pointer to signal size * preadfile: if set to TRUE, the kernel is read from files that * are precomputed and stored in the local directory. OW, Compute * the kernel, this usually takes quite some time if the size of * signal is large. * ****************************************************************/ void extrema_reconst(char *filtername, double *f, double *extrema, int *max_resoln_ptr, int *np_ptr, int *preadfile) { double **W, **S; double **W_tilda; double **K; int max_resoln = *max_resoln_ptr; int np = *np_ptr; int readfileflag = *preadfile; image_ext *ext; double *lambda; int num_of_extrema; signal_W_S(&W, &S, max_resoln, np); if(!readfileflag) { signal_K_compute(&K, W, max_resoln, np); // printf("K "); signal_W_tilda(&W_tilda, W, K, max_resoln,np); //printf("W "); } else { signal_W_tilda_input(&W_tilda, max_resoln, np); } extrema_input(extrema,max_resoln,np,&ext,&num_of_extrema); signal_position(filtername,&lambda,ext,W_tilda,W,num_of_extrema, max_resoln,np); signal_penalty_function(f,lambda,W_tilda,ext,num_of_extrema,np); //free( lambda ); //free( ext ); /* for ( j = 0; j <= max_resoln; j++ ) { free( W[j] ); free S[j] ); free( W_tilda[j] ); } free( W ); free( S ); free( W_tilda ); return; */ } Rwave/src/compinteg.c0000644000176200001440000002241613230444130014255 0ustar liggesusers#include #include "Swave.h" /*************************************************************** * $Log: compinteg.c,v $ * **************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #include "rwkernel.h" #define JMAX 20 #define JMAXP (JMAX+1) #define K 5 /*************************************************************** * Function: qrombmod * --------- * Romberg quadrature for integration; * complex-valued functions * * x,y: position of the wavelets in the integrand. * b_start, b_end: integration domain. * nodes, phi_nodes: position and scale of the nodes of the ridge. * nb_nodes: number of nodes of the ridge. ****************************************************************/ fcomplex qrombmod(int x, int y, double *p2, double *nodes, double *phi_nodes, int nb_nodes,double cent_freq,double b_start, double b_end) { double h[JMAXP+1]; fcomplex ss,dss; fcomplex *s; int j; double tmpr[JMAX+1],tmpi[JMAX+1]; s = (fcomplex *)S_alloc(JMAXP+1,sizeof(fcomplex)); /* Initialisation of tmp arrays */ for(j = 0; j < JMAX+1; j++) tmpi[j] = tmpr[j] = 0.0; h[1]=1.0; /* Loop and test accuracy ----------------------*/ for (j=1;j<=JMAX;j++) { /* Trapezoidal rule */ s[j] = trapzdmod(x,y,p2,nodes,phi_nodes,nb_nodes,cent_freq,b_start,b_end,j); tmpr[j] = (s[j]).r; tmpi[j] = (s[j]).i; /* Rprintf("step=%d ,integral.r=%g12 ,integral.i=%g\n",j,(s[j]).r,(s[j]).i); */ if (j >= K) { /* Polynomial (Lagrange) extrapolation to estimate the limit of the integral as step goes to 0 */ polint(&h[j-K],&tmpr[j-K],(int)K,0.0,&(ss.r),&(dss.r)); polint(&h[j-K],&tmpi[j-K],(int)K,0.0,&(ss.i),&(dss.i)); /* Test accuracy */ if (((fabs(dss.r) < EPS*fabs(ss.r))&&(EPS * fabs(ss.r) > fabs(ss.i))) || ((fabs(dss.i) < EPS*fabs(ss.i))&&(EPS * fabs(ss.i) > fabs(ss.r))) || ((fabs(dss.r) < EPS*fabs(ss.r))&&(fabs(dss.i) < EPS*fabs(ss.i)))) { return ss; } } (s[j+1]).r=(s[j]).r; (s[j+1]).i=(s[j]).i; h[j+1]=0.25*h[j]; } Rprintf("Too many steps in routine qrombmod (x=%d, y=%d) \n",x,y); return(ss); } /*************************************************************** * Function: rqrombmod * --------- * Romberg quadrature for integration of WT kernel; * complex-valued functions * * x,y: position of the wavelets in the integrand. * b_start, b_end: integration domain. * nodes, phi_nodes: position and scale of the nodes of the ridge. * nb_nodes: number of nodes of the ridge. ****************************************************************/ double rqrombmod(int x, int y, double *p2, double *nodes, double *phi_nodes, int nb_nodes,double cent_freq,double b_start, double b_end) { double h[JMAXP+1]; double ss,dss; double *s; int j; double tmpr[JMAX+1]; s = (double *)S_alloc(JMAXP+1,sizeof(double)); /* Initialisation of tmp arrays */ for(j = 0; j < JMAX+1; j++) tmpr[j] = 0.0; h[1]=1.0; /* Loop and test accuracy ----------------------*/ for (j=1;j<=JMAX;j++) { /* Trapezoidal rule */ s[j] = rtrapzdmod(x,y,p2,nodes,phi_nodes,nb_nodes,cent_freq,b_start,b_end,j); tmpr[j] = s[j]; /* printf("step=%d ,integral.r=%g12 ,integral.i=%g\n",j,(s[j]).r,(s[j]).i); */ if (j >= K) { /* Polynomial (Lagrange) extrapolation to estimate the limit of the integral as step goes to 0 */ polint(&h[j-K],&tmpr[j-K],(int)K,0.0,&ss,&dss); /* Test accuracy */ if (fabs(dss) < EPS*fabs(ss)) { return ss; } } s[j+1]=s[j]; h[j+1]=0.25*h[j]; } Rprintf("Too many steps in routine rqrombmod (x=%d, y=%d) \n",x,y); return(ss); } /*************************************************************** * Function: gqrombmod * --------- * Romberg quadrature for integration; * real-valued functions * * x,y: position of the wavelets in the integrand. * b_start, b_end: integration domain. * nodes, phi_nodes: position and scale of the nodes of the ridge. * nb_nodes: number of nodes of the ridge. ****************************************************************/ double gqrombmod(int x, int y, double *p2, double *nodes, double *phi_nodes, int nb_nodes,double scale,double b_start, double b_end) { double h[JMAXP+1]; double ss,dss; double *s; int j; double tmpr[JMAX+1]; s = (double *)S_alloc(JMAXP+1,sizeof(double)); /* Initialisation of tmp arrays */ for(j = 0; j < JMAX+1; j++) tmpr[j] = 0.0; h[1]=1.0; /* Loop and test accuracy ----------------------*/ for (j=1;j<=JMAX;j++) { /* Trapezoidal rule */ s[j] = gtrapzdmod(x,y,p2,nodes,phi_nodes,nb_nodes,scale,b_start,b_end,j); tmpr[j] = s[j]; if (j >= K) { /* Polynomial (Lagrange) extrapolation to estimate the limit of the integral as step goes to 0 */ polint(&h[j-K],&tmpr[j-K],(int)K,0.0,&ss,&dss); /* Test accuracy */ if (fabs(dss) < EPS*fabs(ss)) { return ss; } } (s[j+1])=(s[j]); h[j+1]=0.25*h[j]; } Rprintf("Too many steps in routine gqrombmod (x=%d, y=%d) \n",x,y); return(ss); } #undef EPS #undef JMAX #undef JMAXP #undef K /*************************************************************** * Function: trapzdmod * --------- * Integration with trapezoidal rule; * complex-valued functions * * x,y: position of the wavelets in the integrand. * b_start, b_end: integration domain. * nodes, phi_nodes: position and scale of the nodes of the ridge. * nb_nodes: number of nodes of the ridge. * n: order of the integration. ****************************************************************/ fcomplex trapzdmod(int x, int y, double *p2, double *nodes, double *phi_nodes, int nb_nodes,double cent_freq,double b_start, double b_end, int n) { double xx,tnm,del; static fcomplex s; fcomplex ctmp,sum; int it,j; if (n == 1) { ctmp = integrand(b_start,x,y,p2,nodes,phi_nodes,nb_nodes,cent_freq); ctmp = Cadd(ctmp,integrand(b_end,x,y,p2,nodes,phi_nodes,nb_nodes,cent_freq)); return (s=Cmul(Complex(0.5*(b_end-b_start),0),ctmp)); } else { for (it=1,j=1;j /*************************************************************** * $Log: complex.c,v $ * **************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ /* CAUTION: This is the ANSI C (only) version of the Numerical Recipes utility file complex.c. Do not confuse this file with the same-named file complex.c that is supplied in the same subdirectory or archive as the header file complex.h. *That* file contains both ANSI and traditional K&R versions, along with #ifdef macros to select the correct version. *This* file contains only ANSI C. */ #include typedef struct FCOMPLEX {double r,i;} fcomplex; fcomplex Cadd(fcomplex a, fcomplex b) { fcomplex c; c.r=a.r+b.r; c.i=a.i+b.i; return c; } fcomplex Csub(fcomplex a, fcomplex b) { fcomplex c; c.r=a.r-b.r; c.i=a.i-b.i; return c; } fcomplex Cmul(fcomplex a, fcomplex b) { fcomplex c; c.r=a.r*b.r-a.i*b.i; c.i=a.i*b.r+a.r*b.i; return c; } fcomplex Complex(double re, double im) { fcomplex c; c.r=re; c.i=im; return c; } fcomplex Conjg(fcomplex z) { fcomplex c; c.r=z.r; c.i = -z.i; return c; } fcomplex Cdiv(fcomplex a, fcomplex b) { fcomplex c; double r,den; if (fabs(b.r) >= fabs(b.i)) { r=b.i/b.r; den=b.r+r*b.i; c.r=(a.r+r*a.i)/den; c.i=(a.i-r*a.r)/den; } else { r=b.r/b.i; den=b.i+r*b.r; c.r=(a.r*r+a.i)/den; c.i=(a.i*r-a.r)/den; } return c; } double Cabs(fcomplex z) { double x,y,ans,temp; x=fabs(z.r); y=fabs(z.i); if (x == 0.0) ans=y; else if (y == 0.0) ans=x; else if (x > y) { temp=y/x; ans=x*sqrt(1.0+temp*temp); } else { temp=x/y; ans=y*sqrt(1.0+temp*temp); } return ans; } fcomplex Csqrt(fcomplex z) { fcomplex c; double x,y,w,r; if ((z.r == 0.0) && (z.i == 0.0)) { c.r=0.0; c.i=0.0; return c; } else { x=fabs(z.r); y=fabs(z.i); if (x >= y) { r=y/x; w=sqrt(x)*sqrt(0.5*(1.0+sqrt(1.0+r*r))); } else { r=x/y; w=sqrt(y)*sqrt(0.5*(r+sqrt(1.0+r*r))); } if (z.r >= 0.0) { c.r=w; c.i=z.i/(2.0*w); } else { c.i=(z.i >= 0) ? w : -w; c.r=z.i/(2.0*c.i); } return c; } } fcomplex RCmul(double x, fcomplex a) { fcomplex c; c.r=x*a.r; c.i=x*a.i; return c; } Rwave/src/snakesub.c0000644000176200001440000000244513230444130014103 0ustar liggesusers#include /*************************************************************** * $Log: snakesub2.c,v $ * **************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * **************************************************************** * Reduction of the size of the snake * ***************************************************************/ #include "Swave.h" void snakesub(rho,rate,snakesize) int rate, snakesize; double *rho; { int i; for(i=0; i< snakesize;i++){ *rho /= (double)rate; /* *rho = floorf(*rho); */ *rho = (double)floor((double)(*rho)); /* printf("rho=%f\n",*rho);*/ rho++; } return; } void snakexpand(rho,rate,snakesize) int rate, snakesize; double *rho; { int i; for(i=0; i< snakesize;i++){ *rho *= (double)rate; /* *rho = floorf(*rho); */ *rho = (double)floor((double)(*rho)); /* printf("rho=%f\n",*rho);*/ rho++; } return; } Rwave/src/random.h0000644000176200001440000000024213230444130013546 0ustar liggesusers/*****************************/ /* Global Variables */ /*****************************/ double gasdev( long *idum ); void qcksrt( int n, double arr[] ); Rwave/src/dwinverse.c0000644000176200001440000000650513230444130014277 0ustar liggesusers /*******************************************************************/ /* (c) Copyright 1997 */ /* by */ /* Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, A. Wang */ /* Princeton University e */ /* All right reserved */ /*******************************************************************/ #include #include #include #include "dau_wave.h" #include "Swave.h" #include "dyadic.h" /**************************************************************** * Function: inverse_wavelet_transform: * ------------------------------------ * Computation of the inversion of dyadic wavelet transform using spline * wavelet. This commands corresponds to the command dw, which computes * dyadic wavelet transform without subsampling at each resolution. * * f_back: reconstructed signal * Sf: multiresolution signals * Wf: wavelet tranform of signal * max_resoln: number of decomposition * np: signal size * filtername: reconstruction filter * ****************************************************************/ void inverse_wavelet_transform(f_back,Sf,Wf,max_resoln,np,filtername) double *f_back, *Sf, *Wf; int max_resoln, np; char *filtername; { int i, j, n, k; double sum; bound *K_bound, *S_bound; double **S, **K; int offset; double *tmp; if(!(tmp = (double *) R_alloc(np , sizeof(double)))) Rf_error("Memory allocation failed for tmp in signal_back.c \n"); KSfilter_bound(filtername,&K_bound,&S_bound,max_resoln); Sfilter_compute(filtername,&S,S_bound,max_resoln); Kfilter_compute(filtername,&K,K_bound,max_resoln); for( i = 0; i < np; i++) f_back[i] = Sf[i]; for ( j = max_resoln; j >= 1 ; j-- ){ for ( n = 0; n < np; n++ ) { sum = 0.0; for ( k = S_bound[j-1].lb; k <= S_bound[j-1].ub; k++ ){ sum += S[j-1][k-S_bound[j-1].lb] * f_back[(n-k+np)%np]; } tmp[n] = sum; } offset = (j - 1) * np; for ( n = 0; n < np; n++ ) { sum = 0.0; for ( k = K_bound[j-1].lb; k <= K_bound[j-1].ub; k++ ) { sum += K[j-1][k-K_bound[j-1].lb] * Wf[offset+(n-k+np)%np]; } tmp[n] = tmp[n] + sum; } signal_copy(tmp,f_back,0,np); } } /**************************************************************** * Function: Sinverse_wavelet_transform: * ------------------------------------- * Called by S plus. * Computation of the inversion of dyadic wavelet transform using spline * wavelet. This command is corresponding to the command dw, which computes * dyadic wavelet transform without subsampling at each resolution. * * f_back: reconstructed signal * Sf: multiresolution signals * Wf: wavelet tranform of signal * max_resoln: number of decomposition * np: signal size * filtername: reconstruction filter * ****************************************************************/ void Sinverse_wavelet_transform(f_back,Sf,Wf,pmax_resoln,pnp,pfiltername) double *f_back, *Sf, *Wf; int *pmax_resoln, *pnp; char **pfiltername; { int np, max_resoln; char *filtername; filtername = *pfiltername; np = *pnp; max_resoln = *pmax_resoln; inverse_wavelet_transform(f_back,Sf,Wf,max_resoln,np,filtername); } Rwave/src/cwt_phase.c0000644000176200001440000003067113230444130014247 0ustar liggesusers#include /**************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /***************************************************************** * Function: morlet_frequencyph: * Generation of Morlet wavelet and derivative (frequency domain) * * cf: central frequency * w: scaled wavelet (real part) * wd: scaled derivative of wavelet (imaginary part,up to a * - sign and scale factor) * isize: signal size ******************************************************************/ void morlet_frequencyph(double cf,double scale,double *w, double *wd,int isize) { double tmp, tmp1, tmp0; int i; double twopi; twopi = 6.28318530717959; tmp1 = exp(-(cf * cf)/2); for(i = 0; i < isize; i++) { tmp0 = (double)(scale * i * twopi/isize); tmp = (double)(tmp0 - cf); tmp = -(tmp * tmp)/2; w[i] = exp(tmp) - tmp1; wd[i]= w[i]*tmp0/(double)scale; } return; } /***************************************************************** * function normalization * Normalize the derivative of CWT by the square-modulus of CWT * * Oreal, Oimage: real and imaginary parts of wavelet transform. * Odreal, Odimage: real and imaginary parts of wavelet transform * derivative. ******************************************************************/ void normalization(double *Oreal, double *Oimage, double *Odreal, double *Odimage, int cwtlength) { double tmp; int i; for(i=0;i #include "Swave.h" /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ /* Numeric Recipe of C */ #include "rwkernel.h" #define NRANSI void polint(double xa[], double ya[], int n, double x, double *y, double *dy) { int i,m,ns=1; double den,dif,dift,ho,hp,w; double *c,*d; c=(double *)S_alloc(n,sizeof(double))-1; d=(double *)S_alloc(n,sizeof(double))-1; dif=fabs(x-xa[1]); for (i=1;i<=n;i++) { if ( (dift=fabs(x-xa[i])) < dif) { ns=i; dif=dift; } c[i]=ya[i]; d[i]=ya[i]; } *y=ya[ns--]; for (m=1;m /****************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, A. Wang * * Princeton University * * All right reserved * *******************************************************************/ #include "Swave.h" #include "dyadic.h" /**************************************************************** * Function: modulus_maxima: * ------------------------- * Computation of modulus local maxima of wavelet transform * * extrema: modulus local maxima of wavelet transform * wt: wavelet transform * resoln_ptr: number of decomposition * np_ptr: the signal size * ****************************************************************/ void modulus_maxima(double *extrema, double *wt, int *resoln_ptr, int *np_ptr ) { int resoln = *resoln_ptr; int np = *np_ptr; double *abs; int x, j; int offset; if(!(abs = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for abs in extrema.c"); for (j = 0; j < resoln; j++) { offset = j * np; for (x = 0; x < np; x++) abs[x] = fabs( (double) wt[offset+x] ); extrema[offset] = 0.0; extrema[offset+np-1] = 0.0; for ( x = 1; x < (np-1); x++ ) { if (((abs[x] > abs[x-1]) && (abs[x] >= abs[x+1])) || ((abs[x] > abs[x+1]) && (abs[x] >= abs[x-1]))) extrema[offset+x] = wt[offset+x]; else extrema[offset+x] = 0.0; } } } /**************************************************************** * Function: extrema_input: * ------------------------ * Converting extrema representation from array image_ext structure * * extrema: modulus local maxima of wavelet transform * max_resoln: number of decomposition * np: signal size * ext: structure of image_ext * num_of_extrema: number of extrema * ****************************************************************/ void extrema_input(double *extrema, int max_resoln, int np, image_ext **ext, int *num_of_extrema) { int j, k, t, length, offset; length = max_resoln * np; *num_of_extrema = 0; for ( t = 0; t < length; t++ ) if ( extrema[t] != 0.0 ) (*num_of_extrema)++; if(!(*ext = (image_ext *) R_alloc( (*num_of_extrema) , sizeof(image_ext) ))) Rf_error("Memory allocation failed for *ext in point_input.c \n"); k = 0; for ( j = 1; j <= max_resoln; j++ ) { offset = (j-1) * np; for ( t = 0; t < np; t++ ) if ( extrema[offset+t] != 0.0 ) { /* detect one extremum */ (*ext)[k].resoln= j; (*ext)[k].x = t; (*ext)[k].W1f = extrema[offset+t]; k++; } } } Rwave/src/dyadic.h0000644000176200001440000001173313230444130013532 0ustar liggesusers/**************************************************************** * $ Log: dyadic.h,v $ * * (c) Copyright 1995 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * University of California, Irvine * * All right reserved * ****************************************************************/ /**************************************************************** * Type Definition ****************************************************************/ typedef struct { int lb; /* lower_bound */ int ub; /* upper_bound */ int size; } bound; typedef struct { int resoln; int x; /* coordinate col from 0 ... */ int y; /* coordinate row from 0 ... */ double W1f; /* W1f */ double W2f; /* W2f */ } image_ext; /* in choldc.c ------- */ void double_choldc(double **a, int n, double p[]); void cholsl(double **a, int n, double p[], double b[], double x[]); void choldc(double **a, int n, double p[]); /* in mw.c ------- */ void Sf_compute(double *Sf,double *f,int *max_resoln_ptr, int *np_ptr,char *filtername); void Wf_compute(double *Wf, double *Sf, int *max_resoln_ptr, int *np_ptr, char *filtername); /* in dwfilter.c ------------- */ int iexp2(int j); void Hfilter_compute(char *filtername, double ***H, bound *H_bound, int max_resoln ); void Gfilter_compute(char *filtername, double ***G, bound *G_bound, int max_resoln); void HGfilter_bound(char *filtername, bound **H_bound, bound **G_bound, int max_resoln ); void HG_hat_compute(char *filtername, double ***H_hat, double ***G_hat, int max_resoln, int np); void Sfilter_compute(char *filtername, double ***S, bound *S_bound, int max_resoln); void Kfilter_compute(char *filtername, double ***K, bound *K_bound, int max_resoln); void Lfilter_compute(char *filtername, double ***L, bound *L_bound, int max_resoln); void KSfilter_bound(char *filtername, bound **K_bound, bound **S_bound, int max_resoln); void Lfilter_bound(char *filtername, bound **L_bound, int max_resoln); void PsiPhifilter_bound(bound **psi, bound **phi, bound *H_bound, bound *G_bound, int max_resoln); void signal_W_S(double ***W, double ***S, int max_resoln, int np); void signal_W_hat_S_hat(double ***W_hat, double ***S_hat, int max_resoln, int np); /* in dwvector.c ------------- */ void compute_convolution(double *s, double *f, double *g, int np ); void signal_zero( double *input, int size); void signal_copy( double *input, double *output, int size, int offset); void complex_product( double *product, double *s1, double *s2, int np); /* in dwfileio.c please don't write to disk ------------- void input_signal(char *fname, double **Pic, int size); void init_filename(char filename[]); void filename_given(char filename[], char *name); void strconcate(char s[] , char t[], char buff[]); void filename_inc(char filename[], int inc); void output_signal(double *s, int np, char *fname); void output_array(double **array, int nrow, int ncol, char *file_name ); */ /* in extrema.c ------------ */ void modulus_maxima(double *extrema, double *wt, int *resoln_ptr, int *np_ptr ); void extrema_input(double *extrema, int max_resoln, int np, image_ext **ext, int *num_of_extrema); /* in m_reconst.c -------------- */ void signal_penalty_function(double *f, double *lambda, double **W_tilda, image_ext *ext, int num_of_extrema, int np); void signal_position(char *filtername, double **lambda, image_ext *ext, double **Wtilda, double **W, int num_of_extrema, int max_resoln, int np); void extrema_reconst(char *filtername, double *f, double *extrema, int *max_resoln_ptr, int *np_ptr, int *preadfile); /* in dualwavelet.c ---------------- */ void signal_W_tilda(double ***W_tilda, double **W, double **K, int max_resoln, int np); void signal_W_tilda_input(double ***W_tilda, int max_resoln, int np); /* in svd.c -------- */ double pythag(double a, double b); void svdcmp(double **a, int m, int n, double *w, double **v); void svbksb(double **U, double *W, double **V, int m, int n, double *B, double *X); void svdecomp_solve(double **a, double *b, double *x, int m, int n, double **w, double ***v); void residue(double **a, double *w, double **v, int m, int n, double *b, double *x); void double_residue(double **a, double *w, double **v, int m, int n, double *b, double *x); void Sresidue(double *a, double *w, double *v, int m, int n, double *b, double *x); void Ssvdecomp(double *a, int *pm, int *pn, double *w, double *v); /* in dwkernel.c ------------- */ double fexp2(int j); void wavelet_transform_gradient(double **grad, double **s, int max_resoln, int np ); void signal_K_compute(double ***K, double **W, int max_resoln, int np ); /* please don't write to disk void signal_tilda_adjust(double **tilda, int ksize, char *fname, int fsize); */ Rwave/src/svd.c0000644000176200001440000003161213230444130013062 0ustar liggesusers#include /* NUMERICAL RECIPE */ /****************************************************************/ /* (c) Copyright 1997 */ /* by */ /* Author: Rene Carmona, Andrea Wang, Wen-Liang Hwang */ /* Princeton University */ /* All right reserved */ /****************************************************************/ /* This routine computes the singular value decomposition of a matrix */ /* a= u w v^t. The maxtix U is replaces a on output. The diagonal matrix */ /* of singular values w is output as a vector w[1..n]. The matrix v(not */ /* the transpost v^t) is output as v[1..n][1..n]. m must be greater or */ /* equal to n; if it is smaller, than a should be filled up to square */ /* with zero rows. */ #include "Swave.h" #include "denoise.h" #define SIGN(a,b) ((b) > 0.0 ? fabs(a) : -fabs(a)) static double sqrarg; #define SQR(a) ((sqrarg = (a)) == 0.0 ? 0.0 : sqrarg * sqrarg) static double maxarg1, maxarg2; #define FMAX(a,b) (maxarg1=(a), maxarg2=(b), (maxarg1) > (maxarg2) ? \ (maxarg1) : (maxarg2)) static int iminarg1, iminarg2; #define IMIN(a,b) (iminarg1=(a), iminarg2=(b),(iminarg1) < (iminarg2) ? \ (iminarg1) : (iminarg2)) double pythag(double a, double b) { double absa, absb; absa = fabs(a); absb = fabs(b); if(absa > absb) return (absa * sqrt(1.0 + SQR(absb/absa))); else return (absb == 0.0 ? 0.0 : absb * sqrt(1.0+SQR(absa/absb))); } void svdcmp(double **a, int m, int n, double *w, double **v) { int flag, i, its, j, jj, k, l, nm; double anorm, c, f, g, h, s, scale, x, y, z, *rv1; if(!(rv1 = (double *)R_alloc((n + 1), sizeof(double) ))) Rf_error("Memory allocation failed for rv1 in svd.c \n"); g = scale = anorm = 0.0; /* Householder reduction to bidiagonal form */ for (i = 1; i <= n; i++) { l = i + 1; rv1[i] = scale * g; g = s = scale = 0.0; if(i <= m) { for(k=i;k <= m; k++) scale += fabs(a[k][i]); if(scale) { for(k=i; k <=m;k++) { a[k][i] /= scale; s += a[k][i] * a[k][i]; } f = a[i][i]; g = -SIGN(sqrt(s),f); h = f * g - s; a[i][i] = f-g; for ( j= l; j <= n; j++) { for(s= 0.0, k= i; k<=m; k++) s+= a[k][i] * a[k][j]; f = s/h; for(k=i; k<= m;k++) a[k][j] += f * a[k][i]; } for(k=i;k<=m;k++) a[k][i] *= scale; } } w[i] = scale * g; g = s = scale = 0.0; if(i<= m && i != n) { for (k = l; k <= n; k++) scale += fabs(a[i][k]); if(scale) { for(k= l; k<=n; k++) { a[i][k] /= scale; s += a[i][k] * a[i][k]; } f = a[i][l]; g = -SIGN(sqrt(s),f); h= f*g-s; a[i][l] = f-g; for(k = l; k <= n; k++) rv1[k] = a[i][k]/h; for ( j = l; j <= m; j++) { for (s = 0.0, k= l; k <= n; k++) s += a[j][k] * a[i][k]; for (k = l; k <= n; k++) a[j][k] += s * rv1[k]; } for(k = l; k <= n; k++) a[i][k] *= scale; } } anorm = FMAX(anorm, (fabs(w[i]) + fabs(rv1[i]))); } /* Accumulation of right-hand transformations */ for (i = n; i >= 1; i--) { if (i < n) { if(g) { for (j = l; j <= n; j++) v[j][i] = (a[i][j]/a[i][l])/g; for(j = l; j <= n; j++) { for (s = 0.0, k = l; k <= n; k++) s += a[i][k] * v[k][j]; for(k = l; k <= n; k++) v[k][j] += s * v[k][i]; } } for(j = l; j <= n; j++) v[i][j] = v[j][i] = 0.0; } v[i][i] = 1.0; g= rv1[i]; l = i; } /* Accumulation of left-hand transformations */ for(i = IMIN(m,n); i >= 1; i--) { l = i + 1; g = w[i]; for(j = l; j <= n; j++) a[i][j] = 0.0; if(g) { g = 1.0/g; for ( j = l; j <= n; j++) { for ( s= 0.0, k = l; k <= m; k++) s+= a[k][i] * a[k][j]; f = (s/a[i][i]) * g; for( k = i; k <= m; k++) a[k][j] += f * a[k][i]; } for(j = i; j <= m; j++) a[j][i] *= g; } else for (j = i; j <= m; j++) a[j][i] = 0.0; ++a[i][i]; } /* Diagonalization of bidiagonal form */ for(k = n; k >= 1; k--) { for(its= 1; its <= 30; its++) { flag = 1; for(l=k; l >= 1; l--) { nm = l-1; if((double)(fabs(rv1[l]) + anorm) == (double)anorm) { flag = 0; break; } if((double)(fabs(w[nm]) + anorm) == (double)anorm) break; } if(flag) { c = 0.0; s = 1.0; for(i = l; i <= k; i++) { f = s * rv1[i]; rv1[i] = c * rv1[i]; if ((double)(fabs(f) + anorm) == (double)anorm) break; g = w[i]; h = pythag(f,g); w[i] = h; h = 1.0/h; c = g * h; s = -f * h; for( j = 1; j <= m; j++) { y = a[j][nm]; z = a[j][i]; a[j][nm] = y * c + z * s; a[j][i] = z * c - y * s; } } } z = w[k]; if( l == k) { if ( z < 0.0) { w[k] = -z; for ( j = 1; j <= n; j++) v[j][k] = (-v[j][k]); } break; } if(its == 30) Rf_error("No convergence in 30 SVDCMP iterations"); x = w[l]; nm = k - 1; y = w[nm]; g = rv1[nm]; h = rv1[k]; f = ((y-z) * (y + z) + (g - h) * (g + h))/(2.0*h*y); g = pythag(f,1.0); f= ((x-z) * (x+z) + h * ((y/(f + SIGN(g,f))) - h))/x; c=s = 1.0; for(j = l; j <= nm; j++) { i = j + 1; g = rv1[i]; y = w[i]; h = s * g; g = c * g; z = pythag(f,h); rv1[j] = z; c = f/z; s = h/z; f = x * c + g * s; g = g * c - x * s; h = y * s; y *= c; for ( jj= 1; jj <= n; jj++) { x = v[jj][j]; z = v[jj][i]; v[jj][j] = x * c + z * s; v[jj][i] = z * c - x * s; } z = pythag(f,h); w[j] = z; if(z) { z = 1.0/z; c = f * z; s = h * z; } f = (c * g) + (s * y); x = (c * y) - (s * g); for(jj = 1; jj <= m; jj++) { y = a[jj][j]; z = a[jj][i]; a[jj][j] = y * c + z * s; a[jj][i] = z * c - y * s; } } rv1[l] = 0.0; rv1[k] = f; w[k] = x; } } } /**********************************************************************/ /* Solve AX = B for a vector X, where A is specified by the array */ /* U, w and v as returned by svdcmp. b is the input right-hand side */ /* x is the output solution vector. No input quantities are destroyed */ /* so the routin may be called sequentially with different b's. */ /**********************************************************************/ void svbksb(double **U, double *W, double **V, int m, int n, double *B, double *X) { int jj, j, i; double s, *tmp; if(!(tmp = (double *)R_alloc((n+1), sizeof(double) ))) Rf_error("Memory allocation failed for tmp in svd.c \n"); for (j = 1; j <= n; j++) { s = 0.0; if (W[j]) { for(i = 1; i <= m; i++) s += U[i][j] * B[i]; s = s/W[j]; } tmp[j] = s; } for(j=1; j <= n; j++) { s = 0.0; for(jj = 1; jj <= n; jj++) s += V[j][jj] * tmp[jj]; X[j] = s; } } /* solve linear Ax = B by single value decomposition */ void svdecomp_solve(double **a, double *b, double *x, int m, int n, double **w, double ***v) { int i, j; double **A, *W, **V, *B, *X; void double_residue(); if(!((*w) = (double *) R_alloc(n, sizeof(double) ))) Rf_error("Memory allocation failed for (*w) in svd.c \n"); if(!((*v) = (double **)R_alloc( n, sizeof(double *)))) Rf_error("Memory allocation failed for (*v) in svd.c \n"); for(i = 0; i < n; i++) if(!((*v)[i] = (double *) R_alloc(n, sizeof(double) ))) Rf_error("Memory allocation failed for (*v)[] in svd.c \n"); if(!(W = (double *)R_alloc((n+1), sizeof(double) ))) Rf_error("Memory allocation failed for W in svd.c \n"); if(!(V = (double **)R_alloc( (n+1), sizeof(double *)))) Rf_error("Memory allocation failed for V in svd.c \n"); if(!(A = (double **)R_alloc( (m+1), sizeof(double *)))) Rf_error("Memory allocation failed for A in svd.c \n"); if(!(B = (double *)R_alloc((m+1), sizeof(double) ))) Rf_error("Memory allocation failed for B in svd.c \n"); if(!(X = (double *)R_alloc((n+1), sizeof(double) ))) Rf_error("Memory allocation failed for X in svd.c \n"); for(i = 0; i <= n; i++) if(!(V[i] = (double *)R_alloc((n+1), sizeof(double) ))) Rf_error("Memory allocation failed for V[] in svd.c \n"); for(i = 0; i <= m; i++) if(!(A[i] = (double *)R_alloc((n+1), sizeof(double) ))) Rf_error("Memory allocation failed for A[] in svd.c \n"); for( i = 0; i < m; i++) { B[i+1] = (double)(b[i]); for(j = 0; j < n; j++) A[i + 1][j + 1] = (double)(a[i][j]); } svdcmp(A,m,n,W,V); svbksb(A,W,V,m,n,B,X); double_residue(A,W,V,m,n,B,X); for( i = 0; i < m; i++) for(j = 0; j < n; j++) a[i][j] = (double)(A[i+1][j+1]); for( i = 0; i < n; i++) for(j = 0; j < n; j++) (*v)[i][j] = (double)(V[i+1][j+1]); for(i = 0; i < n; i++) { (*w)[i] = (double)(W[i + 1]); x[i] = (double)(X[i+1]); } /* residue(a,*w,*v,m,n,b,x); */ /* output_array(a,m,n,"U"); output_array((*v),n,n,"V"); output_signal(b,m,"B"); output_signal(x,n,"X"); output_signal((*w),n,"W"); */ } /* compute the L2 Norm */ void residue(double **a, double *w, double **v, int m, int n, double *b, double *x) { double **tmp, *tmp1; double sum; int i, j, k; if(!(tmp = (double **)R_alloc( m, sizeof(double *)))) Rf_error("Memory allocation failed for tmp in svd.c \n"); if(!(tmp1 = (double *) R_alloc(m, sizeof(double) ))) Rf_error("Memory allocation failed for tmp1 in svd.c \n"); for(i = 0 ; i < m; i++) if(!(tmp[i] = (double *) R_alloc(n, sizeof(double) ))) Rf_error("Memory allocation failed for tmp[] in svd.c \n"); for(i = 0; i < m; i++) for(j = 0; j < n; j++) { tmp[i][j] = 0.0; for(k = 0; k < n; k++) tmp[i][j] = tmp[i][j] + w[k] * a[i][k] * v[j][k]; } for(i = 0; i < m; i++) { tmp1[i] = 0.0; for(k = 0; k < n; k++) tmp1[i] = tmp1[i] + tmp[i][k] * x[k]; } for(i = 0; i < m; i++) tmp1[i] = tmp1[i] - b[i]; sum = 0.0; for(i = 0; i < m; i++) sum = sum + tmp1[i] * tmp1[i]; /* printf("Residule is %g \n",sum); */ } void double_residue(double **a, double *w, double **v, int m, int n, double *b, double *x) { double **tmp, *tmp1; double sum; int i, j, k; if(!(tmp = (double **)R_alloc( (m+1), sizeof(double *)))) Rf_error("Memory allocation failed for tmp in svd.c \n"); if(!(tmp1 = (double *)R_alloc((m+1), sizeof(double) ))) Rf_error("Memory allocation failed for tmp1 in svd.c \n"); for(i = 1 ; i <= m; i++) if(!(tmp[i] = (double *)R_alloc((n+1), sizeof(double) ))) Rf_error("Memory allocation failed for tmp[] in svd.c \n"); for(i = 1; i <= m; i++) for(j = 1; j <= n; j++) { tmp[i][j] = 0.0; for(k = 1; k <= n; k++) tmp[i][j] = tmp[i][j] + w[k] * a[i][k] * v[j][k]; } for(i = 1; i <= m; i++) { tmp1[i] = 0.0; for(k = 1; k <= n; k++) tmp1[i] = tmp1[i] + tmp[i][k] * x[k]; } for(i = 1; i <= m; i++) tmp1[i] = tmp1[i] - b[i]; sum = 0.0; for(i = 1; i <= m; i++) sum = sum + tmp1[i] * tmp1[i]; /* printf("Residule is %g \n",sum); */ } /* compute the L2 Norm */ /* void Sresidue(double *a, double *w, double *v, int m, int n, double *b, double *x) { double *tmp, *tmp1; double sum; int i, j, k; int t; if(!(tmp = (double *)malloc(sizeof(double) * m * n))) Rf_error("Memory allocation failed for tmp in svd.c \n"); if(!(tmp1 = (double *)malloc(sizeof(double) * m))) Rf_error("Memory allocation failed for tmp1 in svd.c \n"); for(i = 0; i < m; i++) for(j = 0; j < n; j++) { t = i * n + j; tmp[t] = 0.0; for(k = 0; k < n; k++) tmp[t] = tmp[t] + w[k] * a[i*n+k] * v[j*n+k]; } for(i = 0; i < m; i++) { tmp1[i] = 0.0; for(k = 0; k < n; k++) tmp1[i] = tmp1[i] + tmp[i*n+k] * x[k]; } for(i = 0; i < m; i++) tmp1[i] = tmp1[i] - b[i]; sum = 0.0; for(i = 0; i < m; i++) sum = sum + tmp1[i] * tmp1[i]; printf("Residule is %f \n",sum); free(tmp); free(tmp1); } */ /* Called by Splus */ void Ssvdecomp(double *a, int *pm, int *pn, double *w, double *v) { int m, n; int i, j, k; double **A; double **V; double *W; m = *pm; n = *pn; if(!(A = (double **)R_alloc( (m+1), sizeof(double *)))) Rf_error("Memory allocation failed for A in svd.c \n"); if(!(V = (double **)R_alloc( (n+1), sizeof(double *)))) Rf_error("Memory allocation failed for V in svd.c \n"); if(!(W = (double *)R_alloc((n+1), sizeof(double) ))) Rf_error("Memory allocation failed for W in svd.c \n"); for(i = 0; i <= m; i++) if(!(A[i] = (double *)R_alloc((n+1), sizeof(double) ))) Rf_error("Memory allocation failed for A[] in svd.c \n"); for(i = 0; i <= n; i++) if(!(V[i] = (double *)R_alloc((n+1), sizeof(double) ))) Rf_error("Memory allocation failed for V[] in svd.c \n"); for(j = 0; j < n; j++) for( i = 0; i < m; i++) A[i + 1][j + 1] = (double)(a[j * m + i]); svdcmp(A,m,n,W,V); for(i = 0,k=0; i < n; i++) for( j = 0; j < m; j++,k++) a[k] = A[j+1][i+1]; for( i = 0; i < n; i++) w[i] = W[i+1]; for( i = 0, k = 0; i < n; i++) for(j = 0; j < n; j++, k++) v[k] = V[j+1][i+1]; } Rwave/src/splsnake.c0000644000176200001440000000623713230444130014113 0ustar liggesusers#include /****************************************************************/ /* (c) Copyright 1997 */ /* by */ /* Author: Rene Carmona, Andrea Wang, Wen-Liang Hwang */ /* Princeton University */ /* All right reserved */ /****************************************************************/ /**************************************************************************** * $Log: splsnake.c,v $ ***************************************************************************** * * * This file contains proprietary information * * * ***************************************************************************** * Cubic spline interpolation of the ridge of wavelet transform * * of amplitude and frequency modulated signals * * Modification of the routines spline.c and splint.c * * (numerical Recipes) * * * * y: input vector * * yy: output (interpolated) vector * * rate: subsampling rate * ****************************************************************************/ #include "Swave.h" /*************************************************************************** * n: number of elements of the snake * rate: subsampling rate for the wavelet transform (b direction) * ***************************************************************************/ void splsnake(rate, x, y, n, yy) int rate,n; double *x, *y, *yy; { int i,k, khi, klo, ilo, ihi; double p,qn,sig,un,*u,yp1,ypn,a,b,h; double *y2; u=(double *)S_alloc(n,sizeof(double)); y2=(double *)S_alloc(n+1,sizeof(double)); yp1 = ypn =0; if (yp1 > 0.99e30) y2[1]=u[1]=0.0; else { y2[1] = -0.5; u[1]=(3.0/(x[2]-x[1]))*((y[2]-y[1])/(x[2]-x[1])-yp1); } for (i=2;i<=n-1;i++) { sig=(x[i]-x[i-1])/(x[i+1]-x[i-1]); p=sig*y2[i-1]+2.0; y2[i]=(sig-1.0)/p; u[i]=(y[i+1]-y[i])/(x[i+1]-x[i]) - (y[i]-y[i-1])/(x[i]-x[i-1]); u[i]=(6.0*u[i]/(x[i+1]-x[i-1])-sig*u[i-1])/p; } if (ypn > 0.99e30) qn=un=0.0; else { qn=0.5; un=(3.0/(x[n]-x[n-1]))*(ypn-(y[n]-y[n-1])/(x[n]-x[n-1])); } y2[n]=(un-qn*u[n-1])/(qn*y2[n-1]+1.0); for (k=n-1;k>=1;k--){ y2[k]=y2[k]*y2[k+1]+u[k]; } /* Interpolation */ ilo = (int)(x[1])*rate; ihi = (int)(x[n])*rate; for(i=ilo;i 1) { k=(khi+klo) >> 1; if (x[k]*rate > (double)i) khi=k; else klo=k; } h=(x[khi]-x[klo])*rate; if (h == 0.0) Rf_error("Impossible interpolation"); a=(rate*x[khi]-i)/h; b=(i-x[klo]*rate)/h; yy[i]=a*y[klo]+b*y[khi]+((a*a*a-a)*y2[klo]+(b*b*b-b)*y2[khi])*(h*h)/6.0; } return; } Rwave/src/cwt_dog.c0000644000176200001440000001553713230444130013724 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #include "Swave.h" #include "denoise.h" /*************************************************************** * Function: DOG_frequency: * --------- * Generates a DOG wavelet in the frequency domain. * The wavelet is centered at the origin, and normalized so * that psi(0) =1/sqrt(2 pi) * * w: wavelet * scale: scale of the wavelet * isize: window size * M: number of vanishing moments ***************************************************************/ void DOG_frequency(int M,double scale,double *w,int isize) { double tmp, cst; int i; cst = exp(-(double)M*(1.-log((double)M)))/2.; for(i = 0; i < isize; i++) { tmp = (double)(scale * (double)i * sqrt((double)M)/(double)isize); *w = exp(-tmp*tmp/2.)*pow(tmp,(double)M)/cst; w++; } return; } /***************************************************************** * function: Scwt_DOG_r * Continuous wavelet transform : * * input: (real-valued) input signal * Ri1, Ii1: Fourier transform of input signal (real and * imaginary parts). * Ri2: Real part of Fourier transform of Morlet wavelet * Oreal,Oimage: real and imaginary parts of CWT * pinputsize: signal size * pnboctave: number of scales (powers of 2) * pnvoice: number of scales between 2 consecutive powers of 2 * pcenterfrequency: centralfrequency of Morlet wavelet ******************************************************************/ void Scwt_DOG_r(double *input, double *Oreal, double *Oimage, int *pnboctave, int *pnbvoice, int *pinputsize, int *pM) { int nboctave, nbvoice, i, j, inputsize, M; double a; double *Ri2, *Ri1, *Ii1, *Ii, *Ri; M= *pM; nboctave = *pnboctave; nbvoice = *pnbvoice; inputsize = *pinputsize; if(!(Ri2 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri2 in cwt_DOG.c \n"); if(!(Ri1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri1 in cwt_DOG.c \n"); if(!(Ii1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii1 in cwt_DOG.c \n"); if(!(Ri = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri in cwt_DOG.c \n"); if(!(Ii = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii in cwt_DOG.c \n"); for(i = 0; i < inputsize; i++) { Ri[i] = (double)input[i]; Ii[i] = 0.0; } double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); for(i = 1; i <= nboctave; i++) { for(j=0; j < nbvoice; j++) { a = (double)(pow((double)2,(double)(i+j/((double)nbvoice)))); DOG_frequency(M,a,Ri2,inputsize); multi(Ri1,Ii1,Ri2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,1); Oreal = Oreal + inputsize; Oimage = Oimage + inputsize; } } } /***************************************************************** * function: Scwt_DOG * Continuous wavelet transform : * * input: (a priori complex-valued) input signal * Ri1, Ii1: Fourier transform of input signal (real and * imaginary parts). * Ri2: Real part of Fourier transform of Morlet wavelet * Oreal,Oimage: real and imaginary parts of CWT * pinputsize: signal size * pnboctave: number of scales (powers of 2) * pnvoice: number of scales between 2 consecutive powers of 2 * pM: number of vanishing moments ******************************************************************/ void Scwt_DOG(double *Rinput,double *Iinput,double *Oreal, double *Oimage,int *pnboctave,int *pnbvoice, int *pinputsize,int *pM) { int nboctave, nbvoice, i, j, inputsize, M; double a; double *Ri2, *Ri1, *Ii1, *Ii, *Ri; M = *pM; nboctave = *pnboctave; nbvoice = *pnbvoice; inputsize = *pinputsize; if(!(Ri2 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri2 in cwt_DOG.c \n"); if(!(Ri1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri1 in cwt_DOG.c \n"); if(!(Ii1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii1 in cwt_DOG.c \n"); if(!(Ri = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri in cwt_DOG.c \n"); if(!(Ii = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii in cwt_DOG.c \n"); for(i = 0; i < inputsize; i++) { Ri[i] = (double)Rinput[i]; Ii[i] = (double)Iinput[i]; } double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); for(i = 1; i <= nboctave; i++) { for(j=0; j < nbvoice; j++) { a = (double)(pow((double)2,(double)(i+j/((double)nbvoice)))); DOG_frequency(M,a,Ri2,inputsize); multi(Ri1,Ii1,Ri2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,1); Oreal = Oreal + inputsize; Oimage = Oimage + inputsize; } } } /*************************************************************** * Function: Svwt_DOG: * --------- * Computes the continuous wavelet transform of input * signal with Morlet wavelet, a fixed scale a * * Rinput, Iinput: real and imaginary parts of the signal * Oreal, Oimage: real and imaginary parts of the cwt. ***************************************************************/ void Svwt_DOG(double *Rinput,double *Iinput,double *Oreal, double *Oimage,double *pa,int *pinputsize, int *pM) { int i, inputsize, M; double a; double *Ri2, *Ri1, *Ii1, *Ii, *Ri; M = *pM; a = *pa; inputsize = *pinputsize; if(!(Ri2 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri2 in cwt_DOG.c \n"); if(!(Ri1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri1 in cwt_DOG.c \n"); if(!(Ii1 = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii1 in cwt_DOG.c \n"); if(!(Ri = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ri in cwt_DOG.c \n"); if(!(Ii = (double *) R_alloc(inputsize, sizeof(double) ))) Rf_error("Memory allocation failed for Ii in cwt_DOG.c \n"); for(i = 0; i < inputsize; i++) { Ri[i] = (double)Rinput[i]; Ii[i] = (double)Iinput[i]; } double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); DOG_frequency(M,a,Ri2,inputsize); multi(Ri1,Ii1,Ri2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,1); } Rwave/src/rwkernel.c0000644000176200001440000003471013230444130014121 0ustar liggesusers#include #include "Swave.h" /*************************************************************** * $Log: kernel.c,v $ * **************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #include "rwkernel.h" /****************************************************************** * Function: integrand * --------- * Evaluates the integrand for Romberg integration. * * b: center position of wavelets and derivatives. * x,y: Integration variables. * p2: second derivative of ridge function. * nodes, phi_nodes: position and scale of the nodes of the ridge. * (warning: this is the real scale, and not its log). * nb_nodes: number of nodes of the ridge. * w0: central frequency of Morlet's wavelet. *******************************************************************/ fcomplex integrand(double b,int x,int y,double *p2,double *nodes, double *phi_nodes,int nb_nodes,double w0) { fcomplex ctmp,psi_x,psi_y,psiprime_x,psiprime_y; double xpos,ypos,xpos0,ypos0,phi_b2,tmp,phi_b,phip_b,w02; fcomplex integ; integ.r =0.0; integ.i = 0.0; w02 = w0 * w0; /* Spline interpolation of the ridge; computation of its derivative ---------------------------------------------------------------*/ splint2(nodes,phi_nodes,p2,nb_nodes,b,&phi_b,&phip_b); /* Evaluation of the integrand --------------------------*/ xpos0 = x-b; xpos = xpos0/phi_b; ypos0 = y-b; ypos = ypos0/phi_b; phi_b2 = phi_b * phi_b; psi_x = psi(xpos,w0); psiprime_x = psiprime(xpos,w0); psi_y = psi(ypos,w0); psiprime_y = psiprime(ypos,w0); /* psi_psi term */ integ = Cmul(psi_y,Conjg(psi_x)) ; tmp= (phip_b*phip_b - w02); ctmp=Complex(tmp,0); integ = Cmul(integ,ctmp); /* psiprime_psiprime term */ ctmp=Complex(1.0 + xpos + ypos + xpos*ypos,0); ctmp = Cmul(ctmp,Conjg(psiprime_x)); ctmp = Cmul(ctmp,psiprime_y); integ = Cadd(integ,ctmp); /* psi_psiprime terms */ tmp = 1. + ypos; ctmp = Complex(tmp*phip_b,0.); ctmp = Cmul(ctmp,Conjg(psi_x)); ctmp = Cmul(ctmp,psiprime_y); integ = Cadd(integ,ctmp); tmp = 1. + xpos; ctmp = Complex(tmp*phip_b,0.); ctmp = Cmul(ctmp,Conjg(psiprime_x)); ctmp = Cmul(ctmp,psi_y); integ = Cadd(integ,ctmp); /* normalisation */ tmp =phi_b2*phi_b2; ctmp = Complex(1/tmp,0); integ = Cmul(integ,ctmp); return (integ); } /****************************************************************** * Function: rintegrand * --------- * Evaluates the integrand for Romberg integration, in the * case of a real valued wavelet kernel. * * b: center position of wavelets and derivatives. * x,y: Integration variables. * p2: second derivative of ridge function. * nodes, phi_nodes: position and scale of the nodes of the ridge. * (warning: this is the real scale, and not its log). * nb_nodes: number of nodes of the ridge. * w0: central frequency of Morlet's wavelet. *******************************************************************/ double rintegrand(double b,int x,int y,double *p2,double *nodes, double *phi_nodes,int nb_nodes,double w0) { fcomplex psi_x,psi_y,psiprime_x,psiprime_y; double xpos,ypos,xpos0,ypos0,phi_b2,tmp,phi_b,phip_b,w02; double integ; integ =0.0; w02 = w0 * w0; /* Spline interpolation of the ridge; computation of its derivative ---------------------------------------------------------------*/ splint2(nodes,phi_nodes,p2,nb_nodes,b,&phi_b,&phip_b); /* Evaluation of the integrand --------------------------- */ xpos0 = x-b; xpos = xpos0/phi_b; ypos0 = y-b; ypos = ypos0/phi_b; phi_b2 = phi_b * phi_b; psi_x = psi(xpos,w0); psiprime_x = psiprime(xpos,w0); psi_y = psi(ypos,w0); psiprime_y = psiprime(ypos,w0); /* psi_psi term */ integ = (psi_y).r * (psi_x).r + (psi_y).i * (psi_x).i ; tmp= (phip_b*phip_b - w02); integ *= tmp; /* psiprime_psiprime term */ tmp=1.0 + xpos + ypos + xpos*ypos; tmp *= ((psiprime_y).r*(psiprime_x).r + (psiprime_y).i*(psiprime_x).i); integ += tmp; /* psi_psiprime terms */ tmp = 1. + ypos; tmp *= phip_b; tmp *= ((psiprime_y).r*(psi_x).r + (psiprime_y).i*(psi_x).i); integ += tmp; tmp = 1. + xpos; tmp *= phip_b; tmp *= ((psi_y).r*(psiprime_x).r + (psi_y).i*(psiprime_x).i); integ += tmp; /* normalisation */ tmp =phi_b2*phi_b2; integ /= tmp; return (integ); } /****************************************************************** * Function: maxvalue * --------- * Maximal element of an array * * vector: array whose maximal element is seeked. * length: length of the array. *******************************************************************/ double maxvalue(double *vector, int length) { double maxi; int i; maxi=0; for(i=0; i< length; i++){ maxi = MAX(maxi,*vector); vector++; } return maxi; } /********************************************************* * Function: hermite_sym * --------- * Complete a matrix by Hermite symmetry * * ker: matrix to be filled in. * lng: number of rows (and columns) of the matrix. **********************************************************/ void hermite_sym(fcomplex *ker,int lng) { int i,j; for (i=0;ii;j--){ /* ker[i*lng +j] = Conjg(ker[j*lng +i]);*/ (ker[i*lng +j]).r = (ker[j*lng +i]).r; (ker[i*lng +j]).i = -(ker[j*lng +i]).i; } } return; } /*********************************************************** * Function: kernel * --------- * Computation of the kernel * * ker_r, ker_i: real and imaginary parts of the kernel. * px_min, px_max: limiting values for the integration. * px_inc: distance between 2 consecutive x,y values. * plng:length * nodes, phi_nodes: position and (true) scale of the * samples of the ridge. * pnb_nodes: number of nodes of the sampled ridge. * pw0: central frequency of Morlet'x wavelet. * pb_start, pb_end: integration bounds. ************************************************************/ void rwkernel(double *ker_r, double *ker_i,int *px_min,int *px_max, int *px_inc, int *plng, double *nodes,double *phi_nodes, int *pnb_nodes,double *pw0,double *pb_start,double *pb_end) { double *p2, b_start=*pb_start, b_end=*pb_end, w0=*pw0; double phimax, b_lo,b_hi; int x,y; int x_min=*px_min,x_max=*px_max,x_inc=*px_inc; int lng=*plng,nb_nodes=*pnb_nodes; int i=0,up_bound,gamma_min,lng2; fcomplex *ker,*p_tmp; p2 = (double *)S_alloc(nb_nodes,sizeof(double)); ker = (fcomplex *)S_alloc(lng*lng,sizeof(fcomplex)); p_tmp=ker; /* mark the first element of ker */ phimax = maxvalue(phi_nodes,nb_nodes); up_bound = (int)(phimax * sqrt(-2.0 * log(EPS))+1); lng2=lng*lng; /* Compute second derivative of the ridge for spline interpolation ---------------------------------------------------------------*/ spline(nodes-1,phi_nodes-1,nb_nodes,(double)0,(double)0,p2-1); /* Integrate --------*/ for(x=x_min;x<=x_max;x+=x_inc){ /* fprintf(stderr,"x = %d; ", x); fflush(stderr); */ /* Evaluate the range of computation of the kernel */ gamma_min = MAX(x_min,(x-2*up_bound) -(x-x_min-2*up_bound)%x_inc); ker += (gamma_min-x_min)/x_inc; i = (gamma_min-x_min)/x_inc; for(y = gamma_min; y <= x; y+=x_inc){ /* Estimation of integration bounds */ b_lo = MAX(MAX(x-2*up_bound,y-2*up_bound),b_start); b_hi = MIN(MIN(x+2*up_bound,y+2*up_bound),b_end); /* Evaluation of the kernel */ *ker = qrombmod(x,y,p2-1,nodes,phi_nodes,nb_nodes,w0,b_lo,b_hi); ker++; i++; } ker -= (i - lng) ; } ker = p_tmp; /* Finish to fill in the kernel by Hermite symmetry -----------------------------------------------*/ /* printf("Now going to hermite_sym\n");*/ hermite_sym(ker,lng); /* i=0; for(x=x_min;x<=x_max;x+=x_inc){ for(y=x_min;y<=x_max;y+=x_inc){ *ker_r = ker->r; ker_r++; *ker_i = ker->i; ker_i++; ker++; i++; } } ker -= i; ker_r -= i; ker_i -= i; */ /* printf("Now loading in ker_r and ker_i\n");*/ for(i=0;ir; ker_r++; *ker_i = ker->i; ker_i++; ker++; } ker -= lng2; ker_r -= lng2; ker_i -= lng2; } /*********************************************************** * Function: rkernel * --------- * Computation of the kernel * * ker_r, ker_i: real and imaginary parts of the kernel. * x_min, x_max: limiting values for the integration. * x_inc: distance between 2 consecutive x,y values. * nodes, phi_nodes: position and scale of the samples * of the ridge. * nb_nodes: number of nodes of the sampled ridge. * b_start, b_end: integration bounds. ************************************************************/ void rkernel(double *ker,int *px_min,int *px_max,int *px_inc, int *plng, double *nodes,double *phi_nodes,int *pnb_nodes, double *pw0,double *pb_start,double *pb_end) { double *p2, b_start=*pb_start, b_end=*pb_end, w0=*pw0; double phimax, b_lo,b_hi; int x,y; int x_min=*px_min,x_max=*px_max,x_inc=*px_inc,lng=*plng,nb_nodes=*pnb_nodes; int i=0,up_bound,gamma_min,lng2; double *p_tmp; p2 = (double *)S_alloc(nb_nodes,sizeof(double)); p_tmp=ker; /* mark the first element of ker */ phimax = maxvalue(phi_nodes,nb_nodes); up_bound = (int)(phimax * sqrt(-2.0 * log(EPS))+1); lng2=lng*lng; /* Compute second derivative of the ridge for spline interpolation ---------------------------------------------------------------*/ spline(nodes-1,phi_nodes-1,nb_nodes,(double)0,(double)0,p2-1); /* Integrate --------*/ for(x=x_min;x<=x_max;x+=x_inc){ /* fprintf(stderr,"x = %d; ", x); fflush(stderr); */ /* Evaluate the range of computation of the kernel */ gamma_min = MAX(x_min,(x-2*up_bound) -(x-x_min-2*up_bound)%x_inc); ker += (gamma_min-x_min)/x_inc; i = (gamma_min-x_min)/x_inc; for(y = gamma_min; y <= x; y+=x_inc){ /* Estimation of integration bounds */ b_lo = MAX(MAX(x-2*up_bound,y-2*up_bound),b_start); b_hi = MIN(MIN(x+2*up_bound,y+2*up_bound),b_end); /* Evaluation of the kernel */ *ker = rqrombmod(x,y,p2-1,nodes,phi_nodes,nb_nodes,w0,b_lo,b_hi); ker++; i++; } ker -= (i - lng) ; } ker = p_tmp; /* Finish to fill in the kernel by Hermite symmetry -----------------------------------------------*/ /* printf("Now going to hermite_sym\n");*/ ghermite_sym(ker,lng); /* for(i=0;ir; ker_r++; *ker_i = ker->i; ker_i++; ker++; i++; } } ker -= i; ker_r -= i; ker_i -= i; */ /* printf("Now loading in ker_r and ker_i\n");*/ for(i=0;ir; ker_r++; *ker_i = ker->i; ker_i++; ker++; } ker -= lng2; ker_r -= lng2; ker_i -= lng2; } /********************************************************* * Function: psi * --------- * Computation of the wavelet * * x: location of the wavelet * w0: center frequency of Morlet's wavelet **********************************************************/ fcomplex psi(double x,double w0) { double u; u=exp(-x*x/2.); return(Cmul(Complex(u,0.0),Complex(cos(w0*x),sin(w0*x)))); } /********************************************************* * Function: psiprime * --------- * Computation of the wavelet derivative * * x: location of the wavelet * w0: center frequency of Morlet's wavelet **********************************************************/ fcomplex psiprime(double x,double w0) { double u; fcomplex v; u=exp(-x*x/2.); v = Complex(-x,w0); v = Cmul(v,Complex(u,0.0)); return(Cmul(v,Complex(cos(w0*x),sin(w0*x)))); } Rwave/src/smoothwt.c0000644000176200001440000001246013230444130014152 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /*************************************************************** * Function: smoothwt * --------- * Compute a smoothed and subsampled (in the b direction) * version of the wavelet transform modulus. * Here: rectangular window of size windowsize * * wt: original wavelet transform modulus. * swt: smoothed wavelet transform modulus. ***************************************************************/ void smoothwt(double *wt, double *swt, int sigsize, int nbscale, int windowlength) { int a,b,k,adr, cnt=0; double normal; normal = (double)(2*windowlength -1); for(a = 0; a < nbscale; a++){ for(b = 0; b < sigsize; b += windowlength){ for(k = 1-windowlength; k< windowlength; k++){ adr = (b-k+sigsize)%sigsize; adr += a*sigsize; *swt += wt[adr]; } *swt /= normal; swt++; cnt++; } } Rprintf("smoothing done\n"); /* printf("%d coefficients computed\n",cnt);*/ return; } /*************************************************************** * Function: smoothwt1 * --------- * Compute a smoothed (but not subsampled) * version of the wavelet transform modulus. * Here: rectangular window of size windowsize * * wt: original wavelet transform modulus. * swt: smoothed wavelet transform modulus. ***************************************************************/ void smoothwt1(double *wt, double *swt, int sigsize, int nbscale, int windowlength) { int a,b,k,adr,cnt=0; double normal; normal = (double)(2*windowlength -1); for(a = 0; a < nbscale; a++){ for(b = 0; b < sigsize; b ++){ for(k = 1-windowlength; k< windowlength; k++){ adr = (b-k+sigsize)%sigsize; adr += a*sigsize; *swt += wt[adr]; } *swt /= normal; swt++;cnt++; } } Rprintf("smoothing done\n"); Rprintf("%d coefficients computed\n",cnt); return; } /*************************************************************** * Function: smoothwt2 * --------- * Compute a smoothed and subsampled (in the b direction) * version of the wavelet transform modulus. * Here: rectangular window of size windowsize * * wt: original wavelet transform modulus. * swt: smoothed wavelet transform modulus. * smodsize: actual length of the smoothed transform. ***************************************************************/ void smoothwt2(double *wt, double *swt, int sigsize, int nbscale, int windowlength, int *smodsize) { int a,b,k,adr,kmin,kmax; double normal; int cnt = 0; Rprintf("smodsize %d \n",*smodsize); Rprintf("number of scales %d \n",nbscale); Rprintf("windowlength %d \n",windowlength); for(a = 0; a < nbscale; a++){ for(b = 0; b < sigsize; b += windowlength){ kmin = max(0,1-windowlength+b); kmax = min(sigsize-1,windowlength+b); normal = (double)(kmax-kmin+1); for(k = kmin; k<= kmax; k++){ /* adr = (b-k+sigsize)%sigsize; adr += a*sigsize; */ adr = k + a*sigsize; *swt += wt[adr]; } *swt /= normal; swt++; cnt++; } } if((cnt%nbscale) != 0){ Rprintf("Error in smoothwt2\n"); /* exit(0); */ return; } *smodsize = cnt/nbscale; Rprintf("smoothing done\n"); Rprintf("%d coefficients computed\n",cnt); return; } /**************************************************************** * Function: Smodulus_smoothing: * ---------------------------- * Smoothing and subsampling the modulus of transform * * modulus: modulus of the wavelet transform * smodulus: modulus smoothed by a box function * sigsize: signal size * modsize: signal size after subsampling * nscale: total number of scales for CWT * subrate: subsampling rate for ridge extraction * ****************************************************************/ void Smodulus_smoothing(double *modulus, double *smodulus, int *psigsize, int *psmodsize, int *pnscale, int *psubrate) { int sigsize,sub; int smodsize; int nscale; /* Generalities; initializations -----------------------------*/ nscale = *pnscale; sigsize = *psigsize; smodsize = *psmodsize; sub = *psubrate; /* Smooth and subsample the wavelet transform modulus --------------------------------------------------*/ smoothwt2(modulus,smodulus,sigsize,nscale,sub, &smodsize); *psmodsize = smodsize; return; } /*************************************************************** * Function: Ssmoothwt * --------- * Interface between the 2 previous functions and S code. ***************************************************************/ void Ssmoothwt(double *smodulus,double * modulus, int *psigsize, int *pnscale, int *psubrate, int *pflag) { int sigsize, nscale, subrate; int flag; flag = *pflag; sigsize = *psigsize; nscale = *pnscale; subrate = *psubrate; if(flag) smoothwt1(modulus,smodulus,sigsize,nscale,subrate); else smoothwt(modulus,smodulus,sigsize,nscale,subrate); return; } Rwave/src/mw.c0000644000176200001440000000565013230444130012714 0ustar liggesusers#include /******************************************************************* * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, A. Wang * * Princeton University * * All right reserved * *******************************************************************/ #include "Swave.h" #include "dyadic.h" /**************************************************************** * Function: Sf_compute: * --------------------- * Computation of signals from resolution 1 up to resolution * 2^max_resoln * * Sf: resultant signals * f: the original signal * max_resoln: number of decomposition * np: the signal size * filtername: decomposition filter * ****************************************************************/ void Sf_compute(double *Sf, double *f, int *max_resoln_ptr, int *np_ptr, char *filtername) { int max_resoln = *max_resoln_ptr; int np = *np_ptr; int j, n, k, offset; bound *H_bound, *G_bound; double **H, sum; //char *filtername; //filtername = *pfiltername; HGfilter_bound(filtername,&H_bound,&G_bound,max_resoln); Hfilter_compute(filtername,&H,H_bound,max_resoln); for ( j = 0; j <= max_resoln; j++ ) { if ( j == 0 ) { /* Sf[0] = original signal f */ for ( n = 0; n < np; n++ ) Sf[n] = f[n]; } else { offset = (j-1)*np; for ( n = 0; n < np; n++ ) { for ( k = H_bound[j-1].lb, sum = 0.0; k <= H_bound[j-1].ub; k++ ) sum += H[j-1][k-H_bound[j-1].lb] * Sf[offset+(n-k+np)%np]; Sf[j*np+n] = sum; } } } } /**************************************************************** * Function: Wf_compute: * --------------------- * Computation of the wavelet transform of a signal * * Wf: the wavelet transform of a signal * Sf: the multiresolution representation of the original signal * max_resoln: number of decomposition * np: the signal size * filtername: decomposition filter * ****************************************************************/ void Wf_compute(double *Wf, double *Sf, int *max_resoln_ptr, int *np_ptr, char *filtername) { int max_resoln = *max_resoln_ptr; int np = *np_ptr; int j, n, k, offset; //char *filtername; bound *G_bound, *H_bound; double **G, sum; //filtername = *pfiltername; HGfilter_bound(filtername,&H_bound, &G_bound, max_resoln ); Gfilter_compute(filtername,&G, G_bound, max_resoln ); for ( j = 1; j <= max_resoln; j++ ) { offset = (j-1)*np; for ( n = 0; n < np; n++ ) { for ( k = G_bound[j-1].lb, sum = 0.0; k <= G_bound[j-1].ub; k++ ) /* Compute Wf[m] from Sf[m-1] */ sum += G[j-1][k-G_bound[j-1].lb] * Sf[offset+(n-k+np)%np]; Wf[offset+n] = sum; } } } Rwave/src/rwkernel.h0000644000176200001440000000763013230444130014127 0ustar liggesusers/**************************************************************** * $ Log: kernel.h,v $ * * (c) Copyright 1995 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * University of California, Irvine * * All right reserved * ****************************************************************/ #include "complex.h" #define EPS 1.0e-3 #include #include #include #include #include #ifndef Macintosh #include #include #endif #include #ifndef Macintosh #include #endif #define YES 1 #define NO 0 #define MAX( a, b ) ( (a) > (b) ? (a) : (b) ) #define MIN( a, b ) ( (a) < (b) ? (a) : (b) ) #define STRING_SIZE 256 /************************************************************************** Function declarations: **************************************************************************/ /* In kernel.c ----------*/ fcomplex integrand(double b,int x,int y,double *p2,double *nodes, double *phi_nodes,int nb_nodes,double w0); void rwkernel(double *ker_r, double *ker_i,int *px_min,int *px_max, int *px_inc, int *plng,double *nodes,double *phi_nodes, int *pnb_nodes,double *pw0,double *pb_start,double *pb_end); void fastkernel(double *ker_r, double *ker_i,int *px_min,int *px_max, int *px_inc, int *plng, double *nodes,double *phi_nodes, int *pnb_nodes,double *pw0,double *pb_start,double *pb_end); double rintegrand(double b,int x,int y,double *p2,double *nodes, double *phi_nodes,int nb_nodes,double w0); void rkernel(double *ker,int *px_min,int *px_max,int *px_inc, int *plng, double *nodes,double *phi_nodes,int *pnb_nodes, double *pw0,double *pb_start,double *pb_end); double maxvalue(double *vector, int length); void hermite_sym(fcomplex *ker,int lng); fcomplex psi(double x,double w0); fcomplex psiprime(double x,double w0); /* In gkernel.c -----------*/ double gintegrand(double b,int x,int y,double *p2,double *nodes, double *phi_nodes,int nb_nodes,double w0); void gkernel(double *ker, int *px_min,int *px_max, int *px_inc, int *plng, double *nodes,double *phi_nodes, int *pnb_nodes,double *pw0,double *pb_start,double *pb_end); void fastgkernel(double *ker,int *px_min,int *px_max, int *px_inc, int *plng, double *nodes,double *phi_nodes, int *pnb_nodes,double *pscale,double *pb_start,double *pb_end); double gfunc(double x, double scale); void ghermite_sym(double *ker,int lng); double gprime(double x,double scale); /* In splint2.c ------------*/ void splint2(double xa[], double ya[], double y2a[], int n, double x, double *y, double *yp); /* In spline.c -----------*/ void spline(double x[], double y[], int n, double yp1, double ypn, double y2[]); /* In compinteg.c --------------*/ fcomplex qrombmod(int x, int y, double *p2, double *nodes, double *phi_nodes, int nb_nodes,double cent_freq,double b_start, double b_end); fcomplex trapzdmod(int x, int y, double *p2, double *nodes, double *phi_nodes, int nb_nodes,double cent_freq,double b_start, double b_end, int n); double rqrombmod(int x, int y, double *p2, double *nodes, double *phi_nodes, int nb_nodes,double cent_freq,double b_start, double b_end); double rtrapzdmod(int x, int y, double *p2, double *nodes, double *phi_nodes, int nb_nodes,double cent_freq,double b_start, double b_end, int n); double gqrombmod(int x, int y, double *p2, double *nodes, double *phi_nodes, int nb_nodes,double scale,double b_start, double b_end); double gtrapzdmod(int x, int y, double *p2, double *nodes, double *phi_nodes, int nb_nodes,double scale,double b_start, double b_end, int n); void polint(double xa[], double ya[], int n, double x, double *y, double *dy); Rwave/src/qcksrt.c0000644000176200001440000000356713230444130013605 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ /* Numeric Recipe of C */ #define M 7 #define NSTACK 50 #define FM 7875 #define FA 211 #define FC 1663 #include "Swave.h" void qcksrt(int n, double *arr) { // Rprintf("beg\n"); //arr = (double*)arr; R_rsort(arr, n); //arr = (float*)arr; // Rprintf("end\n"); } /* int l=1,jstack=0,j,ir,iq,i; int istack[NSTACK+1]; long int fx=0L; float a; ir=n; for (;;) { if (ir-l < M) { for (j=l+1;j<=ir;j++) { a=arr[j]; for (i=j-1;arr[i]>a && i>0;i--) arr[i+1]=arr[i]; arr[i+1]=a; } if (jstack == 0) return; ir=istack[jstack--]; l=istack[jstack--]; } else { i=l; j=ir; fx=(fx*FA+FC) % FM; iq=l+((ir-l+1)*fx)/FM; a=arr[iq]; arr[iq]=arr[l]; for (;;) { while (j > 0 && a < arr[j]) j--; if (j <= i) { arr[i]=a; break; } arr[i++]=arr[j]; while (a > arr[i] && i <= n) i++; if (j <= i) { arr[(i=j)]=a; break; } arr[j--]=arr[i]; } if (ir-i >= i-l) { istack[++jstack]=i+1; istack[++jstack]=ir; ir=i-1; } else { istack[++jstack]=l; istack[++jstack]=i-1; l=i+1; } if (jstack > NSTACK){ printf("NSTACK too small in QCKSRT"); return; } } } } */ #undef M #undef NSTACK #undef FM #undef FA #undef FC Rwave/src/dwfilter.c0000644000176200001440000006226513230444130014116 0ustar liggesusers/* ***************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen L. Hwang and A. Wang * * Princeton University * * All right reserved * *******************************************************************/ #include #include "dau_wave.h" #include "dyadic.h" #include "Swave.h" /**************************************************************** * Function: iexp2: * ---------------- * returning interger which is the jth power of 2 * * j: interger * ****************************************************************/ /* 2^j (j > 0) */ int iexp2(j) int j; { if(j == 0) return(1); return( 1 << j); } /**************************************************************** * Function: Hfilter_compute: * -------------------------- * Computation of H filter * * filename: filter name * H: H filters * H_bound: size of H filters * max_resoln: number of decomposition * ****************************************************************/ void Hfilter_compute(filtername,H,H_bound,max_resoln ) char *filtername; double ***H; bound *H_bound; int max_resoln; { int j, i; if(!(*H = (double **) R_alloc( (max_resoln+1) , sizeof(double *)))) Rf_error("Memory allocation failed for *H in filter.c \n"); for ( j = 0; j <= max_resoln; j++ ) { if(!((*H)[j] = (double *) R_alloc( H_bound[j].size , sizeof(double)))) Rf_error("Memory allocation failed for H[] in filter.c \n"); signal_zero((*H)[j],H_bound[j].size); if ( j == 0 ) { if(strcmp(filtername,"Haar") == 0) { (*H)[0][0] = 0.5; (*H)[0][1] = 0.5; } else { (*H)[0][0] = 0.125; (*H)[0][1] = 0.375; (*H)[0][2] = 0.375; (*H)[0][3] = 0.125; } } else { for ( i = 0; i < H_bound[j-1].size; i++ ) (*H)[j][2 * i] = (*H)[j-1][i]; } } } /**************************************************************** * Function: Gfilter_compute: * -------------------------- * Computation of G filter * * filename: filter name * G: G filters * G_bound: size of G filters * max_resoln: number of decomposition * ****************************************************************/ void Gfilter_compute(filtername,G,G_bound,max_resoln) char *filtername; double ***G; bound *G_bound; int max_resoln; { int j, i; if(!(*G = (double **) R_alloc( (max_resoln+1) , sizeof(double *)))) Rf_error("Memory allocation failed for G in filter.c \n"); for ( j = 0; j <= max_resoln; j++ ) { if(!((*G)[j] = (double *) R_alloc( G_bound[j].size , sizeof(double)))) Rf_error("Memory allocation failed for G[] in filter.c \n"); signal_zero((*G)[j],G_bound[j].size); if ( j == 0 ) { if(strcmp(filtername,"Haar") == 0) { (*G)[0][0] = 0.5; (*G)[0][1] = -0.5; } else { (*G)[0][0] = 0.5; (*G)[0][1] = -0.5; } } else { for ( i = 0; i < G_bound[j-1].size; i++ ) (*G)[j][2 * i] = (*G)[j-1][i]; } } } /**************************************************************** * Function: HGfilter_bound: * ------------------------- * Computation of filter bound for each resolution * * filterename: filter name * H_bound: size of H filters * G_bound: size of G filters * max_resoln: number of decomposition * ****************************************************************/ void HGfilter_bound(filtername,H_bound,G_bound,max_resoln ) char *filtername; bound **H_bound, **G_bound; int max_resoln; { int j; int iexp2(); if(!(*H_bound = (bound *) R_alloc( (max_resoln+1) , sizeof(bound) ))) Rf_error("Memory allocation failed for *H_bound in filter.c \n"); if(!(*G_bound = (bound *) R_alloc( (max_resoln+1) , sizeof(bound) ))) Rf_error("Memory allocation failed for *G_bound in filter.c \n"); for ( j = 0; j <= max_resoln; j++ ) { if(strcmp(filtername,"Haar") == 0) { if(j == 0) { (*H_bound)[j].lb = 0; (*H_bound)[j].ub = 1; (*H_bound)[j].size = (*H_bound)[j].ub - (*H_bound)[j].lb + 1; (*G_bound)[j].lb = 0; (*G_bound)[j].ub = 1; (*G_bound)[j].size = (*G_bound)[j].ub - (*G_bound)[j].lb + 1; } else { (*H_bound)[j].lb = -iexp2(j-1); (*H_bound)[j].ub = iexp2(j-1); (*H_bound)[j].size = (*H_bound)[j].ub - (*H_bound)[j].lb + 1; (*G_bound)[j].lb = -iexp2(j-1); (*G_bound)[j].ub = iexp2(j-1); (*G_bound)[j].size = (*G_bound)[j].ub - (*G_bound)[j].lb + 1; } } else { if(j == 0) { (*H_bound)[j].lb = -1; (*H_bound)[j].ub = 2; (*H_bound)[j].size = (*H_bound)[j].ub - (*H_bound)[j].lb + 1; (*G_bound)[j].lb = 0; (*G_bound)[j].ub = 1; (*G_bound)[j].size = (*G_bound)[j].ub - (*G_bound)[j].lb + 1; } else { (*H_bound)[j].lb = -iexp2(j-1) * 3; (*H_bound)[j].ub = 3 * iexp2(j-1); /* changed 2/1/94 j to j-1 */ (*H_bound)[j].size = (*H_bound)[j].ub - (*H_bound)[j].lb + 1; (*G_bound)[j].lb = -iexp2(j-1); (*G_bound)[j].ub = iexp2(j-1); /* changed 2/1/94 j to j-1 */ (*G_bound)[j].size = (*G_bound)[j].ub - (*G_bound)[j].lb + 1; } } } } /**************************************************************** * Function: HG_hat_compute: * ------------------------- * Computation of the Fourier transform of H and G * H_hat and G_hat are obtained from analytical functions * * filterename: filter name * H_hat: the Fourier transform of H filters * G_hat: the Fourier transform of G filters * max_resoln: number of decomposition * np: signal size * ****************************************************************/ #define pi 3.141592653589793 void HG_hat_compute(filtername,H_hat,G_hat,max_resoln,np) double ***H_hat; double ***G_hat; int max_resoln; int np; char *filtername; { double temp; double arg; int m, j; int iexp2(); if(strcmp(filtername,"Gaussian1") != 0) { REprintf("Need Gaussian1 filter \n"); return; } /* printf("computing H_hat & G_hat with Gaussian1 filter\n"); */ if(!(*H_hat = (double **) R_alloc( (max_resoln+1) , sizeof(double) ))) Rf_error("Memory allocation failed for *H_hat in filter.c \n"); if(!(*G_hat = (double **) R_alloc( (max_resoln+1) , sizeof(double) ))) Rf_error("Memory allocation failed for *G_hat in filter.c \n"); for ( j = 0; j <= max_resoln; j++ ) { if(!((*H_hat)[j] = (double *) R_alloc( 2*(np+1) , sizeof(double) ))) Rf_error("Memory allocation failed for *H_hat[] in filter.c \n"); if(!((*G_hat)[j] = (double *) R_alloc( 2*(np+1) , sizeof(double) ))) Rf_error("Memory allocation failed for *G_hat[] in filter.c \n"); if ( j == 0 ) { temp = pi / (double) np; for ( m = 0; m < np; m++ ) { arg = (double) m * temp; (*H_hat)[j][2*m] = (double)(cos(arg) * cos(arg) * cos(arg) * cos(arg)); (*H_hat)[j][2*m+1] = (double)(cos(arg) * cos(arg) * cos(arg) * sin(arg)); /* remove 4 in the following due to normalize G in L1 */ (*G_hat)[j][2*m] = (double)(sin(arg) * sin(arg)); (*G_hat)[j][2*m+1] = -(double)(sin(arg) * cos(arg)); } } else { temp = iexp2(j) * pi / (double) np; for ( m = 0; m < np; m++ ) { arg = (double) m * temp; (*H_hat)[j][2*m] = (double)(cos(arg) * cos(arg) * cos(arg)); (*H_hat)[j][2*m+1] = 0.0; /* remove 4 in the following due to normalize G in L1 */ (*G_hat)[j][2*m] = 0.0; (*G_hat)[j][2*m+1] = (double)(-sin(arg)); } } } } #undef pi /**************************************************************** * Function: Sfilter_compute: * -------------------------- * Computation of the S filters * * filterename: filter name * S: S filters * S_bound: the size of S filters * max_resoln: number of decomposition * ****************************************************************/ void Sfilter_compute(filtername,S,S_bound,max_resoln) char *filtername; double ***S; bound *S_bound; int max_resoln; { int j, i; if(!(*S = (double **) R_alloc( (max_resoln+1) , sizeof(double *)))) Rf_error("Memory allocation failed for *S in filter.c \n"); for ( j = 0; j <= max_resoln; j++ ) { if(!((*S)[j] = (double *) R_alloc( S_bound[j].size , sizeof(double)))) Rf_error("Memory allocation failed for S[] in filter.c \n"); signal_zero((*S)[j], S_bound[j].size); if ( j == 0 ) { if(strcmp(filtername,"Haar") == 0) { (*S)[0][0] = 0.5; (*S)[0][1] = 0.5; } else { (*S)[0][0] = 0.125; (*S)[0][1] = 0.375; (*S)[0][2] = 0.375; (*S)[0][3] = 0.125; } } else { for ( i = 0; i < S_bound[j-1].size; i++ ) (*S)[j][2 * i] = (*S)[j-1][i]; } } /* begugging ..... */ /* { FILE *fp = fopen( "Sfilter", "w" ); int j, i; for ( j = 0; j <= max_resoln; j++ ) { fprintf( fp, "j = %d\n", j ); for ( i = 0; i < S_bound[j].size; i++ ) fprintf( fp, "%.3f\n", (*S)[j][i] ); } fclose( fp ); } */ } /**************************************************************** * Function: Kfilter_compute: * -------------------------- * Computation of K filters * * filterename: filter name * K: K filters * K_bound: the size of K filters * max_resoln: number of decomposition * ****************************************************************/ void Kfilter_compute(filtername,K,K_bound,max_resoln) char *filtername; double ***K; bound *K_bound; int max_resoln; { int j, i; if(!(*K = (double **) R_alloc( (max_resoln+1) , sizeof(double *)))) Rf_error("Memory allocation failed for K in filter.c \n"); for ( j = 0; j <= max_resoln; j++ ) { if(!((*K)[j] = (double *) R_alloc( K_bound[j].size , sizeof(double)))) Rf_error("Memory allocation failed for K[] in filter.c \n"); signal_zero((*K)[j], K_bound[j].size); if ( j == 0 ) { if(strcmp(filtername,"Haar") == 0) { (*K)[0][0] = -0.5; (*K)[0][1] = 0.5; } else { (*K)[0][0] = -0.03125; (*K)[0][1] = -0.21875; (*K)[0][2] = -0.6875; (*K)[0][3] = 0.6875; (*K)[0][4] = 0.21875; (*K)[0][5] = 0.03125; } } else { for ( i = 0; i < K_bound[j-1].size; i++ ) (*K)[j][2 * i] = (*K)[j-1][i]; } } /* degugging .... */ /* { FILE *fp = fopen( "Kfilter", "w" ); int j, i; for ( j = 0; j <= max_resoln; j++ ) { fprintf( fp, "j = %d\n", j ); for ( i = 0; i < K_bound[j].size; i++ ) fprintf( fp, "%f\n", (*K)[j][i] ); } fclose( fp ); } */ } /**************************************************************** * Function: Lfilter_compute: * -------------------------- * Computation of L filters * * filterename: filter name * L: L filters * L_bound: the size of L filters * max_resoln: number of decomposition * ****************************************************************/ void Lfilter_compute(filtername,L,L_bound,max_resoln) char *filtername; double ***L; bound *L_bound; int max_resoln; { int j, i; if(!(*L = (double **) R_alloc( (max_resoln+1) , sizeof(double *)))) Rf_error("Memory allocation failed for L in filter.c \n"); for ( j = 0; j <= max_resoln; j++ ) { if(!((*L)[j] = (double *) R_alloc( L_bound[j].size , sizeof(double)))) Rf_error("Memory allocation failed for L[] in filter.c \n"); signal_zero((*L)[j], L_bound[j].size); if ( j == 0 ) { if(strcmp(filtername,"Haar") == 0) { (*L)[0][0] = 0.125; (*L)[0][1] = 0.75; (*L)[0][2] = 0.125; } else { (*L)[0][0] = 0.0078125; (*L)[0][1] = 0.046875; (*L)[0][2] = 0.1171875; (*L)[0][3] = 0.65625; (*L)[0][4] = 0.1171875; (*L)[0][5] = 0.046875; (*L)[0][6] = 0.0078125; } } else { for ( i = 0; i < L_bound[j-1].size; i++ ) (*L)[j][2 * i] = (*L)[j-1][i]; } } /* degugging .... */ /* { FILE *fp = fopen( "Lfilter", "w" ); int j, i; for ( j = 0; j <= max_resoln; j++ ) { fprintf( fp, "j = %d\n", j ); for ( i = 0; i < L_bound[j].size; i++ ) fprintf( fp, "%f\n", (*L)[j][i] ); } fclose( fp ); } */ } /**************************************************************** * Function: KSfilter_bound: * ------------------------- * Computation of the size of K and S filters * * filterename: filter name * K_bound: the size of K filters * S_bound: the size of L filters * max_resoln: number of decomposition * ****************************************************************/ void KSfilter_bound(filtername,K_bound,S_bound,max_resoln) char *filtername; bound **K_bound, **S_bound; int max_resoln; { int j; int iexp2(); if(!(*K_bound = (bound *) R_alloc( (max_resoln+1) , sizeof(bound) ))) Rf_error("Memory allocation failed for *K_bound in signal_back.c \n"); if(!(*S_bound = (bound *) R_alloc( (max_resoln+1) , sizeof(bound) ))) Rf_error("Memory allocation failed for *S_bound in filter.c \n"); for ( j = 0; j <= max_resoln; j++ ) { if(strcmp(filtername,"Haar") == 0) { if(j == 0) { (*S_bound)[0].lb = -1; (*S_bound)[0].ub = 0; (*S_bound)[0].size = (*S_bound)[0].ub - (*S_bound)[0].lb + 1; (*K_bound)[0].lb = -1; (*K_bound)[0].ub = 0; (*K_bound)[0].size = (*K_bound)[0].ub - (*K_bound)[0].lb + 1; } else { (*S_bound)[j].lb = -iexp2(j-1); (*S_bound)[j].ub = iexp2(j-1); (*S_bound)[j].size = (*S_bound)[j].ub - (*S_bound)[j].lb + 1; (*K_bound)[j].lb = -iexp2(j-1); (*K_bound)[j].ub = iexp2(j-1); (*K_bound)[j].size = (*K_bound)[j].ub - (*K_bound)[j].lb + 1; } } else { if(j == 0) { (*S_bound)[0].lb = -2; (*S_bound)[0].ub = 1; (*S_bound)[0].size = (*S_bound)[0].ub - (*S_bound)[0].lb + 1; (*K_bound)[0].lb = -3; (*K_bound)[0].ub = 2; (*K_bound)[0].size = (*K_bound)[0].ub - (*K_bound)[0].lb + 1; } else { (*S_bound)[j].lb = -3 * iexp2(j-1); (*S_bound)[j].ub = 3 * iexp2(j-1); /* changed 2/1/94 j to j-1 */ (*S_bound)[j].size = (*S_bound)[j].ub - (*S_bound)[j].lb + 1; (*K_bound)[j].lb = -5 * iexp2(j-1); (*K_bound)[j].ub = 5 * iexp2(j-1);/* changed 2/1/94 j to j-1 */ (*K_bound)[j].size = (*K_bound)[j].ub - (*K_bound)[j].lb + 1; } } } /* { int j; for ( j = 0; j <= max_resoln; j++ ) fprint("S_bound[%d] = [%d, %d], size = %d\n", j, (*S_bound)[j].lb, (*S_bound)[j].ub, (*S_bound)[j].size ); fprint( fp, "\n" ); for ( j = 0; j <= max_resoln; j++ ) fprintf( fp, "K_bound[%d] = [%d, %d], size = %d\n", j, (*K_bound)[j].lb, (*K_bound)[j].ub, (*K_bound)[j].size ); fprint( fp, "\n" ); } */ } /**************************************************************** * Function: Lfilter_bound: * ------------------------- * Computation of the size of L filters * * filterename: filter name * L_bound: the size of L filters * max_resoln: number of decomposition * ****************************************************************/ void Lfilter_bound(filtername,L_bound,max_resoln) char *filtername; bound **L_bound; int max_resoln; { int j; int iexp2(); if(!(*L_bound = (bound *) R_alloc( (max_resoln+1) , sizeof(bound) ))) Rf_error("Memory allocation failed for *L_bound in filter.c \n"); for ( j = 0; j <= max_resoln; j++ ) { if(strcmp(filtername,"Haar") == 0) { if(j == 0) { (*L_bound)[0].lb = -1; (*L_bound)[0].ub = 1; (*L_bound)[0].size = (*L_bound)[0].ub-(*L_bound)[0].lb + 1; } else { (*L_bound)[j].lb = -iexp2(j); (*L_bound)[j].ub = iexp2(j); (*L_bound)[j].size = (*L_bound)[j].ub-(*L_bound)[j].lb + 1; } } else { if(j == 0) { (*L_bound)[0].lb = -3; (*L_bound)[0].ub = 3; (*L_bound)[0].size = (*L_bound)[0].ub-(*L_bound)[0].lb + 1; } else { (*L_bound)[j].lb = -3 * iexp2(j); (*L_bound)[j].ub = 3 * iexp2(j); (*L_bound)[j].size = (*L_bound)[j].ub-(*L_bound)[j].lb + 1; } } } /* { int j; for ( j = 0; j <= max_resoln; j++ ) fprint("L_bound[%d] = [%d, %d], size = %d\n", j, (*L_bound)[j].lb,(*L_bound)[j].ub,(*L_bound)[j].size); fprint( fp, "\n" ); } */ } /**************************************************************** * Function: PsiPhifilter_bound: * ----------------------------- * Computation of the size of Psi and Phi filters * * psi: the size of psi filters * phi: the size of phi filters * H_bound: the size of H filters * G_bound: the size of G filters * max_resoln: number of decomposition * ****************************************************************/ void PsiPhifilter_bound(psi,phi,H_bound,G_bound,max_resoln) bound **psi, **phi; bound *G_bound; bound *H_bound; int max_resoln; { int j; if(!(*psi = (bound *) R_alloc( (max_resoln+1) , sizeof(bound) ))) Rf_error("Memory allocation failed for *psi in K_compute.c \n"); if(!(*phi = (bound *) R_alloc( (max_resoln+1) , sizeof(bound) ))) Rf_error("Memory allocation failed for *phi in K_compute.c \n"); (*phi)[0].lb = (*phi)[0].ub = 0; (*phi)[0].size = 1; for ( j = 1; j <= max_resoln; j++ ) { if( j == 1 ) { (*psi)[j].lb = G_bound[j].lb; (*psi)[j].ub = G_bound[j].ub; (*phi)[j].lb = H_bound[j].lb; (*phi)[j].ub = H_bound[j].ub; } else { (*psi)[j].lb = (*psi)[j-1].lb + G_bound[j].lb; (*psi)[j].ub = (*psi)[j-1].ub + G_bound[j].ub; (*phi)[j].lb = (*phi)[j-1].lb + H_bound[j].lb; (*phi)[j].ub = (*phi)[j-1].ub + H_bound[j].ub; } (*psi)[j].size = (*psi)[j].ub - (*psi)[j].lb + 1; (*phi)[j].size = (*phi)[j].ub - (*phi)[j].lb + 1; /* printf("<%d> [%d,%d] %d ==== [%d,%d] %d\n", j, (*psi)[j].lb,(*psi)[j].ub,(*psi)[j].size, (*phi)[j].lb,(*phi)[j].ub,(*phi)[j].size ); */ } } /****************************************************/ /* */ /* H0 H1 H2 ..... HJ-1 */ /* o-----o-----o-----o---------o-----o S[J] */ /* \ \ \ \ ..... \ */ /* G0 \ G1 \ G2 \ G3 \ GJ-1 \ */ /* o o o o o */ /* W[1] W[2] W[3] W[4] W[J] */ /* */ /* */ /****************************************************/ /**************************************************************** * Function: signal_W_S: * --------------------- * Computation of the W and S filters * * W: W filters * S: S filters * max_resoln: number of decomposition * np: signal size * ****************************************************************/ void signal_W_S(W,S,max_resoln,np) double ***W, ***S; int max_resoln, np; { int j, m, t; char *filtername = "Gaussian1"; bound *H_bound,*G_bound; double **H_filter,**G_filter; double **H; double **G; double *prev,*curr,*temp; if(!(H = (double **) R_alloc( max_resoln , sizeof(double *) ))) Rf_error("Memory allocation failed for H in oneD_filter.c \n"); if(!(G = (double **) R_alloc( max_resoln , sizeof(double *) ))) Rf_error("Memory allocation failed for G in oneD_filter.c \n"); if(!(prev = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for prev in oneD_filter.c \n"); if(!(curr = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for curr in oneD_filter.c \n"); if(!(temp = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for temp in oneD_filter.c \n"); //filename_given(filtername,"Gaussian1"); HGfilter_bound(filtername,&H_bound,&G_bound,max_resoln ); Hfilter_compute(filtername,&H_filter, H_bound, max_resoln ); Gfilter_compute(filtername,&G_filter, G_bound, max_resoln); /* printf("Using Gaussian1 filter \n"); */ for ( j = 0; j < max_resoln; j++ ) { if(!(H[j] = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for H[] in oneD_filter.c \n"); if(!(G[j] = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for G[] in oneD_filter.c \n"); for ( m = 0; m < np; m++ ) H[j][m] = G[j][m] = 0.0; for ( m = H_bound[j].lb , t = 0; t < H_bound[j].size; t++, m++ ) H[j][(m+np)%np] = H_filter[j][t]; for ( m = G_bound[j].lb, t = 0; t < G_bound[j].size; t++, m++ ) G[j][(m+np)%np] = G_filter[j][t]; /* filename_given(filename1,"G"); filename_given(filename2,"H"); filename_inc(filename1,j); output_signal(G[j],np,filename1); filename_inc(filename2,j); output_signal(H[j],np,filename2); */ } if(!(*W = (double **) R_alloc( (max_resoln+1) , sizeof(double *)))) Rf_error("Memory allocation failed for *W in oneD_filter.c \n"); if(!(*S = (double **) R_alloc( (max_resoln+1) , sizeof(double *) ))) Rf_error("Memory allocation failed for *S in oneD_filter.c \n"); for ( j = 1; j <= max_resoln; j++ ) { if(!((*W)[j] = (double *) R_alloc( np , sizeof(double)))) Rf_error("Memory allocation failed for (*W)[] in oneD_filter.c \n"); if(!((*S)[j] = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for (*S)[] in oneD_filter.c \n"); if ( j == 1 ) { for ( m = 0; m < np; m++ ) { (*W)[j][m] = G[0][m]; (*S)[j][m] = H[0][m]; } } else if ( j == 2 ) { compute_convolution( (*W)[j], G[j-1], H[j-2], np ); compute_convolution( (*S)[j], H[j-1], H[j-2], np ); for ( m = 0; m < np; m++ ) prev[m] = H[0][m]; } else { compute_convolution( curr, H[j-2], prev, np ); compute_convolution( (*W)[j], G[j-1], curr, np ); compute_convolution( (*S)[j], H[j-1], curr, np ); if ( j < max_resoln ) { for ( m = 0; m < np; m++ ) prev[m] = curr[m]; } } /* filename_given(filename1,"W"); filename_given(filename2,"S"); filename_inc(filename1,j); output_signal((*W)[j],np,filename1); filename_inc(filename2,j); output_signal((*S)[j],np,filename2); */ } } /**************************************************************** * Function: signal_W_hat_S_hat: * ----------------------------- * Computation of the Fourier transform of W and S filters * * W_hat: Fourier transform of W filters * S_hat: Fourier transform of S filters * max_resoln: number of decomposition * np: signal size * ****************************************************************/ /* Note: W_hat[1] = G_hat[0] S_hat[1] = H_hat[0] W_hat[2] = G_hat[1]*H_hat[0] S_hat[2] = H_hat[1]*H_hat[0] W_hat[3] = G_hat[2]*H_hat[1]*H_hat[0] S_hat[3] = H_hat[2]*H_hat[1]*H_hat[0] : : W_hat[J] = G_hat[J-1]*H_hat[J-2]*......*H[0] */ void signal_W_hat_S_hat(W_hat,S_hat,max_resoln,np) double ***W_hat, ***S_hat; int max_resoln; int np; { char *filtername = "Gaussian1"; int two_np; double *prev, *curr, **H_hat, **G_hat; int j, m; two_np = 2 * np; /* real and imaginary */ if(!(prev = (double *) R_alloc( two_np , sizeof(double)))) Rf_error("Memory allocation failed for prev in oneD_filter.c \n"); if(!(curr = (double *) R_alloc( two_np , sizeof(double) ))) Rf_error("Memory allocation failed for curr in oneD_filter.c \n"); //filename_given(filtername,"Gaussian1"); HG_hat_compute(filtername,&H_hat,&G_hat,max_resoln,np); /* printf("computing W_hat & S_hat with Gaussian1 filter\n"); */ if(!(*W_hat = (double **) R_alloc( (max_resoln+1) , sizeof(double) ))) Rf_error("Memory allocation failed for *W_hat in oneD_filter.c \n"); if(!(*S_hat = (double **) R_alloc( (max_resoln+1) , sizeof(double) ))) Rf_error("Memory allocation failed for *S_hat in oneD_filter.c \n"); if(!((*S_hat)[0] = (double *) R_alloc( two_np , sizeof(double) ))) Rf_error("Memory allocation failed for *S_hat in oneD_filter.c \n"); for ( m = 0; m < np; m++ ) { (*S_hat)[0][2*m] = 1.0; (*S_hat)[0][2*m+1] = 0.0; } for ( j = 1; j <= max_resoln; j++ ) { if(!((*W_hat)[j] = (double *) R_alloc( two_np , sizeof(double) ))) Rf_error("Memory allocation failed for (*W_hat)[] in oneD_filter.c \n"); if(!((*S_hat)[j] = (double *) R_alloc( two_np , sizeof(double) ))) Rf_error("Memory allocation failed for (*S_hat)[] in oneD_filter.c \n"); if ( j == 1 ) { /* H_hat & G_hat: j = 0 to (max_reaoln-1) */ for ( m = 0; m < two_np; m++ ) { (*W_hat)[j][m] = G_hat[j-1][m]; (*S_hat)[j][m] = H_hat[j-1][m]; } } else if ( j == 2 ) { complex_product( (*W_hat)[j], G_hat[j-1], H_hat[j-2], np ); complex_product( (*S_hat)[j], H_hat[j-1], H_hat[j-2], np ); for ( m = 0; m < two_np; m++ ) prev[m] = H_hat[0][m]; } else { complex_product( curr, H_hat[j-2], prev, np ); complex_product( (*W_hat)[j], G_hat[j-1], curr, np ); complex_product( (*S_hat)[j], H_hat[j-1], curr, np ); for ( m = 0; m < two_np; m++ ) prev[m] = curr[m]; } /* filename_given(filename1,"WhatR"); filename_given(filename2,"WhatI"); filename_inc(filename1,j); filename_inc(filename2,j); output_complex((*W_hat)[j],np,filename1,filename2); filename_given(filename1,"ShatR"); filename_given(filename2,"ShatI"); filename_inc(filename1,j); filename_inc(filename2,j); output_complex((*S_hat)[j],np,filename1,filename2); */ } } Rwave/src/pca_family.c0000644000176200001440000003044113230444130014371 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /**************************************************************** * function Stf_pcaridge * compute the local maxima along the minor direction of pca * * input: tf * output: tf local maxima * orientmap : orientation of pca * nrow,ncol: parameters of the cwt *****************************************************************/ void Stf_pcaridge(input, output, pnrow, pncol, orientmap) double *input, *output; int *pnrow, *pncol; int *orientmap; { int nrow, ncol, i, j,k; int dir; nrow = *pnrow; ncol = *pncol; for(i = 1; i < nrow-1; i++) { for(j = 1; j < ncol-1; j++) { k = j * nrow + i; dir = orientmap[k]; if(dir == 1) { /* minor direction at dir == 3 */ if(((input[k] > input[(j+1) * nrow + i]) && (input[k] >= input[(j-1) * nrow + i])) || ((input[k] > input[(j-1) * nrow + i]) && (input[k] >= input[(j+1) * nrow + i]))) output[k] = input[k]; } if(dir == 3) { /* minor direction at dir == 1 */ if(((input[k] > input[j * nrow + (i+1)]) && (input[k] >= input[j * nrow + (i-1)])) || ((input[k] > input[j * nrow + (i-1)]) && (input[k] >= input[j * nrow + (i+1)]))) output[k] = input[k]; } if(dir == 2) { /* minor direction at dir == 4 */ if(((input[k] > input[(j+1) * nrow + (i-1)]) && (input[k] >= input[(j-1) * nrow + (i+1)])) || ((input[k] > input[(j-1) * nrow + (i+1)]) && (input[k] >= input[(j+1) * nrow + (i-1)]))) output[k] = input[k]; } if(dir == 4) { /* minor direction at dir == 2 */ if(((input[k] > input[(j+1) * nrow + (i+1)]) && (input[k] >= input[(j-1) * nrow + (i-1)])) || ((input[k] > input[(j-1) * nrow + (i-1)]) && (input[k] >= input[(j+1) * nrow + (i+1)]))) output[k] = input[k]; } } } } /******************************************************************* * dir == 1 along x, dir == 2, along x=y, dir == 3 along y, dir ==4 * along x=-y *******************************************************************/ /* Three majors direction of dir going downwards and left */ void previous_a_b(int a,int b,int dir, int *a0,int *b0,int *a1,int *b1,int *a2,int *b2) { if(dir == 1) { *a0 = a; *b0 = b-1; *a1 = a-1; *b1 = b-1; *a2 = a+1; *b2 = b-1; } if(dir == 3) { *a0 = a-1; *b0 = b; *a1 = a-1; *b1 = b-1; *a2 = a-1; *b2 = b+1; } if(dir == 2) { *a0 = a-1; *b0 = b-1; *a1 = a-1; *b1 = b; *a2 = a; *b2 = b-1; } if(dir == 4) { *a0 = a-1; *b0 = b+1; *a1 = a-1; *b1 = b; *a2 = a; *b2 = b+1; } } /* Three major directions of dir going upwards or right */ void next_a_b(int a,int b,int dir, int *a0,int *b0,int *a1,int *b1,int *a2,int *b2) { if(dir == 1) { *a0 = a; *b0 = b+1; *a1 = a-1; *b1 = b+1; *a2 = a+1; *b2 = b+1; } if(dir == 3) { *a0 = a+1; *b0 = b; *a1 = a+1; *b1 = b-1; *a2 = a+1; *b2 = b+1; } if(dir == 2) { *a0 = a+1; *b0 = b+1; *a1 = a+1; *b1 = b; *a2 = a; *b2 = b+1; } if(dir == 4) { *a0 = a+1; *b0 = b-1; *a1 = a+1; *b1 = b; *a2 = a; *b2 = b-1; } } /**************************************************************** * Function: pca_orderedmap_thresholded * --------- * Organizes the thresholded chains into an image whose * size is the same as that of the time-frequency * transform * * orderedmap: image containing the ridges * sigsize: input signal size * nscale: number of scales (or frequencies) of the transform * nbchain: number of ridges * chain: array containing the ridges *****************************************************************/ void pca_orderedmap_thresholded(double *orderedmap,int sigsize,int nscale, int *chain,int nbchain) { int id, i, j, k; int a, b, count, chnlng; for(i = 0; i < sigsize; i++) for(j = 0; j < nscale; j++) { k = i + j * sigsize; orderedmap[k] = 0.0; } for(id = 0; id < nbchain; id++) { k = id; chnlng = chain[k]; k += nbchain; a = chain[k]; k += nbchain; b = chain[k]; count = 1; while((count <= chnlng)) { orderedmap[b + a * sigsize] = (double)(id + 1); k += nbchain; a = chain[k]; k += nbchain; b = chain[k]; count++; } } return; } /**************************************************************** * Function: pca_chain_thresholded * --------- * Check the length of chained ridges, and threshold them * * mridge: fixed time local maxima of transform (output of * Scwt_mridge * sigsize: input signal size * nscale: number of scales (or frequencies) of the transform * nbchain: number of ridges * chain: array containing the ridges; the first element * contains the starting point of the ridge, the * second contains the ridge length, and the other * are the values of the ridge * id: pointer containing the indes of the considered ridge * threshold: minimal value of transform modulus considered * on a ridge *****************************************************************/ void pca_chain_thresholded(double *mridge,int sigsize,int *chain,int *id, int nbchain,double threshold, int bstep) { int k, k1, a, b; int count; int kstart, kend; int chnlng; /* look for actual beginning of the chain */ k = (*id)-1; chnlng = chain[k]; k += nbchain; kstart = k; /* beginning of the chain */ a = chain[k]; k += nbchain; b = chain[k]; k1 = b + sigsize * a; count = 1; while((count <= chnlng)&&(mridge[k1]<(double)threshold)) { k += nbchain; kstart = k; a = chain[k]; k += nbchain; b = chain[k]; k1 = b + sigsize * a; count++; } /* Invalid chain (not enough energy) */ if(count > chnlng) { k = (*id)-1; chain[k] = -1; count = 0; while(count <= chnlng) { k += nbchain; chain[k] = -1; k += nbchain; chain[k] = -1; count++; } (*id)--; return; } /* move to the end of the chain */ while(count < chnlng){ k+= nbchain; k+= nbchain; count ++; } kend = k; b = chain[k]; k-= nbchain; a=chain[k]; k1 = b + sigsize * a; /* look for actual end of the chain */ while(mridge[k1] 0.000001) && (orderedmap[k] == 0.0)) { found = YES; /* backwarding: looking for previous points of the chain ----------------------------------------------------- */ while(found){ found = NO; previous_a_b(a,b,dir,&a0,&b0,&a1,&b1,&a2,&b2); if(inrange(0,a0,nscale-1) &&inrange(0,b0,sigsize-1)) { k1 = b0 + sigsize * a0; dir = orientmap[k1]; if((mridge[k1]>0.000001)&&(orderedmap[k1]==0.0)) { found = YES; b = b0; a = a0; } } /* if (found == NO) { if(inrange(0,a1,nscale-1) &&inrange(0,b1,sigsize-1)) { k1 = b1 + sigsize * a1; dir = orientmap[k1]; if((mridge[k1]>0.000001)&&(orderedmap[k1]==0.0)) { found = YES; b = b1; a = a1; } } } if(found == NO) { if(inrange(0,a2,nscale-1) &&inrange(0,b2,sigsize-1)) { k1 = b2 + sigsize * a2; dir = orientmap[k1]; if((mridge[k1]>0.000001)&&(orderedmap[k1]==0.0)) { found = YES; b= b2; a= a2; } } } */ } /* forwarding ---------- */ id ++; if(id >= nbchain) { Rprintf("Nb of chains > reserved number %d. Returned. \n",nbchain); return; } count = 1; found = YES; while(found) { chain[(id-1)+count*nbchain] = a; count++; if(count/2 > maxchnlng) Rf_error("Longer than max chain length. Returned. \n"); chain[(id-1)+count*nbchain]= b; count++; k= b + sigsize * a; dir = orientmap[k]; next_a_b(a,b,dir,&a0,&b0,&a1,&b1,&a2,&b2); orderedmap[k] =(double)(id); found = NO; if(inrange(0,a0,nscale-1) && inrange(0,b0,sigsize-1)) { k1 = b0 + sigsize * a0; if((mridge[k1]>0.000001)&&(orderedmap[k1]==0.0)) { found = YES; orderedmap[k1] =(double)(id); a = a0; b = b0; } } if(found == NO) { if(inrange(0,a1,nscale-1) && inrange(0,b1,sigsize-1)) { k1 = b1 + sigsize * a1; if((mridge[k1]>0.000001)&&(orderedmap[k1]==0.0)) { found = YES; orderedmap[k1] =(double)(id); a = a1; b = b1; } } } if(found == NO) { if(inrange(0,a2,nscale-1) && inrange(0,b2,sigsize-1)) { k1 = b2 + sigsize * a2; if((mridge[k1]>0.000001)&&(orderedmap[k1]==0.0)) { found = YES; orderedmap[k1] =(double)(id); a = a2; b = b2; } } } } chain[(id-1)]= (count-1)/2; /* printf("number of chain %d with lng %d \n",id,chain[(id-1)]); */ /* Threshold and chain the ridges ------------------------------ */ pca_chain_thresholded(mridge,sigsize,chain,&id, nbchain,threshold,bstep); } } } /* Generate the image of the chains -------------------------------- */ pca_orderedmap_thresholded(orderedmap,sigsize,nscale,chain,nbchain); Rprintf("There are %d chains. \n", id); *pnbchain = id; return; } Rwave/src/fft.c0000644000176200001440000000243113230444130013042 0ustar liggesusers#include /**************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /* Fast Fourier transform (from numerical recipes routine) ------------------------------------------------------- */ void double_fft(double *Or,double *Oi,double *Ir,double *Ii, int isize,int isign) { double *tmp; int nt, find2power(), newsize, i; nt = find2power(isize); newsize = 1 << nt; if(!(tmp = (double *)R_alloc(newsize * 2, sizeof(double)))) Rf_error("Memory allocation failed for tmp in cwt_morlet.c \n"); for(i = 0; i < isize; i++) { tmp[2 * i] = Ir[i]; tmp[2 * i + 1] = Ii[i]; } four1(tmp-1,newsize,isign); for(i = 0; i < isize; i++) { if(isign == -1) { Or[i] = tmp[2 * i]/newsize; Oi[i] = tmp[2 * i + 1]/newsize; } else { Or[i] = tmp[2 * i]; Oi[i] = tmp[2 * i + 1]; } } } Rwave/src/crazy_family.c0000644000176200001440000002164113230444130014760 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ /*************************************************************** * * * * * Bug fix by Tom Price 2007, t0mpr1c3@gmail.com * * * * * ****************************************************************/ #include "Swave.h" #include "denoise.h" /**************************************************************** * Function: Scrazy_family * --------- * Organize the output of the crazy climber algorithm into * a series of connected ridges. * * ridgemap: output of the crazy climber algorithm * sigsize: input signal size * nscale: number of scales (or frequencies) of the transform * nbchain: number of ridges * chain: array containing the ridges; the first element * contains the starting point of the ridge, the * second contains the ridge length, and the other * are the values of the ridge * id: pointer containing the indes of the considered ridge * threshold: minimal value of transform modulus considered * on a ridge *****************************************************************/ void Scrazy_family(double *ridgemap,double *orderedmap,int *chain, int *pnbchain,int *psigsize,int *pnscale, int *pbstep,double *pthreshold) { int bstep, nscale, sigsize, nbchain; int i, j, k, id, count, a, b, found, k1; double *mridge; double threshold; threshold = *pthreshold; bstep = *pbstep; nscale = *pnscale; sigsize = *psigsize; nbchain = *pnbchain; if(!(mridge = (double *)S_alloc(sigsize * nscale, sizeof(double)))) Rf_error("Memory allocation failed for mridge in crazy_family.c \n"); /* Compute local maxima of modulus (for fixed b) -------------------------------------------- */ Scwt_mridge(ridgemap,mridge,psigsize,pnscale); id = 0; /* Start looking for ridges as connected curves -------------------------------------------- */ for(i = 0; i < sigsize; i+= bstep) { for(j = 0; j < nscale; j++) { b = i; a = j; k = b + sigsize * a; if((mridge[k] > 0.000001) && (orderedmap[k] == 0.0)) { found = YES; /* backwarding: looking for previous points of the chain ----------------------------------------------------- */ while(found && (b > 0)) { found = NO; b = b-1; k1 = b + sigsize * max(a-1, 0); if((mridge[k1] > 0.000001) && (orderedmap[k1] == 0.0)) { found = YES; a = max(a-1,0); } else { k1 = b + sigsize * max(a, 0); if((mridge[k1] > 0.000001) && (orderedmap[k1] == 0.0)) { found = YES; } else { k1 = b + sigsize * min(a+1, nscale-1); if((mridge[k1] > 0.000001) && (orderedmap[k1] == 0.0)) { found = YES; a = min(a+1,nscale-1); } } } } /* forwarding ---------- */ id ++; if(id > nbchain) { Rprintf("Nb of chains > reserved number. Increase the nbchain. \n"); return; } b = b+1; k = b + sigsize * a; chain[(id-1)] = b; chain[(id-1) + nbchain]= a; count = 2; found = YES; while(found) { orderedmap[k] =(double)(id); found = NO; b = min(b+1, sigsize-1); k1 = b + sigsize * max(a-1, 0); if((mridge[k1] > 0.000001) && (orderedmap[k1] == 0.0)) { found = YES; a = max(a-1,0); } else { k1 = b + sigsize * max(a, 0); if((mridge[k1] > 0.000001) && (orderedmap[k1] == 0.0)) { found = YES; } else { k1 = b + sigsize * min(a+1, nscale-1); if((mridge[k1] > 0.000001) && (orderedmap[k1] == 0.0)) { found = YES; a = min(a+1,nscale-1); } } } if(found) { k = b + sigsize * a; chain[(id -1) + nbchain * count] = a; count ++; } } /* Threshold and chain the ridges ------------------------------ */ chain_thresholded(mridge,sigsize,chain,&id,nbchain,threshold,bstep); } } } /* Generate the image of the chains -------------------------------- */ orderedmap_thresholded(orderedmap,sigsize,nscale,chain,nbchain); /* Order the output according to the chosen data structure ------------------------------------------------------- */ reordering(chain, sigsize, nbchain); Rprintf("There are %d chains. \n", id); *pnbchain = id; return; } /**************************************************************** * Function: orderedmap_thresholded * --------- * Organizes the thresholded chains into an image whose * size is the same as that of the time-frequency * transform * * orderedmap: image containing the ridges * sigsize: input signal size * nscale: number of scales (or frequencies) of the transform * nbchain: number of ridges * chain: array containing the ridges *****************************************************************/ void orderedmap_thresholded(double *orderedmap,int sigsize,int nscale, int *chain,int nbchain) { int id, i, j, k; int a, b; for(i = 0; i < sigsize; i++) for(j = 0; j < nscale; j++) { k = i + j * sigsize; orderedmap[k] = 0.0; } for(id = 0; id < nbchain; id++) { k = id; b = chain[k]; k += nbchain; a = chain[k]; while((a != -1)) { orderedmap[b + a * sigsize] = (double)(id + 1); b++; k += nbchain; a = chain[k]; } } return; } /**************************************************************** * Function: chain_thresholded * --------- * Check the length of chained ridges, and threshold them * * mridge: fixed time local maxima of transform (output of * Scwt_mridge * sigsize: input signal size * nscale: number of scales (or frequencies) of the transform * nbchain: number of ridges * chain: array containing the ridges; the first element * contains the starting point of the ridge, the * second contains the ridge length, and the other * are the values of the ridge * id: pointer containing the indes of the considered ridge * threshold: minimal value of transform modulus considered * on a ridge *****************************************************************/ void chain_thresholded(double *mridge,int sigsize,int *chain,int *id, int nbchain,double threshold, int bstep) { int i, k, k1, a, b; int count, lng; int bstart, astart, bend, aend, oldbstart; int chnlng; /* look for actual beginning of the chain */ k = (*id)-1; b = chain[k]; k += nbchain; a = chain[k]; k1 = b + sigsize * a; while((chain[k] != -1) && (mridge[k1] < (double)threshold)) { k += nbchain; a = chain[k]; b ++; k1 = b + sigsize * a; } /* Invalid chain (not enough energy) */ if(chain[k] == -1) { chnlng = sigsize + 2; k = (*id)-1; for(i = 0; i < chnlng; i++) { chain[k] = -1; k += nbchain; } (*id)--; return; } astart = a; bstart = b; /* move along the non-thresholded chain */ while((b bstart ) { b--; k-= nbchain; } /* end of code inserted for bug fix */ a=chain[k]; k1 = b + sigsize * a; /* look for actual end of the chain */ while(mridge[k1] < threshold) { k -= nbchain; a = chain[k]; b--; k1 = b + sigsize * a; } aend=a; bend=b; /* shift */ oldbstart = chain[(*id)-1]; chain[(*id)-1]=bstart; lng = bend-bstart+1; if(lng <= bstep) { (*id) --; return; } b = (bstart-oldbstart); for(count = 1; count < lng; count++){ b ++; k = (*id)-1 + b * nbchain; chain[(*id)-1 + count * nbchain] = chain[k]; } b++; k = (*id) - 1 + count * nbchain; while((b < (sigsize+bstart-oldbstart)) && ((int)(chain[k]) != -1)) { chain[k] = -1; b++; k += nbchain; } return; } /**************************************************************** * Function: reordering * --------- * Organizes chain[] according to the chosen data structure *****************************************************************/ void reordering(int *chain,int sigsize,int nbchain) { int i,j,cnt; for(i=0; i0)&&(chain[i+j*nbchain]==-1)) j--; while((j>0)&&(chain[i+j*nbchain]!=-1)){ chain[i+(j+1)*nbchain]=chain[i+j *nbchain]; j--; cnt++; } chain[i+nbchain] = cnt; } return; } Rwave/src/pvalue.h0000644000176200001440000000055213230444130013566 0ustar liggesusers double p_value( double T, double **histo, int resoln, int histo_size ); void compute_pval_average( double *pval, double **p, int max_resoln, int np, int num_of_windows, int window_size ); void local_mean( double *mean, double *s, int np ); double variance( double *s, int np ); void local_var( double *var, double *s, int *resoln_ptr, int *np_ptr ); Rwave/src/ridge_snakenoid.c0000644000176200001440000003062313230444130015414 0ustar liggesusers#include /*************************************************************** * $Log: ridge_snakoid.c,v $ * **************************************************************** * * * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /**************************************************************** * Function: Ssnakoid: * * ------------------- * * Ridge extraction from annealing, using the snake method * * * * smodulus: modulus smoothed by a window * * cost: cost function * * phi: ridge (scale coordinate) * * rho: ridge(position coordinate) * * lambda: coefficient in front of phi'' in the cost function * * mu: coefficient in front of phi' in the cost function * * lambda2: coefficient in front of rho'' in the cost function* * mu2: coefficient in front of rho' in the cost function * * c: constant on the temperature schedule * * sigsize: signal size * * snakesize: size of the snake (number of points) * * nscale: total number of scales for CWT * * iteration: maximal number of iterations for the annealing * * stagnant: allowed number of consecutive steps without * * move (stopping criterion) * * seed: seed for random number generator * * count: number of iterations * * sub: subsampling rate for ridge extraction * * blocksize: subsampling of the cost function in cost * * blocksize=1 means that the whole cost function * * is returned * * * ****************************************************************/ void Ssnakenoid_annealing(double *cost, double *smodulus, double *phi, double *rho, double *plambda, double *pmu, double *plambda2, double *pmu2, double *pc, int *psigsize, int *psnakesize, int *pnscale, int *piteration, int *pstagnant, int *pseed, int *pcount, int *psub, int *pblocksize, int *psmodsize) { int sigsize,snakesize,ncount,iteration; int i,k,up,right,pos,num,a,b,count,costcount,sub; /* int count1=0; */ long idum=-9; int again, tbox, blocksize,smodsize; int nscale, stagnant, recal; double c, lambda, mu, lambda2, mu2; double *bcost, *phi2; double ran, gibbs; double cost1; double temperature, tmp=0; /* FILE *fp; */ int *posmap; double tmp_cost; double der_plus,der_minus,der_sec,der_sec_plus,der_sec_minus; double der_plusB,der_minusB,der_secB,der_sec_plusB,der_sec_minusB; /* Generalities; initializations -----------------------------*/ mu = *pmu; mu2 = *pmu2; lambda = *plambda; lambda2 = *plambda2; stagnant = *pstagnant; nscale = *pnscale; iteration = *piteration; c = *pc; sigsize = *psigsize; snakesize = *psnakesize; idum = (long)(*pseed); sub = *psub; blocksize = *pblocksize; smodsize = *psmodsize; recal = 100000; /* recompute cost function every 'recal' iterations */ if(!(bcost = (double *)S_alloc(blocksize,sizeof(double)))) Rf_error("Memory allocation failed for bcost at snake_annealing.c \n"); if(!(phi2 = (double *)S_alloc(sigsize,sizeof(double)))) Rf_error("Memory allocation failed for phi2 at snake_annealing.c \n"); if(!(posmap = (int *)S_alloc(smodsize * nscale,sizeof(int)))) Rf_error("Memory allocation failed for posmap at snake_annealing.c \n"); tbox = 0; ncount = 0; /* count for cost */ count = 0; /* total count */ temperature = c/log(2. + (double)count); /* Initial temperature */ cost1 = 0; tmp_cost = 0; /* mark the initial positions of snakes */ for(i = 0; i < snakesize; i++) { k = (int)(rho[i]) + smodsize * (int)(phi[i]); posmap[k] = 1; } /* Smooth and subsample the wavelet transform modulus --------------------------------------------------*/ snakesub(rho,sub,snakesize); /* Iterations: -----------*/ while(1) { for(costcount = 0; costcount < blocksize; costcount++) { /* Initialize the cost function ----------------------------*/ if(count == 0) { for(i = 1; i < snakesize-1; i++) { tmp = (double)((phi[i-1]+ phi[i+1] - 2 * phi[i])); tmp_cost = (double)((lambda * tmp * tmp)); tmp = (double)((phi[i] - phi[i+1])); tmp_cost += (double)((mu * tmp * tmp)); tmp = (double)((rho[i-1]+ rho[i+1] - 2 * rho[i])); tmp_cost += (double)((lambda2 * tmp * tmp)); tmp = (double)((rho[i] - rho[i+1])); tmp_cost += (double)((mu2 * tmp * tmp)); a = (int)phi[i]; b= (int)rho[i]; tmp = smodulus[smodsize * a + b]; cost1 -= (tmp * (1.-tmp_cost)); } tmp = (double)((phi[0] - phi[1])); tmp_cost = (double) ((mu * tmp * tmp)); tmp = (double)((rho[0] - rho[1])); tmp_cost += (double) ((mu2 * tmp * tmp)); a = (int)phi[0]; b= (int)rho[0]; tmp = smodulus[smodsize * a + b]; cost1 -= (tmp * (1.-tmp_cost)); a = (int)phi[snakesize-1]; b= (int)rho[snakesize-1]; tmp = smodulus[smodsize * a + b]; cost1 -= tmp; cost[ncount++] = (double)cost1; bcost[0] = (double)cost1; count ++; costcount = 1; Rprintf("Initialisation of cost function done\n"); if(costcount == blocksize) break; } /* Generate potential random move ------------------------------*/ again = YES; while(again) { randomsnaker(snakesize,&num); /* returns between 0 and 4 * snakesize - 1*/ pos = num/4; up = 0; right=0; if(num%4 == 0) up = 1; if(num%4 == 1) up = -1; if(num%4 == 2) right = 1; if(num%4 == 3) right = -1; again = NO; if((((int)phi[pos] == 0) && (up == -1)) || (((int)phi[pos] == (nscale-1)) && (up == 1)) || (((int)rho[pos] == (smodsize-1)) && (right == 1)) || (((int)rho[pos] == 0) && (right == -1)) || (posmap[(int)(rho[pos]+right + (phi[pos]+up) * smodsize)] == 1)) again = YES; /* boundary effects */ } /* Compute corresponding update of the cost function -------------------------------------------------*/ if(inrange(2,pos,snakesize-3)) { der_plus = (double)(phi[pos +1]-phi[pos]); der_minus = (double)(phi[pos] -phi[pos-1]); der_sec = der_plus - der_minus; der_sec_plus = (double)(phi[pos+2] - 2.*phi[pos+1] + phi[pos]); der_sec_minus = (double)(phi[pos-2] - 2.*phi[pos-1] + phi[pos]); der_plusB = (double)(rho[pos +1]-rho[pos]); der_minusB = (double)(rho[pos] -rho[pos-1]); der_secB = der_plusB - der_minusB; der_sec_plusB = (double)(rho[pos+2] - 2.*rho[pos+1] + rho[pos]); der_sec_minusB = (double)(rho[pos-2] - 2.*rho[pos-1] + rho[pos]); a = (int)phi[pos]; b = (int)rho[pos]; tmp_cost = (smodulus[smodsize*a+b]); a = (int)phi[pos] + up; b = (int)rho[pos] + right; tmp_cost -= (smodulus[smodsize*a+b]); tmp = tmp_cost*(-1.+mu*der_plus*der_plus+lambda*der_sec*der_sec +mu2*der_plusB*der_plusB+lambda2*der_secB*der_secB); tmp_cost = mu*(1. - 2.*up*der_plus); tmp_cost += 4.*lambda*(1.-up*der_sec); tmp_cost += mu2*(1. - 2.*right*der_plusB); tmp_cost += 4.*lambda2*(1.-right*der_secB); a = (int)phi[pos] + up; b = (int)rho[pos] + right; tmp += (tmp_cost*smodulus[smodsize*a+b]); tmp_cost = mu*(1. + 2.*up*der_minus); tmp_cost += 2.*lambda*(up*der_sec_minus +1.); tmp_cost += mu2*(1. + 2.*right*der_minusB); tmp_cost += 2.*lambda2*(right*der_sec_minusB +1.); a = (int)phi[pos-1]; b = (int)rho[pos-1]; tmp += (tmp_cost*smodulus[smodsize*a+b]); tmp_cost = 2.*lambda*(up*der_sec_plus +1.); tmp_cost += 2.*lambda2*(right*der_sec_plusB +1.); a = (int)phi[pos+1]; b = (int)rho[pos+1]; tmp += (tmp_cost*smodulus[smodsize*a+b]); } if(inrange(2,pos,snakesize-3) == NO) { if(pos == 0) { der_plus = (double)(phi[pos +1]-phi[pos]); der_sec_plus = (double)(phi[pos+2] - 2.*phi[pos+1] + phi[pos]); der_plusB = (double)(rho[pos +1]-rho[pos]); der_sec_plusB = (double)(rho[pos+2] - 2.*rho[pos+1] + rho[pos]); a = (int)phi[pos] + up; b = (int)rho[pos] + right; tmp_cost = smodulus[smodsize*a+b]; a = (int)phi[pos]; b = (int)rho[pos]; tmp_cost -= smodulus[smodsize*a+b]; tmp = tmp_cost*(-1.+mu*der_plus*der_plus + mu2*der_plusB*der_plusB); a = (int)phi[pos] + up; b = (int)rho[pos] + right; tmp_cost = mu*(1. - 2.*up*der_plus); tmp_cost += mu2*(1. - 2.*right*der_plusB); tmp += (tmp_cost*smodulus[smodsize*a+b]); a = (int)(phi[pos+1]); b = (int)(rho[pos+1]); tmp_cost = lambda*(1. + 2.*up*der_sec_plus); tmp_cost += lambda2*(1. + 2.*right*der_sec_plusB); tmp += (tmp_cost*smodulus[smodsize*a+b]); } else if(pos == (snakesize-1)) { der_minus = (double)(phi[pos] -phi[pos-1]); der_sec_minus = (double)(phi[pos-2] - 2.*phi[pos-1] + phi[pos]); der_minusB = (double)(rho[pos] -rho[pos-1]); der_sec_minusB = (double)(rho[pos-2] - 2.*rho[pos-1] + rho[pos]); a = (int)phi[pos] + up; b = (int)rho[pos] + right; tmp_cost = smodulus[smodsize*a+b]; a = (int)phi[pos]; b = (int)rho[pos]; tmp_cost -= smodulus[smodsize*a+b]; tmp = -tmp_cost; a = (int)(phi[pos-1]); b=(int)(rho[pos-1]); tmp_cost = mu*(1. +2.*up*der_minus); tmp_cost += mu2*(1. +2.*right*der_minusB); tmp_cost += lambda*(1.+2*up*der_sec_minus); tmp_cost += lambda2*(1.+2*right*der_sec_minusB); tmp += (tmp_cost*smodulus[smodsize*a+b]); } } /* To move or not to move: that's the question -------------------------------------------*/ if(tmp < (double)0.0) { posmap[(int)(rho[pos] + smodsize * phi[pos])] = 0; phi[pos] += up; rho[pos] += right; /* good move */ posmap[(int)(rho[pos] + smodsize * phi[pos])] = 1; cost1 += tmp; tbox = 0; } else { gibbs = exp(-tmp/temperature); ran = ran1(&idum); if(ran < gibbs) { posmap[(int)(rho[pos] + smodsize * phi[pos])] = 0; phi[pos] += up; rho[pos] += right; /* adverse move */ posmap[(int)(rho[pos] + smodsize * phi[pos])] = 1; cost1 += tmp; tbox = 0; } tbox ++; if(tbox >= stagnant) { cost[ncount++] = (double)cost1; *pcount = ncount; /* if((blocksize != 1)){ for(i = 0; i < costcount+1; i++) REprintf( "%f ", bcost[i]); fclose(fp); } */ /* Interpolate from subsampled ridge --------------------------------*/ /* if(sub != 1){ splsnake(sub, rho-1, phi-1, snakesize, phi2-1); Rprintf("interpolation done\n"); for(i=0;i= iteration) { cost[ncount++] = (double)cost1; *pcount = ncount; /* Write cost function to a file -----------------------------*/ /* if((blocksize != 1)){ for(i = 0; i < costcount+1; i++) REprintf( "%f ", bcost[i]); fclose(fp); } */ /* Interpolate from subsampled ridge ---------------------------------*/ /* if(sub !=1){ splsnake(sub, rho-1, phi-1, snakesize, phi2-1); Rprintf("interpolation done\n"); for(i=0;i /**************************************************************** * (c) Copyright 1998 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" void WV_mult(int n, double *Ri,double *Ii, double *Ro, double *Io,int isize); /*********************************************************** * Function: freq_parity * --------- * Parity transformation * * frequency: value of the frequency parameter (double) * win: input signal * wout: transformed signal * isize: signal size * ************************************************************/ void freq_parity(double frequency,double *win,double *wout, int isize,int sign) { int i,itmp; for(i = 0; i < isize; i++) { itmp = ((int)rint(2*frequency*isize)-i +isize)%isize; wout[i] = win[itmp]*sign; } return; } /*********************************************************** * Function: WV_freq_mult * --------- * Fourier domain manipulation for Wigner-Ville * * frequency: value of the frequency parameter (double) * Ri,Ii: input signal (real and imag. parts) * Ro,Io: output signal (real and imag. parts) * isize: signal size * ************************************************************/ void WV_freq_mult(double frequency,double *Ri,double *Ii, double *Ro, double *Io,int isize) { int i,itmp,jtmp; for(i = 0; i < isize; i++) { itmp = ((int)rint(frequency*isize) - i + 2*isize)%isize; jtmp = ((int)rint(frequency*isize) + i + 2*isize)%isize; Ro[i] = Ri[itmp] * Ri[jtmp] + Ii[itmp] * Ii[jtmp]; Io[i] = -Ri[itmp] * Ii[jtmp] + Ii[itmp] * Ri[jtmp]; } return; } /*********************************************************** * Function: WV_mult * --------- * Manipulation for Wigner-Ville * * frequency: value of the frequency parameter (double) * Ri,Ii: input signal (real and imag. parts) * Ro,Io: output signal (real and imag. parts) * isize: signal size * ************************************************************/ void WV_mult(int n, double *Ri,double *Ii, double *Ro, double *Io,int isize) { int p,n2; int iplus,iminus; n2 = 2*n; for(p = 0; p < isize; p++) { iplus = (n2 + p + isize/2)%isize; iminus = (n2 - p + 3*isize/2)%isize; Ro[p] = Ri[iplus] * Ri[iminus] + Ii[iplus] * Ii[iminus]; Io[p] = -Ri[iplus] * Ii[iminus] + Ii[iplus] * Ri[iminus]; } return; } /*********************************************************** * Function: WV: * --------- * Continuous Wigner-Ville transform. * * input: input signal * Oreal, Oimage: Wigner Ville transform * (real and imaginary parts) * pinputsize: signal size * pnbfreq: Number of values for the frequency * pfreqstep: frequency step * ***********************************************************/ void WV(double *input,double *Oreal,double *Oimage,int *pnbfreq, double *pfreqstep,int *pinputsize) { int nbfreq, i, p, k, inputsize, locsize; double freqstep; double *Ri1, *Ii1, *Ii, *Ri, *tmpreal, *tmpimage; /* Initialization of S variables */ nbfreq = *pnbfreq; freqstep = *pfreqstep; inputsize = *pinputsize; locsize = 2*inputsize; /* Memory allocation */ if(!(Ri = (double *)S_alloc(locsize, sizeof(double)))) Rf_error("Memory allocation failed for Ri in WV.c \n"); if(!(Ii = (double *)S_alloc(locsize, sizeof(double)))) Rf_error("Memory allocation failed for Ii in WV.c \n"); if(!(Ri1 = (double *)S_alloc(locsize, sizeof(double)))) Rf_error("Memory allocation failed for Ri1 in WV.c \n"); if(!(Ii1 = (double *)S_alloc(locsize, sizeof(double)))) Rf_error("Memory allocation failed for Ii1 in WV.c \n"); if(!(tmpreal = (double *)S_alloc(locsize, sizeof(double)))) Rf_error("Memory allocation failed for tmpreal in WV.c \n"); if(!(tmpimage = (double *)S_alloc(locsize, sizeof(double)))) Rf_error("Memory allocation failed for tmpimage in WV.c \n"); /* Load signal for FFT */ for(i = 0; i < inputsize; i++){ *Ri = (double)(*input); Ri++; input++; } Ri -= inputsize; input -= inputsize; /* Compute short FFT of the signal */ double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); /* Interpolate and analytize */ for(i=1+3*inputsize/2;i /****************************************** * FFT function (from Numerical Recipes) * * (the length of the FFTed signal HAS * * be a power of 2) * *******************************************/ #include "denoise.h" #include #define SWAP(a,b) tempr=(a);(a)=(b);(b)=tempr void four1(double data[], int nn, int isign) { int n,mmax,m,j,istep,i; double wtemp,wr,wpr,wpi,wi,theta; double tempr,tempi; n=nn << 1; j=1; for (i=1;i i) { SWAP(data[j],data[i]); SWAP(data[j+1],data[i+1]); } m=n >> 1; while (m >= 2 && j > m) { j -= m; m >>= 1; } j += m; } mmax=2; while (n > mmax) { istep=2*mmax; theta=6.28318530717959/(isign*mmax); wtemp=sin(0.5*theta); wpr = -2.0*wtemp*wtemp; wpi=sin(theta); wr=1.0; wi=0.0; for (m=1;m #include /*************************************************************** * $Log: splint2.c,v $ * **************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #include "rwkernel.h" /*************************************************************** * Function: splint2 * --------- * Cubic spline interpolation (modified from Numerical * Recipes, in order to incorporate the computation * of the first derivative). * * xa,xb: arrays containing the x and y values at the nodes * ya2: second derivative. * x: value at which the function is to be estimated. * y: value of the function at point x. * yp: derivative of the function at point x. ***************************************************************/ void splint2(double xa[], double ya[], double y2a[], int n, double x, double *y, double *yp) { int klo,khi,k; double h,b,a; klo=1; khi=n; while (khi-klo > 1) { k=(khi+klo) >> 1; if (xa[k] > x) khi=k; else klo=k; } h=xa[khi]-xa[klo]; if (h == 0.0) { Rprintf("Bad xa input to routine splint2 \n"); /* exit(1); */ return; } a=(xa[khi]-x)/h; b=(x-xa[klo])/h; *y=a*ya[klo]+b*ya[khi]+((a*a*a-a)*y2a[klo]+(b*b*b-b)*y2a[khi])*(h*h)/6.0; *yp = (ya[khi]-ya[klo] - ((3*a*a -1)*y2a[klo] - (3*b*b -1)*y2a[khi])*h*h/6)/h; } Rwave/src/hessian_climbers.c0000644000176200001440000000603513230444130015601 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /**************************************************************** * Function: Shessianmap: * --------------------- * Road map designed using hessian matrix * * smodulus: squared-modulus of the wavelet transform * (coming from learning the noise) * sigsize: signal size * nscale: total number of scales for CWT * gridx : the window size for pca along x * gridy : the window size for pac along y * nbblock: number of window used by pca * nbpoint: number of sampler each window by pca * pointmap: map of sampling points * tst: the first 4 locations containing the coordinates of left * and right corner, followed with a sequence of the coor- * dinates of sampled points in each block. * tstsize: equal to 4 + 2 * number of sampled point each pca block * count: the maximal number of repetition if location is chosen in * a block * seed: seed for random number generator ****************************************************************/ void Shessianmap(double *sqmodulus, int *psigsize, int *pnscale, int *pnbblock, int *pgridx, int *pgridy, double *tst) { int a, b, sigsize, nscale, gridx, gridy ; int left, right, down, up; double mxx, mxy, myx, myy; int bnumber, k; sigsize = *psigsize; nscale = *pnscale; gridx = *pgridx; gridy = *pgridy; bnumber = 0; for(a = 2; a < nscale-2; a += gridy) { for(b = 2; b < sigsize-2; b += gridx) { down = a; up = min(a + gridy, nscale-1); left = b; right = min(b + gridx, sigsize-1); k = b + a * sigsize; mxx = 0.25*(sqmodulus[k+2]+sqmodulus[k-2]-2*sqmodulus[k]); myy = 0.25*(sqmodulus[k+2*sigsize]+sqmodulus[k-2*sigsize]-2 * sqmodulus[k]); mxy = 0.25*(sqmodulus[k+1+sigsize]+sqmodulus[k-1-sigsize] -sqmodulus[k+1-sigsize]-sqmodulus[k-1+sigsize]); myx = mxy; /* first four containing the coordinate of left low and right up corner --------------------------------------------------------------------*/ tst[8*bnumber] = (double)(left+1); tst[8*bnumber+1] = (double)(down+1); tst[8*bnumber+2] = (double)(right+1); tst[8*bnumber+3] = (double)(up+1); /* negative Hessian as Gaussian ----------------------------*/ tst[8*bnumber+4] = -mxx; tst[8*bnumber+5] = -mxy; tst[8*bnumber+6] = -myx; tst[8*bnumber+7] = -myy; bnumber++; } } *pnbblock = bnumber; } Rwave/src/denoise.h0000644000176200001440000002734213230444130013726 0ustar liggesusers/**************************************************************** * $ Log: denoise.h,v $ * * (c) Copyright 1994 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * University of California, Irvine * * All right reserved * ****************************************************************/ /************************************************************************** Type definitions: wave WT **************************************************************************/ #include "complex.h" /************************************************************************** * Function declarations: **************************************************************************/ /* In FFT.c --------*/ void double_fft(double *Or,double *Oi,double *Ir,double *Ii, int isize,int isign); /* In four1.c ----------*/ void four1(double data[],int nn,int isign); /* In cwt_maxima.c ---------------*/ void Scwt_gmax(double *input, double *output, int *pnrow, int *pncol, int *posvector); void Scwt_mridge(double *input, double *output, int *pnrow, int *pncol); /* In cwt_phase.c --------------*/ void morlet_frequencyph(double cf,double scale,double *w, double *wd,int isize); void normalization(double *Oreal, double *Oimage, double *Odreal, double *Odimage, int cwtlength); void f_function(double *Oreal, double *Oimage, double *Odreal, double *Odimage, double *f, double cf,int inputsize,int nbvoice, int nboctave); void Scwt_phase(double *input, double *Oreal, double *Oimage, double *f, int *pnboctave, int *pnbvoice, int *pinputsize, double *pcenterfrequency); void w_reassign(double *Oreal, double *Oimage, double *Odreal, double *Odimage, double *squeezed_r, double *squeezed_i, double cf, int inputsize,int nbvoice,int nboctave); void Scwt_squeezed(double *input, double *squeezed_r, double *squeezed_i, int *pnboctave, int *pnbvoice, int *pinputsize, double *pcenterfrequency); /* In cwt_morlet.c ---------------*/ void multi(double *Ri1, double *Ii1, double *Ri2, double *Or, double *Oi, int isize); void morlet_frequency(double cf,double scale,double *w,int isize); void morlet_time(double *pcf, double *pscale, int *pb, double *w_r, double *w_i, int *pisize); //void morlet_time(double *pcf, double *pscale, int *pb, // fcomplex *w, int *pisize); void vmorlet_time(double *pcf,double *pscale, int *b, double *w_r, double *w_i,int *pisize, int *pnbnode); void Scwt_morlet_r(double *input, double *Oreal, double *Oimage, int *pnboctave, int *pnbvoice, int *pinputsize, double *pcenterfrequency); void Scwt_morlet(double *Rinput,double *Iinput,double *Oreal, double *Oimage,int *pnboctave,int *pnbvoice, int *pinputsize,double *pcenterfrequency); void Svwt_morlet(double *Rinput,double *Iinput,double *Oreal, double *Oimage,double *pa,int *pinputsize, double *pcenterfrequency); /* In cwt_thierry.c ----------------*/ void thierry_frequency(int M,double scale,double *w,int isize); void Scwt_thierry_r(double *input, double *Oreal, double *Oimage, int *pnboctave, int *pnbvoice, int *pinputsize, int *pM); void Scwt_thierry(double *Rinput,double *Iinput,double *Oreal, double *Oimage,int *pnboctave,int *pnbvoice, int *pinputsize,int *pM); void Svwt_thierry(double *Rinput,double *Iinput,double *Oreal, double *Oimage,double *pa,int *pinputsize, int *pM); /* In cwt_DOG.c ------------*/ void DOG_frequency(int M,double scale,double *w,int isize); void Scwt_DOG_r(double *input, double *Oreal, double *Oimage, int *pnboctave, int *pnbvoice, int *pinputsize, int *pM); void Scwt_DOG(double *Rinput,double *Iinput,double *Oreal, double *Oimage,int *pnboctave,int *pnbvoice, int *pinputsize,int *pM); void Svwt_DOG(double *Rinput,double *Iinput,double *Oreal, double *Oimage,double *pa,int *pinputsize, int *pM); /* In icm.c --------*/ void Sridge_icm(double *cost, double *smodulus, double *phi, double *plambda, double *pmu, int *psigsize, int *pnscale, int *piteration,int *pcount, int *psub, int *psmodsize); /* In gabor.c ----------*/ void gabor_frequency(double sigma,double frequency,double *w,int isize); void Sgabor(double *input, double *Oreal, double *Oimage, int *pnbfreq, double *pfreqstep, int *pinputsize, double *pscale); void Svgabor(double *input,double *Oreal,double *Oimage,double *pfreq, int *pinputsize,double *pscale); void vgabor_time(double *frequency,double *pscale, int *b, double *g_r, double *g_i,int *pisize, int *pnbnode); /* In randomwalker.c -----------------*/ double ran1(long *idum); void randomwalker(int sigsize,int *num); void randomsnaker(int sigsize,int *num); void randomwalker2(int sigsize,int *num, long *seed); /* In randomwalker.c -----------------*/ double oldran1(long *idum); /* In smoothwt.c -------------*/ void smoothwt(double *wt, double *swt, int sigsize, int nbscale, int windowlength); void smoothwt1(double *wt, double *swt, int sigsize, int nbscale, int windowlength); void smoothwt2(double *wt, double *swt, int sigsize, int nbscale, int windowlength, int *smodsize); void Smodulus_smoothing(double *modulus, double *smodulus, int *psigsize, int *psmodsize, int *pnscale, int *psubrate); void Ssmoothwt(double *smodulus,double * modulus, int *psigsize, int *pnscale, int *psubrate, int *pflag); /* In splridge.c -------------*/ void splridge(int rate, double *y, int n, double *yy); /* In splsnake.c -------------*/ void splsnake(int rate, double *x, double *y, int n, double *yy); /* In snakesub.c -------------*/ void snakesub(double *rho,int rate,int snakesize); void snakexpand(double *rho,int rate,int snakesize); /* In ridge_annealing.c --------------------*/ void Sridge_annealing(double *cost, double *smodulus, double *phi, double *plambda, double *pmu, double *pc, int *psigsize, int *pnscale, int *piteration, int *pstagnant, int *pseed, int *pcount, int *psub, int *pblocksize, int *psmodsize); /* In ridge_coronoid.c -------------------*/ void Sridge_coronoid(double *cost, double *smodulus, double *phi, double *plambda, double *pmu, double *pc, int *psigsize, int *pnscale, int *piteration, int *pstagnant, int *pseed, int *pcount, int *psub, int *pblocksize, int *psmodsize); /* In snake_annealing.c --------------------*/ void Ssnake_annealing(double *cost, double *smodulus, double *phi, double *rho, double *plambda, double *pmu, double *plambda2, double *pmu2, double *pc, int *psigsize, int *psnakesize, int *pnscale, int *piteration, int *pstagnant, int *pseed, int *pcount, int *psub, int *pblocksize, int *psmodsize); /* In multiply.c -------------*/ void multiply(double *Ri1, double *Ii1, double *Ri2, double *Ii2, double *Or,double *Oi, int isize); /* In spline.c -----------*/ void spline(double x[], double y[], int n, double yp1, double ypn, double y2[]); /* In splint.c -----------*/ void splint(double xa[], double ya[], double y2a[], int n, double x, double *y); /* In splint2.c ------------*/ void splint2(double xa[], double ya[], double y2a[], int n, double x, double *y, double *yp); /* In Util_denoising.c -------------------*/ int find2power(int n); /******************* edit by xian Mon 14 Dec 2009 09:14:33 PM MST ****** void error(char *s); ******************** edit by xian *****/ /* In bee_annealing.c ------------------*/ void Sbee_annealing(double *smodulus, double *beemap, double *pc, int *psigsize, int *pnscale, int *piteration, int *pseed, int *pbstep, int *pnbbee, int *pintegral, int *pchain, int *flag); /* In ridrep.c -----------*/ void ridrep(double *signal,double *transform,double *phi,int length, int width, int bmin, int bmax, int amin, int amax,char *filename); void snakerep(double *signal,double *transform,double *phi,double *rho, int nb_nodes,int length,int width, int bmin, int bmax, int amin, int amax,char *filename); void marsrep(double *signal,double *transform,double *phi, int length, int width, int b_start, int b_end, int bmin, int bmax, int amin, int amax,char *filename); /* In delog.c ----------*/ void delog(double *phi, double *phi2, int A, int nvoice, int B); void delog_inv(double *phi, double *phi2, int A, int nvoice, int B); /* In initialization.c -------------------*/ void initialization(int *b_start , int *b_end,int *nitermax, double *a_0, int *rate); /* In ridrecon.c ------------- void ridrecon(double *ridge, double *skel,double *signal, wave *W, int start, int end, double omega); */ /* In variance.c -------------*/ double variance(double *signal, int length); /* In normalize.c --------------*/ void normalize(double *signal, double norm, int length); void dnormalize(double *signal, double norm, int length); /* In V_pot.c ----------*/ void V_pot(double *modulus, double *V, int B, int A); /* In clean.c ----------*/ void fclean(double *array, int length); void dclean(double *array, int length); void iclean(int *array, int length); /* In power_law.c --------------*/ void power_law(double *V, double alpha, double cst, int nscale, int nvoice); /* In ridge_rec.c --------------*/ void Sridge_rec(double *chain, double *recsig, double *gabor, int *pnbchain, int *psigsize, int *pnfreq); /* In crazy_family.c -----------------*/ void Scrazy_family(double *ridgemap,double *orderedmap,int *chain, int *pnbchain,int *psigsize,int *pnscale,int *pbstep,double *pthreshold); void orderedmap_thresholded(double *orderedmap,int sigsize,int nscale, int *chain,int nbchain); void chain_thresholded(double *mridge,int sigsize,int *chain,int *id, int nbchain,double threshold, int bstep); void reordering(int *chain, int sigsize, int nbchain); /* In transpose.c --------------*/ void transpose(double *inmat, double *outmat, int length1, int length2); void itranspose(int *inmat, int *outmat, int length1, int length2); void dtranspose(double *inmat, double *outmat, int length1, int length2); /* in simul.c --------- */ void local_mean(double *mean, double *s, int np ); double gasdev(long *idum); double variance(double *s, int np ); double denominator(double *Wf, int np ); double numerator(double *Wf, int resoln, int np ); void normal_histo( double ***histo, int max_resoln, int sample_size ); void bootstrap_histo(double ***histo, double *s, int max_resoln, int sample_size ); void normal_pval_compute(double *pval, double *s, int *max_resoln_ptr, int *np_ptr, int *num_of_windows_ptr, int *window_size_ptr ); void bootstrap_pval_compute(double *pval, double *s, int *max_resoln_ptr, int *np_ptr, int *num_of_windows_ptr, int *window_size_ptr ); void nthresh_compute(double *nthresh, double *s, int *maxresoln_ptr, int *sample_size_ptr, double prct ); void bthresh_compute(double *bthresh, double *s, int *maxresoln_ptr, int *sample_size_ptr, double prct ); double p_value(double T, double **histo, int resoln, int histo_size ); void compute_pval_average(double *pval, double **p, int max_resoln, int np, int num_of_windows, int window_size ); /* in qcksrt.c ----------- */ void qcksrt(int n,double arr[]); /* in WV.c ------- */ void freq_parity(double frequency,double *win,double *wout, int isize,int sign); void WV_freq_mult(double frequency,double *Ri,double *Ii, double *Ro, double *Io,int isize); void WV(double *input, double *Oreal,double *Oimage,int *pnbfreq, double *pfreqstep,int *pinputsize); /* in optimize.c ------------- */ void Lpnorm(double *norm, double *p, double *Rmat, double *Imat, int *length, int *width); void entropy(double *entr, double *Rmat, double *Imat, int *length, int *width); Rwave/src/choldc.c0000644000176200001440000002100213230444130013512 0ustar liggesusers#include /*************************************************************** * $Log: cholde.c,v $ * **************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ /* Numeric Recipe of C */ #include "Swave.h" #include "dyadic.h" #ifndef _NR_UTILS_H_ #define _NR_UTILS_H_ #define SQR(a) ((sqrarg=(a)) == 0.0 ? 0.0 : sqrarg*sqrarg) #define DSQR(a) ((dsqrarg=(a)) == 0.0 ? 0.0 : dsqrarg*dsqrarg) #define DMAX(a,b) (dmaxarg1=(a),dmaxarg2=(b),(dmaxarg1) > (dmaxarg2) ?\ (dmaxarg1) : (dmaxarg2)) #define DMIN(a,b) (dminarg1=(a),dminarg2=(b),(dminarg1) < (dminarg2) ?\ (dminarg1) : (dminarg2)) #define FMAX(a,b) (maxarg1=(a),maxarg2=(b),(maxarg1) > (maxarg2) ?\ (maxarg1) : (maxarg2)) #define FMIN(a,b) (minarg1=(a),minarg2=(b),(minarg1) < (minarg2) ?\ (minarg1) : (minarg2)) #define LMAX(a,b) (lmaxarg1=(a),lmaxarg2=(b),(lmaxarg1) > (lmaxarg2) ?\ (lmaxarg1) : (lmaxarg2)) #define LMIN(a,b) (lminarg1=(a),lminarg2=(b),(lminarg1) < (lminarg2) ?\ (lminarg1) : (lminarg2)) #define IMAX(a,b) (imaxarg1=(a),imaxarg2=(b),(imaxarg1) > (imaxarg2) ?\ (imaxarg1) : (imaxarg2)) #define IMIN(a,b) (iminarg1=(a),iminarg2=(b),(iminarg1) < (iminarg2) ?\ (iminarg1) : (iminarg2)) #define SIGN(a,b) ((b) >= 0.0 ? fabs(a) : -fabs(a)) #if defined(__STDC__) || defined(ANSI) || defined(NRANSI) /* ANSI */ void nrRf_error(char error_text[]); double *vector(long nl, long nh); int *ivector(long nl, long nh); unsigned char *cvector(long nl, long nh); unsigned long *lvector(long nl, long nh); double *dvector(long nl, long nh); double **matrix(long nrl, long nrh, long ncl, long nch); double **dmatrix(long nrl, long nrh, long ncl, long nch); int **imatrix(long nrl, long nrh, long ncl, long nch); double **submatrix(double **a, long oldrl, long oldrh, long oldcl, long oldch, long newrl, long newcl); double **convert_matrix(double *a, long nrl, long nrh, long ncl, long nch); double ***f3tensor(long nrl, long nrh, long ncl, long nch, long ndl, long ndh); void free_vector(double *v, long nl, long nh); void free_ivector(int *v, long nl, long nh); void free_cvector(unsigned char *v, long nl, long nh); void free_lvector(unsigned long *v, long nl, long nh); void free_dvector(double *v, long nl, long nh); void free_matrix(double **m, long nrl, long nrh, long ncl, long nch); void free_dmatrix(double **m, long nrl, long nrh, long ncl, long nch); void free_imatrix(int **m, long nrl, long nrh, long ncl, long nch); void free_submatrix(double **b, long nrl, long nrh, long ncl, long nch); void free_convert_matrix(double **b, long nrl, long nrh, long ncl, long nch); void free_f3tensor(double ***t, long nrl, long nrh, long ncl, long nch, long ndl, long ndh); #else /* ANSI */ /* traditional - K&R */ void nrRf_error(); double *vector(); double **matrix(); double **submatrix(); double **convert_matrix(); double ***f3tensor(); double *dvector(); double **dmatrix(); int *ivector(); int **imatrix(); unsigned char *cvector(); unsigned long *lvector(); void free_vector(); void free_dvector(); void free_ivector(); void free_cvector(); void free_lvector(); void free_matrix(); void free_submatrix(); void free_convert_matrix(); void free_dmatrix(); void free_imatrix(); void free_f3tensor(); #endif /* ANSI */ #endif /* _NR_UTILS_H_ */ /*****************************************************************************/ /* choldc, cholsl */ /* ludcmp, lubksb */ /*****************************************************************************/ void double_choldc(double **a, int n, double p[]) { int i,j,k; double sum; for (i=1;i<=n;i++) { for (j=i;j<=n;j++) { for (sum=a[i][j],k=i-1;k>=1;k--) sum -= a[i][k]*a[j][k]; if (i == j) { if (sum <= 0.0) Rprintf("choldc failed"); p[i]=sqrt(sum); } else a[j][i]=sum/p[i]; } } } /*****************************************************************************/ /* cholde : double precision with C language array format */ /*****************************************************************************/ void choldc(double **a, int n, double p[]) { double *P; int i; /* if(!(A = (double **)(malloc(sizeof(double *) * (n+1))))) Rf_error("Memory allocation failed for A in choldc.c \n"); */ if(!(P = (double *)(R_alloc((n+1), sizeof(double) )))) Rf_error("Memory allocation failed for P in choldc.c \n"); /* for(i = 0; i <= n; i++) { if(!(A[i] = (double *)(malloc(sizeof(double) * (n+1))))) Rf_error("Memory allocation failed for A in choldc.c \n"); } */ for(i = 0; i < n; i++) { P[i+1] = (double)(p[i]); /* for(j = 0; j =1;k--) sum -= a[i][k]*x[k]; x[i]=sum/p[i]; } for (i=n;i>=1;i--) { for (sum=x[i],k=i+1;k<=n;k++) sum -= a[k][i]*x[k]; x[i]=sum/p[i]; } } void cholsl(double **a, int n, double p[], double b[], double x[]) { double *P; int i; double *B, *X; /* if(!(A = (double **)(malloc(sizeof(double *) * (n+1))))) Rf_error("Memory allocation failed for A in choldc.c \n"); */ if(!(P = (double *)(R_alloc((n+1), sizeof(double) )))) Rf_error("Memory allocation failed for P in choldc.c \n"); if(!(B = (double *)(R_alloc((n+1), sizeof(double) )))) Rf_error("Memory allocation failed for B in choldc.c \n"); if(!(X = (double *)(R_alloc((n+1), sizeof(double) )))) Rf_error("Memory allocation failed for X in choldc.c \n"); /* for(i = 0; i <= n; i++) { if(!(A[i] = (double *)(malloc(sizeof(double) * (n+1))))) Rf_error("Memory allocation failed for A in choldc.c \n"); } */ for(i = 0; i < n; i++) { P[i+1] = (double)(p[i]); X[i+1] = (double)(x[i]); B[i+1] = (double)(b[i]); /* for(j = 0; j big) big=temp; if (big == 0.0) Rprintf("Singular matrix in routine ludcmp"); vv[i]=1.0/big; } for (j=1;j<=n;j++) { for (i=1;i= big) { big=dum; imax=i; } } if (j != imax) { for (k=1;k<=n;k++) { dum=a[imax][k]; a[imax][k]=a[j][k]; a[j][k]=dum; } *d = -(*d); vv[imax]=vv[j]; } indx[j]=imax; if (a[j][j] == 0.0) a[j][j]=TINY; if (j != n) { dum=1.0/(a[j][j]); for (i=j+1;i<=n;i++) a[i][j] *= dum; } } } #undef TINY #undef NRANSI /*****************************************************************************/ void lubksb(double **a, int n, int *indx, double b[]) { int i,ii=0,ip,j; double sum; for (i=1;i<=n;i++) { ip=indx[i]; sum=b[ip]; b[ip]=b[i]; if (ii) for (j=ii;j<=i-1;j++) sum -= a[i][j]*b[j]; else if (sum) ii=i; b[i]=sum; } for (i=n;i>=1;i--) { sum=b[i]; for (j=i+1;j<=n;j++) sum -= a[i][j]*b[j]; b[i]=sum/a[i][i]; } } Rwave/src/dwvector.c0000644000176200001440000000702213230444130014121 0ustar liggesusers#include /*******************************************************************/ /* (c) Copyright 1997 */ /* by */ /* Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, A. Wang */ /* Princeton University */ /* All right reserved */ /*******************************************************************/ #include "Swave.h" /**************************************************************** * Function: compute_convolution: * ------------------------------ * Computation of convolution product * * s: resultant of convolution * f: signal 1 * g: signal 2 * np: signal size * ****************************************************************/ /* convolution product s[m] = (f * g)[m] */ void compute_convolution( s, f, g, np ) double *s, *f, *g; int np; { int m, n; double sum; for ( m = 0; m < np; m++ ) { for ( n = 0, sum = 0.0; n < np; n++ ) sum += f[(m-n+np)%np] * g[n]; s[m] = sum; } } /**************************************************************** * Function: product: * ------------------ * Pointwise product of two real arrays * * image: resultant array * f: array 1 * g: array 2 * np: array size * ****************************************************************/ void product( image, f, g, np ) double ***image, *f, *g; int np; { int x, y; if(!(*image = (double **) R_alloc( np , sizeof(double *) ))) Rf_error("Memory allocation failed for *image in vector_op.c \n"); for ( x = 0; x < np; x++ ) { if(!((*image)[x] = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for *image in vector_op.c \n"); for ( y = 0; y < np; y++ ) (*image)[x][y] = f[x] * g[y]; } } /**************************************************************** * Function: complex_product: * -------------------------- * Pointwise product of two complex vectors * * product: resultant vector * s1: vector 1 (length of 2*np) * s2: vector 2 * np: vector size * ****************************************************************/ void complex_product( product, s1, s2, np ) double *product; double *s1; /* length of 2*np */ double *s2; /* length of 2*np */ int np; { int m, x, y; double a, b, c, d; for ( m = 0; m < np; m++ ) { x = 2*m; y = 2*m+1; a = s1[x]; /* (a + bi) * (c + di) */ b = s1[y]; c = s2[x]; d = s2[y]; product[x] = a*c - b*d; product[y] = b*c + a*d; } } /**************************************************************** * Function: signal_copy: * ---------------------- * Copy signal * * input: signal to be copied * output: resultant signal * offset: copy starts at ... * np: number of elements to be copied * ****************************************************************/ void signal_copy(input,output,offset,size) double *input; double *output; int size, offset; { int i; for(i = 0; i < size; i++) output[i] = input[offset+i]; } /**************************************************************** * Function: signal_zero: * ---------------------- * zero a signal * * input: signal * size: number of signals to be set to zero * ****************************************************************/ void signal_zero(input,size) double *input; int size; { int i; for(i = 0; i < size; i++) input[i] = 0.0; } Rwave/src/dualwavelet.c0000644000176200001440000000561413230444130014606 0ustar liggesusers#include /****************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, A. Wang * * Princeton University * * All right reserved * ******************************************************************/ #include "Swave.h" #include "dyadic.h" /**************************************************************** * Function: signal_W_tilda: * ------------------------- * Computation of W tilda * * W_tilda: the dual wavelet * W: wavelet * K: kernel * max_resoln: number of decomposition * np: signal size * ****************************************************************/ void signal_W_tilda(double ***W_tilda, double **W, double **K, int max_resoln, int np) { double *p, *b; int t, j; /* char filename[STRING_SIZE]; */ if(!(p = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for p in image_W_tilda \n"); if(!(b = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for b in image_W_tilda \n"); if(!(*W_tilda = (double **) R_alloc( (max_resoln+1) , sizeof(double *) ))) Rf_error("Memory allocation failed for *W_tilda in image_W_tilda \n"); for(j = 1; j <= max_resoln; j++) { if(!((*W_tilda)[j] = (double *) R_alloc( np , sizeof(double) ))) Rf_error("Memory allocation failed for (*W_tilda)[] in image_W_tilda \n"); } for ( j = 1; j <= max_resoln; j++ ) { /* printf("computing W_tilda[%d]\n", j ); */ for ( t = 0; t < np; t++) b[t] = W[j][t]; choldc(K, np, p ); cholsl(K, np, p, b, (*W_tilda)[j]); /* please don't write files to disk filename_given(filename,"sig_W_tilda"); filename_inc(filename,j); output_signal((*W_tilda)[j], np, filename); */ } } /**************************************************************** * Function: signal_W_tilda_input: * ------------------------------ * Read W tilda from disk * * W_tilda: dual wavelet * max_resoln: number of decomposition * np: signal size * ****************************************************************/ void signal_W_tilda_input(double ***W_tilda, int max_resoln, int np) { /* char filename[STRING_SIZE]; */ if(!(*W_tilda = (double **) R_alloc( (max_resoln+1) , sizeof(double *) ))) Rf_error("Memory allocation failed for *W_tilda in signal_W_tilda \n"); /* please don't write to disk for(j = 1; j <= max_resoln; j++) { filename_given(filename, "signal_W_tilda"); filename_inc(filename, j); signal_tilda_adjust(&((*W_tilda)[j]), np, filename, 4096); filename_given(filename, "W_tilda"); filename_inc(filename, j); output_signal((*W_tilda)[j], np, filename); } */ } Rwave/src/dau_wave.c0000644000176200001440000001774713230444130014076 0ustar liggesusers#include /* #include "wavelet.h" */ #include "dau_wave.h" /****************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, A. Wang * * Princeton University * * All right reserved * ******************************************************************/ #include "Swave.h" /*****************************************************************************/ /* These constants are not used in the program. #define pi 3.141592653589793 #define NW 6 #define XMIN -1.0 #define XMAX 14 #define NPT 200 #define TWOTEN 1024 #define TWOFIVE 512 */ /* NMIN and NMAX are defined in dau_wave.h #define NMIN 2 #define NMAX 10 */ #define NMAXPLUS1 11 #define NITER 8 /* Number of iterations to compute the final array of a's */ #define TwoToNITER 256 #define SQR2 1.4142135 /*****************************************************************************/ int taille; /* largest index of a nonzero a */ /*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/ /* BEGINNING OF WAVE_COEF.C */ /*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/ int open_read() { int n; c = (double **)R_alloc(NMAXPLUS1,sizeof(double *)); for (n=NMIN;n=0)) a[i] += c[NW][i-2*j] * tmpa[j]; a[i] *= SQR2; } } return(0); } /***********************************************************/ /** phi & psi wavelet computation **/ /** **/ /** Uses the array a computed in the main program **/ /***********************************************************/ double phi(x) double x; { if ( (x < 0.0) || (x >= (taille+1)/TwoToNITER) ) return 0.0; else return a[(int)floor(TwoToNITER*x)]; } /***************************************************************/ double Psi(x) double x; { int i; double tmp, minus; tmp = 0; minus = 1.0; for( i=0 ; i < 2*NW ; i++ ) { minus *= -1.0; tmp += minus * c[NW][i] * phi(2 * x + i -1); } return (SQR2 * tmp); } /*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/ /* END OF WAVE_COEF.C */ /*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/ /*****************************************************************************/ /* INITIALIZE TWOTO */ /*****************************************************************************/ void init_twoto( max_resoln ) int max_resoln; { int j; twoto = (int *) R_alloc((max_resoln+1) , sizeof(int)); twoto[0] = 1; for ( j = 1; j <= max_resoln; j++ ) twoto[j] = 2*twoto[j-1]; } /****************************************************************************/ /* INITIALIZE PHI ARRAY */ /****************************************************************************/ void init_phi_array( phi_array, max_resoln ) double **phi_array; int max_resoln; { double inc = 1.0 / pow( 2.0, (double) max_resoln ); int array_size = (2*NW-1) * twoto[max_resoln] +1; double arg; int i; *phi_array = (double *) R_alloc( array_size , sizeof(double) ); for ( arg = 0.0, i = 0; i < array_size; arg += inc, i++ ) (*phi_array)[i] = (double) phi( arg ); } /****************************************************************************/ /* INITIALIZE PSI ARRAY */ /****************************************************************************/ void init_psi_array( psi_array, max_resoln ) double **psi_array; int max_resoln; { double inc = 1.0 / pow( 2.0, (double) max_resoln ); int array_size = (2*NW -1) * twoto[max_resoln] +1; double arg; int i; *psi_array = (double *) R_alloc( array_size , sizeof(double) ); for ( arg = 0.0, i = 0; i < array_size; arg += inc, i++ ) (*psi_array)[i] = (double) Psi( arg - NW ); } Rwave/src/complex.h0000644000176200001440000000146513230444130013745 0ustar liggesusers#ifndef _NR_COMPLEX_H_ #define _NR_COMPLEX_H_ #ifndef _FCOMPLEX_DECLARE_T_ typedef struct FCOMPLEX {double r,i;} fcomplex; #define _FCOMPLEX_DECLARE_T_ #endif /* _FCOMPLEX_DECLARE_T_ */ #if defined(__STDC__) || defined(ANSI) || defined(NRANSI) /* ANSI */ fcomplex Cadd(fcomplex a, fcomplex b); fcomplex Csub(fcomplex a, fcomplex b); fcomplex Cmul(fcomplex a, fcomplex b); fcomplex Complex(double re, double im); fcomplex Conjg(fcomplex z); fcomplex Cdiv(fcomplex a, fcomplex b); double Cabs(fcomplex z); fcomplex Csqrt(fcomplex z); fcomplex RCmul(double x, fcomplex a); #else /* ANSI */ /* traditional - K&R */ fcomplex Cadd(); fcomplex Csub(); fcomplex Cmul(); fcomplex Complex(); fcomplex Conjg(); fcomplex Cdiv(); double Cabs(); fcomplex Csqrt(); fcomplex RCmul(); #endif /* ANSI */ #endif /* _NR_COMPLEX_H_ */ Rwave/src/multiply.c0000644000176200001440000000203513230444130014142 0ustar liggesusers#include /**************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" /* Multiplication of complex-valued signals: ----------------------------------------- Ri1,Ii1: Real and imaginary parts of signal 1 Ri2,Ii2: Real and imaginary parts of signal 2 Or,Oi: Real and imaginary parts of output signal */ void multiply(Ri1,Ii1,Ri2,Ii2,Or,Oi,isize) double *Ri1, *Ri2, *Ii1, *Ii2, *Or, *Oi; int isize; { int i; for(i = 0; i < isize; i++) { *Or = (*Ri1)*(*Ri2) - (*Ii1)*(*Ii2); *Oi = (*Ii1)*(*Ri2) + (*Ri1)*(*Ii2); Or++; Oi++; Ri1++; Ii1++; Ri2++; Ii2++; } //return; } Rwave/src/init.c0000644000176200001440000000570713230444130013237 0ustar liggesusers #include #include #include #include #include // for NULL #include "denoise.h" #include "dyadic.h" void Shessianmap(double *sqmodulus, int *psigsize, int *pnscale, int *pnbblock, int *pgridx, int *pgridy, double *tst); void Spca_annealing(double *smodulus, double *beemap, int *crazymap, double *pc, int *psigsize, int *pnscale, int *piteration, int *pseed, int *pbstep, int *pnbbee, int *pintegral, int *pchain, int *flag); void Spca_family(double *ridgemap,int *orientmap, double *orderedmap,int *chain, int *pnbchain, int *psigsize,int *pnscale, int *pbstep,double *pthreshold, int* pmaxchnlng) ; void Ssnakenoid_annealing(double *cost, double *smodulus, double *phi, double *rho, double *plambda, double *pmu, double *plambda2, double *pmu2, double *pc, int *psigsize, int *psnakesize, int *pnscale, int *piteration, int *pstagnant, int *pseed, int *pcount, int *psub, int *pblocksize, int *psmodsize); void daubechies_wt(void *,void *,void *,void *,void *,void *); void compute_ddwave( double *phi, double *psi, double *s, int *max_resoln_ptr, int *np_ptr, int *NW_ptr ); void Sinverse_wavelet_transform(double *f_back,double *Sf,double *Wf,int *pmax_resoln,int *pnp,char **pfiltername); void Spointmap(double *sqmodulus, int *psigsize, int *pnscale, int *pgridx, int *pgridy, int *pnbblock, int *pnbpoint, int *pointmap, double *tst, int *ptstsize, int *pcount, int *pseed); void Stf_pcaridge(double *input, double *output, int *pnrow, int *pncol, int *orientmap); void gabor_time(double *pfrequency,double *pscale, int *pb, double *g_r, double *g_i,int *pisize); #define CDEF(name, n) {#name, (DL_FUNC) &name, n} static const R_CMethodDef CEntries[] = { CDEF(Ssmoothwt, 6), CDEF(Ssmoothwt, 6), CDEF(Smodulus_smoothing, 6), CDEF(Sbee_annealing, 12), CDEF(Scrazy_family, 8 ), CDEF(Scwt_morlet, 8), CDEF(Svwt_morlet, 7 ), CDEF(morlet_time, 6 ), CDEF(vmorlet_time, 7), CDEF(Scwt_squeezed, 7 ), CDEF(Scwt_thierry, 8 ), CDEF(Scwt_phase, 8 ), CDEF(Shessianmap, 7), CDEF(Spca_annealing, 13), CDEF(Spointmap, 12), CDEF(Spca_family, 10 ), CDEF(Stf_pcaridge, 5), CDEF(Sridge_annealing, 15 ), CDEF(Sridge_coronoid, 15 ), CDEF(Sridge_icm, 11), CDEF(Ssnake_annealing, 19), CDEF(Ssnakenoid_annealing, 19), CDEF(Scwt_gmax, 5), CDEF(Scwt_mridge, 4), CDEF(Scwt_DOG, 8 ), CDEF(Svwt_DOG, 7), CDEF(Svgabor, 6), CDEF(gabor_time, 6), CDEF(vgabor_time, 7), CDEF(daubechies_wt, 6), CDEF(compute_ddwave, 6 ), CDEF(Sgabor, 7), CDEF(entropy, 5 ), CDEF(Lpnorm, 6), CDEF(extrema_reconst, 6 ), CDEF(Sinverse_wavelet_transform, 6), CDEF(Sf_compute, 5), CDEF(Wf_compute, 5), CDEF(Ssvdecomp, 5 ), CDEF(WV,6), {NULL, NULL, 0} }; void R_init_Rwave(DllInfo *dll) { R_registerRoutines(dll, CEntries, NULL, NULL, NULL); R_useDynamicSymbols(dll, FALSE); } Rwave/src/gabor.c0000644000176200001440000001725613230444130013370 0ustar liggesusers#include /**************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ****************************************************************/ #include "Swave.h" #include "denoise.h" /*********************************************************** * Function: gabor_frequency: * --------- * Generate Gabor function and derivative in * frequency domain: * * sigma: scale of the Gabor function * w: modulated Gabor function (real part) * isize: signal size * ************************************************************/ void gabor_frequency(double sigma,double frequency,double *w,int isize) { double tmp; int i; double twopi; twopi = 6.28318530717959; for(i = 0; i < isize; i++) { tmp = (double)(sigma * ((i-frequency*(double)isize/2.) * twopi/isize)); tmp = -(tmp * tmp)/2; w[i] = exp(tmp); } return; } /*********************************************************** * Function: Sgabor: * --------- * Continuous Gabor transform. * * input: input signal * Ri1, Ii1: Fourier transform of input signal (re. and imag. parts) * Ri2: Real part of Fourier transform of Gabor function * Oreal: real part of WFT * Oimage: Imaginary part of WFT * pinputsize: signal size * pnbfreq: Number of values for the frequency * pfreqstep: frequency step * pscale: scale of Gabor function * ***********************************************************/ void Sgabor(double *input,double *Oreal,double *Oimage,int *pnbfreq, double *pfreqstep,int *pinputsize,double *pscale) { /* void multiply(); void FFT();*/ int nbfreq, i, inputsize; double scale, freqstep, frequency; double *Ri2, *Ri1, *Ii1, *Ii2, *Ii, *Ri; scale = *pscale; nbfreq = *pnbfreq; freqstep = *pfreqstep; inputsize = *pinputsize; if(!(Ri1 = (double *)S_alloc(inputsize, sizeof(double)))) Rf_error("Memory allocation failed for Ri1 in gabor.c \n"); if(!(Ii1 = (double *)S_alloc(inputsize, sizeof(double)))) Rf_error("Memory allocation failed for Ii1 in gabor.c \n"); if(!(Ii2 = (double *)S_alloc(inputsize,sizeof(double)))) Rf_error("Memory allocation failed for Ri2 in gabor.c \n"); if(!(Ri2 = (double *)S_alloc(inputsize,sizeof(double)))) Rf_error("Memory allocation failed for Ri2 in gabor.c \n"); if(!(Ri = (double *)S_alloc(inputsize, sizeof(double)))) Rf_error("Memory allocation failed for Ri in gabor.c \n"); if(!(Ii = (double *)S_alloc(inputsize, sizeof(double)))) Rf_error("Memory allocation failed for Ii in gabor.c \n"); for(i = 0; i < inputsize; i++){ *Ri = (double)(*input); Ri++; input++; } Ri -= inputsize; input -= inputsize; /* Compute fft of the signal */ double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); /* Multiply signal and wavelets in the Fourier space */ frequency = 0; for(i = 1; i <= nbfreq; i++) { frequency += freqstep; gabor_frequency(scale,frequency,Ri2,inputsize); multiply(Ri1,Ii1,Ri2,Ii2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,1); Oreal += inputsize; Oimage += inputsize; } Oreal -= inputsize*nbfreq; Oimage -= inputsize*nbfreq; } /*********************************************************** * Function: Svgabor: * --------- * Continuous Gabor transform for one frequency * * input: input signal * Ri1, Ii1: Fourier transform of input signal (re. and imag. parts) * Ri2: Real part of Fourier transform of Gabor function * Oreal: real part of WFT * Oimage: Imaginary part of WFT * pinputsize: signal size * pfreq: Value of the frequency * pscale: scale of Gabor function * ************************************************************/ void Svgabor(double *input,double *Oreal,double *Oimage,double *pfreq, int *pinputsize,double *pscale) { /* void multiply(); void FFT();*/ int i, inputsize; double scale, frequency; double *Ri2, *Ri1, *Ii1, *Ii2, *Ii, *Ri; scale = *pscale; frequency = *pfreq; inputsize = *pinputsize; if(!(Ri1 = (double *)S_alloc(inputsize, sizeof(double)))) Rf_error("Memory allocation failed for Ri1 in gabor.c \n"); if(!(Ii1 = (double *)S_alloc(inputsize, sizeof(double)))) Rf_error("Memory allocation failed for Ii1 in gabor.c \n"); if(!(Ii2 = (double *)S_alloc(inputsize,sizeof(double)))) Rf_error("Memory allocation failed for Ri2 in gabor.c \n"); if(!(Ri2 = (double *)S_alloc(inputsize,sizeof(double)))) Rf_error("Memory allocation failed for Ri2 in gabor.c \n"); if(!(Ri = (double *)S_alloc(inputsize, sizeof(double)))) Rf_error("Memory allocation failed for Ri in gabor.c \n"); if(!(Ii = (double *)S_alloc(inputsize, sizeof(double)))) Rf_error("Memory allocation failed for Ii in gabor.c \n"); for(i = 0; i < inputsize; i++){ *Ri = (double)(*input); Ri++; input++; } Ri -= inputsize; input -= inputsize; /* Compute fft of the signal */ double_fft(Ri1,Ii1,Ri,Ii,inputsize,-1); /* Multiply signal and wavelets in the Fourier space */ gabor_frequency(scale,frequency,Ri2,inputsize); multiply(Ri1,Ii1,Ri2,Ii2,Oreal,Oimage,inputsize); double_fft(Oreal,Oimage,Oreal,Oimage,inputsize,1); } /*************************************************************** * Function: gabor_time: * --------- * Generates a Gabor function in the time domain. * The Gabor is centered at the b, and normalized so * that psi(0) = 1 * * g: Gabor * scale: scale of the Gabor * isize: window size * frequency: frequency of the Gabor * * remark: unlike the other functions, this one generates an * array starting at 1, for compatibility with S. ***************************************************************/ void gabor_time(double *pfrequency,double *pscale, int *pb, double *g_r, double *g_i,int *pisize) { double tmp, tmp2; double frequency = *pfrequency, scale = *pscale; int b = *pb, isize = *pisize; int i; double pi; pi = 3.141593; for(i = 1; i <= isize; i++) { tmp = (double)((double)(i-b)/scale); tmp2 = exp(-(tmp * tmp)/2.)/scale/sqrt(2.0*pi); g_r[i-1] = tmp2*cos(((double)(i-b)) * pi * frequency); g_i[i-1] = tmp2*sin(((double)(i-b)) * pi * frequency); } return; } /*************************************************************** * Function: vgabor_time: * --------- * Generates many Gabor functions in the time domain. * The Gabors are centered on the node of the ridge, and normalized so * that psi(0) = 1 * * frequency: frequencies along the ridge * scale: scale of the Gabor * b: locations along the ridge * g: Gabor * isize: window size * nbnode: number of samples at the ridge * * remark: unlike the other functions, this one generates an * array starting at 1, for compatibility with S. ***************************************************************/ void vgabor_time(double *frequency,double *pscale, int *b, double *g_r, double *g_i,int *pisize, int *pnbnode) { double tmp, tmp2; double scale = *pscale; int isize = *pisize; int i, j, nbnode = *pnbnode; double pi; int position; pi = 3.141593; for(j = 0; j < nbnode; j++) { position = b[j]; for(i = 1; i <= isize; i++) { tmp = (double)((double)(i-position)/scale); tmp2 = exp(-(tmp * tmp)/2.)/scale/sqrt(2.0*pi); g_r[j * isize + i-1] = tmp2*cos(((double)(i-position)) * pi * frequency[j]); g_i[j * isize + i-1] = tmp2*sin(((double)(i-position)) * pi * frequency[j]); } } return; } Rwave/src/randomwalker.c0000644000176200001440000000614613230444130014760 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #include "Swave.h" #include "denoise.h" /* int idum = -7; */ extern long idum; /****************************************************************** * UNIFORM RANDOM NUMBER GENERATOR *******************************************************************/ #define M1 259200 #define IA1 7141 #define IC1 54773 #define RM1 (1.0/M1) #define M2 134456 #define IA2 8121 #define IC2 28411 #define RM2 (1.0/M2) #define M3 243000 #define IA3 4561 #define IC3 51349 /* ran1 (from Numerical Recipes): uniform random numbers between 0 and 1 */ double oldran1(long *idum) { static long ix1,ix2,ix3; static double r[98]; double temp; static int iff=0; int j; if (*idum < 0 || iff == 0) { iff=1; ix1=(IC1-(*idum)) % M1; ix1=(IA1*ix1+IC1) % M1; ix2=ix1 % M2; ix1=(IA1*ix1+IC1) % M1; ix3=ix1 % M3; for (j=1;j<=97;j++) { ix1=(IA1*ix1+IC1) % M1; ix2=(IA2*ix2+IC2) % M2; r[j]=(ix1+ix2*RM2)*RM1; } *idum=1; } ix1=(IA1*ix1+IC1) % M1; ix2=(IA2*ix2+IC2) % M2; ix3=(IA3*ix3+IC3) % M3; j=1 + ((97*ix3)/M3); if (j > 97 || j < 1) { REprintf("RAN1: This cannot happen.\n"); REprintf("Exiting now.\n"); return(1); } temp=r[j]; r[j]=(ix1+ix2*RM2)*RM1; return temp; } #undef M1 #undef IA1 #undef IC1 #undef RM1 #undef M2 #undef IA2 #undef IC2 #undef RM2 #undef M3 #undef IA3 #undef IC3 /*************************************************************** * Function: randomwalker * --------- * random number between 0 and 2* sigsize ***************************************************************/ void randomwalker(int sigsize,int *num) { int conf; double tmp; conf = 2 * sigsize; tmp = (double)ran1(&idum); *num = (int)((double)conf * ran1(&idum)); if(*num >= 2 * sigsize) *num = 2 * sigsize -1; return; } /*************************************************************** * Function: randomwalker2 * --------- * random number between 0 and 2* sigsize ***************************************************************/ void randomwalker2(int sigsize,int *num, long *seed) { int conf; conf = 2 * sigsize; *num = floor((double)conf * ran1(seed)); if(*num >= 2 * sigsize) *num = 2 * sigsize -1; return; } /*************************************************************** * Function: randomsnaker * --------- * random number between 0 and 4* sigsize ***************************************************************/ void randomsnaker(int sigsize,int *num) { int conf; double tmp; conf = 4 * sigsize; tmp = (double)ran1(&idum); *num = (int)((double)conf * ran1(&idum)); if(*num >= 4 * sigsize) *num = 4 * sigsize -1; return; } Rwave/src/splridge.c0000644000176200001440000000560513230444130014102 0ustar liggesusers#include /****************************************************************/ /* (c) Copyright 1997 */ /* by */ /* Author: Rene Carmona, Andrea Wang, Wen-Liang Hwang */ /* Princeton University */ /* All right reserved */ /****************************************************************/ /**************************************************************************** * $Log: splridge.c,v $ * Revision 1.1 1994/05/22 01:44:51 bruno * Initial revision * * Revision 1.1 1994/05/22 00:59:26 bruno * Initial revision * ***************************************************************************** * * * This file contains proprietary information * * * ***************************************************************************** * Cubic spline interpolation of the ridge of wavelet transform * * of amplitude and frequency modulated signals * * Modification of the routines spline.c and splint.c * * (numerical Recipes) * * * * y: input vector * * yy: output (interpolated) vector * * rate: subsampling rate * ****************************************************************************/ /* #include #include #include */ #include "Swave.h" void splridge(int rate, double *y, int n, double *yy) { int i,k, x, khi, klo; double p,qn,sig,un,*u,yp1,ypn,a,b,h; double *y2; u=(double *)S_alloc(n-1,sizeof(double)); y2=(double *)S_alloc(n,sizeof(double)); yp1 = ypn =0; if (yp1 > 0.99e30) y2[0]=u[0]=0.0; else { y2[0] = -0.5; u[0]=(3.0/rate)*((y[1]-y[0])/rate-yp1); } for (i=1;i<=n-2;i++) { sig=2.0; p=sig*y2[i-1]+2.0; y2[i]=(sig-1.0)/p; u[i]=(y[i+1]-y[i])/rate - (y[i]-y[i-1])/rate; u[i]=(6.0*u[i]/rate/2.0-sig*u[i-1])/p; } if (ypn > 0.99e30) qn=un=0.0; else { qn=0.5; un=(3.0/rate)*(ypn-(y[n-1]-y[n-2])/rate); } y2[n-1]=(un-qn*u[n-2])/(qn*y2[n-2]+1.0); for (k=n-2;k>=0;k--) y2[k]=y2[k]*y2[k+1]+u[k]; for(x=0;x 1) { k=(khi+klo) >> 1; if (k*rate > x) khi=k; else klo=k; } h=(khi-klo)*rate; if (h == 0.0) Rf_error("Impossible interpolation"); a=(rate*khi-x)/h; b=(x-klo*rate)/h; *yy=a*y[klo]+b*y[khi]+((a*a*a-a)*y2[klo]+(b*b*b-b)*y2[khi])*(h*h)/6.0; yy++; } } Rwave/src/dau_wave.h0000644000176200001440000000167113230444130014070 0ustar liggesusers #define NMIN 2 #define NMAX 10 /****************************************************************************/ #define max( a, b ) ( (a) > (b) ? (a) : (b) ) #define min( a, b ) ( (a) < (b) ? (a) : (b) ) #define minus1to( n ) ( ( (n) % 2 == 0 ) ? (1) : -1 ) #define STRING_SIZE 256 /**************************** * Global Variables * ****************************/ extern double *a, **c; extern int NW; extern int *twoto; /**************************** // already in dyadic.h * Structure Definition * typedef struct { int lb; int ub; int size; } bound; ****************************/ /****************************************************************************/ int open_read( void ); int compute_a( void ); double phi( double x ); double psi( double x ); void init_twoto( int max_resoln ); void init_phi_array( double **phi_array, int max_resoln ); void init_psi_array( double **psi_array, int max_resoln ); Rwave/src/optimize.c0000644000176200001440000000413013230444130014121 0ustar liggesusers#include /*************************************************************** * (c) Copyright 1997 * * by * * Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang * * Princeton University * * All right reserved * ***************************************************************/ #include "Swave.h" #include "denoise.h" #define PRECISION 1.e-16 /*************************************************************** * Function: Lpnorm * --------- * L^p norm of a matrix * Computes the L^p norm of a (double) complex valued matrix. * * norm: L^p norm * Rmat, Imat: real and imag. parts of the matrix * p: exponent for the L^p norm * length: number of rows * width: number of columns ***************************************************************/ void Lpnorm(double *norm, double *p, double *Rmat, double *Imat, int *length, int *width) { int i,j; double tmp, rtmp, itmp; double ntmp = 0.0; for(i=0;i<(*length);i++){ for(j=0;j<(*width);j++){ rtmp = fabs(*Rmat); itmp = fabs(*Imat); if ((rtmp >= PRECISION)&&(itmp >= PRECISION)){ tmp = pow(rtmp,*p) + pow(itmp,*p); ntmp += tmp; } Rmat++; Imat++; } } *norm = pow(ntmp, 1/(*p)); return; } /*************************************************************** * Function: entropy * --------- * Entropy of a matrix * Computes the entropy of a (double) complex valued matrix. * * entr: entropy * Rmat, Imat: real and imag. parts of the matrix * length: number of rows * width: number of columns ***************************************************************/ void entropy(double *entr, double *Rmat, double *Imat, int *length, int *width) { int i,j; double tmp, ntmp=0.0; for(i=0;i<(*length);i++){ for(j=0;j<(*width);j++){ tmp = (*Rmat)*(*Rmat) + (*Imat)*(*Imat); if((tmp >= PRECISION)) ntmp -= tmp * log(tmp); Rmat++; Imat++; } } *entr = ntmp; return; } Rwave/NAMESPACE0000644000176200001440000000042312556010474012560 0ustar liggesusers# Export all names exportPattern(".") useDynLib(Rwave) importFrom("grDevices", "dev.set") importFrom("graphics", "abline", "image", "lines", "par", "title") importFrom("stats", "as.ts", "fft", "lag", "lsfit", "plot.ts", "quantile", "rnorm", "spec.pgram", "var") Rwave/demo/0000755000176200001440000000000012517155431012266 5ustar liggesusersRwave/demo/chapter8.R0000644000176200001440000000135511341720733014130 0ustar liggesusers## Example 8.1 "Pure" Transient Analysis/Synthesis ## Compute the dyadic wavelet transform and the corresponding local ## extrema: data("C0") dwC0 <- mw(C0,5) extC0 <- ext(dwC0) ## Reconstruction from the extrema: recC0 <- mrecons(extC0) ## Example 8.2 "Noisy" Transient Analysis data("C4") dwC4 <- mw(C4,5) extC4 <- ext(dwC4) ## Example 8.3 : "Noisy" Transient Detection/Synthesis ## Trim the extrema: trC4 <- mntrim(extC4) ## Reconstruction from the trimmed extrema: recC4 <- mrecons(trC4) ## Example 8.5 Simple Reconstruction of a Speech Signal data("HOWAREYOU") plot.ts(HOWAREYOU) cgtHOW <- cgt(HOWAREYOU,70,0.01,60) clHOW <- crc(Mod(cgtHOW),nbclimb=2000) ## Simple reconstruction: srecHOW <- scrcrec(HOWAREYOU,cgtHOW,clHOW,ptile=0.0001,plot=2) Rwave/demo/chapter3.R0000644000176200001440000000521311341720622014115 0ustar liggesusers## Example 3.1 Gabor Functions ## Generate a Gabor function at given frequency (here 0.1 Hz), for a ## sampling frequency (here 1 Hz), location (here 256) and scale ## (here 25): gab <- gabor(512, 256, .1, 25) par(mfrow=c(1,2)) plot(Re(gab), type="l", ylab="") title("Real part") plot(Im(gab), type="l", ylab="") title("Imaginary part") ## Example 3.2 Transients ## Compute Gabor transform of transient signal, here with n_f = 50, ## delta_f = 0.02 and two different values for the scale parameter, ## namely scale = 10, 18: par(mfrow=c(4,1)) data(A0) plot(A0, type="l", xaxs="i") title("Transients") cgtA0 <- cgt(A0, 50, .02, 10) cgtA0 <- cgt(A0, 50, .02, 18) ## To display the phase of the Gabor transform tmp <- cleanph(cgtA0, .1) title("Phase of the Gabor transform") ## Example 3.3 Sine wave ## Generate the sequence, here a sine wave of frequency 1/32 Hz sampled ## with unit sampling frequency x <- 1:512 sinewave <- sin(2*pi*x/32) par(mfrow=c(3,1)) plot(sinewave, type="l") title("Sine wave") ## Compute the Gabor transform with n_f = 50, delta_f = .005 and scale ## sigma = 25. This corresponds to frequencies ranging from 0 to 0.125 ## Hz. Display the phase: cgtsinewave <- cgt(sinewave, 50, .005, 25) tmp <- cleanph(cgtsinewave, .01) title("Gabor Transform Phase") ## Example 3.4 Chirp ## Generate the chirp and compute the Gabor transform between frequencies ## 0 and 0.125 Hz: x <- 1:512 chirp <- sin(2*pi*(x + 0.002*(x-256)*(x-256))/16) par(mfrow=c(3,1)) plot(ts(chirp), xaxs="i", xlab="", ylab="") title('Chirp signal') ## The result is displayed in Figure 3.5 mycgt <- function (input, nvoice, freqstep = (1/nvoice), scale = 1, plot = TRUE) { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) pp <- nvoice Routput <- matrix(0, newsize, pp) Ioutput <- matrix(0, newsize, pp) output <- matrix(0, newsize, pp) dim(Routput) <- c(pp * newsize, 1) dim(Ioutput) <- c(pp * newsize, 1) dim(input) <- c(newsize, 1) z <- .C("Sgabor", as.double(input), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.integer(nvoice), as.double(freqstep), as.integer(newsize), as.double(scale), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp dim(Routput) <- c(newsize, pp) dim(Ioutput) <- c(newsize, pp) i <- sqrt(as.complex(-1)) output <- Routput[1:isize, ] + Ioutput[1:isize, ] * i if (plot) { image(1:newsize, seq(0, nvoice*freqstep/2, length=nvoice), Mod(output), xlab = "Time", ylab = "Frequency") title("Gabor Transform Modulus") } output } cgtchirp <- mycgt(chirp, 50, .005, 25) tmp <- cleanph(cgtchirp, .01) Rwave/demo/00Index0000644000176200001440000000016711217041512013412 0ustar liggesuserschapter1 Examples from Chapter 1 chapter3 Examples from Chapter 3 chapter8 Examples from Chapter 8 (does not work!) Rwave/demo/chapter1.R0000644000176200001440000000130011217041512014100 0ustar liggesusers## Example 1.3 Dolphin click ## Read and plot the dolphin click data data("click") fclick <- fft(click) par(mfrow=c(2,1)) plot.ts(click) plot.ts(Mod(fclick)) ## Subsampling the data: k <- 1:1249 sclick <- click[2*k] plot.ts(click) plot.ts(sclick) ## Fourier transforms of the original and click data: fsclick <- fft(sclick) nfclick <- c(fclick[1250:2499], fclick[1:1249]) nfsclick <- c(fsclick[625:1249], fsclick[1:624]) plot.ts(Mod(nfclick), xaxt="n") axis(1, at=c(0,500,1000,1500,2000,2500), labels=c("-1250","-750","-250","250","750","1250")) plot.ts(Mod(nfsclick), xaxt="n") axis(1, at=c(0,200,400,600,800,1000,1200), labels=c("-600","-400","-200","0","200","400","600")) par(mfrow=c(1,1)) Rwave/NEWS0000644000176200001440000000110012061405141012017 0ustar liggesusersNEWS for Rwave package ====================== 2.0 2012-12-10 o renamed C-function kernel to rwkernel to avoid conflict with similar name in stats package 1.25-3 2011-12-16 o Port and upgrade to R version 2.14.0 New Maintainer: Jonathan M. Lees installed new Rd files fixed C-code, removed printf, exit calls renamed files in data section and added Rd files 1.25-1 2010-04-20 o Beginning to move legacy C code to internal R functionality. Risk of memory leaks should be lower now. o New files in data section. Rwave/data/0000755000176200001440000000000012517155431012253 5ustar liggesusersRwave/data/W_tilda.8.rda0000644000176200001440000000520012377701075014476 0ustar liggesusers‹í™yTUåÆN‰á$„ * ¨   ¡<… Qf<àá N‰Öœ“H*I œPPIðæ¯¹¼i"¢iXÎÚÍ!!Ëñª<×ê¿îB¯k]ÿá9œaïwûý¾o¯ß/TíÒ&ºB¡h¦hÞìáßæ_¶xøBa¤h¡0~˜ÆQêä z£ÇÃÚ=üPá}/Ö9Æ[ýÏR¦˜µ´ivµü€ôðèpé÷Ä~Ò‚E»ÛHÿ‘sOލk'®'g¿êî îá[U3îGËë%¬[*Þ6iue~!e·Vÿú‰ø¾5æÐ¸Â=¢l[ußüÝ›â_èÛ·òu[|:?W+µuf%…ëå îßß××KÐÍ韠‹RÞ|WupË;Ëeø­A&Ý÷ß”±ãNŸu×/¿\^¤–‘kýn”G›KhLNMÙ#f\þ 6±£„í¸aW)DÂÇ\ZhãÜI"ÚnöNŽ‘ˆâ¤+ÛÆ­’Ș—NtŠ˜$‘¼e<ß´T¢²z>8Ö^¢]îæ:þœD¸£ð·ÄÄîºÙÊRb®-^8øŽŒJÕú¿ýî¢2©Üú¨²z9åIlׄ?Fœ6“ØÜ5Å‘Ÿ¦JœÍÆ¢äI—;«>OYF[‡¹Õî-£—ÕïìóSŒ¨;Œy¢FÔÖ(ë«"E}Ë,8qÅ(‰wéXÙ<ç†Ä?þxŠÄ/û5rkûûHe97 Mâd÷J[ §ª¾ÚÑËD÷{DlèEÑ|l>+rØÑ|Ýsl¯oEsÆÔuÒ/Y¢5i•3û«ñ¢u. Ê *-ÇI;ÓíÝYE»òßÉ.F-D»wš.)á´hϵ-:¾StFú´v¯ZˆÎêÄçªwÑ ²¼°gÑ ÑEÅ{Úìš.ºwÒ󳯋nÞ>ËæŠ.§ :sOè¶­Ë0_c&ºý+†¬ž7[tìÝ¿‡¶;Þ¦‹èn×Ù¥åˆÞxõç€)¢7sŸzùðÑ[m;ºÙ7Gô}ú;%…‰ÞuÑ&¿ö¢÷¬ è–*ú!½ÏÝÉÞ%zå¨Õg÷¹‹~hÒœš“õ¢ø8¾ò·¯ž¤á}Ã÷ ¿3Çp\Ãy ç5ÔÁº u6Öm¸ÃuË[mwÝʲ¢´š‰¢›_lõÒJÑ%æf¤Ÿí*º˜©]ÌxŠÎ{ྡྷ٢ëñ[RHj½èZfùü®\,Ú Öή½'Ú²|kÕ2•h×vs±pœ-Ú9Stç6]mÜáÅ[쇋–óNÛáqã‹æ’úðN‡DS:yŒÇø{¢Y¨Í%c²hÆÆ|ß· V4n\v|&š6g{ìó“øšÒ%‘¹Ó%~}jæø%ïH|Ò+ Õ—%Þ{}‹Ýv:‰om¥¾q¼»¨s]SB:nµsÝä#þÛdôžâqS·Èèõñ‚|‰«uVý¼Aâµ¹éZ‰½³#P¸JbÓ§ùœŸ™ÓØÿªü~×vî$*X­GrºŒ:Ò9nã±f2jL«WÌܧIÌ]‡&”M’˜]½«íÎKŒ­Ï¶ÞÛKtÉX»þ%:<}ù¡£"Q×~úîåÏ%j^K_µ•µDõP%/;•)‘%…ëŽ-¹/‘qžY·S/IÄ ¸!J"–¼ºc”½D¸¯È›Õ¹„ר-]uÏTÂS¶Ìßwá„[¾p™x¤|{à€‰¸WX[ý|«FÜ;~>ã¶íjqãú<ûÄ@ãï§u«•šíG7Ï׊¯»gå WÎ+—Œ›¥y]—‹s]}›f_ûˆóä’à{­«¥?ûß°_9±nÇtǽ¥ßL ˜]¹Pú.ü±¤øøbé³þ®Ë/ç³ÅõÚó>Ø·>?çÐ{S¥w·G7tºØq¿³Íˆ•º)nbs6»sêªØXø½×ëèAéÅñîÉ:{*ß×f^=,=¾Ø¹=°j¾ô0{|ÃÄšãlÍùjõÁɽ®¦5bÕýÑD*Ý9»_YXš)]9Î]9Ζ¬ÛÒdb«}oyãýûÉbêý+,Ί…Û™_,ýú‰9Çß|ë&G³E{ž$÷õç6ÿZï³JÃx½È¦ÉgußžV:$ý£Ã¹ð&Ï.£~j’Óô¹Æ«èåŸ~jºWçüü%×ëùŒóyí‡ç5Ÿùˆ&φzþ~>­zþ_²a¾ÈÿU>oýðßÎÿ› ÏMž|Njúlx®kúlx}úÙð\ý"›*ŸÕ}ûk>­>|ZýÌñ"W9È@r S€Üä ×9È=@r“€Üä( W9 È]@rÓ€Üä8 ×9È}@r!ÜäH W9È@r)SÜ äX ×9Ƚ@r1“Ü äh W9ÈÝ@r9ÓÜäx ×9Èý@ßé}Ë[Û rB‚äŠ g¹#È!A. rJ["€ãO® rN{‚ä¢ '¹)ÈQA® rV»‚ä² §¹-ÈqA® r^û‚ä 'FXÜÆcFŠA¿re3ƒÜäÐ —95È­AŽ rmsƒÜäà 99ÈÍAŽru³ƒÜäðˆ5Ü0 §¹=ÈñA®r~ûƒô '½è¿vBaòœ¯@ÏÍK·W*7Ï=è%@Oz Ðc€^ô ÷=èE@OzУ€^ô, w= èe@OzÐã€^ô< ÷=è…@Oz#Ð#^ ôL w=襞¤á}Ã÷ ¿3Çp\Ãy ç5ÔÁº u6Ö}b¬‡ßà„'×Õàá@/z:ÐÛôz ç½èA/zBЂôŠÐÿ*Ë7‚Þô —=%è-A zMÐs‚Þô  =)èMA zUг‚Þô° —=-èmA z]Ðó‚ÞÑŽW×yM½0è‰Ao zdÐ+ƒž¹q] ‡½4è©×zlÐkƒžôÞë½8èÉAoztЫƒžôîû½<èé÷+z|Ð냞_¡PÜÿºÿ{‚8 Rwave/data/W_tilda.9.txt.gz0000644000176200001440000000431012377701075015170 0ustar liggesusers‹šY’ä8ÿç.=Æ}¹ÿÅFRÐšŠ¬´®¯gA±>²2ý7ÝÿæþI R@Õߺ¿ [´ÇA9'Pé ºA½‚Ô’š³ZJB¢$ж”ξe4Ð\ ÍjMXP3«µºÚ­Íub}]ì[µª%´´‚–Vù®5¿ë~§¾¦¾¶±ªëñž9o×¾ÞðKïXÚ{ô©ìb·‘Ømd´ c9´txòѱe¨y¨y,Ñfid¦6Ï"jX0»hˆôÆ\”Ý å˸­"2Vu¬_ƒ­É)—¾_oì”Eì¶Ýmô튾Ýв­…íÙöPv*»°`Ǿœ2[où* ÑÊWòŠüޏåD\H}D0_¹º\ÝUÄê% ÊE´@TrÎdç…°*ã— ©ŒÍ]È=¦Z¦Z–û.ÓÒLþå’ªÈß´¹dd‹ž,Ä2­/D52öBM¤æ®–®Od÷¹ž­L÷˜®zʲ\]®ne·š7'ªT÷…ª¨‹ÐR©ý ùf'̵¨O_ÕÒDC¤Ôy¶‹^HÙª¬Þ­fI­î[Õ¢ïkS_+? ÏaŒÞ¨ÿŠÆ¯èwÙþë¾õW›ó÷)ãä/oŒ¼ž ïª/¢ðŠLD+"QÕëã‘%‘aÚ÷ʰÈ:+Àì|g¬Y™ýÊö¨¨™¨W‡š_Uæ¾QQ¡Qµ¯JV"*>º@t†òC‰®’¾»Ot¤W—Z?t³èpÑõ¢FwìöØè¢ÑY£ÛFŽ®œ•ˆîÝh½:¿–¦åêtUß'íKÝU«'µ˜Q®š“ɬKfØkæÉUövJÊ7¶Ìr;Å_v8M{Lg§xÌéSÜÝŠúbÚçಇ`#[ö }KûÖTb(1”èÁP”hJÈ‹—Ül%ä˜+Ënd×+qŽÜLK§–N-ò’“-Í.“mΦf}:e_“ÞtÑ 5kóÔæ©ÍSïÎ`ªFȇ¼iL3†~#x¬¸Ëõ7­Õߪ²²×an ¹íÈþ&O)~ã=Xýö·%[7 }ƒ—ß{êfN÷D/öoŽws¨Ë¸»ÙþºC˜MÝ{T7ï»gëÆ¨'µ$ìktù y‹1ZÞ~!oEÞ!ÚT¸5³® %¬”f›ç}Ý­¼5cÙŒeóäÍ“7OÞèH©™-«Ïø6ó´éƒj•U#]ã¦é¬êª7ªwÓj·¨ÓUûZÕ/ÕW̓j¯«Þ?ª’Ó$yI’y$yX’[¼oÂÞ­ªwvÙC’=$ÙÃ…Ôbï¬ú¯šCr†$g¸îçqSï"oùVì!É.äwÞ _7½[Ì:E’£_Èw†x?ÐãÅNXÌÉ¢ï‹Ùùz…0 Åi±B‹ñ(M ;ÿëUÛfqÈU.äy–üåBž#ÞKìÅÅnV¬ýbcY²²9dÝ××â»E±RŠ=QŽt!µýì\Ív•x÷ÉfDv.ȯ./Eê³eóEv!5›CÙé’ͦ×Ô e‘»9²Y÷Fîk—#-p–½Qý•Pþ¥ß}÷ÿÑë ì¿‚Kç_Aþå Ô/о@Œ/0ë `áž…«|v_lºØt±×b¯Å‹-6[lnnnnnî£ç. «Ä±–,/+Î"´.-U«×‚¶Æ-{;ÍÁ~a ±«Øhì=¶#;”Më,¬lÑø¸ñqããÆÇ;w>î|Üù¸óñ(lØLò°l…Ô*¤M![ )QÈ„BÜ á.D¹Ü{= ÊJï xߦJtîiúñR€8ž¿ç÷ˆ7ÄñóÍ8»ÃhîhÆ™7û8€%|Xq]Åu•úªx¬â±›ÀŽºéÔp,¼yØÇø†[)zsºÀ oÜdðzpBà ÔjdÔM?Àz]#mm§q䯑=¡‘2“ ‚í$@§*;ì°sÀ›ÔQîQç\÷áÒ„;í´sœNÓë¤z'pƒÄt¤A¼§´”A¹/T@tѤè}9û‚20~PÔƒX ¦Ã ÏZ÷ ƒÞ;±y’cÏORkÒý&½î¾Ìp<61ubêÄÏ“F4I›Éœ¸wâÞÉ(™$ɤ^]X¸°paá"%-wÑ`™°hž‹Ä^$À‡‹^¶0laØb6m\·éZ›\ÝDy36)ºñØ&37ÝfÓd6½eÓ={ö åóFtÀ<à̸çqé–*K¥Óž·«, ¤&K‹¥ÅÒqËó€vÀQ˜O³z^Þ>àtìç}'7ô4>î|Œ=y y">_ì…aYÃN"e˜C†<—©Røåä|fšg†øó\z@ °#ÞÇx¦ðófûœ‚™›™¹Ïûï,-–6K$@9í43a3öy—>àˆ×Ì7$ÉýÆ}zHFíó^~Àøñ‰Ã÷yŽ?)\W+â{*âxµ6ô´ò°Ï¿@ÿ`|#õ½Wý»…ùÏãxÀ8òür‹ŽÒuèѽápC`P “Á5Ü×p£Ù”ˆ$1mHZRë•lf¦¹jŠ’ü¦q$6Rƒ¥(ö²d,"Ë* -FËÓ‚-_Em™§?[Í!ÚÅúj)6ÛŽÈÖt¦Þ«}ÙÐlq6=Û aŠVIóLgÊDƒM‹¥ÉÒ¡+—ÐQ˜=xþëûp]ªŽ‡â$ äùÿ÷Ip‰ÍìŽ!5˜qðç˜q\|6"FdrŒ2jÙkqÑXŒ¿5âŒþæÄp XYæá8s ¤"NqÿMÆ@&'TmÂ⦖2˜Ë&<¸m æûh2=èw™…Lvn ……Ae¡ñÁ„±°ÊMmxµq䙌[†5˜UójÆ%½¢§¢§B¨è¯‹±¨^Ò¹øÄÓû©×[¯ÉÞ»qx¼øR{Ïä ÷£Ðž¿·z@B4çÆŽ%‘ Òí÷Ùç×?í÷Ì{~µß}´ùüÙrê똹êë8ãù}Þç¦yÇóWÌý\kûê'=Ÿk—çµ5ŸçŸ‹?Ïsµµþüúó1–Ì1ŸK™;êcÝ»µŸsž¥fçcœ÷?ÿ¸èÆ‘Ï.Úèìûèç=–þ}$ë×¹ž»–6ÉÎgìg·ŸÎY‡¶ž+ž´ …bÎÚØóÈúŒ¥Æ›»ÏswïCWÇç??nÙœ¼ñ¬_Wõõ:ã‰@ì©Ñ«ÜÚklE)#ºÙÇiÿ=‹EåCw:Øã$§œ—“D(]í°ã±tÛYÉIW®´Ân9HÎT>:¿ºGÍP&âr¢Ø\níêÜë¦ö®üN¯˜™Êp¿œ(VøS Ý÷G:ŸÍT6@ÃÕ^øa6}Ù'YT¾¬ƒ(šë>wõÃqV;tïæÌkO¦ÍÞ,-æsð¹ÐkD± —'ùö•ÂÑsï[K6Êe#ÚñyIsïY®òº ð–Á‰£€§Gþ™ß\ÃçÕš«ñg b%i.tSy[ß  Vú~,î¯Mnð¥ÝÁl¡ÒÊ ñRI¬ARr-s’Ö¾º°~u¼M>× JbxB÷îNZÛ‚W*Ž=nNñDTh¢ 2e²;½¹?ʺ°*ò›[6m¨¢Öó¸Q‡{7÷IP\1ŒkâJQÅ@°›ƒØÓIH­§B•¢–ÔvŸ¸n±‚žx[@”‡ô´­.èWÐÏ™lä)êú¨ÜÃWz&0ž:„x ˜=¡­eªk–Ýg`ˆ×ã¹Ø¿¨ku¶5R$¯”ߣÐ$[HŠ1Ȩªºýü|Ã- y©:ifž¨_‚Üׯ¨jVîë ªÍ#2:UúUq6ñU÷á3͵©ØÚx—<÷[+ ª‡ý|¾4j. ^W{XÏSƃô^ô„}EÛð8<ÿÎÕ>²5¶¨gô'6Ø¥óm˜Ã”ÊÒržÿ³;Ô*ÌõE‰Gu@©4x3•‘8Àã=Åd]?è÷0ÄIi÷°ž#Do@@% Âç‰ ™¢ ñˆҤ߷@ôIíµ)ÝØ#9*tV,M…â{×OU5®‹Æ È50Ë.æñ”‚3»ó"@ÇŒ‰:A=îÓ÷ °«/NSÅLccñ°ò#Äm“ÕC uÏVoß_ù«1ÝR¢ê,:ÅjcZª¯ ¬ñE¯BJ¥¶aHd;fï~5“°ðµSõ_ÔƒqèC2­UÎcŠ¢ ùÜ]¥Z§~¾,8$wЖâă+ýà^vC\´B,ûh…ÂV™ª¾Ï:Î.UGÒvƒBIÕ.á`8º¸<ÍgÍÚv¸ZAµ+†ÃKÐ÷µMIÙÝüQZäòû?ñû úóY èi×÷UÒVŠõZ ä)~R3‰D›S¾ú‰ã²CàóT(õ[غ‰ªDèöâpÔ]–kó³‡Cêzïv™¬²l°ÊI|iÄ€+¾ÚØ>ˆÓ^a¯ˆ3ž—€Éõ?/Þ¼ FY:ð¶.Ö ¾;6\Såñ$ës}‚=m®ø¹Q\Íð]¹u܆5ú°êî„«žµmXõ~zâ± p ³ ÓÄlïY"Ìù¬°wìO ”ID¸ãù&)^aõt«âœ-Ñl¡G<Ýů³ªê#.+dU“¤Ù.­úŒ4’ß6@ênÅe‡EšR÷øPýSuªÔ)N‰òUyEÇ{5„~KËdЉvPX#uñuUñmt{<ò0¤VŸIg´ —rá4rÐlÇ,ΫŸ´—l7µÔf³Ír0B·(éAè¢ìÁÊ¢Òd¬ç[Cn&ÍíIÁ“À,¬}cÌ€¼…¼Ú‘ôøùP ·{FsSA^äJŸ(êÚŒÊIóY°óùç§"Ky—p››rUËýã€J«çÀ Å KúÑEMãiÓ8Š™?+–À:':ÓILÛþÙYñå¢p‹¿h.ð¬¥û:vÊÍÄÛs®þý”+™h4 ­ÐziÇxÍ~ñ³»OGA€L,õË+ÙÍÕ6°³©B*Ï(Û'›u–í¾rßJ)nR¤›Þ(v%‹Ž\Y˜M²Yz õNºh '¸R®Ûuð˜U17»AÉJ®¦ËS[9çvÕkVÀÇ,6/ éÔu~9¢?š¹™ôamÓ¯›s¹t±_¡~ãn {è\5ï_>k/; IåĘu·;èrÕ5„šŒÚ Òs$ƒ‘6Ô‹üýö´¡*‚øÀÛ”aŠ8.좳O%¨ò¥Ž¥äjiÛ­Z¼ì‰!j{|Hš4ì|’i¾=ÝtSÝÜÐ$]L‚DkÛfçY¾U§nÅ„g'ãæ½N_%—à ÔëäÎISíÒž!ÛéíùÍÍèê'5±š7y­Ê¶·°A]|ò+×U©)5Zeòí>pGe™ŽEœh®ÆTJíü¸ªŒCl*åúÒ=»‘P,A?­[3Œj ç_>Ín—jÂ"Ç•òµž|»ÜàT;õi‰Õ —«1‘½Çs.LsXzÅø2[Ýe¤ÉÙó§e{Š’Û õeôW­%6Ķ_t²yR•2±&²Æ=ņX£iecTU N[2š¦ÔÝ ¢Â–ŸÌib3mÁÇ·óÄݼ‚Gt0û BÉäqi Ä;c,û*úTí¶Ó>] ¢æ¬ÿ‚d›o¦ ƒq•fˆvª’¡©QÇØ6¦CêÛ6íôþÙ®¨è› Á-Î:bòò|Ýp±-Æ Îâ Öžñ¨Æ‹yç3™ûGw=AºÛêqìFt“g«9¼‹ÂüŸ¬¥øVÇ*žcg¨·îvß° ²‰àÄ@Tp+Åì ‹ÂÒ^u3KësÛ&ºsñˆz´LkM»5¬kÕNŠ€i}*Zôx”½<õS+·/€·ªÝUµº v¨ûå9˜­r™¯^¨©#»)šÈ“çóƸ/G+©áFÚ¯=€á˜]¬M2÷õš-/'†[¯uÏñŽà~‰PD~ý¹ÆÜ…TÖe±õ·Û½D÷¸²¨Z›a$_ $µ¦Í)ëæv;8‰k[s}£è,Ï%°Ì’ÇÇ?È v&nÕYÐÀôûÎ[Xàz¼|䎭ÃÞxÿcþjÚB¯mb<©ÔÓP ó<àÕõâ¥y/¥™Œ N‚ºáî[e°•à¿­à ¬•g°ngäe‹iœSr›~b½æ!Ì©‚¾ãUÌJkx°º›6qûiÃ#ðp¬ã&ñ±i¦yf²õ’.¿îp¯¤Dÿy'1${Õv¾G‚ÝôÍ>“u›Y¡cb¿Ö‚ÛÒ³ÚC¹¹}¬Ø}{˜ÞgÒFTÇxû­ÒñtðÊÖ7n.T01ÍÙ´ê;r('EuÉŒã7b•ûAvžÜÇ2 ÿ¯™²IÔ€ŽÙTµyñÅ× fsù²Ãýµ_ ã;`.¯Šâ]Im¿á¡ilFd¼oõ€ ƒE-Ãâ,û×>–+w¥³¼¯;È÷k2Ò­e9Z¯å·—bµìÆ0RÕ–­vã„e`8ž¿åk)ÏO›#Öc°æg+_#b0Súû±o  P2,yñÓ÷üGÞ^`z ~וÃõí³#¸˜¤Z‰†Í.Q¨š1.9\’+QT»Èz¶OBž×“×É¡—YÌK_sò6!”$ƒäX6¾ÚÒ›xºc›¾‡]ьǠ6g·ÃÚDª_Ál1§®ömBÙ~}3,T¼ÂnIsjå^oëf„‰s·)i*ÆÛPì.‹x/³ægœï7•z¬åb?L»¢ |ÏLK¿éÙŠÄMïæÀ6®õ0+XŠî:½ÙÐ>w—Ãÿ›'¥è®¸ÓÄ2¾^¬¬Ç™ü e(¬³ Rwave/data/B0.txt.gz0000644000176200001440000000127712377701075013710 0ustar liggesusers‹íV[ª[1 ü¿{¹EÛ²ö¿±Ú£ñ!94ùh) d½Grù’ÏùœÏù_Ïíj ,­/hf± 7É£ _>Û‚©cëæT]®Û!Ç„”ëRˆ”.çØ0ÛvÏž¸4‡{äÎ7ml÷cn1\½¯Eµ¸é¶4„ÔÑwIÙ’,Í÷‚.c£®Â6Dƒh6¡¶Ü»‰ûÀ½Ï€ÜTÐÒMë¾…K߬ôNÔ@Ï@Š]´Ò)Ìl׺±WfYçDXí%j ŠLK`›…: ­¶M†¬"6„6Ѐ1é µÁA¾vP¤#·ƒNLKS 0 r_š€E­¡i¶€CIShOè6#;‘#¦B%ŽÂæÄDÛ$#m›Ëꀖ•ÓØècŸ­h:Ôž5Ü…ÑÊ>²ìg«8œ¢0ÌÌATª)wÊÜ™à}ØIS釲ŒvÆPáïii­¦-ZSW@¸¬6ªwТXz±’È‹aÛ-Ølïðó(˜0ñ„®]NŸYžÒëE-v9LgíÊÈ‚BDiRƒcH‘"gyr2(“dŽVÉ¥’£µŠu+$g|8 ó†AtúQ¦9G¨ŒÆ‡¢GÍÖÆ$2Œµ÷¯Ü…×ÂNÁðJ °"à Z]öþÅx€ÒÕœv2@]>~F>jŽÝS |ëUY›WI™»,½r[™ÔO±Z p4ÜGá3ºžY:mÛaá°òô8/’œQ}¼À~³?q˜•3ºÒíÍžK©çl¯ªÏ^Ý9~¼®ç%ÅËb>¢eÁõ®/L©—wÁxÏ–í)Cë#ÿy^ÌÃ:òÊ»~´PúmVvu÷Mûg<ÝÆâ=Þ¸åë/êñ[ÝvëGù'C.vôij¿ÿ ð.Ÿ¾€ëÜ{ú×ñÕ_½7½þ.|ΛóTÒQz]Rwave/data/signal_W_tilda.9.rda0000644000176200001440000001344312377701075016044 0ustar liggesusers‹íwx÷ûÇA ±©¨=’HÈH"!wöÞ9'ö¬=BmÕ¢jkmb}‰UmŒ´öU¤b¯Æj«Q‚}ÞŸç\×ù\ÏU¿sþè«W/—æ<çþ¼ïÏçÉyîW|`³–Í,ÍÌÌ ˜YxúO‹§ÿZð鿘™›4+ú”¥úuë’Ô¾gÛ¦mûwëÙ±½c£§ÿ­ÄÓÿlæs¦•KsŸ¶ßoÌ-=ã“6‹Ù¢s‰¸£-Vq±€øN¶‹ qé)}ú§rytö]ÎÖöý>*uYÇ•ÿ5ß35‚«wˆ:zke×ô,uuôä\®m•ñØzÀ®s)¹ìš–¿³mÖÕŠ#×ìẩ«+LßÁÏëºY]àú^KºåÝ9ÍN¥:Ÿr2“û•Û?­í5v‰rj½eþn€¿ÏµŒÃÐoa×GV…ï(Än™¶s=*Ï ×ú×;àeÃî[ñÝAîìÑiPB• ÁìIS ¾•ȬWéãØ™ÝÙW|Nìµ­ÒŠ·ç°wrCï§•ܸݸßä&ø9|,r þø û _T¢@ ¦åÜ<È…}=[u9wÉž}ÿW¸áR›-ìgžjѵ{ûunþs½5gÙoWJ­ê³³¿mXÎå,KöŸxgûÊ*óØÿªW©ÿvç€À¦ü~„VÚ;ë´çÀB}F†UÊãÀößkb‘ÌÛÙ8ßtá Jƒk;ÈAÇﯸ­3=R¹øWæìT!ÉlÒ<ùW`íÊÄÁçhVÅ‚Yâ=új±ßúsÈä®Û†VäK3ŠlåP¼ÿÐéý·vö€C³›N›T|‡y{u];×Ã&Wñ9n{…òæÏ±k1Ç÷ޏêÎá#;õÅá‡.,ܵb,GÔØ=àWw{Žèp¤Q×LŽØióU«?‡rdñ¯ÌRëÚqd³:--ZçÈ%KÓ'äÈ?j—\¹Ó‰£p=£ÆÔÜk3ž£Ò}}L]îï7ÊÑMOžZYd1G/iÞ0Ï;†£PnxÙÂãr7éhÐzŽP*J_¥Çl¬çy¯Ç< µlqð8ÇV{ö‚9Ö—/¥úÔàØ6•Ëýä3ŽþuÁð«­8v‘Ç/t»}Fí+Ófqìùšål÷åØGÂF4þ™ã*e <9Ô…ã<ÝW4Ø4•ãšïNî_§'Ç ªþã¡rê=#›³u­·ùeí™Ö>¬wíucæ•TÖûZÔ‰NªÉúÈÙm ÿ9ƒõÍëÏæá…Yß~j¹É'±>É&:´CoÖ¼eœÙõ‹¬ÿ¼šÅÏA¿°~âÈá‹R~býì÷7µ¨ëÇú”¡ íGy²~ÅÙÔçœX\ÐoZ¶bÞÌʬߖÙùó]³Y¿×뢮ÊdÖ^ЦöàѬÇúÒŸrM>c–Ëúsô{û±>ûÇŸgŽïÎú&úÝÖçÔ‹êt¹ëï¶)]ú4ëïONw§¦¬ÏÛ9¶jÏ •‰fw‚ ÏæÄBu ü¾/ÝÀ¢‰;NÜ ’i5n×Ü!SëÏ ÿýøÿÿ<êÏ)~nñ>ÄûB>«ï[\q]Äu×M\Gq]Åu×]|Ó¯<üèá^Ãç$>7äšú¹ŠÏY|î¢D]ˆ:u#êu¥ËË>0«§ZwjŠºÜåxÙÚzµ¡nE‹ºu.ê^¬±.Ä:ëF¬#¬+±ÎÔu'Ö¡X—bŠu+Ö±X×b‹u/r¹³ÇáÑ®k ¹!rDäŠÈ‘;ú^Ög75ä’È©B[Í—$9©9÷SÃV'«Þี'†ŸŸÈq·}Ž?&mjǵþSß*>›ã|çÖ¶(7–ãj5¹½ò„ÇY–î¹'€co~unÌeŽÍø"+iÀŽýÎyeyŽ}lЖ¿| yŒ}AlX­¶#æTäX‡}޶-6rl™ù›¿ ;Æ1×?+³¹ÂUCÎÎ ¼—‘È1U/$&sLÅô‡íÝ«ý!zÕÖµgsô.û¯÷ÆÑ!e.‰OSûJTV¡¹ý6Ôç¨å©ë§NëÈQZü¶Ï<Ž (|åPtG•ZûøF}KŽ<ÛºbÑb~¹ºˆ‹Íµ!9d}xà¾TŽ ióa‡eW9òiW1ªG\Ü0sA‡DŽHmûÍVßI1Ìr_VÕ=‘v>7/#¬Û=(Êó‹—uÝԃñ¿Ÿ°g'9ÂáÍúdµþ¶‡Û|pgè—ÄayöãºííÅaéÇ]ºŒÃ’Gl^6ò4‡õš3}«¥¡?—}´0£7‡ž½[aÛÚåšV`ÕªëÇ9täšÝééÅ9´ÙÖæ xq¨M—¾ÇÏ÷å¼ïí¶Náý5ª_ÈÍä§´#.…8d Oøöî®píÃÓ¡=8Ä:÷þþÏæppNá/7nÞÇÁÛÖ~uböcž¾Ã{÷ÑúÜíð‘õÅZr0é´(p<—ßsò"hWÑÚ=rÊrÐä MÆç N»Ž~oa_Tú\žnÈqÌþ}ªÿz DŸœßÛý‰ˆuúE»·×q`Õ¹÷6;œç€»+'¬èT‚°~Ä>)àYµõ˜Âú.K·s€ë¦î9ž—8 è¾'gû–fÿs'f\Eì¿=tÙDêÈþ3šz <ýû¦GxÿžýC3ÏÛ]Q÷e~šÎ(ëÉ~§öÏšº¼5û¡þýÐ÷Õý\à 7ü-ØuïûWäØÙ%Ù7sûìÄ%CÙõî;cñ¦Œ{ØûV_Ô¹¯íÌ>T¿1û~oÄ£í™~¼Skð*+&Ô7ùoéÜ÷a ûnrÇÙêòžÒÜ$µœSûßZr“ž÷cÏ•_¦îWçŽøqen¼¡ÇêÜÀ>Üø£˜Ãý{nâÆ>²§…ßbï‡çŠ–ìçÍÞ°ÿbÞ(ö“ðõ­ì}½·™û˜¥ûcØ û=/Ô­êÖ«¼îaVf<7ºdVî~Úxn´ð²û€3ÜõÚõêy¿êÇ]ÙsOú’È”ØûNÏØfg²—²gÕgë¡ìqãÛRµ>\ÇϺ¶ßuö@}z >=pþpÇþÖ}õõo^*ÍîÏü1ag(»‡ú^øhávG]6Dÿ瀆Ã~ ºV±57Diˆ~áv?mÜ¥®·Ø õè†üwCÞ»ùÚ]~˜¼…ÝpnqEž»¢]ÇÎ÷+»w »¢]Q‡®Èé¨Ãk>[s}ü@n€ýƒæ 2÷><ªžc ‡].;–éP@Ç.87¸ þ\’¶E>*r\=ÿ¸8,JúØ¥;£þœQΨ?gÔŸ879Ç9{·;;Ý¿Yrœ+;—èžw¸r3v:¹ùƒ§QÅN³4ž5>F¶)»v’zîrÄyÇñÙ§h߃‘«ŽuFÝÝûk׿حB`ÉÚ\a”ÇN^\_9/ªç·z¨Ãz¨ÃzÓÎlKûe&׋ÙyÎÕì,×ÃyÁáFÅÒIÛ¢Øay^ƒW’Ùõè€ztÀyÃþìŠäÛôg{ä©ý¼/6ž³íQ—öîoT¨Ïö¨ÏºGUiúdžz¾¬‹óM]ÔiÝHóvñ±N\çV;œ‡ìP¯vK½7sËf;ä«]ûjÇǵva;œ£ìP¿¶ÈYqžU‰z¶M>Øèɉ’l‹º¶Õ¥¶üäq3]köôžö)Û¢ÎmÇ6‡/}Ó@Ô¿JœsU"¯Ub}H´YwÛÙu©Lìµ(ÎïšD?Ð$öƒùëV“­Û&._=R›è?šDh±6òA"î3hûJM"g$¢jûOM>í-.–‰ü2f­›Á%~±¬¨Mô]‰È?M"%âþ‘DÜ‘Xóv¿˜‘÷d"_Yy«Iì$>ÛvfŒ—9´Þ¾"]¾‘‰ü–ˆ<—Xáï4kܽgY`£Ÿ]*íŒì,û‰èÑ/$¢HD?‘ˆ}½`õgï¦yW™{sSÒ~ûRæ²nkû¶Næç§v¹–Ï4牸Ÿ#÷{ŒY ÷ƒTâü ÷‘$â>“`Õß™Ó+O&λ¦d„mŸb ú¤1« oJDU‰~*ѺüÇ[Æ™K÷]U¢ßJDÿ•ˆ~,øAú„šõãúÊD–ˆ~­ûHcVBÿ–8äqúÂJ— D?7¦5îÛJDŸW‰>/ýÞ˜ÑÿU¢ÿKÄ>@"öÆ|û•ØHÄ~@"öƬ€ý€DìT¢ßKD?7fyôi‰è»ÑOYýR"ú Dô9‰ècÆ,‹>%}H"úDôc–A߈þ }@"òÞ˜¥‘ïšDžKDnKDNk±rY"rX"òV‹%‘³‘§Z,•ˆÜÔ¢rR“ÈG-G.JDþi±rO“È;-Z"ß4‰\ËE‘kšDŽi±ò+_"·´øò*_"§òcaä”&‘Kù±ò(?D=7‘CùÑùóÜDþäÇÈç&rçEiŽÜyn"wž—fÈ›&òæ¹ý‰’7/ÍÇJî¼4á÷ç/Ë<%^š•üùÇ| äÏ?æ_J½2ÞWòè•ßsxåüSɧWλJ>½vÞQòêµñ¶’[oŒ·”üzãÌQòìóäÙ¿Íßko o ßÞ6^C¾½­ÌF®ý×xyö_åEä×»ÆóÈ©wÆß«üÿΓÈ_ŒÇ&¾Áú5ñÝ`:Ö‘‰&¾Nî@½™h¢‰ÿSM4ÑDM4ñåifz™^¦—éez™^¦—éez½S/ìóL4ÑDM4ñ¥¸ÃDMü׉ßÚhâk%¾Wbâ;B|ïËÄ7D|¯ÑÄ$¾Gk"ˆïY¿óÄ÷æß9â9‡ÿ,ñœÉŽx®ç­%ž‹zëˆçÈÞâ9»xîðÏY¾qâ¹Ò7F<7ûÚˆç~_;ñó+'ž»~åÄs⯌xŽý•ÏÙÿcâ¹ÿLÌ!xibÂKs^š˜ñ²$Ì¡xq*yöÂĜ秒_ÏMÌ yq*¹õÜÄÜ“ü©äÕssZò§’OÏM̕ɗ˜S“?•¹7šÄÜœü©ÌáÉ—˜ë£Me.P¾Äœ!m*sŠ4‰9GùS™›¤IÌ]Ò¦2·I“˜û¤Men”D̙Ҧ2§J“˜s¥MeN–DÌÕÒ¦2—K"æxiS™&ycLÌÓ&rG¢2×L&rG‹˜£&¹#Q™Ó&¹cLÌ“‰ü‘¨Ì™“‰ü1&æØÉDITæäÉDsød"$*sþ$b. LeŽ Lä”Je.¡DÌ1”©Ì=”‰¼’¨ÌUT‰¹‹2•92‘_•9*1'R¦2WR&rM¥2§R"æZÊTæ`ˆ|3&æjÊDÞ©TætÊDîs@ DþITæŠÊD. bN©Lä£DeªÈIcb®ªLä¦JeN«Lä¨11Ö@ä©De®¬Lä¬ æÔÊDÞJTæàÊD«TæêÊD.KTæöJÄœ_•9À2‘Û•9Ã2‘ç•9Æ2‘ï•9É*1GY¦2wY&ú€De®³Lô‰ÊÜh™èZÄœj™è+•9Ø2Ño$*s¶µ‰~$Q™ë-}J‹˜#.}L¢2§\›èsšTæ¤ËDÔ¤2—]›è—ÆÄxm¢ŸjR™C¯Mô]M*sðó'ú´&•¹üšÄ\m*^™è÷ï€Ø¨T¼b? Rñ<*ž‚7Á@Å«@ð,¼ ƒŠ§àm x^‚çà} x ^‚'‚à x$^ ‚g‚à x(^ ‚§‚à­ x,^ ‚ç‚འx0^ ‚'ƒàÍ x4^ ‚gƒàÝ x8^‚§ƒàí x<^‚çƒàý x@^‚'„à !xD^‚g„à!xH^‚§„à-!xL^‚ç„à=!xP^‚'…àM!xT^‚g…à]!xX^‚§…àm!x\^‚ç…ÜWðÀ¼0O ÁCðȼ2Ï Á;Cðм4O Á[Cðؼ6Ï Á{Cðà¼8OÁ›Cðè¼:ÏÁ»Cðð¼<OÁÛCðø¼>ÏÁûCð¼@OÁDð¼BÏÁ;Dð¼DOÁ[Dð¼FÏÁ{Dð ¼HOÁ›Dð(¼JÏÁ»Dð0¼LOÁÛDð8¼NÏÁûDð@¼POÁEðH¼RÏÁ;EðP¼TOÁ[EðX¼VÏÁ{Eð`¼XOÁ›Eðh¼ZÏÁ»Eðp¼\OÁÛEðx¼^ÏÁûEð€¼`OÁFðˆ¼bÏÁ;Fð¼dOÁ[Fð˜¼fÏÁ{Fð ¼hOÁ›Fð¨¼jÏÁ»Fð°¼lOÁÛFð¸¼nÏÁûFðÀ¼pOÁGðȼrÏÁ;GðмtOÁ[GðؼvÏÁ{Gðà¼xOÁ›Gðè¼zÏÁ»Gðð¼|OÁÛGðø¼~ÏÁûGð¼€O ÁHð¼‚Ï Á;Hð¼„O!Á[Hð¼†Ï!Á{H𠼈O"Á›Hð(¼ŠÏ"Á»Hð0¼ŒO#ÁÛHð8¼ŽÏ#ÁûHð@¼O$ÁIðH¼’Ï$Á;IðP¼”O%Á[IðX¼–Ï%Á{Ið`¼˜O&Á›Iðh¼šÏ&Á»Iðp¼œO'ÁÛIðx¼žÏ'ÁûIð€¼ O(ÁJðˆ¼¢*á%xH T<¥ÚT<§æ÷çÿ~üõç?·xâ})^WÃû×A\qÄu×Q\WqÅuŸƒâ¡5|NâsS¼µ†ÏU|Îâsu êBÔ‰¨QG¢®¯®¡îDŠºDŸPëVÔ±¨kQç¢îÅ:ëB¬±nÄ:ºëL]wbŠu)Ö©X·b‹u-Ö¹X÷" ð"rCäˆÈ‘3"wï²!—DN)žf5Çàq&x žgŠëû‡å÷XŠÓO;917‡à…&x¢ Þh‚Gšà•&x¦ y¬x¨ ^j‚§šà­6ä<î#Ás­öx° ^lµ¯À›Mðh¼ÚÏ6Á»Mðp¼ÜO7ÁÛMðx¼ÞÏ7ÁûMð€¼àj†7œà'xÅ žq‚wœà!'xÉ žr‚·œà1'xÍ žs‚÷œàA'xÑ û$ÜGàUW÷eð®ösŠ—ài'xÛ w‚×àyW÷«ðÀ¼ðO<ÁOðȼòÏ<Á;¯žà¥'xê Þzõ#Î?âÜ$Î]âüæÐñ¼®›Õõ|)γâü.û\â>¡¸ï*îS‹ûÿâ÷+â÷aø}ªøžƒ™™Ùãÿ¯\+á?€Rwave/data/amber9.rda0000644000176200001440000001172012377701075014130 0ustar liggesusers‹=®ì¸„iÏÀ€'0˜;ágÎx„£ e Ng-¡— %h Z‚– %p†Ÿ÷²‹_éM0ýºo·š?çÔ©SEÝû÷¿ýü—Ÿ~þ)„ðûðÃï¿üÿ‡/ÿüñË?ÂïÂá_ÿðÿó_ÿùë—ý)„?ÿ\~¹Ãÿÿ+¿l_¯¯w÷üè^ß¿>žÝûÎß>þºÏµî}[÷|ãøö¹W7žÖ½ÿê®Ó}þ=žþú·ø\ÿxŠÇk~Ý÷÷öó¿»ù|ýþ_c÷ùØ}îÛûW±O­{TãW¯b^W·žâæ%>ßOÿýjŸO/ýcñÓﳊë}¾¿}\qu‰}h°^*^1žC¬wŸW öÿ0ã¹}÷j~§XŸSŒWåé%ö‰æ¥â»¿Z…“*~»¸ðð\hf>õùòñÝ?nŸÇ=àÕKŒó˜ÇÅg*žT~œb}žbÿŽùuÞqÛ~b<÷wî'áêñðý7àÊ·ëa=»`Þ >wAÜŸç;ìÏ-òë\Qõÿ¿‰ýÜE¼œs^÷kñ}™¸xCþs^'y„â-'Ô£Ãä{àÙ1ý×ôÛù¼çµÎw¹¯ xP|ø\?¡6¨“„·;Ô‹ë!¾]sü>§öGõ/×çïpäú¼®ï÷EÑq½pæ#û W§ˆ§Ûä-*Ÿ÷ÏñÑã3­‹Œâ„ »ÀÉÖå‚ë>ŒcÉÿOÛoñFůÔ5z~¾‹úû¬âö=.Ú·sÎ׆8†}êóâ[Søªòoè7Ûç¼—ëÞL¾Üæuvˆ£c¾~²ìpÝ ðZõ…7àÈåõ×C¼ôqK¸½Ãx®‡8Ò€PŸzzºö·—ï¸Ms¾óæ' ôDàŠß¼ûý-õK·À&êõ;mŽ_CݺE~Qºç©_½5Ð5]]Aá÷1¿Þ€_d©pôšï‡Ê!ŽØ÷>n襢¾¿ó(C)öAΧçEÙÓIUÝéãUÆñäc®wª~MâTø¼²Þ7 ÷oofž¦¯±ÏñúÙ¿¿ÑïK2ñä˜ç»\Ÿës§~NŽƒúKÀÙ~¾}}@œ{Áuo³î7è#/È;â;ß®_ ?»ÌuvqꄾêÅAï÷ ㉟ó`ØŸc‡ƒ>£ø"­Ç xp›qsƒt{uëàíùu2^6èËOèD1ìG›ãÄÐç¨>`‡8¼¡ßlsüÆ›!~³À×KðÅ·AgSë)ù_zÖר:9\§™ýr?žNîyP_ßÞÏ˼¾Ëz²›óWu±çuÞoª}ô‹ýñéá¦ÔƒÅ¾õñ3ìGš×½áºTÇ/ëyc1q¡Í_ÖUůª§"?‡ó*áó:bP€Ï«|É¢¯!ÝÍ­ïwïýI ¿‰ú3Ì›|ÜÖ%Šý½<Þ/õ¾ êU„õŒ€Áë?¾áÌà×íÐD“ÿeÏ‚ç¿Ç^œýø^¹N‡À‰ÓäiT¿NнOÀ©`â_óü)µCÿßÌyîO„—Ù·ª>v7û¡ÛÓEÞq#æGz–ô/wèw÷g:¤}~èž×…a¾·ð»^B§¼MŸå~ ¾–ÌGx?ž·$ÿ·™ùeâ*õÛðêêöáù%ÈÏ/ð'ÏyÞË>¾Í_—}ªò!•žµ™>=Ô9Û'Cõï—Ç뤫ê×)øéK¤ïï°î—é{6ÀÓú©úB1¯_$!½íã¼ ¾_€ç¤×S|Þ S^Ïüÿ¾¯êùæûçÖWù ÁÓG=æ†u!?–ö âu µoq^7‘¯‡9ï"ÏeSWƒþv¨B×Q~Þ7fÿ%u+ZßÃÃÉ!?’XO³ßSúú‚Ô‡˜|õoÊßìåâµC}¢>ÓÄŠ ú¾§ùú é YÌ;˜é¤‡^ÞõðœÌ5/é;ÀÇ]^x‚/Mû¤ð"Oº<Çó-7èÐá!?mŸýBɧ﹎M¾úÔ‡OVût‰ú^`];_Ö‡ûY½“ߣø[œç¡ì¯£™¿ÔÒ‡ ¼|Òý$ŸlB'Qz¿Ð $orõ‡âüP÷> ©Ÿº:)è¤ ûA¯“îCºØ5çåx.|ø§õTRü ÏYÜóõ#u¨x­›Ðw‡qA?@çé\Ÿ\¯’ýá¾ÉœÎb¯¿¢ûl0/蛚Y§Û¼_’çÅðú6¿Žì²§s*\—uÿŒòJáí|>gó‹¯S]MÏâHé1ÃÏ‹©Ûž(á†}¢~ãòú ªs2¾Õ÷½:®ö|g÷ñ‚>|¹}Î;°~GÐð¥fößm® Ï~žæõRòÀSèŽü‚º};ð™Sè.®^›ü>Îù¸ŒË¼ýý?€zš>c{æKÜžO&ï+½§ÇWº¯{À«6×åè\:ÞxD:Ê0®,|±?R‡¹Åz|'^àý»—·CŸ~¦^M: é…ü—dêt¨ìí“ü½ÑócäzCžªs]êrïúÖlúZ&o•}Î |YÔÅþ~ :$Ïo˜ú}_ù9:¿#ï£Nýâ8÷mI_ =û‚`Öµ¯ÙÓ¯Üߣ£~éðûKTœf¿C½Fê‹Ô‡ß^ÿnŸ“I ƒ%Ð{ÿ½zý Œ× ùž»8:ÀßJ°ÎÙägÙÓäù‰Ö­“ëç­B§HÞ~ý&Í»˜õt·x™òmÛç|%]Užçˆ¦ÿ¡þ»<îöøÌðX/‚çÇÊ8½çz"ÃÂ׋W‡$>f‡¢ç³«<éã{¸ß1B}TøY»ý©ŸóJêW䋹z9é'÷C}­@ÿÐ`ÿƒx_2ñ|Vû—’çù…qJùЯÒCæ¾Á€¯'èZô'¢ï“8îÎ'Í}o9ÿz~RE^&¯Hÿí6y$ä‰äµöø:ùFØß1QGe¾%à×üçä Kþ˜!oƒW÷è|4ñz™·ç„3àWáùìfê˜Mèªo n﯀K·à9·Çóð>"¡Ë¢ÎB¼SM|®xüq7‹}ˆ ›gS"ýxñðúõ1J OÀ:>ÖâüuÔW"èÊçÜ·ö½ŠõȦ¯’âby†³xÿWòp`o|¬Ÿù¼è[2þܺq{þ’â÷C¿H}4ñ‘|<Šçü¹ß²ûûº[ÜŠ 3ߢî$±¯UÄ¡ÈÔЍ—Pݱ=ã.?‘ø^Lßü9¬?ùYÖåöpg¨ßù™?,Ï“ Üö- ]&ƒÝö›àåkðú!Ë3?UÕ/©„¹~‹çÈÿ>¬îŸêøåõ½xÿ× ºÚeòá z÷ý™'»ÿEê0 øªQ:Ú=çg¤_ 8P;Nû÷š÷õ" =6€Îw>äx~˜ó©k¶yÿC皤Ïbúlx¿¡ÐìsWmîãËxI óFÐMòÜo‘:yñò/wžßs:­s2}ÞŸWëÖçÏû©øV?Ä|Ž÷9‘MqDzšÒóÜoS¾¨¬Óy®K >AŸõ[žÿŠæú¶.žëœg ù±ŠýÈ s(ÜUý\2ýÊ,â:š};áwø^.Ï}–g×sÿNƒäãÅĽ ûLšO*èžxw™ã þž†ïÜO9Þ y|Â÷ä®?)ÐESgUº!ÕcÓ÷ô£ñýÔÏW|.Ã>¿Cy?믔‡’—‡õpú9Ô ¸çý»¼Ok¯¨}|¸Î º@~IñVĸéuÒ3ô%=ÿª¦¿G|‚|b•¯±Ã£hÖí ñ™ ~\¿„ôlUÇèÿšð]2ÄmøÜŸÈGÓÿŒ ÷Wàêø¦CœÑ¸«ø¹âG è`ÅÔo³‰GEÔ5Úç$ž¯æ¾˜>!ž»+¦_Z`Ÿ ô= Öxv…|Í^ÝÇ|«Àg²¹ïÊg^AªP¯Ë<Ü~HòÒ#Ë\WVq ñ¤¿Ks½GÆ1í3øJX';~¤ô7‰ƒ*î*ìS0ûØþw‚~®«ð©˜q´ÀøTœ×9Ÿu3Ì÷GꔤÆg~²ü} ꃩ[ºçÆe?WO)«ps¯ Þ+ù«;Ïlâ›Ò5 đ¯ üá)>¨_à«#£ëEXOQäß)[L¿¡˜ý¡z.úhìgܾ'ˆï­à7¨8«"“èK«‰®C|†ê^4yE6u ù‘çõYŽCõ‹ÕÔ'¬ ñrêèçð:AÜ)QzeúŒÛôwÿ$O\@' <&>šyM>éâÁÕÒ\7Ã|®b]…^$ùF~¨àkòt—ßþãï |F޳о¬@Ý‹€k.ï‡}ò’ú¢ñ»@žðí Ì»Âx]=µš×0oÒ‡²éŸfè›’Ðq/˦ŽY!ŽzüÚw²§ßËùWàuÉœùaÕôÅøJÊwZ ®È§%èÇ·B-¦Î½¿%}–ô°UôÉEÔ•<ºšëLº~¾Rxè*Ÿø93”ëo Ðß>PÌ~±˜uˆx识û¨¯“:MúÔ3©w‘?HzÄzs]ò*™õ® Þ®|ù¯WÏ÷–÷™eèˆ'ÐEÖ‡:N=°<Ä÷ ýkŸNÄž»©P£éã(¯_¯ â¨ß¾?» OQºn†ñWÐEHWJùåq¶€O©öc…¸(Pg*ð€ ûŸMþ^̺Hy_vO1u#ê/ðÙ|„ê%]'?Ô³Y×3èî ú þýð •?QðÈbêZpg_8C¿¡ú¯ æ±Â¾¸u"€¦êò*ƽ ]ˆp÷%ôòÙW¨K®ØÇÅËÜßñM|_`œüÙ"â²ïÃ7ð‰ª‰³‹x]õƒè_ŠGÒõ‹˜gõô»/dг£˜¿ÚÇ*¾Gõ1ă³˜o_´n‘OÔ×öül~›|®jòå#æ‡zWûšaŸWèKàq†y¯€3I<¢ŽžT€šý-êjøTõ$‰8ZDž‘îÌq×9nÊüwq!˜y\@OZÉ¿yA]Y:^'«àuôb•§èò™ü ÕÔ³ ð·.‹þc¨Ã˼ßDÜÏP·TÝLð¼/VúÆ 8²À<£9ïâå© ®/à·GÈÒ—¨oQqµ˜ýµ«?Q,p}âÄ‹ÙÐõˆÓUÄÁÚái1óp}è[¬ÀÇÝüñ-?§Ûÿ¾L>›u8ÿÐïT“Ó7¥<,¦ÏH8 ü×§~N†~¬€.DŸ·ˆëRý(€ø•ªG ¬‡ð™dÜ­&~’>Ù­ßpž›ôÀ*|ÅhêFÑôíàãJï,à÷«u]à‘Ö7A^eà7«àIèíÖGéGô—øa}`1óë¡_8è¥+Œ?Á÷γ˜ý•ËshÞËÃz“a¼Ùœß u)u}ù‡«ç ß³‰>…øõ õaÞVð“H§õQ8žÍº`Þ”÷ 'Ë<«f¤þÊí[‹¹ï½~B}súûý_…}_æz´Ü‡yCúDÏoU=ù^ÝÝå“ ôÔEøì4þúP7q7?ôUUœ¼êk ø øIÙÜWâ®þ·^Uðc ì_ë’@/ŠPo²È¯ }`u‹&Î)¿jý¾Ãy¢Ìû#Ô=ÐëU?UÍþ)›ºÍ ׋€;ôâY´_+àÊ p}1õ¥ôÒ,xñbî÷fö•|×÷N"_\ß…ÖmzœLÝ5Á¸2ÄéBüÃø¼ú¾ tbå‡Ô‡ñ¡xM1õ#« ë¡o- ³¬î¾ .‘žQ Þ¨óÅôw^¦<_M}°ŸïËäýjŸ^ð¾UàA?ßx[¿äéÏIW%_¸Ý›âeƒzEûš!Wán2}ª{ª?R8·Bü¬À7žö§nÿ©¢ÿ"_4›}$åCs+ðé Eý¯@\W‘ÏEàÂjújÄS¯«õ úÉ º˜ê¯ˆXê‡7Èÿ}êñBú³ëRÝSõnƒùæ9þ~Å©/ÿý÷Ã9”™õÚRwave/data/W_tilda.6.txt.gz0000644000176200001440000000266412377701075015177 0ustar liggesusers‹íÝ[’£: à÷ÙËœ²äûþ7v2…ô›i9éIgôöUƒmÙ– !©&üBH¡þúþq(¢^û"®$Љó¢:‹*‹r$µ"*±ªZU.R_-YÚm·B"ÔÒr•XÚí°¨·¸¨'áh ¤«MEYË¢^´ÚXÛÍR¢q—µ÷„˜›ö££o]zTró ‘ŽKåª#”uÔz“ZR‰Aâ.çÅ®#K–bÌRs 3W€s”bÖ~ðmnd.›F@…ådÔ²J•¡ô„fõñ$‚‘˜ÝƼJÖ<éïƒ`Gh5jc$ßHï1ö«DGÙÕlDôc~WË1¯2bd Ú9´Z$¨e•u¨e•“¨o•±t1lEÚ»¼ì:ÛÛ:Ø^„UŸ­x2Ji¢<ë:™‰nµZÿ4™Ù1Ûi’ #?ÐÚ*{†ÐÚj™7¶ç8ÑØ¨Gþ–‰FžÜïV«ýi±¬ÖÒPœ(m*OT6UVû=Þó:¿½šÍÌLÛó;ˈ™fÙ4D;5ËØ±Ž&9¾RÛ©º©Ùz›)ïTÚ©Ù~0?,zXáûû߉ší»®£tÅ NôLÖíÖãkáq=¾B÷jïñŒöîWÇhï.z…öîü.×¹zýZ8úîæ<]±'söŒ®¸nrÿçwŒ=!8OåRåK•^¤ø"ñËEo¤ðŽš=O|{µSýgU\O)»~¸fß¹\ï«èr¹>Jìr¹\ÿ”f¿Ør¹\.—Ëår½^‚àp8‡Ãáp8‡Ãáp8‡Ãáp8‡Ãáp8‡Ãáp8>öŸt;‡Ãáp¼'ìëF‡ãTl¼~Éápއ^Kæp<ƒ×ã9^…·…:Ÿÿýáh?ýÝAá=@/¿ñB¤ ‘ÏG9õ4´óÑχóAçƒÏG¼éÈïŠâpצñKø¼éðíô¼kÁi²ó®Â\pSññx“›¥óîdŽº—8ê*\ï£í@¿‹îƒv€ï#î@Ú¼eê·Ð~ êàÆˆÙqÞ˜&;¹6%6&Ù&)ŠìEªoÜxl\©í•Ñ^w쇡øœ‹ÏÔøüއxRç$øá¨} „G^xp‡G”x–k¹ã‹|Çjì6ÿçíìm³÷¶<þö¦cÞF¶÷m2[ÿÅ×þîÅ~Af˜›‡ãi›}e­ Qí… IˆD5ûöX X&vëÃjÕ“–JZ*i[IK%0i[I‹g-ž5ÔÌZaNßB4`Óh0VÓ‹øµ§„1,(l>˜ ̦“‚YƪÇäbº‘ZH¤ 2 É6[€³…5[&¿”q¶tì’`.ö¤;›þcÔÊé뀎Ý<˜‘”:X#á FÑCE=TõPÕÖ«jÚzÓÖ›¶ÞådÒA í2é¶N~‹°JÌ2¥ÉæXb]Nέ´xªr[ní/c˜dƒà*·Ô%fâÛBü¾lç鈕Rwave/data/sig_W_tilda.1.txt.gz0000644000176200001440000000073012377701075016024 0ustar liggesusers‹íšAn1 C÷¹K Q–Æöý/ÖxÆä|ôÿ´ªÝƒ-‘²¼¥ýG{ûadžÍûI°¹iÆ8ÉÒãª3xóM¹)Ù<ö­eÌM˜x;Ápì#s–¡³•˜…³5$¬KÖùà™{JgH#…ÜO¾˜)v¸:<åqÈ÷¸ÏšêÔÑî©èátšTz“6Õé½P¯MzØ ²é¦Y,µg½×Bg¡º ¯µ.J‘êš|›ôôGïß ’Šß?-=—ž~ß´¡÷oIÒƒT m@zn=½Íæ ’‡õt¼ ü”âSj_&ÿfÂ?DVTTTTTTTTTTTTTTôG¨            à?üUðo‚öˆ!?†ã ú ÂüÀ…CAŽš‚Ê 2(èÔqê8uœíÎQ:N§N£N£N£N£Nc{ðÁš ER'yr°¦ójæö7>p¥_.Èíµ22Œ=³Ë¹„•·¹ ·²Ó}u6tÖð$XìôšÛœ|X|Ö©Ã…¯0Ò +ŸtBð]+Åt7ßø)òzÈÄàà@û.Ù¿ÒU ÎÀÕ ÜËËZp&µŒá-cžËñúJåÒ&Rwave/data/signal_W_tilda.1.txt.gz0000644000176200001440000000111212377701075016512 0ustar liggesusers‹íÝËr«0 €á}ß%gt±1¼ÿ‹&X‚ „I¯I;ÿî,dYVíù§ªµúÛE6«.v•J“Ò5Nz•Tm²HµÔ.­Ëû"£{W‘Ö%ÞÞ®Ðù…µ,˜ÕƒÔ{21‹ͧxÆeÚÁ{éi¥F L-PǘÌ=o*©9>ö«©!e—ÏÊöà‘9¥)‰JD-ÚGÓˆ±¨Öü>"Fã°:ìæ^Ãzü,ãrÛ6Õ^2EHS~ rª£7ì óZÕ´¯e²M¥yO9–ÛÙtwz;[+|‡rõs8É\î׳ûa@ïC°vê1uù\þGôþ“FÞÇGt2¯…“Yþ¼Hž„ŸD„B!„B¡¯Rdzÿ¥ððÜOН€ù#ýIxþ‡*á'+¿oíûá¿ï:àGô©ÊOUTýïqTßщö-;Ö¼°ò–åt S‡Æ[hdVß¡ÜÇ>Xo·XwvÅËAk†æªæª®«SÈrdÌO•q:î3¯ÝÚ®±dq'%PciˆFù$n¦F °ƒÙð,³f™-;®Zã¶ÓÔ÷ì;hTjÑtó>f-bò}™Öó«£ÝºD«F_rª÷)TéÁªeyRµ]Û9¯Lº -ÁV}®ö?)â.Y’Rwave/data/sig_W_tilda.5.txt.gz0000644000176200001440000000132412377701075016030 0ustar liggesusers‹íšMnP1 „÷½ hìØù¹ÿÅxq<.Ђ*D…²û”gO&ö[¾âÓ_¾à²Þôа Üis9dÍN‡tè:4ÚꇦYÖ-é-É{ª¬ÎÞe’usJyõãE¼É{=ïh +;Ðqê°ç+¦e/†Ûñ‚>pÞ “tåËmèHRÏŽ6ûJò¢f©Üžw&=éÊ@§ö¤!y‡úâYù{¦›Êª-¨ˆåŽï™›yFN÷R{—TéV’ ½Èãá–åfO«ˆw<dG×tÔÒŒžŸ¥:IY×UZ$«¯J]‹4ë¬Ó‹•U«ŽSƒrÓÏØø)§R*âUgEõ)/5µgl¼5!ÌUÄ;0F§š.zyÕyõZéYuÔŽžUo+WíµŽî¡U§¥WÛXT®¤îYT*âE¥"å¾fõ=½*—+¬w¨nÃx‡úoÉß!û µ’þ’OI¸téÒ¥K—.]ºtéÒ¥Kÿ]¸páÂ… .\¸pá¿ù í`ý×0ÞÀ$¬ŸA8pá“Eß­ ým¯^!TV *u”íJ«ÊöFÅÅ­j¨l¬1ê?9­:»:mtž ÖLvMê¬,®@88@Ï;+pÀ Å#•wî @ù‡+‡¹ ,§ªlßI‡+ko߉=_±ƒ;[qÀSp'0œžÆ:×´Óƒ+ÂäèVN^¸JáX"RЖÿXdQz*ËÈ}Eˆ%`¥Ãˆºhî=1;#ài,’43ÿ¨ÈÛlˆN€¤ruvv'`&DÂ'`ä9 €•;´Ð†m˜ô1#0y†‘À|YSL`° Ì:ñ'0†¤ÀÜ¥ÓU`à Ì`±,0©†·Â¼åÀ­7yùjñ&Rwave/data/W_tilda.7.rda0000644000176200001440000000427012377701075014503 0ustar liggesusers‹Õ™yPTW‡[ºA6A-FEED²hQ8*ˆ4ˆ ±Ad‘]¶î'0$šŒû‚¨L9¢`Ì‚+$ 3‰r@ ¨) Čƨ£èÈ™ÈPÓ§_W½W·ºÛÄ2ó”ðÞ=çþλ÷ ñ ó0 3“H$F©ÑÀ¿Òe?HIdÓš†F­KN‹™:sàËÿ”À˜%µßO“ÜD ß4ÍÛ¸iìMœ—~~Ñ/CZ0`jCçdz“qqS`©¥‘†”<\ç1H†Š†Ô’9AfÖ~!¬eÓѾìÍ&Q¸º¦*Q±þ4F×[o8& ÂØÉò'wÚÍpM®‰I„ÏpŒ»´ð¢…[ &HÍŸU˜câÌåS±“¢wú¯Ãä<魯^˜’ß³aòóE¸öÀ›³ƒ\Ë0µ°»¸ìq¦m™pié¤í˜žze¯ûá˜!,]m˜ibßn|33çMônÂ̦ùÞûÜëP910ÖñÖVTæŒÿºiM#*/žØw°´UfÏ\?1EU°é!K.UÛš3½ú6  #Œ/¢êÉ»Òbœ‘]”Ð;-¹yÃ'4V"scÿ7äòl³[är{ÍW;ß@®¤®rSëZäŽûZÉåã;½®É=»¹SI‘g×ÎAîSûšo'K‘+þß‹ ·£vÏ»÷>DŽ;Ý'ëÌC.4z–Ó—¹ÈMÿª=Åor½çëïBUÇm™ÿ™C¨:•oWØ‚ªì>Óñ^¨šeÚ_´•=÷º›ûQyêóï†U§£2fô‡ Y2TZ.ðÿ1óŒ[Ùˆ™%˜¹òA¨ÃcÌèüìGüÖ`†ƒKŽûž¯0=ȯôÉF7LËæzÕ9S .ݬ­mŵ•{S¦›bJ{v[®[/¦e9ù›}ŒÉλ–Êúl0)¼Åó„ÝϘ¸s¦dap1&`Ãæ†Óç0¾;ûÁü×ÞÇxw…yióSŒËŒ{xÿH®©Ø}ÂiwÆvß{]þQ<ÆúDl޹æ†1;$‡cÝr0º­5'ð OŒvé°­Ìƨ!RiÍ;·0ò\Yò¨¬&\µþó@¿ËåáÕy?t¡†Ëòe^qv½àà£åZÞ}2ón®Ø“ÿö£¨ÈÞÞ`w>—ÇßÛçänƒoE»>¨¿ CVj­ë»‚Ë"»«B~Â¥)‹/ȺpqÏóq_wa°t:ÿåG Êúd‘éÅf”×·”n=úLJTµt¨Ð¿ØñìŸ]qÁ(ß?N¼Öˆ¾eSÜ18? µcÒ‚qî“ûC/WF!ÄÉ•‰¹8çnÍþ¶Oô*Úõ׎-Õ詼Ûôºí8œ±Ò¤ÍF‘†ÓcÎ\ó–@]ÕeöEèV×SRõh7N]hsgHH¾á?ùˆ1¾öÞÉKõõæètû€íɈNtÜZ<϶n :Ð>ÛùMÁ’´ÿàè-é¾ÇÖŸC»£³+‡Nÿ G̽¥<¼‡»Æ< ¿ÕŒ6Å_œ‘_ݎÂ]#¿,~†Öúö´­hÕ`ÞØ‚VYÖÁ ûd´L*¹*¯.àiñCòH?«‰h±Ê}¥OÔY4oé-ö,Ò’òCáõ;&¸,SiIï!¤ÙùQŸ:<}_Ë?üsŒ¯‹ˆ¦åǧŽÜ_£åNi}g9Ï!ô¾"Ž•öoÎåir qVÿu+-‡æ=›t„çà«ðß93´4v2ê¼\ÏÓøG îÛE¢ìçªm·“þ¥¥êí¿÷·M<¥ý-¿1³Ó2ÁrÙ•ðã<¾¿^ØxЈúQÃAWGÕ.JÐ’ê$¤„ú„ç\¼]îã du¿ºž">W×U'Q×û7§¾Ÿñü¬÷­‹hýë+\¾.D¾n‚z ë­éMhÈ÷ ¯ø¾ô#߯ԿÂ>×ô¿hŸö¿ÏûP¸O5ûW³¯yjö;Q˜–”7Bjòƒ§&W´¦z1I¹¤7©Þ/†>†:Þ“µ>Â<’µþ¢: ó[HaÝYù®oΚ÷ŒÜå=#÷uæ?c0çŽù s^è˜, sC_ŠæÐ«¢ o|Ñõe湡ÔÕ' êê?&uõ5kîJ]ûŽAÖ>Ö›¬|0¬ïÍߌ¬¼û}þï¨^×—Fê‹_OuŸ¾0iŸNõ¾4˜”úS3“rÍpªsÔ`RnÿjÒyõTÏY6_ñó½èúê]W=û…Ù‡:úš¹Otì;æ~fäƒ(yGßÍbª¿³E¤ïr-Õßí"Òw¾˜êsˆtŽS}î‘Î)bªÏ5LÒ¹ˆMõ¹ÊpªÏq/†>Ž÷d®“`=Yë/¬“¨®‚ºóý!èQŸQÿ±æ2k²æk®°òŸ™Ë‚¤{ ûžt¯£¥úÞ‡'Ý i©¾7âI÷JZR½ô¡{*é^‹Iº{iÔõ÷5d ïä¼ 'ò†@È+yF ïä!¼$§ò–@ÈkyN ï äA¼(pEÛ¶N8TäM<*Wò¬@ÞÈÃyY O äm<.¨ïÓ¥hò¼@ÞÈya O ä<2WòÌ@ÞÈCyi O ä­<6×òÜ@Þȃyq OäÍ<:Wòì@ÞÈÃyy Oäí<>×òü‰äù:—Ñ8 Rwave/data/noisywave.rda0000644000176200001440000016020512377701075015000 0ustar liggesusers‹,]e@Tk¥;veiv—.Q TÄ;€Øb ˆ ‚]ˆ­¨`·X¨(a`€‚"Ø|ƒ‰‚4ÒÝ oïÝ÷çOØË½÷›93sΙS<í<ÄÄÄ$Ä$%„ÿ•þVJø1q1)1yá¯ò›×oß³{ù®ÕÂ?¨ˆ‰ñÄPòQò™æµÖ(7qyé§dïÝPðååé­FÖ…î]Cö¡Ò‚5ÛÇ›P~Žk­ÖÒ&”{£`ý0ÙæfÅXÞ&í#~_™Lþiûò´ÅŸ_:zxÅ-¨[-jF©³^ÞWÍ ´õ¾“Ê^KÉÓæí˜:pž þ–ÿ<\² e&-:6eEÚÙά·ÝŒrãAË@²›|®‰{÷°U³i¯GÉh3RSw©íBìsR0.½mÍë(žô!üûqR²ø«ÆÓu¤Ç¿þÍ==ªÌ°fÝè41Òs=ªå^s-Šº~ëûâÒ?vþ¼…q–Tßé·î…åP‡³¿G’ŠÓj~_¦:)G?´»L}9ÔjmcOYí{’.{”äiˆOþ¸düÂGn;w‰¼{º#ø™Þ4R9¡dº¡{ˆŸ*Y½ïH)[1'«õáUWî÷ìË䯤pázåÒKîTUÄ-•ë†Ý ^\¥qs³=(äœå˜æ=£zgßÚ³j[»zŒ=5 ä:îdÍ™]29ýõmw¦o– ¥¡ŸÅÓ]Õc3Æ3—êiâë’~[±@y°ù(°nÊ>j¶Þê.‘ƒ~µsA±hjžÕ½(`;n©j«AP72º~â7HŽ¯Ý²5ÄÔj‚£ÍM‰R#ÞÕÀ Г֋ÜÖ J­ ÚßtpÜârʄؒ?Ÿ:›D è}4«ßLŠ¥îx|q'Èq~’ö>EUçÙ¤´IŽÍ¼Y4e©KíÛåwÂIŤõˆÕöYóíÉÐ@ÎöUûbIqOÚÜBùÒÉã˾8Bª•ŠŽ/lßâ«òv÷&ûT–­½¼Š´ž \l‘H—åýÞ8¥%7¶º®Hzx‰ÙOœ#HÅœˆÃÿLâIÿ‰–Ò³IçñìÒ°# ¤ó—M©²îVó¨¾Ã®ñ#dü-¿½Gõ'9I¶‰úñË×üÈá Ñ~+zfUªb?ê©;Õ5ÍíAÁAGªhŸù•™Qiwå}¤QMG#ÌneƒdÞ×þåc~Rä¹nÿ_yUªg^@…Ò#;*³øÒÇM!¯AúÉMý— 6_u~Ü!ª¢X=wÎ’¹TÏ ÎèMõWAaì«{¯P]Üi*Ïfn¤3g*¨ÎÙGuYý©‰^AZs6i—ü\L<¾M-=Ïߊ‘Û’7.§²r{ç½ZÔƒâ~ó]ȶ­$K¥tÓ¥àTÑj³ÛÒU¤™óIê½ÒN]ò_Bº³xà 客䥅©‚‘(õmÎÓ•¯_“†OÖKú ´I {Ãéó…(7EÇT·}?ipi~²Ç8žô,”Z¥–Á"™Üyn]!ž«ç_Úrš4JH-§U÷EȨþ£*¦ Ë261Eƒr0jøbÖ˜ú\ê×1¿l¤´1JóôR¤ÚbÞœêÑ$%—¼C»•kI9oͤý‹H·d´ü¯•^¤¯¤j§ÆAu*"÷´=©vX¿íÔr”èÜš™½ýUsRì¿„|¹ÀMܘõ$ >¬ž2dO2ÄYÑöíg¨‹+\7ïÌYÁ»ƒó›_Pýo½•8Bµ¸Ô®,š¾¤Gד\])¼ŸãêäNÕ±ænXZL ðØsl}Þ‚LÞi6Ü0¦Êzdo¸†Rs—¯5¢þ¯ÿ-±¥ƒîï÷Ì\@ Oÿ69H}>HÄŒÕošGuö9Ü(M¥õñÞ·Sd¨Š­F-×Q­7ïÿÙ>ù-Õ)תp=¹‹jwi¼rcä5ªŸŠÓ·(ÚFý™=Ÿ~²¤bôþëO.α¥ê»rfl§Dq–*i‘9ûòõgÒvÎÛÙµó éþ0~Ä”äZêg•wbt'é+°{j3F“t¨6+ŸI Zü…ÑoÜOÒ}ü¹/÷ÝÒ1w—ožðëbƒ{×ÿ#åæŸ#׬ ZßÙFå~ÿk–~MÚ–x^½¡Oúu׫©Íw ã…o–:ù7]ÁëGÎHÒÙ—šuë³)é»xNéÖ-Ò¾Nî‹I„!Y‘Tiñúß&ê«`ežf\=)3w[¿Ã“jiðÈÉxô“êð¿³üz U'w\qai±‹IÈŸT×—Q¦µ9(~a»Æ·‹~äþP–ÄÕıTÝ•“룟¢Ž¯¹Ù¨8ŠT%Ď설v•ÙçO¦ª¤k+ÞíIåü þíên2œÛm_°¼ åü¾·=›ˆâçÆ†\û¡A*4™8‚¬À|Û§¨p"{L”Î;Ò=Ï¥ÒÎÀ´éO˜™,‹Jsë» /£êÖ’õ?’ÞK[Óo'“¾ç‘=*¨þ¾ä¸ü}”´]TâY5 µöý;器…vS‰¸-rÆ®lT]±¥¯ÌØÎº–*›¶ø½±zƒÊ¯]~(#·`_ö™çñ¨âÕð+pAê:z•¥Wf¡Æªò«>Uø·~½x 5ZŽ\d‡ÚãcŸ7&"'ožgqõ}Tjw•¹á†ê^k ÚÜP;¦R²ßÞ•·MŒ¶GvÌÔK•cœæw[|j8WLÖž‡òO{M?×U¡?`ï(ƒcÂÏÛ“7FUìï:ô/!­£ß^˜|_%ÞoLòB =SEq åÛ,µ9ò¤õMìýW\eòkòG¿ÆCÑTæâ=+¯[Ÿ¡ZÙÕCÚ µ„u,H%OŒO)ôðÏ'Âê@Šs×ôÍ¢8).¼æôè(IðÞŽ·濇ãÈ­+Svs @óê.^ÓY6èë]ºc§>è^ïâè¿ ¸£3ºf÷ä‚VÞÝÔú/ #Þ嚺{Ïpf_óö«¹¦Oph.Ûþ/}'pËË„'å=ðÌ.JÞ1›žŽíRR óÜ=KÕª8SUægyÅ‚®_õ°çÄ… 3AaÈïÃyà<0?4ÿk7蟟{é­h5~°çç8'r§ûúÑQÂï/q¯u#hÍ“4q €jlµÅæÕê ·ú·º}½pÆ¡pŒµßïÛýR>>Ž_^nÖ’±vÕ‰ùTÿ{Ž0qܤj¢×Ù^vv±@‰‰þžÔ`ã_±Øî ÔÀ£Ú&×K¨–Ç&k¯]9G:kÇ—lú+N5ŸW¹ðvßT‚¾#é &UGwý¨ìªõŒ‰,ïè3’¹-¶Y&1ú³êˆ W»‡ôy2x€´Mœ½’´.ñ~SØOz7žZZùÜNV–O;±•ÞÞü]úÎ%Î8מ ïB™ÕqéîR§Pr`—ìGí(2|0ãC[˜Ï”ŽV (^îæñu"ª+Ì®aÚ!kÙô{§©U¨æeê«êÅBýÏ=ÇW¿ÞŒÚ££2´Ä‘•Þµhé‚jÔÕ(óË;Þ€z½‡ž9Ë*!ÿÔÁCjsQË´Œ³Äæ:ö—„ä&EþЛó RР"ìz¥Vò'³]rò/êö áªÂòR<¦ÙÚƒcƒ·‡nBÞÛwƒ¦#P÷ì!]—«Q‡ë¬•–„ü3]šÛìæ /j¯ùÔ ñÌBg4 Ñ*éÐ~ÿY_ðgèWÔ¶Xœ>uó<ä®Nz!Z‡M:±¿ANk·Ò9ȉšî¥XÉF–Æ·¹SÚPÕ“4ò1ª\(9ïß܈ÒÇïY~v¯FåjÙ²™Ž(}î^ÒÈŸ9TÉÇWÇ‘¼ÿqi›1óóSÅÂìSô˜C5$úî¿7Hˆ›eÍkm<¨ê Ö[k?'íKƒ<¹Ô×§_V r¨¢›š-aTÁ’ ¹¯IûŠ÷öÓ.×äa7‘7S]—=)£êóõ&4S剿Éy©TwåìE.æ;¨¾ìŽÃßúH°x‚äº s@RK¦mʼnÓÔðð@ÁÓÐj°PáYÙúI °¦w´q(¹­”°ÉµÊE!j—÷lß·qÚ×€}Â_°N>8¯åOrÞ ó€0XÚNÿ†Jÿê~}Ýõ>䧃¶{ÃIËä³À]ÿUøàû9Þ¸â¬Zg4—Èæ«Î†A‡–ùÍöí¯wo{´0ßtï IЛ›úw´8ð‹Þ,S=ø ôš3Þüß—Ö™L^ñâå5­ 3"v8=V ƒ¼"žÉÎoQSž} š~*f¥Í7€w9}Ô®¡ bvkÎa¸¬å½ë+¾®uU¦öý®€ciž 0X¨&߈ ·aúöqž!ÔЋOë­&}¢j …0®ã©ý>8âò:!^·ŒÜçU7Šj»¤'ŽUø".¦:fÞú{Ô»½Æ'gOÙO½ß9×~çKuòó÷™‚€ÃÔg—_Öåz‘±š~ÙΑ£N_šz4Œbò')»øeÝ«!”œ!üê‘¿É`hýQƒ— P¶ËU÷’dJmÕõ{r5Åû'»„Šy·*e£ºuñ¼çÅPFž²PxãŠb?v7ŒE™‰ƒa›ÛŸòÔ£ÒgKö’^í³R¾elª;x«ö´ŒÛÔ·)1‚ÉZ¨á?Ó¡lk$ÕÙÂà8ªåäã/ýÇ:¨ŠÁj¾b­3©ãŽø;\¤ÞhÎÞ¹$*óYybõåxª'Ôt¥·Ä·êµ/J¿Hu,¹è|Öe&UyvUnKãdªZ÷ÉÔŒ/–¤éÜÛ´O³2@ñ£e£úåQT·oàMC,ÕuiؤÒ?—ÄmÃê·“–’ŠÀ©+^—:B3§³ëåãI™ï‚M×c¨gG_*ë"Ôµ‘é7HðÔhDE ëÒgSÇÝI*gêüqÕ£Þï óWª„”]w¢`Ò¢+½ã¹¬$éÓ`ê~râCÂGÏSÒdèÖLŸ6£Ò¯°­.ßÌ Ûñöèͺ@ºMä¬;­BQz7É|ã2¸TÊùÈߟ¤óˆxp)µ…ÊŽß!|‘ÂI•ÙõèAÎ*éé‹[" ©¶IR_ÞÞ̦ê½cùÁ^TC¬Ò‰»~Qÿ¶5´É8O µKïê˜êQ©cxîq̧þæ·D§XÍ ºYc,öèeºr7$¨gée‘ï§~~ýXpAŠôíL ixRGµîp?×>gé\>ÄϸIzÄÍž 3©š–ùf†æ7R»ÎçÅF‡—¤Ö»ÉÑ·è/ùîœ(ÑmåŠ ñ#ÎHFÅ?¡|õdT˜Ø9ºÃÈ¥ïܾ¹ûÆFTåÔh…ë÷æ>S­‘­»nzJR"J³­wL"ƒONüµ·»‰*«–÷¶èC?ßQ+Q1uEëšRyd¿Ñižƒ²j={J&?YÞzÇPrñÀlˆÆ-*­cN£ì—qõn×4P%1rŒòœ4”8]_ …,ÇL_‰H‰ŸÓIûÙ(SºtêüöZ” Ô"Ó¡ô”Ÿ"Ÿ–#û±àèé&”—[ÑyíV+ªg…¤5;NDåX“DnsjKqéÊU ££S&²&ÕÒ 5k'Ô/QBù–ËNíb¡Vöê^ë¬PS±/ëú•u¨ñ]xù³…ù"çþy“Ûó‘½éjL”šr;×.Ú¯jnI-ÏŽ"{ƒû!{ût”ַéÏ­‘¨4Ç{ôí\dÝôËË^ÓÇUã,IÛ¨ašóæ>Õrðu¯Ž6Ç{A£ÿAȆõ ¦ ´qúœÝÀñÛÛ¦r/ gÏ„+m®ÀÞz§cMÀ7à|¸*ëXVœòÀ™ÂPšÇ§ÇTû§& õÀëVPs¦a¬+èÞ»£3«0>ýL¨Š+–Nz– ]|mÿJ³&Г%nñtµ‡)ÕR`­ÞwåöeÐ(׿Zû¦ØÇC.¬»¶Ô׋pšªD¼84ØçþV{œMõ›ßé¹fý äs?5¯èù‰r!‚¦†2ž?*¬s{˦=yý¯“oÿ¦úgOþ£r¤» æQ‰T‹Ãø¹Y1V \&÷¡½ÔÄo0}YÛ£üÁ^@õÝ2yô| $<…ðàÝ3û1õŠêgëë?pa8Œª¥ÛH[.Qƒ#ú &ǯé9Çi båŸwîè6±Ïµùs”Q]òQf .§†;õ¶ÎýI5õý‘Á[EµúÇey¿ ¤š›þr[A5×jNQ5:I*Ÿ[ê–´”« ü³Bí@â´·Í0¡†/àcÉü‡ Ùes8íë\‘xrDÍ,‰vˆT;è â±›µ/¹ «DÒæimÕï)zÒ~¢~‰’©ÄW9½ToÇ™»jKÿê5gL%ÐN^G•¼úÝžm ÈúÊ:øH $ÓŸ|¼+*×Eqª&}Bæò ±Åÿ8;÷:(Ì ïM³Ô¹­t#à 5È9>/õÕvP˜sdŽøÄK ·Ïý’‰â¦Óhp45üÝ}ž¼uÈs-SZ6ާzø™Š†Í Ý×ý[!{358#¼ó²ÿhª«3¢ælûvªÿØó#¹’A<_øØ.7Q# bß>M§JÚ‹¤Ý:¼HÔ4…CgB¼¨ô· 2µÃʤTÇëä«ùi¤Q˜U­GAù5û|u›Q91TÉz™ ²N¿pQˆc Ù‡“%Ž¡ªe^´æê[¨ÆžýÐd( %Î3Í6¢–ÇŽÌ•c£ò¯_kψ-D55óëû×!'öÕŒ3¢‘=íD¡0£ ZRJEÎàOTÞqðº£ûtÔ˜¾Ze÷E9Ô˜Íä ÔðF¿¹óQ£#à¼E¶*j•}0õ*¾‰¬­„_QCÅö’U¨a)L[º—s+«õa5r¼ffŒ²B]=áÿõâÏÌÝ«O£ÁÑ%ÕÁGPKÃÊhh?zõ ê5[V{c%ò¶=|~ýùk²NüÜ‼“šnå6¢À|`ÞtÍäw¸ý|`¼ ÿy§í2`þÈe¬<šV±§Û¸¢qÍðΫGÕШ8/YU×MgT‡‚‰«ø£¢é¡Í¦æ'’Ðh×”>iIhA¿®ÛÐp©ã:ðžˆ!8œ¸gòvœ3ùº‡Fg^3?õ·¯Ú÷(|& f(mÞ«è‹ü ñouÒË‘çð÷ü´‘€êü™s¬¬„8~ö°‹SÄHÔÈü\2ï0j®sŒø,†êË-çWðï ;Õ£|Õ¿c¨øÒ+g|œ6ÉKâÞ]¾ý%ÊÚ aæ|Ò—5³…èøíá¹rk©ê å{ŠH½–TþáË;© ¥¯÷,‹¥¤o]—¸QIõ]ˆ²:¢6”e=# Ͻ±ñí]/Aí‡îBí¥_@~Z\ðïGö æ9îÝ«PÐ. súu¤ôSíÛÏ,´nÐë §L}ÁÀGxÚvwëž ÷S÷þtºí7‡ZŽ3&ðÔÿ!„Ïu¨¯¶,ádr?n4%Ç7 Þ—D€¨Û›HʨùdÍñŽE½_X~„6£vೕ—û~¢º½=[ÅUX_³©­¨0õ#åê‡ ë÷ª¿_$ÄozǦ$Ãó¶Éyk‘V;-NÔ¾±¤wòö;«¿#m. ÃÄ>’MW™[דܠ¢»O3IûîÉÆC礼À²K6º`ÖOC}Òqêñ‡üïTó¶[Ð$“2ÕÅßf©QÃaOŠîÿìÛ’zum @C}Ï‹ý o­T«w.¤O•pþå Û~$Þ^²”÷Ñm¨HOªN >ý­æM£—BüC'¶l`]sPåw°NÎ_rGêØ¶¨}~x6ÈœßÂqÈ\ òÎ{Wn÷ÿ Ò¦¡uñ“A±9®*hw?H9)®Tuö ™˜ŠÂükïû¬qhˆ[jÌÝåGõ†Méüí±h0“ªbŽÅOy‘T ßÌúrb0UÏÝ5yfʪ÷„¼›· 5äw—pÔ¦Ïbc vŽS– ºê±âÔTÁˆãYŸ_†R-}ü•ƒ¼€=fÝ”3ÝßIº0:$¼é¤žÆ,7Ÿ 5‚¾›“§2c3õoö«†®ñbTïÃGú;½Ó©âøˆ”›'–“‡Ú§ê5ôQ/.Ѐ…¼x˜Ù%¾'ˆú{a§ÍÃc»©¡ZýpÝ=ùTëõˆÜ´þ,Ña𠏍~Çb| rß÷ê™üÚœ:·w¿Ç¤Ü¼cj™Û¸õß󙆠ñùÅ‘5VO@Íwuá@ýàZ|òûŒÀ¶X|ÊòB:èN}(ü‹Ta<õµbh zGzðw|½ /Àð§¤wƒþõù7îÏqâd´ ºüÉÁ®*C`´>]À[pnî«}/À¸OÚOݳ˜L¯L™&0ÚùëJ¼…˜_Y<îa¦¦—êùóè󟤂7ƒEÑü…Ç6¨iMmèðÖÕ ¨Õ6uJ´£š¬C:6‚ñïÝh9XF<ºÜÿÐÙYƒöƒþÂö1ÔíÇ ³Œ. 7€^[Ÿòî_@KŽûÊË ԚèÇ6 ØF[ŠÙ-™u+÷ýòê¦úG®,Ýkþ†zöÔí½TÛªSçs˜DÕ*Òã3Beä”(n}¸á¤å ”:³¸œ2ÎG•;tZÚŠjÛ˜<ŒLo[¿„*yL¾F5Ó½ª®¾EíKýö.+­QKu¹±ìTWäjo›æ:¾u½"ê·˜¢ÞIŸìÏ›ØhPä;aÖ> ä¦Î8œ{a'òt~Ýž²RùëÇïùÈž„¼±oh‚gÌûŽú›¿_lKFCÞ†Ž Q'PpïåëϬïhlÙœ=>3N7œ|]ËÐäÌx¹£òˆü¢ûʆwF#_üúà[4Ê*NZàƒ†b¢9”Á )ÙAzÈß>6kÆ¿yÈÿ£¡i¿§ù—/ÝgÏ_ŽÆ[š=V#ÿÙãªÅ/ÝÐà~Ź„QgÐèŒî̸…† ¶I¿FI£nOåäÄë]¨ým¢Ü„S«‘K•žj~‹lo«××o£Ô„,²ˆ#jÏ®ZžWBÉuÇ鄊,Ö¥ü5ã]Pféa£±çG ø„ÑK½g‘b½-yERtfḗ½OIYä)y‰qªd@¿}¤r%A·C»/SíWÍXô|-ÕÑÀôéIýA¹“AG©á3M^oU&P=»g<þÒœ*:fÿN:ÞŸj—žl³b|©S½nÉÑÇTËæX÷?PGÚωɭÜOzŽ;eoJÕߺ5Æ3Oþ(7šŸ©–"­í{vøÛPí¢U¯B¿Þ£¨º³Â2tg;i:rql|()¿,ê;þŽ—|"LŸ´][x*<#‡tä« ÿ;R~`¿LYx(©ß3ô5R§ÅìèžË$(õé7’öç…4$ÝJûU]¹äéü»ö!sæTÎ6O¥‘Hî¬Ñ=÷’69¾ÿò–(û¶QqdÒ#Ò7QTÇõ->Á~šoE!CÛð&íöø® ¸Ku?Y¸uëÒUÔ ÝUž=†ê-³Ù=êü'ª…E7LSôqYXMu%Øn{¾à0ˆqDýQñ¦ê:çºe0êR×û B\ÉÌA±ÊaÝé‚Ë ´£rîÞÐ0P ï6Sß fi“¬›àŠÊ ß¿¾ ç–ëÚß?—ÓÕ-î_¬ Â¡ ”GoeýsÏ5m¦ñJ¢layˆá¶Ì'‰Å s…EwAAó:|Ì¥û{­¾p@þSð x#¬c³E8Ma“hŽÂ¾ß½· VÛ,4ø–ÑEßa•zÄÒ?ýl ¨y3óE‹PÙî7£4cmN잪¹*›Gœ‘âån×l[ͱó i3]¼{¾4(ÈØÈ›#¬Ãß<+ª°bçÑÒ.g0MíŸ*\¢á¿ éîɪÔxoKZŒ˜ÆÉy·7êg<lV›ä€’:©³×(ðH¢ûóg}—IËÌÃO}‘"ÿÚZ>Z®¥*®X)lþteS>$}¸Iº›¦Ö»Sßè×É7žÊ}ôÉANý;ÕùlcÏ®ˆ¤qmË#þ}ªeœkô7¾¯½áÏÏ&€D“Jò~ó-T›_·»R#ÕsI4¿’{"º/ÉG¯yåL ÍNnjA¹zœTÄw;)ÞÆùÇAê6Ý– ñ ÇFŸž’°ûäÝ%,P:øÙo¿Ó ØK^¥üyž—°ðâ–Ųޓ5ƃÚê…ý¹ ¨¡©rþÝ9LX´nd§eì––Ù ñTû£{ŸºÓvQ­aËxS?¯±M ÏŠ*ß>ç'i êÉSïÅ“cAºàÝY /­.çCàUrH‡º¤·áûD“+oIën…üŠIk|Eû’áy(µýæå®›Hc¸”ô {ïFå+ê½(F&Ÿ|pê'ʹ Ãì̇Ȧ„¨Yú*w'ªžY5„jâ¢~‹HʶMúŠêço÷¼k@COQ}­'š¿¡ÖØ/ù½Ò‘ów =yGÝõ/¿Ÿ“óGn =¾‘@£Y•îqs¢Áéµ7êX"Oþµ®¶_òZ¼¶œ+A½c&µ—cQïfH©v‚ðW;«ñ›Ž¢æ¦¢êtIwÔöÚ)ùRw5ê¦Ó³rÝ¢ÓÎ}²Dá#'+x÷ÊqÈœnOyh€êv:#nF]GÑÜM!î¯éÆ»—‘%¿¬l\µ>ªÿÍ×ýå#…éÖü Êmµ¢0(w%-U‡m„¬ f.‰ÊÕãï$íwCö Öyç¡”õÛ±jQ]ŠïzHPüŠR]Pî ÓïA Åukk¦Q÷ú:=éêEé[ ¶ËIkO•ðÈ’¿ |Ö@ÉЭKW>1A©&~’Ỿ<Ÿà‰²¾×ݧÅNwîú‡l2x¥ptX±8ÊèÈ‘÷‚¹¤ù¶*Í€#¹tõ²½„ }aæõ¢ˆTÐh~áiêÇ‚’o& ¢¨¬Lÿ–j˜W6âp´Uû§t¶ôEyv“ÉTÙçÖ‘KV‚Äųb#Œ,@ÜúAdZ+58¢neò‰PINr³’™ ò?ìýˆÏPµ?ü·½eÔ84/´L–mLã¿Μ¾ã:઩Ôdª.Í¢>«¶Ú‚SÕsmÁ@e­ŠµÚÐÙÃðw@‹Ú’ˆÜÏ µdUÍ‹%`àü@lÕß ??0q‹ÔNÐÓ0äÛì¶C¯tïuÒw€Wµ%u´CèF‰ð+Ó'þ¤&n”m2xôQ?"Vów% ÿ÷ Y- ï …ÿÞ½qÁ`'–Ü]}ohm£Ëcqà)<à 8„Ê" Ð^'¼ ‡SÀfèY µ\mX#AÍ9®—Íм{æù“/€õiäÏì_Aå–ì—Y>?€ó¤gú¾ëÙ C7òÚ =`O˜®–2=Tt¾Z‘<¨K3õ(ºŠ/å]œF•døT y°Úûã¬Njx½Õ¤q›¨¦)æs*8 ù%xÙ„­T[î‚°ý'j@qÕjÃÉ'’Ž­Ç—ŸxªAµŸ• è]D8[ øUªê𵘅‡IÕbÅgo‘ænåš®ŸÃTuß6þÑÓiTO¾ÕÁÒS-¤uÚìóý§M©–o5Þg¦Siº–f­É¡Tçn·ú.¤®šÏ4žI¥ÏÛ5Q[,„ú·•ø’TC•3¹6òŸ°Î•21B~=Ž\îHuvÜì ˆ;F†&>æÐô‘Ô›­_ÝiæKZži»ËK?º„ ™$ oX%)¹ùlÁOÉ(·»Ì.iYùH}5¢IïÌ™ÒÅç/‘¼Ð‰s›þ"Ãg­.ñŶ•­Ÿ$ù%LÌtÓß”’š†±ÓJׯ@¹¾·:§7¢ØÔ›k~oO@¥ÍY1–Ñ—É ü}9·Ã¨ô Éõó©”ó1½ïÛ8÷c(·ÿK‰åé¢Dù­ýz•ÉÊ5y¤eIŽð ì’i·7‘~r{A‰1¢yY›’h®®Xµñî¥/‘dø&]6ÏCéÂ2иY|ºŒ’C©@a˜ÛøUâ‹G×È äWê£Ãds}žø½ê?Êå5¢2‹©OPåÍL£ Ø€Êúñù»†Ißqv«"Òþˆ¦O.AEq9Ç·F£PâDXíÕQ¶(æâ£ÖàO†Ìú'ÅëÞŸ])öI{½0Ýo«&mWÓýG N!}lÈ2’(¦F5Y_«D±ßg«Š[I2Ý–”£¤ì½eÓIG*3ÿ&Uñ‹<ù®Èaæ ¤î0SÇ>¦®Eñóæ'üxKrO\z‘7C‚´(ÑôW2üZ”wªô ¬¼x%$wí1÷ò?¤îØ@IÅÜ4Òr:€ff’–Ö?ÂÀ¼žtÉ~›ûY¥×ܨ¡”OúõÂQë<ªœ¬‰{€jG JØ×„Ï©H˜ž6£j—ìXåœ9SŠ”W V&PQÏœáÉ¢îE“6SQ7GI7l¬^P»ù:y&ê)0ñQ˜άL¸:Îõ•W¿Œ@=ÃÑb%³ç£æ«„¦\ÔyD·/UQGXtóÏ6£Æ)ŽUÞeóD9‘¬­*ƒjJZ#¾5Å ëCœEùÜC¯ï…¡’¢þÜ›†ÇPÁrþÒÚÊr¯˜(ŒT(ûçåvaE€bÀ{Bù^Ò=ÓdAd©4éÞ¡`¾»Étob~òkl«°Åƒ´™U„»’*ÝÁîÉS¤åŸ·…nˆ#é é@ãz¨üßÚ¦…‘¤ãT_jVH8ìòôS§>?W¿¶rüsª¥wÎeÙ“ËA<£l¡‹Ûhòu…ÌÑE“»AY5xÅF[#l¡ËF?`» ߆ÉÏ»ù¶™LŽ ° ~‘²´ˆð‹ÖïyÍÅ ·~ÖÆ®s:^-㨨Ž\aÜ.~@0A¯/õ|pÍ0»ëð\q,h×¶è ˜‚s¶)£ãþo‘䨊û…ÀJ7„÷|DaÒ­"xÿ^öÂu?ðýý :¿½ü{‚•y –'7WÜþL† <>N1wccÉdôqŒü>³áìR¼ÞZξëþÐYšA°ÙîÝûM?AwcHÿ¼>÷Ç=·¾Iz×µÀQÀ×X}¸fñ&à‡Î×þ4øöÂ0õáè/f' Ýw¿äÏë3`KÕ­@o§såâeÐzûç}söÐ7¡? tV˜ý2.½FzL7tͰíx½ô?‹øôJÄÃÓ9+âóéU‹â¶Îu:ü/†[šáŸA—S3W~ÁyÐlŽwœy8»–nqYÖ\ŸÁãMµ[t}*=wl§„Z‚„wƒñ¡š¯ ?‰‰[ÔàsáÛn”IU³˜¾3ix÷ñØc›ïTq ÓwAq[¦±E¥_`æW(¦”î.u2 %oˆ eªnMV¨]§‚,û•ºž³t‘;GwÄ’øHä|y¾{S%ª_ÖŽü7nj”¼c ‘‚º‘L?ùOf'½/¬ÿ 7‰=÷ªBÑ{ˆ¼ÄOœék¢Q õvŸkë~4*gò5ò2Gþ½‰&N‡~gtÍAÁ˜¹›Îh<þœ§^÷ 4 Dš@„&uëf·lGc‰×ûB·üA£Ý‡éoÕ$&òÜÑ8ÛÕõHÀyÖ¨ž†¼_YÑ=qh>ÿä»#h´¼ã‚ߘ4jö›`òfò¦±^Ì)E>òª,®˜ aÃCýc”­Ç£~ÏšïßD^Òyšè‡†KöõÍ^ž‡úšW+OÙu ö{ 79óVCåVÔ{™[jêZ‰šrÍoT–­C͘´vj-̲>a0Mˆ½¿=KD¢¿qw–_GÍÑ×è 5O;ÿ°Ùp“ôï8- ý„*çï |­»ré Ÿ–ôÏy'|SPºsäô[f©ª-NSu7M¡M.M£n2íè¤&ø÷£q‘ Ù3Žß7 ¬ݻޯ¿¹$zÊ$¼8ú¯å­ ªÿ£Î|È”#‡÷|qî6ˆúaêÁ3ÒÚz@MCöGnh0¸t"êb²Ö:öþÚçõ)àª_=»3¢ Ò®‰úÇC¤wŒ üònz+¾bú 0ž-üAW/yþlA“3$Åû¯OŠí™Ñ¹‹Þ~nõRÙµ¿Ý@ëçâ%ñÉýš€õ`ͬ–Mûv‹Ó©S½ázÙ™ [®•öü(({m[{êÔñ‰—%Â:ŸiŸï§Š5äoÃ¨é ¯™el|{7õ¡éùRm!´ÀâõOúUÍǽZTǤ~ÿô©!͘(µ%‘TÍ5FW@•M Ã· Õ5zmT¯¼?)šS]ç{ä;U}-rºÞÛ†tU´Í9ŸóªÈñ áÕ°øà“qr™ 7öfƓᥠ:ðþÒÙªªãcyûÁ”Aj@é‘]ÛXëjm݉9µÃÂÌr»å_Œ¯Ê±=æ^õ~‚|ûÉ$žl1Èøìôþ¿Øqž±q¨œºõÐÓXÛGλsضÌùöIfî,Œ ˆlùšñ™ê‡7‚n,=¨ja3Lj½îâušëf‚~Óꔨ׆ `¯ÉÞi…ÎÁi…K¯‡‚Ñæ~ƒI+Ãã…]/^€±|˜+—€±Á6»Ù‡×€ijâÌ)ŸÀxé–zã˜`&gRæ U¦.§ÅŠeÿ€Ë³b{0ÑfOŒAÂß½n{_€©jìÎU#­À8¨wï£Ty0>Ã<à]ï{µ™ß fóº¦Ö¶ÞÃï’-­ ²‰n|ž]ÔšI;AwÇNß¡MK@_ö˹=ªAÝ4V£74Ò¯òÖ-%…­ž£Z[±Â0þKhJÚ™~xej¡LŸTüEySbɃô:ÉÉÔ  ÖEý±Ýý›¾ä† {"€ÚS+ÝqﬨöûÙ^¾Ÿ«A2J/§÷æªõýÏg‚Œë×;³£>P­´jaù~”é¨:fîK†®…<þøõ+i×yQ´—¼FÈлŸ†¬KtÛl<ê\eø~¨±F”µnÓ4’1¨“¦þ[7|-ò²ñæ¤ryØNNp«AÞ+iï“—.¢ ²j8¨OßÍåTÉBÞÈqb›”g¢‰îý°“|4îøàà~É-®&{Ý84­ ]e„ˆ -v.´;îðM‚îø¬}m„–5Ï[ÿ=G˦NB›iÚóFLD‹½ƒìñã Í˜º™g8spÄÒ8!°z‚#ãË ö)¢õtº0¼„Ö~V5o5o¢,=¹)k#Ž\<Íî@Z4×ÿ†¡¤±<9Û-¾&Õz¦£Å¥´zÅýcÑZïú/ÞäUh£¢™Æ1BëŽñÓP´™¤ääQ¾m¤ôôý{Ð,å'-dA«ó¿ç´Ì)D«­ú%öžKÑü¬gÝþÒ4¯¯ýrLÓÍïº'OŠ~Žã‹ÖíBœÐum,çt‹¯]1¯Ðx&-Dó@Ó½K&ÚôŽGÃÚ¹-ÞýÈÃ˧}PF>ïÕëkMÂxV{2¼ó2 ÛÕsQw%Mƒb¡ŽgûÄujÈ5HŸ­"â|SžÉ„(͇”k([_ëì¶Ä%‡©?ön"Í÷V®É½@úl˜¾éš¿zÎòg·©O™•ƒ‹T¨‚ågÊ3[ÔeúöHôJ³µs4Gƒúš„üùÔ9`¹öþ]xî'hœÒ>öêƒ4¥å.+Aàüeò—‹±Àß²z;ß÷ï ö’Mt£éõJVïSo?™_Ù×aÄx† –L»‡VOùp`3ØŠß®îê `“Ìô3ÁƉ™€mõªÇÃ!Ö0"Œl{ÀÆ0}í å V3ml+Ú½À:=I*íG›ß`s³kÉ9VØh&e¯ø0,"Œo¨OÒË©šóîú8ƒ¹MêݽÖ`a>+ªÆy˜ å=-ö™ f/E¸ÞrÜ»Ž÷Iz`òp¯D¿$˜ÎcT`§»óþl0Y¥2þ~õD0[¾ìÊ‹³`ì;¯bÚŠ+`üeÙ‡‚¤À™¹½¯/-o7œÚh :S˜÷x‰ ?¦^aÞÙ;ïÙÇk@ï&Ãï½€•÷RÓä'p~’9Áô¢ž8èo¸é¡´ô^2q4JLŽˆMá)Ÿ0 8>Ç·Í}©Ûͦzõ´<éÊvÐtpY°Úì6¨¿=Û'æ.h|ñ¯e¬…åøÛË V¼ÒuF²5(+JÅúmÜRª1œ%OI6w‚¬å»Šþwû@ëÚâø:Çn^Åð˜@Ž¢iBF ®±n`‚̈µV#µË#¶„z R‡²‹V–¢ò LŽt¤US½æß>>ÿµÄÕØ‹.P?¼ó§éΙ÷MŸl¯gø¤ÅUrÇð1Tp£…›(vˆÉ7¨2¢üضëP£ãÌÖ‹uî(½yÚH˜‡ìIÖ·4Q©€yQí@ÓÏ‹ëýƒÑç!W¤[FMS—ü=›‘ÓVûãE65kEz ­]m÷î®ÏEödÒ þª5Úw]´¹|5fÞÖÙî†úýKnÄÈk ëà»– ÝcP›Ëô¡ã{îÜ›¨ûf[ð`ømÔ±h|9X›ÎXºÎ©AC‘®G-‡7ý)ò¿”г‡¼<ÎÂþB4È™E [ÐØAÆ÷Jh:š\=”’ Ѩ}¤ ÉÒëÃòh–þùÔ¦¸8ØœßÊ…Æ'™y"h½[c¶w_pñË'Ô»+¬¦í÷ÖõDÔ5äÏöáùWC×°¸>_õ¿^Y[øÔùʱcÓ÷ ?™Ñà o•ðÂÝP!ðñü$¬B}) ô·×%®F£S¢ù¦`üIíæ+sѸžÛ\úS cÓ\\3šÐè‰î&—_Pà0&$åt*p£l“~¡É®stVË ?(Nrx½8<{Eü¨ÃõÚ7QGåzÌˆß Pãñzù'9QóñŒË'4QOžD!ë¯kéó2á¯WÜž:ö£ò ê½ó[(™âί’Ì!¯³Ÿíðn#³Êê% P¢™¯‘ÏËV®¸W}Œªã úþ|w'y?™óI5§Ûž«¨ŽÊH«‡™]TKÑÅâwIùTk ·:h5<“ÑåÔh›Né_} ¢2[¹óŒ<5ÐýaÞìéO@2qÊü,oÿ•­®fµä_Šê]µñòŠNûoƒÒ¥41‹Ö §ä´còU{BÓ8%@mÛŒeÜŠÙ °Ù²ô€×aè+AjJÄë½É̈êßèë«h¾ä4>l˜âò)ô¸Ø d3l:m*¬“4!X_> A4pµì:ÀóW¯£ç€Æƒ#à/V¥¡ð}­µ`X±›VÖƒöQ!6â© 0”“”D0z¶rÙàö=t{ŒsMÏÚV^OÚÖu=5ÀÍ ]ûøÓ•Fž¯ûF›ž7>ëZ&ÇÒãg¦`^)ÝÑ“:*–õz›‘´…J_ÀXCXKÌÓt‘ÞOÐÃø€qrÿìIZI`¬¸dì€Ã\w^n*ø- ÿ V1Çs >ÎSõ*sê¢$Õñr#§çüWª=hË\Gê‰Nµ’úèWTÓ» ZÕ‹/Q‰÷n¢"ö“ò’]Îû÷/ UÛ†3‹reHG…ZGÆLÒ¡þí¥áÕÒü‚>˜TÖÆuAÛvTäíɪäîe¶NÌ!(e8Ô¼ì ²âvNÞr€‹ÊÕ6:õŽ™(¾g3¿ë[:J·Þt¬A >¿ÃÊgÒ2FU”Å;¹êußmX‚rG„haëdí–/¨fAOîQÚIXŽëFV j‘&§ÕÚ7=Ø+kƒª EüWv¡ý±ƒ ·Q™s¹mCƒ,ª­VÌÛçñÙ›iàDTÿÒ°à.ûjÚQYˆ¬´ÛVã/6£¡Ã_@Þ_f®‰¼qÝ“” ¿"ÏSX¦Þ EÌpZ8…¼T):"”úò¢Kuhðvãéõ‹F oØø#ßòŸEé]ägÆíÙ2b š:^uêšr¦Íÿ†¿îAž›û±ó™7Ð`ç»Ë3﫞¦™ hrا±µ [Ž[5 QW1V’ AC[ç¢äß§å¢<Ô)ªCõ—ޟ県|Gƒ«¦ î;†p…¼ˆõ§ŸgŸD½´<Äõ£¾ûïÝ?|¬F£ÚØÌG!†È71Ý!§zyÞìß_3ÑHÅŒ>؃üºÇ\¡~È­#ò•KQkõ¾#…7·£žwͰÝÞû¨ûÐoä{*õ[®)ó¶¢ö¼#÷8?#{ÜpxÏÔ xï¸QŒÚoCnf™#Ûï=aAe£™â±™±¨”pBù® J4³»òXTÍÅ[Òî7ßzfC^Ì:|†­S@õ‰¦ŒT·Ø¿«ñÀöZp`E°g…ÐJCª+ÃÎþTÂWÊ–Õ?Žé|¥PÙ¾(PZ%©q|W0hýÛãµ[4Ò¶6¼[:—ýBn/ÅTÑúp#8%y+¼>qú†€~~©ßдëÀ+É]±@*ô¯yÒ„iFO†¶Ét ø&?œW.ÎIöí`<‘¦¯mž=ÏùJLý\Q`yŒçˆ]üÑ•&> _¦ôd€I¡sã›%%À£/ÓLö¥|‹=åfßkûÞEƒQÀíïrc0K°V˜)]ûè²o3˜æŠêA -Æÿ̪háÓ90~“áv|˜ä<Þ©• I¦_f·D<3“ÝÚÊ\ê%Gƒs~‡À¬Ù×mÊȧ`¼û’Ư;`tt3Ûö·5˜Ì£iT`#þöÚm#Ð×™áˆÀ“é²uVNóOw· öÜå^e?QûØ&{aåŒz²žZÂŒŒœ·=óþrî¡ÖÜ«”oqB}q¢Åç½T9=^MuдÀ¼AjÐBîöê–.jø§•ÌdÙ; î2öüétr†…Q½ ëòÀ¯èÕ#P«×Ý“/ß’¹Ì×ì#nB×ã­ ú?Ÿ„µõ#Íp¹Îx‹9¹F œßñ{¿:膯*]¸^4'©ºr—O5;NâœäþIö Vs3½y å5wŠBëÐj9¬v4æ)4^ÿçW’Ðú Ú#i™‹è½ûF+tse 0DÓ‹œÁ`Ć]W}€6[Ä#×½¶»ÉÍ48®Œñ„YçføºöX9a* —ƒ)ƒb[A÷“ÈG»Ø‡6¬µÃœóAíó@gúåÉ,9Ðíú4+Cq#p¾½óù(¶xz'–¯h] úÑAæ3¾›€Ag›«õ’~aÜzp`|½$püèô:4Eóeàþ??Q{ÚuÁ¦8«ÕÎmÑÇ[ŒA²2÷»Í…¥ .-D Þ/AÝÊQöˬeT—Eî˜…É ~rEF^Ëgª‘¡El¥z nt¾¶*¥þ)eÓFU¤MÖZe߇4ªjÓrë ï5É)­K;Þn ƒ&>z¿Z¢¢éȆQšF(¶Ïs–NÂQ”}rí:Y2tWù?•tŽEV÷éwã¥Ü‘«5­sw6*ÒSV1}TþûdœÜ¯“¨´›y¡Pýö¾gCŸ6!÷æÇæ¯Qk›&U¼: Ü—F¬9:Ï7—$Ù çüÎü¨–ÔŠy=cÒÉ4(|äi“r¹~ƒ©Ë—!êi)%¾ÿ u·?iº²c+jyÙþì»» 5—ý˜<êR7jI/Õ8_€¼‰tyµ kgÚ¼Šõ) šouNoÈG¾fu•MZš*º± ¿…¡‰ÃÏB~Ia9£éÚ™¯Ç(‚îïôA@^Ñ›÷ÂJ Z¶þ‘…Fp¨÷ü49þ6Z:â r_ÑFhÓe{ó^ òw$½?÷7òCß´í:‡‚D‘>Ñȱ|½æU4›ÏÓºëðMM:¢Í¬¯ Ñ’Å´ÑòlL¦*ÄÌFÁÂÐxœ}F˜¯}”0Ïïi’¸¿ùüÓó,_ä>ŒÞU׌ÓXt‚EM¹–¥È©QɈ /C®ˆg*cO LûŽr—5è7UgÃ÷ãt2d#íDsˆA×'¾}áä¶+=x8Jµœý³2ÄVèó»©a‹CÂLFõüí¦Å Ë ß~n“&(µk Ì›ÎVîÞ-r1×€óõÔƒÕ* "±LýéÙ8Pèþç)™®¬  hú4—½øžøETM…ÕýòZЛöþXÏcàÜY®n÷@ß–áqNà{áïý>Ú&gð˜Æ¿Í7M¬.ÞY0zi¾Ÿ§‚«ÏdÝ€I&±ù» ,¦ÑÈW˜'þ˜^<2^çMÔ™f .¤;;^ëñ·Z¹#ZÁ⣠k¹SÍÏU€µî³åqv`Ý)ª¬æºÚÓ6,›o?ž|Q ¬î¦ˆ/nKÞÌ^ÁU0 (8µ- ¬,E¼$ËI´yç ”É‘Yl öé?î+ƒñâ»wÏ_-ãû%=Ó÷Ý£¼ l§± ÁhJOÏÝÔÜeúÀ{ÂèS@·œ6\“<š^áºÞã…åènÞ¨c9ç)hÛ–Nûmœ›/K½ëÎDÿ¨I³€v°u~µ;hž aV¨OcøÃÀ5[ò×@ 6‰â¤Æf,‡9ÂÌ R2¼Ø­vÛ€´Wýý» ü#üÈ¢UÉ åâÞý3Ÿ ÒçžÕ¤û<Ôÿ.õwÒÇ8ÿ‚NÒzLÊ;Þ"ß¿ýÿV%Ð Ndñ§œHS"ÈvéÁ´dDxVSMäã ŸÍ̯kÁ[et fìm,ªNGƒÌ¦Æ“RÝÈÝÎø(¡à¥žnæû½Lßù/·™4²äÉé›h¨Üù­-<äôí\ÛAäÿ.ØvÿÝ Ô¡Ë„÷Qhpq;ṁ‚-û§®xƒzEZI±q(HU KÐxñ¶¹ž#ꟈ+ŸõZuûG½×®_…†k/T(´ÿz£u\DóUí¤0·Õ)Ѩãu:kä«"4,êÕ±{jƒ7'÷U_œ…¼½B#ïŒ<Ó”½}ÛÈí§#òb+ò0Ârœ}Y´HLµ²ÿ}uÎþ<1B {õ¹!¿ìjG½hæ½Fýà ¿5cé6ÎÔfêGÔ˜i©påèxÔ¼\¼mÜ'TO]Ft¢Š}séOÅP3¤ÇP®¨¾›Ñߣj7c܆rïéñš0<þAìQìn¢cüÙÏ¢o—rë˜弘€ ¹zaªû"Pi©²õøM¶(ÞÍ̤tÈIR U겊žNõEY»ßNÞFTõØcßNP]Zk–IÔ]¥Šhzèª'TÕ¦O²´˜þ-i,{²%uô$*#yhDÀƒ…¤ƒc¹’B¬ÎÂW¿¨ÜÀÊõÔ·ÏtA¡K5¬ö§‰(~€éSßf§<ç@qù™4Á—ªNR6—‰ŸFºBn; Ÿ:OjÆ?•«MÚØ+Ç„¤œ!]IññG/[*¦=!Iúü'쉘žô±=µõßµ IîsFwB½8ô°ä´ƒÉ.¸¶vöÕTÛ&AR=»Vk*瑲ÅënFŸþCžÁ½l×f6:¾Ädì×èuÀ¨Í •”$DPë@Ì—– ®Å‹>3}ÚŒAq=- ª£ì9 ìºXzr Ê*#¿Ý1-•Ƥ~^=Tºz$Õ?um¯ò­ÝÀ¹ÊðG©aí¼Ã¯ÇLŽ‹(@!¶õÞ7‹# Kw§ÔT€=íÀ²G ÎÀÚ,ññϲ©TSø¬¤ÒîAP_Ëø€ÜªÃâ÷#AÁ©M-w»6U!9—&‚\³ðîpçüˆ ÿCó`t§Tц'ÒÞõ'‚äÎÐt½ JjàüÅøgþRÍA _êÞ<%ÔâĪëMþ·r¶Õc½}æÐjªë>TP\SiûwPÈlù0[ç4(eÚŒá-_ñé_Ù×gÔƒLXU·ÎQÀ~æÚùøê}P3,ðßAiy½³D~Èç±ÞÍÞ'q‘/§cäÓÀÄ-Àz.Ò(õnh_ì±qùÐà1:Ð’§ÃöDÐ(–Òûdwtv‰ÑFcÀº=vDRg+¨ÈéÝÜš¡'íg¥=öçítÅ×î/ÿ½ÜéîÓî% ƒªsUÝÑ)ÀÚÃøŠ€Ú‘?º–fmÂH˜|AiŒåÃî¤xjpäâY°e4¨ö3üdPaufçÇ ß[Ö~ïÀ#Pu™ïùÒ¬ê^µ6eÑÄO Ú&º j&/f<þ f ‰¡Wë3_ ×BúÁ‚ØÝßÄv‘'5´çëÜõß"…8ÔTu™S¨½ñ TSÓ}¯8 *kGÙ'l©¨áXð$ïI¬» ´d^&n‘ÚQbú§ ^uzL+uöùIyª«äcµ‰ã}P,* ûåâ²´Á`HßçÕy»SUÿ¿o2'^ ¾³¦ºö,–lûýŒž×§†þ÷ái“§máA¾ð¤²—÷Uª úêþ'÷§ƒ´Å@{‘ô\ª/]wëÎsRcÙKdI9=ÝŸ+N%ÿÒSŠK mC;ߺ¢\ö ëùa·Qú]ñS^D²oÒmW”'…Y}Ê(©sA²é¶rM˜º¹öÂÂιþþìhµ1Èm×ï^þ=9ã-2ŠG‘—ÃÔY¨[eìÑísF„ïk­©æ¡ìŒ_gg#ïÆ ‰çhô~_ëÀ~!$²¡Fh5ÈyÌ ¨@³} Šºo;ÑLuãlÝ]h1ÿíèžEl´ØÂøk¢Õ§+[xhýbGY]„V]ч·UÝGk·}4Q-r®Ñ.´\Ÿò4X³Í÷¡™¬hÞ_Ù¿µ? m‚öÌ x¥‹V[®ø+o^ˆÖ*!—oxx¢Ã±ó™×ß ið”ïeõÎh™Ó«)|sÑB]ð«ÒÏM‹ôO¦e_¾Ú)_G^’ë½Ñdôè…©‚(Ðñß wѶf»Qsºˆ?Ï»2ïÁ¹á Ôæ- +zÔN¹Ò÷à%ªšDNôD ™yËV"kbÅÕ¨è âÙË*Óƒ”Œ¼E76Pò<ëaøfªÅÙéCó“=T­ØÖ #? oßw–Ò¢®×Î|šÝ¬ÅîÕ²e»@¯„&”»ƒš/3‡åó“§ž‰›ú²Kg~š KïÁ€±5ZœWÊŒyݽZÕ?|ýÐfS 0²­Zà0 Rjã½ï€ñ°°lu½çÞÑf0ЏæqgïG0v*ßhÙ }ß7ó÷NÁ¤¹:ÚÇ^ƒIm  z'i!å[àÙ­Ã>xxSãŽI¯3~Þ¥“IÁ Z¯÷uÕŠC »GäG"ý”1î…¸í±_§É›;`W_œ¢ù4û«­Õšda½òs”2‘^œ®ü(qKP«?èån÷ÔW‹t¨ºÿû hýMöX÷~9h}.ëÞõ 4?‰ò g%ã“ ì}n…¶k A¶¸E캬ùÃç°Ø•»N~ÓzGu& «çÙ¥ ÆsÆîÁ7ªÃ¨s[‰K•UÙ®r°óiÞÎôICn|cW*¯üE¢.û¡‚)MkF‰Äwš»V) Š=Æœ‚ê?6¿3s\Š*FÂp½©5½t.Y8²PíßLž?mlu y—CÛŠ„¸vÓìÑIPÿã†F"ÿ´ ÐÆ)hl½Gñȵ`4‰¸2j‘’ð|Ë2çM_ľ<¤òDŸNTßx² mxñ·[¼Ð,V˜my~hSupM éDÜi¦:ùéTľCPïG@‹óŸïãv>A ¾iýYÛÿ à^hì¹swÑìéo£¡òoÈW»`²?Ÿ›^ÿüöÛ2º^4KË@ŒÐȵ«ð²j#osñ¸Zy MT+&óÒÑHäN: àÚÏ®m/ á]†€‚Û" ­~Ž‹÷¬BžãOˆz¾ãW}_Š ÏD¼ æÛFñ¼'/U2î#{ñž˜$EUÒ1éêI—2Òw@rKú—d ‚Ñ{QÝë}„~žª;>jöC“a³¢a‚ÈŒ`|xA߲Êõ Æ„ç¥Ày¾@ˆ`}»yäÝŠ=/@}éôÇMoÆ7….‹MAk,ü¬íà zsßßX˜åeî_Yô÷¼ùŠðÿgÐOà.Lð­f!üÑøF·™º4&—Ñ„ Ð`æC ÷hçÉæ.Õdžê™ÊÌ@fÂÈåF ò¨ú"-T¦ÚÍí>y—4 ³’ÓI{ªkŸM`G±? –º?Ÿñ7£ÚõêÚæ§^&- Ì<€ôG}ÆŽù»ÈÀBZȉÒ!Ò]¯ePfchb›ÂÒ²—ñùA¥5MBàm†*‚ÕÞU  Â “@ß³#Ýÿóèè§²ÈÙ-â5Ê,axìÈM9~>¶@9©Þ7¼N¾BV.õâ^‡.*ùs©]‘K´®¹Šê›,<&FŽGåËô€µKªFõD]@Ù½øm×UQyúô”¤g9(ûƒá#ëÿ¾›XÌpPŸX9©Ëøº#{G#­4@•Q n&úl¥ï“N»o‹ï{Omz¬ ×í#-k?\Zg6ŠôÒåûJd[nþtê•5Ê꼬©›ð ÕÅÞ¦,ÿ…êc¶ŸrXü •Ö|g±Be§ñÃý?Q%ò*}å3òñÔΨ1&[bÖèBT öÜ©¤†Úû·&L=‚êÛ×µYÞ‡Z{Žø|± #hÃÔ,¤ÇR–¨±í^õѤÈÖ‰· Y[+ƒn½Ev%ÓWA¶--œ½‚ÊÉ&¼™½F¤YšÑ½’ö»kxÅMölxàƒòntyd‚Ò^‹û×_#ƒòg§í#—IߨÎ}N$YóWÿ¾¾ùéåxÑÂm’›Íü\¤û£çD¹Å¢:ZêuùBýsÇHÿÕ¬GK}÷“Îq4 Ñ‹TôHN-òYEêHσöG¤¬ÕRå³ ôÑpfW7õAî†ÄN“©TO4KWlÜqÒ6áîMk]6J&Z™ý£{Ô’êÝ¥¼EaŠ$­'WSø ¤uBî`ÈîÉ(–GêÍ&Ý>¯ŽèÄ-¤ºãŸ^e‘¦ÜNz2ß-ïLYFê 4Þ šŽ¢Zôþ®?~˜KUú»KïmH¿?·sHè1ÂXªcÙ¬)Ñ-‡@lÙýSíÿÖƒ†ä][ƒÌý ×$ò]7Ð:»ÉÁ?t œtË´§€vœvê6“ ºíþ»éßg¦¾{zq€4pûŠ"{Akk\‰ö€°¬»ö鉱Aã(ã!Ìãša­} xnÃÀO=O`çzõõ,qám#t>µûKÚ^ßõŸ"^¨æ¬Æ>—!P m¸ôAm©È—Ls-3W­Qï}d5€kuÙ]îÍÐm¦ÇÉZ é&â'è¦9ïXà|5´yŸPú³EºTƒH§']=- Þýx–ÙT0Œ¬Ž(µ ýº­ ZûÍèÍv)Éd ¼ýÇ2Ÿ , çì U›@ê9-»ÒÖµÚ®‡”(Ö3¾vÔÚöœ×Ï´@6ˆÑ7ì*]»Ó›ŽƒÔÃû«Ç؃Ø"špó•bí?’T” &6 ·Y‚Äñ“ËG½¦÷vÁÊ[Âçwì©ï‰KTGbêOùÉ vn¹L¬FÕ]?ÍIvÔªo7-#gQƒ4Ó$ö¼K‹<# ºgЂí™TCâr¥6æ ^IË~Õ@*Ñ¥Ïòw-°þÎÓnÿ¬ ,ãÒ…ë•Ë@6ƒáC‚Š(>‚äÞ¥·¯¹SMµt£Dõ!(‰ú&Àò¼½º¥3¬EzÉÃÍä@¹[{kªò~Lñ Y ùbѸK¥¨–ÙÂ*ÒAŸžþy«Ëjp–æÏÇ&ÌC!Ú2Ë'¥JGhHÒ¹yvÇ=Ï:Òã¶û¢lv*œ;á9¼3Œ ]Q~2Ù6Êu×Ñ@[X_Ñv‡Ž¨z¿mÒ—aœ¹]¸üt?r$h;TYÔû_wÆûÊè‘Wv)gÌ^o|gü7Ѩ~vÔûÏh’ ™®¡³ÓoA‹dëÝ‹çnCãcÝQIgÑ|ªâæÈïJhj\'»eÜ74îîêH9¼ Mí/VRhÙnØôì×m4áÈõí=Š&´-3ŸÜ§ ¤Ðø‚Ý« ñUh‚Â(©‡&†-k¥¿„¡Ñb¦OÃs1 MÒx’±Ç¬·HeÌ.‹h6Š6þ@ãˆ8¾÷ o4wTú°´,N)-ˆúŽfô˜t=ò#Yâ94‘_@Ë2ÔQð“©P-mÃG£®›Ñ8IôõF>gä^ø¢ÎâU*î¢`¦xSãIiäÏcúÔ¨w‹¶ÇÖDžžÈw‚sšñ=Emfÿr~1û,3SX¯y„ʉƒ—&MC–3'}É;ÆÙ½''n™ 3ÕL—ÛŸ/‘̃'vyÇ´l`ü#AfÓ'¡z\Dºþ®âPZ@uνGÔ@Ön mÔâ⎣^%o¡Ú +óÿ)‰Ý Ïä7›½±mX J–Âû$Y.Ëú–{ƒ´âî UCOЊ¸+8ö´þÄO}$šÊߦÝrîK¯]gÚnÙˆ%íÀ}…õ}S€w„–qË‚À¶‰ƒ £ßÝ|F#f_¶™¡†ÝƒÇ½í nöáÀã2Œµi{ÎUÀw5‘húüŒTç7'E~]™Ôű=`ðÙ%fÚ`˜TŠð<ï‰Ïþgù2ÀïfxÌ`¨±#?-Á]ˆ‡hY­ ðû?•Ü”°ÓrÝ;ßv‚ ïQªüLk0Ómž‘±ôöòïk?/¾ûCïÊÐk}ùHLÛxB˜üð/ðwä$ò²¾#¯-%xOc肌}=ç^?ŒÖÒcäÀ?Y8eYömàMa|æ@ïÐ}Úpx_]¯Œ=ö´ìëãYF«Àp@U¼?äƒ×ž/Ñ <ÆÊA×U/Ù ú7‚7>HM‘¡0h3zÐrx¿kTÒQÐò`æA SPùöx¡èn:ùsæ>7`+iдE{´¦-Y7_`ú£'p7Ök±ÞÆ”©É·’}sZX}¹e€â Fj£è5Î •¼»ëéí{Ôà—ßOÖù¼  '0ý%ª÷…Ï U_ª™¶ \RNUÐîG{úIÃ6F_DõÎ+¨¨ú˜FZMïNá—& ‹¾ïQMö@É› ?Ÿ UüŒIšÊvBؚ׊¬l_¯ü PöÌ®™{ŒPeò„îm?¡ºXó­\ÔtšG­P¢œ1šGõ¹_hâê¨2yÕS·\b©ÝB•Ä—Ë¥ä¢Ê%ýZ-¨úÙó*²¾›³x¨p¹iÂC”ÿAÓålQFyñPy;ÿQqý:z`ŒΡƒ< Ô\ÿzÙX*u$˜>jHüyøÉï jôŠx Z)KÝ’6¿BN *½uoº[Î8ƒ¼Þõïö¸£ö²o±§– ÿ¾ÿ´é„¹Q_çÆ¡kö¡~GÓÞ‰<VÊeã*4T—(ËB½eL€†{EøKÿ/-#X¼ßtxe¡‰È‘OVÉLÈ©Dž¾m\†ü´ ùŠt4u†=„2 o3>–¸ó.)ïr0êOaø¨Ï¥aÔNÔšMÛ¡‹#÷­È§^;P䳨Y¶s–ô‹_¨8mæn½0UT'ôØÂY‰½_$¿Aî„ÓÝ-kePók¤NyÁ"T¾Ë 0u›ŽÒé´­¥/ÊF&ɯÿMúÿ÷î)ëÎtÑ“4¾ˆ~ïCÊ=ø;>¦÷“îê>þH%šK~f‰þ¼_}PY&I}±¥z¶“&íW*«š©j/Æ œÛî7£!‘”­|ûÛëè s,¾±ý9i™ú5èLûuÒÚ¦tæÏ¤—d fí¶œÒmT–ôµ¹‘ÞïVt£:,?$êÅ“ßÜwQƒ ·ÎlZn ’.Mº™T‡Ã¦ª5ªK_u¦úŸJ`…2¸XÓD}&Å澃ºli\Pt¨¥|þº8}*¨Ì®Ü*w(ê‘y™|eA°h¦q÷A}Cááé“@vÚ~×ïo­Ai~Žç–å¸#çr(ðXn¦ÜA1£vÔñå'Aâ‚û»d$H÷ýÞÐ Tý½þPùæ2V®k°¶<ªëKrÅñFÎÆkS€íûpb÷ìß ¬rÓÕõÈf­ñ«äx959N,'.ŸseAå-° *´ÐM`I  8(š1õ¨Lºð±$õ=U•ሠ›§RCÑL=º©¾¹Ì‘·³8+žª¥åÏC©Î´C\öå ªsÉZèFµ«Ñ¶ß¤@ä›DRûä]{ÿ’¾BùMt7Ñå#éÏ]sø}’áÆÿ‘Ñîòñd¸Cä_TNÛ)ËÕQ5Nׇ\ÖR¥%^Ö\+Ò‘KÓ G‘B½S{*¢·ƒ³Z®{S{\¸q[¨Í‹ø7ŽPÍ#åiCAq¥òÈ V\`Ë4šõT2E¾âRž[ý®ø qj6󀵘~­í©ºßbW‡’€µ‰ñå–‡àã<Ó“ C:78 *û8¨/«Ot*› Zf¢:Aq³ÍÁ+ŠW@ÍR¹\Ä`ݧmk‚b¶ˆ/ÍÙ¨ÛýX‚8;Ah?Ècò(\gêsjÈð¼Òîj(óÓ§­ç^Qm¿§^w:*#,%ÝÕþ]Y¥ÈáÕ¦ÍôÙ©öX ¥¯—QM¦q÷/-ö#µÉ´œUŒêº§§í0q=©¢ÙÂ.¡(ù+ß}Ë$¥‡äVîûåMzn»ña5Ê ‹gnÖQR3Tšï›M†•‰ôÊFU’GÃÀoU¤BReRþ=éüÈäI2HqíZ“¡‘*s¢n‘® Ï ¨Dš™c/AÒªø£4’^ëÛ‹,†Ä¨ÇŸ ª}$£+"5"jÒ·á_‚Ör©tÜö6ih!Õ¥Åìû µÌZ¶e¤)^\ˆ_¢þA¦®¬—œ×A™ê÷¿qD9šÕ½fÊá2} Ò¦¼Õ;ûŠ 1:Rj¹Žž¬‘nƒ¸¯ü©·Q6€ñ©#]Ò}õå„uÁ‰ý1.?äHåÿý;™RÚy!yôóQû²Q*(¥(6\î¤TEnãßÙVÈ¢åw;úI­È?Vê3ƒóPehwŽQâJÒ“ÃðÇPy\Hïc=2dL¯ š„jŽ´íÜ>T—etí(S˜=ØJçCïX©ýF ‘/&÷>cø‰j‘K$ï/Ü„ºƒw¯Bv”È_\ÿRúâqÓÞ z7ãëˆzú+¿o·CÎ.ÆG 45r­kò·¥¡á¸¾4)ïx4<ÃÄÔù'êçhþéZ¹%´MçNÔN^Óa䜤µ×®œ GN}lÝQ«=‰lP~ž÷°Ôâ +¨8S䣧2eMðFéMnYßëæ’žŸÒS/”È“Á†Ôog-BI­—OF媣„–C•Ÿî7”û[Ò3}?i·±N¹[_L}ñö§ oÈoºŠåD‘Á;Œ9i~ë`žU´ê`Ñ’QßHåÿ}ç6™Ç6ß5Ö¿L[Åœ!Tà›lÒ3S»ú®Qiù¹»…‘†j½ðEŠeÛKþ”}¥¨ö€‡u§ ©2óͧ²<ö’â§WU£}©P…”ÞΪµ•Ñ[’Šl1»…UåÔûM /™Tºÿ)nš.éßÊøÔÚÙ®yóW£ØÇ}›Ë«I¶¼ñÆu#Ò5%EsÞ]Ò#D[ÍoTH§¾ÛùÅ(?ôbÒl|¨æKì#£ï@2!}N–y:%Iå¤%/%&n¢J26VÕN¤úÎ1:ª”Y£¸ŽÔ/°4»‘¼ c|Ó¨,²7ûÙŽ¥TÕ gSÃV­†ý©ÌXgUùžÙ÷D žì[øiáh?[´üÊT7ª­zé¯7@<ö· Fd•Eûݾ0íUEªÃK¥z5=šú (ûü.CR¶ÈÞL+ÇAf>㿲ŗ ¤»?y­ík _+òËP‰÷»zR8påÆÌ¶¯êÝ¥B8rü2è¾þ#UV ºQi`<‘/1¿¦˜~Æ‘)·RÞÔ·Y‹WƒÀ àkù¸Tà¹,Y|Ê2øÇ­³€ÉØ&SóæñþI[Á$´n¨ª6ÇœêÑ4M3oÞK0^<6R™Á(ò{WE÷0LetÖ P\üYc W½ž%ýøy æhž nÔòè"àè}u¹ì.+:¿Y³ôLjô:‹µlÚÚº Ç6Çp‚NÕ÷««À fö‡âAÐ+iº²cK=hÜ}jüëpÅæ\›0mpvûífXPÒZ9þùþÀag dhÈgíŸ0.$ .iíÒ: ªjòä ¨Î{É÷CHz2þá Æ/1 ]åR! ÎYsŸQ£$Rý‡d馚Q忟%ªkœ‘¬¿´Õ1_*gþŸ3¤Z¥?¡²jŠ8ølmÚ+êVp«ÌÚ^Ò=ñ–¡÷ifÚ$r(ÖÍì/Då_GÖo0Ciͳ;#jΡ†m#-ØC5yó[ûç!û;3CÍ09ãÐxDÍ4=É9<Æ`uÖÉÚ|gõ–3{?Р‰^/±õ®ÐcaeäÉ\¹2T° nŠô]Üwö~¨GÞOF‰š½Ú´@yÚô\†|'<>ÅúêhªÓ EÑØYø´¹iÈ÷­¥ Ñ0ÿínÑ—Ñ(hϯ˜]|4|l¤xë}ò×~º¤÷*ùKîÈEÁ’rzQ¢×S®A^¤VýÉy»Ûm}9ñÐw4(Ck¢žbp²›ô44t¹Ë ÿRºb)GËš²?3¨:-rPf‹(fîð}bö¬…ÕûõÛAâSÍÔ¢:$­i@ RodÏ^ì×i#Æ7ªúÿ@¿ˆWG}¤×‡6 Q­Œ¿)•ÿÄæÞ—„2vìP®ÏrÎÓ•o¨jFN§A>}, ‰Ô Kœ"5]]¹+H“¿Œlņ ø¾´¶Êí$%ÿÇÓb:[Nî'8òû1¤j\3kƒd©Úê4aáNµ˜Mz!s‘*3]ÆB¥‘ªÉè’¨_>WŠgïʤjèµ¥ÛÛIÏšv±—¤Õ‘‚§I–ˆßDÅд輤Š3j‘Rt*EˆtF5¢½(çÃè’P‘ÏÌCQ~²QÄ êÔrÚ0%—Ô¯¼ð•…ì²W½§·¾BÕ¶SB-N"«é#ëÕ%·w‹Pñ›ÈB)Çwh“çW”~ˇ¢²ÄL³²‘Ås¤7衔Ëñ%(µÙŸDo¢äã.áK#]£é5© ¤ =Îæ“£>°´ `/ºD5î¶°ž1†Où¥þÐr$Õój“<÷O2ˆÕÐÆÈ¯¨–nf¿ÕlÄ\'ÕZ>ê°í·¯”S´mlBu׋pcy£Ã¦J¼V9bæLZosgÏþû˜ªYË,Z¤šâ’¶(å8í2=Öžjú°~×[C1ªY:…nüQÃ#¤| W¥šLMõÑiâÓ+ß·e½ÁýÓT¿Ò<©~öá{EËíƒ@uÕ ÝØVßD=‰ç Ý6Õ·–Íoì9ÉÑ5zÏó¿Ï:wü“m­ÆÀ冿.’}®h×’·øÜRaV-ÊìÏ R˜‡˜º´Ëéh,ñö¹æ´m”1hm¦ÓÐ? [1¼^|–è‰Û^`.9ï7ýœðôUÇSŠONÎS 𡆠î†õùX€öþ<µ}ÖŸA×¶O÷½TÿKßþå…œ{¯@ßO¾K‘7CùÖîq +âù¦ÆQŸÛÛŽÿ(SŸïíîÀâå[@ m‡>´ö©kúL}™Êô¹`H§÷ ‘ u\kõüK[·ûÝÐí§F¼?m zõ"ݦál8€î)‰—NÆgÁD‹ñc~ÀèæÖ+’Àoºl\yñ*ĵ«=MôýFkÿiÔ€öÌ€Ã~ÀŸ~¯YXaƒfêÈ¿áE@wzõ'þçAËíCØõJmPoÔK«JÍïO-$¹´på*H½¸ì½i0ù±íj×|Ë+T».3%þÞ¥*¿Rõ‹E¼‘>†TÊÒíqÒ¾Ì);9FTß×ßÞ[‡ŠFw“<Î… ôÿØTΚþû ò62ñù)âÃÏÅ ·–¶ÁÞˆ†×<ÇñûQK´ÿ Î2 žP»—1¤@M†/¼ˆ0 Öûê-ïÄ úÀt³ä¡Èöê0;òp:r¯0<>d™1¼”{Ãè¶PqûPäãøLÒ.ÚïÕÙûól˜uéõ¡×pkR¨µþð|Ï—(1ë°t¾OÕž—N>¨Nؤ<ãr$Õ86üuÄl~ªw<¢º%?G;ËŠ “x~ÏQ3=PaG[©þdf9(Lx¸S¨šVfO Èz0{’@Ü#-ÜkeH<Þö•C xwQ]OJˆ×èœ: ý…6€ÖõS ë‚ÕAòCÿ»}<;P¨K–yñÈÎ69þš–g@À‘¿%!YEÆ:Ñ MÏuƒÚáÏ@k¼H7Í £i~3@·œáƒæÞïGﶨ‚áñç·GßT}döI¿Aa¦tñ0PØMîƒ@·œ~ÀÀ‹[ßóÞ@L<|;8« +×H ‘4ªÌJ›¯¾Å½ãÊ÷ ÷€ñÇcÁšE‘i`Ôo&qgúfqh0æyT]½Æžô§‡ p§%N€öäÓvÒã@ÿYWÅŒ{ ©èI ÀAöó'_r>χ¶[°âk©ˆï£ÞW™1þƒ­"Þ‘nZ Åøƒþù_´¡<˜{ÍkVƒ´´qèåÔÅdf=mg°xûh”E ñ…6Ií‡ÆñŠ­1 }Œ.ë&÷2£#æ! Ñ´Íû.Š:œ¶¯~k"-#vm{å„Ý ŸIP-î_-Œûþr;œ?€ødêMî3I`•–y·äÅ3 ›A|Ûh϶RP¢h€Èkϧ‰¢Ô Æq-Hlßí-ŒˆÔ° m§Ì¢Zµ= 5ôX˜]<žƒœ/M;]Kµ…2¸ÄTò5[I֠ϱýáT½nâ~Õ£åL+©Æz·kêÇoRu•Œ/é›Áø‘ ‘ßÕí·[Òÿ¦"Á»Š’ß`ýoÕuYÒiVpwà®iŸ{Úóœ=©ü~OGléTÒ«Ò¤:)±’\ ·Ññg‘?Œ,,€´ùÒ6V(=ñùA±›Œ> åoÐåù>Ò3õ\ܘû02ZWwéöÖh”Wû'·ày>Š'îé +Rã™þ6²V0÷•#iûWoT ÜyÑ}¡Êm¦iì\T¶±4<71•´ÒYÑúJìšËNV¨%½"é Zäwäž&i‹ˆ}ûôÇU”Óü9ôgÌ"Òõý·£…‡²,6îÚy•¥CO‰E®@…”ü¿i§Qi’ë÷·VWP¾öÝáÃ#Q%’á‘£œíå/{u¢ú“˜dä¼®¾óê *KÒ‹¯CPst mx„^Å7ÍjQ=]l„‘yên ¾Œš¨³×hÑ·­¨Î,DC×=æ¥_ P§ëËñpEä-döH"ïNÀŸÝ[„õh/€înû…–FˆçÚ>Û-ÑFƒ{^ì—DƒU—œ×¾…FR®ôfAäÛ.=ya!òŽÞÈè;ˆºcN4Y"·ƒñyEÝå ŸŸ·ŒûŠÑpn–aÛ¿óhòT4w6>&“/,ÐhãÇ‹úãÜ‚‘ß­°lè’ ÌOl³¨•CSç±Ì\4ÒeöÊ óNXÌÞqȯÑwìòæî˜Úûê ò5%8/8FO„ÿwçd4’?vm,ç òŸÑö<ÔŸsÎÅØiy«­5ÿRWQoÈ·ÏáFêÆ~•¬Û2µh¹Ž1ê¸Ñ‹6Qµãäy?¯çÈå,k,IAMg­ás2PÁãô9»bQņ᳣:ÿ&=á&Ã#÷ 0L% ß~+*™1ú6R¥ð‹^ðI{œqTÊ‹G&y¹·¨tÛáR )dìtXT›*ãó@ý–YlÇxOµð™=läýF·Dš‡éÌOª¦œÙO ºL˜ø|d'Hè1ûÑ©~¦ÝmC:^Šö5·Ð댦œ% Ñžg¹F¦Oêîm Û»g€† 3 pÏ1}lÐPÍeôÎÖÉg_iŒ ºä~Ônn?-ƒô^ˆù/‰ràù®X ô?Š íFÌŒc]¾ý‡DzlËœJÿ?ï[ÀxzŸýzA>ƒ­ŠÂ‘0+9ßnöh=˜{ny™AÒÀb ãW–󌻖œs}#·WÑ`}ê½P¬ÎY«=~–¥ytåÖ%ÿ&Þif];ò¬öMÃ`µëÌ´èƒN`uA¤/³ÐSÊ9Ðf¦^™eƒå›Ð-¬ZÁ<ŽGóÕfŸXÜ}¿u¸ûX>íE5s  '€©´mhF+ ’>„ÿc›Ôê«ûãÁ4…^,9 Œ_ÖÜׯ à çÂdµÀ{ÚÚ:ãpðãÒBl[N‚f²ZZ)pJç‹Ý¹ÔªV´¯'(è0þß Èaúf n¸üÎÏûTßè8zP ’a¯×\{3‡jwcâ,È©>öÔê9*ÒÑŠÙž?5Ûài`úq(;Q˜žº¾“‰øâïŒPºöÄùc:ËI[à©oöm"b’E«÷=ªIßÑüQÙ?2Y}ö?Òt¢b]ËR·Šú¤Q@Ó¶ ÄŽñ´©Hy¨®»¥’»+2°P¾ïÈ>ã•gIU㇄bò"ÿ\ñÿý¦{Ý#ç\HEÉÿylR"?E”;9Iòí#Twßt¦æ=TÝÀ èP&5FÙuEÊŽ§mEœP.€¦›ê_p,)tJ¿Ÿ×Z¨Zv“+ðÞ‰jÅKwìÔ«@õ‘F1?ÇFÖ—ÉÎ^M+‘=ªdýcç¨ÕG¯SÝ‡Šº9j 3P‘Y''‰rÆÒ¥ßBÒÇØF¯ÿ¹ÏQÍ…PÍ,ô{Dåí¿NÄHk¦VjXå*Ò9ëŽ8ÝHÒŽÂÓ¼ë"ÊèꉱÒzPì!“‡Ië.ÆØ„´%Nú¥º›tšÓö¢›Péª XXú#+LäÏ!v>&¼4ür/Óeª*ªþdpê–nš·z;Õ~0ãÔèÌ¡f‘÷ÛEuÆ C!Þeú)ÈÏ¡í-&£é³ÐQ Š(pºûwZïe´Xñ|k;-­·i T;Ñ$…–3É ¹Ýé„ÛßÂѲkÂܸª ´J¹×3û±'ZFèqä÷£ÕjaV1ŸŠÖS6‡_wCK_ -ë§o–ºqÍ_1óC49#ÚonnÍðºÐÊ(þE­j/wí§<Ð,ŸyÿÑÒ½üÑÙ»hê]}NÛ.“ ¾½¿†þç1/íÇ3Òž3¯þQ êE=/Ó+Ì ö‹†«r΢ñþD_Ç  ¨ÿ¢™»w‹<êZ «»îhÈ{J7 ZsͺÑibÈéa|{uIäc¶U>2GÜåCKÞ]Ð&=Ã̾5”Õç(ö)Šv˜$y´`½·À1~™Òó34_þ¢ ó ñâ']‚~,-Ó nü{Úô#ß+àqúé…¨ Ðùä‚·ït¾= ôÿ[zÿDýaÃô¥Å󂾇ò‰Ä »Õ7€ê0ZF+ç´AÐ+ª¯ùS¿­ 8°Œ6Ð먥€÷ì)œýŒü›nå6¼SCƯŒl}[˜Æ oÖlë3ÏÌ ™~"˜\³ˆ;·Lîx¸M+‡—“Ú~EHû¿uß>Ù¦ÏƧö;Ä ãö‰ÊàŒÀ=`n’}d¾]˜°ŸÝ>¨»ŒûÓ‡ú;$Àd‰H_gÜ}O,§Œ&Ò6ò 0ûï8~ÚfK/0TUù·ä+èÄ_vvúÐúUVfß»þo,£s=C8Í¢~€†cäûT!V`Ý’{X;¥n´€³~e%¨ýcö§+èfj°z™órÏL=bK@ýÛÀi±=w@aVgî ö3ª÷Úçòx 2æþ4ÔÒ #Å_®¶ãÃòô õ×Ôà‰ ©…T½ÝpÔc*‡î.ZŒù_ÍE7ç<©(†GMu²WAÛø0ªß¤©è½²iÕhš0 ›tFÑíÒ¿ø+=&}mp4€’Ós—4øK†Féï9{ê©‹zm8Ë Õ†U½Xš?QE¯,dÍndMfö££‚ç˜óîŸö¢ºô–:ÈIfV¨îrþm´t$²»|óÇF"K–.?MPáõ±Ë’‹ï ìçßÙæ e¤û–8~óC‰'ƒ.gõO‘Á°OÍ+z¿‘žŒ1óÖßýKÚïØ­ÿ‹â¼‰v–¤i ú‘þ…tÏ™´mÏ ¨‘F{×ýŠêKHÃ_9ó¤NJ„G†w38¥]D|Þº=oZI†þ£(ç'ò¹‘f윭Qå1³•Æ0ü4a\íÁP8ÐN ÍQFä#…¬w ‚ýQ¶2zʉ4ed¥Òí‹U(7?N#Íï6i༺÷ ü i^˜£]p‹ ìgðŠõÝç6”B­)Mduá ²ç1>y¨|áüª3[/¡‚ˆ×ìqn§Ìù‡¬«UîÇÎg¡‚9£s ·'Tņ“¡-£ïn›˜€ÊSܵCN ‹U>±]—ƒj§™ýxȾÁø„£²ÅÑ–Íë§ æEaô˜ ÈùËèr„ø™ñ@í/¬%ÙZ5ª›B]ës‚^Ô‡ÚUtzóGÍvQ?I«õøÝ»çÃP{¿û¦ÕË,»½A¢­÷8jOžuóƒrE¼Ô–¤Çe£QOW´'Àp 3wD®ƒTÓþÂëúÌðüQç<Ëhå³Å¨ó¸¦KX ëÍø-á;«³´kŸÊÝÛ`7ù%ÊnfêWTt‰¤³¤?Ž^o„²ó.±Ôn¾A±Mêô ýRé½&Ó†bƒ‰$é,‡ôKY®)̵Fõ‚ c-eGd™‰Í)T=vçÝßob¤+¾-z[l3Ê\ܬÿI©’4´×Ü8WŽÒ§Æ]¨DÓ•2ªHŸÈÏ—t ò&ù‡åSU4èZ-©–YùynÒLÒÝÏðà…çîžé•+ÃTgmª­|Þg¢À×E TËtÆg‡´Ìaê*[}!(ÔÄ[f¼X‘â˽ (<ÿ´Ðîø$_ùð€ºÈWˆxu ßoŽœý³ $_fzDÎÖxm ’1~·Å§™ƒmoít$RÿdUÅäË?b'—€d?>häcyt•&Ä‚Ý~ŒO•"a™:ó7ÈwnŠÒ<íj"¾°2éEÂ<¡ýgC!{+k™0ƒÌ z jl‘~CýGœÜ(ÓZ䵤7ƒ¡§ÓÚ‡K‚n&³·t'Á`ôÛÇ8bJ$Ù+ÌÕ]Á yí:í"ݔѥ’êàý`<Ä»ÀXžn¿Øƒñ9f†nþúv·n=¤°ßë#’–ÐÀ¿r:ä`t´ß‹™Ç–`¤4‹.`ÇØ{€Ñ…dU]“.àu2{À€Ÿ°züzЧ庑·@'½szC^èR^vv![˜×v̲Ú\‘ÿp\—+ee;ãXÔµP!>^ v.|p²Ý1È]ó 9 °<‘6*…#Œ_#ˆ‡NÌI©ølQ²×vif;Š›Ýi£J“6·› ,ÇÉŠÙ3®ƒ´†ià„ô`Rîÿ©¿gôaÒðBÂÏ:¥ ã/A†"ç>”GÙQ`Où°Ýf}Ë| Õ>x9oLòFÙôÍ g=G­ù±³¶}ÒFµUŒ¯(* mZtµ¸a(|_rš§m_ªe‹\cΜ»¨v¨ñPô>UÔ ¹¾`Ö -ªo‘lº-‹šöôEgÔIù,&5*9¶dö¶G–ÈßYá;”œ£¶("g÷oza3²;ìèFrÚ˜}:¨q9M_ˆd‘3Ñå"·A‹ËÏ£î-•"‡œë¨¾ÉV'2e7rÆxN­i»…š’š>®ö£ÎÁA¿Z·¨á+òÔlÚxX:êÝñŒÿx`&êË­Çõ¨¹o•—^œêÒcÚ©Èýq‚^Ø…:L~Dƒm´ ÕFÒc7j΢ס8¡†m+½ YÞ×=½á„êWÇmÚëQ‚êsÎ^0JƼ­qw`¡ô1!N~„,É7´Á0ª:‹üÓäsfôN_T€âŸ™½X(ßœ"¬Œ^ Ò¢Q…S–åú¢}‹2ÊÌûŠâ«½8Ê:8»v>#]ÃŒo*60¾®dx³'‰´ë2 mPá £g&¤Ù\x°|Èà#fß:¼ð€ÌU=Ò”¿ÊpÕ Ò6‰ñc#­'ÂU„TÔDýž‘r4ë0{o©òÉÒ'ãÞž¡Zy)óåeYTiï¼W‹º“v¿â4í…«A¢ô+yäCªÿ)-¤Aª’fƒ­$T×Ô[Û]@É+wþieUPÑÛ;!D<ê¿ê»wâQŠÝ l”Ê›ãü\_w‚øM€bðh‡«ñR çwýÖwOà4×î¸J y†7ײô°`Ò,ùÚs òi´Lmg»d{DúÕÿýEÔçy.ޝ› òk¼ë£;AJŸÙ¯ì*†j§Ö´+¸öœüISó¬AsŠg±ŸWæò!5ñŠ&ôÊcaxbõ‚\ ýz;Rº¡ÂÝ ò×èõM @ìãOO5aêÀy»ñTOSŸ€”y=HYY†oAµ[ì¤.¨6^Úó#¹Aî(ƒ[@õø‰…é/ž€„>MSÝHýÛ¿~Û©å\êïÿû^«¹]Vªs¨¶ÉS¶§/Gåz/ÊéÜ@úìh_eÒs}fGKž+*Æ^m3$¸œ6"Fõbá#· ñŽ“¯kij´ «3Ó¨¶˜ñUG͹ ï¹ì‰ïH ë§lºm»y žv:yËO¹¼DäÕ0û¿÷ä;kŒå#ä77u òîÒvŒ¦È;þ'·æä{ÔWÿÉ;Yá‚|×Ý}~gÑð*½Ži9òÚ™ýÙ¨¿`M @}ëÎŽ.Š(K¯ãõBþf Î•_ÂU*ÑjVIÈi¡¡5½`ç ¶Ø]“HEÃk¦äí6AuFWú'Ú¼LT úÛ@Z@„ªOb‡Óc…q÷~5h¿B¥<)÷Y¹›QƒKÓ§v¡Ž¡o¨ß5uXTmÆ©¡cf˜b&èVQ1Ïc¨(ØŠ…ÝÝÝbb'v·ÈyTDlEL‘PºcÏûžo÷u¯]¯oaæœ÷}â¾·C×gŸ*Sþ›Vi~ÚUñû)+ÇÍÝž¶ÿ‹VVdÁÿ…Œ—^Z…懞µ?žÒÀ¦S,n/æ/?Ÿc¿—›åpö×ÛÇ)ýº½`{7Þû‘Á÷‡Ž“ÝdjóëÎ ;WǾxEçĶS͇ŽIeê–fÌ*m{‚)|Eä2vG±39›)‡‹©ÙA9âlÑ(º§e®øT¯¶oû ŒùœC°<¶ÞyJÊ09¼ïíä LEÇ,,‡×»²žÝ€½~˳• ×À8œòÖÁª»8X˜»ìßø’ßð,'ž1Û;þÈ-ø>OÈøµ]è’fIᎠàXQ Ï¿,‡_”/ Ê.ìE¯ýÀqY_ôå~ß7“,G’:í4ìß¶/פ{K¯9þø¢'snX˜zƒ¤…G+¯ÂV`ÏÿÞ |8\ä ØBýv`¶wÏGå]0Y1'oK\Xüv,šÿÁxŸf"šõÏúW 0ÚÁç^Z!2§(¦æ\³E+Þf®Ó=Sñ‚úˆ˜Š9³‰Ñ L†]S°Ù'X»¨á$HãyŸ†°ò@}e®S5öÄjñ¡L}"w‹8¼`Þ‹'î›ã–[(„­ž2˜-1ë¸&ó5XÌä^‡VÏ@8£kߢ¦tÍÅDz‰éAþ_@fb™ÕW´$3Êì‡4ÿ²žãÄ«·wÑ.›!\§òµÍ^9 ªõ„òy”ÿšÖeãÇ…‚êÉM¢he×oäÀ…ÃûéËÚi@׸h÷ ä4Õ—€¼çn$ ò%óÞÉoz‚“€Þsàø™Ÿ+8Nlbìõâ<8- N!0{HsbA@p³¶ žA`˜Ê¶'œ—îßæBýÀŽ_ʘ:qnk®skÏÏî›cêÇuziqîSsŠúY;wuœÀ­¤¹"Ì5Š—êȪ¡ÛОrÄØ²éÑùͧEãFjôCÑyÊ@['²æÏõ¯|¡ú¿&KsàPuøË²âùqèÜi J@§qÏÉb•ñ ¯÷윌N}I[ïŠí­<ÑçÁE¦x ¯c3Ц¾t¦>lÉˆŠ€ClÖµÔT“^Aì÷ÿòÎË.S¾ÛpjÅcËî|»ÂçRÙ^ v09ZsÅˬ+:´VÕEÁË…(ìA‚V¶¡qð„yYß.¢MqBÙÁòéhéiCgëÿvØ›Œâ«yÍwE&¢¨ßõ®ŽVÜó4>Æ!âÛ`”ý—cQÙª×b/Tñýª‡Zaþ_Ôîü°¡åLîþ²¤|LÔ¾¥ó\t)÷ø¥ÈÕÑ ÷’ºµ¢ºTÔåçe®Ý7T:m‡:#>_C{¬ v SOÝý ªoAW—çys–®àîš#‚ª_‹ŸV.ª@eâZåºÝ¦¨¸ìÊ]@wP·ÇÃP7˜òuQÎë«Q›n>cØÆi(¥X(+ùM Ø(=Ó±¦ï®½(\ð(j2Úü†m§ñóX‡–îæ5Ifh_1þfqB9ÚëCSŠÏÖ¡DJs QiÍ6[/³BQ½6>Ø­;à^4*Þðzfi';¾-’ n¬CË~æÉ35‹ÐæÃ›µvÅCÐ¦Ž«BÛa‹Û|8µëøw4U¹Ž‰Þן-°y¼êXÀv¦è×è!|Æ0FÜ-  g ¸"ßxåw°LI'&›kŽfÙn³þ³ÝjƉüC þëb0ÝMàÀÜ/œü°.‹/ºu+‹ù9KRÔÏÎD ê#Û» ÏŽ(0¨„© U„x¸4‚Ió¶_?|aŸV5[õ³×t°¤íã°èÄÏÍ,~=JY`±ì‡ñu¡©¿ ì•÷ï0ˆoþº.ê;öô˜ Ò Çºß[]ÂúÛ—îåúâ-Ôïºq¹F5´yÃ'çgEÖWºíF»MàbåÑ[üè—ÿ úp ÍÈúi2¸mŽépîI0¬çûxýX*$í%>ßË%´¦Sð Ü‰â -?0©o:8¿™M:RP+òTÅÕnoux¾ãwpuŸÕÿÓ¬3 óÛYëô»)Nœx>×ô8Û©—þ²ô]Ù'bÄ]Ïñð ~RpÕõ~dVr Ü}¼T«Ú®ýªñDÀ ®³×®ír…ûç“éÅ ³°;õ©h Žòùº>4·t1Öì¼ãå়¯|• Ú@Bºíä.ô|P>³ 9pQÈܯ•‚*-w§[1hÊyžâz?½ÍãÕ`Ÿü¯Á»mØFae°Ro%XOõO_ýìºR¡6SíôÓvͬ‡L™nðÊÅ{N°i‹,ü”ùíÙâÆ™¦dÆmë5ªA¦•«BCî¢eYß_öF{/³ŠÌ'¯Ñ6nó"µÛ[4âÉ óÙ*;Ÿú/QdìósÓ hqòa~rÎÙ¹Ð1W‚ÂJžlº’à3BÐÞ²›¯ýâDt¿_3¯ä4jŒgY}ÃäQóû;£z‰Ð~RÝk4ì²€ëˆÑuAÌŽ¡_ç¡aú´'W|Dׇ‹&¥Û£Û¤ç’ÍgôðàªþÑíÐ5ò/Ñõ±™ø {OÇ„úÇË¢ýç£þÂ@b0@½xèœØ/ÛQqÙ‹ÛÕé¨ßñéà~O®nÍæ^‡±èn5.Ú]‚n¯>Ý ÷W¿ñ­F·¬í—sl[¡Û‡{ÜÏ£Ö„¾‡¨;My¨÷›G@3¨ÉØóöv;'Ô:Òýê^nÛ›5h.j¿Hj:Pa6ªÚÑ=):®§>tôàótí’…§&^‹‚óþÎÎáúõªäê K‹æËÆ3ï i~S’îP49˜ùM±sÁøT.¹Àʉ¸‡‚U_Ê1ÛkÛœìä&§v˜&g‹êÅâúf`Ë5ÝM lÀ~hÃ2ܢDžkÞ·Gï䜭íKAržàÊZ€°/ÝÓƒçâý©au ëÝ¢WÁøC ûvá™®ˆ÷OÚ~ñwÅâûl¹`n@ÓÄ—‡ÄÛ£oiÌŸ³ØÂþeßE¡ì÷ƒÜqê[Ž63)E桼¯ e«ù¼d6Y !,6¿?åʱõWzA-Ûà;”VØ<ó$®¡Ï–DSŸ[2{uѽÜ#lõžfSó÷ä°ÕuÔ ÂV‘8©‰ìûðIº¼e+ËȘ§-û•Úô–°õn| @\wa넟l…Íagsº"Ä;¦<§ÂÞþÖöQuÔ5›ã™ò¶øE3¿Î›ZS·¯akÎ@¦ìÐ=|Í4úó¹J?ƒ~´8pí)'‰«_y?øÛwïùÇ߀ èˆ‹$¦ü»EX®ÛîÇ2ïÓÚm߸Oˆ)íÚ¶¶™èSÁïÓA¸þî¡.ZæG1Îü`jâ»føœ:ÊmæýåqE†?yóÄ´ÿÌ}jûèô<íß-"6÷÷ð¯Þ¹ÙÌ÷ÿ| ¾Ó¹ÿŸC‹OOŒ§ZÒ.÷³!”ƒíˆ_N ˜—¹t¾Æ4^ZÀüȰï1íÛg&»vTÐëv9ìži\ƒ³MÆÙ—ŽÛÃVd[;qÑ Çn}µ%ž«Ï6ǬI:‘€ªwóÎmòÕê$±å­:ƒ:‹?vÿ"ú‰Îc] pµ£È:¼-j—±Ï×>¿‚úNÐû䙇¨?Hl’Qè6!uþýj@¯C¶?óÞ&¢³Ã5×sŸ‚P5ócÚËu…ëš=oŠNü õ‚ÃáI÷PßÚ­‰¨è1êT|Ÿã6•rÐ~`ôÓ¹¨Ë¤¾g4øŽys½‰u‡Fžn&¢›ÕÇí^—ú sxhç3Ýѹ  Y’î‰zw[K/¢ò-ÃY£¤ˆÖͨLæ}6roÞO"{pð×9£ð:ÍÙCÑ…ÁMž/b) 26F»îôžd"¸÷{ƒ6-/5oõqñvmùÍþ ‘:[ÑéËëãÛ²Ñx1Y/Ù³·)öm,Sý0õÖi§ÏlÎs‹Šië’Àdfobb¾QÛ„€©æª«•gï²ï eUñœyÉs­ØZ‘­ïß/ìµÿx}édX»¹¼npϲb¶”÷¯±IÔÆÂ¿©Û·çúPæýÑ¢Sÿþ4eGzŽxüé˜ç} –Üà 98ìŸìQX„Fh&$qïרاûLrÀö:Ÿóf.ˆ­Îÿó „7í7‰ýÒY³mÇ˶ƒtü¹N› B#®¬õ~ Mø9¥ãú„ϳV6€Q"ï{¶¡yD  6¶ì½BŒ­`ìqWn7šeJÍ[g‡k¶1E¢þÄÀÔgëÓäÎÞLa¹–‚Ùw^lµœœÉÖ$󼮚¾Óÿ-qmÏÖ¿ßZ:IÆc·,3;‚ùS(òot Sûdý®¯û*@àeœ=¨X¹»ÿènoÅÒÜ&0úEÚ1LÉ×Ââï«¢™Ìž¼¿Æ!ô•_ç/g™Æ[‡½îÚf¯¸ŽC”Ž|ß#a[)Sþçõ«ÙuyÎ+¦¦üÌ …í>2EÓ+3Ú{2UÞV¥Ò™ržïÏ<æNGçobö¯Ó2éa²éúÇ‘É/èðU©ËcŠó[,rؾÉñïÓ¬SÚw5Ÿ³µS¹÷äúfQ˜j5åÇ€àÓ J±ò&˜ô„°õ`¾¹ß³wÓŸƒàÖ¸³«:ÿ+1cƒÉÎÁ‡Ó“êÀ8ÝÑõI0S÷²gҫ˽˜êBßÔlzîŒ$­ÑÕû=dÏ»YU1î€Iݺ×÷ï `êoP~<˜å®ÝV9„‹| ’¥`—¾Atõ#÷óÅêÆÔ”v§ßXԭܾuDSù<"¡ ‰¡ì ¢™Ó5q^¢i ]/Û”€TÎó¼'Å)HÜøþ^ôœ€„ Š\9zr€TÏ_tÜ(ŠU¢eFÁÇúqEo²ÂAÙ+øƒõ˜@Ðð÷;ˆâü‹.õÅœv]¯M®§‹/µi£ƒ’¸füAÒ÷Gûp »ö+¶ºäÿéIå]¢·þS]ûÂâ•4‡%gIªn¡ú¿¾Mu‹Œ¿"PóuŠ}§-¨?Wò^> ¥vyäDY땾AÝí’^MAIÖ¨ì™*Ôl¸^ѶI&*§?'½¨¬o³öó|tYÄ× ’ck_g-2Eå*Ç£I7Ö¢våΣ²¢fUîR_t‰M¼ñvÀÔEÁ£ 5ϹS£_ºøŒ ½Ø¤] ;¶ÛÙ$ u‚8ËÂ_¨×FöÏz†º÷­œÜ;\GWObÓ®½HLyÔOþ>(öÅ3ô–TÝÜðuC­È…‚®"É´» Ôžú·†«LQ« µ0V‹®=yŸÎ¯Õ^î'âúÙˆaý~û£ú)Ï?ÑMâóÂ5r6ÙD—°SGìD'å‘[,w¢ó5êWFíðO›Sï¡"-¬oøoTFìÒ0T¯Úµ%çkjó£:7´HAmìÁ{·z¤¢³oD'ÏÙP×ø9äQßY¨_Ƚeí5¨íÉß{Nê#³*§¡<ŠêÉPùŠà»£Ë¿¦M}* åu£Øbæ ø å4¡mú#îF8õѱ_FÓ\¶~cÚ±õ'O1IÔ¾·½ôP)2´+e&:TÏêÖÌSî'óÔ1óJšË*^xúî~9Sq ò¸‡yˆ‡çæXZ€Q®CLMˉ a/'_±ˆËYW´‰ÁøÁ‰eåg£@Þ,±ôÞü‘`q±î‡ÔîXJÖ¤Oº¹dÖ”§ Òûd-5 ÔçHŒ\K_ËÅîClAÓã™mhœÝîìo¥ÛZš+ºBêóÃ’A›ÌÞiÁ՞ϕ×Ð9'¸Æ:­4‚>—ëf†€kƒ³_îŒ}àZÜy|°f¸ýàõnŽ™)\å 7®ÿšÛš÷×¼þLƒØxô ¿£êÔ/Ê6è‹(tÿéo´ÿ¬ÈÜâÍ´E[@?‰ÛMÀ-íêé1 `ð3êsUÑÜÃîKZW³±â7BÐüŸ£ZOûNзå9&š/o›·tšÚöQƒ+ †‚vö‚ó¶¸>>´«oP›™àÒê꜕׸Ïiµ0&u~<¨Â¤™QOÀùõ•‚$•×ë¨QßÈþy£9Èu|½ê4ù|^jùvͧú^PYÝš¾«y 8Zð—Õí’d1*R¿*:mé5iÔ¡s¨ØÇ5©¨øÙ¾¿.Ç U›[u =ˆ¶žOŒÊ¿êoÃV¨Þ ¿;Ä«ª–‘kÁå^£ÉýX-hU‡šžüWû'øÛÔLc”]í:b£¾?ª?z~Ýá~¾«Mô·ï¢¢xè×yÚ¢jÂÝùkg@u+3ÕóÇ‘`-ÔHZ® ¹‡.i|>µHNy¨Úû Ϥ¨QÊô=ê³FŒŽ‰D†®EùÚê™}^£híÊ7 ÜAñejLB ÿ ÄÑ?Xwy) æ¶$X5hÆîNs@c¼1äWãI´lKì^æ(ŽíW.x‡²}cTƒz©PÕŠÊš¡àî6\EÙežkhÉE½'¡¨GBHzO´29ïv]^„ÂŽºŽÓ;¡ëökʇÇ(1¡Á“è8÷åÚå£Q¡Œ'Ê´_Ãó™œ"Xö Ž’V6\C¦@Ũ>¯çL¹‹Î&¼?E\O°ˆ¾¨}º¥òäïó¨Ê]5éL~WTc¦=Jz][QÌýïFìÑÝ‘‡QS8ìööÚ(ÔÎý£öW*gc¬áîA‰š½Gå²VvGé䌄Y{+PýX™â8ü<:(•¶Å+¬QÜâ¥úÄÉ›(¿!_/è‰B¿Ái#&'¡•õC3™Œ ðÐ6سuV› m;u8ˆVu[Žlï­Opeé­-hç9uféè1ly‘}F¡Ã˜%_žÏHAÉ"ÁÀiçØ¸k¦ê¼’~lv 哳…ß{\WëQp—X±©)—¶jÆîa mHðSÙ‚VL™¼y›^g™êѵ?Z¿ÊÔŽä÷ÚÂ/W†ÎZ2§{z_m±ðâ’$, ŽsÌ®'‚èë¹>Ï;^ÙãÞÍ&ÞÍÉŒ¯=®ò}ƒ:\ó{lå«<²pmË}œ{ue¼Õã×ÚM ~uñNжpP«i ÎòÆA­ûß—»Ã H 4A|½ã:÷çÈñÝ‚¦|Ë{î€:…{z;îÜxAš¯túÀyØ7tÝ^‘‰h®˜‘4ûâÛ}›.û¨?œû»õž¦×€óOžwëäÞâNõUPÞ¥>ZPg$ÿ-¾÷œ^´vÛsŸeÁÆ2kÏà”‘~Èzühp¼µ$¢”ú/>öÇVƒÈ´(èJÖMp*yL. óáûxi¦ê‚_Q*(6^ìøøÙ?pê@÷`HÙ01ijKÐzß/8wç4¨†ñ3…ùÕ·ðñƒÁ;™Ò 'Fí_` fŸ¦ð“~?‚Û3E?C×Ïês–)ê’Ó¸´Æ˜É.§y9L…)#V°¿vmǾeßô¡úS&ï‘7c7Ñ5æ@¶<ÓÐu€[û·3wûD±lé‰qûÄQhq§2¦ßÌ([–”ó1m ÉÙÃVZ£pÕµ¡Ý¨q mš sÏéw ?vqlØ]ÔÞØHŒŽè|>êì³½¨_âPðÕŽ«?Ñï]ídužÎD}“c’¡ë 0E¯/DÆ„[¨]»}˜Ýþ~=êKoØýž€na'¹ƒ>Ýúð\=7Ob}ƒÞ®‡^¶Ž'MD¯ÐM'fÆ ç`ª#A{î§IGÏGDf‰žYd Û=ûü(ÜØ=Núðäbt{Yo™z/}¼/jÌÔOЭv²Õ˜"t7æu-Ï=›’„î9ôóC·dM< ÇGìÿÓóºJµC©_uáüüP×êbQ¿îÜÖcz šx¡k‘Q·äúÊ;@]í”EK}Gí<™h£Æ÷ÄïwÍE¨8ÇÌÙ$Cy Ïż£{TÖQ]Zý& â!(êjËúbÑvÇŸ)Lb´[ºª~n¶Ÿš×õRë6lcï×±¾ã¶³?ÓÜ\¦lþD=W93NY/Jß&-î.Ïý;'©ÿ„㮕6; –]{lŸòÜD‰4—ˆi$ö蘰ÌÚ!Ùö±lÞ…¯›$*drÒKwýª»Cüܸj-iφ3E;©þ„)j>0¶xÃ4ö!•éE19ÓÛµÖ4vÇDêdr¼y^d¼’Ïg«¶¦\p¦ÖqNü¤e5`ÚÂ{‹Î aÓ[ô¬‘˜U!˜£{E°a?{dB·»]<{.H]NÌÛé·ìRs²uÉg@æ7nRŒkp(~)´ŸTÂdwò…€ÃУÎ3¶ƒPÇs „‡I5l¯¥†>ßê¶÷¾é#O£n¢°Qª“L5} ‚ô•Í­Âñ`¾püó¼9ËÀä6‰Yˆ³ì˜—ðëÀ ÂN²ze¦€MçòP罉`µKšnü±D“Ÿ÷Ÿû £HY¹«'û‰:¿È…‹òH¼gàlN}  9¥“!»J^¿ ªÝ|Ý,ÇóñÄ6‹‚øÍ„ÅŽ÷€Æ$‹|¢ \QK“ yÛÎo}5èN¬RV¾·EãåŽ zîÕQž3¢ŸÚëâÒ%~ êâºä¶u"¸„ò<#]šúêÌ2ÐÝÉ„›ç¡œŸi½iPèûÐù èÛøgþšÚ3t úÊn‚_¥\=ý.Ò$ñ8³”‹Ú+›ïšw ʉoOÏÓr÷ÚSÚ«cÚToH9?÷©?´ªmDI ΕœÙS¿«JÀ域¬Käóûœ›Eš6—ëgÖ½LœØ·ô-¨o Ô^’)<[uë1é"8SYèhÐ-¾y)¾¸Ú²Ò tÇt§Ííî‚ÖjõîÛ×6F€ÚF¢yý8(Vìœ$ÆÄ^0œ&µ‰ýþp÷ým{íð„' FÑ$÷·w5ÄÛ¸ßjœ9ˆÉZ´d çâÊ”näsŒÕ ú3¥áéûÕ³?Ã[çÝÞÉUF?‹[É$ÿ£÷(û‘âmlC‹6nÓëDì{«,ï°z7§s2´‰$N]ŸZ8êé;â²ïW.£¬×"ìFÕB^Çí|gYX¡þ㺻Í^¡~³i¥`-joQ.,º™ò¯pLÔì㮋å…\=MóP»ƒŒû£nÁ˜-Gƒœú"Ñå?—Ö¥œU4¬"R®n¯œÿ¶¸|1ê"]û=9r ~­jOö½ˆ®ëý£ÍÖC—ñ­.Ø‘îeã¶|· Á”£ˆú(•í Žú‚suFï`ÊíE÷(ç¦Jÿåèáqgz·[ ЭÓá>ê¸ÿ~á–Mû£GþÚQ©ÓÐ0²ÆvE4‰JÇ÷WWÊòÓÐ3œ}}{#÷'ïëvµëüåLöôˆ˜Íh#ÑãÝÁCC‹P¿2æm—z¯ãªòÇÑ›ÐâfœDÏA£þxrÐóSp¸ÙXGôÃçÌø¦’1ÉDôI 6Òô»]J„8è <×É{#ß·xw“z]ï^yÖ ½ßF|Qr =·Ž·÷_B½½}XÊó¨CªóDuæw]fd¢"™¿×œöfIûíGybÑÏâ¨^OÚA *y^0Úž¦:u”§sY´µïÒN[¢è(ŸcmZL9ÉhgK9hÁÒ[ßÜcÄŸØ1L…3ÍmaŸé´bC߃lÆ_êûbì½OÀ6qNwk`ÒWdßhî–”/ ¦]#œZZžÛƒš)U}3A<78tÁqåñ‚PÆÓ6‚pðŽ…­â‚ýçŸd` fÁÃçôÞD'¤}Ÿ«ÿ¥nÊï¿ç‚ú³“æ[ËA ºÚBó¬ý P·u_PSÂTžß/Yfü*D%Ô絛¼@º†È[€nO´åí§Añ¨â”Ýd(<–¼4]Ø\Þ^úx0!d¥”ï ²íç+'ôíZRöZƒ|í ¼%ßë@>gáŽøˆu <|µ]­]?pQnÔÇëAq‰ Àéˆ4 µI¶¹ògisTž”{ Îâ›#Šë3AeJ÷ ííNÊ ’´i×”Á`ÌR8èç]:üsX 0äë-v$ÞϤA':ïÏß”c~þü~Ë»#ÏkòŒž0mÕðñ¹“¾=þ¾¨•Þÿ‹¾‡v‚÷W~^â}ÈöÁo¿ÿhGå6ðiÖkwËxðwÓümèSþCùyˆŸ%"ÊÁ?‡‚WÀïëe öw6øÍ!Ç—ø9ÁöÙð|’þúÆh2eç×7?B`ÐÙnÑë¢!0ðªiÇsG àTˇ-§F@“à¿ò£·Àw¯óð_}?wAMø½ÿK@sà7ußu!xÔ÷ ™àeßfÂæO»Á°”Ø1 7ç}HÎ_vÆKŠ;›º4U“•ß™ƒ@þŸ/i.Ïi’ßZ|¼å«W myià^ö8Ž#Ç« äçi}–éü|Æ!æÆ’Ù1ÏÐ\16³¸ƒv(*Ùõ¼Ž…-9íHÑ‹+h{žŸ‡*÷ǵéøÒ4v¸*[-y|¤~j6=ŽêÜе8|‘ÉPߺ£…Mtz¬j}é ¬^¿yÜ 7ið6z t¾üwúMt͈ºÕ®}®näNÒø÷èëÿ½ôEûèvxðåà ‡¸ó€ØîÆ¢—âZrûä]PmXi¿a0æ—ÃúåFÍÖE¾ÄÀ`"Ë[„óËb_IÄÀ>×¹Bâ;6ͼäÖ!#›6õKÊ>c„ÍôO=ØM¥kŽþÞÂfïgi†5ÁÀ93ŒÀ&WèŽÿ®ÄÀOó>.¬Æ&Ó¹kÛ# ý8ýzzl±}<«WLÊWwò=…>9uÒm7ڣ߉‹Š”_1@Ûì÷V§fè?˜¯÷½*¨} ujnkô=úgGãÌ(ôÃ’„×_»£W‚ËRî¤EŸâO¶æå¡O¿žO´ù„nî5¿wö,FÏÖ‹§gçä£g¿Çs}æ¶¿pÉ ÔÍ!ãéÞ¨ùÉ×ó.·è>%%\{=ý5:;S¾*Šªès‡ŽŸ0êM#ZÙXpoü!´6?î¼óZ¦œq4/? ÿ³ ( q"‡3Ø’¯-f^$¡‘ׯìn"Ð:Ñzò®—ïØgè:Ö÷óèQôóUQÿ.[tgY<±wšÏíeΔÜÀ¦*U{=õR'0㪵ä­˜Š%´ÞçÎ7yò@bEbì:ƒdNs÷~‹´`gÕY¾ÇÀAÁç=IDûŽwßš%ô>ùØ!Ço9ôz—ËÉW,Á`FsÚ@×7©Ïg«Ó ÿ$zaz¸œŒæÄÍ|ÆW‘m¬ËëA×Oø]/ñ©É=ÙïbЛÒ:t;“OÌ9œÛžj9lËQPÉHìÞ7€‚Ð4–͘˜?3f®—¨¶$˜¤—FõH*ÚNÑMÏ<»Š.×åÿ¾¿Õ«‰-êd µo:wc‚îH'B&×Ãtn†]«–;úܲHC†Q|ާëJ^ÇíÖŽ¬{ƒ.ƒüú­Áp˜¬¡:kð÷üñÖƒ!¬ö÷”ÍÁ¹MXKïà» »NõàÊ…è{=š×ähKÇd><ê7$^zhíøœcý¾r݉.žžíZ€Ú@€¼ãAgq¯‹õK[Pñ>+Pî HOP=8¡yHLuK‚ý±gj_÷¹»øvæïü÷Ö©Ó1Åy”Ëõ_G&í*ÙÁÜ#±*wÊÙ¤ëjÝá[­˜ÔÍ#‹¯EŽaÿR¹L[ÒšêÍÙ÷Ÿx,°®úû§³Çs:²1?ÙWÆV¬ÝÆßlåî("e+¥TÃV¾¡õ'š^vì~M»…9o{Šþ‘ƒ‰°Åm;žžúÅù|]¢pyÖ‚èʶÅ+¬— EÙ…Ž¸_¾+v н¹vfô%”¦Ð½ ôüÞÓ|â£u{"3EóÎ)´Ž¦zb¶žç#¢­í°Ø ç¶lCG*$AÇî$6Ô%·½¿W¿­ð¾6§Édü;• ¨þÕ[ƒêF98 ¶ã¬›7£t7åQ£Ë!ª/Gma󨶱÷Ñ)™ç*ÉÏ­KwiáŽêð‹«|Xtª×-¨ØüUùz]3ýxÑÛÐewkbAÇÔ©ÌáÅ+Ñ¥ûŒàÖŸÐI´yW×ýQ¶+eϘ³e¨¾ÍçÓIÖošzáü”×0| ÿ„£Òˆ0=ÄÃßÂ|ž«ezÈ1=tp¶áç2â<@³”/Á6œï18Çm ó±Kèï¼ÈµLÎh‚s´c®ô¥9!Ì=bk(;Ä~-Ùïè|ý;^0ìÇfTpÀOwu8û0€­>Y³¹WU=¢ºT6£øXÌäƒìùe©ª¹q!lååÍßž”îa~.$6´>Lí?2VXjêo‹ôµ³x:€h¨*¾,w.Hžc¡1P_H³\lƒžŶ~?Û]Ê[¹ŒÈM{rõôË-Ùš‚¬;±3ÍçÐ’‚óŽà<'¹ñÎ5PÈ”#Søƒ´rö‘ »Þ Ý@ 5  Ê"qVn ™ÅÏo´'ú^)Y|Ô3v,uTý‰Üm>¨šRÞh¸Ómö p>J0ï3ÁuîµÞ»tMÀ‹´–=Aþ1ö´•ã)Ðìj™ï™1Ä?x«Pº+òñ °Æ{ß«AØìÑ>ödˆö&à .4yÕêH­ŽSî ¢³CJvŽaó6ÎkÊ¡üÂÖw-×À'ƒ‹CQ—ù#@bLb|F€òËòúß:[ÏÕ¸»1”ÛSÅ>K@ù¶û›_"Pzc’¨ÏÎ ÎpP|èÝ}ôôQ /— z>:ŠÃiĈ¢“÷vßÿÙ d±-޼i‡ ÒS}&húÅW+›^g·îŸß€áoòÎó¸?ŸˆÑª?€ëë}ÅÕÀ°™òôÁpi–0a·Î|‰0²ÝÊÑ_[.Smíš ºœ´KêoÃAÁóê@ò‹çJkf¬7 çžqƒׯMüóJ«Û­@RBpAàrl@öØŸë@Ú…b¸‚Ô­!Ü?bˆv|6îXáŠi—'´¬LÑb›W€E×óÜ‹¢ÛAUaî`6Sz°ÇüŽLÕóe³OD½`Qìå\|he»Ã¢-ëHÌXOtæŸgóNçK'%¡hÆhëÛŽ(z8èŽGŨߎ;x¾žb †4G§ê}+îZÚŽ¶—ÆúÔ Rù0dœµå¦Þt€Ôé½Ëç M੦jpÇh¨£y”è1–ûëÕ«Ñ»³´l„MoôÑ=4zß$˜©ôÎç}ü¾² ®€O@ïN¦Š»A“лŽѧŽrùÑ WÜšX†Þ ©Q=÷ýWo¯Þ¹´Ë©:ô¹Îïq=)‡ ý+C®n\4½ Ÿ÷‡Z£×–rÁÛšÁè{¯¾i’[4ççIŽmÕ9Ñ篟øüøwÏúp \×ùé¿!èáf–£xí‡^3L†Ö¤Ä¢wÿC%úWèæòí¦ï!9º‰ŠÚI†¯E·—|ήÖtÚ®¡;*ÑÕóóëä>ÛQ8c_‡·kQym ¶Eýîãúu•kò‰bMm {‡ìF Ÿ7‚²öÍ&ÞMo@ ;ÊÓEãmäx× Ùeº¿d35t.Éüò§\I6±€ê ˜š¡Ü[k{i?˜,ºÁˆŸ[€p<÷6jÖù×!—€u̸&y{Áâ3ÕË‚(> iŸçimj2êØçõ`Ù–æ‹sçÍ{ÏÀ£×@ºxú°Ë~+@nµ8°*©/È/ðº7~Î-~@°Û3Áy¹žºK,?'Ö^ŸòôÎpÐu²ó0[Ðò9fŠ¡ƒ¹ƒDb¶¶.É¥ ´¶déû€òƒE¢Ó‘Ÿ ½Gu3 LåÞÖ¶i œ¼õ»( 쮩/¿¥ª_§ý×AžM°rbpº6õÊ×Õ M¾ý¸oHоí³mSˆ èÙüÉe³¸ŸƒŽîNÖÌ#Ë·€[:ç•—pù9³^àt¬ú‚ÎqRR·ù[A.öÑ9/äaŸ×/ºîòT·K9MªA6€Ï±rzMupà<Ä3(eúIpy°xLèŦàÜQõÐý4÷Þo¥y¡ Fƒ¢@3,r ÷•€ªÝÜù[JA¶g2ÛAî´Ëæû·÷`g1>TÖ¬;SÆsʘâCflýfMˆ¼ÓºÈ.ßod1 äEËÐÍš´÷_Á4‰ÖýÌßÅÔç6Þ› 0”É«æyÑF—rîß ÆäV|‚©u93óÄÕ^`fãÆ5"YÌ[Ò=5aÿî–vlý)æ_ å´2 Þè],ûù-õÓ²ùa4˜‡ý3±+ €cËtå Ãw`*x5óõ‡[ê©L=ûõ»íÕøz&C×õØ)£LþIíŒ;oùç@Ø|¾;[ÙÈÅœØßòªÎ=>0E—W/îihÍæÎpšº­ÏnæÍ_Êwe2©½ [ºæR²$8w [ø‰ç%ØØRÞ˜Ú>ˆY2ÆLœ6Eõ(£#Õ7ÇâÁäIwùðK0wø¹p'…úOõÏ`jºÎ½õÖ†ÉzNý›ì:š[ʇ|a‹<é9ÃÖ1GwG*GAãÄõ«eGÑìɉGæ{¡MGÿŸNNPhÞ'üÝŸ)(J"e­'Ý¥`®?â¹ÐЦ[ÓŠƒ ðåõÖ F(ôÞ›ú¸M8Ú  ¾#¶æð"ÌCóîü¼ÙèÙòÝSš¡8®éÁ e[PdÎσe½(/e“÷5oÓ+%7-N?˜¶EÂàaã3 ¬›ë’Û6¨iתÿ·“ãÐÉònÐÄÝ tŒ¢¾GTŽúxòÇ"µ‡ŽÓ­PÙyâ °6{æB6ÍÎRn-:ºßxZÚ#Å’ñ¤àFó7;ìy¹„¼ŸÎnÀoõ'Ÿ!¨ù;ÆeÊÍ¥ù5Û–¡Â˜æ<¢dõŸÓUîQ8„çÔÖϪßôéZmèñÂÍ÷;[;Œ-›ßüÚæ´S~”©å9lM ±/ b¾ü—ŸXBìqÛî0É{kÏ~*­µ"4†Í'TV¿ÇlÅÑj«Éw£™ɯH ›ëHsÇØ”•²üÔ7ïÀÜfgk¯§‹ÀŠ®/F‚Ñ™u²Ù4°œœ¸MxöXÕQ^9tŒè6¤)SÕ¶…ˆ» Áè4iãå`6üAÀÑôÅì5¯~–Y}ÅÌ¿Y­IÀ(“÷ÝÕOP²ÌG’Œ-É8H”M%ã,Xðïͤ§ý[dqõ(Ï qDÚ— i$ˆñúd31­›˜òˆ†OãÄkÀü ýœÁœ¸‰,’™¿dݸ{+»=™¹õΦö¯e‰Üª S™­Ùûç~1S—Oó À8mõ©6[CÀèÃ\²±‘ù–;÷žr÷ÏaîÿÕ™Âü¢/ó¶Ô1õýN{ÛÝDá{Þû›€íNšCM£îö[˜Æ 6ãÛöi ¨êÁêæéÀ´³ùÚ¹`8$½‡Ç<ìwåtÝ`®ß ÿ¶ìTH_­†”짇¶×öüÉ«€\"ÛaÄðF]â¶¹Û©÷B§uû”^[–ÚlSÄRn*óõÍ€¼ä‘™š9”É”LY0&¡ XÖ?±ý™÷,–YÝŸtòÈL¨Ÿ$©ÛÔÄ¡T"ž?¦?äÁñ3ÿÜžé{ÀÌbVÚ÷™OÀæa¯Ì”1l²Õ3™]i~SNe˜êî\9Ô DÔžÏ}/ƒ~´8ÖñT×Ö¤kÅ‚ihÛÆ±o¶€Ý,:·ã¥S—m8¨br‹¶Ã!󎨅‡_fþ9ÆŒ ¾ÁVfRÞ ¥}9›Ed±É™/oÇGõÿÁ>¦ë¨é hE²r&“ÆG°Õ9tÞÈþ¹8ÂBÝ¿ŒýØÆ”þ¡­ÃÖ¥_N^E;î-érh?Ú[+ûÚØ‚⾪uÓ:C™×6AyxQFç·””S_Ê­g=6©;Š^Ïñ:´¡-ŠÛäíøxõJD+Þ¿©EÉÆbòÜ>(}ä?óÀrÄ ­ßÁb0Ùnn±¢þ!Ømáu\f1´Q‰6“à÷“C–7g*ø|KöÛÙ™K‹gêŸP]ÛÐrúÔynZ4¬b´q I¦¥t¹¶“Í$eËž¯hv¡­â¦É¶„yÜÂ-){tSõÁ…m4¥¼4ùËê0‡>·Ü¹N}Y(\=pd+·û¨¬ú·]äWTÜŽ_ν±¨1Ÿ¸ùFêFTlÇ"—;¾è°ôÅ×»kThwäÕy'Í7”Eq×ÂÒÛh–Ä7 ð@›Í¿½¦G9¢Õp‚Yl"*£|=¯ÐqÜ„¶^‹kPØò q<£r)Á›Ѽ? ù|>ß^ð Î{qê4íZJ@ LeÄ?—¯ùÙ€‹Sn67FÓšù4³çs¦êqäADádž_aº–úøØ·ÚŒÉ0æ÷…FÚí~ßíTLÍ.S¦´<í²öÑ›ŒÙS>GÅáøÞëÍCÄ`6æi2…{_/8<¿Xü#CÆ ;\ž/Ç–t¯ ò›4? ´;Ä1ªFƒÖδɸϠy¾&Ør­58-³=t(h08áu%NK÷ž>*NrR¾·y" V}roÒÖ¶‘¯`'wåƒj%ÍWÕ*^/粄××)î::Ÿ.­ù<'³©D°¢”®ä‹EKº÷ɲN®Îp}åä2õÒíxÑôH«è\ äÖ†'ͧV…ìæƒàôj̆¨Ý—A’ÀÏ%Å÷k‰ál']IÞÔ­lˆ\‘}¦çâÃÂ×M»i$ÖÚÄ܉’„Ëéž4½Wÿä:M'8g#°X±ynÞø\0½I'`Ž2›)XøS½/Û˜[]Úy“Õ̤ҧ‹'ó=’rPÙo—*ˆð’ý7àYë™Ró’ÐóZ?`JÍÏY.9Ý™ùÈ箳¹g¼H27£U~j˜·]Ñz ÕÅ¡cȳ¸e#ΣôÒñ”¦ŠÏ$ܼ–šŠ6½2C|¸zmB[bhDáB>ŸÈüîɃ¾*:žNd"wŒDEúy¡óŸ9#]ýÌQÝåzV§%Ñy‰•Y†²Ø‹9ïôFÇ«N›òW¢èÃQ@‹M?43½PùŒÎoP1:w©ï⨠!ežêî8]9ï/GÝq"ëZŒ®i»V† F/³W¹çû¢kê@·½EÜu?)uûŠ à=šuÆ=«yn•hÖ„÷žMÐwh×úü~ÏÑ}ƒçã©g¡WŸâ‘—ÐýÔfõÁÏæz-@×¹× µN.:ìóõñÙïŠßÄ£ÛžÆçßG×9Ù¥ËêQ?ŽW£Ðð| VC­ìøÕ}ÊPbLhѧ[ ´º€Ò°­szf¡0bù쥧ÑfÅŽÖ}Ö{ ãÒ‰ÛrvÎDÇS­+ š£õ8šˆÙ"ã+¦Ü9½žòŘ2^wÃ<[`C@~ì²E\´ŒUΛ˜Ü{Ü·/ºÇ¥Œ›;‚4[×lMVxdD;ƒîþñòkA}ú`ƒ&1Š€P@ß÷0&€ŠÄM\¾jçÇ~äU‚®I·7Ç'@ûŠí¾üÅNÐàþ"wA̓cà¡¡|TðœCç>àñŠr$ÀÍñ÷å8½\|¿ëjJâ&ÍÁë.¯ÿòÿB„°ñà¯âu ºîA!-ƒGÕnõ*YøøsåÏ€UàqÆô`ØOóœÁcÍçßçtO þëx=±_ŸÞHîŽ]ç_ß“îw# Xô!ó.o|ò\ŽQ>÷ó¸¥&xŒA à6fIs³ÄÍàÑ.â‰ÿ¬O Õâ¤QíYPÌ>½Ùé¤ d^æy6¸ƒX5 vÛÀJ4Ø’A8(;ÜJmgº¤R®œ¿[ÖY<Ùø’ÔØÉì“å×~§­ùa®{Rºûöuæ¯|£³®K÷¸yš‰í vÜßlb¾SýÛ8ŒÎ=Ðô±¹ßîÕßælR=Õ‹3EÇ¿LãZ4öã7êûG“mÍ?¡¼{ø¦oÒP”3Ùy˜M, O›9¨Iš“ª~úp4*œ9ÕûTZŠÞ»ÕíÎîãZ-ŠŸø[çÊðå/Ñîã_“¸E~(ðøP=o¡)ÛhCu¾(I ­@å ?1e«öïÿù*Ú"ÁR·Bi‘C¶BÑ™9k| D™ˆŸÉò:(Y§çµmæêØêí$6ÃŒ­<˜nns-ÎÇC’V¢¸íö­*g£ýúNcö~Ø¢®ræïŠéîžn²5f·Þ(©§s¥~b¶|×Ì}ja[x’Ÿ‹Y…÷Þ<ªºÄ¸vi=eÍxÿª‘å` yªìÁÕÓ騌§ùT¨^C¹h¶fv7—…Qpò=1]ÃÒ~žXíÒ<ñ¬g½‚Ñ*ˆæa¡ëõéäBC½3Ÿç#©Š mèùõxÕƒ‚HÔv¢9SèDìQ£PºxË“¾FÏÐ]°øÏÚIÁè:ÿ/Ei!º®æõ–qâvt?B°C zÎ*{Ó3bzaßLéÉ‹èã о üŽnMøóÍãÅcfm˜ºÞáë ÃyÞWæöz˜Íþ-ÐsÌbb„BëæMß@] Ê@Ãø—C¹Ÿµ·‚>½×¢bÊÜ•ÑÃbÑ©BåíQ|ůB蕇¸ã9ôÚŽ¤÷>šÎ&ñ=ØšC#ÇÈݹ¾ûôÞÈ~sÿ±e—޽¸¼—}Àóh˜¼»ÁFz&'…>`IdO£ ÁDÄû…}›9·^z¬¾.ë²¢í;p¼Óf¤ç㞥àr€¼–ÓÁXÞvàJ)§ 4g„£CSJ@Ïs”ÁÃóÝìÚE‘ =4dè^Ï—àáNb¼Á-<îÃìöñàÞ¡x²()ôm׋Òc>‚kŸæËÆÛû‚ÛÄö‘·]âÁ0@'“ åõS®ÍùºBŸ¶kÆfpYGóA@³¤wÕæ} @{å[H˜h2h'\ü{?Èd‰§·ø·Ô·/níäÚT× ®À”|þ8¾$#×—fHšß0P^XÜ¥xñG¾%ñKóÁâ±(7òmOo½ÕÊv‡%[éû‹\lA( \F°r;°Âpú5sRâ[~Ï—ÉŸ±ÈåLÞÕ3ÿæ—¬ÓÝÖŸùÊ~••[›Üaþ‘Ø„sØ“ö…)\µ;vÀÀZ&µõã0ßoÎ3Ý9ôó‘b†ålÝhu¾4˜ùS}Y±.s5SM}lâ c~/çó2­¶·$À+°/!qU˜êÛ§<÷»fz‚õ±åþ¤9X`·•êÙ@Myý`u™ö­`ÎëßA´²<ØëûSI¼ÊDpüB9j Ú71ªÜÔg‰¼ÚœºT ¾Ò <\ÚV÷ÀÝ3]öï|tÕëšmîö\ƒ:>­½pœ/›}½Ùo8Nz¸4.Lý\9]Iû¡kG¥‚s[r €nê»Çvݰ>ØÚ„väEMèzY+>ŸÃùÕ6¢ØIēʤ¹@Råe¾q]=8Úäð ˆqŽŽëh@1¨gúîÓàPéTYõ|Øß°$B\¦þrâ²Wk™²Æ?5ŸêELÍXÊkesÔ”+ÊV­(Š~2-ÿ^–~ñ]$[ýà(1ê1Ÿ—Ó9"[ý|ÏÚ–ÙOÐÊŠr²ÙúÄ[šßuAkûÀç'ܹ:AäK>XÔŽÜKÆQ=šŒÉÂP^G0ãP7³tÖ [Ô‰2’>ˆŸ¢öww•.qê7~áÚë„—<æÔÃ$ÔÙß–=ò:º âuú™ÌåŽ z¡«‹ëm®SBí¡£‹›{¯A×V¶©†ô4]mm£F÷¾4½ÝÿË×YÇ×Y^£)·½¶ð>Oé«ÏMEÛ[Oãž}CÏ;7ß6 W—ç[ý}¢Ñ/†öù\=Æ=­Â=è{t"÷Ô ÷[1=úrmwH5z|îÔnÊ,ô)$¶‚ô¹y`ÄžÛ[ÐÃ!ýÑsI4zÏð¾—p±z”åÖÅ' ïÓAßÛFŽŸŽnm È Ý«y]¨ÛíW/ãì´hèMçDèÚŸS‡¢aÁuŒ®N¼N{ðrZ—ýQ­#ÀÒA¨ÒØ€1Ôd6ëTãÍÕÁS®±ŸCQñùüØCÁ›Ñf‘³ŠQø'ùYS»ýh²s×;“øÙhAb3ÃÐøüNBÈfK~’ æŸE“³nL½/åÖƒ‰à JbF3æ0[’`öµh; /ç~”ÓË’MdÙ4~W$£ A}—Öñ ¾ ?³«É1Pï%ëq?pŠ8|j–¤\ÌT¤+±5]ãkcvׂžáóÓtæ­[oÙ ´ßc$(/¯<µÞî4¸œw¼P¡Wß—çÛÝ /28| ÚÅ)Ë7̃)§,×¥‹×|>8 ¤ûðl†ÿò, J‚ù †.ÜÉã :ÊIyûÛ8wíí9AïX¶{G)¨º4‘Àùõ§¶3Kj hAsÏAÓnVã»/é L\|î@C xH}‹ Yè'^ÿ\¤Òî㎹€r/¿7QÓä¦ «ú[|ïQ&8Uw.œþi5H.^~ç¸ìax¿‡SË@RÓ}v‹A«@\lÙ.ÞÐÄ/¬|®%HXé¨’í ¶ qX#@øb{ܪíÜyµùWÿ }–ƒh„þø£–ÝÁä„D€Y›´ý®ž©L휈¸”+Á,Å hZwlšåùü(eJC޽.Z0úCðR˘ܤ#Ѻ¬¦òÙ´oŸ z‚y½æÕŒ‘÷ÁzÏw·0£¾?¦|]5¯Á$íÏÐ/cÁvéB¬«Gã±kìÁJ5úéÜ9•`j?ˆ¢˜ª}HàXŠ€ik¦f\ëævž`ÜÜ©¥å¹g`>uHÖ«_)LV×7É^o¾‚q…Õ—ª]µÌSŠÓuÄÖ”}8ñQ›…ýRÀì–¿UúÕL…Ûë¡»T0¿­‰LBЦÁéÄxÁ”÷»o¨Ñ0ÅàOšª/SC7æ6‰[;»){½Ýå-UÌûvt.ƱD>`Í”ì›ö»ý“þ„æÆ±ßã£mÿ¨·)Ï‹e_êŸES?iYõgöÕñQlË;©ìãvkFïÒ±¿’E=“÷BpûͯuìQ:ÎïËÖ»SÃ/Z]tÝþÍ …_æÆwfÑÜî) :CËf”{…OÕÅíN<­ÏE鹓Íún‹Bõ­ä™š…[Q65rÿãÍT¸ $ÂN”^hÌ·è9õÛ¨Þ5“çÆ…X%¢‹²cq¡< õð|eLq*j'“8zÔ ìƒæyõC]×°mí_rÆ>KQ}XB ¨í–—è‹ÚûwÚ–¼Ù‹êuDÖ¼^³?Ì0BÕ¹€î~ÏD™{ 1ž£²¶mâ…)ŸQþšÄŽMDE?>ÇC=‡\#¦hÆûKÈÁ(WxT¢¸oò¦n(·ã÷Î’H÷É'w=CûÁ듚.Ë@!ƒÄ_CQ3"´E¡Ï- ?_l=²7ŠoX˜z­ðEÑêõ™ÃJz }^¨OýM4êºíýФèI~“6Ùh3ê9®OG±’Ÿ+YæÊø€b4Áç]šÜ‰Üâ–úHÈ4tó¿¸sN6[ú9èdÈbS6ûdqJ±ÿ¨GÁgÞr ùñý=.+‡RŸ#³§¹ÑΗ lÍ¢ÜÃ÷&=g¿’Xô;_ØGZÊùb2_’½bŸ2M¦µ”S±pXGm #öÞ6:fËä<‡ïŸ˜ë–_cj[môñææ‘u·35W+wk¯§ÙzÎ0i‘kž§-Nfj¸Û®ª@&fñc3F€UÊ'çúëÝ+}~nbj¯ÐʦöHÁþâKþ`>%L4ió6OãuåÆe;{R‚ ;A2µwb|¯9\»áij„)äù°LÅëOúŠSv`üè–'W逩ŒÕn“ñɽ†¿ËÔyYfs¦è|n¼ì +˜ÏŽ LåÈ·ÎõÚÆÏΊY™’šûS7›0k+æåuôÜÏ4’êp¹óÙ³IÃüÍåjѵ SW£'@'&“b1æ1E“¯¨w~M`j†SA+“KñÍÆlé6·ã}«€MÉžJ²˜¿TžÚ…-œ¼¢ fb›UÞ¬ÌÐ/ŸÉ¾Xp<«- KÉ8»ˆùÄ’ú5&åéØà­ØÚj…SJ+ ûK>Ë6úC;¶¤Óµ¯-—©ÙtÊf’øgÓ ÌsŠe7f×ÇgþcÙ¬…1æ%£7²%Ò»“ÏÛeX’r5hŸK'BB&/.0iæ„j0ÏKzu¹ç0žKy¸L…@1õ¦C°x?Œ,zÀ¸Ò;øÎ¥¦`Kí|³A—x$ýX[Ç œò:r[Î$ÆNäsœìLïz¤ âį$°DÆÝï­.+§0b‡ìнü>LùˆúšÁe9õ¥€*c¼Ç€u. Òó}ìeý6ÛùßÀùì½caÎF  !×ÑtÐN=sg¸fÇíÛè ÎéÀœÞÝhXø×\†û.Þh7Ô­â›UEˆÀ9{í8Áß º R~š÷½è>dYT×Ê| ¨ª, ×MbÍ—qÒ+/Gç‡`ykx«½5«Ár±‹k™…ECŠÉ>¦â ‰YΔó¹IÌï5S–´j &a¤ÍêÈùŒœ¼èøæÝ@·-¹þ#…꼘«/©Ï…)ºÒꟃ¬Œþß~²Àk™£OÄ?&wø¹Æ7Ùâ‚çiÏ~Zxÿ"ÆØ0ïHìXÇëLÙ—iÝ1GK ÎÛnd«OSÿ û–¤‰9·f¾í§óZæ·3Ï_{Ù~JÈà99L&I{ïrœ)Kë0öCwš{Â6¼¼~|ðP®ŽHäÎîhš|j33æ1 7Ü%<šœç¹+’þ6ß¿¥lD³ ÄÔÅ­Œ·Î]è…¦m¹S%Âú’[“G-@á~ßä‡b6Ç6¸t<Š.©ðÒÆºð…©èøýv;ŶN¨Åó$'¨ ÑÔwŽjË'ëÖOsF—®ã"Ú v9å\ ò'½'QkLsePYå¹"ìY%*–òu¶â* ÞEEÉêP÷@çì·Ç;1Gçîi7[‡šQTêFÊçE§Ÿê'MOÆ vÈæ©ë ètè‚Û–AÐh¾+w_ð<=f¤KmwkTE8ú (Ë£ç)Jgûó+»;:Þxá›SºŒ[”ñ³igÔšŽ'Ê+T<®ï«Ø uãIŒ«-ªOtË}ùu7*?^™ ¡úß:" D…wÍGßDEé"àFQ)÷øt¸Œ²G¼I½×`1E`‹ÎâïGr'¡ê =÷Ñi.¯Bí‚öyÚØs(,V¼´w%JK“ž-.ã~^2èŠr>÷EI¼ÓX”fؼ銬\'¡õ” ïÖ<š…‚JZߢÀ?!ó$“ƒF;=9ÉdT{WŸy•Ç6üñá.Ô©ìM2¶Û»…©Ohþ䯹}LÝ|—øáˆ°Äì†RC ¨Oî-,¼ôÓ ßöÛÕ ä?‘4Áú,õY€,tNÚî’É ŒópœBPÔŒ©>yд¯ö8Äõ¡Ê›¼8ºÛ-6}ØÐ´7즇÷ºúAÖ‡r¯_W^g º±Y#3Ö€ç#‚~Ű®a¥@çµMÓ>Íô¹®×sè&RþèŠ|C£~Ž7#<ôaŸ;H=màW±ý@ŸcÜbä/ hwŽÉ]ÈC±~ÎûÞàÖŸÏ0Ì¢ómÐGt-_ÿ¡ —š>,ó¹ú+ÑL{Ó™ k¥¶œÓ 4çÏëV±­–Î À‰áõAŠÑt5Ÿ?¤þLР˜Íó^ʼn,|4ˆ( ,ÂÅCÈB„E{ÁŒf`µj—ÅemS¹éFM÷@îž4åº/M'°îŸGÆÀšÊ¾f ×T\Æ/é~‡ùrvݼ8÷žLeÁ熰%¢v6ÙʾnðŸv&¼;óòE^ïøÞüøÕ}™ªð®³W¦aJNL'‰™`lÃý:×™ÜÄŸ \W²Ÿº…½ö,Œd4Мm¶æ' ÀiǾ_x.'¹2‚}»Úg¿uÃ(4?ľ¾½!†­-ˆÛ5pd+4MU]¤Z‡‚ÿr¿oW‰ÊQð„ëâ‡íE‹±"»p}»‰g<‡Í&¨oL¾PÉVž«{­ä†&Ëh^Ê𹉟à*$´¬¹áÃûÛhZKõsh|•žólÅÐtŸ‘¿¸: Ý_ªO²UÓ¨þ ­¢Æ’&[÷dË·EsZ³ùn^õ7Û„Bgšg…V"žãbÅë&ÐþñhbXa 3(GœýMm¨‘lurPHËœJ4õ³øíJ4ßwÛØèYhdDs¨ÑTBsoØ‚0‡° ± ìoÇæ)=~öeËçõx¿áÌU¶jñ¤“w7„ …ÉøÕ3ÄìïŸÏˆ—ý5’‡Ýg«gFØrZÿ›ëÙêWÙšêw²µ»÷4å,ZŽ©¬]Ôˆf‡è|„m0›2¯gfšM¦}ŠåD®äÎÖ ¨?í(>ÂM¸Ã^S9Í~úE{wéBk#î*C¡ Ÿ/eÕHspÙ*’:߆Aaõá¡õ¹Ö½"&ä5ü~/^8Rwave/data/C4.rda0000644000176200001440000001121012377701075013211 0ustar liggesusers‹=Yy€eŸ,e‰v%-ÒB‰RB¥NZT¤Bi ùRiQ¶R‰¤UT´Œ†±†Á˜¿;û>s·¹wfî,w™¹wÆ&QIô½Ï9çš?,wÞ÷½Ï{žs~Û3æáØ;:ÅvЉ‰iÓ¶õg[ëŸí¬ÄœÓ.¦£ùü¡ÖŸ]­Ocx³ÿ®ì; Q÷ôÎcó“þ£Û: ¸©é}>·ñÓÌ›cçgq½Ç<3=ÇÛ®‚gÖb¯ïø2r·^=qê2xË_.vìÔ_{]¿¹¾Fé½%wmŠ}™õ_.ŸYûZ GÕh þ5íôòªäüñöƒ]ZnFìÊÙi¯-ú‡V~ùǨ׺]ƒÂe¥oßsêZ{|é¿)×Çcû†‹~ò¿û<åe[J~ù„“ë­'|ŽÍ¥çMzËÙ“v^²ù–ÛŸ½‰}nèü^ÛGaoÜxux›ªì ÿöÙ`jx~·}Á'{‘o½Í{î3´wiß6ç?~?ßvå¯çÀysÞû ÉQwfÂ7Ž'‡Ò¯Ï®½ï¼ü‘°5·üóÐòšwÁ׫Ө¢Ý¡+.weãý¾p¡‚#E§.KFyºYàò:çžoãÛ£fÜŒãV Pì÷ÏÓ×ýG%ßÿÙ÷µH9Uÿ÷ý ³Ç~…ŠÙcÍ›ÂN¼©8rǤtÑ@Ä_ñïÓukEë3ÿÛòRæß´]ÖG üuS)þ'×oÊx }]Y“/y€Š±küs÷o¥ÊY‡v¿wMŽ'MÅaçeO$ŸÏð*ýÑæ•¨9±xêïÃฯòƒ){)pŒ7†¼—^Ü>íœxë~W^Js½ð)Õèßœv‹ßŠyqÖnõY¡J÷ª+nùq5[¿]²ô;ì?:гnr5¼ûåu«Ç¤“Së².n»c?Z­U?Sð)ü[M!¿'ÿ³Ü°»O³^­ÓÚrʲŠôrÙƒ”o]½¤õ-:8'Ïݱ’ËršÊâÐÆ£?'õëŠlÓ¿ýD¾Îü¤KŸPö&~¥¿ïítßLZ1wÍëVKS¡µé/ÞEâí¾€ü/óùo¨1•F㪦€ÕãØÿÎΞÙk(ùÕ„>'²ýЭæ½7sWïTc =ˆù¿·“í†ÐØ¿Êó 7ì²¿Ô uB^êm‡Ç•Û©Ðúò-ßPÝÇóG\wÕKßQŽùtú,ä›å¾½.3nþŒ½ß ·&¬š¼æö²­ä 6_e-¯§¬XÔç*;÷OëŠ([ç­Û #¹¾‘ãò)öóÜ ÿåVi~FªYfi%6X«ºý`W³ÍÂÿFt΂“Ìg“çLÎþÙŽÂøöcoº<“ŽÈ¾cÿ…SF9ßBùÚ_µýºŽkwÅJª™Æ I©V3šw!öXÝ2Ý·‚Räs¬3cwú8UZC5±ø%4Ô˜h„O®§:oõ£›—\³ ¼æu¾ÊAÝÈ\³ÓH”>@†Ì#ê;%Wíç¤L™g´*ÎÛõû‹.æCËã†(·ÏÀÍ–R L7@ø`hëË?àb:¿¾Ÿº¬[ÿò¥®hÐûºOû }/úÍrf§Q’îÓ6 åÞÙy¹oÈgÊwÕ6ò8´&—ô ¶¸?÷K$ʺ‘)õDÕE< ä7«nŸ†F–+±ôÝŽ§ÌÕÏGÃʳšØ6óü¤U‡°]ú‘Vs{Í¥|ÅEà"}+z¿Ë\Óåñ¥ºžÐµË;¶©=‡vðxÝB­J[PMvÑ-°˜ö@1 ¨?‹ûöüvçO]—àŠ–ŸÇváU4+†ùq÷‘ÝÈ—áÕ¨q¼µâa;%ˆN¡é*ä˜Aïxg¥@yÒ_äÒõ-Ñ0xÏoX·ïòX Â(ã\Clq2Ûžq`5׫Q¾öQ±âev¯é­¥ kÕbs¶éçÅŸ?d}r#Îß7ŸŠ¼A‰ÜVí(ÝlcÏÊð²ÀÀV³‹ ÅÀÎó{¨ÑŒõµPêçfVÃÍô:Í:ï¡'~0Lƒr†³÷È7ƒ¿ˆJ ZÄ)`dåÒÓéÎ7P–ð*OE¬+W#nuêyÁ(,ý¿àò¦æPõ(©©‚ÕÒOäÕ9*–ACŠà•ÈzÈ×–åFFüy0ò+ªåû|mÑI_/>½F^å±*Á3Š“q¤€ôITàˆâÇ<ûͪ#*U_ø,𲶘 V!ó%L2 Ë–Vþ¨ŽØ±Þ4ÚeŠÎB©%2û?Ö„îC«QA²ðŠL›žôÁo¶qÆçø£²›é,d-›fNW4›Û7"8Š7~.ÇpJeúíGy,·Æ!Gxõª|ª'v³<êE¥F¥^»»•'*ìôבûcO“Kõ&dýd9weÿ€ §Î·[ö^íCòÃS®÷ç6Q¥öO´_…6ë~@†àÕó2:’â5td §Õ}yQ½Ëpµ>Òy*R !Eû-xÀÇ$r™©êë¦\–qÓÑ$ú ƒR£S£à?í2è1ö&쾓¨‘åÊÊdY1™Ò‘ï>ýÇÞG~£5ÊõW10ã˜ò¤ú”)¯º®b! /÷rJ4l5ûòé÷x”W³oj*JÊãÅn–,££'ŒZ‚]L«](Cù¯À”uãR¤ 20’jLY¡åa,àÓfc×ú|JÑÔdºkœ‡ªx<†Q•øliŒÀX˜n{ Q}ž‹idÔYÛÄ0ó:ŽïC­¾êÈ–9<˜Å°<; ÌÅ8É®¾©ÖÈigè„ò™®{ô ŃNêâEw¡ai”·Ð*uGPp™¼]W êÕíf¥ õs!㲞Ü@añg÷#Aß7p“Ì‹‘oàtÊ>¸¹¬Öûšîzó6lÊÅÏæõ†þJ¹N&JQ¾¯àr ¡ð`CÀÁ´36ÊÓä0W-Gul§æ(uàŽ‰î+²/3ñìÚ7ésP¨Jæœ*µê¯¨ ÀNžÖªþö)Ω®%›ô;¬0>ñZ‡¢(¨s§¹<šxé¼ÀcÖ¹ ¾ÅDCåãÁrÈu»w/Åiž°Yêr!rÔ(þî™°î˜O êƒ\êÏýêCZX®ÍF6ÃÏtصžëX¶Æ" ÏõÊÜ"[æ5f›éüïVž«ãe>JKU?®Ôýun3†<ÕjNV\É‘uR†Î‹ÍêŠö}ˆlñƒT":Íz_S°ç)]ýp¡uÑÀ7rQ'ó…(ž§ S•à"2•Ï›Mܱ܇JÓVý“P¥÷‡Õ72ì@• ¹ÚR¬"mñ{(2múÀ~Ês^k¹¢ó±ìHòšíx4‘læq9òkŠŒ ™øt½¶þÔçì<‚ÇØä !*3mtÁ7ô¡òäA~íþT"y<ÞxH; ;ë£,±JK•z]ˆÛý +OE乨O1ÀµÜæõ>(¦(¾Ôª^W}LA¦Ûnð+ï&öàA¡Cªš…Ç(¤~³y°1˜¿KpuŠ«Œüoù%¯€GqÛ¡z8WõttþtþéúL°¬íéÊŽåÔЃŒrõÃÝÏ å­xÍ½ŽªÏSR#¸ùê mÛÍ„R±Îû’dü¬#Õïä`»Ó÷¬oßi‰ƒ‘¹›à6®ö‰(š+”° Iå¢ag[|¼Ú? CL 3eªc²„‡)"ÀˆTÅŸ"KU·]InÍìšÇÔ*Ÿzu^KT_4H_¡Iò;ò+îÖ©iœ‰>VœÊÔþò©¶›ñœ  ‚Èל/K}·[õW®–£?Ú‚UÚWq,“ž€_õõ:Û^(·ÈbÈÑ»($¹¹5×p©/‰êñr1”F8à„[ð ‡åzìU}ö‹úBõÓKCÑú&3Lu¢$õ‡;õ÷[5߉¨NqZd5©"‘jYöÜ ¬ƒ\ÊsYÊ%²ßT <O`òhF÷c§Îo‚êÖ*ÅÓ£<~÷“Wý^ÇŒ=)“éàn*Ž˜F¼J$?¥FÅëá)ÔÎÒõ¹’ÿEq‹¢8rL÷i·àiÔS“±i‡vÓa­Oó›æ`§±FtåJžL.£*:¬A…æ&ñبzy¯æ©~é8ÙŽÆ [umDû_ó?¸§r#ÓñqÔ¬s˜,>GÏkaAÕ]Ì@÷"¿æ¹q,s:R•….êÕ_UÈï)ɨœ§wAûòçà©b`#66j^«sGùâcàå2M'7ÿ³TÁòn<¹Yƾ W„ õsp¿ÂƒŒ|훊‰SÍ„Q–úÀ(^§¨ßHSÜw0].¤¨¿©Ò¼´ÅÄ.)+P¦¸Çe}õâ¿‘'<‚*=8¢xÓ¬þÍ+¸C‘˜é> J°PseÎip*Xòè\”)þeŠßE¦ÙÖù»‘Í6æzdëûUk?†uÝÊ?u:'!Íï³ä<Ííš×VÜÃBAn×p±Ý~‘ZT÷S^­QŸž§:Ø£ú?šóGu|2Ûç𰜂‚’ƒÂ­x]¸—l¬RåÕ¼¿LuqDrlZ©z+]s‚¨>×ù±›ø…Âp¨¾ôk?$¨,œ—e^&Ûû¾ä|D&ËïyÈ–}B³\‡b9ß 4Í_ܽ ÑOƒæº”§}™%zœ²YVžGeÊ«NésJŸäM<¤ú‹ªuÿ4!­¥øzYNöA8äƒ ³ÌÁJ7U§ÿ ùè2Ê‘ü'$÷EPsÎZÑihÕü½d? Yªó&Äk^¦¾‡\z•êrÛ4 (12'Í…m’3Qd8ÎÍù'™8Îêj»Q}þD™äB«¯ÍTñ­ð!Ü’SQ½¼•ȼ!Otr$·%Õ‹8¦e¨Nq³½ïMYzîtTsƒ,ɹ(å+ÍÅs´žÁ™µ–³É¦&ˬ[Ž®¯Í „(SóÐ:í“Ï4OÎ}Bå,Ã>ëçý:'F~oþó”'’îä@=h4›¶ .=JQS&çØ¥ú¼Fë¬yÏÙ\ÑÍ0Ñ)ê·‚ò|ŠŸ‹rñ¯Q½†¶9#©:1ǺÉRT"ú•BÊ3aÍßlª‹ÅïÂ?t`3ÇšÁfdê9M£ä5Q^„K|X4ç¤,C{ïoDDÏK÷èþÔ¨žˆÈÜR’èÙ(®Ñlõ5¦±6äT h~»U| åˆÞ§P»#ÀË»Š YοC•Z¿ˆæ*Añ”ÌÇX½Q«ú©Z÷kŸâx}G4 ÿ €eÜ`847ôêyJ’øhd˜öÉ*„[s]ÕßT«9K¹ð)viÞ“§y|žû¬×sÓÑ5Ñó§³}V*9¼šSkΖÇíچªߎ©ŸÛ§üåRÝrØLã@/Ò%¿&§ÖA}èùu®êž=ÿ i_F} Î#Õ°\½†lÊŸ^õ!増`½íˆã¿£Eö‹Zôú2Y/*ô¼Ñ©ç•vÍãí38h¥jí“<õÎùFÀN¤ Õ£sjÜÿqìäíZ„ˆøR8”7rÔ'ë\Á'¹)žmS!ZÌË}‹å\‹véyST—{L*2©’l›–D<ó®¼Ü1 Rwave/data/B4.rda0000644000176200001440000001122312377701075013214 0ustar liggesusers‹=Yy€Íõl…RIZä—v%I%:­*ÒBI¡BJÒ"KEH %QI¢±dgÆ0ûÕ,Þ̼ýÍ›7Ë[f5†±V´ü¾Ÿ{ï›ùÃð¼÷ý~Þ½çž{ÎùlTߣ:ÄÄÄ´ŠiÝÊú³µõ×6Ö_b΋iÓÞ¼þH?ëÏNÖ«1z9} ©ê¹='fÇý‡);.èssÃ'TøÒ–…Y7ϧ=_­¿eø 㨠Ç茫ûGÈ;m¾/pj1Ü­—°˜|ž7K>qU_{]ïú|KÅÝóû¨O(«zù’©•“©©ï¸O»•=ðÿYR– çOw¥_Ôt+Z9=uòܳX¹üä°É]ÿG…‹‹?pn~>µèï¤biç¦K×güA^Oɶ¢u_À1®ÚºÂ×´µøü×ÞwöÀžË¶Þv׋}iWÏ;~Üú ²×oé^»Æ2{Íëu/j^Ž·úÅ~Ê·¾ÍÇî±Q¯V>•L¿Üyõ¯é3 ÈykÞ'›:RÕ¿cV8žˆ__üyÐùùCÊhl:ûè¿ðõŸuñ·«SQÚæð¥—#·¿þÁG^9J‘‚£‡Î]ž@ž4sÀ™;oÀw±m©bä”SV ÈœqæŸëþCÑgzM®ó ü¿nœ>â*>Â|S žk*N‡§ ìi?нòïçžìÚLÍ/¼¾í¬?±S·¾ÝÄ>ôÌÆß3_¤š^®ìq—=íýÒƒÛáŸv8þ­õQƒãSq²ó±Ç"0¼žç?ߺ²cˆÊ‡ŽµM8þ09ùçß¿ ¡Üøºtn›z^,Ù´ßþ.‘T×+ Q¡¿C¹mæ¿ó6­·ºÕsiüîUWÞöS4Zÿûå¢ï)ñX?ï†q5¨™±üºÕÃÓàÔºG¬7·ÞHÍÖ©_(XHÁí¦? ø"ìá«&Z_…BÁJ§Õrd[Ez³ää[ïþ²ù}¤ÏÌßwÿ¨KÁe9Ÿ6ïšc*K‡·û%®w'Ê1ðøm-ù”&8AÎï|¤}ëë0h*–~´æ Ò(´šþê=@„Û}1‚oò‚7V˜JSýª†…qJüpOœŸ7#”õ͘ž§³)çÑÛ7Íúx 9̧nI!Û Sèþ¨çÞ…àÏ›"#þ(¡Ü/d—þ¢FêDy)w鱣кù§M+Pµ`öîÏDµà¹æÕIÓ(ß÷ƒä2ãöÙ/´ÿûÁÖ„•Ãg>^²Îpã5ÖQ¨à¤¥s{Þˆ’vg¬w|Ž·†A{¸û½›ë½o!%òÜNÁ+2­ÒüB)æ˜Å~Údê®ôNÎ1ÿ“¢s~Í\p:¼ÿæ¾;æìN*Œm;âæ+²pTúN‰—Œæ<¾ ùНÊÞF¶¹r%*&2 ‘b±ÿ¬KhŸ…–I¥H’×iƒ»NÁo ÕXÛTSa¢žò~ìÖy«~¾ñËÿ%'Ÿù:ßäRÕЃ¦Ó´Kp@™2TÝaóÓw.˜ˆ¡ƒÕ”]}Ó®Ú>!Õ á£5Ø,™/Jn5ã¦Á6ãa·gg­õ,à¯Ù;dîRöüU¥ÁÿlÕo¼ÒBRؤ¿ÈæcwD†œ‹´¾Hàò½Š\zrÞ¡ïP‚Å®I§_‰ò”¿2xÌ  £¹ðd—~Ò~£ù¥ðŒ2/œ ‡a髊Q'|‚Œo{/ê6M»4\üׇ´Ñšöê?Þ„»çikBnE†ÎkÍpC\ÙH3,Óc Õ´ªŒq¸[–ñB†à ûÍqR~¢¯”¿—h}üÊ›‘;L¡ëàíóçzëÖ¤sKŒîw’Qzu3 øMðG¤x‰<|¢³oÚUº}‹j¿\´Ò‚j»6·[–˜‚ú¼KÝúê:Øõ¼ÅÁï‚;l;7÷[‹¢±ÝšÎŒÆ£šÃ¥,¦ç¶”õÞæ›Ð.Á¥iŸÜÊç¤ã‡¹ÈÉ ó¬fÜš7‹*¸] ÁÐè¤r*äã÷¦ú„òƒèÒ™ ”M½… Ã}±Þ9¹Ú­Ê ÉÚjæ™/òs9fPPñåÐ>—%òD–Ì35+ÏÛõþ‡:󣦧̢¸†n¶#4ÉáZ"³¶–Ÿ$¯ó)°¶SzÕÆ‡(_êJ5úy§ö)Ѭï¹+(Ýgz*â´O;,–ûpÏup ß `ÊwÍø fKpB; Ý·[N»äÜ”%õ¤²Ky@4§n›Jõ,WFáûÝÏš &W>/8xÍVžÖH¡S/Œ[u˜v ±šáõò•½Â‹øNô—¹Æ>Ýã‹ô<‘k—´oUyvóx݆f‹¥-ª†]t Ù MN“ †ª[øâÀ¾ßî^Û‰È%üF6¦å—i§ìUjÔ=ZË—»‘/ƒËÉ?äTsécvl‚ Á y¦àCß4£'ø‚K϶Dýû~£ ®eQ2ۙŶÓöÌt®ûºÏE¾âȦ|™sý¤öÖQ({Õ|ó Ú¡¯Û¾~Ôzå& 9o=W÷.v1¬Ú Í´±G.2},0h»éâ}¨ÉÐÎËûPoÆúÚ“HùÚ4`5¹y½~D:ï‘§4›† |¦©™(_c¥#J™(©\ðŸÎ‘M’„ïP$çA 5yŒŒ8ó‘‘_ùû¨\îGáÉsÿ \ï …¢×àÓ=V&|†õ2Ž N¢:€Ž*Ìҹߪ:¯ú"`‘—Õb¬4Bæ+l~Í|$X¶|ŠZÝß!Õ»7 ]NaÑYTl‰Ì;žl ˆö¡Ù¨‡§†S‚ì7:d`úW€‚¦S¾¦“þ®Y”½x¢5:¨Ñ|¼~ …‡q£)ÈåŒ^¿½‘Çrk$åÊž¡jÕÕñ,®G±Q©×.¡xÝ~#;ƒUpsYºÀ¥z“äü³œ»9fLÒƒäÔùvß>pE±äÓù+ÒývPõ–Î+΂+Ê_€ê—ÍGú ¬Ã<ñøýH ±ƒAžÌ/Ù¸\·`ý8ð8}²µ1üCÉ2—>ð™QTp‰?ÂAõ :ÇÃ&E½%,(a¯òq¼àbGnGÖçYWz©LC}©@ñ÷ÿ¬AµêÌê;B‚*a9ø\Ú¯€êˆmÖ´ÅÛç L÷–Oæ<:ÇÈÌn 6sªv YϵG¾Èy­éòš~™’Ä' ÒÀnv<ªf€ã‘¶¡vš‰qR©êézÕÁ~Ñ(þ6‹n¥PwS ÑÔðÄ®.³BO’‹ewOxRñ‰£­{•™®‡) ~ª²Ž$5©Ÿ‰ê²ÊïÎFðYú‹iꔫþ/äÆÓ:Õ{åŠã"úCNS–ò£ÏlÅ‹W`÷ýÈŸFco_߆5,Ã>€Cy8ú;Ou†Ct>*Ô?¦ëžJ6èoßšV±,‡ Û*ÚHVR,>Iª‹\QŸi ‘5‘T¶Ÿ ¾Ÿˆ<^»ÃP®8=bØnò< ~à)ÌXÐù½iô+:ÏÈ32)i)ªK}–·:‰2ÓuMH}JëüÛú7üêÛD´C9¯ñ9ð´)‚ê®:³Uz¹qZ|(šEgâ¸òÒY–ÍãPª¸ûSýÎYÙ§8É4Òå‚s4_ÀD#ê3ÂQØmª9j•ÇëÔ×ýãê‡ÎÈÞG çýØ->vñ£-zÈ%ý¦lÕ)Á^l4©Ty)Gy½Vt-Ù¥.äQÿV­>;Qýêqng/²[ä;ôàï亯»¥?#·Y«ãPÄ"‰—¶,¢"ƒâÎ>:zb¶qäºÙygŠXêäpü$jœÉDOeªs¢®üâ7ëlÆr:.u¤ð[|# ­ã Ã ô }¼fº"_ O‡¸|#¨ðz(Öï›Üž‡ýº¿D~]ÇeÜPÔ bƒFÛT'×)oÆ™©¹{-öÉýáTœg˼£\ýrÔÏìU.c›6„šu±£Œ8îé¹ ¥{¸ ’|Áþ†ø‡RЬéeIhPYmàýò¨O…·Œ Q]©9Iªö'¤¼ºÏ`<zõÕM&5yfBæòƒü¨×<ÃÆëf4…U }vkñ½NÞ§,`É.y2yÌï%Ç8w£^óˆíZÿ2É·‘¼†J—›-Í”§{õg¢‘%|Mê_¡¹ÅŠŽ¤íÂ3T¿³Us„h~Ö¼Âåca't7ŠÔG{5¿ŠH.JÝkM¸”¨{'Võ ò;Õj~U"A%°\ºqê÷H†í¢£P'¹ œÂ¨Üa‚ÆÑâ¶<Íu£þ(º_ §V¾½ó‘òJN Ÿæ·Õÿq¢ƒhƒò|@÷Ê1åãÒ ¼°P*{Ùúù"™'hŽ‹údC ¯‘MÞO¢“±GçKlõÛ”5€ƒ-Ò¼â„Üñ#xÑaßaJh0výÊ¿q¤7ˆšof0\Ÿnñ—k5gÈÕú99&~–Jå} æ@ˆ¶ªŽÒ<„‚šo9Jxn/åœå‚¢N|!‚²çÈý _Äï|ƒµRÑ(û†T7ey; •Ú—À9&pDõôá” o’æXð[wiíö›‚†î4 ï}#¼¾!/ Ý 5×ÓÜ %¢³ZøÜ«úέu+•n–+É¥:½Hó·úQÕí(U~ξž‰%¼6@RÀ¼ðRÅ—“CökXfTæk~4)O•¹}¢ëyOË¿°>Çð¨ÎÕçaÅcƒìr1ÀÞA–ê¼*͵¾Ò<9SŸ7y˜ÞkñóQ>Õ}A³Ô?Å þÈ«ÏêM¹&®"—>JÒ\Su:íåqEÚwÍ{ZrE·ö!Š£°èĪ~öHý©JuVÇC(Kýp´ŽEª/#Ê×µš¿eÜÆÂ ¶¨î43Ô¡¿³Ô·Ô«¾*U}èÍ9‘-yÕé¾Ü§ý©ç¨S>“=Å¦Ï YŽx6f} ̓S÷sHùi»äfÈMä…‹\sú·6PH}v¡Ǧ³ð°¡:ÍUÂL3w"eã-T©þ­\ýÌñ…T->€ EOSATÇêý|ú<%Ny7ÓÀ'»Üšëª¾E%Ç=íáQ¿³Wóž¨O®Ðç>õ¹éf³NJwEŸ?!St&Š—ñɧ9•M}N4߬å¸û:!99PÿîRÞ9bdf?¥I~ §æBéú¹dÕ‡ÙX¿€ }þ1W›3NÍ‹øòsP©9d†ìWh^@ž1, h³ÛSÇ©Iùº‰ã³ÿ¡„m|«–|Ä©|d×<Þ>…ƒÖ?ŸÇñî«äT¾ÈT½\§sºGy«ŽÇï r¨®ÉÕ=“$ç§À5LØ8$}£€ØDïÐ|ÉO°Wý™OŸs{u¿gH¾óïÿá'Q1 Rwave/data/sig_W_tilda.4.rda0000644000176200001440000000235312377701075015342 0ustar liggesusers‹íÙL”Çñ“Câ`! BT ù¡æ!25÷|eüÈJàpVÙ4ùQH‘¢Lg$ Ë 9–‰˜9y¾ &#BDâùm*b3è¶ûÜýç\mÙ?Ï÷{?»çžïžg»Ý÷ Œò±ˆ²Éd&2¹‰îU®;4ÕÈ&ÈLe ]_LM^§ŽKK~ïí¥¯î +Ýd”V·¿2~ÏB6t÷¤ŠüM.U¼oAXuoVßÍ­×öpiœ¥g¸ò k—æ)B51\zPS» ë"—4dlòá/bûìµ^ǹ°%;ÕÇý,6z§`Y?óŽ„ ½ó¶·p¶}çúh;ÎH¯ž:óoÊ9n’{_àw×>˜çê|ŠUKfß=eÏouøfÆL൉¾6[¶qBÊC‹Û~+9þÛÖ9×¾áxy_™¢²œßìM·ÛbkÆšñŸ^ÿjEkÔãÅ«}qì£ÈÖ=}•ÛºÏ9)2‚c»5 KÖ˜‡æ8¶Ù²Fèð¸í¢fM¬w´÷kÞhíÚ`Ú`<»¹vY`S Çú9]~b ¯Ù^$WŠähe…rÄæ«zkw=áÕ²GAf_†rDˆ8혳’Ã‹Ô 7gðÊW;÷±Ín >y!—§¢8sž—T—z]ÍïæàiaÄuá€ö)ʼn#*öo‘èØÈ‹Í^ØúWc/Þ±+ÓÉF½Eó9ÏŸ&ž˜ûû¹œ«*gßœÀ3ŸlLa•ë`jاÙ{è±…É ž{778:‰½.Ÿœòrü(+ݶ ë½Â¯tÕ×uîåÙ.gÓ{ýfñÌš*åäÂöL˜Þ‘§ñf›¢GÝËØí´bÆú~[ž‘’ÕÒõã6~û]°ß¹"ùû´ì£<Ý{hC[P-;uŒ”̯YÎŽõއ]÷³CùkÇ,}ïðäó> ½ÏvÖåÝL`ÛD«UmkªØ¦}ccH"[ç\=­zé[%iÛ—ŠŸ³eóN×9«RXû2ÇóšMt3ékjfSÜÉõߊ~©"ž€=²Å|³FpÇô{Ä'a×U²nqÔïÆ=§€9âȬÔMÖ·"Äaýó‰è÷‰î[uZ8ˆƒú}â€~ŸØnX[÷`·ø0ÝzEäÔdñþû!Þ Ç£l¢ø;öÝÁ¾[úço`¡=Øchöz{ ý{ ½ˆëžÖf\÷¬6àóÿ´5ÿO·Êô#UªT©R¥J•*UªÔÿ¾ÒH#4ÒH#4ÒH#Íóÿƒ?÷6üËžY¸ÅS ÷0.b,ÜÄX¸Š±pcá2œF€Ûp®#Ày¸àBœH€ p$®$À™¸“‡"¸Á©nEp,‚kœ‹à^#¸ÁÉnFp4‚«œàn‡#¸ÁénGp<‚ëœà~$¸ Á nHpD‚+œ‘àŽ‡$¸$Á) nIpL‚kœ“àž%¸(ÁI nJpT‚«œ•இ%¸,Ái nKp\‚뜗ྤ +™ž{)ˆàÂ'6ž‡#\™àÌw&84Á¥ NMpk‚c\›àÜ÷&88ÁÅ NNps‚£\àìw'8<Áå NOp{‚ã\ŸàüºŸž±¿+< Rwave/data/backscatter.1.000.txt.gz0000644000176200001440000002302112377701075016361 0ustar liggesusers‹ÍMvãJ®„罊·zGEŠÜÿÆšÕƒk|a B&]·FÅ#[2ñ€™÷×ñüÿÛÿþýß·õöÏÃÝ~2üPüjÿcÙ’o[—ý㿳ܶ?iÚyh-¤^·‡y¨)—×úþØ據rUðɰ ^ŸQ»îÒ‰ÓñàšgÍ]¹ëV4ËDo|5³¬::m<´­‡agêD>>4âA1¨Ž‡ÎÂ7²L"›è €™ ßnAœQå.Ôtrâ \‰Ô€EG/†§aT3a}:lYÕ¨>-{ó­ƒß†¯¨¤îE|àMìÂx0ŒŠÎ4loÃ)§¡\µ¼,fÍ"$èØÛ0~EãñÍ?tX©Î–Ì×s‰B/õ0k8R·¸€¹\ç…\Í¿¬žK?_XH3L£TXµÖå)†ôV+f*©4¼ðãF1:;û0!YÃH­fPSü³0\&Íe抻P Þ ²gœ¼Žñ£Õx®ã[ú4ºV-–znº­IÝé3µŒâºßé š¹ý¬bL,~õ\´q!\ù+LF\öô:¦ÜHF“‹¡¹)gn|ëÔ§;(²RÃQ"ªEz}æ6:ÜmQjK×&*Xú¬ªBê¾^··ÿÿ©fTB>7ø?«Í…FTT`؈:{0JÈ&Á¾€âÃOUÕø>— Ÿ;93Üҟˉ ƒ˜Q~x2ÿ8ܵ«ÙN‹.(v…ж3š¼ŠR÷ê?ÎW>wõs!Ã<‘;¶8á‘Ĉ(ÎçáÊŒÔ!!‡óhÇ?‹!³˜:;-¨ÑrªÎ;*tj‘Ñ.Íd æ¬;꨹̵ëj¶,¢Ú"JïŒ î©ê…“E©}¸þ©ØÝXê¢ÐsËÐ ÙŒŸâ`æÆ½árs®Ô2\$wB·´È®Ì+ÖÃ27X‹ùŸÛžÔŽâd.ù+#‘ÜÃC v1Š®Ùh\Œ·_;ký÷·:¶†8“wa˜œ:Lt%ÏvÝ.T‡!.t˜¼Pꟲё” ~|b®;ù§W.L¡EÙ†gí;Ó‰ÅîÔpkç§âõ…c”Eêá-ò”à0Üi®o/¤&‡ƒÃܪ`n!ÐyÝæÂ©Ñå­¶z‡ ¦©kÝ2ŠÜŸšÚ¨B1›ýPì ن׺æY-R©35ØÈYs ŽԭŪq;¸°„ëtç¶.‡g§ÒÊUHð3]ÎAgΰAÉFÑÖ»KÆ>yÕÆ3üC’¼ÜxF³3QR[Ùd™k¦$rca;ÆÐ"i¡—¿Ð|œê[šѿ-fu×kÓ ££C6Ø·&¢§vú«-çNÁUì]ØŽëŒé5:Ÿ£³y×%¬ÎôøÜùýakËvÚÊ£Tó•M¶áþCe×*§ñm|õ•¯®KýSo!Íí O‡iÕÖ6v.]Ø îÙ…o_\i×?ô4ÅîŒ_Ÿ™ŠÝÚŸêŒwŒ¯Ó»ú©VÀ…ï™ÌM?Õq%«[R¤½F½¾è´ãšƒjã þej·±ì.´ƒ¿?Õé{Ü[\1ðyà)Ãj|›ZêÎ}cwøu†a¢«ÃuÏ/-$Æ«òNÓ¾FËòaYnæÁÛ8Äùç¿·çëëiÙ—ãëé¹o‹{:ÿÒ=ü¥¯ï~ÞŽ¯‡ýˆ"<GXàçWø¹ÀœoK »Ÿ³I¿–u2íϨËýþˆÿþÎ{x¼=õëñu߯žû°¾_¹m[ÆžA½å?[öhüì~»j VƒÝüõŠBqý_ÇÄ?ža7ä‰?¹ÞïG\…Ç×wÂx°è÷Ûk}ZE—ØòÁί Ívš\'F¸.¯Õ‰¿kÝÂ’lÇ=¨}Úá×ï}-0ÍóM»ò’à´ëiäos„˜*íö{S‚’ç÷‡Ø–ã0 Ýc‚ÕÖøÙóÆ|ûz:Žýk—Öý0ЉÁ@ö;v¼AoÙ?ª¶†ß£FC‚‰qc¨‹lZÔl{ÞL~8£ÆËÄÓElð9-ëî4ƒ%×ßC0AP8s½v÷GÝŸ!VÂ2‘©¸Ôê~[\ª%‘eß_æ;ñçÎïÿø´ü§Ó…øXŸ. !V1‚rÿ¨•¡eò‰;ÍÈS߾ÌaA SrÜk€aè–°N[ëTeü:ÿôjUC~àîŠÛ-á÷€•Î¥{:Õ$×Á¡öŒ„ XÆÉd‘$„LµçaƒùK’l›è†më'r„Ëø÷Ä$§(óØ$RØ$6'W¿˜Ài,sêo œÆ¢À3á÷â8iȤn°fÄ'TƒÌs„)T þ&!•–hý×¹ª6Ü1–è¾1 Û#ÑÅñ£²j¬êˆ4™ è˜Â¡Úi1vg~£_â1Ý?—ð£Ðms0Qqó¾Új–õkÜ6”øRøH,ÁÎh5KU%Ç}ö¢ç3˜pwÖ%VîÔ;¤*eK1Ãó;Y—²:‡YÒåbø’¢À„¦¸neêá+™XÑa NÇPJÉ~*êY‰ C6… mK´[Z*–8º JIl¢Î ²±y°MÆKÄàs`¦¯­{,¶{Œ8ÜXäÄ)àY ‘âkªÞc÷–Ë<T~ÆJ(4·‹ê!ñ¡\b=ÀP"Φָ>=3Æ48ÉXÔÅÒm½G˜êñ3FJïlˆišÒÎ?¾zõ9YË/#ïº$àHÍ1†Ql:ÊCr{4"¢oÖˆG:&¬Úø†}ÆEhÆ D‰P’0$ƒÛ7RV¶jõe,¸i†}p•‘Ç2KDØêGHã"#Åi5žˆ‹F”ƒj›øŠYZ£> 1~ ¾^P±Dk  ôT—ku0fE#ƒÛµ=-$ñ-–¢`ZÃü!p0K³E€Àóˆ p(>1Ð#pDvDá0‡h'ÎÅ0™ŸhïR¡¡ ¡#CŒsÔ!C1¡D‰ƒ¨íà[É^¥ý)²äÑø ¥v¡o¥µ ´# ‘rºJ„ôš6H|€0DP$ ¥E2õáë‚yðÄ‘^"zªSq/ÉHpA³K[kT%&(¼¹³¹žØ M[U€îƒìЧ¸QÇ¿LòžÞ#¤ÆÍòª 0dÏMH¨cj%<$뿆üF€þ°`Gk}ò1±Wj˜¼!×[™ †jê*ê©X¤±Z9`^ ¤œæQŸ¼àDŽÐÒQ+|E9€k©BÄ­‚줂‚ù!, \K=‹cQA ÄÌ„0ÿ”‘Vª49Õ;Æxî¡S» qn¡‘8ÆbÔ–$/ð@ôQ(Î>&fš •Hüº¯Ö± X ÔŒRJ©6kRÞsŸc¼cÇF‚Яg ?ÁPeN$¦"ÕHögA¡¡ÁÝ ‘c3Ùb¥ÿ¼Ž‡­š‚Ù=ˆÖFð¦NÄ—Gºì¯¢ÝmãMdæö$Þƒ—Ò ò[€…nžšf8ˆœŽ;Uˆ…yìH€C{_I/–?gð\4é+ÉA9Ô&Gï‚F¤…Hã±g¡iôÌÞ…8³éâQ®ü~µù¾ÅèAC"1IÜ#„Éó†ï´ä¸eg¹:‘È…øg¦9žñITŠ(•Ї¥ºÎYmF¶ ‘œ›Æå©@ÒŽÑÆõ¸=b >^F16°£ò–ð&DÖv?®*ae 3z(™zlíô‚±÷MÅÆÑ8DB&K|çtÈ»dpæ'|ÄìǺ`Æ|tPöiÇ𕬸’ '¾#ÜP$Ô¸jœˆdÙÃh@×a샱2±›+¶"(GI“*\…^öŽ!¤¹¸ÕÏWiÖyîT ˆ«Á`€Š_\uL‘Ѹ¥çÜ“jí[¨”‡&"  -…P& VHÚaè=kLbGEÌNªS‚ŠιeÆ–®“Ùàà,»%‚¥•–ϪQ ŸF |‚³T£lPƽc[³ú$â…ý”è¬Õ*âçˆÑI²ú'a½†˜(“3éø+8#²áqOÀ¤€“—!‰ñøµm.Ñ×P£©«2Ÿ ³øGþ0¾‰®þâkK›Íì„.Ü$¸ ‰¾µ¢¥™Â±ýð*b2o‹ XÐâ4l¼Tp8Fg ÖAÔ/yïÜö¨À¹ï>:£ÆÓWðbHBþ~œ_àåãñrº2Ó³Y YÜãõÄ§ç·ÆO`2Õ#´“3FynfP˜›ÄŒ{¢íCÁX¢Ä .|©Ãyù÷Pˆ‹±ÇƒZ²3Ìòd1(Ý™…¼;h*ÄG‚}äC:ÕxÜ^vP EØMI(âõû†zF¬é†CûÝV–¬ÂèöçúÇ|³Y¤À÷M„Ó”­‘ØuH'D¢“•!Pª×*ìn R²2Ä^ˆ%šIe)Õ1öiR^g÷ÇÄqéÀ1"àX(&É s2ìËÊêàÕN÷f/§ÚÉ™ ¼Ùø+Óô¨m93ùÁ° Ç1’–eüÎt2ÉÕa@C,Özzù˜'ZD±èHšYË Ã3 a±§BŸ ѲiI†· ÁêˆA¶ 7Lc(›°œäH·Ζ$ §,e=mõôîY&±3RÂWHeÞN‘LP‹±þf™Ä&¬5Ì °^°“€ €J^¦e¼Æ¡’mX^}¬‹2%À"H[ëy%â7鼨¢HQA„tâ3ÛX‰¹L8%qà‚ò«‚ I°*Ë)Q¨<•àØQ(ï´H¥Hí£E*uˆv‰à'¼@ªÖsØ28u-èÇÆ%…7­ Ù›ÌUâËmëqÃK»{çVúžŠçh1¿ÿbR–ÒƒøZ(Vp¨oË+Q#ÖÖÒÝXH(ñ ×q—Ú2Ù &o4YˆGÓñ¼m±„[-o…¤/sjš”)¨ª!žÁÌ‚zšð“+.FÅPÅÁbTb6gŠËÏt·rÉ”5x¼bb#B,f8i`ûX5¨Ó3 sœ¬ <$óÞH €  Êd3eq'Ø"ƒ‹zÖbÖÀâËk.â®Çëžä]¦8TŒ:°`AoÏ%òØÔYKÐÛžµp¹Úç_ÌêÙ¸8#BR‹e _Û…#Éa.!…ZN€wã÷·ú>6Dj¢ÎuÙ÷¹Û‘‚Ž«+{E³9‹¥hìZêa_Iвãñ\ãfP 6 ÁȰ%qŸSÌæÛòïö€b6„±~š LŠæø*ƒLjÁì7}³þ#麣(bä'd^‡õ&apì„Ìú*[üÇO¥ ΂#?+à¬- È †‘GЦX¿ö0Ùý#W1鑃ÎÚ}B¡DÞ $•»ôÆ„9-˜H]-x¨¦Q2 ”hìècÈØ‹Ì¹HΕd&íâhéÞ!…›u%ÙÆáûWÂJy›ƒ{©«b ‰ ö½ˆqÜcôE-JÛ¦-a©™“Ñ÷`Ì¢E-}’ä3ôeXhiÑåõ`2ÅÂSzS’óaGY`zJJÉkRbRŽ  ÅT¬cI RÖ©YO!(­)c*B!P#iÏÄ,' f–hÜÊÆb$5)C$ #6’SpQ¼öĶ¢„–ÃwŽè¢xÍ[ŽüCSbI^Ò‡Óo€÷SÞ€rÇš—ØKG´ÒŽ<ŠÜ±ìÑX’Ê9>Ãz³««¡%}ÿB Ô(wÜT­Ø’™~Oä^ø–/µ(Ó–Pß$ëÍ%ÈÍš4°;ùDî|L#0”ëP§]ÛݾíÃÔù¹×lÌ’qoqî›öÍõ†'&ï±Ý,)_j }‡€GÊc„‘)„A†š0ÅFçCÞ¦ˆì©¶feZ¤¿Ç8 "oØ,BÉÛQh7h+PVh/}'ŸâWA”’£Æ–ó% ? t|ø)4L¤ì.„Ž žœ¸ F=íP^_•Yùo0ŠIP IV ñ*` æD¡‘Ù3¹Éj)¥(cË,,¹”›#¾Y #¾"7š±¯ù­ É\®T¨ô¾h%…ñ*Æ:޽§.zhI.×Bžrk™€ŽsÈ- v,ËXÞdCÔ,˶ì¢ÊI4«ïþüT¼!+Œ¼#§åÄX"d³@l}±~ÈÆ$(r°TiÌÃ`öé†ÂnjUŠFV›¹…Õ#ÍYHyÏ Ñ,@'Ê[l¢T ÐgÁpÉ(KšÅa [á³R» Ò¾Õæ¼ÁD1FØF9µÎÅÈH¬:¿ÙEšV8ARsœâ”NÕÃòiä9i.5ôž#yASNOÚìøAú®ß8Á bB%ÈKsJÌD޽?ÊÅüGZ›Ý( ÆGÝ(é0OY«Ær0·=ö ƒ·$58¹Á,Î÷5x NZÄ¥U‡{/A›w m #1©ºú fHPZjø ¨{Òê; -²ûž^ò֜ݗ¸MÅbªCÕ€ØÄ$Hqq§x^×±øƒ) _,{ |eŒk”¦`1äÆxÍÔ"óM‡ ¿‡¯Äü*˜" O”'°V‰>éňØmžÿƒ§´‘ † bñ€0HK»i‘åÊàX0-_jù!f0 DF,[Y>q¶îáê8Øœ—;ß‘k+ìa»*,)——™ZEÀù‰°”ØwìÃ+ÞNY!Âã'"ˆö²â?&ïoø÷µ h•òÖ^´Ñøø[\Øè]x@®K„åÂ.ö¸=ÄÊƇðÎ+«\|»ÛE&4ãÈRüÉÁ•‰9”;n;DE ã ˆDñá2Áîå3„œDV¬ñâº^Xc0òñUiï°Æ+Ž–ÜÌzA qQoŠiÝš. kˆÂáo¸<ÿ”/Ùëá9fûoÅ)iÄ |ˆKÏZMGã™l›Á}ëÝ}¬4þ}ÄyJ¶àEÊX5`p<®¤†·?Åk¡qwzÜ6JvˆášQ²—=Q«¶‚­h…·*vNÂg˵ãÂÁ›™•B­k 4!ŽJ2(ÖClƒ8ShU^Xöƒe-@œè1ï¿‘:"$b'N€n'‰Ÿ!ȪXÀl|tbÒX§ô0ébOtëaÒ¸F<¡ð~wƒDï;þAéæNb vB`gá”€Ò èÅ@åƒ=êîNÅäõ·¢™°ŒN| öŒ”ùr£ø\Y¸?ªX©­òDZÁMIî¯/|ït'ÔÎpýh\Õøm–¼Á¸¤®fò~Ï€Ší^öО(˜¦*C«ŸÃN d í}nJª¼ªÔ‡áÓ(3> øctzâ F wü éåhûuΣõhᜲï%{ìÆ¼˜|€d(ÝpãÚëýÆÇÿÇŸ¡\4›ˆ9w ðÂébÛiøïÃT"XŒl‰`«;4†0|{ìÍÿ 7~%wÔÊ„ó;:¶r¾ÀáÊá‚-¿6Rœu¯ÎíÚAÔ"·Þ)Ôæ¦üNç¯Ø5ž‹Ó}ø®)7™ ëðSGŠÈ­ãZas_Á©õx>!§D§¾Bö9Þ"nv7†°QºD«ã8£|Zâì,=—Çÿ—UšW•Ôöc<ñ8ˆÒ‰ÔJàL>œ[sp– Î<´ùóäèä Nü¤IɃöøP?f•ó/x–Ox’ƒ¿ÝäóN;'^RÅéZñ”‘dëjÇ@R§hz"¤=¥Ö¾ŽK»„rþÄÚâá\Q¹ä¤U=(ο}·ÇÅVMӟ܇‡ÚasÙqÍÉ™nåÞì8<6ÍžðÆó²‹GPGw«ö):ñ¤ï¸k¦{ÆSí9Úþ¤=žf‡ÓÊ­ÖOO·ÌbSvqz =8ÔŸÌ™y2;5œÇtÊ™üÉ©÷ö Éâu¸¨ƒw øÃcŒ¢RÜ ÞÒÁkä’ü¶ZáÞ¸P„÷;ÄO¨®éÁVÑþx.é·Û<§rç†ØµŠUTï@Ì­¸Y°9ê!wX¼ íµK¨EçÚ€ìŠ}Ë'Üj®k…©û1“›qD;t‚ñÕC{v‰Ã¨Nö„gŸ‚yDš×I°PvúkñäRÀ&$,{Æ.³.r”ÕIŠðèZÙ©ÿÕÃXý1¢$X¼,¢ˆ“ èš Å‚=å>íñ!í8È€W ­¶NLK”â‘´¨K¬ &Uô%e¢“Öþ¶o„þðbZ}®²ÆŠÙµ5ÙyáÅSííIì1rP)r„1>ðù:ÜcP‡RÑ£`p±1áïáþ#(]’›óÞóÀÈø.ï*Š@XñDúAyÆ$\ròÎ4B=îÓ½x±0kÔwÐQ©¨;1+oP‚÷SgÐ6kÍ’-f"ÁU®5Œž ßcžÀ¦W1¯ ==òj$™Ä’±#³MÚDã¹Ù’vtèÆCÉ`p¤O#:!&'Á€ t”œOÜ+I¨÷ã ú¡ìñÅE´¤d hè뾿j[—ƒ·^Jº 6¸_0ñÑ£ôÖ*;BK¢G"}Ý[ÐÑxüMÂkØ~@ÄØ ŽÍpÚbÅ÷+PsZú…s#åÂÙ‚ÊžWq8ÎΆ°ÇÃU›uŪÅN¸p2ÁµÈlb}ÞÒE 'j-àꤲº›eËÍk?š\œx-N#—gn²QñÚôËZà0Oìb”•ÄzÖzb!ë!$0|’N rˤóÊæÌ´ÉH+ðdB«aÚ}[ž‚ö’˜6ˆgH^ä=ÀügóÛ$ž‹Ûž1÷s ¦™¹†“ ÚÁg>dƒ,Nøú~¶ê-_¤mgBšÏðÁ3È’¥;‹‹¸ÉFðžetíÞÈR-áÏ)´¹úŽðà)°\}{¾xºÜèõIѯĊùqësrÀºXçòÄΡÖÅþ ƒ(ÌÑUšRwave/data/A0.txt.gz0000644000176200001440000000160512377701075013702 0ustar liggesusers‹í×In1 н£†û_,ÿWÛUhÇN¼½ Ü©’Äץȋ|þ¿ÏÏh9W˜sèÞb…´æ+H6{ù!?mšîÍ{ÅÑFEõ·ëzk?§î;ªÜQZG´Qωô‰(5|ãe?íÄúþ2ÆÀ3YcJ`nÉÞ ßslÍÉÏ‚ùuküžƒ;i›+²2Ì ¾²_†¾ÆÚ%3F@P‚ ó¹"9S$£6ÕðœØD²‚aÌ„_/¿2ÉF=lɨäÃÈÎ_ȉÇyÚ¸áõ§x ;¢é¼áÝìâf—e'¨¿ 9cϳè¢äU5Ìš$íŒxx¨6Ó¬‰Ô…Õ7iÇùX”Ç®;ððz|6’zAµOñuê)ù”~Ì•s ‹ò_>ñó/øEÁM³òó⫺XïMøá÷‰Dr˵hÚà7¹{ᬮJ?LÈÕ±_kàKðÕÞͳ}X¡öß Ÿ‘Ï>Ëà›øëæw:G»úõßùy¯Æ7˜Û1÷®ÙI"wì9•‚胆mãÜÆ¦Ø\K°Sy> ß䳆¯Ö» £ „ý²Ê8ÝÏo‚“‚NÁ³¯µóIÀø3Ày¬>7Gu½½ȪóŽ,¬£ŸEŽÓþð7÷JnN²uÔÙÒ2æÐ.€dщó‘q#DŒSƒAÁ àø@Ð/‚vì!¸Ë Ö–š1[ Nœ‘øÁ­cËûx ”Z–ëÆ ì\v¶ù³’«_$ü~ØÄʵ“‰#œÊ{åSú$o~çDw@{˜_ÔÀJ`fmÞÌR•!¬cÄHÞ]òÃÌÎûƒ±®k¦blð2õè<«]ÚɼQ0n‚,ÌÁâf®¯‚óÏýë‚;¯-h¬´2+ÇdË :¢¡‡»¡ó{¡>øxˆœ]9eP¨Ä&ܹ•„8½:;ñ§z?ñÓg~œô”?ëú“~(@_õõlHqà¦eW¿Øä!‚S˜uh¼Õ,¿F@ö)åz΀u]€ðþÞ'Nõ1äÍŽ×gÛ]èâ‹tx-s ž q:áb+¸9 NfaÛ¸½Ò8×x./÷çõu*$ø˜Õ.aÿûý÷â?ÿ_Ý÷çûsùün±„ï¾Rwave/data/B0.rda0000644000176200001440000000302312377701075013207 0ustar liggesusers‹íW{TY¿’G…!†”÷Ȥ2‹Ù!B%’1)yUJ¢Q©H4BO…$åVD5”®˜´GéåÙ$*]¤i<"å9cÍù¾ïœkMÖ ËZÖÌšõí?îþÖ9çÛû·¿½Ï½×j¢­¡ª­ªD"Q’´V"Ÿ­É£2y´’(KT¸õ ä³Y•ˆ&šh¢‰&šh¢‰&šh¢‰&šhÿƒ»MÁQ×wAyŽåýM}r ¦cE+£(¸5“{õ~s\Ÿö…; ¿«¸œØ –©TDkÀƒa/‡ÔBãÅêîÁzJððeZõÝq éxÛºž‹¡Yyƒ»d™šž¿>ñ…še$<<òØ7óM!4†>±pîÞÐx «Žô;³'înIøÒj¶Ü^iôÊ?Bõ_=cxÖn]lgï^ÞnP<Õm½« b—}Ûç;Ìà’æ¾<¯’cPhè°Nëš%ï};¶Bß"ÝvnŸys ¦pvá©•ÒJUc,šgþ´¹j^˜j˜ÕÎûFçYVøë T[Û¯^¹tèB|Vך_×f/<ä”ÿk¼S²Õ>ÓAùØøxt>Ê÷òP¾x\§¼Z”ÏH:xzöY¬!oo¬„×N<›—Uæ‡Õ­‘R¬êìhQþè^åËÖà BbG-,ßa湡RŽe>·>óÅóѺ» ò°¤·N 8ÑÚ¼>óúÇX;³¿nq5ÑS9Uüu0<æÇ]*„n¬×θm)‰õ¿-~™“'‘“•s€'ò–§O((m‚Ó§’»ÄÕzAACÖR"-’,ç" xŒ“]¯´öPÂÓ»J{wû%÷ò|(Ý2jZÑf(•ºE†C)Ÿv ”Üo|iúf”p¬™É¡˜ò^ÈUµ&ÎxtÈŒ¾Wùú„±Ÿà4×-Ìk´mg8IŠìØ8d±ÜFÈädȃôv%Óœw‚¤?žÈ&%žƒXËž¤VÂfîõ©'ÑydÝý^¦C0ü×…ã·ŒšŽ{w>×s¾s“¨LïŒx­ö±JkˆTsÇéƒYê|Cà±ÕÖ\bv(O(Ê8V»Œ@ËeÍm·çœ,FÙ¥ñÕ+=QFš®ÿï0[ 5WM,뚊Y×¹Äw1SÚÆzP|÷ò¾ëà ®º©·É…Ýß#Ì D8t5™‘ áB:áÇs4©óÀ—4Gÿkp›ée_•žæTO{Bò°°B\Eçv©~²ÏZW ¤ü2ýCèùíœv›1Lh( ?7øÛx-Œˆ«]óü)àÆH:¿ OЇ†¬Âá¾ÂˆžüƒáÜx¦¾ÆPnºçnKk?lÐ=o q™EÍÂ`app/W' ¤8(nïÅz—IéèiÂ]6èBõ]Hãš }¦”ßùÂ>,¡ëîB ïƒ—P/иàKÏûùñ 4/påxÜ€õBž·ž¿^¼ûì<{ŸÅóiÑg^}8a2À“âô ýæ*ðKÀ±ÒSãõ¬)Š:fѼ&´^Mª­­¨vtñ²ˆî/òâ2®«ý_*æœñHóã ÿ;ží³ó.tŽ–S](nE'zß:R\¬ÿh=8‡Þ 7ëSVßp·âû”Í+ݦ·å›ñcMyµ™ÎͶBÝ Oyú[ßò<‹Ãâ²<¿"?ÃCëQô#ÃmD×i}¬.V§BWºÎx@úžÂ3ž˜þÌS^>Ú·ŒÇ<ËÇ|K< §n üšõïüN¢ë ¯ûÏxûTþ}ù5ÿÙèïÖ¼ü×ý'û¬ùa¼~¬ÿ‰ˆ&šhÿ‚½ùaº 1 Rwave/data/sig_W_tilda.5.rda0000644000176200001440000000256512377701075015350 0ustar liggesusers‹íÙTÍwÇñ¯u)5•…²Bª…Dú¾¥NÅÐêÖºåRwèaJ~TLGl·ôk"Ãr ÃÖΉüÚ÷ÍЖu,"³¸ù±4Û2GT´»ÝW9gNllÿ|ßÜç=÷Üïû|î½çÜ?¾°•§B¥ÁH06Ò?ëŸv×?º Ý3}ÍSãc"c–&&ÍÕ¸Õ¿`¡ƒ@QÍOÎg=äŽ&?ífê{r0¯.úñ‡q•żn‹‡™6(ƒ7¾‘îR8u kcfÔçéxsâ½VçŒ$έö«RºM᧙߬hÞuø–gܰ*úôhž›U[s¤Š§Ú„·~5ŒƒÚ–õ"¸Á‰nDp$‚+œ‰àN‡"¸Á©nEp,‚kœ‹à^#¸ÁÉnFp4‚«œàn‡#¸ÁénGp<‚ëœà~$¸ Á nHpD‚+œ‘àŽ‡$¸$Á) nIpL‚kœ“àž%¸(ÁII½·6E<ñŒà¨W%8+Á] KpY‚ÓÜ–à¸×%8/Á} Lpa‚ܘàÈW&83Á Mpi‚SÜšàØ×&87Á½ Npq‚“ÜœàèW'8;ÁÝ Opy‚ÓÜžàø×§äæGEgJÏêÿÒžÿ[Á< Rwave/data/pixel_8.8.txt.gz0000644000176200001440000001130212377701075015153 0ustar liggesusers‹}›[vë: Cÿ5šømÏb÷45¨ H½YMlëE‚ D¹Ûr¶m¹þ}ž÷ïÏççÚýï³ÿûïçù½¾.ÿ>Ÿ÷þù>s½×6<£ßí?¿ß¿O´=qýyÛkÜçwܺþöýËòûÜ·Ý…¹½óXWŸ‡õÿ^¯gîßïß>i‡÷¯]¿Þ1ÞvËŠgOô¯µ_xöîÏ~Çæý'ž¡­ØÿÕ| ~_ݲ_Ý“¿ØCk¹ñìƒ15.ýrÆ\Ç0B È&ëÛf?wÇVùúñQ~Ú~ÛÙ:nÌçì([=“sßú÷¯?Nøš\›û„x¥ÿhCb€6{âYÍ]1¤ßø^kTlžÍ}õÀ67æFß<¸Gÿhþ´ûІq˜û>sôg¿×V¬EëK<Ï9/¬ï»6a‚ÜsÂo°±â¢æ¾ÃßG1¢ï›ÛË0Åkéç·âÉkr_qÈØ9⺸U×Ów.Žþ÷ûY`oõI,­ðKÆ)|nœ“¼ÃùW…?Þ¿þ#í)ÿí“}¡=y½øƒýÁ7ÉÅWÉÛŒUøËøÜeH^c.§=®ñS¿1.û w0n7øäé6øâü¾¡ÿÏÞ®r1q@·c‰yïý3ðuõ09{és) ÿé×_ö6øÃ4ë± Ãw\cœó7ó°|6Ë÷˜Oa†1ˆø-[cÞ̳e;rr m]±»Æ³´ãåóU<Úq¡ù™þ F Ò½Ô„Äòé6_·¸¦5a®íÑRÓeîdNØ»Ÿ˜×ª?ìí-þ©¥> ÐŽ¬D®°lbk"ï'—#Ÿ[ÎÍ4ìW™/i¶ÑúY£`y&6›i®ùÂsÔJ/Vkás‹ãÐWC;ô?ÛK–¨¹äså3rò3þN¾x‹s‘æZ1w®¾]'s¼úøåÇ%î«ý$gÚZwä^Ô†|Ú8ùÏ|JH-'ûñ,ýOû2Ó&¬A€Ë­ž˜©|ÃØÀ:ÃRCeNÛú|R{w3g¹'÷W'òc Z°´ñFÛ §â<é¨ÌIÉ•šƒ0p‡ È´=}¼í÷É~rß¬ÞÆý6sä>iËÚ Û°N@É>sŸºãê>0,½õ âGÚ05±qÁW®ŸþÌ€rý,ŸQÅükí›ãDºœj9\~P{­iC¿äذ—ñЊ{Ä ó!ó$b²°®ë¶©›SÓy0ã3ã…¼Ž(þº:÷æ^Ìòªü®z`j&Æfr¯§Ÿ‚ӬƖxO½DŸe¬`\Óc‰1èWÛ0BW¿d €ƒŠWRC\¸¾Ç\¢þžšÊðÃý÷àÛ»ìÍ×LžaNalܱVÔg ?YCKNL fü¤þØã/ý&¿îyÅôãÙÛjßh¹žñ|ǼÈo|†íˆ¥Ì™Ô”쟘Ƚ¢î‰ë³.š:N1z£©+©a/õ_ñÄï~3&5žö{ZtûÈ©±w·zÌÑú^–¹'ç¢ñ„ ò!ö~6¯ŒÿÔg831Ýg6Ä2÷NÆm[ó.}úÄ<Ž6ú<Ï_f{–Ôiäñ3ƾ˜™Ïø7ÏÒ^à bÊÆÛ›û"Û¥V"ŸÊŽkòÃP×Uÿú—=Rã¤.äÙïÿé_èÈÄÂ4¯@ÇØØäÙ)ÛÞñ|ò`Ô*_(vÈ«7ìKŸÏt^\3ýUCb%—jhn«'͸4¸¬Ú3ßèçîׇIúž~‚ÍmoýtΪ¼³6ÏÍØ'ÿ}?›ÏÍöÖ™×"·¬/÷Úþ—|Êš›ø?5@æ^>GŒ3íX3û‚îNmk{ܬÑ=­ÞO0~û W¹ÿL~S+ÎjµÉ½®]ÐXê3ëóãÔ…Óúj=_oþ;uƀό¥;îQ/<>·ZûßÉ_©e¬_ÇäÞF¾R]çD‰qëüfÚ=9œyŒü’\ƒïƹɸO®ã~60Ïøx^M‰¹ xF™ Bª>f~àyÖãø¢1¹ß|8ÑDC…Zôç8ËÕÆ Ôˆ©G‡¡vCL’ÿÅ™¹7?›ï/GØïÂ|2_m1^rcø€Íù® ¹Iûµ½ç†—œKü«ÖƒOðy)4KéiÖ>VØ…}ߌ™}\‡æ]êÍ ÚÎöes‹•'ù¬îMò\­ï$Ú; Òäw®i‚½¡vpG\0+™#‡OÏSS¶JûŸ“yý•cæy¹©ì+®æ|cQoâ³ÃÙ0\÷ÉíOØ—0uƒòù”x‰N¬•:úñqkŒµò üšçdõÁÞûY7pµø:óaàÁp¶uTÌDý¥t }t÷q‡\6Xã=`jã·'Æ^È5¬%’K “‘oò « ªß­÷i˜ØcM¯V,[xŽ¼Å˜»šÙË4ø 1g…nR¾¶v›¯Óò]ÚŠý#¡‡ì+Öf–˜{œÏüBŽM;Ú~e±è—Ÿv:;Þb¾_“¸[¢Ÿ°µI=«gíáË•9èçïÕýV¸;DZ†õOšžˆ9¶€—Z+4HÅ=q­À¹TÕ”eG¾{öé¾·xÒ˜1‹YÄà ÛY?Ü@Õº̉÷ö>~ý <Õúø,íB¬j¿#»bþõú[|ú½ïßã¨_” ®þ<ëÃöt(}E N‘ Öº¼ãpüœ?±D{/>žÙ0ö`Æ“äWå§cÁFfOòìÏ5ê#õyÇ\Öø¨/Åž;š­Û8 ræ”§·ø»Ãw{<¯{¨1ŽÿÓ_ÆX¢¿§´~ùW}ą̂°¯ùÍãaǘwó¸cËü]ϼœ`1pøó¬kÜþòŠÖ&ßG.*ü3ÿ.“¾#>LOr]äê$>¿7‰ -GýÇxOMÏç‚?LS/19ºÁô>ò½åhµOîȼM<ï'öÕ6spú–žÄ`aõĸÌÛŸXy‚8 ä+ìol.ëˆñšÖhùŽöÊñÀ'S='þ¼û³Æ1ö £›ØûP—˜†·p™,·03¦éÍèøßðC£Y¯*}˜'.M߯À8ž9Çò@bq¶ ¿´½Ùb ›/aÆRð®åiIá]ñµzÛ™ÆýŽŸÏFζõ¦ŽQì³ÙZºÛ´;uÛ/ñ!þÏæúc›<ÿéÏž`„Ú…mÒÐѹǫ~B¥v)ŸäqÄ9k›U+…yiÜ.4 DMʸ”Ϙ/sÞŒþ^ç¡mí:×+ý¢ç¨“¨›„Ë£~Þã:s;¯ïèïhî§œ£âF8¤þȼ¤Ü¢xÐwÎÿŒçˆù×õì…ç·I?ûÀõ¼†ÚIñŠ>â$ælÆ5×ÏX ›ß“§Rçæ~ˆ:ƒ÷õ÷Šþ¤ËY"ÇP+¤öaòOæ$î©ù<íÏ9$®bOe8LNeœ)ÿËÉKÿúÚfº—:^1ÃkŒ7ù_—ýè'=§þ2Gs}“\<äWÎqëÀ†q•æÇý+y‡zúmdzš+öh5µÑÝÜWÔŽÔe¹'8ðaŽÎ¸a\­ÓióŠÓôý¿©6ä ~väÚAãÇ›µ`«†Vt-q#;§æã¨]6Ì“ó8ÑòâËæ9ã Íó¢éuê7=«óQQsf-†óI=¹¿öNœcè1êŒáŒbñ¹ÛþØtï ûmÀï´ÍdgT8àÚó\hØãB§Òv®ù ùáŽy2nC Ç»??œ}>}=¶¯á9âÓì Éj^Éä‘´ôDÚkØ7“Ïb/o˜"ΨñY#YÐ,V#Ûšù•±o¹Ü”ù†9vçE»ÚÙ+sslr™põâBþæ»|Æ¡ô1>|Æ0µw{Xýš>4žÀúk|Öɇ¡±óÌgÀÇäÜÅúÕ5ê5µÛÑ_b•<„µX]ÿcßä¾»jàÁåwž‰mÞÕ]Äõç¶næ,Å/ú¡ ùÛð‡¶}æŸ}¨ý32¿šáÑb…Ÿü=T˜¼{ß|ÈbßƦöÌšFðˆÕ[©í¯¶Ošh½²j+ÌÁäÍZ«ô;Öc>d͆yèný‰ÉOioÄpžOÖZB‹ÆuýhÛP}°I~N[ O©aï¡vË9„Ž4!m5¨ACE /uLÙŒõ¼Ýûj¹§[bìÐ[fkê~Ù‚ù—š±dõhžÑÇ=µ1 šx¹‚>$—CWSïV,¿Ìë™S‰ÑÔ l“ù2}Ë1~î©ÆóÇÐeÃÞlëmí<Œ¸–͈yî÷Ü;G|Ž8a–]YSb펺ð~ãwæ¥Ðï:Õdäîµ6¾ûLpŸÇsAæqj*­…5™Œ Æï†>fù…\{ÖŸ˜/^—¬…“»ˆ¾Àù°6¥<žõꬩmñ›±L<äúoÂ+÷èlŸZ{ï—ï3¿rªZ‰Æ¾Þ9+7’{Ö÷k”ª²îrµ^À~†s±:Í÷ˆ—%¾¯ÀG® µ«³&îÁkåác7ŒÃ£·«¾†îÅ…úgV?Þi7®+±ixƘ6>Ï3Ñ_i³»q‘uƒÔÓŒùeìÃì4Ó©+žŸè.¾s;pAÚii#¢žm}fR?Y½àã}×;ùZ+÷RЇf³-ö?qØ ÷ò,“º$pkÜG¥>gÞ¹¢-4\^·z pÀ=[ðô q>¾NâFë¶úÍ_ù“1™Ú&8Áò¿ö_ˆYûŒhS¶Ù›­¿l»Çx¨YLGî®\›y2÷\ñÎÚÿRËP¯CÔ“wØ—zv¦ƒ[Ì'ÌYÂ*ÖSv¸ûsy®3œAæ–8X¼Ÿ:¶<qI½bZ8.Ûq}™×É3¬ñenÔoåæX¾G{›÷+¬OS½ý L¶Èÿ›Ð}¾O…óáo¿wŒ=Ûÿü|Þ¼Çý•i÷à‰š“Ú€†Úyáõ§ivÆà¿™óŒ³·þ?UÌùYÛXbì·¿ÂÄŠq–ævT›ü¿ÖÎsïÀ}Rî/4VòðÌ_Ô`‹u}rüÂ>"NkLrÖkÔükŒ©g:Ÿþæ" *`mRwave/data/C0.rda0000644000176200001440000000302012377701075013205 0ustar liggesusers‹íXkPUU¾Š`2J¾ºVB£– ‰^s µ…Ò’„‘!ã¥hX>PDAôB>aÂQD…PC¥‰”•f¾ÆWé¨9fIÚ9œµöÌÝÌMLkúqÖö=µ¿oëÛÃø7‚99 ƒ­ò×Vùi§ü0´1ØÔû>žÊ_'å®A=ôÐC=ôÐC=ôÐãß49÷ó³>| tÍ-Jm‹çn–-pk*vóœ8(L<÷²¼Þáþ 7‹›ßó½Ñnåž}ÕÀïù/ÂQI5k8'P?¶ìÃÛ]õ[ÑUô?uL^H»;Ù‚”4ŽÙ>÷‡s‰áBñ 2ÇTF%þ íómbûøbø‰¹=šÆŽ‚$Wy3à º¿dzt©Ë¡uMÏSÔ´ßOBüT÷ãÞƥWΖ.ßð"r^ºÛGž:^ƒ%ëÎÄÞùóLë3aÕ¯þ¸ìù€¸ïJ uG@ÇTÿ6E:-§~²C·Nùâî«°fÿ°!·…Ì ›Ó†Ìz«ô‰ŒKú@NýÖÚ‚” Kz){-¨S8d•ÞJØuÿ0öñu,㉛Òëf{ÝK„Æ=SgË>Ë«>—<#‰Ïú[VeÌ9[œÛV¶Ù<sOÞNkÚÛ® 0®?wn Ÿ½ù„ãp¸”fþ1÷Ž;4^²ÝQq¥UØ«èŽgI§‹æÛúžšŒç/¿>2øzß»"ñ¥ÞpwßîŸï/t†JU×ðíÐÚW> ЇSÍeõ‡7G¸Lª2Bí;»¿^˜ú)”5Ë…»¼úUÇ•cÍÑë5÷º–c£V`ádòó|Mw±ÞÑ:ƒK޽­Î$ŒKs·yjô> ¥u×éùмçõãÈo¬Û$Zx}eþ ·µØ÷JÖtu0Jub¿qÿ¬7óõ±/2oÆõ“ÆÉú™$½|,×ñœëé'ïd\æm’tá‘bgmv )ÉêJ%¨J;Y ]Úo¢ÄP³«)««‚ûUM(U\W3ãXÆýjaÔ-¥5„ÞÕšQ£Žºµ£´¥»ÊÐ8_ïPkã,ã:Jg)è!-yK8– êfD„ê8‹4´@0ÒÊ:úoôUj ýŒûÖ1F ±!eË]ÆVŒjC]F”,—E,A9bjñ2zr‰&B„¸ÒŽXSD á3~GŠº cD#©u…P—ÆL¡R³#³Ìë?ZB³§ŽyD˜3¬8¡ˆ¥© !6–yi5R똿mÌÚŠ;_: *=AªF&区cN„~Y†º`ÝÀ(,CˆRÁ\ý˜ÊPF¥Ë¡û:4ZJeñ÷±Ô@t_¹pç ã±Üú8†Þ]„«¥R†dè^Š>H£>kœoÜÇÒYŽÔ‘8â©ÈQšiôÕg5Guªâ(;RGâˆ;Ò´–tGÍQu4Ú,Ù‘:’©ØM•fâ¾[í¥Úݾùýþ¡¯¼ÞõFÁ7o|‹£{lx1äÄÚ§˜$G÷(ö¢ý>¼9sŸQ÷ùæÍÐÑwÆ{+Ã}ÝðVoEº¯WÅQuä­‰}¦ûzúI4o”œ¾IgÚ,»{hÞÏNÎó4_7"¼|éÉ‹ºy^ÝŸaÏäÚiÖusí<ënÍ¿óL<ÏÉ[óôÖܽ5ŸÏå­¢ûå<)|M¹™ä;êšq›çÐ3Ú±smsmó§‚3ÚºªÌ5_¹ök¾NžÐü]艚çŠÐWлbcëóÁ5ºz®^³‚l}~Ùª3+ë™ýLN9“Õ^úŒäîµl•÷>=—·c³UÞ»ý\ÞÁVy;sÍ÷‘öï2Í5ßW9±CuùþÕ5;Yõ„Ê åK¤'$—ˆ/]¬t­¨_¬ö4Õ¨¼@ùMÒ7I¾ø‹‹¾µÒß«ÔCŸÔB—«†¾¨Jè‡(‡B”†B/’„B¡ßâP(z‹( …B¡P(ô#dH@ @ @ @ '@@ ? ÿ |Wh °9ðPß5ðZ´ÀNôJèû€¿ä­Ð"¿åi¨OC»ýpºtøäôò9”C¨‡Ð¡¤C Cà=CÐ=ȇPö BÛƒ~šö€AA!ŸC9„zÚEèÏBNïÞ„ŽòõA{Õl:9©-)ÇÖ±c‹çÀ±{àXš8–›&Ø•_ˆëÓú pr,ž÷äpò©àd~?”Ž÷%;~ y ]!?FyŒúí1úC”ô´¼rúBká–N˜ôáªç'ãå î:Öa3Bk‡ëXñüøQd–è'Éw’"'ùëq*qVìñú¶~û[¿E®_B×/³ëwáõ;õäÝüñËþ¦ý„c[Ïßè8¸‰±k;bËÆÂdC`Ãý,±nɃ[rÜ®DvyÚÚ•­¶$©I&B› 2–JT¯(ª¨Þp‰nW'|š'lübƒÐ T¬:5ã£#êmæfÕMÃ-ÕŠŸ•EZí„ÚwZð/BPº©ˆÃІ5ÄaëvænABøû:B×1Ьˆñc±S$Öu¤Z” h·kQ±DÕ®NÍ>%P³~¦^oGCÉd÷Îl{§K_ÚoÔþ*†µÛ‘l7È¥Y­j ãVíÇݺW@vQaë^»SQ;¡än?.Ý~ӬåáHï·ZšÚ­Hɲ¹²ÍS8•vëU‹Í-š-VµØL-6S´4;Rm§]+ªW cÅ(kíVÔ,zÕÑft”Ö ŠÚSì<Å6ê5£V¶]ôeüí. ?eôÙüRB3ð±L:¡{íˈTû¶%ņ{+»–°-ŒËd"Œ²…D³{ ‹„l+6‹ 7³Å*cA[f°ÅsµQ&̸eÞc:`Zu Ó9E˜~ýŠ"C2–Rwave/data/HOWAREYOU.rda0000644000176200001440000011513212377701075014335 0ustar liggesusers‹,œw4—ÿûÇ­J"QÊ* R2S”èBTTd¥!2BTvTˆì½÷Þ{ïy½í½7Ù2ÂLjÑÏ÷œßû{œs¿Ï¹_¯ëºžÏçãŸ[^âéUЧDDD$D¤$ûGÒýK²ý "b"2¢ÃûçÃ÷e•Åä%ŸÉ*íß%":ÁBôÿ?ˆÕ{e!/|²Å{Ì|€¼gw˜‚ û„ôáôµëµLO”D´„f²ÔÂÊ>ÁÉþÙ†çíMŒf9¤þ焺Îj¿3+<né)œÆ'š zÉ5ÅëÈkˆÓ¹Uw|yßßÙ.yˆN¡¦ŠâÕÇ"z•áë(¦5‰O-N}ÂLkÁ¢&OL¼2eÅãc•{ú>ÈcX_Ö­ó"Õèãz84}µ]/ -|>d…^,äMu#1hØúTémmŒþý_ÈC¿)Œ›ŠcÔô|б‡ƒ.MËÜÆ@Îÿ¼‚[%WŠ%¢àKd~Éà{ 0üwM”/·½¥ÿÛ¹N ™_sÄmb–Yh޼&%¨Zmg£ÿ§$£±_¶à»lJæ"¦)\uS OO@úIý'‘“/q{«f”_Ì;³ü³Æ¹4ÿŽL@OêG;#‚Á_ôSU¿dk~6ìS-‡¢ä·Ÿë¾@a ÝM ÈÔïyMªµ á[ÆÔ åsgUì‡ ýìKñ™ßòPîîìGÅë µGh9…!ÔÔ[‡2/B‘*­Ê‡?tý5èr+˜·EÝdưö—¸‰Hßk¬¦²ÏrÁÌ¥m7‰c#w´†xŠI‚ß/ùŒ@‘¹¼Á#ˆ~œK™]͈ÉVН7ŽxbÙÛ®õ£€•Öùêú¡XhY9ô7{ãìuãC¥ÕP3CHœiåðõ@ón ^ÍôM½þÓ´œzÆŽy}ùỰຩE|Ç\ÓÁÀ†OW0õøE¿U†‘0†“%¢ÙŒ@Š›Ò2˜ y,71ƒz¬Î½+Ò¾è•NÅᦇñÊ;BÈS0#‰,U9ûfĈþvc‰ÕδÁ›Å4í"Ê7 :xðÕEFÈæ±ÎÞxù2ã¨ü$~šCÜ›_²£¶2`ÃFÜ·`ò­;Øw˜kÂ×lòÁpAH|—ÙóĈ –ÕWO;@…±ÚÕßÄ®PI.y…á%hT˜[ú Yeçr¶'× «Tާª@ÉY)…›wP[f´vµš<ùo¹Òu#$÷£ëAn2E]$æ)M3ÊujcsÃ÷âÍ 6ì<½õ%MöâŠ0óºæÚÉM(øÊbj¹.ütZÐt?þaè˜]9Gòi‹†šX7u/`ÝIÏ‹«;XséÕ#íÐ-̯ ^×û@Ž®çU“dAø–Í ÉÛåàÑÈ2æÆŒ µ“çVÞ`Ñ‘È î[÷°Üak<±¬ËDÎJj$cΙëG²=*0ømn]v ¯Ù13´|‡Ï¢BêX¬/Š>GòòýÆ ¼NÕÕˆqÕgXgÏ?Ád[£„ífCÌØ”ãÓ¸N…‰¿ÏŸWCo7Žõ8â°å€Ú±ØJH®::©æ9¯ïÓVhŸ„,>sªÍ)f­+tÂd¼ã.Hƒ|MNƒظ‰®w¶þ‰ÓÏ™3&Ä ÿmóÿT4î0<ŒUB_Õu† ”zÜà?`ù,'fáœVx%¶WUük÷ļ• ñqõ7:‡GÐúrc͵—j_|+x¢Ý§žï*Æ"a¯?Bå31vý­ZXý‚½<¾¹Ù°åCƒÎù%LT˜ýq®ì`—Ó©`5hv÷eh?Õ…G½Îj價ò{Žm2FÄŸ¤ Ä Ø$g:Ê—µ‹ÇŒ¨aêÏK:íéås`èwÍ7È‚LÊÎH\!ÏÙÞŀ·W°úÈÉšŸ±:r1‰ºË•Nì™ðíaÂV¨[§»:D\;ß­±1 w9jÈd€÷Ÿäàvåft?æùeúEÌØžšªëWļkùî70mY—ºU–c\þŸ FGŠ™Ò©¬øtv¡ÂxlÅI.zCŒÛ̪Ù2d”)eZžç… &ª¨ß^ŒD2M±FÝ ¸CûœF|?÷‡±l'€Ú»ØG9gd!¼`wMñÆ'ÈàXuS«Ð„Âé»Ô²@¸Oнa/ •Ûf§/_­†â‹$üŸu¡$ÒaêKT.N'•‡v@íÔ1ºŸ¶ ÅS˜áÄp>4¸ÉÎ[¾‚T ëËV,)ˆîŠ"L,äØC˜/gÛÚÃ!ªŒGiç¶±; . ²¦aÁkΔ§R–@ˆZL?sÒºÎïXr+dAÛ¢®“gø dkûòïÀm,—oönŠ¶Ã¶£] çZ{±Msˆ–„ï –¾K]K¤§‚Ø&‹JS(ózÔ˜ñ*JÉ]„o›¡*wéùð×±ªšöwþÅlºf¡©[q ëÃl¤Vͱb„ïù‡€`}ýLq(tnLJð,„ÜG;év4ýYã/T+ù£¯ªª0Ÿ»…$«U;÷1o5Ù0ƒý>¦êj½÷Û>‚1ÍZ\q`øZ³œ%Â%„î÷èÐŽpÝ:)$Y«GND1C:çλgžS2©ªñ&G¦dwA´g¦ÎÓº0•ùö¡Œ><Ú–’¸ñ ŒŸ=0‡L,QW^¸eÏ_­ä&@Õ¹‡¯+Ú \hP:÷Ç_(• ¬ß<—:¥w\w jânÉš4hj“>tÙã4´Òª¯Ù«ÓBwK¼eË_Ìyxh=ƒ»òF-âˆ}±(·‡;)P¾2<„…ÉŠ$÷û©”Y3È-º4µ¦9:¡oÐÎÒð·4ÿŽÇo€OÃÓ2ƒªwpËZ|>ëæÿçBu*.r}ü/ ä>'·‰”¡.-Jåæ7À‚öj&­PN1‹bÒ ß=ª»ëTˆr¢ 1sæ^‚i<´%Ï{¸µ×Aí[ÔÞi»_ȃû¾pbóh:áK4U…è_ûoG™´¯mTû`OþÓU³̺)GFSõšâ'WÞ™À@·NÍ]?"èóûùÇš­jÞS“¹ðafæ{.·×ØNB“©aïŒ]‘R|&X'LQ67£¼ÏSåôÈ@Î]Éôú7¡”i‰—öêj!ÑŠÂâç¼TZˆ±¦ÚkN÷Ë2Öeÿ¹l¢4ƒ•V]•~õh'§¯jcpÒ×RÛ§j ÛäTíC3 H>I5ï²ï?þßnÀñëX@>•nì‰ù<íÃÓ×ø1køÁМE?ƽ¤ /¾ºvd‘!¡ŠàýøÖ±Þ÷N(è4Ø]go žÛÙzò4kàï³Ie÷ÿÚ'ŒØ!ië‡qO!9$è)2UôOpÍѧB‘ýˆ:­‚:’ÙbF‡]ÿB¶ÔûÂ!ÿ(×n¡7±æ1ë,½”% ÕMAb]àÑm¨YÞŽ^xK Ïè«o]†¹»dQ—é¡õÈ+]{‰:ÈaÆ·.Œx÷ד‘fØçü”ÎDuÇ^Ÿ‰&QÀ᯳6)?M±iñÄÑõY Èoý1Úx&z¿›üu<ÃÚúTv {lîáªÖ<ýiÒXšeFÂÑç¶ñæ'°›ì‰Çê—NìÊN³ifÁºÍZA¼K˜aöò q¤Ò*«ú9(C¾lÏÞ[#;pòªßÔ¸öÓv2Šesã°Ôáãý%Ùe!!ozSî->ÏÌn%½éƒØü¤ WؾAÞ—Rñô_4PèiÉá,ð*Ьûï iAÕmÖòÔ¾>1ñùkÍAÙ—§éWÈÆ jé% KB7Ôµ?┊ф6vßÞ2jRèÌ?¯V®nuè™Á»}͇–œøP‹-µ÷çÙn”álFHßOÂqÄ'yþWp@‹©¼¼*«¢6 m š&¼¹¯O4ލR^úC%×Û—I@··|”ŸÉ?(µ4õ Ö=xëLjЬ7vN.Û0êÉc—FÖÓyÏÓØ §Ëÿicåª\áÉH{´aܼ•+i!Â.åÏ]Àánpè¾AËŽ:b'.Lÿ^5j3‚ù¾MA[’µ˜\¶Ê/LÑ=£>·‹0ÀŸÂÈ(ÆÔÈ3/³lTcÐî§9ׇS˜ÎLnXÔIÇ>•ýKÂ$jÝHÑÒ ŒV°®xí>§„tE¥ B¸CáCÖw¸wÑS¢>¢ ³¹¿w_û·L'Úæ#Ñ7ÅD뮽~ª"Ÿq›xƒÖWÌ´iƒÚ@ŽLnj÷Ä&dú+û²ÄJg¼>öH,¡éž`Ú~þ¢LLÔãC& ŒxËdÞÉÊÅ6o–ÜB[ÈC’ËÍPO|Ox!‹:¸^~¿´í¶ÿ˜‡ú”©í+Åk0õ=E˾߸ì4¶ ¶âèÍÓ¯»p ,ú^É¿Ä~¶„_6$DÒÓ¶ ­BõìDR¡a:ôå ¨HT†Á‹¹›OõM¡g:Sƒ…b ªJªü ‚-0Ïž‘ÞI[j2’φa—k¶ï¿äoØe9{ýæœ6Ê]k|†ÇC}·?`X%»•¤ø8žæÜ æÎƒÐŸ½Jwm|Ñ5™Œ¿¾nýL«R eЇÆ\2x™Ãu]hE=ÇO$V:…gáAé¶öˆÉqŒ¹ER£~“RD“^?.ÇtóÒ>3䘧ãý[µï&ÉÑ(~êÈÚ³âjðÄçšNÑ&dd8œ~~ò„N´Þ,< q,“ó¾Áuíî+ë=W´íg>\ì=‡ñ;ƒ«„ߢ§ío‰]xÉaêòUÚ¡øÂÐþs¨1˜þÒ&ï úáßÞÅ3BͶªx­€Þ‚KzY€i‘×ç–Žácè+W›&h¸(sú Î9h èZ¿`QZ^½ŒÏ‹¡àn ßßâ#XàäÉaÍ;ˆ=L Ÿ³ä¾áÈVÆn~3qLI1"Æ~»‚`uq>·™5T¦eíxÿîs&¥}‘¼Ð?íZ7H€¾ëZ•/ÓAƒô|¥NCèžýÈ~/` «5(¢;©G±³ñšÎL vWé)HlÀvv÷?Æ ±Î(ríЉ5,$»ÔaåˆÑ¿ÆÄ‚Àí¡ÿj<x]¶Ô_ƒèƒ^b®@H—ÉâRCD_l wäLÉL¿—9ï!qþÊëWJ`oâ<š8KŽþæÇn;;÷b¾˜÷ß»<1ˆÄy;÷ƱLïö‰3vBX í0®“6Šq"Ý´Na[Kg¹~¤W²—‡¯UŽì¼Ù,ù6qÑÞÃѼC)ò§Е“sfWê)ø\li¿'/éÒµ¤5 O¡8õ˜ò #¨a½$ø·rsŸï?>Ê<ÿcž5ªXå|—¥þ®÷Zö±$BIxwÇ44œqp#¾ƒ&Ž'¨þöÍ©ò¬:d>L¿˜ï^Eÿfü?ºŽ]/I°ò¹4>ÿÚ÷.0‡Õõ‹(±?öïb*Y6ØtqÌÞ¹¾|iZ†BúÐàù÷‚°ª.ôø‘dÚBïÞ‡µüèxýRYãïa ˜Å4™Ý=†–'M ~˜c•ëèÝ‘llo—´Á¦Â~…1ÀÆWÛ—™eNbõÅØ¯TW°¸…d]“5 p$ «ûDߢÃâW‹ÿ”°E¡Šp_|-Z§m ‰BÂi„BÈ ¸p¿åÍ {{Öøw‰ìçß*½ÛÇCùý3êÔÛPBL+¤¸ ¤…[ó'!ÝTo†÷%DÞ ÷à-ÏòÃñ?J¡‚ðð„²Ð/ta>¿œXc‹‰ÛÜöh_­ZñóÊA|W1Ÿ¤CÆA>?¶ò!“m‚GFé ”.ÿzvï ÔÝ?<xZÒÃC=rO@{è½`_¢NhÛ:î‘æÕ þÿ±n,Ë@QÊlŠ0= :‹z¦güÅŠ$Ï=û~5lšæú+²ç€”,ÏŽTbû¨FÖìš(¶ˆë¨a­Ï•c”XZt}LMsxZÏnŠ»c\Wo…Ü_qô-¶"aØÂ/sßÚ\“—8‘ÃëÅè àÝ™¯¹ìî7$: ØHåÈÝEM(Û|l¿|Š~ðgð\#† ï÷ºLcàr(»â\óWLz¾l¸€Å5št?Û‘ðD‹ùÍ—ÿ°ú?¾Ž“ZXãt¹¾16«‚vÿ;땟!Eÿ¡§ÊùåŠY&iï6»U0l½‡á»Úc°`Ë\vŸ:IŸ“H§@Þ‚§Ë¶ 3Ïs>’L—† v7Ïéx¨d=Ãõû6”ÙØ8ê’H@ñšþÞœøAÈŸ²Ùj¯†ôä;5rYã)}Únm\/]`¡)q@ǬFÝ"&.ô#‰cM³‰Öƒt3‚âàýߎuÓÍ:È>uöÙ±ÉI¨,üS>ùajÇ~ÖØ@4l–¬~µ |·r•¯0¡sþ¡ß[H7ÿ-÷œ/Ã|WŸTjDz}‰Y!7¬ÿáo1ƒõõW^8a] ù{s¬¾²˜¬Óù Kï+j½ÒºŽyá¶#© ˜í›·³ìׇé=†ß5ìJ0ýl¿ÉxZLẔ.H:ÁÁ}”9òÏÀ–…q¼4ø;ÄÿÉѽä<y‡N·Ú‰€Âïÿô!ßJƒZ_62ŒdÚhnC¨¦Ögß`ô›Lyü4“mÙÚGL1÷æOk®b,²¯Iá–áÁ’7R#S°$áoup–*Û¶Q¾Ãâ›E1÷51¯)ª¶f 3O›NÎcd^¨'ë.‚Yû©õÛ/’ ºJPŽic¿ßñÉÊ}€[— Ÿ“{P¬µ{»ÚJyÌ_Z2€²¬Ãõ¢%3Pâ½H§Õ |•>ŸKȹü`Áê\3$ä7­ûgù¯…´µ§Ï*Øô˜ÿæ¯jÛ†L®DWi—£mÈœ…ܳw/ „ m{Ë—0ÕŽŠœ‚kòPÓT¹é¸òÏDñ­92Í×`€î]?=‘Ç`áíÝô‚VsW=&Œµlù™ÁŠBXýöÂ¥WWó°’”—–†ÛóÍüºù}1Uì{‰ŒX&üÝ®U³Ãx›=Y™§iOè¿;;*ƒ‰™òo“50FàÍzæ…£èÅ£ïV=Þ¥´鼂xÓ›Ç/üº ™~\Ï2!³°mOšñ'¤¸‹?)=îÑ’ñ}ˆ9P¥„Bj{{cZûo?Ÿ¶ÁŒ­>7™70Üu0²!‹iLvnîaQzãðZúS, [=®}c C™ÎÄ*.cÞæŒ?0k·øó9ú¥}^Ú#>ë‡>=E,Œ­áëÛ'w÷s½Çµƒ+oBæÁqÚ­jÈ;f''"öò}ªŽ¼“ƒÂÆ÷OìZBi瘴 äosv¾€<}ïÒÀƒÊ%ï'3ÄRq±J隦!,7f,‹dÂìÔhÓ§!žövµ•ÇAÈûz4Ê©ë/TNPò«ÉB ·N—]a Ôzåÿ¾\U¾^Î×R» ·?u–]4 7ãv¨1Ÿá¹J–ÐO¬Ú))=|Ëë¸'_j7ÁšÙÇc H¨Pµç÷‰Çâ¾Ï6Çs0#ÚÞæS¿/&<:ޝ;1FñirÓ,`ø#î¼nŠ ÿK¾j/vý[®[É?…ú‹jghžAÀòjÇ3Å$H|Ø#ž÷d¯wÌöÜÕ‚œMíWu÷û!óÜ3¢ñ›¼7ÇðÕãqY|úb…ÙkmÃþòPøùü7ó­ýs9ËÇzI(èüToÍ#¹ÝL9÷ç {žˆ·¾MÒ¹Þ0Þøì±ÛoŽø²¿‡(×0 m†8NµS’¢~^ÜÉs—Š2éê úÛ¡òh¨Ûl¿ßžÞ G#+ž¹»AM‘Lî›Ò((XÒ\SÞ-ÉÈpν;¿0kxSÓÿ&Öˆ™µ ’bCÀ”§×îK¬¯ŽK0þ…5ö1ó®Þa…R…ùòA[Ìýr‚]ï`Òš²›g`F©ŒKÌ _ÄèÎiº•ÊhZ±EãòàrÎ_GÁ×á‡~Ë ;Äý{ðFô½,dô„tÿB>Íñ‹‰b!ŸÇóu¨¥¤˜Nx‘ Œ‚_k_i]†l &bÁѱ° •2D†^r毋XcP&aÓ?…u>v¹–¯t±ö¹×‹ k1¬>xœj#ôVÚ®·h¸¯bÁóÃn½¿´19ÂëJ\gzŸÙÚ.<± áDv7tSCv…lhJw ŒM¾Þå#:³×oA¥í¹êaÕX(»Säð¼® Šu“GT nAþ+ý}ÁNƒôÀÊ€KÇz!avþ› —/D_½¦-y`|øfn«MUC@˜d»‘3$è÷òl§4B®‘ÚcåÇ÷€p,tÙ±â%4ȺÏ_€¶dz‘nRh‰çúÄ;õ}4Üoj èÊg­A¾t©¥;Ë\âƒå†ÕBTOⱉî3»9¶“‘ºýÔ Û8ÿ~;1ñ›â{Ì©®cÍñ$1]þ",¢ù–ÔÐóSðîß5gô~øW@Ö[ËÑikùf"ls¯ð÷*õhÿ]hæ?;_tµ:¿øÌuÊ^†. ·¥ìÐyæøvÌbÔ {y¤ÝÏ…¤éìÿŒhÔ±€ê±mß”6ýq RÒ Ä;–/>aï )Vªã Ø=Û¨4‘÷ŸG*Íc­JD›L+æ±,SI,¸£“H3kô.9¤Œþ•WÖƒ¢ÿ8 z7A9{`Õä'>?¦]–ô†*Ïû³‰P™õSœ›ÞJg×ç4N+BÞùóͪÿ{ªÉBæLömLd_ÅŠ‘8Cr;lÜX I0JÄö½syiì|Ëð®@ã>vžÕH4,ìÆæ GäÆ\ªSÿ[KÀ\Ù··PÉßœ 0âÙœ.ô $¹îÀå]W¨ré*ìôê©ÜÐjƒÈÆö\¸ ºëàÅÏÛíPîn! x’Vë–ʼnѪ&3þÃÐ;ŒÏ¢¶|Ôvs\;ž*”böéÚ“¼!Ù8`ÿÊn H-—©¯ÙAŠ”CÑô÷Z¨d’Ï*Jô†úÐyUŽ›ÐaúWšÐn½Tv´cAªÐÇ[tj.0 z,)#U[ í2»ã·–\ÈàX·Z€EÙ›zb—¬°Ã9*ô`³Ò_|âwmGú\ª¼ÇáÃÿñÌÀ>ù‰óõÁÔØ¢ÿxÌå0GqvÝzå¤ôï(ÝLTƒê¢”Ág_@KÜÀýŽë´ÐV`;"PU-³ÐÀÁÜ Ã®?)ŽA•íú#ûî³ÓVøšñÔlåµ`ÆÁ¥êœãç‘ð3,ò6^w—;D~;O?~S9ö»ÓÛÕO `7qé_OÕ ìØËxvQõ6ŒNPÒÂbåó™1ðÜŒ–}á¤äÖg\²M̆ªß<'N±¾†º[r>i’ÜPÇ}[¿­nêµ…Ål™!¯(¤q| ò„ÄEÞXAì ãÌ{Û§1˜!Î|î3æÕ2åmfÅ"²þŸ.³XtNƒ‘G s“W= E—®â[ S|_òÖ#æ} Ÿv†:Ó†.sÏèxÝs‹—âôq©¾5sêµÿd ëWîx¯05&Þ!åb-0Är2JV~2¬ól(:¾m‡[ã©ÉÃu$ÕZñÑ6”ŸªÖjâð‡º^²£FЩ•ÅE¾â½š:|ê®ö0 Åùš<цT¹:øxÛ Oç´7yb4hÑøx?èÏç\T°G™J~K; 'þ¶Q®>ÁRVÂM*œš¾N|ÇZ‡þÉ>§é.Ų÷) Ú¦’Pÿw8ùx1 Eç8…Ÿe…‰Ä+ú5+{ݲï½¼T?tC ò Wu–jNœH¡ÀÎQ:Ózï°—Ù|O~.{¦D¨–Ô’±óYÑ8ßÃÚ=‡ªŠ(¬0Ùmãý‰…zeóMN˜Ü­ûý¦€8Æä$æ0ìD»T®3…fo!ñµÓ7Ku^H¯$ÕÍ!ÐBBè8׸@1ÝÒ–zJ}ë £¾˜`é/þø³¶ X.žgóìøK,É‹Ž{j‰ÉrÄõß[Bªê¢wðD”•oE]ÿÇxQíƒP™žëw]!…E+gèô1Îì‡Ù EUÌ~am•Ë‚¹dÉÒ2Gb0„íb¶7*äSRýÁV5ÕG/6ô@kðæ}Þ…ž6rÅç’§ ¿ªIJ:ä îX¼i úâÕ,÷oAo÷U^‹3¡P­Fµ Öµ…ÅÄ{twâàÒ ç€ÍN·ŠÞÞõüž‰+kWqjéàö ¬-ýˆÑ_&ÏõèÛ>Ðkçæš²_õ^~4U‡)=&ò¿‰fð|ðFvb4f”f1„>gFÙìºa¯gEŽC’#wMUÌqÀŒõ™¬v‡Ö'q\<‡ Ýdõþ+ÀÌúN+rt$}V†¶Þÿ®J¯ ƒõ‡Ý£:RUhXºxŽ8ÿZ7>ßVÛ<ÁA£çë¾–0¬F¤O µ)gl%&—qºÑ÷aI:9‹¨”=œ”+¨"¹°X圕ÿ>·ñ°ŽvB|éçÃwÔ— Š¢Oäö€ÔìÞx=U4¤†¿CZ!7ìE½y1Æ“ÌW0*³aÙG½3Ìš,XÜz”÷ˆæücû1õ¼¢S> s™´C-CÉÕF ´4g7wêrC—¿èâ³’Rèãÿqï¯\ô‚IéN¼€u²#vG”`ˆVý÷/ò&èŠShú‘/ù«uÇO—T`ý˯í"q|ƒÞ’DRgm„UNâIœÕ¬}Òwð1NºîåßÔÅþŇúЬ5ýÄûVŒËéZjî„é)QÁûž?a*C÷UOõ*ôÚžv¯4ÅW­ú‡Ä°SvA£òk8~s-ˆÞ:î‰cw.Ūuž§,L—ÿbƒŒTêúiŒyq‘mX  7ð^.É*ä¿K|Ç‘.»ïÆR^΀pvFGƯ¾zþ˜4WÆíw4Ú/=ˆ{–ðýÔ$ZÀÄX†'g½1ûCXÔï:,çêAÊ«XNf)ª.„iLzã`ßPÏfrB Šc¿Ýòò„Ú¨é†繡*Ûø¡¼ÍOÈ÷´‰øÅHƒfM¿Ë:ayN¨ÇÆaĪc=ߪ¢0ÿ²qš¢Î'öû*¥@>WmAém*"ïõ ¡}`Ueøý7è,[Ð ÈýÝ`5çúÝÏ‹7ò­¦ ÿeº¬äŸ0Èmšq1Ô:¯ÿbâ¦p€¸;‘ARuW°‹v}ŠiâN·ú©r_8¨Šižåíýà »SY ×¢±üÁ;ê6‘'˜@ýXO(õD^9ú‰L*(_0f·½‚ê žøÁÁPت!tYüïÞØ¬­£Á 3‘„B a$È^Û~SùXgì?Ö£÷O˺×u!›CZVÉç4P)_ŽŽ€v7J²À?/¡¹HÃþÉl'´<†’\vh+ä» ,r :#òbèHaÀ’xIBá ¥‡ÛWœº íÕU'B_Æ€n®ó{|y8¨"úøÞª)Î%뺥›‡á;µª¼F-œñ9þ­þ 1v;ü(’W†–ŸÄE`zÑ%[W¾æÞ–H½~¡3”‚½"r}ЫRc<€ÖHèÍQÛuÈÆo_ØÜpRâÅ ÑQWeßÙûhµTlŸŒ­!ÚkîQto>ÔR»Ü6öô‚9_iÎ ¨¸p9€Kf Sop j_ê¿ïê%‰‘`ÿðTÓ¡?Xlªþˆw7 ™·ä”J!÷7“§£°2$>?AZ5‰þ"›S±e X|\…ï·Šè~î‹TëÆêã‰î Å$˜ø€‹SúÜHmu–܉–BŸo•–ä9¨â;h&®)ÿ‰â¬òOôýöÓ6_sóÍ2^¿ÛçÛKŸÂ•S0¹dƒNà´.Dÿ” ôc? Åõ#ºoCÆԫ…;ªÐ¬û-þã9Ôì19“ j§3µ¥”¡­³o°)’ º蕳Ê>Ãð¸ññî¯Î0ìÅbÔSöé§#ÍSòD”½pÂ+Az‚$|g£¸ÜZƒ?dÊ žR ãÄO­:¥±è¿ž²óÏadľðŻÍ$WÏÂÜKÍ7Q˜°Ì]Ã%(«æº”ýJ„—¢ªÓ8ùã{ËU!œ˜øº˜_ƒTB½Ã,1}Ìãºýâ—ýܰx¨œ—WžˆæÉœƒÊ³ŠQn"þè§,W#?’†õëœCØøÄÆ<¸[ ‹tˆk¯½”ö›¶ñ<¿ dS„EnÍЀ$:O³˜žþ,IJf&µî£Ø¸Üu&Dø¶ ö?(‹·˜½…‹]à~¢¹…åo”Ÿfº£#fu§ÄøŒ†jEŽŠæº ÎmÛçµv(1ËîÛòûx,Iˆ´"ÁRFâ#—ÌЕ5ã,:dwÑ}³› xl}ñ"Ù4.³fk @#Yú·÷¡ºb]ÁHlCm›å¡S„òÚÁ­è+ÿ¹x{ÆFÃRµiw_ÂP1Ýt|S%TL»}}NTˆ‡hø˜ p¦$ƒ˜:—¦g^ Gü‡óβìÿ qºíÔ•+5PÑq%dýfLoHŒÑ¤EÁÍÓe'­­áûÌÕãôÇ–¡ÿc ½Ãâß“ R#Ä8A6tpµäÆ>÷b³ýô¿%(ÛxØÒöëîS*Èç¸rs›  mJžŠºØCµÛ»ŸÉ#Ý`Wl>`¾à†„–¦f5ŠØ6Šïözű–¸%ç϶ÒœéÌÈQ´†z΂Í9¨©PÈ>ºhÅŽÛïûU0ßj8]îÁ–°¡6›0ìbjü‚Ûà€ÉÜ¥yÌ.¨þüŸãk(™d´¨Í(„úгtO¨ïmwØ”†Šèúš1)âí±?÷°Äùû¡Ÿ§/`y¾ä/É}]ž¼VÛÑcÿölO½€Ò‹,»ûsPŽå`’ MÏäÙôîóÊUŸïã¢úP5$#8gM9ÃcQ·„ += ÿ5çØd|¼·¬ c¹ë÷BØa ëœhªdÄó+×…~Ä~.,øì»ŽsÑÇ”ú&„qÙp⊵ZÎøâÂ"xÛNþ¹sljºe–±5À\fFcã55XdÎO縲SnÒTׇoBƒÂív^ ì,ïj×0%©²4šãL8u>JàlþöŸÆo¡'=°˜Žçäü¨ù-ÜÏÑc­íÒúÝ {1¯ëë#e,:S#C‚kB6< Øš¡ßø]+ Ž^Ï6ðŠíæ^o]´Úº“U»kPs`ãà×¥|Ž´hj›n¸µñ,c÷øsC²Â¯ØÍ”f}:Aë>GHEC(§±×ÝÐðÑõî]6Ghy8™³Y59iwý\Ä!²ßÖ¤sKu¯8|pDÂöU†÷»°ÔÁvúœ« †ólÝ øõ †Òɾ¸U…«®N¦¡¦w¡6†É>ó,~PÍ…Z¦rJËrk¨*:ÙuAš§wO|‡îL£™0DÞñÝê½2Œ…›ºW߀>·K¡…ë%ÖúM1uÏGÂz…v·qÁ>GæÂÅ \¦7LtÄé{´‚3†XòÄ2§·] †"k…xŸ=‡¦„™¿ï·a!óÄ#;FSDÃ2» ®CÀ”u8j(.l‹1ât\O|£ûÖ–…E¬¥²8&è?Í ,Ûþ`½eͤ2š¿ä_rÐê49MƒÅG ñÖ‡kfêÿ ìÏQió ˜ÅkñøÎÆsìܹ߯ò ûÄʰ`‡u¢èÔo,ð—Ök߀òæ?ýŽw¡Íü­°Šk 4»D˜)ëÑCé÷§µC»â[ÒØìT¯„Õ›Â_;"±úpQî­cƒ˜÷|^”ÅüÊ[ÅžNÄÞ{N3t1êx£ÓìSC݈ÝËk&¨Ÿ”è&?• U#ƲQ˜ òÖk'?bh¬·Uüýʺ㿠ëþ!¥Nè:ßÊÞ¨»xÝFÚ¨;ÆÔAíd°‹Ýî)H$3SŽ×uÂÜÇ«”kÏ,°zPv‡éuV‘Šóê{`ê©­ø§DL×Ü1[‚Á¸˜‘C2ÔXGÒª‹BͽŽAªá"¨o;'ñÕ°1\ré÷WÀªwDÏy.@“wZW#tK?õ`泇A×—rSœé0JSÝø²ƒ º{¿ôÕ(’`Qsí¯^¯¦á4®pÆD¹²U¸X×úú&iNpyz$ñ'­¼)2žÂ8C¤ÒÕsÅ0ϱ`,˜ ³Z?úº¡{¹“IÁ€ —ØŠ¹-pØè}£6q4N4êK¿ï2Á{×&>~pÃ<#޾(Žè`[‚j²h©Jƒ`Ⱦ`¡SØï€å*'Û×8°éÞŠiÕà¬Nêõy!È„qó O¯LAÅ'¹ŸƒYsÐbÎõåÌBT÷x _]]Csï²·²uX÷ýó¡ë䨓þ{Fkž»Å’Ó¦"±RöëAf¥ž\ñÅ b©ý¶sÄøÊ/,X á\ O256;k½ãÈEÂSB­éŽª®Rú D@7£Òײ7Ðú$Ñô‰k3TÕŸÍ·zñIé^ÎÊ=Øô¸øýOI%ì©á*>,Á]·Ÿ<ÀbÒi© ÏM¤8ËuéÅ:‰auPßm• ¬¹—µS„œÃÜÌòa¹XÍ4ëܬ­†ÕWχwaëi;Ufðª™ã L‡¢Þ—Fݳ€Â|‡ žìçOvÇŠÏ _n7ùç ùäœTbŠ?¬m:,¡JoF)ô0´œó¦ÛàÚ¯Kÿç±Ð èWT_òÜŽ‚¡ÿúçiïR@ïuí,“ëÑß™Œ¯@Û‡éÆ®|2>€³oN}Q—Á…íŽßÂo'ÓŽ4]¯Ã0V£r=µ Ž|úÌ0Y¾¿~ØÝRXßí^ØÜ³‡>¿ ÕI,(³Ò«iñ¾Š?ßèàHçñ™½©«ØwÍî«þØcÌþ¸ Ü»%?èé_Ž-@ÑÛ/#jLáëÅÕNž $ü.8û-Ì[V?ŸÏªÑB‚þåF^2§¹øÙ}ª#?5¼Xr„Vb.–s߬ ª`Ê÷Ãf;íþש‡}þQä`O˜9}ü«5ì2ŽÐ]æwÆBž©²öPÜÓóE@ êÔ]Ûê?hBÍ©;å>— ¡!Äcûø{,Êcêºûk ä_Î& ¡ï蛳AK˜QH^ù*Lb“[O¼Ò‰ÿÆóóÜ¡"ÁSCù¯7ßq¾Êq’+Γÿku7£Æg}P!›¾956±^M· u*DªëŒôdpè}J¦…~Þ‘ÌO+0ØÜ2þœKúT/û-2ž‡¸Å'Ó žƒýªº§¸öxp&<.ÇvœÎf–XüµÚ÷ý½»ïÃõ±Ôê¥3Ó ȉÞ/Ëx 3'L;2æÃ÷KÆ—¤}04>çã÷#Ìí̂Ʊ§ýþÔòçf?1¿ëºƒý¢¬T#©XþœBXRÁ òÿ3=õU¸ò~ýR–>ªŠC_0øÁ3$h(½]¹†-)¶4jyAX­Iâ$-!QÄ´\ûë»Bܦ-šÁg3Ì¡z产§(3¦Fžñ?–Ø‚mV­Uõ>o±§1}ø\Ó4v…(ž“;!€%c²¥Ì‹ P<é¥òÝWÙœ¹óÕ™ªÛkŽŽÖñ0 Ÿ÷È“æR˜~_{!)o¾“©L¸þ’ƒ§(ßúº.9µf•¯ŸŽ=…ª§œþâ«é ì›þþ©áÛ$VÙG´î܆Œ<ƒÖu•uÈÎtb¸¤†ÑgîðŒ‹Á*ÏÏÝÂÖØ¼ñÆéH­8VeÌÐ^Õ¨…Dö` ¾Øh¨+Ocrí÷‚f‚ÿç¬+Pý.¶ã![9¦Þ:ݼ€¹6jAÙ!Ø{êYjÿ§%ì|0~o ‹]oË‘QòAqfq§Ðizhdö¶·$£‡î©3&Í ò)õ/_õt,%O»ÿà¼"Öñ`â¦XåàXvßh“µú£ù|º ]sÑÎýË àOUV¥:¨ºÉ*.¾å…‘ÌÈmCl¢†§’${®F BÉS]¯pj¨þüȼWªÚ4ÙJþZyAo§!ƒ£¯0ôâðfª€A‹ï¤\bjÐ?õsâpw”ñ²º<-ÃÞ¢‘+®œ:8]Q[óÍ¢2‡áLštŸá'C¬óo$³¾}?O¿ÈWƒi&ó5q·E˜¹O?ùÏ­ †ç §/Ö¡‘pèï*§aì}qB‹#àŠ‘úý‡½ê¨ÎÜy‡„¡Ù!z‰ý~ªTm2€ôhu]‰k˜õz ¤z±6uéÈn6oع}D+„DrN˜@®ÿR­¨4ËÎöðFB˸ÏWÊi/¨\§ ¢ä¼Ý÷2MØu!àÅ\QíþzHÿÓá°ÃöKÓ$Qô70«M†CÅ"ߦ)Þ†šjZ£ÊGP[àž¸nbÞEô¬^#^ðüÙ=¬ïœ>~«Ú‚ë…0ú¥ÓîÇ™·Pxó§]½$TW· Ò‘†ªwUnÿÞBžM@WÕ #ØVßå9Åe>WÃèî@QXV覻2Ô¬è¸Nï…v ÿò¼'æÐ'f¹Å(ý,š¿×¡ß×Òx…»ú}‡ÕÙ–¡˜’NÇßt{ÚÆTw‚pš?W„s;ç"µ†®;wáL•é÷_fÝØ¤âÙq‚Ùz7÷._©>S%'þÝ ¦é¨•,ƒóã0rL ŒRî­gvfïÃØÛXÀ¡™¡‚ƒ™dƒʱ‡¥³ÔÐ p¿Xk}2¸6·×DBN·Y}Bæt(ßM[Ʋ„t"l²›iؾÏu|n¢Gšu¡(ÀŠ8JŠÚ?«9ø@»jؽº(•Ï¡*^Ç2ó}^RÂîߺç,ܾcÿºÔoD’ØšPú2¥}â—J={ æ…ÉüÜf ´vzÍ-Ÿ$ú³¯›õÓäOö×w›Ëíèhîó:òtÐ z”­†NAËáÁ®nGRŒU¸A”Y¬Š]j9%ݶ°?Mêøüé4ìj&’x¯}KúNTdA‘ t¸B 4ø÷fꟼÕ‡ìiW¼iÀgžã·Ôâk,_yfKv¥ëöjм/…#ÊïM7’°¹)ë´°qH­èô°‘’%Ö¿ŸA±¡/ß)K HŸf¦ˆ¢ïGçþ‹ðé‡è‹WRÇ?Cüã’:ןBÉ}ÒØ›“PûO¬I‹KZ…äüô²×¡«±“v¡§Œ¶fûÇô©g_U¶¸ýĵ¥6_F ê¸ $½iöpså\ÑÁœ·:?øqîå±ë¹1J8ÅbÅüKËÛ4u$ºNÀp{©ÃÑÆ}_±V½@£ œcc:¡]ìÔ) »CXÌâ«ùU{»çµzê±K~5[V¨³Ó6 ^ÊBÊZâ‘6ˆYœ8?¼Ô†kqiѱ“z®×ÝNœèv× +[¸ NÝ‚Šu>åV蜛Šb6­®N9P-¿U Þ¡UüHˆýEü•õ5öÑ¿hŒe°ÆÞ¨'÷)+°ñøm6ë'´cè¡íµD¥6¯å˜7졪VóÕc^aHaÐ;4ãZ‡É7tÖ+f¾a‰çÐøŽPÄ“~º¬ó˜—¥ÄÞEË´„¦Ã‚²5s½Åë:¤¾möþ9ç¨7ÌiBz õÝnJˆè­?r¸K¢¼<æÂo@º-/løÒCÑË£·ò·®@ÕÔùÇ -ân_žJÉBwMqT…÷4ôfÿ–Ú“‚¾ë¹FîRÎЗe°§L 5NEÌ ¤ëØMKLôÒgÎ:®5ˆßƒ‡þ+KÁ "¹YSz.,`Òvå¡ËoÖ>+ÁTêõ« ·`È?Y`Þ¡jeñáð',¸x÷‹•¶Ó4ù9ÜĺLÏžNg ‰¦nýõ ò¼W‹¨[1u§Éùv`sÒ©&qGì©¥‹\³%®­SE~˜ÃÃÙô Àgm©ò C·»óƒ&ДzÀYT©b.{ŒÙ¨c]á2Çû>2ìY?ÙdûÎ;YjEL\¯`þ¥ª{UFàÝZ|àÚÉ-Hã «O€D6‡òµ=è#ñÁaè]>æÙgð[Ɖaÿ#sâÆmk2úšÃ8ö¯kv4hí©šp±‚TîÎ @å·[geÙ!y âZdß äñ‡+5ÏB¶yØFÀWUˆT¼ˆ¼–¡ë%I¯Cù{¯+Ø_BuëÍËôҕвxjÑ£òôRg>á©ö†~é/Wsµ¡ç¾gmеH¡œvJêÊh}¾Í›Oßé—®ìv'p¦ó¾ภ딸®Ö“]`’€®ö]â#ô¹01\¦y û: TžÓê:Yx÷ž„@Ù¾Ÿ­®K`sÇ¢=õ ³i,f}ÃPjèQ7H›ô'Ö!…07"¬@‰UŸ%fVò°gtzrH {ퟟ]Tüˆ­×¹;þl/`,OM‰sJ24ÚŒZ؃®±š—ïêá͉¼.MŸx'Üyl+—²Oñ«;c½²ðêDª%Ööêån)V`†âÒï" pîÉ7=îÓÂ/æØ°0.»0…µC’5::¦€³ åË °8H“g: Ù7WJ¿ö8t ·í&š.hîçìs†¯{Ž`Ø”k‹L$°6<‰ n€Â^ò–#ãu€8âI÷óZg©¸3-äm—p YAYk¥ÿû¯PÇ%pgÚ¯,XÿvÍxBó­1¡ŠµVh%Ι±Ö€¶­C޼ÍÐÙÝÌíÿºûqˆkßãw ¾òÞçÄ១U²›€3×½‡ ÷hp‚»UV®»Ò5+rÈJ @0(]u—†U–©¬6 %3ÿ5ÏçP±Ze]È|ý_^Ñ(Àˆ#ë”_ahÛ8+AÌR̃ò­uÈ鸧!‰%•.MÞ£ØW?n®Àäƒμ›—µ|±ù‹w~‚h&tk+ß òi«Ô?¿¤ Mã„æ½¨%Ówe,ïÅ-Ϋu%XDÌGîºä°¯“©J³ý5X¸WÁ+P‡Åqu±¿1ûüÙ Ê, F¥®³¯{w5ƒÚm˜1Á½Ò¹0®AÏF×ÑVh|ôJ™Õ[-3º{SpZÔû^ËìGYòq:+„¢¼ì³t%7¡ú×I¶š>7¨»u¦ˆN¦êùþˆè6—@U¸¼’—TÒ¨_J·#…º›'¯¬ÈCëRý‚`r/ôDkï®:„¾»ƒº¼Ü f8DZeƒß^ËŠJô3átÊÙ† U*ßîݸ#‰ÕAÞ‰AŽÉ‡ª›;Ð*¡/KOòª ÆÉŽì7½òž> J_ú‚š/Ÿ„Fè!²u\˜Ø„º³Ïõÿ]ëÃHm ©‘5vl º|%ýÔ8æuT°ŸN3Ò+¬Ë7Î0™8,,óªÇlÑUK.*pƒ‡æS|¯mC²à1n¶ß¡À¢«þô  ”?Šû9´¸ Õ¦åL5 'ôÑ´‰³+¿‘»xÙjdq£Ç±N+ÐÔ9ûxÆðûTBŸè•E&Q×g¨’‡8ê`ôå2¶žÒ×Ò×:‡!…ÎiØÄÞ¦€…Ã/25nb%ûÆh§g67ÅjK]FBêÿ†{¶ g±H1qø0ÔEæ]ûOj/³²ù›JáúcêÕ­Èèì{s™¸"“^`Ñe¢Ësd-X(¯¸D·Ï‘Ÿœ”"̱M¶T¬åc%6ExåÓÙa>éU9ÿÉ ðæô|{ßrÄv©˜ï1B©‰ÙOú=È•UýSã…ÖÓ]81è»Q;ÑÌæ8]ÞŸ9D!Kt½ÿAI–³9;JåäB¾ÛBÕéÏbT+qPjÉwyªø1¤™ûñø€0¤^‰VY§eä·n-=ú¿r¿5þG„)êŠ"¡ÿlaïÄ‹ËЕ­ß¡+=‹¥Îµï’¤\pø¯Ó…¬ ìÉ#’1~$‹…|-?žc‚>‰ÕA[¬Ú¾}‚X: +÷B;‡ßÄraë² ¯£[6p°p>š:ïÞ;wÚº(h²>‚v#ovéçéøÑd¦ñ‡[=æD‘ð<ê ÃP‰®âá—˜z»QêÒG¬Òøwi1( ëý%¥žÆÎ€e‡ ôÇž7E¥·f>b×*+æ B*«²{Ίç¾ÿ1H­…n@üxÒv8²*üÔnECeòM;êÄ$(ÒoÞ˜W܃€wÑ¢œM70-W2ƒÂœ k™?nÚÓÆÖO;zPÇû÷æµò0ZöÏŠæ?>ü:hºÿYc7­èŸ™¢×…wuÔD©`¨2tò¼–~½ÞJô€ü&ÓÓ޸c I_Vt/AñÕ¡c-PMfØ~Àp¿o.®©×B  /±è.”¾xÔnß)yZ]¿ûs!ÓMY·*®qÉ]«õP×ôèõÒÅ‹Ð|¤‘­f4º«9ÊÍ¿@ÛmÚ&ïg X’&Y6Á厽l‰Ýfïaíø;R `D7µ•Óá^Ÿ‘xAÝæÕìPµU“ðÅÆ*re¦-W,‘U&rëCοäßeYZ¡võwå‡_Ð^¡÷Xá7óÏî©ÅX£'GØ]B¶4{š²ÄÔ?/£>3âÑâãEXómhèîÝçØôf¢(ÿÔ"¶½ÿêØìddÐ3òÇjÆì2QË\L%ªæîxé%|9Ý®æaQ½=É USH?¯æÂK¹¯÷£³¿Š9ÉsŒ†;Àówajº¿à !·ÈÄ4¡kòcƘMñï†AÃ[޳êœ@·ZAáØ¨Ìÿ+öü=–ß—–ËÅœžŠÑ‰['0†= £ñ‡#ÆþüåD¯,ŽúV³mãPvµúzÏÔ¼pæ—í;5b]°ig µF I×ÂCmÐÑä„ 0 Æ™P­C‘ËÎ;ü%PÖë`´íñª£QK¼«ª±µxíB Ôý<ÉuY :äoòS¼_€º;îϾ>YÁŠ¯Ïœ¹Õ`GóLÇbAv®è÷IG÷ÃWG±áá¹—g¯í`÷­¯‹äØàùŒ|Òâ3¦¼°â;ùç=ØQ„{Åÿ§¹¾šêj‚¢0a&½Ã|JÍ+ÐùbÈeþ¼ue€úû ªó0/äú|üy}4¢œØ4÷uGýY‡¹Ê,[JXm«¯Ãʧ"öqE±ée¯àĦ6( ø.^º‰5i7nÆþÄzáÉކ1Xž*rßJ¯Ü)~½Rnˆ¤ÍÞšAo0~±{6/â87K>!×ùiå,§›ë!¾íÔlRä¦_c•½B )›Q”×lAÅš[í®ëoÌLüj™‹E%úM,×±€#Ê•ýŒ2æ¾n1ù2$…9‡?û'*£wVÅ™%n ÈRWºšó¡Škš¶FÏþ†·êaZ¡BüR¯–†(TŸ¼óøÎíPCÒ iuª“^~¦q€šKy^C}äÓˆ ¾ÃP£L0"êèŽ×!R„ÆÂ_Åì5Pýl|ëêìÌy_-âñ]"â-i©“1-„˜÷ú<¾ >ÅÀI‚Í'¿º ®¨`ŸõO"ÿ‚GûüX«6Æ9Ì6‘¦|˜º@•ó®ec–¢7%nþ~ê¥*¯ ~Azy£GËiW .}ã¤ô†–Í–9Æüý\IL#òäË-Œ§ˆ+@Ö‹˜cL°Ìézq¥£gvÌàîãIç‘j¬ç.Éè¡&Áꯉ†O°ºÖž¸0FkU¥ÌZ…a}Ð÷¸É›QH¸ÈöuHKŒ(l>M c¶óűëÿ•BÍ­‹?庡òò˜±h}'”@ñÕÈ8f(}J|”Cgª3옔¡@Áéô‘úE¨Âïyûó5oϯŠiƯ”Û80õþ€F„”7¦Ÿ§‘ĤózMy)耆f¡^«èsóÎùsë¥hæÌ¢¯K› 1¿ü’Vú¥ ³õÊ‘,)P:úêñ‘ŒwPÝË×Ä*ÕmígõZŠ ¦ý§Å^‘4d~_ ûðêúGµ~A'½Âµ €–pýj§œb¨fþoûaó˜ó}0éÄ"-–ŠLð¸¨H@Øè%.ŠôDÌ¥={ýÔ¾¾õ¶ß_}”N‡=Û÷‡~1aEDZÓw*–ž`e{V†õ]†´\j_±P\ʱQ k°r˜’òÍ|òøO›@ytnY¹*j™õ¬Ì¡ Ý/^šù©Ç§ž½ÈU‚ íâ?U¾ÎPU¬¢#[B‚~V&Ž”_¬– [¸)Y€¥Þ¿\N1Ù`åOÃñÿ´‡°ãáßiYì²ð (XÀê˜]þÁ”,ç¼:{&yß²ú¯¯çY†¯$É¡]' é6{¯Ì <Äw¶y9ÿ» {Ü>µ@èU{Ü$W ™_­GÒ|sÀ9G-PT b™yμýá…t[ªbxÛ Å“®˜!eÆç»x“ˆ{ó.þó`EÎí¦>†+ þcÆ{XìÖBú>¼+®ô6ÌíøbƒÄËÈš6W¬bþD#w_ÓÞa<½¢& ðsÌ‘¾ÝTÊËÔ›1é÷ûÞ{€d¯›36 ´0ÛÍøÀ(ò~Г/]J‡TËäOtSbèäÏw£ê‰¾pù÷›ê‚'DsžÈ-mH‚gß›wé0< @øëU|³1â q: ?T7{ÂÀ†‹ÕRè騵rˆ¾ ˆü¼ØÀ fôk³à&D¬R…mü‚0É[¡¹GP5/TDtß§üŸÜºD ›Ì‚'ƒü GäÊ•­fghc¹èøþn¤Üá `S)ƒœÓ¯+Î}¶„ZBÉÅ"^°{´zäÓâÌÿrÃò¥"lx0òÈî&æfÖw*²^ÇŽ¶¥ÖnìûȳQùk6ïj^ô;‡¹T¾ìËHxgwͧS'ü—Ç+û ßDúÕ3#s(´}ìg=X}ܯκ ÒžÔ†/¨ÊEz+Çrf ï_ã… SPL{XÁÆ­ò‹¶G?R‚Y§^ØN ƹВp%>ÀDðý}†z ¿øllÜÇšcW_Rp>Æšõ3Z冑 Ä›¸ã\†/ã 7U±ôÎÅÙl̉QyNŸÂƒ Æ}Yõ+uªYzú9¾ýeTY@!r¥¶ù nç©w¼w¹+)+‹!ß®ŽEóœä¿{å~ž0)‡­/E´¶Bœ£[4¶B°)ýCÊ‚«èä@¥) >ƒáí±W“\0"7OæŸØ5ŒH”þ0ýªÍB“ùš‡À¬ô~ ]{HøT?øï±…Ä+š¤CÕ¸‰5T玱RƒFi%ÏêDÐõRíA ‰)4ÆðzŸù˜E-F¤‰GŽ@]ây&K>a¨þ0>¹àIŒåÓGÙ.h6aC±Ú&ßö1ŒUÿyš áˆh&æûI§ û.{x15`å]Á|S^Lß´¡,ÉÇZšd'u‡5lSè¹à¨ùM…Czv`ÿ’Á ñ= ÿÀq—€#WÀöí#î zÓå½!L„÷ÚÆ‡‹™¡&K;F^ ÌȆGåDäªhþWòø” Wôl\{²Ï×åËeî³ñ‚ž*’Γxf¾zÐTc`Âè³Ïm̯÷l!Äš(Ë8õsüX}ØXîV'–‡ ²¹5ŒÈ¹Jõã–¦p޾ý‚ÉÚ…!ŠÌhï>ú³psìš“Ï+«7@ ©BÙˆdUÒgÌã!ÈîØö1ä„;y&Ë[JFÙu{ž9Ò{[5BŒ îIýç–$%ô¶#5Z€Nçbx‹:ákß©Ñ5ca »Ö&)µ I¦äšA~“ø%9ÍÓ"^[ë‘NtBnÈûíùn€mÒo't`x‡¶í¹Ô”û[›ú±A[ØåEö_³Ðhs´nü‘'äjÞùìõ«ÊÓ?ʨPC=Eº¦ÖÓ¯ð…c™œõË V&_1åÖCŸwÌÍõ‹%ོ˜qÛ]¿=ûévÊ“ À úå—Ñ?:±vóØ[» ìhia~EQŒ„óM·ëäÞaàƒ´r»_˜©¼ÙÕøá,fÖŸ_äZŒèx© ‰¼p(š2ò‹0â§0çyŠ~ëÍÿ\û„ µ»góößéà 9ácPÊç¾~T:â,ëOüçc Ñòô¿Àâõ®Àm;Ì¢öq)ÄU2ߊfÌñp=$Êѹ.k6éáXöÙ&—í,ù9H’(µˆéM{®SÇ1³šBOšÁó‡Ï·¾Ù ÃdÏ!^6p Xß ‹| ¾WŸ]Ë,D¯?¹ï§<M{átÛSs¬%gq/ ¾ü¼Aó“¿0ª¯£1A%dÞªdŠŸIΣ5Õ§Äêcñè;¿¬O*a¥3÷ü²!ÃJ>C\Ü@Õ„8-Ë=»ÁËPþI<È9¨sŸçw¥LIBÅý*úÐrhP5Yaý¨ ­Ò>›RõPFrÒ§=ßW2[ˆ¼‚ÚûCdöQj`BÿÊã¢ùñF£/îiÄ 0$ý<78Y<•°N,õÚ;lZÈý²F[‚Ï=*n÷#æ<ë¸h¬‹Í?ÓOßXÁš© 3Þ§\˜}aú@J&Óíýk{ïw(¶ØMÐ…"Fm–ää*”_úÒQðvmAb½Ø¬'WAΙ[jÅæ@x“2àž³Å©3Ýz« =%Þ{PûäçG Eæ ÈÙ¦e8Š¢ä)ilÊ'1¡1|†pº“аK2mbt†³›n擆Iµ=À ¢ÖºË·Ïcþƒ§,Ó÷(1‘Z)]±¼åŨ†æ_,M‹ÓJ½ï€y/ï D¿wÅÜÞ±¨¸0ss¤ÏåÕ% yÄøÇ‘ç ˜7IIÓŸeoÙV'rÖ4ð±vè´€èÝë'¬æ!î‘Àœ¤ü>_”æêœÜÏ€çÇY¿AR‡M½.$Û”n{[¼…ć?åÎp{A–û‰¦3žPvHýöŸJ(W¾o,?æ …ÖïÄ@νöùÒ¨‘çÛ#ý²µ¿“°8˜’ÒäÜV‚¼gçÏ×B½ïi…a3HÈ-¾g+±…ùÿÌy3cö} ü-E¯A \ûm~¯ kbEÿ;ð¤ k>Z˜¯0c¦Ë¢øÄûDiŽÜž lü{…¡P‰ kçŸ*”Lc¡ú›Õ‡˜7i1‘AÙ€E÷IO¯;oaRÓM—¯º‡!MŸåª×_Hÿ™ÝìPni–¾É½£8i˜l·•—šfÂ!»Òc(£Žp~©ùò Õiz÷´õ÷¶ÀDh©–ÓvÁ‡«]Ä%¢?ñÑÍæÞâ=w ó4“ÏôæÂ¼£O‡&Ôõ°(rRŽó²æÆB`‘:Xýæy…eo«gÄœþ‰·~ù˜ò5ñEÄ….ÌÍ32ß’ÁT˧ŒÃðKتåÛÅèBÊP²ñ" ¾¸>u12m¡o´ å~cXƒI Ä’¸ô›ƒ›¯{èYHÒ=Â盹×ïU×g@d&³&Õå`¹ØÜØ 9’Üs”æ#›±ªú/vòU}¢,ÄK¡Äê„·ÞŸ5(è/Klì‡ÒÖèBḣl²;Pô¶²úÂú?H®üÉø0ip“s J¼òïˆ+faRøÖ‹µà óz;Þi17Þ´™™`Éù››w̼±¶Ù)ìîípÌ'±mþ~0 óƒ4Ý…¤öë;Ÿ~GŽ]«)àbß)X|s¯¿,Š9þ,ƱÏ ¨{ìØÃ¼ª+Ù6Π,¢ýHfà8$owÔrÇ퀟,‚ô8¤<"Ëøý¤ðÚßHyÑ~(;q"'4ï,dðj²¯4~\ÅÑn¡"È;£ßà‘ QÂ]Ü){pg™‡ùábš×véX]EÏÞ‡KëÝ6˜Ð‘!º,ÿÄèBdwo³íR/ÄË[Ù=*™‡°ºhÖû‡õ .äÓ*2È6û~$5| ²ÉÙ^Žá€'濽ªûüÎ*u _>$±~EÈb$}é Tóvûùd…‚Î3êÕ |lÎÚЮJË{ÌêXò¡8ã:-uyFYõ2Ti‡£‡ZûÊ÷&IHâ’£ïÂëÆl¤±æaä eªj,¼£ÞôåÖ,ôSæL}®‚µéž?…»±†\¢\ ð”^šëû‰Ù ê˜g)°[CR€ÙOhøõ_œ«0+\Ž€°­3)C±wÁ!K®ÐS7Žwë¼ÙïÃ)Ò_GŸÚ@ÑÕÁŠûG©!3¨~jÍUŠ®s2 …‚Ô2+ÅÊðOÿ1ñH tsH:ôrJÀÍßOl/4±àÉHÏ7{,&7;èó‹}ÝÏh9aÎíßB0MâÒ†Ÿƒ ¦<ÿf-ø\ƒÃ.5¼SBmí¡žÝ3èËë%Öå}¹ÅmÏÈ6“€]a¢äZ*Þ·¢i•?ÀróåaˆkÚ]á­ñ„ÐÂMcrÛûv¼æqN6#Ä)5Wò­YAÌYǰñ™2ˆ¸üîÛf>ÄÀg ¢S_ýâ~ãu –1­8¨ôŠbqžìë¾Y¥Ä”¹6Õ˜,ãcBtu“YBæ«‚ˆÐåJ©IœT8¸²}¼jŒ–ý6v|ÇšPCùgÀ±pAî—šÿÍöj!χOsÀG_q†¡Kü¹ÍNB”i7᩺ø®4iéÈ@˜A/·÷Ñv™·—º BÎß?aŸáŠ}‰¦Ü!òsiXέ:È6&î½ý %¯Ÿ2ë[íA^.CtäS(,^¹šÄ 5S*‘ï]VyÿÙW¥dA2u¤ ®A‰~‰ZTç2`›%i¹)|ü4rÿR†mOôŸY€ä·s§}ߢkù¼ˆì""Žÿ^}€Åg˜^[L¥aú½âˆëÕﱪb.éBÔQ¬«"D,Äcq‰l!Å¿‰ýºÞbž<*ƒe6…{î´J˜_T9O µDýT耠é^·APk¢iÅ@ˆy­@c€baÏL—¡ìéÓ~éß þwq8ö(dÏîÿ£0¦25•/…÷%ÑÝzðÊZÏgþžÝÎ?†ïlíGŸ›ÜÀL¹/"~&*XpÑ8ç/3æqΜ#Ã"‹š²»÷Ú±s‚$|“­±u‘ÿIJμF_4w¿3ÿÄB‚*o¤„ÏYCtëÙ^}b°SÙ<ü>ý¸ž¤íí¬w„Øsìï~d@VB[cæ¡GPp¬ëLÙž=äyýxÊÅü¼ ¦&…P+U²§zcc!¼.–Aæ7gÉWPNñDë=GTs]þ.ÂÃÞM׈^œÀ˜”½vº=vt]l#ø5H/(4Gg`Õ÷_ì-wf±ìÔ|—Èä%LX-¿&êk‚UŽS£¥Ø(<@jÈ›…¥!¶çÔ}˜c“¶ø} ËbÌþ˜Ÿ•Ä‚Q¡Ü‘ö/ø©ó‹†Aïˆ{ö-2š3 ¢3 ¬æw!ž*´ìÎk(^ù8Ó¾toí›ösaÞ‘»Ïõèöóbå©úßÂNPô˜áæuNQÈöÍxªÎÀA²Z’=Oîsù×àì~òKà¨ÜÃl>úóÆ:*Xqm-ÓêH4s/Ý^7ìÀB…þ“ËOžaEïhRÙ¾WR±ûKb¾aÅQ…o˜´¹ê®ø“¶UàÍ+ 'ÿ²µ©¡ ¯—Oqÿï»mÜ zàñ y„÷õö_òÞ£ëë~ÚZ)l!àj­¶zÑ´Sä~ÕðÁ‚In>5æ¿ ÁCŸej—ÐÿsÂB·q>:»ŽtmPÿÛ¯.}–Ÿ.òÊßïÆ¬3ÿ¼–uÀÿ™A]m/Hç•åý·= ù‰Þô*Ç ?SŦöß,»}OFjiØ·Þ~_‚:*ƒW³ì ðyÿ~2̆s/Óf¦ÓP{P¸ô\n1dÉNßô40Á”Cz¶·ºJÀõ©äÇÞw‡À_§“:›þ $¬W~ra­›IãH"fœ¨+ŠÇ µÛGN.ŸÇfñê|#¬2aÓ~h¾Œ3zÂ…ì‘X0SF'j€ùO6ý$@‘Ñ+Zc€ú/o¤GyBöùOLœu!ÓºµÜ,ðFr_›dlB€Ü[mP*—%Ãòa’´È¾nAæúøîé^Èëhð+¦ôE“þ·FÒþ`Î÷ Ç·Á0ñ¨êµ¾S˜fß½²—ǰÏÉOlþª›#a1¹ÍÙ. Äd\úd±xa00ļ+‰ŽÜ£Â¼µ«Í†ƒMkÎûĆ#+ «:CI1êäqþà_ 热w [~om×(ká‹›JœÐÿk$d>»½cÃYsæÇkÍŒÀhèBÖ«kþè³ÞÕ|zÙ Œ¨Éÿ‘ˆ³£Ý}v“ Ï‡0>ÔÚ¢ºÞc¾ç®É ÓÏ»&Áð›«î`ÛÊѱ)p#N½`ž]\Ùwbç6 ‚+@8ÊË'Ôh!¯Óí¶Ò!hÔ°å¹Ujõ˜%9@±¿ùÏ[€o²¢í; Dütà+FÔøèÚ0.¥„á/u½—Ñ…·æmP =+F/¿®ü…uG¿ÏÓe "R ðŸW&C,*»CÖ‹ %3¦okÍÎÕÚ|•Á¼Û´ÜÎ1ž˜ËÈöý£tf Ó¸a n/-˜¯)@õië9[È}ö~ýpéäÝþvÙJJî7¿4}¥¢šÌj§g¡¼×¨Àü›6䯬¬6 ¡¼·Œ·µ’}_FéÄž磇¢.µ`®ŠÝe¥o2X2[JÕô ù˜Ô§Ú±òµÊŸº1¬°]ú‰„<²Ñ&Ž¿˜×ãsz„,óì”n¯µcÁ÷wMÏ 1ÖmÈÞ©ˆI«ƒ$ý™é‘%;(3¯÷ž»„»æ^ãËNP™'òçÞE!¨ »ñ1³Zl¦Ö«ÈBMzIÀ"—/”\}/xªE<ß–™„òa…ï…ŠC£O|b¦süÎ(†¡7Ñ…ï/èm°díáç8}3lq2eNqUÀÚS÷ úÞX|_®þ«Í¡ýüìè?nñ ëÌ5¹¾¯8cæ…I:œz³0ðƒÉ]‘WÄ|þÌ<Øõ„‚wgèòç ,ЋjŒ¦Ê¥K‡”NAÉÂóéOQšP2\åRî`å#¦§&!/ò[Eû'x}th ’‹}95KÇT{ѧN_íY!æÇÛõ3Â8VÔ°Ùj'`›yË,+n) ÁêKýB~X®Ã )÷‹æœŸV_dÁäö…»žRW—î\¾fŒ¾Vº²N— bç øLÞƒ¬¸Ù(땦|†|aé$«Ï½¡ÂÙ¶rsÁ¥âöMçÖ˜x<,Î=û1öößb†‡ÑN¨R%ô:ª[cZËæ×~²cVóÚª0mÙ÷ÈoþW˜Îôä`ùÝã˜óê÷¶¸z!¦Kê}:¦k‹!Š~_DjÞ¤?-H,´Ÿ·‹ç›¯Ašc"WB±‘Úbj¨IUH’üT uÑ y<îB¸>ñ4¼Ñ8ýJÚ,2ŒmOC„t>[)äÝccûáÖ‘Þ—TB!«;uS8æžó‰R»y +_÷ƒpl¦_op`ì)ÀÊÀ`6ë—°mëX¨¤>6(çO(R¿ÆbÁF¹õ¬º@ÁrÚ±«Ÿð~ÄÔŒ‰Lª>ÚÏb d¼ôÒéÁH}qn^qwRÆ"Ù'®ZA‰Ú«œèK€À:+}%Ž£ ¦cïNA)닃A¼)·nMAÞ±ó1RÉjUÕQÝa‘W_0Û›ÞǼ¹¯–‹gÜ1Û›]Ãúó],ÒmŽ^œËÁÚ·_\F¿`­÷ÃSâ”±\Úvè7–gÿWi,Œ•·z‚U6ª0w ž0$*‡¶—mŒâ}ƒ+‰]™š½Sj'Ýw~XbÉðS‡CN,Zb¥Õ_ÐÚ¯sÖá^]È­K3鵃ÔÇÒ”ç] Àq6æ¨S'N ©i®ó@…2 _÷óe(yÏËh`²ïÃÙÆvŒcy’.Ó²Ë>RöüçGSàcæKSÄÑ×áÝ“‹ŠXÒyâz–XS<Ï·19Ueå¯5÷cÕý—tCæ˜Spfú”½3&†zKÚþÀ´ w¿®ga ß»uZë±rßÞË ‰årCÌ˲K ¶Íë põæßH |hOîÞ1òlAMexÍ#¥ÒE5…A6ßÖ‚ø‡0úåÓ­¯¿aJ¬–<;K;æ>S{ø&ÌFènçbÞŸá€[Â˜ï ™¦õ07•Utiþ¼8ã€Þºñ,Ï^éw òs/M nÚÙédÂGÈk=&GÊ"oŸ¾£ U©Ìeñ;TjºÙÌdA­ÓO2NÏXh|s•ÏD< ê§ö¬þ}<XÕ)ô5ôàÅ~…à;ÚP½–-oïÛ°ï›wEÞ ÚcÄfgŸõž7XF²_˜àQsÆ’²Û­ºû:=x¡Np3 )]oþF̹TýtþóÖn®µ¿.çÅ…è1ùTŒÙâ­óã@ÙÐú‰®IÌ4?ÍRúMÿÒq=òㄜí±‰ET›üìÛ·û![]Sò`¼é~¾öŸJÿprµ'v“ÿþ„§rþGÙiËÖð«mÂÊm[1Ld-y}`á ÓÎmª<]Àdss¡“9XIjIò«+ÿj^¢`À}éÿ´ë÷÷õYòlU–¼­$fòsò&¨ˆNàךy%9A|«2œ˜”€N¼W?þþ îÒêŒo÷² ž#¾Å´é-DÛ-šþ—⮓cê²§¹à}HàóWcðÀsŽƒïÈ1ôâ&¥¸åé‰)C;lw+1×A¼Ö.´³'¥MJT¸0GtæÌy­“XPoêüÊE óà R‡cu{ú­ôMŒ.{Lœak€^ßší;†ÙÀéL¢ §÷{ˆ[9={+ ržÕ¿ìƒâÊuÒh¨xc+øõ à][ T+~ L(ƒêTNóêœ<¨>«á£TÈ5¹ñ\*Pµëø´SÖJ´L jŽA©Ð—â_tMP~sŽó$³&‰ œx†Ñ $­ù#Áà-­Î&˜ž]澈EA©Ã¡VtXó`~ëí9ÌÖšt ´YÀ¤©$y”TXmÕ÷ÊÙŒU®÷<å%Û0|†ôHŠ}„Ω$c¦íá¿;›Eèh•bô‚±Ò~¼Úyò& R*7_D –AŠÂ‚ðqÿ}ýܪ~ëãû 2بHÄk‹!Ñ*ÙRÏ|Vh ž­Ÿ¬¥­1v9Ÿço÷?Œú~r×jã/†×‡˜ ü™Áü¹[+wž céDZï0{dº<3ð f¥+ý)µûŠ… NÅÕ§0;_KS#ä-ÉÅ<Fô¿+r«Úê¬p¾øæÿ›™|ÚžJù'DNÿç‹õ †A`ñpüÎW=üPÓ2ºÐýOúý)f6ôbù$Î0œŠÑ‡F‡G`F€á–õfì:ŸÙHL–,¾ÿÈËÓÛ[i&å¾bf‹GMÂmL(¹ª×ÖAküsa{BhÓà¼ü(~ œ¤êm™sù!‚(6Näƒ$—™пŸ‡|~.®r(!÷{c¿Û¼Ÿ{ŠúeBEÄtu½_&fgý¢#ÈШè½gvÓ$ ÂÛû÷on ·Ýâ…âþ“ã¯Ööùüõ×&PÂôMëÚןɯvÖ4ƒ‚o-³/´b )iR®á5ð5ðPfØÔÂTn—WÂXµÀ&¥³ß=ÿíucL…ņE,1~æìÖ€UÿmyáWÁL𷔬ÝÓøÁIb!þ„)ÆÞ÷ðq<ðCš'Í‚êA´Lx E­>$^ÌÌ&µƒ”ùKÎäsŒÇ_öe9¤š›.KmlAøÄuyÉkß ‰v9ôu–Äþ¾®þLÿ/FÈ™ ßãÁt¯BS½,kŒ ;ÕsàbµZoLíi,îkÎ`”Áb¡£Ÿ_ÀÌÔd¹„C˜uSQuöŒæTý½ßú6SÞ|>ñ&Ó ÃÓØéÉ Ñ7åL*f mºÈ`ÙÙhøEÓX|ú+šèF_’ÙÅ}Åö¬§Q»N åË« ô‘Ï`[õgÃКI­2×0\™ß}ÆÌ c3f%V41é•]Ýs>L,['ôÅøœÕå0öÚg)¶|‡ý÷fný+B„¾¹®Ô5.ë¨{ÿ¿Ýèðo;á.qߢ‹Ï]o“è‚øß eig ûCÖq¡(j("”=)4Å»"Ž4o×öóP݆ªêu¨àË”Mx³¯óòÖ&¯!<+Áôå- äÄ3«þ%R%Âß:Q(˜iÖ¿ÁÒÅKHOÛCÁÍ7f³VÁàJ!ßýMô†Ë2MŸ0…·ÃõÛ¶ZGБ©¿U^•K ·Ý6²Uo÷]äÁl?–e=­ Ì6Tïx"I‰¼†*•¼XÂ}¡ýkùsŒs }7ŒþÊ#!èá“ûêaÄ5ðîߥ£½mч.º˜>ÌþqRëEnÈËê̱‰†üãvSÿ‘ðCø#õåÞuàcf/Z!ôR6¯œŒ'º Í9ìœ{‡0MCï;Ú+bööÁBÑ‘'SþjóömL:•ïõ‹¹¬[†È˜°¨+˜@-܈9Bb’{јví¿î©}.Nò—¼2& ¾%<Ò ís^À M÷îÄÿçÍ .ÇŒé,ÑàÕ§Sw(Ð3üõëK׬AGeh‚æDU§«`ˆÙÑ'£,$ê¡LÜqCº›Îgc4~>ÀÇŠ)öç£iZé0‘Ö:ÏÒ²#ß»;MØÃÐnB–Ä­ î]ç5Û(@û’b{ŠÚ{à¸ûýQ§ÅÿužñXxÿ'RÈH)… )RQù$„ì ÙeD’‘½÷¼qÛÜömÜö¬ô![Û–TdI…|¿Gÿóä<=¯Ïë:ï뺜×é€Ô(rêI•E Yo¸•y#±¶VFâÛ~Ùzè‡-Ô*ß9⠵߷°”„ºä>6îóиü%-{Žžåf<è/ùMñ»úƽ³glt¢M þûèá¤~¨r}(H(†Ú%¥Ï¬ýkP-•³Ö+ûZ’W1mõ8—÷›èî,(ÅŽÑò–}·y6±nvÀê²t"ñB­×¬~Á5Û5²„ߪö…­á“šZ¿»°Áµ½ßyè!°üz}}è&HR=ì<}½%¤9æ¾Cêð/…?V{!?ÌåË%§*(Ð"ж2Y@µhØ1Ž6¨l믖]2Õ÷ã½·-!"üGC!7?ä{ÊõJoBZ—^úpÉÌ£ˆèc±Úþü¼Äu,»öBŒ¼­KÏ‘ †+ØÀ•=Ö݆ ÿíäï^ø€59zç<Òä±’w×Ï€ÃEH~Îa0œ¤krœ¯b§1÷¯*Œfi–×d´†P²P[¥æuˆ>³‰Û¹ÃG å(h™ÿªédC Xø‹Öž£vÅÈ>a3]9UÌ:òTÏÖ3KnÕ¶þÆœ/‹ûwçrc±ÌÜ!ß©,¼°‡íŒú2fH¼w>éÄŽé.¯ÇÅ$u1CËwu~3½Zø£ˆv67 xÏAô{Né@GHV‘‘ ñÆH*¯ûÓóX~Aö›Áuy¬z¨&L'ïŽÕ³âsùoža}çê,Ƭ›3/¸òÛkjª©Ýéb±N)£Ô€Æ«n;ÞŠ¬úŠi®mèëvÌçÙY$¦ù2¬üêÅ šç•ŸmBªjúw¾"u Qtéyx|½:óËŠáFÛÍÞ´¢ÁÄ…¿úsÞf3Ò4Æ“݉ÉÒ×?cvN¼€@u9n3º¯!y¬ÀKø¹LÖMK[SHR­áxóE³»Ÿh ÔNaª­[Ïl?°4ž¤ ÷âfj葜uH'-_ḣ Mÿ;®ÿ{O~µk7T‡*õÚáu:êSzAO¡šŽã”ÔA¨ÚPž#™?‚†I_…çUðl¿]‰”»*4ÌpXôOAÝÙÛ9ËôÓPãÐ’ç7ÉÕj?„®²¹BuÀÆÝ“%»¡âØ%LÑ6€øî¯½çó0ZtQŠñÞô蘵ê@òቾÔëXrÖl2íÏ$Öëd-2ŠÆaÍío}…äJ,·8çq‰êV =ôQÇ ÿÓgT¸.b ã éG¥˜kb¡Ù¸€÷Þ»‡ Æ0BÎzñ…‚ÈIëÿÓq+ý™!¯ƒ~.*ªez¿¸Š§Bécé™Å }QË®‹xkG?›WÃâj˜&}úã6,æ°  $cCÿŠˆ 5Öû}‰/>¢õƒBïóÕ±R‹]ê*“2–å—›\dêïf¿•i°¬šñ¥q 'Æ¥ìX¹V$ÖÇÞiæ¾ÒÅ»L#——ÄÀèäàĆĆî ø¡v_¨Æ6îLiÖ?Z|ûºKnêaTÍM¥Âv˜FU×óá¾/fˆéû<ˆ9Ü¢ÿuÙ©`ÑÙ½-â_°hÖIߊªsµìxs*e1#+2wÍâ*¦í8¸,α8v 0§Cï“g =ùÜÞu÷Ï¡LÈvg© ЀœW!eŽ…¯·…A•¾P‹kÔzJŸXÌÔ„êôá»5³P½«Eòý‘¨›\Qspƒ'|šô/ŽBÃ:mkáëF¨Ë²þ\¥ýjú¥‚*'^¿“–P­ýx(GðT*K›ÊXICúzôçfÒ^ôŽ4¤(VË£ëŒðˆ{ÿ|`;1ëtê<æI8Ö™s…auTKûñV÷?½}ûô ¬H0 ’šÇ²_çòF±´káKH ×ÖG=¶ÇÂ=‡ ˆ=ÂuáTJÙ{Hm2Þó™Ñ²¹ú7ô5ÿA䞬°ö°ß@·‘­h…½“m§ÔÆ hÜÏùf ˆžŸbÝ¡¾Šû~íøŽ±û©,OD˜cú¦Õ¬\•˜6ÒbØîŒ6«½-ìXs‡¾Ó”ðëÒŸšfýôÀŠJœŸ°p‹4§Ñ°3L†Uÿ`‰]LØéó˜*YSky…ä+?>OïµDUçJKp‰R*#lß'ÿM.>·±nðÃK‡‡ àËW7ô´»¸¾Ô6aЧp:™âL‹Xj–Ü…9;LJá®6æÌµÖý3Ç<'&ÑÈRÌ¿:Üùô0æZXÍ ŒC·ùïµÈG˜¤*/²Gv ƒ²ÝW_Ò‚ƒÑƒµ Z^@؈3ªÕ½ i§ÄSû‰r·iòÖSÈ[~•4×dåz^ôwÀª™Õ³ç /A¥Òò¿ß¡B~ë½åŸSPcªžiG»Í ÁÅ/;vFC½W;ƒNq,Ô¶>yÿ¡j2G6Å|m¶õrúª–œ95žCUÿRØÖ‚¹ûcëÏr‚Ç|X^ÈÚ8>rP8j(2[ßÓ·V‘h§0Ú‰²µv–a ÕY7ÃŒ<¬\âû8Ƀ•œ £s¬¸Õý^L6)Ô3×¢¯û`IÁÙòŸõK˜'ìG^=»äl{ùã[Ü!C®<»âï ÓN¯Kþžabíd=äšÝ<Èé%†Vá¼¶#=³êò‘T !BÎIsIh´¢×âKË„qŒÜö­c˜ÉD^!(0ÇEÛ˜‘J K{^ó±ê(ms`sÃÒ1«F, g"E-2"Úî^2—ÙCåƒäÉ£‹ÃË;±n´?¼ý"&s×¾_f½ŠNeHµJ~m®‰WšO‰›ƒÛÚQk°5ìhšü³å9ø—süÑEQrñ£ÄöK ´#ýÆÐ£Á×[.Ñb¦ƒÇï]–U˜ï·X™H+¹¡Tjœ¡lHªÑH²vÄìíYÚÿ™Àœ£½5¹±¾˜þð¡h•  lï¥ þ~‹ê¹ÏŽRí…èáVzé¾äïB É‚d>:•ý§8!»íÛXÐÃOP¦ØIÙ¿ú*ÿLK˜½„Ê…µ›–‹Pé1´…_ªt"?zæÙ±CIа&+>ŸVõžN±—ÉPÓò2ü-w)T—:~;÷ÚjØÙu‚NBÕÛjV9 s()Õá[•´…¿Ùã‚Á½GÏÅí>š”rÀ¸1¬Õ´¢˜Ût·âò;¬Øÿ4žõˆV{6›®HbU¯T“ñ_¬p5"«†^ŲG1f —âP³)Ëäd‰}ì“u˜ÜúàÐÚƒ005¡þ³yäÒƒûë?qâÂÓu½zH¹fú…<$ï¿+e}4»V®pYW²yí¢R!2çjÌ¢ü>ôeØcRi„‰>ùÄùC˜ÎSçn#~s…þ1ðcI½©êÍ&z¬´ÝŸsÚ»+ýBøtÎ"…nï›*¥ÃX°¬­Þq/ó2w+g﹇¹éI§žaÚSß²pó* àÞ£yÚª²3{/ . ú˜¨Ì·ï>¬Å‰n&b½;Ñ~ºÔJ÷t)ZçÌ[j¿ahE]ãZˆ1¦e& üôVÀœ`íŽ3šg1Ûä)èG¦ùQxl91å Kè[MILÓKæ±5Ædߪê7{ß`íJñ–R*øŒN²Ò…ÄüX/áŠ"HUÐ>ÒᙯäD^w¼|s{à>ϱ¨&€Jþδ)(¨Xm^jqŠ˜ÊƒušP™èQtFǪìhÐ5ü µb±uºkóP½¹ ¡qû$TæPmõ&rA…ú¡͇m¡â”‰ÔC~ L4ÍÚº¹A¡ïÀ•Sî %…Ÿ|Ö(÷ýhõ B_Ú¦Íו—ô¢¿cf³jæ›riš±È¶ÛòšyV¸s²îRNÀÊS1R“¯¶ýº*ð íüq,n‘h+ Crëõ Æ0N8‰Åô¦ÿե˔âG÷w½Û"³fEC%äõh.½4.¢[ÙŠl$×>0®Ð“‚Œ¹‚6—Z+ÈŒ1WkM•ƒxãåü[ax­°ŠÚøÃ0Ò/- ˆÑcº«Å³ÁDÌVëedÃÊž3ÔÈàØQ. $£{m"Z=îó9u9bìgz3!ÿXrsÇ“ (6öã•mÊxÑÆÊ@‘g9p’EŠÇkØ<ªÍ „v /Áõ9”‘¢_ÔÞJ÷Ó®[ÛœÙíK¨é ‚²•¿ï²Ø 4ÿwLü‰)({.·Ïh(lÉA®Z ˆKúmÕþS@JYë\úàQ×äÿûZ£3ÜÔÅèçüˆžgžÓuW§.bîd®$C–ž Sx^‹å/Æç·º¼± N–Q›b Ka9ó×!$Ï¥//H¹bAþþ¾aúó˜Ím~üp{$ÆÈÝWèMÛÙ~®{«jm/(’£—„¯…{·^î†}®¡81Hòp5¹­¢ÉÓŠ¯„vÐáÊÄãFW5°,Þ+F®Ã¨ÍÍõñ!Ì ³0ú¥s49ìÏžÅ<»½ëöÜבœ°ÿÁ«_D¤xézm:–ÓËØw…*`É™ü[j˜wïÙ]+É?˜‘»«ÓHä8&eÿœUÿ½‚„Ð'¥²- í_¯¨Nš…ª'¹Vƒ/7]øóݹà}¢{]³¤ ̆¥ÓiÐlï¹¼ÝGsñA‚îë7üèêd£Å uþˆ*He±b´v¦ŸéWqŒËV±íާ,Þä™8$8·€nv­ôcª7Ñè·3wø“‹pÅc¢™ãgµú¿‘’ÂÓËe Hɪ^'’¼_@ZÜççí- Ãß+u’ÞHZ÷n”§8AN  œËgGÈsc»zgòZ3Ä ›!ÿâšøm,d Þ!RüŠe–YûÓÂàDj²Ê;~eËÛ@¡:S骥šcËn•Pª®{rܘJ.·ä*]„BÅo·‡ý¨€¤ ¡ôNâ.D•†±ÉÒ ¡\[(ç»Ã’zÃØ½…¥ “ö8Î:zs.{>¶³æÇ"®]ñö^GÊæ_Bù°´!eîÔ‹ ,2ÑÙüâ†ù׸Þj;cî~©š‡3a˜Ùà£aÙ‚„G,³ñÑhÓ@’'ôøƒ/ijÃ4(ÂhdˆõKsvgˆH902K,ùG€Ÿwð0cÐ8Ϭ7:]E‡ê›!³?0n±d€Žw3]#ȧWr1'år·AÈQÌmÛmíÏyx_iÅ‚!©.rW*f^,v·]Ã|‰ÛøàÚO$Ñ|>.ÝrÄõ%0:?MµÖ0´z³†m@}ûîôšžDe'ÝnC°i¦™%7ƒµÚ÷‡Ù½ûм¨^9[?ýÔ%ã™0Xú5ß%W ’´ïø+:ŒÁö†“‚ß0ÊvdUlêÆMËì}󖌱bÄಫCèî´8ûôªlÈoý³‡¸ ý¤ Ü3=ƒ¨šŽCàª({°*Ľ ùôâõWH™39©ó¥œ¯6 2]ô« úS™%R1›²ñî9ŠåŸ”?^ƒ¼Xá’°C½ÖF¯RÍòEê8ñ<‚‚Ø´/TjžP4–ð"}ªo›;œ‡­” ,>¼CxF (ÌÞÈ:@I£¦Û"Ÿß•À¾ äî[ë}´[×{¾æHÚHkf/¤4B¸ÉÒËC ¨¡¸£;q¼Có|n[da’àoÌn33½Ê…/e';G±Äõ£oþd –fÝ–èˆÁ"æc67ž`AkaP°óTLYƒ#i%îJ·3&yªL[Å`Ð…ÑÝ(;äy(=’×>œ^[—nI1K:pãz­Ü¨î,Þ 'ž€S½>þ…iÔÜü+^²fˆA‡™/»cü· Ä¨¦P™×ý1Ý#9Ø{+37M¯N2žÃìƒuaAÞ˜½ùEçËç)$õÚo^‡C˜f”v.!º¬òûÛã0Æ:ìü­öX »|í©mš¥×Sù>ÄG,~LÚhËÌK™¾Ÿ÷ÊÞZ윻‡ÊÄT††t¡ºÄïî¹½ˆ/7+9ЮœRMÁ@wþX¹ q |ùÍîÎþDôïlàa»žÏ’´*£ý‡´špô{>²œþûúï_”ŽN|Ö…ÈÅš"Ñ»6@H¢·´bâîñ® yÜ 1³k© 4ËÅ•.™P@óœ{²–ØžBfû1Ïé+ @Þ;¿ö ²EÇ÷'톜G¢î„;/ w>`€qŽù¹œ%$?BÁ7­:Ò[ S½;6ddï#ƒ–¯€Ì]œnÇ&´IÿþݧyÒí|ê€DàÔ?í.IÒuŸ ìè°<Ý9<;£A˜šÆP²Nc &ýòÝý^‘³Ïw v¶.c¾Ùîr1#$ŸñÎÖÔÁ"çkÌ£µ‹Xį!8Î?ƒ…ú›:¾(bžF0’npå7ü0Ǥ`/ÚÙšïKŠŽÑG—÷ÎI‚΃žlXïð³?ànÌPöS/øwò7§1„€[žŸ_*ò‚÷ÍW—¼¼zÀ¶Àßd3ÀM3þ2jœE¿ˆ •#Ñ‚sÖ²f±o‰Œ²¿‡nçQšü6¼0«‹ã2ÝýÚís[¤/‘m1»>Íq€¥³$˜j2#)ÈËáåâGÌN9(MM…©ù ÖH|÷N@÷S-Ö¼•ÒlÂèçÄ”³„mþ@â\ƒ‘úG:¶·øö¢×Ô9ßæ|¸Çd„À(ƒfOŽ\Î,ÝBn»`­w³»îDz_4Ó'³ï›cà“ÜÇ[>5Áì´î¶Ç(£š>x~›#.ÕÒf?7!Án,÷Ú½iHÚaRÕpŠR¸þˆGìX‡TÒÈÑ¡¬`HKk[:¦JtV:îuHWÓ<›¸ é×;8+ŽÑBºòso¡ôCî÷LbZr2vÇ^×~w2~üëh‰ñ¬“…MßÂY¤úÝÜ0 Ù»Jwmrì¬kÿ ß‚ìF2Í»6 »ç5ÓAnÈf÷*.r‡,¥¿ì¢l&-&3l ‰•½öc97!j’¿ýÝBx‰Ž8®Ú¡òñ„ ag00ws€uK Öª_dã1%NùRÙ~eÌÒ'ÌžÃìÚ:öñV˜Ó­i )19_ÕÞ»‚9{÷V<+˜G’ÓéCù;ì·{ßèïÚo1é²±½‰ ãZ<—ô\0t³â²”½>ú$_\~{u7:^yF¦ÔIà_ÖÝÉPÝŠ™É¼PWäÛ¾ÈÅ7hõÞDZú±,Æ~ï¨âe„É®®óü˜<¨¤­+NÆtËê_¾CÌ’±Ö¹”„¤„åóÈב´öEãÚc[$u¿3U3AÒN~?ƒÌx4cjòfS©zk%0qj½‹]Eą̃“;ÓÎ`˜…õ õÖ¶OñH^;÷ÏZÜè¼á ¿¶›Ã>‡'â{Ç:ÿ‚'ÿ£ß_WÕ!àLZ°¡ô)Ñ)[ž.`ƒXÛòž<\@ þuþk•†÷ÙÖ/A<µÅ­Ð«/Ϋ¬Zh´í?áñÒfÛúçñ;“{£õtò6Ó*Dé\Õ¬xÙ#ú‡z÷@¯·äèÇC¡¡ª˜ÕבÞQr–7ûþæ2+Äö‰SHKÙî•Jrª7—!¡<ýÕß4 6ó9[0Br¹[Dù.¤ª?’~¡ÒÜö5|¼»Òi§MNBÚ(0‡Ôo Zy"”a:¶ÄBÒ–Ñ^ˆ ´lM ‡¹ë+ç?•@pû¿àfÖ#àñX+ Sx̸NO\N2CÓMÙ¾„}Bøx¥êÓá©@ ÌrOÜÚž{„Hži߯^iý:¦mɘg‡Õe0><#ƒµò &\²±wVÃÓ¤æNÃmàü”thÆûÒ=æJ}‹„çüú2·¢¤ßÓ‰qJ­äWñBÛ_uÍt\cKþLüH¥ÅØÑ¢uÎÙ«geŠƒrBHû•øéÎÆßeTœÊýˆ 5.£6[“Hdþt@¨ú7&éì’yõ¾“Mt[ë„Ì1e¯y¼¡Ï ¦(:ÏÞ©ÄätÙ-ë#˜´@.¨q‰²]#¯bü¢Š"h,ÆnÝy@Ĉ='ßG¥ø`À5‹-›èt~3oá<†ZJ/o€5ÏW'ªÊnðü+bJ=Á Õ+¢!²~C'ë×Äb]7-„x“Ú”¼7 šÝôo³…ÄÕ+OeÉýxãHoó $¸L_¤ÝÖWú÷ sŽ ?~³U éz§Æäˆ›0²ðІ¸Wšå^η)ùï˜p}†/@üÈ+|<£?î8ÓGK„Š—wUt>A¢ípû ,¸<,ɰ&DqÎõάR 2,±†˜÷@¢u&]¼db‡"í—™B×öãĪ˜^xûZs…Š °¼¬÷Òœ)xˆ¶¦ŠŒÃ½ƒ64!©¨"ût¯q]:1^âwçBßu}mÙ†Ì k¼5¸ˆÑì$0‰ÿŠq®÷ÞiŒuˆ/Æ›M¬›©Ÿl цæí q‘Ñï•&Q±éH@bé_!»)$2y™Yµ6c¢TññØ•LPÛEòá7Æø;ß‹nd!!hˆ7×TãÞó0+R0NµM»—Ú㨇´9»Ž`ìŽwº!GP¡‡÷â¶îF8w‘´0.“pu#è.ÆýÙÑôÛ g¬å§™‘ sn4˜k Ìa4gÛ0.Haãœ-ÆŸ¹ß¡‰ÑŽžCþFÆUG%ƒ9dh~¿Aߟ¿%ˤèÜðöúã24åý°ãÆ€nà]µ‹»8Á)‡éú½Øãàû¥9ωB õ¨¼²€¨…ÖvQ­×vPIÀè $À¾„ŽD ²6Jª¨B’«óe©PcH¾ýäÕáò8HnÞ“—œÉÉ”æ$i’Å鯟‡A’éŸ&K@Tgrk™†DÖ«<ë+ƒÿTtÿÖî2 ˜ÿõ‘9 q‡~Š\´Õ…˜ñ˼“Ë+5°ÚM^…ÈÃ;Ž;ªÿƒðz&É¡3«–È¢^C¡¹†sfY¦ÒqÛ¦+:‚ÇÈÅî«ÝÔ‘0=~cÛÿiíÿàáôP9ð=ÞÛ& î*ÄibÁ8Ñlñ}¬3‹¯czíŽåÀÿdZdÝB-.Œz|4Cç’…¼¶íþè;¢“ª³n‰ÁßU(¾S9*³Útã.˜Ijv`6É-ölt \L {v«Œl*–haFÃÎÎê‰ÔÌÍ?UQipÚCNqç­ Æšc  `ß’à újCï§„ƒù˜ÞÄPK$ØÝç\d©s'©ëV±Û9½½tšÕ­|ŸõF±ƒÿOŽ‹ÿûg!8Ìîþ\^„KRŸw‡¨ÏòB:_@,Yà_6áÂI;ÁÂXˆÓvªe6€„h•#ñ—!ñ¢ëÕ-?Hôz=:(< ‰ú>j¼RžÐ©yÖüÖMˆÝéömN%-­ë ¶ýtëDõ¶.s5xÔþA˜î¦½SÎ&v_þK¼_Oõÿkóÿ—&¦0¡Rwave/data/signal_W_tilda.9.txt.gz0000644000176200001440000000615012377701075016531 0ustar liggesusers‹í›[’Ü8Eÿg/3A|îc£î¨s©èi•«ì.ÛêŸ>‘JR$Ìrú_úë¿öŸÿ¦;ú¬è³ªÏºA£¾‘Y‚¼@1 f±Î̦Y<1®µxá½^3Ô:4x‰„ñ4BO3c£0s4V÷†V•³dg–|/g}¯è{š/k¾Ù*<‹ªH+àœ›²èA+놢$Bï Í"ÛGÖ|Ù/HûÎT¶T·´[¶ïíšíu—sç'kÔ «MKNëj¾é…“g¦·¦§WµsDÌ(™¦õ"lFN€¢ó±ŠâÙ§hŸçcž™yRô´jæÓ)Ó{çiœ'tžÚÓIÖˆyâg˜™Á/2ÈÌ*é5ûÌŒtÊRý"›Í 7³ÞÌ„3;娙EgfÙvfà™•M#föž]Þ:e~­4u=mz*Û'­/=ÕéIyÖ(=UL&E]R„jž´Êª’ÒCÊr¨ŠŸ*lU5-³:«ŠÏ:³Šëm®ùfµ·©¤¦RZ_×úzÓˆªU#ÊT(‘5Bº¸K›u×iÌnR7R×=±6µ™VÚ´Ò¦•6é’““ZjE:Lj³eÍ,›6©¯Fn:ä†fÖš›ÖÜ´æ&ë¶©Tåý*%X¥›jÓgŠƒ*;×:u¬4p™*WŸiõ5ôYh¬ÔkUlTiÛjúL:±¦ùû(SÕ}Ö¥Öå…Ò¦‚—¾W/T9E;:©ÅxQ )î¢h?õЦ¢>ª(î‹öV䣒4Kb}™,ºy+“ÛRW¤"7ß²¢.WÐIÉò`Ö~O½•º¢,_fù2kçY;ÏÚy&#¥¬è̦ùä߬8ͲAè”…<³ÓT²FÈ¡Þ4”-¢é©òZÈ.¡ ŠƒP® õ! IÓ$é’$呤ҴŹVoêÙ¥’ÔC’z8H³(w†ìŠ!i†$Ípôç³S/"uù:=RIêá }Oä©ó—u]Q'E‘¤ÑÒ=ü?Å]™Ð“.Û»¢ót !/¸:R× uùóF(óŸn5Ôiºª´ÊAÚ¯¼%ýrö1ïK”‹]ÙÌuö]'ÀåK7µ9VïÕí‡ëÞÂuR\9Qé Í"ï›êª)«Ì{SD˜ê‚ôÕAó¦Hó)™âE:ì ͬ2US4î Nd"½MõÈugÒ{•åϤ¨–).È/È.(íHy÷šúMj7©Þ¤ònÊ7)n’ß$»IiGÊ*ߢ~“Ú–êM*7)o)¶ä7ɶ”î‘rñ5õ-µ-Õ-•-å›[ò-Ù–ÒŽæ ý%õ-µ ª[*[Ê[Š-ù–lKé•Ô\SßRÛR½ ²¥¼¥Ø’_m)íHŠâL}KmKõ‚Ê–ò–â‚|K¶¥ôJÒ»×Ô·Ô.¨n©l)_PlÉ·d”6¤ßÔ/¨m©n©\PÞRlÉ·d”v$UzM}KmKõ‚Ê–ò–bK¾%ÛRÚ‘”ô5õ-µ-Õ-•-å-Å–|K¶¥´#©õkê7©m©n©Ü¤¼¥Ø’ß$ÛRºGRÜ×ÔoR»Iõ&•-å›7Éo’ݤô^’2ÿõ›ÔÞMõ&•wS~7ÅMòw“½›Ò÷“:‡ûÔ?@íÝT?@åS(€âäŸBö)”>—Ô—}õO¦öÉT•Fù'PüòŸJöS)ýÛ¤;…ŸMý Qû’T¿$•_†ò/HñK“ÿ&d¥?‹t_üÐ_ÿõ‡¾AÿZç¡R}è Pyè·¡üÐC¤xè¡?šü¡‡z臓=ôÐC=ôÐC¿½Azàxàxàþþ¿=ðÀ<ðÀýôÀüq<ð«A~à¿¡<ð…¡>ð#¡=ðNèüõoîþ4°ô›‚ý^࿠įùËCùªP¿´¯ý_…ñóÀÓ¿öãÁ<ăüà|6ÔφöIÐ? Æç@¤OûøÇ ¾ òwAùÔï‚öèßãÓw½ü=7 ¿Ê{ Þ€öè7`|JzØ ð7 ߀²†zÚ è7`,¡¦`kðkÈk(7 ®¡­¡ß€±„–Ö`kð5ÄòÊêÚúÆzZƒ­Á×kÈk(k¨/ÐÖÐ×0–0Òì| ±†¼†òu m ýÆ Œ¿‡¼{_C¬!¿@YC]C{¾†±®ÎN`kð5Ä ä5”5ÔhkèkÿÚÉ+°5ø ÄòÊê ´5ô5Œ%МÀÖàkˆ5ä5”5Ô5´èkK@å^­Á×kÈ7 ¬¡®¡­¡¯a|ЙW`kðkÈk(7 Þ€¶†~Æ·1yvüÄ È7 ¼ê h7 ß€±$èØ ø Ä ä`ˈɰ ã X!²Ð†ä;oG×*Îo†T3„™!à Ñe*C>bÉÐH†"2ô¡m%ãG“8RÄލp$„#1àz§¬;%ÛM£x;õÔ©•NetªžSÈœ"å”$§Ê8…Ã) NžwR·“¼ê¤J'é9yÌÉHNnq²„sÌÃèœ&ç8aìÄ¡lNh9aãD‹N$8~wÜíxÙq®£`W daà¯ÀMwÕÈž@ÒR$pA`ù ˆªg`ç Hæ J@`Õ ¯Æ ²M`ÃÀ†éÓç+°X`±  *#È3ѽáš ÚŒY2!š]kd¬‘U1BÆ™ÐÊDT&ógöžÉu™°É¤Ì–3[Îä„LldŽya§…H(ØBNeaƒ… 6XP_/Qa_…J]ði¡2! Òia;…¤Wõ‚ã*]ÉHUvQI)•RQ¹ïT¼S ÑŠ"ª8¥²øÊ¡®ø¢R*y¾’º+.¨äÞÆš1Ö°|#´Ù¯‘늺q¬Km,µaçF"j„M£6ÌÛ0o£”4‚¤q:Ví¬°³ÂÎ ;!ÑI¹Û‰„Nòìv':6ìáÎÂ: ë,¬S›¦d­A¬¼<( ƒXl™ƒl3H2ƒÜ2ðé`=ƒõŒ7W½~Ú¼Õ8ã·Hã#ã× ãݸR6nSËFãšÎ¸3.”Œ[ãVĸs0š}£Ë6šY£y4º6£K2šCá²ÙP§†Š3ä“¡v Ýbh3-ì- å`ȃ£]vàm”;Ÿ¼Å¼QÍ"~4Ç È††³xªð¼‹]Psš{4Ç<ê<ê<<"ü-Ö¨°àmxß!HÂøF Ô¥ö€ T@_~óÅ÷F£0]ÃõñjdæÉþ¬ËŸ Ü€úwF½¾+Ö+´nGœ[n/f‘¡d:æ‘y§Áå9En’sån9Wîff…Ä … AKh‚M‘©XUˆü ãØŒª<šÇwéÈèéX̓Ɨuu¸ŽRÊnÔmM¸@)g«>Î{q%%÷<ì§ïëh˜‘¾®ò‡l³=ýü¥á™c8:Ó÷òhN|Å3;wD!'†ê¿ˆ~Sö$T=zåNÝxfOõ‰85{oã8ã,§È}É¡W·¬~®•Gmþö«™GÞåáò÷ƒG]Y‘ýæo±¼ãвüÉÛiHÚ’¶M!çºX{žØ9ö‘k)¼õ™˜QCu=æ%{=fíÁ?¶U·mÐñ­_íë¬?z盋¿æ0ûy`ï ªÌø2úÉŽríKtÝ{£ÆÌ]î8JöEÆwîøð¦×Û“ý,ëãðü˜¹‡ìä~³ÓíÞÜnݰ×kÉ<­ßíq-Ù«Íž—Õlßo‘Çu)+J=Í9†`Êcó¨}yÎ^§)÷™åïåõÌŸíý2‘ë.Y–°÷Ù|=Dz?]žWë}ú:úº:Žî»Žßbç¯ó”u9ó¯—çu]û±®×’Ç–ž§\oÉýÖIû>g¿dÇzþº¯j™Ÿc™wÙ=žÛîù©uþj÷úÔº~µî‹Ûºon×»öWΣ‹k]ç¡ÜÜÆ-Ðó¾m×ö1îÍÆÒÝ9ÜÒµwéîÞ'·²ûýöo¹»÷7Ü»î©óí-ßíûº¯¹ö?ÿ0ü }^`†aü÷}`†a¸÷l÷÷úÿ¬Ã0 Ãð}Ý#áö–`†áËø9ã÷ˆÛ·v*ûªµ· ÿ·î©óííŸÿ÷žeàÁè‘Üõ¿‹ßé÷óÛý~"Ù.Öî¯Z{Ànk/X­]c·µ/ܵCÜSv瞟»{ìîŸtuœëoþùêò9p÷SºzÑîî±»o,f§7-gKºÎ–tž.µÛÚÑv?¯÷éëèëê8:¾vϹæß]çZ÷K÷U{ÓÚ¥–޶Óÿ–Î6Iw›¤ÃítÇ¥ÓMÒív:âÒõ&é|ÿm{¿HºàÎ}Ò '鈛Òw:Úºÿú¹Ö}×îºtËŽ¸tÍY:ç,Ýs–:K¥“î\'uíŽëyèø$v’.;I§¤ÛNÒq'麓tÞIºï$x’.MŸ¾ÓÛÍ¿7æÙmëÓŒ¿uüéìùòï­o·9òÓžÝß¼î{7¿y·ïÝɧ»ÿu7ÿÛ=V;þ–ÕÇó7¯1šmõ=üëÍü·ß~ý?é^3ÿm‹þÔÛ›=_ò~mäk¯øk¹o5}ßy_~xïË?™»ŸûâÃêsô¦kíOß³î¼]«¶[ÿö—âYò?½yFþåÓ¯ÿdÄé{æ}ñú0ú÷‹ßÚ3ÖKÿéÓ÷|í¶­êß×ÖÖ31NÏ×X»-¿äœŸ—àûÞÞŽxÇ–oÜï|^ªØëÅe>¹à±:íä’®ÿÖ[ôîû¶·cÍïògûù_œØ}ÿ‹¹‡7µþæçߨ«_ÿnŸŸ sx¾3Ù˜oäíXã¶ú|~É7¶_÷‹›ÐrùÆŠåðv|ý½\‚8>ñOr!ã?^îÉÓè¥XlGü;qcÛ¼1ñ¶}ûžô·¸mþ¦ó–O›vïI‹£—Ozö˜ù/Zìî§·nqO–^¶Å/¥™ˆ k¢uØi tåò t ›ÞY?ø}SÖ¿“öˆUÏíh߾܎qÙ—<ùñŠ2 úËçäÝ\±¾#7ú¶oé·æ¤ß k°s[¿3ÖÔ÷ô×Fîo˜(-iZ­áÙÎÞ>]Æ(¤®ùöÑŒ•ð®Åoë8Õµ}³k…©°5Š‹ÓÙÚÝ0|aÕ¼Wûû¼“çÛØ¹¸×¶ óÆññn|où*ŽÏ»qç³µüZœ8[Ú¾ê=¾ånñm~Ù\¯ÿ4Çñ]a˜Ó"¸¹ŒSæ6w!ìtÏ…]ã ®@¼SîB;8aIþø²[­½s£×ì/ÿy¬\Ï_Ÿ#¯rüÖi½§± ëkó8Í`ÿÖÞ¹cã& ŒŽËÇ5¬V\Ã\Œ8r¾:#.(>ŒÕðâ¶X|Û¯Õ†-TìK<­7¡¿ÃvÄ™éþÔb—°n÷ö²ZïkáZlµb } Ή[n«õÅýðó…­õãy³Úœ³¥AǰÓ&„ùêéDây·.i^“0™é2fü4ì2˜;÷%öòä ‡LCï1>[­;O÷…ËÊ¿[›8ßá{æõí˜7žüÍ}O«žÿ)žæŒ´«³é¨iòåk´f¯ØãÂÙÇÝÆÇe ³æe‰½^ª~|®ã´vŸë5õ,ó¸ŽöFmG'nŒNlnÛÄnF˜ÇÝÛqx‚¶žAxK;´pÇ®qšoÇköé7¬£UÜБÛNàx;öòíˆï+ÎVÅÅXÙ0†‰Ê‹3´g áÔç p„ëúò™'±e|óñÉía¼T± S9ËÃh œ°|ÇÇòÕ‹Ý%%ˆÅ[u;tƒ½Ð@!VÝŽ“·ÿUÄ»ïÆwl«ÿ´•á´ýzlúô gÚ8V»NÚæì½¼&q™¾4Mq¿ÆuK|ìÊuû3RÎD#柄mxðv};"óq&ò]’”xâ—w3NÛøpå-3‘ˆ®¯#ŠøÑíd‡ÕцÕOsªƒËvÄó8‰%#^‰Øoúu㫟O_¤PÝ‹¡ì¿²!ŠèÌÑíŠLkÿ<†7Þã nL0\y'ÞÀñ>¢·nI@âü{™ãÆÞÊO^)·#Â""mEŽÀÂ߯1ù“ùàJ[[ûòäÇ=›iFX‚t3NQ.uXþ¾èFÒœñm˜’¾åØUwÛ»Ðû®Èê¤__ð¥=\:ïùÍ·ŽxãJ¦­‹ˆÜf0þæÍ;Á6ùyœ/îv<¾Ã¨x²i—Éï\• c?â 6gïHÇjyÕF÷†é›„Vg°V±gs)âaùçË@1›ÝMĈ¼cþòŽ8îÄÕ»B+ù=Û¨ÕŸ¯¥¬¥3š¦°:Ó®§Ê#׆MÁ{/Ó.EȶÞ* Øe çŒSI›]F¸ûÉváa¼ á|MÞ°¿~O3œÝÇ­Êý¤0ZFzñT+ýË®ýúÚÆÆL.²}`üÖr¢Õ ù‹7r´ª˜Ù6Þ5¾ì#•ñÄFáSé‡:“ø6. £iÝ÷M¹Doà®›7gm ¸ü»§ÙúŃl¡°Qc•›ë¾ŒrÜxÃë(%vg¦wþä9Ó™~ŠÉr‰¶MýÔUp6}1þ;™\Ø8iˆt„œýÅk‡X2ˆöòßgG®‹ì~æOLmBîB<ÏJÏubËóRDþŸYWRÏ—û9‰ˆÙ!~?cü²ÞéúTتM>1‰íQìF-}\p‡ýº¬Uyçà·ÃA->}¶V*œ8JX²ÃÞŽïmî]äØüFÿa”rqßÔ0Äqg©T8Ãi™bKí·[DtNyãͦïDs¹"¬yú‡0ÁŸsñÈÕltÆì(âÚ-,;“-?sl¢&*|RþåHksâ@üÑ8EU‹?ºvS_÷¡OžEÕ¢|p>5çZ·íá·çýUªˆ[#”ˆ7¶ßŽ£á…ìJû}®ÃŠ³Ì± sD©QIXÇyœoqwÂÿ“ \¶(²iÓ^°‘é…uuÒBáMŸÂëRÄ +âonñ‡ÎŸÂöO×KçK«ó­ ‹r…RŒ=#µh.i\çZM'/~΋¯´ÊÛÑsïçú*œI_Má°yñkz¦êjé(zËÐ O{F|·ïí`6\©×%­rð0“7ÿ69øŽ—ñµ ÈUSLì•”K$*z +´¯÷-váø×ÂeŒÃ•÷çêam¼!êWfcWù‰ªÝRXË‹£ˆ¸ËÏ—wÚ]G i¯82+É¿ÞH¶†³ %àöaH}ªæº.¥Ð,wa:ST%†盾&Çû}yËæ¶]Œ%yJä·]¾ýtŒr-¦« çd´)O³eÚ®¸…üÈbUËvæ7ÇÞ0üw·£˜ý±º0Ô÷"¡Þ¤êÖ¯õFmÂÄFÅvìÖÝdèmP¡Š·µ£˜ç#­›ªˆ8ja;}"2 J^Æ™¼b¿tœMö'}a¤Q.Å*ºz?9œoDzæ&¨!%nw#ÎVGEÛ¡9Â^×aãL¿g†ñÿÖ°Z좿y­,¾Èýº§‡=]Ñù®Mfø$BØIE¼íHš2ÅæÙVDp‚5PÝ Z ‹£µ¸¸‡F¾îá nBĵe®íV¦ñÑÜeö¿ÇVŽw ÆZháŒ>š*ñ»¾Ÿñ#‡éÎIÈ´œ ǯ:{ [åX%RÚ•¶æ{ŠÝraºK¬3ì_®GØgÇÿÚ×1âÕZes¤uñfþ œÆîaøŸ¯ØVߨÈÄÓY«@—Fðª*ö'“Ê™5F…Þ„/Þ.ÝC<éâ,e Þç«Í:s›’CXÇaVÇ“N¥Ÿö®“âàÉ@#—¹\F,=Qm&ü׉Á‰çÿ:[¹¨‡Ÿè¿.V.¢„wðÑ—Oñ/ÙCd#MèY"í*= oÂܾ ªÕzN&|—}‡Þ¨Òv t³Ré¨Ûõ¿°•‡v“a|û66Á)`œòlM¦Œ‘Ï%j~oTé…B ê‰¾½›ŠRSÍïpº#ظ —%׳i·uþÅ<çR3 KÆ']ôª-}¾Y±ô·rëX>jµ³ƒGw›0'æ(že(CÓbs >õ7Oz¨*o…~¡zSsA0Í‘oÂÛË›ð¨7Å hœàåœ!2Úô$á´ŽS…N/¾÷kvÑÆ.–y¸á´†+¿Š›«±á¼ í³1ŒÍ˜¾™Ý`lýFܑ)¤SwâSŸv†îAÄÝø„óqfy–ðjcrÖåÕóÓ§â*›°«‡Ôo+Ÿ@u+Ö¶ûL-©7º5 0CÅ å/T™öÃ1‡É[ßt¸]e ›æªNäÝ™)ôåÄ-\vséu6!lD®‡òèíMxvÕØJ#¦¾Ó%³¦r§»‡áé¾é²Fœò¼ Y;Ztb8eÈ–¤äÏ­½ÉÍ"ްÑVå.°¸J¶)áå" sx´;AQD,ÄýZIêu‘ö„%&H wmÏüÉŒ—®Œb—Wß½‚,…/þˆÔœ&F8Úmý†š­Tê'᯼¯/TËbÁŸ¼#׳«Ÿ•¯¹±Íò;UÐ/ºËQˆËÛµ‹›:%¾ãHTÏ™'7ÓÍ¿¬ »·ìhïÿ8gr 7üp𡨿‘þ|Db—8í»c“©ÅÃaï…ÝÀ4Éœ²Eª›Ú Å5ze†l^²äK~p¿*v¿þÑ{øÀt5È ÉSõm×.ýéäEìëŽ~¸³ôÑ¥füVþ¸4Âì9ñZöámÜÉÖõuE)^ÃÛ¢N‰õ°=Š8?{ä­»ðÄÈhÈ^d„)„JñÒ05U4}„â¨Ñ®Ž5xÔgÞ\äÊ2ˆŸ¡57uHhW×ß‹ Ðÿ–Mg¹€}Ø…Eo)½ÙܫʶRZ|‡2ÅTA¢ªBf_€Ñ|â­ö‡‹p$[ZáÜ\hJIóÀ5J!Œº}ãg´LØ[lõ8\Sãùp/º¢aš~Šïü'Ë]ѧ˜.ÿÕs‘6¾ç䎅ËmøáÏ¡é÷¨#Åóc£'ÌŒ!ž™£^¡½ª¤ö‚c™BÊøŒ0m>¦q8ÂSU`?¢ÏU½ÐxcZqé{% U°‹c@í5‚&{épO4³Õ¢¶-áü\! “Ü7åÆ%ÎWlS Ed`ËzÆÈ(¿Ì³¨P"íI\ašÌòtN·b;çò¹×`Ô‘ž}õt'T¹Ì  ã­wì7†LVw8°òCìO¼öWÜ»:Ùæ$pŒl`¾JÉzUì* ßÕˆ|Â{T­¯ò¾½®Â§†@]v¦½ªbG¸ì Aˆ ‘„¬C^|¸dë’{„59Õ‡>\­0'Ï=Ý©È/ϸ™¤}:ï.›ªÔŸÆgºa0u«]ãù\E‹°Þp±xÀžv:žÙÑUl‚ã$•Xˆ†K­–nãc@ŒjêÎÁÅÅ'®]…GÉ=DÂXå-®ôP,kïnÁ‘O—Ä“aMuJ³|yAs%c³0ígÞZñNþõ… P×ëç};Æg‚†™Â!y”G¨H:™/éJw6ü[•¶.BEü9|â”ÑÇ9;ÿŽ‚ëtMá@)ìžþŒújt¦âÁˆ| ÐéU¹ÈÖçµÏå !Ø8÷ß Œku¾ÂŠ]Œ¼*| «Šá?ij²R^ñ¥>+P‚¹ £v±—’%'`;»#Ÿ#¨§C†y§°qݽ ¯ÕŒ:®ÈŒø¡tqj›ÑIYh˵ÍÞ÷„ÍhâÜwÇþoÑÆ¹v)KøgÁ²ƒNZà+öŸnÄáñÚS†ŸlNS"D¥šõ%~ÃV´ðt5Âpºì^¸öFì+ÄË7(d«KPV%öW«¬?)ÿôÚßÁ¿ø­ýûE€/cíiÐD:GOóSË–µÏ‚Y®ý箘ŽPFyPN'¿ÏEJAfÜ9{r>÷›…̸·üŵõ•ØÒ¦ÍmôÇÚ’_cUÃH{¥Õîõ7‡‰Ùô/—‘7*¯d$a—ƒM54±9­šú‘)w"~5Öls&™Ð?Sk+ÓýÞWç~³Ba0©ålYjû€¡Š7ç~P´»÷USÝG6ýðâóSô赦ú3¶óà0eÛ~¿©Îg Ë¹Ÿs^wq± 1ª¶d¶ä>ʙݵž1\¸‹‹lã³µw>÷ÂDþáámï·›ûKuUÚd;Ååënå÷‰ÍQíÞöž+¡8ÿÓH 'U9o¬k^µ\ ‘ ·|-àߨM½a’w©Þlk½o}úª&§@{4øØ¿îXܲê7‚\áÇ=&,ŽpÂ{ï‡ÍYÏ`–¾(4‡åmFD†O²Uþ"v›=@Z¼íò8ô<ÜÇe†¡* 6çO1Å¥1Èè#ôãxÏF¬ÚídF³éû>ǼŠåms"_¾$YO×móòv/üåwúÑ„©jŽÐ¡sPòHÕiÿh娉°ñº÷+4Þùë!6 ±H!.ýͰeóü ,¶f±”à¡z¯åjIo¯"š7BýRŽ[÷ ›Ž$Ľ[E”)Ÿ3Ý8 Äüs)A¾Ìk?êO2ÿÉz.`ǸY€YûÈ+¡ÌÁ¾eÇuÎÜêÒ}ˆlÖŸ ¥‘H x]‡õmS|¡=,Ä%¦¦Ó‰ ·Ñ‘¿€ºãœ|Àì°ôæ#5…÷´¯lÜ=Õ‡üªËÖ[åV‚§àb[õ%"×ÀÅf)#-f!NãrÉc/ÒhDˆv>W]TþIS#Lš4ó¸î`Å}¼‡ãþaæÇ¦à&¬vþå o»‹0÷-ý¨Ê’έÂ>fˆ÷Ü„á"Òé6]Šƒá\(òíð!ü s¤½2+qQ“¬YÀÐðT~ï§+^ˆ-Õu(ü_0úœ²_ éN:<*ñxÏÕýö9è¿Jxü–8&¾¿a§3~ìGØþ?Î ÝȾå¡T¥ÂÇý¸™›­Fø×ñcì.%^5c3Õ"öÉ%¸ÌaÕÔŒ›‹—ÉB ·ÕÐó¼îK¢Ä›jr»À1Ãÿ´ã~`ÆŒÖ(ó[V{*Â6dŽ’ ¸u³Þá ÄBÓÛ#}RnÈäZÄ ¤_*tpÜwµ¹¾3mñeihóFòET³?à)M;lZÈ3ÒZ%G5êtfT£Ò>ôƒeÌb\÷UâwŒw\UK£cɇ!¤#˧¸»ô|ÜÇNŽ 8ïadÞµSw¦»õù …yÉuÇDqvÔõ¥¾Ä×CMX¯‹Ò2…öÒJ\® LY¥¬‰ÖIÄ äO‰–Çý²Ø¶¨D÷ÿ…¦®Æú™uõâæ{Wûì[2†òE`\&ûÓˆo5ô¼ôaJ]ß•«ÏÌ1ü)ˆî˜i‚ãGÖnµg—Í=9"êÜÝ%…±Ø«þ,ÏöP?¡P8úí®YìÍ&w씎D$#ð<æ¦^,°Ø›Kv¦FGÛ‡W­-B˜Q–2¹NÖ•J ºQ¥ù`/¹.^À0ôeÓÛÈ ¿ú4…ƒö ·{Çý5½ŽÎ.¹ºçaKlû?ñ¯¼ä_mMÓ«ù…ÖÉÅ뺶éa¤ ˆð$¼:­BÁ ûOULyX¨ü“¸GnŽo8˜–ÂÏ¥ÝÛ‡ó…a^Vq ;q8Ç”4ѹÒw‡×ydK‘Ñ"po#Èœœ)°à†fjeF+s?/ Zß,y+7z HâÓ#oúŠ«–+@ãüzåcÐ!¼p¢†JR¶v±Lö]û@e21ñy†Œ\REp˜ËÕ¡ òkg'(¦—|º¼åÖ[F³=ûZàL5fü{ÁŸÄ’9èÜÏÅÏ¥‚+Qã…MHåXÐìÀÖ§ýXŽMýªBpÓý¾ ñD™B£D¨>xrpS1LdµWZúŠ@6±I„ñŒƒJº+Q„Ú×grÚcÕžÂÔQªëjTðôñ+ð+~Ö=™ 4äÎã%OÒ\f ß+x ‹ÁñÅ^{•ŽÙ„C;PK.¹ 1iX®‘PaXŒt ×÷ù”GÞ·þØ:B,è]‚2D,åæY4J[þQ%Wk‹5€Î xH'"¼ç¤ï*öÁâû&ÿµ€«×PÙí(ZM H7¯ú|#b<ŒÊ½°£Ã#úŽÆ‡b[®âŽ)rË"füšÛ߅Ɖ}÷‡Û \áØ=?± ®—ü¸ô;MðÕô>”Ø¥ûÜT>ƲïdÔHøÓ÷Ì<:nÁ´93ˆaEDFùûSÖhKªJ¦Ïö˜Õ겎€eP²®I6Ñ·c þB3vܰ)rÀòž‚Ym6˜Í·ïQ#ÈnVíÞ¼ëMpòìoéþºáà³U}6 ¹I§q­}\Ù5yW-´¡k[`|‡çÓŒ¦ìë»~І '_Z¼B\pgM¸Â/OŸ!USŸÆå‹WåÂÈú† PßëãÐß«²lø²Â¸A Œw¤!½Ð5ßW6¤gj°ã=¿^”Šx(p´®×æ·HJù»²‘.¹gjpA,Ìq‚2(;¦À®3mΦ8¹F"©¯ë<ˆ IðAJP3NÎ6|&Ó<{»ʇÉÖá]tÖ]§©‚>Ó' ,k/‘»íšR“pbôÈFÙT0ç.‹Éäåè þí|íüÅsÐ}Õ\UAÊ©ÖÙ6DÖ˜RÀ·ˆ%ï¦i*bÙ¨Ú%ˆEZ„)}X“ñ:ì”n°okÃ@—^lÐðØËÞ«‘„ó˜NÊØî#]ª³áB¨dÅ_±Ù±Ê+ΜcTÙiR#ø4,d™1㯚Ӫ²&ÙϡɲíFš®8M}Y0à0o{’…WÖv•²C D¦Q]ÓÅËj“ÎïH @¹ŽI÷ foÉK!pÐ;öûKFyí^•øS„ƒt4j¡Ã:%ž®äîm@½ÀyîF6ª›œtgK°H7ìÈ@·’dÞ0?· „ÄW¨ÊáÚ”ªWNW›÷Ñîa±~³x®øÍ]Üð.ž wM=&îèÁò Xÿ@FÀRãsºU,‘Ä«BÌK4~ÔžêÉÑ®Fuÿ%Lñ  *Zl&äö¸÷$8aiæ ?"˜=?¨=r£ óæºˆP‘ !Å€æ]…eÜä‰f[Çt)”Ï|œóˆ`è>õÜè@ /æöôq/N¥§Ïüà3—k)±O>u–ò¡{#nK~yœx^ÁöªHXHG$=‡DaC6©‰"\á,H‡Îvuì.¨îpMk0}  у‹ÿUð "п’6äÖ\·Lâ"4ùŒ~ˆ›m–øš*Z.ù&Ôœ‰mO"—óNçñF§Y™ÌUòÇû;t ãa}%¾îl8½jÅ_òýµªÇÐ4‰³4üã"Sø´ ÜÞS5ÚÊ=#¨A3`EØLZâé]Mÿ™íÇüô~¥òbJÇi:Ü ‘#*¨„ê;¥d@û_ôÉ|–ð9¼`ÂôŠ/1¿¦Ýç°«`øi:à ý܉}ÌÝxƿĩ¥<§>ã»™{dѨ^=ì™»Ÿ{ú ›Œˆ‹™îÅ/Õ¢«%þ\šU¿€ ¹èQöˆm·ÔrÓ™Œ‹Æ)í"bÞ àD~(¯˜]Ãÿò¡©"†aùiý¬[Üæ[ev±n@]_Xá—©c~ŠI 5~M툘ádùZ¯lèD<¹š*QA¡ù jÆ1úè컦¢kèþƒ2sÇØÇü%øTĵ™½Ð÷9…Ò´ §ŠóßôBg•Ån‘,O Í) ¯\짯j †Æ!­ 9^h¡Õ}zHmUNz-40¥%–ˆ®:ïáÀZ#e¿s5ȘÒÂÏ( ².|ĉ65Œ‚Ba%¾ŒQtÃ(ÒÓh¯¦àƒi¶UaM'fÆ`¢q É~±y¡Õ׊{ tݪ¯ ‘êÄàéD#k»”©9[ã¼+[Éûš½T©^ÅŠRèØ¯Výüõ·Ö=,FA'nõ’ô<þ1NÛFÔ•ƒz,Ìéþ!ÉÔâå]Éì÷¢ùÞµ Q‚afŸêh¹Ð‚¹Žz­ õßYß·æÐ/’ÚgÄÜ5ðV"“ËÏ¥ õ®ã˜Œ.s›[â=3&ÕH;Ø Ý0bªOR$~χ±TÛ{}Ë?­U… ©Nù.`Ф6q¤ÀEÕ¹‹JF0lM÷‰€3¢x‹.Ç[’Í«FšÖlÀ¿ç$Oõ3§.ã³öÑüº‹¯ê¹uDl›h-©-5–fÝ8ì™èbmyÔûÿÓÌw³Ì¼à!›ÝlWRnPPãhÅa‰º¼Í’%C²pïäâòþ´Ô¾ÊTJ°‘ýÒ\Þ…y.p„Ü1¬ õü}З(VÕ¾x»?"èê=z¡­ädèuìmtØèÓØçÕݯ±‡P9ž›¼7㜌Ý`ãMˆ;"LmIBÀ^…*°³¡«øvÆÔiw uTæO¶'¯-˜ôœ±õ4uÖJÛ©¢øx·”/x·S òJŸ«ä!ç¸PKU/´ô/|òOaDÅúõòÆAƒ•ß;Xþ¸I—…Vèm×ÁÉâËÎézä«FÜæÐBÌpx9ò›ws•áÝ¥×HKŒ’ÛJ 8ÑkÓ!ÛÕ¦±\JÜÞaÓQZôÇ (6ë@{¶! 2‹•0?8bòTEoÌR$ã®+Q§(]8•KÄ-E•”Œx}/¹fž)z7ûô¿:C@ÊËRÍÕ7mç½àÑÈ c‘÷„Ù³€Ýo¥Š8ï0 ‹ƒìd|©KžŸ°\\L´^Ї•E6“BÂNÆ÷á S —…ggI’\·ÆH¦î±ù>#¿:MÆpÓ‹©‘wP^ƒ~÷öÖ¦é+Fk©ýµ_ àÏÖ”E]¢tø¿¥]Ø}z2«ÕA¾‰&Hóßh.(Ë<(28rÛ:ê}ÑGVORÄt]ºì·`Ê×E|Åéf mÛs1Øíçäô½¼Ïò2[ý!öbQ³:ö%)hØ26M|ŒáþK7MQtnwÜ[D ›"{>EÔIc§;çéÕnîw@µ©x09ŸoÐÞZ6ÑVEøù¼¢Î…sÐA"¯ö#Œ~…_Øk•™¨J¡Eü^>7MtdSb¥’N~;™–J“ëÑwP9Z؉ :N›ÙÎõs ;tP¼ÞYüN;±\ ”¾™KÞ¯@~hôðá&ëÈx}%šÃk †U¶FÑE‚(Õ7g-ÕÕ)¨Ç¦z¶<5Æ®ø©¡AÛEE0 «ò˜óàT­HwVi9uÖW•Ç"~ Eu»íš–5j§"%¹}ëèt«!J›^Ô‡zèÄzKRâR0ZÏrMBKš-ù*ÈX¯t+絛ˆ$)ó·$ÑbÊ -´¯®Ö);¥¯œ™5U $~)_J8¢j—ðç÷CÒ7ÊÅ[ðZ¯åþPÚëdü„I§Ò7+Ÿœ‰-r@6V-‡âO.qXÁù©Z˜†"Â_ãºãMMø¿ŸëëSÉ‘CÛÞ/‘±%ŒÔáleÒuÅ3››¦²ÿBœä Z›wªÐ`Wº­Ii[럔áòüFð †BðOyb${}'DÁ ˆZÜQái¿ˆâ|¥z$dæ÷C3GçT},%$Û!XlK/FôDG$Ö—æãXY1˜Á…·ÜpîÞåüªg›ë+~]®ï›ô«6D{ñ œy,[ŒTªpœÖXÄ‚¹o¥P.­iÓ¡ ÓL[9JŸ_dZ7APp7(•äÂ×ûR§÷6&ê©ßOHrÌú³)+F»FÑËÞw+…¦h¹3ñú®ª1¯«ÜQËXY¼«gŽý æBa:þaÎDýÒä|Òo‡³¦ú6¬ð¤ÌÎ :Ò§ó\‹ÛÃ,¨Ža³0Í$Ñãü~ާSËÓ2HË5UÑ—µÖ¶!&_)¼vIȸW¢n w­:¯k<”*E ¥ ÔçJQÅÕ-AÍ£y>ümæ««0ævH ¨†¥¤Hh½X<\îFbgGaÚ( 2»#ãó‚O ¿¦®å¦ ÝÕÆvèËŽŽ¶r[¾.vÒê =‹Ùù¬RÈ#9º”qD[¢“:a’h]Ô‡Õ$hŽ ÁÀþżÈ£± :ÆCU“£¸ £ëO‚ó@VŠû…_ýlÚM½ˆêXºR|, Ûß³Xn<®…Ëf*bÛ¹Ó·Ô2f‚0”míñîEô;3/M£àºÄÒí¶˜9P“®ÙƒkÃß¾§v’Ÿö_öãQ03¨RLiì.þ…" Ôµe-÷®ó[ˆìÈ»Ô÷%àXÕ‰ìŽpä“rO+Âc‹ FØmëR õŸeËX§çއ´E|jÛr£c}樮ÑÈÝ",· ˆPa–©µfu¬©35eh&äE\À©}æ]ÇSØæög^¯º¥¶¹=Ù ÊÕK~D"eåZ„DâÞ¢ô†+k½BÓŸê±€V>(м.íÒS:Kùg­þ‰uœ“[Ñ^®léã/ÝEÍuHQƒ-%ˆ­×¾(“Ââ.H]aPwe°®Ÿi6†®n’ûòQ-ŧ¶™».Ï­÷­BƼmÁ3Çt¤DDnêð}ÌÌEž’M"‡Ðs•y‡Œ>h­{QÅ“âãÚëUÖJh=%AXUz¨ñ ‡Z¼ârJ:­ðã"ü=wëF”A€»«õ¼6²O©'lÐYÕ´U0`èÒ¥ûÝñþ6¹Dlgtb}aü}X»3’ø1Œn8tÅÂ;@ØÐ@sì0ÂYi?îGõ}Ü}eÈo¬BxЗ¶àw½%"­vU?­š@2¡•6ÀˆÐYÅ>œ-Nm£RQjÖë—xÅ›ÔnÞÃ9KóQ>Jêü¤ðPR#Ê¢hÝ-þ0^B ÁÓÖÎF{¹y/Ò‹{UQÍÖ£zà ºéYÇOr\6ÐkÛî„­Cæá7ŠˆÁ¡Yìš'´]¼Ñ«JÝiW#WyÄïâVËßQ„75|_ Å º+¡-Ò² šKe4RŽUB«Š;)ƽEK"œÅ¡º+\ ÏjÄF–;š×!½DA,{&ý]kpÑK´{Á€¯’,ú™Ä¢Ód¤p&çyѧ|–j[ϵF% Ïô]±WrU'ÑÖn@g¿Hx¦z^cVµíߪ‰sQµ°8R4'l{UC} ù̪Ϊ€itæ]tæuOÉó zuª±„QóLD?[µ •ëÐ)ÂŽ3bBSs-Agõ+ih¯ýÑ/ÂYUæÅ4½Yš´ô5çã/³bKp“&š5—…Ir ,â)CÏzű+ý=Áˆ6LMA(þµ¢†ßÒ›ˆú­ÑZ³Š¨§ ‡¸ì)MHY2’1 —°çRÒH–O þg0+‚D¦yÿÉKj¥ßôÊ®D"u>Zwü¸i%»EQK·$ïûÊ,}ƒ`#l1Þ¾•KɈOÅ–¿Žç’ó“W&¬LõSÚ’·ïjÂ_NŠºÝ”Å#/¯Vùm¥íÞ±°R¨$öÛ” Î-9´@÷ÌCi[™Aº¦üæ•Ôé­$Ee®X£¤àýº±->iÃr©±˜ñ'cmEg­XE_޲~[X¸\ÌG!bÁüÒ`@Á_r/”æxUU™ÊÜnâ+Ŷw ð}Œ7èk\lPQ zlßâM&]³j;(Qk@‘vÖ˜x.Há[¸'¯jœÅY¤W”âAá+R¥Ñ!ïGQãJlW¥µd®œy%× $õ¦Ld\èBiF;Ë¢¿"ú’[dí«ÒK‘ÇÎrš”Oêež2w8‡c}!ÿÆ(«8}‡ÒËs/22y;ϳK kfç=oXIoˆVévTÐežZÑ¿Š´¤Î1Å×zWàl Zçq^Ôæ_ÏTOX‡jõ¾¶ÁJl#qXiÍxÜ{¢K‘Ý žÔ‹´pªöT8–ã ûÐÀ{ÎNðÿ\ùVVigÏz¹÷(®O3o”íYvl’¡‰èý¸¯&Ùz Å{6>YË:åüöh7FJW’`1n•{ ÙJCI ]¯ïMu:ÿ¼áòjÁ×±zB<ó7><€õÞÃï+ÑÅx¾û,µÀ–”CÈ×.³ìn‚†è²n2ζ™°ÍêÚÙàÍ%¼ÆÅÄí÷y O꾬äüÜ:“2‰õ¦‰“¢q;ý’Þü^É–8Š: ûÄÏä,¦ŠMÑT阻!9/A2K™ªûA¸c¶<$±é%áVTÅbÜö½‘§”‰S9 ’ý.Ñv é˜"°&ª©ÃIŽŒµAFj™·²lgÕ5tÝO&ÌÞñE5ÚÅT4”V[_ÍË›…jïC/è•>•2ÐnæöH\_‹« ãÙxñ ¥°a‰k²´ÎcŸ¾7Riw#¥ Ѻ/%›a½ë\R¶EQŽ”6†N¹´#œŠö S¢ÊtÔüñ;åÁĹW’#ݧ3™ºÿL4›×²Ã`ŽkB1Ur†e:é§Æ“} Äzì¢Ï~ªx-7ªF_ûj®Äí“T©Ût 3§³¯ñ@VO¹³TüÆ+Á'ç[ñG¾X _ò»ºEIs N®å2H\P… ¾Ù"Às ë[|P”…õ¡b¯P—.ûS¨ŒR»Qëé§òħ÷꼩 ™ìôb·Š/‹µ¬*Q‚þ ”¼#šjS\®„ï5 ¯¿ ¯Pѵù±óõÚOâRÓ›/%…îx·»üˆqÒÛÅYv]:¢,¯œˆi‡si´X{ŸOµÃwÜ,8Õ%é¬ ÿæ³ æšq_Û°±}!‰X—⥽5C ç3Ñ2ÛÒ™%¨£ƒ³dØÕÆE¤}S6‘:r yX`‰D&Cij-ÃPÔOõ‹—Ž?3—Dc!-|"* 5cÑkB½^Å!§ð¯ú}á ìÒ×gñ'É;û=—A²«n8ËíÕ®qE«kÆþ±`–]á•ã£ì{Ú·î‚c©ŸBŽyNñ+¿U-é]DÖ8Žäë’pÂÏŸGù¾ßìŒ[‚~bÓ|Џ«40w‘úç®æ¿è\†m~–Q’ ‹÷M;r–åîÓè>¡é$hMmoµS߇*‡Øx{‡K2–Ϊ–A¹êq»=âQr}§‘󸩤@Ói²hZizØ–ßx=ÒœÔç)æ ãA•P’FŠ“à?» ´vÖl(„æ´•<ߢ )êFh+BRÙl¼OëàS¾¬‘hyŸçK~²]n^6/¡ÊùîÀ¥àMÚɽ©Ï%5—°»Û, ã… %¶ïž¸´£<Õ´pIi¿kîà«ÑÑZ1©·š©ÕK—?åhô$M;ïö¬´Z YXL½ÒH 8%2×RƒM¼¾›Ò¿ÅÕœ“Ïw[Mzb¡R •k‹tøfÞÓêßs.iÈéùì¶UNýã©ë«º€a°ŒÁBÌ ÏÀ•ìÏO§xÞ§9c˜ÇN!GõžU…ÞÒÿþÖþ‰«ôþk ‰KƒÉ<_ÿiØÕÀ´X‚á­ù¥g Éü©TˆFWiçÇݪ!†ŽŽ»ázCZ†ì´i©ͲDìÕ7pï¶ïA‘ ÓêÞ~Üùî:¦ŸJ&X×Ktu¬å+9K ±™‚^¼bˆSU30±Çï¬ JÕ,ïWµ·Vó>_*¹¤MýYf/á‡Ó—VãÙÖçIÏZBS®¥ÀOç×ÓTWpÕWSÀ¨ŽY²IPG†o¸Z{üš~>›Ç™4¿¬RM;––³,3HY ¿–ÝRc¢9¹:Œ¹´ŸœÃôÖk¾Vc:^¢µpã¯nRñz~Ü6•Ã}ªO€–s—«„^¾Yõ'’óç¼ÄÀÎ'xÊ…brá{ŒÃí–!%µІ5}¾Èû””ïÞ´kz‹ìö£f̾\ÂàNl#ûæ ü6Wv”LÔ kˆ^·>­€+etÔ(¢ˆ(‘Nš©áÍ~¨6ÌÒÊÛ9^§†—ëÈ›×2wN©A§ÞW€Ý¯÷wçÁí]tž.%(0ŸÕ¸ºhÖ´XÖð*ºXQƒv‚ú®=FÐÐð®eœö™R¢aH›&Äê?1<˜Htx…e°ÿC.&nÍbý£Õ6E†X݃¶ è®6†*~d)jšô:@äTZV‰Oû«Õììö©¡É;òvÉ òIBX{6úF’Õ]ÙŸé am\U–Ð3œPÃK<íJ…,¹¬¦ø—µ÷šÃîÓ8=êÑ:©É€"l?ð-§[ð9Ù׈¼kb Òa“ÙϾ¥-p½ÍÎ:´ø[¦¨ÿeK‰ô/,Qû[âN =Ožnõ²„—Š¢‚ÅŸv{b€)­of¬ àŽÎ¸ nŒ@¸T+ãrÓ¤½HFg•SØÛŽÏ•`¹'šÆL‡ª¼P눽ɺj*5†ñT6»Æ(½Ã¯ÔÈÔ]¨®0ï'Ä«}m<á¨ßaŠŠJ¹¯døï¤@eOz°šJʵ·ÃðŒÑÚ'_ ¤;pf©«’b½«~Ë›zdÍ‘fG~øËR>Q$‡e„îC¨2€±Ï­Ys5,G¹Š:ly˶jœ®FÂÓ¯9Tš•rÂÙð\å Â>®™tW7‡jêŠX›ÒR\ŠjÅŸ» A{¨Ý-ñ‘ ãÖ8@M´®)§Ä•%ªšÖXú¬I Žbœ#@§ô}ÐÆCcâ¢-áq{>hñÞG7£¥¥flÂ0ÿIun'ª1€ini}´~ä|=´]„õCªèL±¤0 UÁ+Ï‹§¸5ˆrÔO—Î!%äÕë 5ÚšæA®ï,¬ºó/÷a&ü~ŒrhÌ­U±|qûžƒ¢Mºð Aôáš»T:J@É©/2¹D´¹´ÌPDJœ”76`)§Æõ÷“Pß“¦’À‚>H©²×ÿhÈŠÓ‡¿ÓÌ÷! ‘®ËýEH¦3þ!¼È*0° ýæôpJ,ªŽAîÅä‰ölœ*ƒ¯»ib`u´ãâ’œ‚ó0Iuú_]7‡dµÍÝŒ°›hm[Ç®¯ÆPÈËGì«J;—)^ê•ìê>^À˜¯¸±± sU>Åìߣ¸†å:5lüüðFÒÓ+¤ÂW\fÖÙ¦ö¿tæÉ_@„ t¨4‘¦£Ïò\¼ÿ „ªL£®¶V^±ðAí\¨Áaˆ¡æeÚwŽi©—ÔtHß©:ô´­èönÒ–.:æëTyÒBÎmˆ[ÜòäŸQµ›è¢ªÑPòÈ®t8É×ÕI?/¼4œ5í×vM\Ó©46KuHxìú41›VU²tr”^¯³KÑâ8hX)/íÀÂÜßÔþpïÿãRµž Úÿe¸‚ÿÿ5¤«Sk• IÿÑ÷é>KòƒÅYø½£Ä…t³`*_ÁÎ{BH{Zárïü¨( AB÷ùªbßÍn¢¥¿â‘òþöǬ$u9œd>˜rt=ëe˜¹L­«ê0¹9˜?r¿GAhX…åÌ·fnÖKU›­¦…pAc3?(>êQ…AäT½Žö¾Fƒ¡¾]²îÃáõµtà6Ïx9–µW 4£ÔøM7–’Dvåí8kL…ƒø0»›|'Tz)[Í?ô§l[Â.6ÖóÓœƒck2|S5ƒ¦Ù-úk«u­—€Ž«¢|à):­:ëT¤Â—Çj-ëÆª惧mI!¯?™!زí”g‡ùTG7>_#½Ñn—&#tãç5轋ኅxõ5Ñl€9øVêkçåûJÑBõ@:M iû~•F¤æR陟z4V‰†ç¦%²Ó¹ùûî¨y²ÕNù[3^AÝ+†2|HMî`î´£ +ç˧YÁ.ºŽš~ÏwÎUº¦òŠ Ü“ßè÷uÑËy¹Ö TW²ìž›Å(®d}# _$Ý }ù4§ Á‰ö’8³JË雩EŒšÌðÕ®dÊ:RHþ4Q¯à:’ñÎ+×·Çˉw ¾Bᦟ+ëJ\÷½.3,OÏ=“‰‹±y—Âþ…N)·ìİm#ŠÎØ6oï«ËK¨»…^œà]´]_ÍÌ=?ÚN^M¯R§-¼&¨¬=˔˺ Tg"4ý}·!!2ÅIC:¸JÅ0Ö¨#Êë8ŒŽ£tÍ"sj;Ÿ“®­¡”*»¥[ºQ¸©éåZžT‘£Ö³*i¸›mA… ú_JuŽ¢Þòh„Œ)(¨…„D„% BÃØÕóAý+Îùtw …QããÅ£ú%”#0/”†¸ÏÉlÅ„ŲK´R)¹JsB»}Ì„:™®Ú6¶b²A5V½&ýYÚ,Á雳tèP>G\ÚÎã û ï̃ Êí½Ý$ÊÖ'¹ò=L‹º‹: Šp@ÔJ£3À𜼋Í&ƒÔ°­Ÿ­*@¤&î7,^hÇE±Æ&¶×I?xŽ&³Û¡Ù Ê‹=“§¾C‹±±ÕË%Q#ß¡euHe‘5³úŠ_é2‡Ã4ÅB4°(Dz,6!šrjû*²Ô`q*ɛާ$.Ì(umV4Ñîï]RZ—›=íÓ÷ŽKc¡¬‚JÌ âÀÁ ÑÓ?Œ‰Vè@î0̰ ß`¯yaÉÞŤáÉ`MÆÕŽÆÖw~m=üÈvʧ*lPƒRòÕÅẜC~¤TpýÎUeï§2åâ(b}€î”½ÕÌuGèb݈$îŒ ‹ "‚ðˆÌßуå"Ýîj§†ÏUù¡VyM}Í€Ìï¤MØ¡9êՉФ†8%t¾)R€ûYÍ®}©+{µÈ&ƇÍ'uÂh÷tªÕºAð/Ç£"¨qWuNç.ÈŒÈè/ΰw·_†>"ùt:)¢†¶¦ù Ïl{#€ÃÜå+y߇:Õp{¢¿aL¾êP«ônjøOjDàT ˜q¤KxC6¯5ÇBƒÐê”lBÀLÂ"{×ôŠUDv$i$œä½5ýxÀhE!q ´$³ða–6­vƒ¤D2M(¢Oçšk­!lv­#3…wôy¡Æì–xV£€±Ýá†Wóþ8:Çˆš´¥‚$xMTqľæ;¡PúÅ(u©¿Ìü\m³]ŽŠÎ Ñ:uóù\>d1.QÂ^¤»J.rnÞIoaL,:¨ÈØgjw–jÜgÄ_¨î·µÙ„ü¡$ôQ¸ýv ¼™Rým6ØC5xN‘8râq@–ÅUGùSô‰YsŒj‰¤™Ð_Ô4V_Il£f‹_‰h͵%‚ô§ãÙŸÒ_å`¦ yÍt0 ™wV¦ä7þ³¼`ó1j÷^¥Ý~L·Û)“kv3€ÌØj°Õ]ëlˆ$Óç§Wª¿ ¨qÆyÁˆ„7!÷ý®ÎXΠ>Ñ4€«D€=}xM—ˆt‹îÿ¦,§¦LÄí©ša压t¿í*Ù³…Ö¨{&Phù%Bb‹•¸ 3×5Õœø­ÀU:³öxþ(÷© …ä5à`"QtÒæÙ~núW•û½W¥ÄXY WB“-³jðj,Íf<´&¯dsmÆÒlˆ.3=+Ä+5–ú5ƒ/Îú`µkÓöc+÷ô,½;šõŽ$œBi§rÕ ƒÕ(ñ«¡ l|O|²¼)‰^Ø?VG$=Ÿ5:)ãîâ„Ä]&5'«- Pß'‰Ve´Ð426ƒTÓ¶êšV´9"[96ZO¡É,¹H&ÅÒáGRî³D`ñ} ¨0s!Z. ;óþ0HHbiUA{SÐV]¬†êܪ7>œòÑ0^»Ý·aÇtJCܩĩl³U\ù©Süæ"^—ö…›$¿ÆÍ‡ÙùlN°3J\ ±?vôþpÉSb¹/ÉïCñޱtVÝž[Œz-ñ}ÉBF¬Ir¥¾ U•…U´¾« °ª "" ·ã”Ÿ”œD+@a’!Ýe02!|šâðœ ËÒÎÆÐMt_â};Ž+†±T®Ýýê–+ÑÁK\Içýñ™tntQèRï†7ßkDZÜŽ[3Í’m]ãmŽfþÀEÈg=Òø;µxÇ1}šÕ N‘L$5k|Üt½â"­Ý.j¤]Êm6ÁÌ{±ÞŒ qÆõ¶V‚ÏjEúš5v5ÔÉ ±­$z¤VGuÎ×J)`ï»è]õ'0" 0Ai¢.©›”‘Ïú‘‡{Å»’vbß«-tãó_¥–Œ-­P –t\8N#Ž-Þ°ïÎYeîÜÓlV*’ä Ö®¼ÓâÝvY:>‡ ‚çZØWrDiî58 êÔIj=n'Rj;4… ¿ÿ ¸ý‹üF®à]w”´v*"—þK ¹Ž¸BµˆÄÌTØUÁäÊ’#Öò´£ç¢˜Ö^.±Úù¶š6•Û“éh^<ˆe³¦"n>>î—ÿO–vÞzÉðƒ¤•ûHPt;ªÉÛ^mömGzb$èÛÅ”û©£Á¤0®ç7k(ƃꚳ”òµ1üKÀÒe›çö³öƒÞܨ¯æÓÎÌ5ùW#ݵiåjŽ£ÚAÇIåg S ».ÐY÷_wT»±•‚­@€ùÝi˜t*~WÕÁ¹#¶! N QO¼ö€2ù¥âY¾öºn°DÜalº·ß«Ëi=¼µa/G°WýŒ´m1·Û¦çXä`Yøo‰ú…nÊDXDá´ÛÈ|ª„Þ*½ýæ+Mù;8¼§„€•âÝ4j‹Ý.´•îøOã›ÉŸŽ‚a•µôUWÌ]ø°„2>±Õ®vJÄÞÜ`8ûµ”xFÓÞR‰™·'I]Ùº#aEÈJ/¨üš?¨ôt4;–ÊVp­âwšrÊk‹[á×g-³< SÓ!g²ž·µÍ³v¥L`Õ$!\ý̲Av ̰ÈqcŽÛ—{gq=R(®ö!€‡1›rI.­S1Ò‚tÃdRšn àËõ—,?e¨Yêí?Þð_Ï¥ž+$‘ï¶Ð×Çý s„Ý$æ©aŒ’ ݨŒUqLÓŒ jQ£Õlóæ §¨>L§9t7z%Wóåòƒ¦08nA6[ Çmí7ÅŽv‰à. Msn"H/ ‰ÉR‡¹½”W$¼ìc,]4{­y˜ $úô*‘ °1ñ›L ’° È<‰¢Øki²D»cù” ‹U¸˜÷«84mTΣÊ=Ž/ϨΙ±¸ªðšj™5ÆÜcW<Åɳ@µˆW. ¨Ž’qÛ@ â®ÁQ5M˜‹ƒc.é@ÉW”z˜,Fðÿß.åé=h€ÄM£É’c",Å´½£c2ãYÍLãGÏã·cÓ+‚ÜZÍ+&7·RˆÀþæÃlG hP—:¥ÃO88[™ç+by‹“‹eAø$¥µƒýz°ÅªaY"½Ã1Ù¸Ñ °±ç‰«Ë-Î,Ì4 ÊJ È­ßóYÒêNtÛ¯ ù¶qÖ9ÑÃŒÀ]uiMµ¨_¤6ÖÙõêw2Œb¼…8-5,’ÍÆ0ð» YreÓ½(÷žŠÃ.˜,mâ.õªYڋÔI 1lþÛ4à&Ϲ7µ÷Û8¿ë^ ²öUîxĵ´õ–¦‡« Ç$#ÑÛr[öŒü²vã:¯ÿ^––îBÏFN¢vöA¾’¢]Äi®™‰ëXD‡Õ)%s£wS¤†&Z°`‘c©¡fó»ÍêÕü;2’>Ç‘7ûeGQ …[w­JÕÝ4 Ïs*´ç’¾>v6òlqŒ/„“¸#¿ð”DaV«F$…|8îX< J–õ8_I¹çÊß¡Öó—œ5P„xWÐÅ+ÉW[š®Ô‡\ZÏMþÈ‹<°-¥k,p³”rnTyãÈ£"åW̳æ)§¦?l (ÀUÝuzEm…Oý`HvÂiÔ<åêÄÈBcd;Ø\À4$©ž¹ì1Ì#RÇÑñÔ'¬y¾ä½>Ђ…§c¾JaÜ—ât„¨t+K4 ’Æ{è%Íß<´È²J·&|Å:1F@ËŠÚ‡ã›+üãÝž’N\ zH:¶¹³›I›úySf…™4°oyÚ*CeÑQÒ €'z±b‡6DÑÎ4Þ¸—Šä\`ókœ‚»Ëd‰)öWDz)%wñójƒìWåiˆ¬baAº­W*®_Ñl%³Õ¬#+©©æ™véh›á´?×C\T ~·†Y­*"Ù2©çnpŽx¹£;UÂ4Ë%.\F‚—•ÐUMQÌ ÄŒx` $¬Œ—¢WíÙQj#*¢é¦ÃQ¯tчÔÒ*xªFåv'cL„‰%‡ N¯oï_Ÿ†—©*àH9ɳü§ŽÌ¶g×)çvAíéôÝß<ØüVAüJl½]UxÈêUSõ§Ó!¶ÞSÓùb [£yWt7‰ãÐDn {"妇9.Õĺگ®ãO;Ô16bªùŧÏÏÌœ+ÑrŠ„÷pÅà .Â5ëa{èhƒ|@™±ÿ¹råÐl…Û¡Œ­æv¨¿+yº¥œÔNòÍ´hˆ æùÕ8É 2ש™É­©Ú—íóŒHØF–,®ûA™X:Ñ_)bïØ0ç9>ß1.šw%‰‘î2i.ÝØ}ê4–žv[{Rxw4ÔUwc¤˜(P_¨Ý¢†˜ûîŸéúZMJÃQ¬uÌ4œ›ÙP¾Z7ôjŽHKYÕ!ï(öNúÁj†þ:ÈW¥E¥ŽØzéLxRmÛéy n‹ïO£SZŒè)Þq¡»â½(°9>Hn ÃÌMñ¿]zÓnB®cÕœð„fgÛ÷ÁÇkÀ«Eu¶6ËCÿ#Ü"ÔãûP»ŠØŽ®b\P¡G\ã_œç˜.®(½t))‚WÕFËW®ð"¿Êz¥’ÝKǦš£Úµ˜ÝNì½gõ=¨ý);æ¯/¦¨V¹j˜\±šÕ;"ß«HŸ÷½}R‰ÇÔ|å2zN™ÌM[”ã%ÑJP!€^Û·kšVü줇4)½D Ö.ÊA®Š)O1î(.’·ïK¦s~©ûƒÂ:;„¿ÇSÕ$ÆÃ°‚en’jénÊ\ɬýI¬5PMÕ)š „ùÍ´8 VCÐ\dBëЧ”aE>¦_>žŠ“ûsh‹ëͨ)h`‚ ŒTl¡0¾Y“·æO­Æojî€ç~w ¤Ò«Iq%ýCX?³mT€ŸÜ¢×è…«6ñÂ…5¶^Š éÄ©´[5ìƒ6O_L×ì \ ¾´ê~Ýx5Š˜Ò´Ä®H,‡ºo'Ó‰<¦Š³ &÷û¼Y™ÈZ­dX’OèP—½Ò¬WýÃÎFÑ¡k¤Ê.²´$I=Kutt+……X%«pGÌW@Ÿ½Ó£4Èáök ܼ°iìߘ½^­D%?È®½j 4ÉT;L»ÇÓiÔ·3e{9^;÷ÙQ\M#?ùjÓÒ—j&˜Ä½ã#&ãpI@ð„4Æ—I 't™R‚R¤< [ÔÇcR³{½p¯±°*Õ¯úØÜ…N9§¨ß‡Ì¹ zkìÐ÷=Bæ¬ÉY×&_æ‘ç°h¤ÑnËÉEw#F“¾],Ù9ú<[‹îqªz6‹FÂC þè6‹Ñž¯&°^ù•w­?ÔTîMý’ÿ²6ÊŽÐee„€Nvyšušsp]õ°„¹ÊÖpèå(oÈWŒ˜ÀµŽïìHô‹½¶ ÿqÜîÍ@Š/ñ6² ‹þˆ ÒÔ#ïx¥õÒYdur¶ã>+>'ðŒ\´a „®4>ÙPM²Ôö ‹vÜilú´DxÚß vŸúê@×[Ír}´i¯ ½ñC®?‘ÖÏlëj§–—Ãéå2•X1Æ„Hô ÄXmšÀ!dnQã~!W>9ÿ7&J 7õüpÝu–æc=v9+Œ²fç7Š¡'þðÍ¿)Lž/týOº´ÃVIŒµNÂ{p¥ jFO}R^n¡&;_ÿ$Å'®¦ðJjËLµŠ ÉQ6í¯Úy‘ˆo='\*ã2äzri|)ŠñßöÜD‘ÊO TIÕý\Ù=Ìñ{Ÿ¹ƒR?É(J¸8x¬³tPFD¡Ï4‘ò“ÄVÈúæ„×£‚+Á¯¦­6ê{âì\¾Œ³O­VaП„¹C.’Ñõc‘ˆ3\ÑË-o…ÈN7zt•;L~ÇB|]Zô.L‰Ïæ´‚µ‡)….œõX,AÇd…Ûú¡RM%‚#œzµbÀÕÔèBÕ±>«y#º9÷¶Ô’²Wçqöì}Æu’¯:ýrìpb'ÝjBÚ×nV@{5fhq9¾ß¬]ñ)`¢ÆkóFRøx99s·‘‹LÁs ":+¡çòH=Sˆ?YW^(TÜšN÷ŒØ˜4|Bú¥÷Qöl{Í.=M»CþQ”žŽ©½šåªÙFpü•ÂRöþe¿Þò&ÌS¥‰’T–5&È“øZ›´p”¶-‘ x\Og"› ‡%g-aû¥‘$ÞÉLøÂ¼ãØ|œ]¶ÄëafFW­à°c—( =GµÝÙQ¢—B¨}Ä«._êŸP–ÙÈΨu½ ‘=OL“üŒÃœ~`x†±#$=&û¾MÅI@Rƒ Úëû¢r=W³_ê'uvõ­ˆ»Âr3yOç˧Jñª7a%XóÅ|6å9 ^R\s!‡AfôY3J?ær}‹1¯š¶mnÕL ß̖ͤJÍÄô«ûƒ2jÌÕq7Ù{='ÊKК|§܉eXE@^"}JŸ´ßìù#Kr—QRp¯ë2ÅUõKð©Ib£þ®kUÝêðüè.ä—ÆCæ< Pí(­•T™a·ÓŽ|yÍ­À?n¦ý©CKLX]¿†šú¾ä»Æh_ PÖøjgÊl™õèƒäøKSyš9ø*¸P¿›/ëwOð”|Aó?[_¤Ï µgB©”ì“[¤Áþ@×-±™À×_rLu²¯ügáO„hM‚Gµ#~€^âÒÍFwØOœI,´gÒpð¹^0}bÞE?R¶N{Ó?qÛŽ#íN¡~ô⢩Ž:T $åCåX3vìùDð©Ý†!¾Ô𥠅Rí)UÓ®"MîB)4Ά^„›ÒOßêè*¤[{w{ØÄÓ˜ ³33$¾ÇGôFø!iü &¬¨WQ8 ¸ù>CK‰ü¤`¸«Ô—¤ Êh“) ±<¢MeH2¶ÑŠRBY…vp¡TÝßßáÒo1Sž¤xà2ˆš\VìVTôK´+±¹ì‡Œ÷¢Ýë"ŒOŸ:Èy†Ö*•‚ÁœÅ%߯ã(ÕµR’zL°ÑÌÖq¡ä°ÛŸ®z£ynŠLVˆ4ÞâS=\˜šÙrðh>} Øklò©2!rý»Ô°¤%è$×õÜ-ìiE8rBÃ>½° %à š—¾FÄè{F9—NS>ô3^ÿ5öª„jÞâzéToo8=©xön£)lzxE¢Ûn ý~!{6–Æw5Î?êÑßÏNÆN—^#eUAD¾¬''¢N{éx_M–†XBýÒ±dÈœFbYilX³Áóî¶4Ï´†.<†©a e2HÕ±û Yé.ݹI"Ñd±ÀqÏRß¼''È磶ÌÉôýÂôûß…Ü”z>&wA•C9¨}îžÅ1iôí––ó©¹1ò¡¥àòÇ ¹à¦H7ý1}Q©QLÃ3©ìâøÃŒâX%•Ýó™µ³vRKXM_̯DÆBý礬©öô·HORDAæ_>³à‹ù!âj÷âˆÆ­ 4iW¿T…Äà5,ÙnèÁººbºù@·œ—ϼàŸD”îKnò•#=§|f óÝ_–~QѦ8®i5"W*µH_GjÎwRóT­È‰õ•+äwÙQ%ÆBZÒ´Ñ…¾óÎǦ-z€3Ÿp3Þíý1 9VÿXN¹ÖýP´ØrVzÀdhw¥ä±÷t‹«39¯?"¤!"ì}¶bÔ «•›ë&ÜøXKèf‘‚¹Ûê:»²'†GZ}L2Ú.ýÞT†Ë×C{Bn¾¼ã*ÿ¹s6/H¥ÈcFâ8wZ`’°õªp½•¯ž¢4˨À '5zÛ5î #¹-Ö­¼&Q6×á%7ëõ¤ŸŸ+ø–c” ùE½ ÇøGëådæ•î ¦Y¸h´H>Wãø«cðíQ’´ ÉÉÊ¥X·Kš˜ÖZ|ö?ù]rGzÙcz–ÀH1{3Es/DÌBt`Kʃ”¤e]]»0—]PŽÛTâ¹Å¥…ñi«õÌ[)(ѺŒ,{§_Ñà±ÅnÿT?²ŠÊ£¬iÍhç}%h¢Éœ@zvÏ´ O=:=×4Ð5¯¼2é(!(šŠXq"ð7šCrÐÛËô$Oӷ¾ÌnµÒ¸ßÏá°ºu.ËÌzDˆ(Ðýw•ëðXön+ac¨€>þOF&?Ÿ¢m5…,fTïcƒœ»_µsÜL^ŽÓ¸ ´QÛ)âªÔïàwnæ*wwÌðJf\Oáûsx®]b\8güT94AÖµêéÁå_=÷±é$ë«„+õz5ÐXŸõ¨‡²nDˆNIôHÌ8ÄÕ‚<÷MRÅù\kà<Ôš@µ!~® L’ ñù’àfºµÑgnŸðAù‘ ï,ëS÷½Yq|&S€’àÊl0]TsÞÕ5ð´ù X”H ÆGï3öKu&£ª™pb8$:Ï}BiÒ)4S¯èéùö¡»­¡À[ÄïðqÛG¨kh—Iå›2‰+C{ì«FÐ;­B$RŠˆæ%8?U¦Ö“!–»&2ÚpQé2Œú¨à”¤†à„'ø~8ÜT—×aª¨^4/]—ˆ M¹Ë0½$SXaçºO r¨ Ò)a«‡^nÚMâ±Ô>ÇAà~Pÿ ×OVÝ¢‡IŸÇÏ%uÕÙ:­à5KVC”>KÙ5ÏXÇâs â8¡ÞÁÔŠì,Êô¥a´:MiÙ4˜[;;㺚èi¾DLçŸ%qÖ&}v “:%ùuËÞvÏ$—dihfª,ôEÏÄ Sþ3cKQKLK×ÅäâF‹hßý4‘ ø´HV¿ù¯"ÉfhYEGÂ(™ã.BòÀÍ\ͽõýÏé¥\A¥ÀÑ9ýë%a¥šÉÀË]ß*ÍæµíQ”O÷I8Pà÷ך3qж½±aÏI“àLz´×á•d‚÷Nz¾nd4¡Û¯Ûµ„úõ¯¬œ@œGVª(ÀLSXP»¶fÜҽǫšC˜ô¤W(¥ô3¡ SòzŠ´äwÞçªV„ÇyˆDÌ(Š-+”¼£°m”WÍž#2ÍMUWä>›ÖÃ!+òæ¶Iø2{ì™òâµÌ ½H87k¨ •1TÜ.õž» œU™æ‚ä(kg•èiÉ–ô,‘õT¶×VKøÑ„½Wÿþ“àö•®PÍË+K8s^`F•ͧÆÉ:Ö±DÞñùù`Æ7§‰ú„•x¨Ê…%c ‚`¦Š†Š“z©ÑGù¯$õ4¿Ž½úȧ¥pá½ ÛîÐY}"Šy¾èÊøv¤!(À皮ݫÕ?WOsrÕ%ë%*“0†¼&Ûùq˜š´:ò!4µÐC–ðW­¤9¤yÈÅæÌ(|èJ›ö²þN‡Ÿ¥Ÿ ü]@ØÏlJ$ÆöDi‚]mÒ¹×ïd¡?šÀ% s97™­ÑSª/Uí{M¯×mó¾ôr‰•ý:à·“UÍ%=ñ—º¥@ž@`N“êfC“ƒAôõ3YùCb}³Ûvéa/öç¹(úÖûÙ$ϼ éXœå&¤bM{2©·=,À*°AÜK†× gÏC5_Q‡oîF¤Ui„> ¥9^×mU]L.€—ä)1úc-‚ ÃÔ?z/¿4qð=;ž]Li’ù½yY•Ö—^ ÷„©8‘SQ®y¿/»Šj+g9lÉ ;¸k´§4˜Ú'NÍë—k"="[Å®õF:Ë„¥ïäLh`˧/•NH–Þ>:ÖŒPP£î| ã¶Œ[ʳƬÇõÙYË .C¡ó‹…U}¸$YEÍ«' !=àK:†5;EknÆÓ}ç廿¨ËDo¨©ã /¡fùN¤êËZÅ)Õ$œ3="²™Æ=bhf½¹0¦Â,ä7\‘å|„zsq¹½„Àh™’‡ØÅ&:i%4,mQ[¾ÏS³ëˆ9>„‹’ä¬å>J/9}‚†´¸y0ïó‘Ð,DÇ‚±ò)_Ôsà®e…÷p9AŽ,ø%¦$«¢[N¢É,V| ˜)§ˆai#Uúôo¤ôFÏÙôVÐ ¯í½ÙÅÿ„!@Õ÷íéD¤þÇÿËrå¨ÞΡSñu?}CS±Õr O­÷OÛ£.f×Hòó”„ÆÕ?ü$Ýì®ÇÀH3 ¾ÿKØlÞU_Há¡åËæàp˜wf»e?)0é~ŠI3ŽMN†~G%s.a_åfê|Éc³jº±V~»hÍÜ®Ï/e“q¹¾œÆWj’f‹|j®¦Q|âHØÐˆ%ÈܧÌ*¼†”Çßê0wjj&J|ë zrâÕé}îÊ­ú†÷ðG’!ØcHI3—~$ üûðïÿÿ>üûðïÿÿ>üûðïÿÿ>üûðïÿÿ>üûðïÿÿ>üûðÿýðÿ꼿Á.Rwave/data/D0.rda0000644000176200001440000000546612377701075013226 0ustar liggesusers‹íXgTTYÆÆ0c³N0ç4æ2£Î˜FÌqÌ1€$‘$5&DQD•‚&t?³(""Ýmή:ê8º7ÔkÎê™ãÎÙ=»{öpt5÷﫯êõÈþ–íË[–·°°(nQ¢8û,Á¾–d_,ŠY”´(ǯ÷oË>+±«E«h­¢U´ŠVÑ*ZEëÿ{ÁmIM_j=àaü·»5«ƒàÉðèçëŽ|€§u®¨u¾ <­ì¹íD€žX-Îhðü6²·o6}u2ƒ{–Ñÿ<.EÝn÷z§'œ9yy‚ƒ“/¤ŽÍ¼qn$ÌÔ¾þáènØ?øÅÓký/âôR'‹….jƒ ¸£1O×µò>Ôå¼pzÿžc»N>;/²à&5}…—ûùÙ–þ.3™7‘Ùw1kÅÉùÞä`¶å—Ó‡d<ÇáÞ¼‘XñQS×;˜×ûø¦Ž Óñf˜qÔoç³1å«?}hå{. Í*<-:#Ê]ñûºy V~? üÞ_Ðp¥eí“ÐØäD›‡c¯¢q±ÅÜœ­‘hŒ8Ç"nŒÆéP­Ji4•pcò g45L 3ŽFS'°yä5MpK©WÍ„¦¾Ïhà‚&¶žˆ¦6›× þ¶šê” *¾ò{4IüИëÿªÅü»hŒ]~?fÎ.4:ùð+(¼®á„ÆÚ;Wé¢!· û¶ AÜÁGhÓ~šMëh`N³­±@æ æßÉœ}¡/ÔpjQ¼Â`Ìg‡ëuógùVÑóËϳ¸toŽÀažï€å¶Y70÷‚sË-ˆwÝÐoôâ4Äœåœ5ñúž}É£GÌéj‡Ùb›šxâÊ4œ„WÏ/éöûF̤x®jÍjq9¯TJ¼¹nãåî3'Ô,‹óöMQžà%þL¼¨3Ø1ÈðÂs“»ËÒ<ïí~ìë/ Ây5´¸{¹ìJ€0ªÓ=ŠÃÓÅóúC¨h'- ´qÍäSaU`7§“ö5ìâ´Í¿ ;eß„×DAÂv¦ž×F‚F6NæUlý%Þ¬J³L­€mŒ½LÁæß–¢áw–hàEû{ÒÜáv¤U¥±%kÁVçp&¹\_‹‚ÍBÖ§í\N ¬çtï±ÖrµžVV9!a ëúÏö¿ƒ¹ô¼«G Y/ˆ²œZáHš7¦Êû‘îÇÅÔg–ËópµÌZ ùêŠdü¸Iâ…vb<êŽöUĆèÀ§‘6uÐ黜 Hq ‹Ä· 9…®2èNûy¸ðœžä綃zI]CïnÍtŒŠè}ªGç¯:–BÞrЇæ_[ô•y@¿Ùú<¯’…L4£·ìl‚ÛFŠ‘O7»>èOþù‡ !AÙnç á‡Ôwi^”:‹RW‘úѼÏ…r=I>¢€}òY ¦xƒ“Dæ1˜Wÿ·¡¨cA3ÔÈ~‚¦*ÝÏuFä7¿0„—åG ácÎ*CÄíÃ0„ð ¡9!DòCÎÎxÖ§á$ ‘üÀí\U, …–æ,³¥ùìK¸|ÖþÙóŸó‘ªfU«Æ¡Æ¥Æ©Æ-ÚD…Â|P~4R÷ÌyÓÈ9¾0¯«R¨ãð¯æü«xK=Á`š‹Õy†ê»OYŸDó°w1 bœ ùA¼Wy(VʺÅ@Ù1@¼^”1ó.€êÆÌG©gÀÇúgèOïfþRª¼&ý1ó}›Ô¿Â:ºb®?šKý¨~ý~'#om+¡¯ÔKô• ëMêúHE9Ÿ¡Í›>½¹ AÞ Y#BÒ?ô¦¹Ñ›ôÃ\ߤK¶Nût½ÄŸ–èUK$=oMe“á/è-^ÔÐÓF4jô”szÒì!dË=h®wã+ »xMkîÄOÒ_t#~©úäJ¼q¥9}+ñc+ñÁ…xàB: êÜÂy áëL¸:žN¤7N4G«zéH¸9^¤ÿè@ø8.„‹={R íùëJÎKÜLzHý7Sþí(ïv”w;Ê·-噿u´íXòþ`×êf}ß$ „›dŸÂÔ6ʾ‚âFðÉ©ázªWª?ª·u¤ƒë¨~¬©­¥ºXCü_C¼_#çsÿYEyYEyYIùXIù þ‡+¬ ØD±ÎÜ¿–SüË(þeÄ·¥ïRŠw ÅKýÓÜSœ‹HïR| H/P<ó)žyT×j?Ã¦Š¯4ù8›üŸMxÎ"¿g’¿3È_ÕN'Õߦ‘Ÿj¿¦¾Ž“ÉŸ‰äj'?–äÇX: «ÚQtž:¨v8£Î ƒi?Õ ýúÑóªíMÏ©¶Ýßþ¯Zz/4ÛÚÿh?ù=‡®›mó,ík¶t®Ù’?fKþ~b)®O,Åm¶”—O,åíO-å÷K8ü©%¼>k çÏZâÅ?m‰Oÿ²%~þÇ-ÕÉÿ¬ýoåå¯Ú>gÿ*??c™„¼ÿ;‡(1 Rwave/data/W_tilda.9.rda0000644000176200001440000001032112377701075014477 0ustar liggesusers‹…YgTTg×QcWlQ_{é”=ÀÐÛ Ì`。ÁJLÔ»FcÅö*¶(QP1ö£ÆQP‰X°,I0j0Šúif?3k™õ®ïO“¸àÞçî³Ï.‰Ú.ÕºT³²²ª`eSáÝ?mÞý±â»?XY[U´ªúî¬Ú¹÷Ø¡#ôuñ÷/µÞýO« =Ü»õþá°:Ël—~öÒnƒØ ª¥Ïë¶Mª‡&´ßPIl¿Žé46K^³¯äï9'øA6e•f|úV‚ÎG¯¯U¡•`Ë@/_¸‹Æ¯Çà¢»Ž¢ùoeïMv$Ø:ËfȰ8 Ôõb‡7%øXF›–Ë'Jˆ}Té½Âj2ïéáÌf«%¤$ Î+ûH¨vj¿¯¿ ¡™ŽnF¾¢­4zZT“rÑöÝs©“Mºh½¶s{ì.aMB'¶½tNÂÆÏ9ÓèР˻дÆ7ÖîÚ0ÅjÁj Ÿö·¶mSHx–7ªX(3Jªÿ6V"9ì:©‘DÜYšTå Dòý#—Œ=8lòK‰,î¼xAµ0${U°D-ltÙþ¾D®YéÐm±D»LSâ#ÑÓú…W(Ñço¯;¶u–Ä´:>îWG‰zÁHĵû¦Ç_“$¶Æ7VYí$¶K»î6Ý/KìÆM9É ¦Iìmkgu•8ÞgÜÌÖÇuvs$îtІ¼7øúÿ¼¨Äw¾z-³Ê‰ßØÕ»<0AâWJ½Ê’àþ,%/l—$Œ«gl6Tövp*xÞB^EVëvî²èZ¼ÿ á¢ÓÈݬ V¢ëÕ´AÕϾÝ”o+F—ôÝzß§ó ¾¢;¼´íýÅËEw«u}»7©¢{=9ljÇ‹¢oR8þê$wÑûùlõØ·Hô]§m7BôZþt¾ÿ9Ñçú[F¦ïª#ú³6kKŸŒ}Iï Ñ®?K¢õÜК]’ØüŸ–Dâ3QØý¯Œë’˜’þUBQ $Î:fu¤´¥$f<ëa]Q÷7,Þh["‰ùÁÝë·>/‰ÄE’õ€éµ>n"IM”M±#I®³vT©>X’"w¶Lk+I=¿½bý6G’R7Λ{·™$Í;ÿæÕ³ ’”qr÷ô‚á’”#Ãjî¿$Igö¶X¾¶“$]›ò±¯ÁQ’J'œ;â»D Ä™¡¡oÚƒ Åàäæšº;I eöõ†iÄ ûãúš¸L1‡†ÔÏÏÞØ7] _jœ<*U K«hÑ®·6åí”kqbÈYùmŸEb8Ùgƒu„ƒòž_Û÷ó*1Ü=˜ßmÆl1”&Ö¬Wó¥­WÜõc±k~4"¶«‰k£Ý/Ù7z‰Ñsä£e÷³Ä¨±iŸÒZŒ±+zWþk©»:¯)•ÅØwQý…W_‹1Å.>²ß(1~z`¶ÕÃ;bü²…ÍŰ_Ä8oÚ”õ?‹qÅÇûºµcÆ$oÇé~bÜz3ëe‘«É Æ}›·®^ÖTŒ‡ }yl…OÜ14[(ÆÜµ½ÚNœ!FΗñšgú «21 4žp#ÆâŸ..›3LŒ^.ü|Ï}1–vˆx¯Ÿõªo{]Œ/žöAg1–Õ|D¾ùL¶zVyU¼$WjWá÷S§-gÕä#Wž‡ýû¬9{²´>òïóý}u~øóù{?|ósªçVï¡Þ‹ül~ouê^Ô=©{S÷¨îUݳºwõ–ÜõÉ«“–菉yÍü]ÕwVß]á@áBáDáFሸ2”‡Ÿ]>ÂŒ;3.¹ÜkÜx»· Ç × ç ÷jÔ\¨9Qs£æˆs¥æÌ>_âêd¿yä\MboölTµz°Än¯ân÷ MbÓvEkOeIlD¯þý6—Hì»­2uz ‰¹³{ÙÚ~É“Õû»ƒš3¹Ú©Âæ'$&&çVYy¹Ä4îó²Á5/‰.®QÏsßp‰¦¾ˆž{â(.\è.£ {~_E¢íþótÒW¨rÇÙCOŽ”¨Ó—×ÏÚ´Y¢Ò§îß<íºD\˜°ä`5Ë~¶|½.”DÞ|ÖðPö‰Ì©°mÛÃË9mÇñÓ§kHd—ƒ]÷VH»Á©—o¥JDùøŽ7Έ3­ZÞ.+ˆ ל î•$b|Pôáažú ÿõÈáѸìÅ™/VJxiå¯öî?%ᇲ¿¹²â„/9x<ÏY‡æ^ØU½»„ãÆÀõÚ9Þà=Qü aä‹°cUÛ/­'a wwš“-aåMü(M¨ Ãl‹Ê i—E[üû¢]6¢åžÐ®åóÇÔdÑrδ‘óûœýs§h›¯z¾ßé–„>Ëœ»u`- åü(úmÿ–PcD7÷M‡%Ôsß°R¿»ZõÔÛ›©¶Rteé¹mÑ›ça€„,í6q±„¤žŽñ«ñƒ„Dܲ »oÖeÁ¯»Ìȯç'Á×Î,_´¥§ÿÁÜûf=§={ûQˆ÷š¿cg­¨,š‚Ã+’7N ñ®Yºa_þÙ¢¡nÕçûe£áÜQ4•?šúúh_ÁOOÛLÜVS@|#äÀ ÔWôvݬÒ6%èà—™#c½$ˆ¸ò‰ymj'wß^¦-?IÈ;bŸt zY¼8ú‰¾*ªZ{L îýÑqþêé83%ôÛ´ƒH]hå3sÓ™  Þ nˆÛ€†W…‰âתþ‹œ9â¿îžÏ¸ùâO¼ú¯~/šÏu96OüNœÞ›ñ£øQwúéºÜ(Þ¢¿æï…õ$ñ}ô}6ýwŠïû­üP|‰O_âÓ—þÇúÖgûÃï½ïڊϧË~J:)>‘šÛŸ¬›*>Ä¥7÷—òÞ“ {Ш§xsxs_x½È™}wÈñ"½Èÿ^ä{/ýWéÄ‹¾Å“|îIzÎZ\ïäLñ$=‰COò´qè±ã‹çŒê®k N¾Ê3ûò°û=—ºý*ľÁøsO9ûºÊe³ÿqwZŸò©{ q#þ܈?7âÏøS¾ÉM?óšîY-qs}ñ¸ölOq«5¬<·iq½ºÿ?ï¨J\—¯í¸|ŽV\“¦õª—½Àì»\èw\ÞEÇáâB^ui7ýÙÉ_ ÅùÎІÚÚmÅy]œïQß‘âlò‹fÿÖ8ì@vX|ãPÎ/ˤCÂÑ"O«›Ò~ÁéQ#Û”Cqâ´¥ÜãÑýtq"ˆG'ú Ç›[Óû÷+ŽäSÇÕó÷ÞšyX‰KGŸ;š†:‹#ñÙ>Ï¿Yç·«Íþ²=ýM{â´}¬uŸD«´§ou r ^6î®îU,äW‡¾-.Ïîé.ôQį=yVùYóI<Û§Ÿó{¥¶Ø×ö†¬îŸ½éb9=[\ü¹Øçê´#ÛåN\;!þ±å$þÍ'}®ù$_›OÎÇ¿N»ºynúð„I?ZNõß?¨@]êP7€:Ô Îu¨C@]êP·€:Ô5 Îu¨ƒ@]ê$P7: ÔU Îu¨Ã@]ê4P·:Ôu Îu¨A]êDP7‚:Ô• Îu'¨CA] êTP·‚:Ôµ Îu/¨ƒA] êdP7ƒ:ÔÕ Îu7¨ÃA]êtP·ƒ:Ôõ Îu?è@_úÐ7€>ô Ï}èC@_úз€>ô5 Ï}èƒ@_ú$Ð7> ôU Ï}èÃ@_ú4з>ôu Ï}èA_úDÐ7‚>ô• Ï}'èCA_ úTз‚>ôµ Ï}/èƒA_ údÐ7ƒ>ôÕ Ï}7èÃA_útзƒ>ôõ Ï}?˜€¹˜€¹˜#€¹˜3€¹˜C€¹˜S€¹˜c€¹˜s€¹˜ƒ€¹˜“€¹ ˜£€¹ ˜³€¹ ˜Ã€¹ ˜Ó€¹ ˜ã€¹˜ó€¹˜¹˜¹˜#¹˜3¹˜C¹˜S¹˜c¹˜s¹˜ƒ¹˜“¹˜£¹˜³¹˜Ã¹˜Ó¹˜ã¹˜ó¹˜‚¹ ˜‚¹!˜#‚¹¢ùdîæ–Ó”SþïÓ”sZÎÿïïøóù{?|ósªçVï¡ÞË”ëZÞ[݃ºuOêÞÔ=ª{U÷¬î]}SmùNê»™rkËwUßY}w…… ………#…+S®nÁ¡Â%÷„· Ç × ç ÷jÔ\¨9Qs£æˆs¥æÌ:苯Î++{!°'{#°G{%°g²ð±©‡{)°§{+ Ï›z-°ç2ïö``/fÞ+ìÍÀ ìÕÀž ìÝÀìåÀžìíÀìõÀžìýÀìÍû™½!Ø#‚½"Ø3‚½#ØC‚½$ØS‚½%Øc‚½&Øs‚½'؃‚½¨E'™zS°G{U³.cïjÑs¦^ìiÁÞìqÁ^ìyÍz•=0Ø ƒ=1؃=2Ø+ƒ=3Ø;›}{i°§{k³QþGù&å»”c/nö—ÊϲG{u°g{w°‡{y°§{{°Ç{ý öüVVVoþÆ«38 Rwave/data/signal_W_tilda.3.txt.gz0000644000176200001440000000153612377701075016526 0ustar liggesusers‹íÝÛrâ0 àû¾ËîèäCÞÿÅ–Á–ÌÄnº(ýノc!KvÚ‹Ð_bËR>þÐ¥4§Î²b57åDÜF“òv–¨%msµœEE¨Í%cnñN7jmbIýeM]ªÜ%Ù¥Ö£œ>¹G¦äQ(IöQñxR´‹)}œA¦ l[ƒœÒìè÷p®Ôo&ñÄNŸã!ÅÓáÉ’¹¸†rŒŽ~[Ä#ŸA‘6鿢ž.qõ•PGò+ů¿RÅÁ>Tö7g‡W„´Že÷õBxOÏ uqHb ꋦXàiëDi*'%]ˆcî6G1 Eå<8¯=꥛_óy_Æñ¦_ ¥P ÕÐæâˆÂ±u9âqÄãˆÇ9‘¹j;-‹Èi‘ÁÈ+JÕØŸÝ—|4Ê+ÍÞñJ‹wC¼‡êqÔã˜Ç1c1ä³’L:ÁÛ›hšîCê»Cd~s/) Jî—Íq,8{šÛD¢d<Šb‘_ï½xÆ&½1IzZI{Z–ûÔwƒäÕžhÖ%µ8¢}º1·+¥¯œµ´S/jm£hÒÖrË©=¬X=§¡9ÕíãrFÚ“Rwave/data/signal_W_tilda.3.rda0000644000176200001440000000257612377701075016043 0ustar liggesusers‹í}LUuÇ€/@ƒJsøÂ2‚¡ìfb“<Š&Î ½Ã¥¦9ÃP6ÆPLcEºÖìM·f¶h#µ;šLþ¹®(Ë<:µÑmwø2_Q|asN¨4+æºÛyžS;È| ý~þàÃ=œsç÷ûÝ Œ?øø&Ïy"fNŒaFdDøcdøÓ¨ð'F#ʈÛSV´¤dQñÂç®(*^¼hÔèð±¸ðaƒÖ_ÝS7äH2«ý;[·íø<Ä53÷D§óÖP{õÊâö'æwœ8êãÊ(OæµV¯‹æ Ÿ>…+*8wup—6]ß·£i6¤¥xÇJ9¿r|yßIžÚ;ì€?™ÇlŸ”—ÊÞ¤+¿æå¬Ü g—m^ÃæÔ„–¾:žøYÂèæôOyâÓK “.<ÄÙÍÑñeÙìm•ðRD>Y[’³­ü;ê÷þ|¾º*‹{»jâÀýk)½üFÃæ¤ó”~ºæã‚WPjßÇ#~ú¾†Yk«È3Û³Î]š3’cs|/§ùûrò+ž³‡qjQ¨ñ‹Ø8}WRÍ£W>ጠ§vÕûˆ3òv76Nsº\—zuÓªçZyDÕ·_M;ô.•¯q¥,ïÍß8jyEðÔ7oYçšlü±–Ì+¶)êZÝ;ç—^¦¸¥[M³> „¹›Žîï8Hƒìó)ñ¶)/ ÄìK 'l¥A™‹Úæ 9çÅÛ÷IÑÚQ|XO‘­ÏÄ‹¬ó1/Ùó1ë÷ÿ±¥®m½ŽoýjŸgý9ß;×\ø5GØÇ¹Ÿ½.< :ûËØ'/pŒk]bÞ1rÖrÇ1².2¾s]ÿ‡7¾Þžêg™GÆÍ:8¯–ûÌÈ\°³ªÝºaÏ×’û´~·Çµd]¬6û¾¬ûzë”I‡¤ËNÒi'é¶“tÜIºî$w’î;Iž¤ OÒ‰×uqæ#]y–Θ7|úªŒòd^kõ?1¿ãÄQm µW¯,.¡š™‰{¢SŠÉ¿38´aqAø%xã/¦y=¯?€Rwave/data/yen.txt.gz0000644000176200001440000000376512377701075014246 0ustar liggesusers‹ZY’å8üŸÃLXî±IY®i;qEtÿ”‚§±$‰Üãß9fÎÆþkµÆÿÿdËÄlÖ_ÈFT­úóïš>‹ds¸_‡I†åµ²Jí†#VðÊps’©Ô8/MÚÄf†“lÉ\|EsI›zŸ7Òø h.qýsÞ+óÞu_a%ì˲Ȉ?»^¶Y^ËX£ŸÖ2ylœg•ÁP%WJŸ !g%\îücªz;A­©®&Ÿ_vp‰Ñ®[÷÷~>ÊfS4Î&ËsmlkŠðŸ7ÖÌã‘O;}ÉÌÊÏ`hóyŒb5áaõ`aìb3DnSÓe6L&¯ý:¬fÛÏ$ÅÎ2x“Uë;ÇØ9U‚íaÄ;¦+o‚ì¬&“ñÈzýu²¤í7–¿ÚýÚùýãŽÊ–»þÙ!X¼ñÇaVmí×Å?tù”ét†;h>ðaþ*= ¢'¸Æº2”ƒk,)F*ðêRax]g7Ü û 0Æ×5ã ¬uÉd™6YŒ`pz°ÌçC‘û°ÌŸ"#3NÑÅ—Љï0\gònaRM¶’³gàÒ‹µ‹°=p VÐ&PˆL@‘wÛÕjæé2Dâ¼ :íÜ?ZUã•1·š"ÍØ(rÅøSÊÚ¥‰5Ù ?ƒWµ»=Ö ŽLÜ®=dN–ÍPaÙ.Õg¥Gõ9¹0}¨Ž@}ÕŠúM†Z\.OÝåºëÜÈï,Ãi8UvÈKœÁŠÉ6ŸQ“C©¾8üë¦"p?-ð!ƒz-I©­zâãÏaV@À&ËlŒ÷8ãŠï$€Ï…ÙR€‰s!‡ÉŠÄïSÇ ðûÔîûÔ[¨æ©wá7ËP³«Pèc‡l`åy2ž8qêØ¬ÙêÓ— Š´› Øg“=óôÇûm”múiý:Þš‘™*.$ãtà »Á®É²y†÷U—Ò ¤ØÐg­½ƒnW" bÕæ%Û<óѸÎ×Fæ †“¨ç±gmá9{‰Z$b9VÇ|bÝ¥3dÏ#Î…rÎw«@ȾçéÅ\2T^>·å„‡ ®²f²¢µËCºYêþ«áNAN¡yEw?–#, >Ô…ëΧLÝ¹Ž© D“ $~MÞÏ€hèV†Q„®¸À ®cŠÉÌŸ¶ ›lsΦԮ 4ïK)L{œq9HK9ä!OhÆbø‡íþà @“þl|¢ÀÒ)_(Ôî}ÊpŸâKŠÆ³)8á3)¿xá'¶“0°»ùØÃ™%!ñDÙ£ #Œ5ÐÉ.„i$x˜ÀØ@ÂÇÚÅ݃ŠÁ ï ÁZen‡‚ ¯q mИSÚÝ>d»½9 ¼¬a.Pœ1$’#£RíühV|³wÝm½âÊ!‚t>ø6Vcð•žã'çòÆeVÊЙ¯÷¿{¿y3æüŠ™e­“¬Œ „îºU{¿€ž×VꆭF_éðSÎÚÛÙWÌBß~Jª=óVô¡Ù~šJ@¤$÷eÑ·Lñs ⇫!͸Â*<›ÌTÙ´ŸóVõ`®qD«/ág™>9â¥1L­È yÃ5{ÁóœI¶Àûy [j?›ú_Éæh:£4ùQ4íÜlX‹/Y o$mw#!O,»e ‹ ÀȽd Éã*ˆµæìÉkÖïýn¸e6v¸²¬ââcàLÂDï[–^”A†Ò¤ÔfwJÄió·E„p#h[l‚¸‡_'¡ý¾db‹Ö~ÊPPÈYvôttü&ü¯E»Ü˜%ŽJvVåâv މcŒý ¬—¥ö“ÍþpM…¥®G50C»^6S¨ùÚs?¤’ bœ8¿Õb£b*o#% h°ñâz¾_6'GÇXÞ°MÅ¢pßÚe_!«#¯Kìý¦É¹ŠN˘Œ|γÐK»D'´Þ_ÁÓ÷Ã'§çNŽ6/×d uK0+aÈÿT½À.CŒÈcaüMpÇÞÃa÷JQ~‚&Ùª_yNbjÉMçnp“œ›¨Tüaæy"G™¢#ÂæÃ ÷&ŸYß%>Xt\²ý‘„£¸&S~pæàoã°xòÇ,››YíšÛ• ¤¸Nñ%Aá&5Gß2ÉlJ¡ +ïÅ\ k~þöKlÒÅ:‰µ”Ýo”œîû+>ë·ŸL•žpÔÎ/Ÿwü\»Œû>ÈŠŸy`ŸÇÊx´œè‰øAìãõaøœ‹ßà1êóbÍóˆô«çõQ—Q´M\àñ˜=1Ôٖ⚊CÐŽÙ“=:;‡ÙS<~Á«©s°<Ålµ3ÇÙ9žÂØHÖö£Œ3ÿq/&:¡q#YîIóHwöäOÖG|Ž´³›§û^gðaÏOv}.¿q¥eg—õ×Ùñ‚øàœ#j6sqI° —äI½pÄdëñÔÏë3ÿÆÉw¢Yç·ß?¿7ôò›ë gÎxƹ~2mI¬-6G;L–ÃQf® ´%yâìzx‡tœõцðd¿‰)›¸Å²!'[µÍå¿x˜œÎ 9N”­ìã8’Qÿ¨U›“Eã%ÑÖ‡¯œ³ÅzÐGéTY;±gޏÕ¿3Ç#‹æùu®Å§^t\ ˆîQg÷â3wäЪXZQ“¹(þÆ›??„6‡ChvM‹xf7sóŒN“˜Žª³k°y/f% "é¤Í´^Q72­W,«ÅE¬ ‚ß¼C¶1Ûþ‹‹X쓳å–1àZÊ yQaÈš¡[pWQð$êôj‹§>ëaµS/FàÙh­G~VyÌAwÒo|¾ÿæY ªEtZl³B.vZEa£ÏÖÃÔœ7Gãµ”`‰Û²x˜D?Eó+ÇhˈÒÅ(;³¦Ê‚4TÆF_¢Þ)›bAehvé ñÒjULE;jœÀ”U‘CX §Å Êõ¨œsÌ¢gÛBÿrY€µ tóq¬ºxdðÍG8é ù8·èÔÚ>(Z1(n(ÍðŒ:œlÑW­ÕÄNY#º¸¦ÑfEl(wŽÊÖG.î! OÎé„%Ì`â<Ÿ—^¶?Þ”‡ËF¦ôѲϯÿûóvn¸ûüú¥9Oìãj>Îßôó»¹LëŒ$‰3)Âß=ú6K3Í #0Y ®tŠ:ÇÐlŠa¤?áR\mjž^ _‘±ó¥4F²Iu'0æûÄ-@ÚެFÁ(»²ÈËÚŒ“­PE*Õ˜Ñb!› ‡YCU4Ÿgµk‹·hµ˜[nå½ÙÜò߇S"E¡ºíÈpÇñUY‘Ýq€Sµ:›»dO#.ò³™Ã½4ằˆ®%^ÑW¥ÌV¿~ Ö“™Õ^#`§`²ùI|Ä>籌.ø‰Å#(ª^éõhÁdòŠÎ³?øY„ôULwMx;¾_oÞ=ŽÚÙP¿8WïY¼ ¾=ÐI•ðkZ_WWdÃBö Z[‘†íp¤¦@ãÚàæý†…ÅLLNnDÕ:'l ƒáÅÓè µ¢vË9f¢Î³…"¼}#˜…ž-a¥–?ÈÒšôŠCª¹1Ƭžzçn1ÅrŠl+ù¬OÁ×nÓŽÌÙh±FŸG`Ì®,h“Ë›ßhk¾ZnßiëDSÜ€ï47϶e»%u—·ˆÞA‹Æ¥ž¬ÑÇbñ苉IÔ_‰ ½¯£ ònÅd«§y#ׯák³,2ÎK¨gåu~v}ð~K­âùW![Öâ#ƒ1VQ?³Õþ•u·âŒR<ΪmœÛ§ÄdwÎöîTËæå3­á¼÷FDLOœ )NïšÀC\Ñ:r ˜БN'̉cñ‹(¡ØR’aÙ¶3좀Á`"’B Û—#dX‘ÿ©·8,“¥Ÿ)ÒJœ¹<.¶ òp`ŒcŠ*ÜN{QEd[r¯"– ðÜæ×€5¢ðÀe¬¼^o2¾ÔËÒl¾þs¬AÑT3¯¾~͈2Çà DaG9î²ÆðÒá[¯w!e6_}Õˆ½ÌŒæÏÛý"9˜õO4bšþàóýýÛÿuý¸vDU›Çó½ªãbã,˜0&ù*˜¸Éæ$ŽVlMªœÄ68g£¾nf6ϦTX(–·E9 /¤P{ršIÌPÙ½ÙŽ©V½b(ƒ²\˜uÖïœ|kë——ZÜb?.uIôÜÐ[¢õgvsÎfn"ñ¸c•r±ƒß€c·HúìmEõ°Óæ€+=­žÃ´ƒúEE³ºH°pÚ!Ë÷dN§”ªü­¢æÏdADóõû=¶c¦6Ÿ´ª × -½;Ï[MŠm—s mëÀY´ZUçd[¨¢-a[Aönæˆa±hޱÚa½Ft<Üêb£±¡è±Ž36ÔÈ1·ÎåjœÖZÃ'ZÓ;oØh›¼å¥ßR5amYÖÐ#EQVé9ÿ&+Iu cFÏÀ'3΃Ñ)Íj«˜¤x?î ÐË[Ö~5“ޝÓMj•{B:ÉÑ gÙ‹0Ììóð–ÄG¼Ž‹xxïZÜÄï kÇçVäX–)ÞÚådj´ &l¨_;8—hhVˆ‰¹lµZu[÷Ú½Ö1ÃÀlqÃbùhq³DþVcµfè“„/Ë;ŠÇÃ:I•“ýeõÎØ=‰LfÏPË#á;ƒMWD°èð·@¼¥W,aÞÈèÞSÕ‚#äÁ `¶9£˜|3 OÖV­I¨è¶EyˆÎ›Ú¦r@=Š 3¥|³‡g)†CqpÏÒ™sþæ<8»w‹‰£Ž«( Ïh6)§Ù}P `Ùì©x²œJÓcuM¶8Š0qìvä•ÔZ_ê'¢8iÌbÒˆe.'JRÇ ŠG“{rgp½Š’;!œ#€¬í‚SЭˆnÌÞ.ÙÓX,¾2öižážŠ …Ud -z¦¶ZË'a†â¢Ñ¹˜F8_`A•ø«Å#ƒÁ_œæùŒqeëm:‰Í4BܳBMó–E˜ûüd3‡3¹‹X¸{º—ÕgÂa‘%ÝòþEfÕ@0x\8BÒ`)Àc“½³qÆÅðD( uïP4O­ LH­··Ä[•>è=wËS‚­z›"LEøl-çK_gŽ–ó„¥c(VÎGcý™(͸,¯œÝ;½S¿¥rÃüœ3Òpl,ºÛ¥ÕÆAïÏ FGÐc•w>R;o ¸q~³Ç_Ùÿ#²¥#»ŠfÑ­¢KŽF¤múÑâÄH}6fáŒë´Qô8»)î6UK›Â ¡½5mºÁ¨CÉ:;u¶&^†r&_ÒqÜ6˜õHaÔãÈ)ÉÒú˜°ó·YÀàŒÇñUÎ5·Žv¿ÈÆæ8á°hu¶sŽsïl[Ÿée·ªCY*VU·^Ïò«”B×g|0óLöÕ.o{I»Õ—Õ4¬º×xœNkŸQK|îR»Lgdpà^çÑ:±¹t¹u¹ŽPl‘‡í (OxU[^MM78úHèy"šº;-"‘ÀK—ɸ!/b#GKIÑTtjXuRÀ#Ïd›¡×Ú, ®V  ¸•n¨…Xµ²]YfY®Ãëc•.ôÏCÚµ$lh¥&¬ñûœZ¶Î¬¥L‹4ê…GÄ—‘:®TúmÔ+uæ¥LDzÂãÂ4,Uµ<­n$lukC¼_®SSqDq¨Ñ•±n-V™ê‚ÄVœ^ŽÈڀġ²Lë¾4×®ÿ‘•‚®ªMÙ¦­ƒºšEš¨(-»®µù3x]§ @,j¤iwTKZ Æ!13h?0/ìS€îi¡={ó¾Q\>:Ž­{vŸ[|ªÀо¬ÃÙÇM¢·;fJlð¬ü´lΦ²y`Z='Kón  â%n àÞ#t{ñÉa¦q¨tyá윧qÈįÜYhúÒÉàèéJ 7­y’ç]j½ÕïËÊ\k”‰F¸a ÏÖ8è’ž¸Cxze¼PÏ“x»¥16ýDE1v‰¤JäpHp5טŸçåë›§Kh½+–".¹}ßûiÿN·¾2öâól"Ä¢û-uÒÅ[4Ýz±—#¾øÈ’ܲՀ䀮{áоë­-ȺU5G/™›×Cnz‡"T#{ÎÌV”¤ºgSã~½%â„E=ÔÌÓÝç¼V=ÈÌ»ÏC"[(0ÎÒ6!2åb9";S‰`I¼y«q¼‰2G½wS;É••¢:{Þý‘(ÄÍ?u8)nÿžü³³£%#«ñ'–i'=Ò÷#€Ÿ*µ­dœqr^5ãðN+1É¿I7B}ý9ýz®¡þÁ%!HÕã7óF÷@$ü«û}柃óWÁùuðœÎœ_x¾Nøïò‰ÃóþWó‹ä›=¾Žúßõs§÷niûK‡oŸ/ߨúŸßË)/ÇERwave/data/sig_W_tilda.3.txt.gz0000644000176200001440000000110212377701075016020 0ustar liggesusers‹íšIRk1 EçìåS’ÙÞÿÆxnŽ’"¢à2£S÷Y­FWÞE‹ÕñöOî)›õ¶¨4+‡¬¥º¿V“M)·ÑO¬MY®,›ÒݤÝú¡4Юï›d ;ÚõÇ9+‡²5¨ H„Ëä““EºAíFZ éPhTE)AÍ{–©SÞÎ]±|®õ»ºd¶F]¶Q Zét_2Yr'6gj¤Al2bÓí«O®Ã©Ñ‹šk5CŵLê·¥ÉÏ©gQ×|J4ÝɵîZw­5'¦sÍ\«ë=KNÕ‰­]ksò¯Ùóñb¯eyµäç|^ñ!É#ÔëªÇª9y¿ñ]ùš |B^Ã߯=õ'Ôž=¡ú-•o)ÿÒ!}q’              §€€€€€€€€€€€€€_‚¾¤¿Aþ”¯¡~ öíúŒÏ l^õ˜BiUiLiC©®U2'2'ò$ò$ÂQ™Ã™Ã™3™æ >jU2WyŒ ¥¡t¢:QeE¹&e‡Ê6¦ucsMƒÇ†|Ö2m èpšE64ÂÇQëÆ“ v&ö”™OÓIJ`úZ6ôS´²ã–§GfÁ´Í,èŒ3Í5 w1Ž¢ü ”— þ°Ç-Š„vnpú€N-j5œž¢ed>0ÍH òùŸ°,KÎU.cÓ>Ì[ö§ç\Á2I-˜¾© ËJ5a¹«&,ÕàÁlY‚SK0o ~.ÁâõfW’y&Rwave/data/sig_W_tilda.1.rda0000644000176200001440000000164212377701075015337 0ustar liggesusers‹íÙ{LÍaÇñ_7#J´¬EZš"Q'sÙäùf¥Õ’¨èj-Ku\g4"Ã( +ÖX[h6ÃÌ:[Â\žo.ËÂ\:ˆ!äV”ËIÔ;Ÿsþà›Û_Ï÷ó>;û=Ïyöûó×+!2%Ô9ÅYÓ4{ÍÁÞüê`~ëh~£ÙiŽZs]–és3“3—ëfgÑ™?p5_ Ñ™’ìmKw¾bkËß&„6œöãb»‚ ûº¹xAKÕÁažœ_PåYÜ´“‚³ZÓ_ãÄùáýOmàäèÁ¾óŸs|QcäGãlžÒRdtŸÈ#{?[}exWgª¬iÝ.MÊ »ü÷³¿þÚê¾éCÛî–Æ/úʃ#æìwbÏ¡&§¢Õì1éfnNøAˆóºá{\2t©"ó;cÿÞ¸¾×Ö þ°b<;vÖlnÎkg‡×™ iGØ>uocÝ—¶‹ žsº¢‹5Ëýe-œ› ÂWöäUcd©ì¶ì+¿ÆŸk«=”_,ç‘]㟼1ZvZ¾Çú\ä'§áöm—êåû7Q®w=e‡å¾Ëvc®×¹i9òm¾[Ü,o½lž¯±ßËÀeKÝž&ÉìóÔr^ùë­}„ßÁ¬·öÖ[{ ëì ¬ÿ±õX÷«Öâúß­áÿvfUUUUUUUUUUUÕ¿]5jÔ¨Q£F5jÔ¨ùW#àÿ­µX8Ò/ —ú©p¬Ÿ ÷².f+ÜLÀÑl…³ ¸›€Ã ¸œ€Ó ¸€ã ¸ž€ó ¸Ÿ€ ¸ € ¸¡€# ¸¢€3Ü‘à—$8%Á- ŽIpM‚sÜ“à %8)ÁM ŽJpU‚³Ü•à°—%8-Ám ŽKp]‚óÜ—àÀ&81Á ŽLpe‚3Ü™àжsÀ© nMpl‚kœ›àÞ'¸¸uës‘pt‚«œàî‡'¸<Áé nOp|‚ëœßüWìù"L^ã< Rwave/data/back1.220.rda0000644000176200001440000000716712377701075014246 0ustar liggesusers‹½];Ž$¹-ͶQ»†Ð7N Hs‚5tYëJ2eH7Иm¦Aƒ‘H‹…Ž £è: °%`8ÃŽ÷^<Ö“ÓÀt±˜ ÆçÅ‹ˆ?üþ‡ßýðÝårùpùæÃÛßß¼ýóéí—_\ž.ß¾=¿ýÓÿü—ßýæãÇß¾ýðËËåW—ïϧËÿþ| Ï}xÖëçÏòós~n×ϯŸ{NžÇðÿÛõýuÇgÖ¿?ûdãzÑ~gß§M~?¯Ož;øD¯ß+ú~Gðœ­Kåãäb<ŸQ·Éúãz¨Fò¸ûfïA$\/Z—½ <ÏHÞgr<¾çH®gò¼ú>Ö+öœÉ9ªúÓûû*¦ó@å ]=ûßA=ÓAûS’÷]ßµîì÷Ú?V¿I¹«“{è–;ÖþïàþOÐÿQíÍmXç6{ïãúU”ô¾Wpß5ðÿÎä÷`÷?[÷6±ûãú%¸ÿ5éwG÷®rP“ö&ºïô¿Qÿ¹ƒö6Z&o¨½ßAÝoOÆ û“çÙÀóP?·÷nŸø´w¨ýcã*TÞª¸NÏ':/T>\r4Û/ëwÎìëÿWÒß~´ÞQ¿Çžô÷èïw2¾A÷]9îI½ƒ¾_·ÞŒâÛÕß =‡*žÿNúûÔ÷‘îâ>QùRå¬znñ‘]ĹN#¿_ÖnD~áxî¨_„ê=ô^ºü&Ú›Õú¾Š~NãKß<‚|‹§¢x êOVÑŸìæsEõªê¿dñ2'bϵ^5|l'ãs—™Åçm‚ƒ¼<þÜ@ÅÆ÷9®7®[’8Dñ–Í„÷¢ùÆïaqNV/¹ò.l<…®·'ó’ª[…_¬ò׳û‰>ßå±þ*»ß(ŸWE?7‹+¹âÛÝäoÍÞ·{=Gô ‹ŸEñ|7ã5.;·Ó´ÞÈg´¯Cô ÉaùNEôºÈëcñI–×Íò6»è—¸óeè{cÏÅ7·@ÞØû4“·™~×›ñÛF|sÔK#Žù)À3Q>ÝLÎQ¿?ÒK‡‰/ÞD?²™ìqñ_ôûG¸zVÏÎE•ƒ™|£züFÖ üI6ޝæx"òoɇëI^™Š¯ øX#×Qù]Mä3¨ñ}#ýHwž˜­/ÊêÕβq?Ê{ˆx=*¯Ï]ü÷ìbC5Ÿûa®«éæx½‰|jÞÑEý‰Ö}52‰òîj²¾,ëG¹øhÝÌaZ½7;YŸå“Tq¨ß9¾çÑüôü¾ßyÿœ×Éó6Á}îŸÿ·_ý9ÆU#OäÇÉ:Çä<>=ýyÿu¿½ë ~4zN(~¥òáÐ8žÍ»î¿Šw‘ŸYÍù6?²'óæYÞuö÷²þË+Aí_6OÕ{°õ>¬ýUã¿Ê—š¿Ïîg¡.®ËcùYþÊ»Îòí ø¾\y«bŠ[grö(^ñ*ÜÄUÁê}´žE½¯lÁ߬οtQºêø\¸"뿨q¦Š«³õä<ÂïÆxjŒΠn~Œ«îñθþxÏÆõ~ Öã¹q½1þ÷{û¼y³YÜ•Ígd~ðå™ãDõQœ¾%û"¹qŽßÅ%Ù{¼%ó{YœÊ]ŒÖã«ßƒíð¨¼>ÊS«‹âжèóÙ¸±'ñ–×ÉÅ,OÔ’ü¶/E5÷cé¤ü¹ø¯hÜ¿/ª³XÅ[/b?¤ÃÌ3ëb}a!ù÷ß›ùi· ¿YqÜ ò}"žÊ›‹x]ÌKD¼þúÑh÷Y>L ò£ÿÚæ7ïëåù}ÿµ€ò=ó—{P‡ÉyMò7Õ8ÌÝg3Ë#t÷­âûØI{­ò.²ù‘âJ-yþ‡ÉORû)FùԖĽ³÷ 娼ÊMä=¡<$•¯ÏÚI”§šÍƒwò½òüØ~®*>ÇÆ—®~‹j¿g•ï€êw=CMÖ}ºùóÊÇeû”­ÊV².ï ùÞj½h7áxî¾C‘ý¨d^{UÎHN]}æ³uߌÑ: 4îŒê¯Õ:ªjê/æíØ~ž*ïñ0Å!j]úÖC¸ú¹£rŽöObó4;çs} ŠW2®fßo!ûGdý6ÕÈÖïS^û0ó•ÛbÿIõ‡Ýõ›ÙzT÷\‘.ò„²ïõHâ.®:›SŒ7£¾v•äGÏôÕ6ÉÓ<-àC¼‚¼ìˆñ²8‚ZGîÒ*¬›û-w1¿»ŠÅê7/Š“Ùþ»¬F癕Å¡j}㙬?Sqöüû“vÞÕìG±sÿX~»º~1×ÕFye”Gäš_–å_Fü´n•='—Eyf‘ÊÎÛÌâï5«ý*Šˆ»«ë³ü‡#ÈCGõr/¤?Ø'þçOÃÏ7’§:òc èFyþz}ßÿø¢êü.5ßÎâ[lŸ£þ´‘zäó]j^©›ê«XýõÿÈâóÑýŸñÅ÷ ~õuÒh¼÷—Ëû÷p´¿¯Ã}ÿLJ¯ßûñ¾ÿü¹ÿüë¿>{~Q\^×L¿¼NôÚ°ÞÏû½ŸÝóÉŸé4®=’¸&š§<’ñr#ól_}”G†úˆwÏò:ç"¾ÚÌCˆú÷FýÂX¾Û/ í÷w˜xÓ«æºU’'î®ßbó‘*ïVå#~ ì˃ÜAÿs¼¯lËYýN%õP!ñv•ÿWD}¥æËf}U¿øâ³è™Èßé$¯˜ÕkÙûÌÖï¸ú+dçnfõ,:‡ÅI²|’l^KíףΠb×SçdëÕùa»¯¯¦ï¥âˆhÝiä_ª};Õ¾C,~¡â]̃³u`-É“]5W.›ŸAçv <4®)$¦u?¨?2»O3íO;;OoqÕ5¡þÕk°^½bùö—g.¿á¹Q·1žáÇÑzU\Åɲq¾«¢ò9[\wÖ×Åé#m\w<×;>8â„焟2â„ÿ÷×qÂN®7¾ßÿ¼¯ó.íï§á9Ã%‡|Çÿ×¹ã¯è=™åYfq]t?Ø$ªkôZ|˜êuWã_5YŸ†öGwÍEyáÕÌ·Wñßzåü˜.âL…ÄÑØ|À‹¸žÚ‡T½Ù9åA¼¤’¬ƒsñØù†l|Ãâ>,OÍÝ_Ã5¯‹ÅÔú±ÕuÖ,Ï8«×=O„Å­Õ>ìüq·>xÚÙø›­‹âî›)îŽÞë1‰«n ¾õ‹cûñÍæÎmàù±õäY¿ÑíÇeñ'Ô.ªõÝÌkTë|K²¯À)æS#ycõS#ùBã½uá‘]¹uƒ¨šñCŽ$oC‡¦ÎÛ*"¾Ø“u–h¼qšøN®€ö3Uù.û®ÎµTý²ÕöGõà ™·ï_•ëOâ:ÑÜVïd箨rpˆ¸Ç£æ•¹çв}èÜy7´>•å-Gq-‡»û`ªqûªùSj½E¶¾Cº*þžÅ5%™OŒÖ™í'Û×Û=ɸSí ¡òª©¯ZÖÈþÃ,/£&qL¶?ës]üâÙœŒ–Ä5³ó™Ô9«jžH®²¼.÷+vþ…Êûdç§²ëDõëèù¸æÉ«ë¸û°xVóIÙù/.ÿtߊ36¯íÛ”¿NÒþ»ø^IJ}N:éϰýÃΤ?ÛAœŒÅG²¸l%ù#j_ÙJò&³ç¿ ·ÈögýYuþ5Úå3£ó,Žd}/;7ã|oâX|^®ú õœÐ¼P¶ï [Ç›íûñÆ‹ˆË¤ÞFõwd'Øü]ýì:,nªöÛ©bO¶ß´«¯W–_¤Î1Dç;­šÛ㚤ÆSê~\ó»²85Ê“sñÄÐzB¶ßÊCcñ ÷iɺÖ.Æéª^É΋QçýªóDzûkb=°Š‡ºûU¢}rVõMÈꉾeõŽ{ž¤kÞFäo°ýçÙ>Ùú‚l<‚â¯.¿ÍÇ¢ö•í'éîcYE|ÝåFïµ?HŸ±ýÆØ9íêï«ý"Üv!’ëjÊÓEò¸ê~ÔkÎþöEù.Ô»ò‘Õw°ñ {Ñ:Ÿnò=/•stª^ŒæV°o«WÝÿÕ‡îþ;h=“‹P÷-bã$TŽ{Ò¿pÏsaýI5ŽwÍ#Eû ä>‹©OÓaÂ/ÔºÔ¯ ?äÂ]¼-÷÷`ý‚¬ÿ…úÓÙ~d.^n½bûuÝóUý-Ѿ]ª^[ußÕyU¼çj¾•ûl]·ÚG°-Ê;¸ß—+Ž^Õ·Ö-/Y»à΢öoOâëY¼Î…K¯š_Çö/®WÎOví;;×ÅKÕ<@'ëtÐ{ªö?Uq±¬>êOk~_}Oîø;ò;)—îù¶ªœ²÷ ]së ú·?­ñØzºUòµ?¸¤^1ý¯Î#tó6Tœ¦òŠæÑ#ùŽð‹ž¬“XóºêZTVÖÊæG»ùžfý uŽ‹ïUA?åɬ’{u^1*o‡ù~¹ëͳxó*üsÏhu¤+>ŽìI–o†Êzº9o§ân®>=÷©s ö`}•Wàö¯P{éîWÉòÐsÍêáGÕ»ºøSÙøDík¹›ý Ô¯>I^Úç­wì&žqÖ³¸ä*|ÙmÝüèjªÏÊö‹idýT´O¶þl7ÍWyT=Í£ðUž]øì*>Û*²OhžŽÅ­T^‘Z‘µ÷j^œ陬=uáÍ\·ãªßÊú'*ﮓßKÕ'*¥/ö'YüÚÍÏÌÎÿSýÝjæI¹øÚÕ|p6¯ÓMøo{P¾Ç-Ï,Oc5¿…õÀçÛŸÿühÝÚA8øRwave/data/W_tilda.1.rda0000644000176200001440000000174512377701075014501 0ustar liggesusers‹íkHSa‡OÓE.’‰…H—A`bE„ÊyBŒ¥y-³Ì¤²¿„‰`J¸P‚J ú"õ¡+ƒ\° Ù•ó.QCˆnF7I톆™Y–bCœÿ{ ×!Â~χ=çœÿyß³}Ù§'sCîJS®I’$ƒdð¾yß{ßH³¤`)Äë­‹Kö®ˆó~•$³ÄîÔÝio³>äÂý­#á¼f`¼¾ªù¯M3&7t‡ð²˜Åi7Ï•óÌ–ŠÝ¥%=<ãV¢==ÁÆsò ¶Ø6nµºzG=ïÈrV':xPQhÆ“¼&fyÕi»ÒÆ–Äæ½y •™Ss¢Šytjlþí3ã<ÆÝe1\Há±Y¶áWëøòÓÇoôÖ*Ò\1GÌ}«îO»í_[ÇS:ïë¤ïS³sÒs¤Ïâ{×Üñûþešëcº¯ßÖ›÷HçþÂnõ:ÿlIñt힢Åsž©vû¹Ÿ©Ú9½–fz¿§e)@˜îß Ã0 Ã0 Ã0Xÿ+Ì,þwç†a†a†a8P(ÿ+½ó2í¿÷?²^gx¦xªûpNsÙßÞ±èNëYô©ýµÞ¼¿uŽýí\OîY‹þ·èŒSw[¦·Ö §N·LÝn­#.LoO>OÌsÅý¦Ú!pѧ®¹Bs…ºç¢Ïîcqœ:êÚÚ¿öź¨Ë.ÿ¤N¼èÐSÇQ×QçQ÷Q^ëÇS'^ôÙž8uåµ~+{ô-—>û-ÑbKCí–DßjsÊ‘å^+:ú<ÒÛQô¬¨®¨¥(¡HذayÃvV5jJb 1ŽGGQGL V &'“È“ˆIäéøÕ±Á] ä™g•â×àÉF;y®‰•q6œóuÙÈë[32èÇqƒk¸f£ŸU_ƒ:çK"fbթ娾æ€6p˜†[þèwj8–5y´3ÓOǃhuM1í_ã´šxφÛQ\ Ï'θG©n¬éª…{àêÆšÁZ¸Ç²“Z‚á-Á<—`Äë/ýž“¼&Rwave/data/chirpm5db.dat.txt.gz0000644000176200001440000005440012377701075016067 0ustar liggesusers‹¥Y’$IŽdÿçq Òp‹õ@sÿ+tæÔt›óRüDªýOÉÌÕTe ãË—/ß¿~þßßÿýëùø×}ûúë㿯¿ýýù·¯/»þþÛ®½þös_ûÿëý__ÊóýÒ뿟ï‘߳Ͽüüú[®ý~ß¾~|ÿüÿþ}{¾¿ï÷çßûëÇ׸ÿŸãûý¶ñþøô>ÿz?½>ß#Ï÷Êñ‘ñõçõçñõàïÿǾÿñéúÛÑóè|ûï]Ž_[6_­/o[¯íyçûÙüÄ|åµ>­O[_|üóýe¼Êx~[ŸÓøÅûúúõùÉ÷—ýíë鋯Ú/ß¾þü<Ÿ¸~íþe|žõýø½—­g¿ßOû»ŽõàëÑ¿ŸóåöùyôZ>ý`ëÏÇ7Ö_îXŸß?=Ï«|žëÅÏ]Ïþý°‡>ºßó}ô¼ñýè÷÷ñÏõ¨¿ïûÓçÓŸÇ×/œ/nOc¼ý<ôóË×Gî‡i‹ýõû»¿ óçwú2í|\çwÙ{¼Øñûý\ë‹Îï²þu’={UÞ‡ÆKæãïû}›ööKœŸù¹®?÷?y¼ô<ùø´¿Õóû·]«})önù?±}ÓùNþ¬·÷ñ|°¿ÿ¾ßwó‡¦Qöã/yÞboÌøi¿'ÏßÖ«9ßêOÑyëç%¬§ò|:~nOÓ^øøh|äë+çÛíyàIvý,ûTæÏßü9?ü<ÖßÏýëör®²w¾¾ÃðøÓÏË´3þ ÿ*íÿ‡_ê¯æúòý¬ûÇÇÏçÓŸ?ç[æÏ—‚ŸÉÿ»¿ëë=÷§þ¿¯_¿„gäúÑ÷g|Ežã÷ô_·î÷‡x<æÃíÿ¿¯´Gßs*Ï7O‹/ßõõëö”ìGñ§¿ÅøˆãMß‹û¿¶?éþ'íÇò|¿í÷öüøz{áþJ¬'Ç«|||e|¾Ïoد_ßíSî÷W¤¿ì¿øÎÿzž¥ýÓòUÓ¶xÄò×zÿô¿_šã_Î7Í_¤½ÚöΫÂ7ÑçƒüùA>qâ-1¿´_8?¤ëüýbß}><¿©û+ßWç;ŸŸòOžßRÿˆøZ„×çù²ùop>Çþ(ñ¼¯çOßóxç›Ù¹_Á×}<·ÿ‘׺ßÐñ/|¬‰Gûzó|FâOóýc}äþøiãñÀçÏ/ù`Û/žïÒøÈïŸ×/³—›?DùÌÄ?v¼ù\yÿ°Ÿÿ*x!íOÏ´7;Ÿ þIìGà£ý-Ïçñ§ÇçÁç}ôzãO)ûmãiÄ/É|ÇÛÞSþ#ãs}æx¾Ôów}óŸ}½ûóÂ~<ÀS}üvþ"ý¿¹~J~ÇçW×ûßãe÷-ûEþJ9ƒo³æ'ÎËWà1:ž¹þ÷ü¦}òýéx”Ÿbß‹?ãkŸoûççAžo&|#×ןuþÇyœùTÊ÷=v¿Í‡ó÷%>ù×>À¿u¾òe ¿XÆgžg”)üßH{´ñÒÂ|ôûdïv=JÁ£ìþ3ÿPü©ïÓþŸ¯Ø}_ò‡ýýý÷2¿£û‰òw\àþµòÓ€?ñÅ?þ<¯ÄozžQ>;ÏÿÈGC¼§ë üåðÏr¿m~{òUõ:óŸî}Óñ¾AŒOOù~î7Ït¼|½Óú>~ìôç/³Ïßßÿ7Ÿ/¾BÄ3tžæóE¾}åg"þºô?¿öùf{9ñ7÷W þûI~?׿Ÿ“¯VâÍŸÓþQ¾ŽðáÜOºþò}œŸ­þ á×TŸü¼’¿õýëxàÆÏs<äùJþtÖ†½ü±ÕŸÉó~ÑòÝv=ãç¿ï7ñ Œo`½–óQž·ñ;`¿èz üÕOåxÍüE9?u~¸^æÝøÇÁg•Ï)¤ýöñõÅ_ú>/M|ñOqòw›ßëë•âg°odO Þÿ¬ù{’û!âu›ô~À?ÆúÀôçÿ˜=Ýöê ¨>*ö+Õ?äzšãw²Ÿíþú}È÷Æ÷‹½~ÂÄŸþkàCTßWü»–ñÄ|§×‡Q¾™ù;Þ#~7ÕŸZ=Z©¯s|Æ×úä¿‘þå3¿ÉóÆñ;>ŸÞŸ¿Êþ£z'ð' Ÿ÷1{êþ÷ŽÏi¾`<›?.ãEù5˜_Â[(_óüäæ¿M{ñ`<Ÿûì?n¾[â+ßì¼óõ´ñ„’ŸŸó‹÷•xuñ™žo>oùÿ?€?Sò_ {öàŸú¢ÏïCùýb¯'þƒüuÒ· ç'>\ú—¾~O¬ïÇõõÝß¿¯ñmŽ¿¾oîç_ðÍŸñý2Ç»à«:>ÄOÌçQÿ£à/6~?l?Ëx·zy;œ|°•ß,xÚŒ×I&Î¨× û@ü£œïO%ÿ™ùû3¾¦úü²>ôü¢úÄô‡'^æ÷›íÿØæ/“ÿIùsÿÜíõ#÷+þòäËq¼âø¤ü^œ‡€·ÅüfÐ ç>aøOp¾F<ñRø_ÄW¤xþþq¬G¿ß’Bú˜y^’žÞÆ×½^×íñAÜ'¾ÔcÒùó õötò‰Êùãm÷W>;çët}±ý±ìÉì|0ëÕ¨¿Nþ2×Ãû~Šü¸ÜõTf}&æë‹>ÁâÃÞIõ2å||Òç-þ˜žG¿¸½w~ÐŽÿI?(ý}Åß@ñÐ<ïÜÿù8Áû'—ô(‰ÿèøß­Pê¯íûúûPoGñg±ç¿?ö¹ë!èx”z™ÿÔ+Ñë̇k¾˜üͬÏùeþŸ>/ëõèú§ýšçñæ—€ÞXœ_+ã£þÕP>Îcª—%ø·Eïk½ÏÞÃÖ‹d}ƒ;ý6®'˜x Öoýñ/Hï‰ôÞ“ïäã9ùÊXLøÇÇ;ßö#Î?â/?é½@ü†þ'áUÄw½­½ÿðèyIß½èC­|ê§Òy—þ—×;yþƒðòŸ÷ûßñÕ\_]ëçlo\Oô}¿¶^y¾§>IœW¤¿zŒe|7?Žø«©§ºñ+Òsóñ†xóõ·zp„Ÿ»^8éí ŸxÍu¼›øÒÄoÌóiê?†ÿÂzòû„Ÿ!‘û_¯o눖Ï?ýçð牜øØÎçÞOù{êDö,÷‡ŒOœ×€6ÝžÏÏå—åzø°ïG>T¾Ïx7ñmôÿ¹ß•â3—çU9Ï7ŸžâÑÄKχþ·úûØøbqÞ³žõ{ ýHýIÜ?ñ|Å[oˆÖ/à¹Å¿þçóÅÊ÷-ø‚ͯüÿAÿЧüyÿÚñí%^RòG[œôªÈ_t<ŽíÝŒŠ?±ëK€Òø´6ø<3ž¦þÀ¯A<œðà¾îÎ?’ý¡þMć½kê÷ë ô|‹=Üý¬ˆßý±^€õlÜß™z-¤/^öÏ<¯ ?À÷Ïì|â«@ýwœW¬/xœÌWÖ»ùø«FçÔ³ÄóC¿’b¿}½ìz#:¿à¼ }Cæ‹ÊøFýùßÌGÓûû|þ.Äú{ 7ë“øgÔ_‹û†=°ñø/ÕS;^Gõ"%ž'=.êåþ¾ŸÏѯDæ›ëw¼Ezvÿ·ûO°éo,{Üò³“ýkã}Iÿ‚ø—pÿƒúëÿ¡ü$è[¡~.ðSËúTÿ0ç“꣔/ |êxèÇë‡ê /õX‰¿öôË(>;ȇÉu9_'ÿ÷à<ñú‚§þQPÏÝùBª_¡ø-çC×+ÍÔ£^ô×,óåø­Ûcª‡qà§}îñ¹Î/ë ÿ±ý5ñÝ8/?*þòî¯Jõˆ\·õËXÿjöŸ ‡ã_»ÿ8Åãn<*ÿÝoþ>õçF|“ø±¤×ÇùÌ­ÿJõGì¾ÿÿûãfïf¿•–Yøf<èyû+ÏKú‚è?¥ýÓ÷Éz}âol¾„ÛGÎOê÷¡ŸséãóèýQ_þŸù‘ŽW{~DÆùÉÄ×%¾ó ë¥füÏÿÊþfk<ô?f~à`½øþ"½é­¿Axˆ×óƒ¿öÅǃðKö·_°ÿú9¾ãö÷ ¿#ãQâ¯×p(ð«G¿ÿ¾_¾­wþ.â Äg»åo€¾Uø/¤×˜õ*r|›ôDÆS>§þTÄŸc=êG¾û5æxúþ˜|‚ržízúb×û{9óÅÅïþ¿Ä"ý}У.z6>z¿Ÿ-³ÄCïû5ðµˆOSïJÏ+ÈÏ^ÇþöÖ%<€ø•ÿ”xoŸçÄפú!²/¤×Åõr>[?‘Ö?Û?}>£ˆÿ›ø‡?ÿì׃|ê¿ ù†à'g=¨ë‘n¾Õ‡S½ Õ‡ü ¿”Ç_~ÿ©¿SâwŸß½ž þû?çyªöÏÏçœÿ©‡‚zø™ßÛú*¤—zÐïEÎÒ·„ütÉgl}WªÏ"ý×ÿ@?Ãß>¯¯/Ò <¾ÔKÍü{y^ŸéûÓxsýÛo»ÖõçõœTCñ?ñ‹ÿ@{Oú@”O¢ó‹Ï×7_ÓÇ;ó‹?ì<Ñùd}‰«|n‹å:ã'ç'Îø%Îcªÿ"~Ô³`}+Ç2^OP¿kèwÀWÚüÖ×Ý|î?7ý5ôÝ~ù|´¼_õ÷ ð ÞRîGùõl>V¾×ÞOToùåâŸíü飥=tÿúçï}¿©¿]Î{×ïú~ù=ȧRüþ"÷w>ú5ÍõxzÁäºøW»¾‡ôŠA¯ë‘Y¿Ñí¯óGîâuŽ7u¼h2ÉŸßßoÖ¯‘Þæ×€ç­¨÷Ã~]¤/F|¡|^}_æëxþDõïIÌó‰R¾ªäÇoðûm}ê õ½¡ßÂz€»Ÿ–¯'ÂkÜþS¿Tà/Äú$}ñÌçìó2ý}ùÿ8oA¢áëv¾m¾Mú[ïô¨}>/ûÝ—ü’óûüó³¯[_ ò5…Ÿþ‰Í÷Æáý ¾û|¾ŽóšðÉ×Þï^ÿ×”¤ú<¯\߉æ'ìãâó¼=ü‡É§òù¹ŒÊø>öûW|Ã~Tî{¿uù~à³ïÿ°¶>žG?ßõùìïm½Yªÿ |•øÑ~}Ù«­u^¡NûŸù<»Îe¿iÂWHŸ¯Ì—ï¯ÏÚú¤7Dzi¿4ßCzT„ŸQ¿[â;çzóøÖã!ÿØßÀ?Â~°€o•x|óc¡žá áÔO-ù»©ÇÛø~N>éÅæùëñˆú7”Ÿ#þáäÿÞœŸŸþ<ÄÓä„q«oDzÜÿ+øðvíùÒÑñNþâwÛO:>¤7 õËh ÿÃ×ßçç!}ú=-âW<ò}Ð3CüøZ…_#Ÿ‡¿UøŸË^4}ä5_áÿ•þ1¶_4ÿzRžß¡xoâ½…¯0õµâGýœò;POŠz`¤N¿_ø¸ŸÇ§øËŽ¿î~௠¾ó37@ù$à_”÷ý#ÿOúPAùÎÂt{0ã/²Ôü vÿÌý…‰¯„þñÝ ¿.哱_óÍv}9ôû¦úcÌ_pÿð߆?—úVÓÅúuà!;ùé?Öùóïþ)ÔƒÆûÞãëþ ëkè÷©?¸Çýêg>ÑçŸêÕ8~÷õ§ù‡ò>ÄW“ñ ûHürê÷øêÛ«7Ë,çÅÔw&½æÛzˆbßý~ó^ÄÔßõÐ'?ŠðŽbO<ºÓ{½äÔóÍãÕ}ÞÝê/‚žfÁ»¦ÞÁAýÙî/ÆýKd¾‹}ÓüpéÇ$Ÿçyëø9õCÛú‡àÿ–øeÆ7n/Š?©ã“|?ÒÐÏAŸˆðúý ߟ»^âã?úúßýÿˆPú“Ùøéyšù˨•ù:8Ÿçþ#=aÒS~jØSÐ÷ŒóŸðŠÄëd|ÂÈý¹vÖkôxVóÔ?—ê ¸^`óÿ˜¯¤ûôX >'ãIú˜ñ}Ò“Nÿ9ì¼?é{A½SÉîüxéwdó­ÏÏý¬vÿr¨Ï+ó¿õР~·ä×îôL(^%ýØÛý{«ü×7ðóÿÿËìïÖ#òùñ*õ8;ŸEø&Ù£Äoô¼§~_¹^5¾)ýÿ¦½}¬§`=-/®÷UÎ×òûWx>ê£çý¨?­þ^ÚË­÷åë•ê[Ýß!¾å¨?'é_úxeäK ¾âñ _;~uÇ')ùùœôr _~ñïõú:À¿Kÿ ŠG©ž˜ôÚJ=ËOúº¾Iÿô™#ž'|›ûƒ¿¯Ûü‘¾å«@?6ðbÆgÝ^Èÿ£ý!üüÙn÷O ¼Œü9Êß³è'Éç §{ ‡é|ŸÛzPîǹñ¯Ä~þ^ß'üöéosýØîŸõ^eýÏø1Þô Jà?L}ܽ+òwô¼ý²¨÷ñ ½sªO½iä¿P¾üOЗŠñ¦þ”¬Çªû›ðÂÜ[¯#ã]Ü_pë “}€÷¡~Ø%_ñþ½†ï¥}ü‰ë~ÛÔ¯ƒôžI_Ø×õkOÿMýMÒ‹Ëü°Ž—ïâË“_ú+É5ä©Þ®à­žï¸ë‡™þÜ?Ö‹Ç%ŸköÚßv^ÉýÉ¿d½ÿ½Xr?êGõå¼ÏCç}ñt½@¾¨¬/_¨ÿ¢x*öŸ¯ï¢kããömÖËEü“ß÷|Ù_¦—s ·ãx‚ûK3ž/þÖ³~ï þþþ«Øè?ö4ýÅ™Ï*ë{êíDü’ñØÎAý0åo[ý§Œ÷}¿ÇiÉ~”ùžz¡å|˜| ÌÏÂüG¼NýÁ¨^òè?‚ÿ[ô›¦}¡þÆ%>ØýIK}-à=2ÿ%÷kžÿÏ(û?ôUçþý­ø>ëÏüJë&×”Ÿ{mýHÊÇ žéÇ‘Þñ?¨¾÷/òÿ·ñvØóg2ß|ÉÌßNûë#íÅW›oëù5ôg¼úÂ…ÿ¹ñÝËóSÿìÄCÃ^,üªØsõïÈ¿L~ÄäO!žx¤Ž÷­žmêCìøäRÏœÎâ‡Q½Vô3ü¦è·mü³ÔÓÛ~˜ý–ôýçz•¿Ÿ/Þç²Þ§üÿįŸpÝ?Îoz_ª‡óõGù\êŸ@ùÄò>òþ·ýr½O{v g0ýƒ‚Í|$êCxü‘çÇ‹>þ~³¿Wà%ÔŠôÒJ=À´¿üO¾ü]ªo-þé<ÿãýÏñ!äÏ¢^ú±RþëgˆŸLxTâ›2ŸÜxîe¿éXðüeýzþdû¿Ÿ@½¿ôŸšýhtýá×èóøú#þ ô·(ötã[Ô…ú'‚Þ]9Ïg¼q ×èçó?Òo.ù»Þ|Cˆßò“ò{Å>¹~ÛÖ#!¾7éÉø~MÿoÖ'”|Ç£{=§½õ¤Ï>Æý0f|‡ÏGùð´7›ÂzÓŸÇü)ã‘ïï·õå|ÈßÄó‚>Oñï´Ïƒ\¿îÎüY«|¯Ú æ“N|œøžÎÏüÿ‰ð?&Þñ4ÄOe¿>Ÿ?/ó¡ö‡üEOâoäûÍþÁáRýzâS?l~<_¤ûú¿?Xø™“o[â‹™¿ñ(zéöü³Þ1ö/Å«Pëêó?(øµØƒÜ_z?âÿ¤½öñÛþàw„7”x‰øa[ï*ñp×ów~™þ?à±å|ðþO!ûNõ™È×¢üò-¿ÕïWøs–ÏÑñü"ö{Ú¯_¶t}ú7»¿Jý=©? ÔÓùŠùѬŸúcëaŸ¯¹þvÿ&Â#€o‚ýŒ©þ#ÇgÖÓ¡þ3ÙËrÞ,|¸àÛ?Ùþßz¬lo¼ž`æ[K½5áéÓ¿%|¡œç>¾Wõ6X¿ÌýÖv~4ùûþ¾Ÿn|û²^ œOS?ýSÊÿ?ú á߀>wÁg¶,÷c_+óù’˜¿Â_°õãö€â7ï/ùØýõùóüÜùÝ´Gú{y¾ê~<=·Ëóœø÷å¼Üñéûçóoÿ€ô2³_ÖÆ#Kþäóÿ¾ÆÖ§çxjæ—ŠýÛç+å i½’ý¥ü=ñçÊï¯ç-çëîóêµ"ž"ûUÍ|}^Þ×ý Ƕ? xvŒ?ç#¦þN©œÏƒýÒ¿sý¡of}»9?e}Éü”óe÷—£þYE¿[~ô‰|>¹¿ÂžØç‚‘^^ä³ÍÞxþØíÛÔË+üÊ™¯+øéûóÎÚz±Tžþ¹Çú¢þí´ž€ÏWð/ÊOÎ|Q‰—g?ç°Ï>¾Ä ½/:/˜Ÿ|°9^Åß™x%áÃ4ÞÀ?%=¸ÿO=æ’O˜ù‰’ï§zÒÝÿú%R½†ŸïýµŸõÿy^D?¼ÏŸãz$¾,Õ“>8áͼÿ(^žþ_äcAëÿ2ž›ý_þ¿…OSþ°äÏ‚Ÿ ÿÏõ+>:·z¤HúX‰_*¾ õØ_&ý-?o]oÄçgûûÄÿ=(Äcˆoy±kµ¬ÿ´ù›™Ïý¾öSÄׄŸþþÁûn>è¹#Šòý€'Çó^üñâÿ9Þ©ÏOüiî¯=ýËb¯·ž÷·ßõ:iß=~šz3¨ þa9¯¿¯õzSdo? |IÆŸðGçÓ§?1ùÕÏ“çE½Tèÿèï[ðBÁK_Œõk—ýô¨?8ñ/c½°^ÉÕþG=(ZO°þçø]߯¯ä»žO⛄Ìý.çù†z”„×r?„Ïe¾Aǃðy¨‡.x¦ó½Þäý>¯ú|:þ¬G¯ã úT/]ðO·Wsþâÿ©ÿè‡"ò=ÔߢøG»ÙÂ{)LúõàoÄùëÿñ4ÖŸ±ñ{<Ûú-ø‹ÌŸÛ—Ü_no7~|àð§)ß øQ|N|oàkþÜì\âC²èÆ'œïNú5¤ÏIz°P_‡ùÉ´§»^šô€¡ÿt¼®7}Þ’_7{‡ö쯮âA>ø–oïüùbŸwþÊÇ—ø oPôv=ù‹Ü_wóù’o´í?ðA(w ½ãÁË~OQ¾û‰¦}Ûúk?C=@ñÿß×Ýß§z9½_Æ»»ßÙÃò3×çûýšÿ–ù ¯?Óýý"Z}—|~©úæoæù¨øÂ~(×éŸ;_ÇøOf?}~Ò~>täI‹Ö3èâ~#>tú7ž&}­'KzßC?«ƒçÙxOÞoÖ_;>ý<ÝŸÈñØz»?/ùÈï&=I×Û€ús«±TÞoÖwRÿ±bÏt=“žñ×`ÿàû±Þ.Õ×"¿[~øI|>î~ >¿„W@}ð¼û!~àã%ß»ûóäóoý¿2¾Þÿã¿WâÑÉO*ŸÏ|¢Û¿‚¯íõO|I:?©_=ã;¿æý*“ù¢•_)ã©ø`ú“Ï^ø>?»ß€¯?æãê|åûîýGýîJ½¨œW\ï¸ñ*ÐËû‘ù7}>ÐG(ûûýÿí÷.ñ›âŸÍ~xE@×ñ ž/ëÕ?w{Hý•g?¿8ÿ([ôT|>ìy¢ë÷VŸ€ôœ ><ןO<õHX?|ó7’ÿ§Ï{©÷ƒõêÄ¿Ìüý>o¸~’Öƒþ^ñoìÿýóÍ߇zSìÇEúµÐŸˆø,…ϸëÍßÙêÏåšús|*óÕò[_%ûÃõ ôû;~ ½*â›Ü÷÷p{£ëô\‘ßõKa!¾ˆõCû#íé¬O¦ýXì ù+›/Içå;è~·ýG©x©_2ÿt×3Þ®ïŸãíz,3>ÃüǃÄ/¾[©·Þý3 ¿õg¼ÎWQ=bίãkê__ŒêSÏŠüÅŸÿý²¿1þë§n{xqð+øÚc÷Óç-߇óAþÿ¶1âMÌǼ:OË|Ìù*öL÷ôC¾åYŸnãÛ„—@ý6öë-ú+Þ>°/~^Êü`¾®9¿é¿7ù¬˜¡úWÐ÷-ü²°ßò¼„?Ÿ˜ú÷Ñz¢~ˆÐ¿¡<â9T/Jzg”|¤œŸó¼hóåñÒÄ󝓸7d¿°þ&ñ[Ÿ¯_äÙ÷¯ðîÖïÝÞwâ¸ÿ²žlû¿ðüX_ xÖóA?XéÏÌþ(q¾~·zqêOŸçó\Åžêü]ö§À~9P/ë#ñ?o}Þ§ø=®‹=˜õÚxõŸ€~ˆèOC¿Þ’ïð|›âcP/q€'n<„õCÿ×Ï+÷!_µõ:¨ô›*þdèµÛþ‹þk=Rÿªg‹ù§ó‡ê¹I¿ìgø7ÔOžðÒ¿£úÊS(Ò3þQñ75Ÿw©ïxO¾ïϵ¾ø°»¿;àCe¼¨Ç<‹ÿBõ4Îs~àÖû<"üI¯wþíÇâ?úxúï…½ÿüyËÈÿ^ö6Ö é%ÝýÛ™ï.ëÕýõ™ÏF=^Òc¹Ôç>迾ù‰¾þI‹úA¾ûUS½ éÑúó>Hüv?¿üÿ©žŽùQÔolë…pÐsûü<Èw ~Æð~Á‡~©Øßó™?Q<çüÉÚžLz¬„ÿ ÖòÛ†ù ÿø¾ßÝÆOrýÎx›ü­boü<ßú¥^hí'?¯Q/ü¯OÀwK>Só&hö Šùàú´ß¼¿¾Õ·²>ÀÖ)|e™èŸH|“ØïŒ‡lýoê·•ü ¿ÿ¬ÏŒ÷¡þ9¿jO©>“ò”$ý%ȧ \áß@>2òírÈ—bÿ»R!óA|¤ÒÎÞGçô-° äߊ?íñ‘Þï^6üõ…÷ÿ*ðùôÔbþÓ?”ù-öÜù1ž_Ýú_G8×Ë®_~Ùþ!<Ðõ9 ~!=Œï+þžŸ‡Îž|åÿÀ?vüØó)º>ЬçÿäsªO ½Ò3ýé‚G’} þ‹<õo‚zb?Ü?w{±ÇòyÈW¢þÕ©:ù¬%þÔ|@Æs'ÿƒÏ¯Ùûk“þñAO%žød%þ ûò~þâ/”zbß/»>‚ççS!Jù1Üo”½†ˆ@ÿð@/}÷‡>T‰ïg=a±¯³ßåoÃÞS=OÁgüçç勉ïèzè®OMöŠô©é¹%þðØçû}ó¼Ûý” -zÀú<`Nâóg?ºàÇQÿMÊ’ÞÔëÿ›ê›¨^Œ>=†ð×È?àúF?¯uþþ,×Óm=&ª±é¹Ïü ë5î|õ›¦~¬/÷g®z¶2ž%Ÿ$ù£[þi‰/‰©Ï“ý¯ôþ\?¡þéUY½#ú_oÁõCý»!>9ÿO§ñ}´ƒóFŸùÛ>’ü€©wSø ƒ¾ò¾§ÎWÑ?]|äw€^t9o=ŸòÇüÃé¯b¿xâÇ’~ë~m÷Ûý3ÿ=ós…ß©ãŸöìª?ÒÁÿoýsª·ƒzÛâ¯éùOù¨Ÿ&ûë—ë·§¿\ð÷÷ç¿@ý|ÈÇ>ë)ñ·?wÿøäާ‡¿ ù<¸þyÛ àw=¨é¼|óo3u},·Ç¿çú¡üVêßê|CÿÈXÄ÷¸­Ç…þN¥^gžÿÁ&ýïôçäûEE¿ý„Ö‹â¡™Üø9Œñ±‘¿‘õ‰ï÷?ØŸáÐïQ},ñ;Áž•õîïçëËÏgy¬w£~T¿Fû•ò/é?z|2û ß“ø"yžîz4ÖkÝþ–ç ¸ßéeº2ù؉êg¸?Îîïw¹Þbÿ‘Qê÷aÿL}½ÏŠý¦þ‰™ïØÏ›|_ò§ôšû_è5ô³Œxú}Sýu⺿Y/`ûÛ…½ò7±_.ë×±ž—ô'€…zU0è]ö?,þÎÆG½Þ¨¬ÿɯ`>¹û+ÄŸÒýOüçw@ý~Ù¯{}Q=ÄÿlæsÁ_DûPôê!žðñt¼Aù#¤?ý Ÿe㛎_R?ÊgæzØý/8,ã_ø4Á·³÷Ã|¥ÜðHÐ#B~aò‹f}&ò‹H/”ÎÐ)ñA¬'ßov¾L>{ì—äc¨¿Ÿz>žtþ»¸ë©©¿i¾ïÔËDü3çÿ±Ïý|¸«·¾ â­Ù¯gëó›ôø2?ïç1õ÷šz˜¯ôùe¾Ô´_±^|}ÛzŽý“Ÿÿ´ûÊÞ'ø™3Oùî´ošÿµ¬ßmS_Ôíõ¬ÿ(üG>Ïü–û«Þ¯À×ë/ÿýïë÷2ß ëåÖ~3ÿÂ×KÜO~Ÿò‹pÞq~­¿Â]ø`Á+¦ÞxàÇä?qý¤ë¿ìzuî·ã|ÇïÓ÷)ã3ýgÒ+"}Ùô—¦^V9¿uÿødaÿü÷XOnç'È%ÿˆæ£ä?Ì~x>Bó±T¿‘ë_Þ§ä_•oLú0ä_s<¦Ÿ>¸ÇÆ#K=éç÷;àãý°õçãåñ®¼ž×¥¾dâ1Ÿhù†…'aþÏÇêIï1ñS=ÿJý‡ã!^o|ôßÊy¿Ÿæ#üƒÌWêúËøîýûMo‰êɨßñÑ /¤þ²¤7’ëuö·+ù}?⯗~HŽoË|¾Ô{øÛü­‰Ç„? ùç{Cz)öûnŸ4^&Yâçón¼ü›ð_HôNXiÖŸ…Þ"àµ߀>Sá¯í~ÆToùÅKI¿Ç÷sâe;—þ§ÚoÒw ½yàc¿ÒÏ%=’Äk¼^=òíòû¬½ýaÇ79ßéõûWúÇÄ)xRÄop>>ö}_î·¶ù Ç^ð$=_Á,öu÷gqû™ùvÇë·þñ1I?ø …²?g}ißo›ï™ú7ϼé±p}2団ŸÌÂ[ ~²ëcs|œ¯½ñ1Š'ODü–ø¬§ù¼åb8Òk!=`Ç3¸¨ó f=SñWæyGùkÊ¿ÐxÄüeþLç›ðZâ³R=%õS ûõ“e¿9ŸJŸ‡Ïù~à1ÏÁ~-ã«ùâûÃþÄ~qÔß¹Ô›Êx%ìeëß÷Ëæg?·½~€?ëãYâ­^ üxº¦÷mùÓð~PÿôR/'ì ñÙÒ^èû»ýÉýàã½óïÙJæû=z½僡¿@œ/om<úÒþ‰óâ½²ÞvÿPê7EõÆ¹Þ /¡zP}ßÌϹ¿ìþ´Û/=/Šžàz¿°G`Ï"^rûDúáÔŽúG¿”ø>¬¯æó|ž_7>øÌ1fö“(ù±mŸ)Þ'}ª/ÍñU|¹ô/_ù êÇçד=ëó²žÃ¾ËïA½ZÁצkÜù•³>=ððÄÇ)ºóuÀG‰ü Ïñ s~t=9¿0íŸãKs½–|¥Ì7æ2ßíãIý:Üþ(~Ný|?±¢ûë“/Tü‘ß¹½†ç¡~ƒñÿioô|¤zCÈ?”üöÄc±¿=ᵤgFñõßÊüëÄ ">M¾ö¯5Þ‘¿¦þ]—ù ‚Ol>(ß_×;÷ïvüfç—!¿üMà[D|KùÒO½éŸŒ?½E¿OúÔ ?Vêy¾›=½ÓŸƒþ{qÞRþÎ/×÷Ïøbò Þçü;Çv6_oTßCzYyÞn êKþfã!¬w¥öœôIRÿUæ£ØÏÍ'/ýÙlþ|ÿLþZØ?àµñ™|-Æ©é÷x>×ý%ÿ½À¿íû„ìz|ÊßâÁÈ'ø~#þùÿÔ/ÎÛƒx<êåe~Á?-ù±Ù¯ƒðã²~ïøz_´ýùH¹æsƒ"Ïú 1¤‡åãÍýŽ'žUοÝ?$Çkד²þ3õsqþ‚ó‘¢üçïfãã 7ë‡÷¯ú‡yžo½¤´g~žìþŸE_Âýé9^ä/‘~ÅG€ïû³ýÐë*ù£È¿ÁùªãÅx»|^üß%}8Ò“L{õé^ûxl}ÝÌ7N¼³åKl<É~è÷K|mï3ù˜á_¼gÅû‘oþtñÇg<ùÞôÇg}~ìoÖûq<ëýý⯆}tªìÇÏ÷‹ù"~5õýìwIølâ¥^ÿKý9ýzó“ßt=‹s=P=õKÏõ±ë’ÏäþAÄ¿^¿ÃÇkê{ ž’xHÄïÓ?=»ÿéûúz§zß’žø%áߤßFþæe½káËL¾g‰'7òÙ±^о‡ž/|ì~3?IüU›ÝÞ”üÎ/ñQAïêkƒOäûÿ _¯­‡­·NóÏýMg¿ŽÀ»rÿìzÔÒoÍ×Ï£Ÿ?v½í!ô»&>N9ü÷'ß%žçò÷J=±Ÿçò~弞øx|úï•|ÈÄ»©~1ì!÷‡tþÓæßù5ð¢^€øìy^¹}Þú6‰§¼Ÿ§ð}Ñ~P~‡ô–|?Þâ]Ðoûƒ–~ ŸÇ ÏÿÜŸî¯ì~¬Àÿ(øœÚ«蛓?Iõ Ð/0ü/òg Ÿïçñ~á§L|òÇ ï—ß'ýIî'7ó³å¼zÖç±ÞH/ ý_]ï/¨.xš];Þ+ïßô©ç|ø÷‰Ï@ù(ÆÛõ~Ô+ÏgŸ™?)ï3ñµ8ÿ!ü+àÇ 'Õãs¯­ |uÔã&}~ÆÇ÷z?Ћ7þ†>­g®OõñÙýVHÿ”êkÒÞÈxþ•x”¼ö—&ýÈ6{ öÞçwö!þö{£þÔ¯ôÛŠ†Í§Ž'õOÍz-þÙ/³à3ßß§ùc½<çOíõ\úÑÈÿS¼s_o¾ß—òǤ×D|mè¿Gþoì‡ÄÛt¼v¾ ëÒ~ÌxŽðªà+^à#Å¿òçñüñ‹®ðНËóìýKùðGQ¿ˆûsQ¾vöóú3ä#ý·¹Kÿ—µÿ|þËú~äþ÷ýÕÞŸ—zãÀ7r¼7>âûô-ñùAûc”|Åóé:æ“Þ‡òËÔ_&ã!ÏÏF}¾üÿm¿fæën|ŒõIvOÀïêsô÷8¿îþ½ò¿¨ó»¿žãIzã‰'ùý\oèýûÿÚ¿»Ÿé£Ÿ¿èoM>åkr¿8ßÒ×ÿUþÅõZ®×cŽÿäè©8ú±ßsþ”ë<ö{š¯f}Ÿ©§öéò¼þç÷Í~y>}ÚkÌo?KõK—ý•ÉüÁý¨ß£þÍ‘¿"½A¨ÇFþ)ÔßÄþ£úºôçý~^ï=û‰P|‹ë)Çï>þ^àþðgJþÍã›™O(ùG Ü|ýïϹñ î7>ù ¡ïöoÆw1©w´ëyMøh™?ç+l<úó`ý÷#Úõü¬G:õôõv<@üG>ÀK‹¿9ù+Ä7C|‹â‹ô'÷óåúr<@Ï î/=ùñ%¿KõN¡çðèÿïþY_¤ãMý­ôÛ¦?z¢ñ|—ü¬‡…úš¯Q¾Ççñlù~úÛ»ßÇWþôïkõÄŸç¿Äãû<%=ðܾ>?Ö|!:×—Ÿ'óó¨gÎûï~WTo@|H®§¤ó÷±ëŸv~î|ép?0çÏ÷ ¼óS%}Šì—åç³Û?}~Àƒ1Aõ¡„gB}%ùÃå¼›øOü?÷‡xìþ›Lõ\O~UŸWò#:žyþïø™ø¨_F~Têm~éñ¤ÿëïxÀ£×j/©ÿ åÓ~:FŸõ(}ÿoÿ-û÷É5Öƒ³} Yöó¥þ]ø‡¥þÕóAë|ý’zY:_ÿè|A¾šò¥qž‘¾Jò#§ûôÂ~]âáøòÎ?å|;uÕoãSîè|ïÿèùÉ­oGõc”ÿ…üå㉎|^êÇ@ýë½ÞôK|áùÞGî—ö2ôV'Þâëñ–ÿLýˆGz,T_O|Eî߬çSÖSéxƒ?öˆôµYnû>ŸP}Ð?@ç³ÄëùП%=êÎõ®º_éÿ3þÜøëQ‡)ûø‹¤'ZðDÇ«½?±ó ݾ:¾ëþâÞ]ô æxR¾”ô]s¿úý<¾ßümæ[n¾ §—õ”TïwÀ_Ü|Aâó’þBá7L<â=ìçÉýEö÷¡_ú¤ßCø$õ»‚ø°éÛ|N¼7ö/ÕGR?˜¯o>Ÿ¯ÃºÔ³.þ¾>/éç‚?‡|Õ¬' >Óâ—4~¿Œû;„Ç:?ƒðò?3ŸºùXÔÿ-ñ–©^úêóR¿l拞lóEú™2_Å¿$}Éù9â—?ÂúÐw÷+ü¾ÏŸÿ©Ôkûzzüÿ—=Æþ‰/{<«óM|Ïôÿwÿ+ª_‚óñYªwÍøD×oé(Ïz]e½>ëÿI¯%žï²åûˆ¿SìÇîwrP¿ñŒïc½*ÔO”üØÌ×`|VêMìs_ïÞÏgãÝÀFûFë‰ëi·^ÏÔ òËa?ˆ¿âø%ÕWߌû]½ï×ìgáÊ5Õ’>:é‘]ÖGÒùƒù*êŸÅñ¹ÿþcÿÿ¾nx"Õór=š~Îú}º?߯óø¦Ä·#ûvÉ,ýý÷/ñ£øcÓž–óOŸ·ôï>Žçvÿ9à¿ûõI ïÂzä´7WþoÄÏ”o†þÍõDŽêz |\æC¼Þr×ãÿ5Ï?¯‡ÛùmÆ7½^…ôòw¿Dâ3“>é«ß<öè‘Åx€¾$å}ÝzýÝνîúm ß·ŒŸüòÓv¿tÂØ>züªóýfŠ?¸õ©¾Ç×ð|‡?þ%çh¯ò<ÚÏù`Ä¿o×êÿå~Ô_ ò…1~¤¿‘ç“ë=ûzòñ™ë9ö÷wÛoy>x~Æõp||5ßÃý•üÿ·¿zÍ%¹ûaôk›ñ,é°>á3ÿ]ò¡[ïêÓˆOrÏßü ÈçþPÁ+w—[½)àŸ…?šñ²ó%œ_µíù?f®GêÏæŸçzÞ|ï¢O´ð©àc§~‹êi‘RôcçóP–Âoû<_Ô? õI¡¾¦àþ¾Ž9~>ñò¿c½qýÇ{Ôè›ù“~ý}Æöx¦?0ýìoúä?{5û?Ò~E¾ñ!Ò_˜õៀ¾õÛ ¼¾äÓ!_¼ó»Ô¿ò{TŸPæËñïŒÿõû¤—ù· ^ß—Ö{Öø|:ßzîwìw’ûÃóiúûÜ_LŸ‡ø›¾þŠ~®?¯]S¿£—øuëwA¿&âÅùëש߳ñ—¢‡óè÷ýzï¨_/ç·æ‡ýù¨Ÿ4ÔG•ùÙý2žÛïþÄ^½í÷¥ÞHñÿf<ë?ýßÏ:_lçÿ‡ý#ü‘õ/žÏ÷§óŠò;…áó9ñË‚gRüáñ¿¾/ð#ÊùCönêùÓyŽüZòG ?µúô‚/Ë|·~kò|ÔúÛPÿMÖ÷šõ5ÄŸ;Г×ñÈùÝz`ÔO€õ'wüËø¶ÎWÖÇ?þýõ9Ö{ÞõvÅÜõÌïŸñ$úç9ÿÛž”zŇ*ö@íà__Æk”O,þmð5–¿ZüK׫ý·b$>Gü¨©wXðF™OÔ«Éõ'ëñ®¬¯ÓçgýSý=èwx@ÙÿòùAýÀä0~·Ç‹ê9¹p'å“J>oâkdo¨ßà[È_ƒóñ‚ËüõÃûxMüž_Óú=hÊw6=S/À›©¾ âYÀcK¾gê‰ã~Í÷sÿc÷? ¾>Ål/|¼©Ÿ¡Î/Õ+¼v½¦û3ˆ‡Ãyú”ÿM¼næo#>¡ø4ŸÇã‘Ðöñ}Öç„·Aÿ·Ø|>ëó’þtêýžß'}CÒka|Õõt®úŸû±ûÑPÿ-Òc!}è/_ü3ùÿâº=üµì}äI¿˜ü}êGLúÖԯ꧂¿ñ§Ú+ÊO\êûa|Qø< Çþê|¾øùµýCðÿJ|¿ûS=“e¨_<õ$ü÷@_h÷ÿ‚z ªßE>Cúê°¿õ!2¾Éÿ˜øC9?(Ÿý©äûé_ùÿïþ•¤íñ¶¯gêÿAñë m{ õ‡-¿åŸ¯ûôŠ|áô—¡?{9Ÿézò5(~ ôa|±{á Lüú•ú–iß ßMÞÿº‚û;{ëÜÈ7¹å“?ãxèo“>Sù·Oó¼+ëÃõ*6ÞøwÁ&ÿ«ø¯;_õ‚xðyÊo°^§û¿Û¼×3ÙõŤWFõ€Çàzxíiâ:¾Äÿ‚þ Xß@z/,ç»æ§I¾ðåÁþ’~4ñаñ{ìÿ§~nñ_v¾ˆÖ+ù—¤÷Uì›|ŸøiRuÐç;¨GŸ|Œ†Ï­x8Öé«å|ïz/Ò%üêïÒߟú„ú5Žg8¿Åýù«üs‰7þIz@Ì?»ãz~€ø¯ wþ7õ%}UÖßÞüGÆ3¨ŸÖ^¥ÿ»Í§~ŸçÃûmèû’^àña¯ŸØõÒ¤/Ëü¬/r½;_¯!Ÿžõd¾"Pøvv}×_ø†±¾!Þ+ù¤é?ÅóR¾†ûgMÿ¢ä#wýKîÂë<~˜ýQ¨bÃCåþÌÇÝú–ÌÇ!ÿ`ã \¯ªñ%ñcÉŸÈóRý}ª_‡þ¥aßéü }?Ÿ€_Ðò‰ö¾wùÊâoùy/÷g{àýAf¾ ðxòç(>¢þmÅÞ8¼ž7Î_Žw}=Îú*Ò÷iñ²å“·ÿFütÀïËü9DŸùùdw~6÷ÃÖ³¾RÌô³ü†ôÆ ßt«w[ñNàÛù<2^%ß+×È7¦|3ôã*þâsÉ÷v~¬¾ë±^õSÃx<í¥Û+Ýoùýh(?çݽܮϢzò'IŸƒúU’^ é—Z¾;ö/Øà?Á~'¼>⣴oS_¶àzÞ°¾ûä›"7í¯ë·ì~³ù{^/÷¬ß¼ô²¾˜êM±>Œê‘€¿Òô%íý¦ÿ\ø(ïç}ýñ.õwOfÆ{%Þ¤~ÙÏ¥ó‘ãñ­/KüdªG&}¥Ò¯Óæ7ô€Í~O>aÁ¿õþôýœïÍ€z¹úüíý xHðKüÚ²_¶¾X±Ï.zÊò>Tß úÚq?¨÷=ˆßö|æú$½í‰w‡ÿ õ>åy¼>ÖñAŸ¿‰çè%Qÿ«íO‘~é5pþsë±>ÖÂsP_úÙ–xúÊ?(ù¨‰÷>ÍÎÑzËýðÃì‡Û£]Nõ¢—|•r¾Êýâ|å~_›•ëðöÙŸõfI?.óñ„_}ôç™x]ñö~¡~tíû‰ù~~¸ÞçŽÇ¸^HÇ‹ð4®ß!ÿ"òï§~y>ßÅ/_zþÈã×Ùÿ¯œÇ3?ˆñ0ëUÌü~ãsLÿâ ÄS9w¥ß¿Oû‹úr½É3?§øêaØ¿Þ|èœÇ¿¦=Åü.Õ/rýÝî'žù„÷ýZ¿ÌŒçô÷K¿6ߟ>Þt>èï%^¢ëø£Ä<oç»o>&à5åþ>Ž7éøpý¡ómöùDöÅ×/õ»(xüßr=ýá°¤ÿ~ëñóúûM¾X9¿f}ÆK‰ÿyñ¶>Ï“¢¿aüÉ™ÏjxÁçù¤õ烟/%dãçñé3Îü#âQÌÇv|Uæ'ö¬¿ƒúo¿¢ï!ã“þ᯹/õ9ÃÌz}™ÂÊ÷çùTøßSèŸû/>Õ/ãûQ>†êÓ_Òñ!ýÊÿùø8_šò{¥ÿ¼}Nõ×3þŠõ |Ÿ‚7ÊxÓyˆõ‰ wÝô% þöù ÿŠò˺>)˜ö@í)ëéíó€ñ‚]/|È‚'>vÿçóýZ¼bë×ÏéBþ é¿ð_§~Å'QÏ\ôÜf¾†ñú­Fzz°óû¥ßɃZ¬™_ƒüñóÃÿ¸Ô»,þÅk›E|(ò¨Ÿ@Ú'Ÿ¢'oëÏù8ÛŸâþ»wý¬@Ïû?ò·xB¬Zï —Mù¡=Ìçóÿ—ùðÏ)_§ö˜ìQÁW/±ç™z:áßQ?ŠÌoï~W4~_‘ÃÖÓñù%= ÐÓ*øÎå»SlòÐß"½èïØ|êïA¢G8ñ:Êw–øÕ¯}m½ ÂsÒ>Fü x³î'âÛR?/ªõñºìG„ü;àWÿDïïý€‰?ùPy¿X/Ì/Ûù òG³~Àñ’©gö€ú3’ÞjÚ¿‰ïäOt=_ê P¾óéPŽz†tÞS}/óô÷IˆÎCâóP}6õ»ôkâ;Q½/÷CŠü¬Ùûݯò#å<×ýçù9ª¯=$̯A½oÉwD¼)ÏúmÄ—Æ~½ÄÏwûêëô4 ^åz?Îg ]OÁß÷çþR~^ìþ!¤‡|Sì×CúÀÐß§àµ[žûg»¿µë9Aÿ»œ×Á4|'ú¡Y¾kòmš~¯Åó:Þþ}⯀õí¬7ä|8ʯŸœúeþÔñÕÍ¿‚þ=Ô?°¬×'3ÿD?/úÁ+^ =×ì߸ù¤‡Cýb)Iz™„WQþ§ôg³Ï'þÝüÇ™ï¥z³/õc‘oæïñê³eýÛÄKú ûüÝö3õüÃ|~¬·K=y}?â/1¿c×ÇŸ)ù6áïÙóÝé7æú™ë9ì;è÷£> Õ/–zÚ•O¢üã¿pò—ü‰Àëm~w¿«ü¾Ž?åiÿåyDù_›_EõŒ—ý«‹?/¿ö€ôuŠ>û|_à#ÔïÓzÚøŒŸg´~I‚ö+Û¯Ï{6ñö²Þw=/õW†zŸ¢Ÿø¬=Oàe€çÉÿ“ë…ÖOá_Î÷c~­>/á·ü#Ò+§ßK½Eª÷Ûù~î?ãxÑÆóн7ûHýë·5é5¹¿Mz]TïMõ9¤?Èú{û| ½cÒ_=äâí~ÀàÿÞêoÄzu{@þ?õãó}âèo•çÁ_:?Iï˜ù×û¼ ú6ÒÓI$ÎCŸÝ/—ðÈW>ØÕyÏãöŽð%è§Vòã»=ñ _Š|Uîÿç­§¹¾Ÿt|˜úsP~ºà>[ûié|•õ¶øX]øuŸð™X€'"^Ìzx3>£þOB¿fô_r¿~Ø|l¾áŸÐõp¯Ðù½­_e=zÇW&Ÿ9žòÍM/cŽå?b="÷O7¾Êýe7߀ú?7ÔS|:úWê´ÇqþR}2õŸ†ó°ðÙ¦žyØËKýJÊ·c¾*ùÄòþ±ÿ(}‰´ú/ÈoÍøûf<©óÍõ[߃ÎOÊøyJú¸¼Ÿv¿uÐÇó…ì-ä¯Â?áþ€zžp=˜^'ž¤úq€|cëQ°~ºóöx²×ÆÏ žf¿öÌìGäóe| üd­çÈ7%aÛGZÀ— ü/ñª­×Dú…„W0Ÿoöcüú»„½=«X|yÒ›¤z¦ìçµí_Æ×[‰ê—ïûÛx¾ËýCÅs/óÅø~‰ÿo}ÒË>ÿDׯïoÒ?~‡ai?²þÌÄ/Šýžüª÷Žñ‡þq>õTÁ¿-õµÎÿÑñ)ùi{ÿé?…?GñGæo4J|±´gjJýÞ|¾ôwóñ÷ý ó‡ú£¹e¾Þgÿ?óÅe¾3ž<9ø9ù¾ýÿö‡ Ÿ'ý»ÌŸl|Žù­sÿ”õªúèiOÜÞm<þ€?4×Ç­¿xnÙ¯Wûõ—@=ΊߨèÏûªÏöû•¤¿®ãÃø)ñ_oõl?ßïKõ¤¤Âç©>/ðsZ¾yø3‰7^-ß'ý¼¢odö%ÆÛñ¹é Bü@ú_Èg$½ÄœÅã‰o—øê¬‹ûS½©Ÿ€üÐÇ:Ÿ(ßþç‹6>Mñ½ÛcÐc¡ýþ¬û~>Q@úþe¾†ô›½\ù¹8/¨^#ñ‚G®©ž“ú·åúWƒôÌ©¿HÆ¿¡GiëaêÁ—õCù!:ÿ§¾2ò_H_…ûyN½•|_ç‡ÇËõßÿßô¯¨Þæ ÍßW¾Oõ¡¬çìù gË|Ïû“~\â?›ùÍoÈø[»¿WÁç-^û˜ö úm”óe÷ã.õô¾¿?—ëÁPýRø[\æù;ú½™¿+ëÓû_éýÀŸˆñàõ½ç/ùXÿ {Èûq׿Cýâi¬—âó;õkOêƒçü²þðîOÆùêÇî?Ÿ§ðÙ1>}ö÷÷ü‘ø[nß’O:ñÚbϧÞM±W|äç09ê#lü÷þçú`§æùSÖׯç/û)b¼Gý ßSøU´^|ýzÿ ½ùƒÌ_üªW;Ð{÷øbÏ'ë“þÝô7K¾ÅŸGý]Ò—¡ç£xù¶_WòÛäÿ‹žÈU¾ã¯>ôâ|mó1é}€|èËþîÏÖxߟ?ó§_ÒøÍø›ðäï…þ³<¿¯¯b!¿õ¯+ž-ñËä•x`ÖF| z¼å}6^œþÔ~®· üÐÆ[óIÏé5Õ—Ÿ¨é÷<ëûýîíÚÏÓ?6žüÕC?UÒ?%½³ýçSéyGz¬ä¸?MõÕ—ç9ÅýH6~Ï|þ]ïøÈÞ¼ù8‰ÿîýýÒçx>¿çç}<üýg|_òÄ/Ùñ!é Áþ#<¯äÇ"?/óIç9ð© ôk™öë—H ØsˆÇ¦~H‰Ÿ}½ìz¦2?ö<»^1ë—&œú³5~û£÷Û|<è?Kýdßa[ýÒ›#>:õgåþKž/ßxEúÿ/lýÚ<~¾ùü ŸÃη@üVðBâïùû{|¶û¥‚^~äc‰¿Nö•ûsh=ã׺¨Ì¥^é­ÞOÁ#ß×í¼}ùƒz™ÿ‰çõñÎó|òqèùÚym÷÷|¶Îož—š¯"~^êß;ßgóÀŸÿ™ô­ß"þÔžƒþä÷c>Ó>_vò5.û³ûªç?ñ#¨cÚßÎÏ$üf볓þHÆs>_[oð’âïêû&iÏä?ÛyiÏçø„ó+ù>ùG·üRÒ'OüZÇò±øüÀ>ðO<߸ówÉOwýoö©ÉÄÓQ)õâ<±ñØõZ…ßèùû¾Ç/»_Ïmÿ„ËþÅÞo=@È?{è÷ŸñÖAÿÏ­w“øÃæËÝê±xÊP¾‹êϯ¢~‘?Åø~ø4Õç0|ãïPŸ‹õaù¾Ž§ºýÓó4Ï[ßÿ[ÿ•øô/.ù}×óÓ÷åþs»^Øãiªï¦z–¬—ôçßñù—Œy>e× S¼z'|>yŸÔwÜö ü+ÄcAŸñ®?ÙýŠÒ_ÑýçzdÜo”øIŽß¸½Ùzüy>S¼AýùÜ_ üxú¿T¿Vøõr ùÇ6ö¼»ŸŸç:¤åýøìr úö%Þp¼ÜÏçÇ®w<zrˆ'‚>Q‰ßµ>òM€'Òyñ'ÔK“¿M|ÝOè‚ùQ®‡Þ|•|Ýß´?(Þ#ýÀ#‹¿"óý‡Aÿ'üêGOx?ÕWøy’ïñ6œ?Á°õ?ãR_:õ±?é ³^Ôî—@úè;Þƒñpî¿?ó¼M{öÃÎÓèO*¿GñE‰/åù‹¬½ïŸeïÈþ”ó誟éÇ—ù¸Â/Po—ð¨ÿEý^âW¦½Ðç¡ú*¿?àÕÔŠô‹ÿ7û¯cüJøGúžöõìþôcŸžªóóýyÐË/ï§¿çãGø"Õ³”ø`ñ•Êxî~ÈÔ¯—úQŸ'ûúxÉ|R¼VüCÇ7¨¿¸¯§™Ÿ‹ñ¦ú„¢Ÿf×ß#|•òÕ¤_LùÞä?îz\Òkþp‰OÕ_¥úEÀgHÏ”ò“¤·ZøeóõïÉóhò“ÿ=”™¿,þ²>?å¹Ïý9Og}vY[ßô1b¾‹½œ| ÂÒÞªzo…ŸAó»û§º= }‡©¾/õÀTÿ†ñ#Ï_m|—õ(ß0õùê 7?œðhâ]òYËy5Ï×·Û|⳺}ãüÜæ{q¿6úÿ÷ïu{;ã]ìw›¿÷ÛÖû®¿¾\?È?"ÿø$aß!ÞŠç%}OªŸç~ÇÓ–õ=Ï×П þ±ù<ïÏì[Oªxì~j!ÿGxu±‡‘¯”õIxàׄ·Å~€þcåyÉ?žù¯‚'S¿¿ÖõžÏ¯ö•ø›„PÿÖü¾÷+ÒzÏôÿ¶Ãk׃–~Wrÿ˜êFûÁ×7÷Cš|«‚—Ì~™”߉÷‡~Å?ÕùÎùºÒ-þ òëe¼¹?ðÖ_áz0_<Ùçè]_/æúÝÔ縰ñLªÿ x0ý5÷wôyHß›ù ¾>‰_²ón?©ÞÁ×ðåËù?××àkùe=nûÇúÁX±ð(ä¯@ÿ*ì7êãCóÉý]œ¦ßç|í®¯½åbÿwÿ)ŠÿHO êk ž¹íGÖ'ÍëØßTÀõz ü¶¸ñW}p<£ïÃ|²9þáÅú 3.ñÌž?êç›zMò¾%>ÑúLæ·í~a‰êüÐ5å©>‘ô(¸>’ðýÝOôvè|/ã;ù¨Åߟü׈ïJ}™ù7Äo˜ýìJü¡ÏùØüï}ÝüIÒS&ûžøÊĨ'ì]â^¿¼ígú{TïûWÆògT/ ñâI>Þ¯—‡ü â7äøý²ý½ù«ž%¾)û/~^SþMÇ—ò3%ž–ý ýŒQߌêùK½Ïï[ðs÷ÿfÿÑÿXŸÇñBÒ;cüiçó}§½Dü­Ä3ŽoÈó]âÑaïoòõ®ó‘ã½û÷rÿ»Í =êFüAÒïññaýmÏ'ßëô»½~äÿ¡e9?aýiêïíz‚þ¼S/*Æ ô<è¼Âó›ô“ïxËU¿"Ò Aü’ô1ˆHõ >¾Ô:×ÿ\¯¤u`¿'¢äCHzçgnû¥ÒùÏõyÄwÛùùbÿäûć.x»ÍïÖW >2Ç7Ä¿ñû¹ËÌwðÇ&¾ÿ†ý>Ðç~ÆïÅz#ü1íŶ? ë•ù©OB=]<¿û?oozs¾¨¿ ð1¿ÀýºÜžº?½ó'%¾žùKêßLú|?Ê'o<¶èÛµ× ¼?/ëùÔ¯ô¬’ïù¬ÿ/ÏëöUïÏñ·Ú'âp?Æ­·y ‡þ/ñQ÷yçûëRìZ¯êõ¯óM ¿t€/S=¥®Ò«zº‚'¹½Ö÷ãy _Üü½…Ç#^Eù¿´?dov= àÕ¥¾ró)HŸ„ê¯\(õXv`æì|Õc2ßoïGî‡âùï+¼¥Ä[Û_¥þU—ýÁnó§XËöÁïOçû~èχë‡ôqAÿ½ô\ù~Ò‡hó xÛžOÐŸÃø¦Œ¿?½û ë÷È>7ûgçÅäC£¾Iú7³\¬îo§ã“ù·®Ç¯ëâ8É_õó‹ÎCÖKØùvæ»9Ÿwë‡S}Õ—fÿ]™/´Ï%¿?ó/ÜÿÜŸwÖ7à3»~Ëù´¤ÿ ù¦Æï™óO|7ËW`>ôC Ÿ,öaû£„¯e¾AŸ×ǧÔCÚól¼ðÊ’/ÞýÊØ¿Pü ød˜ŸÊóÃù³^ƒêcü(> ~%õ“H>®¯ÏÝßžð'ÖËŽü!ø÷;ÿäõ錄|§ƒózûó”ï÷ùƒ|5åg/ŒõHùT‡IêéùÓÞx½àcϯûúE¥8ýõ_þdã/ßoù¡y¾$ÞK÷»ógIïòåå<÷óvúïߟûCù0‹õI| X_±þ`¾Ÿ+zÚ‹Xø=~þP=ñ'žOñEÜü5¬oÉúù>ñ Hï5Æ›õå÷Š¿1ûCâùKýìþ"ñ"}Šm?|=øy@ø:ã!ú9éûùú\1þÔߥä{×ó—|´Ú‡Ä?Ÿç/öŸäxoëG“^éý’¾0àcˆGr~l÷³wûÅõ#»ÿ2å' ï‹úUSþõ´aýüS÷3ñIÿ”ë;7ÞDÏGúXÔ¯¸èSx|#ïúKÿæÿ—ü¨|?Çk÷ƒg>ÅäㇿCú™¹?\OJÇâI<ßîÏCòge~Bï”ó;w|UŸÒÿ~(á=­¿©=ÿÖ‡‡z×XÐ Ⳍ¿ÛþžñöGòýÌý}6þÏzŠ·ù\¯÷ÐõGù*Ò÷¸|ÿ°çpžÆýóó½ÃþMP?yÐM¿ŸöŽøÎÏÜõ…%ãö¡ä3&¾ïC|WÒCáþÓ”ðñÔÿ§üøÏ¡ÇCýÇÜ~P½2ñq‹¾êº&=Äøÿ´ÇšÏ£~?\´õƒˆŸ ýšÿý¬û±ÿ½ñbÐÛÇ~QàŸ_¨Ø«?víã¯ö—ð·Ìç)¾–|Ü8OdüY¿nÚò}Òwžý0ÿœñÚûºõË:è)×`ï Ÿ`æ Š=˜ñ3ö¸Ì–óö.ŸJø?œ/%Þ"½âëLü¼øWºž¨¿yêçEý¡\CþñVª÷.ù[Ãÿßó×õì\_UÇ›ôå(ŸñÚüಾðþÔÎýïg]Çþ&> é7±„¼?Æ‹TÇüà©gEýM(ÿ^ü3oÂ?9¿5ǫŷîø‘êånõv©~þ _aöÅçßíÛä»Þúïe}Íz“Vn×þ¼zžz9?m<¨ŸöÌ'–õìõý:_®‡Çýst|‰¿AùSÒ#"=_ò¨ŸD~¾í×Cãñ鿝žÅ; x2ðw‘ïý$uüþÏ¢e©Rwave/data/C4.txt.gz0000644000176200001440000000540312377701075013710 0ustar liggesusers‹UY[’9 ûÏ]’âK¢tÿ‹- 'ÙŸqyÜÖƒ@þmVUÿúmêÜüeÌr½·aë¼W۵߫ßï5—y,=ð­ì¨÷ºãàñÈx¼_»>ŸÏ&wŸO¯á¿f¾Þ^~{5¶ŽÆ¶úr«ý¶Šv~iÙ[Êf+¾=x*vÅü»üÎß½›ÛŸ÷Îx&‹Ã+ÄûºŸæf޶ Ú8aöâ5ƒ×ß~p¿Ìû>^vñ¶ÿ±Þ1áxgX‰ûä ¼.3ž¦ O[¾ ú;Ï=ß‘OáM2`{;V üwvE˜í£Ë¾T®°LîWÅýb_{ÛÅì`†ò"Bµ°ÂZ¼§%®]–o»³¹Ý~íÆ9ƒ«ÞÓ8|ñR+°Ërc$6ƒ»Öy úr¼Ü|ßulíIÌXö>‰ßÈkEh¾^>|;¿I ä[ 6‘Çα’Bv{Þè®Å bµÅÿF3Ÿù2Õ\âò‡ñ[íÈHD«°ë B]y§9N'RvIk,0€ b)·å|ê Œ…|¢“wdiÞóØä×²à™Œ™(g´Ï^Ä29²ºÞ9r]^Ï’»M‹a§[Èm#†µÀo’ìà"voí€Äy8榢œ¾7¥!_j¨$âe¨ó4¥`'²DrûZLd`¥¢œtœ¸g„ºùØXÂÃ)I¢Sô{¶ÛüJ2Ÿ,ÔKø +9`Í´TÙÅÌIæ‰gç’¸-7âtðK-2.ü݈¾§ rw; –ï˸œu?-B(Wà;~pÊ×r°p¦Ô· ÓÇ”äs4Tü±&rx #æ›r¼6D"2[ât …yà#§Þ]r]l‘%Q°Vܸ\ŠTAEÞæºØ´-ßÛ}-A1œ=6žÉ,½Aè 5a¶J|*ߥ—›ÚâNŠçdˆ§bè.D«’rRoMâV¸J S“9ÄŸ]Á%½ð¥ç’’^¦OgRlIA‰…§!H¹YŽ;Í!7R&•Âù­ù2ŸNdjñŠ®ØåWX’Üò§$HäW»B*AL6½»JvÖy¡®„/ÈæÌ>ÁÿM¶°òN4°|/”¤©O¡CQdXÓ×\œKA冕ˆÕ¥ngßöÄùEa³¦7Ê…uÁa{ÁñÇìwÔX¢aÿܾõ¥ñ]W8ÌÙ—+1Ùk© ”/©ãa);†@ó‘S±RŒAT.ùÁRfoÉ©¦Rq/EumLJ„3£¨J苨?þà°»l” ´uUÈþ9ŒÝS92\³€ ån.w‰ã‘DеJwÙj‹5Îr5ZÑš á’þ$­àt5à`S¦ñ'¯Ø‡_‰Ð­t X‚jJ$ûêËAà‚ ,~4[å8jI‹¬6ÇH2vBÓæ0€Ó…IõŠK§C8Ug^TÁIM§Jó AíÚK$оžs‡ûµkÅÄ$Ý_!V)cu7¢|Ør$5·u³fÉqÂ4a8—z©bíõRÉø*Š ÂRÃ\<Í”?µ(*OWönt™¼†\¡FVÙ¸ûã)/ªfPØâ F‹ Ü–kþ+c«1{¹Õ9¦§f)r¦¡n¦¡cßÌñœ2÷ùVKLbãçWºƒú\Éó½ø\ÆéæúfñÌûæ¬á¬PM>̵ ,¥É#«uÖ$Äâ´d`÷…ó™®BŠÅÄmâ;“°¡iz¿æïÆÙàTJM5¿zÈÁåf‡›õjma Ä7?×è¾pHäªn´›vL á—µú|…IÞ¶³ƒí”K‹®Qö3Ô¹?NZøý2ÀF~/ ^~­¶^"ËE àˆÅ6ë-ND/unâMãªÆ±L¹köŠPç#z¦ÉuÓÀhD§æsð¦«]AT&ã1%_ƒ$b³6Û í.d*P#¶"‹î<ÌJV­Ø?¡’La=T ±, —¯æÈë›Åq†ÙNû†¶xsÞÒF8‡Ëjÿ¿óë€ ,íµû+I Ó×Z#Â, Ÿ–s<œÞ7‹Î'A/F4>ƒ8­°?ô®û²‡§®L£E˜CSK#ýæ{íä´˜œ-í_jk.eoc=TáÍnë‡ ­f½oùâ”ñûÆÉ¼Mq›úÉÆ8Qóc1DK’ѾFyüÅOü´*ß|Hø¦/¶òíØÕƒ˜ÑœC!uŽ"†µ~ ›~è ¤K4qD‚ÙNh¤vÚr©nj0pó+Å,â>~‹q (kMp@®ùúùF/´0œÐö÷ûÆfuhý­Ÿu6]4Èñ~’®µõ³Œ_õ6N37KÝkÖ¢8Í ÿÄÛÅ­‹Rwave/data/signal_W_tilda.2.rda0000644000176200001440000000223312377701075016030 0ustar liggesusers‹íoH]eÇ^euîF2¬mš¥åU6C ã<W\éÆÔµ5eÃuMƒt˜­å VB :×{á–µ{s”,qìü®Œ²ûâ¶©Ù‹5ÙDÖÝÍr¹?ý»ìþ~:ãp'cóOßÏ ?ï¹ÏyžçÜ?à›Oåš«ÜÝš¦%k®äØOWì×”Ø/Z’–¢=³§±¾n[íÖš7j¶×o}«6Uìoi±?kê‹3Ãý=é$î.+˜ê¯è¤®Ñ=¡>jÛ™sÜí¥½¾ÃUÍMûiGëÁÈÃC¡“%ëÚ³©¶!ê¾\TNÕ-§T8LþᇊWÉ»‹|»O·©¬Ìß×rýI[*Ë ôɳuKüÊË/ŒNv¸¨xäö€ôÒ#_iFnw•|½ø…qZ¹ùõ›*ÇiŶþ¿6ÇÝ÷ÁÍgލ'R³“¯~?¨2õSvöS•½´ôý§‡B*kÍGo¶^ «ŒøõÕ’[>wuhXûnº³7ò¥~yy"}3=^òC]`õQÊX;p¾Pû™–¯¦‹†¾‚–Yß½½¹‡–õå=ÿãµe”ÑvîDïh¥?åšNý¸‰‹¯ƒ¶dz+()¾ó×øø£G6­¬Òk¾Õo]¸’QêU|žJ¹ÞûÉÅw&Õ"^Ç¢ÏC/þ3²Ä:æù)W ­âLõ1¥ÅÇÕo•V¾ýì‘Tý÷_^Iu§ëWøø§çßõ\z]®kò±ì“ÌËäç™×ãë0y^&kþ߇;,Ëù7xüi*¾k|¾¯fô=Ïk러7yžÖ|.œÙ:¦Ìsñý1‡øùƒ<®aÛÇ ¯Ÿ×Ã|ÌÏ“õë<žÜg¯ãèKüüDçÉxb¹ŽX®/ó‡móËzŒÿÚº|l9h³ì“˜¯cYöÓny]Ì–æådûºœlß'öÓÉÆÌ¬Ý#ö×ÃBµö€˜éý»gç¹ïö}4×\ ÷c¡Ú€axÁŸs0ŒïW†axNXÀ¼ãÿÒ«€a†ïÒA†gÍø‚a|¿Â³c{ïs¾߃sªg) WqŸþ?u¿ÞçÒNd{?8‘¥;<[vš—}]‰>WfÚAvê;õŽ¥3-掳eéQ;™;Ñ Ï“ñä:öî±½W´u® Û~É~JgZzÔÜѶúßÜÙ–žºÕç.·În»ÝÒ#·zâÜù¾Ãò¸œÏÝpk|îŠ[óqêKÿ[úà<.qל¸snuÙ¹ƒNÜE·Ž¹›nõÖ¥GÎuky^Vo;튻íŠ;îŠ;ïŠ;ðŠ»ðŠ;ñÒe—ûLÜ•'îÌwç‰;ôÄ]zâN½ì“⎽⮽âνâî½*i=Ù`¨¼üÂèd‡Kzê”ëOÚRY^@Y¼ï.òí>ݦüܹ¯n95 ÂaUÛu_.*W¡“%ëÚ³ÕŽÛÃyÔ^ßáªæ¦ýª}lgÎq·Wuè™õ©î²‚©þŠÎØÖýý/öÕì~?€Rwave/data/W_tilda.2.txt.gz0000644000176200001440000000133312377701075015163 0ustar liggesusers‹íÝKnã0 €á}ï’H=}ÿ‹M[‹t©nÒfOúï>È”EQ´dãð'ÄV%¿œÂ¹JÍß•‚É’DVI,Ë»BΡKk«]Ã*)ÚZ3©æ—wH*K\¤ZP_4„Xû!ió±bqÅâ$Æ®×üúíZ²•´£ˆÔ =Ø.½N³%15“øUÑ䪮-ÎÒ‹šª§˜]1yÚŰ”¤ç¬doÑ=5‹I>’‡ÛQ¬µÚZ²ì ÂY'ÚJ»e{ò[t©ïJ³Ëã¼Js•É\¯z ½£ÎÖõ¶ Þ6oûrÞÎ$øŒà3‚ÏryÁ ¼LVå‡ÂÕ­“|áOáxMðvç6,Z‡|ò€4l';•á¬@£t¢8Qš(ïª\ûÙïkV}Íjº¯ÙÉ\«ÙI¦Ë‡ç›ñâ^żß9ý¥ïtñÿ¨ÛŸógÑãkŽ Ç¿sBè¾zü›!ô¬zü!„B«:~ö\ðuäK…À½ €_ƒƒ¼vO†ƒ¼âÀŸ©ósüÐ?èoºÇ‚îèºsÉò÷ᦧ9Ý‚ü%”ƒa'ÕqË×¼ÿfõ^wmŸGŽ%Wž¨¸êDm¢å:I¸uÆÙu’_žì(žÕàÃG$ÇR_|힬‹‹‹‹«-¡¶¨ÚñªÍRë­£ ³âåZR.3Üú.ŒE/ˆxYÕ¯Fo”èNÞFÉËšòdÌW‹>¦'é²üžx´KÙ6W K¯ŸØ9ˆŠ¡’Å´>«Y%¶Ô·Î)6&Þ’l³²]M^Š–.*,±ç§¥ŸK¬}3I›ôŒU¶ø2KôeúDµ#nm-”ÞE*±£¶uÏ9¯å‰eÅ’ÖÜR¨k[–š_[å/¯ŽwEâ’Rwave/data/purwave.rda0000644000176200001440000014021212377701075014441 0ustar liggesusers‹<]u@TkóFEÅ;0±P±[t @ÄnA±PP1°õª¨ Ø‰¨€ ¡tÃÐݰ° ['6°À@ƒßyÏÙïwÿøîõSÖݳï;óÌÌó<³Ú|ã¤öÛëééµÔkÕ’ûßVÜêsÿ¡×BO_¯÷ï¶ÎÇŸØ~|÷ŸõôëAEÑ»áF}gCñ=¯3½îA†¤ê„uü ˆØ°mæð„ÓèqíE‹»þÓ1~ä‹üı˜3b}±Ôf÷ª¡]±LÍN™vÇê7ãvtïw å.ŵ18•¢CL,Ž"ÝÉ݇¦ Ms}Ù®™%~ýô6["cýðŽÿæR¤åz¥1½m6QËáGQYX¿¬fÝ”;]žÖ«ï¶­P>ºŒ•Æ?Î-Kú…¥³–¬Û­‚ÙÊÌ€žv[1îæûÚÏéxe·™É馥ÙÚÈûpãÈœ2âäÌ P\‡óŒV¤AÅŸÈ/l¤5H®ß¬ë<d7¾1I·å±YsSÆO*Û/´¹ë' £+æ´zx˜9W‹¬O/fcñÌ›ÚcÐvª‹cg —~¶Mì<¨1wS¶_:еg¬Õß 5¯âÊó3nAÕúÝiÛgêA™››Õ–9>÷R7ãÉj@è¢\T^/{é}³hã…ÁáM÷Þ-Ä´SS/~|‡…¶)ðãvO,/œYÝk»Š]δ¡žÜAékùŸÿf^Deoéz‹–#u!¨4ðâ ¤¯ª6wÉ_Ìh‡šª1ùÈl ¼vÑo;2£Î¯Êmô•>‹vôFêô~>õSQÙE´Â×¥÷Rfg”™¢Øñö$Ã|},¿qe—r<4‰×Ó&Wf¹;ƒ®Ç*¯$5À«U/Zgì¨Z¼Â%ò™Ò‚®¡,bT´ø@*T]ˆ^ÞÚòÔøwä3§¥õÎ jΆSöMÞ<ð”cÞ{`º7}yé 0Û¤qoªm€™ßå~Ω @GÁ™Owv•ròa÷r#Pîî:hâ÷ƒ sì—ºÔ¡=H66{x¹T$ž;ñng(^ÿ>gÛú‹qɯgÑó-~6pEÞ‚wxGóì¶7&¬žT–`¼sò¼Òw™ÿÃÒP/ÇßÚc¥gxmALÖ´hŽ<ï‚òòè|‰[*ÿŒ}i éñ}®(.†#ý›ÿÈØ}7;»…;¯k¦dVï5Gº¦¬©Ó‰X¤šv]_R>•2Ãä»P>0%ÊqÝX=v1wâf¡èµË¥½vû°äu^«ŒPo̺{á„=ŒÑ¡ V_Ó¬€USôß[_ï 13ûŽ˜aY¢·Fr»>P’½"jñ/+e^\:5 ª/dšò™³"'|J¼yµ Ðú³†Øÿ­š9s¦e(w>·uw輚{®+§¯øéôレ‰eУëÆ~”ßwÌéÐÔäºçWM0Z8Ö*…Z^²*†Ò Å'OƼ‚œ-c¥-Lƒø--ß?ìà k:~Z¾ô>F<3K´úÒ3ûŸ’´ûò‹¿/júļÆö ý¼¸¡—'Ô4džÛßÿ UïÞÏùQsÊ$lÇK‡S!â÷eÒ³fò#Y xujC«¯å9TT+sÉÅ´- 'f~›…;Ú\^7·ËO¤{~¦¡øYöðt¹¥%Þ™,«Bå„ÁOü¤žZX\:p i_þ#³p3uÑá2GµGsšã™aœ³yXÒ7w<^½ä/wï·O)š£Fek.Š݃ÒÝÓ“» Bñ° }ÿqo±|ã¬5±l,̾{ÖÂ年åe‘ƒ¯wôwiŸþ¯¬îg,J‡Ô­Ý= ÿý‚#‹ZÐʘ6´.iñÜ}KmŽªAz~¤øú€PPvíõ8p;P—Èñ^ôC«yÔ!o`æöZék·˜“žcû„cþ_ïïÝ®ýJößã¦n@=Zý茻”#3ƒõ·iìÛ‰UÝ^‚Øåà!ÆÊc‹1km'(lóP6"R¿{¦‡fØÀ›oZ/÷`}ÏÅç/¸Ú S^´ûaÜvæ§jžyëåÆ}&ý ¾‰U?]'ÿ¹RŒR‹Àqfkö£âkû#V/‘:ºéëÁ™H_ß–ÿ5|2³ªªÒòz"sºÒïÞ+%2˘ؗOŸ!ÞÊèý×ÕHù¸Ù çâè¼_-ÆÚ¢ôKqÂý‡ÃQœtàÚÏ^#±ü÷Ÿ]ó NaáV9ôæ ˜vÁ,诽<Ы!~Œ^íùï“TS)CO–L-‚üåßm$·GCY}{<þªª ržtf½A:äëã.‚„áÁÍ@9uzÐýg Ðn»âü™̬nQ*ëÿk÷<׿^®?¸èĉŠãFI@ÅúmZ` Ê\xd=Z;_\ÜÄtÏÉû?<„ ÝëÊìæäÄ:A÷égú܆ÙKÆ¿™Õˆ/·Ÿ_æ9sbÑ‚Þe—ža~ÿmožWbYµÛ‹Ã¥ï°*!ß(w§=J{ÞSý>ôE_ç5=íŽÔžåÌ]ªi·W¡¯¸|dÖy†¿†{®/ÄŸKŒÃŒ…sö!ú´÷ÐMÇJ¾|¼@ÕˆÊuô5ßÉ«P6肟[§×(þxæÁ™ G¬}½Îq,¾Ïçù1­Âýb½2C¬Þ$þ]ò^îI›}ju L¯ñxÆEÈ^à|å4”Ñr·vG@U&]˜bXÒÁTc•Ù]PT3êŒÌG@œïTÓo?Ð7f¾ÖlfÞ‡OM ÿseiTÂŒ•ÀlÊ9a tÚrÇ–@%™?¾¡¿ ”«Ïïý¾÷%÷<'ß ZØÄR·µßNl†Š^£ÙÐ>Û¡0VºN¯ãHóz|DòÑ‚-Zî¾Ýq5¾rýþñõ-¦ÌÔ7½>ÚónH ›ê‰åí¦NÒDH°êÃ(±Ã–V(]Ø4º¼v*š|ïÛ¯AêŒÆ2ÿ!÷¼<‰~=EÆÊóGë ÙÈ\[ÿ¤·Ud6IÌ×üA:yØ¿¤vR‘x«Ðñ/*-L½’w;ŸÉߟ6Dquów¨Ë™ºQóß`á¢ÎáÖ{Ý0mÀÃÚ„z)޳£6¿Îß0Ç'íR²êæÌ0 Zl[½rÜG(_vK”ª+ˆÇ\?–0¤.~?—†le¯Ÿ{Û]íÔÝ^™:`X‡“­³Z|Îýøf`nÚN­<ý ëïõb  #+_ngò}pLt”ãª\ß¾€4æ©ñòx;ý<þ<­Êï]ÜV÷w·8Ô× R7ÇÜþ½Ëü[úXÔ‚þßBèáM˜êi+šÜ Šâוf`ù»ˆ˜Õ†(¾uÇ’MåâçÉÕߣrVÿ¾Ûšz!õöD‡’Þ5H'ÒϧLæðÒÂlѧ¶ÈÜÑn-±žÀåùÀiÞÅs‘öÓ\ŽŠi‹Ôõ‹6Ô7?Tv*.Øt#¥;‹oÚ?Åíþ]q5Û†åÃ,'ìúeƒùÞù[îKÔ &á翌ÅWÜmþ~}/¹=ĺÜÒBLó{쪅šÃÎks¡bü¼­N/v€øOßÔÃÃc@6#QÁATP:¬X[Z»¨R÷ïãµÃ>¿Ìþ9—Ÿ^¿Ìý­\fûÄå§æí¿}ûºãŒo\|x×ÕØ>é™I»i¡æ§Í‚;Ç  êÚŸEì“ÁPöÀúÜùnJÈs¬:÷vZ;HîÍ,¹¿¦xe4~œºH‰¡ÒÿRg{cFë³GvÇâQ^„%cEþóbûó-Qrpht”E;ŽoQ‡J¯_js®p8è•ÝS~ÿ:®_¦ ‡—Nÿs”r™ûŸgŽØÈ݇e³¿6 }”ÇHÍ·?ñüYT¬õÿÙÂô/Ö8æ[1+?¡Ç“ÀžXª"/œ‹9Zõ‰›²ã¿5ŒOÛ儯ëÒUÏ€ÈA]ÎÝ®†Lïs×úÞ‚SO<×D®¯ŽŽ¾Õ¾¸mª¹•ñåy–óAY%äizMÇfsçѰ³ÅœÁ߀¹æa ¸˜»wçnº¼ƒËïu'¾žS½R/wÍ“«@u ^²¬õ>\Xvø”T<ãS&†Ê šæ³ÖBin­[ø@öÈÀÝߣC̼ó¿nùœÀu<¼°Æ˜XÕ_7fŸ>Ú÷,KÍœsÆ8bå†qù»cuÝ—­&²(ÿhÙYܾRýœV†~=ƒô¦y¦½âÎ#3qyšþ×·È<ŠådÓ™ë}]Ö/š‚Lçè3£z =tëëI¨ä¢ÝbîuLVP+»auû–±ó‡Ý@Ñêº;FßÖcÉ ËUæ å˜iÔµ*Ùs†ÿv¹ÝühÜM ëRÅn„Äùò:¹H¢·‚2³ùèô¡PµðU/9@MºÁ¿àïAñ"~Ð’4Pöݾ[¯çÎÝ1Ó7WN³êIE›3_y5ÐÇfê`Î:ÖuÙ: ?n¹ä´ Pï'ÿw¾ø9(yØ9 d»«l>»+@2’\äÖP±zö´iß¡¨“C}1µÒ²®ÝÛ·±‚-£ŸEo)@ŸÉü?˜rËÛ¼ÂÂó¿öŸõ¹v‡[dÿ…\žàŠ©Qí)”¾é»ÇîN0*'ºmwëÔ»z÷{1b¤³ÛŸ¿~Ñg§éWÎu@&`RweÙßýþÄÿ N!×°R¯õBMFõFå°]~Ç-ߢ”K⻣xÈÕ$WW'™öû0§Ôó…û†)Ã/}ÏRWãË=ÝV¦ÆÁÛ!G3 ›ò }ÞU»GÊ È}OÖþé³¡âæ·e{{ Éö3ý«Wõ™÷ýËv¯Ž€Òsôã Éjvê7zYЗ·;¹< ?C‡}úLÀèõ=ÜóÀ!½@_ÕË"{ÔÚqëÎ*+AqäBUÍww¨¹2ÙcQ6@eãÞñVi(¥ªOw˜ÙrtÏ1ž‡O'árhBCç)Ç1ª»¶ÇÊ:fMô¸gùx–èðŒHÊ<±p2Çꛤ°ø‡rŸãwMïßDª¥ûmÊ<¤W„õ™½mw.×u|Yô™Wk uœŠŒo1£/Í0¸ÜióýãmõQùM¿•NA¹.ToI¯ŽJÊÕEǾaˆ%Šºã™Á¢èó¶¦ñSÀ…7ŒMÇ„O…oRh„Ü­ «þ³ì e¦6¢-NYPÅUñ©ŠÉP“'Ä?EØÔGw.<ê€fîî~O~Þvy@5W5qˆÛ˜°yÝ?Zvæ†ÿ·bçž@ÿøY?ß²?Põ~uµÝ@yþm×ÅÆÛ@Æ—%– éòlLê•P1–”(ôÕÛ9Òt÷äM¾e|ñÑEøºýà‡Ï`ê†B˃+ûaAö×ë†ý±<+µŸ¡ñ\G?÷i° ʺ¥ýgd?*wìÈ÷Ÿ¤@ªºÆÕªÁ é÷ýVvÚr™«•!C‘‰Þ¦0<™¯gïöàòS¤õ ƒVúHyÜêQc³?n`Ò¾KIFƪ‡}ô%®÷Q×_À¼^ xا5&¼ÚUßðïË¢VoÎáq‡üÈ+„̳H… %ÃVK«ÑÑRû)ªgn^0xšÈí²>tåÇÔ¼YK¸û»ðßæ;¥Ë¿LÌ›eUÆŽ,0ïzлù„ÃK|¼z[ïG³ô€êÖL:: ç|TûßÛ°mæÕ=X6ç7”D½õéÕo dq—nùÏë©ù|gAD+t?S»5ðš+Æ7ä}­úµ s>Lÿ³0Ëzë^¶9„U\•gòÅ k²7[»†•¢‚ s‘:Ö'´äWçø_ûÆîæp¦“Çžuã¸üèV3fÊvd8°hc™Ž ÷fgT¶GªQõ>H8*/Åw¾4rʶò%mb‡‹ÅXÑ7ižc±îUzÿOƒ©ßN߀>æ`Ñ}¼[ˆø‹Šçí©â_£Aáš‘Ÿ¬¡¢Ky¸Wÿ n& ÙžÖ§ÓPºŠN<œy¨Ÿ'c^¦ÙÓ’~ÀpIÎPÁÅÉ”ÃKŽÿ¨æ`91@LQ{ ¨SãÇ8D÷ERëwûöDCM~Û’·’gP59o¢Fòʺ¹¥é¥ÔCn§ŒE7¶MŸE pY±k]æ¸#ÈëSbÖ¡ëçôÀ’êéu¶W`eï$ÉA¬.ë2æã'Ê?µ$&¤FŽyyà?¤¼\úq¾Œ«Ïüþoëî9ÚĶœµ™°2%£¿™I=ÿ¤º Dš\§ÎbTR»Ú[T F¹Ù¦jÜ%¬n‘ñgÀ· (;¡]D[,¸swgÌXòÑñiöR ­)ÊYqë<ëY?vÙ.ÐÌ4$vÊ-È7+ì¢ Z åF™“|qõ¤ÉÁ]ÝÞ¬)¹Õ÷Ai¦«g2®É?D,šÑëñ3ê*0·•C{Œàðz^XÁÝï…Ö-‚Ê€®)xçüäèÿ×óÊqmUþ·F€ÔuÙˆ&(±ÞÜ÷ƒ½¡ìSÉê{ÖùWqpãÙƒ ÙfßEeß0x¼r2¹)Võ1áܳƒ˜AÞÞ ?,é;úÈ¡®,ŠœÊ¢¿<žŠÕs#7(>¢üègÜUÃáí¦ÀÔvÖc‘^wì¬íópd$8þý‚{ŽÚ5³»rõyêÀÔˆÁȬ˜íì÷x¤÷0¹»ïs縗cÔ—ä”Çí¸žÔÍ‚‹¿=[ôÕDQzÑà«ÌB,9aº¥­ÑZ̼•ø²õs?ŒØz°lÐWÜ[·Èv¢o2$~úÑmÞÑÇ¡†sÚÏPæsxÛÁàmP•ò}Õñ6 ]¹ÇW±¨ ”|Ú\THMÝU+ +ýƒ/”røÜ/jB‘˜R—"ã`ž=›²±pÐ}öÖ%¹|è«4Pêλ´Ò¶‡Õõí ¶9Õ§oÙL(·>aô¨ËÈ¿5mWšrhºÍ¿Ÿð<{áà®óR0ôÞ`ÉýMû0cVìŽð3ˆÅáŸþK´@Ñ4’ˆC±šÀ!+Dùú}ß 1Eå—¾‹Š_íEzÕzïÅmZ!³0ðTBH*2i¶Ÿí]C&o¯›Ýúo\ÝóÂoă‡HŸ¼•; 6 5âŠFmšòêòA…Ã(¬~gûl¯EBŸ KîuPÊË®bfr^еÍjŒ¨\v®sÜåªÔ<¯tH,¿^}àX3ä©jøû”‘êdR2Tåýž}lHn¹s¹ˆú”Æe¤°*fíhcü´rùÀCúÜù{gk20|9ÖŸMËkÆ;ÝhÖqP‡ÏÅÚ- úpõx¿¾WâÒAšÕsèëo žwãfî¦f(UÒ’žtògtÏ‹ ¨§?1Ik OfÒ§d³C1ìú7ÏZçØa›6Ì Â’†œüqE:|Y½áØÄó­(¿/ê¢Fªã/®”FzwNH:™uÏÖ©w SX³nxw¿‹¿m™Ø™ ¿÷xZwFzß=ÃUÛ‘2ü5"û½å/ž¦÷ÍôÅê«â&L¯DAS‹[bÉèðM]þaFe{û «Z`Xhs×1ËÁ«2ÍÊv¦ü=$Ña™w¯­¾´÷‚rÓs:<Ø b.émð6i©Øƒæ \¿m‹j·PÜ¥>óÐÍÚZŸLªÂQ~:ÿò4—·Ÿåo¸ÍåmÒNKÑÛfßèü+ \ÜGÏ? ¤+¾OéËèAU8µÇ¬U"”]±rý»r(ä– õgÂÏ]Ü'σ]Ãþ}0m‘ùgçû³¶tXnX“%E.ú‡•¤ØýlŠ5mL:s¡ãÂ2&åmDjÙ¼asB‘öÚ3½ôß.dŽkMûqÿ–¹äÇüªB&?¾[”j42󛎯Yxé…çÝW>iBeå¢)‡µìÖÝwOPò†$æXzÔÿPî!,:z™©ÓŠÛÎ ö¥c:¿t=¯GYKk7Ì©¾;düÈzbkß%–·åí¦NÑ[¾aÕwE¶³ f\Ô{ ItP¦ñË,’íÎ¥á“\<äaó1îù¹“0r¾@fËFõã@ïÞ»Ô÷û| Zök,o_rG3ºÍN¨6Ì*¥ 2@d´Í½²<Š—“L éÞvÿbÅÆò¾àn½ýÐgÛâFC1•´¯OÿšÃþ>y…å‚oîfêPbøæØ»wWPvãÉ–17PÉu–#=êHâí¹þÈLwl×´6™Õ¶ùW§#óe–(™©äêÅǪ>ß>!5$Fì‚Ô°¢‚K®v£J°Æ•þV= +¹ ±!v9–:L1±êúƒ©ksáôƒW÷¡l³leÀ-î¾=¾äñaH—ö²i+éÊ‘Ã&Nu*sí$·Ù¹Î~w5SÝ L„bô³g€ù¹ºñ»g0i[i Lw«ðÁ§Œ€ª›i°Õšûy»1ÆŸ@Z¸aÚ¢ø@ê—t ”ýå?üþÝTÆ’¸¤¶fã~¸wÄ$}‘¶#jfÿÞXº³:uïô+)KÊJŒ:¾n•3ô×,©:ˆ5Zpgö bIù“õ³‘Ú¾ÒðöóeÂ9dn5’ &2 )ÇÏNQ £¬{|þàýì·Ñ¹é¥ ìWÉë¹ûÜ5¤ÐÔeõo×ìjA£älûOóë°B7 à ZŽÂTmó¤ÿ^ßÂ×|»×›¢æììü Ò~·ã.à(ÒÕÓšÇß]Í é¾ìÙòU¸'iÊ>ŠýqóvJJ6ëºdz\…<˜ûÖ&~¦áhãP*˜Kü€h¯¤~C¸ü2÷UÙ?˜òúóÌÚ~†jß?¾£?õß>8%°õζ.S #ïêŸý¾V6æ¶ÿÅÛ{ð9ù±©/0eäü{Ú½Ãî.n4?øä1ŠEóW‡ú£lçmŸ•eçQémSÐT÷éá@-AÆì¾óÎï‘‘ÞŠ=¸(Ù¿8d³™ µÏô€NHK·?°\–†”§ýŒÈ3Ü9,v KiÑkÞ¸t³®+Åd ‹¥ÿ9Ujß]Àìm£¸J1£íÞ^k2 \ÛÍϲo;$˜°"qçÅë—šepc?”]‡¹­œ‹ ªÜø{¤Wê¿y4”0³4\ Í<14q¿u¥0¹\ùÒ¬Á¦>k¯=åpcùŽÚV;é&ÄŠÍ6ixZÊEßÏØ8 ¤×yàUb2 ƒ²Ûο?<çþþÀÈ£]ô„„Ѷ–ÏŽ,„‹á3}8h†Ñ7†$vÛë€Ù‡å ?=ðÂR·%Ë·ßÀJíɦ¤J¬Il-ÛK .ê{ȳ⪡±'‘Vÿšl7ì92Qqƒœå·m¿t`¢ëdè'N£¿X ^‹ÓRøç-Ä_¥×èeaö (#c¾]bGw_ÊÈ·cùÅ#{ÝÆü !lÛF ¸ vWLŸôÂÏØfŠ< ™&ô²šGA‰÷õ!TY¨ì}|®uò^¨i³É¾œ­…®ÏK‘t·“Ë|[®0/÷Z™fl»Õ·úvê Ì÷èAô€GÀp‡{Uä? I¶ÏOP’òIýd?&Ùû¥„¼­[7¡bÕ!îÂsRH l¾ý»þu±8!dš´±ÓË»Oÿ0JŒÅ!_?~m³E;Z®y´>«wm6¸:ådœúü1RÓFo9¹iÒO'í ‘¤!ssÛù#Ô馃 'Ù–{>XNEæ‚ÃÓO&"}EÔfÃ$®Þ铚±ñÊùkÒ«»zVœHø…|¹k†Eeƽ:‹iêßKÍúDa _ö쇀ã·²¥!m¯Ë¯š¡¥Pdw&\Ò:*rc-Ö/q 3nÆwgA¾iECÈ# :èms: ´KOó) wϦÿ7'"ØVY¹g¯¶c¥YlïÉÀxrelzÐCüûFÊ€²üvàgëm çà Tß’û®4ѵv-åzePÜTöø£2„>¼Õ½OÛÁ²¬¾k1Õê¯wùA,\QY¥½š†+³wÚ@ÉÉu[r:¢¼eã‹Q£P© Ùíz¢ÒÆÖnÌ-dø6â$îþ’vç`d{P>ß"˜É!Ò|¤3¯¸ð©½1·PÓQA`Jx Vëæ_"5ïÏ3À’‘µfü‡™-Wìò¤:a˜å–«Cׂ÷½æáª}UrPÓ'`ÿa(úóPÞp{Ö1Ë Œ÷“<YÚE2ye±lèe‡6@¯°;ën#“Zœ}¬ÐíoádÞ?˜ØU.ŒZò4YÛ6¨K÷—Wþ …k¯\)5Óø¸4¼Êyƒ/œËÞ%|™? 2_ß»²2Â]Çi¸¿o2z_îôÅÖºS gÜ,Hý3ë¡+›8M^›Š’­µG}æuDÙ¿j‡n®·QYW1ƒ+¥úxÈ\Jiß#²} zÌ¥BÖt…M+ÿµÜùK¸>) iq˜ÌnN.R'ê[ç}Q^¼©Ç~Sh6C¡³¦±H×å/&kn‚$cíFKí7º×‘ zz\<÷ò%Ðw÷¹¼Ý”Ìãé¹û5¶™úgö `M7}ž³UL4O$: ’µ!Ùs½ÏiÿffnÚ ÕÙ%îmѶÚåÌ]Š÷ÏÞ—äyÒy7eIQâû0`bÈ©Õ!˜Fnáº{XTzfËñÏPÔO¨Ûª-Ò7¾ËpAy®è¥›¯R檎["z Žç…LØÉgýcÈŽ»=m¡ûGd¹ä»ºo2¯ƒI'i¿–Ÿ³s¹zp,9–mP~}@hñ;PBÐÔb ¬ÈмTµ7‹úl$3L¥#<ß±}…ç oçÞ¨¶Š^ &µmü8%CÞO½·•«r æ¢úA53iâQ(Vǵ?iÒ¨³ƒÔ+Ö–Ž/L× Õû `gžŽ™àºØá†O•Ǹ¸x«ŠÝتè³\5+å÷ªÒ­­@ÖLˆ*¬m|ÓwϨ0X¯~øê÷aÝËRFt nx²aÉÌÝUžfÕùúµ$ÌüN c)–üýK×-ÇÊûïVtº´ kHÕ~*¾ "ß(RI‡éºÛó`ágdj]4Þ„ìÕy'Gdû]Üaqð82‡ΜÉåß%6^¯Ûõ@eh¿Sÿr½Q¶æ‰»ÛPo_ËL…’,¶ÕV²w/摲ãO=&N´™»5f0^n#ÛSÞòÄ´Øy©sï~cptAöï(ý=ÙÐoáW¨"é¸DÒ}ýôoêsyc_ ­ob»Ïn00䯟Ðl¯eßÏ=vñ2ùäpL‰½í‚}À,>çÇ…* ;M‹Ìþ¶”›{Ü\{sxÒs*w„¡êɧ õ;* ŒoKCŽù ÷ºÅCÌáCÓ|õþà¾1H×yÂSÌÛyNj31Ëû¨.ŸDñå¡ï»”GpŸ×çc˯M¨ Ï™›s7ˆ‹{ë3 "L‘9Ù!p£i2²C_os Ù%3:FgsçîˮºŽL¯Å%7JõX9:QñíÄ&Âa̓ ío½$¬úX¢ÚI˜9˜ù¶°íåñç0¼“qÅ—-gá9½pýCÕ5HygVØ¥ ÛÌmûÊ# *Ö]1_ »Aâû}Þ;£8¯­t±=T¿üC#~ÑÇwvd`Bº’ŠØÙÝn?sXÂ;L1?(º*²ÿoE; ^ÌíÀ¢ýüWÛqTëø¢EÑ'~„ù@qç)ÇMV·ƒ´ôgÌ.‚?|‡œ…A!}ʶÈZcz ´ZÒ¹?¿' ¾ç(z{–t±º&ê™tà)TlrÞ3Ðß)wó6)^!ýå„¿Þ5®Îà‚å¶è&d—¯–ç _ƒ¬À§CæEóZƒ¥H_-;3sÚET6=íVÿì:ÊšªÿÎ˜Ž’¹3ßÍÄr™ÀïËÿÜìÿab«çõ_šãƒQ£æLýp"ïí.úq²Ü*?¥:ÜR5Äš 1l}£(gÙ¶ºp?¨ŸçZÎ}þ˜ãؾ}ƒ¹|ÑÆt^à`mòháÀ¾k‰-&q¸9Ó°W@Ðc¬x:è (O_ªyzdHuó“ªÒ„ŽòA™%›¢Ø˜ 9×6Fü0›1EÂç<ÿôÜ_ÍŽ˜ ýìäÚZ‚y—~þôMýˆåSx~нOÛ¾Ÿˆ²óë~GõöEeþ‚«†×û"½ÇÜqÆ®î}“:¾ÙiuäO k[ô¹‹Y$2M«ƒÍuF¦wíÉã—!g1Á#® *мÆ:ÜÞˆ5›ŽÊ/†•|»· –ðc.'ÌHúžÕ¿ß~žòg{ð5mýÕÝj¤’—YÚEkrƒBîAa±¶(„jË]²p8WÅl€²cŽ]NîÏ'Ñ›ƒSÕ~޳O°kÿ~‹¶xìòÃkª“îÎUÂ뀎I¾-‡³'2þÕ¾ANÆË3+¹<”ºëöÙ;P±ç~Ÿ•åPØ­ÛªÙ›!å®zÈÄ€:x6³kZ&]„áqìÝÄñÙ˜5Ì1yݬL,5Õ:?š_Š•’ËŠ€ÃXS¢ eú=TŽºH ¤êÖsð*dæ÷þi¾XŠlÏǦuj‰ì®ß‡~g*xïGÚž§Èœšz¼ÕÝÍHÏî«RÇû”~6uϬúõ'4eD–í®ñ>Ô s’­ü<`'Æòc˜‰pN×KøqàJÖF€<ïA=<眂rë7‡Î~yâìØÛ"¿8½*"ÌPÊ ˆ»¯gVZõªoËÕiÏ£gv$÷tOë³½]up¦SG‹9Ü\ÝïžÉ`úL·÷øC Âyb#(ÂxžÔŸD?§G¾šüJ&­Œ6ó dè·-8Û? ‚]ø ‡þE„˜tÓ”KXý!X,ÌïQtÚ)̤åF¬Ná Ö¨ mœ7QHÝúux‘ÅLdZ üé w®^¶Ø§áâaã.Ÿ,ܸóK|áH?ÛÐüdý$¤ÚzšRæŒòVtÇâ¯ýQ2yöÃw­nbyb¹íe·û˜Uÿ‡"³“2³ŽyÅà7¹w/¿ Ѻ¹fŽŸ–õÑŸŒòªkn€H“¾ Ê%¡%=k³Ñä0§r4­äòÂÌ6–N7{d ¼ `GùøF³.>¼OÏ@·^7÷GT(çšu]u¥¤ºçYÙ”¥¿éÝ(pdéxãá$·¹†ÏÉX'"S¸êï›g-î˜pçéµã!¼ø¨å¯¸eG 7Pºµi¶—’ËäÓ7n¢AºàhŸÊÛO@¹Ž\ ÐøÁ"0ûIÊÅ73»Ú”¡^Àêxì¬ù­®ožælB¯TfÐSÿ²ZW Ê#ñ'¶†éÕís&ÆECÕþ9Ÿ¿$@i”ðûÙò»N‘Ò ¨k<>&ÇX¾5ëæ!,Ô›vÅ7oVZ¥CJêÙêv“P.ðl‘²mW0ñ©-Ò¬YÊo¿qÏ'À gøsdOZ~\ÁÕc'®úÚtƒÌç={G¨!­ÜïÂ*_îœ>šØîÆ"”®ù£÷°%rfEV×/Xák» 2ö¬üsS:$ 9|ØÐÂÛÌ9"Ó½ÿn«]ÙvçÙ‡Ÿ>C©ðsPõèßMuìFT¼]ð¼=(Ý QvÐV]ýö„qyáÆïJ¿{>À ;{uæN¿§mêFdª¦Œ«‰zŽtd^ÇQc"Õ³­ýËÛ(o}58ñz'”ôýâ¬Áò KŸa^IÅãÅÚ ˜@Ðß’<šµíU‹E£ Î":ýx‡û(¢Ëõÿ ¬>:ZY6Ä„6.™go2ˆe-_XýàÅé©£/“)ð؃´úýes`ïð„2`ME4í¯fæºFW›D rö}Hð³EŠa¹c¿T¨!2%¢¤s«ê¢ePüì¥C¯¨åöÁyDË\x­^såV©¾=ó%}„­327?lÕq–6Õñ¹X)ÔÃXSž}·tÔTŽçQHXòn‹ŒÀGDÖ\3|Žÿhd{³ÓŽÉ‘úÈø> \¦Ä!½}RÔ–/ÿPùªíŒ¸–(Õñ«Èñ:T‰e¤<ÛPˆÙB¿ #ìT7w†Ã#¢F9¾RÈxí° ZµJq¡ â¶š»ð ¡º»CçUe›@®Öñ.^ëÉ=B`ô;œÞjl‡/~y&—€½Í¶€½6µÓ¨6ï€ùå˜÷þ¨ WŸªJÏßÊ:~Ʊ»k@®ëóItßCEë}+=&C~err¯•¾DhDç^ÃÕ¶««=÷b c?hÆáu°ÌüÁU(¶kÕu]ìc”LÝø{¡•2Ùh-U‰ôÿxª9ܵ\õÙS«Ë¦|ðBÖ;ùxNäLdg sfiÚÊÛ’Î=f‚ •c¼1ÖªºµŠÈc7(Å┥¹…s1­i|kƒÏøº`+ºÎo?nj{ãîoÈh8|¥õn()ÂAe¨Œj¨¿l D$r(˜»_„†ô Ïá%¯Ì¹¸•4þEÕi`‰ìgìu`ý7>ÿ{å °¤‹1”»¿¾÷r¼çù½1ºKÿá?@y{s«i=@únðûMk:AÕ9fùì…Ò×|C²¢þ­·Î"ÚŽª5]ç‹Âu€©‹ç%„}]E¦ÉçÆNh¢¡Tð°ZàסÂÑotö Rdô‡ÐùëéìôÓáÊ4yõGëy±8ÅÀ%æ¯PT×?Ø´¾kv,+ûòæ*;ÖÝ ÖCªéù˜â;>ÈìxU¬íÀ Íð¹È’ö[n,²7}ž®ªNFFÒÿæ/w©íÔ&BìòGùEÏ‚óLPòµèmÓXž®÷dÂá[˜¯_@„™˜pûýóœq=/Ë ñ4ßP„d;78,n?•{N‚n“ÍâzÈêô´Ì|Lª¿ÝˆT/(AÅšÌS_§ìÂjǾC¯zbEú“|ŸC°p DQåXźñî²vÏ;ÙÑ¥”Aú7%äs(#4Ö} ?=áå´2 dùA;ŸÍðJб]ì’¾Ö¥-°m–yu6¬~N»ËÀFœyüö.° ‘±˜õ<á(Ýœ_Ah“´P4+¨ðdˆ:T,ö,±„žh)|{a2<Ì94àÔ ŒÊØ5hîÕ7˜³zºþ©—±ìzèÙöŸ¼P|peßoÙPÆÓ|Íj×»2Úö ÒÙ÷ß·užŽl«Þ§7!Ah4Üó#ãýÏÈî˜à2ã2;ˆLȑ˗<a9;ÝA„Õ…MyÓúz¢ˆ¿Úa!Qm¸‚))w¿(·FÏGö[Žš<‡¨möu:¸røvýP(;;Ë<î ô"\½.èè(ƒ3¯#Ä;–´‡Þÿ6æz®¿ËV`Å&×SÍ[ëØÕüËKO®¾Z³­d˜3P ùO«Ó^ àáÞ ¨.æS ÒõY ?HZÜiuûƒ™×âÆbÅÂ/Ùûda¾Ô7lX‰&Š?>Àz <Œëz¶¶N‡xÎ;Þ€¼ô¥DH åi÷n¨eõÎ\ïó_úÇÅ¿\5P¨ ‡·aìâßc´>*7J¢j7BšoË “Æ }Cde£þdƒ¸oˆEFÃÓ‘¾<—\TT>êX©«kˆw{#¬ü·âÏ£X"êöÑ©è2f8Úí׋Ä@kžG !Y³èµnA¦Ð7R³f± j 4Ö)ß6ì ÊôŸ†ßÚíãÈöÐÔqxÆÀæ~ýû—U‹—ëV$…ë³çÏ7ik`½!ГcVš€ròÕqZk1Ôœ›°=ûÉTuþ€P,ÄHåÐÜÍ‹áYFÝè9#‰|Õâætï6æôÛB,»'{ôcŒйd²bèY”ÕIŸ.{Ãá®ýw*×îAúïl“—qM\ýã=:¼CV³)cÉ÷|dÿ¹wÏ‘@4…Ãg•Ï&Œì‚T©¾hUåuTìàâ}/¬^±ôÀþ'*¬8™³;îo ”z¾Å$ý õvKñ Ê6™A/'ÞùBŸ*:=&9H¾,‹zpÒî*¸J:ÛÖ^G"M=Þëð¤¥>m>´3Ûä°_¹_9¬vyHÇ9ÇÓ×鸳·P›:àJfÈçu‰wb®hú¾+”}î~àP¡äd]_ï~¢þ0=;½‹ž¹ÇLNäÜÄT®˜š\´‹›y—Šüå:7Æs8uлœPTòí½#HOæ UÈĶåVdC|fKòhTuÙ[Õù ‡#$ÉK«sç¬s7í¬®D÷,ðþ•ź9LA©&ûê¥Vm³ˆo˜üK'˜;í©qÀLƒóâ‘S1x»xÇX‹–¬ËK*Ï•7DCémb¯§Ã ÊîǺͫ5 Õ¼ßz)OÊfÑŽC€ŽŒê~؇« ¹ê¾wŽä“G<ûuT=Lwvàð}ø(©gÿÀÄKê_&z*/8娮÷_ÅU@Íæ }>\] "ŸEÿÝØYUÿ RH÷»\Ϧ†|Æh€¹|9{ËG¼M9¼äJÆÖÿ*Ãu(?{gøúÒçHêpÉóüd¦n+3çòaó¬C•þ†³6ôDUû•+ÿsââÖÉ¡ ãY¥šuAÚ)oÉÄ(—z\ Ûz%¥$Rb9O§˜„y#¿N˜Ìå¾-5nÓß4  „Bß§cûwý ¢97õ ìÏ@M³Õ±Y ìL ˆ ‡˜»guD`Bù5‡³ø¹5¨Œ¸Û0÷=°ŸûÆu~£v” Ã¥‹›\¢Ñ”u<>ÙÈ“=:•ÿƒª§GÙÞ¥cÞ¶Šx™;œÆ·š!‡›K¥Um0ˆÐM²ž`FíîÎmÖèa)©6ÚôÀ*îÛÞõ1¥ÿx"3*}© ‘æÇ¸»‘5¶çB<²Ÿ“–þ5¡jHÓ½ÿ¸:ÈK™z|2Éÿ5ré‰i}?ØßAå`¡ÿQ3eétuc?mŸ@&[XHÆ3Y0…¨Â†á-ÁïbI8A y 8—A¹Iœ}A¨o­Ýä òïýêÞÒJ˜#à;.®sOmÌ0Pñr[kPuý½Ëáú`¬]tî 0Óm¦<Ôvw^FÈÉ)Þ}Äÿ2÷on 2ž~xr.ܾ¹Ñè'D‘[{&Ÿ÷ÌÛ÷Âl ¦ÖÇkŸÇ;añÓ/£²‹°rÂlj½†^Àš/ZµAÛ©¨<Â72‘>Þuäg@æKù§Õ.«9\U¿~nÉT™¾+íîê„,Ò|q "Ûòë/7øÍÕáêØ vQyÏÈ¿ò Ô¬‡«yº VòiÉKt:Ä4ݽ' eô|#ˆ m#ñ3Èþ`í°Îû ”ùĽíØ{ˆs}–¾Hs9oûp(Ò=ÌDA÷Íòr˜Ý ê-èAUÃòÖãò¡'ÜQ[rÏéè !¦'&¥{}E¿&Éã_P®ãÏä™_oÌó·Øû ߊ·mÞ‡LY=bÎ…½ÅX$ðP$èp±†— ¯G%‡®/ÿ,çò±8ŠLuÕ*N]8¶ïŽªisæ.¯çâÓïçmº°Ü¹Q4•+‘N’… ~.E%±%Øq¥q~OaU»@Ÿ>eXÚ!_=@Óu|?ßB/ÙíÌU·BÙ‚õ‰~Óí@|j&AB û­XÔªíý}òŽqxiæ±}÷üÝ7:ÿ²o=wïRõÔï A5Q2æœÒØÀâŠãq²•¥Ô(i‡Çw¦ —löŒ?Õú—_$¯jå< oäñô’™·dïögoòЃ¸QtTa ß>\€…M“§ïüÒEçÛŸ±Í8Œ5;·)xUƒJ -iÓž"Cä܉ÈÊc,ÎtàžÓ¼îysÏrñêÀ-“ îù×eZ¤S¯N_’€Ê¼š¬åˆRR±ÆÊ†¿‹’kŽ`É’ Fcº¹83Ñ×¾ iü@x´Óöï ûÚ£ç½*¥Pve:Q¨8Ùîù¼._‘©ÃG œù¹0óÎd—&,ö‚ä{ù™î á[5¨fÌvÃ¥%°þšYÓ6GClrœ>•áÛnë°5 èÜþRò¼ áÇ‚½¡üúÆÝÇ)ä |9ì²U ¦.ê»â1„Ð+{XÚ©á:ÖԹǸ|•góeq—ú#}•ï[ Û!•8F ûkúMúÊaTYóú'x‡¼+åþÝku’Ù4C¤=S©vr?»¡_î;¥D†±þVr·-X|K}×9t¦òþ:è¥ÓFŸ{ù¢¸O È=poÓÆÎPî¼ócí«,<žÜé“ (}ÕSTºjÒÀms€ú À¾u+ËŽ½*ÝüK5•7nVçSÅX÷IrÉÝ׊GR ç—½»ˆùòc ””m?xå%d sW7šöÈ)µýþxÿ?ÆÓý –T¿ÈS/HÁ*‹âOµgÛ¢¬•ÏÐw¡ò;?ïCZÇ_gIz«¬EÕà®ó EÕêÕ­½8Åò ¤ëüª|Mz¯työ#FNù9~ÕÌ~oi»a§–ñ¶+kQÒñ1Ì^ ü¡“æÿP¤ž]øÒÆñ2NB¿˜ Xn9#U‹^™j‰×3¿G"W¶_2 ™£]ôÈ»‹ÉB­ú¢<Ô^ùߨ”˜ðËHº‰äêsã¶ûZwcÄÍý=CºŸÿT§œþ@:o»² J ß·šË}ŽaÖ;Œ)7~ù+OºÝ”ßú÷o6èOE3#×Gk;¼Ë¥AÅ—íC@µ¬=¯û} qn¦–¬@[™¶ñÂKP(%Ê}¨þFÊ“¡BQy¿  @ÇoN\L +jñ`ìØ1U ƒ0¦zÿ» ß­ü9¯Ï@}¬±i^QYU‹J볎“?¤ ½ŸÐ¦: KÆô… n Æ£JÐÉ j¯¯CVð·BºDsjðÙå\\²IÙ=¥D=r¶ +ý >©–,Æ’>Ìð ?¦ áù ø”/'çC´m"1˜Ü›¡=î-‚rÝ\LR1åE¿¤þ Ðé—¨Oócl¦Ì ü€­\ñèSv¨„¾¨–ñÂ"`IÙºæ0æ\õÐǨ­<¾YųÇ-Ÿ€˜—›€Ra>™‰yíbfBpžs)ªñílË¿VçaVïG3›+±ôO&q„Añ®7úwsulÑó-ÃN!uHE¿¾nȬ®µ<ß»²BUë†x]:= Uý4»OA–ûÐCgjñkÝöuÒA¤”co_HcP!ø' äEÕé3'‡`ùÞØ s½F’ªgÍ-x9¤÷@oç2J\þyU7ƒô«Cüb³k ü=xbÑ»á@ þE\~;Ÿ=+ñ>Hy;T\\š<T­l<Ę›ˆ’3—&ª©é¾ ì×ÝÌH ÕU<*Þ‘ÁÙhÈ'Ó˳g ^ÖÚdJp(^~³SÃÊ1…§ë Á¢­öfêY›Q$×\pý5ktz<å:bЃô:ñW¿ÉÈNçûc¨Cl×QuVÿÕŸº@î×-;.ŽßÂýþž¡+)÷çùþ*¯óÆgÖØ©Øò/—Ìf!sŸ3frõ-¡±¯äÎÏÅs‡5£êtÂŽùsb¹{f,16Ú…Œ«S‘ Öñ|yùÌ4Õ5d¥bÙ* |˜%Ìáð±m|û‚³\š±2=j eÉ IâÛ¤ ,9_žê1I39—üWï[lݾ–ÃÛgä?¹ T—ïv±y7°£ê1¶C€y]æ8ï|PE<‘äU?ZbŒ?¾BYp‡tNBöb¿]碽 ¬õ˜gf‰ØqÔØß*0sãWåæ‚kXši1VË=ŸµÃ¿¶ìzå#>ÞUAÊÝ0L2æ<—§ '÷ºƒlÞ»Ä~…4ªÈ¸_úU7Fµygˆì7ž‚LŒ7Qn!E¦d#~ Bg·â.ÏP²Zcúrèo,“Þ<çóIÌ&î4“Ë1ŒÐÄ@T6ð2{Æ›ù¯„Rá^ƒRÚü` ò¾›s6|kóÿú æè:ÿ²ù€ÕÍT®7M~ÝÕ]Ö`u¤ئ•÷ZÛ“¼»ß“ëq@‘ö‚q,(º´ßòï^è|Ê”“jz„lÞnt5„½¬qû/b8¾úpìß[1SðçÃÒ„-]Îg xMå¼ZQ”ã ȺEl7#ãB 1.Î>¨º&è´Tk:‰ÇW!ÛTdÂV"“0Ò½¦õ1¤¨ÅYßüDyãím‚z¢„ Ý­s°ŒØMT=ÃlžVi‰¡¹]Ïê/@®ÚkJ-‡Ì5×Ro]„Ò_IYÞׇrç‡'‚œØ|T€qJæÞ«êß1?ÅT÷¶¦Gþè*^Î4X^nm ŒnnHåÇüªüÒä|;ÔÄ_v¼]Òâ ”ñ0¡d]>@ˆ=ð–´ssñíf¾nÁ,Þnm)–»‡Aþ(nøÈ%†$”§ ¾ƒT±æ¹rôIdÂ]ÛwèŸÄ=ÁAõœØ G•n®ÅêôF ™Â¶Ž”¿ã²^“­P¾eΫŸIQ¬ã–Ê?Ḑ–bæN[£`ƒ‰øÆ}ÿÏ1ƒvCØëN;”/ ;ýâËñ· ¡Œ þ‹²Aâ:’¼(æ·¸ôÍ õCNYˆ†Ø-ê5‚ªçƒÕ\ý(ôÃU÷‡D¼²¶bYÞÍqcq>ò¤å ®î'‚ÒZé|o«¨ýûS}OCéØûçó÷AºrzG©Û:ð™ÿƒi¼Ž‘ª»ûÀ\žf2ËS*Ìúc5‘åUå£B±’ v‘¶ì=û²¶#²OÈÜÆOAÕrÐJPÅò ÊcõÂÇáÈr—휃™¹%?FÎÔ8~ž2îV5UæcUS‹%‹yçSLmì¤ýQÔŒ·X¶9zsÄ~|}E£ù¼m .ÿÆÔvùujº²kʺpxš¸8L·úî¯s5'‰)TëIÓT:¿2ÕÞX¾0èîOû¯åpfïsR]« *—z¸AÑ^ÃwnN\æáÛé6 {øöl+Lø–XÜq[úE\Q8hÖF”’Û²e0*ãýŸÄKÛ#MÜX{›#KÜãŒU§œÇ9˜‹Q•yÞ¬t¾?ªv&g*8†¬-߇F:$¿Ç.í]TÚÅsw¬Y³×–QX!àWÌ—ô‹Õ¾Ÿ…qüØ|0Ü#nB‡Ê õõ¡º ¾ ”èt8UFã&×}Ù˜Kݬª”@M~1´Õ6`¬B>'L¬À+•×§õ¡]þФ·e·Aµ€¡b€íûeY4ÐÖnÌÍÐI Ì#ƵPMÜ1ç,r¢z9D¾àü"x¹Ðz|½ëY·<™3ø1ý , ýz:ü_&ŠùòXå×Gt¿­‡TtíÔ¸A‡ á…“¨jC 7QÅÓÍV£*‘÷éB¡‹tÏF&õÕ÷ÚG¤ÊŽˆâÃû ü>©ÄQC€ï1,k¡ßáßl}Ì<’’úçÖ$ P yÂW-ú2Ár6äösüå››‚%Ú¹ ùæZ¯õE|š¢Óü‰@/˜Ü³ªE5°=[Mdük@µH˜¿©xyû0Pñm´Õܽköüc 06ç.|ÔÂ.Â2‹A„U}7>ôj/ápÏPËÓªµÊËOÂUJÜãî;0~×âñßãWcÁ ÞE㲈ƒ Ö<:ã®ñâêÌ;Dös é2"C‡¬ŽÏ¨ºHˆ¼£Q¥Óƒ«H¡ËAd/ìŽÊo^„´déô¢’»lÚbÍ›áÿYs¯?oqØÀ‚~Šçe\ãᎮOzÏô@Q÷(™ö§ç­È¹P5Ô:Ägv5ÈÖ#Ï@--ùw-² ˜Ïf\óh¬rׄÖƒ*rlZå›LPIfôì·ð$¨–ó~`{ s)x#+P¸û7 $%o‰‚ÊM8IBv1i°†°ÞÄû ý\GŒ˜¥«ËËxùÃi”Lr/›| C?.ºÃƒ­'§>Eæ;1”þ„*3rALP%æÒqÙT—²iýP¥×\=o5—¯î->bˆ”[ˆAG3”éøbU1—ƼÕÇ’²ô+eŸNbšN?à•Æ?(ˆåi‚Fo?åb²G*TH<ëÛ@ÍV—³\@y–7Š:7% ¬*°‚?3¨<’fè¯Y ªv–c§ÌÕãc_ówöÖóÆèA7g­›w(9Ðapæ5Ôð|fÙyC6€Äß³ÎkÞ?ï´Ñg¦Qÿµüm‡%<=Ö«ÖóZ”ñð¸/RNO',-R#sñ¾×ú ¿‘ýÍ_¡Š°”VFaEžàðàjÛ EóÛ"ÛÕµ&mr/¤¿KTìò¤:6„£ä¨QºcYäê‹®å[1+fNŸ[ š1DçÏ*ÌE!›À´ÿ2 |ŸŸÒ§ƒD-º~³Îy&—ìr&½îtvã?€Àû$Êñ®u=öU=¡U*«å‚’­&À¾?¼óå^+î|ms´b5Òý@6pçÁžÛï@eQWÁ‚bBÏ5» )G±"þSDå&yñz,üUtãÑX1Vy̨”•øê¤tþX Ûgqù›·šÈÅ¡>PýòTºÞ›»_Íd€†ìfAçOëüø”‚n«]O[ÏLÅrñÈ#ôŠ˜Ûƒ/d1‚—µþDM³!2<e3 ^ðÀ$|{i.(x³èî¯=úúrõUýÁ=æ\]¾ŒŽ]¸ªo’Îz AEh:]€ªO‡aƒ¹<ïãAœ)ºAä“A&ø%CÕíS[øB‰À?€´v<ƒîzC8ÆëpXà7ƒ"w_—âÚX”¶WM[9p*Ëï ï°Ú¡Žlò×K½þ{ˆªzœe‡ê6Äot®¶{g<\1Q1uF <1 Zlø\±å.0Kú…r¥°ßxãV.qhvV_PmoÝZÆá»ð3xN{‘‹Âã¦ý?Ÿ¥q¦~kcª7µÚ$êÆá$Áײ‰*zZ „.¼³ÂÊ,ßò 0;+tMß‹îX¾çÀFŸñX½4ìêŽ~¨$6öï‘öÓiEó‘u%®ø@¡Q=QÐ!«ˆv·/\=ŨóYEªÍ®aQºþد/î(â_v þN –÷ÃxAgžiÄ ¬Ò Îë<”êÎ…Øv÷˜—lAL€† ¨¿:¾v§Ä—~þÕѧ„ñ j~mÆ(PØb=cÒqPÙù|ÿ€"ã^Çë ×ñÿª‚x1”œˆÉ¾Ø~"¤êü“.7 %D\L:û–(°h;!!V^h˜1œš²žã‰ R6ë-yƒÌÇš°}Üý|ØPÝÅøêa}Tó²´.¨òzõQ:WoÛ˜YŠÇ¼Fš«^výõ@ų§ôóEÉ^ÞØ ˶™ÿøßBïþþoëüwè§{¿Q—nèÛó4äy'¨Èùü…ƒ¸Psÿõ‡;_A™°.¸Uó`ž>ÿFÎÅ[Ÿ‰ªŽYÃA-è@ÅQs÷,`6{»ÕýþéúŽgº€òä¼>[5Bõ·ëk§Å6A…áøò±;¶BnÛ×Ä!Âuúò`þ1·ÆlbcT ÇraVOJ ñQ9‚7dEš§ã¹ +èQ•·Ã˜ºâ‰j«5©VS–¢Úà$qCUG¡ßÉØ‘¸©v‚¯€ÔªQ¢Èã?£á%G±€¨±.ÄXÂ>Þã ÞoN»e¥A©0÷±Î¿WÁ»€šØ,ô­v±ù§ƒÕ® ò!_‹-¨-Af¨y¹ìFçò>RÀ$¼õoP—„|%ãé‹ R§#("4,'-$ëêã‹ÀT~+¹ìºcл\¬*Üú8Ý£5Êuu/E=Ú:6š»7Búÿûxê9a䦢ÈEãòÑE¾ÀàênÞÇ©ƒ¾¿€ròrúAXEXX§¸¿çÉâg-[©1Õmü伉Z¼dÐųiúH6¾á“fèEÌ5—#>PYydnÂßà ;±5üÓ¿ãÞHŸ>D4˜Ü1iö•-ŸÐ@=…Ì‚zŇ’çÝü¸¸»ØF=ÜØ¥¼àè¹OÝ·ïøŠ‘Ù™#ºlqæïŸ“/²PzÓ¿¨KÚGHçåèãàqÞócÓ±¿fí¬÷1±Ðˆ >:a%ßÞ:ŽÒÜI[Ä e5®Å“öÈ6ýÙ±¨šÓ޽ŠAõØ>?^êÍmË—Õsùyðï¡Öo‘uá +¤‰[Ž3ƒ žÖ|%'—gM }ˆeËïQ¹‘=0³#ßEaß Ä¬_Ø2²‹#äÇš}-~ ‘“€ß¥„6ö*¨n\Ùßò0Îü" P ÆEi ~Üòí¬Ù æË¢ù b&¬Òó¹¬OÁ :˜ÃÁa ÅËÝ–r@Ú÷Ö?âABìÊC™ û†,ž.w üDlꀫ0ЧëƼøû ì¢9Xñ{ô[“#°†·/6B%aUôäîÁzBëˆ*]ý¤Ú¥aÞU·í#À窾ßÞ6åÛ?d“~~?¢¯t¹Åõ²öܽ³ F籚·¿Ûå|ÚíYªFâl‚›/´_ÿ¤7Dp upA3ä ·6Û9Å*„¾Ô¼“ož%eu·ñ!û¢€Y\z07ñ¨ yݨ‡fíi}¶¨ã¡DP5ÿ.ZлØB"„ãîßNšJ2ÈþÕgF¼V¶Êuû7²uþ½A»ë/mÿU<ù æ6‘Ü„Á‹ú/ºdŒ5¼½çtTJŒJ³å«ÑùÔ¨zæÀêQ=í¶®@õ)¨ º5iüqxNÐóÒÚ+Û*TÚüا.«O:“Î1–¯[Hè0Ûp/q&Æ@á`@M |¼™ü*Šï4~ØjtÒþ¼!RÓ wŒêŽ ©[uEy7‡ôQ=oQH£Úµ‡Ûñ ލjþeoœˆlµ¾¹¢WH§THweë£rˆé‰‰·2Q§3X¦ãWgêúè¾çÂÕ=mŒNEXûÜ“«ò€¾Ï @A¦‹€D𓇲–]OŸ´´‡ŒþW, üž¶æ´Oä§^Ÿ°ðüǦ=Éí±’¬uÉ®FÙ\aïuýÒáM"2ºù›Jàk Ú¡Êo?3 Õ—‡|ÂP%+°ÿ20²G¹W5y‹ôººA²TŒ>«ÿŒ@ñý¦"ǪóXÊË,1ÍlI»ÚEèjÝ&&’÷$·KØëÅ|;½-T-®ŠwðLyçÅäÕæàÀ[®þšË/ïrBÛzqøãÌàŽ]Züõרtu5;{Èܹ&€Ö'ÆÁž çehí¡êù¹pǬ8(éšÕø"ê3`ñ¥?«zãé/j¸“‡©/~1–ð2È“(ÞúéõöQ3Q¡Ï #½døXå¤díí—ùUĵ¡ÕnTßOœDQ}ÌoòèâTéúL}m‡ìÈ­H=%Q“Q¶‘g~¨y9ç PoË&¿.³ñiw‰Fx?@ Ü2ìäåe åíÀv¨ÝÑË]!OàíAÄÛVµ¯b0é ÏA> Ía9q±©ÃšNcgì'F%Ÿ6¹¸A¶6X4¡j1ÚËC5Ÿ.Õz„ÁÎå[·=Dz¨êTÙëçÞöÈ â}åP©;7Õ¡]þú¶6År~ìk†YUŽ»Þt~qQivmt ù'ŸliÍJ)i§È€ZêêFI40iŸldi r!Æ5Ÿ@}òªËcûî ~3C¾_Ñ‚«÷öþ)2Úl¹ž­¾+Ì·!$\– §ö@éyA×™–Æx ó Àä9w'f-yƒÅ„þùìVD:¦(_6ùÖ©Ë#‘&vŸÏ#«Ó׫ÄD^pÕÞ÷N후j¯qç.Ñ¢*÷þs÷ž,²Sž·¸ƒT-/ÄBÙ/~¡VòmXD¦ÏÇ®`"s¯€‡ªE½{f͆tÁ_ÊôûÜ;š¸$dÝÌ wPv8öÞQ»hÁfØ*Sv®„Ã_c' ½ó{¨c=WJâžË¾¡»Û‰@µ W`¼yƒv üñÿÒN-µ`5í^ª›¹‚Ï5„ìȦ•ÚWÐßæ¶æ±IX±wzðܘ¬ ò^÷dŽ*]2®ûž¶¿1UÄn|@ª¿TëüÔÀ/ÄAöÛ>Å'?¤kC¤çÖ¡’Ø*̽‹’ªe6+F¼Ã²MSÉ 3œ'y¶LñÃ'§yÂ$$ìÈ>v´ÑŠxÛ¢µPI¦Ì½=@ÆÛ‹tꃰ'†;0r°é3Ð} ²ÉËö¨u¸B¥åuÀò¶L³€î ¡@¾@œæ»VUÄÞ~\4ÈìȾ/…D>,OÀd«Ã‘µ˜ž> q{~!–ê8%õ Jt¾+ÊA2COJ–•½½9`²/|x¨§®=æÓo)°Å9&Å2c ƒî“‰(bÏw~Û'Ä?ˆÐï” þçFº=>™¥OogÈÓ0…¸¼®Û%çò @±Ù4C®dAÝÜé£Ï·±~†¬ß'xêÁfG¯Cu1/@uHtÿЭïP•°‰Dbd[¬5ì=Ô-¿•n-Pʯ¡Ùƒ¢¬ýÓg5‡b¾çëµw›—bÔºë¦B OØCvî"¢0ƒ ‡ 5ûÖ&ÖGÇ€’ B;·æÊC£iöj?LÍ &ô9S_(…x©Þ*è¨TĦ0h.h¶›ŸʹUó2zIÉ+sû6Û lê€ÏÿVü…túÐ)TœƒÝÈ"±L"v—ÿbñÕŸ³ÕÛŒ°êÙ¼Ïm$3PþäWÖèþ›‘ž7ý^óMÈ^ëÐ?ñ»Õ½ÌI‹êJ¡­N—Mw1B•ü¿£³vrñ„È®?©Êà…P(Û³M˱rîš!êV",¸dóðè’1ÃÓ0Àÿõôi…_!›¸höm å©ÄEjˆ­ü8%(‰mbëÏÀœßv²‹´¨vü×Ó|*¨N®wâòƧڳm¤ &lÚs3A5Tè2|˜våR-Y¼6wAÅm5”ñ¶LK!]^´¡«{g¸?'œcRåHÜÈ¥W¢Ò›RU:_5¹ ÷CÚ†Ÿ£"˯£hê1¼¾Õ:­ÎO6?R¸ÃôSl† ËÅ9ƒ±£xñe£úûÿ™ôEÌï¤Óƒ'a¾ÿÐ>m1ªíÑÝn•Üž7\…«hÒá Ò^Ý|“Û͋ŽlîÔ "RÇïÛ•ÎWqxÀšB¨òP;œ=ÑÄlU« +cFpx“ïoƒ²õ˜e¾A2þãzQq”òë\ô MðigÁ—S}–Ô ûeÄO¤5¨³?}é„d‡ìçÍŸÆ"ªí¿ú!™0qç¡wpFÝUTE~ ÿ±ý+25BߘZÄ$P*ð<°"”7ÄÁœo¨, -fètÒÑäê/Bs=Ÿ¬…ÅŸ¡4]Б§æ Öp,@Ú¤©ºý}¥ÃÛ†6Jz[õ’q•–emv^ˆtCó¶gÅÜy7x}ê{²5#–[í8¸Õ¤û7m)ªÈÚuC‘IôãT× Èå+³°æD÷4Xž=ɦϋö˜ÅÛúCŸÏýK?=ûq|Ø9Eº~pÕ*fÈ+M#Èu¼Úî…ÿì…Àâˆ/Ò•E ¶íµÝi-š„ÞÖ 4º8«6ìºÅ¨g;`­FFÿw(Ao2¿"Ù“ZO̓¼ÃßÌ|º@ØKÞ×דȅy9‰ÄàE‘?zž´ eSy‚R:¿–OçÃP=pMÀ€”î5ãP£‹ƒêJ½+Ó“Õé´èå½Èe”ëúÉUÄþñÇ_,$Ó……›0Vççço× +È~Å‚ ÂbFݔʗP#ìj™ó¶„1 Àüäý€AEè@‹óAMÜc¦»€fš°@}‡Ÿ{€ÊMŠž7(tþ;âÍ—Íz¸Z@ ,ÏÛ}À’»¹Þ^ NÇGBß3Þo"ýXÞ†ÏÇXMTïöN¨¬üãß¶–[¸xðöÅßÙ&¯P­¹ÙwRå'Ôð´¡™¨NúXªM-üX‰Ìè®Ê¡=F¢l,Ó'Õ£DØ»…¥÷¯ÞÚ¶ SÉ6Ç=·áˆÐÿ4A?¥„…âò$O/÷kÊÓ™ò§-G³éχ“WÏê~_ ª3È gjV|*µ©RZÏ5ÝÁýùˆ?WŠâQ© ¹¹pجþøøË[S?,×ñ43’òJ­ÛwÁ¼ý¾>`[ÔPÚAÉF²Á Ädó÷tP|-&Α@7]n±yð]P-à÷ª€:Þ}DàÍHЬ%´æ-\\ò«J1”tt€‘V¶hŽŠKãz݇šÍ›¬ßròS]¢×ïNƒÌ‰Ê–÷‚§ÂWLÒí¹+1 «ýzâŠu~, ~ýro¤™/óoJAÕÔíí¥e\üæ@¡F˜ó£¦÷ ÏŒï¢ê+I`¯‘ùa­ø94©©Ù…W=Æc'¿àËÿ+Ì|Ñ›l×Õ‰{PŸÿ ¤]‡ùg^u1‰ª#¸|ð’¼­léÝ+ÌTSƒ¯MÑ–ûüÏE#ø1ƒF¨cAõ{ٜ̿ dÓPDå|¦-ÔpÙW|{”órÈêÝ·ñgÞEð®ÚW™V‰ºó_2¸”,pCñîs¶g‡¡Ëáé:Rp|@ÕBžÈ‡ê,B䘂Çß#Î8y fè-z[xªt{kÒ½ìp©±d=Ä(¬á×@´Ær"p¯ÁÌ[´¯>š —ÝWãç{ã!yòÓÎÄê®äØåä~w€˜l÷:3”mÈ¢Ì2` g­pQª-ulsî)PKx|çÌ¿\¸|0Øôé³:P½'BÔ‘ÀTkû\ ɪÍIr"¡Æ€@¹ ¯‚ w~á:ÜÑÍyRHzZùK¹êþEVJ,Gµ<랆J!!cÁïeE•—Qý•Ï#¨9amžÊ}ÿN©u¿~¢ªx“Ñ«Kȼi#=Ê­ÿõ¬>™P~Þb*–m¸{³ã³g˜öo™â!à—ªŽøç ¥¢ðåO-,¡º !ìׂҋØÏöæ:_*¡óÇû;Ac8ÏkX«ž ¹°ÊwúÅe\àùV z½t¼ëik`ö_*ŸÑè ÊÃîV3ÎrñD×·+u0ŸöRêÛÜˆÏÆ«üºµ>˜AÚ;°Li¸l¼]"Vÿ™½b»£1R­F¶m5:˜î¨âéxƨ™||…atÔ\æñª…½¨Úoxzõ•hd„ó…JAgâ‡_í .þ=a„‰‘g8D6^v™00(1²bUQÃŽzÒaFs›4wºÄ/¦voÄê¹ …. o#p4º~ª:“¼ýi Bè‡k€¸G”ù ç×Y-‚*A×…ÿÍ!Šíÿù.bˆ<évÍFÌUä6ßý¢Wó&ZزÓ߆îYB3\^kð›<ºÕWÝŠüF07ä¾ÞW Õ7ù¾ ²xyU§EHšµáý«—(»TÝéo=Š*ÌãÇËñ-Ù2<Í¢‰-âŠ7P(øÃ@•ÎÿXþwåÐ d@GïêUÓI ª‰†õéKûƒš§}­Í=Þ`4Û뎤¤þµùÐVÛÚ”˧AGŸlwçǪ̂!v¹±Ï œ—õ®„Ìa¯|kz‘U¡'&ÿoßTa‰8¿m)Jfv¼Ó¶é*Wûüøõxdìùýe\ÞûÊeÔ¾¨¨>Öã\wÔøŽHX¬š™Ëî·½ºU´àg΄˜<^6•º½¶Õ]É…XŒ¥:ß¾TÏ–©^G,‡ ¾m5Ê «<ÅoþƒšÅÆ[Ï?æê!«›ç¨M <_ÁÅ»Ðw[+΀æõ¸òÕC;‚ZðÉÕN~!Ðß/„-ÚŠË÷Mz¯<U¤z׊®kZ½‹©…Øù–ý÷/,Á ¡ü"ÌåË9} û/Q¦‹O´1‘-•íí°ƒÃÿ?—†lHD ¿°jîÃëu¨~qÊhÉm®Ì”ºO½…t¯óÊ]Ú l“—íÕ¸Õ(²3š•kˆ¹m®^ù#gðÀ£†8Ýžb^þ9 Ä£Å(Èš·¼f`zïæñ AuIè«i¸¨y© 4ÑïM-³ q]ßêᜆÞÈV/öº¦¨Î¶º:Ž(^ Ìõ°Ú¤éttæ|›d"¦ë£áéXö˜_˜‰Õ_ZN›=Ü©~¾¶£AÌ–×çPÍÛŠlFÍÁ.½¾ÏXŠš$bÀÃå»^¯¬=tUDÞ/™.Ÿ Óš«#|[¥Ó« {;0Và§A0ÙvÚr%oÖI1QÑëÔVJSk.Ÿ ôrž¬n–:ï@\šP×u׎wÍKî.è„Ø0~*Pº>›”Þ¸béP¡Û'}ÞbJÒñÏðjq¿?ú9I˜$è±ä1‚ø‡’a¯ŽÇ|Z€J~­x/d\xâ9ª*ùFj–u¿Fç' á×OîGÕº1ì,2Á)É ’°¡úLF‰¿ïÀ )–öž¾v´q "š'ð¤™oA–àº=´ÒD Z”ίŠ}ibqÄßÔOx`š@Þð4ü¸± ¨Ù1¿\;ÏU/æÐZ½I@ïOO²¹»ä%WûÖ=±ã=,‡<Ý|FfÏEUœˆõq‰²U²ßPÔ¼ÿ<¸UÐÔÜà FP=ý6à#£óSRªÈÚÝYX­ó *õ]+wñû‰)l›~Ú,„‡«ö‡Ê.þ…¬./í"fº@Å4yÜÛfÚÍ»H ûãæý+V·÷Qw7'So%hrw Oókê¢ÅGº>•ÑÛ!]ûëm?·¹ïÊÉ +ržõÛ刼Ÿ/³»¹­x^øëtÆ ;Û̱¾X²ÜœtÀ¸ºöÖîäñqâ 1Èp?užåêybó›®AÍŠqŃw¢æ·¢]—#³Qãòì~‰ô/ª FK—>½ƒŒíšž+óPyü+YĆ’q'˜;íÅÝžØaN¯•ßòçnX ¹­7]½w·/ˆ Ȩo~.£vþ0ìuÀqPý/ž ÞúE<4ÄmFh*ùA¨ñß·Û—€áQ@ };ò¶û- üýÕãS5 !s>qຎO”šòáSÓÂXfµìxÐF¬þTqiÕ¤ŸH‘tüâ ²–ÓBNåêöSšØöÏj¹xVÚ_­^‹Z"o¼²–íoªí¯.úÜé¿ÑªV¿§£B·¯¡ªï·ìް€¬É™öù±Èådˆ"vÇS“ ¨ÿÚ¾›s6‚¸Ý%¦¹n&([ò`Öò X@%æëhо¾ í*ìCׄúW5ߌù-Ô}Ê ñ”vF ù:e×ÛÝPJØjÆ+ ù0¿p _jxß-Ìþ7Drà ¢h~—û9§. LØß†ôÖoõÿôÏ¢jtÉ®-*QÓÀÏ)¨mÉ´QSwå…çͨ®!†õÈ’Ç±Æ )õÓO&D£”À¼öµXþ‘šÁLîòO±jƒW¾tû;)k¤YU)GX¨ ì¹{OæQ¨Yé1©èê. ðÆÒÀêêPõëvÝ}‚ß_Ú^•Ò~‹¹úuI·e힃êâ²ñèR§Gÿnj@®ë_Uîª!…/äÙÂòMš÷cï:gŒî–ð¶J+P2Ô”Py™_ÀŒLv×|“-ÏQ=IØ_ Ñõiµ‚,j?=TwŸEÑùŸ~žÐb-®¢˜\ÇaXÜY𕌱nTxBÞ-䋈P·%T…άëÒk—„½›Õ£–&~b@•ìÐ"ÑóhŽò¼ ÐŽÉìiåð4Ò^=?4ݵÎ߃Õ퇦týÏêãübt(åmd-€&Ü'?‡/z¬¬“>]ŽÙy‚_žhQ7Ö`uÊx9ßN¤Ï>™ªe3KñXÔèô¥Zãûƒ³‡ ÖÀ‡¦p8]]j[Ú†Ã5<ü›ˆT>/4C)o¦‡å›È¦ݘNl­†}{Á¯2ÌŽþ^ëýÊýy1’-t]úÐÎ~}×·Àªœ·5Y·²)´=—znmÓZâbjš‰Fûvåpš0gzËQ“gîf Û/èÀ+Èú «5•uh÷O.ø=äÇù{1u¢óïe¨›;c Ì;#µï #ëN‘Í*¨NYa»»Ç»Í¯7棖¸fóFÀ›åîóˆ“\Û#-"Ä¥t” Ï+{òj̵ã}ÆÐOÐã@Òæ×y­2 T·G£zÐÃçf¯ÕjÆ8óèZ`g/(0Ýû”ËWV×·ås÷÷»¹²úE>h—°úƒ|Í#ž? *a_0“ˆÎaP8Ë™¶ ªx[ÌŽ¿+¼Ãy‡txÛfâáÝå£0îÀôžóZ ÇÞnéJÖ_øXhˆÊ0òÛ‘i&Àbª’5}P£áÊ‘¦7¨%ë9ÆrñL¨£PÝ-JeÏ"srÁ„??;£Rè»cUêO»£+ì°@7/ k\ÝÕ ¢I¸ÿ“Å,šáâ\ï~tõ:Pžüé›ú!˜Êuô5ßÉ Þ°ûéKJÐ(gO8½´üš>.o s3POã3n (ùõ7ö &6‘^PXôn¸QßÙ‘õhÔkÃ)ì â­1ƒíÞ£˜§ ´C%i‹?)AF˜{£z¯oF‚È£ÖÑëí¾[ÇP#ÿT0Xdjaî†L2Y—<•ëøý×(ÞË€bÙ6‘¾•¿,‘»×­©s²ƒ¢ñ¼‘ˆÉØ×÷>(ÉÚŠ‰ `2¸ðþä¨W_Ó¬ß 4êz‚PA{ð–~í1ܯ…:Z½’7ö&UàE(×<˜óÞÒt~ÈPÔₜ7B„ŽçÅ·w:cÑYêË5'P¬ÃÇÊÃÓ\æ/?‡ Q wãê Y}{<šqÖDí‰}¤³‹OHm)?¾à̮ޠo”9•Sok]‹âÎÒB,äí:aø\“ ÿ}íÑ5óL{ŇâÓ¼qHºó:Pú?º:pÈ`Ûûÿu æí¤mAÛ±}ɯ uôté:½Žfzì‰ +æ‚(½ç=5(¾kæ4ÇAÕžð ù?Þ&ðûW0®:ydï'ÿ°äŒýÈO—ÊQ’#ðÿ”?7˜„Ÿÿ‚ìR²ÐeªL^Æýò@í¨™d†Z׳ö-MŨÉ!ÄAKTëüà™9¤Pÿ† ¥ y? +fÌëÐòî…;ñ5q ìu’;´oø»¡”¨}ö¤AuâaúX Pöû‡.° ¬Ïxó;&WAýSàh­Ž­˜~,´º=•š²Hñ¨ts\Z1çìÌ®é _~ü²§­D—ˆ ;²Éér¸ª·+3zbªn¿aYñ™ÀcWë±FðACJcs¢Uv;/ºƒ8'*P»—±¡ölIî+FÍ©×QºŒBY‡q±i{žØ„2~ýL¬è°ÿз˜±Û.Æiv,ìø|)ä”õAÈà’üœ ‚o+-™ O\ú‚·™sî#.¿òF/ ¹þ Ð^½Cƒ@»Ð) A3/¬€mä@eï i¾8jHXÈŒƒ2;§r„Ý^Ö¹¿·O)š‹9d=Í´¬ÔÕr!þ#3þqèBµþG{§vö¨‘ u°öÕ» ‡ô v)¿ Õr~O5²»µƒÕ&"ëãŸ"JÈTù%+øŽ+Ìï ìqÔî…$]T+A¼°áW/½o $.ïcÚó‰|½N ¾i&ñº´:?]mè*=Ÿ{ŸAÛgõ!®4õ¯Ÿ¦&æTmIí]P&†|ñPåݾ?ùòy»«žü(†lêÅÁçK‰ Ķ«¯ õ1µƒ‹Š+o!•«Þ}Î5}‰Au Ô:ßëÚíijƒÝr©5y½|Ý&; ŠØ+…"­‹[rÂVì¼EƒRnù¬Ä¬õÂæ+:eºg6}q^,”׸Z5˜m™ŽG@èM?AåJ€ÆcÐx“ñ.‡«ü†ÞmåÚÛü 4›ø=½ ê©z÷õå ª-ŸYðjˆ»óÈ>P&ì!†”ÁŸotmè>M·ÎF«ô1Wàube±¸>û¬Â}AF¸O¨^9x®½VŽÚ>üœ µÙâÖªoQ»®åð£¦Å¨æÛ²çö¡Ò÷LLûôó¶‰öXØ<à—6»1|gò3 –K"{|P²É”l°É·û1áW×5Žï£ûXÈÃÞæ¯ hÏŠÉ$ ´¹dUh¾ˆ d–Õaà.6^0Ì1ÓŸ,çm lï3´àóŽª7}÷ØÝ FMZÙɶ'½PËÛ çÎñq¢TEŸ{¢ªµù‰æž‘мÚnÔ³·X3¼·æìêÙXê]Ÿÿîá&LÉn ¨/ìñ8òËHÃö?¨|ºAi} &`xš"‡£ƹ•eÇvݧ¬!\\ú¯ ]¼sÇù‘Pß&6=Û€)è6rq½ ”F¬¤jTéöçUœt¬ë2x­Ûs„Çø=¼X67¾ÆâúµÏ)B 韇*๠FØs‚ÚdÕgiZ'ÔD%ÌXQŽšˆˆÁk6?GÕù”z®tGz™°—]ªÛÓRÞƒ¯Û1õ’çùûªJðÖíÊÉ"Pô¾¢á6(BLó{ìªFç{¨>–vkó¨ 5'†  %]+ Ðêö7ª+‰q¯ í¯"”D8ÙÄäLõ…‚»;d/ÈÃÄÃÂü¥ôNéòÙ…Ó°†·ÿáîiž®®ãé’ƒPã:|ù¡\ÊæçĨeNÅœiŠ‘p~Udè@¤O¾®ÎK\…RÑ‘§Ÿ`9¿ÆÃSÿ- CSóÇ7 ·=OØ…Jÿ]S¦ÃDP¶è²ÅÀV¡õmP»E9¹MZÒžÚÿjõ ·?h]—tî¿$Ô5ü`·ûaÜv(Ïz×<-ªÞä3ßlšWTÁ›ÆŸy<¿bòÁFŋΣ°Œ¨$†ÌÂb[Å"ÝÉûöïxTm³LäògغŽ/‹¾¢–Ý÷çâÓ¨}O¬í<<§«ß^ÔÖðº'.Ÿö#-‘ýÕ]Ûce=R§æHÎíˆÁjaNŽ%›Ÿ;¸}_ѯ^¼Ù¸Æ¢ÌÿM+6J:LÑì¶¹Õ-M«Þx¿jËT8óé°ÞÍ!~ZÙÓ‘µkzBmß'á'o„‚vhÐðˆÞõ ê ÅD®b 2^ö9ÊuúÈ4ÒÞ„ô|1‡· ]Œ•|»q*~y¶ùºƒ‹·•¼ÀÕI1_Ž[ˆÚoµv1ž_ŒÚç¼ñªedK—"Û*ÅEú•“ãöÖÏ`°Š¬;x޹•ƒ6©$,z“õºFÁfh¶Û¡ŸÊ_ÔûÕÕN)c¾†1)oƒ¿¨þ®]ÛsL{®~+ê’öáÔŽâïh¿½ ÝÝmh®‰_öÚõ Øæ‹c’ó‚rælAuO" ƒOx$±, 1Æ‹7öÄ’¨ðŠŠ–K°:¦÷Fºï.¤b®œkÿªªfd.tºõ„‹3y5’ÇXÛ.a¯oœ;Öšõ´­QÛí(qPFQEé­Eú<ßDéC~Q–e?™â»ô4¦ó Ø—gÝ? :¾†â•yFuú‚2æˆ÷”NË=±J_´ª tó ÐVÿTü·ü4Ô.RîÙž¾´ÿ ófõ>/ãÀ+’ÍÍ âùZÈœÂEðüÌ:Ò Çì ÷É"¬4÷jÀµ"TðíXsdpõŸëƒQ-&9µº|Z»¶3ÙL„Úœò·¤CÀËgGž±ÈO‹Jëªû¯?ÜÅ*óó;n.Á\çÆà²Mei/HSɉ£'TŒ&‹5ZƒLݧÈt÷~{ñ‹QAmöäËŽ· Ý½”0 ví„›+>AmK€FØ“l&ŸpêÂÏeAÒšü =n_¿Ùtäyö£b²àë‚eº=RÞ6ã÷}Ûçm¨¢îô¸%ù‹Z¾5 k—‘…È÷°vlîË—~¨!²Z|‰* ²È7©Ðn½.þ2Çj]Ÿ©„¨T†Db¤òϸø‘ï VÀùPÚ‰_,5Sx@tKϪ܈±ÔÐü”5¼ÖjV^jñj—ðúÐvöè©ÞA¹)Ðãñt5Ôððo” ¾¹§ætc„=!Ð`±¼5aBaµ/˜Aêy±ýù–}Q5oh£¦‚ŸÓaíl~1+Öêt‚Z²æ96U û?š:i¡¿R¾[‹e;xA#’¢xä§Ëðެ5gCÑÜ}KmŽªAr55jþƒB 6vݱ¬ì+¨:ç•ý<š¸—ÇeÁuP+ì1„Z$Žàê¾ÍÓ Ô£h:6{3ðSjÇþNŒH×Xÿ…²¦¸ƒC~ä6h ’Æ â¢·n%êöŽIˆ|~BR:ûÝ5ï÷l®®æe/‡°–°[—k±Ö…g:£öïÓÆÕŸ±ÑV3H×/ÜÒ´}Ê–=uj=ÑËÌO¯{{ S\zf¼9qùð“Q] àýÌÌA4HþP£¤ÔŒäòÆW¤ ka’´ jçÖp€•ËîÂþWíUqOóÏ‚z…ng!Ùr߀ԵyP®Ó)¤­ËvÍx|bÔ¥° ,œ-èÞ%ü/ šWt'ç} ªÚìê|â.j2yAw>ÉõŸƒµ·ü»¸ÊµWjÉÆT“µ Óã–ò@eÄÅt{–I·§LþÎëJàí,~± [ÉJ„4|÷Ù¨ÿHn1¨fó‹ASKlÆW@­Ž'^{÷þ†Y§Nq8‡2ÝAMÖ†ÿÐíK€H+å…}PƯ˜ 5ßÝþÄ Ãp‡)†ç.YpçS˜[WŸèÚB”Þ ©ra_†ê’àÿ­À1a­nÏU-±ntGí²>ÅUÊwžÿBš_§Ôkî-pt}*ÆÒaMK~þŘ¼á.Ä-ãA)g§AÇ=ËÇó/ÍÛ»€JໂVç?RûøÑùx?W¨½ÂÏ;A;ÜÜ\P¹;"P¥#ìç÷þ ÕÛˆ ï»¿XÖ­Å5|0iJ]¾h½Áÿï}j©ÊÅËV!M‘]ª7# µ¨ hOé߆µQ$-ïÆZgéñ¿«P#qg缯¨2¼»³ÿ$¤ÆÇ·øüé*Š+?R`ý :$ZôјÜÕí ¤é|#+Ht[r¾ÝcŒnχº:ëÚ½}6 mäýK 6·UrTÔZk7=¿nš37ˆC —OÈ¢ñ· Ü™¢Ø˜â•_&Øì´²KïlŠ=Îÿ9Ujß]À¬²O'ç4Vºü먌ëŽÊ©/€å˨!ö;߸¼·è’q—â X[yúÕôÂB¬íÒ£ÆfÃ5T“m$ç#×7­Qί'?€o|ÊÄçÜ1ÐeJ3àyÛë _è˜=4nÞå1@ s@Pý˜Ó£jhˆŒÕ¨½#àÚb²`<´ÑÕn/—z-^:‡44®T·÷¯´)¬Ãëίg`ºdF ú(,!¬¤¡±¨;'H“*²ûGÔé]P{GtîW”=Örp<²kß ßV·çKEè˜~5Hœø¼|„%:½O!¿fr>¾ñ8¨×RW >ì‚<ÈÉ: H`9Þžd˜êoC¶ô9 µýù=ÐP«Û_Kº'; @s7O¦X˜ìibß:”+IûeT;ç2dñ¶Àƒði )ÈX·höf¼ÿoêz3(¢XÍJº¦]ñðpõ‹clìžYc0Ÿí «é(pvLpA‹âp:AY Öê† áÖiÍ¿-DfÝÕ9£-Ùºy+ÍÃD™ácY–E'm¥AàX¶uAòGufCõ Ÿøn÷þBøìn{ ®`#dóùÒe4FðˆÖ-öêD.Èè•=/Üh*0['3eN† Ð$UNˆZržó.Ž£‚\psÈïKK04½ïa¡-îˆÇTò8½ŒE|y%‰µùÒŽ:¶b-GyÅïe‡r ÙßÇa¬ ¹)ÊìÒÍÔëP"sÏì‰CaFB¼Æ¢Ý‹kÆwa ±ÝiRñ¶³8XúxÄ7yH’‡!Ÿ÷ÿ >C»7çU 1¡ ~[Q!80<ןñ ó,P¬& Ø Í÷îãã3D'ºJ—RNdþ‰šú°ó1ø»–  ]Ïõè²ì7æ4\%Âv,ÿ¹aåe¥ŠûÑ y”‘ê¯Å/Td|Ô8u(2Wˆ²Š}Žqýì}£Ø(`bõ¥eXžî•i1±;±‹csŒ˜ÇqB¥Àå+dñ¯¯”¨:7‚hJý‚œnÛ@fð×j¦?û¼:5ìnÛ?€áŸËLßà[ú¾n çû1Ÿg* ©LK³!¿GkŒ6] ±Ô6±Ÿ:˜ÿib‹éýŸu)Uaq{§`åömÚŒFéž¿d;.¢bœéŽ©>G9»Âpùâ;Ȭ¤º1”¿åú7Ƀ Û¹¼PhG°&XØy\ÅÐ1‘÷ƒ‹ºßÍtÕ~H¶ 3rz"†‘1Òpú ËÏ>Ï_x ‚/²VCí?AÁ÷7ÒaÛH2T ™yyk[(z™æJ<RõuÌ ðµ1n“ð·ãÿÔG[•f`Á¥{§\ÂPØî—S5j”œ¤ùul]ˆS™ëÅÈ)“ÇdèËÅGbJ/ÌQý¹™D61ˆ`ÎŒÑY„yüKò<Ž’a”c‡‚qD8° sÝ×ïzµÞ¿ñù˜áÅ|¹ r"—|?º*h¬à.×u#ÈC-‰Sކ¡œ0PÒ18[—λF&Ü ;Ü-ݾ<D¥ñ`ÒJÛ{‡^Ÿi¼ßÃ7qõÀXƒg˜Xž<ˆm)±ˆã"aå2zà¡”ËËC…žrJQ¹.¾P9rÐÌB¹ *¦ã| ”|znøCäÚ¾ļ¤+dâ†Q§ÍzêöB[%Ú®Iuì/ó *h<Èa¿§ó7û>ipwkÁ¾ÄõËO¨Ay½Gñ¢ÃÀމûÞÁd_óî4ËÑ‘ñe¡PJb-k!އfÃÝß”‰<÷¶È‚ FÒÙ÷QLà(•Q.02­‰-Ì•\}J2¾ê“… Žk„’° ÕŒÙþÏ)Ì;2Ù(:N„‘´LmŸl)°rÖ?׈}¡—» .üŽÃ&/ò!DAPöœ¢Q¬˜Ê'žþÃ2|€Ù1nTÓý¶ ;S@T ê7©û‚¦ë¡¤ÅˆMÛî „Ô~Û‡ÈaÛ’ök//ë„)ŽKwHÂâ·Ú•»¯¢ˆ«sQ¶WîwîU%2[ÈÂu *ß8±ð¨¼4ß’A97wDI¿#‹Úx,Æ ñçÃ¥ÚјÃÏù>ÙyÚt›ê ‘ôëmyךµDp†–ƒ‚b AéÞÿÌŸû  ¨®ël L»ß¦ì?4ÉëR.g3–´ž±]„~ßé`K8ýBÑWblgû~*—Ý 2>÷—!Ót§[ Ls¯ß<”®ýÙW î‰3ΉA@ãÑ !'#p›éÇóðI]Ö±ç`Œ$kÐÀ÷˜§}l@êö$è~”š¶ ¤ST|^FPÀåÂ)#ž(ËÆ-@ư¥ÿ±[PÊ}ÏP×Ó·ùg,à}E1/ÿVo‹Ÿï#ÏÎ~ì+dó}WÁ“¤„€ø÷ár ÀéÞ0ë€ä(`Œ"n ”ø‚’¨Ý±>L1læÆþý‰hÑŒ¿ ÝÃå¤ íHA:ò¹92 çãÆ/gTÓƒWOÁÜôm¦ßrAAÊý°Ó•l?ü- …* ¹çœ’¸ 6/D•{œx~CfEÙ0¡´pËaùk¦¯Y5P‹ýl\Þ4ÁèAfoöéuÆsÏs¸œPì¢@)dŒ³ú94äöhõ ”*¯»e¼ŸŠFN2Y÷e.¥¦ÁPÙƒ4D)PE_(Ĭ“Ì’¬(Çž“‘ãî=Êé|[·[¿9m)JHÌåE¶OärßP)áúdÕ$b7²@†Ê ¬QÆÏ±+'pyu\ÞÆÊ•ýVøÈçúåðÁ‚YÝBÍ@Ó³üd[L}X(k}–.›¢Ç¥&PF* t!ƨ4õ'¤d(xKõe­í ÑC{‘U×sºÈGÁ9Ž»*!)™]Z BNP¯ØÏÜ¢jÁ…¸!ÃûóddÛkƒ(,õŸlh†ùd½–û£¦ K9—Ç*È¥›± hðR¬{y¤Ž4¨˜ õTãNF³w´"ZPž[§’À™ Ì4 ¨Ÿ 2ÞÿÂTryŸª`[÷¸îž ÚÜJ¸?k:0Ý㋉šê`@0‚Ä‘¸B6‰]Éö‡—Šæ.“®|ÇĽIÂßKyÜ´ÿÐ?Ê)ž='IëŒHT•‘¸ìq¨ÔϱžTeŠædL»Å6T艥´µÃ”MœÎù^CBV§ƒýÓ\ bØJBhÉ©^ŒÞ.œoTΔc *C³„íȹdt,½*-õ“n÷³‚2UlÎ@¤ó’‹ßiÌY_Ì'iM¢°È4\Pæ¬î¸q¯/*¹œJTј‘¨:I È×Eo½ï…’*lÆ r·.5Å,ž ùhd²æéÔ­ÂålA)•q±3‰ÞÁö»²¨LOˆ÷Œu«û3ã½A™}`LèŸIM¼×A"÷ùCp#Uº‘ ,ˆS?h|µå~ì²áºÉÕbÌÚùGÓÖ3PØöåõö(œ›=ü2I_ÖZÀTŸ·‹‹CÏ1eî·Þ7+á7J÷S¡ žÞÜ {‰9÷Pû_ûí ]‰Ô¦²JšíˆJžb "^Ÿ/¯~Ðs¤Ó;Pq¹î æryAeH ) ÈË–<¿òW¢ÜDáÅÄ>±U sfhìð]ÝÉæêɘÃñ¢PP7ËËË~J£85S:ùÛ—ÑQÅûUÄ>›Œ ¯“®ëñXk‚ÛäÁ¿³É6lÊ~|‘r>ÿu}_HÚ=çÚçyç äóö. W“@¼4,¥èl<(lèTËV®K†€zV1Q²‚òï„W.<€h@´å“¸|ê(ÚKÁ›»lk{ïRüÄûÆó¨LÈ­³ˆLÈe{h *ô_ô]j¢òêòUÛBS#³hݾæe%(Iøõ*Äì:VL óÌ<Êåk¿õ•(k!ƒ›g@ùšÜ·N‡Ùsî@ìÉûé7 ß-# ¢1kÓA½`Ú¡Í^òåŃìÛÝ.**»4vÙZ ùC7¾ìnåáßIu'Œárý°h>Ç?í̶þpý3Ê¿k¯Õ{ª¡ë¯OY|Õ»ïí½âÖU».p¸KH O!Š'›%–˜S° &Ü1`Qx¼ÿ18‘|‡Ü=>Œ}Õunk¸¿vWÈ8n2[G°™-¨¹=9¨ÈÛ]Ì••¤ci" u€ nÿ ™W¸œæý3êBs7Æ`FÉ_Oe`y1ND $“ã%1C&;¡ºÜ£z'W÷(©-× e´3mz¢ðÎKï%²C˜û™,BñÃ9l­ƒ„ ÑÒúô"(á| ÞÌÕ1 2ù½ßVxäþõƒÕcœf¬ÕTŸ#ÖA¿Aþôùþ¼]ã@4ˆáwBáü“#•ˆŒâ<ÁÈõ”‹…ý©oEÝ{Æ9ºX£üÉE×»ç¢ÊÊ•(úPÍímPM Pq‡öP¼Ýëë´×±„P¸F¦`µçtƒé4Ÿòºòë›Bí»Vµ?@–Íùy•yd°(5ç‹õÀ;Üd.À,# ”i ÙM9›PFÒÒ:´„ÔµœÞû1µõÅlwÿ ê¨þe}fÿla2 •îTðj¿.Ë~ zëÿ–8–##JX:ïJ§r¼¦ bÖÅ`&Ï÷ðâ}Y\îÆÒt^û|¥)倚ˋµØlRùƒÒVnQ^Áþw}lgè@pôWMÓØßõ™›ÿ\£vt¶/ãæÚXÁ÷gÒ\Σ:ÝÐð$Õ§|V} ûŠj‚ù0ø†JŸa‡ß¤µFÙè1D €Š‡Ù„ z`)ú¯ôЯdé-;’„ (çy/×jL^™„‚š`toû:×ç¯mPPR™ò­?—Ÿ– BSºç€lnîÁU-?z`¾–“”§)Õ(idÛ¡õ—‘áû õ­ÉÄá‡jñ¤+ßâãP“»}0žEÙzߥ#³çz ïäó¿1;1Í9åÄ^|°¥âû6'HßK ÇPaBƒ*@:~úùôù‡AÙ jÏ€úcºsPT<¨•ìOÛªå[ "`ëWÊOA ˜rÙIÈâs+/0R=fNê}çÿŸOKúpwùÕlÝ´¶Ý¢N%)¨.•„ \· ÕDÖ •Ü\¥‰›ú$uG…©¼0“àÒg á4‰{Yû ²2æ;\y–‚ƒTÍÊo ›±!ãÏ;öyGŸK 1$íN7Pós'e¯Ê+yºÉ ’ËØ2(Ôÿþm iÿU«RmnâÓàC75Æ;1çOw„ƒB”$õ6£œ¤³X@ÕbšßŽšiÏ–L=†êÇm§ï~‚Ìõý­E Qb³ö¼éÒNXÊ똾 8ú¥BXÈSW§:äG–¤P¨¬O~æèÿä?¶ÿ~¾:T¢4?ûÁ3@³±Û‚¯A½t-!Ù€"í¬ûâç¡ &j;ÛÑP´³¡Åº¯vÉÝMñÛ±Øh§ÈðåX;ÓŸƒ ïkV³U¨××é¨Ùm}°È­órº¥(Êãæ õ2æÅl0¶\„ïñâ½—]:C2•õöƒ2+XägÇk·¾Þåઘ=Å“@Ó"ÖµïŒ  YAAl=}‡LdA¶“ÙßåtB•›tÁýS ˜Õx{WõëJò<Ùë¾½~…ÏC§KF;5¢Æ`TP›É®¨l~h Ûª¡ä=õWbW7`âl²°ÿŸþid-L§AÁ "ò_Ù à_‡z!Øæ…zòÒò' Þ@P\Mè½Þ¹ˆÎY8>ÛÐ üCfÀgž‘G¥XÊå’£äë!ûìñ*Tö!_hÔ¹¶2 5¾î$ñU+ÂÆçôCŸ +•h—³ïw±SógËÜà ŸÍñJAèa__s'体ffÿÕ ‚éšPòr¦ó:žǖÀ¤ý±•HF»_ñÉ[ %nº^\ ±ýhà FºD7L Ä¢È5öQn5(>KyŒÈl¤ ªUÅ5¯¿mBMÞ_iÞ¥«¨n}`ÕÓª”«ˆs+û‹˜ºSÇ0ç'BoGÿ½ïõ"èÊita’ë”û %²[zÜ» ±\ F¬û¯,&±nvÏQÒŒ¶¯²ýߥ" 5«ˆ-Ä«Œ›qnÆöK¤‹Ú‰òYé6󮹡p¹œtî˜õfñ8«ŸÃà2¡,| 9ž™ÇÃöƱýý©…ƒZ‚\Da-Ùûñ%!zBÕx+ö€Ž ç+f[¯-*û' žÊåɺp\ŒÏ|îw¡Oîz‚åÞ4ø¥§ë†*B sÍ@MMßþ#ŽEvÞ‹ÛÓ¢ªË™‰•qkPJeÆG±ÜrŸ‹£Áĺà„/$®l|4þ¼<¸ÜÄþÀº ÓïäMTœ=ÞµajÙY¡ûÔÎ}hxöV ºJ¥ÈœX;yÏ”|õ¡'æiùµD7¸üÈ«“›Ï r1·Wå«y)‡Œ ŠãÖ–Œ¡Fƒ†óƒœãÕ³ßÛñQÏ_­†ääGŒíºb„xµÅ…ßs±”lÅz… ô«¶ôÀåßlI&ÇQ;’ãljMí Þú˜£*Q×önXJm—´yêŽÅ$fyH,†÷xÞ_·#¤©ŒÃuCê@hoÚ.æd(H|ÖuoÐ|H^ñÌ;´[¸¼ÏªtÑ Lb÷Ö’ ".P‡©CÇñÁ©S¯¶í…ù•õï½$#QÌç†)+¸Üms]‚ãñ¨u¦ Ô´ææ²r2.¶ÂŠÿ8}QÜÆ°7G–»A¶'TØÆ?«zðäcæ_›ÓöhÓþ´»É :Ú6t ÊœŠæ.“AÌå\B>Ïï½H(‹[0÷á$h÷æŠø=³rgo&ÕÇ«jiáŽZRõ[{¡Æ›Û[¢<´ûwËÍ(G^˜À?¯b¹¼Ër£êò¾44ST™ö  õn}Ùmªhû÷ÖL¥ŽÛˆ¯3ogÌ¼Š [ÙXÃ~¿šw~"ûµ(Þ±Æß2•L»€š÷Ô¡|CÔú߸ö®5+^g­k‡rÞoRþ‰ã*Åð󕤿\n¶àé“ÙÝζÅÄÑdš?.{»²ßËàŠÃì¾CUc¹³AÉûšEæWŠMë‚ ›ÊºâÛÜÃêOfý°èkÄÙ«ÁÅ(µ‹yåãˆêyœo]{Tm­øo j—ðö:T/uÜñüaJWž9ë[vçÿß›´#­.C6Ÿ/â}Ê•þZ-zÚ¾ù7Rƒ´QtnšF¥}RÖn×§u=; $jø]ˆ ùsHÓì&\,«¾ñ|޲Â!ãešÿi¬š™ý aP,j3)çµ]ßKØc…JÒVÜIÄÊ¢ âDÀ̺MæŸC‰w¼™%i‡ÑÏÏ‚lÇOÑðù>Úˆ‘;Ÿ/› Ú£DHôT8LAÒ“˜½|NŸ‚G;Yüžº LœØOàJxþ¿šãn¢ö6Í!D-Ÿ“ ®&`i(e¨@‹w.!J-|{2çôýSÈ!jè•÷@$×l?Õ¢”¼¿@»•æJ€–áž“®n¹ýËÕë¼6CYVîÞ Sá»ÒùZ’ÑqÌ8וä˜[ê‹JB]k?µÓqî±Ô5Ë\gvšýÜÈírù6*ÕÄÂÃ}ü –c,}Ù¸’9^ï…50$ö3RÚ^Q×Y¶}ƒh›u z~^Ÿ'lÁå‹'°Uã‘#&ðu¤° {|®D†ßk ms¦›/G]_ªç@íà9q¾½‘ñøNÉPHcïvb’#P=‡ø‘£FÝÙ:V L«¯aK@kD@7߯ZÁÞOd*ÓÚ~Þ(ô2Hüv?’Ø*Îö‘ãi›¼ …-L¦Ö1Fföó©½ Ùss(y@¶@Ý”¹£{ú‹ÚÑ¡/÷8ŽEÆiʈ¯¢°+c<ïHÚ¼Éòiøt¾ †(`x_ºÖ‘êåAgs–=aÒ@k2$ˆƒ"u\èä±v ÷=ž4…èÏÜ0MÙñµ^¥ÿ_ž¨’à§EI¨½sd×íÍ×P·€ ¦°*”Ëm•Wxmv vÃ2¶)Y{Þ?kæÕv½­‡lŠßèⱫÆýÓT I+Òlv¶RðP¾e<è¬;4&Ų÷9·×Ùi )t¡x,¹À#~ß¿‚EPÚÚ¯ÙþA6¨év›$¡nDm‹ÌŸN¨HóQ]±yçÓ ( îfð×jæÑ±óHxIdà»ePréÂ÷5±M@>’G@ÕibŸïºS¼Û§ÜmÍSÕ‚O¹Ý¬ šAŽ¿9^X’ž¸øÆÌÿBÈz(ˆêRáê‡Ì¥±Ï“>[£ÖcQæ îÒòÅ·Õ‰¨]“ó¥ñöndúOë%CÁPµ}÷繊øBV'¸b~ž«nöÌs¸*tÝÉÁõt‡Úl¿tª±åxCÈæî%N?(äž?¸ ¢MóÚZ´7CÙ-šÏƒU®ÄæÏÞ¿—8î®ûeƒuB¶¾O›ª¯u8‰¢{”g†_’©‡X¶š<ü& „‹†µœÑ”¨¡‡=o*‰"t¡ƒlÚ>]Zž›£àx©Pn(f2c²!„mНLÄ\ÎG‹^÷®9/IÐá[|œm0ûI[2´d˜àﺼ ¾S ZƒÖ n€}ºÜù*ÜÓÈIŸ¹ý'æv§7(áÎyÔø]ˆ‹‚,Ô=|ÞxÔQÛvGÔôÄVÚl¿KNùvó1{°Ù¹PëDˆ ê3¶ÇÈc (lb1Ø”ShNÈ{w¤­ún*†.'Ä#¬ 2Å1ÈDr~ImÍú#ZT£¾ÿû[Ö¢ö+ûXí[Œ ùaù«$,#±KK.â2¶i§€BŸ©óãÓANe‹‹@;óÑ\U è‰k t›éT«žä‹Ä€Æ‘Ï…èxŽË—mÙj…áò%( r=v÷ VuX~øÓÔ5Öf ¼)D]1 ŠBÍŒ^÷fNöFñ†–Á&ª~˜Îñ6 éýä¤Å[S@tp‘²nM$¨ßzp<è¨ü­èMÉâô*T‘jÎ`$HéÉr¸œgŒä÷dÂW7>OÙª3ãÞ·Ú·u7)—õKFª¼n²ýÇGY!Õqb~M[³ƒšEBh)îÕ XQ  AÉç¥ëÜ(ôn¶C¬‘½‚óJÙ· ò\ëÍ×dA‰ãÛ‚/–yoë¤òÁŠö)~‚î r5ž Î‰ËןtY»h«µåe-ÌÇ¿F…—W[PmaÚïj+Ø_§4 å8¸5†Þô|ÑÞ“r¿<)0Tc¼$#T ‹%±&‹@¼n];3{Ð>§@;w"ø°mOqQ¶øý·Û“¹ó¬QHãÈæ¢zn:¢¾õÛ >¨ßü¦·PkI ±(½Æåžgw²ÛÐóq2$dœ‡·³<@lpQ¹jÄBÐ÷£© è÷%š ßzŠqíU]t=׿ñfÊe‚$ ®NÎ"ñ.¢Ô÷|h¿Ve¨]¹¹OuÛE¨Ožõ&k²êÇžbã喝?}ÿƒ}: ilôz Ûz1$÷Ü©ÿqË—ž6ygn:[*<‡ê¦ÃÄC@wkCtŸÞÀ¼¤ç;”Õê¶køì[´ïei9 <ŸEªx]‚~Tñ©! êéZ¦jŸü!I(ëÖé†×Ï!˜Ý­IÚ§=ÜsµWá áæ"l?AÆŠ† qz'ý-ê ]»u‡ÊÝtî_'Sðòþ{EÞþ#li‹:¶úßñýVO%¶?OÔ½81éPl'dÆH"Ãïc‘E6qVA¸EŸÔº¨$e©è*hÎÆçwN}„õñiY³ š®:°¯‡ã®‹ï d Büì™»— Æ\™æú¬ÍQNdƒ[ÂP·’æÞ`õZšg‹úÖŽ$i•ý+Â'ݳÇbíÁÔȉ¾Bq†[¡’`&~†‚&(?"¢«èÅK³;SCµ‘K°÷™ÑU—K{|APE\Å /П6p³1­îŽÇl%ôÔðûÕê¥d²«£—=Ž·²AíS`Œ¢tÏOË­šã§ç—=kh ¥?´=½wÎõÈ¥®M+¡Ú´=qÜCõ/ʇmÍÝÌ~3\@ÂõKÅë.Н÷ªvHóA•ûÁ–e–XÝæ$Ùpa Ï7ÐYùḳ]QÂVÅ× 0–”—†B(¢qL† ²=u©Sb¨6¦ ¨™LA‰ sš:eË{?6ýr,fdÄ\&€',>úrhÛ›gP“m?'eVϦ…+ÖÌ9¿aú˜/¨ãü2(±&¶üÁë÷Jë(ÐÔ%”³ Õd{0Õj¬H[4´I(·DŸIågxÅs*t­:«Îqy÷5ÍðÎhQ:Öô¡AklB°íì¹iE…@ðx&¥ˆHêœÍ|Ð’µÉ ¨¡·S¨&qíå/@ÞËqЪæPBqë]1ö DGYÑwÁ_Ô›LÊ* š‹5ñ8‹Õ†ý…ÙÝ®"Chj0{ mÔ!—ógÒ^b=R ÕˈuoɦE”Ÿ·¹<»®ýhºOô/ v<Çù¬Î£ù¾ d‹8ÇC3 ûwÕË9›0¿WÚ­~[PÍ£Óõ/±fÒ‰ž½}>cí¸ËDQŽºéÇ×®-ÇÊCeSß„7nM‚뷄˽3A-±ßMŽ‚ê+÷ˆмž‹e!™Ïi(ýOË{¢¶]Ãïüc¹XÛŠó#Ôü\EMXÅsK>ßlåp Ò"jî×î| L#‰­è 5\5Ô{N‹  ï°Üà?ßý "ª9pøç‚ …QR?îùã†;¨ÿ>.û¦óK¬’€«ÛXíçÕí¹ïX”WRžFY­L|쾄®½½ ÙÇÖyï>^÷qÚ˜[—÷û+ æé·=¶Uà’Ëÿú@–£\ÿ`&–ô´²wˆÚ±d}7kORP#Ö.£:&¬rŠXP0Ï Hš­…òf}j¼4'©àjg÷%Fx¨&vïÞ õM‰½jôJ‡Ð;fš¶¾ÙÃn¨^õ¢u «kùmW¬kIu¨ëDó½±||—÷³†§@¦¡5!R€Ú˜Ó5׎ݒc6:ê†qu„ΜMC™ž( Za]#Ø :‚ÛÛÔru>Öûï÷’¹ÝPËñ¬±dæñœŒº…ËåÚBÕZº_Z%‘¯ïƒ:ÛÅö/­Êf;Ì<oèó ‹ïàÑî¨ÕQÁ"Ö’<ö"kŸ\{¼$û8ªypÊ&b ™‡¶}*­V€þÊib¤„º_çÛ¯\u jâ¨oÄýéú%‡¿1DÅ2öÆšU4‡ëÇOv4Ú¸«'äñ¾áD2Å7ýjžZgüÔ@(3‚º,ëB;×… }?%/B”ùM™¯)½’þç·×w§€)¬·£¾6¬ÝþÖh€óT”…Ú¯ŽŒ÷Æu ²Ò%€ü¬ÅÑ͆³Ÿ7]œAýU Øô>3VÙ åZcSýÞ%˜OârÏz‚ ‡ÙOÛÅëˆZÔ|8*xÎ@$7·-§W„†éËwÔôíõÇï“ /¨úN<üË^ "®û>¨ÙB€z°¡V·Ëê Öó>,õ5Kg ‡ø¾YÃç,5Ìœ»^}FQ¨Ûu¹?’*eó¬âx¢Øðšæ7bC{ÝÊùcPã107å!DôªØñEhP÷:ø±tÄÎtãZ¨÷àæÓò>Ô0YJÎz~ÄꎃÈÉ?¹ü‰ºá …•ö¤×¹‡CÅÕ"ÄÚÇT? ?9îT'-90¥{SÈáýéò\Ä+·cÃ’°Ñ/ºLÂ!ÔˆUÙXbx÷¡ ôÝÍn}ÌÃ>ÂÏMÇ??:ê÷aî1 *åž#‚Õô<º·ä¾†?E•¾­ÞöGýWj„Äï|.©¶ •/ÀÏã«mìªÐà%lS’x:_GA®Þ­·|oqûúIüµhá£û1=PÏ^Ãäß`]4‚ÞŽò á×½8c×êÉvÔ! J{R`?*nN|øâ¨1þœvÉPÑë*þ$é=Qq…;×Ë;$Xõ3š -ó;Ç¿ê¿øzJGhÓ‹vbâ¾á›"cm˜Ó£ŒUø›Úp»`¡¨|ü¼:›4ªk¡ºL|¢vÒ`h4xÒfÝÀ¥P[zÐoû’÷Åù"Q/}¶Õµv6Î"cÓ¡X÷”.Ü0nUpÿ+[CµÉ9BPFj·s‚ºíÜ<ÿóxjhÁoˆ» ÿt!@Ø¡XS[רÿïHø̵ê‡}˜fdØf­×ØM ËŽötÞë†Eü÷á'ÇñÃÆ5ä1d„òï£öf'2܇?×e?Ç <ÓÃûdðyžµ|ŽÙ_jŸ¶`ûŽc^8÷Fìœø-mÛÏÄý(4éû÷P"”ÒØÑ]X³9Ú»áõ È& ¨ «7'ƒ¨äøð· çCþõùäˆ1ð9»gÔà§kðçüN›œ²FD6!1Ỿ£dCîè«ó æœžX65¢<#ö9JuX¨árµ#›Î& ¦Xû–úÁ@öóü¸­#-›:py9õáó6Î Ògκ~‰lúäÐõoÞXOeÃCÙM0ƒ+-›AÆôÈeUPãF!¨ç8<‘ÍÂh}ŠÌÉÆý•;àW¯Ã©æ“Ê-›ærúÝ»—,²YsâÔÅŸ²Cĉú™¤=œfÙ\r~ðéŒVPDqvÛ#›¦Ïgü5#·çþg  ¡»çÀó f[6L‚ëP°¸E¿¬1‘-òÖŸê’9å4¨É²EmÛsUØ×;–€›l#[¶sn{}©'ª£ïßAËVŽ{í[?Ê¿o¨XãÙfÁ€}‡=9Å1µ³lYº «S«¢È–®™?ë;cÉ] –²lÛ.ð#;h©Nß²u5åÞG¶@O–&ìO?±½É¿ëßõïúwý»þ]ÿ®׿ëßõïúwý»þ]ÿ®׿ëßõïúwý»þ]þo“#6Rwave/data/backscatter.1.180.txt.gz0000644000176200001440000002250612377701075016401 0ustar liggesusers‹ÕMš=Ž„÷sй€ç‘RÊTêþ›ô,Úx£02%O¯Z_•U ‰Ÿ@—ÛeûŸËÿýï¿ÿkÁ‡Ëzùχëãy¯|Xo»ù _Í^œu[Þþ`×ÃÅy©këIç—°_÷‰K(žBñH†O¡&õð)´©¦ñÕ½¶›8®ñ5q:vZtXjgøèùÕE›ó†mnÙó¡ãOô|EO^ôþþ†Msªv¬¤úÁ+ßÔ•&ç3³Šë91ÏÅ2¦V@®ÙÜxœóÿfØ94Tlòâ:ö3êùZþ hLs=ß0”úÏ1æfŸ‚“ŸòÃnc®³;ÇÓÆþ—67ðƒŸ¹_=õC©v¾àû{% ?O¶ñXžÕ­39c™ë ?ƒ;Ý.® #æ&ìŸÊ;€©¨.ÃèöëLVqÙ_A-è1WÙGÕ Ó\Ρƒž¼ÔÅ#)ê—º±žÄdŠGR$X;‡5¼„@÷ ®g´.S=…ëL#™ëž†ëL~ à ëDwû¡4©ªäSáñ§RÅ¢º×sbö1üÕ-Ûþ ÃÛ;Ì”´¤î0šS—ýýÔ·#Û02¼½c¥Îó½-2œM}¨?¤¥Š€öCУº„sŒ"ñ•Lo†ûcz “=ÃÌω™k'3*.¡‘éµ2‰áî™âìz>eãGRtOS(Úv±ÞØÑª¹,A»|Œˆj„¶KÚ‰-Ì A‹¡`FŒ+ÅWxÿy—–÷TXG].ËVùPäT‹ÁÈ/¡ˆ:±½'.¡(uqã­ÔÇÅ]4Ó(Ííò¸¿þPÜ÷¹B1M-YA'šz•èÀ˜©ÊRu'E©;1s®;ù”o|¨¶ —07üF¹ÿÌŒ©±¾g‡ó¼¢ivº:‡½K'€~?µkÉ-9—ljTÀªˆüĺÝ?ÖY4ÌV>ŠËž[ÒøÔ‡ñòk£Š1ª'C¯÷èŒ;â—𩟛Ï-\|…ŸËIÕ~­Z¦šKª‹ûFa¶ª!µ3,ÁpÌþ£ãÛÛˆ%ãK˜Šw†‘P+6vz’‹?Š:?FÀe››¤| +7¤®Ö:|Èy•3Õ¿XŠr¸"~bK±Šþ!ß‘:ñU_—úHÔ¼ VËÿ/á}rBx"%:7| ç%¢DÇ™¬áòxƒK?ŸI çÛ¶@1¹¤£ÃѬ“¬~È¿è•?ë?„]¾Ä¿Ãhvômy²Rßi×,zÿýèðöÎ#ø©tì+÷;ÌO1Œº€½ØÜ|nX¶jÙkØÇŠWîàQ¯bÒ¢c_‡ -¬ü.»VãT±UÃK]lR«5ÞK]ŒL£ó5ÇS‘Nµ|˜o8Õ3}ü0ë>Œì:² k¢ïL½Ý.¯’X½46£ÖS‹èbÆUú2»Z/óèÖÎmúÛè{bKõ°²V-ü\Ak¨jUµ]¯~ êêý×§‚g­-Ý›U š´zé‹á²cVso*Ì5ù¢lºÐpMã·(zâæƒçb'ü0'2ìëHõ|k^3ž¯ušµLÓºo¯’lgü£Q²eÝ_þ÷ÄŠ¼á@0/eQ;]ª‰ÜIå¦b¼Îå´«J-^q˜_.Fw¨¨TTü_ëõúçò®Ï?Ÿ}½…Oûíé~óøôZW¸÷Çtóv»ÚO×Çãôû}5¦þë8Ž þv{¡žå~óº^ÃËþå~¿‡ß½ßÂÏh[ËŸ­{>‚m\o—ð{×ûUë¾Ò;^Ì—Ü÷-mgßÂAìË-®ërÁ2—ø»Ïû#îÏõÿåz § ~,ù×r‰¾ú~c¼Œ+{†ƒZ·›‰¿n·xLÛ3ê#—ÊÅðȸ´Cù××'x|}0‹ëåjW½\¢üÐãÇ3lÁ} ßCEq¯XÝ¢Û#¨íºïaчYÿùMx¦uÒSQ¹”Ûú°JÌeÞ‰]ˆ¸Ýì):ÏÊ…Mðþ¸»#£jÞö`÷²ßƒna)È{¸Ê á~®ç•mÑ^£ç<Ö|-Õá¼Âªå˜ø ¿ ‡nF” &¸­«[&óÐ »=ð.`‡îÿê¹\£ðËãÎ ƒJo÷‹‰ýr€ô£ëöpë¤E2®`·â>fçGßý¤.3þ&| Uq›:Åc9v8,…>”¿I›3Ëz†í¥©/Á§ªÅqYP"·\€ào ð¨Q ¾ÁÐññrZŽ‚ç ~‡ïï,§%ë9¶ÌƒHâgBhÛëéÌ·ín?á7Y¼‰PF’¾¢‡?ò dHÆ}EóÚ®1¹~\ãFÐØà=*ŠuÑ.Ëî?2Ž¡V`À“ä—<ª<á|ÕâK:IÔ"1L•$NR³H F·³xJÒ³oLŽa ‚S$o?ðX,‚Þ|>(d0W‚Ô üOûéÏ…þåBWi„Z %Òõ¯ ÝôÄZ²øYIüáy´G¦ˆ@®n!]‰°õ¥“Ç¡D„—dMý’¥XýÒðZ)³»g)Ý:¥XJt‹eÆ]² rµhˆ•âîX¢¦@.eĘ$Å値’ȉò¸PFUÚP€YÊ_°Ûâ `Ð4äçi^´F`À$*‰Ét¨C‡j‘­¾¨‡†ÍÑ>ˆÏ÷«=0h*sIõdE×öÅ/ö\ "‘G«áökDÛ >0*+|%HÉçŽs_ýú°á[¸"àZþc‹>b¿GËVãŽØ‘Ð :uIk’0%‡BR–„Cz<kdP;´xIûÚ_–tÁOEí˜%Ĩ _'+‚ÁËŠpd4$ rÉ{˜¨’VÔMVto [ Mཧ ˜~ÊŠð ¿ ÜF8Í‚¯à² Q3:s9Ýxò䢹ó\ö£òã­4û!$yw-©)}ûöƒÿ|`‘‰!U’Q¨™ø‚ˆ|Øäã„ø}ÄWc9â«ã¶$žM|5’éÔhⱊѠ™VHî¾Ñ ,€¿(9µèÁOðp&Ì©©cŠrÄNdIŒNŒÅ±=H” ]TBa5€G ·£’´ PÏ,Á¦?q²`ÃåH°‰Œ›”¿àš™üÐ2‰Ÿß לjå"?á›3-Û“f]Ãñ¥X0œ3´Ì•~™cÊ™lO똑©¥w*3Ùá¨fôe@Òˆg’x’?#05‹¤/â%k‘jù,щ©è™ñü¨‰»cAòœ 5ŽÙù_ f~,ˆ8sŽÁOHP‘„¾c*&sS‰¾02(¤RcIМ’¤=|+òSáÄáŸ"úŠ‘Û r†"Cõ öL±‹„•7Ò2XNžmò¢X8`€lvg‘6û›½ÓV{‡bÝ=+Î%<— ÄÜ‘Y²rÈÈÈ^Ù÷#Š]íIOA±ðc=ÑrèÁÙ3üÕ=½‡ðËzhë¬Ïàc;Þq(¶Üw{(ÅT,Ö˜4>œF\ãñ­þTub !²@¡ØËqFaÏ»åkÁúKgŽº]9ŠÃ¯~‰Ìlx ݦ4ç36j/k ܇Ót˜ôlÐ-I€@×·?á„eA<8?êÛö`Ëòˆ®Ÿ~ÿyI¨[âxÅK‰ØÏ+ÛQv_ nj¡@›Žµß#Â],ƒNÝâõLb²ˆmCBFˆže 2F™n]7‡ýÁ}’¨ß{€NXùK<öÔ{0FRsE¡IÈ"h Ò°³EÒÇê¹õbåÌçQSF5‰´‘ ½à c Nâx¹Í¥Ø„|½áØ$®oèšq¸‘Hš ‘Ä„»Ûý%…¿‘X/ü¦Üý­ )L î¶wÙÇ7-@;`>V mYHC¤-+®qT‹oÊüÑD̶9„í¤ÜUn,“æ¤îáæØëCH[ò¹çY/zN“Þ±äÊ›êõ9áâ¤ù Ë‹›Â&дËÞ—L©4¼6ÃÕælV¯ˆX‰Ày£…„Ó•þ¯«½æ/•cŒU¸%-“?:¾àôyˆòŒcg@ÿIçƒS@ÖÎJQœ·x®a¬€‰î7“l+‚)@…¼Ÿ)Ùœ p² ÌæÐ¡F¿O@A8ÇlŽ‹ÅþA ]Bnhò³ûН%NÆBž ³Tl½´[CöþH‚‘YúIËMˆÜ¼Œ#n¹\­r¡ @g*‡th=Î~µ‹@ð‹‡¤ Ñý å¨Mà#ØD£îGv^Ö@ Ü‚ '#NCžëŠ G`?ĩŻ·Âk?&ÉÁãe#ˆý KfFrÏ ´ëW0è2’á¤@ôª¼´(m›/LFüw’m¢KV™ a‘Ô#­–¸u]KÂÅd„ÒÝÏ *xÛFÙlµ8'¡Å"$¤ú0žÑ è€ý ¾!hN:à$È*„ÓÁ2œèæïÉSN¤ü¯³½ß²~Ñ!•ˆ÷²¼¾¼÷$Šù¥ä à_î=ÜŸXÆfL¼ŒÜ}’Þÿ…ޏ&½üÜû8·CÝfÌ×ÅQ’@JF'ˆøÂ8ˆ·çÉÐåbï3þ—>kå÷^ˆFáÄMÊQÐH°÷,³3å…n+rãÞÃç@ïsÞZ½}ºùÐCà&{·¹32°¿ ʬ|(’â„kÐ >4-ÄŒmŠ7é*Ee/ÃŽ‚†¦ ;PŽÔb­–<.Ôf¼²ÁR(ŸÊ¿ùQYõe‰ö{[Kbûá­ÈWI±_bÑa@ «ÎíJ`Ö‹+àø~‹7°&¦7LEmÄÓPîßå #s²¤B¹^¢á“ úKïfö ÃÅÕã¯ûÞK°&D7Ä÷5®hÛ0É*‘ý{B”¨Ü˺ø€†Y\¥·–šÑ¶s6@Dlˆpºêå¹…¿‹Qîc7’íWDþ)›¨4Û5.ƒª/]>Ñó4µ¹oõ¡ P‰•/PhË}ä±Es†JÑE‘p@è%‚þnQöa‡ìAŽ3B‰ÚR†:ltæT‘›¿Œº ‘0² 2ŒO(VùK\e㜔 5®. » dA#…sô+xr5“ÉîUü³¶8<’!h‡aF‚)­¡žPîÈàJÖ§f*ð—®^œ9œâÑ`a!G¿Qlr|,:h²*ùRÆtc·cÍ ÒpÅ| \@!é>~ݸØÙ¸Õì>d§'“Q¡ÃVwÇ\é0št˜ w’ÀðH@Ò\r  6&dõ´æõœ´›¢×’§b_mùJ:#…`íXå&—MÞQtcɬմ¸ÙùÀ¼X'½QÚ•J¹å#1 :k¥gµ¨ÜÒâŒ5!‹b”dáûǽ™=Iy¤Õ<ºIÙn^ÇâõYôüƳç¹§8?·óKqщÊÈxð‹¬ugúØÝ‚ Š*åÀ¦öÒDMf/ j‘ÌX²I%¼´E–922aPÚg`pÉ]0R·2_e·|s‰öí/Qrmdíb"»ôAû’k‘èÅ÷ÝÂæ¢äŽÚôIî–¾A×F—œ´‹±ý%’°Šõ8­b ± ÁE°ŒÏ&8ZÛ¹ó*äFGÛê¥î‰ê 3,V€È¾Ñ*¬Eçk27 .YFLo¶°,È™%ÞO)"®Bb³g•›YytAtqÒªS侺y˜Â"ÕMm§Ôü) ëÓM»<ÓÍ…EÁMýr3`_º)â\†´DBVÔ»c,ÑÊBz£B¶^T9Âé…Úm‘;/`²{$ª²öS¿ÑÂ%A0¶çûvƒ<3ñ…ú´`©Ó[2ã®î™yqŸ=€ùE68‰ãŽ‚Cáÿ˜ úŠÙÜM'Æ‚ßd¸–ƾôš–bz€ öo\ìýiArÇ—ôå‹L:|E.*Óû®éØ@csv_æ)}“ìu 'Öí¥6s{Ù&@õåö]Ê •“ûÆÒ*|õýÙ„t>¬·Â€Êpâh§ÒòøîH¬¡¯òà¯Â½s£××W3i¢zaCøcÌ ä¤hën¾c@ñø‹Ô“¥º´qwê^–A”b·ÿîhºˆJêLÞͻپanrŒròQq™8J.I„]íÐW±eƒ~@Z´È" *At, Úºú(Jñx™Dw:(…#Md½»ÞGy9Ú’ÕܼD –ׂ€à›!–Ày†| ÓúöTÐËËîL8ݪ ñ'|ÛoXÚýÄù UšO¡ºY¢H¹°‰ÐL¨¶<¶¹„Þå'¸ ˆ -ÅëlQý䆰õ0y¸>† ú*Xt™ vW!*ý*BU$’]e|¼]¬“…à +ŒO¥ 8~TŒÒ¾ÛHJå̶.5ît•$æÕMzÕËA>À®ä]×Ý]´Hü?<¢ÕÕÝŒ‡O¥¶f® ¡ë‡zTü?66ЇŸp´*žßµ’V½U¤¡eœ[¥†ú¨Ÿ¼ì{³ãôtf_‰7/EÐFVâ£çÍ 3ÞK’ÊÃ36ÕÛÝTff¡.úÊN ÑâV×µòzɶ`)A ²‰ø„MŒã­¦šwzØ‘8õµü$à²÷“žù MÓOúðÃ)f>ŽãÑøŸìá{‚¶;FYa;$mâVB>¦Hȉw{õ1E«¥d©¤nrs½!‰’Âu@¼‡žÅáß‹îjfë>‡C$‡1YÚ.Éኮ=¡Æ¼k÷’ây‡QIeS)ªÍ6}^ì%Ed÷ÇNË2ßX’4É6ýé#vZEmJj•¢úø éâOˆAª›Êhª^Ìh*øfˆ· ¸?kB¸{Øö /ÿ ‘v<.Лõœ0áx‹„¨3FJn °RÜ “ˆi7P\ÊþZÌ×™á 9"&ì7 ü¦Ý=©æ¼æx± ’Eݦdq[„vÍP|ÎÆ[v‡S¡p774Š‚Õv‰ïr»]‚ö7Î/‘Œ“$ŒŽa(èè–j™Û2{®Ð±ás­)œRÚá%€§…”Ö,üîÕ¤ô’ùCök?pÿ¼*:1ñ~€•X9ývVwг߶díQ'¼Ú=´^§º¡µ=¬ÚÊ CÄ?·b¶TÒ‹i·39÷†Nò'EsñçŽXý e"+hÑ^ ›ßÑšÔÞO6ì’Ÿüé’ýôªç5´±Ÿ‰)öšÃÛ[ ‘A=j¸÷¢oê˜|qC‡}“7,üÑâÿø‰×‰Ž ßøDˆaAk§=,["µ?àZü¬Æ(ïÄŠ;Z”Í ê3É¢ VG«zP“­zÚErž-5±ª×'*_ÇAÅ©¹õÊèøStÞ ÈÙ’ºf%èZÉplìDÀNÜN~æ°=Ó$ƒ,fç%ÄæÑ[ÍÌæÔóE5ƒqt[ƒ¹œLö–ø„QŠ«šºu´¡£¶Å„Ó{ÓÔ0p;Y´ö͘ËuYQß>å@‡¡ð×i+ªÎ¥K:Grâ:§ÐIH:ôð:@§ãˆ‹ˆlXã;ô× Šã×FIdššâý IÃ=Um¡ÈA7RÖ*Èê ©«É(!=‹˜¢“u×dKw:v*qPõ.Ã}8Sö–_ S#à™‰@GêÌ;¶z©‹à´Xmž ó:{ý |Ý¢ÎçòšSÝÓdy.šK(Ÿ˜/¥>‘ÿFOF5HŒ¶¼ükNuªGj­Çþ¤•gþ¨÷ÿ”¶°§•«Ø ×ññïSÙž~/Êì‹Å.ð¹;]k ©nû‡Å3ó•NÓ‰Aª³¸O¡·áóé€ýF¾R„Ñd¸Y¢š~ Uu€a§‘Ù›æûUÈFáÔÊŸÜÿðn|bWöh3l±V]t艨µGú  /7Þ.ÐéDýJïM¤6©·šÅ:Ò#µ^>±ÿµ¸¸Fi²‰ý…¹`¢›ȯá5Š@¶å÷j^ãí»rEظÝÇ€T< w¡Ô^Hίà0!~”æÏ¯ø±¯MÆذ#K8„ÚN&ÃUg¨U'§Ú™ÉؕڄBŽSÄÐâ=ÈÉ1\¼•}ºÚ »Q…9žÇ…ôºü’¨ µe“» ¢Âœ${HXǯ1Hº8Ÿ™“¨’­z-#°9¯ã´Vãu8ÙÎnå1´ìî^ùÁ‘qpM6³Œ“È@ÚÚøtNϵãÓ¹(;¼4þ5þÍ©êœÐvq:$zˆ¹g~öëGbA3ï— :µƒâŸõ³ÒpÕ‰‰ÖòÑ7?FKæÊÒÕûWwI9ÄÌÕŒŠà•­/ÿÚY_u.[g}Àb½ñàüþÆfÕÂ3UÒÎOæÈ75_’±â~j³ŸèŠEÙÁý~Š?6ŸÇÈÞŸð³6½'±Cþ¹(<ö২û!œÙÄP®"ùôCi_»­dÀz\!N♃ /ÀÏ8âÑ$ Ùa†Âá³:ñdð’$^LÄ#]05ÂL¥ß£ |‹ oéÊrq¾ÑÉÂUa—!-ž,œtïF>ÉÉà1E.ƒKÔ‡pã8Xà§èZ§ƒÇ>’Ó Èee ­ÈìDáâ xJ^WÈ–Ä“‚Ø)x¯½hâ=8^ðήú¾€PŒ°ÅIÙ­!ôBÙÓ ™ úÑä–_JÖäŸs¿äkîx0¤˜H*ù5Õ+™¿gæðOJ-ª3äùˆ[ ·pxö»äÍRðE'.)Œ9Ê5à îØ?Iر¦2üú¡©8}2bQ±ž‹{ZðÇ•c‘ám¼Œ.oi PfzÅÇÕñ€0^˜&àŽ>'¯ A:@Ñù"ñºïΔ°ÿ²…ħd# ˇÖ1uˆö"†O¡´‡†ÛŸÑ~`1Ñç$9P<…d%|PçwiT3æC´¬äIK›y{AnÄü7 L‡ù)>%ÞlŠjgÄ´'ŠŽPMÏ„KÄDŒ¤í0­MäP„ÁŠÀíÛœGêÎÖ$„~Y,¥ãK°Ÿ<¿Ò„gÌ üëFÅ×|UÖ>*Âw`úEŸÏ$ï—J´­š³}3Ã?™bºŒáNÿ˜ø_â: WÐ$RßñO·ÊGP%ëhYm§“h;%#8R›i”߸î9Rà£b¢Æ/&U~&õn!\Šý[´è3l[ ®>y¾®·&Ó"ëéRÿØ7q+€ü­o¼K‹^Ô.bñ7Àeƒ6BŸÚ¾5¨‰a+£KÞ6úyÐØ ¢7>ÁŸçI¤’Jc'5BŸÅ(Žwg£x¢—A$†?.Ćqú^Fñ¬¯1ç‘£8ZmãCøC‡ïþf“ N@¨ö*ãÆ—ãž±fÐ9(&^‚¬G?âÓžC¶ÛŸXjðÞÓž,sÓòáëãM27ߤíÛU zÖóE À7ç™›IË2"s-¸.å4„ù&ÉbAÖ¿r[lõt4Xöˆ0*ýæ«<‡Wcý²@=öžNò†lí¥VlíðK­žat/µÒª¢˜öFï@uÞ½µ—ˆŠïÞþ1{u­Øþ áÎ ¸¶;¹´¯‘¡ ~[ý@÷xÂ+Û³wK'Ïh\½>sÒð¼ÓÚÔ‚És§N²âaá`í½µåàÙÅHË™G·é|à#}—/ÉXö½Ù=[±H¨~{K.¹¾SE(ä³"…gÅR†±*FYb”ôž'ÝæUZdN1§¢Mø4áb³r÷GÍ~r 'bˆGµª5ï)zEsºúFÅkèEÆf¯ &jíó}ÂdÖtnïµJûÊgR¿õ ¨fÄWÒ'`é;¶Ú¢ðl[ŠwÞ€º’n‹m á,îBvÜ…Ì !0~µ V,‹¶ÈmÅòÍü;f'múâo<ú½ói–‡Ù>Íj@ß³ÅD:‹6Ï×2Xö¥”zÕþrêÔ&0(¬.¹NÌ©Ð%(¨Ï9%ÉÖËßOL~tnTcÜßðãÝs[Ç7¦Hóm½8ÉÊâ4Jg6Ã7zVt0 ïa`w’B\ây¢W‡Ø¶NUm{óäYÒ›H¯Èû<µ"a‚2jwx|-»yž]ܱ÷Zp¤VÏLšïì,FDJJ 7T³Lnö×®Ù5¡{‹Ã -íp‰¤ù´6 [mmË÷—z·ˆ6Ý&7¤°8l­1Ž hlzb1Vû‘U5Z´Æ6w`ÏTP™ffÕ–`$¿¾½~òT±õ@곋s¶öä/?£Ï®qW®ÞëÛ#e»{ʯÓß‘ÝUL.ýúÛ‰>2A!àñ‹³N’ù4YÏÞæõd°7:$µ >û¬eÉ©Sy_ä³éºÃþîrk/OWȶ£‡8Ž¿í2ú(âø3Rs߆(®gtmqŒæp2[œ¬[œV?õ ˜ááÀ­'²jë)žˆŸr:<ŠzÈ-½^‡µèq>ÔJû&gëËù¶³£(oRÎgC-Áœ¤%Á°5øÿfT²êZdëÕuÞ¬zïò†{$¼W˜øª‹wÅh_|¸¹2ؼL†ÃûÜ6ŒùaÈO½<d ö¹ï$q¦òèŒâÅyi}zrº¶‚î ›ï:ÌNý¼˜¾»SváhØú÷ñú} ¿AÝx³Óã\” …2ý¾ø¾îÜG}Æžƒ±ˆq˜Â­BÅ\‹D³eÉÇ_–/žsí±Öª÷¨=‘eavÍÇù{Nöž‹g™üÕ–¤É:k½l€è ÇF£ ÃXÙ"®bVà¯ùæÄd‹¸¡ËÐÉÖå4Ú`kågæ/VÊ‘dÿ T;išRwave/data/pixel_8.7.txt.gz0000644000176200001440000001103012377701075015150 0ustar liggesusers‹}œY–ã8ÿyîËý/6*:da€æC/U–X<< ºÏkžÎóù÷ú¼?ÿ{]ïëïýý¾ÿïïµêߣñü.cŸ÷ýýs-·ÿ÷:0ÿÁÞy¾c³×!³ö£ùYïzço¯æoZû‘-YÿxÇl¹aË {óþ†MÙ'ë¾¹h1ÌØE6úùïØõúÊýÊ\û’¹û¿W³çÔøãk_ü 6>~¼¹þì\|>ð@»?æ=¹†–SŸ÷çT0I?¯]¹Zœñi¾Üo\‹`ƒï?ëo±{S× µ†h±¹¾{ü܈éx˜ßâÃÏÏwï³îŸx¶sÎà}ÆðoÃÆòM©ÑؽaÍ{ªø=`CpÂ`Ã5Ì)ðÛbuÖï:œ¯Má‰sªØÚ±opL,Ó¬{æ ëÁ§ÄŠ|Ñ0ø`mäÆ8)8}m+8¾§?G¬ÑíGÌÉ•'rÏ~@ÎÞQ¾Ë+~Ûô+ö¯WÖ¦ùŸ\;…ƒf+ëüvmu­ÂËÀVìkvºoƒúnßßuÒ#ÖŠ·Rƒ/f ¯&&Ûw¾9;1+ý‡˜ ïßß5vf¬•¹ä@öÊäšþ0÷ì‹â7â¸ÔlzÖñÝ»ùI~&æ­'ÿÂSÔ¬‘¼ñB¬¶y»>c»—ßNø»_-Óõ]ò ú@ÃÍò¯ÿ cJÌ®²ýÁºÄ)ùãלäˆÚ ¸øü•½%ŸÔ–Î99fÿî]8_y´~kx•N+½†umô?^JüG½–xbß·o©pDpß8Fº°h¯yª}A½‘±kÂz$'Q‹lS©¯O ·Y¯36â Æ'kíyä¢Â{¨ÏÎ_ñs§u©É£—Öpß…nu[¹ÆÏ©7Ÿs°fÖÚ´cFß8犮ÞW­lꦌ«-ט۴9Ï]ä¤UûòßëTù6Š?õ0êšüÈzcüÊ|ú7ú>ù‰FÅ\µ_ú7clýC“»ê9¶;:eØ¿ï¶rþZ×eº¸mÓ#Ì[á¥h”M5¿U{ V_þh=QFndßÌå{è;æ§Ã®ï8ÚÀ3ÑP¨nÌÅ]žXŸñ¬ôÇy¯ùd\ÚX÷Üè¿eêy@y2çÅÿ·ÖËùÝ=Bú®àt¤-.ÍwoR¬ZÎÙΚáÙ@º¦;¯ÇžcªØA¡¶êú|ÞïÕ&ö!÷ZrKsfÑ%£þL.üO]3г]BŒŠÍ¿¸U}±ôÑIg¥ŽÓÙ“»&¼Þ4¸ã€ó@‹3°\ÖÄ÷Ã{$î ­BÎkœ†¯gXïeèÜîœA-‰” nßÏÈ‘ìm óVjN¾äŽ>ßu͆™õûjk®uR«Ör¾ÿí[\³}ãú±Ë\ß²Ù}‘|Æ1ñE9*½&çÕ@É-ê¯Í|vÔ¸ÂáÖQ>_êüÒgSŒq4în;|ÈßRËáᬡg‹E¯ÈŸr¿JnÁY¡œ[ÅuJ-·\ø,Ëî_œ´º`¯à9…µÊXš ßjü´öö~ö ~ñ¬ÖÚ¢¬i›XûÐÜæXöíîŒæsâÐæâœUÎdëÔŸÓSW쓨çŽc×/·ö'ŸÑã8¿ã!bø©còQ×WXk~žõÔµVש¹‘ºÚ8Æøá½ã À»hê`ĺ󬃺{î}qýwÜÝÊ>ðgï1U]"\3®E±Î¤ß­w›/sõ¡­±Õ=Ë:´•='kîSÁHë‘Ù#Ú%µq!ö/¿´}¨%Ø ¨#ÖÞ‡N[0f<ÿçÁ$î€È¥Ï?°…óuvéž÷‘ÇnØ?K]©V»êœrOwOÃ:l±A/Éï»XsÝ™ŠØóš¼Sz~ÌQ¿n\àœ±'®n±ã}ɦ}ˆöO\2¿ÑnæUrê§h$r‘|n|xw¼{E\_m˜Ïž˜}ò̱"×€·ÉQ]}Q‹°'ðnÏ9哱g?~qxQc -æ,¾Ìß³^Ðâäð_|ÚcÉÉÔ}Ü“E^ 7à~ªÓæ)×!±,Ì󎌚µØÊ³ÖýJ_rƒ×åù¾Ø‡Ök’9d~˜‹´8ðîâÐ<è£n½ôµìË9ç û»Nî½èÛŽqäêàÔºÂç‹å3êsâØòì÷òöcΜçAlG=3~û:µ…b]40íÙñžum=OûsĪñ{]¾¿vÄû {£zl³›ð®5ØÎìIÔY°©½ÿ?µZb‰çªŒsãqž­É[ÐPås0GÆÇ¬ùΣÏî}×Tm!†XÇüŽuþæ¿årä¯k‹|éžk_Fø0wlñ䔿Wêä˜*†S©w\ÿÔ.Ü›¾R¿&ä r$þ_¥7S‹¬Ú—ušyÆ'íö½ü œžøœ¼”Ï©Ýøì–óì7Š[ìçÝÀ(/üŒ=›±æêÖI.݃ثG<¿*Øf¼É¥ì+ÆizëÏ©ùhÃ0Rxƒ˜ JoH Î~R_±qe=mêÖÛTãcýHÞ»¦Z7Ô+ሾ%&£˜é·,åÅúÌ9oÕÞÖ0¯Ò7Æ(öX# öNÍS¬möAöâ~«ë•û³E뉇Ë=HâÃó<±OüÀ‡O,Èûî“Gýw©añcÑÎôëš§­£fü›¼Ç:¡.nožiiƒûXÞ'§§bA­o¨ˆkÇ—ù/Ä9Œz‚~šŒÕô$öë'jò9)öØKüÐùå~Å:f®ÍÑîáÆ cEíf'\ïš:Ü–ºH-p1GŸ´óÂ÷ä^û^àÞ¹c#g±?p¿Ô5óåu7ŒÙÊ3JöcïXµŸÿýgó­5­ñȵÔöìõoLK]ù^‡gªEßÅnrëúW¯ö:ø}@×3W­GL›“¨}Á±×çDžNŒ5öÙw}÷´kœý >R‹ü7ë›ø"Wò7¯î«£:t=±gîкä`ò˜ùÒÄ×¥1¬bgwÞûýÍoÑœ¿Œ¹°Æúo|á7sT>ß1~tÞFÛ½bξŸd¾}—OÓ¬ÇzMžyŽ!^ãס-Œ3çêw牢N¬g^ ?G“é\ß¹Ýé{"{Þ>UìoØ;¼&œ–xûžÃñ#ÎÏ©úåÞ=c_bôÀçÄt2×ä~ĹƒùÙCl¼ñ,œìïãsæ2_£úù@ÛÒ{ØKÌ_ô;1ä¹!õÉžE›èë1}ù‚ü|cœ?̉ Æþ}þLÕWöRòµ× ®Ï©jÖ¦má’¸¢ïÜ;÷ä¶ëÒ^®þK²Ò&â“8à¾ÆÃüñ9râ–yÑk¾—!¶¸·~ïTÆ ìãìƒîÏô™yâþ<‹ŸšÃü¤Ñ~þöïúˆuÇ€ëº7ÆfbìÒXâßµ6ë“\ÌÏ^{?y]¶Ûõ4OkÉ+ûñ}b¿ü›øp,2>ݾç­Ô ¬3jå·SßeÜ žÏgêcqi=æ)ñ§ßÔqÄÓësÇùñ}‘=•¿[ó]&kfTïYƒ±>q§ÀžÌ^Nž'˜ù4þÿõ‡¼˜Wô ý@\?öòÎ6=ÍÚ‚11/Ò¿ßš¿é/û1Í{ï—¼>؃±[µ¿cþ¬×h—9À¶PÇÅÚ“5’¯ïã/¹Ä5{jíSã…ûb›ÏOYý×>²_¸œÉw¼_bO"&­)íÅó{ôPðí;òç¡óõÇH#0Öù>çåØõ€cR7æ^úšXpƒ{‘RÃáWê+qtéüüÆ~ÖIÁ1ùÏú‹¸¥ÔÖäðyêŸó3±Ó˜5Ç“È]ħk=ÏaÈ=#ýÁïÉÓïg7Ÿç8Ö«ö4%æ›ö0ŸßS=Ûð<Ç‘ oìa-B­ù`øGîgí²ÎF\èÞJŒXo¸ÞØëˆ‘QïÞô=y”ñ¥½áÐäÞgc…¸z¦š3Ú~a®kŽÏ“­­Õ¬ Ü7ÀK]O&Ï‘K¬v½ˆ1ö~sD4z0ÈÚñ9žú!X5æí{,×åšÆ1uŽ÷çÚù.ùOî™?®Œq9ƈv¤}ä&úœ=ýœëßøK¼XqQŒwçîÉþfÁzgLÒÙŸÈ}#!'‘3rb¿K\‚kë{ê@ßõ˜cœ0§ì!ÈMÉ%1c}Í|P[Pp_jbbÕ}š1'÷˜©I“Cëöõõ'{Øú~ Ÿ‘w¨ÛFZ‚1&‡ó÷Œ5¹ë¸·æïYc;êüûÆ~Ô|#]g­ÌxßSñĺd³þØ4.:lÅëŠÑ^æ pÃí;Œ? ~f¯³ÆˆËÔç”1£}Y“Ï(Oò'ãþN_£QƒÝÄ‹Ï$v|Îs {5kîÑ\ö‹`„Ÿ‘“Tÿm¾õvÆó|ä!Œôå1Ø×º!ãÌýÅÄç’+Þ½Nã7=v»[ë½>°Vï‚þ^lC`mRwave/data/HeartRate.txt.gz0000644000176200001440000002066312377701075015326 0ustar liggesusers‹uW¶£@ Dÿ½°ýolž[tÝR™ùá8:(–ççx<Ž}û;œŸÎçùwø,_?ûß§õýýzøoǹ\Œ+Žç1;¾'ËÎçúwÊñüûôÚç­¾_ë‘Ûk^6þýÞe]–åúqŒí\ô÷ømŒí{×:±nöþ»Ï±ÍGÏïÛ9‡9Ë{ž7¾Žó^›O¶¦Ãœ¾Ï¬»hîu­žVcûêVß“ëë÷öûñ÷u??ó±¾ßÿœþ>é½]sªKö—®[çƒÇ§1˜±(c¼ã™Ï¹%u—ñçå¯%;羌>çÂŒ?j^º¢Xk4îµ>Û îsÝêßï½Æx÷ç÷°üò9ÿNÙ_WìŸmÎk|]ÿ­îüƒý;î²-í~ÇßÓ>ûú=œóßïÉã}_÷÷sÞþýœÓÔÖ u¨yÞ¾íó²ïTë”1éAOã·±5<÷;´øøcÜà;´¢ÍÏö™+6‹÷Út‡1ümnsûد Ë1£‰Ó‡Zk¼i9Ƨ±ÆPÇ}WvlÒµ²ç<¼yø¼ç­ØÂ±îãÓøMOãVõµ·²g|×¥Ïïeë>?-sÛο%Ùöå{øÆöyÎÃöw—íýwÙö:ç'þýž\·ž1ƒtl¾ëœåëùý´ÌÃø:Ëy ÈF¥Cývl:åüBwN k ;_³<æ´j¾šô÷ή±h@5æc>r|eªc‚ÚÁZñCKr· c5ÆÉã¼q¿ñ•%guÙ·˜þ÷·X+"WÍnÐïÂsÇ×1ܱyìÛ÷S±ü 3í¯‘ã8eP{‰‹ÅYÍ8¥‹¤úãX'ß¿¶vÅ`ô]|?uòq}*Á1Ûª‡ÛËÄ~ãiÅìïm*!Ä?]Õ õ)EZbZzÄqÉë©F꼡\7‰ !ñK/M9-óS]6ôù!]‚>,sÌ‘žÒìßñÕWÌ€·F0®Ý5Ë1™ïÜêÚ1>4-êà%4 }2CvŽ?j“µ¡ãë)=\²~™«ö™»Z²óåã°LYoÃÏEw,}|EŽ&u¨?jÇ$†A/R*™Í)˜¾ûÞ¯Hê-úÄ:n0F5´j7¦0nºkÁJŽ÷k%lµ8)ïí¹ß¯·Bµ„‡4ÉàäC nÜô›¶¶Tçó;¢ANÅŸ©YMº Ñ€2£¤Ç1—Í´rWÿØ#ßSLGc«×oE·ðUñ©¶f•ÅñÔÊ$¸äÃ\»b†}{˜à¨5®S¦ Â'‡\ª+ Ê 1 Ë´n%‰RóM!êöÏùÈ’2Œžõ“EPò‘$ûHR¼úµY¬™ž¯9-̶¢`þ°g êU×ú¥»r*™^‹„Œ5hv¨¾"Òù¸¢䊆`šuÐ1L„gÜÌ?Äg×¢ÊRfÍl“;âV#“§¼‚ˆ£‹2ˆÏ®ï™té]it”9Œ„ªG5Ãk ÃÂ4«kì¸4±vß©M4€õ(ùcVæ0\Ëø˜‡Œ“féÈÂÛ¥É}C/ɦuYd>a%IŸRKƒrX¬Õøƒð#1Ý×Ï\¦‹_ÁÃk¸»¨]ÞQ-"kºhß´.¦×°L0w¶Ií ÷2³ä©™¦é;½kC™~7š.Vn›«iÍ|!.»Ç—¶=xÚ€–Øn –[éE¤g$pÅÁ\§ëQcCp‚Œb{ÿ#Œ¨6 »!§\ È+--ÌöpÛb,ŽP’rµ*©i}fköq—c:g–>G´Rôg9h=‹í‚Ï릉ãnÒÈÓŠVÊ|JÏtg2á#Á-'Ää*ÍŽ‚ìh€t„ùK@\þ‚£‚ ‘Žq¿¡l>¡:ˆ·ã1ÈÀK"Èr7ÛE¤þDÙ%9óÝ%’âÒµ¿TÅ׊õ*@3¶±(‡ˆ*^s‘c…P½„Qþ˜—01Ƨ‰–RˆnŠEÒ›€£&Í®œú¥ý&;¢ˆKü>æÒ‘l­ð°eaG2eYKÚs6žÌÅIÐe–9Í’(‘ÐòÊ{V3B¡â£‘a¹I2\¡NËâ–Ae*ÚÂõg£ÉÚ£s:Æò Ì‘w9EÅÊéäá‘Ëg7ÀÆÜ;/ì²;YNñyú)›h…A½ÅÙ@»öddÛF~í+n@mRHv'•èÀ²ûå¿ÇOâ·áº¡$š ‹mßeö<¶TŒà<â’6 úŠ:a{ýk^%é,+nÐßÓ¹€Ÿø7Ë0îHŠ!ÌKj ÂÁF¢'´¢šIu {þ®³a<|Û|ýo2ä“{L¾êMúts,>#%B2«‰–—¬¯M€”R5‘ ûÖFIV%û8a“X/±y^lZó0ûob&†+9V·'mô\|ýjÈXÖÀBâ€!sÌÆG&³@÷d™ Iå†vû€r,,ØÒ…´”—-ì.fç ÌQoÅYŽ!ô RM"©9bTý(b/G±ß¢nãKF¢L åQWA•»ÈYT‰„¥¯S gÝ´.xFtĘ%B2{—‡ŸeN•”cgÑ ³ÈÎ%{·ô&0@Ïsk×ÇOØ)LqÀù(#p©NHoË€§ô„¸ZÄ(¶0ųѯ­°gm0š­Ñp tTB˜µð4JÉ%LÉŽ‹â èÃ4gèÉAþÈN„,qDPÈXñÐ’H¤¾o鯮Æ^FGäÚ24,Pº;bí¹8–lj±Ís#Ç>²áã~¦7‡<:6”µ¿£NV‹bŸ}­2¸†+ ïG|ŸÐ¾ðb#[å>\£²*+C©…‰%Æ#Àìu¨à“?K“w‰ú™×¢¸P‡Q2”I¸ Ü-P,+ö"´ß3CPEYPɨø#Ó–ÇÆ‰üþ?0GøÞDð¹¬rÜk ïà®­xn¿Á:jLoô´-Ó Cü¤-tŒ‡7©R¸ w waòÛø–;‡Q³mÜ!EwITn®Ó~©‘òHÂ0¦\§6Ü,Vœ52MÄ$fÛZÕÔ:—Žâ›aë‰aŠ0ÈB•×Уk©©Rd¨A¤¥ÍN¬k©x¤%ê­àË7ìN Ë2ã¹³a_ÔdšÖ)C]ci`WaÏÕï‡?s¥¿O¿ê:Y+-{Å”FýÕg~¢«€µ `Ä÷æë2NY—ç«U†²ªç¨;ŒÁ¼€Uœ ÄȽie:3×ï 7•HSgrÂÑ ùcQKļÔQ ‡Ç!™ÅÂí°N¸½À óÀ$¾‡7ÊpA#’kI"²*{ª¿q8RUÊAç~´ØÌé@€–§þÀ2œ˜žIsÜcxQ-SÁµa9 7›“M&“Vð–rC3<ñ_»[@¡•yr²BóÄñ ·ŽíA˜|­ß–IÞФJ¯‰&I}ºp‚TäãáÞHdq‚5¬Ñ…Å«çs Õ•´ÒÇf©ƒ®¨!†Õ¥JGQÖ)ÄŸ>iàx¡XFutѰZ]KjÁ6Ü÷œ EÍôp ú°¿¶°ˆebº›üÒ)‚H`ð&E¡³*ò­W ¢Š<êjiê³M”—<ƒZ݈HÓ©êBlíkhÁC,îÞÖE@.äH½¬dD¦ÌlÈSÉU9ÁÙ)‹± Ð\ÒÖœˆóx8ÎÇÜEÆ¥{Q`m]zÎfMŸRhÒé©KÞ$c£jÛò);¢‡,KCJé‰ÿ.H×ì¥ùæ‚¿ ä±ð¶ÖXòœ.š&ét„ C^Ix”Ùòœ;m¼Š‘ÔAAü‹6I[Ã% ;žò´£µ=ÔÌE¾¨"™Y– ½>²ñ;Gsm948M‘¸5È14R¬^`z»³ã3þüÉç°ÝÞǦPçé”ÑHç®]Ð8D÷ »ïº ÝÖÖƒh\ñß“£aÑ]#Nþ½vàA房-uz_¢ÿ× „ÇY!ãnå¦â Bá–Ëéôl¼µÑF䨆[Éí£ôR9æ÷É3Ó³LC8Ùc{÷çTmn¹ j°¹èV hô‘rñ5Î$9dˆk„ÌUŒ-Ïn—·“¡½¥r×Qè9‘ß@$A ÊÛ£óÉÒÆlºGzÐ%µÄ9¹DõäYø?9Dm)ûP³²H8sAxÛÕÝU\Þ”Döáÿëoïr‚îw­4‚Á"„`T¼þ"˜ I|ŠüŸ@zHŠRDFir#òݵCð•ÎVDd„)*&Þï ]?Ýdöj › ½\LV•h<:9Xv¤9l‹¨xZªW±rap¬£z›$_lH⎋ˆ•EáâUÈpþp©ÈþâG½”.s]ÃT‚mo|ªŒ‰±bÜœæÿUýiÎyvM0ohu“ #ѹ{éX£Õrø’ŸÍÂ::RƒßaÈÊé_ÍýRe €¶ð*Þ•÷süúáڜثEj·/Ÿ¿Ò·F$©³,§§öWI¾¾YÑÊaÂ'#G£(gŒ¾°+).KmÄZß&VWS@;XÿºéÝšˆcF)N Ás 9 ;,®iw“tS,¨‘64u¥Sê]£5iºm=áýθíj<"pÑåä. ÙëÝ-œX±YÛ‚pÙdÑd„ùm÷ïêµÕ§¤xnoãó@"äB±‘¼»ÅA"(’ÿì¹ù# Ä\Ì ±ºk°ÜKû›´È¥ õÌWºI´*q(›ÁàZò½z‡£Ò[«®ä±ŒÛUœêײCªg˜ù¡ýÀÝ f‚„޽¤~ õ¹qŠ˜Y°hm ÃÔNϲ6{DMVPÔàYd„ùd؈Á¼)²˜éÆNÀ‡nÞ>BÊÖfPT¬O“êýÿè#9–ð¤xÕêÀIIù[NULvã“ìKèiÚÖJ=Á=}S«Ë¦ŸÖ•"Ñ(ÔŠ$_øô 0¸HÄ‘qb²4Œ{ˆ-‹8m¤´’¸Š·¬€°Á¡-Ð$d:@_ '8¯—9Zz¤µÞ]-»Œ5mÈš³ôaÉÉhÙg.$oÕBح㪇D02‚…ÂX f€[Œ¬È„Nå$X¨•,Q[0ÙÏÑVÁ+TBLØÅ$!yRd(ÂãáRÙ»Y4; 9 *(Ç|S…ð5ÁÊW— âpE¾¹¡-ŽøÑïšfѪA¶–x(ªCP¼KUR(;f·†bÿÙ™ðÕnk0 $+í:ÛÓ0ž¬Èzmç±ç‡F~ ÊÑt¶7V‚0-ÍBoÉÕˆÄAþ8„5bÕA£cÚ/ð 9{]ðD¢®1'RŠ+,‰`î´ÅˆÜ=lŒh¯e,vGÇby‘ a]z§vjêâ:Ì<²f{oO7§¥I]ìý*.é#Öµ ¾öp7\¡8›'aÌ¡eþ€Þ’Nâ™Ä`#t«(:FQºæÈq4'—-­m­lã%ð,š­±d%ÚÞÈ'y5j‚À(,Ò'ÆŠGáu[H=ÛÙ§:Ï&H Š52;Ú##†q¤¢!ͺÁb,Äy¨˜³O5òK;ô‚tWL·Œˆp“gÚ`7.œ‚£Qkt!l€m¦71d ]ÞÓ, X$†csÓªÁ’:õ{VÚçÛ­>«Š^ºÔŸ;¢¤–˜7 ÈjõH`&óÒ]´ofeh93C…rœ,Ú‰v—'éýºÁK#ÏJ²Q Û+•L¸ÁÄf¡ˆaÉ@²rH‘wfÏ{õkš.Ï~-ž\4ô頢 »McŽZÍpãa8[«ô §8Œ)dÕ…õò>5´¨¬0q¸"þÍ&b&½HÆ#FM±`z¯²èÂSÀ¦Ó/A(ðj¨Øm˜6¨ 5ØåN˜ŽF‰úKÐò‚K±˜ö i‘F”ÌAQ8räEÃæxS¯L·ÎS=×åþ3]Uô—…ž(¥Á—ôó†×v^Ó êuõ¦Å€2îšù £áaPEíÖ‡§†EÓBúp!·i¼…¿FzRon˜ä^³…r‚FnûveAèÝš&^ýÁœ&î,š÷ñ_©b©îè(,ãŠkÑ© ô'YõêáunxóäÀZ§¼ T'Î81`Øpý• ±.ßlÇuY7ýûÑ~T½›ôúU¯Ÿ»ÞÿDÑPE¶Æÿ¼£îûéï1çÃÊ%Úcue{ÊõØe^|½¿u,'_¯v­1cÇ•L¡!ttmàкg¼G—BÕF¦,›ùCMCžCe$ºcv{›Ë)Jꩱ“£ò±‹X3®ÛÏ—Ö¡{Zö^B%3æŽ!(_¹–F/V`C)°ˆ@¯µà…»EOA/®¢´è‡†Ó^k±<ÝPZ.Ó´>-ãÎVVÍ…lÍ™Xy ¥IÇ|dt™KV«0ÎèæÒØû"m´¿s§^B”4²KÌ‹ŽZ+ÅÞá„k u?!†}Äc7øí³¹ÑRÚŽß)¯Ë[ çŒ<<ß½¼Ü±B†[+ýÇ&cPŽÐP#OíìÅ‚«ž˜#âT‘—))GUÐûÖÙ‰ÈéÃzeUÿ/­!¾%vò¾%Vj}TŸdq,òõ y^3E\[®¦7ÊóÌÖ)c0!­žT_/öV‘ǔ݋ØÉLú- ¡€·”Â):‡åAUãÚcŠ ë5£Z8»þ™Ko|ÝKPÒ™¢û„ S[fëae)PúbÙ†Š¦Y&.h/µê,B)݃Œú¡( 1GŒ)ƇÄåüømòÖ%Á ½C‘ÈÕnObò’©%Ö =Ô£\¶}ªq³Ľ‹˜ó[Y%nw ·ÆGV|¤k¡1v÷‚©"/{G0+_Ôo=dbjžsìÊ"ÚÒ`ûÃÑyOÂb”"u#X:?Pø~¿I5–@„Œ¬uuL 6VH„çö`r)ÑK‰£ë½QØåÇ$¬Híµ—,“Áv“LMž­Ù oD“Cwù…ü´•@ΑºäÂà ú½¸é)1újf"Y½Aà’¨[ôy¢Sd†âÒ[Cï³å)öFûÑÉ$Þ«ëiEï±WkX¿ðµ Ü^t<~J¢Æ"ßp<Ú‹–^ôÖÆl^QxuWqÒ3HýiG{i”Î?ÆÓhfC+<°¶"&Mö3FïÇcY–½cj¾ú³7]Ïùª"ÆK°æ30Hp¥7y4kT¥â û‰ª u/ò¡ 7(Uà_2¸ Æ{Ë q+µ¹¢ØO•Ÿ&Kö 6QÄæÎ¶Ê¶R¥DWÈ^˜‘» ÑâucÑ}N]]q±ìmQNµ|šT€¹nú¼•lyN;þš° ö2üCS™$“Í'ƒSßx•Þ­G!"¤AцAÞ–¥y¥±ËOÂq%$lÊF@†ÛksÙè}Áå¤ñ:J±ûûŸüݦ¿ÚîïÒm¹ãÊx`±Œwœ<|Mˤ@,Š ¬N˜0Ì]ÝT¼à ÞìÝa|Ñ‚ÊݻގTü÷â¸ÚýåW£dÍOÓuôð1>ôÃ{yü ¿˜/´Þ ÙÈ[hHX¸)W(/Y Øf†XÓ'<8µi2•7¯ã€fb¥3¾¨giX [ÏÓGNzÃe-œ>Ô—ôq$¹AÅkP‹ ­ùÃ[ègÉ @ÝëAÀNeÅloÝa{[œeÊÊŸxŒã=Ïæ»ÏçÐ?îa¯r§‰ }„Þ^Ø^móßs‹xAtCwŸ û´ xº0´sëû2yj¸]n?W¤÷M À¿|ÿ1éAuÈ[Ãé IQÚ”a‹ô­êm¬Lt#ØÂl÷Ó¨.Ðm".fdKDİ¡•Nrió£C £ø¾VQ/KwSãÆM ŠéŽ™¾(>|9ÿÕhñ-?¢..FOžø¤‰Êu9†h¢éØiQ£M|¬x1ºAaZó3¥Üæy)óøv~ˆÒoÒº(GÊÕ«‹èx ‚² åÞNÍú-7 òiðMÙàš×ÎÕŸgðxýfÕL‚^’z¦Ö™¶Æ2 nTi¦…¹¯%Ú`ñ¼u{tú·”.m!\ãÄØ,´(7Ý#È`rƬ»“ݸå®&üº™vÁócFhèÄ×;2—™Êå˜v`oÉ“åOÚ ]/÷¿uŠ—²–I„–8È›9õºÔ»RmóûpbíUØÓӎΚ¶PjëhLóˆ¹Ålüå,h]ÁÍ!*EW,‘B¨ÍÏÀ¯{7Q”½ÉF‹Ž)ÕÄò£U ©PÛ$ªLŸ”oÝ`æ–DRê÷5…Šuׄ‰OÉ‹8=áh#A,ŽÚâ³1B*(’a†}IïϹeºÇ;ÐïÞaõýËúÇœŠT½ŒTX› „¿ç©ÀCfmò†èýOWcÕ#zÞµø“¸µ6Ö’ýÐÏ)/ FÓÞ껉-gEÖ“ùÏYŒHœ•¿¾Ç£$—YwñêMÌ%‘†>¹¤ eì˜åHŸð«¼i]œótÙ›,–˘[k§gÅŠ´#jÓ7¤·)ƒ•Ùœ²§ì¹j¢5Œ52(ku-œ?ùVæÍ¥UÑjÜ|¨†·\«n¦šò§NvÏ5¨Gº¶½€ŠÂÌ"@–XgIU¦Í4ñ|ŠŒþ̦U¢Rwave/data/pixel_8.9.txt.gz0000644000176200001440000001110112377701075015151 0ustar liggesusers‹}›Y–ë:ÿµÍÃþ7Ö·ÜJ:¤ß‡OÉ2EbH$’´kßÏißç¯ãßë|ÿnïõúﵿ÷ö÷u¿Ÿ]ïûùý»bŽ¿Ï–wžë½¼còùñ'>ËkÇëÐØëŸï:Ï?ïûçýìßýíO×ûâü¼Þ°ÖñŽ}¦›Ÿç™£?ì/ž Fòüó¾0îÆk›*6¼ûc•ÏÌŸ±ËÜÂ<oÁYþÒÆÁü`,³Y—¶û+ÆäÿàðïÞüâ†ñ¥Öç¦öˆbãï3—}‹]ÖŽ_´ïÍÅÁºKN˜{Ž̯y™sKĪë`ÕXúâ^Èyýùû¾Å%±5¶WÍsLcŒä3ë;_[Üzï\Ü¯àƒØpONÍ’oƒõp¡{®¹ž½’œCn"¾R[±ÿ™úšb}2w´ãÆü—ÆY+pýM㬽bnêØ÷èòÑbL¾F½|>§.E½r”zaM]˜‹u´¾ã­IY;‰ëYí(œÌXÐGj©7ÎÍ?Ö½5vüö ·;.¶)ŸQs2Þ¬eÖ÷¯/G¸8!ßÛž×ïf3ótkœ9¯ƒœßçEcé‹k‡ùصyçÖÊÔ5ž3¦¸ÏÕ‡cðhìùš?Ô‰5óÇZÕ=ïYóPÑ÷4ÏmlÇr:ûµm®ãóÞÃÀ=:}!g¿ï¼Gðqé}â·«£ÇÙi'bÓž3ÞP“mŒù±Œ~nô|ëæHíf}ÖÉ:XŸµøÖËA Rwoúqü6&ðlóíOóƒqáXÕXá²ôÛøK,\º~¾k´µP§%Ÿñá†êÇŠ92þÍËç•^cí6ªwÅîoîÒT?mmòw0[žÃ‡æ~ê>æXñmsê­»7ìëÚ庺§ÂùGjñFû?K›¢gÈUwoC{5ØÖ$¦ˆ-Ök“š$c©Ÿ¸&ÏÿkêöVöX>O­,-òñ…ëYgqü˜+¬!É›<ÓC-´u3÷=Ô¿ÔwÜßùbÿáËç–ì[´™EN÷~˜úоsÉ3‡‘æþåÄ=îcCî]NÔbD=•zÎÜÖWƪû6y˽–{C®e>§æÅÜ-÷ä–«^—žšYg͸gI­Ä~fMÈ}Ïu­=Ï©¯¯Üb½d½Ïz"Oòš½3#³fµVà ùźmÇœ´Ï¼=ÒõŽ'¸§ëˆszUxóx9„ö~f?Aíux /bN>•æörò5ó~÷c;}ÀؼkG”\©ß¶: Öá>ïÁÙ€ûch;‰e×UÎ~ô½¢¿¬ÜCF¼lý­ü–s]s'Ǫg1âXø¹ùïô5è‚98q}ë³:ÆÑÇžCž¾QC¸×Å”}xG?,gâþÔ^©ÑG0†·ì#—{x¾í3fÍÌ×]œ¢ï¨QVØ@•sÌèaûg\ûoÜZ¾hscÕù¸„9kÀQo¼¿þì&vN=Ãþ@=É3£G/ÆßmúlóF?Ðvözò#µ4ë|À\/Så¨ó{¿ÃuzL·oÅÚ-Wü~46ç;0öÅ5ÔìiYs€÷Ä—û”÷ùÖÖ¡Ç`œÏdX÷Ö«ÔXÌíåùÉÈ'à¢Õu¥÷‚\‹þ¸¤pðùÖû¥gâ sîH\±‡™“éÓñÅß=íþàžïý“ëÏßÊç‡jAŸ}þR[ ôP9Ç`\=£:l|µL5ŽÐ‹ƒÁ‘~`n­}hmõ¸‚GÎc i=”þ£ëNûX‹•Ë Fvðã N¥þØN~ÊøSëÞ_üuýÏ„õ—X—iÛg2—ûëøÑÜæ_Ö÷.|µÓxxM£ßW°¯èæ}°6mJ=yJÌ_Íyã_°ÎÚgmÚ.ŸíǶ‘†¢~a~n]«VË÷€ŒuLޯ—ùqÇsî-£¾áþ} êñæsËô=Þ4ÇúuÔõº½Ü»g.ß›£¾ 7»0í\ã9È_òÿ²Ï²’7ò2¹+úô7¸ÈºžŸkÖ¯ò×}—G-¯þÜÎŽrŸß±÷S]Ö3ê¼`~¦wÂø _naœ|É\ tc§QRKÉ û ±Žýb9Ká‚ö0Gw½WÖŒV§î¢¶åœÐ{¬µ²ÿ§ÎÐYW‡‰ôspŸµÀZbN9žå™9ûо žË÷"Ì£¹õÖ:äeÔbû^ƒ¼f 5Ò?ôÃú‡Ÿ½kò ¤œÕ°Ý›;ê…N‡»X{<Õ׆ê+ÚáßEKYKúŒùï/¿<ëú¥6]óÆï£9»²Ç?…ç Ÿ^l•g2ÏRóþéëüna»Â•ð³Õ(usxá,A}刮\à‡t]³•ÜÆïW¸.q·O…ËÊÞ6XÚ¦Šër¶¹Ø9cýSÏ3ɾo+½ cKL©3‰ë‘JoP Öñ¥ÎSæ¤Åû„ý×ÔÕöçõöügû¬ hï/Y7È ¹¶a›¿ë¯w{#õÛ¶ÿÌœC¿Ywl þ(ÜíÓËX – Ï«¿Ìߩߑö<ë¸vVÁÞt¿ü-îo}My;з ç=ZƒZÖ‰ûðªy£ñ4¸1ý}‹!ù}FŽF¨X2ŸŸë]õ˜gŠ9ÇäWí-Hœ×Á~â±'ÈgpÝb­½JáâÐ5Bn¤~áÙÉYçe¼›- jíêãÓ^üѵÁ^-оƒM_tï''З/5»ƒ÷UŸ9ÑnÜš»2nÓçÇ76Ä`«ijüþVë7¾õ^‚0âä¶Órì÷Ž õÑ F›-РmÎ]Ïz?ŒØ»mïÑc ? úæ!Øåõ®k—}ªuÄ…º–;}©ûÖ¾Íø~¢Õ8ööm^ÿÅz€–-}ü5cícª{MèˆVW;žêšE£Å¯ðˆõÅ‹Oìø»q–=IήÓÌ1âô¥R+//­É>J¾` ¦Ôž­‹5Ãèì q/Xãš Ú¤ÅüÖø‹ÿo­Ù®q6a_²÷ ¦hsKñy±-ØÚ«Ÿ…·Èm÷¿Âg·¶bdF}X´ yQg+䬑(ó’ëYŸä õø86…“X#«â#.oq€&ö¸®Ÿº‡â÷„%~üÍùZÜc.ä™JÑ#è…G¤G~ö,î%˜ã½>ó¹ÿƃ}¨øBßS'ªcòR‰ y ¸m¾±€çÚ³ÂP‰Ë#û¢_•ò/ÓÞ¢èæµÚ×Õñó«pzQÑ ÑÔËT0Rò²M¥÷®q~e¾)==½Å××ÒÇŒoᯠ~‡ì‘ŒÖhñ·æ¡†å…vð;0pWó¿GO»p޶†â™tbºNž:Í)<:vGã,ŠœX®×ï½Ò?}†¨ø%7­I3š;ù#ÞÅ“ynÏ]²Gï©ûK.¼ÇYêu©cÍ]ÎÉGû×ú=êŸGá+k'æ<ýJ¾tqÅÔÛ… ¥¯ËäqÚ'ÎMãÚwÞ‚r§|o¹89Ôëºñs?:ï…9Þ´uƒßP÷0ÆÏÞ+©&A¿ 2v›|"vÑßÛ:WµÓº£ë“ëÔÇh×|ˆy³IÜpЦ”6,/î“q¶R0ª]bé1ìsÛ×þÂÃóT±¹¯‹n&¿ŽÖ† 7o_› _ì×êÿOëTëk®ó™ã<®à\Ð48ûö ¥ÿ§ò/zt×g½§Å/ûRî³ 9Ln/™µÆ:U}η^4W”>è^üôïËž˜n¶[OÌÕ–ŽËÝ÷ýžgyÄïR×-•ú{±½Å÷ï|Åož×£¶¬ºž™ïe­Y‡N(uLLYoP›"ïÔ䤎aþ—~æc‚³ß†eðL™s›Z/+`<£Z-gÇ8–ø2䚹ƼèÀ¹®gêódêL÷ÕÆ Ë7 ;Ä4¹ˆúט^eCü ¾tnÁg›|”pŸ!Ÿ õ¤yE:¶õÆ•¼7â”äI¿9mÚ’Ü‚ß;˜ß˜£2>=9Ø&NcÚüÔ¸”s€»Ž+œuV[ŠfC â<Šqôç¿«ÖP ™ دòý@W‡æ:jšô$óeøÇ5¹NýÞhy1û¶úêtê5uئÞ.úeÁšmиä¨s-cÎÆ~èó9õ¹{1u Ÿ!© £²'áy3ÏnÈØ›û»·–רuN5F¯ÍÇÔ´b[sÑü©;žc±w̃çÞœ—˜áœ€{ÌÆ‡Œµï5;Ý[šæwÚhÿ’ ðåçÞ­yÖ:~Ô/ZÍ ts^øT=¢Ó€ö…>F»³ÎÜç"m‹¯É?¹pžjÿga/\8ÔýëÔüíã¬~]öa¬eü>´qïS‡Ý#vßûmÎÜ“¥$×Ôû»N5ÞŠ'9©ë¹Ž[Ö9‘£EÜ ,´ññ-׉3õÆ=Õ˜@¶5É'±ç€ÝÁâ<ŦäeÃ3ì1âàv}N5ÆÒ$Ífüž¬;+9‹MkÀe.ØØ|eŽfù ®³–)>3ó÷o³‡º½£ðá ßZ«•XÒßsqïÀZŒÞ»s_kû Ÿ9œcÖ˜ãÿ¹žÎÛ>óø¼þ½{h®Eö(FÔX…gÈ—+TËEo§¾  Ô7J¬ò쬿ä ô¦‰‘½®YôXæ9¦ÕBW/ÛwîÛ‹al—iÜ[«îl”µLý` ©Ù·JÝz>æÁ½ÀãØ[ŒO/‹vÉ+´=k„…C5H¼-?æõ_žÇÖ»àßîÌaÓÜÆûsøÞ/û2c€û×_ûœ¼§ÔÒÙ/¥ŽoÙCìàÊî»]vðŒ±Kn¸†ôd³ïúúXzÅ6ÕóOi£²Z¾ö§îd~6Ùºëe{©ŸÙ»¡ ¤ál¼ðMÎÛh?¸ƒ\Ñz 1É~Çqï\;õçŸë3æaé²\kíï18¯k1qc-ý]ö‡möEíþ~˼æž@.¤ÍÖÊzK}¦ØCŒS#°'pmå¾\ÏÊ™´Y‡×)z|ç{ô‰{óŸý×T±H\Ñ÷ó÷ÉÃÄÍ©¹²GK¾™kúG'g@Oµ>Â3$ÎOÛ¡?K?u?[¦Ê#Ž)ÏtØ/b‡µ¹Á¾š?0_[/sš7wê¼ØÆ³Î7ne¯È>=OÕoÖ$u¾1Ç}Õý/±PÎ ØGÚƒýä]¿œ{¹?1n3l¸²ož‘êï¿]+üNÿÀ³¬³cªº41¼0ž~“ÓUÝy1ųµÑÞŶñ=x¸ðÔ¬¹¨}é{AâN>s¿ ÷Œö!æ(æÔ篬=ãj“ Ôܬ/úzOEŸ–¸˜ØYó«þ+<#ð™„õ`bËß%ŽúÄ¥{pu}^L:þã=ë›üÈžƒÿµ)cÙ[ öFæ×g Æî<Õ|òE–9‰9ñÎåÐü“g¼_ãÙ1që<sá êIr cÀ$RëGçw|9Ûܰ&ÏÑ2×1ø{O5‡ÎóÀëQN­)ò7¶ìøKóžç?æoêåÄݼb\¬ÏÏ\Ó™+6,š›~7<¯1®Ïé[繟ó Cë.àIc‹8xÇ—3†à1ºèoörj1Æ9œMl€Êù=kŒùcï§Ž&ò¿ C¼äåý“÷ìý±eÕ5ëÀ{'}WÚìäþëÆøkYÃY‡øì“½HçWå\.XðÙËè\ž\G|F}’uÔwJ/]á;íq>§š挜8zö×þеǺ;µ.qüÿßËýÑŠãb`mRwave/data/amber7.rda0000644000176200001440000001166312377701075014134 0ustar liggesusers‹¥!ìÈ…+»«ÈY,)ÄÐÐ Iã ¥‰’ßý?,X°P”éMK©šSßñì‚í7ý¦Ýö­ºçž{εß_þøÓïüéÇÂwáûï¾þÿû¯üáë¯Âá7__ý×üíïÿüÃ×?ý6„ßýôå_5üï¿/ÿ*Ýëûûç·×«{}?wïûùç0ÿ{ûøêsýqK÷~ÇiâxÏo¯‡ø\×Ý¿vÇí¯ë€8öç]àûûó»ºïëÖ£ˆïƒó.—þüîxÿ4ã’E\²ˆoÿ~qꯧ?ß>/ª8¯~Ÿ]°Nêç"Î[ýý)öÏ\Ÿú^Z—þ{ŸÝk…ý¬Ž×ǯŠõêó¬Ïë7È‹&âq|Pñ.bý/q¼Cœo3qª ¼¹`Ÿ|ûûŸ#䕃8¦öOßó„}QÅ÷<ð­ÃpŠðõuMÕ*®ë8¢ð´ÎVÀxK¿v×}Âõ÷û³ <(°oÕûø€Šk¸ža÷x’Åß+ü=DŠØ—¹OÀµ ð·A]Ïb?«ã]œÞ^+ÜzŠë=D>¨õ.À㪙§À»û*ú¨ý\ oOžP—àq6ñ§Îb?¸ûü2ó«B xöSÔ‹Ÿ;E^g3xd:¨êæe~Žú7ƒ |ô9ço?/p^ γ@^Ô›ý†Â9·~_býÔû"x‹Â7Q_ñ|¾Ú¯ã›ø~âÙÔá 8qÍóg8ù"x‹äàü ësÂþW¼¢ÝÄã ç÷üWÞÏsˆãû0‹:F:ÏuDá{ž¥ÞB=V:É~OÕsêKʼÖ¡»ž÷ü}ýõ»Ô=âC­ëÿÜ}*ðUÖO‘G²N]sþqû{úóþ÷œwôÇýLñÍ&¯Ífž_ K*~HyHz×%êÞiêi p¥|éó³‰õ®BWºßOൗ©ßк&hⵚz¡Ò½*ð"ê/Й2ä[5ûö³ã-§É‹³©ÿÀÈ8÷*¡WõLõSÙÔÝ)>ÄŸI×-Ðß\æÏ¤ßÐ[©•›q<@§ª¦¯CçYO/пVà£ç0ù[_ à–[o äy;á{;Üxè¦Ãï5¨Gýû‡™§w÷½Y¯›©'¯¬¦>q÷ó'øÃî>§ºß Ž7ÈÛpXðé¯R]tñ­ =Åí¿ó͸S¯¨fÿMzì·G G üÜæñ|ý,ê¼Äõ¸š¡O$&x£ê7‡ëPŸ Ç5·áãß{?žŒƒò‰\}€ê ñbʧýÛ :Xƒ<ûyðg«ˆw]úÜ!Ÿ›É(Ÿ€çJühà[/à¿SúÄSW·¸Ìþ¨O;çúÌÐgP?QLŸôô׋àÛÍÌÃ<×­°ŸW~Dóöò¶ xKß~—{ý³ä…ïu+ýB}–ú ýp3çª9 òçŸß/+à7(7ƒÎPÍ:áòuåÿ©ýp@þ^€ËòòúäžÀ÷‰—WS¯½¼¼—|‹p£Ìçr¤®ªüº^1ß3ä[4ýO5ÿfê8®?q€ÿÔ`¾àšïsÔN3T¾¦ÞFú ñ+5§ |‹ø1ŸWyIzì_ÕüKû$>”›x§úúø˜«ËT¯Ÿ–ýÿû®˜¸U@7;¡NªëÏV<´˜sâZ“NÖÌõm7ñÚï Ÿ÷=·š~Õ'¨ŠºaY—U“o)¿ Íu-Ï}ÞaNPͺ:L†xT3¿ûý¿|\Ôy¾o¸Os"—¹]\¿€Ÿe³Ž/˜çýÓÐ6Ó/)óú7èæÍ¬³TO/“¯¸:N3õµ >]~Ráj5ñÃÔ½†ýqˆ>þß$ƒ¾ë#çWi.‡ð±@}«¢n_¦âÎw¾Ü€'UøTp¯œ3¥ùjwîé)tœ`Æ÷ø»@BsÙÔ‰GÑ8é™ö·âÛô¹ :C_HôÑè§W³ŸÌ0·Cyæò[¨GxŸ›ò!Sw­žÿ ùN>I÷T³_ÉÐïdà÷â¼z\•ºkñx£Ô« i¼˜¸/pä…O§9Ot¾>·•¹þÒÇ[ƽšëRÍ:Á9çýÀ ßè%„×Ùä—®~é>¡ÀœLÜ£y³ËëcT\eŸÓïŸ8Ç‘'Õ¹î2Ôkî÷Ž»ê3‡¼¬ÐuùÜïGyŸy›ó$Û&sý½<×!m¾ÎqŠø¬‡9ßQGÅu©¼¤z«â‚¾\ƒ¼£üÉ&ïÌ^?-ï/ºë£TÐ뚈_…ŸàÝoÓ@÷ü~Àƒ|o÷Ÿ6ÀÁGµ?¼`½²Ðgé¾™föWÂ?‘ýùˆí¦_'øó«ßŒÀçÕ~H&NRÿ<õØ üOõC x¨ê«Ýç$fÀÏ}kŸðîú/sÝKù}’7’Žàö ‡ç‹¼„êŠÀûa_ž¦oÚ ®ÕóJñRU¯†¼R:h\Ï^߬pø£¬·ôü4sÿ ÞRçy8ÔÇ(ð¾A\ì£æÅuXwzQÝ¡‰üÍÐ7UàÑÍÔåÔózÊ?T]øg}á{Ë\ÏT|jÈ·xs¾§Ýijeî‹(yw½MèÏösÞÔÜÈü)›:žºÿ7 ]u Ìxµä§ ê3¼Jý+CØæqRõûŸhêÏu^φüŠsÜì÷¼W诳·e¾OìxÀ¾!ÝRâÍï4à}UäO¿ëÇqU>†äù®Þ.ø·äyäT3.ÑË[‰·Às^x ºÝ —5ï|¿0{:…ýÜ™:Õ3ÂG5'×ÌóVs+èP¤oŠïíófÐ7Ø¿ ð?UÿE}è×_ÎgÐ{Ú<Îr]A¯“|’|Uá“K>I~oöú¬_Šß/Dõ¼Íë>¯~öá x*Ögx5×WêxQÔjÖAÒ‹é¼²ÇÿÈVù5àÿuø?ð;µ^ø‹kžRŠÐ¯Ò\j…¾ŽxL„ø+Fs,ÕókÕþ—}H0q’öžëLò'š'n^)u_êsˆ÷§¹þGø.uÀ}(è1òþzÎØ:÷+è>Uu}þ¬æÜHöøÂ0_­ôÚ:R3yŒÒ)"ðÜÓÃi¼¸ÎýTœ€8`?\Ì: xõÔg¯Ï@ß2Îë£Äñ<ß7ê>hç ö™[¯Ôs¤ÊÍùàcò9Ž t¿Åôs—¹Ï |2ù=ê[Ë<>Ãù\PçŠç#È<¹;§Tî}ö×Bï—º¹ÒÅøÄ«Û\ÿR|‰|z竎å›säg_­ C.¦Ž<ý[ö¡‚Ç!Þeà¥Qø‚jþ Îã>Äa›ÇÕöU_½‚¾<]ú^až˜Çn~ÿEß7Ä·y¸1ð=âYñžîíúiRo^]#~Š~¬àÉRï¦ùZÿ÷óÞEý2ŸL8:ì“þYÿ/ÎûSÙÏÁý²!_-›ºèUX/×nTÜùU'å}Nú@˜/•ùÓïÏM|.y|IåµôéWØ¿ê{V³¯ˆÝù$¨ÃJ߈æöE©^Ð÷Ëõ‡û<¨Ïæb˽:E¾=FÎ7¨}@©ž®æ/”~(û¡dâÒæÅcÀ‹`î‡4ïqŽ)Ì}|Þ™Òm9¿òUÄixÿ“uUîË p=Ì}9é[/÷æ$?[ äà‡¬£ÍÌGò#¨ïÛ@ŸksÜ·ÿ}fæ™ï7â=²nEÏ×SñB߉ðc1qEñ–dò”÷ׇà‚Jß’xõ?ò¿A=Z ¿[çñP|Ð.ô«É÷Öyû5‚\¼¾‰úEÔm“ïmÐ×4ȳøñ¼Ò í}–<}^ú¢î·Šž>qûßYUë“æ8D:‚ªû4‡§ž7…õ£A?=NúéâD¾Óú‚ÊïÍœ‰¦£žÛ¾ŽFs_$ès’Ç¥îLs/êåêÕ[©ß#ÿ™|ª>_îÍÿP?6¼¿Šz’ÍúRLýüÒûm]xŸ6zþ'®W5ùáêúqŸB÷OË뎿”( ¾xŠóЋ‰«ÁÄóÖ‹úî*®7®&¨ýœí+u}ä%àÁÛÍø$Ï'’º|~XgšËH7ë—»*n›Ù'N×(Î+˜¾F€8-‡Ô×>nøÀ\ëû¿‡§{ ëïOPüub>HøGxéêftÝè_?Lßõoý¤>¸Â\ƒ‹Ÿ47¸B>¸÷gìs@òÃÕ›ã‘ýe‚ëÞipœíf?¾oçׯüºázÒÇä¾[¡©þzƒ¸¨Ï?æ8‡:L0÷A˜Ï ެ€cWáÿjÆ9Ÿ ðýi®3(”æ‚ÐÛDœ’‰ëâ— x@þ«xnÀ~à¾XGSçS.0os²ž)]ÙåíJ¿Û?WŸÕ¿§!yD2×EÍ9©9ª/ +íbm&ÏObývqþT§Ô~÷x³¾¯€Ÿ}œ ðêËÜOâé^Áôýî®ÍSÓ÷¢ýZþ?¿U?…÷Q~_$ÿ=š}l;B¤pú~ëbÖ…Ç|¾ïƒ‰æ~M7ýéâG<â"Ÿã¼Š8«uÞD~ížO+yÉêá‘<ïŽxo?O!¯Œ7û Ò;]^®~Þæ} ÔE“©·’N‘ດÿ¾ÏyÎ?$ïs_çºê àeÏ?‚ˆ×Cð˜4÷!Ô¾–8»ÝÄ›æI"ô‡ÛM}Žúõû»¸>w~`þú>7…üsþ:þnêEä‹Î_—wSÿ€º>Ü“nêiîd€uŠ]~nfŸÀç&2ïçÄûxû~o}“üoÒÿwàg®Ï´^¸‹õÛ§7à;ÛM^H}k‚úÍýçêb;à‚;ßa½_)¾=ï63ßWàŸ«Ð—Ü¸oâ{©Îí Ï¯f^N«>l‡~†pãIÀ«Üx“ž ï1è軨·›Ò‡"ÌßïÌß§ý’ ^É\Çh^²Ãþ[ÀZÌþ'ßÜåÕª~’>ù0ñd7ùþ¼û è*îöGœ× ¹¸^˜¿”|5´Áz»<žOãêí¡[5‡s×M¢?‹æüékÉÔ˜ûaÞµ‰ãõuþ g7õEô‹¬w¸©×®,÷÷û‡ægÖyŒzø y„L†úû>ñž?ÿ|ÿž?Ž¿š:Æ:×§ežº÷O\–÷QÐþÜ·ÂÍþ|à‡ÀÝ]ðQÒaø5+ð¢4ïÛíyÝìC“$Ð Hߎç(¯V“¸úeú…}Ê·‡YoˆW(|K÷Ð Ï#‰PßÜ}·›8ÔãÚ|.èëÿù/0ÖõÚRwave/data/W_tilda.7.txt.gz0000644000176200001440000000234412377701075015173 0ustar liggesusers‹ÝšÛrî& …ïû.í $Nïÿb5B §c™àíì4íÝ7 HKÒŸAᯅúÇŸáŸÄ‘ŒG£Â˜mq1bÆX"Œ•€±Zl,iF‘²ûrLœŒrÅŠÊbÔŠÍ2‘£Øù˜³}…¥Úœƒ­åB J˜md+ä8¿…ª¶›Älk…q_‘€YÁ¾’"Æî+9bmΘ-@°®”„e®- ³5œ”'Íﵪu~eî!s6â+’œæXÀXÊX› ‘ù®8ÃÓeÚoÚ*Ô;ã\|T¡ Îs,5ž,ðjÅÚ•ÛB‡(§6@µ@/Ó’‡š ›º’­ T™0#þŽk|DS‰T›€°–f¤PÎQÏñaö£C:ˆž2ãˆ3Qð=‚ ˆ"fCžmqi+Bmˆß:£¶àæ‡Ñ@¹ž )aíŒé.6ìr¸:#oÀ ‡ 1ˈÕÊ „‡ÉAgš'¥< úë©DgæÂÍüq\}ŽÁºa·ó$žtÎÂaÚà#ÍïÍ{ÆrHb‡â’È¡°¢i«T*KÊ%‡Ä!v(:4o$áJܪ‡æ™99$ñ’¢C´¤°¢ØSýVz|¾õ}?±•g]Ï žß<ÿf‡Nmxr´öA“äЩbOíg,x1sFÔo^„γ¸ïe†3ox™ÆËHg¾Ê‡¼œØVtæÓDKŠ›Ä/Hþ%zsf~l¡µšçÑÚ¿®"¼zé‘§ºu]}^aßÔÚeÕukíºêîÖßu%^×äÝ:½[»wëùš¼,úœœ_ ?“ÜJò_¤¯ñÛº†¾¡]Å®i7>Ö´ë_oh7«¬i¹žÓ:O¾ õÿB¿‘ÖµâçÓÿ Â÷Á!½/†úEPÞA~é—@Þ¿ƒøè«!üPàö9ü£žðÒ”ðHu =ï„Ì"wÂ|‘@îs”“Ù8Þ߃\ ÝC¾‡rõÚ-äp´qøÈ7¯pÇ ^,¿ð—ãÜ«®²™ÒºêðªÕ©çûŸ"«B¿(¾‹¹¨_÷¥ÄÉØ8— ä ¤ ÈøñtábÛ€ú°sžöù½VÖ¸šîjÞ W_\ý5]yuw½ÀNY_”Èb·SÑÕ¯—eëQµÚ)R‹J„3;d¦J,/˜*X^±E³ÝûËç²/´A0BEP ú[ë¨.âÌý‘V¡¿Û€»ûë®Bð€))öÁþR<7íïÉ €þê¬P Ã‚ƒUè°¿`+4‰¾s0Óékø€jSܟјéô±]¡¿¿¨c/}¥W(¶»¾å0;닇Wj_€BoP`[¥ š$» v"(;˜ö+(43¯v5(mª½ l7Õ …Þ4¡Ðû(ª\»-zFíÉP «æÚ¹¡Àæ8íïPÓv 0­j¯È‹í(QèM&°¼˜Œ^Ö†…jêÕ¶,Ç™a(m‘À˜ 8O¶ïäh×IXÕ›rÆu²ÝB°)›ü´Ág˜ÅâKÛ€†ÅÈÌÛæ¥qxm)–7wkãÑp“í¥íIÕMq ©ZÆÖV§!ËØÚ5¤eZHhÚI5´j^&Dœ¶`p@X5™†ðDMé^S$ÿ%Rwave/data/back1.180.rda0000644000176200001440000001726012377701075014246 0ustar liggesusers‹Å»rIv†îÜ5ûÒ(´kÉzYëJ2eHo@À"="‚Š`G°Ql6› H¢»qk\»q¿ƒ^4³rô2ט 4ë/E~݇™YU˜ck{†¬S™yÎþsNæÉü‡?þá·üíÄÄĽ‰_ÝûùõóÿýõÏÿgbrâ׿ùùù›þ§ù×ßÿíïÿþï~þñW=1•þzâÿÉŸìY¿?þ™à©ßÀßç{›ž'åë™Üÿö³n|å¶"åÖåÆŽ×’:^ß<§r¬y ]ÏFäû}rBçÏúû¡ó¦¿g韡úQÃÓgEíÁ²Çºç™FêMZp}ëžq[zÕ,ø=I >ùôº,>ÅâcY=ðáT½ N[zª‡Éýjð%týCíÁ§©gþ‹®Crÿnô?Ô?Çúë²~¥¬þ5JâQQ=L×#Ô_×#ñ§(î%q·hçU?-äûsU_ŠyLKŽÇ‡oEßg}wèŸ ýÞXk'eñ©é/-\Œåieù‰§­y õWUóñäŽñ26®‹åk©¡IA=ˆå‡>¼®Ž;õðÅÐyçz×<ßá[ïfA¹I Oµô+4~·Æ[4Vœ¯Í¤FÜëÃñ¢vU–Ô=|·¨¿Šý>k^ë¿«¨ŸöåYҊ䄎+”úä%÷Ë}wÕëà›gë¿ÿ¥ù^ZÒ¾|øYU|_·Ó;ÂÍä~9^šÏ«Š„úEúçzdþÀǃCùpQ>äã–\ñùãÐ|m-P~Ùu.š'Nî—«'$÷‹Íw,ß ÍÕ—–´£P܈µ[ŸœZA~·V¿VU×Hën¾y5žV|ÔôÔqšñXQ¹­ÈqRޣ߹¿-ýÑ{Ûx¶<õ±PyÞ¶ ¹>üá<Öå…Ϋ¥§³~´¬ž–µGßÓŠOk‘y;ÚwR•}øÖ))™ Í•WÑzt(—ÍG‡îÃHí<‰ô7eãNëý±~¼¬óɳâ]Ÿüª÷•Cë÷5U•g-»¿­¨<+ŸS5¨ê™DæÅÓ_×byJÙzaÑ}¿ÝôÛÄQÚ5âÚ"~7 =ÓûÿýoÜß³û\4äXë3(ÏÇCbýƒoŸFÙýZeã¹42^nzì![×Áƒÿþú|þåëóuö|óÅý÷ÿö_îünÝûú<œüú<Ãó8{fœõ<ýéësýöësïvúÿžG¾>²ßƒì÷Ò­«Ë™Üýìý§Ùû/³ßÙïÓI÷Ïõ²¿7ñõŸA7“?Èäfò³ß{ÙïµìÏÍýäê•Æu’½ÿ<û}1 ùÙ¿_½çÎû«l^7ð’;€ü_\{Ô< 39‡øžãw}v³?ß½çà„Þ›ËÙÁ÷lg¿W³çüWo×°’{6㮾cûž£Gƒ'™>¬Hn6îý칇ï°ôaã×:œúø6“ÿøÏ_Ÿ½ìý»ÙÓ’ß¹uí¡sÏ}ïÆ}НõÒ:d¸–ëCß¡ùغu¿Sú(»_׈/d~Xþ|° »?ÄSÿ¾ ÿ#ßî^e÷Ô;wo¿»âù²£cðŸKàž¾O8•ñ¨ÿçÃÜu>í‚ÿtÁ¿NÉ¿èw'ãÝ*íþf ú^ÞŒØÛäx·aè»ìéÀзuð.ùûáäx}Ó“ú–ñ”œo­qÖ8/?Ãqk¾¯`÷ÇÀ™pf‡ãÆüoÂ϶ÿvžûùIGßFí ã>‚ŸïAß– ;ño3ãýÛ<í,“s ;ß1üË6ìLòˆ¯Ò7­SæsûBî ì­|ëЯgï?5í<ÏÁó3\ÌýªìHó|zëÊßCÜ­q ¯4¯×’?˜vÖý¼N¸¾ =?ÆSv¾bàêüG¬ž[|vx;>Î_„žOFâJàš/®•ܾÁ£7aß§Œcf\×E~C~t‚/ØNŸAþ>x¨Öw€u•¼ï3œ~Ÿý>vùw¾¾ÒWñ€ó[W¾üSrÏßgã½™/wë+û9¦\èÇ;¤\wzÚYï#7œç¡Gä>pçYöüú<„þär§Üõ=€>σwI$÷¼Ov$´x"—›=/àÿå”WÀßk~‘ßÊæ'ÇCØ«ä½Ïæù ùñëðø¼ãüZ<¯¼¸†^IŸNÏ>®ÃnsûßèXz<éò®ë!ø•ê$àƒµ®Êç/ßäó;åÊ•žIïÄo:ÀÅ3È=‚?Èòœù|iþr|¸ë*ÜÜÀüöOçÐ' '†“†½\{=D|.»Ù¥Ý@¯„Ç/ùÕû%O8q13~~»ˆ$ïv³Þ*þv{¹™rç÷8,ü߯8/ˆ‡ð;ªK ¼Áü^šÐ£¬g>Nè‘ìTã<1Æ9pǹnàþÈ8oãÆ™¯§Æ >a­ç™±ž}Ô™¶¬õ¤ƒ?—Ÿ!.\ÀÏè¿+è‚§]sœ™¼3Ä=âÃë´Oà ÿÄ[öÀÏ$ï¼E~HyÛ%KnÇêO>¯úîsʸúsìòï†àGWðã⩚×eøáë‡)Wo/P§î‰ßÊ\?på#Ž_þÈî?dãú8áŽS~Eóº ~r=ßïœqîÂ.À;Éù¤ñB²8.ÏC`|ßßùò«âÛ«XÇÙ8?gr>Ü<…â Í«üâU&ïæÁÀ‘{îÖ½òyU[ëöÏ›i×.5¯²sŒï&›×+Äš×!ÖQóùëzŽyÕ¾ Ù£ÖOòÞ7pâ)ù/ʼnÖ¼N¹~3ãÿ9Ÿ—}\jœÙ¼¾ÏžÇàÕâ™Ç°G­ßGä›äGT¿Ü€}h\Ò›7ß’ÇÃûàyÒÏw¿ÕÎ o.;}ÔÉÈ›Šç®ŠG+¿±gñ-è©ämÃO¾‡¼œ ãíVÞL<«†<å òeW¨‹àßÇÂÞw8ÛÊçõ¦IWŸå§zVÍȃv­: âí}O<¿Ï<ö\ƺmõ4æ-4þz2?†_ZžÄ²o¬Ûö ,ÃÿžÂÞ4¾×ˆ'GxÔ´«—ßò÷Þ¶ëa…Ÿ7àágn&牼ÿ‚Ïœ!ÿ!û–Þçþ6ÃÍKè‹ö›ˆ—hÝrÿŽy=…ˆ§Iå¾ßuåeöŸó´!pKãÊåM¹^# ?«¼ÌþEü't½Fxâwë-õ~ÂÕ÷ˆƒ6€òÏâY²¯ ìSËÇ5cèá´kÏ—xúpXã;A| ¼Gë#¼ú€|Z߈{®Œqyqó¨õ_©8%9—xÉH|5ãÆŒçN‘7[‚¾kþ„SçÈ_5Œ¸êæQùŲcñCqœ~ë¿‹Ï Ÿòx*{ÿç;®cðTåd·¾sã©sàSx¡yû+÷ |` ú'9áW2>ïƒ;†žÿ0í>?ŸKÿn29Ÿ29²qÇ e??dóõ§ w/Q‡IÎ'éa&/«Säûþe7Šwÿ”ÉýqÂÅÃÌ.r»ÒwÌÆõy×—ôSõwÙ‹æïGÈÓz¢Þ \ºœOˆë3¼Ìãñݲ÷ÿç„;ŸÒOñ6á’ðUïÿüÀµ¯Ìoåq’ì7Ÿ?ojüüÉï‹÷æó—½ÿ&[/ñ å)d¿Â¡ñTý½Á¼iNQ¿Àhþ~_S!û•ß“ý|’]}çòáºxÓ{èõ°ßKÔeÖ!ç ù^ùù½O°ÛÏÈ'ºÈ' '4o×n}-ׇSðwá‘äȯl!^8AÞêü½ü”ò+9ž_?!/· ?È|Õw®I¿µãù”¿‘É~>qu;>þÑx—ïÃohþ„WîþÞ¼®bò1¬Æ£|ø{ä£r>;3žÏî!>½B¾ñÎ>xÄԧΧ2ïåÍC£>tŠ<»ð{ŸrÀ—•7ÑþÀC+Οrë¶=äG0oÈCuoȾg=y_áÁŒç̨«½Býðuè ÔÓfܼäöåœÜޝ³‹­¢.qy§¨óh¿Õ*ò>ÇÇ2ò‚»È‹pÆÙì ž~dÔ³ßBÏ.±>ç3auìäç¶pÞ†uÇ÷ˆûÎfÆç­¶ŒúñòҲ˽£ž:åÚ ë'û »ÄºŒÄÍÀ3É;…wQ‰÷°oe™yøç¼N2ã©“Ÿ´>Ë}çîþž\‡Ü<îÒƒ' Ç®Œý&o°Ÿ‡ç+y®Løµƒçª{~,¯+i=ô”~Š+¯·Œ÷(O°€sûŠø^Íó,úÈê}Ëxÿ"ÎãÏâ<¾x¤žÒKå#ûV<»ymÈÖ¾µW8ï¯qɾÅ9cÍÿ6ä½…}?û Hžøä蜃üû.ä­c}´Þ½_uLÅÏâ )Ö…r¶¡š7ùÉy5~Þr¿‘B¿6ðþMèE ržräÿ$§é‘³=ÐwIŸ5Í“ø‹ò0Š·$Gõ×>Æ¡ué@ŽÆ#=PÜ¢§ôZrRÈY…~-CÏÐ鵯¥yÔúËN›†œuü^2Æóã‘Ý<ÅúÐ~V1oz®@¯•'–œ†j\’³„õ‘la ;} ;}aÈé@¿v ‡ö£õ¡^¿†>§i§}¼¿~ èõS^+¾oö³iàû¦Ìgæ1_‰gý7Œõ·pú¥‹ù|iüKøî èuÏ=w:â/ŸC¿ž8ЃËnêðŸÄg°O®KÏÀúQñUÅy’óÌõ£¦]r<–ÿÔú«þûr|~š8³bàŒÖ…ræ Þ!ÿÑN®ÀN|¼fë¡uo SÏàMÄeâåS<5å'¸îŸYðØ#ðØk'}ÃNÈ+ç`'Ä­»å—‰_œGf?¦W°{É™]Ãû·1ž·îºàÊkÌ›ô¸9«ÏômÁ°ŸŸ$N®¸ÒÁº<‚ß§~‘_4±þäÿä–=Îyì‘rV"å<†œ§†]¦†œ5cÞšžxÃ’C¼ä¼­ëã“óØCœY].yÆóÄ}nÿŒÓ›]Œcx&}“Ÿ‘<½ÿÆÑþwðý‹FŸÔéñrr|™E߸èåpúûÂg}¿ìQë‘ýÙׯeŒƒýü¬¾¡ýd­¾„VÿƧlÛóÝŒï®ÎKÛÓçPë©gè÷‡Î?¿ßê¯:OÖ:X}(gû·.xú·†ö öÝkÙŽì«Y‹ì¯Û‡Öê?Ú÷:¶o«5žfཛྷH;I 9íH9eûí·nõí í³Y¶y« ~YöòKëqRòþˆ¢ý”Cí&ì kŸ­À¾×¾ûz«º¸ê{2Ëö»­ú>ÊØ{fÒ‚÷ìÕï•(zÿw­¢ûpSÏzÔ"ïýiVtojU÷úîYHKÞó”TtOxè½eï±n¼¯4ôþ¢÷›•½ç¥è½H¡þ?vžÒ‚÷§×"ï¥H=÷R7[ë>ý»oÇa¡òÚ%ïÛ¨Eòß<ÆÞÃkÙkQýÅÿ¢8éûþØû]BïwoÝ‘ý„ú³ªñ'ö^¦ªî5KîèþéØ{Ï«¾¿ vG÷´Ö¡ûQcï ½ç-ô^ÆØy/ë¿}zTtXÓƒãiE÷'ÅÞk‹Wµ@œòÅ{¡ó{/kì=©IÉûê‹Þ+û µÏ´âx¤^ð>µØû “@»M=zz¯gÙûC«ò¾x26®‰ÕëØ¸-cã·fI?šo‹Å«Fż.4{Wv«Ï±÷ÄûøCêÁä¤?o–¼7°è½~>ûôųò<úš_êɯ·+æ-Eýy32˜-y/m«â{ÑËÞ[FÞÓܳïÐ|cZÄÖ±’ÀüˆÅ¯CësVþǪŸ.–¼wÕw?a#0ÏÕ¼ßÑwÏg¨Ÿ,zålÁû`Cë;Eë<¡yxŸiFú¹¢õ§fÁüLè=ÇIA|l•¼Ô§—–ŸòÙƒ¥—¾} ³÷Ãöƒ,Þê»Ï³¬ÜØ{…Cç»áÉc´+ª#ÇæSZ‘÷×=û¦W×¶î‹ÝÄg¨\ß¾­¢uˆ¢÷=7#ëTEùX3ŸÅÞëîÛŸåóá÷øúp'tŸÛ[<ŒúªÞ›ícÙŸ©ý¾}šÜwºlì£oxöë?óì«MŒý®Öùìmç¬^|ÿä¹.îæùîW_î"Ÿï9ã¼ÏÇh?kbì/—Üî ´ÎÍi_.Ï1½ÃóöŸËñÜÏ5 pmü9—|¿.÷Õ/¹çZÍs–KXoÊç9HëüÏ)¾Á÷<ûéÛë°bœ[à¹(î+dØÁsã\†äË­ýùëžó ‹Æ>mî;†'Ï×°OÑw>hÕÀ…:öqó;xþÉ÷Öþ~ßw$Øçm[œÇy/Ù……OëÆ9ÆuÏyëÜñ+ãüÏ7õŒs®ÛÆyß¹gžK~iœ´Î¿nãüð–qn01Î÷¼1ž<ÙÀù È̌Ǟ/’]jœÜ+½„ûÆå/yžy÷mîá~ëMàc çL%Gý Vp¯òsÜ/½€óçCôËÞGæ5Ü++\Ö¸»»ìÞ–ŸK‘÷ǽaŒû ÎÁwyŸÇ¼·ŒyÌŒ_wžï¥ü—ðGô‹sžóžô‹Ô{ëóã?÷Ë–ÝI~þˆçõwsîMÏyú7ãÏÕô‰à9Á-ãÿÊøyÏýñSãÜ užçFËúÁ‡Æy²§Æ¹Õç1;ÿÃs¬-Ï9ÓgãÏ玜N=}.|çCã\0×á¹§å³ÿAßð;ÄýgàÇ/ ù–ßYóðóžqþÎçw­sŸ п-£ÿÏã§û{gœ;´üxð÷nö=þFöÞî¾C_Yؽæy~f¸ÛƒŸ¥ŸÓý¢ëð7ê .»“žmá^åô™àÌîSî@žú8­âþÉ]4äâ Íûî-—~i>%§¹¯±Î-˯ό—»û®¼Äú®Á¿¿1úÍЯs‡¸'½ý’^kÜËX_úuÙµæ»>Äsk|œ—ãÉ ð¸n$ŸØ"Ÿ˜ïÏ[ž>8ï<ý<ê†?µpl9Çç¸Ò:ïÛóœËî@Ϭ¸RzϾPVžÇ—gZ1ú)¤¯xbÄ“sà3Œ£ºFž©ï‰ïy>þÄê‡@<_7ø”¿iÞÙ絡wVÿª5ȳúÖøøó;OŸ)«Ï®‘OZ5Æûþ‹¼ý¹§oΦaß›ãûBä¯(—}»jF +o¶»fÞΓgÐ'â˜Õ/Œ¼ Aüˆ¿­ü\ïeÄüd~jÞ˜×7ÈK>BÜËy"/Ú7ú¯=ƒê!Î~‰q2Îßa¼ ¹«î8s\´âlÆ÷ä}#¾ßCÿÛ.Ösã\Ü%Ük+<îÆõ}Co翌ÏgtùmÆóÛ†ÿµúhùìÅê{³å‰#˜?>XyÝ9#ÉþD«×÷Ä‘ìïᑟóºÇl}¸VaGucÜì_ö¸(ûµpjÇÀ©ŽQOxu^Ÿ&nwaWðZòKù÷W°ã.ðj~€qÓ÷ÉfÆã•ì陑ìa¼ì縊qî7v¡_òw1Ξ‡¿Ï‚OlŽsökáFÇÈ¿¶Œqr=7 =bþ‘<âE(˜Ÿw[òô±z=>ÏŸøD~hÙ§Õ÷ϪkXyö3²ê)äßìÓ¤ü‰ÆU3x×è7Ô_Gé7dõJ#û1®@? \$‡õúv`£¦Qc#«>ß4ú5ùú%ãòÉ[2ÆÕòô%Òxôä¾›Ø}¾}VE÷!—í÷{>#vöôlѳóŸãüCô{„|û‚‘ï^1òËÄŸ9£¾Êx8´/ìš_ç8ø¹Q? ÅóŽÁX7D½ÐŒ#¶=ü£cðù7_Æçµ‚ýãL1ÞÑ…œ÷Ô#­:,û“KO|ñõc£ìºwnú@\[0∷ž}Ì<7aí›÷íÓoEžË°ðë­ÁÃ[Æ<ùúä#ýÌß°ê_‰¡_}cµ•ÿã}¡}òûû5¬:—oÿ4ë[Œ#VÇeíKzäÁƒõ‚ý¦ç<¼`ÁàÜßöðÚ)yUÈß<ý‚õ^ᚯ¯¯¯ÏVËÃBÏ“VÕ3´/M-²?[UýmCûÂúÎUÅö¡õôm =GÚ×Õ7îÄ“Gñõ©öé5ótIÁ8(Œ·˜§K ÿDy­o÷?ã;úsß¹¤–§ß·…‰1®EÃï¶ ž÷¬yú2‡ž·‹=_îëÿÝöô§ªEžë+ÛGû/Ýï¥lߦVÁ~Á¾ó«I`¿—¢ëZö|ò‚§_y/ãG«ÐŽŒãËÚ½/´ÇÇ«f\ì»7"ô~Šš‘c‰qqÛ¨GuqÇ‚y\ÓSgó݇Áz%§â{7Ì:[¬>XñÏo§q^Qý®{òaœ¯¦áÏBí¨Ù?€ë3mÄß¡þ¬í¹ÿ#)Ù¤h:_ß›4²®W/Ùÿ36{^?ô\ú£Èº¬o}g#ï§I+î›™¼ŪcóžÚuÏQÇàቧŽóÐS'XBþ¤VÿÁ÷ÇÎ[¸ÈquŒzýäÃȺD×—%ǨìÿŽõûÍñúàÛ·ñó?_þo™(8øRwave/data/W_tilda.5.txt.gz0000644000176200001440000000234112377701075015166 0ustar liggesusers‹íÝÙ’+ àû¼KN!$¶÷±Ó5-‰ŽÁÄñxû¯Ü|… ±ôLOUÿ…@Rïßá SÝ•›´]ã^F$QvqŒ´K iYª-íÊ%Ç]…‰U)i"EÛ+´,‹õ‘¤4m9Vm/6ûIÛ#Ýj¯–ª1—$½Qb+ny'QŪ-‡¸Å¯ÙÈ–"e넵,¤¦5¶µÀUó&ëckº¨¨±©X JÖÞ–U™Bs«’õØâ :3_•íØR ¨ŠmªÅàeC´Z°mÞŸ‹ýSÏ–uSö¸Š«öÑy+67[ÁåÙ 2QoųÐ<3Õ˪ÇR|D¹z¤þ½4ó$¿=/uÈt9Ít´¢%˜­„“ÁÚ›:aƒµ#éd2ÁßMÆQ•IÌ}2eyóË$kÞÊ!§sÏ8y+}>úÒ&м•~(õY ÞJðQöÙ?!Þžoàãzñ–ÃxxyIÀÃbt¤ù<Êý±è} 5ŸÇ˜Ÿ1™áèQq"žH&Óš&“ž'K¢LLÕŸ4ÑDq"žH–Jå¥ÊRõBµë'ÏâÏÕw29Õ¥3¸Öz•¬µ^kÍÖó¥Zf;ïß5ÛÓÿ®ÙiqÍΦ»iv:BПzìš¼‘î·Cï§ÛœMÏ×mNj‚Îëùûüùzþ™ý&? â§Í«TßN³·)ï§Ù{¤OÓìýô7 ô¢š½M† gjöW‚ èšý-‚ ‚ ‚î)E€·ÄxéÀcq \ñ¢Eà®X\zùÉX\úfxÀ«DýÉh?~2è-? ÙŒ×áEÎÌ^äÙt/òèƒùƒÐsôrÒUÈW¡\…ú=´Û †Ã•»dRÓ½X?ã:\,ìK~„¸à989£üwØñWòñÃø¾ÅßG¯Ç×Îã_ßÂò?Ÿ]u³¾ŠlveÞúªÃõõ‘¯taç¥5®/f;¤þ´düóÀø¶q|ý4¼™öžϘžg?S|Þ}*}ÞÃdYùí¹‡›©}q’ß}ùE_Øìí±Ê^—½®øÖÿžx’–’I]o=zNcTÑc‰ýFç>òÒÓr²æ}ûÊôÙñYN–çdÓ”­z±êÕjUûN³énZB¶=Évål°›µÜ¬¤Z<ÅB͆4ÄÜ—ÖøéÇs^®ˆ¾^Ê$§õ4§¾{*-ÉrQ,Ðf¹°#†Ø`é¦b%MkEÛQ4;±jËl#;>RÓvªnE¢²ÇCYŸü‘’¢êÊI[Ö H,ûw²èHKÒ’Zêhû÷Õ2‘ì³E±í_&Ñ)ÉÞ;å­è …öN©HÑ’”öZ…÷—rÉq¯^÷õDRöý¿å+’vª o5Ô&MG±ôSé_ê”Rwave/data/sig_W_tilda.4.txt.gz0000644000176200001440000000117312377701075016031 0ustar liggesusers‹íÚ;n1 @Ñ>{IÀ¾ûßX4/“د°‘F î@#Q$5%å‡H•Ú¾}—ߥE§l™vñ£nµl¹4?û\‡j¬1Ͼ!}yŸvâM÷³O«Z?Z—Ľà Ì~î•b=ÖÜìœ])h|µ’kÆYSç«D~ëâZCc°6"Ñ>S­£:rÍPOšgs-zõÇ>'JDn:CÕY+¥„¼xÈœ}k1$Ô&“ìWÛâé5ÎJë ªD–o´T òF<ÏÈ®œ5ê]ÏP½Z’û2SÓü*Qïz†Fª§Zª¦JÊ3Š¥èé÷jV$“L…WXbŸd’•¯_em’Ý•2S-•·y~õüêyG¾Ûje*³²šÊ–‘-Ïf½’Ý] L彚ñ4ãå[®¦~EξÈ|¡ñBý…Ú Õ*”ZöO¤_Rruuuuuuuuuuuuuõº¸¸¸¸¸¸¸¸¸¸¸øÏ¡_öwðÏ |õÚ;ôwï0ßBé¼R»R…’¡’†r»r©r—r…Ùh4âqŒãÆ)申ٹËÙSXøTøTɹ’Oc¥±Ò‰<¨}ÆŒOÊS*ýQêRr~†Hã‘8h ƒfÀx&£uÏœÆA‰œ*ŒœŸ™ çužÉ ,$_hÔ3e²Q‰Üø‘žñ”Nëg¼ÅuÙÐx”=³ápÍlÔhË®9ˆönHlÏîÄJ}»§ÊñFÀRÑç=fôÀøö0Ò†Å{í‘¥¯¼›ìY§{üéÁžˆ†¤„¹)a”J˜®®„,a,K˜Ô†·„y.aÄë'ž€/—&Rwave/data/W_tilda.4.txt.gz0000644000176200001440000000203612377701075015166 0ustar liggesusers‹íÝÛ’Û àû}—v$ÞÿÅê H¸†0I×søï¾1„„ÙŒÛÓo"Ÿ³ÿúE[±'  »¼-IâEŽ(Ss¨"æÒ*‘s*’D¹Œ—¤Þ·\q¨óÆuêA¨­ë0™‹x‰Kseík ‹^ó\{ä: ±®mí¬Z»¨8«êz¿¯‰Ê%•F°6jë–ÎF&§÷I“Î+Þ®±ŽÌIçeosFO¶¶u’¯^¬ð©bMEA–¯:@½ò¯z%ïš(+W,a?²³I-'d¹‹ÒYmÕ´X¶£Ý—Ød£$ë›­5SߺéÁ]UÖÔÏ¢ÉZ}‹¹­Ãæ°Ú®Å5Y_ˉ"¶ôX¿]¹D{‰5eÍ®&Þiw羃ë û*ÙÈ¢‰–TÜ>0Nû˜Yïa ŒôÒqHï!«É&CÝ.¡Ôg²í¦öLn2nuãÖ·Õˆ²ñÚžÜÈ¢ÑÈ2Ð(>êÕV´Yeä å% ÔògQm²ËµýÜξ4E°©e¨ÕÜ $ñFÔ;Èu¸ëðÏŠIÌ=&k7ô›¤wƒQYz )ÓÒ»Á™k´½FZ¦Šwk´ýçÊGhs BÖ1ü‘îßuÇèþçãÍŸÚ³të™óŠºõÜ…þ§Îߟ¦óOèvõ÷zM¿c¡ç×ù… ü*}}Íßì@Ÿ¢ùû?‚þUó7ïAAý­ŠéÿsÞ“®ŸŒ[¾àï»>z ¼žä{ªŸŒ< ðIˆÀGâI¶ß'ãIü÷À“ü\yW(âë*%x…^ÑʈžU¼(¬ŒVgOží;~4AÃÐg‘³Nšk¨^O¸ «ˆ±ÜÃ\wÓEGb-¬¡tuëñzö¸\š8‰¿„!’Êù*‘ó%f·}Y—c.[ÏéÞ‘%É¥IÖ.“²ÿ^ׄÐDŽI”Rwave/data/HOWAREYOU.txt.gz0000644000176200001440000012744112377701075015033 0ustar liggesusers‹Mmº+9Ž£ÿŸ½d?¡oiA³ÿ- _ô­žîšJ籎(Àïïû¿o¬·Ïß]ß|{ñÒ«½}ç8ëŽ7y鬸ßþÝïë_û¶þªßï­{OüO]ŸÕÚ97>-þ¿xßñÒïêc}m9G{z±¿9ϼw¾³æ[zm´y÷­¯ÞÏ;z­6æÙqßÜG×ÖâÚúk·­½¾~ô­ã[sï·ökßÐ+ñQß^ýÜÞ^¾íœ¸Þ3V\Æ×w~z[}}û´õZË«'¾ï¼7ã…}¯^[³ïwÏŽ?l×»îé§·Öã{NË[}¾×Nï/îÇízm~#n×yãìÛf¾·ŸvûˆßÔ§/åÄGµ1îØñ$ò&µoê#.p¿ïËkiñ`âj{üÂu{~Ÿ5gÿâîŽñòïFÜÍ׿oÏ~ýãÞqçy¿¬çWŒ¸×ñ[ßÜmÎ6òãÚ^sů‰ç=O~Å7^|M|ê‰ÿèMwý;§½O茸ÓW«ä›ñµ{Ä }¯o?øÞïÆy»ÇCËÛ2Ú]qAß\3‡^Û-âÜ <þq]w¬x+þe~Z|òkã¶X<ñ ôh㿸Ã_<Ë÷éiÏxñ$Wïà%üÚ÷õ¸Ïñ0s•¬XªñÐâçÅÐh³¯x°ñ\â ¯Öï¶ÛäÄ]ˆå‘×ëQ¿?ž÷™ú¸ø§xðqa§¯}ž¶ÈŒ'ËË+6ÊÒK¯ÇÞqwâ3ùéñÒ}_¬¯µâaÄ:Ñ_­x*{¼Õ÷ëêã{|Ìw÷ݽOoÊÞã©¿XããÜ5õb; Ã×ïj›—wÛóFü/¬Xʱnã¯bCä+q ý›¹]b‰¸‡ûÝÚ‹›'øbWÅ&çµ_ÜÇlqOã>kuÇUÇ~íq«_<`­¨6ûêÄN_¾ôÅ·s«Ûå–‘cƦˆ¿ëߎ¿Ó%Äz›•ÌKºï#Ьu^,–ÜúíîñóGì>ï¹s‡vj<úXº„øˆøÓØÚ<î“×Î6ºëÆS§éD®/bà¼q!¾ÒXj±åbÇóê/_ûz\ý#:θ™Žs±ÈGì‘ëìx÷ǃZ+vyì·Ûüñ”#4Ææâ¼\`qY±J¾X6ñŽëka㾸+ÖÇÎï==îŒ[0ãY5G¢¸QñÛã.Å:qØìñVãm±5ïrŽuËj)€…É/."þ{<Õx±[ôZ<âxÿüÈX¥Þñ5Ù®q÷{^߈í0âv#6äµÄšaWÆêŽ¿~~—û¸;¢F؉o<±Õâþw=Úx’{#6Ì›k9~b¼-V3+·µ<™bõŸVt{ËrGÜ¿8‡âpéÚƒ¥+닸Ös#~q±øbéÄji¦œh'&wùÅ>ÖƪX±WGÂÉ Ï$[„ÒŸ8´îbÄùÕ¸#ñæ¡mw6þf÷ˆ¥§åÆ‹GÏsÇ™•!"‚Y\A¬þxòoåYa#âÑ%îÅɃ5bj ããßêW¾8="LDp‰cGw§ñÆ'À=Ô.~±tã#tÅå“bGljù宊“)N2^àVxYÅš|±Þg­c—FˆŸqEÒã5¹Añ âb"dæçÅ’\±ôú%óxy-‘sÄq·â¿Dìy8Ç*‹ýªU:òÇqÉigl¤#‡6'e¢ˆm“XœÙ@ÜboD­¡­ÙwüO„šxäÄìüù±Ý8Ýâ?yLy"BŽø —I¿à9ÆË{8FŽˆ#n}וµ8ψ͓{™û<²›ÎÌd(>pº‘|/V›~aGO'|<°–¹Fܦ86ã·ÄFŒ½¦âo²£ØzåÆ6šÄÞøg¥=’±ˆñ——tq=ñÈWlßLcbïð4"ZÞ<âÔ#Y bD^‘šŸÏ®Ž‚—â‡ÄÑ·9Î#YУŽÃ8¾°ç‰à…/’äØª‘óh³’œÄ/‰x×´}{ìu"œ:£¸ªFê‹€›×3†Åió.‰f܉¸…™AÄ•óŽIÒÚ-£J$àJ¢å7TÄãŒÍ©éð±Kƒ?2¢x¦q"ËÇK"Ÿû&£ˆ5VW¤Õ™3ź‹+‰3—ïÉÍÛ/bŧo¿ù•$qÛ㎰øó¥EѲY"•WÄâ9Üý\//?îoì§ØÔ12¨,Â@œ Ã_œlÓ"ÑŒmÇ3ÓæY‘²FJìW DÚQ&–Ò³ÚŒq±F8H|ÅÚŽG·$âJ|‰«–øDÝØk'¯6ÉS<íÁ£qä‰Å¥öx0·"odañÕq|Dr¹|×ø‘±≺ÄꇸÁùé7–B)Šˆü>ãnÅωÿ‹[îíipJèÿ^Fe\‘—ÏÛÓäß-ce‚·0þ¥¢S|šo,gýcEÇçç÷EÜ¿Š #bbÕW»:ýˆÕ¯=ÔÙ­”¥ %z¥qòVÞÎ+ˆ‹äT‹=߬Ged–Ô¶ºðH #\ÆŠ‰ã:¢pnÏFêÃéu>ÞE:Ïg«J½zÕJb/þÍË´&Ê›Ñ)^nœÍ-—'⢠‰+Ê¢#‚ÕŽ lxbYꥈ|‹½Ã•ë•N’«+ªPNù<ü´XxNñßiú#œE ŽXÃ5ÅÕÆYH@ˆ?Ñ $w§3y8¹ˆqšÔ µþ#S‰˜:×”Cp‘ÞDIž›5jÌxK²Ø™Ÿ³o¢VÜŽC.¤GO’Ó3Öí‰kʸÑqiÛgŽÀÁi}{‡PüQâÇ% æ;¨óãÁòŸ+"w›Â„Ò×[7Ò 84#E‹{ñåIÌÃÄ’-¶e0‘ÌÄAiÉ­ó5î!4ëd+à“üMêu¢~ÍG ßxÄ#ıø`RŸ·qRÄÅ ‘ ÅÊr9@àŽ2÷FÜÞö‘ĺ'Ä®íœyoœ‘ùd>@žrÁeb»‘“©pŒ¿(ªq¼›c‹·Ø®”'ùDœ‹|yb±†b)G¸äÐÒE؈¬0"RlŒ/#l|ïd#ErѹΣAfïô1ö‘¡ƒA|;7o0 ÉF|cFðxL` q@‚*e{:²X‘´}>bÊÍ:[±!‚qœÐìÊX NÆãWƒ$ÄMýrÓñ£#þŽI.Öõ7±³âvÅ3ätÑçķǃ!ÝZóQ*Åm'ÿˆU®kŒÅ9qœîd3þ®¸$Ðìç©qSc¬®$1Ú±ÜbQÄ °¯eË#VGÜÍ8CWÖØ‹#h˜ue|]\a$»ä=*ÌFŒÇ FÕ3‹6¢É`Cg¸ÔRŠŒ”_K®úžŒpç±OåP°¸D@È$.‚SÐñïØÀÈK'ß íŠ”ÆA†Â$¾5Âu\»Ï½H/âȽ8Mµ-& Î&ŽÐž3B?kNÇ@V$ƒZ8ÞgräGyÿøœ8á;+Öã3€’ÂäŽð%%‚—Ó‰¸˜FÉÐògM%Îv’ú<à¶BFìuŒÞÏžlrç:ŽëŽÓôÆÛÎâ!1"ã$™•¾€CñbÜ5Ûq3Abå{WGd»ŸPÈX.Ž;‰kܵã#VÌŒçHŠ%_óþ}@`<;÷I]qXn Z,]Ù#±YñôâóÄäNÇ1d܃<³A âVSÞL‡âLo€1>I<õR”~±Tc;Åáï½zÔÓÔGµz8ãï¶À¥ ,¬pR~VQfè ±L/…‡Ÿxf.2®åB| Ogñ¹¹P"LrºØDÚg 3q¸ñëÏ®sð+Þº yéF]{Øñ¯ÎãÁÉÀ–‹œá#–Àv‚Û ˆ #‚ËæÜÔ‘<ÇÁN.‰L®­øoÀ¦ñ À(rW/2ÞøŽñoóØŽ=¼Ïñe1Mu9É&­kh>Áã‘b¤ñ®ÈQXóñ.ê^‰SQP¶ÄíâßF,™« ðX]‘¬ÅÙöâ_êÊõ0Ú6wV¸{ÉôØožå›ÕÝ ô‰õq\Ær¡rÏ$à½G¡7þú¹Ä–»À*çšË”>nBîLÐÇ ,0È œ=,: ‘WD€˜ÞåcÛG²@͸ ¨‹ï‹ßÑ­¢@K§y·0¸ãTP™cŸØ¯ÄwÖ¥Y$ÐqÞ$M†@-â-Ò…UÅaÒÏê<ظhJ¸­žYü°H@mr’¼'qˆ€u%;[ˆ]õ!Xó­Î%Ý<ÚU+÷fQvÐjÎS|–¤ÿ²´³OÛ@ÿp€m Œß«Ž²ìOo‹EáJ­3®”¶P§C±£k"„f1°W¼¤Ï‰}¾I6.mBoîXQg©’Ë”NoC)¨“nJÓx“žyF€Ns8q?—êiMA–»Ðj@ŠAËb»öíŽsöä#ŠÅ÷U»ªYL:}½o÷aãQs@ÆCŽ_éÆ9˜IyßæzÀdä˜`Ê®Db]lÊí¨«œ¥Çk@lÉi]?+Ýl äGòDÀPñù‰¸¶@”NöGò¨u¹nlÚYôòs&Ìy˜g>Rý­ê¢ÞÎ1ÃaáçM&s9±).Ü[!ã‰ÒIl€ÈÇ·‘ýxDtNÀUçvLdà†ékÅ×]À?”õ4Z+]½~÷œã'ê©ò¶–¹ä’ºà”F5()NâTÃU5iä )1®?82®Ø*€4M¯ß&å#€ˆv@¤tÁâ8m‰¿`qbŇğg&ßDâˆGD«Ü±{ƒÊM7ßsL’ÜçD-’¬M£œ´;1ìØù›Öå ƒ‘]©¨=.;—§œý 0¶—”µKœ¤›`—ÀP¾ýx±)^&/ñ;U6)(Æ‚=ää‘)ÎÌK"|Gð帉×\÷mòo ÍK!ŸŠú€>\\FëõÓÈŸš~ äˆÕÂfÈ˦ H.>ìšv¢ wÞg~¤{ŸjcàùcW™C»—î¨^Ù„à¨&¢\øÜMŽb ăü/iszL6Öa¢Ì]e*…2æ WÇÛ˜£˜d”ƒŸ \NÇb2ÎG÷ ¨’ãsˆuñöWI8-•¨¡[¶í]ºÇ ˆ]ü]õ gH ¢i,‘ÎRä‚0‚‹{ÃÓÝ8tÆòâ¢ÄsyôÝ×›Yª|ÊýÉ1âž&eSDPѨãµáékL׸ô•åF, °`Î\Õ$8 ØñÝþý`Èi;ðß•tz §ø$j×Ç%ÉÏœœ'Ö÷‚„‘·.øÇ±Ä òe®É~’×–‡[ìz¾„þîÎO݉J%žúsZBÚL6–ÖlÜ‚·)Kö^ݸõ…þ Pó$O€æðÎFŒËÃ;k¬•=áÞ!ˆ>–Oü„¾Ý©¡ Heãš³Èiènpí ½£…€ÝLQ´ Mä&O öó vÄ"ÊÚ$ú¡›¯Uœa^-ËØ|Áv"HFšõôH½˜Á\AÀg®ÛJÇy¬™=rƒÇQ±ÄmZàtùYqFƒÎMì=Ï÷ÇáM¿?r.oµ¯R³ Ÿ“=Ê?ºåñ¼´%UL‚ü‚ Ézo°9€,á©i[,p•H- ýW‘æÓ'´%mÑKŠ;Ô’_¯‚ˆô}›ö(wüQß¿³·ñâ„Du‹‹ò?6ÕgŒ»Qt>1ÌöpA9É%üEä|FÇãÇlbáûsˆ‚ž «˜U®ŸßN8£ØjY5+g¤×KK¬ îûWm¥AåÏg®¬75ÆCij¾Hèä‹‘2±˜¯“ò¨ßÅ T,}ÕÁi&…ñü©÷ADtjÆ_dkôr’Âm J ˜3RŽuÎÍMöœ›6j€f=Ìœ| Z"=<ëƒb£ƒ>ˆçÆæ&¼µù’J²8åU´í㑞wüÁ„”é§©5mÃWí(H[“wDÞ÷ÅYë +¦ëçÂ: YL–æ<8‚3 ýs·+N/‚ç8»ÀéÝ4ãá¯G„ª›õ=€Ey }@Å·8ÝINþ>tºôb†jw%eå~[V*rXä™0•ní±( KbºÙN¯ã#&€ë%2›6 Ü›G>-äŸH¶sžã½‹Ü ㌸XÆQÏ4çE‡D]?YŸ‘ ÒWví("uÜ£Þ¿kXJXOR¦3PÚ+nÏKâ£'WA·\ RæóñH`=íXyø,ðë×iAÏ„Èã‘]2(ø+Á£-Ê[ƒÖ°áÔ«£7¾FŽ+E(Í…ÖÍŽQ,ŠøüoŠa„Û ’@z©q\·8b]TUׇ^nÔê«ÏT¶4-b2ÿ¤F¶‹™: "\7tNDÄà¶¿*͇ÒQ¡3–Ò6˜B/ã¦ï v—ªþ±Š®;C•P<Ö3²…WÁΣ™É-ɽÔ£gOæ¿‘¸ÅNÒVY9øu“ŒžRC;äèj?* iĨ8 CZ…æCØÌCûÀgƒ $œ¯ÐäàH ëÀÕà^^W‹”U`Iã3ÜDØþŠ£œë¸N™ü vG&½ ºîjEz°Ð²êÌæmq b3H+Ÿ ÔËË\…Ý HÕ žôoaJÂcKÊ+pÏ 2CS¦×! u^NR‡ÓÃò‹>3 ’ÔP=Côbf1 ?\²ÖÁ€ï!¯“MÚ‡ôè(ú©°{ƒ3•–íóÂ…ûI¡Ú/Å?|ìRz~ϰޣßý»ç¯1,Îû¸CÍÝßHåÈÚ±ž¼ï¿|ÒlâžHH¢l…Àr¢}©g¹èÒ‰„ýéÊò1„¸ÌCÓ£c£ƒ¦%‡[å_ødðâã¤Mp@¨}'jÚìÅI±9f¼â`°îH o&°öÇ@uÜøø«Ní œ[Ì4ëØê¹Éë¦kô ñC"pú×ôÄüèÇóÀaËõ8~àÅŽ{]ÊÀ¢×è´ý»;~CŒ×+ñp“@%J!R¢Z(7 ‡p¿#+@N耴) y¨£òEz;œø°ë ÚÂH |„=ìÆ ;g‡ÎÿXs6±¢Š ,…&akdj%… Ðß2) Áƒ5Ç1¬ÙY\W’Löã æ Ú‰$É,{4ñ¬©ÑÜÆŒ›…¬ç©¦~%fà–=š)ÇìKzcQöÁº§ÒbÚÔO‘âå1ÿÜ  ÒêÝië‘, ›ÃIŽA¬A9¤/#Lµ¦¶OË—¨Ò'œ 0…åŽÖ†6ZopºE[Æ{ˆò­…  %…²ô8¤ñœ€`)*ß8§c™ˆŽ?­jzTÐ"È4 ‘j%<2¿BB#LéL_Q ªƒÚaf ƒoײ‚&õÅZê|öìaót6‘Õ²_<^0ÑÌÛxÞ&˜À‘Î*š]à®±~Ô)à§mÔ(|žA½ˆ_<ˆ“ÚÆÀ¡ý4?P*à7<È¿njLtЀél汋Il•cöwê8÷ã‘Ïä¾îMYb#½ÉË-B –b.Õä$°«€¶r©vêÔ¿Þ*ò¢&Í ~>ê FG¬ŠØï0iþwNh’.‡¨ÜÄtÏ胯·SJ´Ì¾ é‡ÙéÆœ`ÔLú¯3¡Låo;·8‡ô]#!€èN¤ËÕ<¥ØµfÛR}Á¡F¬óÜÜʶu—äªTcñÔ Â\ÅíêbиØ_îÚCÛqfïl™ÿÊc«˜#9@œñ)€ó”EEM½³Îl˜)+ÔR˜±™—€\_DvZt^Ø- ºÐžÍ" E ‹Xã‘åÚ0‚vÔ–È‹ØQÌæ›Ç=g"©k6ï#¢ Nm²¨ÝÝ&5›œÙŸõ qÚQ€’©Ž&`†=þ÷PÎ÷LJ)P‹Æ¥šGíN¿õ€è»'À7KŽéÎ ?³æ¹W†ó)¥¹dù¡>&9žõÐ{c%î%ú˜1zX !ñ#"eÙZÖYé o‰^Ü R®d‚,˜ËÀË:ÚA§H ¨ÎmQ)­X~¼2èx©ŽŠ;¢ 0`¦³Ua‹Ÿ,tI´_ž%.#B(°Þñ@§d¥p†+Ö톞·ÇKŒ¶Ä$º5Ë]daÈÚñHÜ^æ¨}£ÏpLXˆ§v¸w„Iê€ßíH÷ƒQ±Å_ }.Wcµ’d4ÀË*ââ~ÑU«r•¸·ötóÃ8êÒœØL ¥¯ìÓÔ5‘i<;&hfžE@—¨Aí3¬ä¨Ç‡ÃÑ#£žâ;ëBßMÖ!7ñ0" XIslÐ*7lí#UPæ´àÀÛbÓº¤GƒAe±–Û-—ÂýZ7_Ùx}7¬nmš7L®Uó‹?Ö¹…Môà6\¸§U¡lúÙp…DbÐÅÛÄ‘Ú$‡uX;µhD6øy|‹.º¡³Q¥˜.ÑöФ€¤'±€')Ø!XÃÀÍà?^˜D† ÑÞ¹ñj6Háô@$¼× ú¸SC¨HŠÃâž\XƒºÙá HWµ¦ó*)­óÙ;Ò%ðaŸbÝ¡Á‹" €#ƒÀnª5Ä•@tˆÐEA{®[†ñ€ÉbĸJÞ)4aˆAù##ØÁó€ô:M§Tç …³—u9¨ÀJ¾T—_dŒR•ö¼£”x ÏàÄȈ“ìé4»qȾ•rÃZÞÍÈÊ…2z§œÁ– —2ÖT†,ËLá&"³xÁy@}ô®ÛF¼éƒ¦±Ã&]œ±¬¯Dˆ£Â¯ØÕZ…tñLøàסäû€ëvÕhÈÜè&åá©™ž¨rûÜG`˜e`èn0“*¡Œ#Ë )‚£ÍAø¸I "·¢Ï ¤†`D‹5rCô‹ ³–*\d €µWc½D…F·…"ã–0wAy ê˾ڢJŽ5Œ¶4@]õÇþ|€ˆ‡\u뱺:od4 çFmô zâ¶ ÚJøMËPY£ò‰'V83¸ñ5ùNàthŠ*þÖÞ-^h³|Çïp‡€‡”2ïî2Š fS”e%O1£€Š:&[tã‰R¬·–þ b1üo>— Óšÿ@§išbróÞ†bÅÒ~¤èMÎÿ¥MØA ?Dö‡”ž*>aˆI;t‘~KR|ÄbC1Zwz»O|˜eKf³pÚ"n-+ÖèÀ†¦eM,ႆ%hɳH<J;ʼnåcàœG87ùšö}¬”A‘Ðmæ©/‹xü¬[Èrá›@ÆÌfÜ"ÑBÇ´“ ú±Ç›ˆ3ñ@+@E ÚÉø"ìÜ_cP(z«Ù®ìú—13¿Ë£Is þ·ÊDZàö\uu@ÃÀ#!רçJjþŠ/l,‘ûs}@û°X‡œ³Úžl–FæÜ ñùEÕÔä ó5á…Øå†hHN·¸Ýn•}R†‚é š¿ÛyþˆPäs‚ÿÄ0ß—\·‡rÅô1±b \Òë‹@êX5Ä—®Ñ’¿†¸ß-zRé8鑪¯l<‰ì÷eÑóM¢ë§Ó\o¾bÖÑŠ“.ÝÌU4LØÜœO +Î)|­‹ÉüÔ1.~IöÙÝÐïò½g¦æ¢!$4¤‹ –'¶É¿jµß›Î¯¸h±J…%òäîÝA#lªE¬“€ðXôßp”D§ Áî8âNêzz3×´8­Dÿ³´ZchU¿[æ„>öœûåú޽)Kw<vµ¦0Nzí†LH| D¥¾äÊp÷2¹þ“Ôkƒnj¶+t¨‘Ú¤øn%v¬Ëth8´ý ;˜:ãA06}™fPû¡yQ—Œo0¢W^jöK1P¸Ôð•ž;ìýMmtJc@_Í¥‹{L¥¢`lp(‰'>bÅIŒ—×ù!-YQ)˜nØ‹³ÆØÅ±¦gľ5¨G0\ÞC©÷ÎO̫ʦ QyñáPapuÕ{W¤¥çÝIÉáˆU¡¾Cb9 Ú ”\PMô¸ä°»< ¸·œ—Ó#«õÞ²žÿtŹe¼ $ìd_7)¬ÀçÈ¥&…zQf2qѦFdü²ôÃøFŠ‹è¥ÐÌÕ5Õ3ËI¹3ò%–wÑÄc_£KÀFÆÑõS¿7î0š¸ÌµH Z<Ƭü;[õ¨fž>í[ºò‡ÓoÔB;b€Æµóÿ.7ã_²E‚  º£=`}úÍ.†f"/‚2qwiÔÏŸºZIo¯9YLmäŲ¢ùŒ“±c]ÍØþ; ÑØˆù7W>Bd¨É5ùÔŒ#æP*ö6âàÆ8rº[‹œ!",6sƒjÀºN2˜ìõHáѪ,ƃ‚gDÒKºÑ ¬™t¢ø Ççu¢€Ta›%‡‹ú†}—4ÖÀ:)–5e# )/…Ф²X<Ÿüň.ätxj^aH9w¶N¿Y‡ Ûú,OH¦ƒÛ¯\IÄ *#ÀÏÄø÷.¾¨8äK }Ïa\£)ICöy¾* YZMÌIz§ÞäÁz‚¸HWðD?@{eFñß÷¤}ã+Jsl‡$´¼ "uAÔ3_~úIpÀ¾­.üÐÿ\µµ²)€n2 ô%­“;PDT¾cð’÷Á««!Oó8*Afd³îGÈæÅg—÷ÑÜÀÞ{‹fÁ†Q;5‚S"µ–¥I'¦îr:.ÑÂAÕ³¬â좭ʡG_ÉT!,ðýGéþD“Ž(í ÎgBfgŸ®S ·K£ÿ’üŽq2; ø—Ïš,ˆ«ã:(ö‘N60èÚ…OYèÀ—ͰõW :6 ØäñpñäiK+;ǃëƒÝVôrQ–O½É<)9i^,cWêû`!°”­WµPô̤%È ‹ãÉ<êñxsúäAÀm™[·KGÒ¥³&9¤ó‘ñD®æÂ|¡&½ hšxÌÉÛȆZ'd+/\Ïrî§qWJÎdI \¸e y)3?#1ö˜l¤¸5f|69’¬ÝÝ›7B1GZ_ðÚ ×b¡J¨—:B°Y‘ï½£îiBÚïL€i¶ÙíãñÄq^:Š·½è§`Yp×üsìRV#H4k ¡+zeÈ’š•] M”©— t €ërÊôà°,¯ELdè—”ÛŠoôûe’ñ$Ü3å¾Ò WVL1Á§Nû'ÑõÆTc_£²À†]âFñrÿ£v1¤ûeŒ¢#®`f :[j‚"X ä©N¡FÃAH_1ˆÂ­ÄmŒ¦*åM2¤ù‰0úÑ]^¥5#œÑÇŒ¥ž #Â…÷©6¼ Db%²8"ö¬[f@hÇHâ£hW0Ù¿o‚æ™\2,0O–]Ë´‹‚kH,°±~n¼pš¬˜ª{N=¾Ÿ<â×)Ÿ¢t¹%dCBƒù;?ñlËÉêÑG\Òã[ˇ "LæU„tZ¹@‰çSáo¼Ž˜Ø!¹‚ÊpJäK•½a¸5Tüäßy´€[°¥.#Ið:Ð瀿µ¨:\²DÃ7Ç‡ÿa0bê˜Ì¡é¬ÔvÈ÷ç3y0Ê  û[¾YdF0´QLadì9Ì(•ÞÃ:˜¡_p!!;¢ iàZC…½E„ý.î^ìþñh“èµñåßûÿ•ã 5ÿô9­â ‰wl«rÄg!‹ÁëO\L ðD÷p¶ÄD4ãXœÑà½ÈÀ( ʬc÷%Õ¥ã»BD¡‹ic&ÔY!¦èñFRÐt!¶ÇRoH3˜hmXÛÉY=€×«í'guàõ5ˆjÂó·‰}CÃ3ßGGjÀ'ç–flñ!r8àäÊڨ͸ä2®J‰aƒÎ/fTÉÓHì)9Ö1I62 )£éŸIÉnß[ª^ÐÐM06w*­®ø4¡îÌÝLå7f’ròN!ЦON§é”£_ÀB6nL™C†¬ÅèÂÏ]y~r¬^Ԣ߲š÷%iX1Ýt|ØÕ÷L9‚åK¬+¿UÒIpÊy]ülábÍË;õÂ\¢$ß<›e¤[¤ ´…X1d‘ûƒ–F»+y×ào:jwÊÛu Sê¾™2_•£^ÂÆÞE¯È«oà#’e Çä"‘.ógŽ˜83L¼ËŽ’¼oĬ&£ÑÝ[X­¢-¤G}ÙÈ`0íûŠ‹z±/á¡<õÓñ)ð™Ë‡$t,O]½<™¦¬ìŠQ^lzö0o}2ÀŒÁ3”0bRy1az¹§M!VÌ´ždklà)!ûÓæåÞm± V‚zðPSƒ=t©EâŒyæ¶áêFFI®t]ÃQ Èða›>ÉRˆ›¾iOfþ7R\†¢s;Žj“û3 ÈxI^P”* hš9àH/Ô'iöO¼ˆ´*Á«h?ÛQL×™*Ÿ4?£9ò¸° tSpm™d­?‰M t6¨™³À5$3J£ƒÌGVºA“ËÎ4I?¢‰¥tLg 2;ºÏ µMq‡hT‹Öaj"¦Ÿ5ÝÚÛép:BHŽç I¯Ùܨ€còfÍDnt‡OùT²:µ)¬úV1°ØÀþ—/—ëž6M¤bóÔåûw ±éA,Óõv†Ê#v4?xQõã“>êÚ â5º1ôåÌèn½Ôþë%w¤\›.Kô ¬¨0î*kbDœ˜L £•N£GÔZñ¨a“\%zÅË¢1Ja*–’Ï]t},Nî¨è¬¹H½¿¬À;:UÙbŠ(“³á¥=f°¬dÀQk5&G{šúÑŽæè ´¥e2®ñTÄßZªÛ‘áÄq’ÆPŠsCÆ­@Š2‡V$-îBŠygºZ42„Ò9a± ÂK'ÂRm’xø[æ.Å  ”)­+1ÊN’¦:†ñ4!h%&*I»‘+°Âûû†íó‰°®  ¢ñÓõ¥ÝFKDÊç;¢ʪ•vo8QäG¬³á tU5qé|¥' >4ÖPZ«‘+´qÆv7„#Ž%¶â¶IFÑ1q\ûpÞ%4#‹j}íϬœ«lA”cd´”ä70¼ýÈ•dâXb3ª[¨Ár—ʃ“„€8Ά±e£”¹B¶sm"ƒ—O*Izâr¬ºêqœ™ÇØ0t]]úUsšéFªh˜{U³Ò\Š8Z½vè€?¯•Ô¸îÐ~›²‚Í€6"JEͳéD%2ˇi ²jh˜ qTzrÔzfm¸ø¤a öHeØìZNúD?Ï]MÑ“ámd¢ÇíoÈT2f£v 9î¼²ãÑ­¬ q;îR=;ui®c•ØYÃô0r$Œ³ßÔm ûû ûHÙ‘ºõ›Kí–qme~xZSRÊ+Ó‘„Ð7»g)}DÑbš6+† ÚÁ6…®KAÐ ÍÌÊÜàÂ@V¼pˆÜ5DàØAÛ Hgͱ— !ÕhÛæéÃö‚Rð+ôz+Q¢¶vcôŒå=)ò³  6€ÉUj¢Œ†äcã^d°8ö@„€T]úd³jq¼íð¨^n.ÞáL%ÎVÕ±°³ î—%VŽâ/¦#K¦ß¦åÏôÈ£³'¤<¤*‰{†úK§ì$ÒšØId¤n\I#k'”Ô†Ô?vÚrRì93éIÔU‰áF24I€C-ç-çopôôµÞÀ¼( 0ÿÜÙ:«[¶êGñ*ê!,â-ûÒ|RžgJ‡ÀZ¹SÎND›þ‰$“qÉ÷/ý—¶ m8±éT<¨´’XCFü”RïB«Nå¶ež\ttœ¸>“Z€ÕHIGÚžè€išÄ hæ¼,:o­fË¡/"p|à“ÿáøðšÙr8ÙY7W•UH?]-¦bÅçÁö ûB€ÉSMŽ4†ÃÊ€ù½ÊœÁØØ^Œ=sXj®z¦º€Æ) ’‘ŠÚàZÙñ5˜-G2õ¼iK¶ù±/ʳÑ?ôA˜× )0§ƒ¾TL2g¬“æøçU/[<<¨ªäÏñý›¨˜Û±õ@äŸlR©þ8”2<–S³E0 7`½¬Ò‹aœý[¯SYó–†]èªwá-§d©;LÁ$¿Hìì)3%%/Òî(s‹K_O!¦ÑŸ=uIù—)!KÔ,7Ù±c)™9lød"Gؤ¬‚‚t:¥vMÜþR~¼_yH(H Ô®íòâÀñ‘ÔyˆUœÅ­ö2ž†xîéÇIM<Û0åõWˆ‰h "g1À b °²8ȲøÂ"ôÇ›f‰]—µ ‘(sþéÇ€tãg ¬MµÑÄ«F¥Wh„tÑ‚pfVæL€†!´^Vü¬¥Of…ÀJ^A› zÜM›$€ GÃ/ÁŠ¡®¼†»,ÓF Rcõ CÛŽçõÆÄ.Ó×®]Hߦùëð¼ŽTaSp·Lõï) P–mü:³¢$~„Ñ %ôèo•lEj }%ù"…ƒJðq×BlÉ5ÑêÙ‰aS‹ÓO—$/æHÛ q†ŒÞÛ¡Š•6J( w`Blæôj±PàäZ)デtveÒ›îá¡dYvè$¯êBõLÍÓ''æx[f0?àNªM’3äþU \¶F\¬,–¸û*¼{!æ-3J `‡nJë'q_É]n8ô‡IXµ6¶ˆº*Úäôiµìl]\u”z£$ìœ Û>;›hï’Å¥Ò)º$¨xòÄÅÏ~ãÄBw^)>ǘúÔÙ@‚ z>™æÇ®{Rw!Ì+Ÿù¤£''|^ ý½K•RlÉ®%bjs„2Ûw›\—K­i’ Dè%\Ì+è¢tö,öA=ȼí1EÚcLŸéýƒ¯é¸ü¦¸è·úÊ·%V>øP+è5¹¬»Cò$Œ@ ƒ }±X™4bS°ämä‚_S&âÿ9 áf`E{n‰¨±Êºšƒø­hŸ79tl’ä‚Ñ8†MÀû2í’$Ws‘¶äéÚnB !X°lƒxA<£Ø“f=ýx÷ÕI°øÙ±{É„ºÌiA—A`œBj+ãGëõ‘ú/<]cyJµ°:áé û•Û†”á–£\Ùè«Ô¸¦fì†R:.2â+êdåÕ˜ªóÌQŠ8´™}¿eC/˜åœò¨QSXÉ1Œ1&+%ɬ?5ˇàô¢·smÆè“K¢3…»iCÚ@ïeÅ )áµvžsYd!&˜µ!E&”›YÅ<GŠäzÓðeK¬”Q£Ix &Â׌>íþƒ¨`Ï41ÑÚ“‘ÿz)˜“|MX±|©|ûD¦€ÎÙ“]'ç–Hí‘‚–ï]9.«ð¥HÍ©! "NL`öÖLˆŸ« "!ø»•^P•cˆÂ3áä&Í#ì"¼TµQñoh0ÙÙÑ/÷n— ˜è:™Ð€ó¡|<šÑàÀÇ'A\\ã˲—Ò"²½¦š«é³Í^@D˜†ÇÞéYkúæÖ8Ž„:ä±Õ’wž6n@ ÞÀóyEK”W ÚÙñgŽÌ‡ÜõtTXGd“#ÇŠÂ¥FüÀÈŠÔçÏÈÒMR¤Ö€oªì~Ï„¶-G?Áïx»2mYêjy´õ.1Dª—à)KÆ-ÑKÞ9˜Ðéòš«Hû‹*Págšp¾“n9~ÀÄ@¦¹6Ór€¦½ö«i1Úei€º%†S=zmhàÅ~ýäL~Õ‡sHAô d—ž0&•HãÍ’"'è0æÖ"Ì™!+ZšSqª,K9ƒìY,E£ìôã ¡ÿ®ykò(ßLY £È—ÜÏCqQ™šA„]ôe’(YÇ ˆ)‹°‹C?V¬ZrÔÇòfÐäÑh@³V˜NÉØÊ­Ž§—®ó¯i H&»J±'ÙžÝË·Õ¬¥Ï”þÕïͨÂQµQ¥£z×Všx€Ã¢”¯Yž+:…¿ÏÇ&ÖžôHÔ套>s;¥;ys®Ò¿%d–xEs¨OòûøG:xL@й98ÈivÝ"¶!âZéçkHì´-·è?YŽ16ðÈÑÈÐ`U†H2>ùj"öÎçFÏæ1dõܺâæf¥«ËBœò á, 3~ĺ•ÔÔœç÷è–S 6ÇcXLˆZTTg¡ J†55=v“¾!‰B}dè§/¤ #j¾ýXP::5a!–V¬Ã ¸/7VjùS´¼'&—fLÐHÖ¡?T&C±ví‹ › °–öv‰Q4( 6¦ù»Iᘚó–Ka–‰6}Ïs»‡Ð y‰ÆkM%CIQLéòò(Zå $d$Ï%¥þ5rÿl©Èòè2Ï»ü^ʤïœBäQõ g`¸@.'¼ª[&=âvÚËH»ÀÞÕL^ÛD-5,4¾c¤kd@Ì ²ª=J*ÒæÆ…5‰—P+;ü£1Çqj¿•#¯$Eï†Xe%u™< š4Gå/EØ¥¹C0ÉB”b5ÌŒìwšVÂù2¿Æ„ÙOÞ#Ôxì|=x\ã°äÃ@¸™i1Œõ–IOó¤1Úæ0nÆyf' ,ÑÊôE’Œ¬ÒÑq¼æo+¹,ÒuÁçhfHÌPø¥‹CÜ÷¥ÃŒ%k¡¸Zˆ#ñc§)H"îVçÆ~é0é˜NHèÙ¢4MC"Œ|"/úT5Ð^cµ-ï«$@k„‘[+€‡—^§W<¬,üdI ñ»¬5bæ€!4wGû!/Cz‘šg´ìhË©LÉjÜ ßåA©€à:·š7¥ïð ·è½˜UÙÚyKÅ_:—*±RãT‚k‚¤ìþ;:ð²í5Ò‹F£Ç|I1›‹ÂÅyÁÀzâÜ4)•‚5×I®Ûå!߯£óe­‡]>’¿m×+&Í2ã‚[ÂáL+¢¢™Ï“±WÔÜžšcºSÀ-­¿Z²ŽåY™µ wËÂøj|–ý&O •}JÐÌû,ÊWç7›º“TÃ#»Ü¿D—Aâax˜²© ˜DºôÄÁO߇þPWªCàÆ`H†#+{·døÏÂÒ!K7¸)^9HÅσ»ù}𮯰c†T˜iõÖ\ªkXF£iÕ¯¢Ïqò˜eFÚiJÏnÅ‹_µ/n·5ëP³ ñ¬àŠuÔ „F5Õd:)e;2³’ýúÉa¨kl‘j0¨Ò2c¥Ûlv¤B R¹øToê°Ю,jhcJ› Z¾ÌœDë{‹Uד!C¨®óQnÛðìè@Œ [,M¼O߃Y-x‘<Ê3ÿšÐçwÍbz@Sín«/†ŠÁÉ%8ÃL¿”¯™éASæ™ó±=ilj0ú®½ÆPÏ‹‘éaSÏ\!Mm‚¢×L£þÃ7‡ž ÖÐhŒ j²`%î»Ìê3Œà»0Ÿ…ûx6Êɤ45›™{ªÜðÚÃjâ»uä`þ~ÊÌH›VÑE`¿@oK<vðV›¹öâ©9ÙµÍK‘/¡Õ|×fì$;’Xk‚@YîFÑŠBéàá˜Vû—7ê Ytå3A c„¯{Ú£v0V‚.¹ÌËEŸ+4=u®ÃÈw“÷J,Ø$ƒÐ`û\’BQŽ3#*ùkÈP»øKŸ%ë¾øã‚‰zˈukŠïmv@»zjWU:‹5+µ2üÞgÍñAžªæ•}(ù/(™é¹Òýä)ØúÌcaj&6.=îaó!^Ø{ÁoaY¼ü54 AŸ<9å…ª‰Y$YøÊÏ¡31½: vš*xlBeàѤtjCA)8häNÆÛÐÒ–¼ëO»†QàHqs·Óõ"„“X* ìÔÖ4×cµå õp]’56©Š¦.Õ³mxè;a#údηdÊ5?é=-Òã§ACàÚ·2pG°K¬b›®Œ‘î¦%Ø–CaüO²Â©‰qœ¹ÁšÓ`Ì“ÝÅHc/÷Q¦àËHêxê•ÜLé‹yB†gÁ@™f‡We¤¤xJ9Ód…cÀº°w•e+À¾eÐ ¬"/LF3Ä oÅçÛOÃKtÊÀ£¦Ò§LsüÖ”;Œ;¬Dêz#S×(%ÿ8ÊɦûGê„àŠ Cñ«axÂ\š€Ìœÿ'/0FFÃÉÎbæË%r¶c/¾f‹#ð/Oº] äóL˜È&R©:ô:Y¡¢ã‰±Dêß0¹b(Y£éI‹7¿¶é(¨èŒýö,Ú2ÔÓ¼X¦¡41¼Y‰à„Íó´g*Óf4(}#A²–rïÑ*…¾:{N6b^()úœœPš£Œ±æy<“„‰Bq¾Ïû•†§†Î“:éçËžƒyL¶iam"9±ñ8^åìüpR3é«F‰’É ? \šsŠÖÄÙ=‰£"­%¥¡"ʃɹ Ë僗 m¸> ûÈ­O– âÇ)‘õ S̆ÜH]¦ òT,áípTÜjp³íaiêÁ:‡ÁxY\¹YiaùóÞ^ëH³Z‰´Çöø«{P¼Ú•t‚Ï.Mc©ÔxHò3É|¾šC˳“Õuõt€œs v_¾‡Î#rV+lp±|šî‚g›cÑ’aÇÅ̃™äE[þG0B@ðƒ@eÍ6hrסGðÊ^È”/yJùòä¢Ö†‰KKÞ…”Ðî~¤¬NÀæ“îœø¿;dð¬;ûÜ­Ü&ŠéøêÔmõ£2Û³×ÿyÑG)sOv]9x`ÒhŸÍc¡¡0Ö¡§QLƒ—©5­g½ÚíŸâ”AJc7’Ü¿rᤴ€GZÛÁ*ŠˆŽxÖîlñWŠ5´CúoŒ g“¸¥Ÿ½FÉã©°!Pdn,£TË_ ²?Ù2›îˆ˜øÑÐFú)©»‘¸BHüqׂ]#+ÍÑNª­úžÒ+ï˜ÄÂ8\Bvž—C^\zž²‘(S~”Dùà ˆî2½D=äˆÅT'¡¬ J5P}¦ÁT1²ÁSÊWÎ]ºg(ÙÛ °5µ›>ÈzCâ—s =‰ˆÃÀ(— .œž˜šÑ=v¦ŽL¬î!Âȳ°™Þ:å¼mÝ—L¿klˆÌ…lKÑ/æwï<Hç9W»†ÎzâSñ”ÂyO Pé&ǪV¡ˆ &Ãr\½bšbC¬Ô¸x\¢·Î%ƤÂmd)y_€ Ubö²¦§}ª)ã4Á ‚‰ßBE…¶d¹Ê&Óo²•²ÏZK£VRß´k§ƒžåItš‡å‡îkzdV“á57“Äžx\`8‰E|ycв!—¤Ú`ÛATXº 鿎G9•¶YI¹j²ÅÈî=¢Õ©l;§‡¼)oîôÉÍ!¡ä$âàÞɾ¤aÌ]–ûösŽ [AûM†E_¢ÅîlÄÿef3µª…jÛbÖ‡’ÞŠVúÕ˜.ç$¯ Ý“ŒûŠGÝ!½‘óÝn5ùáÉH ì4$,$ôëÉ2£<²@ :døj3…9Ú“ÛKXý4»ÍÆ –ÄØø¤ÝȆúä6Òc” Cã€·æ© jøÄ5¸×©1 õQv "“¦Pn@€1<6թט!(yùûh_iâ/yå´S–«o&`Ý“ù@=z>OÝj˜·Pl܉0Œ^§ÃæNŸOHF}º ãTÆPÕ%ÑîJ€ÁltÄØtó·è`x²M‚eóóXŸ[ËT$2NH̹¬1ìØ°i»¡F;4™’]ûnå4ޱYC8Ñ0c_±ÊKî© ;77.,rFuN®mÊÕI›©ñ¯êÖCÍ£hš²5ÑËC^îš›mÇ7C¤PÙ¶jãb0Ã#e\œ=-ŸˆDcJ»[Ê SÆf{2R\t¬øÄãÖq ±Ò0¾zžs£ÒŒ~À ¢IïJ#3L`¹fèPQ5i¬õ°âüošGßTFfŃƒ×ÖRd@'nÑ?I‘AÿÔ&ÝŸSö-ç¨ä#÷6k|þ“:SÖ¸…<ù2Ù8>!¸6.cjJÜ\)ffÄ[8î¢P±‚KC½è#¥ùV.Nú øé¤žð¢ |ôcµð)„LõɃ[û– 5Ô"„ÄÕ [ÒµXžŠ÷§€<½q©ù˜4nò}všz'¢±k~/á+MHŸ.äÚ‘°hÜL:¸3þ€D1QAÈq0Sð/¸Ÿ‘ù«e==ù¯xr(OFiÁøqísãÂÔ$ž6ýåÔQÌŠè”ÛC蝹ËÀ2(âyj1Ü|—ŒêX„¢‚”ÆÔˆÐ®*Ê@àÅ}D~êÙ¤S ɯh¹íÔœ1¦ Mý ²6ÒøÑƒg½0ʵì80 ‰} ³·Î~¾&½±Ë +rU¤T{Ù1§å™ÛV#¡3¾êÑBŒš×³41@’ÈPóíq.”Ñ6—Õ"náÌUšõ-Ö»DyðSð‘ ƒÊPIÇ9ö€àšBBôW¿$u¥G œŒŽºâv ¹¥þÀRµtÖŒøú¼LA%’À±1 €É†sù1“Þ2bäYyI?c.A~5:±ËŸ­CAî2ÿHYù¥ú^%*u›æf¹ ¬–}/ ‘4ÐÄvXï,¿Q´¨sW˜Ž3ä?S$ੈ®£%µ0óãkèäÿ¸;1 óÐáÐä>“z@ͬ4ÂÐx?ÞQßgž6j[ežYù$˜à¦|Þö „:Ĭę &Œ›iiÁù,Ó`¶éÍ¿0/µãÌLíI[8“'N/ùÁ¤ˆp3Æ4ŒWàÙ{Òe ‹““Pµï_ª)y*ãI-­ÍÏý<_[3ŠeI«£ç¦¥FÐ÷Z9;SÃqñ¥hsTÀ1W+mˆ$ñ§Aü¡W¶¨ Jí_¡k]f¶.o»Û/?¡Sé\žV-´fÔÀ‹cQñNï®!ä „ƒD²b$-&Ó×ÍÂ!ÞG꟎èÌ8Zç  5‡å‘XC×¶Q€¬ø2Ügcy~¡5a/Þð*ÔœÞ<)þ$·¥…òJT÷E qú&à WRB¶f³§Ïle´¬=w ,¥aØ?5$Sú#‰t—Ó_JüaEŽÒÝA$9ª*mWÖ–FóâŠ3òNÁ› EF³3I€5Y ¸<™-Ež/¸ð×xÈ”…5%Û¹gÁØð|»¯M“ÍdFìGõP@yGñ8¢·Ý‹'ŽTî¶Ôq*G+cæ›0™J š¥WÿÊI\¼q¦5òµ¥+¹5Âö+¯R‚¢É&™+REt¤õ3]ܦù>È_R&>™g0ð5ö$"×&ìnä@ï)ïanÁ1á‘é$8làæ€X Gßc§·ÆÂƆrbµJRÑÁòû´k¼Œ1: ;+q§|B§úÈ÷·\f24δ,ÆWÉ´§&2îLã)gŽÇÛòÁÓJ^a¼ëarÜ4~â”Ûæ:¡ ‚9 š2fŰrO¬©šõ©hcžºäµmÚÐdß5%‡j&¸wŒ©Rz> <¢9ýJÝ®Ÿ±¶Æ[X (0x._¢ÜÈXÿãàHéçL¤†5€l2èÀŸ›\v&p)áˮβm`ˆ ÍOyвœ7tÆ'%+”8I¼Ò)M/"åi']7˜Úp€¨í¢MÊÎ( ÑÓût¤Œ iBÈ%ëƒCFYPRIú÷²Ù×fjCb (dà{^¿,:f…ÒÐÈ3޼"«Ý'sˆO*°£eþqyʰ› ¿Ûu|^|jÌæ¥Ž‡)²^Ó§qÝ ¹^»<›¨vRÆ$ŸÀöC@²0ütkÈHìd /*KÌ×ô¬ðôÝmzC–¯‹ÊíS¦áѬ"Kþ7ÓÌà°ÉÚ¾1îCãLQĘKˆâ‰)Ÿè/l:k>˜«ÖÔfëº1‹ÈÄF¸Ê¥Ö?ìó©žC+T«Ojt d"GŒm¿ÅŒÒ°¼Nšö'‹~ü|¥kóZVOG^=yq“ñK¼žæÓÐû¡Kžå/×ÌÉtÝÃÑ9’›fŸÂ®H@Š  À窑~9?“¤l 7íGzCIož£ü!h´n *³o¨ã‹©Ã9ÿ=ZïéCÚ¥iêÑŽç•£†@ 7”YkéÉB /ôgVÃaß’‡÷\  ®X ]ü¤RL£ž1)ëîµ°>90u NwºÇ,(øqnœ,mÅ‹Ôp9mvèˆÁî¿å7Nº?™ê‹¶ý˜$†d6L0PúÞÒ¿i–3@vfiŸÄÔÙ.e( s­Ümêþ­Üyž“Zw9éÐMM\éJ’yX~y´AŸž˜qLÉ”óþ]tü–W ¡Ü‰”÷œŠªN„*(™}ÌÌÊåF¹$3è-Ý>ÔR§Ç7·ÛuCD ½ñ€ púe²ÝÎì·I‡©Á)ó¸v,|ëÅÝEôÏãºi‡ Ðͯ˜Ì Õ~ ˜EÞ çË}MFy0j‚Ö½µ´ 1LÎI‡ªp1üÆTðUówiœ©.¯uÃKO¢HªÜWVOÐ&>²@}[9SB?˜¸O¤Ø”ŠüY6™ÈHDtÔý²ï$&8Ðà ì\ Ù˜€0%G m¾Šú7¼îM½U ƒŽåΪ‘;³ìs¦–>º5kö®L[ıÊ }ƒ¼¬vgÓì–§!é8Šî£'ægÃe|ì±–_‰Šv˜½t^ W&?žSÓnè­å2E"Åì]ÆK<2ÁÅyXXì"r7(6Épv Å8+›ÄÁáð@czãDð1hN$Û êd¢¤fxV"¶å6I|-«N6ÆeÑ{ÎóZ\YÍúl-ã“ õ™€åÍ-¾€Ü9u¯fJŽ*]©g‚1-ÍEzŽÈX%jLn–)ºqÂ|¹×a-,éf Òl/ƒ·J&is6kLs‘39@TJº¢ <¨Ï”C±P$²ãâmÛÇà‡:ªkû(ƒap 7Ò¥pÓðßÃPFDøA‡J±óùL:Ù%AÙêqÙWÜÎÁwSiu˪½¤˜=ˆŒ‹$Ò£-0O’ój[SÜu\Ë9¡ûû„ÉE @ìUfÛM¥ÏÁKÆÝ t0qà…é/Áb Š'¸œ¢÷, ö–¡_»Sî7šyg Í>ÒweÙîãšÁ ˆUh8¥dr†m$PVÑä´ã%¶WBò˜mù¸Ì›àÅ1ÒÅEàÕHL¹NôÚcxУ b8O„4 rGA|ëïº&{q½ކ{Ê"ÁNÌမ‚v°*ª‚'Ñ‚œMr2¹í2HÓ?^cÛ Gfx$ ¥âøÜ,Ç‘ØN^d:Þ€p™¤\<òùR î#Šü¶’8"/ÿ4÷>.{GÆï/1oì‰p¤ëäQ``¾ ‰ÑTuùÃ_iM\Ó,=z™ôÈÛš¦ mºRÉìD ~³2pPX€;&Y¥_~<˜Ž\ìódÁªÑÉÚŸ­Š ß ±d½·RTí.j΂`êÅü™w3nu’ÃÀçRAO„ÚÍb,¨\[X¾¥Å“P´Óå±Ì}àià¥åÉô¬[µ}ÛȘ©éà'$]OÞõ²Iïn]|o˜ó°AîÆŒ¤< (×8Äÿ’Ã>±J²Ê&Äi8þ%8²CK]üJÄ–7=>YTиc3{}É®C²eTê>f«áÑü—ûPðaYÍ«nx¶2by§ªšÙ·rü–ÿsÎ(DP5–¤¶v„!T_@5$ XxHÚ5™™õ5Q˜.ñø3,Au§tþÔ×2„·rÑàÿ4‹>¶sv[êr:á»~Ìû„²/%·Æ±æ[ ÔI¯—b[ÇùFVÙ¾M…Æô“êÕÈAH똇$ƒKv|ÅãDÕ?‘'™=#Õmº"GÚ9¸FNÞ pæ]¥V>ÔM‹ñ[г‰Œ2 VùžœtÕëÒ(õt3dÖô0sXÏ÷HÒEf¾³ßÐäCu“ãÀù1…©zò˜FŽˆEØTå¡l›#>)=€6)Ñê{¦ XˆIß·ì›NL4é|5_›#å.Àzfx¤qô ºt¥™žÊ[Â5ä,ÕTÅ9Ivw:Öò2¦œie»-þÑÙÁF!=m¦6ø¯°Uªy!üT8”äZf¤ÕtOŸÀ ÝøCJE!òìù†û·^îË=¥œH¹]uñY¶ÙüÚ§è w•Poº-Q1iÜÑK„NZ+%Xsþ¼£‰’²é·‘-†9ÀQ¡kd8]ŽEHÖ31c(åK¢{¦ç§ÑHºGVª0š(Õ?µl$ä@ÆÇ[sŸeú²©3-ûürv´îsÎö,N Íž|# d:üÕœ3c·¬‰Æ£¥™XÒ­ˆu|ÚÜyŽËtT@wÆ­XjùÙ–HMU~iý1hó_yõd2i‚ê™Áâm§Ù txr¬ vOüÆ)%«sÈÙJó@¢eB³N‘+õ G>—ª²c:-¬Và¢ÚÈÍ ¾É¤iÒ#jAv4ž«{ð8D $öÄÞ|ô™Õ¶gf»«%ýì€çXÞ ‘‰åül¦ÇÁƒÿ“Š2r}ÊÇ##Hzª¦€Â;—i­[Ot†Ñ¦Âè3Sùá|‰ŸØÄŽx¸¤tpm!…¾‡YÆÊüÓ¡MN‚ï³ìhv uÆg!- )°×®¡ž’]{°57÷}éÑ%}m‚Ìšƒ#ôšëêÔbpãÍnoÊ„ˆé¨\=ý»ãy@ì™¶&øh÷[6Qúj¸ÖdÔ>{Í×6ç::Þ8Ë|\C<ÛZþÿ ²v|m2ÃÓLsÍÆëeû (½ÜæÁú˜z¤ ±ô²Ão*ß´184©d:g?’h<<狱55óCP;}x!¥¥ˆôÔ¯ˆ›Y rÞ9…™b îøÈHM&9;] ÍxÈ ûi©Ç) ²§U'g¥@ô׌˜l—eš¿·¼°-Í Ãüd¾ÃPÁ Bµç³7@”oáàÐPVË÷£ £žÍ”ԥܫãS’¶nm¦•³Û‰£Oüÿ<ƒ ãˆ?V4SB‘tÔÈõ‚ z7¥Aj–ªâ²HÀ¾·8îî£ÐLŸ;½ÉL<İÏYÆtÜŒd!)ày¦•h¶ÌFzOy)œP:)N«d”àz^P 3LžçŒbe«igÐG&•£2a³Ãy5¦¯ÎïG’ãù~‰¸C@ùN1åžMÿxôâ|€Ÿõpò&§îCÊcã6ŒL¡?ÃÙq{ 6µZ´³æ²_…µ÷i®DnÙ16ÕáZ£82giý*âº%ãGHÖJ%á¬C¸š!›iÅ£Ú—8«ÚG”ë$ª0-[Y&ÏlOú©"Sq_Woæ$#­jD³|¥N~§êݧʂy€ÆF&ž=Å%÷ß5h%ËŸæÉ“ÙÓ•£æéŠåÅÖÜ U‚LGk˜j‡È9³X#;Åc¦¹îÏãÊäÖ/€Âü„(—ÞH|ë’ ÝR$¼=eÁ(ű$TdŒy¿y,,6ÈäÓ®€ø”1„06Ÿ- a«`j…`99ñ¸Ø€¡ÓM Œßˆä‡!=ÕÐÇAÄìñE9Ä×\è°Ó¥„7“²!|1üÃçrj³¡#Ø×ÂkF­åX«ýs^¡ßBŽLnmy;öÀ@o]'jLˆUU³Ué˜þЦ’1§q„±5t’\êKt](­Ÿßä^¬»àΙ^Vˆ`ù*‰.He'Û?j”nXвG©§ÝWXá ¹|eDW"‚š«!?EøU¾…-=6qŸ£<Ïgú€†¢6Ó* ÄRŒ2kä3l‚Q`—Fz§ä§x V®U—$P0¹ðžÍÕ fÀdÝzÄ-¬8Ò²O}2©ÛD–Ç•˜ä7Ô@ž,ú?-tQöß[B솵\ÙIâs)£,P°h 8ƒ3ÿÒ¡¦¼ºŸfmÒêu„Áõ%Ôʙ֧æÄ9Ò’UB^75™Këgk{ÒäùÒœSìøÑà'žæB$À#6`ÓME;ji"5&¾dˆh-7#óã¬ÅÐÅQãHˆµF⦇ܒ3¡ÙDaKCv@4Î2 Ò v|_Nœk wD¾ŸåƒfZÁŸ¡B5À|å{*÷2 ˆ‚Þ•™Z8~ºA˜¸ÅÛQýüß’AŽŒÁâ äqª K2<†O -T0d*÷r”xy]úXoãΈu'ümŽ BÄ`¸ÅCµð2w_Š&ÿPñ'@JCÊ> ‰IÊ$Múˆ0-ÏsâCm©FÞÎ9Mœ*wATÆhyˆä÷=:ø42ÛïÐ Ý8œÀØøæö@»¾1—BppÓ'ÿ1Ím5—ùDÔØ%A&¿0¼v¡ÏsßQšîr¤GÏ%Gà¦uš™;ëwÛV…ŠÎ•dp™²Ž0%ݱ GûnÃø¤!‘sAÉcp®ò! tzoTþt/i`rÜi¨lmäm–%)Þº5žlh]¡ÁÁ…Ù1Ë•ßyYæjàÓ/ØœG6ÊÏ•‡ç1…ÄÈÃÈ™PÕÑù $˜gŸ3µ®P‹€ åK”Áñ1`¡ýà·pWÉå|lÑ¡¥ÁÅpèæ)À€ƒ ´¦@!þC,˜…ë ŽYhÜò‹µ¦4eƒ’n„\—¹®21Ò†gØ¢F>€iê”aÚ/©Övá“z«Ý•Ê,a4`Už»ZÐÔK„1^ÈM0‰"wý”,[äÜ®™XÝC5¸S¨.xâJ&’|é?õ^èHFÔ PNímaŒ`_s»£0þDà/5É0…\,1Í 2£¨‰T>p×8LRË«3-¦—âx¹ËBÍ-÷ÌÝjf°ôÄ"~ö޼"ùP&>›ý8rø3+ ýÏ”2ΦíLÚ6½’Kîö4WY6Š®$™¢êmÇ’Ø3G’èŽÓ€M½3• ç©Y²Øê%/D$×®áê_аA«˜H‘ö3ªÖ¤¥ìµöä.?²fÑ\­Ò-K™i·fŹü?˜5³0©aòãd¯éè4‹ °“„>~ļ…¹ŸL#8ý“c*ÝYçöéùG[&;ÀÍk²ÛÝŸÛŸhyAÓou<ý>MiƒF1=jOŽ¡™yÉ0…ð#7mh óô‰ÖfÓ‘8& fSãLhe¨”ëºlJ úî&~` …ýÆaŸ{^+Ü"ñ±Ù.¾Qصà/ªÆFif±†\RùÛlœŽFý–‘]Ó± Š «‡\§²zjälÎhf5:ðuñè¨q¨5ÌÄTS5ÐßÜÅŒÒñð!º:v;ÿ¨ˆ!¿ê7Z§/=3Ð+ë.5_¬:!Sîð´Àå¸k`nô!•Ò'ɛƠ ?:-ø„ñm€°Þ|Dªt•/=zï\82Q!6iÂt£G‚íă/e64ˆ:Îh²iô´PÉ/;’yæHé¥NL¤ïG+Ás¤áp†øPFèЯϢ€ Jç¸aÏTuµÂÖ.€Ö<5Öšª…V£× 4 –¤Ž-nš26žúµ( é•â¥|âú·& |ÃläSuü§!Ýx`¹]G¶Å˜(’믂ÉàÀ«U%Á’¯Bbè†ÂžF NQÇ+áhÔ‡øVaèw“¹z3Y%hæ\¿¿ég¤<8‹Ñö:Áax^×sâfŸç2Ǿ³33|@â+Ÿ}OÊÉ‘Ùp Njw>¹Aж¶0Yá£sLƒÅþ˜N|Ï©—¹BÐ4Í¢šE‰ÿ‘MÙçÛ¥ÿù4sShŠ4䌮ø2ü@étø.’±kö]åØh’¯Ýã[@üý2@¤®tzʇVËô“¤÷×}†Oˆœ(òÈ݃yÆíÕÄ ÎxleÑ ¿kz6C49•Û$ @ @²Möê€O%É–¯\¡À¤±Xùñòƒ¶ªþ¬µÄÄZÞI*ð8Ü—  à¢d3H©ùÝ£™r b ;h¨ów™+L5;RIÈRÛžŽGÆÂ€RžŸn€3Õ‚‘pTêˆü—F}nék~5q£ÕkkvWÓÓ > ã7 æ¸))V ¿«å–ÅÐ)–,}d2ðƒf.#sSAJ—q«³Ò²¸èR¾Ã9)…“û¨ìpGciÊd$íŒ& T3¤À›Ð–;=ÂgbÉhbSLÒg`Æð8Ýb4ôÁKpôœšÁ-dîI±Ñ0¤† 9ËÅæ“nCԢ垗ÒYð;‰èxi)íS¡O2¼÷¶|Æ]:À§U„±”Í$ 0ˆdf51WÞ4h{ø%¦øœô¬ïUTsFnÀ0º{»€JM˜…“zÒ Ïbȳ.&ðSñ÷óh ÆbÓäu`¶CÏ‘„ù\Ÿ7¤ð3… "¼S›#J ï(âxáä ]gï 9òE!ññéŠSTˆvàµí¥ 2Ã"m2)©™MŸ&æÑzm£ò¥n sFŽÁ$LÌp…ÒIãá̒½‘¤=?iEh%ôêì‰&Ûd†ç©àìD<l h]­ñ– 3`¤+Fz}"`7ae6NùØ,bGqç©¡ÿ% Ò5Œ…9¼Ršfiƒ<›¶Ú˜ît*é0Pã•éÂ@¾ êÁ¡°:ÍØ±l1Ú;…Ȍ嗡†mÒ9ØC˜~Ǥ˜7ÇÏ.õ„ Ä)Dœ-{Rupæz8ùÐVu®3h’!`çdÌ€¦§‚¿ßؘJ¢òR„ì,F¶Fä¬2]b,ÀéEG‰ÛP›ž¦†™ÊR%ý›?íLy0LvÀÆð`D!09Íø—ÖHªÙQ!*­Üó5‘UqkÃ}Ñ|ÈHˆ>Røߋ·çÅ¡©—Æg«÷AèíNv%¶K;?p„LRãò$LËD¸Áü±×½wé´ñ Ú×npÐhžŒ©RQ¬AÄ,ɼ1bn0$ÿ¥Ç5œ´/ÆiñcR|·5" ,»›FÅ[é%{Ï·ÔÄL¸F&™ÌG™"°e)˜c1šîʇÅVÇàÏ­÷TÜ G¹^†Ê±äŠî½kL >øjõꥷD‚>úe¾=5*g1͹¦ªA! ÖTÆP‡b™Àwúh”qã’§j«L Óê…/S…Ôx¶8²“ülÕ°’ „ŸT™Èëhjæ¶+çóìiÑù™ÊŒF&øðûÈzÕ˜‘FV±)ײVOŽ?ÅÏÒÐ哾á;4Ç“öÇ®wHøŽ…Ñ‘©;_ÿÍ4JH%WF¥Œº­Ö²Dù3r:xóêÌ!^{*;$CÀ(d˜×ýÜ£2‹­¥ü;ØÓ¤]DxkÎ0|å>öjû>ìÂTš´*rÐ >#€[`íWš[Y´Çà8h"à/›âWûl>ÍÁ€¾]Pµó§‰w¢êªëÛiŠn“=Xb OZ˜OÁÈ”M9b+*0j:>2sn¡f4ê mÇ 6Q‚ÜÆ°¦&Ó˜K§G]Y£H<39Y@W ä ÊöÀ©)4]O3[v¸ö$’ÞLÿ<²ºúùñ1ƒæL¬s}:X?ûZ£rgúõOÑdß›«t!ÆÅ¨Ô^¢üî•i=ÁÏKíÜ|ZMøŽ[xpæk]Q·ÂGYRƒø`&†—Ò©æf'Øâõ]óÁ±±FdOX¦yµ²V½­`b|¦»§ ›ô@‘ã¥íäªC\O oq&‚=+‰éGY/ÁStÅÑऋ?úoΟSÖ£^eä{Ãih3¸ñÏ ÚÊE"Ï™éÆEøƒÓ4-`Ó:óÀ}m–š‚!XÚsXÄÅ'ø¤‰ fr±A/〟G¹r5 ¸tªEõ #2QÖ¼Lì vÛ~19S_14>Õš ëÅdS‰ž€nìã,y÷‚˜š’¡çMk-Ú…¿+U&r §¦WC ‡îå&¶1 ßÒ¨æÜë[`z7p~ó5$xŒ¡Âï8) S îØ Bóo“ÖEiž.‘Ž5iaS}ø“Ü]‘ˆö «géýòïà³Fú€h£E?Tíû/ F†éB‚ù`7WÅðÒqî¡Q`èÃJÉ”‡±"4´Ò/Q¬`Ödùü€AÅmõ|pQX05Œ´³r·ZH0c­…¤’9Òúˆút±Ì0K±@UB¹è´œ±Po$œâ-l¡2oçð‹²×ª8B{SSh«Š%y査ý¾¾tdªYz•uG[àc&írïmZ¦€ å˜Fõ„ufÊöÜ×¶ 1Lº'âXEàE·|??Ô¦4…ŽΜ…ñ‘ªK¬~Ì™äè­ xdú‰ ^7d²:ËaQ9.=ýXOH†þ°¸–ne2¿LÊ‹ØM Ç3 ·ŒXc tê¥Ü:2šä¤x)Zúä)%v»gNQbžF=YŠ(•*s²áÓp‰uH.)W´q0µ–³ýÈ®Zs«†ýèù74Éåɼ€Ðúê ܪŸHÑY…­‚[nnÛéËÎ>ºkr@S)N²š ²HŸž AŒD×(׿D9!ùÇÕ“dÞ®I³Ø-'õ@Œméc™lö™¡£¦­·±¡åxl«ÕXLÑ)û‚#ç*(¬ÍD/¦Žâdeëë¥ùA³ÊôSÇgÓ„lzö³ åÚ8üÕLB ¬C‹|Ͳæ»5¸of]©äoIúה煌Ù$IzÊA‡ŠGúÒ©h’)ð¹r uFQ¥À<ªÇÅá']ßy‚¡††Ä G˜ÆèŠž£åJ”òP•bBÃ3ÐÝÐÁì‰O„ÒáÅ—¯hž:ÇÑwø%®—IJÆ\ªäø­Ë8 “\Àu0¹x5úˆ2M%'!X?‘¸“nal^Îq[ÎN{{q,–¦“k:ÂgÃtÀÅ@ãk¥ßxw:VÁ €?¦½7¤äú­ÿÅDÙ§é:£* —™Š9ÞÏð&ùPÐÿÚOT$+ õÍUdQ 9|žŒ°P˜H.a›mC)èqÕ|9ÃJ© -YÙïÚ“±K=á^·¼‡æ0éâŽu“á²€´®¹0ŸÒFžëâ¥ú_p޳R©W¾’ºb€¤fÉ/ á›!AÌqÿ(—UJÕgé”Ld£h§\9ÆLÜÙ@Ξ~Ì)+‰XóTFÊ?uÅ#,Ç<,©/k3¡~±öd~qg¢Æ(ÑI+WAú­¢@3¨ŒHhá‘ý¯ˆ4œ [‹[Ë:…4xþ@Hìg§ÆE×(„xt"!Dü,Ñ3sK ÕÖ‰YR¸çLøIe€´¤Ö„”ï‚çoÞéø¹C0’¯Ëí'j( *J4›)*20þ3÷“€€þN¯¹‹Üü¸=ÇÇ1@.R"RçÙ?+cÍ7Šç”¼¹yCoCßÁôN%†X¢Ówe «J®„XÿÙ³è¾0øžy„šÌ€È<·*-2¦#í¿Æ[é­;UÞx‘—™2ŸÓÍ`¦RXÒ{N5®ÜåP=Ù¨9‰»|G42êP<ª2ÀÅlƒ”q»T%ÎFðý‡Šº(éÜ Ì˜l/ÄaÓ%‘, 0§k&¬`»-3¹#-|~<ð?*5ÒóVªôŽT¡F4KCô$Ý˸3 µö¥qO§rŽü¯@…•<»WAÍôRöOCÆžCÞÕpZæ–/Hº¦Éz‹¦Ž“xæn‚;Iô¦ß¥®±œ¬Fs–MO˜BÞL/à¿/³x<ú÷2à‚û?2cƒ`MȰUµ¼ulþ×MKF°¡,h.³ Js¿0‹ñMY<Ï„0¸n2õ”9I‰0™áZ'ëq"}--Æw6ÓAc/3€l1ú2«‹&óÔ°çrÿ£ÃÀ w´–,s)!€qx¥w„ ‹ ÆAJQ¦G.§«4Wø£ë%ò+ÚuÜ×¼¦Ø–M*Óµ1F`ón²4RÀHÐËG þHˆyBkÙÇ[ï%kCŸ$L™Ó¼tÒÙ4IHGü±„:r6YÄøÜëP*ÇsÿüK—yR{ãruìÂ…O"š [ï*™HMÕH÷NZ7êaRÒJg.»#,jóЮ@2’ ,Õ Ö\ûv9ë⾂ô¿D&d [ ŸPI®yŽA(¶¾<“¬fãŒÙål54D b$ƒH @~šÍC½V?‹# ic,ån3ôF"¤Ò€ÆmeDAL¹?î7k0ìÈ Ù™ÙÄndéÁpïžï‚×íŀʮù¤¶lf+¡µ§Õ~5ÅŽ¦Lteèé,wua@ y²ôŸ16Ø0l#ƒúlŒ´fƒxìÃÿª‡‹½\?eÞ§aßg¤‹BÈdQÙJZÕÜ/ˆ@¦™Ën ›¾žQ†.W¹~ˆ)ÌgT,\I&ì¶ì¶2x¯Éõó3ä£,ýÒëÉö’ª7lRÃ=RFÀ;Õ‚_ŒÀʼe)ÈŸ£ëEÃÓ(²ûÄ$ñ¬*eLH˜& ä:`ñaÃTáz,, .Tc*»Ï º0§%´(Ë©)ˆï˜W#øAOßÏHKëh²ómôÒÓøÇÍ.9n¤¯<35ÄÙiN®ÊïGcƒÈC¥É‰H›S²4¯B(BL$)kÿÌ[5q˜ìf™ÕÀï…¥O[xåaÒíõ™5Ó—8×öLMÍ-Ú +1<üJÁ¬gž5@ŒK¤ Ænyl6ä3†(o ̬±ôCÖƒAMstäüxªyHw¦eSm·²õG¦üìFNɸ5h¬vhÇ dòbû²p²&ߥ!‚ÁSÙ“áÈò Kgû|m‹ÉÔÑ.?Ÿÿ˜QAÕaýô^¶)]ôD&zà,VEw Œ‰uœmmY{Áè``Z¦èû 1B¼è"ò÷]Ò•å6زÊDL_7 “5E®]éBËpùQ‚©^¿_85§‹Ç鏉ދgð("i~tÛv™tÃôJ"+\³ü;R!$欚)K¾L L1gB!´è㜱ŽE¬^9¿a‹AÜJkž!  6h2ƒð}ÍeÄéJx<F¥ázì!¦°“ÖÐ ‚ÿ—@´&¿5¹¹*ù¹Ò¦LQÛrÎ%ž/,ä²6ê=òMÄ)!©jØa033§Ó¦µ7n™CÖ$¸Og³é|øP½!Šä!”.:$Mi¿Õß@¶ ©õþ˜¦´Ò·âtº)Ñí ÉŒrÌéM––­–1È/…ÿuÄF“EZrCÃiÉÐêU0Zp»Túà‡†³©·°Ê&BÊW¾Ì×ÿ,¶Ñ=iÖöÉÉ$Ç”7¯~ S¸Ƀ1Øf|†í–[Ž{ľˮod£("8g¦o5ô[¹ÌåaÅñ•ß–ÛVüIz™Æzë* Ñ-g:Nµ}ÎPç™ìð˜E3giÆý„ zþ4zι“Ø›"i­ÊFáæÁX¤k–o„°Ïq}ŸÍdG¥ãñhTz>6ôÕ€ Ö5ˆLv Ÿ7 %²¢$d˜ *gÌ^ƒÿG–A@÷Ì„Ó0"S〘åfŽžGa…}M44œ0ãs¡/ÆqV±TbÈ€êèN0âå»&ãQ±íD (ªÿ:ƒIß”“`cùjÌ!…=&ƒåÌ]ކ("ûe…¤Ç(r¦{ B@#`ôzéj`š}ªûÈtº¯y= ™þU€Cë‚ljڶ‰&1,¾¶fºçͤó» §,ÇdÌèdÈV @>Íj&©gÿ¥EÒHçÍeš+gߣ’Ûe«¤¶ÞÒ´òLpÅ~w屨85ƒæc¾ Í¡HÄfËÉòFX §òÀ¦é9ÔÞ÷¹KíHKÞŒ­rK;c s*í LœW´ Në#à@Î?Sœ¡%ϰÅ'îãC…ðʹ’l •1‹£øÂëBij*]5\V —÷\“[È«þWŽ`Ï*ùÌL©ZÅZ+ÏúÆŒúÊ €Ó.=KJsÀ]—ØT;$d:3›õ¬šŸÇ|ú `=9/A[‡L£J÷?1 €ä$ƒšä{NÁS“‰¨ÝFþK¨ ™/Ptp‚o\>¢·$æv“å}<êùÐ ÉùaÉj8qØxTRÓ¼Sª(´~Ú#;ïOsºÄZê.5;Ûõ³ G‹wؽIÀC]ɼ2Ìâ€à8m}¼ m~²j;ê|)«æLø4ã˜=ÌÄtòIvCal³Ä,T!½Sô¯„c+o, Gö¨¨¦4gsºwNã÷ª´’ÇO%û$2P̳änÒÔÊHÓ-×y˜|Ñq¨+v#R/šTó hR!$@wV°$m2´^eÔÐ5häô T…æÓËÂ7§]Ò1(l½˜ð„bJòÅþýFYH¿D¾ë~•½ÄÆß×çšR#¼ W-Rµç©€4Ö•3æx1¢4Cø38ËáÜB?“šÍ”ˆGþ„bü%ŒË@“«¹riñÄà2&£AŠÉAP˜°Tƒ¼ æ3&þ_ºI¡Øó$Q†l—/òéB0eÕù–”xI„Ñü+ “ôœÀM2ThÆ+{7B)œ\ùáJnoÍCOZ/H;è·¨®ÒûAÞ˜O±æ§òùÔbK»×BÚ‹Ó“¨ åI Éè©íÚ?p½ÒóÒ±h~ʃ™_Ê0‡Å©2WÜâ>&]ûåKs䯗uÁ©(2yf•¶¡șѥœYPæ)ä³O„:§©¿˜É¨´Jd»Ê|Âò0z!w)7¸OvW 5g³Ç8€2Ü´T¨ê—ñôŽO ¸Ô  ,ŠÑ*ÁC(®_rMð»ü’úùJ‹ÎÏ릦l6"˜95šòãÜ8ÊI¡°òw½,@C&+²r2À2Ž:–m‘u+¤ÙÉzMqe¼<¼Ž€ÅŒ>pî!s¡ÈKr¨¦yAA­‚€X¼¹9 Šu*ŠßÔìéò\ÅGj…’Ó2eºG8c0k±>¾´ãUòòŠj;s@“RóꓬtÊš@eŸ¢ˆSÐûÊÎWRi¸÷_êóð3‚.Iê-^ ³]VšßÞ²—vèy6 ƒ”¢~0«ÕR@&ã¿)‡ß2Ï@ O-Á„FgþäS€¿Çï%60kº—ã#%¯–ñl‡„ Lºf"RM»¡Ø0­(=(°Å`×­Z›\ɥ݂U÷e¶²¶Â§ò,ñŠw+ì„ Uã£ê™!{`|l¸ÊƒhHßáÀ 4qBÌLøAÝóÒ¨ç𽚪“÷ȈIl§ Ì+ ¦µÉ®ØÙ,ŒLö‰«·Á\@ÖÏŽšŠ.‘7M©Ÿí>k ëÀé9§@Û`Èe¬ Pš_u4ƒõÕæo²4Ö‚ø2³bIñ™v¨$ãÌ -ØêòÁúç,A0m¢³ærÒˆ)U#·çIxh>Ü šdXa†Pfnxr.MøûÅv’9.ô[¹!nÍg¾w ÊDŸèÜÀ)¬GyW~e˜Ý':í°5 =ˆ»Âw¹C`E ݹÉy¥4¯wzjÈ'²iKË£&?ó±©}Ýɧ ¢Á Ã.9A1é=Ç•Pþ.jq&³ÚüòÊ쯣K8ŽÙdÀÉW6ãùL÷)Èó3Fˆ= !ˆÔ{6ãÁ"Ä•¡ãm<˜R‡ºû¨þ‰N9ø©[3<ÑL£…W<,ô|7?yå-@P¦FÖáÎlQŠûyU…½"³{é!;d‘Ui¤©7å©¢¿š0$¬H¯X»ÑD–Ø>\Vf'dĦLå–<ÍÀÔJ$×€0H8nÓ¯ÆñAóHòüUã•E{Ó- G#|áTu ¤ãÁÊ0y;"ŽWAÎè¡q¨«¹ýÏp?Ä{Õ± JïŽ5‹˜ÁQÈN«%÷õM àŠã]æ§7ì‰N‘uÖI-ËÞ§T°A.Rgb%Z†& â÷«‚‘¾OšÀ‹dš}yì=ZMd4áh.*¾ž~VÙïD³*Î]Næña\VŽ!8Rö"<õ4$ÑóJ dàäܯÌ+Q“nIÐRÍSšœÌµòöÙ|ò’ƒÛ¶ÖŒ2à^š×>oèЧ‡@áHêÉ|Cª2{O¤·ãøǰ†HQÆ_5$AûV*³õˆó™^-|ý‰êðµ^uÚ5÷„rs;ÃL°ÈaºTxÍ/3v×ç&b6îGÓô«\LÓ–ö)¹/Ê@˜^šfZÞtÌ»iðßç+ÊÉr'Ï›ÇL¼4t[mÕ@=y8±ŸºGv¬»rFEªfœVjjTÉ%¢ÖôÕ^"”¾„h^™­¦‘;Ï™½E4ó(®æVÉ*´S~¢±’èØdf|j²ýñÝ9R M»üW.ô½ šïÉ×Áã<†vQd%%˜òÍk+ç©Ïpثڕ†\Q‡æïÔ˜ ür•Kgù„áŽ+ôgMB–†ÌJM±W¦YË…"OÜÊÁŒÀfƒÀôY¥ô#¡´½ ÞZ˜Uˆ¤ïKŸPLí"_1afrЭtJUßDåǪÐÈ‘(XšQ‡t¾Áö}ý¦<,q¹¶Ì¹nilà„î´“¸]5UèF$5"ÅT°)ÛJQ~]Ž®Î­>Ý:›y©ƒ¨6|æ¤ë,9?uæjéÁb 'öI;HVt ˵¡µC–·õ3a‚P£ny£ú~s œ!y+Òb‡%„?FnIÚpÏí¿dÏ„˜•3Eò5øÈ(åsâ½ öSBƒËô(*Ga™ÑwàéÖždÞ •þ•-z^^:ªmÐø°6gþ޳R<(]Cf œ#ùÚÔ ˜£av%1P{ˆûqÙ¤Ìaª#Än ¨ÌWÑÓÉï'Ô¨A*‘•Ú~-EÍ©Y’¨Ô~e¶5CÞ™Wg QA€â¨Á “1Î×ü)í(I:„“Ë@C/FÍAz ßæì ë@€ÛU>Õ÷ªrG@¥V= $ƒ°’ª¢ß&›.ñ9D³Z‡èÜ»ÒYâxˆ!Ee4`öч»âb‚ŽÄ‚Oœ»ˆ×xꩬ® íÖtÌ whË¡ãau-³);š\2õRÑŽw¢ ÈéñfJÖÂt§YžýÛ`¯eÏPt#ÜÊ·mgF‘qq1ÐHŒ ƒ:KUDº*Ùìüd»qk.eµuJe·DW¹‡0ë€Ë’Üöt2šk€JàûMàA 9’`s•ň%ÈWm”[’–gï[Õâ©É£¦€# öOvdÀN¢ô++8I5[‰FB<æëé;¥‡ü» @YB¦¢À!GÙÇNWûd"—f㼚LÈK yãÐÒª^jž1#rY+È É-n½f«šìÞÈÂïÇG¥pÁvœ^‘¡À¥©`’Vdºre‡ÉãDÖ_É×nªµgB?šs*ÊHªEŠÌ—ÃÛ;&«æ•‘‚‘:r>T“Êa‰™À«2uµ Ù%³‘ŒyÔæÆ+ n… æLa^1ÞÆÓDb2ͬ®$0úCcÊrW.Œ4)´æ˜OXªÐ¥K»U"‘I§uJ±þÐ^½¼×”D °‘fãÃàfçÔ°bLSñt½)O&«rp%üöv #a±ž ò„î«DQoÄ,–>/¬|+À8áDÃeX–84ï™z‹.ƒeÓx 7Mâ$⟘ిê!â%òóç!1ÍñÃò¸,¤`PèʈSœÅT΀» hª8ª1=7)£“»žŸ¤aü¬Œîž^ò÷éÆŠAXeÙ ôÂÉ+kJסSº„|ÂÔ‚ñ3-[£ÁyAo-ó£¶Ê˜dt‰½ÓÍñ諈ˆšúM£VCÍ“öɇÄx`N_å+\4jð‹ßL^3ˆ8 ]ÖAêÉšG‚éU±ñj<)Ct¾"SÐà–£§+Íá] 1 ,÷= Î8ø©\~ ­ó±ŠICz¿t˜8WjFHXÔØÂ šáñ«ÿÅTØiž¦ÔJ•4¬>D£ÈœG4ÞË&=è!/>.&™æ¡Ò¹¢’O÷åuCGXc¨ÌEbÆ M ßlJæ¨+5“©Gœ«àHÝø§¢ÔÌ}¥ˆMµÛa…¹’<|ÌÈšú$j~Én¼åøbm@Е›"ù¿9`¸ª’>cð´¼™q;âôfšíOÂÆÀRY?Ôøs¸ÌGS'x«úô‹øÉ¹Ql™O øñóH,T¸š"Jf‰è®ŸÈmµ)åÒBÃI6|¹Ù°Ê@¼Dw³—Øâ y&Žme‡H5r¤©þ4¡¤×ä:kNöüÀœH¾ÿ“S0³.ÚÄ2ºÆ0åä{Ø h€ acÙF'ŒÖaæñù“\ü3A>Rô°k¾XÂœØøÑ:׈qƒs“û¥t8ÁP˜íÀ´G³r~OYôž]?Þ&?@ÐÂÇi¢î¦!9¥´](VÄ©ºH‹„gKá¿;,!q¼Á߬…¬¿˜Ñt3/Zapšª[%S@æ,_ÝüC:\4«v‰{oþ¦¼‡>ŸPK2~lèˆB§‚/³{°÷‰ñÜœýd²s»2 #Í—QäŽ^wº† !"¸¯Ò<šk@`rL+N5- 8¬•ë^?nðC N3; ‡†H$Έ<¦’a9ôo'®±Ÿº’¯8÷¬XÄ"¤ãÈ€“.<ퟷ5&L“r±¤ÙbÂ}irà Õ`9)§’àÂ+O–®ùzSî³s˜ ûÜʉP.«š.{“M•’=¢+3›Osû¾fCôÓ`*’ËÏdSÊßÅóO“ø°8;7üN¡Ú3½e‰çGÓÓøŒ».À‰pÌC•ºÔDpf¾MSŽ}ñ±¡ÉåÅ“ÌdV”drùa,ø)Á@¾sŠÀ#¡×…xÏœÖÒÍQãv~ÀG~/¢å<Œ¼ùÍ[ÁúÛ±2¯È-—LÈd¨ñrÛàŠA‚&ojcßœ]"&âZç¹dŒŒ˜ØÁ© ü ßÕmí8âI5 çÇëíÊ=ý$ß5Ó§|—¡á,>£jôàžiW!ØI¿Lu«ó€]êÑIðžÅñÀ´e®X¶‚ް‡ 7޹ì*h9æ1AEwÌìU~rVŽÛ¬ž·´±Ä{Bý—42ÀäK£¤¢ËVꌿjYÔ1 ¶Z׿q/£´',Ç"ò†&§MÄE cqT ¨+·†"lÉÜ¢çcw:dJÇ(läñû;m4‚è˜9ºÀß„‰.ÉκCóމ/] sfm`È ‰fÉOK¶gý³T<¨MyÂÎ4A̰Œ$ rÉ$ký¼Ä YòD¹uL4±àuDÍßPÒ­ºó«¸D^ÁÕ5qÇø4*äA@a¥¼‰·,T±xì†+4 ìŠ|» %Ìiµ8Æ÷òí"‡žÅZÌž>Ml€ŽDVä Ý$ùÕ7f•°¡á@à°úY«œ×ºUþèI±bǘϦ±x»Ú~?K<Ê ¼ Z~¹/ sŽAËü¿CöbI™ëDÏå”Ê—íEÊ7íþEY BI¿³ˆ'tNÞª&] îŸ@³×¼/ê/YĪ™qs(Úzò—iŽTä/'˜_—w€J[EB˜õÜÿÖ<Μ'ˆQlvõ×Iâ„‚ÒZã#:µ1¿ 3A{7üñq'²þ8¨äÊnÈЙCéÔ&:ÄúIùÔ~šLpk±‚úÏÿzJš15â¿£m.¯ 1~}üÆ€0Z´Qæò² #Áq°Å힀×xŽ7”-e*jŒÏÁýÀIHf9DnôÉ@ÂËä`àh Ñ7H }òD@DKÏóÓ"ªsÞrƒâ÷Œ^ñ_Eè¹EªñÅRÝ¡ïeÜ;²„CµT9Gÿ„·l5w}°)•‡ñ(Ñ6é]7¤jPaÕ(5Æq'Žƒ[íã¹%ùFÇ5~ìVæUuL!– “ö$Ë †’C yÉËÓcp!Œu4@ö–a ŒUÊû%§yû¯dšÂ1÷΢ŸB¿þŠŸKtþ,Ãq)ò½0$D<ÛIxbº›Å·@¤9j t‹>/pRål :éîB2Ø`m‘p]?,¸AK@Õ¼üQ.)Eƒ÷‘·'.‹´ÿ!JMs,(ì{g…8ãN¨i¤Î•agAah¿5¬ÉE2qå(ØurQ,7/3ðq°ê¡1œ¹ÛEA3X´Ô±žFrŽŸš£ ,4™¾l 9ô•Mú†OÓÕ3Â!IÃÐ7Ž#£†xöÌ,ø2÷Éa¢__‰e ÜB±Ï…›©U%Ñ×(÷ðIéŃþOË º8áׂ+©-E¾œóZ‘—ƒ†°UªðÀ®Lr„.륡áOj ·JÙS a¤CÙ§y#øšp Wó|^ÜnPcØÈbi5ñ}óÁ1×'Øu4Ç©ÐàV’ qÄÓ”t$gÎa@ÁÈøw+‡º}4lYu9šDTeÒ¼¿Ð¸Y$÷Ùâ.®@ãtÏouXó~Û-ò/}q”!‰š> DùEe¶¬I`ÜWàOûñäÒÃæño»¡@ŽÛÒ6l·Ž¥ãã:ÄæH›³òPS|n­i<ô@=óíÿq*ɬvÛo ®ÌqÎseÈôŒù×–Äáæ“ûuAN4,¦Q*Ì’%Ê.Y^Vr4®óÈDÊ·ž> ã‘!÷Bº  "ÃÏA‡£]-4(5fëƒ1vQ0_i·9yÈRäQI1Ò$MÀ޼~ â=}žGÏ SL)ï›Í;aÁvÇlÕì¦Oˆÿ''sü-wåÙC˜)Þ\íDÑ©Ì`5ˆ”4:¥4ìä°ï§[ÂYD—þÓäÓö¯3·U!9}ì€N8Î~?aìñÇÃ-³¤Ÿ8êÐ Dütjºkè·5É܉6C.¤Êù]ŠøK*Ÿ ¢1‡åhÃE>3hÈÓ”ÔØ°\â²y‘ÙýCÝÁônJ¾…FÆhl?-\ã¸&ÌËùuúrZƒš‰CHü?‘2YÃá€Ö Nïé˜øÉ• ra¹TÓ@Di’# ¬byZóyŠü};f #Xªå£8dI)x©~Óï)–|¥"<îä8<‘*"¥ƒÊ3.Œ¤‡H 5†ß{áP’Ö®^=Y:Ó ÆþµþîXËD^ì‡ ‚u-‰9€VSsË'/³gÆæB ×pcûAJϯXžÝŒ5cìøæ¦ Ó(˜DOÐóûŽF7lvÛÊfhºt¤”V6óÀ’M4¾)Íð+\?£$žÝ°è™ü©#Ž tP)Ï–Ã+qŽ‚Ÿ¹µ©±ITØ¡6P;)* ŸÇ6Ülià­b„‘N%ÂTÍ®;:OÖ…W®~rCìV¶AúÙK†dØGùž {FYÎTIË[Ýåâ ðÛ°s]¾Uk7u‰߀'åÒÀGkkl ã-[½–Wñûa…t\/I¹‹—«¬}1É#ÀZ%É»&(y¿jÔ“@£¯ýkmjZ2IÈ­#þ.~´ã«³Ù5ª…,fT!½SÅÜN™­ÉP,¨œY§@Û@ä…†I4ºó›¢†(•,„™( óá¸áYÝÀÐ2ŽK J%ªJZ(ŠÌ ¯š,ì’·œ“à¬A¥ù×–|'˜c¤ÓÉÒ5qD¦ŽøÒÈWÀ±OžŠ)È.š.úÁ¸¹H ×-ì—0‰µ8,òz®Ÿ„ʱàl Ò»»Ô*9‚?–mIú1&>2Õæ‡»‘"‡¦ð(ÛXÒ€ 2r/PæF3®ûJw6%ve|¨ÌoU@CvÓ¨¯"Ëîñ$ ÕÊJ¡´¨…qŸí¡†–WP[Ê…è°¬bƒu­,åtXÿ2GÍ|òÁóêÙGRNÃË %æ|áíL§Ýe³æjtGÃu“j•0SP9ªá©„‡Øç½›ƒOȹ¨\ºÜ)xËL¢OøÍc隺¾éÀ4ÄaÖWIý{Å–$dõ]PØ1yz5ylºÞK¼"ê3!û]c/aŽrk4D+F€`Ù0W2OÙcdî ÍLZNù•¥Ù¤žÐÊýD×~åša“£ —9ŠÕÜek)¸OSmó²¶$œð«‰®ùÈ 9Õú_®sÝÌ™c2Z&CÌ Ä ú‹©(YáßÊ=É•ôµþÿÍŒ¤N½P€)Gª}¦±•ɪ«Vã`\:¢þØõñ†M"#½œƒ~r‘³º‰4K#g–9+â!ôSTɻʾ£±ÁɪrÖÓ»´èôK OrÃï‚vIŒàÑ‚ _š21zórî0{pjò&ì§a£Ô¦tž‘¢BÁõ\HQ'Åwv©3Z"êÌ!ÎÐJqŽjr`¦²4½XÉ·ü[»ÈïÐâ¼~Ä\‘bî^}x"…D ¿îH! Y±†~ »<É[‡è»q™N1V¾Û` ¼÷â‡äxù‰8¤ºýC7b]üB1‘øÑ‰9p¡Æ£àgÜ…-aâ'O`:5†ÓÓçºGµw4~Ý Htöè:í £i—¸£cNäÒ@Űî¼Á!ž/>œÀÏH¤Tx¨h,T~G'¤P=ÓëþâɆƒ;ÅŸöãùqs@Æ·(ä9ǸþS3h©¿žÓŸ¾2®¡OC{¨¤Â/¶•ÜÇFäx4Cðþù)9Õ» äûΣ/VÏKî—¥ÁšÓƒå(æ\XÕñkâhÝÕ¾zjS“»ïù"éœ+È8Ëâ×¹òÙ`“Ò퓳$þ“})´ä}µMåØ4Œ@DîKn5þ÷miÍpçÒÃÅÅ#ÍU$¸ÆÁæÈê¶HüÄÙ0?¶µö³XnqD3ʱGÔyñO„þ®¡ ™ˆä_a@­âqPÑAQIãnøèÀZü4j×ý…–)ƒÒóÞ`¹ÀÂÜKÐUü3vÚ+V?ų†7¬‘º½0¡!œWÆ÷f-âè ^ä º”»„¡†"OâùVz`:Ž2Åœ%k%¢kf(ˆ¯Z˜Òõ—¬_#ÅÖc·Š·0GŠú9ÉjFœuÜèÊPvr]:Þre¾Ðó·‹»hÎW]pZ‡‡m4Á˜Ë¦lZºâ3Œ×.Î}CtPâŸ2N±ƒ Åç§Ñ¾Rò+ÈÚsHx%ï*ŸpÛÝÑu Å·væ«©Êaô€nÝÍÆZš‰y*àa­ñj*€ kìûÒ}ªHX"]ggÖsKžwÅ .Ý iœô"¢•]'Ø5¶U#ÑŸ°º'ØË~ÅùÞž9ßš±ÐUÓ›ý¸¨ø\[DC õ:q‰n°ÕÿüܬŠ5æ|Ž*c$ÇÝö³u*OdNË’¸ŽÕ·»¿˜Õd A¤g^q‘†P]ÒºWGò'CXN½— qÂg½æ$7 ïnÐJ IàŽ4p•¥\Ð|‘ý¢Œ7Ià>1£=ä‚ßG"eb—H½ºgÌF²zóŠÍ­¶Dà46ØëÏ6€ð0 ûb_á)¸Á`cg7Ž:ùÒsW#Šf¡îC¯†¤“ô“&¢‹aà‘U(ƒo´Ä™Bò‡@°L’!)zU¿‚ðhjZ[z’5Tʈ¥ôvIû~i/”Xº¦ £š|šh-ÊQþ•š‰Xt¿J¡QmÂù"„Û)Á ‹Ž.‚;€’†¹‡ÙC"k o¤YÛP(#Ub3È=Î.ŽSÔ¾ óI3ä¯N`íÍÇN™WÙx€Æ"/ t•«,þU¥v†Ϫi?Æ2{Єf¿¦SzŒô—/Ì@‚jX9Ë•&ok(c*GƒËG4øª,8Ðb ué$”¹˜;}«û5Ti&‰Þöר9¹¦™¬äÊ¢ A¤;´=íÏOàþ®t¾v5±òò Êí°øBó:Óµ’úåö+˜lHiÞ¼÷À&íB`XÈ'üÒ$ªcRYÌ;ZÅqäjü(±Cgš³.QÒÔBÅ@ 2{¨Äð)^5v™R)ßjŒbK9råˆ 3°ævÐcZü.{\÷+ó©`CVö516JHØdN/^  ·‹oæ/þòDtfTuX[–c \‰èNîaœ;8ô£täšß§yL+xTl t?Ê‚¶¨Ðßà7SǶ”›îÜ'7®ºL¹|È|ZFœüp-Úc"0ƹtA`QØÉžÙ—ypŠâ1c l# Fœœ­d¶ ls2ÕíÌSȃÎwÄ”šïÒd ©îs‡„¾ç¼m„ ]áá{ ¢ÝÐ}Vì[(2›/ lQÍWW‰ž§ÑÍè¼$ÄÌ®„ŒïÈ‹ D¨bVç.’ÏÃŒ¹uÝ*`Þ&ñލi}ÌÈÐh¡ÏìZF©è¹ËÏv<Ñ%›UÔéaésJ<5S>+;èù7à§vsF(,} ßq…;5¹,ÝJÁ¢$¨Ÿv¥:rŠ'nœßn¡4à'Dߣ¡Ó†=È ÷Ö´U?¥xñ`.$è¤O[¤KÕåe¦ñ²Ÿþ›‹$Sñ&ß÷÷;F)0ÏEW|kà’+cö"‘ñp˜íÊÿÔx?ÒMÎx-xk–ºG¶/yÈ—G„ÜäàOÁ?éJuN¡W5+O£„KÕIï“RüOç|’ûÒÄø÷EÂcÌJ¼m@>. 5§A5C+ÏŒ{2APÉ2<Óê8wžf÷²*û—æT¬œ| ¿;˜|?_ØMÖ!HÓé ‚ò¨×Ì mCµ( ´JÚʬÉÈ006T†L¨ë·ôHq±«Dd4Cô_î/ÇÀ€Û[ Ô“8T2ëГ(a‰i>Iwö ¬$=U\5O–äÜ{W¿TŽŒÌ §þ«4иæ—Õ¼Ea-bÀ´[ú²tY×|ó6éЊŒs hÑ •# Vg=c“DQ±´Ë0ÚÓÖžŒË¯ÑÅé˜[ŒrYü¬$KÕd¡ò§—‰øµÜ$Q´+t1ÌÓÔ.Ž¦ì¨¿;š˜I“£:ÀÑ8F TÖŽ,,–¼FÖTœ E›Éq+fcTÆ2øÁv¥¬ý±oˆvþ ¾l˜à6Á³(ž°89¥øÄê¤t=S5hµ8ðŸû'PÂDý“Œw¢³f—aæs‰œ*üµ‚6 ‡—#ŠÎ ÿnì¿_Ãc–‹Òñ‚§?v‘UöÍJ„|©!ÜuÆëŸÚŽÆ’ ËÖ‘ÁµE¿"œ`á‰óà(0€!±ðQpÓ$¹c*èÁ…vÿ¤J*’ º#€DÕî”"‘ߨá½G¸ƒX̼ÏõrŠ?㉟Bm=DßèÅhïf¡Ió2ª‹vDJò–Ë^4QÐc‰ñeSTÂÌ¥Ñõ¤À~#«ˆK˜&çdz٠G“$§ºÔ‹`óÐIó¥&O“¡±«½šÚjÅUX×x%@âcTìÀ  ÆêÊkRœµfE¼FÝC¢i¯ªø–˜¤U·ërÔNa¿£. Ì@2ƒgì°»àÇ1ÁÞÄ”âTgð˜,±8ߤ;¸úî#Nòüu˺ºÛË}»ßg‰qu#òRÅeÒ„ÉoÕclJí5ñÊô©$E©kçrùšª}‚gWÞå¡JÆG¡ƒœCse-ÝfEM…ž¶€”t•×ÂÕÁ-žauEjèØeŠ]Îõð×Q¥³ ŠÎÅ tŽ[0”î%å3ÝØŸ¤4ɾ ¡*ÎÄhèÅkZcOîTa ŸŽ0"ÂñB2]MÓØ?Ûjú;œŒ¸kÕŸQäS—2b¤¢ÔXµ!<¥2X²â6~£XúCâ+ò^ LGÙeç…I f1´!«}D/Šü·ÑX}¿À;Çè™Ñ+"‹û—ÛÚuŸ`¯"ækúyõw82±_• å¶3jøUkfÇž Íu‚tðC&Èþ´VR(CŒò…ṙ‰båç?*4d>5¾*„¤â‹%-Y5Ê"9oÿYO!§|ø±@˜NKšù)}ôkñ˜Ã~û™Ý‹ÆBÀ²+¦ªÔ1´Lw?Y2Fq߬þDPãY.86BjlšZ4q8m0†šƒ‚ðÁ­%on€EH‚Ä ‹­pÌ€ G§w¬E b@Vúu—å°™á&“ Ÿb¤ð9½0PJ¸z碘çãÄNæý¬é×ê%pñ1€@[TJm†,äJŸªŠK^´Þ!}uYδàTs4=-/¾ëФ¸î³1J U£gžæ‘ƒ}5j!¨Ù™*h@¢ï.¥á ,L]ƒ‚½"‘ûâô´õõfnmc‡Ô Ì9~%&jÚ,ŒC¤WRÝ%K6·QnS˜i.»Y3؆)¼øâåˆ*¯ ådCÅgÿýæyô=€Rwave/data/signal_W_tilda.6.rda0000644000176200001440000000442212377701075016036 0ustar liggesusers‹í{PUõÇ(%(G3ÃÇhequÒ!•òf,åŠi&PòTle"FE&EHVôº:j«)»yÇn'4½tÏ:Pž† “k÷ª\SéáøH¸Þ‹aÌìµvãï´çiÄÎZøÃ9{ïßZßßoŸßvf}ã¦$Þ”d±Xü-=ü;þíÑñcÏŽ,~–ž–ÀöËÍZ3?{ÞœyK³²3æŽìxÍÚñ²þø~¼­xâûÈŒ¯N(wFÇ`zdtÙÉÚlÌŒ ÷/,«Æl«½a3|‹‹ªw7îqôÇÜ9éB+W`ž£­¢¹©—ùUŒ‹ËÇüAùÓ§]ÈÁ‚€Ï%Õ¯ÁBçà„Œ¯GàÊԖعcQÆ©›œYXòܺµƒ±xÍ£–Ú°$à¿òœ1XòØß꫟zK>|ýÅ#ÇaIS¯¸ŠƒÇRÿÖQSÃñ´Ï‚Õ~ K-‰Ö÷®Ä’†‡Òú¾»K¶ÔìœúÈX’úYØøa?`qÛŒ¤ëë±ø™C³&cQÛùàOï¾ ‹æ…¯*}¶W¦µï<8b2ùý±ý±X0ùÖHËÁ˜_~vœíØv\Þë›â½Ë–ã“y‡¦Ìý7漸ºpÇ7¸4gFðÿ^ Ä%?Ýå =ñ6.ÞPyGÙ¡\tmüÈØ"|¢yàè³ÄããËë››§cÖ°#w'¦4bæá°GœŠ»¾X8;ÝöÑãûv´`úgGªªö×aÚ™öYm¯¾‚ÉÏﮂº:œ“vã™I³0Î7{[ý¨•G_Ànü*Ö¾cÿóæ†ðäµ8u×»[Þxy(N¶ÞR˜[Š÷ÙŒ™:ï žx)cïK8öá?%Gl¶ãè=Óß±úÇðÝ5å36~Š·w¼+ùØ—8|Ô;9ù·àÍ[?ÙVûJ íó‹íá8$²ñäÐè;qÐæ{+zû&ØR Ú1dÚ¤c‹ß.›îýç‚ÌIïá:ΙÖÙû’·bÿ¤·8܇7P]û•ª{Óì›×oæÃò0¸1+dJßÛ±wÍó·Ý9{ ÑyzÝÜ£5àéx]@¨ÿ™Ïk°ç’Â/ïZ…þt<‹³uãöÓ/ÙJHŠš÷±ýÂÈÜÅýšìÿ×ÞooiØ¿¾v+ØÐÎc?Ao¤×Óçêè8Š(›ö{Tö¹(z_Ô¿Îo/;¾°Yg=ý]¥ú¾:åx¶ËÏÇçׯ‡Žc?J¿7iDZŸŒŽ{ìŽMú¸xœçèïçµ¼Ù/jyÔós‰òí7sLZå›õ<ö :q~9ß×½ŠçžŒÄë_­pi_ìEuÔ®K¯SÐ?†lÞ²{kץבÙgVUÃXË©~žËçáóÚ¶ŽYçЯ‡õÂ×ËׯëGË>N7çÁï«Cªfd꺢|éùkÓ®OÏ+ç™õÆùçzœ¥ãp¸n¬C®'ëñ¨RwÒ®Ò®›^™Eo*YFTõ«êØÕó9”ëR®WŸ¶Ëǧ—Ç_§ÌÎçç5ç“óËä¼wÃú‚‹a›ôzp}NÓç¹n\ÇfMz}™ÿ=c=4H¯?ë¡•ŽÏ:aò:Å:ú‘ÎËd±îÚµõ]'ë’ç³e·E gÝêäy®“ô­’õ¯S— y¾¸¥–îKOÇÁëƒA>\¨æQ¡Qþ]ê¤P­«N®û¯SÕ‰NUOLÖ›Y—*Uýªd‘çƒÕù£’ç™;ò¼tGžÇž’ç¿YT×áå묷x¥uwGOõæ)=Õ¹;º›OWJwó·³t·n˜Mwë˜Ð7ØÕºëì}Ñ,š½töþ|¥4{}íìýÿ÷ö=÷9f‘÷Of“÷gf“÷Þ"ï3½EÞÏz›¼î*ò¾½«©>?¸ÚäçÝüæZ'?WòUòó5¡w©>× ü\(þòÿaB¡Ðwh …B¡Px­Ñ"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!áƒáÒïM( …Ba÷§C(úú1 …¾HOû‰ }›Fýè…æÒÈÏÂWH}ß®yR¾nOêkØmH}»œÔç²ËH}<½NêKê5R_U¯‘úšNêck:©ï®i¤¾À¦“ú›Fê³l:©/´é¤>Ö¦“ún{Ô7Üë¤>èWÔ^èãìjÝyk^™½˜µn™½¾š}0û~¥Ò[÷Ùß ¯Ö÷³ïç¿õþú[ïWäÛåBòù2$ù„¹|ÅTùSû¾êBò=3¦ö½Ôä·fLMO†$ß7Ï©éªûÒÃqæEÉŸaþ•:¹ÔW«»‹^T=±ÞX—F÷a£û™z?Q×ou]á}ïŸxÆû?Þgò~–÷ϼoWŸðs ~£úÁùdvÖÓaÐÜÓ~âíG﮳ÍO©Ã¿.çM}NÄyWŸ/¨ûj®¯ºŽ³NXGêú§¯_¼)ë Ïò‘ò•ò™òò¡ò¥ò©ò­ò±òµò¹ý…šÿ-/®ÇäÏé¤ãñyø¼|=äë«_/_?‡Ç©¯¼hó\ŸÇœ?Î+ç™óÏõà:qݸž\çzEƒy ê\Õ¯§~ªžU½:”ùÊóšõÈ:äqñ8Yo¼NQ~ôûç‘óËùf½p¸Žä“ ä› ä£ ä« ä³ ä» äà äË äÓ äÛ äã äë äó äû ää äää#ä+ä3ä;äCäKäSä[äcäkäsä{äƒä‹ä“ä›ä£ä«ä³ä»‹_û`§uï{@¾ì@>í@¾í@>î@¾î@>ï@¾ï@>ð@¾ð@>ñ@¾ñ@>ò@¾ò@>ó@¾ó@>ô@¾ô@>õ@¾õ@>ö@¾ö@>÷@¾÷PLu-HynÝÚÁP”qêÄ&g¬Lm‰;ð8:'d|= zN^ÕðeäÊŸ>íB,ó«—y޶п¦ È“>!´r,ªÞݸÇѲ­ö†Íð-dÆ„û–UCú¸‘mÝþ!ÄW'”;£c:$ßþ3s E?€Rwave/data/amber8.rda0000644000176200001440000001217612377701075014135 0ustar liggesusers‹¥Í­ìHr…S3š…{mÒB+-¹„V½¬@KuP&\hM  iBš@ =} x™õålõ¢ëÕ­*þdFœ8qN’üÿå_ÿúË_SJJþÓÿÿùÇ?ÿòãéÒ_Ò?ýxýÇ¿ý×ßÿó¿ÿíÇ¿þ9¥ùeýõLÿ÷ßúkýýõêÞ¿~¯ýþºÿþzt¯×Ïßÿ-ÿþšºßŸÝvj÷½/Ø~ƒã=aÿé翿ߟ°ß¾uûïÏ÷úù|‡ïwÇý—üóöÞû«0nÝxüVæãÇß}ØNûùïïã¤xèÞã÷kwÝþ~}ÁvO8þSâ¶ÁëÙ7ýþ’íP\ÑñW™‡ Ÿ×ÏñÑÇßð»ýsÜ ñQ!Ï.xÎÇóå”q9æçƒ8rI<œ]|ÝøìŸã÷{C^1üòiùy8 Æç\¬0OýyÒ¸.–ÏxŽóÕãI›ãé€O5ß—àÅÙ%ÛíÇý òâœÿ}˜ÇóÐ$~û¸i0n‡ŒS æO â4ÿû©‚€sïퟷûþ^yùü!|"|¶ñ‚ù{Ï[»àÇù†íg™ßòûâÈ8Ѥîœ1<×|îŽcà“5øû ùWe7wø>Õé:ÇŒóþ¸žß{— ä‹ÕÓ&¸iuæá¸Ç+<¼ ¿›‡‡ÅgŸ;œçqo‰¯ü£yÙãÅX¯Z°Î^ð÷ú9 °_¼$O_Bæí öÄZ°ÿØ/]Pÿ*ð/ããÑ>2ùâqxß3þAøåkÔ—S|ÔØë€ã ηÍÇw?ª·_'èâ¥ûâxD‰éˆOÁþã»ñLô'âký¸a|^ÀÃÚgý†òc˜×a?Ö×^€c-V‡þ¶u³óÿÉŽ`x ^_çUösŠîW…Ò÷\¢ï\‚K ú âmŽ£”çx\Ò—" æy눆w×ÊKMWŒòŸðe›÷ï=®¿Ça™çÉ0NUúpëÃäýñøì§÷{ú½ñÇ!Þ.Ñ¡«à} _•ã3|6&û³v³¾_Áó<Åϸ‚xQƒõ¡ÊïÚœ÷ þŸ>ËÀÿ¿¿~îŸü¼„ÿ/<‚øX¥o®pYÆ{ÿüªüŒôž*|¼Âv¹8àú!üeåê åsÿ¨¢X¥_>DÿhÒöuá ô‰=ÈÛÅ?~×ý38OiŽÃ.Ÿ7u:ë;©O؇¥`tˆÞ{‰žÒßw•ÏÑÅM5ÞÊ<µy?¼úsìóEgRµyL•ýôóÿ}¤ÅpqÄt‚*<ÿ êJp¶Æòëq½Éã‚ü1êK#.™LýÙ)}ˆ|nüZù–ø©ÄSñ½õÓ%8Žx\žó;Ë»A¿?¤._7ñŽxo ú-§ôÇé+Ç=ý}ƒ6×KH¯Dþbu  Þ½‚:D…ïï2.GP_?E¯ö§è?Ö9®¡îHóL|†ú”<×—q^á‡U| 䉆ƒA?·³Ëû+–7ƒî(<ÇüGÔOÐÃ;¿ûúôk¿]Rçšø»g°Ï¼‚ü¶ N˜¯xÎù†®5=îúÌã=ƒÛiR.Ñ«üýº©ôçwÀ8žs½]ûÄKÐ!‡|ñ½îfùÜ„ùÅÿKðé˜û~wýW«ÃC¿mºaÇòHñ·-Á~÷ü<…7¿×ãÐ3ˆ_¦§]R‡ wék°_»ä|k0¾êÜÓëˆçXßqHœŸóz‚ñ(xMüA×ë6бÌæyTÏ“ïa1>G}…­“Âz°ÇêâÆ)8i|z—þîÝ­Î}Ç»÷!û“M|ë |â4ÿ|蛋ø\iÞ‡~oû¬'ëøšßë:KO%¦‹ê:·žÿï±ãA^IÛkÁ~nÿÌßuœ®`ý¿bzŒ®£»ºyÙ…¿ÝÅ«cŸØW$Ñ=.gÓS©ÓäÓeÁÙ,ù/uœôÂðú Ÿ—n~ëÜ—A_ËðÓêR“ßÕ O¤þ8}Ž ¿(_¹‚ús<;‚¾MŸWÇg=~ˆ3Áq½ŸÂÔ݇· ß6?©}ò5šlïŠñï!ö˜Ž®‡â{½uÊ:ça¦ ë}I.é D?ì×a>s¿F×A¶9/Á¸­Ò¯™^pJ]"\ßåóã±¸ŽŠxÂ.q•%_.9®+ÿQ?B}óSü×Câ¯ÂøXµë ñ4ªÃÄù.ú5ð‘÷ûõsß0œïäÇÄŽ9®àýðò=eЧØnx9‚ýS•:³ÇæcX¯—¡ŸüxEÇ5âÜ%ú&ù·Ë½þlø]°ŸÓë¨+ô¿¤¿æþª^ož¤~6©Ô´y}Cn~òÔ?.ɳŒÿ38^wûØCú蛆ø=?ã,ò6ÓËÎ9OÁës‚¾*]Ÿ©ë…͇Žê 'ø•õž½ŸÂ0´ßqŸæýµò—Cør›ãŠÞwˆ~ßæó„×woÄeœXežÚg=}¨UøVý<Çøîðù*ü'Çô¦¾¿Æý-1ðØÞãõ¾¢(Ï%˜êIú\¿µ•|!kñˆþJ‘ó¢|ùÞßö¹OÅóz§x—åx$>H7¶{‚~rÍùþo¨#ßómÀ»3v^:¿Â'm}¹]ïõ;Á¼‚2Ôû,úQûgOC<®‚“‹ð±ç)8†uêà°¾Úêåë‹°ŸÞ`œèwëçóÞç nzÉv)^W7Á…Ep°ã‹C\$ˆ³Òí¿|žwÒ•¼[AgÛ`Ë<߯ÈÏ%X—àéòñãµ@¼mrþ6þIpt9ã0Ç|è°¾±Bá«Iâ3 OyJ})s=yÿ"ÇßÇèÝCÉÇë3Ã|z‘÷+äÝ*Ûï÷œ€z¤ùOùõ”~‡ö·H¿/~ÌÀƒg=!ÁømRV8Ï&õŽê¯àÃ'„£‹àö÷ç¯Ïq¤|;ˆøœ,y[æñˆ}ÕÉ2gõ×n|ú÷=Î<ä8ŒwŠñr¬CÉ‹Upì!q¹A^-s\AÝiÇéZC¼<%×Xÿ¨yŸe\û¸xÁ8 /}×­‡ðÊ+Ò/É·CtÏ2¯?=OÀ:° þáYöJ8kýÊy²Åú¢ÿ³ðK;n©¨O–›¾Xþ™à8¨Nù×[±ü£ún:}^–ƒãeü' -¢£µ9Àë ìßx‡õÛIòvƒºf<Èú`ËÛ"uIêà€«¹N0Œ’ù >±ujÒ+Ú\Ðú—E÷Z‚¾éëÜÇ0ÿnÐMŸß–|AZOˆx`zô"¾Ë:×KP‡*1ßÊîçMþ ÎÇ"u*Kžä˜>мjüIó:½žl8Ÿ-†ó„—¨ßÀàñÔç`?`8H~IÞ›‚:0õÇKLÇB]$Çø.ö ø9 êW?(¨ãÏEþj}Ð0?¦ÇlÒŸQ¼“®ú‚ó]ƒüü!ûÏ7õ ^ÿªÂ+lûIôEêLÝ%K_‘%Ò=×ψ߆}FÜIÂÇ¡ž¿}ÓöYÏêë¾§ÍGžóBÔÌ'I’gëM¾%ý~^$O— ž±ˆ/²‚þ’!– ^õ<¶|^åûÔ·oÒ4Ï":*ä™­ƒÐëF!^]1‹_ž`|Ú¼Àë–ÍGé§ŠO_bñ¥~s_v•:c:·è¥úcò¶¹g~žÝ¯D× á{Ѿj¿&¯xÝk}Œô ñûÞøÐáEŸßïïUñ›‹äñô­‹àÔ*¾œÅ½èÎÈ'Ì_*зdᇢcës$ ?Äu†<3žµÍë*®+ÌA\-sþ€÷í<¥îš_d~N|5=øÍঘ?„×I?bõç;Ëø×ùñPâõT„P‡Ñ[ƒu$ ?Ù‚~]´OÂCKp?9ÈAÂëÕ6¨3æ[Z=ü>ï#¨c%駳įùdw}BÓI,þ7éG‚|s˜×:B>šçõCŸõ‹ï$}‘x¶y.‚ãæEãüá%ØŸ—`=\ƒºñrS¯Ê2¢Ç¨N¸H_k~U\¥z z Ý¿õà"|)‰ž¾È¼•˜Ž£×!ÑûÔ£,¾Yš×%{^<^GÒbº/ê «øÇWP?4Ý6ýYâÑIüíMúuëSñÍ‹äá*}Ž}n>U¼n^7ˆ_óoÍ7[>ï¯#¼^ÅÇYÅ6¼ß¤®$ñã„·cÜÇë Æï1÷‡ž÷ú'[GŒ÷$|Ýbqÿþ;ø½¸üæăM|v«It*ÒùËÍ:‘%>“è"–·ExÁ&¾ô ã <™î»…ø¶ŠÏ‘e¾?æÓa»ýëlï xKû_¥î>äµ?ϽûüÇ¿ÊqÁßlïó'}”Þo‹øË&º¸ñ·ëCñ¾ItëĽ"ýéÓ+è½½^ºÀïM§3>Vnö ph÷ÁxJÓõS'ÑÓ/ˆï$~Ö&¾‡õÃQŸÑôâÝÔO/Â_ ßôùEüEÑctœ½¦›|$ýñ=ƒþõUøUžûwx¨$~Ÿù¹«ôiî·÷_°~(õô,~z}y=g÷¥Ñç ó±_NÌ·û—c­1?×Q¤ '¸¾>&Ï}a¼/`ÐßOm‘ü•þ}œMô‹%8Þ«ð’Mp™ú¥E>§ó]_rŒ‡ UDwŸZŸ· þ–Þ6Zo¨n€—-è/dÁòÅÓœWâõ(~õcÁÑçÈyé}bèüÏ9oF¿\xùíõ¦O§ 6Ãø“ôzÿže^/i|ÿ°¿Ÿƒüsñ¬(Θþ„ë Òü¸‡ûä7ñ½Ó\?Ôû^­2Þiî£DñgSúÞe7úþôó Ïh};Þçp’òLŸWqŠo-qBëI­Î£_–ÄÇn £ô|í”úbúy‰ù¾öüjÌÿ«öœªðºå ó·JLþ‰ñ‹U¾oñ\çùŽ}‡éðè-/ÐG3è½+üþ%ýE†ý~ú÷ :ì|ô`ò²è2‹ï«Ó·¹ÿ‰:ê"x³ÜäežgÊß³ø¡à›âúiëWŠèR'/¯A\Kó~ï·U%~²àÕ5×oíù‰ÑëM? ‹\…/uõxèûóy®û¹ëó[¿lü|€`aÜîñg|®×ñó+®s¡þökïK¬¾¢wÍçñý| âS›œoéÆ%ëmƒýlóøÀu¯Öd©ûI¾w}7Ø®=§Úðy_Ü_çú êÇyÎ ×ô¹6kÐg>­:Žù¹Yúâ½åöŸYðWÎ ¯ÿ¡þ¿@ßÚÕYêkm?CܬóùÇûÐùmwA½fì'Íç:¥¯Ì÷ò ¯ ªóíëó«ø‘Ë<žµ_4?Þâ)ê‹ÒÄß-ÿćù°%VízW½?a–¾Iô {¾âÇqWÄ¢8(Ò·™ž°H¿·oý€÷Qÿ/Ëø¿²J&ûê`YúòUæ|’a=F¼/9ï¨ÿ“?ë)ä_¡î.|BŸÛðœ÷¹ˆKT片­s¼ÖûõÒßóqŽï Ç÷˜÷Ux?‹ë3×ç$ñS¯#“z£:x æËøI¯ã=`œ ŒÇ&>}þ˜ã®ŸÝ@·\þ Ž­¢Û. _¦y½D}‘ο.>­0~ôÕä ð<ëà"Ÿ— ^ôã÷‚ù.¢›¿Ìãï;°J]Ûd?Où|“x¤z™‚<&KŽæW êh›ðŠ‹MŽc¹9ï¹Oƒ|c ò3ÚÎg~úã¿ÿù_H# ÍõÚRwave/data/W_tilda.8.txt.gz0000644000176200001440000000256212377701075015176 0ustar liggesusers‹íšI’#7 E÷¾‹gÞÿbNx?«[µj‡¤êviõ‚$8€D¦ÒõËó¯¿ÓO4k•-Úr¥­¤µT³Ôž‚še¨C]m]mà j¬13ÏÆjsÑ»jƒV¬f©ThŒ Ëô«]MŒËÌbyB%‹:ãjB¶Væ«Z£Yê„&mÝhëÍ ôlÃ:$Ù1â”6“¨ˆ:ãæBveæ[Zc±¿œØ}NYmMm£A+fÎÒZ¶Ê8ëâl9'Q6 åÜX- q[¹p¿¹hµRØKA¹tf.ƒÕ úËe!Q“ÈDè%×’E ªì JU{®]m]ãºd‡zu¶*MÖÑ?¡ö‰D~œùÃjŸìêÞé½ûûD÷)ï“ßÚ¸5¾DS×®ŠÖ-xüu3÷m©7é~mYçÍxòeêÕ®²në2hY˜¨ªWv[ñÄ^Ñç2Dl#‡lÉú³UäŠSž<Þ=3²C^6¸£ËW‰·ÿöIoïòýÂÌwE$qÒvÅÅE¤ŠXå¬E­LÎ[º"WE¢(úä¥X7 ¹_ËDÓ͘üüŠÌ§¼`¦™ÓB6qû–³|ˆÊF&YÊ)kˆš"z™rk¤9È3Syfrib/òÇ@CWZ¸ó 9epGi‡ÒP~ë“Þ.Ù®veÉ®u;1;5² µqG—‚”%¹Õ+(+_j–ʽ¥:éU´Hõο•ÕRÕ‰îì,ßOòý$ßO¥ß™YdM—“‰²H¹»à¡IñàúkÁ|Ê)ãçIâˬÕr‘,9y‡ ‘Æ%ýk‘•Ø¢×îÿ4²Ã.Ç”D—„tjMmUãdk—ë‰îÿMhܲf!–\N£U²l“W˜Ndº}KZ¿Ü.%º%X7é?’òù4þúìlï§õM_žÞo%¯õ”þRj/¥úv*¿5åoúéývõÿ¥¯sžõ¿Á vø '^|Ãï_Älžçø¿íùПãù0ßëÞo¹îGxa¿ÀSB«û™-À€4`Hƒ­`LfžLWa­‚T‰ýì7ÈÖj,Ñï´tÆ ¤óLf^ F ûQÕÍï§W‡'Ý´•15޳_vzìg¿ÿ:L¤HmûáØµöó²CXb¿K;ô˜§0ó~Ðv ®îgo‡ÊÜã5¤*Û¯ê“1¤€ÆUîz‡RûߡDŽûµß$Õße‡BK‹%v}Áa†ê¦5Øü`Ñ]¾p@j9캇kM¬eL0€Éu/ r_ØØB½+Žs 9ˆÁ§ä3Ÿ:‘CÙ°Ì«Ç7fÛ)C9„!b•CÜÅ)i9„IœÂ—C(á”ÇBc§ˆæFrJm…–NË ©y*yau§Þw`XˆÐó):„žr¢CXË):Xœ}…©Ÿj¥CxÊ©i:„õžÊ§CÛ©:ĽŸ*ªCøà©µÈ¬NEÖ!6궃Áá§§àëi õžJ±C§+Ì&㕯<…h‡PÝ)W;pÀÖrêÜ®ÐÏ)0¦#5èb»þР= Î?Ox/ñ° mL[Õæuœ0€GNR 0ÑØ((ÓPïDá Ž˜p¾£ˆkJ\wÊ÷7q݆`-ؘu ÊBŠÑ¯"òÝz½åZDe%®¯–Üö¹kÂCúèÉ©Žžèç”þaôÅñÌÍôhÙémÁÕßPÖÚþ ÅÚO´|5]2ô´ü«º®íMÝ´¬·àÙs×—QVëùc=#í”ù„k*ý“Fz$±Z<Ðœí­ª§”Ä:Ì_ãkŒÝ´²Zßò½~«äâÕ¬r¯âóTÚžO/½5¡ð:|~þïá%Ö1ÏO¹‚UgjŽ(-1®~»<ðæÓ‡Óõß~~)cÄ©_åãŸix×sùU¹®ÉDzO2/“_gÞH¬Ãäy™<®ùGbî²8w¹uîtëÜí–¹ÕçÎ÷]–çå|î†[ãsWÜšS‡\úßÒçq‰»æÄs«ËÎtâ.ºuÌÝt«·.=rî¬[ûÈó²zëÜiWÜmWÜqWÜuWÜyWÜ}WÜWÜ…W܉—.»Ügâ®ìáKÚp~É?‰·ÇâÀŽë6†fÿ¯§poþ¦¯É1¥BÝá;ì)¸òÕœ]èðõ{îíõRoì~Gë9ÍŸ½fWçªõn*²W¾6èÛG¨rü1û¼¯ã‘­v3Ç}‘â—ôhvõ³'ñË7mNù$Î{²>Û×e'­tŒ@›_Ú0ðÊìá¶Ô5üýäEòõ{Ík“Èßâô°e7Œ€;Póøà (Ïi̽pC<ÉzŸPhÄeýWÅ^Ž’±3Ϋ /4û÷»þGù?ýÞãÝjÿ÷Ó³^øþY/è"tY¬Ž82Ç$è{]ÄÞøÏóC;4¡éÅ×ö¾‘ö'0ë£J~ÜëûÄÈí»S_BeWú”럠<™øòãû(0óô±··ü…ZÇHqØyÙ“)Ô¼ƒ<£¿Ú³ºuÅÃ'ç½~v_N?HásœòµowyÒe±È“|Ú—'¹&,¦ù¶¶XðAÌ;Ø¢²Õ}Y5Ükn¼÷ç©N}ºhÉH8ÓÇ»uJ%UÎ^Ñuí˜drJÜËÕÅÍ% I­úÅœÅíÓü‰B/q!Àéô¦Ú ¡R§J9¥« ½U8˜²ÕÕ‹š> ”O²?:îZ²pX®Ä΃_èÈâô®3¿íÙº<¶m¤`k¾’MPÆn¾%ëk5ð#Zöéú骤ɦ’þÊÃDåœîk(ô¿(tG‰Ž4jÖÔ†U#áãÃ]26ì¤pÚ÷“ºÿ–ŽŒ'ïÛ1wÎ 8ô·î>…¼•:Ð}©†ÿíE¡ ;Ê_ø£Ö¯¹`7ù¥J'dz ~¬ÇN6õðy +©láçÃn4•*LÝ‘U¿;m&²õr?Ü—n·ÿý‚ø‡¨+&Ÿþzá>rFênQKAÎôÄeó»ßA…Wü®®øŠ2¤ß*¹ Z’»Ï{Vo¿ÅHà6¸¡Ž©*4¿à”^fA;Ôªz¥´E$C/üODû,òª¾á,ò^´¾7éï°Å^þÂ]Ó¨Ñä ×Ná<»—²¥¾J{¶ÛâÆÕTò&$RÅØwîµ8®ªeZp%š÷±U·Ý¿ç) šjrÞ¨,Ñ Qƒ ¹žI¿UŒ®[tkÂøôv¾·¢lx¦Î4š:@ªéGT´ÚùÜ ?§r  +^qçÁªÿ¢$] Ÿ®§'P­²ó@ýË(¨×BäÕßv;9LüàhÍÚèÄ­¦)}¸Á2uIUöi( +—õ*ªe¢xSÂeú¹*s:·/O&×Q¸ È5B>Ó_8ÙlöCZí¤\n£>!·Ä3‡·y9í7}G§ŠFwRFQe½1¡3Â&”gòKé¼ìÖd1ë‚Ä—â8|¯C¿Ì]Õq ]›Å;¿,ÜfaëD<ì&Ÿˆ×e´ÀOžqúsph”îT@ÕOÈòCÏP››?¢†C'j¯ùëclWÝ^ñÇ[äîþ›ê{È"ýZ9FW:%k”é2 •ÍJc':Ò®å¼!²˜z£x½œS?ã[Á寧€àfùý:ÐÕä}ðÏ-êѾW÷ô“ä¿©¯îÚfêz)t®of'2pû6ª-Y­Jª:4]±<áÕd]›{Ï+›È.ëõHì6uG{/ÌÿAA4íSÝi©kDø (Òž/GÚû?éà ©'$KžÜ‚çºH§ŽpÁÉón ªdÜ“5—¦úfjd§³¦~¨ú§Þî×y> †º#MöwBpâì§â¾›Ô£à2}ŽS¿ØÉaú”jõX‹+!»ÉŠdΆ¤…‡gÁs`pzNc mJÙvª‚ÆÍW­G®ž&#w qÛCÛ¦„P¦Ñul *“Ï­:û³WÀ«ÓuÛ¯(¹žrLþPù¬0WÃÙoñøaçÏ"A—E÷ß‘¢³3+‰â̼ŽçÖi„!·Á%*ÖãzˆÂ· :QëÈeòŽCÒ7Gä9é.-õ(õÉ«þû)tTõR¸87S“ÞfænªÐikø›ê'1@£LÓ“%ÿÂË´fŠ'¦P3Ÿ \L^ÁyƒËØcæmÇPqím|ý¶¥-›S“Á1ò|σ–ÿÓˆ‹†‰¾”kðâ ?‚ç?½±[á`øíˆd™‹ ²ïÊ[TÞFù mR£HæÂ6“G*ö?eWC¶Í<éc©§œg¶ŸJnƒGÑi­ÌÁfÁh¿E¤_“…‡dñr¥< ;s<”®Qsúh¤WÏøîÉ5 (0„–~U¨ýküòKÿGy[f-€4¾wBÈÌKü®·u¢–ø4íû+HEaÞåkTl~˜Ê©R”†ê¸½g“½¯NÀpx5ÛšY‡m¦ÎIðausÕQ(”}&çP™(1xD^¦]‘ÏðyN¶ä³Ô r< ·ð“S‚ÁÈWO¨#2TI"–2üô$ŸyŠd¾¬¿…œÂ5qš;ÂH4 *6|ÕpvôB ;ߤRKI¶kÉ¡Àõ™§E»©¨_¨[o²ñ8š‚3ý4Ñš ÝõÅ™„Zá_>ßP¹QÎn8; '4Ê_³¹ß¼ùã¡QmQ,<ꬆ­[öcOK@Ô2Ýx£š;Lƒî¦½²OË/ÜàÈz«Í²UÒG%]¹°oxåOú{¿¢Æ8®n¢ ™›î…ír>OîC£ô¤¥Ô\‘:¶Fy¸éSr™ ÂÃ/Ìd8y—Wk8‚Á—*MS}Cuú®=Üô—ÌùJ¦‰cÉ!¼#KúÜì¦22UЇJ](Òìðóc8©¦¦’ Tª@O$äkö~ÿ³¨`Y2ŠfÕðÔvb„MOõWTϰх¬ÝlƆïötõѵT#zæ¤Ì£ý†?Â.uö‡¡#•wãBÁ¯F_QXþ·>G.ƒÊ>÷êhžHA“ò)té°¤Ò?²u—>½r…W4I}‘¹.x…\Ñ]'ù²©Toã¶¥tÖÌ7:kꃚ O¦ ‰÷iÅZ?>Ü•`ø6Ëœ éÇnÍE£ðϳ‚·!]µíÛ‘mÙ j\‰:Ñ5%¢ïŠõ¶#u(5ñF™“—øÙáµÙvï¯C‰á1|­ïÇ ¯,b` Þî8Xeú…OíRl[QnÊœ÷\ õ§Ô›“´@jFÙßàÀ€D%×qÃÁ"|Pø'Š…Gç /M”uä;Ïî¹PýEuÐùMÜàô§ð@‹ðÎÑÓ &Xnê‰zÚL+F£àÂjÑ=…“ ¯#)Ytc@ðÔ+|¡HË™´ï)‹M¢zœŸ«¤NÇ`¹è½4 7,„b‡õZ/ó'lxÙ¤mšÎ­Ë¦J™Ûåí˜(QHê£B½ùÎ')_tGØà,EuýJM¿F×Ã%¼-hø4‹ÎØÎòô}re³€¥†³6_SƒôYF·i-•Ô¢ôh¼¤À ÝHP†ÑɈTÍ´¦ªôš=Ñß.¦Ñ÷¢€Ë~ ‚ñ‹Š˜¦>‡*£ÃÈ*s2•m€Y”£75¯»5ú}™GÑ9R*óJô) d…5-˽€dáW¢}~&ø°Š¾©7s3§ÐÝÞîTé1òÕ^š.û¶3Mè…,M“öm†m•p7RNmx C&¿=+ ¾‘Ox¶ðçKuÇåÒ›Â,{»‘ÓÔÕ1ý†šx`>N6©·è¼ò͈ða»‰jDg†ô}/“Vé6˜ñjNjd 7Ó܉¨ÐéÜÔ@U¢ó«£:UpµXx†ÎÒ+äðÜEIAø»©Nò'¾q£ÔU©è÷b†ënÒw}h#¶_—ŠŒî‡øX0üšŽ Ï ‰o˜e|x«´Áq?… ÐØ%ú¥Pæs¶ð'ñgÉÍåôùÅÇv›uÀ%þižùnÃ?-sÈ?™DiâošøQ"ˆo)Iô´CxábÓ7TÄ6U jжKâ2 Û,s>êOd±½:EÂ3y<Î¥:ÃɧUiç¨JôÇ<É›×ðâÿ÷žŒúšHcÃgÒ4µô ƒÓØl÷C±ð¶ª €`»µW ÊLÝP¹ñÃ(]‰ZUùˆê»\ç7º’¢>¨ËøÔ`ê“…ï—H\²Ä·õʹF‰øêÙ ƒ(Žé}xE¯DÄ_pË\µ¾Ž5Â;|,s§¡Pð§Úð¹è9%ËzsÌù¢~€]ø¦£?x„Ìzh§–+CkáßÊÇ4ò­Kü/dúiÕ|Pƒ £;Qgx òØŽ™LI2ÜÿÜŠS&~”Åòí1JײfÍiÊ`›ðJ*%ç9”hüuÄžB>©çbáa.ñ{mF8R¢øä9?°É<ްà)Å:ÁÙ2ãS“UÃO+~38ˆø„¥ß&sBù’?—ï|ÄŸ‹RÅ?w‰®/Ü´^‰|ñý£¾lµÄ1ê󅵌êw†âØ _B´n«Œ>§4Ãw°ÊðdDõo…éÊ×04ì7dý«ø#!ñi×è,µóQê#šào"·àS:Óýž8#çiÑ|DäÃ#¾œUÎ?"õgP­èY—†ëÏvQšø¡e†ïÒ·?ë×zJ]å+ÇÄ÷ 1]í¿¶S&Z0WôÀÑþ,8áíÁ8TÃËø.ñ'¢ú§Püµ#¢ÇJ¤NÂf.!(<Ü=-¨”s$Šßyˆ? X¶ÇÚÁÃénƒ2™û%ÂoÓX¾AÑ8æŸí’ŸTÅ2z<,2çòÄW ‰n´Èï49§©ÿÃ/üÔ%>‰SΑÒMQ-ç¥ÑùQ"<¢:£·šKè¨á»TØœI³æjÃës¾LN¦o=6~ö‰o`~lÕ«{+ÂRÏ6ñ99l4¡ZÎñ"»âŒƒRÃ˨XÛü{þÁ Áñ ã{Áfüä‡<Ï'üç¨Ñ‹HÕå“nƒ[Ãõü•ØgâN¥l´$™§8bxe‰]"ç>ÛåÜt§¶Iü£çO”ªq—©`9?8ê"Oü£,ñϫ̜Ä9ñ¯Å×"—>Û[@õºûøl|hrŸšRä{âk SÎÓJDW”˼u]Hù|û/¨Tx­…éÌ›äÍ#þÖNñ¹ÄŸlsãB¶_šÁ/çNÑ1v9ï±›9EÅR'Q?Ê©Ùõ{“)•aåaª–>=,¸UmtæœV†©HäåŽEÇ휨߀ý¢o„¿a9×¢#â3ød½^ñ­,J½+¦sñÿ[»KÁ1 Rwave/data/signal_W_tilda.4.txt.gz0000644000176200001440000000203612377701075016523 0ustar liggesusers‹íÝÛ’Û àû}—v$ÞÿÅê H¸†0I×søï¾1„„ÙŒÛÓo"Ÿ³ÿúE[±'  »¼-IâEŽ(Ss¨"æÒ*‘s*’D¹Œ—¤Þ·\q¨óÆuêA¨­ë0™‹x‰Kseík ‹^ó\{ä: ±®mí¬Z»¨8«êz¿¯‰Ê%•F°6jë–ÎF&§÷I“Î+Þ®±ŽÌIçeosFO¶¶u’¯^¬ð©bMEA–¯:@½ò¯z%ïš(+W,a?²³I-'d¹‹ÒYmÕ´X¶£Ý—Ød£$ë›­5SߺéÁ]UÖÔÏ¢ÉZ}‹¹­Ãæ°Ú®Å5Y_ˉ"¶ôX¿]¹D{‰5eÍ®&Þiw羃ë û*ÙÈ¢‰–TÜ>0Nû˜Yïa ŒôÒqHï!«É&CÝ.¡Ôg²í¦öLn2nuãÖ·Õˆ²ñÚžÜÈ¢ÑÈ2Ð(>êÕV´Yeä å% ÔògQm²ËµýÜξ4E°©e¨ÕÜ $ñFÔ;Èu¸ëðÏŠIÌ=&k7ô›¤wƒQYz )ÓÒ»Á™k´½FZ¦Šwk´ýçÊGhs BÖ1ü‘îßuÇèþçãÍŸÚ³të™óŠºõÜ…þ§Îߟ¦óOèvõ÷zM¿c¡ç×ù… ü*}}Íßì@Ÿ¢ùû?‚þUó7ïAAý­ŠéÿsÞ“®ŸŒ[¾àï»>z ¼žä{ªŸŒ< ðIˆÀGâI¶ß'ãIü÷À“ü\yW(âë*%x…^ÑʈžU¼(¬ŒVgOží;~4AÃÐg‘³Nšk¨^O¸ «ˆ±ÜÃ\wÓEGb-¬¡tuëñzö¸\š8‰¿„!’Êù*‘ó%f·}Y—c.[ÏéÞ‘%É¥IÖ.“²ÿ^ׄÐDŽI”Rwave/data/sig_W_tilda.2.rda0000644000176200001440000000201512377701075015333 0ustar liggesusers‹íÙLÔuÇñ¯€¥‡"ˆ±Ss¢S)\?"Ìëûî4IaØø1ggf‰Ç¥g˜S›?ÁZgf¤3‰Ý…––}ßÕ’ •?6Éæe©Å¤Î°X·Ý‹ûCÇõGýóyÿqÏïnßïçóùÞv=²myñ¦<“¦iAZpï3Øwâ»ÐFh!Úh_Ç®µ—=Qä°¯zjùœxßa¾4¼ÕÕ”¶Ç”&Cu/)6EO(“†ž¼{··Ú¤v0¿æ›L‹l©‹nîj²JÅ¢ÉÓ>-¿$¥ÎuwüP_#+–Uš'žš'…'Í=3»öKÎøÙ/6uŒ’ÔŠè/:V´Ë=¨¹´°o©Ì8³ëͿ¯šÿêz±¶úÚž‡%ÝuhNTm‹,>z"v{ý&ytM}ÆWrE™è½ÑVµK¬\O¯,iûÉá”äZÇñ•ÎIô\«Ik–„c}1¿ý˜%‰/ÛN8Ÿ+“¤ÝûO¿>(óÞèM*ïîËág½¶ç9 #Ý;%åÝŽûlçJª¥´x’gŒ¤üž›Ÿí‘TSä†äϬ’²ÒùIÈuAxñ†êsgÄâݲ텻gÉC9®*K£$?–×í9`“ú C3#Îö«^lÑ.™׿úÔ‚f™½yµõÊã÷ŸYP´ô@ãF™~át]û!HôÛv·£ê=™rÑe7C&kI›Ú²ÄÜ0ÿph¢G¢¶åKE’L¸qdkOiŸDŒ½?7~¹Œßýáûé¯H÷ ÿÜ»÷ÈÕ2îæ"Ó“íßJص³ÕYÏþ)cóã–éEȘ¬Ö ÚwjÍ~:fßHÍß{÷¹3¢nÝÀ¬}2ÒyuÁes„”­ÿ²ûØ& â9GdÌ-øh÷€h)ÒãÒ§ƒ¥{;Ójã¦=ãØµkÂ{7¼þuŒ~ÿyëW†5™¾Î’I­KŠ_ýç4~)ÏÈb7~æó—ù¼‡Ïµ—ë\ôŸ#Ðï¹N·ÿý=Çunm×¹µ_sáz’Ï×Þ÷Oëúú’æUUUUUUUUUUUU5jÔ¨Q£F5jÔ¨ŽðŸ·å_–N3lé<ÖNt[éJ·•(J§[J×Òé\ÒÁtº˜N'Óéf:M§«ét6î¦ÓátºœN§Ýt<Ðõ@çÝt@ÐA'ÝtDÐAgÝtHÐ%A§ÝtLÐ5AçÝtPÐEA'ÝtTÐUAgÝtXÐeA§Ýt\ÐuAçÝt`Ð…A'ÝtdЕAgÝ9°?]tjЭAÇ]tnнA]trÐÍïOWtwÐáA—t{ÐñA×ß÷×üB·p,< Rwave/data/signal_W_tilda.4.rda0000644000176200001440000000315012377701075016031 0ustar liggesusers‹í}L•UÇÞÜÀôB ²ÍH+4µ0”ÜžŸ/LséXÎò›3 ½Mk!,·È̬å"5ŘÃ]_¦ârÚ­ÅÈÏïšb¢N|¡:P”‘à 仯öü~Çù¬Û½ÀH„ß÷>pöÜsÏùóœçŠŸ) Ó_ š¤iš¯æçÛüÕ¯ù[ÿæo4Í_ lfðBûÜ÷æÌŸ=mvš}þÛs† onëÙܬAZÚ·ß;:™™»r'”ÔàÚ %clY0gÑòÅë’CÑQ\›}Wà†sEQaÕè(½³=®.sÊV…ø81;IQhÇÕÎ'÷ål­ÆÌ5ÉM©• ¸ì£8y‰/f8ãlᘺ-fSV|%¦T ̮ĤôÜI{à”¡;çç½äƒg˜vµ[$Žá8µÿÖq|¹áý•þaoalìîw/¬Æç¬L\ókFUÙÃlOcY/ÌÐgçWÿß³,(Â8y=ïËêy—Ú˜…ŸŠ~f;†ûÝz%hæáPº3©õß—^ƒCêËV%.¸Ã>ûó·Ø^§pØVûiŸþˆC<èTS?¼º¢ ¯l-> ßÔŒ¿üF?ueaâÒ&ì£Å}±å`"ÚÒƒ'¿e7Í÷×/Ÿ˜ûÄžI)hŽBSz¾v|æˆèëw-àó Ï¸)ï<³9"Kn¬é|"ÍþU{Ä–Q?u~z:67et.„…~2²p÷§ß3ßO§yåÄëfÿèŸúñ¡ŠÝ˰»Ùï¿¶1ïâ×Jã¦~1ü«YØøaöžêLʸ;{ÿq!béÎBì}8þ^©Mµóuü:®çã´NÜZ— ¸ªºÈqÏc7zïéÒ¬Ã;À¸;o㉉Æ*ãZHVÆÍ›KæëŒ³´nGÍŸu±Â\_ž§N×ë\çÔ~Ëœ§Nýƒ6«zÐÌëÁgòÐ7Y|h]¹H׫úRúíÄ=§cµJý¦9/ê¬ÆqÅœŸ_ç¼9Oý µÓþÔ‹hÜNš?Í—ç¯ÖóŒ¥>¼Þißsýh¿4u?ü0À·þ÷"E®;_‘êØbZûáþ™Ö÷§z)ò8yÜLžϯî/&ÏŸê¬êBõVäºUQ¿\O&í/Uo>?N>¸ Z/E—eÝœR³„×YÑ冼/¬äûâaÓÝø¬ty˜§óß©yˆµÎ†õþ±ÒºnÌ£–ûÍJë>°²Ürî2y?y¢uº#ïÛ–’÷½Ð;¶¶Î-¥·ëÞZz»ÿZKwû¾½éé~ìhôt¾[wî ÿûù#lÛûüvÎç“°k=ßåsG×¢»G ;]~ v$:…B¡P( »&5‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰¤ÇÝßÅ …B¡P(ìôt …½õb;Š?¥³‘}F¶‘þ¶ð#ûÉ„&e·å\÷Žò9¢k}îèlÏ'öZ¶É›Öî$œÐK¶¶ÎÞ®{[Ÿßm=w[êµü¿|–®úH:º?ÅK?‚Çÿ'õôûwÏ ë9éîüá}Ï>_&{‰Ù÷K^Z<µŠì&¯­ò3Ƀ«|ÂLòæ*’WW‘=ÄLö!·”Ö~¸ëûó8yÜ<žßE‹¯™ëÆõ,·¬‡u½‹,>(öZ²Ï—}¿ìf_0û„ÙCLžfƒ¼ÍÊ;M^g$Ï3’÷ù>ÍùÜ'µóõä•Vý‘wZùy<¾Z‹WÎe9g¸>\?®;{¬É› äÑòjy¶¼Û@n /·ò†“·Èã äõò|«v¾Ž_GžpÕ?yļâjŸ°¿‹çÉõ%O9’·\yÃÉkŽä9Gòž#yÐU;yÒ‘¼éÜ{¡ùþò®yؼì@žv o;ÇÈëäyò¾yà¼ð@žxUOòÈ«}ÍçÝ@z /=§È[ä±òÚyî¼÷”ž;)pïH©˜] ©Ûb6eÅWB†3¾ÁÞË9Š“—øBæšä¦ÔÊXý}Åö‚èÇ ;IQh‡œòƒU!>Np”ÞÙW—ÎE…U€£¸6û®€œE˯K…µJÆØ²@æ®Ü e5ÍGéÝiÚÔu?€Rwave/data/A4.txt.gz0000644000176200001440000000541512377701075013711 0ustar liggesusers‹MYIr#I »÷_ºƒk.ÿÿØ0”=+$—r!A¤þÚ¿®ÚþÚ¿:7ÿØ?³ì÷6¬Ï{µUë½ú]ù^³íÌcéoåŽz¯+\Çkãk×çÿ³ÉÇç¿×ð©™÷Û˯s¯­cc ë}¹Õz[Åv~©í-e³ß<«b>.¿ów­ÍíÏ{g<“Åá•Nâ}Ý‹ÿæfŽÖ… -œ0wóšÁë/?¸_æ}ÿn»x[Í#ú­Žw†NÜ'OàµÍxš]xÚò]Ðç@ØyîùŽ| o’[˱bàÓÙa>¶Ž.ûbPÙ/`™Ü¯Šûźö²‹1ØÁ åE„ª±B7ïi‰k—åÛî,ncw¿‡ÖÆ9ƒ«Þ³qøâ¥:°K»1‹Áí>oAoÇËÍ÷]Ç֞ČUaï“xñ…¼VæýòáËùM%ßñ°‰œ8vŽFJ ÙÝëðF·›ÄjÍOc3Ÿù2µwp‰ËƯ·##!uaׄºòJsœNEØ%mc\K‰¸µó©ƒ0Vð&D'ïÈÒ¼ç±Y_mÁ33QÎhŸÕÄ2k¤w½sd_^Ï’»L‹a§[ÈíF «Qß.$ÙÁEìÞ Ú‰ópÌMÅÔð½H ùRCÆ`!^†:Ï&¬D–XÜÞÍDV*Òɳ÷¬ƒPoF>–ðpR’Ê)ö{v¶ø•d*>Z¨—ðVÖ€m¦ Ê]̬±È<ñìB·Q– q:øÆ%Žš~‰nDßÓ¹‹»”–¯Ë¸œ¾!”øŽœôÕBÎûnÂôUÊ‹ò9ªú±Mäð $>FÌé¸H$2[ât …yà_N¾»çcÕ /DB3?.å]h¶ ©$@&Az¬´áœÂî¡bÛ$J_`†fªú³µ ä¬B&rávÙ¤öK Q"d]+â%™)(a£ž)†¡£¢ÐMÙ A]ª'ÅãV´U f¿è2)л–ÎmÈ÷¹@ë0Ó¾¹ùh7;Æú«E¤íF¨møˆõcŸ""ýôÖØXGdë-ã5«R{Æþ°Â9™¡*¯Ë›O"úsÃ_ºÌhŽ·ÆKR cƒ2Úž–W¥¾/Yô´;4y¤Z©zÑ*B“û8 ±x—Ë!GFUý¡Tƒ,j‹»)h `C*}‘™÷ákòÇö 66‰ÑÈÛ zêô–Ör`_Œé}q}á¿p -…,ãŽFƪ`ƒÐpmEÕÞ§ówTÒ” …à°uq.6œ¦× ­=/O1âý}xßÄb ÛO ±rÐ&¹—Ë¿hSr\öè´ãéC‹Yo©w…’ˆ<þxÿ¦B‡>7…ñ¢‰.c%/5UC¤BEõ¥N Anž:$M‹µ‡$ì2íÜËß/ r„‡Þèµ4eØxp:Ÿå/”%ðZ€GòsÚedH“æ×JÔϘ´˜ð£Ú.¡^^ iM‹Ëö€©8ðüvµñÊK‹£’ŠÕè_ß×øØ€ÍaU4“Æó“ë|î‹xŠÏhÓf}=éð¡¬[‡á>! ¬:¸#n¯:ø¶,©P÷í—Êez‰€ÔÅÆø†L,Á#÷Aÿ:²B’/@}!¹ÐøN[O!ÞTÿ}ÁðªÒÍ``<ô.©bÍ4VD¦¹Ul7»u®á”^u&?’ 1¹ód+o}7‡&Îs*Z™¡íËZšŠ@~ŽEÁÙ }ƒàœƒàŸér*êØå‹þRˆN-&À­£§­!Ï7ØZõ Û¹ÕÔ?æ0ú +¶´Ô8<Ÿ$SPñMU¿»îoÀ[î¾ì3û °½H…ìÓ83/pv±•4ÎÇ=/‡+G=M ‚–-ÆlOu3kdÆ-'ðAWî¿Ô¬ý 4Æ“'Ò©4ùœœ+ªß4†ÿ.͘šç¯¡ã(skô°ÿ7êØ‚sÆAȶ»zJ¨“ȶ4lÝ‚Èa†7ùv€¸~鼚ß,Î ŠI<Œ€üVÅ«kæ2zËîãá%54(¤—šìoκ›=æ¨üiV¯´-ÍI/¼™&•Án/Ù–vh¯qÁ7Uf›UŦ~¹1NÎý¨08¼²¼êˆXüò€%‰gÅp‰$C†î€÷Óë× ×W¡9§‡äR—¸þ6$D7ŽäªKÃevôìOBÊI9ÛToùùi06¿¹)!GÒ¯e\?j@Ì>\ƒvqƒf1 íïw™ú­Ÿdbëç‘Ò3šªcl*vp´mF5]ìÂXëCàØ˜þ•â¿“Rwave/data/W_tilda.4.rda0000644000176200001440000000314112377701075014474 0ustar liggesusers‹í}L•UÇÞܸ¦ºˆ,A3Ò M- %·çç Ó\:–³|ÁæŠBiºÂr‹ÌÌZ.RŒ9Üõe*.§ÝZŒ\q×uâ5Ðqe$øù®±=¿ßq>ëv/0á÷ýÜ=÷Üs~ç<ç¹àÆgZÂÌ-3-š¦ùkþ-ÿ´|Øò…æ§jÁ- ž17=uÁ;o ÙòMoM Ñ =ýÛïŽ̬]ù“*‚jqí…²qÖœ˜·xÅ’uÉ6´—Öbÿ•¸á\IT˜»íåw¶ÇÕ'b^åÁšP?æ&éa£ŠSqãÉ}y[ݘ•ÜœV€ËÙK“—úc¦#¾ÑÞ„iÛb6åÄWcJÕàÂè†HLÊÈŸ¼÷N¾sAÁK~8yÎW{DâøYöSûoÇ—ß_ö6ÆÆî~ïÒh7>·pUbö¯ŒªI O°>½æ¼0KŸ[è¼ú×ÄÞ–çÉë_ºç_vÖÅ,ú äìt 0ÚÑFpëËìÃe8ÈkÛ™Ô€Cî˨‹Áa «ÞÆŸýù[lŸS8bkêéŸþˆÃ:äT󺦪¨ b-> ßÔN¼üF?ueQâ²fì§Å}±å`"Z3B¦¾•êl2Þ_¿|bÞ{¦¤@°1°¥ô~íøìÑ?àZÐçA¿ ÓÞ}fsD–ÝX?Úñ*Dý«öˆ-c~ê9ò<ôsl^ÊØ|µØ>]<ûÓïï§Ó<•ÄëFÿ˜öñ¡ªÝ˱§Ñ†ì¿¶±àâ×h£qS¿þÕlú0ûNw$eÞ‰}ÿ¸±lg1öÍ=¯ÜªÚù:~×óqZ'î¿­‹%®¦>rÂó؃^çº<çðpÞ¿ñÄdçjçµÐœÌ›ƒ7;/¯sž¥u;j|¯»ˆUÆúòß§1Ÿû¤v¾ž¼Òª?òN+2ƒÇWgòʹLç ׇëÇug5y³<Ú@^m Ï6wÈà äåVÞpòvy¼¼Þ@žoÕÎ×ñëÈ®ú'8W\íöwñ<¹¾ä)Gò–+o8yÍ‘<çHÞs$ºj'O:’7ûc/4ß@Þu ;—ÈÓämò¸yÝ<ï@Þw <ȯêIyµ¯ùü ûÈCä¥òÔyë<ö@^{ Ï=÷’2ò§ï=)Uƒ £"!m[̦œøjÈtÄ7ZÛ`ù!{iòRÈÊNnN«N€5ßWm/Š~ r“ô°QÅ©Wy°&ÔÏöò;Ûãêaù’¨0wØKë ±ÿJÈ[¼bɺd¬½P6Κs²våOªªm9Jïþv õ 8€Rwave/data/Ekg.rda0000644000176200001440000002171512377701075013464 0ustar liggesusers‹•/lkkvÅÝ™·ª€ƒ‘jhU#ÕR[M¤‚¦•žÆRA£ªR#MaH%¿û/~É»÷zX` a` a`` a`@QÕW=[:¿µÖ9™Þ¹±}Îùþî?k¯½¿ùûù_ÿzþëÑhô‹Ñ/ñÓÿùÓ?õÓ?F6úÕèϺþòþðŸ?]þb4ú«ïf_g£ÿÿov3ÿùúãÑÏ×/ï~¾~¾¾_>Ÿùïožº¿kÏûa×ýþëöp]ö?÷ÇÇÃ}‡ï¿œâ½xÏ—Çîsë÷‡÷}›u¿¯~Ÿá÷Kôû±{{ïõáþëÛîç?Ü>ÆcÒ½¿}^ÏûqoãÈñlínï“ù8òímýn×öÞj÷Y·]«Íáºëþ®­—6þß.1¯‡ùú²êŽg=ïÏ½í¶¿ý]ý›wŸßÚÝÆ½}^ï[‡û»ãUë~Öíoîš7<¯õÿïýáÜÏ»ÿãßÞÛÆåóýÏ×OûÃõáðùëÏ׫—Ï?/ü÷Õž;ÿûö¾«Exÿ¡ŸÛß'øý¢û»ÏS´gÚmWûû‡_Ï«¿Ö~À>¹Úà¹Ü7éö¿¾?öíoýnãÔ~WïYtåÄÇ%æyæyÒ}N½gÚ}nÛm¿×: ò¡Ö÷Ó³¶.Z;êýÌ®µþ¦X'¿“îõã ×-Þ‹õÚÆaÅö ½|o}þnï•ö-»×yòá´û÷ûþøûûÃ8¿?ȇï׸äÊ÷‡ï—ÏÝ¿ùûöœzï©o_]÷~Úçm¼?úýqÔ½¶ÏëúýDåÚ¾?íþÝž“Æ­]ÛïÚ>ø˜Ú³Â8ŸuÇŸóPíÁµÚ…~ÖøÌ0ÿ[?î5γ°®.ñûõöýo÷×û·aÞÞùõÂõ›æ¥¾_õ_e]ð¹§~Ýð}ÒþÆçÁ¯ßöwé«©_ÿ” íû+È×ÒOøœò%éÓö»ÕìÀ±^Ù=Çп¯xήûwé¯óîõŠí:ör¹µ·ôÈ öä v8ìDz»aŸ7;†ö훲‹n»í©û—]{²ì࣮¾kí¥=Zö,ì½ò;¶øžvô¸;î­ßFÝß•½7òþL#ü‘§îsÚøÖ¼õŒ¬ÌcÉMhÿæmvÈÇ­·? =mÞ)¯¯à—rÝ7{ü³î~-ÿ ò™z¼ôâÊÛM¥ÇfÝùÿ`ü˜÷+®“Ü ò°ä4p ÊÕÂOž¼ùû›ò¡Ó;?ï7ðk©¿Ú{V¯?‰o´ç$½ZëðÅëÇÒ3Ý÷]›zîfì÷-õRù‘wÝv7= ãµ ã°èî³Â'VðÇ^_Ñ?*9=ëúí>ʱ‹‚~I~!åP»¯íÃÿ€~/}=‡?üâåjÙqKÈäâ‰×wìí÷’›ôËE¿àw”·µ>výó/~8ñ’©—ïÜoíóòÿ±N’ž¦]PþüI°Ë—ð3Þõû"?Oü’wÝûZ¿éWÑþ•õ2ò~‡è¡àï·çÔø_x<ú’vUÓ2.Á¢~ù¸þæ2ø——Þnß÷b¿¸¾Kü¼W;0Ïe¤y…}+ãòàq]±§a?à{ÎKò[Kÿ›rDìCÌGù¯Ç]y*úr±Ú¹ðx>õ í†òß_¼ÿ^zøÖÏ í>±3·÷¡¿N}ÏvÔ|>„qżÖ>¿÷¸dzäîÞ¿‡ú®žO½8õø{¿Âï_úßÓî+»vpŒ3Á.|ÿÞÇ#ÊÝxï)ù³÷ëWôïÎÇghÿÈþŸz¿Oâ~æ½qþÏ/Kþ©¼wì ÄZÿËyB\xHÚ_œ_ÆYè¿Fèëúµ?ÎAr…ñbö#ÙaC¸e½?à”‡´w+N<ï÷ ¯ÇaÝ"þÍ~•?¶ë—bÿ¿ywéõîjâVÀ1®¦wJvåsµëÂÛKWÉ~ ñâGâ·,Bü Ù…{oWˆ~œúçK|#ØOÑ®žõã%ežx{Kì‘­·3Óº.{þð»ÿä¿fÀçÁ~;èï²?Þ)¸æ=æmïå:ã ô×$>q‘ë±çu”:÷r™òYìxà®ä9/Lz¦öÁÆã½´{h·yýnx‹WZzœvêðŒßϾrëq™zoŠ¿†83÷ ŸÓæö…Ø?ÏJvÈ^Iöú§}¿½ÿyäìÒß'rgßïçʵ­—›Ñ¯žy¹D|XäÒI¼8Æ/C{g>,öΉÇñí£©;Ð_çüŠ|xŠøuÓ`/¿úý.8öã?çžw푺Žûý`Êi~N»¼ìÝ€ã½9Þ¿ üŒ¥÷prÛ¸üÓ¨+§È¯#¯±ÆûÁ÷¿ä6ü‘Š?œy\‰<¸‡\Ÿú`âý-ÑŸÀƒ…¿Á}>ò¸ùjoö·gø|ô§Ù/µï}ü1Ù‰7ÓöaòËVþõ<Ç›ñayÞÆãêCöD’)*ó0òòSpfàÔ…ÿ¾Ñ*|wëŸ#Ÿ¯úÛÁõùj£¯„=‘pAÁ aÝ΂20ŽÂË ñúu‘77 ÿ-û{9vAòƒR\Xøeó-xú¶_Ï ¾}éí+±;—ýþíP|Dì«iðoGýñ}± ö~É>^†q\…ñZ?—ÿ0d§ãýìoŒgœx½DÿCäöàr¯¿½ZôËqូͦ~úìúýÒŸm¸?É«“~{PÖ]âÅ¿‹<ÐOÁ¾J|âLÄÈ[«xøíoÚ¡´Ÿ‡¸äí göéÒÛ›¾ôí ‘üqêç6‰×Ëö%¾í âaÅÓºó¸CÊ[Hû†võ yL)ãð'ýz!ñÄŽJãuì´“€»^ü |‘ä¯&?7Ùí‰W ûzÀîjë«=¿õƒ¼” ?µö/ò•ˆ‡ã¸0.F|OâCog—Eyìæ¿î"øØãë1ßcûF¾GÊ#Àµxþë®<¨ü˸_ا"Ÿ<â?û~žL²Ï~,í v[ÂßîB;–¸ñiɇ ~åP€ñ¦ÈÓºï—ßõ=p‘gLz*å½ðs¶Ÿñ”â Ü—µÿé/û¸¿/ýO¾äÄë3âê…}&»ð¡?ðy1ào/}¼CøÕñäèã*|†À¯ ÕÞÇx[ñ'o…ù"Å+^wq\É_y¾ó£+¿ç ûùÊÌ£I¼–Âo½ýqµàûLâŒ]9"ù@[ŸììÏä L½^½}ßo/'=%ûmáñ7Á¥ga/âq_ òhÑo÷ Ÿ.ÙCûøÛ}ðS.»óv=Ä|òœi?KžÚ‘×s¢Oï¼_Ï}{øwäÃÿØÖuíljÿ]ò%>¿@<÷ÖÇs$N¤ú½ðú·µ3ÉK±ç™/Ê<У`÷ŸzìýjO=ê^›_Ðæ‹ñš(ïá¿G¿yáåKÊâHy0o½ ñ¥“‡œ’¼Õé€:}#á´ç—ú'Ýý+uJ¸¿ž°ÿq-½µî>¿ôSϓ࿤õµ qê`Q/DœféíÊ«…Û‹~˜~AàaD>Ál@ŽÏ‚ßx2)^ ëø2à<Á'^<îô[´Oщ'¿x;RÖUÀ¯þ$q¨¥{¥ø>íÉ7]xž‚ð§Î»û¶ôü;òÑ祟F¹É|6Êgá…]@¯=NÆúU%?æÞN'^ÙúɺRÍžæ¼Ón/xâqòÇÉ“`ªâM\žÉÔãþ¬Ã|QòPËŸ~„]wŸ×ÆAðˆ‰Ç?%ïûÜû1ôK¨Ç8‡¿ôèûYóB;öùלöçzîy3ä£.qìí3á]‘:x>íÇ¡z5_» gYÇ y&Ì?Iuºø<Ö`}¨T·‡z¨É”g•òQ‰“ˆ¼Xc??{yÂ:´o(ªNê¢_#N/ü§ ð.ÄJ^ )O_ÞóâåÈ·¹ßg©ŽX«Ýkoç]9NÜ’ïáü§º+)ßDòñ;ɳžÁ|âÌ•ü­×Œïpý­RþÏ…Ÿ±g޽žùœžwÞ¯ßW¡ÝCy ⺓}Hÿ 8õ Ïý(y{/a^_|Üÿ­õ}ø~Æù)ÿS}6¶ï:ÈmÁ9€O¬’ܸó¿£>”ºSäÙFœiçã“´7"¿bü¶q”:8¯¾ŸäѤúB‰G)üGج;"zïÕóCdý1¿?à¶7ó0^¡>õñ/Æ…êwkì/ÖA=óþ?ë Jø Ĩ7ÄŽºóö‰ÄÁn½=&òùÎËÏUÀõé'ˆ< ö ÷¥È—ÐÏÔ?™ç‰ŸGÚ±\'7óÿ:öñ1Ú]¬ßJ¿ð&ÔÇýxÑ›ù©ášøï‡x «?Þóâq ®£T÷Nð„ÕûwÚßNq|Öß`•ÂU—!¾ñ×Ë€›ÌÞÆã!ŸSò•ï}œ%Õ m9€‡:‚ôûÜû8Šð2¶ÚöÛ‡mÿº'¯ñCàÏ ÕGKõjÙ¿”+yì/Á.¿øÞënÑÏ÷>êÖC¬KzâÚó·_‚]}ܯÄ ùÖ¢.¼~+»w®ÁˆxÝqhwRç8௴›©%þ8Ø››þõqæôû°¾c=Ã{ÿ½ØÁ_HþI#)¿QêZL<.J{XòØïý>ïyýÁ8Gг_…üdÚéI^| ùÕ©~ãi~Wâ—ïrïõ¨ÄK’\AÝòxYW5Õ;¿JyÉ{·ŒuQvþ*ü‡”ç? vË@ý°˜¿7àeLûã©ÂS:ñqo‰k;ñÑÛmÑ{çíÎT¯[ú‹ßżšÑ€=™ê’m½=&õ¶AïÔ‡û€¸+ãä-¥<‹ª›½òv;ó b»’Ÿðø69óŠf!>¹ôx÷¹È‰Äk› Ì÷¶]È: ë.ÖyÅþЇåAI]ñSŒçÞ·[ÆkïñwÉ“èŸOÆãS>å ñ©Š:SR_rçå|Š;IÜ çJÜÌýó‰71*ñžW×>'~Pq§n|øë`Ç<æ¸'[‘ö‡h×Äÿ­û€Ç’×Yý qäŠï<ú÷lïe¸ÕGãür]U=µÇn<ü ø5Õœ—Sç&1~¼òó×îû¶GœìÙÏëõݰ+·ªq<ò8óy—ñâ¸ÄÛ…§‹ör|×fœŒø]­#Œ«ð‡C`âó²Nßy¼Oκõr¬=‡ñ;ŽŸàÌ)>øìñßë¹ç1Džþ…K]…8†à§O?%ã+ïNVçiúx>Ï÷Iñ9Ö³N¼ëš§3ü5ðJ¬¼“8è…O°ÞçüròSXGšø…ðB¼#ñXŸ\øÏ!ž€sÜj59°íÊ ù|Û•é ž+Auž¯—öùÉ쇜›6òû“r|Ny/⿜gòê| øR¯uç÷YÕëÂ:”óüæA`_àÅσðµXwqçí«ö\>r·Æí]ЋÁžà¹0¢B?ßIëŒëŸë„öŽä§=c^ŸZxa…¿€¸­œ·ðèÛÃuz"ßð úϼž×þ~žG˜òdȳá9‰ÔsÂס¼Xûø{Ì¿xî—¿” ”£ÔO1ŸðÖãôWäûyøüÙËyÚ‹‰E{…ø\ÓyðÛÆ>^šòÏ¿Kç<2Ô¹J8mጟoûûý)à²þý¸VªË%8öªç7>úûå¾Ãú:w³®ø¼ÎãúýºÿþÁë-Þ‡ç¿õ9ñѳþïåyópE;…÷r„8ù»þ8z:ß%ÕEK8oÊC«ß%þʬŸ 8ùéÛðq9Gcï÷WnI¼z¯ý¾ÍOKò™A|“z½æ¸õqä„«’·Éù’õôìýß¶n¤Þñ^ÆïžýçÄ1×e܆ë¹ÿo`gU¼8Ä5¸ÎˆÏ×ý³€K<öÛ15žs?Ì g\ˆç±J;8óY‰Û2Ÿ«öãóòäù´c)G BÜ»Ö7ì8Á©ß…¸xŠëÌ^O¼÷ÉÇÓ%¿öñeÎCÊ'"‘<žT88ùã~œ=æ±Ãnå9ŠM¯UÞH:wh6`Þa´‡F^ŸKýø%ìPÖƒMqð’„Ÿ>ññòz˜wIÿIÎÓ=öñ@ÑûS¯?W‡Žy¾!Î/üàt]x;Jêýl½=Ås]×`‚üñ—öMugjž#®ñº'ƒJ}ÿ­ßƒçú,ÃuìâÕÛp*±ÓW8Xè×àï‡Î[H<é´Ž’äC<¯„ù w#8Ò"øï /RŒì—Q¿_ÇsÛ>g\\ø,áÞ%uÉÇ~K=ó0þÉßgý›T'Nêån¯$Ôò3¥.3Ú%¼ÆWÏÇIõFoBœGöŠþ¬ƒvëåFÂ-ŽFÿåGðp˜¿Éº¤ä»^‡:½1ïlçõ¸às/ þ(y-É~½ȯüë%/ý>žõìõ±àöáÜÁÍÓz»ÀK/‚˜ê\=Ÿôý”ˆ³ÈUñ«ÇfÇ>È©PÏ>Ř'Ìù¸žØÁŽ¿~꯬“)xâq°n}¼žxCªÇ*ùVC¼~¬àá—6½zâq£x~!ür‰ \„ûÑîTW>«"víÆË¡t¾¥ð/}œ~hßKýýY÷ïXO9ÙIÇ/‹y©Ë~ûHê>¿úq{ Ø-²Sþñ´+Ï o; ¼Ÿ€K /bÜ/·XÏ©ê„}'õ°^½ßÙÚמ×ú•Îu¥üOüžSÙžÓò‰Ga=ú¿‚ãa1¾AÞ¤Ôõ÷û-¯iý›C»0Nþó—ýv‰ßº¸WgÖÝl<×ö{¹ïð÷ú·Ýß·«´—ÏE»ª½³îsÛï~ ÷·ç¶ç¬Ÿ·<)¶¿öG°#kÝy^G{níƒúu[ýœu÷Mû¼ÛÝúÏÏùÞxþø³¿y’m\˜?÷óÛ®m¼«Ýø¼­£š·3o'Ñ~ªº}Øç·: ~ý©Ç¾B>rý²Þ™Ô‡=÷í¬þ­±ÎöèÏ)ÖÇòæÑã·”Srí ó yÍ8 ëd·a¾,ãGRÏnîå yð­ÝÕÎ3ȃY÷¹/‘;—^~ß„ù‘õ¾ï®_æ3—>ƒÿÅxAª›ÊüÊ­š¬kòÚx®o1ïúå¿oý”ñ{€¼:ëþÆ}=Ç÷”Ë3?Ï%ÿ’|„þb;˜G)ã6öã <Ô³nÏ+¹ûØU¡¼Ÿû•vYé'èK‘G^N’ÏG¿¾}^vóy'Lõ…?ÈýäΠœ`ÝJÖµD{%OþÔËÁÍ_U¾y¤Ä—yn/ñ©wŽÏ›¼aݽ²».»ý ÝÂülÖý”ýºÂ¾ù¸9í5‘×[/ËNxòý”}5º:óóÍzƒç| ñÀ»0þ£à·¬¼¿Âz‰¬'@>­œ—òäY¿\꬞{{#æ;‡¼0òù‰£J}ÒgÏߨvM|\ûˆv-÷{É»•·Gj?̺í+¿eïí.ÚCüT®_ÖÙe}‰›oÕÖÇ7ôòIΨó~êqòùÜÇ\_ÄׄwŽý+óx8gþûÄó“ú¡^²Ôû ¼‡ÔƒI|Fž;q“MØWجžø‹e'¦øcàÔx΂êñáÏ0?qîõ…œç1òöíxÚ_Gþšöoªß"õiŽ|œ!ÖZ÷ûAä×IÉ8ÄEv>*ùB!&çÜõû˫篴qÿ7ÌÃߎ¼Ì:~©Nžð°w~ßÇç–nñ¾û€§¥ób‰³§óÓù¼é|¶#üîÔãå¬wF|=áï2.©®pnžcœêµÅºtézèoÕ×Xwÿæ÷i|Þ‡:ÇÕ¾p•:‚©^Æ©Ÿ'©rßó{ök…ñÞ_ßû¸×]¬›·òóGÜ_øg)®4õëŒëHÖÕr`ü·h'ë¥"¾yȰkOhû˜¸ëÊ1„qÅXçr‰yÙvŸsòöSÜWü`ÄÍ\DpŽK?Ohúd}xïÿvî>èÅ3ˆ?|äýûò¶Ÿ¿ |:ÖYLu¥~p8ï­ÍÏ·‘·kÛxQyôx@Ê3c¾G:Cx÷c?âm³¾cºÅ»Óx~~+ïzUðÆGoÿHýÌ#Ç/ñDÈ[ ^d)úóä»—¿³ôöàÁ°É£!¯YxÎwž¿ ¼Ô›ªóIÃ9j¬‡!üÒ ç)÷hHÜ}æåc÷x.=Þ[z$Ô­uÛùyªwÎó Fз+¯oY~Ђ=ÏMuµ΃MçõÊçGÁ.KöØöÎö*ô~:çUÖ ôéÐüÄs½]$õ•·¡{¿Î…_‚û‡ê s\/0WÚž#<Ëd¯-ž‹:âÔo'B½ÌÂà—³îj²¥Nß2¬ëwýû žgß‘ÿ“Îe—x(ñî3oߤz¦…#MúåëÐ9ámÞš>`|GâBˆ·'^$ÏÏ+\%ÔŸ’ó]ï<.Ýîgžð)±>S=Ët®qVâç’WÅ<üµ'â¬åL=¾Âóôh'°nVÊ;Nç>ˆÿ÷àýÇ!{¸ì«…×ÇÂÛrNIà7F»ká×Gá¯oªs7¶~A~0çû㨟çB{µ­‹Ouf[{Èó“óUÁ'‘ú0¡ÞGñ/àO‹=êßÇijy5?§Ü"ÎÍøæ7œcžÎ{füç¹1ÜÚ-<ÕEWï7ýówK?Œ¯1.Iž‡ðe~ëãdßBü·x|sðPVžŸRíB\µxhWû»x‚ˆ;$~¡Ä÷>îQíÚ{}'uØÉó¸õ|‡¯À$bÚ‡Ö¯ïf§²÷8NÅMGñœ Þ_ÏèâS<BìòogyùA½@\}Æiø©žÐñqÆCw°ƒÞ¿{d ÜñvÖg¦VzhâÞ3?N²¨§N¡7oý¾¨ûç­õ÷Îû¡7kßïvÿ?Žºí¦_÷5Ä•)¯ÉOÞùÖËUÊþM»ÏÞ:í•¿¾kÃn¡˜ÚŸx¤ÔSâ'?ußÛäÖšzéã|éýدдC“ž#ODøœko‡}y~ÏUŒõ9C\®]¿%žôÞïaÇ·uÿ `pˆ¬åÛÇ´ß>¬aõ:ÀÔ×*è?É ëUlVîÁCÜØRçö³Ÿ³ñÙ®s÷Tåö}§žï“¥Íæç'ÕµðhÅ[ýÇçùp—$ƒuFO±U³¨¬Ô›çØ:õùòÄû?³íÀÐãá )l_#-OÄSvH°ms¤Ksîéâricœœ3³ô’Öò7,þÊ Éfç§ã~¦zöÜk„ÿÑ-ß-áÞÏ»Uotð)÷± ¿t­÷yt§ÚíAÜwµÝã>úìæ›‘šs’ݵ¼ÉV‹Ýw>n‘}Û•=BoÏifZ›=kl¶ìâËž‰w·…¯`/ßÊgk{a¯µfÔIfߜ®É>f¹é}åÈ:³b߀ƒÞO+Õg߇ó{'tÏa¿H¹Ã·#αõ#)n{Ù?¦cWg“xh0øEŸKz·*Ñë—Hl¶~ûpŒ›˜r‡û¹wÊÜÙû-ÎÞÕú²/é„MŠ>›ÁA?fØg§yqÐs=—aËü8ج֑ò±9øýâàÅ÷½¶ÖÌãàãþõ§:Fq𛘦ÃÝg³Ì$­¼ßb–>ó p»Å²Ÿô'zõìÀ²?š hú'Ë®Ö1roË«WŠô{–›¦:Ç;'³ÛI>ÁauîÄA,_þ÷p3Í ,ß7V1ø˯WqÛ~f+4C¢´ë°Âðì<ÿÁ¬èVÿfÊܳ¬ðîÜl÷8V|7sã‚£Á¬˜¶ÔF7u*+b7¥G§lbŶ5³ôWé±âà2ë•Ó&±ëCñwí3Uë±âUV‹¨xGÑZimê8ŠCô,ÆÜ9q—C ·ÚlË!­Û› ÛîÎ!æs7ØÕtâΙŽÜ#9ĺåõœ˜Ýbï·òÚ~ é1%ã|6‡8þ|äÉï¨|\ù}ÊŸS>òy•¯£|]å<0/å<óç­|Ê÷•Èkì:ÅŠå©Û£2±bF¢aå‹ö¬7k浬ðSOÿdgVXuÜ¿}} +?‰pÌfEÅ6Ïìç³ü¦‘麇£YžºÑȱ?ËW743h7‰åSF)®o¸ÅòÀó·÷f9êN®ó~á³ìvЉoL޳,yh¨eÿ×,›òµÙ¬¡, óý«Í¦L–YvZg¶óW–UÕd¹ßŽƒ3’zÅã൑Ñý~ÇÁ_žt‡ƒ­ÖVØÓBÁÁU ƒŸiÄAqæ#]kíà Ó¬¡'¶q¿”ÄpÏ1[¸ŸëÈ 3›6r`¦…ÿ•uøn™×YÍ9;äN+8`æX›bó׿ÿƶNéÖf2\KÃg²ßIÝÀõ§Ë±_h¥¯ô,Ʋon«éR‡°ïìVé-n°os›m-wœaŸ¤°ã޲ÇÌ%ÇO1{?¼|¬Ú¯íØ{ZEÛ C#önì?|ñ…höJJXsza{v^ð*ò6{¾˜}¨y³çº;ýŒmØÓbYüDÝÖì‘ÑbÑŠ×uØcä–ûo¾aƒw%”Ý“ßȬs˜ÝeæÞmÛžÝñy¸Å»>*çŸÃn}»ú?[~û¾l~àî$¶ù¥V¿q_Ç×ËÒ¾˜ßwúüV©ãªæ»¹S“ É‹ê±ëÝ)µwéÝfWç†Wí¼b¸wœoÇÜ®®Ü»üóŠ?Ž}ýBæ¥kïÚÌ.ûÍVż d—væÏ/ÏÎèΦ®:ìšßÿœNvnàýf ;Ùýv}J¶%;n\fr~v&;6–~y÷D¿ê©eªi|d÷ˆ|iß´>±CîÞi §±Ãȇë%…±ý#·º5^±ý° G.îŒb»¬ø™ëBµÙndºS„Î"¶}©Y¥ûž&lûC´í™}«Ø¶â͸¡&líÜÍjøV¶187òì8S¶Þôß¶öâÙý—Äv[0Þ­öü?Ä¥w¿:@ϾfSî®_gìîéšÜÍuï%sLî:u¨Ýú1{ò÷ Ÿ¨¾hÐHîܵKÿ„Å6l¹éÏC‡ª³Åa#Ã+Ï3Ø¢Ö¼ñ¯š¯äNèϱŸè¨5~rTÃLî Ûqª{ù6?üG£±ÝÙue6ëir|ƒ%lš•]µÜ6l:4Éåu•tnõ¯Ü_™`Þíf¶Û7«Õ n;'™Ãmæ\LJ<3Ÿ[¯Í5»w#†[a¾ÆøŒ«Ü˜r|ônÙðÝ:Ž[`×|VgêÄÍ®ÅènòÀÍ ìF7=u”›b{7Á<›ØO–G?8Á—îÚá”6ƒë½ÿÀØÛÙõjøÃù}æu2ذѻBìÁP û/OsJŽæØÎ °ëcÞõ«¯ÑØjÜ’¿ÆöþëÉ`LÞ¡eר ÓÕ{õíÚ²>¶¿þÖ íôæ¦| öëe–ç[ZTn/‰ÅÃÒúÜJj¶Šø^çºG±³Þ-ï9¿T-~®êº½Z‡[%OY£ôé¦eè×K™eu=”U~)õXÆê·î¹Ûõ"7í/:q^dâ8²ÐÄñqa©wltì¨Þ«'ŽcÕÒÑúÊ÷Ë&«'®‰±Î>­¦ƒéŠsâ}‡;õÅÙõ¯ð0ëµ¢üêEâôký‹3qÑúà_»ˆÇï¢4‘Ý÷»rL”º¸n ÂøVí=Ídâ Óî{Òoƒ*qž#ÆÚ—NÏ;ºT‰ó Qâz q~RµÒ öº„‰ç3*ìe¸{é+Uâ¼GŒ:¸~¨Bœ'©Ðš¯mµ2eÍǪ~GÓU9B§—gƒ*Ô~p&ÚuH®8q^V5pž¦B\Wcõô—K-·:«çÓb¬vhfã¶}‡©ÒÎ-´ÅÊŠ¢¬Šó\â|QŒZ8Î%Žk ² öO¢D_ceôMQ¢ï‰±ú˜(ÑŸÄXýGŒÐ_Ô}DŒåÑ/ÔýAŒåÐÔu¯Žš¨sµD}–¨kµD’Éo„:.4ó„ú-4 ü¾D-s…zýhæõúÑ|%Ôk‘ùR¨Û"ó…P·ÿ˜Ï…úýÇ|&Ôq±1K¨çbãS¡®KŒO„z/q>ú@©ñ‘ÐJÑ7þmÞG)k¼‡>TÖyýêSã-ôµO×Ñÿ>7^E?üRx}ñKãEô;‰ÿŸgѯ$~O¡H,]ž@]Kü´yu$QbI0ëL¢D‰eŸ[%J”(Q¢D‰eÒ†4¤! iHCÒ†4¤! iHCÒÆg4¬pÝK¢D‰%J”X†™"Q¢ÄO†ø»M‰K„ø»s‰Ÿ8qˆÄR&î{’ø‘Ä}vEˆû4¿XâþÜÏž¸ïú³#î“ÿä‰Ü‚OŽÈ‰(óDîF™#rJþu"·¥Ô‰œšR#rxJœÈ*1"©ØˆÜ¦b#r¥ŠÈ»*2‘»Ud"÷«ÈDîØG9gM䪚Èm+4‘ WXrç O¡?¨%rò O¡¨%rýÔS¨wµDî 8…ºVKä ŠS¨gµD.£(‘ë(N!R”È•§K)JäZŠSÈÅ%r5U)äpŠ9žâr@UˆÜPq ¹£*DN©8…œS"UœB®ª ‘êJ!·U”È}U¥«BäÊŠSÈ¥U%êº ‘{+NÔ· …œ]U¢Îň\_U¢îE)ä«}  ‘S,Nô ¹ÈâD¿(Hä0‹}D”B´8Ñ_Ĉjq¢ÿˆRÈÁ%r´Å)äp«'ú˜Z 9áj‰ÜñÂSÈ5/<Ñ7‹L!·½ÈDn|ÉQȽÿ|ˆýÔGósۥ͒^§?­:.j~,ïP±ž¤â§àu*~â8»Ä)xµ$Kës+È’Z‡%µž±½à$x ÞA‚‡à%$x ÞB‚Çà5$x ÞC‚‘àE$x ÞD‚G‘àU$x ÞE‚‡‘àe$x ÞF‚Ç‘àu$x ÞG‚’à…$x" ÞH‚G’à•$x& ÞI‚‡’à¥$x* ÞJ‚Ç’àµ$x. ÞK‚“àÅ$x2 ÞL‚G“àÕ$x6 ÞM‚‡“àå$x: ÞN‚Ç“àõ$x> ÞO‚”lǵ9P%|3ÁJð†<¢¯(Á3JðŽ<¤/)ÁSJð–’#¶?¼¦Ï)Á{J𠼨O*Á›J𨼪Ï*Á»J𰼬O+ÁÛJ𸼮Ï+ÁûJðÀ¼°O,¹®?­ù&‘à—&xe žY‚w–à¡%xi žZ‚·–à±%xm ž[‚÷–àÁ%xq ž\‚7—àÑ%xu ž]‚w—àá¥ý÷ †àé%x{ _‚×—àù%x `‚˜à &xƒ a ^= aø”ß ža’U~µÜ~óT‚‡˜à%&xŠ Þb‚ǘà5&xŽ Þc‚™àE&x’ Þd‚G™àU&x– Þe‚‡™àe&xš Þf‚Ç™àu&xž Þg‚šà…&x¢ Þh‚Gšà•&x¦ Þi‚‡šà¥þ@åãÊïSþœòy”Ï«|åë*çy)ç™?ï³a–vÝx_‚‡›àå&xº Þn‚Ç›àõ&x¾ Þo‚œà'x Þp‚Gœà'¹Ö}žµd=Á;Nð¼äO9Á[Nð˜¼æÏ9Á{Nð ¼èO:Á›Nð¨¼êÏ:Á»Nð°¼ÔO;ÁÛNð¸¼îÏ;ÁûN>í?XÓuÁ Oðļñ<Á+OðÌç÷xè ^z‚§>¿ïÀcOðÚ<÷ï}~ÿsÌÌÒKJXK=]\.mŒ““öö5ÒòôG<%Û¡ÇÃRÈ×­šEe¥Þ<—¿_°ÀþÎë\¹¿2Æ~½1ê×444òþbH,V?€Rwave/data/sig_W_tilda.3.rda0000644000176200001440000000220312377701075015333 0ustar liggesusers‹íÙ]PTuÇñËZ Z¨ 2¾a‰ÑÎ`šG[‘]VHqA[^ zALIHœI PJlŒ^ eœu’œ;XQ£(ÉË0‰†ì@ ä@;í½Ðñ¢ngþÏÅ~wöœ}Î97{±Ÿ°•‘Ï;G:K’ä ©¬¯*ë[GëéÉQr²Öe[b¼qƒ151éÕX?õWë } Þ_~6Ç…Ç[òóg)1o–s™é9õž \Úk¸|áøy.YzñÀœ¾.Üœ©4/ÿsºÜ]NÊI¼Û8q~˜ß§œ2tÝ7è Çßô¾úë"Þüñ_•ÏtFqÄÜ–SíÑ2ëÛú rÃë×íkÓºr˜¦cÁÑ-é^qäxLþR6˜ŽN©kï`ÃaËíò±2Ž)4N*àõ.·¿«)Îaý®Ú-•“ÕÔøM=y–§½åÇ«L;Ö{Öò*OÒ‹3x5åÿ¡µ8x’%Ó9}#‡øinZ>TqhÀšÞøO~bÝECqÐë_;zÎq€õ%ß6þò#ëãvçµ6ï°yiCÚÖ#’ýîŠkEœ6Z[<µ‹Wë#Û»KW²Ö[÷ޱå$~•]fråmuå—F3µVNóŒáeòH÷Á` /yìÚž ;Ó8À½g$7ã k ·¾p:=•ý£‡"6…uó"·/ÌÏNúR2ûÎgßä\Ý¡³Îá÷Ô¡*öˆq9+ÚŸŸž\>2·„ÝÏ9Í~½ÿ ~rQlß+¿Ÿç)¸Îä¼5ËäT3»-ç.³<‹]Ž5)y<±6Ûgáºv¾G×/kzœÕ¸_U¯ÖµÅÙƒ¢Šškþ¾ÄRÍ𱊾ÊØv·µ^‰ÊÛ})#Wz¦.Tny«†Õ{w)öûQoUdu%X”ÛÅb{^¥{nbOß&ÿ(ÙxFé 3Í+Q+7l{Ûíj¸Ò=㽊}WlÏeo'ö·ûÆÛŠ}ãý{în¾wkñ½ûµ çýךl3%ÛˆŠŠŠŠŠŠŠŠŠŠ>|#FŒ1bĈ#FÌÃ;2þ§`­úŸ…‹Ü·p•{ ‡¹§p{á:öÂ}ì… Ù 7’áHö™d¸“ ‡’áR2œJ†[Ép,®%ùd¸— “áb2œŒàfG#¸ÁÙîFp8‚ËœŽàvÇ#¸ÁùîGp@‚ œà†G$¸"Á îHpH‚Kœ’à–Ç$¸&Á9 îIpP‚‹œ”à¦G%¸*ÁY îJpX‚Ëœ–à¶Ç%¸.Áy îKp`‚ Ûà ŽLpe‚3Ü™àЗ&85Á­ ŽMpm‚sÜ›àà'89ÁÍ ŽNpu‚³Üàð—'8=Áí ŽOp}‚ó[*Fÿi&< Rwave/data/W_tilda.1.txt.gz0000644000176200001440000000111212377701075015155 0ustar liggesusers‹íÝËr«0 €á}ß%gt±1¼ÿ‹&X‚ „I¯I;ÿî,dYVíù§ªµúÛE6«.v•J“Ò5Nz•Tm²HµÔ.­Ëû"£{W‘Ö%ÞÞ®Ðù…µ,˜ÕƒÔ{21‹ͧxÆeÚÁ{éi¥F L-PǘÌ=o*©9>ö«©!e—ÏÊöà‘9¥)‰JD-ÚGÓˆ±¨Öü>"Fã°:ìæ^Ãzü,ãrÛ6Õ^2EHS~ rª£7ì óZÕ´¯e²M¥yO9–ÛÙtwz;[+|‡rõs8É\î׳ûa@ïC°vê1uù\þGôþ“FÞÇGt2¯…“Yþ¼Hž„ŸD„B!„B¡¯Rdzÿ¥ððÜOН€ù#ýIxþ‡*á'+¿oíûá¿ï:àGô©ÊOUTýïqTßщö-;Ö¼°ò–åt S‡Æ[hdVß¡ÜÇ>Xo·XwvÅËAk†æªæª®«SÈrdÌO•q:î3¯ÝÚ®±dq'%PciˆFù$n¦F °ƒÙð,³f™-;®Zã¶ÓÔ÷ì;hTjÑtó>f-bò}™Öó«£ÝºD«F_rª÷)TéÁªeyRµ]Û9¯Lº -ÁV}®ö?)â.Y’Rwave/data/signal_W_tilda.1.rda0000644000176200001440000000175512377701075016037 0ustar liggesusers‹íkHSa‡O³E.’‰…ˆÕ@0±"Bå¼…!ÆÒR³Ì²%™ L+¢…ØÅ /Rº2¨ š•ÉyWh!Dwº(yÉ"ÃÌ,˰! Îÿ=ë a¿çƒÏÜ9{Ïû?;_öéÉ^·Ä”g’$É …|C|/§û^HÓ¤éR¨Ï抲’]…å¶M¶=eåE…‹}ï…ùÞ–X󱿻­Ö‡\¸¡¯¥:r8‚×ôßßøŽ×fÓê;Cye|læÍ³U<ûNõŽŠò.žÕ”âXŸlç¹¶§[­î'9s\Sœ<¤8,ëIþefi_ie  ò{ȃ•æŒÜè2“‘Ppëô(÷tX çÓyBŽ}[ÄÕc<îÔ‘ݵ þf2ÜXÅ͇:î,ûBöÜ9ã8Êf¥fï´œ3²¹ÉKŠW:Xä×–}cylŽ»áÒöI,¬ôÌÓ5J=“Vò^—#·ÅUì6¿Ý ü˜2b¬ÙËgÔmåÃUË9ÇÃMV´¦òpÚYýŸ½5q³l»Îg^H¾6kÙ{1â]w»k©Ô© =-™w{m±Ò­îK"ä×êçä~uŸò—®ç'ï_fòwãBç{m2íÃÏâø×ia/MQògu]m·?܇{K‡äWêüä¾ÑEçZOó€º_??ï­+Öë¾QçÓ®GókûxFç=¢ãbŸô}jv»ô¿øÞ5·ý>¿Lëú™®°õÖ{¤s}aÎ~]¶¤ƒ¸ºöLÐâ>OU{œg¢vM®¥)†Þóô¯, “ýÜÀ0 Ã0 Ã0 ÃÁõ»ÀÔâw^`†a†a†ƒÅÁò»2Ø;/“þüxþ‘õ:ÃSÅÃ5Éä@{Ç¢;­gѧÔzëý­shçz|ÏZô¿EgœºÛ2u¸µN8uºeêvkqaê|ûyüyb±®¸ÞD;ä¢.:âÔ5W¨s®P÷\ôÙý,ŽSG][‡æ×î£ØuÙåŸÔ‰zê¸3êº3ê¼3ê¾3êÀkýxêÄ‹>»˜‹SW^ëÇSwžS‡žS—žS§^|ïŒ:öŒºöŒ:÷Œº÷,ÞÓa1œOg1ê~”ÁJsFnt_P8ßó€[Úû¢ìWZµy’œ9®ƒ)Nfµº»G¼^–[`ÛèpÚYVSŠc}²e+éëX«ŒÍ¼y¶ŠÕfÓê;CYMÿèñýïXC_Kuäp„ïÖý³‘ ?€Rwave/data/datalist0000644000176200001440000000111412377701075014005 0ustar liggesusersA0 A4 B0 B4 C0 C4 D0 D4 Ekg HOWAREYOU HeartRate W_tilda.1 W_tilda.2 W_tilda.3 W_tilda.4 W_tilda.5 W_tilda.6 W_tilda.7 W_tilda.8 W_tilda.9 YN YNdiff amber7 amber8 amber9 back1.000 back1.180 back1.220 backscatter.1.000 backscatter.1.180 backscatter.1.220 ch chirpm5db.dat click click.asc noisy.dat noisywave pixel_8.7 pixel_8.8 pixel_8.9 pure.dat purwave sig_W_tilda.1 sig_W_tilda.2 sig_W_tilda.3 sig_W_tilda.4 sig_W_tilda.5 signal_W_tilda.1 signal_W_tilda.2 signal_W_tilda.3 signal_W_tilda.4 signal_W_tilda.5 signal_W_tilda.6 signal_W_tilda.7 signal_W_tilda.8 signal_W_tilda.9 yen yendiff Rwave/data/signal_W_tilda.8.txt.gz0000644000176200001440000000362112377701075016530 0ustar liggesusers‹íÜYrä(€á÷¹ËL Ûý/6êþ”§Û¥¢ö²M?}¡ $H©r§ÒöOÛ_§ßÔ|H¬£Î6u¶Y2”Ë'®â% eQTP‰m%¶U”)£%®Ü2¥µÎÞîõQš$sTë({…Ò¶M§\E´!ÓPá8OœëÎõ<ÊÈbÈjl+¶’ÑÎR¥ 8·Öq—ÒRÈB…ãZçÜ®\¯Gúi¢öš4¶åØV3êãÊ­¦â'Å÷¦šB*ˆRÍ”¦Õ½¥FÿªEifÔÅh µÂ•­RšÑ~j3<…$D»¨›†:rjàÑuöÛJWâÜ{ãÞ<[h”¦ç²&ÿš.Bq\Ч–%ÒÙ+û3MŒ!¶ÀŒ3Jœm*9¶ycm ½ÐþÜD‹‹ÆU˜K¶ ‰§ªÙQ!qG½/)Ê%.…Th?ƒrS<#Åzþ?Õo¢ÏîíõêKo¯×’çFJyªòSå/—}iéÒ7ÔëÇÕÏÕšs¾ã|%wVº¯Z¿AíÕ‹U.V¾X>)›”NJ&•æYƒsj“ª“*‡Ê“òCÙ¤ôP2©t¤È¦|®6©z¨r¨<)?”J'%‡JGН7çÔUU&•哲Cé¤äPiN‘#;§v¨:©2©<)Ÿ”MJ'%“J—*²¿çÔ.VT¹XùbùŲ¤KnPº^ÚoÐ'ßÞ§Uï¢rå;Ëï,{˜ôa’'(=^ñ­ãÙj/W}#•·Tþ2ò/-ûvÒ!ù±JK»âwKçÕ–®P]zŠÊÒ(/}CùÒÒU²¥¥(]ZZZzCÉÒÒÒÒÒÒÒÒÒË5& o ]XXX8„-,|øÂÏF^ø ( D]¸má}á×çóã ßú½`_þußå=P_Šö ôçAÓà ƒ> v'øï„rêmhW¡_KWA®‚^» ~ ò%(— N ]‚~ž.L@'`ð ä ” Ô ´Óèç‘Óä4tv>|eõ4Úiôó(é4ä4tv~yå4êi´ ô“¨irz6?öcà·áMîâÛ㙃á'L 7þuÈGy<êãÑ^¾ð"¼¤»ÿÄö"e´ªðçHÂ/~…J ¿Ä¾w ß4…a§ !‡/d›…©ZRpBKÈ 9!Ñ!ä„W{áZxQ^ …w+áeDx$AùýRy% ¯äN•\œ’GR2'JAyƒVÞ+•·$ei3~i”e$´Œ¢Q„‘91Þú+¯KƼê|[wrïNÖÑÉG9-æ¼’;ïzÎéÊL><“Ì$‚2©†Ìkif‘*œ^H_Ry…tMá¾ðjVZ•ÊW ­äˆ*gU^Í?Yi”Õ- Lc4º»3 ;YÐNÅ:ÍÛÇí_è„üªt^ÿ…hÚÆ~·,ŒÌmÏ›èHŒ I´rÌè 1.È+ì >¾ÕЧPƒd‹˜4`l)l¯Ò[MÇYeär¥ŒQ'e¼ÕJŸ¥Žv–ZØ5Æáv£ã¬6F‹´‘‘ν÷1Ô¥gvHQ~"¢äÌ• ž’QA¤2ú]edSUF n< c²Rå`•ß‚{\P+8U3›š²e4¯Úè/µÂ®1l”¨T¢R=Ñt[áã`Âsø ;gvöQ§,ç aõÊ.ªá•²¸¯È¬¿_p/âjDÅ¢ªQù¸1>ÜrŠfÙ¹­1…æm489aë”è¦DÇѧÔP]c^Ý£…1&x ¤që ’÷SÒ×Ê—¬mˆŽÁßc`gÆóè\i#/º>"¥%B¦‚qË[|Œ£}¤påÂTÇ]Hæ¬<~ð ô²øhqªjcÆ+š(“ƒ: ÇWEÏç¨E½ç¨K¦,8åªÎBí Cº> h\GêÜà%bsykΗ V F– ߦf»3" “OYˆ÷|tr†.D_¹âÿWIçÿý_ –†)}V¬ &`4Ýå½ý3BM ÷½ˆn'з† ©áÖXrtÓZó¢Â8jëN8ÂÑÄ.ÿ­ „n8k¿‡5a ÀläÐÄHŽöÜO$ÔºØL{ðBB] 9Ó¤j¬/=–WX[î!uí¯ÛinÄÑ•× µ8\XOúï |NšUÈêç±¹Ý*ŸÐµË'-æèND[ÑžOSî¼Yª*Cp刌—ßY, º9cCu¼}õ±y,¡ÊòJÏ24)ÁÏðh(G7¨ýfü#[ ¶=î‰Y˜ù~ñ›ß ˆÎ[uÆÚqÀ –cTp7¿®þq<Ÿê2ȧ¡ªp.÷ «Nût‚¥±Z•K[nˆûë ¬>V¤žA@Umrw÷ø<ØcRÁALóÅâ‡ÛY:oµšã5[B øÊ-ñ©è·Ã¾Lg©å ùýŠAˆ·Ô½ÊÛQkGü›RÍP‘GTjÃþóÕˆ‡¾a.?µv-G-çäù–ÚW—¥ññÄ%„zÉ4ÄnG¿Üøß¹Ëjý£÷=Þú9L8.“Ö¥ã2`‚„V­ˆÏþa¹z„škÎh÷«ð·gU#T¥‚ ÔÙÓïo|WÝlö“ai Ó¹Åá¿ßýê^r ½ÕÒ­¢åut³êµû>bù|e•ògœW›_s~£XD´"ä­¹û µs×®¯t!ÔÎÿÒа7Èû˾1¥ö<|\ºÛ[нrãÜ$ô ïÇ·l”‘Çó~{nJÀjú|‚|ïRû_äèü˜‘U#ÐãF"¯„sl#=ÁL@õ‡i‡¨#ÔMÅÈþàóý›ú»Øú/Ä¡Òe8c6ú-ݰÅð) Þ8ý Æ2°F¸ýžb)ò]Ͻ ¡‚¥®ÕËù˜ôÏžÔ~•j#b*M¨qÈž‹ÓéTQKÞwÐ"ÔÿRÆé¼$ú™nü3ᄺ®‹<áp çöýS“›2yÔ×âLWèœ³Íæù)¸Ï€Í„û„<ëÙ?K}xŒ,6Ãçz}×ÿÃQ߉A„ÏžþûmX±úP•¡³/j¯Ç>Ä/h]bo#·í36ÝXI`çEųẠ6•MWf¨©D>%Òzøs¡×§ãüî,>•–î¿OÙ­‹ù'–ß™iéÏÑÁß÷5¦d#úrà.ëê¹þ"íþ)݇¹'àÉýí7Ž!ž*Å» ôïþ@ª¡½s‰ZÛÕ!»Yº®ÉèO•vìßC©Ûi˜—4ãaŽ Õò”ÚÙПk  fM;‹¸öàChpÏ|dh¨fçHÓ¬FþV:ÿ0êõIÑ=ÍBçIhxlxØþuÇÑmÆ5ËÞmëÏ3`¯wRgæHB}øß¯+cÌÏêÁ'ÔÞ0düÝد6©Ö²ÄN>ûÐï eãlÆŒaÀ+2|ðÓ½¨Ïج‡èKŠ¹Åº·Ätõëi§ 84Z¨Ý’#ÒPüÆ!„£;ŠÊ:gЍãR'7WÄÓ²ÛeO+HQasÀìÈE臒|7\ énŠ•¿¹òÀ@¢wäwî'#ϯu—œrCÜìÁÉ8ô®‰Ýßo¨ŠéªçÏ2ä „«Í›ëu’¥ŽéÃÁ\’\"N@Ÿ_ð!äw@߬ºýô—Ë„F/ý¬k'äAÜÞ–n½M0)è‰ÆÊ Î‚1­ââ¿wÅ-œWs%ó]}ÀßâÙÙl’ñÝ‚}µ[§S»d\¾½óß*)&êæÁE3eZ—%jsüòÇÄRÌoY»'#îi‡ëÊXÈLÈò¨,‚°‚¹3 Ä{j¢ÆÒáï øj= QU[3Ö14&úÇÞ's@xð|}ÍÄ#Påzº3G×^š˜çø……˜À•1Ãú"4±:ã9ÀC£‘sBßÜ!q¹hfS]ÝÉqÅMU@hîää×Ò…%4VÁ~M”7g¶˜Æ/YQ1åÑYâà/?xt…Ä—àUuæÂ¡^K|J§-ò]pb'+Æõç\]É>Þ!ϯ7?1¼ŠûNk~Ïû¯;0á±àÅS¿÷Ï3ìÉ®·: ˜ƒÆ,å*&”)¸©cÔ„y‚ÄÈvk ~ÖågW5bnWMñ*Çù(Ú:ÑY ó‰`gYæÕg,M8=ËtØ$„ªK5úæ( 1yÀ‹}T¡sÝöŽS³¬â²êJè? ðc .Wc=IÚ¥™ïòh¬Áû2»fdÔ²J•¡ô„fõñ$‚‘˜ÝƼJÖ<éïƒ`Gh5jc$ßHï1ö«DGÙÕlDôc~WË1¯2bd Ú9´Z$¨e•u¨e•“¨o•±t1lEÚ»¼ì:ÛÛ:Ø^„UŸ­x2Ji¢<ë:™‰nµZÿ4™Ù1Ûi’ #?ÐÚ*{†ÐÚj™7¶ç8ÑØ¨Gþ–‰FžÜïV«ýi±¬ÖÒPœ(m*OT6UVû=Þó:¿½šÍÌLÛó;ˈ™fÙ4D;5ËØ±Ž&9¾RÛ©º©Ùz›)ïTÚ©Ù~0?,zXáûû߉ší»®£tÅ NôLÖíÖãkáq=¾B÷jïñŒöîWÇhï.z…öîü.×¹zýZ8úîæ<]±'söŒ®¸nrÿçwŒ=!8OåRåK•^¤ø"ñËEo¤ðŽš=O|{µSýgU\O)»~¸fß¹\ï«èr¹>Jìr¹\ÿ”f¿Ør¹\.—Ëår½^‚àp8‡Ãáp8‡Ãáp8‡Ãáp8‡Ãáp8‡Ãáp8>öŸt;‡Ãáp¼'ìëF‡ãTl¼~Éápއ^Kæp<ƒ×ã9^…·…:Ÿÿýáh?ýÝAá=@/¿ñB¤ ‘ÏG9õ4´óÑχóAçƒÏG¼éÈïŠâpצñKø¼éðíô¼kÁi²ó®Â\pSññx“›¥óîdŽº—8ê*\ï£í@¿‹îƒv€ï#î@Ú¼eê·Ð~ êàÆˆÙqÞ˜&;¹6%6&Ù&)ŠìEªoÜxl\©í•Ñ^w쇡øœ‹ÏÔøüއxRç$øá¨} „G^xp‡G”x–k¹ã‹|Çjì6ÿçíìm³÷¶<þö¦cÞF¶÷m2[ÿÅ×þîÅ~Af˜›‡ãi›}e­ Qí… IˆD5ûöX X&vëÃjÕ“–JZ*i[IK%0i[I‹g-ž5ÔÌZaNßB4`Óh0VÓ‹øµ§„1,(l>˜ ̦“‚YƪÇäbº‘ZH¤ 2 É6[€³…5[&¿”q¶tì’`.ö¤;›þcÔÊé뀎Ý<˜‘”:X#á FÑCE=TõPÕÖ«jÚzÓÖ›¶ÞådÒA í2é¶N~‹°JÌ2¥ÉæXb]Nέ´xªr[ní/c˜dƒà*·Ô%fâÛBü¾lç鈕Rwave/data/signal_W_tilda.2.txt.gz0000644000176200001440000000133312377701075016520 0ustar liggesusers‹íÝKnã0 €á}ï’H=}ÿ‹M[‹t©nÒfOúï>È”EQ´dãð'ÄV%¿œÂ¹JÍß•‚É’DVI,Ë»BΡKk«]Ã*)ÚZ3©æ—wH*K\¤ZP_4„Xû!ió±bqÅâ$Æ®×üúíZ²•´£ˆÔ =Ø.½N³%15“øUÑ䪮-ÎÒ‹šª§˜]1yÚŰ”¤ç¬doÑ=5‹I>’‡ÛQ¬µÚZ²ì ÂY'ÚJ»e{ò[t©ïJ³Ëã¼Js•É\¯z ½£ÎÖõ¶ Þ6oûrÞÎ$øŒà3‚ÏryÁ ¼LVå‡ÂÕ­“|áOáxMðvç6,Z‡|ò€4l';•á¬@£t¢8Qš(ïª\ûÙïkV}Íjº¯ÙÉ\«ÙI¦Ë‡ç›ñâ^żß9ý¥ïtñÿ¨ÛŸógÑãkŽ Ç¿sBè¾zü›!ô¬zü!„B«:~ö\ðuäK…À½ €_ƒƒ¼vO†ƒ¼âÀŸ©ósüÐ?èoºÇ‚îèºsÉò÷ᦧ9Ý‚ü%”ƒa'ÕqË×¼ÿfõ^wmŸGŽ%Wž¨¸êDm¢å:I¸uÆÙu’_žì(žÕàÃG$ÇR_|힬‹‹‹‹«-¡¶¨ÚñªÍRë­£ ³âåZR.3Üú.ŒE/ˆxYÕ¯Fo”èNÞFÉËšòdÌW‹>¦'é²üžx´KÙ6W K¯ŸØ9ˆŠ¡’Å´>«Y%¶Ô·Î)6&Þ’l³²]M^Š–.*,±ç§¥ŸK¬}3I›ôŒU¶ø2KôeúDµ#nm-”ÞE*±£¶uÏ9¯å‰eÅ’ÖÜR¨k[–š_[å/¯ŽwEâ’Rwave/data/D4.rda0000644000176200001440000001126112377701075013220 0ustar liggesusers‹=YyœÍeK ¡TZ¥UÊÛ«¢ÒWôªH¥$kE)I‹Ih±T”’%²Œfˆ1fÆ™¹³ïwî>Û]gæÃk$õþžsÎ5àsçúýžç9ç|·çùÇGôl3¢M\\\ó¸Í­?[Xÿliý#®Y\Ë¸ÖæóÇ{Y¶·>Ãák–MK4—‚'»Ü|÷Œžp¤ÞñÝU´úí玼›2Møá÷gÛ#wýÙÖo'/Fem~ç+#iðÆM¬üzÇT¬vý瑟 eÝ‹kú^œGëÇqûõo”OÿææϧQ‚ïqû¿Þ…Ì®Wg¤mîH‰ò9&š×Îù {^à_ ØëÑ(¿wç'ÃßAñåkƒÓOŸGÝkÇ»it:…õ9¡‹Ì8€š¥wÛ]?Å×O1O¤ÐØ"óMliÉ¢Ÿ^ã…“ëÑþ£_»‰*ó Ï]µ‡vž­¼Å^û*âãغÎû ®^ïd{z/@ð»²g.~­–ìÛŸ{9eÚg±§*‡ìÖ¸²#VèsCÎÌqWô{–Ê/Î<¶èuÊ~õ±/œKÕ×–\üÊ{*ë¶8Úâ÷}p«ùsÂù¯)Ðêô§~váÿ/£ô±ã½äˆ?úÓ®»Û#ÐüÒ§ö¿|?Õê¹æ¼ÿй9ßÅÁvQj³ïÞ‹ô';5µZ’LÙ¼½1(|`V‡¥+R)d};Õ9žýðßo;(èg¿.k"ÕXkçËiçÞ¥ê¾*n4_ÜI¶‚—¬ßA Vyàròe ËŸßô•ðÄÿz½ŸêÌãS~Ää—ôèZÿJ;×YîKù/ÿ|ý%«›SQËCƒ_5yV—¬\òåt»­íÌOÐgMalðjŸ¤s{´CЗ¯¨hÚ ßœ2 !SÍë¤4ë”/+¼“Òt_ûÖsAÉóY¿¤y½ÞEéG[ö´íÐ ¯J?ѺgÖ/½%Ý'EÝo”’‡—ß‹rWÞfžŒ’¯¦øßúmÕ¾{ObVÏøJø )bºrð˨“ºSÔ,ûÙÕ,¿æ®ï;WŸ—âÄöA·öIoh¤€µÉé·DÚw?H¸)áÿÙ}ï纕¶­;ðaÞ}pH?o(Ÿk:é4˜í=óá×Gݰã ™ÔÉ:z¤ìú'û1ç(íÙ€õ›Îä>b%eSí~sýYÊ1ÝøÔó(º}§µÓ ”'ëGCËOß‹›X…tn÷ÉcþÓ«^AíÍÿÞóäÁxróã_¥Ð?¦à»5m¼æïç¬Ö¡£¥ÛŠþ¼†r¦~ê­<¹ˆªM[ݳ‹fŒ_;¡» é/ö7ûú ®m °©-zÅ4ì4~lä0ÊLûÜ¿• ú¾¿ÑÛ¦/~zÊt¹¬.Oª¿ N£§¨Ä’‹R›Ãm53f7RéYn(òJÿS-×-Túèv«ƒ¿£Ì埶º­ú^Dy쯢”ù7îÚ0E=¹AáúkGùÁGû“]×ão¸Áœ8|ÚEçOìý߆Bªe8y„ê¥?4_º’/™]FµÖ·,HÃ|ëЬ'ÁfN»õdTœyð_þ»vÁòXÝvGÊ}”§¸”ɰs¹Þ{ëñ7{wFÎ<³ñm´¢÷‚‘ƒN£_º3×jQ j½Ö¯HY•þŒÜ|\#‘>ƒKqÕà†€½Å@3¡äÞÉ Ma\YÒÕ#ÉePŸÐa_Vô3ok:%YÃbm‘êïƒ]û—}ïaìÖ>K¹Ävn¿ˆšiœÓ ÁøyYSXðΊ¡¹iÚcáy*–~D¾“`€<Þ§Ãc Õá°ëóL›‡h3—ñzTlÚj!ÉÕ9ðùkÀ?c¾‡ÏLY»#°ÍáD‘ÔÅ_U$ŸùÊySÑ3p7Sõ “MÔã÷Âï­žEëïx~Ø«ÛÈ&ëF¡9å~ûp\Ÿ¿{Ôü…˪Was{ÔŸ‹NþzÀ V\ª´†¡¹¿¥k}ry|G¯ªÛäÈ\ÃÙ˜|Š{!åx‹œ,*Â^­Pp›¯ÛLQÖ7 <ˆ9A3MC­¾™ré®åõaüÁe¸ 'ßúËÚ™´gän‹YöR#·ã@ø­!î\·Uí ‘Ý‚ ô%­ÿ×Û·¨P¼®±†ãÆ}Ï£\ë¹Ë”Çï¤oåšSz=“<Š“ÁòN ­-Qüá):ÃrjyUo×õjbNµªg“û²ðGuåASÞsQrXßmÇÎ} XTnhåïd²5ó¿´-—‰ŒªU·¶TVÖš-ýˆ<Ò—d¼£ZÕ¹~áŠ\Ñï‹jÈ«úb©´¹†pÁcú•øÒVªávmKÁµ3,DI$—i,E-1c)J×zô|jô<ÂfÚÆ?Cv©;T'¥'1 "d¦µo9"ç ‘¢žwÝ̯ՄÎ~@N™*3Ó{m ²ež¨n. R…`×õ,×ßBºuX–ã‚Ó|ë£xì6Oí´¦ó÷áå¿EUÃÝ–\‡Í¢Q&zeÂWTÅtÓ.ÇfjEôûuâ/P$‚„Üæí¿‰ðA&ìTÿágöýjª?{>m0Ç¿RÅ¿!¤üSÊ6q0búÉæj”*Òb"A¬¿‚l“¦â€ú!o W ñE±è'dŠÎC¦ø;¸¿å£ò´1 oR¶êc±;½ðô%ŽÄxXôR ëŒ~ Aõ)ÇtÝ{U—¸]ÚÀe©•³•·"ù·þÖ+‹°Fæ;¶nª0ð?h1üNž¬G¥Û׎¡Ö؉¬µpÅ|ì9jÊÐÏ31 :”ê„ïq\ðUª ó”ÿýÆý'—ø|¬d8¾\êŸÔ÷a³ÌªQ'ýK>ƒ¶Ã h‰ìŸªÎ Ц\å‹å{¿â'ËŸ?K5qÉ3›±Kó ›Ô‡ 7#Qó€Ýêë•WìúÞ¬,)EýÃè䯩ÀØõ#a‹5uŸz«0Gùf ËüÇ((8HñOH‘Ü êÒ_3XfMÀ1Åñ¶‹)Gü E{Á;…ê#lª/ê§sôœb>¤*ŽÔ<+¢¾Jýù°&'ÃΔ©¾=ãGó³úÂ|EØÖ½DAY'U5òô}ä5÷Op~WÇe[„€9îM¿¢^|>²DO£Jt¥‹¯ ï4H,ÓúÔUpén*PÖ&‡ã”TaÐöî ŠÅïQÞpXÿ¥1hãP">†j'.ø×S,cºPžð'År‘Æ ºÆª+",ÏÆQ¹ö·æ^(ŸHv³Ä,lÒÜ&‹åÕí(¿A™šëDEçR¹úâ óÔÙ7PºÌ)ö+®:ÅGRXó>»i£ÊSò'·™¢A§àUÙcºsb*•¹'êåDéŸ xû½êê2ý~ÛöÖäÕüÇndV¥´Cpõ’çT—…Ï)¬Ïå†e¦m¿+ÃÑcHÒ¥HëÛhv5ÓM­×6Ýgˆí|k¤­äP0Æãš¿9 m}êCµœ;ü¢÷És- v«o°<¯AD”oáĶJAuò^„Õ·Žcú» …5&9KYšÄôEƒI­:G)(y!y„v‘¡z¾€·ù 5¨Ÿ¬W\%z‡"ÆÎí¬»“–8x )Iq¨Ö2‡]Ž×"\}ïuëÌ@½ä­jΰ^û°\q=­?+ÄøÅf¦¯ë5°iÞ•">ˆª¸,£Tù5ÊÇ1¶­“(¬¸Si^_ó-Õ±]ýš{¬?ÊÙ,è(œÃ@‰Êz&N¸‡rUÇ'èœnP}üÇ~õ³[äù”©¹eV‘ù)†]ø ,ãF„ɧù~ml]Êçyâ÷É®z¤ÞÄ¡Dri=UÑJÉ?hÇï‚Ûø¯ßÈ.z 5'Ø‘ÌLª÷«XFu"—æ×v­­æÎš¿Pð&ÃÃ]L?è{¢£(hdÄÀ*jTžeÆbT#j¹¶"’Sc©ÎßVÕõ1½Q¢9pæý±Ü»üÞ?¸Z³aÇ~ÁÌŸAÉl+§¡Jý}Šæ¥ªc‚¢ð›æjÕ ±{DÍã LJÜ?‹¢ŠWM’#RÑB62ˆr¬Õ1Ü¿ ÷užÔ·S)Û¿+.è©Ì#)oÃÁôØ!†‘~h”|šÜzO©yÊ5‹Ê=Õi?åéùåH~ ‡âYºæ(™²dK>ºŽŠ 5tJ^ÛË!ÛlÿÍ d—û"ÊU|ŠåUÅÛ(·÷0r¨¨ÒûÀÞwú„©\óí« Í›u~1Wô0mÐ{«Õ2ÇpÆî•9¶›JþŽ H±ù#¿úV¯èr8¥N8ìÙ`!ÌÈ<G5wðʽ(Ž›¸o׿äÓ{$§æ}>ÅÿÉ'q”Ë;ÅÕ],žF‰æ5’çÆé}aìÖüEÈ5¬ùÐ2”êýp‰æZùF†_·n¾¼Åf÷Óÿ¤$½gq¼öŠc:OóÎ}šß×J_[¯úçÿúZ1 Rwave/data/noisy.dat.txt.gz0000644000176200001440000010747712377701075015370 0ustar liggesusers‹EY¶ë¨²Eÿw_NAÿ;öbÎ…ïûÉôðñv!AÅ*þ=ÿ¹ß¹þþ½ÿµgÏöýýÿ½ëÌ•çFo{ð\}®Ãss´1'úz¾·ÿý{þ{æxÖËëFïªwéÿívïÒþ«—3|]û÷ð¨ù¬Æ£zÛöøhõñ¨ý×¾Öø×z—5Úóò¯ßWïçsýôoОï~FßëÛû¯ý÷­÷]ƒ§¾o¯wòh´3ϼ_à›ÿz¾¾:oW_dž§þt¾³¾–OÕ«š¿âôñ´Ã£úJ³ý¿zuÛo=øvýÓç/ì߬Oïÿ½ã­/PïUßqÔ‡×gÖ§ßçý¾ºŠýu¿uŸgß¡¾võý<»ù¦s¼Ïlõ»Þâõ-ÆóÕOæW¶µ×S/Þ÷çïýï­[ðñ­ê†žÁƒ>ÛSê>õóîY/®7æŸF]Õ~f¯ZÏ}ÿÍÿž3øíã¿SOœ^žÕç7êAŸÏûùW}µÑê¯Æ~æüê™··Öxñ·ÇsV}DÝ­¯~Q=S_µ^óÔ«·|ê#Zûöûð¡½ð[×Þ¯—ôû¾Yß§ÌÏÛ]?u¾uÛêÕ­·UÿV¿yÌþæVìúoû~ëͼ€c±àø×úß·¶7¯–âóÝ}s×Ò¿¨µöfáõo<£ç[«+们¹³ë|Ëú¬•w®Õq¶·dÕ›<.šz¿ýø¯ï¨ýóø¨nëÃ¥oõ ¹‡m¬ó ~ëÛæá‡Õß÷úru©Ö>“Õ3[m“Åzª—Ö?±ŒxŽ…U¿móWõÊý°œÆn»VXýÓóÖm` ô³^^\¯Þùëu_X/í=ü,6eû^®}ÝÝÚXu¡ëGÖjâCw­.¾Æ©»s\ֻ¥÷Ú„^úºñïq÷¿|ŒWwúÍöæâº•Ÿú’sû ênä¯w×}ïýzáÇÞ»ùn£®·¹"ÃÙßÎëÎiëÞæ³ûëÞçʺTj=çÍV®=êö~V½Ì瞯>ßw©÷˜^¨Ú¿}xÚÓsYZí¶V¿ô|µŸØ·OýÑ6zÌçÔÒeC­º ÛoQ vx7ëF ë¼ûeQÖ«]Ö¹im®ÚYkuÓ?/Vý€ºÜÍÈ–¥[û­>!Q n÷ýk|ÛZ#+_¿.m›ÆU ¼Õ·>µE/¯ýMœ®‹W±ÅŸÈr¯…SÿTW¬ñƒÚ»Oã.Õ]èwgÖ;û{žñ<¤Ö+°BÅa ¹Jß±ùŒÖݵ f{'mð5XŠu5ǹÛw?¬·ŠÏßË÷˜‹ÝãZúZ®yݤ‡Euê¦v¿â¬—°’+Ö)SÏ<õ>õ]ë°™ÄïÔWoÅM¨{1ÜMÍ‹ë}·ª–œ÷®¾ñÈZŸÞì¿Qg€÷~W·öyL!ꎲü„ Þ•ZÒs¬$Ûx[çW¯ ’PP»ìø.•-Ôš5éxë ;Î[™¤ÂÃÈEZ»ÖF#ý8£Ö€è­8Á^óíëµ'6êE=Af:¯ï¼§7*b²„ùß!›ðûqrrØ/ÂïW?xúý¾ u|×s«.Ï­úŒáöš´ú3L£jÖáÇ£ ܺzÝèÏÙ~FE‹_NUg®[YÙáwðiÓóª"uèÍ«Q›ò}Æý.ûó¹ŠM=§Tݾží­åÿºÈ*‡©[’0\aÃ×U’÷Þ@PküupØTuhï¼¾×?ìûJuÎç©2ˆË<Ó+Ô}î{b1·ÖL]àúíµÿks-2¾oñÌ"ÀÏ¿¯>£Þû­Úg­Ã?Õé[wµžy«ÔûÇê5ëÔ¥­Ä¢ât½¼^\_¦Ž–zPéÔ\óo×w­|êçu’Ö_­¯F¯×ÔïãÕûÔùòòO³BT[~ÃQ§@ýU¥’ä®õéïSŸÊ?Õ&zºŸÕ H‹ËQ)dýÀ:Fê2~/ÿÖúYdEµ¼‡‘²Viáø¯Õ­I¢S¡É [—‚µÓÜÓ3v“/Æju=¼¸‚‡¶i«èUY_÷ÐëµTÚÌž¬`Ꭿ+Ô}ªþ¬v¢‘ðì8V¿®ånWR‘£±RÛ÷® üoç:—rL¿–çÉ.}~['ç¼{³ñKعµÌ“´º#ÁÁ­%ÁdÔwaMss+™9ü못Ûµ:ë’²‚ çê®jaû:Rôåέ°Ò—Å §Æ÷‹$äì%בGõ6î¯ÚÁî–Zo­®™ŸVàYîëY/ÛýãNí¾ÃAàu5’nTî0“FðåWËA:Hˆ=o*Ö½T/§{ÎÈÊ"<Ûj‰NNæÚÇunþ\ê£É¢ë$«£«VGýmsiOŽ-ÒòZ DZ^ɯåçŒ:É«ë¬|ÉÆWm‡‡õ[9ç1!… Éú­Uù«[SA¡ùOUÚ¼õLe+õNõšºÄuþ±/k7×—¯ QyŤø*3ml£Šœ}µijAîyóüÆ3²æëŸWˆ|ø«:èëÚ“GV~WÛÚ›V¡ÒŠé%Ó­„¥¢Þ1Á­Ìn-Ë„ÚZPµØ—9ÈÓøø^מ3©Î‹§»Æ*eY½}çŽÔ½©x´¼›ƒÓÚ’¯ôg¶‡c”óÇJ¡ —'§h­Îd>}w×S âPŽÂ*’öÖþ0…¤=s\䄚*äÒ*¨»þ˜Nׯô°{È3žÇ%KPÙ&p¬ÙÏÐP·Î: L]·žT¼Ÿoôô¼6×ËZ¢rÈÔ¸u _ÎÎö¸n'Õ[g«Q5Ô×0…¨©¿–ûãV¬õŠ×ÃªÖø¶·@ónò÷¦É€ëìV7ÓÚ¡ïµ-ë!:Wté©ik…ÒÈx©‚8øFíXEWð½»ÕÏ_oJ±=òܨ«™þW}r­kb~-ôÙr©·Ñ¡>©îÑø_?%Ÿ¹ˆJëÞ¸qߣ®uÒݶî^õHËmmdÿ ÖD…žŠ«¬)Ž×’Th¸™íBî“‚¯ Ä*TòÆ÷lOú÷ÉÙ´H¢,Žv]Y×[í#»7UD>–º•ƒî4[(_N–i-]û8/-Vg]ßçM«PšXñVŠfÍ^QÊ ì¥`K79åÍöÚI!DÃ3¡l@r`žõ¬ïjç´<ªEîHÝÂ/eWW\×ÖA:¼uÖS·²þ¨˜\±u›VnF¥ñ‡+J’WáÍ[©Ûí}lN¿”!”÷3l&Ý)[Uåd&è;½c²Ü‡éŽúè>°gjǼ»§rå;WžCæžãùíö+){×É58wVb=s(ŸºD3=æIË0%Veq~«º‘A'b湯UM™ÃŒàáï¨HL@áÓ*‰Úaõ¥ÈZ¸jtøòuاð«kAaSê®ÓWâ(&÷LŸf§Gbm\¢; Âgñm¾’¥î¿V‰ü¤YÑ?IòdµøôW¦wpͯ§§P%JϽdOÌ|çªø{OWŠ´ÌÎæ¹9-=‘¬½z»3\8}Pç±0+–Øzjw7z¥T_Ú½#g`ʼny[œ9ÛÃó#´Ù ymw[ÁN^ººËR² ›É±6m%›²ÖÆ:¦‘“K<¸³ÄÊÉv¬ÈÓér*ÖOò„ƒ´šu-ª‚ȃQËÛ$¶ŠÅf[G¹%L]NÎEçÖïS1²^S)tÅâÃ!VYñJ?œTÅüö©l}y& Çl7$îoqJóOgÚÉ­3°Ê9±]qž£¯òŽ4êk¯WåiÆX,vž-­ºgÍR»’&ëñŠ|Ó““R’ª´…noHÓÏ¢kÁí©VéŠ9¹‡G`]fã8=UÒúîÇŸ¼jûÙ¬O$C¡ž«7š^OˆÃ¯°­ª)ßgW²Ç‹«"×h¼æiïíÕñö—´mÚá«“eLû¬•ýòíG]ó¢Z‚µé!<”þ°M¿µM§¹ïå èñaUrû›ëRÖræ7ÓÁä§VpZ–áUާ¹ËÉ饧·‘)EÝv絎{ÒÁºð“UR7…ÆKQQ«Ê¬£ ÃJ ¾i§¼â£÷©Ñ@Þ^»ÊxÍLªÒOu÷®Z |±úûæØ§>ÕûM"øñ†ƒÆvo]°íO~¹½É8ÆN›rÝÁÝxÏû:…²Y«¢¤uÁaLÿɦ®m“¸Ûë8w*gÇaA]#H-Ìó ëìÌç*Úù«”†8ïò,òC_÷Qz’¸÷ϸƨö”wbÆD ®nk`Rb¬4Ü*$>”6\`”%Aýæf‹Ž[÷õ”@›¤†¿¨ë¸gÚvu¤¤‘VŸ«@ÀôÃR©B¦ÏU(:43?Î[’_µ‘-¤ê¡l·Èi–dº¯m “ßýXäP3Ñ’¬‰vT³¸¢¥6ü‹1¼~õ¨rH{ä¡’XŽ?J‡i©w8s³G’§>)#ã“ÁÏë´“ëûd•Ûž0õd=2„ ýÚç?7ÎůûytÔŸlª-^Wÿ¸vÞ»ÎÑ/[¥²õcjS¦¶üXêþ˜ú.Œ¹t#7žIåîußér³hÞmññíðÉk1ƒàp=gåÀ­$àM[yÖUŽ'™ž$_®Èº®V ß3#àt2Jµ× qgSÿð ¾W­qž™ÖHÃüw†i>vëê»Ø¤³9ñÐõcØe±´ð¼k]Õf>u±ë ¡EX׃ ð±h±WÕ4lUÑí°£FIÃh®ž©¥PU]¿Å§"ªoZáœ[AǬޙ"pR,Uˆ;B«éµTh;üSݶª{øóùÐtù¸òü@~Eç¶ðå?ÕúÎu> ¾Æ¤2¢Žª•ÆDìã ]ÃþfJzì¥u™g}šªm{¸-ûr|zå<‹×këÌ©•ÒZìµd*XMÿ|Q!þ±Vk ÕIzHg9•:–,´Ó› OŠN±>ÎV{³³ *¢±›7oQ¿„|¡s=uü»ÊU8uœ›iR<ìé¢îóFT§'´¨§ÞUÅ/æÔàr=Ì(3®¸JvP‰ìw3ˆÚŒOÊ!f2/c¾ºîŠÜv,Å\½À Îèœî’’o 5V9\˸grL’HÑøMúùÒÜö¹ÁX×$±®Z¸úÍ¡úWº¿Ë°:ÒOäÂ%Õ¬»ZZ7äÕϧÿGO¨ªüá¡Vëή®#ð×ú:ýznÒ©;ìþÁÈm&Õ­¡ñÔ)öÖCúÜ3Ðþò°Vî'¼Ás&í}Ò‡‡f‰ÏV00 1­ì2Ï.NÔñ¶óRÖ×ÐÁ T¹}vÓ)øò¾Uùf/8›rýu.Ð×ý´JJÖ ŠãMïªÎQ–?âÐÀ3ìUj<ùe—ÔB¬‚]åÚÓGÁñHsíÜðXçEˉÁè­{:Ð9+m1’ÌŒmÚ­$˜·=6¹*ߣø%(ÖÙñ¤:<¶MÉ÷kuÏ4À+$(.2Á =¨š1 ypV´§¾LÿjwY“UB´o÷j¥J¢×TÙ(1³Î¡}zJ¼:?Wz ã<Ÿp’Z”HäTƒ^Eî¶³ož˜(wBx’Z‡Égrµ+û0iäŽ:¸®»}Ä50õB$u'Vof†uÃ.j¤©Çü¯q&1ý(ç©ÙGf¤4È;u{ÇÅpœæHõ<{McÃ~jå;ŽáÿýÍÈšnDe€«.ÞgݲnG«–Ó'›XC}nb½s³þ©åÊýe𦒩s*•V'h]Œ‚!sbçÃ×&´Wuûz°tæ\Æl2níÃÁ©HÉÆP¬ÒZ)¨?’³åYy¾»ò&6wŽw3—ÎA¥QI¤§ãy&‡$û¹·Ôßö#c’cÖŸ†þ­œ9@‘ñý媞:že¸' ÚJ$—šŒ6hÍ¿žsµO7?´Ñ|c‘VÍRWŽ«;£¤u™ûHCÅ㊼µe§ÒèN§ŽUž^Çá“,ù9ŽZZ­Œx;¥tZÔ„‡¹ñû~+jpJûÎôÒÀ^©q†ÂTµ'Qˆ`š Ba3  @³ËЕÉÜœ‰t½–Ý0·¬£}ž¤•ô,#â·»K‘Cö]÷(h`RºÙáS)sóÉÊâ÷2×¥ž_&г~:1ñØmx¢uTSøO×£æ˜á£…šœ¸ÂéãßÖõï;çÍ …å +·uªýQÒÌ&k­µ}ÃÚP;Cp[†Û1>g-$÷ùÁ¸Âä;rþnúÌc\¨Ð# ¶îÍ>™ÓÌݲ¯€3jÑí@2襠z*O·ÇV§e·ë_±jYª?ÌE)7ßfÁ'P餡ʬ·6ÅP"Ȭå~¯HN´ÅºÓt•ާг%‘({=·1÷òµEy:em˜ï¼ÿQÕ8eòIäÈ»Âí>ª‘ÓcVŒM%8É”mïZÖV¤§W]{휼 ÐÊ|qzS^¼ö|w6™1å7Tø¹8™ŠØ4Z€~F{’½·oZ(-:p•Ž” µAÄ¥0ªýš­Ðç7Š©½ø=6˜ZKÍ]ŸdŸauêg®)áø\H¸Ÿ:Ø›gQ£ªL)£9_¼?6ê,-@ÃÐz·9´ˆ¶µ=€Å”c0öåÚÐ'èËúžÖ៘|„^†ÏÛ^ 'b9µQç³êø$ƒ§'QÿßöOnk…S3 hA6ˆ&Í„¤¤}x~>ôÆlFlû @Þf@ÛË£Þi$‘ü+šÛVªõ[ö»êº†¯±)cÈ•+ËbaŽùh+‘qr¡*Á^¶Xê ûí£(!ÑéÛÁnmø&ž©sx #s½à´÷ôLµ€‰°A*$Q©„ÜÅÇOõ «ÍºŸtš‚X¬_ØÅ~ÖÉx¡úˆÀeâP%¢x1 _À¹uv®‘óæÖ‚D’P·øX-U-å|ˆ´"µáÇù·‡'0Mó¦Ïó=ið½w”ð1ufpî>‹Þç?ÓHgù4Õ*P>A¢½Îã‡Pü¼KÝ-»J ’Ưqy½õȈ¼©ïõ»¨""Ö+D—¦ßÓ3Ú©¸é¨ªå¾#W8n™^gàb›‰‚ íÚïb ë\uÞ[KdËVœºPÂZ†9jñ… ÒØ¶V•,”%ß…t¼DÖš´{JL ÜœùîiÛ3•ÏÙºm°ËÁ‘æ]zv™z~ËCޱéGª›Òƒš%˜;/¬X¶/ïáù‚$¨åŒ.ø!‹2îëöë§3jR7Ïø¬×ÀH:H¨ yFeªU02yW*J»ŽÚpÑ­›V t®hu´Žˆ¯ö¢Àîó ‘ì¤Q4ÛIk­‚¯©KÌaÉêÞ Hv-rræ+í£ÜõYì$›=‡Õù±Àèi-ßLé±–¡IoµXçÕ¢Pµj]=[Y3Áõ3øo~˳ ìi ¸cžî¸hUH<–±µµ×É‘O†Š3b,9¤Ãªú~OÄ@4?£[?ÎâkI<ûHì¨bÁÙ=TàpÍB4Ží–îÂI>ZµÁ4,:rhSkÚ¡uÝÝ÷Í$S·¶ÝülÐÐ.þ×ó °áY"l™úˆ gÝ3ãùÒÏk›O˜œr¶<Ç,7ì `}dÃïN„µ–ò{ʵj<™Íäž (ÇþöLù…ŠÞ÷[;p®ÆXÞ5šÌöëõ·i]÷á Œm­KK°ç俤+SÆhùy„i§)xBd€jtî)=žœÜOÝÐ÷æ·ßI0t+Z~Çüºß~QÀÌ^ßv.¤Ê¢'Sì)`—¥RII¦0„‚©/)𺑹7–çx°[² NÊ̆+€ £_+Y|Ý¿}î÷Û3Ó}®sòùg¤@â^‚Éq˜(-À}¾«çÉ"©ƒúì@G?‡–B$éU’ÊŠI7íó;%u\>Ÿ;×÷ÝùÙHþÖsˆ‹tyò:BÉ}¿ó%Ïz™ ùhž–ÚgpüæšÖ•|{`Ó Í/ÔûW¿’„@ ª€Ì·6¸G^%N [éçÛ Ú[~u2ƒ‚S3=t7D•åëêdÊìÿG>Z„¤7í_¨ ËV¢Šÿ š|}Ì4¡/³Žs!K¶“»µ™¨d×¹¾6¬cÝ_ùþ ÷•”çBjÛºxŠ&€K<ʧ¤Ý‘º®–D®@‰–G ¿ Ò4ïuÏGηÓNÖK£ÿ|‰öšè€/d¡ ʬÎw{yµ¯ºôÚ‰t#êŸ@!bÄʹögp° omÝÕ)!›ŒHçqÃÛ3ªÑîç^9ô"ð×&›6;‰ž‡‚З(\/–~&(à“ø§Š)dšÇ0-h®v}'bÁãô „»-³ ª~O妛–Ù×I6Ó ¤Eö·’¶×q ãûks ù«| Þ©àË®¦©^gÚÃ×Ȭ™SÅn_üp7ÄOPíq}ë\Y[ØD§)?‰Ÿt_'[˜qàоlcöÊ´÷9;Ÿß ‹ˆ‚²’‰îЯ6¾ÝW¨Ÿ’Z7è)ëQ"+àŸŽ=>™õ ¿»³¾ê`ÅrŸâþ°c'Ãr°,ÏDò‚Ò6Ó€·³Á($›UÇnjÿÙûõs@60é}‡p@[—S¾º¾Ïªí¨Ä˜±o—›IŽÖóò“& |a> Ài tMSØ@•oò¨rÇ—ÄÈÚpýŒfŒ8?Ç–€è/Ô :M`¤¡%É;ÓTÇ>驸ë<•õ+Èj’‹4›-ê¹2Ýý ~sé%áÀ8{\2žÍACUnÃ4"Áyÿ1Ú‘ôÏÁ®ÖÁ*EºêŸæ!Cvʮ׆AR±ý Å®ŸÿiZT3fô5†¹úRãsÿ¶#DHšϓTº„³»:Œ%ìiw?"O}@@4çMé Ñ"@„V2‰ª˜›XaKu ïþHrUcãå ~L@êÙŠ3ïE»cÖÒMjœ°á{}¤³0óg´;ž<[Ç¿5âtˆ`£|A¹ÈœHy-Vd|óë‘¢ÉkAúú{ìƒO½é7³)‘:2¡øàú fI¤wÓùggºÓRíéû2d™ê~é½[LY~1àþÄòÛ¾-‘Þ‡ hsI ªYÌr«[ÞŒf]N˜¯‚—¬Š®n»9[-ý›ßW˜ßm‡°¤XßÎzÍ f_†Iûa[äÈ6>&£µ&m4’¦/ S ‹ —êªö}ãK¶Ä”vÙš•€ÞÁÊx‡sëGy9Žšè'Y©6oA ÖÂðÇ1ð’‚{nh,Æ‘/S¨ŽjÀ+ VŠx²6ÄÇ}Tý ¯:•ü…ÚB“6SD ’ç¢ùh‰ü+Û*Ÿ-Ž•{ùxÖ¿Ö] ìèšxòq{WRÔÏÏ¿­=༑®¡hMÞ¯Y…»bÚ8ÜÍ:üW1ß!6ló¨’rÎÀ.<„+hIpâ/j¡pŽÀ§ï»9ùX€É0Ó!} ñÞEœM }e‹ œH¨6œ]¸öl@`©«˜7­Èú¿'ßw†5Ëüz‡ÑJÛ1\ÙŠ¨c·ºˆ™¥Õ¢¸ÐÂÊ-=·¿+LZ*:®ç¡ìÞSÔ˘ˆƒø.ó ê¥AðýÝÆ“¢Ÿâ|¥’¯¯Eo x#GÔ›W¦ÅÌuü”´áR¼Àï‚yœ#}Äʼn)oÇ·©Kº#þÐÆç·Fû£‰Mrè.S#{Jw§ô†4|­E¿yDΈ »(ëéîä7}ϼ8û*S>d„ñÆ“o°ßXdI ÐIJŸ˜X3ƒ¸ïS$)M‹J4‚˜­èð€²åŽ’¬Ôz:…Röxç`LgVWúdÚEyw®°Ú|nºDV“é8°Û +0y‚³«r7^~0¦Œ-½Ÿ©cŸD4¹v”ïû2N 9‡†²VYTàÙjuQ¸3i‘ T ¸ ‡ån#rƒ\1Ù~øj¬8¾òKQ­ gòÙ—®eyhjaüq:Lôþ’Zt.<ÇìØ›ˆûYJlˆ.†þªâ%mä× îß©Y£@¬ð=ÀÑZ~Uìà’êdÄ#ï°5WÚ:' øî&¿g´©×¯ËH/oW Ë+xü€"Áè­}Ðò&4Po!X9£.Êê¼ ²ÊÇ©²– 0Æ µþ¸š >ÔpXµý†„äÍh”´6Éê[ŠëÌÏ~¥õÛƒ›©“™ª†|Ä”hØ .­°§º"3ÉÈP†ØñY%u©´n˜E(x…t ¨ä@ì½]5W´œ-m Âå.Óì’;R'*°ž)¼FâΓьûxµÅ@íµ¸Àª¯Áy—2°Ž.*)žð¨þ¨QˆÄh€ÀÇ2vß´‘f´Ö^3Ct*•–zQ½xͲç˜v zþšØ=Jo  $nÕRµídÿ ÛvÿwL,YŒ­oPÃĹöî“Àü˜X}øPàòŸµœ3ÛÕ¥Q º‘é(Qp–¢–TÎ;°¯×PòEÕLÔÇ–>³ÿ+:»™!“.»e•ë; ûþE·¶ªM©ô­ˆDîJ«Ÿ‡Ï»¢D™<ˆäa10Œ:\Rï?£Á„2 ë÷o»“cÅPD …BV´·4™3b¦@ù~ý&uÅEy™¾äø]06É)h1®ÖÊ’ªM—†ïÉÀv žR—o^¶cSûOòëïM3wåBoP“’°Cè©%ÝBH©O{Ã%dh·ÓA¥å¼{¨+3nE·­J óÊç|íýþ0ßû2[¾ËSOÚ{‚¡Ÿ€û¬–ÿ{êD¹p•°ý‚ 2%Z`óÍ8#Æý’u®¦?å¤ßNSÇ÷®" PˆÉÓÑÕâž$ZOfÁwÈ7¥XŽ“ 9÷RÁbýP$ˆReŽÆ}ìÍ$ÊmgÔÀI4B­Ø¢ð”¿-ò)¨ET¸’ËàçÄb¦ì\)]‰ÊûPs J­ëxÅe™ˆ™´ ¨zhrÚê«ÅÞŒ<4=¶›W¹Yªge^ªAØ m<í°¹v* æf¸BAŒøçŸì”ú{¥0Õï$:ºlèjšeÔ?uIU‘¼è,RË¢Õšôˆ¾Õã«I”2+±Þb]Ñ}$9•n±àŽ×B]v›»úII•ݪ. ÉK%®ä9>ª5GD ïŒd”Xæ¯Ýá €á;•£}?—ÕÒynr5?»È]ôÜ¡A ¨¢›Gø<-úÎÌ’ŸvÏkJ÷0E9Љ°ÂÌJጷ.Öç|‚_Cõá‹4² b;z—IšÅæ@™KRÏw  %À?ÀŽATJÉYl žZüNoõwœáƒk;œZ•³T„f]Ô½œ(ˆ#í:3Á CE·­Ò± þiÈk¥2—~A*^µ›gDÆ Ž½Y:@Wþ‘·appÿM¾Ùõ/õŠ{i¨R¡DŽLtÚ~µWz„ñ6Š:I·z#㵺œ=A üÍž©¶„²i_‚$®4^+}kAâ@¹ˆ¼^¥K'Ñ‹šæM'³–Å ¶‡3r¾€3™•E+s rxx5¨Ä߆!hÝÛ$÷ý*}0íE袡“lš:WRº:{JàüI Àh¾4ùH¿H'…²*ã\02"Nμá} ’(Åääã|Õz?7ÿŠŽŸ·õ˜[_•Û7Âiµš¥ù þ¹sá<黣?¢bA‡ QiV”ßáe]¥ßzðæ/Æ0VËg÷’SöYÛ™TN%Ù$Š÷<¶âªWc÷«€ñHN{¨“5TAG„°é+RNÒ"ã øl_fDש‡v5®8Sw\ñ®AæGEIa ߘ|AL̽ƒSõó:æ@I¥h±vJš¬=`N¤MC뫌 dôpÄÌé&?܃´‹b!ʶ«t}\23”.Páº'Èãp.‡¨Iiƒ-ýתä_V•–?rÜä¼’ùê1¼ÿ9­‘6ýÈÿæt8ÝÌy –Ûœ,õ£ð0"sÆ—Åv–¤ÆüÒÈQÁ¤|›!SE€“¨*W6ôöŽšN—mt±«6³k~™v®pµÕË‘"W)J³]rÂ+y0”áÖ ©É;è³|rñÕmP»MÒÕV…ˆ‰,‰íŸèÛµ,6È:Yt³Kõª0>ÇÒ_2§/ ^D¥¸Â:0CÐ늊ј÷úàÐ` ¦3%uî¸^t¾óIóñuéÕ׈nÔ³rˆÕYñ¾ùx0ãÜK•‚$’¬:Ý{„ý’‘¼ˆù°‘>ÄQ„)³kɳe•2³ÚÑOF, ºÙw¶ä–N5™l¨SÄã.`SÝ ÛyÉód¾_ýP k¨U‡lþ‰^DO¡õE6ªöôp²`jû毶b•uyÇÍ,M‚„®$TmÚiK·6pû½áŽèzî3áa€—Ø$ÐAщ3%H–FïFí­mû®›µ¦!Ì©ŽS{3|ŸºÞo -ˆ9šß+9h[N:¨‹–äØ1ÜWU|&m•¡¼êîÔûÚýÀÁ­l´ù Voÿ«C9Âe7–ÖGlŒ°>; Ò!‚pR@[dîÓb=‚K‚‹lá¬Ýê9U‹WÜ’©]—sì;i'ΰÕ‚‰ÇG“f3{]B”M=É×=Ó!$µt§Ê5bßÈ¡ƒ@{p3µ\ïì¬*ß/cÀ*TÛÛ~gõ{SöǾøÖAÆnoGÔ ‹%¨=Þ©ÞD-ó»%k„×Y”Mg!Дw†7ÛÕmn¦ôòÄZäÁE ô dË „ÇŒ’?ƒz±òO¶`bž­„‰è—õüPÆu3îû¢¾Ø¥™ ¡ç}Á²`TïªÝ6øiÛPM/¨’·IE–¸p2®/¼ˆ­RDÈÏV·Ý/4ר,|ïÏSè¥È£-T#Ü·ö ýΉæÊ€æÉçÁðÒ.Þ  ±vÇ3'“g"ìGq:$ºŠŠ7{|#¯Ñ Ò;sù`ǧ¾óÜßÓJxMªÿ4•@€ù<Îâê}¦Ð—ÅI–ÞA¯‹§^`J#ÍŽ8É\•Ûरgr×W±>ÙÌÂDt :Û~Ø«.G|*⥂ŒŠ(©¨2µu;CÝHÈ&ߟ¶ YçøÄx06©vTã_ÌÃæxÔbz&CðANVýÞIÆ&ZñX ¨ü©š"*øra÷ògÙ–z!}ðY$ݼ†Œì½¼zøµ _G¨û M¿êQ¢L¥å€èŸ€·û?ŽÐJˆÈªÖñ¶bñ-)îÿ¥´/¡ó®­K ¸Â‹ š=­+‚|;tú³[¦Àã}bª#ÙWî+cø[ï°åTÛæùrv`wð§¶÷«’3y¼E/ŒJ[{ B”£.Íp¡#㢺úì¹çÓÕbºÀ™ÈÛlñÚ/é2S'+y˜ð… Ž;ÁèòLa t1kýÏ ¿Òë¡î6B_d{Â캽áÉ3=NîÝÆÏoãØÚ….Yk}]òˆ×oƒÂüYA±}ûÑÅ‚æKÁõ"&&j-˜„_(3·éC»ee4ƶyÓõ©óLEA"p}ä}ö=aäûgºüˆç«Ì¨_´T•û`/6$+Ü]ÛieÓg Òƒüxöij¬yEV¤:4ùŒÙHt=þ±3ô®…Ò@ó‹`¯ÝšB±âÉiF1Jún«6"ÀÖU'ýÒš ò’YíÅž èà6uÃ.lõÝ^âºî!_j”ʼvê%¦.éGâ|‘ 1éˆwì&Ÿšæ}Ü ¤ 1­x äˆ5M ëœI¾Q…ðm­ÒNÓŸ „‰a*¢›ò1RMgAJmçZè:©FN!ºU쫃XSZÔSí½Ã$Ú©LßhÔ=K M–޶„³²g¢9Úê¿$N È+à 6~fÜ&Ï+,—›¼€æd€g´­È!¼©‘¶Å“.Ó†¢li­WaG”¯ñC—áKÿ˜îþÅš>¦™ïÒ¢¤–Ë×#\ú|æ¿Z|È3Æ'N…øÚE– ázè(‚S4v‰ÌCm«,íWO=.DƒLçÌJ[ÚÈŠÓ‘›Ób¡3 ˵yéèÒÎΣ*®ìóÞ'ê »EÅ€fí±’§Ý.ÓŸÌ:dVfÓ ÁŽ©Ù]—Úšœ*Ïñ`¥çYO×/ãŸyø„ÚÊW¦ög“Z‘΀·3P¯zâxh¥%ÁxÒQ'ë®òí‰Îÿᤶ$îw_Að}ý¹Þg\nøÆÏ¥;:phÏØoúUšÀé,ÐÔ­ÿ®säÉ<`ÎÈ”Ò.\¦§4 ?J€©v ÉLxÆ ùh)ÑO]#èv;þûz¨´ºŽ‘`ýúXÁ CH¼DF¯H°·Õy¨¸¶"îZg²#MÉ÷ÄÅé æVŨåµ4BFÂø½8c§ý:éýp(«¾êù¢(¼R8X¼¿ç½4Þºä¹ÆU‹ Q¿Ó‘¯Ê°|ºó*Ä–Õx>’œÁ7/°ÓéxÇ«.÷}$ù\¡ÀQ–ž²H÷޲hP¡ØPF9ò[Î4%mC@ ¶[¯ß™b»ÊO³_vü&AUÕ¤)ôL¿hlQpòüR ë©?ÇïÖèÂK³F<ͬ:+1ý4ñû"`-6ƒÉçy1HÇ¢W–I ÞsÄaàþ¦ —lÄ—Î>ó0Ü)’bÑK¯Xà7:wd1 a a0ÀL9Žœ¤f$9ƒ“Å캡ðƒ Ô5‚ÿø„œx =iÞ™1@e¢”™•™á"×èNàiCV‰±‚ê •¸ ™ª¤zN!,åGp6srÞÉ_*5é1]KrÛIy>PIˆ%Ó™¡Ä‘ömÏóFt›Û;sSzì<êÅéZ Z åÏKcDî*Éû"xD'Ó²­SëjªÅê€Ó6ùFßTÆmסÒ]\sYäK#ÕC~FÄ©PÕ­hœ+“?ÙEïïd á4¾W¾9ì¨Ñˆü„QNõ¼‡ˆi1ÿ!s$뎄ùO½›å/#€æÈ¼›fà _²yI”qô0º²ÕýŠ¡!ŒÉ…YÑ"&ï¯0†õ&Æ!V™r•«÷Êñ-ê2_daXàdF)…턵›ÇUݪ$úµ™Vp:‘% `H豺G…7DŽZšm_Tñ¬'î)WWZH^PëîWþ+lu•NÁÔÌ\·ó½ù¡ˆ$}ïèñö #Ü7òmêìÚßý³çÍ÷^¤WðÅ‘Dà•êÞ( ®(©›F6ïßÔñ{÷Ò&>ugv Ž!2€»7O rÞ¥´×aò3ÙâÿÁb×%ùÎ/ÑÕb„/§Ë”FD©‡(?4`à„g`øRåp®ðx«[KÐgÈ „ÁL§8E¿šæìíùÝ ¾%¾r Bs0_ëòZ]|úȆý7R·!}0M™ÖlÑ í@”ƒyk#ÆÑ´iÕÓH…í“ñ£ÝD*g°Ymb/ddŒ¬˜¤·h ”2{ª 9Y08Χ’5"•­Y^ÿšiíÚíC… Ëkz ð Ätè 9¢{Q‡˜@ËŸ1lS÷ú ÉÕ*» ”i_&ƒS™ë£&97¸Cj¥Æ’L@á Õñs†¸á£Ÿ5e#0€†3Ÿ¿÷Ð9¨«(ˆ9KÀ»:¯šÚûùøu’׿@õv¶g)kPŸõ(³Ì šÒÜÅKë u-|Ø÷¨Â ±#妷¼a§À“5ùhŸæ Z.6E³9E“ðÄö 7½[¤oä†Â~×ùóŘùÎô·¼T8iØÐÞsÙŒO¤Ú|t2mÐÛP© áW5r7Ãhâe}÷”Ö“–i#ùvU·&©®å¾Š§VÖò~.7¥UjÇ[oFSÙâ•Ùy•†DyÆÍM›ˆ&rbä—S™P›KV½°oe_ws?[¶ê¹iäNë#d¤8¥;a¸€ƒHò†›ÙŒíʰ|ÑÏ^ê>ü#*j²cPC×ðk'Ö80G\u6jäºM!I£Z¶oQ-ôH»ùßœ µ€hµ…lyùìL/çåµT4WÊàf ºì;ºnÌåä¶úMþÎäÓHÀöMKc{Ôôû~ë 8—*»žgtþ梷 P·c‡ÇB÷5s`$î7ÕûCØÝ˜Áõ`a„aƒÒùDͤ©zöíæÐçöž#h½2ø®år¯39GÐFÔŽáfC®6ËGë~߬¼…ˉŠYÏ C½àÓ'Cƒ+6ó]¤:P°Ø0Û—Cµ®–’‰Wk\àûW©EÒö÷·3\|3ß@?¨]9E5‚qöŸŒÎcæö;„§®½M9Ù™qæ’õ‹ÀoÊl¬^œˆÁkzý–!ÚuW Ç1 GÐLƒç¥|ã´'>†Fô:CoÎÜVHØ”8– ŒóÊ]•^^y\ 'eQá)Qº¦ßðÕùOŸ‘qâ^7s>!4Õ1”2ã8£‹80r‹ÔN¨x¶ÛNoÙö†ÿ²é»B\ïçR¨‰Ù|gÓ2¸7j`|*À0B~"IIákJXwùg¤ú/ýù'£Gh§N7ký\Y'H 'ªÕ©8+ögö!-;¥Ôaœ¤8ðQ­Áß{#BFáì]Ÿß¸âD;Nƒ:AïàíPÓn÷O[¾ý§ü)'EܵóN&òÍÉ<ç; { ŸÎj_L.ƒºJYïå¯~¥ˆOs\W,ªpNÓx8+¢¢3lšÐ 8m;ý­ªCUò]Å“’Á•^DjY¡R6¶Ëÿ1Åë†!6”SíJåJ;…Ñ0ïe®Ý˜JóFiõÌ­\–\*äý{˜e» 8¶2Àÿ×ÜBЎѦe(å#.•hÑ5`%Í' ÄÝ™žÈú:¡‰éíFìÈÙôâ/¢=~MXSˆ«슛˜~Mâ’¾*é{¯E×"~rm‘<|=û TV=¯Ó”×~éÈ/ÅZÁA,ÍØlÌœÒÉì!(,±BÌàúwòútç4K¢‹Ñ´ÿVIÉ/IÒ¬ˆ²Õ~Þ‘€åÈN%u ñüw°¤È‡dTzhö¯ôMÎsíϸvï¢aJ¡tþ¢5ÔÍíB*mÞ}ä+ Ë“ÖÐþ/$¤éØs®$à‡×¾X”ªæ~v%¿Dn£E~÷Öþqú¼jsìæe=_ï²´šZ“A1ÖE}.pÐI59{dÙ–;ˆ)§ÂüÖˆ .NO«çÛ¡eê‡ÐÿõJßH¸€1ýÞ[§~×^ˆa˜¿P"ú8yÌ7nGjRf‚,Âoµ÷û3ZJwÈœê{Ò;šˆ)Ìþµk}Þ8RokÏflÜ®8¡ôçšc'(ã ªòóñ]”îþ2|¥‹·ŸfÏ 'Œ'çw‘Vädvíb‚_Íñà€Ç@/tJ†`ÈTk¦DCh$Œãe›ލåwÙ¯ hÊöñÞ¼òWl†ñdj°€Þ- ¡®{=Œaœ6%)¢Ð¶##E¿1KùTáØ®óæ5­ûé)¤ ªÜºÈÍI7¢¢3NÀr^xÔU„”Òõ<±ŒC(úö‘, ¶•»Zîôá4€æhI{­?Äô È<ŒŒGÏçV‘ÎÃãm:kñÎŽ!¥÷m·ž™Ñ4Дêðùò¶¡,\I_–Ñ‘L[l^ß$èÏŠ™wìµôkËŽú• çnæxÀƒ->|U§DðyÆ!Ó]á–n•09ÈhäxàÃ{ÚÏÿ/¤ úk^ÉðyõlQK ¥eÀKÙ)AÏ%ÆœO #C ‘³ß‘ÇŒ¶V ;L˜3>ø/¬¤-Èp?‡¬d=å_I[À(sÌS•¸ÞßuÅ”±©wðJQëÂcÜgÂú!SúÜEmÓçâõ³‡a aAsSwì sÕ«yÑšz²ºþÁT2®Væ™1yNìÛgOü‰½uý¢ëLÐaF8œ:ý$‰OèOÎzÏ 'ϵë"íïºÌæ×ø;±žh'6•uë–³©1ˆÿ™7õ¡Lý—üÀ@ˆ#ùc'Í 0&«ÂŠÐqn¢”=éÎ'+™ÊíìpŒžç¥6õš:²*þ ²è«5˜1ò9m¥¦Ù=\7}ÜáïW w|òIS=B,xäÞSåYuµyƾøcãCk€ç½™E8ž”‘ÏÈPŸ¤¨ç]iá%Û¬–Ïà6D(òÉP5ø4f@]'UmÌT€o|RÁ‚i3ƒ…Tl¿¼=Y‡Ôç&¶OT{™§ø†é :à  ÀžÕÐCüËüÖ7|#^Þ?—"+g6¤×CYe@Wò#*¿+[0Xìlã ë§Øp,+ÇcÄÒv’ ȲØZ„f)åˆuÜÃÁ½Þg¼?¸nŽ&§JKTj²-öµRM8W¼DÊ«àïDb:/æ§8à ÆDFñ lDÞ§¾±Qs¿ÏÈ …ðªò¡·ˆ©r· †  ªÒé Éw\ ènÓ­£s¿s]^nœC¶­o\½åý<à(š?ŪàÓi{¡‰Ãï5Ì¡5ïó(<'`äéÉb6þ™;Žt~¹ø @@„n¦‹ÿ'a¥3¶²åinŶ! V9•_€Ô{ê.Ñÿ-¸°Wò•Þ›À±VzÔ×ÁvÃ#äåÊÜiÍÅrö×ÿ„1©Äæ¦Qâë8•ƒR«Ÿ-Ö ½ŸcoÒIKЬ*X)€¬Ã0U<ØQñÎøœVÝÚey#óºß³Cࣕ­ç“fjo»P]T|/WZa@p(^`4qåöOË~S4îëûBçÞtYÍBŸJω|0Ïß+TQ¿wÜ9¸åJÏÖ—Šb³øs­ÏëB6òƒúøª-Oü³#U¼wJÍs¿pÂÇË0T®Â6Gz ¹Î{o+÷¶Ì°¼¤~u×uöÔPå[ÉpfÒxØ9™r=Á!S/ŽpÑë¼z×%L½1ù|ÉG]xL·v *ð‰ãP¥ÊÕýÓœÔ=`ÞjLkn—ê–£Fæ2½OÕדN®6 J§œ+¢Ãäÿq¶äk/–Ýœ!:ržh™ÒH «à“Ô´g‘ 7Ƽ»¯/\ †g1£ölº˜!w±Eõ5™Š„n .ˆ– „Ð6ÿ2ŒíVc¨"äÈ{•Ä•ˆ‡Ö>ËQrF]škÊ^p¦†«ê_0áŠXªJpM71â÷x%ã¿—k¾S%p ºÿ¼ÊÊs1ØŽ“Û€” ñç¤ùmËöpªõdlrîˆ\Ã㮘Q®øÎ4àN,Çl•fê¢Õì' Ôejá©æ‚C Ž›/Þ®0Cq0»±Èm:Jµpn8`LÅ Lò.Ô’²Õ¹•Î#­›˜îÚ«GÇŒ†ï¾Ÿy' (Ì÷yÏœ‹CÌðÍiF–6ï)Õß+`dÆÄé3[Ë <ÿáŠTžŽgó»(¿5‚t4§í—׿Ã6lH/\œ/¬ÀÞå¤?z®Ÿ1±ž øöë‡ëÆâ½­×ñù‡‹qX“ÈÔ$ýF7"èÇ o:3ZT4úE&*„nòû\Áö›üN-Xû•äY;s[UcÓǬL+òÔç óë|ew:×y‚â\´âVJÑoÿ¦¡í:_áãðõ´ÇV‡FìÑ'X#º˜Pž}•–z8©Øhô}š<7…ì´¨¡òÞÉvUU_f ‡vE5<†CÌÅ‚Ïw¦Ã>ÛÅUf×/l¨‘Kªƒ¿Eªw¾ÿ1­‹*ÔQÞJqe-xÌ ^ëE_¿è9Ð¥‘ ÄŠ`\¹„'"sп@›"eR˜/b&/¹pç[Ѧy´ÀŒ:SEªhŒÏ´xÅ>ô 4¥žæ1Ê-€ÿwA~Î{a²ÏˆÐäµ`fHqÞ´XéÜEÈ×ZÙ|{§)ûŬ )srZêã/NðÕžtT÷ŽØ7¹~p”ûúz2lÜwŽqއ/j¿Ž¸8âzºWJ‚Ê—‡Ço‰Ò¶]ZeWJ8YWB-ðïB)1'°Ài],Ð'2Ìc,CŽ(Y/R´_á=¨ÿz|@2Ô[£G9»æÑôcš”„Ž%”ߦZ‰m!ÐȼþvÍð€ZÖ$Ê 0SfÍ~N¤ pˆ³UYa]ÅÊ›rZ$*z»cíÞwI½–´ºÈ¨Ø©CkTMpt¤>å 0È1¦3žw¡Òò›Òé;þ6rŸW©¨Õ1\V2ÒPáV£TÅN%Ídhݤ­8§ A'jcËežñÉëc:q¢$ˆÔr ¿‚èä4•„‹Éé0G´E}Ù!iìÞP¶¨¶äYµ§-]s5:JÆÖ)(æöd*®*s±ÀÉöZÌ•vê4Jè]€rÀÁq;m”^:¢-â.¶FÜ­*Tü¼xÐGMïbÿÏ¥œ9qß]›SQÆ€Ê G޵‰úbt?/œüÑ.Ý“úˆÖ®Œ-l£A-êtJjÁμ3^J?—.ìÖ8Zw°ñB€öìó­b¶{óz}£…‹Òf¨TggˆF•n^à;š¹9&qщc,åthÍ^?±- Ão Ç* ¥ÏÊØ¥Ó 9Á¢FÅ–)îXÑ@¿(“BÐó÷]9Öm9V*¯q½Åkœ@—6ͧñ‰ñqFÞÇ-&è‘àcfÐ]‘‚EùèØTµD2ÌœJý'±ÂÛ‘ˆð…:Åh´G|¼·#ÍwêÂW7×?0Pf²‚Gáþ6[iÐPÑÄŒú;ж-lPÂUrÙz+È=}^¥‡‚¯«Ÿ÷}m¤ªY]> H[þ øÜE¥:x þÑ—ž7£šº¤-TW[¿Ó$SGÂõ-ži xŠ€d¿ˆ(­ŸœjªrWð¦dòGhÈ"Q^·çåêMÔ†”¸IúeʤyÒ­fŠcùô¨áŒgÿØ5MÒ¨EàO:46ÝÃôÚ-õAXC¿‰éÄZàùŒ`üg«bOÆ‚ZÖ„XѤ dÔón3¦‹˜½RT“I„"²jåÔÿFTÇÞ^bs£Iu­Ã“_ ¬w"ƒ~b¬‹#Ûçž¹é zOÓ¢ ÔÏÔéÊSШH©}wT¥yªô裗0×quçeœæoØÙG3ÓpDebZ´ÕAÇSâÓ%)ŠÏ «Ym4|¿:+gN03ÍGHæÓÊF1È÷œzq-ÜËãR9m¹}fØö ;´áŸ&—ì"w aÐáaó(ðÁœ¤uÓpÁÖ^èY[ºA¢]Ș5%±®%ÉÂh©½8œ±ñR3ä:âÒùd"ð7Z\úì.uuº¹´P¡ŠµM…fàS¯hÿç».ËuŒË,x{jkß5xäAê¥ùóËEþ2x0¿zÒŒoñMˆž7Î!OR@nôØèÕÒè‘o}€£ž "æ›9ÝÀiÃxÈè)’®¥[Wqq àVŠ^TßËšû»lÕ9‚Qgt\œÁŒÍáóX ËXš-•¢¢Ïý•=ç7Äûï¸ÏɶƎê½4å™8äpÝNU8÷}¿º´ó»F7»¾Þcº‡¡€hb–ÿ]}‰ž£ o“°!85ÃŽSٱƸƒº0a†á>ŸƒÂ/‰Ã÷3g`~î·ÒóÅiéóÆí·î4&J´½¦<¨ ¦Cû>A­¼qNÉÙö† Lc?Ø Ü¡[~oãt æÌ+ÈTgÖ¾CÁHçj¿ÐRG®@Ã>;Í=Ä×ûU™S·O;¤9Ãuëȵ¯èÒõÛ«¥ë™i.Íœ˜4‚êIÅöj$tÅœž°ã•F|rËÂ!t\4ËQå§ÁE»xXl§ÓUVà™ ?õ GsWïÇû¦füÐ º€¦ö­‹ORñQôm4vœ•D©~Ú]ô«V’5߸ÇnäZVî ëĵ[IQîàY²ÁmW1P¯—O×£½dîé*ò‹Ã9æó²¿¨ëqä¬ôì_ìÔ¿ ;ª›SRÒøÆ´‰.úÏ€­yö’nñI7Ž»¢4ÝfjµðÛŒ°ûî" û‡ìº¤zÍØLR?µc$ÊÚ†ä¼íHUåÖb>4ç{`¹nß`EsßgÌ$W× ‚Fw\Ï;ÊÂ¥\½ÚBÞ+êyØßW±,s¼(%ŠF©¨,ަx߃4gö3ƒ&ñèð!9ä Š¹ˆmÉ.áÜyÔÝD¡eteäÜCßáL(šH$gÇ„3á)^%æ-ö÷¶Q>‚Æ©ÓOŒ©Áéw?mˆÐáêÁ$ÃI\&8b߆Ë÷>í ™z\ç åAÄÎ$†)Kº¶¸V'îQ‘ÿFøï=©1÷‘ƒÇv+ü“>/ô’}9åCðkÉ¡Œ÷ˆSÒ×Ò‘_`á ú~'fmt­ÖØßÉ¡]±yØÍÏÿà}O¸@Œ1(I%10™®á¬¼ÕwÊñèª ó Ä Ç³‡d Ý‘ÎçÑ…ó­ zö&— òôVxè3`DeÏÿÜOÀO\;`d—ÜmRg™¿"˜øýÌÞç'—%û“'xvš¤RHX"‘ú}õî2´ÞhÈÒ‡\Pµ†q’‰ƒ&ä Çi×ä¯Jíòäè㣸 ¦u~¨çl˜Z“¶)0p.P¢ó¼bªòC8Òi>y Óû¦{)Îpž¾„¯òf½ûšÕ5ïÊ;Îè˜5£ ÜCÂ0‰œ•£B~v-†á’±šÓF@þªµ)ªB"·¡\|+ýÕ÷mÞÜqX”ßPaTÜßx‚öäÿ³¶â쑳"«3Ú#æåÐ?[jOº,óýF >áèrrŽc?Ãâøe§=°3UùƒŸ&„‡‰ö}׈~TPx˜ãލ Cÿ‹Ú.°•g棿Wë¥Bm†Ë@eß']ÿùFEq¶è¿¬wÞf¼ë/X¾oŽàÁÕ„™E¼Ež[ÕÚkïÿ3ö{®ü0ÚÐÑý}:FÀv8ö“RJÝ!›‰Ð§h=}¶Z°¾ÈDï-d -è¦9ÜnDº(¬;ŽKÚ¾µwcPÕŸ„Æ*ûFZRÅö<òLö6X3&aü.7F«j«<¬.\ߣ}ÁµuÐRŠëÃÑt°9QV'Ü›ÛÈ}úžý ñÎRTzwD™€ ¦÷šzON¶1h~lÑVŠY÷ƒ\™((O&¬ZLi8óœ«dð!‰ö]7‹«èX Ç%ì"tÌ‘¨'J_H¨­–Í„Œ¦A÷u‰3~ÝÃΛgÊ4C;æeÓyÓÞ‰÷j…ò›Nÿ9râ‰yÒáOæOšò´ïjt­ËªFlp¤¯ƒšhl/àˆµŒ^T¶3sMf-·h§O4A¨ë\Ïÿ/¤Ažà[ºO±‘Äóúvn <}絓z®mÛ­f ¯Á±ðgk!еvdµOj¯H+OÏÚŸš€âÀøFaéK •ïí¡×á[mK›vJ‚ëµ¾ †| WÁNÐç¤éÝfU«ÛÀV„‹×t7Mܯ`<‡L†¶¢G+µøN Ê*°©sN[l&Cu°¼8RCÐñ—óï`ÛL®'N’û¦í-EcubZÑŽœq¡[ª7Ùà‰ïðàG¼Lò(uÕáÚ‚êÚŽd–]WL>æ*OÁš¦Ã•„.ÅqR‹µM%RÏP&(ŸßÞLSYf¯ŠÓTôûDŽûhGüêd©§MÆf!ói)Æb¥êyغ}4Öó v³*Ó™ÅÞ-iøÀõ §@Ï ƒ«–>µ&6W=žÕ ›” Ç›Ó=ÎÐ:>_X°w÷\&Éõ ~€$mòퟖ[§Æ¼°‚GRÇsÅìZK£]C£Û>ÚΕ®í’PªÇ¢›)¿ÔŒJ©›Åõf‹´ÿô‘Ñ{åñüžT•ÖøPÃe»Óaz2ºó©ÜÙßxP:f'šîœ"ÔM¶ðµê;§fpìÐýd?†¦©Ñ³.Ëÿñ{Ø72­úÉ/¾òÇ‚Šg’/³ç,¡€!‡OŒ@£—~õBõB0â÷’æ@«Kû¼ùAeÚb 4¯ú¦æ8•","þXø²XšºÚËÍH‚ö£2Ž’G·sŽâ‘ÚKÍëA…Oß—·FDz]Îdí¥»Õ†lr¸é³B35©ì¾!”RŠ æÊ §C‡Þ΢R #uŠžB1L§tàa±ô«Óeù—Xñ*¨4ãÂÇŒ'Ãø‰)ª¯YתڵèwDŒ¨³I‘¦‚ü¨ïPÀÛTª“|½WÒ¨÷Dq‹Yۢ߅úZ3Šô™±K'Ô^uW¯Äp†æ l6Û>+ØÛÓZ»Û£vÈ?-Íž0éñˆñD;õD]ñ½³(°À=/: ?Ž/2áˆÓ];ãay0Ó¸¤håd¾·öÃ3£·¤•ŠóÚ³£»û]4M­#°–ó說ʹ›&r4aq 3õØBfþ½Rl å-‡ 9"òñž‚…é’AÓê_ô)ÑúúB÷˜ßÍÊTEù)¯CnºÜeµÜºÎûÄBÅVtŽ<·÷ýJ{\3ÏýÌ%ˆ @âjibù:uÊT¯‹RXØ*Ç8¸IL•›ßÙLï5åþΕAꪸ#T¬:¯ù^§AÈÚJ'4X*ŒÇþ°=bT{Ï Æ!bÞÁxE6­ÌGX­©á0¥|YM±IûXQªÄJ{5µxjOeº„&^#WŸ[Ê0‚–™^:'‰o]ÑII”Ô‘VèWgBUg¸M*ðê`Q·ð<ãgÿ [=c<ñh/ÚÐl³qLÜŽÏd„WˆüÂæBI^C¿Å@ð02ODÌú@ 'e>€È8ƒ0l¨pqÛßnz¯äA |ÅFb{WM¦XCè„@²á±öU¿’ÕëxûìK¡û³›ÈׯTÆ¿:ÊØÕgì›7YŒg?ÛZ€!ŸðXfž¡“çMmZøå>ŒÖU—‡ú—œ­ÝéÇ#0$ÐÆ>õŸb7±•x¡àE•vZmÊMU”>cüí«<ãêUp‚KÁGÆ¥Gÿ.ó16tÌ$t;‰X>FX¹Æ;ÙÚ™lº„ÕUä!Χ9‰z«ð¸{V…Œ‹'É.Þéj¤×ê—9 êè º¾DÇÕƒK\W$=ÞƒWO ‹òüÞ*U•‰¡®â˜p56€Â¯ &Whªå;?¯Bcí;ª3o]\*ÅÛUbz<÷-$VSà©û/Äè'¸½Ó†jñFªëëÊðbwýÆ(Ç¡><ÜýóôÙGsƳ•yäΩAcu3ìß_ånW¦2NÔ[¿h¾Îw©R¶¤Ò—¤1nûø=" ú\1y|c-ä©]¥xFA¼MÀ5ãß$Õ0ülàVv_8ÉXÑ€Y#QÝ¡¨«¾-„ÜëyUïª-ÅÝRQä¸2Â%íæ>Áд´fÊ*k¸ë²þω[×Zh`K¡“{ðý²™oÞŸÑ̾Ýa'5)…Ûv;ßÂ`Ìڕ׉GÉ«ÓÍ AÍîŒÕÇn‰(KI ,ˆúIÇoô{.Ÿ`§\"üÒOèâœö^BÖ(š¦Ïk!;1Rº[ÑMi‚öýϳ®œÐú.¼—IÛ›}¼H„']íÊíFxäÚT}Wå໿r•tø½nÔÌß{J¼í½¦N~ƒ#¡>渆s]N@YÅÓ†æt„…€—ÿ\÷Ñá7‹wŸ+ß›Çí%œWç¬"¯æðŽM¸¬ò¥êFý²a>|vFÿ‹Zv"í\iy:…ŠY3ÂrR,`[OjQaí$'S's…³à™ª\|”„#ç×êéARX‹WÿÃñÃøR ÷¦Ö joúÊB$=q^ EÉ}Å(qE÷š# ô,J¿´‰ç±9#F¢Kt5ÕïôrIÍ\Exq¾è;o»‹CUKDWŠõêé[g‚Ÿµ_½¬ÖöD­^Ä~øó#Ä,<¦-œv½Ó>Š~«œjèòè ?ÚQˆÚœv>G¿-Эz8 ÂÁ5ª–t#Ö €„‘ªÙNì«Çal9Ý3¼W–ˆÒ#{¼Ö•ÆâkïÈÏC² @qmzÿÄ)Í0yæÊü6O@àÅnpÒTwØÊ2Ñ<ð›1ªÀY;íuæ,ãbÃ*šbÃÑ&Ï„sjr¸_×IHô“\Põwß§VÊÕfö¶’WZÔ’Ž"¹‘¥ol¼b—ʤrªª,Xu|ï—w^Qäμþ/I3ÚN¶O*|ìÈ‹>ô•29ó&ô§®”ÌŽì¥2šÏ Vðl'½À~9¤å)Õ»2©åÈ–šææn[tÍ<.ñ‡ å2(t ¤|6ÎÑÐÙDò0á©ô?A[Ûí‹Ô&­g…—ž°¿iì8tÚÑ€CÔ®X›ê›KX?ßtNù7gÖ£øá‹~´ç1¹ ðÓ_SìÞ²¿[;’¸E˜xÉ»÷+ùňBÕ˜ ðñ;ø»ÆÚ>?° þ¬¦-N3ñ€CÚBEfò½æƒ=…2TÀx¹Á(²rE^,:S Á¹½m†>C%ôn¬ó<ÀYéï¥Üýãâì Lº(ldBˆR±³c" ,³cÛâÍåt±u¬ç=úÃ’_¶8©]¶ Ü{¤ø^LgÙL»m\ZI3ãDYd²©£³”YJH–‘½Ò'P¢§§·dÇ£ËÂ{bZ óëO‚M¼ Áj})ü±ØtœðB!„6¸1•¶]«¤„ Ä××Âê‘ MóK£÷­¬ÑˆÒ#ƒÐc†w}ŒÊH®ìO9“.j-XÐCÝFõNk‚vÛˆ›979Ý|„/• ãîXÄÑwè-¨ÎϱoýÓv2U×°ëVÕ±³uL_š.bTuAÐ)Ææx¸û &IܸsgLÝ?'añ(Á•~Êí>ß“mÀC¼DøÀ(èÔ•þy§÷/ºšØb{†Û"•yß9j7"¤Þ­äýò=ÄhOÐNÜ D©šçÕóG›A¡ ÜXu¤Ä%w‡µž$,•J¾¡–ñ!Qj<+º“¤Bs…i¼À˜(!¤ÖnË~äè¹*4 WÚ±xOÚ·ð¥ƒ[gÛ}i8T&—Ö/FœáùbyÂ%nº„Êþì4©Ïüó@™ßUˆ†iúìtÅßÅd„ÏN$¶˜úx,}¸§yh1F¼Â+†ôÌû ·—Áa|£@=_¸[‰œ½Ã3/ <}Œ+˜«‡Ò è’ÉwxŒ÷ÐF?Á,=Ä1î‰.þYõ÷ŽÊÇ êy¢ö€3©²ÃŽbKäB`F9i ï>Ä6zÛû ØsžÜîOHkT<†ÅA6º•„lÖÿtÉCeP÷äïÍwA>-7^óÏlþH|çÔÍÈÿÓäxê;™¬±É"!>üc´ø2mc€ØÆÐûfZ7a„”± } ,ò¦@àcëÉf‘LÀ/A2]ZÃVÛa‘oR©¼xò÷;qå•t>Aˆxyè›; &É9—%äÁF×ýs–M@©KmÅT`‹D8üµ5C(³»\‹MÖV/°þ›ž~v+\pp=d¬ÚÐXÜu³ƒç™±”7’§Ø*,ópuñAhÕ*cpU7„ySWåyFIã]?{õºÃÝöµÒ³4ç)ù¦ í:–u#gΜO¬‹@(FIgƒÏï¶9b‰È ûø9ˆµJˆ•Ž¥Ø×Û…ÍÝc ˆ²¼ ι4gìø„êÿ0¸óŠÎ¡K#ÐËÁU¯Å`>TØ=5‹¡ÉÅ €¡uô"q~RžCX=½ ç³³þVNãá°P´á™®S¦˜_ÓÓPAhQï'¼ Hà4|il˜cgÙQM—i)Ü@¯SñkŒæï>"2Š"IZ9lûPŒZÎJÐ¹Ú¨Ô Aû!`" üŰÄ"#}†¬PòÚþfŽôy¤j‘ŠÉ£Å¼%¯çíÒ]£ˆ6m&=©ª¹á3äÈJ»ïë÷D,‰2Ï#hÙ#¹´”–æR|ñF8K6}M•7WŸ_üÝÝBc](èœ!— d ºZ¤Åßs©C_> i¼K Š†Ë¿ OÚ{¢_T™h„€ÝùgüÚ°ÓF&}_Á ®îˆ8d{c`FI²[Ð×ÏžlxF{±~ì<¶ôè"ìô5CZ„à7ö‡#<Ò–;„º =Ý °óÞýÔ€X>ñ\ƒþÄ¢ µ_çi™†¢XrÓð‰6Š‚?ë…™!ÍÆÜ{ÙÐJG¨+±E¦ð®X™¥Õ‰s©žáœdlá…#v–qòù‚)ñçZCu²¿15«ÿõ€yë;ƒ çî“!Œ¯ã¬œ©ú™¡R ‰÷¦¡K{?ºT J§çÚ'KÚ½i¦«xóÒ¬*ÊF1å L˜+/ù. åy#Ÿ2ϺŠ˜~5¤cÜ^öV{_rWKqǰíüê>àÄé¼ÕiuyÆuEŸËtŸ×Èî½fyjLÿƤhtTnž¾êb°ôìÕhZéÀBþŸÏìW9=\âÅõÓiçYÁ+RîÅtó‘ À!iÒ „\Çd®D¤úÖŸL($zz5ËNZ_˜Êˆ­j)ƒÉ‹6/[L¹§¾zð!ÂÂÑBø_ÖÙë·½C'7.[3Û—±ËI‹!jÊ¿â';ב Š#"ƈ}ÚŽÕ ¿—¡Ë˜­vlT!ê'ÞñMjç«]ù7"|dböËêî<^_ìATsª?f„§ÆÐIX L{±þQ0þ<6I9Ä+×9ÚÞ+ïGâ¬á94|ÉÊ—ê\Ñf*!X%ývÒ¡cMêlÙ4Nl”jµ¬O"ÿ3œçëŒ*çªV¦Uõ¶Ûħ´€’»pÊ0SmöULŽ÷%nKm]ȯÄv`K³Pdð}ŽîëˆºìÆ‹»k«–‚mƒ§_Òà"u•2IÌ.ˆÑÏëó\§fF%‹ïVh¬¦Wj}øœ® ?S) UG©XLzãpöµ0ÐŽP"%æ%…±¯‘‰X_€oã‹úaSÕǽÒR'ߢí{©:w:©äŠYTJw®ê3¾;åžÊèÃÅy®¨/ø¿Àgœxí8s?¶ÉP‚ü_mA{ÃI3¦ÍwüÜ )GÀ|ÌÁÒòë"¶có¨hÁ¹žµˆ½†·ÀZßïcz‚=I{í;ÏUwP&ÃÐùSô'®eöObê«Ü”H .¢õ»Yf+Ò†,ê7•çäΧ!Šº¢\1wè¬<{¢¦¼ŒÊ-XˆG‚‚¹ïL Tý±õW×@¶¶:ÐP­VjÞªlÅPˆàòø]ÅiûzßÁy¿î¨Ö¤=8a¾Q@TÏ-Lù#3‡GrŒÑ6£Ïh‚@§ R ¡a×ŃlÞÒ9ba„Ú½å6}ÛO¿Œ 2êîD+ÓJœâšf×@t¹¸Êáúu~ŠòyÕϧõÑÓCÒĨ.rÄ“æK P¢rÑqCÌýôjýÐÝi±uØ:¨´þ«Ì9~í?=_*9 Ö·ï¤Ô mË'ηíUÀáqC«\X…¡í¦½cîø(=UH–eP§(^Š lõO™pŽøt2xðBN7¢ÑCÒ]áˆgfz—¯Ý JÉ`³ÎEN±¡¹ú¢yã_*ôŠáHWÙ‘ìJÚ‘bؤ*l»U@¤‡¬£Ô]¸2Ó#•¨f[1N0xO*™Tä¤Nt†t‡Þ½ ·ˆpÐM{»ÎVr‚Wb|4Ç#j’Otô§E(•ÊRF—Þ÷V5½èŽâsüùòöT ëTœ>ö‰#ˆ±ÃGGñE¨BFýBº#cТ õ˜c€‘Ko+Óò:Šuc§ÃfRÌÉF‹›4robÑ'=3ŽÐÚàŠÞ”¸úH‚ICÔ÷©r0<Ñi¸ îvEúû—kÇLÃ<ä´ÜŒoGË¥¡.i&PÙâÆd²RYÞ©ž7~Æl ‚·R0R´G‘ã<¡%v4¡<×ôweȼµÎ¦Æ~.æ“Ñ®Keˆf—è*Ø ¯™wÇ öÊ;ÙðÓTÅ;„ÜÚx+5"S•É?Þ$uÔÚw~´`e¶ECûTêõœ¶z?÷L¿?ºî‘‡…‰–уɃ3ȧ9¢ÆøéÖ·öÁeóðÇþEöŽ>K¤õçŽÌ­M³|ð³b~¡øÃ¾ø*ÊÉh#SúF\Ÿ ò\§öè, ŸŸŽQýûíèUF­£§ ”Ãï¾@O•?—¢râµI¯E²Ê«so”tm¾q­{èR3õÛ;Dz(ß¹JÃ7„²ÅO¿i=Vj°5ÑÈ‘ ž÷!CøÉIu¼Ýø~q¾Q`­žcTr%#¨Ä¢®¬ÏSIJ*ÉuEÝE8س]çÚ…Æ,RY}Šy¯X¢d¶Ôô—×Õu¦@/­aRÃ_ÀhåÓëùà;3ëï<‡uÇçßRc2øBʄӿøL˜Ôö¥CÔÕ!ÖÎm™Îzò1¹ïaªtE½@ÿ õX…>4 tš?ö0ŸÞÉUv‹äâ9IT\^Ä~ºÉcD”„¾k8 ŠXmPÜÄnt°Ö´,ûGªZF8R7Ñ"øBž€„§•¥áÙãP5çzCqi©a·\Qëb#½{‰•Ù¯Ë0ÒÐpû@Xz|­BtÛg9þÄ\é*;°ƒ´X Ju¯èáN&S=»Yç¯ï@ÃßBK•i9¢]€Jœ¨•Þ–NÔ3Z÷}É&†®[}ÅŽ°ç›µA×WÅ8»!ä]å Žš„º„!6¥†¤’Ú¹f¬õæC¾û¾Ã‡"w.ß×í$ò•»?9W–&¸·žÄ"'Xáû°‚θ)~!˜" RÅL‘žO;QPkgŒÇùö‹ÌZgy}¢÷ëRX™1IßRŠ)oÑO@›Ž:ˆÈȃTÞð]¡Ð:®¢Ô©B"0¦ŠzÅzïÝœ>Âó$Mô‡(C*j *´^ 4¢Ÿ#ê8°@Û…XÓ5¢ï÷Í«°0 dH„÷ʼnX̾ì…)\ÇuÊø3+qÈ äWÔÎ 䬨Z@O:Íp±ûº’3ûÊ0ÓoŒ¾æ×z4 Û‘…!5 €­m‡­u(¾—&IÃ.f3Ã)õÀ.ÜÔEÔ{þ×BxU­ p†ÄO¯dF1•Ÿ„ø‰™dµeʘ¿|=¯£§}û°óÜ6-–„aÖV7¢iÊD|ÿjÿöŒ51¯$íò¨9@Љ­Ì9?¶Æa¬Ó.UÉô‘(uæ¹*eÁÁôψ³¼KC±Â·äçÎÀîΈñ!½3)ð°“"Cܺ'iæmؼ_Þ¿Áæó]Ù"ßÅiµ“ñ£Ôˆ†·«ÕA|¥'+ô$A°‡ ³ôt|° qã½Îî¦$Þxkíñü´Ö·e_gʤžîz»R\˜JhLYGDNzC’> ùˆtÃ_‰MUd˜ må@¿..)"ˆ…W?]€Üíèï7š¶Â´;õ(U „_A«É㬀ÌG‚å¹™ h0áÙÈƤåýì«}|l«ò&‚E?EwMdÀ±QLSìgŒsœzu­7ƒß[¦c‹"÷ E9u†g€ßŠÃ”¦›òQDן¡ú·ÿ„4ˆÓE¶4ó´ø:uá‰0fŒñ£²]ß‘W³•Iëk‹\¬>Êèš 9ØÇH%ƒžÙI‚J”Lù7f‘ÝuõP› øDÙØ›!¢sþ´ºŠÌšÇÓ« â¥†ÈÆ¼ <êò”I• ¼3¥%'ã»V18á¸3Åsk.Ä€Òµ£c•YÊŸ;•î3/ ˆNTûîॣžbOq¼ÛÖ#Tfœ÷Á¼¾ÅS¾××Òg¾E/ÈËûÕéGýjeˆ¼`"ÄúÝæéãcÅ<¿;äëëY¿Aãz|‰^›9‰ôYãòS/H襦[§€O˜¶îž>îƒÛ¹ˆÐ0¤œ‹ïÿ€58ð¡qÍ’Ÿ“=3#"½msÄFñ{¦®ß¾žl”)Ж ú›ïb=‰v˜„ÄÅk8¾!„ÌG>÷M"<©+lŽK¶Ó_bŽùvûYèÔ>žAÑ ªeâ¹MC„Ä®iÕˆZ^¯Ø² p™Ì–}7è,m…Ø‚æÞ—*¯îÛÛ Ym¨’ÄSë ôœvj>§ƒ80<¤jÙQ$üI‡è§îÔM„.2ŸÎ³Ÿ¢Öâb÷~M{_[öµ> žT–B㉎å¼6ÑôPýyt¥¯éŠD»u“ȧ±ƒíýe;ØE?®Ãؤ¨õ’Gn­iŽsGÞdÖQ׆J—?¨Í}™&ï¸òÐ~~6$Ïm¹òÈ÷ÊŠÓÒJYÿžâ¢¤\ÁK <)U¡ Eó¨JǙ①®& úï>7gŠV–tlR8øÛå/}ï|¯*+`pýÁÅa5±†ŠÔ'ÝÚÆ1™çZë)Üs¦¨.94­õsMYvŠN}L8ò£€ù¤ƒèWDx†¦-658Ô/¢r¡Ï ¬¨»û€Qå ýQJërã\‡¤7sG‰ìèó¢Y@c7ÿÑÁœàûR¦ÍiüöNW,.æZúZšâé»ýK2Ÿiá.r•7¸VŒ¯.—të¼!ž½¯Ÿ/Éõª†z@B= œÝû«è¾°_bU$Ûö¢®ÝVXú!;V準ë€ãŸ» g›¨gðD‰p"*µÜPàìNØ;˜](©©—Mp-ú´xôÚüøÞ—è8¿t™Ð°4hj:CŠø”c‰§í¬U›1¦•ØŠøÐ<†M›šÛ:=× ~Á㯟¢æ"4„Å©Q)ž ïj Læ×ưa¡´¤sCì -©¡^LÄ©dBåKä:zÚ¨@îI}¢®«•’ÎÕé† ”ümë,“EõŒð>_å~ºš‰ýêþ4…ù;|ù}ù@Çpä7l¼·Â˜Ñ°¬#+š|ÙtAŠ'4·d¼ ÖÅkƒl‰ ·k½V9Ƃ:Ï?¡¹»c‰{7YJ}¤‰G%OËMɳló–U²±5˜¾0¢:Šz ›«bp{Bº@ølèa#u—`êI{CÔÍÐïÑ®}÷­ˆ‘b¶v»$Ž—ÏŸî©\)-e"•H³;(?nKî- jl2$ÝCrN¾‡v¸„<|#"ÉOwÿß’Ni% #Œ*÷ŸC1:W7L¯º(ל8+âÖr3ÏJŽžߊç¤ÿˆgTÈçûÅi…~Ã-UhO ä_ eÉëµñšã ß~Á€‘ñ~s§g ,ãÈ®Æx4çWB/ötZÎu)“2ßÓ{4`3ù¥zÑ‡ÂÆ£ÏƒŠO¤ÿêì™é…¢$þÝÞÑÏ:b½éÐ"ʵý'JKÉNÐ"’×Ý£ñ‰¦—¢˜R´&Ba#-P~˜{¿¢R¿+­ÉË yB `£•춘±/i\êÊ÷ƒ7=Sî}DSâ± ½T[ÔÆ_a´çÞ®ÝU¿pÞÎżr‡ÍýNG î…K~\éãF7ÖcÅ‹}Á3"?Il§©4–8¡w0xÓ§dˆ¼=GiM•“X-…¾‚ó¹§;`Ä´´F\²ë ·qà̬ëÎöÛE0¤¶ëÕ;¬p<¯."C;'Ûj‘ôÇøb]Hc¤ÿ—ÖViá!~.zG±­ç]rºÇ5Ü’yU„ÈC¢QÍb{ßlŸþÅ’u‰ÍrÚ¯fš4ëV-DÞ4%«ŒÔ㥷\ƒÝ²v¶ Z¢ ÙB2BÝTÄýÌirÐŽñÖÅ’tË­ÇS**êôj&RÔˆãÀ`Ý‘×CXÒ3p¿OØ£† ž˜Ó?ËßõÊ 0•¨q>ËÓä *¾ }èþ1âEw]$Á Êå$ÓX [²ÌØH°];ü‰7eãøÉv\éâ+f½ÑÇ„ä•xoÂ5DŸr,¸–¢DamÏ €œ8PVwUÏkÞ¾Û|äÊ·z1šŠK¤ZNžw‡™Z¤‹È8ƒäsš2ѸœwŽç*tœ×SèÁWz†œÎ ÎC¢Ï«üÒfôU0p‰=0FFOV4JÐiô?mŽË¹_'Ç{T3VEý´uUç¦aܘCiuñIªÈÑàèÔf ¹´À×TÁãŸRçvÊflŽ0pI«hÅPçvÊÖŒ¸ò‚Kñ^"ïŒ/•óSUû"a~öþüÿ$£|ˆ_kq±ÿú{…˜—¼!amÍSéFZa0„@ 2°5î¤<Ɔ ªÃÒãè±å!ë—P9Íãˆükà#Äîáx‘èƒå}¥tsÁ‚±5>àzîo†A[–F£0c'SaÓ¥5d„TK黦-ß }¸Dt’ =X7Fî ûO,ð«ç5×ß Ž8ò,lD‡ÒW7BßÑ©œˆX2G‹oÔ=»M "Îþ…/ibû©;Öçe¼×µHk—X­Ù¤¿®f Ú#M $õv…}O@:g"¶Ìàb. `´ý¨©ß$çt‡ªGÖðóO¿ÜD ÓÓGÇrÕ{áðÌŠ!`§NG8=tzŸ+ð\¨¸PG.$AõÕµâߎ×GƱc†·_ À.©2òÄ>èäíIôN y “[°Ð/€ðçó2„ 4_à2-®û¡¡_G\¸€_ÂîË´:¨>æïWºeÞx2•ÐvþGbx5]:Æ žâQ4ÎOÍû ŒÇ1 Òä©-½3-Àkíêø‰0¿ëqu§E5rDãé›aéMeÛ¥OS[Ì€3h…k\b÷¹®+6fóöX*ËÍ‘ïᘩ—Àò:Ø_c<%mOWK<=ûå¡VR,Vœâ8æ´E½úsÒjºL]{;EÇ7ýýà-'Tèn˜WÊ#öÏ 1\$k+¶ƒÀ–\F­Âú.-É͘+)÷<.àÌ}+ɬ£¥V<` GdÎÀ¿µ C Á¦¢6DåÌÅ#OÿTš£§ä0´kדÝ:*Xå×EUàë­÷ºèŸÛOé_kG''É J,êV›ÏÅŽ®5[Äâbîݯ± (É×.¥å}M:™]M•b“LÃcí|ª2Ì|”Ζ_òep ÿôë;Uf?W›å³yXâx.?¥§žPgãS¡GÖfôÌÈZVÐnšŒ÷oþƼ¡2† õ#«Œ}À™¿5/¨Þë¥x)&_¢‚ß÷’s|Îhè6®|ÉŠÕòYa××¹tÑ=…°û+ÞvîÀœýw{#_ý²ÃÍü››‘µŸçͧÑ3¹z;{Úņ‘3»`ÒcŸ3ä½® sEŸžÛÏ÷±UËLígëSeî®ãÅ-=ñÁ6i<¼üV›ž1÷ÂzâU³5™4–hjò˜cwѺo¤>øóG GÞZ®ËšRw>”ÒE¼ÀŸ§y]ëéÝQšËreŽKÿA{Êfâï¬ÇìyáGCL³b{+ÆÞg—sŸ£Ha%ñF©#jh0DÀwHê¾ñè>ȘUpûÔ\Ò©»;²©e—Q€îôvž–øÊÕµyz¨Ÿ•ø"/ ÔXo¸ÛE@œ+fƒ,…Q©•±ÎÔ1óA\HÕº}Ç £6ϸÎÕìÃ(d?%i©ãÇ0¹É-¦W÷|¶ƒ¨(PØ1ó÷ˇé´Å >3$ÆöªêœÇnkWEœMÄ3-‰àjä?Í@0dÿ7‹;r(ȸ¯…ìŠu¼õs2 ]ûÊÞ©¾¼N°Ç¨Ý(±ƒ–Šs·áh"ÆjÏãiIŠwfÃqåxÍsB½T å“À&&Ëéx¼pÂ’Çô7SÑ{lJ0Õ ¢8ÑÞÚ2)Ðßg ×˜dõ«Å3z† ÏG¡sâÀ¶Ññ»n íÄŒQŠÈÊ,å9°†©çN±O›WilLÏ×7/ÀüÅì:¥ÞŠ™Ã3M’…ŸÆ;3ßåÁ=% X­ÈÆÒ00Bk‘ׯ {µ`Ñ¢§†'PW‹Ésõ{± 䠲ǞEµØî Rl[¸ò£o†Uç¼@}¼³c΀u‹Û‰¿ïª…÷eøà–¥5 ‚/%6‚:8U¦r´„(5pš-؉ZØ:ÏÖ™ÒD°’¯»;ᓟ{:½ò¿ö›žÓ€jQÍ„´*š|M¹ô¸2è(„E‘zbæ¶{ÕȹtÛ·-39lP—<ÜüD€<¤ŽF$ÀX<&ù¡ÂkÔ¼‡¸Õi·ĸ# Ê2=Q™*BIû›Ç.µ&¼:K„À<á“l¯°xgåêƒQœÉXÅq5‚iyFÀ¹OÀd¾Ó{á:=p àn=b¡ Úã$õh¸õgÇô8'ÅÎëÚ¼¡5”^ —;k†–rÖÂ| ¡Ú¿©³άÚãzXî’˜Ô¬×Q®9Gô ÁšÈ¬êk;“ž­q§¬Ê3«™ÌQÚ ñɪD¦n³}Ç5 ‡ z‚øâGÈôø‰@h òN$=/³ëÿ¦°(n„äW„t†ùÃMú&²)àe$›Z3nÅü¬G@ª?C”“2ŒOV¿c±&õv½R£ÂPÚƒ ÖrŠÈ=-+{ý]°Õu`já&zÒ…±¿Â°6tUἜ‰žÞò\Uõ‹­“<—CL|¹­ )rè\y}lr¢;Ô´àŽ7éxÑFQÙÏ~M¥Õ÷ULåd<ГTèâQÇÚùz š O0NhθškÉ·ËàgöhÑ·%ࢰ›±2ØžSŽs­ãÆ­ÈjÉïp'ôŒï¥>^aQ¼é¼OÑ$í¢1G'‘Ó;£̓pôgœÎ™ÑU,¼¾Ã8¥•U'è óèàïz®ìµÝÏ©‰ìõÇ4ö[´=#E·‘(9å8+z= æÊ!úŒyG¡Ï§š:Ïïx´ÓÃHx×NmQ—Úe8O´G•®uƒsí³PÀˆ-Kÿ–ì h×ï•æÄÊ⊯WWô€…Æ-ô}’H|4¢Ã–ZdÏa—¼?éPN•}A¶¦ r»%ÄFU¦ŒO¼¼|—¼p³Öù¥#axñ+¿ÃX_wÀTéY8 lè¾2äo°kì¤/uH®ó+‚ÂÔ‚>`®)¿í ûðiÏÆ ¦Øýºi`è‘ÁÊ{e~îñ\‹9À®::•²ß# Ô9x?µ7E”óí#¦t"¶óÅüa–[(#¨b%sJÑø×4œô5†çŸDò%òÍYÆWÑ#H‚”q°ftT9)ÉoŸì<1å wÞÔ†÷€©º4—hñD̲~ü‰1-úg;{¾ý ‚èÌÄ…¢-CÌ$v§ûy/Dq¿87ø<ùŒ×–¯å“ê@²æ´û!ü…—G7>§«ÿ C/*É¿IJ¿ÂÖ€ö.YOµi”cŸ[È @wnÓߨÝ`où^Šàºæ0ß°¬–S‰JF†I­Í cäÌD?ª‘—ÔØ»áÆ=J½[-`¨‰žZàXèg'»ncofMAõìvýZEÓ¼5Η#ê#š—‚òýÜó ¢[±7:ÍçïÿÙZ»Õ@2Rwave/data/A0.rda0000644000176200001440000000377012377701075013217 0ustar liggesusers‹í—iTTGLj+.A4F ƒ$.ˆ z"‰^„(5ˆ ê(îET\À b„ £Apm0:›¨0:mÓn¨ÑnÇàtœWõªçÈñŒšùØ÷C¿î×õªnýî­ÿ½o”§_ïÆ~­¬¬¬­l¬¥Oé«­ôŪž•­U#vpOé³™t×Êb³˜Å,f1‹ýÿŒt%#>ù¹o:™î~í9ûcº÷è¹ã‹èòò¢6ϾJYÿ$ûwN 4÷tïsãÒ¡ËþìÇ"c1ôw»;ö*~4}ýÌ8hèFÑס>·u‡‘!(>Ðéôö=Èý"Ça…a(vJ£¾ß?k\+›¶ AŸŒ®=ÇôžJ»šx¹„܉ãîëG*ï˜V_&øSº´xëû "MæÿKÒb·ŽúáSdo¨8öpüAdó‰ÈØb‡tŸß";…dyˆ÷»úþÌnDhðÓ_'#4h‰ô¤/f‰y†Èë*û*ü!íÝ•ËþÎ΢uÒ"ýÞu§…ê.“Û5”iÃKÿñ Kż+®ø×„um¸ÍzIg/,9´èNþìd:º.íµñ ¦‹}é¤MÔô=™tñºÍ½EƆ½\n/+£ÊÇ3Ÿo¨PQÎQî8J¥IïùºHèÛ& ùé *®Çnº2i²°vP¯Úô"Þy1 vmb‘»ñŒmx ûRؽ¿ÏA¸»í y”ÿø|yë¨n„ÌŸ×^w!Õd>2”¯žv8‹¥ ÖÛ½iãó/†}sÙ w_n< Ùl÷¶wμ÷ZŒdæ¥Ï]Ä7RÿÉŒ ˆN»æ+MÐ Ÿ÷Ï7ðW¸zݯÿÝQÕÙWsêfm7LEAÂOÁËÌ5,‹Z®p5ÇÝÌuÆ ƒ”I¡ô«6:+È.ŸL|{ÖdlÛïêoí‡ý²ó¦5ŒJå8B·Lóü÷Ã^Ðps›¦ûTÈ~B#âªN8{5bÐQìï×bÚäfÔTD{B‚Ö9çfo„Ïa‰¼£–k‘Q]Óê!•%|+R- pšÓ¨Œ2Õ•c¼€“B›²EÞ+ùʆkâü„ñ{×rY³Ñ‚gØîi+–`–ð³W9u¹î¨\òè¹ÓÛs»ê©Ö©„L(]›µm³… }Óý–(§ÜN¥®¡”QkÝü¿ý‘U~ z1OÇî M]^Üí«Pï?r»ùÓ`0¼GÖ€ËÇÞ($мþ*\w4;©ODØ™ÇV&—”ÁÒóæ¼IkÓõ=O6«Ëu9Kì#Háií†x9ÿ^Ÿ«Ì‹bå¸Óºã,1+\'­ÄÐÕêÍÏ+\…¾¼Š«öiðŸl"“Ð7#—Sk2ŒÙΊr_ôzko”6½÷QL•-tS¯K  ½Ë{Òì¡eÇpQ4«>rn²Ìj9ÿP Ÿä^ùZRäsHã"ÄþÅþ(A†ž ‰‡oìï¤âòÒŸ2²ƒ©ø›*’Ï“ÕÈPÝÑѵ–ëºñÞÕ÷AŠ=/ˆ×VG=;æŒ.º©pxS®ÁÂÏ׿ú€ b-WþfdJ>W°Ö>Œ<Ì É°øËdÊúYrÛpàÛ]B7ºˆ),ôLÖnƒÖ 41U6RªBÍÜëõ&÷KÉSo WœÏ$é°µÏjˆ.g—ï9TËuЈÔôÂ1µ\1 +)“Ë‘+扼Keå"r}-WqMßÂý)ÙÆ‚ÁªDUÙlĈ<ýŸ\ù²Ãk¹ ¿Ì\'Šõߘk+VÐæi3Ûð^2N︡‘õ2la…låÿ8µå i(a4š4‡NÔw=wÛ Z>¼4ÛY¡¸–¬Ò„(`ÕËw#òD%–J;߈¡— W{~ƒ°i«”)×HÅÊWçý”9ï«Bó1GpKåáôTòTá*êcЬ_HhÁ„>Sáj®ß³…>¼ÌÕ̱WáçÛr­ØýޝË{§È$yÛ¤ROF¾¹dõ¦² EÉnv`û@'ê°^ê²Ê.샖Ëüdhĸb&õ£°%ODä‰ýÊÇÛòz Wq,5Ž.¥¿R¸ªÎ¶PwñGŠX'jz1bÿ+…>¾’«ÐÓ:\ź„…È}Âks-ç £‘Lr="ãV¾ðL‡ùq[ŠÞ „Α2èOí8FšÓLž ØkQøeíCzlf™‰<޵ŮNlÀh¬mRy¥týùZ®ëÏ/ô¨YM`Ýmð:Þœ½pŒ£}NoLü­Òç¤Êþ"[ÄÕÜÇ*\GOÉœqê hö£ëK×—Æ¿<Ï«®–7l‹YÌb³˜Å,f1‹½¥ýç¿‹Ö%è1 Rwave/data/W_tilda.5.rda0000644000176200001440000000357612377701075014511 0ustar liggesusers‹íkLW€—‡R 1"Öª´Õh+¦¤Mê-•¤ƒ¯Vð+¾AÛ <’jQ«B@¶A 1jª6*JƒÆ¢qÎZ«F±¥ÒÄJ|Ô¢¢‚[ÁG $sΘ½f²@AY=ç‡+;3÷žsîvÌ70ß_‹Åâiñòlü׫ñGïÆ,o‹O#}&NKš7æôÐ÷_ø[,ˆÛߑ՟#3qŸ=*³ä .IÉz\¶=Wg×.ëW«g¥Žï¹?3óräíÂìi;bŽÁœÈâ™ù éhà_Ñ;m‡– ÕbÑVwu_Üu´]·m ŒC[úí½7gĜҴxGüV\W˜vÔY#’¬†ÀŒ„²ö-ÃÕkºüXþn®ÜßÉ«Ú@\Þ8³¸ÿ\zsGéœáËñëð+·Þˆ„É7~9¿~m<.ôȈ8<¼ø¥ðlX‡³kzÍßs~NÏß¹`caNJùUòŸ8~l×¼OS?ÆQÉ;£|ŽÅˆ©»Ê<àG¡CïV¯÷ÂðygÏvžŒaùËóo®MÁ÷z q|Y‰£Ï&Í/ÂþQ_Œ3ûfNAGj8¾uê§^6Ã>£O=œ÷{NkvƒÞôªí°j1†Ô,ŠNÿý~˜÷AÁ(ô^øÍ¯—ŠVj,J ¸6A»Ñ%wÉ£¾Û,ÖŠ“µ[TeY«ôóX«/Ì >5ÛZs¹,÷ôn°Þ£ßWêÇ[Ëé<úÿk×ꬹ:·ZsèDËp¼Z`íƒ;¼ãy§¸;—d„ »ô÷càlÿ±¥“vc×¥U#+ƒ¦b·§?l({»ëçÅ`ÊsKø·ßŸŠÆãfõÛÖÁ`ð‘àúÔlÂî÷‹ý6%¤`ЉßeûmÆn &/©Á®?û¼p/oGú_ô Â.ú|ÐÿÎÅœèOЗŽçñyèy4òCóÕ(/Fž.Q~8O4_ëc}\Ö†ä€ÑŸõœž±›ÿ8ù¸¼ôëC}žÐQ¯tÒóôy?Kú=¿Ÿ§:‚§^ qóu­O¢^jùËZ§÷õ¾~ýgêÇõ>çÑh¾õ×Y£ëh4­~î– Ÿj9Fýi|Hù@7R^¸/Ñ›ú†æiÔ¥¹äã™|^¾_׋úÇÃãó >áqÓ<4Ê/ÏO£<óæ¾á|ÔRÞ8OT#Ü_wé¼·è<•ÎëS»¢ûШ ¯¿ßèüTG£~vz] ô/½¶ÚÒqÜéüË׿A^­M³ë©ãbªãçy©Tç¯äÉXÎy4òjWòÍä:p]˜\¯re}1¹¾\o&ï«Lî &÷ “ûˆÉëV%÷“ûQ%÷«Jº/˜’û½©t8ß?^67*]åÙŒfu3£Yýͨö+šõ¡Õ>n*ÕõÐTªëª¥T×kkQÝ„îÁ¶ê‡–²µú¼µØÒõú¼ØÒ}H(|‘lïëêEÝŸŸÛÛ¾ïîWT8Ón©~®sªŸOÝêçïW…üýƒðÿQý^GøjÓnòýŸP(¶ „B¡P( Û– 7 ãù˜B¡P( …mE»P(¶1Ížƒ/|5©z„-£™‡âe§™—Ã]ÙVþ’¶&{|Ú;é9¾ížô\ävOzδ۽S/ é9ëB¡[Ð]ÖU{Û·ÚÛ¾ï.÷Qáóù»âEߟ[ºU)MW$X“ɾ˦’}§M%{Q›Köq¶”ì}ÙØÜ<¸Ê³YÝÌê¯öYºº¯ºº¨û>rå½4ó\6Ñk©ú-›íµTý–fžK3ߥ™÷²­ý%®üfÏ÷wåMU¿GS¿Q?Ÿs½Õý–ûHÝ·¸_ÕuO^YÃïKÞYÃ?Ìþ_òÔ>bòز/ÈskxŠÙ'L^\Ã[̾aòèbÃg¬{w›MÃgLçåëðuy<<>7ÍØÏ›óÁyâüñºå¼s]¨~Æz8§x|*4û8ÙïËþ_ÊïSÏ1ù„Ù7løŒÉÛM^g$Ïó³¤ßóûùxöS> 1û‡Ù7Zå¼.Œþ­Pö;ê#¯\òby²¼Ù@m ¯6gÈ» äáòryºŸR÷xy½<ß@Þo 8Èä 7ÆÇõw(û*ïcåŠ7Œë§zQ«œ½»Fž¸O8?Ü—äQòªyÖ¼ë@v /;§ÈÛäqòºyÞ¼ï@x /<'Èä‘òÊyæ¼ó@z /=§È[ä±òÚyî!#aLAÍâBÈ‘dÝ0ì¬+L ;ꀜҴxGüV°¥ßÞ{sÆA°]·m Œ[Ý–œA¯íвc¡Z,ØøGô€œÈâ™ù é2mGÌñ#˜—û o¬ž•:¾çþHXœ]»¬_=,IÉz\¶=÷Ù£2KÎ4¦¼þ?Ùîš8€Rwave/data/YN.rda0000644000176200001440000000660412377701075013304 0ustar liggesusers‹EWy\M]n’”J¥AƒJ¡Ä«Ð ò4šS}"E!IQIE •™F„’×PIB¯)”ÈÔmºçÞsï­{n"¡$iÎ|‡ÝÎsÖ>{í½öZûYkåö>s¤}¤EDDÄDÄÅè§8ý*A¿ˆˆŠHˆŒû5¾Ò•~ÊÑý` Šîˆò/}g¹XOEMd0i`|~«Ïå´ó#ëP#p®t”Bí¢‰²éëPóóó|©5ލnÞ9?Q µ>e+KÅ,Q§w(RÂpê®›”,ï{‚zÏa‘“#·ÁTIMÙÕ”bb*ÿ‡Ù0ÓÞXöi(ƒi¬²Ôº%õíÎÒ¨‹˜i§fÞÜÌ»ëÀ4‘l!µÌý%kg‚È(0Ws±Wî ÏÏh}5£ó Ÿ§åsÙ'@„l`n,y"°qahÄ~•Ù*[DAhN%¢t-AxÌù²“Ø â`Ö‡“&³Al|;±­+„ùÐCÅÉïATÔß=˜Õ"á`ކ×$7+«‘¦ëH~±5¢ U*ÌuŠýLÇÿãžõ~_†úô”9~ŽþB;þâ²Â,«Ü l5%l“_ƒùïíOÇÌh¿˜IäÖ˜T‚©èGœ¸n¦£_¯^îfÒ§ï T÷¡þbo+œßV`—¿dõ}•” i˜o²7Ïè¡ý‘s4S‡¬÷»­±gÀï]ÊÚß·O_YKŸkrãy91ŠFq×꤄ò‘’\@èzš5ßóÚéY®½^Ìž>jϪGí&è`Œ«ÈÏüÞzÄî¤pŸ?z£hšxªv¢5=¾žæúB”ðºÌ£a3Cèók¦ý¬+B­þ±±õ¨¶øª"Ò‡ê^¹¼ÛÆLÔ¤vž\–ŒÚÉ ¨.šïP †ÄO;›\cTy™•~-1AUrÒW«{Qu¨ÕθÁ ùâÞÎ^I0´o~ û\FÔД–«>`¼r6ò(DM¸Ö9óǨfÇŽ=³ÕÁýw´ßLÃAòŒKÿ0þăq埅žaÀp»ú~WÌwTZ4‡½E•+ïÇe³`зz¨• †òÇÊìžQ¬–X¯È”? ÆÓa­>c90úÓÖÎëã¶ÎØ—öJ`,0<ïë0öEfÈÓò¹ÎÓ=×þcÃyûƒÏeÁé¶xsŽÖ÷÷å*v‚aÊ^öÖí_T ŒùÖ‰*ïŽ.ñ«¨* ®Œ¼ÆÔw¡¼Ên0Œ“¼GOc^~½iÒèºÕw·†EOÕÅšÁ¹õëò*Q;;àÓª–zÔlëSiðBÔFè³áQ¬½Ñr뿹Šy“Q»ÎFõ‹½#jߦŽhAÝÌR‹SPË•»_üÞuÅNÓ*¦£~ÄŒ­¯D^j„n‘͇ñÆ©OA¬I_+?Ï,Ëý²5grA\”½s¾] Ĭ Sún † 'mòËQ,%³q!-ÿÚuŽ:X‹_§ê†g‚e8ïêõAĽÝí]›“@èpÏ&K ×ù«÷W6Øï=ÉÌ[‡Æœ½¢É[dü :ØÄ_P”Óaàÿ„ºMÛ¥paûB³Û§ª¶íâ¢omŽ=ô=·6xûýÍ·è5ׄß'-a^Ñ¡ò\yJ~¿pÜý€è„ó ïQU8N˲’±Æ,¡:ÎDÔ°–æyòCk[yÚ¾ý»¥/¨ÊÌÆöõbRjô~¢÷¢¦T”í‹a…¿ˆgâ{ÖƒmR¦ xG7ÍÞBû?æÑÜ:}¶Ù,P1XCé`ø7’uíXôåñ°«kÀ;Qñø °H‡£léo`ß2HW{| äÊñÒ„U6H¿Úu=6:`7uïÖ«)oÔù‰“ ÒeÚ7Ôžéø¼îºcÈcvŽ¢Elâ–KôŠDÀ™•çUúð+8§­<—ä•€óˆ7`ÿ@Üêát5pÓÛœ#X÷DkHˆTbRš8¯dmL¦”Ž"÷(‰‡×ƒ§7Ëè?ÓHð4}¦úНOi¡æûGÇÁåžÖ7à˜‚ûÄYýð³Çය=ŸÐý¼üËÛ¹[ç‚·A.&c,¼KzŒW‚§® gÕ{¼±œ×YÉBý¶–a©oqàÞm\&ÊJOµZW§å xÊIÚâ¬Åà¾hvOdz‚Û1kvkß*pû\BT&»»e5çÓÌ pý­.|)ïE²·ÉHî|8Jõ^&Ô‚ã½ïÔ*.8"ß/'†‚tŽàIš€+{ôÆ.é.p¼êî^[‘’o{R‰9ì¾T¥{,8r?O©4p*–î®É°'¯Õs¨žÎшŒŽåÝ »\§qöhƒÌÊUá5©ƒÌq)YÔ28mür- äÖs5ãÅÂ@&3Çο1lê¸éÕÃæ`“Û®—èå™Bì…)Ô”!°ï¼ÿnnvZYœCO¼C.\l ö\?ý\ûo£ÈŠ4ü0öÄ Xjü¤ãÛAp{,Ê^uƒèó®Kïºâ~˜Ù‚© NÊü²Dº&ý%¬“é« º°$»Œ«/‚Ï =f Ñ3g æˆS5¿x?9¹;ñá 2O:®|Ö„’‘³hž3Šnhf4ƒ¨O¯ê¨øAó¡´&E*,ã_™b º·á«ˆDï¦å4Z˜]žs®Oìgî¾_ÂYtírwºîOkjÍv ëí–¬cn¯Ðý‚ÕÝžmtžZ«$·„•áÿ,ÏÑümS»Ñ–œÌ:ét°wïtô9ï’sœä´()ùSßÀ±ø(®vo8NIGÔiÿ_ÿµu¿ H¶•›rœÐ12q+ÀqiÐÛøVÝ mƒýà„‹Øi4Ó÷åC°œ¤'Í£³í7oêx‚ãwâ¥s4Kˆ‡ìZDÖÆ‚³´Iáí?ŠàÈÿn¸èû`³.†æ¥ÚÓ[Ÿn‚ŒÁz°Läj¥²’;@*Œiyì²ssý¾¹% O†O KuiÒm5ÑoÈ%’®õgf‚ÜòìF,ßäÆç¥wNx‚ø–•ïöÍÃ;mÞ q¡Û‚‚íßÁþUż—€­–U²¬·á¬7ÁÞ×.ó)j:ÆL½¨nˆ‡8_êuüæžšÐ(=œò®Y…¾ÑîTÙÉ9ÿy õ6Ûk”>1‚`éý¤þÎþ±ÞgäBÇ«OÚÕ<;ö/Òÿé#ÿœgºŒÑRwave/data/W_tilda.3.txt.gz0000644000176200001440000000153612377701075015171 0ustar liggesusers‹íÝÛrâ0 àû¾ËîèäCÞÿÅ–Á–ÌÄnº(ýノc!KvÚ‹Ð_bËR>þÐ¥4§Î²b57åDÜF“òv–¨%msµœEE¨Í%cnñN7jmbIýeM]ªÜ%Ù¥Ö£œ>¹G¦äQ(IöQñxR´‹)}œA¦ l[ƒœÒìè÷p®Ôo&ñÄNŸã!ÅÓáÉ’¹¸†rŒŽ~[Ä#ŸA‘6鿢ž.qõ•PGò+ů¿RÅÁ>Tö7g‡W„´Že÷õBxOÏ uqHb ꋦXàiëDi*'%]ˆcî6G1 Eå<8¯=꥛_óy_Æñ¦_ ¥P ÕÐæâˆÂ±u9âqÄãˆÇ9‘¹j;-‹Èi‘ÁÈ+JÕØŸÝ—|4Ê+ÍÞñJ‹wC¼‡êqÔã˜Ç1c1ä³’L:ÁÛ›hšîCê»Cd~s/) Jî—Íq,8{šÛD¢d<Šb‘_ï½xÆ&½1IzZI{Z–ûÔwƒäÕžhÖ%µ8¢}º1·+¥¯œµ´S/jm£hÒÖrË©=¬X=§¡9ÕíãrFÚ“Rwave/data/click.asc.txt.gz0000644000176200001440000001302712377701075015275 0ustar liggesusers‹­Ý[zã¸à÷Ù‹ç“lù¶ÿ%éXEñ‡E÷œyrs‹"A\ ð4ý;/Óu:?/ÿLÿNóyz,ÏÛ¼~žo—ç2-_ÃçÛúé9?¦?ÿUcóó:?þdz>—Çý2-Ï?ÿ=¾/·ižîËÜ ®Ï¿<¦Çíëót{^ן¼ß·oœ¾†Ïyž/ç×Óîß×ó<-Ësn¿Üú‡×ÑÛ´œ—Çn’÷ó¼\®×vp]—û2Ïí£nËå2OùÕut^×`~\¯ßßxη{û„S=›ÇùÒ-Y?øõóã¹ÎèÙ.Ók#×Ïçé2ý~~íä×_.—õÏ»-ð:<Ÿ×Û´[‡ËúŒûm¾í–|š¯óå¶½Þ—U ºïÞŸ·Ë#¿ûõ>÷ç²®åíwÏ_ƒõkçÝz„°Î«|­+ø-ŒóúÍîãú£×Ûõ8®?5-Çy'm×uó×õÙ‹U÷æÅ–½–~ú÷2ßÎ¥=$—å~½,‡iÝ‘ï×óÃw‚6O—ËóòGèòDy—ùgaæëmþ]®XÚß_«dãü˜Ÿ½—ûc:ßÏÍàªMçý²­/v{ìŽØë}Gæ·ŠÛ|þÙØî€ƒ«9¯/óõN«&¹ýÑSù¨û|¿v¢•£ÛS¯—ëã±âBK½tj÷u[W½=Æ´Ý|]eò<ÏÍÁOTÓÓˆE¡¤ç½Ð†¤Ô£½+hÝŒiÞ  I¯…*MY-q/¬_£÷õžý{Q1÷³­×ËSëáÄ÷=z½_oT›õw—ûú›±ì7ý[™|=þç ½Ô”†¯ØÔnŽ4 •ý£5~^¯yªõÇvP½´L:ý=ß+w]ÕÕ^®¨ù½9¡Á«÷ӋݯÁÞ po!µÑÌ­p±!v ¨š7%lKn7êw›×«Å½]ú5xÜ[ë{’I>5²ÃW‘}^÷äÙÁÞ‡;°j€ÕÙ˜—Ûökâ¾Ü¶ÇuºtS¾­«³¹å~¾vß\Wû²Ün»Áç:ÏnPߤŸ¿Mÿº¬/×üÍú;·{7¶ž®Ý‹ š®«kz½ï4Õr¾ö_íŸS¾D·„_ý½Ýb®^%i?á~-JÅÁM[w§>Æ&ëÐãWú±6?/¥i>?NL„zob)ïÞ}k;‘×ÙÞC«>ÈyYUñÏúôR¤mb×B{ÒzŸ/«ìý™_ï¦ó€8^h£çˆH24¼¬rÛ‡2øŒ¯ÏçÛòý~p'íòÊmךG”äØ)ýîøîï„Ú9;x²ZÓ ÇÃ^»a"ÍÓ+ÅÊ©£m >éµÞ©=³¡ ¡GVÇ¡“"•9I?ÌŽ¸]ÓÞý?UƧpM©˜ +œ.ýºþ•«ôÁKæ! $q‡)ˆGáb‹-0ôåj¼à°=“ç…NRÀpŽ•ÿFµŽE`I¥÷ †wHQŽã]«€´,]Ø—6©4«mØæ,rÄ)ÑB¸{/¿È4‹ã‰0$בγ-¯q œXšÛP ÍúƒÕb#[e-Áo,Rœ€YAi &³ÒÞ+‹S òñþô¥ã剳›oÚØê<ë!ã[”¦5;.Ó –•‡Qü._¼X$Ã$Å>˜ñ ˯Õ¢À›%6jG]I€’Î)´Ûí£áf>©Èx 0¢>ºI~ÚGh Á8"<„hË‚Äÿ¯² ¾,V›@ì§XÅ=™oØ c[ƒ²M¬ö¤îôNN‘ª"E;C±,s@á¹…'ñ»•SÍ`È“9¡µûšþ}Î}˜·îÏetÊÃCªΪ×飉BËsCï£*ïW­d$á ƒÌÔ6±ÿ„ázñ:5`b&sx´Ù·.aP‘Ç«Aˆ”¯•žÃ¦ –yêDm¯2º‰@Ù€9‘®üæä0k/0L„Oýmá†Z£*º E¾ù\}ºÿT¡DÖîÓ|_§ðX.¿£ÏšuÂS™Úà]üêŸÔ"štœkE¨åÀ¾Mœ¸>§ê8žv9 ÓFŽHK9+« ¥’—Î("/fЙö¼Mrl+Ú'ñÓ²~©¢¶Q2 : ±\(žú5ä¢esäíðp.>ƒrøø*â›í6Ë¡Y| +=CÎ ó o¥_ùoPxf±r«r}ÞïoCØnEk`ÅÄÜDFÆu¬%q˜?I Oš|1»­0àVÁ'>¬†c^ÛT) ®Qª‚eHÍjˈ‘]aC•~%$øæg=’)èC`f@º"$ Ð _Žâ—³4ŽÈ(™ÐÎy%æ™,³8Ð µF*„½xŠÝ,½}¾ÔðL­‘ô¨üa‚Ò‘Çe}è®6ù ú4á‚j[âibE1¶¾ÞzFp—D)Òr3¾aNÂ><º?mõ°Rûîš_ÿCŒuÃù ƒ0i_ ÷ÇÛü'rT ÙÜ cGA#y „ `u²ª©“fO0¯òûÒ˯ŒÈªQzºßÕ(ÈlÁ]¥ŽËU抸Þ5`ZBºá—F~Kq£4@moR¹·fx èÔ`–má$3vm†Ó]’,Ñ3Ò*ŸÊÆE¸/‹’ùrýŠÃí/{µÿ’R[±ZMÐÜr•Î*˜µ“O”H¼–<šQwCÛŸÆ5gbÑIv0¨¿À¡UÙwüòžð{¶GÄGÆ‹ãÀ(ôw«ëL ©˜õ ‰…DKÀ¢Ë¶\$Ö[/r•·DMðŸˆ: _]´ò޸ج½bî:!6¢Ù\p1¢p–Ó<åw™ fMe6Xu·T1TYõý"¸4+XÔÞ5ux©I©%Æ6¡¡ê —Ôúܹ§ã³o ëp¶¹Ñ ž- n@•XD‚„”VÑNkÿy!Ò,Í-L©IèJº1wÈ8øƒj¿¬«ŠðY؃ü)º{!, ­Fëö5Ø KއóG(¨YYùEÚ¡ûp…6æLjÏ ³ÚĸÐì·ÒoVÒHFØ\C9G„DWNѰ‹Ìð.jX©ÄC×T`ŽŸ„¦_–"D7Æ`ÍÏxוæÂò\Ä+}¼”×2—Ðç5ÍÍ2‘Ä?£”v´“\ƒ÷j ›õø¬²ô–IvÔÈæ7!Ó{Ã[›þ…çeÎF#ÚkÌFM׃!ªm‚Ìómlá¢ÀqÐN֪ο`˜7“}ä›Òa¥<š—1`çÞN ]\›ÑQSN%ŒË»`®a™fZTpšî9ƒ"´l,Ý!Õµ ·?tEéË,¶},êÂ<¯C«“>oY`mRX[W+ž'= ‘–¤¸%±Ã0‘v|ßÁà[VXík;‹q“½™æ¤`+d"„^)“ha…šæ©dKü Š€ }/uoñ.ù£>ã¤( ‚#ÕX´‚] ä–1|®EÎ/bÆpOT¼£w-BS²hg#}§øQ­‚Wè híEçÑ p!k"ÅÕP“0ý¸9¬Î¥Šåæ0| „òXÉ –TQäIöšØqg¢‘¯Hì®qÈ·´˜­;­]f>ˆ¦2p·#X4Cd¿"smšú “©Q/›8$h8a¾®¾õ拳,ù€N½øöTVÚ®O'œŠ¤GTØHô©1&×l‹sÒ·µV”*˜ÒSôR.¹ŠÉ™éBÚ–ÚA ·<-~v׫‚Áƒâo¯1Õp‡§WÛpAº4báÒ¨j@H¿UAKC§ßæðAgÜf™ˆKÄïr“ˆ|T¹H7AÛH˜)þ£r¼À^£;c–F­Òâj½Å(ÅÎìk´ƒ¹!Á2`Œr@Rhü®.¥ðUµ4%§‹ù_)鮇X‹JŠŠÄ-2.Zú»YrS®ÎJ)×ô°æ&uv¢&†è~‰bB5GÈjU-Í*ÄCð“þ¶Ø’Í%^ÆþXD˜²T`¯ÄRiPúc ñ©4HKH L<ÉH˜¹ ‰S«ä"逤© Úàà5Ñm·‰t·Çyæ Ø4hwb˜Þ¥°Ümv‡“ÕM¨à^!/-;ÊÄd™`¦\ú­¼OZŸJ¿HÚÙ§a!º¨êA+ä÷w îNäCØ9h+ÛŒíâmzc—þ}ë0•t“òÄA=ÝËKøkðÖ¿ŸŽ#Ý +U¯ä„®³ #BüJµxò<”ÌA%—Ž—d?CN‹t¶lDê÷æ”D‘ü-ºKn|°Zq…WÑ5W>tQ¢«ŠŒ&ÆoeT.Ý„åŒq˜t 7­¨áa!wî$¦¡a; Sq¯ÒóqFSS±ýA0ùÉ ‡qq\ûPÛV{3AÌѽ¹›+ÌYØ—u*±†yf„ˆäYÏöšì•´ ”ÍD±rÖLœ»°a"†“î ™ö=·¤Ùž£F>ª!Š#ä€9÷©€r}*x”»&É¡b#6ÆNNÕÅh®¿†ñ£6[Vöôšf¬Á‹J uÕ—B_@™ßä&p¬Lyù¤ñýaòÖ–†§’‰p㱉ñ¸æZêÐðg^*êsHòy…¶çä å%Gë`šÆc]°ùÉ=í~Ïœ+þ‚ɘsdv…z×´QCoâ[Gö; ‚ÚÔ´JU6á°:<9R Gb€ħԬJ¤¦åI4ñFŒ¬ÌqÚD°*@leb,‚BOsqšPFA{š<Ózn2d2ÁßMÆQ•IÌ}2eyóË$kÞÊ!§sÏ8y+}>úÒ&м•~(õY ÞJðQöÙ?!Þžoàãzñ–ÃxxyIÀÃbt¤ù<Êý±è} 5ŸÇ˜Ÿ1™áèQq"žH&Óš&“ž'K¢LLÕŸ4ÑDq"žH–Jå¥ÊRõBµë'ÏâÏÕw29Õ¥3¸Öz•¬µ^kÍÖó¥Zf;ïß5ÛÓÿ®ÙiqÍΦ»iv:BПzìš¼‘î·Cï§ÛœMÏ×mNj‚Îëùûüùzþ™ý&? â§Í«TßN³·)ï§Ù{¤OÓìýô7 ô¢š½M† gjöW‚ èšý-‚ ‚ ‚î)E€·ÄxéÀcq \ñ¢Eà®X\zùÉX\úfxÀ«DýÉh?~2è-? ÙŒ×áEÎÌ^äÙt/òèƒùƒÐsôrÒUÈW¡\…ú=´Û †Ã•»dRÓ½X?ã:\,ìK~„¸à989£üwØñWòñÃø¾ÅßG¯Ç×Îã_ßÂò?Ÿ]u³¾ŠlveÞúªÃõõ‘¯taç¥5®/f;¤þ´düóÀø¶q|ý4¼™öžϘžg?S|Þ}*}ÞÃdYùí¹‡›©}q’ß}ùE_Øìí±Ê^—½®øÖÿžx’–’I]o=zNcTÑc‰ýFç>òÒÓr²æ}ûÊôÙñYN–çdÓ”­z±êÕjUûN³énZB¶=Évål°›µÜ¬¤Z<ÅB͆4ÄÜ—ÖøéÇs^®ˆ¾^Ê$§õ4§¾{*-ÉrQ,Ðf¹°#†Ø`é¦b%MkEÛQ4;±jËl#;>RÓvªnE¢²ÇCYŸü‘’¢êÊI[Ö H,ûw²èHKÒ’Zêhû÷Õ2‘ì³E±í_&Ñ)ÉÞ;å­è …öN©HÑ’”öZ…÷—rÉq¯^÷õDRöý¿å+’vª o5Ô&MG±ôSé_ê”Rwave/data/back1.000.rda0000644000176200001440000001760612377701075014241 0ustar liggesusers‹½ÉrIr† œ9Èæ ¤'ô̓ž@§¹J:ê ½Áyë2c™1ÍXf ‹E4ˆQØ ;ªbßörÓ#è8¡–˜ŽÅWåôˆÌjõarŠìNψpÿýwpþ§?ÿãþü‡±±±‰±ßMüú¿¿ûõÿ>øõÿŒ=ûý¯Ïßÿë¿üÛ¿ÿÃßÿéOúõÇߌýíØ£ÆÃ±ÿýçÑÔƒ/OþŽ}Zÿ]êûù÷™óß7|ý·'Ç{zß-y-<›‘r5¾:~[ßaÉm&Êmòb×Õ“Sö½Þß[úú©ßŸEêKóÁןÞwgãžžœV¤ÜÔñq¾Z‘ã,«‡Íióê­g©ŸS¿±Ü,ѽïšñ÷¤â\¬žgî5"׿•ˆ·±ö”%êA¬|oþëÎ:XóÑ*‰ÿõȧ'·m<[Î:ÔŒgÝX‡¦#oÚY‡T¹ Gþt丹ީò­u¶ä6õ­iÞw´Jê]ÍùËîÚ‘ó@ûñä×"ÇoÉo:úW¯¨±ø×¬8ÿ±vï}‡ÅkêŽ6;h'ê_–ˆw±úßrðÎÓ¿ªö—gÔKÆ©~Ïãw©ñMY~û[ñ¬Ô¸®,ÏŠåÓ±¼=KŒÊÆÏ^œÖ,É_³Ä¸$UoRyZlœbá³—¨—ÄçX>Ë RãK~ö0m~³ÈuM忱¼;6ÿÑL̃eŽßiDò ©’z\6þ™ŠÄÛÔüYÙ¿÷ð65ÿP5Ï4ªç¨åľ§QÒOÆÚÝT$¤ò€æˆí 5îÍëÖJÆÙ±<Û‹3j‘r­8׋¯jÎÓÒ§V¤\Ïo=ûcø¬šWhGÆs–üzÅ|‚…³µŠy”Ø8*3⇚ÃSªúëìa9~’šåCUù{ÙýŸúˆâ…fb&U/¬} ÿ/ýkTÌ+·œ|}Õ|•Çj•Ì”Íxû^~'K´ÛTœðö!S÷]c×)5þh%žÛU|•êw«ž_)[ÒñùO¿[%÷ê‰ç¹[%õ!öojü›ºÿ\XîœcÕ:•QŸ?²ÎGeãò‚õÈókeóeYdüœ•Œÿ~«}ñVÉóˆeóÍß-{NºjqùßgG£ß£:ß\uþFoDÆ9­ŠuKÏl9q‡·¯Ë—RÏ3ÕKžŸ*'¦îµë=‰õE±çMôœÁ“ë¨÷Ž}ù§÷ݧ/Ï>y.܇Ϸ_þüÑþÝ—çüÄ—gÿÉ—çÑø—çYþû,ÿ}˜ÿÞšÆÑ{—Ëé=žü¿çþý—çaþûCþÜÈå¿ù~÷zþ¾¹œã\Î)~ïçÏí‰`>zOÿŽo;îærõÔŸ/æÏoÿΧƵ¹'ÿ^þ{u"XÇbÞ—ðý\~/Ÿ—õüÏßÖ­X‡Þx8^ë;vóßK½ë±yØËå÷óçê}ðÝ…>mN„òO´úž\î^þ»;¬§ô«§Æ¿{΃俆>h^÷0Þc®Cþ\›¾¿÷üS¨›÷¡~îä¿%ÿÖaîA¨gÒËC<¥'½'á:äö®qú°•?w +˜áÅrþ¾Ý'¡\éÃÑ“ð;¶`Ï¡’«uÐsú(\Xœõìvy‚ï’Þæó'û*ìMó¿}Ðö`’¿œ?_~ ñ™øt{^r¿ ¼ë­A¾ìRó"=xõ9ô>ž@bíqë û¤=Èbàóxø}ÿ[ŒßÃ#ÉoÐ?DÊ_ƒü×ß7ä¯þiÕXú'}ßüB®OÅúÒúð £p`ú=^ïL~­÷âS¨ßÒ¿=àÀp@ù`K¾xü‚ìP80ù]Í.ïÃ}È„Oó÷¡ü•‰P¿5îsð”CŒ¿ ¿¼üÛÇwlcüÂá5èŸÆ{ùà'Zÿ7ðÇš÷ð£-¬¿ô_þXø§y¿x2\þ&ô_ø§ñí?ùÙ>ä‹ ÿ4ŸG{56¬Ãì?_¿ÿw!÷ó¿ü}ú­ûeþûz(ûÌõU~¤Ðû]ðÒCØÁ*xaz'9÷%p@~zz·y?Â<¤÷Ò;áˆüë9çzÏuÿ9´÷ƒûPþ>ü¿üŽâŒ>ð–ó~ ¿“ó…‚k>÷0ÞCðò|} þµ {Ó¼_BÿŽÁ¿dïÂ{éó>Æ}¿ûìm‹ú>>|Þeoëàß Ô÷\þñãPߥ9>|g¸*¹zž"Éÿ»ÂϬSßîÃïÐwåßYø™uè[1îG“ÁoÆâóð¯ú†8Pú&;ïß^àyЏcúÖ…¾gõ]9Ï,ò«ˆûÎÆ |ÿ:¾Jß>À¾vÁï^|>nÆÝ§°oéù xÅ€_¿^sxï :ÀÕãmð© ø3áZ¸jñé]ÄUâóï1ߌó%WvýŒXŒWq€pQë{=Ê=B¨yîBŸOðÔº¯À?ë > ñr}»ð‹kÐç¬/õJq¯ôùd|¸Üsäe¥ÏÏÁ{å‡Oî‡Ëïÿê%Oó|‰xW¼S|[q¤ìæ ó,ÜN+ï¾|ºÎõøæQÈ÷÷‘çNÊÿœæÏ ý¾åæx^ð½ØëíXø¼„Nv°®çùóê›^0n}—øÖ2ôIóz›÷¸!¿%¾#=Ÿ¼|Ê=¿Îõ¡à—'˜ß»|œ7“a<©<‚ðbëzq>áÿ•G”ýËßÝh~sy7ð [à9òâÑXßCà…ì¶«ñÞÂŽŽ`·Ê—ô`§Zß3à…ø¬âu­×9Æ[èñx_Íagözvâdú´=ÀÅ|Ü‘mø.ñ 8%œ^>õƇã“ä#^˜C>¦¿~ ü—I±/rnÅG㡟Ҿ\~çè~8¯x\ê#ïu‰ç â`íË̓§aœ¸¤ÈûoOÀ¯Ÿ‰¿Û°ÓSŒWãT<ÒAr {¹~ƽZ÷ðH~æüqø<Éàg´nÂáŸÆ{ž¨}Õ}ØåÕã^ wv²*yÇBü½@¼'ý‘_“ý_ï|‘wãîIïãü~ô1ßÇ^ˆ»Gˆó:XÇ«û/rnòq ï…CâáâIâ»Â÷1^Ùk¾âwEœ.|•¼ëûп¬7ìïh|?Ž §ð`ø®ù”ÜKä ¿ƒ?ÜBÞüè6ø~~û&—«y>F~Lx œ½Æ|ÞÁ^4Ú]Á8¥¯W;!_ØßÞá8ÇB¿­ù>|¢÷_‚—õKàٲÛ^(ïy(ÙÉ:øIÁÿî‡ó?Å{Àõkø“ì/dV<¼ÛE~wêÁpž{ ü;†¿”¼òÌsɯ½C¿‡¼Ç¹‘ß²ò™}î›8ù¼]䕊¼øÇ²“ÇÛ¿žoÈÿý|ñ©“7Ž¿ú<<Þç¾@þq 8C~aqBq½x•üIû_ÛŒÃ`ççÈÃ+®|ÕùxÏož’Qã‘3ðå£pŸ§È_ô‘ºOÖ¼Ê Ïdw‡ˆ.1¯kØWÙ*âžÞpyâS«ÄÏoB?xŒ8 ÿ{…xGϫǥ/²sÙÕ ü’ðúümÀ?ôà&CyšíÓüBòîC~!yù¼v~„u“ÿûüÌ×¹ˆ«úˆßnÄgvÂùT^Bç:Náo’<Œ/×ã"!¼ÒüÝâùˆø=ùןA^. ¸"<¾Îýìí}8>áŒòÂ]á–xÚOðóá9‡"?|^x‹õÛ‘»Âx~‚~žb¿Eþàzr“?/C¿^äÏv‘Ï‘¼…üì¼Eù«Sê¥ÁuŽMù°Œïvžû©¿ê%x½æó óø=xý)ø‘Öëñï2âé‰x¦øøXáúÈšxòäëx"þw  ýï Ot^«õ:EþBùûF|tò”¯öàO•Ÿ¹ŽO•’~(_pÞ~™G|{|Ôz†ç Æuõ:G/þܯ»ƒ¼‚¯c\ëþãßÒ8>"¿wüx =Ôûo â›Ê«õÁÏ-{>@þPûXÒ‹ÛoBü8E¼ƒü]ýPžìy ñÇâÈ;à¾Æ­}Ù]øOÉùþT¼]ùXñHéÝÇ|\w÷!~äã/âá†ðþ—üùó£w §´OuˆùûxúµcÄå=Ä?…ò/Ÿ!>–}Iß5ŸòyÝþc½~Æ|j~s¿Pä=µŠ‡ï Šwoô¯ý9wØ’_Ênoó÷‹‡PçóÌkÜ!?ÖÎ2¿ <}¸Ÿù×¼Í#Ο yx¾®ÏÙï–¼sìW ŸpóVøÉ'a\¨<ß)pãñ“Öiy¡<ÂXˆƒMðîcÃoí#oºŒ}á`á·ÆBž1‹xb ?’ÏßòÐóôB=¸N(/¢¸LzL¿Ï<Þ”Áëï·œ‡ûŽý€¸H|æ~XübñŠ?Œ|r.±üü³ð‹ByÒ{úÅ ðÁ«ûáüLúÐ…ÿ¸¥ÿí…ú ó5ËF¼w‰ótï‘Ç>ΗŠ<ö;F{9òó:_¡¼ô5ö õûùé÷ Ï‘?’œðè<ÜØp9óØç>C^~qÖôû yiæáç|]÷Ç´>sÏdè_õûy›9xî!XÄ9º+ø;îç¶?Ï òˆ¯¡×Çð’sóLŠV¹?Žý6å•_S~õl|ø~âÅøðýŠmð× Œgyµ>ó2“¡^Ÿ#^ø;ì÷0ÎØF~kqèüÝExž¶Ø×ú¼¾Ñ+Ï´ù*âÏÉárއ߇<áãQ~i ÎíAN˜×-ò‡ðÛ׈;7°¯|È}+ħÈç¾b#<·VØç1òIwÆ>Õ,púøñ×ùìsú¬ý¾"ÿ× ãç:â–Sž³¯b|4nèó£0ÛÄù³=øQçyŽ&ðìzrøyŠcìë-8~íç¢Wè?ÁæÏÆ|AŸ/pþ§ˆ“Ëwx*ß±ƒù°ËÇŽ3>¿×|-3—½<ãð÷Я Ä?܇Ôþœö±ûÇ-ö?`¾ö`÷?"¾Æ|Yñð-xãÓÆqÀ³sÌãÅ[Ä¥§ØÓù¶+äW†>KÏužîöM*~ÛGþñqÛÏôxø%=ºËçëãã0îÝDžBë®<ê/½0N±ÖGû:[èC ÿ©ùœ ï¡èsÐ ë Š8Sr¯¯Aô\5伄á‚ò¦ZÙæmó'œ[ ë ½æxôTÞY¼B~lѳuQEqúk¼_|Pç÷µþÒçe¼wóÕÝèÏk¼_þGçéÄÇg®@Îæk6ì“Xœ£y…õx…uÑúÏb¢eqÔ’ç­SÙ{ ¬ùKÕÊ¡þY}_›‘}I­õ!˜4ä´#ýw>Ïh\ÔƒYà8íµ 9Ï 9ÄϯÎüØ·9ϱøÇL$ϱô-3îI˜‰¼Ï"ö¾‹Î8Êþ»äkïló5çȱðÚZOõÚZʋ幱öãñÐÚˆîËH½8ö¾‚ØûúFÕ×=ñ}ñeïS¬zïF£ä}dUï[«zoxÙûbï Ÿñý5íŠ}Äk‰÷W½¿:¶ßûtÅ{«GuŸ_£âý1©÷Èxÿ~sD÷ÏÆÞ§Qö^fïýmÇ>²’}ïcï¹ÉJÞâÍÙ{GËÞ‡—zÏUì}™YÅû“š‰÷ ÆÞ 3*ÿ‘zocDþ$Õ¯x¸ÐtÆ_öþﬤ=4Gt?fcDz–zïPª½z÷®x÷ÆÞ¯Ö®èï뎿÷îß+{_÷¨îËI½ç4öžª©Ä{y‰úË,;oDâ7ŽT¾a½¿ìû¦Ftû¨x~«â=âUïoN½ÿ.ö~²æoÌ›¿Ñý…ž~4#ùbj\èÙkÕ{'cï£òîÃmW¼/4öþÝiç^(ËÏx÷È6"ó×Þý«eåµJÆÍÙˆó>eïík$ú·QÝ£Wö^ÊÆÃjü3š‘¸Z6žl—¼'سÃ,ѽü§·¿S+y¯x;rž=»ŒõcíÄ8.K¼Ÿ/ö>ãQÇ©qUìý‘ž5FÏ—å7–~XûA-Ǧ#í!vŸ°i¼ÖÙ—ä>¬ÜFäxgœ}°Fäýäõ’÷n¶#ïÙÍg§úÍ–Ãß½ûŽSãü²ùÑØûâ­¼¸‡Çîó[ñ¿·ßŸUôÞ}¯eÇ=“ÈkƸcå¶y©÷ÂÆòØû|SãÖߊï”å=µÈý¬X}÷Îyç[š‰÷âÆÆ?±ç†¼ý¯™Hûk8ó@?äk6ÎUòœàþ}ø¡âœÛ·8ÿhÕkðcÙ©ŸèÂ^­ú&Ö;rX'؆°Nh˨š ít òêaY¯Êz«þ¶‡¾Ú¬'a]©Æ;ºâNxe1¬ËÝ€Ü>êÀ×± Ôå|zãEÔƒ{õº›”zêU§Îé-æ}uÏÔÖS/¼Yo˺Þwx¾EݵüÖ”Qo³aØÁ2ä7;d}q¬ü5‡f ù/Œº)«Þh çðX¶û_4ê5åŸXGkÕ;±NÈóV}²å^õ¼ôÓ™QŸºdÔ_Ñ/¶ ‡Zò„ïœz¬¦±ä +_©z@øÊÀa«îÔò‡V} êFX_ÿ½á¬zTÖqnAP7.ýÓ|[øÿòYw¹ üéáÞä5Ôƒ40n ÿ¿ø·¼îö!¿ û“Þ¿‚Ü%àÿN߉ ÈÝ…ÿÙ„ß‘¾½@_ˆ%ÜWßÁ¸…;³¸¿¾þ»÷"ü­ü%wýV4ßÒ3Í£úÎîâ¹ h~~óÝ åøÙ%ÃÏöp_È2ì›u±ï°Þï¡ß¬+žÅ¸· çÛ°oÔ±šõÒVŸË¿­õÓV}3ûix¸òÔÀ•EÈ_7êÝçÁoÙâ•§Ï1îÌðkËF|ãÕ2þµê YkõE`½ï¢‡[q°U‡Èy˜6â­5#öútXý[È/-ýÛ2úÒÐ/Ð`¸þÖð+f\{É«©÷ïÀë;a_¤×k°÷UÈí£æFÉxâ=êñÙ/‡øÚÇÓ“ûøJ?F¹ïš!·‡ûƒ¬>Jï?Û¾7Öw nƒÜmèUý^ƒ§tŒqʞ؇b r·#ã´7Àï ÿÁø¸ëð²%ð²gð[o¸Œý6ZN_‡ £ïã¡W‘<ÔêÃdåc œ ŸzkÄVÆŠÿ˜i;ýeØÿƒq×”ot ¿Øvâ +iõ…è@oXÏ8ÇêsdùEæéæ hõ?šrâM˲Ќѯ*6ÎcÞÑè“RÄ™Ôoæ9¶~6u'ÏþsâC–$N2¿ß,Ÿ5ßMØñî¹ßÅ}+àùO_,£¿â"â é÷ú,îâ>²]ðüîÿf®Ñ×Q8"}ZF<±‡g<ƒãÔú­ã|‹øM㔾ì2~ýêó¸·ï5ÖsëúÎYÏí‰á¼bËè÷ĸ<ŠùÉš7íÀ^<Þèå-¿×5ú.ý;Ä+žxlõ#™1ö…–Œ~!ÄAö{Š}(âoÛ¨7žK¬£NÝŸm¨nÏ;èk÷êpÊžW‹Ý§÷úµãú% ôUaß¡¦±»`ìÿ"Ÿ:°ÏøÂðïu#kí÷Î<õ©Ã£èOÙwrÍÉ—¶Ï2_oå3,ÿÍ<é:ðùÑï>}}„|xÎÉYûaV?×÷NœÑqö¬ý/+ÿêõ©]Ú1òa³ˆ™xÿy¸±ún¼kÙé¿Ë¼›Å·˜ÏöÖq“µÆy亭Až×ÑêÇkí×µŒýâõÈøì)ö©ß8}y§}©eç|‚Õ¯‹û/Œ :Fß.Æa¯÷ƒ2q¹eø_ö¹jGö3²úÁµŒópVßï¼£çϬófS‘ç ­:ÊVdU·3ªzï|²W§ã .Ûï)«ØçÇë'ôÌÐ_ž+›7úý²ïœÑ¿r€O´Œ}aïœÔ¤‘—yeœ²ÎGxû#`ÿß'°><Ž*ø˜µdùõï[ûNòÏ? Ï70?jõ…ß4òüK‰üèsn¨kô‡·üÞS'OÈõj;ýš»ÎþÕ cÿêù§¯ç—|`Ç9À<Ü·Æþùú‚ѧÒÚ²úKNÍÁ¥9§Ïjæà_,Îzu—ĺŸØ> Ä~Í’uyeëÚ½>U뎚‘õ‡Èø<¶ÿN£d¿­Ø¾9±õ1©u £ê»6“Ø·Îë[Ûïß:OÎ}dî|ëøöë]rîaðúõ §x߃w¯DÇ8wÅsÐ8o6pÞmÆÈ3®ãjý_FŽköAܹ/ÿómä=sŽ^´¿®zgõÍŒ­÷([wÞ¬X7\¶n¶U±¿Å¨ûVí#5•è«ö§ŠíGÒ¨X¿Ø,Ù—#«è¬~bõÈþS‘}›‹íKaÕEÅö­?KíáÅ×Ì$öS~føq«?´w_@;²/¬×ç¶íä Z_Ï$ãµµßÔ¾¿eöÓõöµ¬þñ†ÿá~Š›¿›‹ä?VÜÄþûÖùÁØû¡À ÿmÉIO;2ôæÍÊÍFÊñúí·¼*÷Q½û*,9<Ç2댧ùu9öãÅÍóÏŽíCÛ‡|Æám–œÚï¯?åXq%Çš/ Ïfå¤Ö×ÎFæs=|¶î˜‰¼wÅç+¶¯~;®¯¾ŸN—ì?žz_wŸwÁdb>?¶ß}V±ótÉ> Uû÷{ýK2§^=¶Ÿê¾…wïBê}FÖ½U±û=YdúÈþC¿þóù¶½Gã8øRwave/data/yendiff.txt.gz0000644000176200001440000000530512377701075015067 0ustar liggesusers‹}ZI’9 »÷_Cç¯òÏÀJr~OãÐ=ÝójmNŒjìúùŸå81n­Ê}´:¢Ÿ¥Mȵg]°xŽ‘gôx~Ð}PL2Øqüâ“Ým[XAUQ± Ï>.‰Í–µ¹â'ÁÿVi* /¸z¿ YQûÃvl=í´)ˆ…mޏ»BR Û`õl–Þý€¿ $™d óÕ0îU-2;¦o»=ÁK–¾9Ý-ψ­_pI|RÏ<å5†O?­É£àæ“8qi¼ÜLØ ²}›&²aTö®]òìhf°»{a)+­¤5U!â—ºQXO˜‰,Ãô¨Jö‰¥¸²Ô;xätq‚ÓzR¤d²w§YlçO%K‹Œo~ÞˆxÞpw$»F¿à‰Ð$g5ÉhGØÊèØ‹µ’45J‹ ¹ò‡ë¼ÀÕHª:9Ìî±Ö(9Ã$U††à³µ÷"A)žÇÍ(ñT‡d©J*c¸Ešrõ …-|UþûBT«ýQáÈ´—ž€ãb¯ÑÉê¼-%Ò8YC]0!ÑîQ]%š9Šê[Q·™ö‘™é© D™Ïjt4<â3æÍª¡Ó…ĘQC¸æP¶„22ùã†2ݨr3¢3á@™ÎÏrÕ9oÞßSškN‹úÆ3ŠèϨSŒà¥Þ8|Í䑱wŒ‚•ʱo#ªÛdЬ“1®ØÔÀýËMËØû,©„á(S’1£ñÝp6ÍG j{eÆÃÊàïíÔwä˱ð/3òàÏj_9Ñõ‰›8ǬÆbáUÀPÐ+uSÇÆ_)<Å0z¦Sÿ/¡$*ŸÊ–M þ3ƒæÎ¸Ú6]µBëJówIÔÃqbÙUñ’þˆQ3£ˆào½þز1Økf± !c©žŠªO„"5jbšê²(ÎiKK‹@BkÕƒžÙ ƒU¢]G%¹^äñ\z¤§¼H‰«ÀhC)«aɧ¨2Á‘X¥‚rêòA3‘—†ÙYÆ™©¹!”ìšDI°$R‚YB(™+¬•4ZÍœÀGcj}\æà„;Ëf2Z¯ß*×£=d”ØMVUÇ/åð(KRb{ª'ôÚ¢ÅÞ‡F÷NÂzu¼Ã(R½‰Q% }Y•À{Äðëa¢MšÊ音:‰LÇ.| 8Æ&°ùÖÈBù¹RpQþÜ Ê^¤†>8׋—*áï%%µŸe{ž-NýRÂî’CXœ¸-Žá“‡:ç\$ȳX²ºw`|Q—ÊNuóí™Ë„úœ]:½†Ïû€í8”ê®— z¥òT £rÐðùz/Ú\ …á-,¸“8}~ÀK¶öî”$§Ïωýj&n·Ýðû8Б¦é/~ýJj£Á|ÏÛ­Ñc\¸®…»¯T5x ;Ä"€¥!7©ì‰ Îrø‹)½›¥E|¹3ÏÔÓ/[Jáf&š²Ìä°Wc"­ØSwò†(ä4IF¹—H>ž›½j!7z„‰ãejњϿG«ƒ€B_"hÛ Z©¤VéMR³sS×Ê—¿.Ø;.LØ"©×j.ÂOzÚG£Bú$á£äÒúG}2>–I½ñ+æôR{ñÎì¢Ê_ÖÃ5H9RÐï$¸íÌèa4–ÈJòù®Ð4eE±RF!ËLÿRÆ7&Oûã(XlõV5h®Lîœ*¹æê†wBÁ†Ú­‚ÞI¨ êá ^ùœäÕäÔÔo2 ÃWŪÌÈøÈ¿È;ŸÙãm/›Ÿó“ –Æ*ÞÞP“Z5¬6*ûüt %æLª‡b9$.j¿9d<ßèÀ…=µ“ð>’¯’WqþÉÔ2žòO’$Ž/nÛÞˆrä‡XнÚê‹"%±¨†±N|Q®Þ‰”¬× O“ÙP´ã$8Kî6¤A¥óè.F²ëýP…ÄTtЈqð2,!oý"ëóJ è¤^DòHázÕðT•†üñsïÇÞ±gZI ¾ilÿÐ8z]+ô¯|¢DóQ`¡ònW§ä fi ?ö—^ÑJF¦¨ñÈU¼1uTŠ./z¼ß ziÄ#cI`~\ÍŸ`Ô3ØÀÇÂY¯OO™Ãáwž6šõïëí7J9Hu<þ÷Úßkîû7xÄÓg`Õ”Û>1, ±#ŒÛ«‰¿„è_wÏ^C’)Rwave/data/D0.txt.gz0000644000176200001440000000262112377701075013704 0ustar liggesusers‹íX[Ž7 ü÷]ð!JÔý/‰Uêu÷ÌÚpòá` ¢H‘âS³òMþ|þ|þ›ÏßCb}ç}ÁÙ¿éß"= <71¥mh®Å¹³Ù^Œô-=L7c´1}³„eŸßý-RëmKµuð÷Òi£ï•i 4rsª”2i³}ûk¡˜†ö™¹Q›ÂìÅgÖ‹n=6¸h·¢z'yÖ!ÍØf±µauØÒYl¡­ 7¬[Nùø+™è0 G&dfÖÙ]†jÃÚd£gk-®\ƒÍtK§8OYÇ,·A+€m9a*ÈJ—í°9šã~D›6„(Ü”tß%ÞVØ ®hMîÍRÓ´c-p·OícLDA c°f…Ú b®0ÃEŠÏr”m"ÔH k0Ë|(R¡æÛÊ!¤JÖ¾ŽŽuG”5Œ)óù­¸„ Œ•9tÞ²z³#+G¯£¥#DÄ~ÝÉldÅMdÉï\ßÖ*EnyV¬»FÄb—›xUlK7TÅHTIÇÞX¥ó¨>£dUµL¨›½U½™äV§êU‹:ke­ölxÕ°z š‚¶Q§„FA`ñn½ßskÕu#°UóY­HÓ°Š’Îºù CqN-â´,€a3Ê”‰ïcñÜ·`h51+ì9Üßߟ¢XQ šShŒí€ éØspÂðWâ"™¸8Ä2°r¬Ìà°òé@ËDx—OËùñWYëÄŽàö^|½pT‡åèà` °DÝ¡mUÃ-ò¤aÏgivØ›9‚éRŒ–E´Ž„B&Á€å­‚š ª¸„:ö¹‰É€9!-·H_&sêKéÔ¼’éU³^iR è ª b²zxA¥¶„g›˜¥U£ËoµÆfh!•H9ø¼B,^9°ª£<æŠU2Åo•-«ŽjÏ= íÅ*0«HпàpÍ"®¬,€­H b-ŠoX.3æ‹ÇW¼^¤ A Ü biì(„½—ó[8Ô8óS¶' ñpXç±ScV-m|–¤=Lu>¬.êÄYŠ9¶C—*8î–W”H± ½ˆƒâƒlÉS“3†(¥&œAôƒ)× yãCk½¤€xˆÝÂF>¼•ò¼ =Hòs4rª/äùûƒûƒûƒòœ‘ÆùkI¾¤ž¤]Iþ$ò\úÁP|R|úÛãì_ÄÏäŸzžvØÃ^½]ãÜêºå¹uxãxÇ^»;uœu8ÿƒbãö~Ùuåyߨ=æqrc%Ÿ’OMòtI²Ëé¥t »ÿ,d'žó]fl^§ ¨ìí,A™WW'öwRŒãz8¼Ý}?'ˆã­• ½0ô2ÎìáŒbQÊMTÕÏšb,JaF3‚ž&Æ5áâЩ "¬Qa¢pˆ]’ùr~êH;ûgí ó‡ñºæ,kY˜Nü©¸ðð¹|Æ4!™YvúÚiTÂ’?å´Ž<ò<Öî&å)Far~ g² [†0i?ðœ÷xs®'I>j䑦ó'äҨ㫠íz!þ3t=­Ø üíq‡§ÿš:ÞAÞ`¾ýìû-ØÀíç_†þk0~äÿ~Û¥¿¿ÆÁ×séø•_ÕñwRwave/data/signal_W_tilda.7.rda0000644000176200001440000000540312377701075016037 0ustar liggesusers‹íyPTgÀGD˳ŒŠMðF¥U<8<‰#("‚È%"Ì(®‰&‹÷}l¹VÁçnë?Ä¿OÆm­NÏz€ó–w93©Û*Œ;¿ÉýAsœïÛÔ|"”a‚M€c¹ÅvL˜ÿ(¥ë°"L(9l³{>&võ w¾¾uþ®hö9L<½óöÌRÔZ?ëcñ…jÇ[í°ÓÍBíÊâÏÚ%¨EM ¿Ó¨­üÇÚya®¨ëYÓ7u#‚[w9—ƒº°Ë[î÷rC]J«¤_ê6Ù¸Ît½ŒºŒüœÔÒ¹¨Ûçmïëû.ê-(rOJCÝÁè£s‡¢îKǼ»›£.ýou«Onøøîg¨ÓªUW¤ .pÖ`—o’Q×ïÛòØQ#Pg[s<çZÔ^»©sdj®wŒØZ‚Ú¤Z«Îž¨ìø"m*&>±½[]ü~u¥Å‰xL ëðYáB5&ÚÖù1b·¬630aÚý@§‰8¿âŸßï5ç;õZä¾á[Œ÷•Y¹Ô çÍoÑç‚k8Æmâ{a¶ß'ä›ôgèð×OõmSŠöµ>ÖÓÏ• ýB‡ñÇ´‹Î¸à{b£¶7bÚŽ²ïж3ܧy…E›’šôAÙþõ¤ú¡gó‚Õ]zMÖÖ“ÞŸÖÇÛéôøÓz¸ñKGï^ZeïëÝvK^={ènM1°½_;™?±X–l å¶sƒ_\²¯g‹­)Ϻí2°éšøÛ¢õ´p1«8[` ÅGGßk‚ê§¹+oFÿZOí‡ÿ¹òïTÍŒ±ûÁº]=#í&ŸŸ¾Ï@³Ÿ.m=·ЌM.Dµ?9.²žtN|ªèž8of{9ñyâwž>çÎU’pçÝè”ûÿ‹¼~±÷+x.‚çÇ{¾üço8¢áÜxçÉ?oý=Ðß= ÷‡w¯ ÷Žw ÷•î/ÿžëï¿ OxydÈ3^òóTŸ¿ú¼6PŸïD~=°£zç¾~¨¯+<:Ðy‰’ê’lÒy›ŒJ_žïSìùðë1ŸbÏ_pNüúÍ'ÿÜÅê»Ü:¯´Þ‹Ô}A½©û’õ_¤ˆö‰þ Ù/$ú‡ùuC.}èU‘W_7û|Eë¹RJÝJÝ?QJÝk±¾£”Ry'B±<–M±ú bŸ7bõŽÑ8šú¼¤ú±là}76ϤúŸ•Ö¥uJq]TXwMÖOùŸÿ%(˜ÅÈ›¥ÈŸWDÉŸs$(˜CÅ(2ŸÊž[Å(6ß)œs:ÿ;ÿÎ}>–ÍZîó±l>ãê”bÖpõD6Ÿru@1Ÿpù­˜Õ\ÞÍ߸ü4šU\ÍÇ\¾5˜¿rùÕh¬äòªÑøˆòÈT|Hyd*þByô²xòéUñå×ëÆ[”wo oP~þÙxòš‘㪌 cÕÆWË‹T¿ß,~Oõˆñí`å+#ãË`Ý;FFÆ×‡ÙŒŒŒŒŒŒŒoU,X°`Á‚ ,X°`Á‚ ,X°`Á‚ ,X°`ñ†„ý“‘‘‘‘‘‘ñ-b##ãkGú^#ãK!}ï‘ñ-#}¿™ñ !í`|Ť½Œ $íya$Ò ?ioÓCÚ‹õÚ‘öˆ½2Òµ—FÚg2Òž;“‘öô5i`£‘ö6˜´wÑhÒÞG£I{'&í½TLÚ³©˜´×S6io¨bÒžRÙ¤=¨²I{Ve“ö¸Ê&퉕K =´òÉå•$io®|rù%IÚó+Ÿ\¾I’öË'—‡’¤=ÊòÉå§$iï³lÒ^iùäöVË&íÅ–Onï¶bÒ~oùäöˆMÚcn<¹=êFÚónzr{ë‹&>¯F»g ¼ïFç›Ò¼&*®#JëQi=4PiÝ%*­ïb”ÛOLÎFê{¦¢±Ï·±û©±ýÒØþ§´oÉíäÍ’ól H^®zrÞ.Éó%$çO›ŒJ_Äû}N¼ç)öüùç$8WÞ¹îïþîÝ?±¾,ÖÅú”X_«ÿ¢u™W óoÞÌ-¼9G0/ñæ+Áœöÿç;ÑyQjîT:ךjV<çÊ[¥æP±9RjéCRýCª?ÈíU÷åÖ{©:/VÏõõ€_õu‰¼À@ž` o0GÈ+ äòyˆ¼Ä@žb o1ÇÈk ä9òy¼È@žd o2GàƒOf¶:¼ȳ ä]ò0y™<Í@Þf 3×Èó ä}ò@y¡<Ñ@Þh 4WÈ3 äòPy©<Õ@Þj 5×Ès ä½ò`y±<Ù@Þl 6Wȳ äÝòpy¹<Ý@Þn 7×Èó äýò€yÁ<á@Þp 8WÈ3äòyÉ<å@Þr 9×Èsä=ò yÑA—¶rE—¼é@u ¯:gÈ»äaò²yÚ¼í@wÐ>ÚÔ±JS äyò¾yà¼ð@žx oËi\׸$¹¼’ä0œæMï‹õ§uVw’\¯JÎÏNöÇ:‘ÇL‘7ë[Hó-¦‘õ¦ïÇþß>Ùoõì‰Üªi]—Ó<é½Åù®¤ùÒ¹Äø^úù\úÏ·$·–æJïG_’þÅør¥òÕ›?ü_èÓé\ÒÏãùi­£®sF¿’bLúòèMó¡×I?ªèëHrkÔ’¢½zÏ¥ùIþ¿Ÿì#>÷§çÒºï¦sNû »`½éùêˆô {šÒy"oÖ7"½Jrk\Jó¡'Ì;œÛE¬Ÿu¥÷…~²´¯8/æ™Ô:'¤O ;äý4º'öÒ¸–ÆdO öÍüØÕn±;ìðL:Ÿ¤ïí4Ï^o¤ñî •Ê÷þûíÆûiäó–æ»}òóêý4ÞI#ëLò¿ž>ß×|éýa/7Óç[ižô¾8GÖÛI#þvM~}Möòâ9äšì¯’þ ?ŽÝ\Ö9àÓ¹Åç¤a›i=IÕôÞˆ7£²§vš'ùGäŒ_çÐôùbZ/ç™äÐØHcú~Èõâ'Y÷RÁÏÏëóFî/Ãïs.¬ŸçÒ¾B/Г¤gøåÐkô"éû }C/î¥ýCßñ'=ò[É6Ðüú9)»Æß¤ï…ð¼ë:7ö<7Ö'x?ï]Q|GÎø p q,í7ÖGA¯æ„øœÞ[%μ!?—Î;ô»Á_ñqsMq”}]Òþˆ÷¬¿³.üvˆÜyû㼉é\">8ïiù…•|Î7žŸ×~F%Wï#Å%Î+üÆ¢ìpMç¼$û|Oñ…÷^ÊqVØÿ¨ÞË:ô}?`ßɯ„~®ð ú®ÂLKþs‹9>ŽøŠ׺G;þƒ_ÀýÂwØŸÏ £WàÞèÑ:‘Û˜pË¼ì ½ÄŸà?ÀWøsöüà­^áhö‡~gbè=x9ÍçN@Ÿ‰kg…6¥—ÌGüÂoßQ¼Ç*Þ±¿–üämá pÁ®ðEú}õ_iüXïEÞà{š7ùãÐ?Ö[8½KïÿßÞÍãxì |“öO\|_äÆs=ïÇ9ì 1ÿªüÒÎåªpÆ9á`ü'vNÞØî‡ñsüz…¿F/ñ )¯ \€^>Ÿp1yÚ¼äÁz”‡5È/;’Ã~Á[œË]écSøý`dã vîïÂÚß³/Îs4·ûðÄQô ¼7&ûÄnÚy^ø…ù8Ç„g"^6‡/ç~á?WS~â|÷Já¼ßëŠã¶áßÈ× øÜù¼ãò*à Î?Ú+\1“çåáw…›ñƒ3²ôœ_D\!N°žšx¤ù_`ÿ@|&¯Ä³¾wYñ»4Ïáø±,}!n+þq^iý·X×_RùÆ×~öRı>ÅsäA$®Yÿøl~ }‡àß’Fþ^#¾§õ…Ôr~õÒóø½ñlyžy$¼Îyå èé”pój~öƒýŠç 9‘p.:Ÿ8OäÅïñ Ì‹_AßÀûèï„pÞ’ôÉ~ ¼‹}£o¬{YH#8 yIžÈÜ·!}k+¿DÈ [ŠO+ú>~Ö¼>qùígÞˆœTÿˆxÀzÌ/ôÊ!‡Ù_ž¸\à-ă §®« 7[Ò÷-ñ¥øÉÉ<îľÅ£­æzW…?^ÿÃ2ϤøŸ~ùŠô; Ž€Gö¤¯Ø5þzYþüuQyØnOn*韛·îU ÿݧüœ±Oñy@¸¼„úŸk9o~ ¾£ž×#ÂïÔ…óêùz"¾].œ—ß@_ÙΛE|·].‰W"N›_Y+èëž*Ô xnUùKWy!~gM~ñœê‚¤ßÂñ’8‰º zqVüé´ò ö9¢óßRâßÌŸõˆ/gÿÉnªûÂGª—pŽðë;Š¿÷Å/à/‰C·…+þ-Þ‚ß+¾»Î² ¼òøsó©Mñ]á)ü ös$ɹ•xñÈmCu%ä®gvÅ[ì ߉_ßV\$?!^ïé9¿+Z—ë"ëÒŸ寶§Uá[üÚ øUòÉyåÿ̃}‹\?kk]7Ä›°³]Ó ÕÙU×ÈùÇØ¯yæR?DüíH/Ø'þ¿)|Ó¾Àÿ/HÞmù»á<ÿŒu‚w°Cçi£ªß€cúå÷È›Šëæ•®J>cÊkÙׄâÞJA¾ÌO¼Výßuô ­§›ãÙ¨÷Õ (ðŒàx¿{ÂŒà†«¹/ò‘ðLGv}Wõvâø·£zqeWñýºæÅ~Zò[mñ¼Gª7ñ=ø³=ñWå/¶Äﳿü¾z?s'—søðË{Êg{”¿®üúrî·/Ó—0!Þx\ù”û!†U×iËïv çÃþ?žèB/>þÝT>€ž0ŸŽ©ßñ²òx€žB>…ㇶ¥W‡Ês3óªo'â…ëz[¹]…žqþmñîƒp\ĸÿÀýCâûçäWÝ·.ýji_K…º òíÈ^ºêÛq£­<µ_zב½ /…Þî'².âYWüy&þÙy¨ûGUß y‘«q½ÇWÏ•'»O<3¥x>¥~_ÎVu÷¡Žˆ¿€¿Oñ#êÏ‹×G~ÄûºúÕÒ>âù>åÛŒø›¡¼$Öáþ›fOÏy¼Gú+À»ä—5ï¬xöå>‘šúEÇõs÷«¸NAõ$ô¤–ב[Õý4Ô¹8äÔ«~›UÕ—súÜVÿy Ïï+¼óÖá—7rÿõzÇQ÷c>xOÅ“·Ñ—=õ2ïŽê(·…7ðïäyæuÝ÷jž¢“×5"ž,ȯl Ÿíåë ¾rM~×ý¨èM]ë2?aÿå¼å¼ðí®Ö§8õ׺xÑKÊ[¦åçàßàÓ„/U×P>¿-yO}*®Ü-èǾôã¾úwðìû¦x#÷7ÈO¹½¦8¼¬¸>*?áû êOiòÝyñ=MùÅóÊ»G_W¿r)ï›Ð9;ÏÅ?¡¯mí¯¦þÅMáŸÕqš…¾ä¶êW…/GsÞ)âÜiá%ãé-ár숺ĄxsôwPú»’?ø‰Ï꣉}5Å®I¾uÕ9üíYõ×…7çÁKÂaäéØÿl¡7&ž¤^ˆ{î³Îaݼ{ò=•á˜õ•¸_ãŒî§ÔU'p?ç„ðË”¾?W¸ÏSSýîê÷GP·1®[Ô||y¼¥û/ððî_Á_‘²žWtÌý›%Õ+œ2™×5Cnê³ ²¢úàŽú¾‘sWùׂ_^ËëÁáßÓêø?þ‰pÇ}å­ø»;ê¹§º ñøžx÷UÕ nä~+ÎïP¼óÓ>÷…WfdǾ‡?oøÜm¶[ó%ÄOô±Sð×ԗfÞjWxÅuvå}Á>Ÿç'Q¯àçS…>AÝS‰óØ-àÙû­/¿oz~K¼#ϱ¾#é ø9r^­Bß`Kñw³P7àúf¡¿Õõ:æÇ¿O«.RWŸàªä9©>ÇåsÖ³¤º!úè{/W? ‰·äsè¯ëððW}âÁ7Åg(ÛŽêW®-ÜÂ{È3ßÔ}âѸxŦöå>óûœÓê Zq¦x¾è¹¨8ˆúÔwzQý"¾ßÂ:z }‘½ê“UßѸêדª_€§Í‡Ô´Ž1ý|F}q-ñGà<ðÁ°úPæ ÷’‡Ä“4 ü¸ˆ¼ÉóNçõ¨Gî=©ovD|Å\~O5ôm Ï»Ï-ˆßØT}åB¡n¸œó§ðˆ{Â!Gúy3o1ÿ5ñ÷uï¼ ŽùPøã#ñÝëÊßîjÞ=õÞ*ð}ºO¹'üÕ~ASÒ‡}õ­ió%ȃ|Ô}§×g:¹_<Å< 8ÞuKñ{K¸ˆü†þ¯' •Uͳ)9OéþÌ¢îoÚÊ+òû…ÁCø~YÔï¿ø?ñÔßLNRwave/data/B4.txt.gz0000644000176200001440000000541112377701075013706 0ustar liggesusers‹UYI’I »û/vpÍåÿ&€j{.­TÊ…ýÛþtÕþõÛþÔ¹ùËþ˜e¿·a}Þ«­ZïÕïÊ÷šmgKü*wÔ{]qðxä <^?»>ßÏ&wŸo¯áS3ï·—_ç^[ÇÆÖûr«õ¶ŠíüQÛ[Êf+¾=x*VÅ|\~çïZ›ÛŸ÷Îx&‹Ã+ÄûºßæfŽÖ… -œ0wóšÁë/?¸_æ}_·]¼­æÇýÖˆ Ç;C'î“'ðÚf<Í.…7É€­åX1ðéìŠ0[G—}1¨ì°LîWÅýb]{ÙÅì`†ò"BÕX¡›÷´ÄµËòmw·±»ßCkãœÁUïÙ8|ñRإ݉ÅàvŸ· ·ãåæû­ckObƪ°÷I¼øB^+‚@ó~ùðåü%’oxØDN;G#%…ìîux£ÛÍ bµæ§±™Ïˆ|™Ú;¸Äå ã×Û‘‘ˆº°ë B]y¥9N§¢ì’¶±À.ˆ¥DÜÚùÔA +x¢“wdiÞ󨬝¶à™Œ™(g´Ïjb™5Ò»Þ9²/¯gÉ]¦Å°Ó-äv#†Õ¨o’ìà"voí€Äy8æ¦bjø^¤†|©!c°/Cg“ V"K,nïf"+éd‡ÀY€{ÖA¨7# Kx8)Iåû=»[üI2-ÔKø +kÀ6ÓNPå.fÖXdžxv!ŠÛ(Ë…8üâGÍŠ ¿D7¢ïi‚ÜÅÝJË×e\Nß‹ÊüÆNúj! gŠ}7aú*åÅùUýØ&rx#æ‹tÜ ¤™-q:†Â<ð•“ï.Ù[d‰g¤¶7.—*ª #/óÞNlº-ßÛu-Qb8{,<“Y:ûFAw0Ô„Y—ê©x|_.r‹;K<'C<CwAZ•¤“Zxk"ß°ÂU¶05™CüyÑ.é… 8[Lz™BéxÊåó¸É,(üE‚‘R·)I•t1-OÍÛÆ¡G•¸ãf½&-@ÒKL¡îé½exB•N#]¤™×ö cxãSÀ56ÙÁl=2MH€ŽýÒOMâôL2mÕÐ D ½Îfÿ–A¡5ôM,n™èØ(»Ý—ñ'»o*ô†£ób1y~6¬ —/\>«Ò‡q5¦7ÉY¤Ê ì4ðSA«0òUÄ•W˜êz|B+2f© ŠI‘/ѼñÓÕÎÀ lQÓ’áß I,&+âE£0|Bian­hÆ)Nã«°ÉýðJj­Ãš¸Ÿþ‹Î†Þ˜Cž¬ÆÙÔ“õ–ÅJpO"Ù~WIŒ Ã}œ±/ÃÆk“¼øâ‡6q\x¥© ²F?2Å>$é“}¸Ì^W"F~í†ÈÀMóE~EŸH#ë1õ/ r3õX(»÷‹¢œ½óÜí8¿Kò 7®P¢?/ôÙÛ_膀Öà!Ÿl>-š”ø+à÷n±Y›ø¼wOÓæ³W+C8H=OêÌМý¢ úùË·5áaê.\ù>Ûâ¯öߊd©+bj£?‘Æ8Ù¶MmçWsYêíÌp´$VŒE4 _ÒO-͵œ¨_Nž`áŒË%Ëú÷%W&‹” ŠI/ä[V¡Ø¼9âMçÚM?AúžL©ùý¡Ñ £[g·3le8ðd Žt‘%—4#M3`ìwŒ¬÷C[›Bî?ÿ¾€ü’žÛ:ê¨ÚoPñOçÙ´ûÇØ…M„ÅtVl ÂÚÉÀà€£@ c~ rʘ_¶‹€Ä¦«õ>c!8ö_¥1˜°“¨Õ ,¶O¢œécÁ°K̘‹¥‡OÇÄkþ@*Z.];2߯ÄüÁi^ÔÜÔ"öhÓ WrùfJò¸D•oöíÝ“—¿Œš´\Ó*°5¿´”%3BÛN?–N÷èèDòþì”dÎ8Îr ÉØœq\W†w7H‰SjDò٥هŸ’ú''P˜#^¶% Æõ²Ùá6‹rïèÒCXíùÒ4¬ÕÞ“º‹¤ °¸ï’÷sª£‘˜$»Ù)<\OÛ8˨Eï|»,Zb±Œ_ö3ç«eHS‹åR%ŒYÐHÒH‘Gp¶0‚¦Ù7ÇbRxÓ¼/iñ¤XGþ€T-Z’!àÈcïã2rš½ž9gUß~™lËÉ&n2l@GÓíÓ5Ö%åcy7õkôiÃl&…;r¶©Uú1˜ø²4ÍYI‰9ëà(}þ¨Rj€;}=Éû ¨Õɿ̒×4°dwpYé"|¿T0 O††ÐêÚ§BÍIûT;èB`)Æjø)¬ýèß@ùêþŸWùñ¨|SàØ»8A·ÑöeŸè în•kÉ.ðXoÔýЬ|Ú:Ρ¦q¨œh×3Ævl;Ep`j`|ijDÀÞî¯G5¥çÒc©ÔÆNÑc¬Ö¬n«áÕ±4ßüàÑ‹K*òè)ûºœoðÆ%C6âïÇáÊ6r¯s’*¤vµ(±Å ÔMÒœòÞ ý”ðL!¢ž]ÎÂò]!oùK™1;rf‡wטҘ-çÄi^øe“¥¶BóûMÞêÍK³´i¼z‰¶KðŠh¶™3<ÅÒÍ+ï Ù1oS¸¦Æ,ÆñÙ×ëUSO“µhß¼¢è‰¨y¡~~Ôú ‡eÛ9áôo‹«ÿb6qN~nñ<rÓF+à9­.ñ_‰IÖfA!†„ФŸÿMáQÇ‹© §vró›Ê‘¯ö=®ëŸƒ®Öh±³ãÌ@á.©VN­ö¢Ümýã%Ôæ KÉ 1øÅáÍØ-ý¤%¼¬!ºT[›>˜“*¨¿Þô?vΆüyRwave/data/ch.rda0000644000176200001440000004404212377701075013346 0ustar liggesusers‹…Ý{È·kZÖñ·å6„ˆ„XIH…RQ1Ü$J”I8E ÚCDLÑ!","" Ú)ᔉ"bS™moÓarS6άÙ,‰©-‰6Fë}¹¿×ÂÏÉÉš?æYÏóþ~÷æÚœ×¹9Žã|÷—¼ç×¾ó=ï|ñâÅk/>íµ7ÿÿÓÞüÏw¼ù/~Þ‹w¼ø/ÿþÕï}óÿ?ãÅ‹ßô7®¿ÿu_øÚ/ümÿ¬Ÿ÷‡Þñ9_ÿÇþż¾ç?ýþßòÃ︾÷§¾õÿüç?ô—®ý_þü/ûî¯ø¯×¿üÀ¯þŒßóŽ_|~öï}þýø¯ÿåßù~óõß¼È×þ¯OÝÿôo¾üßßê÷ë¼÷~çç}ðÎçîõÇ¿ÿýÆ÷œ¿?×»ÿÍ;ßõ¾¿û‰wÞßöw^}à|þûþç¿ñÙ_÷…ýýþÇöçÿÊû¢_zÿµ?õëwü¢?}ÿ…—Oÿµÿû\ïŸóÿ®7¿r?ß¿Ÿß¯®Ûu‡îÿO^~úüÞûß~ÁÏ|ï_ù}¿j\§÷î{ËóqèûÝ¿÷~Æõ\·qîóÏûœ÷êg×q<Ÿñ¸zþîÿ<×ù\óǸÜÞ·ñí}ºÿ3ßÓÕø;/üÙÿþ]_úM?4Æ÷ùüyžîÛuúÞÇ¿ô›~ð{þÜgÏ}ÇwÅ˺ŸŸgÇþÞ{µž[‡Ïï7ã×óžñkžç8ãù¾¯úòüÔ·þßó{ãÒx6Îýý¾ýÓÍçÿÄŸì¾gÞ»Oû¦yìó=ãØ÷›ÏÞ³ë4¾ì—Öéyîöaû«ñh|Yç~}¾ç}Þ÷ìïöÃó~gÙßç=|.íKŸküö÷ÿæÓuȺ:÷ñ¹ž÷¸è—øåžuͼœýÙï_öÓçjŸ|øÍÁ{×ûþÞùþ3žg½4ØŸ3Í·û]»Ãø·îÏõ˜ïûß¿ùÇÏýöOo_g/Î<þÈ«Çù’ó÷ïÿÌ—ömíϳ¯z¯®Ó¿wϙƥùq_´Ü?­ƒÆ©õÐ÷ŸçsÞ?ø¹¯.tÆ£çn\»çɹnßk?4ýÞç±kç½Z/í›þõןùoõ½÷¿û¢_òæþÀÙ=ïó{ó®½¼—îß÷ûÙû{öWë³uÑsö^=gç_¿·þ·îŸ]h>úüë¯þùW\Øá3ÿÍCëD;Ú{7/ڛơ÷ÎN¹oÛ—ŒÓ͹pìhï×ót5^½wë¼çégëºõÜûu?í\û§}Ü÷»Oû¦÷u]d÷žñ>v ó³}Ù÷ú½õÖzhœ[—ÙÕÆ«yn~z¾Þ³ë÷;ûæ|¾ùÑî6îÍSÿÞø7¾úöÿ¬ÇÆÝó½ýÄùtæ‰sü¼Gë o||ŽÞG/;ÕõzÏ®óœÃßm|[§®ì˜vK¤yÅß;Ÿÿè¯{õ¿s.>öÓy<×kßuõ½Æ™u‘]9ãÔuò«zžæ«÷w3¯žÇëß[OÍ»~Eë¿qÍž¹/õÚW/~òyOÎ[ýäû>ûåüö³¿û~ë"ûÑç‡æA{Í{œõϹ1Ö—v°ë{îhŸ»þ‡?ïƒû›üw;ØûgÿZ=ÏqÆ;pöQ¿7_çÜ<û©ñl½ÿ4^=OëQ¿´qÖ2>hþ»N×md_ÿÆ£ûôýÞÓy$>8Ÿ7Žéïžû¾GŸï~ý;qÓ°;½WÏÓþê¹:?Z/ÙS÷EãÐçZ'Ä»gœ=_yþ3î=÷i]ô|Ù Îícÿ|ÎÞ/{Ð÷û|v½û7_=_¿³oç¥çn]Gôœ}ÞqaŸõàsßuÝöYãÿ#ŸÿâõŸýgÜâDü–ó¾Î‹ñPãŒÝ?ë½÷hÚ_Ý·÷îúÆO½Wöȼ–~}ïgþý|æ£yÂ/8çSç]v3L½çÔ~ô³yè½ÉËï÷ü[qFöžûŸñh>::û½÷l¼ú÷楸«ó¨Ï÷³7?dœÙ~ôÜÎ^µ¯ˆßÏ:í{ÎÆÏ8{ræ‘<Šë÷fžó¼uc^¤y'N¹µÓ=—ù’ƯqÑîà_ŸçËÎtó_ë¯õeþ¹qïºÌãðS{>ã‹Ö+ãssŽœqÿÈËÇûœ¯?Ïc>ÏýØ9Ùß[¯í·7Þór@~ú6ãû¶žú{ãß|?ëý&þÑû¤õ¦ÿ¬¿Ñxe?ú½}Ü{u¿Þÿœ³æÑ´×½ùÛòZ#/C¼xž‡}fyî5nØåcÏš7óíW?{Îìë­ç&opQû¼ñí¹wÇ—<þ™Æ)û×zr}µn¬¸O»^óù‰/ûзüä7~à¼gç×b?‡Ý{».ñß²+g½6=×k‘W;ïÓ÷ÈßÚmýçÆ¯ûäof_ô¯­'‘Ï;o~Oýóž#? ;I=ð¬;üdz.Úøk¾ŸyõÏüª‘_iž×Ûü[ëÇyiŒ¿¬Oõ\Äçû½u™gœFþ¸û÷»ç óö‘ï|už¸ªùÂ_~Jãa|g¾·qõ|f½¹NϼgO±Kgºþø± äG=°ñl\Ô ¬GyµþÐ8ñ|cž©_ĽçïÝߺPßo¿Wžïy¾5.í£ÍnvÝêaÆÍæ!<÷Ìw[?}êhï{üëì„öMüƒq†þMóÜyØß›ÇÖ¹u“Æ;yìVùßì·øß‹ç¼Á‘ÜÆk¼¯~‹qå­?WüغrÝpžëe´æÝ:÷ŸÏŸù×Oh}4>½ÿæ÷5_Ö‡¼×½¨·ûŒ9óaÃ|dëâcoŽâüÌ÷ïŸuýŒÓÈ¿µÄ[x}óp=oã[\ný çh©£ûýÔ-Î<{^êgegžû¦îx›Oì:Ùþ]{l½®õÕ¾ï=ˆ7oí»yTí uݳÌõÞÆ©Úgóûœ×ÖóÏx´¿¬'¶ñÃÏû¶¿šžSûi>‰|½ñÞe^Nûýi¼Å­µîÜÏæzOýã[íœþ>uÚãÿš‡èy;ŒO´ÇÚ#Ï‘Í>Ç œZãÛ|ZW²~A]þü»ë¨ó§¨ûæ¿C~hïI½nøýNÄ8²uœÿ·ÙƒÖ­8 êvžŸg{¾‹ki>úy}ë'.Ön¶î;/Å]t>5þÎkû¸ëõ9pcg_¯çÉX0Ns[—Õ®›¿íûÕ ú»ù=q‘â 6|›uüšQßì=‹çÅ=‰{o¾Ì¿lu`ý3Ïcó:¬Q‡oüú÷§~1ðÇ='¸ŽQï!ïvÖuû[É<žùjí§ë?íøÿäóκ±.'^eýp¾ û©_eÞu« ‚û¿Åt]ñî­·Ö}ã$>Õ}×üçeÇõW´ÏÆ-äm‡¿ÚxYßqÝtŸæ |›uÒQŸ¿Žñ²Žbý°q §ª%έçæ\qý†ƒÓ?.î€üÚ8ÇÅYlçnóÔûôïúíð÷Â{~§< òSglõóa]û|ì¼ùãÆÉ8O¿ßø^^ë¬ù0OŽ_x—6åËzÿÎEq€úÝæmÄo·Oóg–}%/Àýqæ©yÎχo±á÷…¼Ø nöÆþ\ÖSÄù‚79ÏG}í7äøâçŽ|hyßæ·ë·îå¯pÎÞÔ7Æy»ø%Ço.®J»˜çºã¸È{Dä\×¼xÆ‘÷lüÈ× ?\ÿ‡|àãG×ü&óà®å=qç{ÿ‰«Ö/Ÿ"^¼uœÝ×"^|Ô³{ëßð"FÞļ õﳯÄKˆË(¾èù³gî#ê,7õ°³¾àsÝÖÜ_쫃74/Úx×k¿õKȧ{á¹!ÎÞ|¸ù3ùZòÉó^ø¿Ö©oyVœ“#ÿ ?ªqWb}ÊzEã+ή÷ßz¾×>cßàÚF½´ýÞ}Å_˜¿äó£~müc< Þjàsɧžñ¤Î0êQå%ÉSË£y/ë† ŽÕüºøãéƒ2s¿’ÿû¤y÷!?Šúýˆs ­¯x¾Ì3®¾õáKƒ¯yÞ+ÿžõÙ—]·ü`ód=¡û„ã°뼋/‘¯jÑ:žø2ñWðçŽÝñü_Öþòï¹úwíCçƒudøÜÃß4+®Ï8Sü«õ#í`û¨<¼•ó^Ÿ8p^âaÅ ûÔº aÜ(ä¬GãIð âƒoð§#Ο+îÖÈ'›×5ïüð Ïós~œëô»^}pàÎÍ›¶ÄÝÊ»7-~C?¤:?v}à5ô/µÛà8î´ýýø+ç¹X¿#ÞÑ/9¸ÝÇ5®æcÄ©x}òŒç~æÙ¶üx+ñ×?‘ÿ¥ÿ”¿-NÄç„ï7ø}æó›yäò{Îæƒ<Á¨ê÷‰s·ÞlÞOþ¯ù(ñûà¨+.¶÷hØ·~;þÚM}1œÇÐiéÜÐnÃw~€ùJΟ³/Üçæ5­¹^6ë&â×|àqöü­®¯gäUä¯7œ|róõ£_ù*a4ø‘ÖíÛX#?>øR=Ÿ¿sÖ‘u^í1|íQ÷—^Å™wqøÅ{âUÄ¥Ê{‘_¤ŸiÝD¼«õ¬M÷Á¸RÞM×m¼Ä…âÇËð\¿åIjÄtîÊK«ÎiÇóß|‘:+®{ñ@ÆIî/÷ƒ: ­ûžûðŸŸx`ÃK,qîÐhþÊ'r¾œ}lýË|u–Qoõ|Ð>uy×ðàF^Éü‰x]ó òç°kê£ã~ƒç2êRÖ?¨ŽºeãB¼>tD´/é¨+cÝ|ãA/‰Gëï}.?BÜfçvã^\Ø¿Sz]òSå›t¿âúâ÷›v<¾ëæW¬ÞŽudñ­ßìÌv®{n‚ƒñ†ûC<ˆ8tù¯ò"­;þÔý¯K¼˜y¡~¯Ži|Qþ^Yq¢ç¨qUï±ø÷_£Žñ\û8|‹8@yZêÚ ¯äùl~aðæÐÇ€zTÚŸæEÝêâ†^ž¼Süð ïб3O$.¶ýÛç²7Æsæô'´ÿúÍýŽžç´vàØ‹ o$Î@þWã£~Ÿxž»ýœ?$ÏCý†¥n|£Ï*~EÞöÈŸ‹g6üuÏŠ³Õ'ÍîÉK·¾ ï^=Ã⇞ÿÉ/ þЦo ^{œ[¼#?V˜xt¿_W»Üþ’w€]xãý€E7çV¶ùé¾â9Ô1oL¾æâür}Èçpvꓯ¿ü÷@ø#ónðu“¯È¼™õrxßÖG|!?œóö†ç9ê`Ö×Õo2¿ÆÀçeOÕ«Q§I¿ý¤‘Þy /×8±÷·®æùÞø?tŸÞG>ŽëÑ|¹¼wü¡·'¿uÖOç‘v ¼³¸æ­a}kèª3¨®–ø[u3ð®Å¾É?ºqÚguOÄš?Ç¿¿­ÓeÐzS=wyTñ ê›À›<[ê§ÖžÖs]¿Ãº„ü?ãŠÆW¾˜þЏ½ÆÙüÚ¦› ºutuÎÔ9Xt‹Î¹!ßO:ù¨¡ ß÷û÷ ÷ºäanÎÛ}·áÕ±ÍïR·×ú™|1׫õ‰âatQ/u¼®øCìï¨ó©‡çó4ïâÔ½µí9˜k¾ŠÏõ‹µ+à?}5ÐßÃ;¨/óÔÝoøNçsÅ—â©][y\·xrùiúùuÆ»úÆgò9Ì[tÎ?Èϵ^`]ÀüŸy%uuÄ-xÌ{—ðïEÝI>ðùMÖgä—SÏz·ò* gâ¹*>v›ß  .aãÛßÃ݉#ê}x®ã¯géoºŽZÇêË‹¯²ˆë¼ÿ¨Sgª_¡˜:(âÞĹˆG‡?ôØZ—â¾ÐG;Ï•ÝYôÖ†¿à~qö«y yúQùûØÏ3né]lúðƹ&¿Üýj<æsh'_ðL·:w®7qæÄ«hžD½/q9½Gõ0ýýêuøß£_ç¨ubqm§ÎòàÉÔ»C·þÄ!½÷Ö§D¼ª¸í[ï^úÚÁ~@â(ã4yÙ|ÿ6ÇâþÔNôïêïo«G¡¿-\=ñ"ÆUàcoõÔQ¿“zÙÀmºòôË´sÆ÷æ7ÕaSwD&ºxkÔõ¨ÿÕ>+î×á|é_«¯Ü¼ÉÏ£îuƒßtMÕ=9y õôcí[‘Ý_{ü6ùúåâέ'ƒ›ùã>í§ýÔ7|;=gýBûÈ+o<ä Šv=¨Cá¹\\a|Úz%?±ò¶åuˆ{/¬çУ‹;pqOÏ¥N½ù4ñƒò*Ä¥X—¥ÖàaöÞÍGŸï|T¯ƒõ{j/Åýô=t Ž:u[uÍN< .q‘ú£žv_ÞMïTýTê·ºTê–ˆcP׺ýsprOßêö-’guòWò_ųZR'U¿I?}ºóÞèT|¼qj×—ï,î˜|툧äQÀËyyq Ö´ù9ê9ªÇnO|-ºïç¼|p9#×{ÀK½ìeœk|Nÿ¤¡+dý‰8k芪§Øøæ«S¼Ä··øï÷Èúu} =_tq‡³ñ,ïÎuù`ÖÅíצ}Äþ^æã­÷zþË'm^ÀmÚgïôÍ3®¥:ú}Ù§ÿgèÍ«ƒ¦ž»ñÜÇ^Û_3ø…ⵜëØúÿI¿(û.HýSó¯æ%é{4ê è®ýÊŠ×:Å'z®ÞôsÕ×úLô7} û<:úCÿ<ýðzóú3}?»¡.§çûÀ|ØÐ«ˆg¢Þ¤ýNÅ‹ÏRºçÁUz¾’ç×?ò à:FžÐóE]ë4èÈÛáKߪW]êŽg~=W©Ê?v]ÿ@=yûx˜ÿA/mØ ü;ý†¡›«~‹yTûrŠw‚upÈêNˆÓ'`^ËxyË·ÒÿtðÓì_ ¥8L=rò‹Ç¯ /ïà¡Éߨúþ]ŠÇOu¿ª¯"îGÜx&ãôq¬Ó ü³ë²}C~ðøÍ?ø‘“·pÝä¾Î¥ýCÕÛ°¾+V|«ûÚøÕxÔ>vÖK­S8û |À°§Æ?Ú ð ÇÞ€ç>þŒ8XëÆ÷[u¿»®ç:ÙúG#Ÿ'¯—~ CçÓº‘qùûÛ¾Fæ«ÄjÄeÚgÙ>=âi—~ö‰øp÷«q¡ãêú5¾7?§¾×‚s}ío¨N–}Gäg˜QŸ';qxµØiõšõkÔ—#>ð:ƒ¿ÐþÍ?RÇx’÷õiôQÔ§}·³+â‰äu€¾6¿P#ëÂè†Þê}ƒË;ã^Q<²ù q±ÖÏ{ÎÎûhª¿(Ž`ß©g_MxÅã¼5OîÑWC=Ï#ùíŽy¾Ëz¥þ)yšÑ§U}Jóâ¾Üæ3Õó—ѹïxðz—üéè[jŸwëNæë©›Ù¿uèÌÈ÷¨Ÿ&¯›þ…öÝùãûÁ#u~ódâôZ_űöϳþ×{À9}å±öÅgâ­¯¨#·á&ÄŠÇjÜóWÕñ–/“ÝR/Sž¦yyéà‰®E/yÄ#øÅÃn™ßlÝõÜò%õÏÔQð¾æqÔ}6?eÜoß(ñAê¾ÉkS'ÂüôÛé°¢w=pÞÍ›uô™np3‰=¼Ék‹g”oyüôÑͳŸ<}v‚|õÈ ‹…ÿxpÍ­ûtÒ=±¾¶ðô†î¨ºoê™j¬ˆƒrœÔÏ’Ÿ!ÜýZŸ9êÀòA‡®é¦›¸ùµòÔÝÎNÒÇõ¶ï»uçìrçÑÒwbô¡n8xög¨>‘ü9ð¡#CÜ#ßbè‹éç©“¢.!ü–q>˜VoEE÷»õxÏ y =wëVÿˆ<ðÐÛR7Èû™÷&¯5êZâBñïμvÞéOØGIž‚}VÕ·ŸeëÒâ€áO«?tÐ÷?ï^ò=òe®Qù ô]<tãG<+nÑ:„vÑñ0Ï—_æúWÏšønà¡=ÞÅÁuŠK•'*/X¶÷S×Á¼“z›Æ‘Í7õ·±ܤ:/ƒ—/~_×yã*ÿÜxH¾šquÑ¥ÎÀ™ª§^…|VñDâaÔ­ËoU_í¶.ÿ¡}·þ¯žq$yþ3êv=ã9ã"ó;Ö3Õ£¦éŸÉ{0?Ûü,øˆ7ïÜl?ÒgR݇›~Õ÷ò'Õ·no_0ûdŠÇrœÁŽy3MŸÑ‡Hœ¬¸ Ï{û=yöáùõëƒS‘çù6ýFŸTøæyÎ~¡oÕÀÕkçÁÛŽ~;ž_ö/§f~Mvï'.Áz­öÙü2ùͳžä-¨ ÏôÃ¥î1ú9Ÿíçæ_>ý@íkßÉQ¯&Ÿd„“Ÿ0çø›—tÊ«×ÿ3^‹W©î¨¼ëžCü=yö3¾êcS·ëL¾wøAû|´nÕÝ·î¨_.ß~ìã¼òuÓU/Lû!OÁzœusõÛÅwÉ+ö<µÎ¤N¦ëÇú‚ß÷|WeÞdã{¨Sn_?óêP C=p°Î‡úBè–ýlíŠyI÷q‡ŸÛø£òÀí°ôë¸ û÷©—b|`ßOûRÑ?}ð3ÔS4?¶ÅUÖÕ-Ì^˜³>Øú{x ÖÅïEWeãï‰OµŒ:-ðqŸ_ÜRo|'ërK½Dþq®ÚOSœ­þZó¥~¡y9ãGñtúÛú%êzÊëUGÁ© ÷¦ÇoFòy7yÖXµ/™zÏö%w]êg.ýWìÓ.¿Áþ$£°¸3ã(õ ð߆½²Þ&®Èþ£äo\_£~CûS¿@ïqó»Õ%zÞΟ}SéÓ|«ÛÒóáŒ:<õ nø(g¿¾ñ©—ùÅú3g}ª+&eáS ^Žº^ð/ïô…ÖYþ¾yTuõ«äOÀCv^ï‰;:ìÛjñçÖ‘Õçì=ÊoW‰ëßoê“ßÜû—?ÛtÉÝÓá[çßk_ õ™ôWÄŸÊŸ ¾¼6ýqFäÎçÄIªÏ,ްùïÐßå»Û¯ÂþËêíéGZ§éúÅgâ~íGÙú«îJ~jôç îí¶h÷Ût!Å‹;yôÇÞw>ßâ|ÅñŠcYð܃¿n>Q= ãCó@Ú‹žßº8Ú­Œùvõ­Ó™77&.Ä|qû$¿Á¼ƒÉÖ·ìoâýå'‹WÐßTç¯øÎþ\äM.ûÉûð~ò?´/ðRG?ƒÞ×>ò•àmqqò 7~±úÆkž'Ö#8¯Ö~•½Ÿz[ŸsÏEûZnøYû²¨»aÿû‰Y—£n·ø âõa‡ëËŸ|õúïùÆðòªÀyŒógë‹Ö>D‡üÚt0äe§ÀÿyTë â–>­Ãt½¶¿ëV¯°õѼПaøY­3óJò«û~u]q6Åê$n¼Ï¥ÿŒølý[ñ_ßj¿Vû^«gÑ÷Š—‹o««[dy㣪“¼ñ»úÝ8L^™:Vê‰uÎȇ%u£37âxcÆ·gÝ[ç¡ØeÞŸؼc8ôðÔ®+ñŠòˆÄ¹©_î}é'¬Æm|(?¥çñ\±ÿxë¬|œüMãQqkÔõNþÛz“u1ÇpìšöÀ:bãÏ94tºÍ‰c²>ªÞˆçx¦ÑÇŠøV|õÊgÎÞ©ûc~F¾ðÑ ïƒ:yÖ/ÄïÓ·häWÕ½PMûµñÑ…³ÇÈ·« #î\ÞóÒ×üœ;æ\Úû0.úCO;L¿IuËF¾\´xÍ£ƒ€]¼xó±â[—~>ƒXüM<7ð7öý3®ñßÅŸ[·£n+.ê6ž‘ªáÒÏ`èkÛŸ }·¡+Ÿiè‹gŒÏ7þ=ýŒWÆ>²þìºP_£ëbGžFÜNù~Ï]õ½Œ·ÐY¿àGŽ:„üë¸ð†r×+,þ[uõÎ=‰‘OCïbèvÛ·vËo§ˆ‹P7ÆïY5ßÉ:z×Wóc<,ÞÚþåúËØóÕÖƒÇ>ÛôJëhâZµ[ÅòvÄeªófžÇþÖ©ì;c|­=üiy#/^ÖgŃ{]uìgìye|)VÞ·õkûºŠ Ðn«S$c©¯:¯ø òW÷¦®NýLì7fóƒ3~êFè2ÞKß“cWÌO©Ï`¾Ã>ÙKß—Ë:„ù3ëöꮺÚö›5ïV~Dü¼}ºÀ½œqË¿Üú·«¯"ÿÂ8Ø:‰õSùAÆýêȇ—L=sä‹–¾JæÝ†”ºNÃäÙ/óÙýÆËþ8ÆWÖ©å›v_õûõ?í7¹è_¬úƒú­ñzÄóšÇÇ×9j?$õ­c[¯3/¥þAŸk¼Ó+h~ú=»˜½§ïÒÐ1îîgñŸ}Õk‹ªw'Û|Pû^žøýæ¥ï7軾Í_Ø/séß辿ÊW9~͇¼IqqýÌ?Ö>YŸÌ¶®n=W½TõíÇE_ñÁ—EoM½3.Í÷Ûéݶþúžõ ã í«öÈ÷h¶ï·âXë ýiOÞX<ŒöÚsLüDÏa€~W¯À~Ëê¡´.Ü×­Ëî'Žü¡+lü§Þµˆú¿jç-b|o=€uµê%YOj¼¶>Ë}^œ¢ñ³¸wq*â&<[žóöýjŸ›G!ºç¶oµøîÆ¡uà~¶ŽeŸDô8ÅŒ¾ ÖKÌê¯5nŸ|ýåFxÿÐ1^êç|È/m?t¾Ë—Ͼˆwâ<«»¨.!ç²ùõ[}>yÆÖ­ÛGòúé|©jþZ\˜x³îG¾xðrÄçŠ#i¾Û§æMÄãj‡ó7õ‹Zo þØüˆ}tÆ~t=Ë[3 VÜ‚ºÏêÅ÷|êVƒÇ;öÊ<¦øTûª¨×f½ËøÄ¼gëªïo|NëÉÆÍö7k=½æoñœÀOþ­yqšô¥úèö£YôΟ!T=Ù¾/Kþ­ù1u¿Œ+ís¸èÆ€uhýøò/O}ÂüºùÄö!zVÖ‰OÜbÞ_]8yqòíÖ|¦‡Ô¼˜7VGH]®®[_¶ÞO\¿ÔþÇüô¾æÛGBëÇ .ç^ú·«vÖOóÐs¿Ÿ>ÇOVÞcu!ã`uâÕ™Ôµÿ1ó3ôÇì¯*?TÞ”ucõ{ŒKŇ7ö{m}ÙEþ:%Ãßi=‰—G'?Â|©yÇ£÷k?´nÚ§òKÔ­”whþ|ÝÀÕˆW°^Úßå  5ô%ÕAGÐs6Î=¯¸iõ~Á±ÞöÛÕOk]t.Ùw°}g\GeðÍÒ×ôä Ѻíg–}e?œçÊ/îwñ"=wù#ù@Í“8 u`³[½Oñ³|*®#opèÆ¶­Úï°ñU]ž½~­83Ï7ù[èC ?({’¿ŒýúKtÓ‡vÔÙì‡,¿»ñ4^Vg xÍþÒêZ§’‡£~’zoêIú'/~þÞà­Gœû…÷G¯é"ï÷ß÷ñäÅ6nÖ{Äe©Çmß8ó‡ú!â®Ð·‹÷àpŒŸÍ“·^ÛïÝüÚ-Ž~O#o¯¿(ÞB|O÷Ë.Q”×"žiäk´/æeÄwÐïᜓÚÿ¥ÐèÛ¤‚}Åߪ‡a¼ïaäõzùsú“ŧÖÉšWy›â¦Åsàgý'?¤ç²N*þYžKÏßþ²ï›qœu'ã|çW§¸$uTåª÷±ä³Fí¨þ£8bí:Ö}¿qÖ¿ßú;µÎÌ ˆg¢_çX‡ê?õâuÑ3ú¯úÆmêû©O¢Jë&{%ÞkÁŸ]Ö¹èßu«å|‹ûiŸ–çó\EÇʾ#_½õuõ|§n|ìYç¨}ñÄ!/ýhŽ¿Ù8ØïÁ:ˆ¼tuz¾ÎMu?Àµ ýõ³Ý_§yÙæY]^õÐìCƒÿqÎ[ó¾M»¹Ô]/úžñ¤ß¼þƈNžã‰#Š Ñ=tzÿæ{é—)¾u૚wqeâíÓÖüùþâáu\ŽƒuÔüžì‡zˆ®CõòÅûÛ¯G½=ûaZ§­Nl_ yýð7†þYë¿{èˆÀß–‡iÜoß#û2øœ—:ˆâmÐeZׇñޏ¥æ ÜÖð»àÍ >(ú\×Ö‡ªñ‘ÇªŽŽzTe.>kÄ•âøá½È/aœwî§Î ºo×ÖgV>‹ëJ=<ÇQ<­¸ÎοìOãþôs·ÿõÐëOíü÷wó ÆQúíògÅÅÂOñ¼z£æm¿³'‹Žöy_ëøò½ÄÇ’W8nñüú㎻q“}gë©öëpÝÛ×Ì~`ò¸ÐoëØuo}ÉõÒûªÇ£žóÂ;u$ë’Kÿµ¡¿Ã>²Ïùˆ{ıÈRïåô­}æQ<#úãÜÙêæÞ×øX\“ymø{£O|†æã©Ó[oV/bè”lücqIø#êÒžxÇ|‘:”Úk×¥ók<²õ[2ŸŒ^àñŸà¿Ýæ:¯Ðëç}¦ËÙÿyã«Q7¾}_ýú]ÛõÁï >:½òB†>»ù9ÏÍS}ö‘õJyÍæuõÇÄ“È÷TŸÁzøÎÿ”ÿ’Ça¾K¼¯8Oõ*Õíl~åˆG5Ï~´øæ¡[׺küµOí?y¤ŽãÒWô^t³íÃ~òòö›7 Ný¬§e_×7qôÙO'E½Qy¶Ô›µƒÿm?‹?0pƒÔ±GþT½ùŒ‹náECãEûœ\à>ÆùÞóW°Ïç!:R£_”þdëÞÂðƒô7ìû]ý«u&¾êäcÜ‘u^òÑú£C÷M^¾ºÀÖ¯ôã¬ó‹#¿0ê5žæ»~é±›äWÌ› ËóÂ~ÁÆeèW ¾4ùø_b¾aãOÉ·§£':ú¨o:,õšÛ>®ÚoýlÏSyžWöóÒÏ©Žm¿HqùígŸW{lEžý¬ס³]ÞaÓ©°Þ,~‰ºèe½ÕúqÝÙïö«2þË~ŠÛkœÐÛµÿ–ºÐöSý"Õe±pç¨:”è]êjŸ>.£^‰ñ‚ºÞg³Sæiõ»ÕÁU¿FYë¬ÿQ@Àþ¾ƒÇ(?U¼¤x÷>Néд®$/VÞõîU§¬ú:ýÚÔw¼ä›OÊžé¯7Ø7wðÚ­Ïu?ëWÖ[ÈGÜú Ž>´â~À¨ŠCÝú+Ë7AßaôuWßó]\†ù}ø}çþôåý3Å«Ç^]Ãü <´Û>[=OõÂ>/ïʺyHëEô÷{«Ïó¯gˆ0_bÿ úÅÜ”þ¨x õ6ä¨ã¶õg”omõ éS­ÿ3âoú }ëÖÉ—zÞèë‚~Ÿ:ˆ?móƒò&Åñ¨/”`\&ÅxÑ~8öé£}‹ß'ÏJ¸ëíC‡J"y”ðƒÞêwøsu„F%âjãÒÁG¯“_è|ƒº­“©k­ý4~ê½í_iþËóT>bïÙy_<)ÞÎú˜ñ¯}¬7=·ÌóÊc__ݼ³ýBõ[Ï:×oQ'ÆüŽ<óxâX¬×›W÷Ñ~RŸW}žMßB?Ý~Dèzžùµ®,>Ò<‹vVœ|pë®ö²¾«ÿ Ž} 󋣟Šz•ùíê€åµÎíw†žÏÀ—ŠwUOŒ>¿ògÔ:ãÆ—øÖýF~Ѽ y^ñ ê¢ËÓP‡E\¡ñ7þÜÀ·YW±Ÿ ù õ Ì»´.ñ{/êdÎï-žDý y< ÎZ†[|.vnäUÁ™_ô¿»á§»£[>C?Bû ŸT»7t\ª‹õ^æäe›íwq8Ö%ä…Ð÷õœsú—ö'µ>Þ}ðÒŠSå#Ð/ñ^t¦¾Žý^@þ•õ%öÏðg­»vž,úVâºìÓ7ôüÕYx [¿[qrƒwb}C|…uUêC?ý‹U]˜{ë릞8y•žêŠg‘gÌüJþ¥õJófò®Âñ K²éÒ<º8²¥éþq•ü,Ïsû®ê'Z絎NjøýøÛcš75oçz[òƒkßRx?7þ‚:Ç£Jóž}àN|.õ¦;7Ñ7uäÖÍbÕ½q‰z¢ö¡R‡Ñý_ÝÒ:®ùWúxŒx[³ºŠ¸|y‰æ™Ås‰W%o~™uŸ—|~úŽŸ<ñØ£‡1ú\›÷Ug°ëÈK×?p=.zÂ#¿/þØzzdâ'ó¯­O×Uãïuˆƒ‡ÿMÞnÃÏÞèVjß~£÷*~µ.Í8Ÿùþѯ|5áC/"ûuè̘·TÇÏþò0äµm}a¨Û©ë4xgꢊ{QW^»mœo~ƒ8gèMÃSõ\¸)õ’íûÔ¼ª#©_Ý:Ó_±‘~‡}|à7Ø7êä±³óá´´'ô˲n<úfu®šÇO*?Q½öeëÙ:žz›õŸÎ#×mó,R¿Áçì>Ø•Á·²O5çƒýVot%†_Ó}ÍCdì‹Þ@Ü¥žP÷‹G.~G]VùSôŸ½à_êç¢v‰Ë³?¸xñºŽ{ç<ý¤næ}ðNšú«Œ÷UÏNݳÞ[¾ÓÖoؾbâ»à5™:û·ŸG_ã‰ÏÅ•èß;?Ô×ßÒ;~âáMg“zÔyù@ÙCï‡Xû¶à œ‡übìÚ™wûfºù÷¡û"ÏX}öÕÐEÓO¿¼/õg¬±>G½œ¿û|äkµ£ú§éï¨ëƒîËàÊ·‘¿)Þ‹~MæçNýpó(—<ñ:ž¿úÛ⨬Ÿ{®PŸ±/óynê´C?Y|¢8žK~„þHvJ½@tõ¯MoE»¤~ö¶ùì~âÒÊWÀߺí#h> Üá¨Sˆ«±—~Wõ:õ{ÝÏê ÈZòd#íú²^eÓ: Ï¹é6믹näíào­}Óà+º_G>Ç~:òÇíÃ@_€K}ùéò íŸc>âàžsÖ>½öIÃ.¾Ùên}¥=7\ÚóÖê‡&_P?\Ý_óþÆ¿è?'šw8×éûö‹ÿ¤ßf_Sã7t£nñÓô³¸é“7pöSÿy០=õÀÄÿ9ÿ‹þÓàåe?í#d=T|±v_±xky¥Ô§N~þ¦#žXð~ã¼ ÿ™¸«¡³aþ_{¸é ȧV·Z×<›º‹[}Eþ—ý–ÔG4Ï€îð{͇u©pÚ3ã$ú ýù•â¯;·Ñù•;úqéGy>Xg'N²~6ê|æïà³>ýT‡‚óeð=kÔ7gUžÚ¾éêí÷÷Þ§q2ŸiÂúPëfóïí¯'oZœ\qP×ÕŸ—5ôàK |“þ;ó0ò&[þ[;£n}oN¾Å~m컫0†ÿ}Qw?þ ø½~>¼|u³GŸmëÖ­´ƒÎÄz±¸2ëêv9.örÚÉüü„Qo@\xO <üéËøàšñÑæ쫼ô½ýÕ÷q\µ—â¾Ô2Ÿæy(_]þ°utõ‡µGò Å«©‡&~Bœ­ŸÀ¢ß7ð5]§|‹}þ|oýë%ž;ðŽGþ°xÀü+¸óÑOV»«¾:Öúò³Åó¹¬gûÙ=ý(qêÀëOX—/k> žèÁÝ5®›~y!ñ—꣈³ñ:yCõ\Ï:Éžª7ßn|^ž<%ó¼CL>+|yˆ—z?æqÅ[šÇÑè7XWí¼4«hÞ²ûÖ×íSfÚüœ¸)ñKÖÝ'îƒÆ!{g_ÍÓäñWˆ ޝó<Úú„oõëý{ãH½J¼ÏEpÔ̧ãߟ÷k|¬¹Ïé_;ò¬â,ÕVÛxFܼé ÿúø1ô˲»<Û­n,ë<:Ò£/‚8Ö…§6Îqu@ÔËDOnðÏõ›¨7©Ë ž×GÏ7û‰ØïÐ8V<ú†_tý÷9÷—vÝíËþ­î#îìEöL¼ ñبÇïXgw¼»ŽókÃ~7Ϻð¦åQéoÞøÍÇÎÚ/Òþqöé0Q·ÜñµDõGýZyãâ‚\àƒ‡¾ë_Ï1輂ø;xyömµßÝŠ_ÑÿÓß’‚ž8Qq·CÿÔï‹s·à÷å§¿\¾Ì‚Ïõ|ã$û qûY}F<«q.uBy£Ÿ‚ëLÒá‹=¼\öÕЯ·O”þ§ý¡ìïiüm½Wç†7òý:OÔ×'R_pà ½­qnkOÔ-¤ÿÀÈÿŠÿ%?v‹Wµ#}‡nªú#êÈÃG¯zäÓ©ޏÝù³ïz/ãçþ>†÷¢?=ôM´§ê¥ßë?™¯—窲ü¡üímÞ—>¿—ø$ëæe¬“.~Ée¿mÏÑ®¯?hßtõµÝwnÑ#±/âÀ×Z‡ë¹ÄÕˆ/M'uÑ¿¹7½jëcô÷w{Û÷A\¹ú<æq[Ÿá[Ð8ã\S@~éR/¶n:êa֑ȯœïµ¿­óÊãÚÎ]ùîꨘ–—½õ§¿:ôcÕ'?«]uÿ÷œêû'<×G‡KþÃÈ?P—z{Î/~ÈÉ“5_;ø´Ö“å‰uâÖ‘/)¯¥Nñã9ß|Oyhê'¶^ÕÕì¹?ñjÙ¼¦þè½á]å_i§Ä'‰k0þǪNˆçªýO›/ëêω'Ÿiä¸\ß3­#ëáÖE—¼ÊÙ¯ðÃïË<úÄcÚG[=Kuîô/>»úËòÍ£­:Öê-Éï|Ò_².$W>µä!ókF?¿Ö׃óõÃÖ§:Ž®ûшV7Xü~žø÷Íy]úï\è/X¯çRþ_ç¤q¢ëÙ<|ç°<.ñþݺˆ}‹ZçäÇï7`}ôðõ:ÄÍÛgJ?“|èÈ#X3?…nÍèãÚ¸Ú‡@¿3û¹õsUçÒ}²éq†O®¾ _&ŽÇ<³y í`vÉu£ŽŽøíó†»pý{Ήׅÿu£Swôì\'èõºÖò|£ÿ¼–+RÊ|©çÑoÈ7¤ÿD—}ôÛ¾Ðæ ÔÃT×ZÿÇ}Òu7&üèïéýÔÝ4Ÿ*ž‘~Ã2O¢^zMÚø¾ê‹Œ¾LΫùúx ¼­¼1u ³àî7>õò øâ¡'¦ÞÕ¢Ã6t>º:5ο}äÊKï¡Ç<ü~ίÑ_ ?ó’G$®<Û¨Ky~w]í•ñ²ü|õÃÑM:Ûâ å/‹We¼W^EãÙ:UŸM|·u#ó¯êXÛ¸:sóÒü.ý×M¤õ>ã4uIÔ÷ã<¼ˆÇÌçÛ/cèüm|1óWK_ÙÁÏuž­‹4îåqÔ•´ñ¬ä£Ÿ›PŸgëŸØó;îêݨ»'Óúd¿ë§·Ž]G­û €Ó¹åÿ¨›dZŸÏóÊü©8õ°í×d?#Ç•þ2£Þ¦Ý­ž z„g<쇨žô–¿j¾Ämèç´í×ß›'ó¶ò¼¬ƒª#ºé"ÚçF|CŸl~ºy(N6o+_CÝóêù%Ïz[uŒ“ŒÓì“j|‚žõÐwodœ®ŽŽ8C÷½õ^×1}9Ï9î>4Ïc=[Þ%ý(å/x¾ÝÖQéóèy;òŒôqõ*uרûÞê-ø6óÒƒ×k>¿õÚ8€Ó¼ìW[žA?Hž­ýP}_÷+8yû ?_Š:wúcô[=~Žyî­?¹z ¾¿ñæÒ_vàáûœ÷?ï<Ò?là&¨œçµÿSùÖìšù ùµô°Þ;ú>ˆR7×xÍ<¹¼ úœüžÑOWˆç«¼tû­ô~á\ã7š‡#/Ö8R\æ¢×vÙ¿ }Û>vO|g_ôÝïÁ[ØøÃÖÃì»#žM½âì“ãajÑ ôú£nN~á_¯ßÖcÍ3õùìžuñê%öwõg6<‰õÅ“¤Ïì¦{>ð¡ÞØÐ›²>O_ùÏ×5>p½È ÔŸXxÊê« ¼NëÔûª¯i}ßqÒŸ±±ý@µOÆŸâÙÕãÁouDñÖµ½ÿ[\ˆyqñûâÜõYå{ÉoÑØòGKê±.?ö*½ÿ5£ÙÂ{<~‘~^ë¾q”_/ŽZ\“zÝòè¶zŽøAëöꊊ;¿Ù>ÚCÿÞ:»8,p‡C?B~œûÝü“x+ø÷çyÝŸâŽÍ_»/¬·‰ÓÉدC^®~ˆýHŒƒô'ÔõÓ_²¯æÆ¯7/ ¾¹yUùŸêÚçgëã®Â+–y‹\úžœýJ~`Ô¯Õ‰±O z->'ý‘F=Û>²Í ýFܬ®|yLózúŸö뇛_aß2ë«›Ž­ºÖòâ»nq(ó1âü'qDêúË7¯M~îÞpÜêwåO·_µ+Ú)ùËæ9»nzîæ_Ðeºöm]àoÝFùòË®âá»ozkÆU'‡ÞŽú2êÄdoZçôaµoîù}ó»­‹?³qìþÆãê lúæìÏáyáyßó¿Ê?Ñ_/2üùwú©®3òðƒw£?fÿGùê°m}IÂñS²/ʈ[ÔågbÞæ°³ðä¶zÉà‘P¿·¾…Ö]à¿^ý@Õ»¼ì«kþ¨Ïƒ‡ømí.|þò&×(~A\¥qPëéô9~êCƵòŸà…}$»õ(_U|¸`qWâ­gõ&ÞÒå|ê1Λøóø#~ /#޳üYv|Û ?Ñyý·ä?èYÔÏÛtFõ»¬'ËŸ÷­n»yØ_9ôÅŒ«Ô“mþŒ£¿àï©?$ƾxÖO­Ÿ©¹å)Û§Kÿª3OòÖÁã¾éæAŽÇcOäÚÿIiû9|œz:âä±È—–/µèŒ>Hêl8Ñã‡>þ øäÑWÝ:¯ã¡ž†ý$Ä5‰/ԯоÁczvùƒ­{pV·8\ó â&­35þâÔo§N3òlÖ3ÕÝÏÏ]ââq?t#‡.@ŸW‡Á| z*×Ö/Eü©ó(~ÿbèøýèŸ[÷}·Ô$8pªØÛчF܆<)íœçGë»øÔ¼XóILqpöÉ}ƒœ¿ ?j¿(ôuG=¨çÏm¼¨î»<õpZ·ÚEó×òõÕá{»:Û¦f?’Æ­ºkëëèø>ñ7}3ì/vÞCݹìDúžSøÉ·ý¸=‡ì³Ùú·é9©ë ?äR'^?Þüëc³êAoúbæs\×ö)ô|“Ç~vèØ÷A^IëB~lëÃü놳A¿dŒ‹u>ñBæñÉçÜ‹NÔÍ~=Ïmý\¿+¯ç¶Þ&^ÐþKâ|Ì3ŠK„?«îàY—Ÿø²}ËO~ãFß$ëþè]æ ñ'¯EÿmÄEúÓž÷êòˆgo³³Ù u¹ÅÙá—xV}õŽÀá ½|ûFYç”ßfŸqæòE䳯«WO];ûÙ»?¶ü‹xyžàVÆskÕƒeÝÆ:šõ@ë¡âœÕuQÈŸÖ[ÍãÙ÷séÛ:ì–|¯~6á%Ô×·>(»ç¥O_8˜ÁGßÿ6¾ÃÏý¸Œ×;1ôë—üáÉcáÿ ]ôOF_vâ¿ÑÚ~kàkG=Ø>«â‡å“W›G3ÏîyjÝ÷1h~KýeüÚÛ>[öñ²ŸØ‚—ùeúC_οõ`ûËûП_xŠãÜ“AÜ3tyÐ9ñºò…Õ W—X==êêf¨ë=ðwè |¤úŠ¿×ó\Þx]àŒ‡¾q÷8¿'ûTZçQL¾EãfzỜ¤:ì—ÚSubå{ª§åyd_ ýgÎÙUO©s€ºáèWÕ{¨»©n±×±n'¡8És½ç>áÐéA/eì£~}懷¨ž·<<êâö ÝòvÇoWß[Ý6í´õêeŸ{Œ¼–þ½y~ëŽâ¹õ›Íãäÿ:ßôÁ»Ô¹è>½§ýöœ7ñ,ž‡â†ÔeggÞD\ž¸quÄòY£¿€ù5yHæ·ÕÇ•gcI½OëŠÕ—ȃËgº ïîg"_Y{š}7g]>ë¦#¯¾gö¿PíkÓÝç`Ü¢^¤}ƒ´·â|Ô±Åïùu׫|Žêú׃<˜Wºá~Î8Ñ_E¼üxnë.àìÿ:ôhÝ×ò‹­÷ÙG]íQOç¬îæÀ[-zP#©¤Î€<¯Ö™y…ÏrËã0!±ñnþäù«Kf¡Ž‹|qþòK»¯:oÖíÝ—­£ì…ýpµG[¾TyáaOZâ¸Zè/~5êð.ºŸ¤î®ùjqÞ­‡âó›ÖÙ7=Yõ™ÑAºÅ%’wÛðƒÿ)î]›¡/ Ž%¾Œñˆq—õ3ý*y‘êÊ7DŸhÔsÌë¿Û×ÞzØÑß|üÔÖŸ:@èè~ƒzÚòúNüéç$ºð¦Ûhåôß|pzÔ[‡½Ô/j\—>gæÏ|šçë>í×™:6ú±›î‰}Í7‹ßjþЃü8ë:ò%Õ©ñÜÏøŒƒúàš†?«^¯ùHò¶#¾/Ás ÿZ½¼K´M§U=yýDðDÇ>TÏ3n²ÿ$û@}.uü/x¨—u]ø(#µ½ôU½ìok\*.ª}†yy®Èÿ³öÏÐï·^~Í[çöc7¬×ÊC4¿îpðqÄ ‹‹’— óøàÙ¯æ+û ¾éä—ìkèyn§º'ç}—õsÙ@{I¾aôYø7þýЇ¶."¿@>¬ünðòÔäQ‰¼èK3òÁâ׌çÐ]<ç€úöõ©¿Ú‚Ë¿­wô|KÃÛý)ÿªçD?nðzåQšçiý™à\üýÊÆÉþóœ‡×$¿\ýÐW6®_lÜÛýÒ…è<^t©Î>QgÅú"þŒ8ÓkÉß< ú¼ÄWgþÞxYfûÈO¾æ›Oû8áר“¬þ¼ýþN¸0?]¶¡×,îCÜ—uêöy¯›>UÃÏ%Îñ™y&ëIú™âéÍ å7Xw¶N ~èñƒ†m~[]qDÔ㎟·éo8âË ]’»Þ{/ûÁè‰7´?#ºÌæ}†ÿкͪc_þ»~†xýaë}Íøý#ûZ‹s“ßfßYó’ômý8å¥tÝ%Ïz/ùÍã_˜W1ÏÚz3ž3ï%Á÷ܿܽ|õÉç…C°¿°þ“ù#í¿ý’ä{['ïi}^Þ±uûžÇ>Ãá'äÇÒ—yø3=§uynö3¿"î^ðåê>qö9_L^yð{åͨ§L¡ÑoW@~koŸT÷ì}Ä1|òÕ0¼û²®…žÅà‡9ö‘—צ_¢îœ¸)uº<çÅ%.8QõùFžJ>°øë`ö#6/*ŸÍ:Œü÷ê¦Ös²â0¬xö>Ù®#ÞÛ<ˆuÅ-¨^¸~#yù³ÿÅûÏä—‰¿]ô F¿nò’#N÷ÜÒ/!nï)ßEýXãZëuà–ÏúßúVo8%u¶õaßu­­X÷P/Õ¼–ùÕæÃsFžš8jõ4ô£¬ãrº¹vT?§z :X—ù6yaê„ùÓø×z¢8 ë‘úûòTýýÑ›<êÐwؘùAñ==ñ\çyÏQ,Î_ìÃÇ /ú\œ7uðñ\à<ÜWc‹<õ—§¯ÇÂ+2üKñæ­ƒ [rÑÅq5Ö7yû’ ½RëOòRÝÿÖó¬+ÏÓ|ä¡é—>ôïÌ#{Þ˜¿‘W¯Î‘ù1õQÔi7/Cií{±Ôµík1úIgþYêblzLöØêoòMÔ#3^0ßܺ¤_渞ñ¥üfñ~Î8Y?¶÷kž« ˆ+0 ¯]œÕÂS}AÔac¼Úp%êTmqÓÖ§S^þ¦·M¿ËËú™ùNû ÛBþu`ûIÊ·ìþ®ë,øÕ§^‰nÌÀ“X¿ GTT>°ñ©quL׉ó(¥ñê¼SïZÝ*óüò²ÕýYâÓQu=xˆO¶î.¯}±­ïİï½_õó‡êª'ï{‚Ÿç:äæß£¡ONVõ|Þ¤u îÚøv›~çBã̹£.ÖÀ¹Å%·›w£Û­&OT?o[ÏèT¾ 棩7ÆúVyZñ¯ÄMCo­÷7ïöÄ#Ž´;þäеÒ~Áë»¶>é È7¯¼ÄQÈ›ïJžlÄSòç¨kXýØ7Ü–<‰­ï‹çà¦ã«>eöÞø©ú»ø=uóÝ×ÚyãþÞ¸zí§ ~uÄ©úÃâѬ;{}úÒ¡y—….ƨ÷ÐÕ¾R®¾yí¬¸wâò³ÏÑÁø"ýxûºÇ },ò$òV}û°õ¾½gûÇ:†yDüüÑwÇøÖ¼Š:†âP?{¯žÛ|»þ†:Dî_yöä†Î‹¼>qÄÖ÷å)«'+WG|0}Û‡î¦|û¼¨Ão¿@u Ìï°o¶>·×&îW¼°}„õ#ÇäÙ·¾¬È_6žÔïS·ÚøV¼¬ùÆwôs0(þtÓióœ!þ:è¬ùÈÖ…º–>§ç G$ÎW{ O¢ß]?Ö¡õc¶þ4âä‘ßyx’=ß‹/þßÿ<µŽúñÔRwave/data/signal_W_tilda.5.rda0000644000176200001440000000360512377701075016037 0ustar liggesusers‹íiLTW€J)†kUÚj´.USÒ&uŽ–JbÄàÖŠ[¨¸‚Kƒ&ÕÊ¢V…€LƒbÔTmTt4ïŒu¡X5Š-•&VâR‹Š NEÅ@IÞ9ÏpÍËÁs~ðÁ,ïÝ{ι÷1óã}>‹Ú!²ƒÅbñ¶øx×ýô©ûµMÝ//KKû:,™·xæÂ¨ÉQñ1 gÏôaÝcþu[ l‡=ø™qûáéEgqEbFuÉŽl\”Y•Ô·×ÎY6±Ç0LÌÍ~”»3ƒ£vFž8ŠYa…³ójSÑÖß¿0´WÚ'¤MAÛãk{ý¢o í†£ '0m©wöÝšu³Š“c±ÛpC~|ÈÐcNÌoÝ4ü$¦-(ùgJ4®]×éÇÒ÷“qõv>ý’`JmÜìÂ~på­ÅóF¤à×!Wo¿:nþraãúX\â•zdD>.òKé]»çVö\¸÷œ™·kÑæüœš=ê«„?qâøÎ¹£—}Šcv…·?~Cgì.ñª=ˆŸ vïÁF ‰9w>¿ã4š—’wk}"~Ðsˆsqqˆ‹8¿°û…{}9aÜ`ì“>ËBðÓ?õÜ´e8ö;xƑܧØcú)Ö¨CØõmŸ*ß5Ë10¸riDê¿è÷û“Üìc°Í’o~½\°Z{Òi\ÀõIÚÍNÙ+žöÙn¡°–ªÚz°"ÃZ¡Çúàâ¼ cás­•WJ²Ïìë}z¾\¿µ”Žc××®?>¸îÚüšS'ZFà5»µ7¶õ}Ïûnav,J 8~ è¯ÇÀ¹þã‹§îÁÎ++F•w]6Ÿù¸¶äM즃(ÏÝ-!ß~:»‡N˜Ów»¯Á £A?ô®ÌÁn ýr$b×›“¿ËôÛ‚]&Ù§­¨‰ÄÎ?·wÁý@ ¼æ©CWì¤Ïýï^ÊŠXô ;Ðûy|^züÐ|5Ê‹‘§Ë”ÎÍ×Z­ËZ›0öó1à=e˧ª‹ÁG??øêó„¶zý žh§ÏûEÒóüz~?Õ¼õº›Ïk}qìÊ0Ë_ÖÇzXêç¡~\ïóõç§ÑüižÜ'ÍW£¾à:ktæ¯ÕÌßzq´–eԟƇ”¤q#å…ûÛPßÐ<º4–ü~&—ÏÃçõ¡þãñðø¼¨OxÜ4òËóÓ(ÏÆ¼¹o8U”7ÎÕÁÈ÷×=:îm:Nyýõ©]ÕÇÇ}hÔ…×ßot|ª£Q?ýmWú—þ¶:Òû¸ Òñ –Ö_ÿy]47ÍÎ§Ž‹©ŽŸç¥R¿’'c=ØëçÑÈ«CÉ7“ëÀuar½J•õÅäúr½™¼¯2¹/˜Ü/Lî#&¯[•ÜwLîG•ܯ*éº`Jî÷†ÒYÿúÑjØØ<¨t•g3šÕÍŒfõ7£Ú?®hÖ‡fTû¸¡T×CC©®«¦R]¯ÍEu_z[ªšÊæêóæbS×ëËbS÷!¡ðUÒÝ×Õ«º>¿,ºÛ¾ïéÿW”Õÿ>Æm©~®óªŸO=êçï×…üýƒðÿQý^GøzÓaòýŸP(6íB¡P( …-K‹„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„‡…qL¡P( …–¢C( [˜f÷Á¾žT= ¦ÑÌCÑÚiæåðT¶”¿¤¥Éw'ÝÇ×íI÷Ev{Ò}¦=†ìj-¤û¬ …AOYWî¶o¹Û¾ï)×QáËù¿âU_Ÿ›ºU(MW$XƒÉ¾Ë†’}§ %{QKöq6•ìmmll\åÙ¬nfõWûǬ]]W]]?Ô}?¹ò^šy.èµTý–öZª~K3Ï¥™ïÒÌ{ÙÒþW~ ³ûû»ò¦ªß£©ß‹¨ŸÏ¹Þê~Ë}¤î[ܯêº'¯¬á÷%ï¬áfÿ/yj 1ylÙ ä¹5<Åì&/®á-fß0yt ±á3Ö½»¦á3¦ãòyø¼<›æaÌçÍùà劚}œì÷eÿ/å÷¹ç˜|Âì6|Æäí&¯3’çùEÒóüz~?{‹)†˜ýÃì­¨¿.Œþ-Sö;ê#¯\òby²¼Ù@m ¯6gÈ» äáòryºŸS÷xy½<ß@Þo 8Èä 7ÆÇõw*û*ïc¥Š7Œë§zQ+ê{w»x?€Rwave/data/W_tilda.6.rda0000644000176200001440000000441412377701075014502 0ustar liggesusers‹í}PUuÇ(%(W3×ÑZ3ˆÕI‡TÊry\QÓL •W¥B™ŒñI’·¥Wµ«)Ûܱ­ë,š.í}.”w‡ “µ]•5E‘^_r5Âeæ<ÏiüÝÎÜ+‹Ø}ž?üpåÞsÎïy¾¿ß¹¿ÃÌóM˜’|wHrˆ¦iZÀŽ{tüسã-@ë©w0xμe9 ³Ýñ¦iý4¸ï½D{ñÄ÷™XTîŠÃÌèØ²Sµ 1;.2°°¬Ú [à+\T½§q¯³?.“9!¼r%æ9Û*š›*py@Åøˆ„|Ì”?}ÚÅ\,zè|JýZ,t NÊúb®Jo‰Ÿ;ðe>¹Ù•ƒÅAiϬ_7‹×>81f™K‚> (σ%ý¥¾ú©—°äƒ×ž?ºi–4õJ¨8ô7, l552KûÌ[óâSXª%ØÐ»KÎèûÎ,ÙZ³kêïÄ’ôO"Æû‹Ûf„¥ÜXÅO~ø¼-‹Ú.„~|ÏíX4/ruépUFû®C#&cá‘‘ß?“­=ŠùåçÆÙïÀ½¾,Þ·|>™uxÊÜcÞ©Kk w~‰Ërg„þ÷ù`\òÃÝ®ð“oáâ•w–ÂE¿­M_„O4}îýD||E}psótÌvôžä´FÌ>ñሳC1k÷§ ¦9vâï·ÿõñý;[0ó“£UUê0ãlû¬¶W^ÆÔg÷TA]ÎɸùàÌ”Y˜D盽½~ÔªcÏáC 6}ïX‹ñÿyccdê:œºû­¯¿4'Ûn+\ZŽ¿±óè™4¼7tâå¬}/àØGHÚâÀÑ{§¿m Ž‘{jÊglúïèxWêñÏpø¨·só£nÃ[·}´½öå8ÚçOšýב8$ºñÔÐØ»pЖû+zû&ÙÓ Ú“1lÚ¤ã‹ß*Â[îÿçüìIïâ:ÎÍÙ¶ÙûS·aÿ”7º¾ß7Q]û•®{ËAì›×oæ#Ãr0´1'lJß;°wͳ·ß5{ †ÐyzÝÚ£5è+ñ† ðÀ³ÿ¨ÁžK ?=²{5Òñ4Wë¦g^pü•3ïCÇÅ‘K÷kJrüO¿£¥áÀ†ÚmàøV?ã$ý¾‘þÿ}®ŽŽãÔ©QÄØõ×15úçbè}1ÿº°£ìÄ‚fƒõô{•êûê”ãÙ¯<Ÿß¸:Žã½nÒã8›ðØ›ƒŒqñ8ÏÓï/èys\Òóhäç2å;`昌Ê7.yìAuâür¾ox.Ï?7¾R;áò¾Ø‹ê¬_—Q§¿Ù:¼e#ö֯˨#³Ï¬ª†±ÚQ¯©~žËçáóÛ·[ï4®‡õÂ×Ë×oèGÏ1N7ç!àóùCªfdº¢|ùkÓ¯ÏÈ+ç™õÆùçzœ£ãp¸n¬C®'ëñ˜RwÒ¡Ò¡»‰^™NEo*YfTõ«êØÕó9•ëR®×˜ö+ÇgŒ—Ç_§ÌÎçç5ç“óËä¼}Ó†‚K›zp}ÎÐç¹n\Çf]F}™ß޳ dÔŸõÐJÇg0yb}Oçe²ÎXwíúúnuÉóY›„'ì1ÃY·yž$}«dýÔÇåFž/©ç£ûÒÛqðú`’7ªyTh–·:)TëjëþÓTubPÕ“õfFÖ¥JU¿*Yçfäù`Fuþ¨äyæ‰#õUõ©/¬å¤>¶–“úîZFê l9©±e¤>Ë–“úB[Nêcm9©ï¶ÏH}Ã}Nêƒ~ÍI}á…~ή֯æ•ÕëUë–Õë«Õ÷«ïW*}uŸý¥ðZ}O°ú~þsï¯?÷~E¾]n$Ÿ/S’O˜ÉWL%™9õï«n$ß3sêßKMI~kæÔõdJò}󞺮º/½‡i^”ü™æ_©“[}õº»éEÕëuiv6»Ÿ©÷uýV×Þçðþ‰÷g¼ÿã}&ïgyÿÌûvõù?×àç0ª¬™Ofg}1&}Á½í'ÞÙ~ôžú1Û=ø”:=øërÞÔçDœwõù‚º¯æúªë8ë„u¤®ÆúÅ둲®ð|!Y _Y ŸY ßY Z _Z ŸZ ßZ [ _[ ŸÛ©ûßùâzMþœA:Ÿ‡ÏË×C¾¾ÆõòõóxxœÆ:Áë€>ÏyÌùã¼rž9ÿ\®×ëÉu®Wôà4™ªÎUýzëg¡êYÕ«S™¯<¯Y¬C“õÆëåǸÿq9¿œoÖ ×‰ëH>Ù@¾Ù@>Ú@¾Ú@>Û@¾Û@>Ü@¾Ü@>Ý@¾Ý@>Þ@¾Þ@>ß@¾ß@>à@¾à@>á@¾á@>â@¾â@>ã@¾ã@>ä@¾ä@>å@¾å@>æ@¾æ@>ç@¾ç@>è@¾è@>é@¾é@>ê@¾ê@>ë@¾ë°øÕ÷wÙö½ äËäÓäÛäãäëäóäûää äää#ä+ä3ä;äCäKäSä[äcäkäsä{ÅT×â ´gÖ¯ EY§OnvåÀªô–ø¹O@¡kpRÖ#  çäÕ ŸEAþ üéÓ.æÂò€Šñ ùçl«hnª€¥s2'„W®„EÕ{÷:ûÃB›£a |Ùq‘…eÕ9näŸ[w|‰ÕI宨¸É·ÿlÚdñ8€Rwave/R/0000755000176200001440000000000013064230016011532 5ustar liggesusersRwave/R/TF_Maxima.R0000644000176200001440000000706211217041512013466 0ustar liggesusers######################################################################### # $Log: TF_Maxima.S,v $ # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### tfgmax <- function(input, plot = TRUE) ######################################################################### # tfgmax: # ------- # Continuous time-frequency transform global maxima: # compute the continuous wavelet transform global maxima (for # fixed position) # # input: # ------ # input: continuous time-frequency transform (2D array) # plot: if set to TRUE, displays the maxima of cwt on the graphic # device. # # output: # ------- # output: values of the maxima (1D array) # pos: positions of the maxima (1D array) # ######################################################################### { sigsize <- dim(input)[1] pp <- dim(input)[2] input1 <- input output <- matrix(0,sigsize,pp) dim(input1) <- c(sigsize * pp,1) dim(output) <- c(sigsize * pp,1) posvector <- 1:sigsize posvector[] <- 0 z <- .C("Scwt_gmax", as.double(input1), output = as.double(output), as.integer(sigsize), as.integer(pp), pos = as.integer(posvector), PACKAGE="Rwave") output <- z$output pos <- z$pos dim(output) <- c(sigsize, pp) if(plot)image(output) list(output=output, pos= pos) } tflmax <- function(input, plot = TRUE) ######################################################################### # tflmax: # ------- # continuous time-frequency transform local maxima: # compute the time-frequency transform local maxima (for # fixed position) # # input: # ------ # input: continuous time-frequency transform (2D array) # plot: if set to TRUE, displays the maxima of cwt on the graphic # device. # # output: # ------- # output: values of the maxima (2D array) # ######################################################################### { sigsize <- dim(input)[1] pp <- dim(input)[2] input1 <- input output <- matrix(0,sigsize,pp) dim(input1) <- c(sigsize * pp,1) dim(output) <- c(sigsize * pp,1) z <- .C("Scwt_mridge", as.double(input1), output = as.double(output), as.integer(sigsize), as.integer(pp), PACKAGE="Rwave") output <- z$output dim(output) <- c(sigsize, pp) if(plot)image(output) output } cleanph <- function(tfrep, thresh = .01, plot = TRUE) ######################################################################### # cleanph: # -------- # sets to zero the phase of time-frequency transform when # modulus is below a certain value. # # input: # ------ # tfrep: continuous time-frequency transform (2D array) # thresh: (relative) threshold. # plot: if set to TRUE, displays the maxima of cwt on the graphic # device. # # output: # ------- # output: thresholded phase (2D array) # ######################################################################### { thrmod1 <- Mod(tfrep) thrmod2 <- Mod(tfrep) limit <- range(thrmod1)[2] * thresh thrmod1 <- (Mod(tfrep) > limit) thrmod2 <- (Mod(tfrep) <= limit) output <- thrmod1 * Arg(tfrep) - pi * thrmod2 if(plot) image(output) output } Rwave/R/mgabor.R0000644000176200001440000001115411341712560013133 0ustar liggesusers######################################################################### # $Log: MGabor.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### mcgt <- function(input, nvoice, freqstep = (1/nvoice), nscales = 10, scalestep = 5, initscale = 0, crit = 0, plot = TRUE, tchatche = FALSE) ######################################################################### # mcgt: # ---- # multiwindow continuous Gabor transform function: # compute the continuous Gabor transform with gaussian windows. # selects the optimal window using L^p norm or entropy # optimization # # input: # ------ # input: input signal (possibly complex-valued) # nvoice: number of frequency bands # freqstep: sampling rate for the frequency axis # nscales: number of scales considered # scalestep: increment for scale parameter # initscale: initial value form the scale parameter # crit: criterion for optimization (L^p norm or entropy) # plot: if set to TRUE, displays the modulus of cwt on the graphic # device. # rchatche: if set to TRUE, prints intermediate results # # output: # ------- # output: optimal continuous (complex) Gabor transform # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) pp <- nvoice Routput <- matrix(0,newsize,pp) Ioutput <- matrix(0,newsize,pp) output <- matrix(0,newsize,pp) dim(Routput) <- c(pp * newsize,1) dim(Ioutput) <- c(pp * newsize,1) dim(input) <- c(newsize,1) norm <- 1 lpoptnorm <- 0 entoptnorm <- 100000000 optsca <- 0 ##################### # Loop over scales: # ##################### sca <- initscale for(k in 1:nscales){ sca <- sca + scalestep # Compute Gabor transform # ----------------------- z <- .C("Sgabor", as.double(input), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.integer(nvoice), as.double(freqstep), as.integer(newsize), as.double(sca), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp dim(Routput) <- c(newsize,pp) dim(Ioutput) <- c(newsize,pp) # Compute L^2 norm for normalization # ---------------------------------- pexp <- as.double(2) z <- .C("Lpnorm", ltwonorm = as.double(norm), as.double(pexp), as.double(Routput), as.double(Ioutput), as.integer(newsize), as.integer(nvoice), PACKAGE="Rwave") ## cat("l2 norm=",z$ltwonorm,"\n") # Normalize # --------- Routput <- Routput/z$ltwonorm Ioutput <- Ioutput/z$ltwonorm if(crit == 0) { z <- .C("entropy", lpnorm = as.double(norm), as.double(Routput), as.double(Ioutput), as.integer(newsize), as.integer(nvoice), PACKAGE="Rwave") if(tchatche) { cat(" scale=", sca, "; entropy=", z$lpnorm, "\n") } if (z$lpnorm < entoptnorm){ entoptnorm <- z$lpnorm optsca <- sca output <- Routput[1:isize,] + 1i*Ioutput[1:isize,] } optnorm <- entoptnorm } else { ## Compute L^p norm ## ---------------- pexp <- as.double(crit) z <- .C("Lpnorm", lpnorm = as.double(norm), as.double(pexp), as.double(Routput), as.double(Ioutput), as.integer(newsize), as.integer(nvoice), PACKAGE="Rwave") if(tchatche) { cat(" scale=", sca,"; l", pexp," norm=", z$lpnorm, "\n") } if(z$lpnorm > lpoptnorm) { lpoptnorm <- z$lpnorm optsca <- sca output <- Routput[1:isize,] + 1i*Ioutput[1:isize,] } optnorm <- lpoptnorm } } cat(" Optimal scale: ", optsca, "\n") if(plot) { image(Mod(output), xlab="Time", ylab="Frequency") title("Gabor Transform Modulus") } output } Rwave/R/Hessian_Climbers.R0000644000176200001440000002023211341712552015074 0ustar liggesusers######################################################################### # $Log: Pca_Climbers.S,v $ # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### hescrc <- function(tfrep, tfspec = numeric(dim(tfrep)[2]), grida = 10, gridb = 20, bstep = 3, iteration = 10000, rate = .001, seed = -7, nbclimb = 10, flag.int = TRUE, chain= TRUE, flag.temp = FALSE, lineflag = FALSE) ######################################################################### # hescrc: Time-frequency multiple ridge estimation (hessian climbers) # ------ # use the hessian climber algorithm to evaluate ridges of # continuous Time-Frequency transform # # input: # ------ # tfrep: wavelet or Gabor transform # tfspec: additional potential (coming from learning the noise) # grida : window of a # gridb : window of b # pct : the percent number of points in window 2*grida and # 2*gridb to select histogram # count : the maximal number of repetitive selection, if location # was chosen before # iteration: number of iterations # rate: initial value of the temperature # seed: initialization for random numbers generator # nbclimb: number of crazy climbers # bstep: step size for the climber walk in the time direction # flag.int: if set to TRUE, computes the integral on the ridge. # chain: if set to TRUE, chains the ridges. # flag.temp: if set to TRUE, keeps a constant temperature. # linfflag: if set to TRUE, the line segments oriented to the # where the climber will move freely at the block is # shown in image # # output: # ------- # beemap: 2D array containing the (weighted or unweighted) # occupation measure (integrated with respect to time) # hesmap: 2D array containing number from 1 to 4, denoting the # direction a climber will go at some position; where # 1 moving freely along b, 3 freely along a, 2 along # line a = -b, and 4 along the line a = b. The restricted # move is perdendicular to the free move. # ######################################################################### { tfspectrum <- tfspec d <- dim(tfrep) sigsize <- d[1] nscale <- d[2] sqmodulus <- Re(tfrep*Conj(tfrep)) for (k in 1:nscale) sqmodulus[,k] <- sqmodulus[,k] - tfspectrum[k] image(sqmodulus) ## number of grid size nbx <- as.integer(sigsize/gridb) nby <- as.integer(nscale/grida) if((sigsize/gridb - nbx) > 0) nbx <- nbx + 1 if((nscale/grida - nby) > 0) nby <- nby + 1 nbblock <- nbx * nby ## first two locations at each block stores the lower-left corner ## of the block followed by the locations of up-right corner and by ## the negative values of hessian matrix from xx, xy, yx, and yy at ## the last. tst <- matrix(0, 8, nbblock) dim(tst) <- c(nbblock * 8,1) dim(sqmodulus) <- c(sigsize * nscale, 1) z <- .C("Shessianmap", as.double(sqmodulus), as.integer(sigsize), as.integer(nscale), ublock = as.integer(nbblock), as.integer(gridb), as.integer(grida), tst =as.double(tst), PACKAGE="Rwave") tst <- z$tst dim(tst) <- c(8, nbblock) ## actual number of block ublock <- z$ublock ## principle component analysis and calculate the direction of each block pcamap <- matrix(1,sigsize,nscale) ## first eigenvector of a block eigv1 <- matrix(0,ublock,2) ## to draw eigenvector in a block if(lineflag) { lng <- min(grida, gridb) oldLng <- lng linex <- numeric(oldLng) liney <- numeric(oldLng) } for(j in 1:ublock) { left <- max(1,as.integer(tst[1,j])) down <- max(1,as.integer(tst[2,j])) right <- min(as.integer(tst[3,j]),sigsize) up <- min(as.integer(tst[4,j]),nscale) ctst <- tst[5:8,j] dim(ctst) <- c(2,2) ctst <- t(ctst) eig<- eigen(ctst) ## cat("first eig = ",eig$values[1]," ratio in eigenvalues = ## ",abs(eig$values[1]/eig$values[2])," \n") ## eigen vector 1 eigv1[j,] <- eig$vector[,1] ## shifted center position of a block if(lineflag) { centerx <- as.integer((left + right)/2) centery <- as.integer((down + up)/2) } ## theta of the eigen vector 1; -pi < theta <= pi theta <- atan2((eigv1[j,])[2],(eigv1[j,])[1]) ## along x : denote 1 in the hesmap if(((theta <= pi/8) && (theta > -pi/8)) || (theta > 7*pi/8 || theta <= -7*pi/8)) { pcamap[left:(right-1),down:(up-1)] <- 1 if(lineflag) { Lng <- min(lng,(sigsize-centerx)) if(Lng != oldLng) { linex <- numeric(Lng) liney <- numeric(Lng) } llng <- as.integer(Lng/2) x1 <- max(centerx-llng,1) x2 <- min(sigsize,x1 + Lng-1) linex[] <- x1:x2 liney[] <- centery lines(linex,liney) } } ## along x=y : denoted as 4 in hesmap if(((theta > pi/8) && (theta <= 3*pi/8)) || ((theta > -7*pi/8) && (theta <= -5*pi/8))) { pcamap[left:(right-1),down:(up-1)] <- 4 if(lineflag) { Lng <- min(lng,sigsize-centerx) Lng <- min(Lng,nscale-centery) if(Lng != oldLng) { linex <- numeric(Lng) liney <- numeric(Lng) } llng <- as.integer(Lng/2) x1 <- max(centerx-llng,1) x2 <- min(sigsize,x1 + Lng-1) y1 <- max(centery-llng,1) y2 <- min(sigsize,y1 + Lng-1) linex[] <- x1:x2 liney[] <- y1:y2 lines(linex,liney) } } ## along y : as 3 in hesmap if(((theta > 3*pi/8) && (theta <= 5*pi/8)) || ((theta > -5*pi/8) && (theta <= -3*pi/8))) { pcamap[left:(right-1),down:(up-1)] <- 3 if(lineflag) { Lng <- min(lng, nscale-centery) if(Lng != oldLng) { linex <- numeric(Lng) liney <- numeric(Lng) } llng <- as.integer(Lng/2) y1 <- max(centery-llng,1) y2 <- min(sigsize,y1 + Lng-1) linex[] <- centerx liney[] <- y1:y2 lines(linex,liney) } } ## along x=-y : as 2 in hesmap if(((theta > 5*pi/8) && (theta <= 7*pi/8)) || ((theta > -3*pi/8) && (theta <= -pi/8))) { pcamap[left:(right-1),down:(up-1)] <- 2 if(lineflag) { Lng <- min(lng,nscale-centery) Lng <- min(Lng,sigsize-centerx) if(Lng != oldLng) { linex <- numeric(Lng) liney <- numeric(Lng) } llng <- as.integer(Lng/2) x1 <- max(centerx-llng,1) x2 <- min(sigsize,x1 + Lng-1) y1 <- max(centery-llng,1) y2 <- min(sigsize,y1 + Lng-1) linex[] <- x1:x2 liney[] <- y2:y1 lines(linex,liney) } } if(lineflag) oldLng <- Lng } ## if(lineflag==F) image(pcamap) ## From the following on, it is similar to the process of crazy climbers... beemap <- matrix(0,sigsize,nscale) dim(beemap) <- c(nscale * sigsize, 1) dim(pcamap) <- c(nscale * sigsize, 1) z <- .C("Spca_annealing", as.double(sqmodulus), beemap= as.double(beemap), as.integer(pcamap), as.double(rate), as.integer(sigsize), as.integer(nscale), as.integer(iteration), as.integer(seed), as.integer(bstep), as.integer(nbclimb), as.integer(flag.int), as.integer(chain), as.integer(flag.temp), PACKAGE="Rwave") beemap <- z$beemap dim(beemap) <- c(sigsize, nscale) dim(pcamap) <- c(sigsize, nscale) image(beemap) list(beemap = beemap, pcamap = pcamap) } Rwave/R/Crc_Irrec.R0000644000176200001440000002041211341712402013507 0ustar liggesusers######################################################################### # $Log: Crc_Rec.S,v $ # Revision 1.2 1995/04/05 18:56:55 bruno # *** empty log message *** # # Revision 1.1 1995/04/02 01:04:16 bruno # Initial revision # # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### ######################################################################### # # Functions to reconstruct a signal from the output of # the crazy climber algorithm. # ######################################################################### crcirrec <- function(siginput, inputwt, beemap, noct, nvoice, compr, minnbnodes = 2, w0 = 2*pi, bstep = 5, ptile = .01, prob = 0.8, epsilon = .5, fast = FALSE, para = 0, real = FALSE, plot=1) ######################################################################### # crcirrec: # ------- # Reconstruction of a real valued signal from ridges found by # crazy climbers on a wavelet transform (sampled irregularly). # # input: # ------ # siginput: input signal # inputwt: continuous wavelet transform (output of cwt) # beemap: output of crazy climber algorithm # noct: number of octaves (powers of 2) # nvoice: number of different scales per octave # compr: subsampling rate for the ridge # bstep: used for the chaining # ptile: # epsilon: coeff of the Q2 part of reconstruction kernel # fast: if set to TRUE, computes the Q2 kernel by Riemann sums # if not, uses a Romberg adaptive step quadrature. # para: # plot: plot the original and reconstructed signal in display # prob: the percentile to keep # # output: # ------- # rec: reconstructed signal # ordered: image of the ridges (with different colors) # comp: 2D array containing the signals reconstructed from ridges # ######################################################################### { tmp <- cfamily(beemap,bstep,ptile=ptile) image(tmp$ordered) chain <- tmp$chain nbchain <- tmp$nbchain ordered <- tmp$ordered sigsize <- length(siginput) rec <- numeric(sigsize) plnb <- 0 par(mfrow=c(1,1)) plot.ts(siginput) title("Original signal") tmp <- matrix(0,nbchain,length(siginput)) totnbnodes <- 0 idx <- numeric(nbchain) p <- 0 for (j in 1:nbchain){ phi.x.min <- 2 * 2^(chain[j,3]/nvoice) if (chain[j,2] > (para*phi.x.min) ){ cat("Chain number",j) phi.x.max <- 2 * 2^(chain[j,(2+chain[j,2])]/nvoice) x.min <- chain[j,1] x.max <- chain[j,1] + chain[j,2] - 1 x.min <- x.min - round(para * phi.x.min) x.max <- x.max + round(para * phi.x.max) tmp2 <- irregrec(siginput[chain[j,1]:(chain[j,1]+chain[j,2]-1)], inputwt[chain[j,1]:(chain[j,1]+chain[j,2]-1),], chain[j,3:(chain[j,2]+2)], compr,noct,nvoice, epsilon, w0 = w0 , prob = prob, fast = fast, para = para, minnbnodes = minnbnodes, real = real); totnbnodes <- totnbnodes + tmp2$nbnodes np <- length(tmp2$sol) start <- max(1,x.min) end <- min(sigsize,x.min+np-1) start1 <- max(1,2-x.min) end1 <- min(np, sigsize +1 - x.min) end <- end1 - start1 + start rec[start:end] <- rec[start:end]+tmp2$sol[start1:end1] plnb <- plnb + 1 p <- p + 1 idx[p] <- j } } if(plot == 1) { par(mfrow=c(2,1)) par(cex=1.1) plot.ts(siginput) title("Original signal") title("Reconstructed signal") } else if (plot == 2) { par(mfrow=c(plnb+2,1)) par(mar=c(2,4,4,4)) par(cex=1.1) par(err=-1) plot.ts(siginput) title("Original signal") for (j in 1:p) plot.ts(tmp[idx[j],]) plot.ts(Re(rec)) title("Reconstructed signal") } cat("Total number of ridge samples used: ",totnbnodes,"\n") par(mfrow=c(1,1)) list(rec=rec, ordered=ordered, chain = chain, comp=tmp) } crcirgrec <- function(siginput, inputgt, beemap, nvoice, freqstep, scale, compr, prob = 0.8, bstep = 5, ptile = 0.01, epsilon = 0.5, fast = TRUE, para = 0, minnbnodes = 3, hflag = FALSE, plot = 2, real = FALSE) ######################################################################### # crcirgrec: # ---------- # Reconstruction of a real valued signal from ridges found by # crazy climbers on the gabor transform (irregularly sampled). # # input: # ------ # siginput: input signal # inputgt: continuous gabor transform (output of cgt) # beemap: output of crazy climber algorithm # nvoice: number of different frequencies # freqstep: difference between two consecutive frequencies # scale: scale of the window # compr: subsampling rate for the ridge # bstep: used for the chaining # ptile: # epsilon: coeff of the Q2 part of reconstruction kernel # fast: if set to TRUE, computes the Q2 kernel by Riemann sums # if not, uses a Romberg adaptive step quadrature. # para: # prob: percentile to keep # minnbnodes: minimal number of nodes for a sampled ridge. # hflag: if set to FALSE, uses the identity as first term # in the reconstruction kernel. If not, uses Q1 instead. # plot: if set to 1, displays the signal, the components, and # signal and reconstruction one after another. If set to # 2, displays the signal, the components, and the # reconstruction on the same page. Else, no plot. # real: if set to true, uses only real constraints. # # output: # ------- # rec: reconstructed signal # ordered: image of the ridges (with different colors) # comp: 2D array containing the signals reconstructed from ridges # ######################################################################### { tmp <- cfamily(beemap,bstep,ptile=ptile) image(tmp$ordered) chain <- tmp$chain nbchain <- tmp$nbchain ordered <- tmp$ordered sigsize <- length(siginput) rec <- numeric(sigsize) plnb <- 0 par(mfrow=c(1,1)) plot.ts(siginput, main="Original signal") totnbnodes <- 0 tmp <- matrix(0,nbchain,length(siginput)) for (j in 1:nbchain){ if (chain[j,2] > scale){ nbnodes <- round(chain[j,2]/compr) if(nbnodes < minnbnodes) nbnodes <- minnbnodes totnbnodes <- totnbnodes + nbnodes cat("Chain number", j) phi.x.min <- scale phi.x.max <- scale x.min <- chain[j,1] x.max <- chain[j,1] + chain[j,2] - 1 x.min <- x.min - round(para * phi.x.min) x.max <- x.max + round(para * phi.x.max) x.inc <- 1 np <- as.integer((x.max-x.min)/x.inc) + 1 tmp2 <- girregrec(siginput[chain[j,1]:(chain[j,1]+chain[j,2]-1)], inputgt[chain[j,1]:(chain[j,1]+chain[j,2]-1),], chain[j,3:(chain[j,2]+2)], nbnodes, nvoice, freqstep, scale, epsilon, fast, prob = prob, para = para, hflag = hflag, real = real) start <- max(1,x.min) end <- min(sigsize,x.min+np-1) start1 <- max(1,2-x.min) end1 <- min(np, sigsize +1 - x.min) end <- end1 - start1 + start rec[start:end] <- rec[start:end]+tmp2$sol[start1:end1] tmp[j,start:end] <- tmp2$sol[start1:end1] plnb <- plnb + 1 plot.ts(tmp[j,]) } } if(plot == 1){ par(mfrow=c(2,1)) par(cex=1.1) plot.ts(siginput, main="Original signal") plot.ts(rec, main="Reconstructed signal") } else if (plot == 2) { par(mfrow=c(plnb+2,1)) par(mar=c(2,4,4,4)) par(cex=1.1) par(err=-1) plot.ts(siginput, main="Original signal") for (j in 1:nbchain) plot.ts(tmp[j,]) plot.ts(rec, main="Reconstructed signal") } cat("Total number of ridge samples used: ",totnbnodes,"\n") par(mfrow=c(1,1)) list(rec=rec, ordered=ordered,chain = chain, comp = tmp) } Rwave/R/Ridge_Irregular.R0000644000176200001440000001420411217041512014723 0ustar liggesusers######################################################################### # $Log: Ridge_Recons.S,v $ # Revision 1.2 1995/04/05 18:56:55 bruno # *** empty log message *** # # Revision 1.1 1995/04/02 01:04:16 bruno # Initial revision # # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### irregrec <- function(siginput, cwtinput,phi,compr,noct,nvoice, epsilon = 0.5, w0 = 2*pi, prob = 0.8, fast = FALSE, plot = FALSE, para = 0, hflag = FALSE, check = FALSE, minnbnodes = 2, real = FALSE) ######################################################################### # irregrec: # --------- # Reconstruction of a real valued signal from a (continuous) ridge # (uses a irregular sampling of the ridge) # # input: # ------- # siginput: input signal # cwtinput: Continuous wavelet transform (output of cwt) # phi: (unsampled) ridge # compr: subsampling rate for the wavelet coefficients (at scale 1) # noct: number of octaves (powers of 2) # nvoice: number of different scales per octave # epsilon: coeff of the Q2 term in reconstruction kernel # w0: central frequency of Morlet wavelet # fast: if set to TRUE, the kernel is computed using Riemann # sums instead of Romberg's quadrature # plot: if set to TRUE, displays original and reconstructed signals # para: constant for extending the support of reconstructed signal # outside the ridge. # check: if set to TRUE, computes the wavelet transform of the # reconstructed signal # minnbnodes: minimum number of nodes for the reconstruction # real: if set to TRUE, only uses constraints on the real part # of the transform for the reconstruction. # prob: only keep the lambda's values greater than this percential after regular sampling # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # solskel: wavelet transform of sol, restricted to the ridge # inputskel: wavelet transform of signal, restricted to the ridge # Q2: second part of the reconstruction kernel # nbnodes: number of nodes used for the reconstruction. # ########################################################################## { # # Generate (regularly) sampled ridge # tmp <- wRidgeSampling(phi,compr,nvoice) node <- tmp$node cat("node at = ", node, "\n") phinode <- tmp$phinode nbnodes <- tmp$nbnodes phinode <- as.integer(phinode) if(nbnodes < minnbnodes){ cat(" Chain too small\n") NULL } phi.x.min <- 2 * 2^(phinode[1]/nvoice) phi.x.max <- 2 * 2^(phinode[length(node)]/nvoice) x.min <- node[1] x.max <- node[length(node)] x.max <- x.max + round(para * phi.x.max) x.min <- x.min - round(para * phi.x.min) node <- node + 1 - x.min x.inc <- 1 np <- as.integer((x.max - x.min)/x.inc) +1 # Generating the Q2 term in reconstruction kernel if(epsilon == 0) Q2 <- 0 else { if (fast == FALSE) Q2 <- rkernel(node, phinode, nvoice, x.min = x.min, x.max = x.max,w0 = w0) else Q2 <- fastkernel(node, phinode, nvoice, x.min = x.min, x.max = x.max,w0 = w0) } cat(" kernel; ") # Generating the Q1 term in reconstruction kernel if (hflag == TRUE){ one <- numeric(np) one[] <- 1 } else{ one <- numeric(np) one[] <- 1 } if (epsilon !=0 ){ Q <- epsilon * Q2 for(j in 1:np) Q[j,j] <- Q[j,j] + one[j] Qinv <- solve(Q) } else{ Qinv <- 1/one } tmp2 <- ridrec(cwtinput, node, phinode, noct, nvoice, Qinv, epsilon, np, w0 = w0, check = check, real = real) # # Now perform the irregular sampling # # C and Splus ... tmp <- RidgeIrregSampling(phi, node, tmp2$lam, prob) node <- tmp$node cat("node at ", node,"\n") phinode <- tmp$phinode cat("phinode at ", phinode,"\n") nbnodes <- tmp$nbnodes phinode <- as.integer(phinode) if(nbnodes < minnbnodes){ cat(" Chain too small\n") NULL } phi.x.min <- 2 * 2^(phinode[1]/nvoice) phi.x.max <- 2 * 2^(phinode[length(node)]/nvoice) x.min <- node[1] x.max <- node[length(node)] x.max <- x.max + round(para * phi.x.max) x.min <- x.min - round(para * phi.x.min) node <- node + 1 - x.min x.inc <- 1 np <- as.integer((x.max - x.min)/x.inc) +1 cat("(size:",np,",",nbnodes,"nodes):") # Generating the Q2 term in reconstruction kernel if(epsilon == 0) Q2 <- 0 else { if (fast == FALSE) Q2 <- rkernel(node, phinode, nvoice, x.min = x.min, x.max = x.max,w0 = w0) else Q2 <- fastkernel(node, phinode, nvoice, x.min = x.min, x.max = x.max,w0 = w0) } cat(" kernel; ") # Generating the Q1 term in reconstruction kernel if (hflag == TRUE){ one <- numeric(np) one[] <- 1 } else{ one <- numeric(np) one[] <- 1 } if (epsilon !=0 ){ Q <- epsilon * Q2 for(j in 1:np) Q[j,j] <- Q[j,j] + one[j] Qinv <- solve(Q) } else{ Qinv <- 1/one } tmp2 <- ridrec(cwtinput, node, phinode, noct, nvoice, Qinv, epsilon, np, w0 = w0, check = check, real = real) if(plot == TRUE){ par(mfrow=c(2,1)) plot.ts(Re(siginput)) title("Original signal") plot.ts(Re(tmp2$sol)) title("Reconstructed signal") } list(sol = tmp2$sol, A = tmp2$A, lam = tmp2$lam, dualwave = tmp2$dualwave, morvelets = tmp2$morvelets, solskel = tmp2$solskel, inputskel = tmp2$inputskel, Q2 = Q2, nbnodes = nbnodes) } Rwave/R/extrema.R0000644000176200001440000000325611341717366013346 0ustar liggesusers######################################################################### # $log: extrema.S,v $ ######################################################################### # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, Andrea Wang # Princeton University # All right reserved ######################################################################## ext <- function(wt, scale=FALSE, plot=TRUE) #**************************************************************** # ext # --- # compute the extrema of the dyadic wavelet transform. # # input # ----- # wt: wavelet transform # scale: a flag indicating if the extrema at each # resolution will be plotted at the same sacle. # # output # ------ # original: original signal # extrema: extrema representation # Sf: coarse resolution of signal # maxresoln: number of decomposition # np: size of signal #**************************************************************** { s <- wt$original maxresoln <- wt$maxresoln np <- wt$np extrema <- matrix(0, nrow=maxresoln, ncol=np) extrema <- t(extrema) dim(extrema) <- c(length(extrema), 1) t(wt$Wf) # Note: transposed wt is not assigned to wt dim(wt$Wf) <- c(length(wt$Wf), 1) z <- .C("modulus_maxima", a=as.double(extrema), as.double(wt$Wf), as.integer(maxresoln), as.integer(np), PACKAGE="Rwave") extrema <- t(z$a) dim(extrema) <- c(np, maxresoln) cat("number of extrema =", sum(extrema!=0), "\n") if(plot) plotResult(extrema, s, maxresoln, scale) list(original=s,extrema=extrema,Sf=wt$Sf,maxresoln=maxresoln,np=np) } Rwave/R/gRidge_Recons.R0000644000176200001440000002426111341712412014375 0ustar liggesusers######################################################################### # $Log: gRidge_Recons.S,v $ # Revision 1.2 1995/04/05 18:56:55 bruno # *** empty log message *** # # Revision 1.1 1995/04/02 01:04:16 bruno # Initial revision # # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### gregrec <- function(siginput, gtinput, phi, nbnodes, nvoice, freqstep, scale, epsilon = 0, fast = FALSE, plot = FALSE, para = 0, hflag = FALSE, real = FALSE, check = FALSE) ######################################################################### # gregrec: # ------- # Reconstruction of a real valued signal from a (continuous) # Gabor ridge (uses a regular sampling of the ridge) # # input: # ------- # siginput: input signal # gtinput: Continuous gabor transform (output of cgt) # phi: (unsampled) ridge # nbnodes: number of nodes used for the reconstruction. # nvoice: number of different scales per octave # freqstep: sampling rate for the frequency axis # epsilon: coeff of the Q2 term in reconstruction kernel # fast: if set to TRUE, the kernel is computed using Riemann # sums instead of Romberg's quadrature # plot: if set to TRUE, displays original and reconstructed signals # para: scale parameter for extrapolating the ridges. # hflag:if set to TRUE, uses $Q_1$ as first term in the kernel. # real: if set to TRUE, only uses constraints on the real part # of the transform for the reconstruction. # check: if set to TRUE, computes the wavelet transform of the # reconstructed signal # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # gaborets: array containing the wavelets on sampled ridge. # solskel: Gabor transform of sol, restricted to the ridge # inputskel: Gabor transform of signal, restricted to the ridge # Q2: second part of the reconstruction kernel ######################################################################### { tmp <- RidgeSampling(phi,nbnodes) node <- tmp$node phinode <- tmp$phinode phi.x.min <- scale phi.x.max <- scale x.min <- node[1] x.max <- node[length(node)] x.max <- x.max + round(para * phi.x.max) x.min <- x.min - round(para * phi.x.min) node <- node - x.min + 1 x.inc <- 1 np <- as.integer((x.max-x.min)/x.inc)+1 cat(" (np:",np,")") if(epsilon == 0) Q2 <- 0 else { if (fast == FALSE) Q2 <- gkernel(node,phinode,freqstep,scale,x.min = x.min, x.max = x.max) else Q2 <- fastgkernel(node,phinode,freqstep,scale,x.min = x.min, x.max = x.max) } cat(" kernel;") # Generating the Q1 term in reconstruction kernel if (hflag == TRUE) one <- gsampleOne(node,scale,np) else{ one <- numeric(np) one[] <- 1 } if (epsilon !=0 ){ Q <- epsilon * Q2 for(j in 1:np) Q[j,j] <- Q[j,j] + one[j] Qinv <- solve(Q) } else{ Qinv <- 1/one } tmp2 <- gridrec(gtinput,node,phinode,nvoice, freqstep,scale,Qinv,epsilon,np, real = real, check = check) if(plot == TRUE){ par(mfrow=c(2,1)) plot.ts(Re(siginput)) title("Original signal") plot.ts(Re(tmp2$sol)) title("Reconstructed signal") } npl(2) lam <- tmp2$lam plot.ts(lam,xlab="Number",ylab="Lambda Value") title("Lambda Profile") N <- length(lam)/2 mlam <- numeric(N) for(j in 1:N) mlam[j] <- Mod(lam[j] + 1i*lam[N + j]) plot.ts(sort(mlam)) list(sol=tmp2$sol,A=tmp2$A,lam=tmp2$lam,dualwave=tmp2$dualwave, gaborets=tmp2$gaborets, solskel=tmp2$solskel, inputskel = tmp2$inputskel, Q2 = Q2) } gridrec <- function(gtinput, node, phinode, nvoice, freqstep, scale, Qinv, epsilon, np, real = FALSE, check = FALSE) ######################################################################### # gridrec: # -------- # Reconstruction of a real valued signal from a gabor ridge. # # input: # ------ # gtinput: Continuous gabor transform (output of cgt) # node: time coordinates of the ridge samples. # phinode: frequency coordinates of the ridge samples. # nvoice: number of different frequencies. # freqstep: sampling rate for the frequency axis. # scale: scale of the window. # Qinv: inverse of the reconstruction kernel # epsilon: coefficient of the Q2 term in the reconstruction kernel # np: number of samples of the reconstructed signal # real: if set to TRUE, only uses constraints on the real part # of the transform for the reconstruction. # check: if set to TRUE, computes the Gabor transform of the # reconstructed signal. # # output: # ------- # sol: reconstruction from a ridge # A: matrix. # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual gaborlets. # gaborets: array of gaborlets located on the ridge samples # solskel: Gabor transform of sol, restricted to the ridge # inputskel: Gabor transform of signal, restricted to the ridge # ######################################################################### { N <- length(node) omegaridge <- phinode bridge <- node if(real == TRUE) gaborets <- gwave2(bridge,omegaridge,nvoice,freqstep,scale,np,N) else gaborets <- gwave(bridge,omegaridge,nvoice,freqstep,scale,np,N) cat("gaborets;") if(epsilon == 0){ if(real == TRUE) sk <- zeroskeleton2(gtinput,Qinv,gaborets,bridge,omegaridge,N) else sk <- zeroskeleton(gtinput,Qinv,gaborets,bridge,omegaridge,N) } else sk <- skeleton(gtinput,Qinv,gaborets,bridge,omegaridge,N) cat("skeleton.\n") solskel <- 0 #not needed if check not done inputskel <- 0 #not needed if check not done if(check == TRUE){ solskel <- complex(N) inputskel <- complex(N) gtsol <- cgt(sk$sol,nvoice,freqstep,plot=FALSE) for(j in 1:N) solskel[j] <- gtsol[bridge[j],omegaridge[j]] for (j in 1:N) inputskel[j] <- gtinput[bridge[j],omegaridge[j]] } list(sol=sk$sol,A=sk$A,lam=sk$lam,dualwave=sk$dualwave,gaborets=gaborets, solskel=solskel,inputskel = inputskel) } gwave <- function(bridge,omegaridge,nvoice,freqstep,scale,np,N) ######################################################################### # gwave: # ------ # Generation of the gaborets located on the ridge # # input: # ------ # bridge: time coordinates of the ridge samples # omegaridge: frequency coordinates of the ridge samples # nvoice: number of different scales per octave # freqstep: sampling rate for the frequency axis # scale: scale of the window # np: size of the reconstruction kernel # N: number of complex constraints # # output: # ------- # gaborets: array of morlet wavelets located on the ridge samples # ######################################################################### { gaborets <- matrix(0,np,2*N) omegaridge <- omegaridge * freqstep tmp <- vecgabor(np,N,bridge,omegaridge,scale) dim(tmp) <- c(np,N) gaborets[,1:N] <- Re(tmp[,1:N]) gaborets[,(N+1):(2*N)] <- Im(tmp[,1:N]) # Alternative way of generating gaborets # for(k in 1:N) { # omega <- omegaridge[k]*freqstep; # tmp <- gabor(np,bridge[k],omega,scale); # gaborets[,k] <- Re(tmp); # gaborets[,k+N] <- Im(tmp); # } # Still another way of generating gaborets # # dirac <- 1:np # dirac[] <- 0 # for(k in 1:N) { # dirac[bridge[k]] <- 1.0; # omega <- omegaridge[k]*freqstep; # gtdirac <- vgt(dirac,omega,scale,open=FALSE,plot=FALSE); # gaborets[,k] <- Re(gtdirac); # gaborets[,k+N] <- Im(gtdirac); # dirac[] <- 0 # } gaborets } gwave2 <- function(bridge,omegaridge,nvoice,freqstep,scale,np,N) ######################################################################### # gwave2: # ------- # Generation of the real parts of gaborets located on the ridge # # input: # ------ # bridge: time coordinates of the ridge samples # omegaridge: frequency coordinates of the ridge samples # nvoice: number of different scales per octave # freqstep: sampling rate for the frequency axis # scale: scale of the window # np: size of the reconstruction kernel # N: number of complex constraints # # output: # ------- # gaborets: array of morlet wavelets located on the ridge samples # ######################################################################### { omegaridge <- omegaridge * freqstep gaborets <- Re(vecgabor(np,N,bridge,omegaridge,scale)) dim(gaborets) <- c(np,N) # for(k in 1:N) { # omega <- omegaridge[k]*freqstep; # tmp <- gabor(np,bridge[k],omega,scale); # gaborets[,k] <- Re(tmp); # } gaborets } gsampleOne <- function(node,scale,np) ######################################################################### # gsampleOne: # ----------- # # Generate a ``sampled identity" # # input: # ------ # node: location of the reconstruction gabor functions # scale: scale of the gabor functions # np: size of the reconstructed signal # # # output: # ------- # dia: diagonal of the ``sampled'' Q1 term (1D vector) # ######################################################################### { dia <- numeric(np) N <- length(node) normalization <- sqrt(pi) * scale for(j in 1:np) { tmp1 <- (j-node)/scale tmp1 <- exp(-(tmp1 * tmp1)) dia[j] <- sum(tmp1) #/normalization } dia # for(j in 1:np) { # tmp <- 0 # for(k in 1:N) { # b <- node[k] # tmp1 <- (j-b)/scale # tmp1 <- exp(-(tmp1 * tmp1)) # tmp <- tmp + tmp1 # } # dia[j] <- tmp #/normalization # } dia } Rwave/R/crc_rec.R0000644000176200001440000002451111341712403013261 0ustar liggesusers######################################################################### # $Log: Crc_Rec.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### ######################################################################### # # Functions to reconstruct a signal from the output of # the crazy climber algorithm. # ######################################################################### crcrec <- function(siginput, inputwt, beemap, noct, nvoice, compr, minnbnodes = 2, w0 = 2*pi, bstep = 5, ptile = 0.01, epsilon = 0, fast = FALSE, para = 5, real = FALSE, plot = 2) ######################################################################### # crcrec: # ------- # Reconstruction of a real valued signal from ridges found by # crazy climbers on a wavelet transform. # # input: # ------ # siginput: input signal # inputwt: continuous wavelet transform (output of cwt) # beemap: output of crazy climber algorithm # noct: number of octaves (powers of 2) # nvoice: number of different scales per octave # compr: subsampling rate for the ridge # bstep: used for the chaining # ptile: # epsilon: coeff of the Q2 part of reconstruction kernel # fast: if set to TRUE, computes the Q2 kernel by Riemann sums # if not, uses a Romberg adaptive step quadrature. # para: # plot: plot the original and reconstructed signal in display # # output: # ------- # rec: reconstructed signal # ordered: image of the ridges (with different colors) # comp: 2D array containing the signals reconstructed from ridges # ######################################################################### { tmp <- cfamily(beemap,bstep,ptile=ptile) chain <- tmp$chain nbchain <- tmp$nbchain ordered <- tmp$ordered sigsize <- length(siginput) rec <- numeric(sigsize) plnb <- 0 if(plot != FALSE) { par(mfrow=c(2,1)) plot.ts(siginput, main="Original signal") image(tmp$ordered, main="Chained Ridges") } tmp <- matrix(0,nbchain,length(siginput)) totnbnodes <- 0 idx <- numeric(nbchain) p <- 0 for(j in 1:nbchain) { phi.x.min <- 2 * 2^(chain[j,3]/nvoice) if(chain[j,2] > (para*phi.x.min)) { cat("Chain number",j) phi.x.max <- 2 * 2^(chain[j,(2+chain[j,2])]/nvoice) x.min <- chain[j,1] x.max <- chain[j,1] + chain[j,2] - 1 x.min <- x.min - round(para * phi.x.min) x.max <- x.max + round(para * phi.x.max) tmp2 <- regrec(siginput[chain[j,1]:(chain[j,1]+chain[j,2]-1)], inputwt[chain[j,1]:(chain[j,1]+chain[j,2]-1),], chain[j,3:(chain[j,2]+2)], compr,noct,nvoice, epsilon, w0 = w0 ,fast = fast, para = para, minnbnodes = minnbnodes, real = real) if(is.list(tmp2)==TRUE) { totnbnodes <- totnbnodes + tmp2$nbnodes np <- length(tmp2$sol) start <- max(1,x.min) end <- min(sigsize,x.min+np-1) start1 <- max(1,2-x.min) end1 <- min(np, sigsize +1 - x.min) end <- end1 - start1 + start rec[start:end] <- rec[start:end] + tmp2$sol[start1:end1] tmp[j,start:end] <- Re(tmp2$sol[start1:end1]) } plnb <- plnb + 1 p <- p + 1 idx[p] <- j } } if(plot == 1) { par(mfrow=c(2,1)) par(cex=1.1) plot.ts(siginput, main="Original signal") plot.ts(Re(rec), main="Reconstructed signal") } else { if(plot == 2) { par(mfrow=c(plnb+2,1)) par(mar=c(2,0,0,0)) par(cex=1.1) par(err=-1) plot.ts(siginput, main="Original signal") for (j in 1:p) plot.ts(tmp[idx[j],]) plot.ts(Re(rec), main="Reconstructed signal") } } cat("Total number of ridge samples used: ", totnbnodes, "\n") par(mfrow=c(1,1)) list(rec=rec, ordered = ordered, chain = chain, comp = tmp) } gcrcrec <- function(siginput, inputgt, beemap, nvoice, freqstep, scale, compr, bstep = 5, ptile = .01, epsilon = 0, fast = TRUE, para = 5, minnbnodes = 3, hflag = FALSE, real= FALSE, plot = 2) ######################################################################### # gcrcrec: # ------- # Reconstruction of a real valued signal from ridges found by # crazy climbers on the gabor transform. # # input: # ------ # siginput: input signal # inputgt: continuous gabor transform (output of cgt) # beemap: output of crazy climber algorithm # nvoice: number of different frequencies # freqstep: difference between two consecutive frequencies # scale: scale of the window # compr: subsampling rate for the ridge # bstep: used for the chaining # ptile: # epsilon: coeff of the Q2 part of reconstruction kernel # fast: if set to TRUE, computes the Q2 kernel by Riemann sums # if not, uses a Romberg adaptive step quadrature. # para: # minnbnodes: minimal number of nodes for a sampled ridge. # hflag: if set to FALSE, uses the identity as first term # in the reconstruction kernel. If not, uses Q1 instead. # plot: if set to 1, displays the signal, the components, and # signal and reconstruction one after another. If set to # 2, displays the signal, the components, and the # reconstruction on the same page. Else, no plot. # real: if set to true, uses only real constraints. # # output: # ------- # rec: reconstructed signal # ordered: image of the ridges (with different colors) # comp: 2D array containing the signals reconstructed from ridges # ######################################################################### { tmp <- cfamily(beemap,bstep,ptile=ptile) chain <- tmp$chain nbchain <- tmp$nbchain ordered <- tmp$ordered sigsize <- length(siginput) rec <- numeric(sigsize) plnb <- 0 if(plot != FALSE) { par(mfrow=c(2,1)) plot.ts(siginput, main="Original signal") image(tmp$ordered, main="Chained Ridges") } totnbnodes <- 0 tmp <- matrix(0,nbchain,length(siginput)) for(j in 1:nbchain) { if(chain[j,2] > scale) { nbnodes <- round(chain[j,2]/compr) if(nbnodes < minnbnodes) nbnodes <- minnbnodes totnbnodes <- totnbnodes + nbnodes cat("Chain number",j) phi.x.min <- scale phi.x.max <- scale x.min <- chain[j,1] x.max <- chain[j,1] + chain[j,2] - 1 x.min <- x.min - round(para * phi.x.min) x.max <- x.max + round(para * phi.x.max) x.inc <- 1 np <- as.integer((x.max-x.min)/x.inc) + 1 tmp2 <- gregrec(siginput[chain[j,1]:(chain[j,1]+chain[j,2]-1)], inputgt[chain[j,1]:(chain[j,1]+chain[j,2]-1),], chain[j,3:(chain[j,2]+2)], nbnodes, nvoice, freqstep, scale, epsilon, fast, para = para, hflag = hflag, real = real) start <- max(1,x.min) end <- min(sigsize,x.min+np-1) start1 <- max(1,2-x.min) end1 <- min(np, sigsize +1 - x.min) end <- end1 - start1 + start rec[start:end] <- rec[start:end] + tmp2$sol[start1:end1] tmp[j,start:end] <- tmp2$sol[start1:end1] plnb <- plnb + 1 plot.ts(tmp[j,]) } } if(plot == 1) { par(mfrow=c(2,1)) par(cex=1.1) plot.ts(siginput, main="Original signal") plot.ts(rec, main="Reconstructed signal") } else if (plot == 2) { par(mfrow=c(plnb+2,1)) par(mar=c(2,4,4,4)) par(cex=1.1) par(err=-1) plot.ts(siginput, main="Original signal") for (j in 1:nbchain) plot.ts(tmp[j,]) plot.ts(rec, main="Reconstructed signal") } cat("Total number of ridge samples used: ", totnbnodes, "\n") par(mfrow=c(1,1)) list(rec = rec, ordered = ordered, chain = chain, comp = tmp) } scrcrec <- function(siginput, tfinput, beemap, bstep = 5, ptile = 0.01, plot = 2) ######################################################################### # scrcrec: # -------- # Simple reconstruction of a real valued signal from ridges found by # crazy climbers. # # input: # ------ # siginput: input signal # tfinput: continuous time-frequency transform (output of cwt or cgt) # beemap: output of crazy climber algorithm # bstep: used for the chaining # ptile: # plot: if set to 1, displays the signal, the components, and # signal and reconstruction one after another. If set to # 2, displays the signal, the components, and the # reconstruction on the same page. Else, no plot. # # output: # ------- # rec: reconstructed signal # ordered: image of the ridges (with different colors) # comp: 2D array containing the signals reconstructed from ridges # ######################################################################### { tmp <- cfamily(beemap,bstep, ptile=ptile) chain <- tmp$chain nbchain <- tmp$nbchain rec <- numeric(length(siginput)) if(plot != FALSE) { par(mfrow=c(2,1)) plot.ts(siginput, main="Original signal") image(tmp$ordered, main="Chained Ridges") } npl(1) tmp3 <- matrix(0,nbchain,length(siginput)) rdg <- numeric(dim(tfinput)[1]) for (j in 1:nbchain) { bnext <- chain[j,1] for(k in 1:chain[j,2]) { rdg[bnext] <- chain[j,2+k] bnext <- bnext + 1 } tmp3[j,] <- sridrec(tfinput,rdg) rec <- rec + tmp3[j,] rdg[] <- 0 ## plot.ts(tmp3[j,]) } if(plot <= 2) { par(mfrow=c(2,1)) plot.ts(siginput, main="Original signal") plot.ts(rec, main="Reconstructed signal") } else { par(mfrow=c(nbchain+2,1)) par(mar=rep(2,4)) par(err=-1) plot.ts(siginput, main="Original signal") for(j in 1:nbchain) plot.ts(tmp3[j,],main=j) plot.ts(rec, main="Reconstructed signal") } list(rec=rec, ordered=tmp$ordered, chain=tmp$chain, comp=tmp3) } Rwave/R/Ridge_Recons.R0000644000176200001440000005242711217041512014231 0ustar liggesusers######################################################################### # $Log: Ridge_Recons.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### regrec <- function(siginput, cwtinput, phi, compr, noct, nvoice, epsilon = 0, w0 = 2*pi, fast = FALSE, plot = FALSE, para = 0, hflag = FALSE, check = FALSE, minnbnodes = 2, real = FALSE) ######################################################################### # regrec: # ------- # Reconstruction of a real valued signal from a (continuous) ridge # (uses a regular sampling of the ridge) # # input: # ------- # siginput: input signal # cwtinput: Continuous wavelet transform (output of cwt) # phi: (unsampled) ridge # compr: subsampling rate for the wavelet coefficients (at scale 1) # noct: number of octaves (powers of 2) # nvoice: number of different scales per octave # epsilon: coeff of the Q2 term in reconstruction kernel # w0: central frequency of Morlet wavelet # fast: if set to TRUE, the kernel is computed using Riemann # sums instead of Romberg's quadrature # plot: if set to TRUE, displays original and reconstructed signals # para: constant for extending the support of reconstructed signal # outside the ridge. # check: if set to TRUE, computes the wavelet transform of the # reconstructed signal # minnbnodes: minimum number of nodes for the reconstruction # real: if set to TRUE, only uses constraints on the real part # of the transform for the reconstruction. # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # morvelets: array containing the wavelets on sampled ridge. # solskel: wavelet transform of sol, restricted to the ridge # inputskel: wavelet transform of signal, restricted to the ridge # Q2: second part of the reconstruction kernel # nbnodes: number of nodes used for the reconstruction. # ########################################################################## { ## Generate Sampled ridge tmp <- wRidgeSampling(phi,compr,nvoice) node <- tmp$node phinode <- tmp$phinode nbnodes <- tmp$nbnodes phinode <- as.integer(phinode) if(nbnodes < minnbnodes){ cat(" Chain too small\n") NULL } else { phi.x.min <- 2 * 2^(phinode[1]/nvoice) phi.x.max <- 2 * 2^(phinode[length(node)]/nvoice) x.min <- node[1] x.max <- node[length(node)] x.max <- x.max + round(para * phi.x.max) x.min <- x.min - round(para * phi.x.min) node <- node + 1 - x.min x.inc <- 1 np <- as.integer((x.max - x.min)/x.inc) +1 cat("(size:",np,",",nbnodes,"nodes):") fast <- FALSE ## Generating the Q2 term in reconstruction kernel if(epsilon == 0) Q2 <- 0 else { if (fast == FALSE) Q2 <- rkernel(node, phinode, nvoice, x.min = x.min, x.max = x.max, w0 = w0) else Q2 <- fastkernel(node, phinode, nvoice, x.min = x.min, x.max = x.max, w0 = w0) } ## Generating the Q1 term in reconstruction kernel if (hflag == TRUE){ one <- numeric(np) one[] <- 1 } else{ one <- numeric(np) one[] <- 1 } if (epsilon !=0 ){ Q <- epsilon * Q2 for(j in 1:np) Q[j,j] <- Q[j,j] + one[j] Qinv <- solve(Q) } else{ Qinv <- 1/one } tmp2 <- ridrec(cwtinput, node, phinode, noct, nvoice, Qinv, epsilon, np, w0=w0, check=check, real=real) if(plot == TRUE) { par(mfrow=c(2,1)) plot.ts(Re(siginput)) title("Original signal") plot.ts(Re(tmp2$sol)) title("Reconstructed signal") } npl(2) lam <- tmp2$lam if(plot == TRUE) { plot.ts(lam,xlab="Number",ylab="Lambda Value") title("Lambda Profile") } N <- length(lam)/2 mlam <- numeric(N) for(j in 1:N) mlam[j] <- Mod(lam[j] + lam[N + j]*(1i)) if(plot == TRUE) plot.ts(sort(mlam)) list(sol = tmp2$sol, A = tmp2$A, lam = tmp2$lam, dualwave = tmp2$dualwave, morvelets = tmp2$morvelets, solskel = tmp2$solskel, inputskel = tmp2$inputskel, Q2 = Q2, nbnodes = nbnodes) } } ridrec <- function(cwtinput, node, phinode, noct, nvoice, Qinv, epsilon, np, w0 = 2*pi, check = FALSE, real = FALSE) ######################################################################### # ridrec: # ------ # Reconstruction of a real valued signal from a ridge, given # the kernel of the bilinear form. # # input: # ------ # cwtinput: Continuous wavelet transform (output of cwt) # node: time coordinates of the ridge samples # phinode: scale coordinates of the ridge samples # noct: number of octaves (powers of 2) # nvoice: number of different scales per octave # Qinv: inverse of the reconstruction kernel # epsilon: coefficient of the Q2 term in the reconstruction kernel # np: number of samples of the reconstructed signal # w0: central frequency of Morlet wavelet # check: if set to TRUE, computes the wavelet transform of the # reconstructed signal # real: if set to TRUE, only uses constraints on the real part # of the transform for the reconstruction. # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # morvelets: array of morlet wavelets located on the ridge samples # solskel: wavelet transform of sol, restricted to the ridge # inputskel: wavelet transform of signal, restricted to the ridge # ######################################################################### { N <- length(node) aridge <- phinode bridge <- node if (real == TRUE) morvelets <- morwave2(bridge,aridge,nvoice,np,N) else morvelets <- morwave(bridge,aridge,nvoice,np,N) cat("morvelets; ") if( epsilon == 0){ if (real == TRUE) sk <- zeroskeleton2(cwtinput,Qinv,morvelets,bridge,aridge,N) else sk <- zeroskeleton(cwtinput,Qinv,morvelets,bridge,aridge,N) } else { if(real == TRUE) sk <- skeleton2(cwtinput,Qinv,morvelets,bridge,aridge,N) else sk <- skeleton(cwtinput,Qinv,morvelets,bridge,aridge,N) } cat("skeleton.\n") solskel <- 0 #not needed if check not done inputskel <- 0 #not needed if check not done if(check == TRUE){ wtsol <- cwt(Re(sk$sol),noct,nvoice) solskel <- complex(N) for(j in 1:N) solskel[j] <- wtsol[bridge[j],aridge[j]] inputskel <- complex(N) for (j in 1:N) inputskel[j] <- cwtinput[bridge[j],aridge[j]] } list(sol=sk$sol,A=sk$A,lam=sk$lam,dualwave=sk$dualwave,morvelets=morvelets, solskel=solskel,inputskel = inputskel) } morwave <- function(bridge, aridge, nvoice, np, N, w0 = 2*pi) ######################################################################### # morwave: # ------- # Generation of the wavelets located on the ridge. # # input: # ------ # bridge: time coordinates of the ridge samples # aridge: scale coordinates of the ridge samples # nvoice: number of different scales per octave # np: size of the reconstruction kernel # N: number of complex constraints # w0: central frequency of Morlet wavelet # # output: # ------- # morvelets: array of morlet wavelets located on the ridge samples # ######################################################################### { morvelets <- matrix(0,np,2*N) aridge <- 2 * 2^((aridge - 1)/nvoice) tmp <- vecmorlet(np,N,bridge,aridge,w0 = w0) dim(tmp) <- c(np,N) morvelets[,1:N] <- Re(tmp[,1:N]) morvelets[,(N+1):(2*N)] <- Im(tmp[,1:N]) # Another way of generating morvelets # dirac <- 1:np # dirac[] <- 0 # for(k in 1:N) { # dirac[bridge[k]] <- 1.0; # scale <- 2 * 2^((aridge[k]-1)/nvoice); # cwtdirac <- vwt(dirac,scale,open=FALSE); # morvelets[,k] <- Re(cwtdirac); # morvelets[,k+N] <- Im(cwtdirac); # dirac[] <- 0 # } # Still another way of generating morvelets # for(k in 1:N) { # scale <- 2 * 2^((aridge[k]-1)/nvoice); # tmp <- morlet(np,bridge[k],scale)/sqrt(2*pi); # morvelets[,k] <- Re(tmp); # morvelets[,k+N] <- Im(tmp); # } morvelets } morwave2 <- function(bridge, aridge, nvoice, np, N, w0 = 2*pi) ######################################################################### # morwave2: # --------- # Generation of the real parts of morlet wavelets # located on the ridge. # # input: # ------- # bridge: time coordinates of the ridge samples # aridge: scale coordinates of the ridge samples # nvoice: number of different scales per octave # np: size of the reconstruction kernel # N: number of real constraints # w0: central frequency of Morlet wavelet # # output: # ------- # morvelets: array of morlet wavelets located on the ridge samples # ######################################################################### { morvelets <- matrix(0,np,N) aridge <- 2 * 2^((aridge - 1)/nvoice) morvelets <- Re(vecmorlet(np,N,bridge,aridge,w0 = w0)) dim(morvelets)<- c(np,N) # changed by Wen 5/22 # # aridge <- 2 * 2^((aridge - 1)/nvoice) # morvelets <- Re(vecmorlet(np,N,bridge,aridge,w0 = w0)) # dim(morvelets) <- c(np,N) morvelets } skeleton <- function(cwtinput, Qinv, morvelets, bridge, aridge, N) ######################################################################### # skeleton: # -------- # Computation of the reconstructed signal from the ridge # # input: # ------- # cwtinput: Continuous wavelet transform (output of cwt) # Qinv: inverse of the reconstruction kernel (2D array) # morvelets: array of morlet wavelets located on the ridge samples # bridge: time coordinates of the ridge samples # aridge: scale coordinates of the ridge samples # N: number of complex constraints # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # ########################################################################## { dualwave <- Qinv %*% morvelets A <- t(morvelets) %*% dualwave rskel <- numeric(2*N) for(j in 1:N) { rskel[j] <- Re(cwtinput[bridge[j]-bridge[1]+1,aridge[j]]); rskel[N+j] <- -Im(cwtinput[bridge[j]-bridge[1]+1,aridge[j]]) } B <- SVD(A) d <- B$d Invd <- numeric(length(d)) for(j in 1:(2*N)) if(d[j] < 1.0e-6) Invd[j] <- 0 else Invd[j] <- 1/d[j] lam <- B$v %*% diag(Invd) %*% t(B$u) %*% rskel sol <- dualwave%*%lam list(lam=lam,sol=sol,dualwave=dualwave,A=A) } skeleton2 <- function(cwtinput, Qinv, morvelets, bridge, aridge, N) ######################################################################### # skeleton2: # --------- # Computation of the reconstructed signal from the ridge, in the # case of real constraints. # # input: # ------- # cwtinput: Continuous wavelet transform (output of cwt) # Qinv: inverse of the reconstruction kernel (2D array) # morvelets: array of morlet wavelets located on the ridge samples # bridge: time coordinates of the ridge samples # aridge: scale coordinates of the ridge samples # N: number of real constraints # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # ########################################################################## { dualwave <- Qinv %*% morvelets A <- t(morvelets) %*% dualwave rskel <- numeric(N) for(j in 1:N) { rskel[j] <- Re(cwtinput[bridge[j]-bridge[1]+1,aridge[j]]); } B <- SVD(A) d <- B$d Invd <- numeric(length(d)) for(j in 1:N) if(d[j] < 1.0e-6) Invd[j] <- 0 else Invd[j] <- 1/d[j] lam <- B$v %*% diag(Invd) %*% t(B$u) %*% rskel sol <- dualwave%*%lam list(lam=lam,sol=sol,dualwave=dualwave,A=A) } zeroskeleton <- function(cwtinput, Qinv, morvelets, bridge, aridge, N) ######################################################################### # zeroskeleton: # ------------- # Computation of the reconstructed signal from the ridge when # the epsilon parameter is set to 0. # # input: # ------- # cwtinput: Continuous wavelet transform (output of cwt) # Qinv: 1D array (warning: different from skeleton) containing # the diagonal of the inverse of reconstruction kernel. # morvelets: array of morlet wavelets located on the ridge samples # bridge: time coordinates of the ridge samples # aridge: scale coordinates of the ridge samples # N: number of complex constraints # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # ########################################################################## { tmp1 <- dim(morvelets)[1] tmp2 <- dim(morvelets)[2] cat(dim(morvelets)) dualwave <- matrix(0,tmp1,tmp2) for (j in 1:tmp1) dualwave[j,] <- morvelets[j,]*Qinv[j] A <- t(morvelets) %*% dualwave rskel <- numeric(2*N) for(j in 1:N) { rskel[j] <- Re(cwtinput[bridge[j]-bridge[1]+1,aridge[j]]); rskel[N+j] <- -Im(cwtinput[bridge[j]-bridge[1]+1,aridge[j]]) } B <- SVD(A) d <- B$d Invd <- numeric(length(d)) for(j in 1:(2*N)) if(d[j] < 1.0e-6) Invd[j] <- 0 else Invd[j] <- 1/d[j] lam <- B$v %*% diag(Invd) %*% t(B$u) %*% rskel sol <- dualwave%*%lam list(lam=lam,sol=sol,dualwave=dualwave,A=A) } zeroskeleton2 <- function(cwtinput, Qinv, morvelets, bridge, aridge, N) ######################################################################### # zeroskeleton2: # ------------- # Computation of the reconstructed signal from the ridge when # the epsilon parameter is set to 0 and the constraints are real. # # input: # ------- # cwtinput: Continuous wavelet transform (output of cwt) # Qinv: 1D array (warning: different than in skeleton) containing # the diagonal of the inverse of reconstruction kernel. # morvelets: array of morlet wavelets located on the ridge samples # bridge: time coordinates of the ridge samples # aridge: scale coordinates of the ridge samples # N: number of real constraints # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # ########################################################################## { tmp1 <- dim(morvelets)[1] tmp2 <- dim(morvelets)[2] dualwave <- matrix(0,tmp1,tmp2) for (j in 1:tmp1) dualwave[j,] <- morvelets[j,]*Qinv[j] A <- t(morvelets) %*% dualwave rskel <- numeric(N) for(j in 1:N) rskel[j] <- Re(cwtinput[bridge[j]-bridge[1]+1,aridge[j]]); B <- SVD(A) d <- B$d Invd <- numeric(length(d)) for(j in 1:N) if(d[j] < 1.0e-6) Invd[j] <- 0 else Invd[j] <- 1/d[j] lam <- B$v %*% diag(Invd) %*% t(B$u) %*% rskel sol <- dualwave%*%lam list(lam=lam,sol=sol,dualwave=morvelets,A=A) } regrec2 <- function(siginput, cwtinput, phi, nbnodes, noct, nvoice, Q2, epsilon = 0.5, w0 = 2*pi , plot = FALSE) ######################################################################### # regrec2: # ------- # Reconstruction of a real valued signal from a (continuous) ridge # (uses a regular sampling of the ridge), from a precomputed kernel. # # input: # ------- # siginput: input signal # cwtinput: Continuous wavelet transform (output of cwt) # phi: (unsampled) ridge # nbnodes: number of samples on the ridge # noct: number of octaves (powers of 2) # nvoice: number of different scales per octave # Q2: second part of the reconstruction kernel # epsilon: coeff of the Q2 term in reconstruction kernel # w0: central frequency of Morlet wavelet # plot: if set to TRUE, displays original and reconstructed signals # # output: same as ridrec # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # morvelets: array of morlet wavelets located on the ridge samples # solskel: wavelet transform of sol, restricted to the ridge # inputskel: wavelet transform of signal, restricted to the ridge # ######################################################################### { tmp <- RidgeSampling(phi,nbnodes) node <- tmp$node phinode <- tmp$phinode np <- dim(Q2)[1] one <- diag(np) Q <- one + epsilon * Re(Q2) if(epsilon == 0) Qinv <- one else Qinv <- solve(Q) tmp2 <- ridrec(cwtinput,node,phinode,noct,nvoice,Qinv,epsilon,np) if(plot == TRUE){ par(mfrow=c(2,1)) plot.ts(Re(siginput)) title("Original signal") plot.ts(Re(tmp2$sol)) title("Reconstructed signal") } tmp2 } RidgeSampling <- function(phi, nbnodes) ######################################################################### # RidgeSampling: # -------------- # Given a ridge phi (for the Gabor transform), returns a # (regularly) subsampled version of length nbnodes. # # Input: # ------ # phi: ridge # nbnodes: number of samples. # # Output: # ------- # node: time coordinates of the ridge samples # phinode: frequency coordinates of the ridge samples # ######################################################################### { node <- numeric(nbnodes) phinode <- numeric(nbnodes) N <- nbnodes LL <- length(phi) for (i in 1:(N+1)) node[i] <- as.integer(((LL-1)*i+nbnodes-LL+1)/nbnodes) for (i in 1:(N+1)) phinode[i] <- phi[node[i]] list(node = node,phinode = phinode) } wRidgeSampling <- function(phi, compr, nvoice) ######################################################################### # wRidgeSampling: # --------------- # Given a ridge phi, returns a subsampled version of length # nbnodes (wavelet case). # # Input: # ------ # phi: ridge # compr: subsampling rate for the wavelet coefficients (at scale 1) # when compr <= 0, uses all the points in a ridge # # Output: # ------- # node: time coordinates of the ridge samples # phinode: frequency coordinates of the ridge samples # nbnodes: number of samples. # ######################################################################### { LL <- length(phi) node <- numeric(LL) phinode <- numeric(LL) LN <- 1 j <- 1 node[1] <- 1 # We multiply a number on the phi. This number is obtained experimentally # If we have a ridge which is linear of scale, then the subsampling is # adapted with s, however, in the wavelet case, the ridge is linear # in log(scale), the subsampling rate is therefore adapted to k*s^l # l here is the constant 100/15, and k is compr aridge <- 2 * 2^((phi-1)/(nvoice * 100/15)) # while (node[j] < LL){ # j <- j + 1 # LN <- round(compr * aridge[node[j-1]]) # cat("LN=",LN) # node[j] <- node[j-1] + LN # cat("; node=",node[j],"\n") # phinode[j] <- phi[node[j]] # cat("; phinode=",phinode[j],"\n") # } nbnodes <- 0 while (node[j] < LL){ phinode[j] <- phi[node[j]] nbnodes <- nbnodes + 1 # To guarantee at least advance by one LN <- max(1,round(compr * aridge[node[j]])) j <- j + 1 node[j] <- node[j-1] + LN } tmpnode <- numeric(nbnodes) tmpphinode <- numeric(nbnodes) tmpnode <- node[1:nbnodes] tmpphinode <- phinode[1:nbnodes] list(node = tmpnode,phinode = tmpphinode, nbnodes = nbnodes) } sridrec <- function(tfinput, ridge) ######################################################################### # sridrec # ------- # Simple reconstruction of a real valued signal from a ridge, # by restriction of the wavelet transform. # # Input: # ------ # tfinput: Continuous time-frequency transform (output of cwt or cgt) # ridge: (unsampled) ridge # # Output: # ------- # rec: reconstructed signal # ######################################################################### { bsize <- dim(tfinput)[1] asize <- dim(tfinput)[2] rec <- numeric(bsize) rec[] <- 0 + 0i for(i in 1:bsize) { if(ridge[i] > 0) rec[i] <- rec[i] + 2 * tfinput[i,ridge[i]] } Re(rec) } Rwave/R/plot.R0000644000176200001440000000576411217041512012646 0ustar liggesusers ######################################################################### # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, Andrea Wang # Princeton University # All right reserved ######################################################################## plotwt <- function(original, psi, phi, maxresoln, scale=FALSE, yaxtype="s") #*********************************************************************# # plotwt # ------ # Plot wavelet transform # Output the original signal, wavelet transform Wf starting resoln 1, # and Sf at the last resoln # Used by mw and dw #*********************************************************************# { par.orig <- par(no.readonly = TRUE) # Save the original plot parameters par(mfrow = c((maxresoln+2), 1)) par(mar=c(2.0, 2.0, 0.5, 0.5)) par(oma=c(1,0,0,0)) # Change 1 to a larger number to allow a larger # bottom margin if ( !scale ) { plot.ts(original,bty="n",yaxt=yaxtype) for (j in 1:maxresoln) plot.ts(psi[,j],bty="n",yaxt=yaxtype) plot.ts(phi, bty="n",yaxt=yaxtype) } else { limit <- range(original, psi, phi) plot.ts(original, ylim=limit, bty="n",yaxt=yaxtype) for (j in 1:maxresoln) plot.ts(psi[,j], ylim=limit, bty="n",yaxt=yaxtype) plot.ts(phi, ylim=limit, bty="n",yaxt=yaxtype) } par(par.orig) } plotResult <- function(result, original, maxresoln, scale=FALSE, yaxtype="s") #*********************************************************************# # plotResult # ----------- # function for the output of the following S functions: # dnpval, dbpval, region, dntrim # mnpval, ext, mntrim, localvar #*********************************************************************# { par.orig <- par(no.readonly = TRUE) # Save the original plot parameters par(mar=c(2.0, 2.0, 0.5, 0.5)) par(oma=c(1,0,0,0)) # Change 1 to a larger number to allow a larger # bottom margin par(mfrow = c(maxresoln+1, 1)) if ( !scale ) { plot.ts(original, bty="n",yaxt=yaxtype) for (j in 1:maxresoln) plot.ts(result[,j], bty="n",yaxt=yaxtype) } else { ymin <- min(result) ymax <- max(result) plot.ts(original, bty="n") for (j in 1:maxresoln) plot.ts(result[,j], ylim=c(ymin, ymax), bty="n",yaxt=yaxtype) } par(par.orig) par(mfrow=c(1,1)) } wpl <- function(dwtrans) #*********************************************************************# # wpl # --- # Plot dyadic wavelet transform (output of mw). #*********************************************************************# { maxresoln <- dwtrans$maxresoln plotwt(dwtrans$original, dwtrans$Wf, dwtrans$Sf,maxresoln) cat("") } epl <- function(dwext) #*********************************************************************# # epl # --- # Plot wavelet transform extrema (output of ext). #*********************************************************************# { maxresoln <- dwext$maxresoln plotResult(dwext$extrema, dwext$original, maxresoln) cat("") } Rwave/R/00util.R0000644000176200001440000001417211341712503013001 0ustar liggesusers######################################################################### # $Log: Util.S,v $ # # (c) Copyright 1997 # by # Author: Rene Carmona,Bruno Torresani,Wen-Liang Hwang,Andra Wang # Princeton University # All right reserved ######################################################################### smoothwt <- function(modulus, subrate, flag = FALSE) ######################################################################### # smoothwt: # -------- # smooth the wavelet (or Gabor) transform in the b direction # # input: # ------ # modulus: modulus of the wavelet (or Gabor) transform # subrate: size of the smoothing window # flag: if set to TRUE, subsamples the smoothed transform by # subrate. # # output: # ------- # smoothed transform (2D array) # ######################################################################### { sigsize <- dim(modulus)[1] nscale <- dim(modulus)[2] if(flag) { smodulus <- matrix(0,sigsize,nscale) dim(smodulus) <- c(sigsize * nscale, 1) } else { modsize <- as.integer(sigsize/subrate) + 1 smodulus <- matrix(0,modsize,nscale) dim(smodulus) <- c(modsize * nscale, 1) } dim(modulus) <- c(sigsize * nscale, 1) z <- .C("Ssmoothwt", sm = as.double(smodulus), as.double(modulus), as.integer(sigsize), as.integer(nscale), as.integer(subrate), as.integer(flag), PACKAGE="Rwave") if(flag) dim(z$sm) <- c(sigsize, nscale) else dim(z$sm) <- c(modsize, nscale) z$sm } smoothts <- function(ts, windowsize) ######################################################################### # smooth a time series by averaging window # # Arguments: # time series # window size ######################################################################### { sigsize <- length(ts) sts <- numeric(sigsize) nscale <- 1 stssize <- sigsize dim(sts) <- c(sigsize, 1) dim(ts) <- c(sigsize, 1) subrate <- windowsize # subrate <- 1 z <- .C("Smodulus_smoothing", as.double(ts), sts = as.double(sts), as.integer(sigsize), stssize = as.integer(stssize), as.integer(nscale), as.integer(subrate), PACKAGE="Rwave") sts <- z$sts sts } adjust.length <- function(inputdata) ######################################################################### # adjust.length adds zeros to the end of the data if necessary so that # its length is a power of 2. It returns the data with zeros added if # nessary and the length of the adjusted data. # # Arguments: # is either a text file or an S object containing # data. ######################################################################### { if (is.character(inputdata)) s <- scan(inputdata) else s <- inputdata np <- length(s) pow <- 1 while ( 2*pow < np ) pow <- 2*pow new.np <- 2*pow if ( np == new.np ) list( signal=s, length=np ) else { new.s <- 1:new.np new.s[1:new.np] <- 0 new.s[1:np] <- s list( signal=new.s, length=new.np ) } } ######################################################################### # npl: # --- # plots with n rows. # # input: # ------ # nrow: number of rows # ######################################################################### npl <- function(nbrow) { par(mfrow = c(nbrow, 1)) cat("") } ######################################################################### # SpecGen: # -------- # Estimate power spectrum # # input: # ------ # input: input signal. # spans: length of Daniell's smoother. # taper: relative size of tapering window (cosine taper). # ######################################################################### SpecGen <- function(input, spans = 9, taper = 0.2) { tmp <- spec.pgram(input,spans,taper) tmp1 <- tmp$spec tmp <- 10^(tmp1/10) spec <- tmp spec } ######################################################################### # SampleGen: # ---------- # generate a real sample with prescribed spectrum # # input: # ------ # nspec: spectral density # ######################################################################### SampleGen <- function(spec) { sqspec <- sqrt(spec) d <- length(sqspec) size <- d tmp <- rnorm(2 * size) real <- numeric(size) imag <- numeric(size) real <- tmp[1:size] a <- size+1 b <- 2 * size imag <- tmp[a:b] real1 <- real * sqspec[1:size] imag1 <- imag * sqspec[1:size] real2 <- numeric(2 * size) imag2 <- numeric(2 * size) real2[1:size] <- real1 imag2[1:size] <- imag1 for(i in 2:size) { real2[b-i+2] <- real1[i] imag2[b-i+2] <- -imag1[i] } imag2[1] <- 0 tmp1 <- fft(real2 + 1i*imag2, inverse=TRUE) sample <- Re(tmp1)/sqrt((2*size)) sample } hurst.est <- function(wspec, range, nvoice, plot=TRUE) ######################################################################### # hurst.est: # ---------- # estimate Hurst exponent from (part of) wavelet spectrum # # input: # ------ # wspec: wavelet spectrum. # nvoice: number of voices. # plot: if set to TRUE, displays regression line on current plot. # # output: # ------- # intercept and slope of regression line. Slope is Hurst exponent. # ######################################################################### { loctmp <- lsfit(range,log(wspec[range],base=2^(2/nvoice))) if(plot) abline(loctmp) loctmp$coef } wspec.pl <- function(wspec, nvoice) ######################################################################### # wspec.pl # ---------- # Displays normalized log of wavelet spectrum # # input: # ------ # wspec: wavelet spectrum. # nvoice: number of voices. # ######################################################################### { plot.ts(log(wspec, base=2^(2/nvoice))) title("log(wavelet spectrum)", xlab="log(scale)", ylab="V(a)") cat(" ") } Rwave/R/cwt_dog.R0000644000176200001440000000764611341712540013323 0ustar liggesusers######################################################################### # $Log: Cwt_DOG.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### DOG <- function(input, noctave, nvoice = 1, moments, twoD = TRUE, plot = TRUE) ######################################################################### # DOG: Derivative of Gaussian # ---- # continuous wavelet transform function: # compute the continuous wavelet transform with (complex-valued) # derivative of gaussians wavelet # # input: # ------ # input: input signal (possibly complex-valued) # noctave: number of powers of 2 for the scale variable # nvoice: number of scales between 2 consecutive powers of 2 # moments: number of vanishing moments for the wavelet # twoD: if set to TRUE, organizes the output as a 2D array # (signal_size X nb_scales) # if not: 3D array (signal_size X noctave X nvoice) # plot: if set to TRUE, displays the modulus of cwt on the graphic # device. # # output: # ------- # tmp: continuous (complex) wavelet transform # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) pp <- noctave * nvoice Routput <- matrix(0,newsize,pp) Ioutput <- matrix(0,newsize,pp) output <- matrix(0,newsize,pp) dim(Routput) <- c(pp * newsize,1) dim(Ioutput) <- c(pp * newsize,1) dim(input) <- c(newsize,1) z <- .C("Scwt_DOG", as.double(Re(input)), as.double(Im(input)), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.integer(noctave), as.integer(nvoice), as.integer(newsize), as.integer(moments), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp dim(Routput) <- c(newsize,pp) dim(Ioutput) <- c(newsize,pp) if(twoD) { output <- Routput[1:isize,] + 1i*Ioutput[1:isize,] if(plot) image(Mod(output)) output } else { Rtmp <- array(0,c(isize,noctave,nvoice)) Itmp <- array(0,c(isize,noctave,nvoice)) for(i in 1:noctave) for(j in 1:nvoice) { Rtmp[,i,j] <- Routput[1:isize,(i-1)*nvoice+j] Itmp[,i,j] <- Ioutput[1:isize,(i-1)*nvoice+j] } Rtmp + 1i * Itmp } } vDOG <- function(input, scale, moments) ######################################################################### # vDOG: # ----- # continuous wavelet transform on one scale: # compute the continuous wavelet transform with (complex-valued) # derivative of gaussians wavelet # # input: # ------ # input: input signal (possibly complex-valued) # scale: value of the scale at which the transform is computed # moments: number of vanishing moments # # output: # ------- # Routput + i Ioutput: voice wavelet transform (complex 1D array) # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) Routput <- numeric(newsize) Ioutput <- numeric(newsize) dim(input) <- c(newsize,1) z <- .C("Svwt_DOG", as.double(Re(input)), as.double(Im(input)), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.double(scale), as.integer(newsize), as.integer(moments), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp Routput[1:isize] + 1i*Ioutput[1:isize] } Rwave/R/pca_rec.R0000644000176200001440000003662211217041512013261 0ustar liggesusers######################################################################### # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### ######################################################################### # # Functions to reconstruct a signal from the output of # the pca climber algorithm. # ######################################################################### pcarec <- function(siginput,inputwt, beemap, orientmap, noct, nvoice, compr, maxchnlng=as.numeric(dim(beemap)[1])+10,minnbnodes = 2, w0 = 2*pi, nbchain=100,bstep = 1,ptile =.01,para=5,plot=2,check=FALSE) ######################################################################### # pcarec: # ------- # Reconstruction of a real valued signal from ridges found by # pca climbers on a wavelet transform. # # input: # ------ # siginput: input signal # inputwt: continuous wavelet transform (output of cwt) # beemap: output of pca climber algorithm # orientmap: principle direction of pca climber # noct: number of octaves (powers of 2) # nvoice: number of different scales per octave # compr: subsampling rate for the ridge # maxchnlng: maxlength of a chain of ridges (a,b) # bstep: used for the chaining # ptile: # para: # plot: plot the original and reconstructed signal in display # check: check whether the reconstructed signal keeps the values # at ridges # # output: # ------- # rec: reconstructed signal # ordered: image of the ridges (with different colors) # comp: 2D array containing the signals reconstructed from ridges # ######################################################################### { tmp <- pcafamily(beemap,orientmap,maxchnlng=maxchnlng,bstep=bstep,nbchain=nbchain,ptile=ptile) chain <- tmp$chain nbchain <- tmp$nbchain ordered <- tmp$ordered sigsize <- length(siginput) rec <- numeric(sigsize) plnb <- 0 if(plot != FALSE){ par(mfrow=c(2,1)) plot.ts(siginput) title("Original signal") image(tmp$ordered) title("Chained Ridges") } sol <- matrix(0,nbchain,sigsize) totnbnodes <- 0 idx <- numeric(nbchain) p <- 0 if(check==TRUE) { inputskel <- matrix(0+0i,nbchain,sigsize) solskel <- matrix(0+0i, nbchain, sigsize) } for (j in 1:nbchain){ sol[j,] <- 0 nbnode <- chain[j,1] bnode <- numeric(nbnode) anode <- numeric(nbnode) for(k in 1:nbnode) { anode[k] <- chain[j,2*k] bnode[k] <- chain[j,2*k+1] } cat("Chain number",j,"\n") tmp2 <- pcaregrec(siginput[min(bnode):max(bnode)], inputwt[min(bnode):max(bnode),], anode,bnode,compr,noct,nvoice, w0 = w0, para = para,minnbnodes = minnbnodes, check=check); if(is.list(tmp2)==TRUE) { totnbnodes <- totnbnodes + tmp2$nbnodes if((sigsize-min(bnode)) > (length(tmp2$sol)-tmp2$bstart)){ np <- length(tmp2$sol) - tmp2$bstart sol[j,min(bnode):(np+min(bnode))]<-tmp2$sol[tmp2$bstart:length(tmp2$sol)] } else { np <- sigsize - min(bnode) sol[j,min(bnode):sigsize]<-tmp2$sol[tmp2$bstart:(np+tmp2$bstart)] } if(min(bnode) < tmp2$bstart) { np <- min(bnode)-1 sol[j,1:min(bnode)]<-tmp2$sol[(tmp2$bstart-np):(tmp2$bstart)] } else { np <- tmp2$bstart-1 sol[j,(min(bnode)-np):min(bnode)]<-tmp2$sol[1:(tmp2$bstart)] } if(check==TRUE) { bridge <- tmp2$bnode aridge <- tmp2$anode wtsol <- cwt(sol[j,],noct,nvoice) for(k in 1:length(bridge)) solskel[j,k] <- wtsol[bridge[k],aridge[k]] for(k in 1:length(bridge)) inputskel[j,k] <- inputwt[bridge[k],aridge[k]] } rec <- rec+sol[j,] } plnb <- plnb + 1 p <- p + 1 idx[p] <- j } if(plot == 1){ par(mfrow=c(2,1)) par(cex=1.1) plot.ts(siginput) title("Original signal") plot.ts(Re(rec)) title("Reconstructed signal") } else if (plot == 2){ par(mfrow=c(plnb+2,1)) par(mar=c(2,4,4,4)) par(cex=1.1) par(err=-1) plot.ts(siginput) title("Original signal") for (j in 1:p) plot.ts(sol[idx[j],]); plot.ts(Re(rec)) title("Reconstructed signal") } cat("Total number of ridge samples used: ",totnbnodes,"\n") par(mfrow=c(1,1)) if(check==TRUE) list(rec=rec,ordered=ordered,chain=chain, comp=tmp,inputskel=inputskel,solskel=solskel,lam=tmp2$lam) else list(rec=rec, ordered=ordered,chain=chain,comp=tmp) } PcaRidgeSampling <- function(anode, bnode, compr) ######################################################################### # PcaRidgeSampling: # ---------------- # Given a ridge (a,b)(for the Gabor transform), returns a # (regularly) subsampled version of length nbnodes. # # Input: # ------ # anode: scale coordinates of the (unsampled) ridge # bnode: time coordinates of the (unsampled) ridge # compr: compression ratio to obtain from the ridge # # Output: # ------- # bnode: time coordinates of the ridge samples (from 1 to nbnodes # step by compr) # anode: scale coordinates of the ridge samples # nbnode: number of node sampled # ######################################################################### { # number of node at the ridge nbnode <- length(anode) # compr to be integer compr <- as.integer(compr) if(compr < 1) compr <- 1 # sample rate is compr at the ridge k <- 1 count <- 1 while(k < nbnode) { anode[count] <- anode[k] bnode[count] <- bnode[k] k <- k + compr count <- count + 1 } anode[count] <- anode[nbnode] bnode[count] <- bnode[nbnode] aridge <- numeric(count) bridge <- numeric(count) aridge <- anode[1:count] bridge <- bnode[1:count] list(anode = aridge, bnode = bridge, nbnodes = count) } pcaregrec <- function(siginput,cwtinput,anode,bnode,compr,noct,nvoice, w0 = 2*pi, plot = FALSE, para = 5, minnbnodes = 2, check=FALSE) ######################################################################### # pcaregrec: # --------- # Reconstruction of a real valued signal from a (continuous) ridge # (uses a regular sampling of the ridge) # # input: # ------- # siginput: input signal # cwtinput: Continuous wavelet transform (output of cwt) # anode: the scale coordinates of the (unsampled) ridge # bnode: the time coordinates of the (unsampled) ridge # compr: subsampling rate for the wavelet coefficients (at scale 1) # noct: number of octaves (powers of 2) # nvoice: number of different scales per octave # epsilon: coeff of the Q2 term in reconstruction kernel # w0: central frequency of Morlet wavelet # fast: if set to TRUE, the kernel is computed using Riemann # sums instead of Romberg's quadrature # plot: if set to TRUE, displays original and reconstructed signals # para: constant for extending the support of reconstructed signal # outside the ridge. # check: if set to TRUE, computes the wavelet transform of the # reconstructed signal # minnbnodes: minimum number of nodes for the reconstruction # real: if set to TRUE, only uses constraints on the real part # of the transform for the reconstruction. # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # Q2: second part of the reconstruction kernel # nbnodes: number of nodes used for the reconstruction. # ########################################################################## { # Generate Sampled ridge # tmp <- wRidgeSampling(anode,compr,nvoice) # bnode <- tmp$node # anode <- tmp$phinode # nbnodes <- tmp$nbnodes tmp <- PcaRidgeSampling(anode, bnode, compr) bnode <- tmp$bnode anode <- tmp$anode nbnodes <- tmp$nbnodes cat("Sampled nodes (b,a): \n") for(j in 1:nbnodes) cat("(",bnode[j],anode[j],")") cat("\n") if(nbnodes < minnbnodes){ cat(" Chain too small\n") NULL } else { a.min <- 2 * 2^(min(anode)/nvoice) a.max <- 2 * 2^(max(anode)/nvoice) b.min <- min(bnode) b.max <- max(bnode) b.max <- (b.max-b.min+1) + round(para * a.max) b.min <- (b.min-b.min+1) - round(para * a.max) # location 2-b.min is the place where the min(bnode) is. # The position at 2-b.min of returned signal is aligned to # the position at min(b.node) for the reconstruction bnode <- bnode-min(bnode)+2-b.min b.inc <- 1 np <- as.integer((b.max - b.min)/b.inc) +1 cat("(size:",np,",",nbnodes,"sampled nodes):\n") # Generating the Q2 term in reconstruction kernel Q2 <- 0 # Generating the Q1 term in reconstruction kernel one <- numeric(np) one[] <- 1 Qinv <- 1/one tmp2 <- pcaridrec(cwtinput,bnode,anode,noct,nvoice, Qinv,np,w0=w0,check=check) if(plot == TRUE){ par(mfrow=c(2,1)) plot.ts(Re(siginput)) title("Original signal") plot.ts(Re(tmp2$sol)) title("Reconstructed signal") } lam <- tmp2$lam # if(check==TRUE) { # N <- length(lam)/2 # mlam <- numeric(N) # for(j in 1:N) # mlam[j] <- Mod(lam[j] + i * lam[N + j]) # npl(2) # plot.ts(lam,xlab="Number",ylab="Lambda Value") # title("Lambda Profile") # plot.ts(sort(mlam),xlab="Number",ylab="Mod of Lambda") # } list(sol = tmp2$sol,A = tmp2$A, lam = tmp2$lam, dualwave = tmp2$dualwave, morvelets = tmp2$morvelets,pQ2 = Q2, nbnodes=nbnodes, bstart=2-b.min, anode=tmp$anode,bnode=tmp$bnode) } } pcaridrec <- function(cwtinput,bnode,anode,noct,nvoice,Qinv,np, w0 = 2*pi, check = FALSE) ######################################################################### # pcaridrec: # --------- # Reconstruction of a real valued signal from a ridge, given # the kernel of the bilinear form. # # input: # ------ # cwtinput: Continuous wavelet transform (output of cwt) # bnode: time coordinates of the ridge samples # anode: scale coordinates of the ridge samples # noct: number of octaves (powers of 2) # nvoice: number of different scales per octave # Qinv: inverse of the reconstruction kernel # epsilon: coefficient of the Q2 term in the reconstruction kernel # np: number of samples of the reconstructed signal # w0: central frequency of Morlet wavelet # check: if set to TRUE, computes the wavelet transform of the # reconstructed signal # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # morwave: array of morlet wavelets located on the ridge samples # dualwave: array containing the dual wavelets. # solskel: wavelet transform of sol, restricted to the ridge # inputskel: wavelet transform of signal, restricted to the ridge # ######################################################################### { # number of sampled nodes in a ridge N <- length(bnode) aridge <- anode bridge <- bnode morvelets <- pcamorwave(bridge,aridge,nvoice,np,N) cat("morvelets; ") sk <- pcazeroskeleton(cwtinput,Qinv,morvelets,bridge,aridge,N) cat("skeleton.\n") solskel <- 0 #not needed if check not done inputskel <- 0 #not needed if check not done list(sol=sk$sol,A=sk$A,lam=sk$lam,dualwave=sk$dualwave,morvelets=morvelets, solskel=solskel,inputskel = inputskel) } pcazeroskeleton <- function(cwtinput,Qinv,morvelets,bridge,aridge,N) ######################################################################### # pcazeroskeleton: # ---------------- # Computation of the reconstructed signal from the ridge when # the epsilon parameter is set to 0. # # input: # ------- # cwtinput: Continuous wavelet transform (output of cwt) # Qinv: 1D array (warning: different from skeleton) containing # the diagonal of the inverse of reconstruction kernel. # morvelets: array of morlet wavelets located on the ridge samples # bridge: time coordinates of the ridge samples # aridge: scale coordinates of the ridge samples # N: number of complex constraints # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # ########################################################################## { tmp1 <- dim(morvelets)[1] constraints2 <- dim(morvelets)[2] dualwave <- matrix(0,tmp1,constraints2) for (j in 1:tmp1) { dualwave[j,] <- morvelets[j,]*Qinv[j] } A <- t(morvelets) %*% dualwave rskel <- numeric(2*N) if(is.vector(cwtinput) == TRUE) { for(j in 1:N) { rskel[j] <- Re(cwtinput[aridge[j]]) rskel[N+j] <- -Im(cwtinput[aridge[j]]) } } else { for(j in 1:N) { rskel[j] <- Re(cwtinput[bridge[j]-bridge[1]+1,aridge[j]]) rskel[N+j] <- -Im(cwtinput[bridge[j]-bridge[1]+1,aridge[j]]) } } B <- SVD(A) d <- B$d Invd <- numeric(length(d)) for(j in 1:(2*N)) if(d[j] < 1.0e-6) Invd[j] <- 0 else Invd[j] <- 1/d[j] lam <- B$v %*% diag(Invd) %*% t(B$u) %*% rskel sol <- dualwave%*%lam list(lam=lam,sol=sol,dualwave=dualwave,A=A) } pcamorwave <- function(bridge, aridge, nvoice, np, N, w0 = 2*pi) ######################################################################### # pcamorwave: ( the same function of morwave ) # ----------- # Generation of the wavelets located on the ridge. # # input: # ------ # bridge: time coordinates of the ridge samples # aridge: scale coordinates of the ridge samples # nvoice: number of different scales per octave # np: size of the reconstruction kernel # N: number of complex constraints # w0: central frequency of Morlet wavelet # # output: # ------- # morvelets: array of morlet wavelets located on the ridge samples # ######################################################################### { morvelets <- matrix(0,np,2*N) aridge <- 2 * 2^((aridge - 1)/nvoice) tmp <- vecmorlet(np,N,bridge,aridge,w0 = w0) dim(tmp) <- c(np,N) morvelets[,1:N] <- Re(tmp[,1:N]) morvelets[,(N+1):(2*N)] <- Im(tmp[,1:N]) # Another way of generating morvelets # dirac <- 1:np # dirac[] <- 0 # for(k in 1:N) { # dirac[bridge[k]] <- 1.0; # scale <- 2 * 2^((aridge[k]-1)/nvoice); # cwtdirac <- vwt(dirac,scale); # morvelets[,k] <- Re(cwtdirac); # morvelets[,k+N] <- Im(cwtdirac); # dirac[] <- 0 # } # Still another way of generating morvelets # for(k in 1:N) { # scale <- 2 * 2^((aridge[k]-1)/nvoice); # tmp <- morlet(np,bridge[k],scale)/sqrt(2*pi); # morvelets[,k] <- Re(tmp); # morvelets[,k+N] <- Im(tmp); # } morvelets } Rwave/R/gRidge_Irregular.R0000644000176200001440000001452411341712411015100 0ustar liggesusers######################################################################### # $Log: gRidge_Recons.S,v $ # Revision 1.2 1995/04/05 18:56:55 bruno # *** empty log message *** # # Revision 1.1 1995/04/02 01:04:16 bruno # Initial revision # # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # University of California, Irvine # All right reserved ######################################################################### girregrec <- function(siginput, gtinput, phi, nbnodes, nvoice, freqstep, scale, epsilon = 0.5,fast = FALSE, prob= 0.8, plot = FALSE, para = 0, hflag = FALSE, real = FALSE, check = FALSE) ######################################################################### # girregrec: # --------- # Reconstruction of a real valued signal from a (continuous) # Gabor ridge (uses a irregular sampling of the ridge) # # input: # ------- # siginput: input signal # gtinput: Continuous gabor transform (output of cgt) # phi: (unsampled) ridge # nbnodes: number of nodes used for the reconstruction. # nvoice: number of different scales per octave # freqstep: sampling rate for the frequency axis # epsilon: coeff of the Q2 term in reconstruction kernel # fast: if set to TRUE, the kernel is computed using Riemann # sums instead of Romberg's quadrature # plot: if set to TRUE, displays original and reconstructed signals # para: no comment ! # prob: sampling (irregularly) at the places of the ridge where their lambdas # are more than prob in lambda distribution. # hflag: # real: if set to TRUE, only uses constraints on the real part # of the transform for the reconstruction. # check: if set to TRUE, computes the wavelet transform of the # reconstructed signal # minnbnodes: minimum number of nodes for the reconstruction # # output: # ------- # sol: reconstruction from a ridge # A: matrix # lam: coefficients of dual wavelets in reconstructed signal. # dualwave: array containing the dual wavelets. # solskel: wavelet transform of sol, restricted to the ridge # inputskel: wavelet transform of signal, restricted to the ridge # Q2: second part of the reconstruction kernel ######################################################################### { # # first performing regular sampling # tmp <- RidgeSampling(phi,nbnodes) node <- tmp$node phinode <- tmp$phinode phi.x.min <- scale phi.x.max <- scale x.min <- node[1] x.max <- node[length(node)] x.max <- x.max + round(para * phi.x.max) x.min <- x.min - round(para * phi.x.min) node <- node - x.min + 1 x.inc <- 1 np <- as.integer((x.max-x.min)/x.inc)+1 cat(" (np:",np,")") if(epsilon == 0) Q2 <- 0 else { if (fast == FALSE) Q2 <- gkernel(node,phinode,freqstep,scale,x.min = x.min, x.max = x.max) else Q2 <- fastgkernel(node,phinode,freqstep,scale,x.min = x.min, x.max = x.max) } cat(" kernel;") # Generating the Q1 term in reconstruction kernel if (hflag == TRUE) one <- gsampleOne(node,scale,np) else{ one <- numeric(np) one[] <- 1 } if (epsilon !=0 ){ Q <- epsilon * Q2 for(j in 1:np) Q[j,j] <- Q[j,j] + one[j] Qinv <- solve(Q) } else{ Qinv <- 1/one } tmp2 <- gridrec(gtinput,node,phinode,nvoice, freqstep,scale,Qinv,epsilon,np, real = real, check = check) # # Now perform the irregular sampling # tmp <- RidgeIrregSampling(phinode, node, tmp2$lam, prob) node <- tmp$node phinode <- tmp$phinode phi.x.min <- scale phi.x.max <- scale x.min <- node[1] x.max <- node[length(node)] x.max <- x.max + round(para * phi.x.max) x.min <- x.min - round(para * phi.x.min) node <- node - x.min + 1 x.inc <- 1 np <- as.integer((x.max-x.min)/x.inc)+1 cat(" (np:",np,")") if(epsilon == 0) Q2 <- 0 else { if (fast == FALSE) Q2 <- gkernel(node,phinode,freqstep,scale,x.min = x.min, x.max = x.max) else Q2 <- fastgkernel(node,phinode,freqstep,scale,x.min = x.min, x.max = x.max) } cat(" kernel;") # Generating the Q1 term in reconstruction kernel if (hflag == TRUE) one <- gsampleOne(node,scale,np) else{ one <- numeric(np) one[] <- 1 } if (epsilon !=0 ){ Q <- epsilon * Q2 for(j in 1:np) Q[j,j] <- Q[j,j] + one[j] Qinv <- solve(Q) } else{ Qinv <- 1/one } tmp2 <- gridrec(gtinput,node,phinode,nvoice, freqstep,scale,Qinv,epsilon,np, real = real, check = check) if(plot == TRUE){ par(mfrow=c(2,1)) plot.ts(Re(siginput)) title("Original signal") plot.ts(Re(tmp2$sol)) title("Reconstructed signal") } list(sol=tmp2$sol,A=tmp2$A,lam=tmp2$lam,dualwave=tmp2$dualwave, gaborets=tmp2$gaborets, solskel=tmp2$solskel, inputskel = tmp2$inputskel, Q2 = Q2) } RidgeIrregSampling <- function(phinode, node, lam, prob) ######################################################################### # RidgeSamplingData: # ----------------- # Given a ridge phi (for the Gabor transform), and lam returns a # (data-driven) subsampled version of length nbnodes. # # Input: # ------ # phinode: ridge at node # lam : vector of 2 * number of regular sampled node # prob : the percentage of lam to be preserved # # Output: # ------- # node: time coordinates of the ridge sampled by lambda # phinode: frequency coordinates of the ridge sampled by lambda # ######################################################################### { nbnodes <- length(node) mlam <- numeric(nbnodes) for(j in 1:nbnodes) mlam[j] <- Mod(lam[j] + 1i*lam[nbnodes + j]) pct <- quantile(mlam,prob) count <- sum(mlam > pct) newnode <- numeric(count) newphinode <- numeric(count) count <- 0 for(j in 1:nbnodes) { if(mlam[j] > pct) { newnode[count+1] <- node[j] newphinode[count+1] <- phinode[j] count <- count + 1 } } list(node = newnode,phinode = newphinode, nbnodes = count) } Rwave/R/Ridge_Annealing.R0000644000176200001440000001660711341712621014700 0ustar liggesusers######################################################################### # $Log: Ridge_Annealing.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # University of California, Irvine # All right reserved ######################################################################### corona <- function(tfrep, guess, tfspec = numeric(dim(tfrep)[2]), subrate = 1, temprate = 3, mu = 1, lambda = 2*mu, iteration = 1000000, seed = -7, stagnant = 20000, costsub = 1, plot = TRUE) ######################################################################### # corona: # ------- # ridge extraction using simulated annealing # compute the continuous wavelet transform ridge from the cwt # modulus, using simulated annealing # # Input: # ------ # tfrep: wavelet or Gabor transform. # guess: initial guess for ridge function (1D array). # tfspec: estimate for the contribution of the noise to the # transform modulus (1D array) # subrate: subsampling rate for the transform modulus. # temprate: constant (numerator) in the temperature schedule. # lambda: coefficient in front of phi' in the cost function # mu: coefficient in front of phi'' in the cost function # iteration: maximal number of iterations # seed: initialization for random numbers generator # stagnant: maximum number of steps without move (for the # stopping criterion) # costsub: subsampling of the cost function in cost # costsub = 1 means that the whole cost function # is returned # plot: when set(default), some results will be shown on # the display # # Output: # ------- # ridge: 1D array (of length sigsize) containing the ridge # cost: 1D array containing the cost function # ######################################################################### { sigsize <- dim(tfrep)[1] nscale <- dim(tfrep)[2] blocksize <- 1 costsize <- as.integer(iteration/blocksize) + 1 cost <- 1:costsize modulus <- Mod(tfrep) tfspectrum <- tfspec cost[] <- 0 phi <- as.integer(guess) count <- 0 dim(phi) <- c(sigsize,1) dim(modulus) <- c(sigsize * nscale, 1) smodsize <- as.integer(sigsize/subrate) if((sigsize/subrate - as.integer(sigsize/subrate)) > 0) smodsize <- as.integer(sigsize/subrate) + 1 smodulus <- matrix(0,smodsize,nscale) dim(smodulus) <- c(smodsize * nscale, 1) z <- .C("Smodulus_smoothing", as.double(modulus), smodulus = as.double(smodulus), as.integer(sigsize), smodsize = as.integer(smodsize), as.integer(nscale), as.integer(subrate), PACKAGE="Rwave") smodulus <- z$smodulus smodsize <- z$smodsize smodulus <- smodulus * smodulus dim(smodulus) <- c(smodsize, nscale) for (k in 1:nscale) smodulus[,k] <- smodulus[,k] - tfspectrum[k] dim(smodulus) <- c(smodsize * nscale, 1) cat("dimension of smodulus",dim(smodulus),"\n") z <- .C("Sridge_annealing", cost = as.double(cost), as.double(smodulus), phi = as.double(phi), as.double(lambda), as.double(mu), as.double(temprate), as.integer(sigsize), as.integer(nscale), as.integer(iteration), as.integer(stagnant), as.integer(seed), nb = as.integer(count), as.integer(subrate), as.integer(costsub), as.integer(smodsize), PACKAGE="Rwave") count <- z$nb cat("Number of iterations:",(count-1)*costsub,"(stagnant=",stagnant,")\n") if(plot == TRUE) { image(Mod(tfrep)) lines(z$phi+1) } list(ridge = z$phi+1, cost = z$cost[1:count]) } coronoid <- function(tfrep, guess, tfspec = numeric(dim(tfrep)[2]), subrate = 1, temprate = 3, mu = 1, lambda = 2*mu, iteration = 1000000, seed = -7, stagnant = 20000, costsub = 1,plot=TRUE) ######################################################################### # coronoid: # ---------- # ridge extraction using modified simulated annealing # Modification of Sridge_annealing, the cost function is # replaced with another one, in which the smoothness penalty # is proportional to the transform modulus. # # Input: # ------ # tfrep: wavelet or Gabor transform. # guess: initial guess for ridge function (1D array). # tfspec: estimate for the contribution of the noise to the # transform modulus (1D array) # subrate: subsampling rate for the transform modulus. # temprate: constant (numerator) in the temperature schedule. # lambda: coefficient in front of phi' in the cost function # mu: coefficient in front of phi'' in the cost function # iteration: maximal number of iterations # seed: initialization for random numbers generator # stagnant: maximum number of steps without move (for the # stopping criterion) # costsub: subsampling of the cost function in cost # costsub=1 means that the whole cost function # is returned # plot: when set(default), some results will be shown on # the display # # Output: # ------- # ridge: 1D array (of length sigsize) containing the ridge # cost: 1D array containing the cost function # ######################################################################### { sigsize <- dim(tfrep)[1] nscale <- dim(tfrep)[2] costsize <- as.integer(iteration/costsub) + 1 cost <- 1:costsize modulus <- Mod(tfrep) tfspectrum <- tfspec cost[] <- 0 phi <- as.integer(guess) count <- 0 dim(phi) <- c(sigsize,1) dim(modulus) <- c(sigsize * nscale, 1) smodsize <- as.integer(sigsize/subrate) if((sigsize/subrate - as.integer(sigsize/subrate)) > 0) smodsize <- as.integer(sigsize/subrate) + 1 smodulus <- matrix(0,smodsize,nscale) dim(smodulus) <- c(smodsize * nscale, 1) z <- .C("Smodulus_smoothing", as.double(modulus), smodulus = as.double(smodulus), as.integer(sigsize), smodsize = as.integer(smodsize), as.integer(nscale), as.integer(subrate), PACKAGE="Rwave") smodulus <- z$smodulus smodsize <- z$smodsize smodulus <- smodulus * smodulus dim(smodulus) <- c(smodsize, nscale) for (k in 1:nscale) smodulus[,k] <- smodulus[,k] - tfspectrum[k] dim(smodulus) <- c(smodsize * nscale, 1) z <- .C("Sridge_coronoid", cost = as.double(cost), as.double(smodulus), phi = as.double(phi), as.double(lambda), as.double(mu), as.double(temprate), as.integer(sigsize), as.integer(nscale), as.integer(iteration), as.integer(stagnant), as.integer(seed), nb = as.integer(count), as.integer(subrate), as.integer(costsub), as.integer(smodsize), PACKAGE="Rwave") count <- z$nb cat("Number of iterations:",(count-1)*costsub,"(stagnant=",stagnant,")\n") if(plot == TRUE) { image(Mod(tfrep)) lines(z$phi+1) } list(ridge = z$phi+1, cost = z$cost[1:count]) } Rwave/R/Crazy_Climbers.R0000644000176200001440000001177111341712511014575 0ustar liggesusers######################################################################### # $Log: Crazy_Climbers.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### crc <- function(tfrep, tfspec = numeric(dim(tfrep)[2]), bstep = 3, iteration = 10000, rate = .001, seed = -7, nbclimb=10, flag.int = TRUE, chain = TRUE, flag.temp = FALSE) ######################################################################### # crc: Time-frequency multiple ridge estimation (crazy climbers) # ---- # use the crazy climber algorithm to evaluate ridges of # continuous Time-Frequency transform # # input: # ------ # tfrep: wavelet or Gabor transform # tfspec: additional potential (coming from learning the noise) # iteration: number of iterations # rate: initial value of the temperature # seed: initialization for random numbers generator # nbclimb: number of crazy climbers # bstep: step size for the climber walk in the time direction # flag.int: if set to TRUE, computes the integral on the ridge. # chain: if set to TRUE, chains the ridges. # flag.temp: if set to TRUE, keeps a constant temperature. # # output: # ------- # beemap: 2D array containing the (weighted or unweighted) # occupation measure (integrated with respect to time) # ######################################################################### { tfspectrum <- tfspec d <- dim(tfrep) sigsize <- d[1] nscale <- d[2] beemap <- matrix(0,sigsize,nscale) sqmodulus <- Re(tfrep*Conj(tfrep)) for (k in 1:nscale) sqmodulus[,k] <- sqmodulus[,k] - tfspectrum[k] dim(beemap) <- c(nscale * sigsize, 1) dim(sqmodulus) <- c(nscale * sigsize, 1) z <- .C("Sbee_annealing", as.double(sqmodulus), beemap= as.double(beemap), as.double(rate), as.integer(sigsize), as.integer(nscale), as.integer(iteration), as.integer(seed), as.integer(bstep), as.integer(nbclimb), as.integer(flag.int), as.integer(chain), as.integer(flag.temp), PACKAGE="Rwave") beemap <- z$beemap dim(beemap) <- c(sigsize,nscale) if(dev.set() != 1) image(beemap) beemap } cfamily <- function(ccridge, bstep = 1, nbchain = 100, ptile = 0.05) ######################################################################### # cfamily: # -------- # chain the ridges obtained by crazy climber. # # input: # ------ # ccridge: unchained ridge (output of Bee_Annealing) # bstep: maximal length for a gap in a ridge # nbchain: maximum number of chains # ptile: relative threshold for the ridges # # output: # ------ # ordered: ordered map: image containing the ridges # (displayed with different colors) # chain: 2D array containing the chained ridges, according # to the chain data structure: # chain[,1]: first point of the ridge # chain[,2]: length of the chain # chain[,3:(chain[,2]+2)]: values of the ridge # nbchain: number of chains. # ######################################################################### { d <- dim(ccridge) sigsize <- d[1] nscale <- d[2] threshold <- range(ccridge)[2] * ptile sz <- sigsize + 2 chain <- matrix(-1,nbchain,sz) orderedmap <- matrix(0,sigsize,nscale) dim(chain) <- c(nbchain * sz, 1) dim(ccridge) <- c(nscale * sigsize, 1) dim(orderedmap) <- c(nscale * sigsize, 1) z <- .C("Scrazy_family", as.double(ccridge), orderedmap = as.double(orderedmap), chain = as.integer(chain), chainnb = as.integer(nbchain), as.integer(sigsize), as.integer(nscale), as.integer(bstep), as.double(threshold), PACKAGE="Rwave") orderedmap <- z$orderedmap chain <- z$chain dim(orderedmap) <- c(sigsize,nscale) dim(chain) <- c(nbchain,sz) nbchain <- z$chainnb chain <- chain +1 chain[,2] <- chain[,2]-1 list(ordered = orderedmap, chain = chain, nbchain=nbchain) } crfview <- function(beemap, twod=TRUE) ######################################################################### # crfview: # -------- # displays a family of chained ridges # ######################################################################### { if (twod) image(beemap$ordered > 0) else { Dim <- dim(beemap$ordered) matmp <- matrix(0,Dim[1],Dim[2]) matmp[1,1] <- 1 image(matmp) for (k in 1:beemap$nbchain){ start <- beemap$chain[k,1] end <- start + beemap$chain[k,2] lines(start:(end-1), beemap$chain[k,3:(end-start+2)], type="l") } } title(" Chained Ridges") cat("") } Rwave/R/Snake_Annealing.R0000644000176200001440000002077211341712627014713 0ustar liggesusers######################################################################### # $Log: Snake_Annealing.S,v $ # Revision 1.2 1995/04/05 18:56:55 bruno # *** empty log message *** # # Revision 1.1 1995/04/02 01:04:16 bruno # Initial revision # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### snake <- function(tfrep, guessA, guessB, snakesize = length(guessB), tfspec = numeric(dim(modulus)[2]), subrate = 1, temprate = 3, muA = 1, muB = muA, lambdaB = 2*muB, lambdaA = 2*muA, iteration = 1000000, seed = -7, costsub = 1, stagnant = 20000, plot = TRUE) ######################################################################### # snake: # ------ # ridge extraction using snakes and simulated annealing # # input: # ------ # tfrep: the wavelet or Gabor transform. # guessA: initial guess for ridge function (frequency coordinate). # guessB: initial guess for ridge function (time coordinate). # tfspec: estimate for the contribution of the noise to the # transform modulus (1D array) # subrate: subsampling rate for the transform modulus. # temprate: constant (numerator) in the temperature schedule. # muA, muB: coeff of phi' and rho' in cost function # lambdaA,lambdaB: same thing for 2nd derivatives # iteration: maximal number of iterations # seed: initialization for random numbers generator # costsub: subsampling of the cost function in cost # costsub=1 means that the whole cost function # is returned # stagnant: maximum number of steps without move (for the # stopping criterion) # plot : when set (by default), certain results will be # displayed # # output: # ------ # A: 1D array containing the frequency coordinate of the ridge # B: 1D array containing the time coordinate of the ridge # cost: 1D array containing the cost function # ######################################################################### { sigsize <- dim(tfrep)[1] nscale <- dim(tfrep)[2] costsize <- as.integer(iteration/costsub) + 1 cost <- 1:costsize modulus <- Mod(tfrep) tfspectrum <- tfspec cost[] <- 0 phi <- as.integer(guessA) rho <- as.integer(guessB) count <- 0 dim(phi) <- c(length(phi),1) dim(rho) <- c(length(rho),1) if(plot== TRUE) image(modulus) dim(modulus) <- c(sigsize * nscale, 1) smodsize <- as.integer(sigsize/subrate) if((sigsize/subrate - as.integer(sigsize/subrate)) > 0) smodsize <- as.integer(sigsize/subrate) + 1 smodulus <- matrix(0,smodsize,nscale) dim(smodulus) <- c(smodsize * nscale, 1) z <- .C("Smodulus_smoothing", as.double(modulus), smodulus = as.double(smodulus), as.integer(sigsize), smodsize = as.integer(smodsize), as.integer(nscale), as.integer(subrate), PACKAGE="Rwave") smodulus <- z$smodulus smodsize <- z$smodsize smodulus <- smodulus * smodulus dim(smodulus) <- c(smodsize, nscale) for (k in 1:nscale) smodulus[,k] <- smodulus[,k] - tfspectrum[k] dim(smodulus) <- c(smodsize * nscale, 1) z <- .C("Ssnake_annealing", cost = as.double(cost), as.double(smodulus), phi = as.double(phi), rho = as.double(rho), as.double(lambdaA), as.double(muA), as.double(lambdaB), as.double(muB), as.double(temprate), as.integer(sigsize), as.integer(snakesize), as.integer(nscale), as.integer(iteration), as.integer(stagnant), as.integer(seed), nb = as.integer(count), as.integer(subrate), as.integer(costsub), as.integer(smodsize), PACKAGE="Rwave") count <- z$nb cat("Number of moves:",count,"(",stagnant," still steps)\n") if(plot==TRUE) lines(z$rho+1, z$phi+1) list(A = z$phi+1, B = z$rho+1, cost = z$cost[1:count]) } snakoid <- function(modulus, guessA, guessB, snakesize = length(guessB), tfspec = numeric(dim(modulus)[2]), subrate = 1, temprate = 3, muA = 1, muB = muA, lambdaB = 2*muB, lambdaA = 2*muA, iteration = 1000000, seed = -7, costsub = 1, stagnant = 20000, plot = TRUE) ######################################################################### # snakoid: # ---------- # ridge extraction using snakes and simulated annealing # # input: # ------ # modulus: modulus of the wavelet or Gabor transform. # guessA: initial guess for ridge function (frequency coordinate). # guessB: initial guess for ridge function (time coordinate). # tfspec: estimate for the contribution of the noise to the # transform modulus (1D array) # subrate: subsampling rate for the transform modulus. # temprate: constant (numerator) in the temperature schedule. # muA, muB: coeff of phi' and rho' in cost function # lambdaA,lambdaB: same thing for 2nd derivatives # iteration: maximal number of iterations # seed: initialization for random numbers generator # costsub: subsampling of the cost function in cost # costsub=1 means that the whole cost function # is returned # stagnant: maximum number of steps without move (for the # stopping criterion) # plot: when set(default), some results will be displayed # # output: # ------ # A: 1D array containing the frequency coordinate of the ridge # B: 1D array containing the time coordinate of the ridge # cost: 1D array containing the cost function # ######################################################################### { sigsize <- dim(modulus)[1] nscale <- dim(modulus)[2] costsize <- as.integer(iteration/costsub) + 1 cost <- 1:costsize tfspectrum <- tfspec cost[] <- 0 phi <- guessA rho <- guessB count <- 0 dim(phi) <- c(length(phi),1) dim(rho) <- c(length(rho),1) if(plot== TRUE) image(modulus) dim(modulus) <- c(sigsize * nscale, 1) smodsize <- as.integer(sigsize/subrate) if((sigsize/subrate - as.integer(sigsize/subrate)) > 0) smodsize <- as.integer(sigsize/subrate) + 1 smodulus <- matrix(0,smodsize,nscale) dim(smodulus) <- c(smodsize * nscale, 1) z <- .C("Smodulus_smoothing", as.double(modulus), smodulus = as.double(smodulus), as.integer(sigsize), smodsize = as.integer(smodsize), as.integer(nscale), as.double(subrate), PACKAGE="Rwave") smodulus <- z$smodulus smodsize <- z$smodsize smodulus <- smodulus * smodulus dim(smodulus) <- c(smodsize, nscale) for (k in 1:nscale) smodulus[,k] <- smodulus[,k] - tfspectrum[k] dim(smodulus) <- c(smodsize * nscale, 1) z <- .C("Ssnakenoid_annealing", cost = as.double(cost), as.double(smodulus), phi = as.double(phi), rho = as.double(rho), as.double(lambdaA), as.double(muA), as.double(lambdaB), as.double(muB), as.double(temprate), as.integer(sigsize), as.integer(snakesize), as.integer(nscale), as.integer(iteration), as.integer(stagnant), as.integer(seed), nb = as.integer(count), as.integer(subrate), as.integer(costsub), as.integer(smodsize), PACKAGE="Rwave") count <- z$nb cat("Number of moves:",count,"(",stagnant," still steps)\n") if(plot== TRUE) lines(z$rho+1, z$phi+1) list(A = z$phi+1, B = z$rho+1, cost = z$cost[1:count]) } snakeview <- function(modulus,snake) ######################################################################### # snakeview: # ---------- # Restrict time-frequency transform to a snake # # input: # ------ # modulus: modulus of the wavelet (or Gabor) transform # snake: B and A components of a snake # # output: # ------- # img: 2D array containing the restriction of the transform # modulus to the snake # ######################################################################### { A <- snake$A B <- snake$B snakesize <- length(A) sigsize <- dim(modulus)[1] nscale <- dim(modulus)[2] img <- matrix(0,sigsize,nscale) for(i in 1:snakesize) img[B[i],A[i]] <- modulus[B[i],A[i]] img } Rwave/R/Pca_Climbers.R0000644000176200001440000003356011341712620014211 0ustar liggesusers######################################################################### # $Log: Pca_Climbers.S,v $ # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### pcacrc <- function(tfrep, tfspec = numeric(dim(tfrep)[2]), grida = 10, gridb = 20, pct = 0.1, count = 10000, bstep = 3, iteration = 10000, rate = .001, seed = -7, nbclimb = 10, flag.int = TRUE, chain = TRUE, flag.temp = FALSE, lineflag = FALSE, flag.cwt = FALSE) ######################################################################### # pcacrc: Time-frequency multiple ridge estimation (pca climbers) # ------ # use the pca climber algorithm to evaluate ridges of # continuous Time-Frequency transform # # input: # ------ # tfrep: wavelet or Gabor transform # tfspec: additional potential (coming from learning the noise) # grida : window of a # gridb : window of b # pct : the percent number of points in window 2*grida and # 2*gridb to select histogram # count : the maximal number of repetitive selection, if # location was chosen before # iteration: number of iterations # rate: initial value of the temperature # seed: initialization for random numbers generator # nbclimb: number of crazy climbers # bstep: step size for the climber walk in the time direction # flag.int: if set to TRUE, computes the integral on the ridge. # chain: if set to TRUE, chains the ridges. # flag.temp: if set to TRUE, keeps a constant temperature. # flag.cwt: if set to TRUE, the bstep as well as the block size # of a and b are adjusted according to the scale of wavelet # transform(not implemented yet). # linfflag: if set to TRUE, the line segments oriented to the # where the climber will move freely at the block is shown in # image # # output: # ------- # beemap: 2D array containing the (weighted or unweighted) # occupation measure (integrated with respect to time) # pcamap: 2D array containing number from 1 to 4, denoting the # direction a climber will go at some position; where # 1 moving freely along b, 3 freely along a, 2 along # line a = -b, and 4 along the line a = b. The restricted # move is perdendicular to the free move. # ######################################################################### { tfspectrum <- tfspec d <- dim(tfrep) sigsize <- d[1] nscale <- d[2] sqmodulus <- Re(tfrep*Conj(tfrep)) for (k in 1:nscale) sqmodulus[,k] <- sqmodulus[,k] - tfspectrum[k] image(sqmodulus) # percentage of points to be selected in a block # considering overlapping 1/2 on each coordinate with neighborhood nbpoint <- as.integer(2* grida * 2 * gridb * pct) # nbpoint <- as.integer(grida * gridb * pct) # number of grid size nbx <- as.integer(sigsize/gridb) nby <- as.integer(nscale/grida) if((sigsize/gridb - nbx) > 0) nbx <- nbx + 1 if((nscale/grida - nby) > 0) nby <- nby + 1 nbblock <- nbx * nby # first two locations at each block stores the lower-left corner of the block # followed by the locations of up-right corner and by the coordinates of the # selected points in the block. The locations are in the order of (x, y) tstsize <- 2 * nbpoint + 4 tst <- matrix(0, tstsize, nbblock) dim(tst) <- c(nbblock * tstsize,1) # the map of points selected in all the block pointmap <- matrix(0,sigsize,nscale) dim(pointmap) <- c(sigsize * nscale, 1) dim(sqmodulus) <- c(sigsize * nscale, 1) z <- .C("Spointmap", as.double(sqmodulus), as.integer(sigsize), as.integer(nscale), as.integer(gridb), as.integer(grida), as.integer(nbblock), as.integer(nbpoint), pointmap = as.integer(pointmap), tst =as.double(tst), as.integer(tstsize), as.integer(count), as.integer(seed), PACKAGE="Rwave") pointmap <- z$pointmap tst <- z$tst dim(pointmap) <- c(sigsize,nscale) dim(tst) <- c(tstsize, nbblock) # principle component analysis and calculate the direction at each block pcamap <- matrix(1,sigsize,nscale) # first eigenvector of a block eigv1 <- matrix(0,nbblock,2) # to draw eigenvector in a block if(lineflag) { lng <- min(grida, gridb) oldLng <- lng linex <- numeric(oldLng) liney <- numeric(oldLng) } for(j in 1:nbblock) { left <- max(1,as.integer(tst[1,j])) down <- max(1,as.integer(tst[2,j])) right <- min(as.integer(tst[3,j]),sigsize) up <- min(as.integer(tst[4,j]),nscale) input <- tst[5:tstsize,j] dim(input) <- c(2,nbpoint) input <- t(input) ctst <- var(input) eig<- eigen(ctst) # cat(" ratio in eigenvalues = ",abs(eig$values[1]/eig$values[2])," \n") # eigen vector 1 eigv1[j,] <- eig$vector[,1] # shifted center position of a block if(lineflag) { centerx <- as.integer((left + right)/2) centery <- as.integer((down + up)/2) } # theta of the eigen vector 1; -pi < theta <= pi theta <- atan2((eigv1[j,])[2],(eigv1[j,])[1]) # along x : denote 1 in the pcamap if(((theta <= pi/8) && (theta > -pi/8)) || (theta > 7*pi/8 || theta <= -7*pi/8)) { pcamap[left:(right-1),down:(up-1)] <- 1 if(lineflag) { Lng <- min(lng,(sigsize-centerx)) if(Lng != oldLng) { linex <- numeric(Lng) liney <- numeric(Lng) } llng <- as.integer(Lng/2) x1 <- max(centerx-llng,1) x2 <- min(sigsize,x1 + Lng-1) linex[] <- x1:x2 liney[] <- centery lines(linex,liney) } } # along x=y : denoted as 2 in pcamap if(((theta > pi/8) && (theta <= 3*pi/8)) || ((theta > -7*pi/8) && (theta <= -5*pi/8))) { pcamap[left:(right-1),down:(up-1)] <- 2 if(lineflag) { Lng <- min(lng,sigsize-centerx) Lng <- min(Lng,nscale-centery) if(Lng != oldLng) { linex <- numeric(Lng) liney <- numeric(Lng) } llng <- as.integer(Lng/2) x1 <- max(centerx-llng,1) x2 <- min(sigsize,x1 + Lng-1) y1 <- max(centery-llng,1) y2 <- min(sigsize,y1 + Lng-1) linex[] <- x1:x2 liney[] <- y1:y2 lines(linex,liney) } } # along y : as 3 in pcamap if(((theta > 3*pi/8) && (theta <= 5*pi/8)) || ((theta > -5*pi/8) && (theta <= -3*pi/8))) { pcamap[left:(right-1),down:(up-1)] <- 3 if(lineflag) { Lng <- min(lng, nscale-centery) if(Lng != oldLng) { linex <- numeric(Lng) liney <- numeric(Lng) } llng <- as.integer(Lng/2) y1 <- max(centery-llng,1) y2 <- min(sigsize,y1 + Lng-1) linex[] <- centerx liney[] <- y1:y2 lines(linex,liney) } } # along x=-y : as 4 in pcamap if(((theta > 5*pi/8) && (theta <= 7*pi/8)) || ((theta > -3*pi/8) && (theta <= -pi/8))) { pcamap[left:(right-1),down:(up-1)] <- 4 if(lineflag) { Lng <- min(lng,nscale-centery) Lng <- min(Lng,sigsize-centerx) if(Lng != oldLng) { linex <- numeric(Lng) liney <- numeric(Lng) } llng <- as.integer(Lng/2) x1 <- max(centerx-llng,1) x2 <- min(sigsize,x1 + Lng-1) y1 <- max(centery-llng,1) y2 <- min(sigsize,y1 + Lng-1) linex[] <- x1:x2 liney[] <- y2:y1 lines(linex,liney) } } if(lineflag) oldLng <- Lng } # From the following on, it is similar to the process of crazy climbers .... beemap <- matrix(0,sigsize,nscale) dim(beemap) <- c(nscale * sigsize, 1) dim(pcamap) <- c(nscale * sigsize, 1) z <- .C("Spca_annealing", as.double(sqmodulus), beemap= as.double(beemap), as.integer(pcamap), as.double(rate), as.integer(sigsize), as.integer(nscale), as.integer(iteration), as.integer(seed), as.integer(bstep), as.integer(nbclimb), as.integer(flag.int), as.integer(chain), as.integer(flag.temp), PACKAGE="Rwave") beemap <- z$beemap dim(beemap) <- c(sigsize, nscale) dim(pcamap) <- c(sigsize, nscale) image(beemap) list(beemap = beemap, pcamap = pcamap) } pcafamily <-function(pcaridge, orientmap, maxchnlng=as.numeric(dim(pcaridge)[1])+10, bstep = 1, nbchain = 100, ptile = 0.05) ######################################################################### # pcafamily: # --------- # chain the ridges obtained by pca climber. # # input: # ------ # pcaridge: ridge found by pca climber # orientmap : the first eigen vector direction at each position # bstep: maximal length for a gap in a ridge # nbchain: maximum number of chains # ptile: relative threshold for the ridges # maxchnlng: maximal chain length # # output: # ------ # ordered: ordered map: image containing the ridges # (displayed with different colors) # chain: 2D array containing the chained ridges, according # to the chain data structure: # chain[,1]: first point of the ridge # chain[,2]: length of the chain # chain[,3:(chain[,2]+2)]: values of the ridge # nbchain: number of chains. # ######################################################################### { d <- dim(pcaridge) sigsize <- d[1] nscale <- d[2] threshold <- range(pcaridge)[2] * ptile sz <- 2 * (maxchnlng); chain <- matrix(-1,nbchain,sz) orderedmap <- matrix(0,sigsize,nscale) dim(chain) <- c(nbchain * sz, 1) dim(pcaridge) <- c(nscale * sigsize, 1) dim(orderedmap) <- c(nscale * sigsize, 1) dim(orientmap) <- c(nscale * sigsize, 1) z <- .C("Spca_family", as.double(pcaridge), as.integer(orientmap), orderedmap = as.double(orderedmap), chain = as.integer(chain), chainnb = as.integer(nbchain), as.integer(sigsize), as.integer(nscale), as.integer(bstep), as.double(threshold), as.integer(maxchnlng), PACKAGE="Rwave") orderedmap <- z$orderedmap chain <- z$chain dim(orderedmap) <- c(sigsize,nscale) dim(chain) <- c(nbchain,sz) nbchain <- z$chainnb chain <- chain +1 chain[,1] <- chain[,1]-1 list(ordered = orderedmap, chain = chain, nbchain=nbchain) } pcamaxima <- function(beemap,orientmap) { d <- dim(beemap) sigsize <- d[1] nscale <- d[2] tfmaxima <- matrix(0,sigsize,nscale) dim(orientmap) <- c(nscale * sigsize, 1) dim(beemap) <- c(nscale * sigsize, 1) dim(tfmaxima) <- c(nscale * sigsize, 1) z <- .C("Stf_pcaridge", as.double(beemap), tfmaxima = as.double(tfmaxima), as.integer(sigsize), as.integer(nscale), as.integer(orientmap), PACKAGE="Rwave") tfmaxima <- z$tfmaxima dim(tfmaxima) <- c(sigsize,nscale) tfmaxima } simplepcarec <- function(siginput, tfinput, beemap, orientmap, bstep = 5, ptile = .01, plot = 2) ######################################################################### # simplepcarec: # ------------- # Simple reconstruction of a real valued signal from ridges found by # pca climbers. # # input: # ------ # siginput: input signal # tfinput: continuous time-frequency transform (output of cwt or cgt) # beemap: output of pca climber algorithm # orientmap: pca dirction of climber # bstep: used for the chaining # ptile: # plot: if set to 1, displays the signal, the components, and # signal and reconstruction one after another. If set to # 2, displays the signal, the components, and the # reconstruction on the same page. Else, no plot. # # output: # ------- # rec: reconstructed signal # ordered: image of the ridges (with different colors) # comp: 2D array containing the signals reconstructed from ridges # ######################################################################### { tmp <- pcafamily(beemap,orientmap,ptile=ptile) chain <- tmp$chain nbchain <- tmp$nbchain rec <- numeric(length(siginput)) if(plot != FALSE) { par(mfrow=c(2,1)) plot.ts(siginput) title("Original signal") image(tmp$ordered) title("Chained Ridges") } npl(1) sigsize <- dim(tfinput)[1] nscale <- dim(tfinput)[2] rec <- numeric(sigsize) tmp3 <- matrix(0+0i,nbchain,sigsize) for (j in 1:nbchain){ for(i in 1:chain[j,1]) { cat("The (b,a) at chain", j,"is (",chain[j,2*i+1],chain[j,2*i],")\n") tmp3[j,chain[j,2*i+1]] <- tmp3[j,chain[j,2*i+1]]+ 2*tfinput[chain[j,2*i+1],chain[j,2*i]] } rec <- rec + Re(tmp3[j,]) } if(plot == 1) { par(mfrow=c(2,1)) par(cex=1.1) plot.ts(siginput) title("Original signal") plot.ts(rec) title("Reconstructed signal") } else if (plot == 2) { par(mfrow=c(nbchain+2,1)) par(mar=c(2,4,4,4)) par(cex=1.1) par(err=-1) plot.ts(siginput) title("Original signal") for (j in 1:nbchain) plot.ts(Re(tmp3[j,])) plot.ts(rec) title("Reconstructed signal") } list(rec=rec, ordered=tmp$ordered, chain = tmp$chain, comp=tmp3) } Rwave/R/skernel.R0000644000176200001440000002502612117401320013321 0ustar liggesusers######################################################################### # $Log: Skernel.S,v $ # Revision 1.2 1995/04/05 18:56:55 bruno # *** empty log message *** # # Revision 1.1 1995/04/02 01:04:16 bruno # Initial revision # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### rwkernel <- function(node, phinode, nvoice, x.inc = 1, x.min = node[1], x.max = node[length(node)], w0 = 2*pi, plot = FALSE) ######################################################################### # rwkernel: # ------ # Computes the cost from the sample of points on the estimated ridge # and the matrix used in the reconstruction of the original signal # The output is a lng x lng matrix of complex numbers, lng being the # number of points at which the signal is to be reconstructed. # The dependence upon the original signal is only through the # sample (node,phinode) of the ridge. This should be the output # of a previously run estimation procedure. # # Input: # ------ # node: values of the variable b for the nodes of the ridge # phinode: values of the scale variable a for the nodes of the ridge # nvoice: number of scales within 1 octave # x.inc: step unit for the computation of the kernel # x.min: minimal value of x for the computation of Q2 # x.max: maximal value of x for the computation of Q2 # w0: central frequency of the wavelet # plot: if set to TRUE, displays the modulus of the matrix of Q2 # # Output: # ------- # ker: matrix of the Q2 kernel # ######################################################################### { cat("x.min = ",x.min,"\n") cat("x.max = ",x.max,"\n") cat("x.inc = ",x.inc,"\n") lng <- as.integer((x.max-x.min)/x.inc)+1 nbnode <- length(node) cat("lng = ",lng,"\n"); b.start <- x.min - 50 b.end <- x.max + 50 ker.r <- matrix(0, lng, lng) ker.i <- matrix(0, lng, lng) dim(ker.r) <- c(lng * lng, 1) dim(ker.i) <- c(lng * lng, 1) phinode <- 2 * 2^(phinode/nvoice) z <- .C("kernel", ker.r = as.double(ker.r), ker.i = as.double(ker.i), as.integer(x.min), as.integer(x.max), as.integer(x.inc), as.integer(lng), as.double(node), as.double(phinode), as.integer(nbnode), as.double(w0), as.double(b.start), as.double(b.end), PACKAGE="Rwave") ker.r <- z$ker.r ker.i <- z$ker.i dim(ker.r) <- c(lng, lng) dim(ker.i) <- c(lng, lng) ker <- matrix(0, lng, lng) ker <- ker.r + 1i*ker.i if(plot == TRUE){ par(mfrow=c(1,1)) image(Mod(ker)) title("Matrix of the reconstructing kernel (modulus)") } ker } rkernel <- function(node, phinode, nvoice, x.inc = 1, x.min = node[1], x.max = node[length(node)], w0 = 2*pi, plot = FALSE) ######################################################################### # rkernel: # ------- # Same as kernel, except that a real valued kernel is computed # (precisely the real part of the previous kernel); this applies to # real signals. # # Input: # ------ # node: values of the variable b for the nodes of the ridge # phinode: values of the scale variable a for the nodes of the ridge # nvoice: number of scales within 1 octave # x.inc: step unit for the computation of the kernel # x.min: minimal value of x for the computation of Q2 # x.max: maximal value of x for the computation of Q2 # w0: central frequency of the wavelet # plot: if set to TRUE, displays the modulus of the matrix of Q2 # # Output: # ------- # ker: matrix of the Q2 kernel # ######################################################################### { lng <- as.integer((x.max-x.min)/x.inc)+1 nbnode <- length(node) b.start <- x.min - 50 b.end <- x.max + 50 ker <- matrix(0, lng, lng) dim(ker) <- c(lng * lng, 1) phinode <- 2 * 2^(phinode/nvoice) z <- .C("rkernel", ker = as.double(ker), as.integer(x.min), as.integer(x.max), as.integer(x.inc), as.integer(lng), as.double(node), as.double(phinode), as.integer(nbnode), as.double(w0), as.double(b.start), as.double(b.end), PACKAGE="Rwave") ker <- z$ker dim(ker) <- c(lng, lng) if(plot == TRUE){ par(mfrow=c(1,1)) image(Mod(ker)) title("Matrix of the Q2 kernel (modulus)") } ker } fastkernel <- function(node, phinode, nvoice, x.inc = 1, x.min = node[1], x.max = node[length(node)], w0 = 2*pi, plot = FALSE) ######################################################################### # fastkernel: # ----------- # Same as kernel, except that the kernel is computed # using Riemann sums instead of Romberg integration. # # Input: # ------ # node: values of the variable b for the nodes of the ridge # phinode: values of the scale variable a for the nodes of the ridge # nvoice: number of scales within 1 octave # x.inc: step unit for the computation of the kernel # x.min: minimal value of x for the computation of Q2 # x.max: maximal value of x for the computation of Q2 # w0: central frequency of the wavelet # plot: if set to TRUE, displays the modulus of the matrix of Q2 # # Output: # ------- # ker: matrix of the Q2 kernel # ######################################################################### { lng <- as.integer((x.max-x.min)/x.inc)+1 nbnode <- length(node) b.start <- x.min - 50 b.end <- x.max + 50 ker.r <- matrix(0, lng, lng) ker.i <- matrix(0, lng, lng) dim(ker.r) <- c(lng * lng, 1) dim(ker.i) <- c(lng * lng, 1) phinode <- 2 * 2^(phinode/nvoice) z <- .C("fastkernel", ker.r = as.double(ker.r), ker.i = as.double(ker.i), as.integer(x.min), as.integer(x.max), as.integer(x.inc), as.integer(lng), as.double(node), as.double(phinode), as.integer(nbnode), as.double(w0), as.double(b.start), as.double(b.end), PACKAGE="Rwave") ker.r <- z$ker.r ker.i <- z$ker.i dim(ker.r) <- c(lng, lng) dim(ker.i) <- c(lng, lng) ker <- matrix(0, lng, lng) ker <- ker.r + 1i*ker.i if(plot == TRUE){ par(mfrow=c(1,1)) image(Mod(ker)) title("Matrix of the reconstructing kernel (modulus)") } ker } zerokernel <- function(x.inc = 1, x.min,x.max) ######################################################################### # zerokernel: # ----------- # Returns a zero kernel. # # Input: # ------ # x.inc: step unit for the computation of the kernel # x.min: minimal value of x for the computation of Q2 # x.max: maximal value of x for the computation of Q2 # # Output: # ------- # ker: matrix of the Q2 kernel # ######################################################################### { lng <- as.integer((x.max-x.min)/x.inc)+1 ker <- matrix(0, lng, lng) ker } gkernel <- function(node, phinode, freqstep, scale, x.inc = 1, x.min = node[1], x.max = node[length(node)], plot = FALSE) ######################################################################### # gkernel: # ------- # Same as kernel, for the case of Gabor transform. # # input: # ------ # node: values of the variable b for the nodes of the ridge # phinode: values of the frequency variable for the ridge nodes # freqstep: sampling rate for the frequency axis # scale: size of the window # x.inc: step unit for the computation of the kernel # x.min: minimal value of x for the computation of Q2 # x.max: maximal value of x for the computation of Q2 # plot: if set to TRUE, displays the modulus of the matrix of Q2 # # output: # ------- # ker: matrix of the Q2 kernel # ######################################################################### { lng <- as.integer((x.max-x.min)/x.inc)+1 nbnode <- length(node) b.start <- node[1] - 50 b.end <- node[length(node)] + 50 ker <- matrix(0, lng, lng) dim(ker) <- c(lng * lng, 1) phinode <- phinode * freqstep z <- .C("gkernel", ker = as.double(ker), as.integer(x.min), as.integer(x.max), as.integer(x.inc), as.integer(lng), as.double(node), as.double(phinode), as.integer(nbnode), as.double(scale), as.double(b.start), as.double(b.end), PACKAGE="Rwave") ker <- z$ker dim(ker) <- c(lng, lng) if(plot == TRUE){ par(mfrow=c(1,1)) image(Mod(ker)) title("Matrix of the reconstructing kernel (modulus)") } ker } fastgkernel <- function(node, phinode, freqstep, scale, x.inc = 1, x.min = node[1], x.max = node[length(node)], plot = FALSE) ######################################################################### # fastgkernel: # ------------ # Same as gkernel, except that the kernel is computed # using Riemann sums instead of Romberg integration. # # # input: # ------ # node: values of the variable b for the nodes of the ridge # phinode: values of the frequency variable for the ridge nodes # freqstep: sampling rate for the frequency axis # scale: size of the window # x.inc: step unit for the computation of the kernel # x.min: minimal value of x for the computation of Q2 # x.max: maximal value of x for the computation of Q2 # plot: if set to TRUE, displays the modulus of the matrix of Q2 # # output: # ------- # ker: matrix of the Q2 kernel # ######################################################################### { lng <- as.integer((x.max-x.min)/x.inc)+1 nbnode <- length(node) b.start <- x.min - 50 b.end <- x.max + 50 ker <- matrix(0, lng, lng) dim(ker) <- c(lng * lng, 1) phinode <- phinode*freqstep z <- .C("fastgkernel", ker = as.double(ker), as.integer(x.min), as.integer(x.max), as.integer(x.inc), as.integer(lng), as.double(node), as.double(phinode), as.integer(nbnode), as.double(scale), as.double(b.start), as.double(b.end), PACKAGE="Rwave") ker <- z$ker dim(ker) <- c(lng, lng) if(plot == TRUE){ par(mfrow=c(1,1)) image(Mod(ker)) title("Matrix of the reconstructing kernel (modulus)") } ker } Rwave/R/recon2d.R0000644000176200001440000000533111217041512013212 0ustar liggesusers#shift fft 1D data #----------------- fftshift <- function(x) { lng <- length(x) y <- numeric(lng) y[1:(lng/2)] <- x[(lng/2+1):(lng)] y[(lng/2+1):lng] <- x[1:(lng/2)] y } #b727 <- matrix(scan("b727s.dat"),ncol=512,byrow=TRUE) #b727 <- matrix(scan("b727r.dat"),ncol=256,byrow=TRUE) #ncol <- dim(b727)[2]/2 #b727r<- b727[,-1+2*(1:ncol)] #b727i<- b727[,2*(1:ncol)] #B727 <- t(Conj(complex(real=b727r, imag=b727i))) #nrow <- dim(B727)[1] #ncol <- dim(B727)[2] #Generating the original image #----------------------------- #* apply fftshift twice to swap the center of the matrix #o727 <- t(apply(apply(B727,2,fftshift),1,fftshift)) #o727 <- apply(o727,2,fft) #o727 <- t(apply(apply(o727,2,fftshift),1,fftshift)) #*** only for display to compare with matlab output #image(Mod(t(o727))) #Applying Gabor Transform to ... #------------------------------- #gtime <- 100 #scale <- 50 #BB727 <- B727 #cgt727 <- array(0+0i,c(ncol,nrow,gtime)) #for(k in 1:ncol) cgt727[k,,] <- #complex(real=cgt(Re(BB727[,k]),gtime,2/gtime,scale,plot=FALSE),imag=cgt(Im(BB727[,k]),gtime,2/gtime,scale,plot=FALSE)) #image(apply(apply(Mod(cgt727),c(1,3),mean),1,fftshift)) #* The following tow S-routine concludes our Radar experiments #------------------------------------------------------------- #b727 <- matrix(scan("b727s.dat"),ncol=512,byrow=TRUE) #b727 <- matrix(scan("b727r.dat"),ncol=256,byrow=TRUE) #Generating the original image #----------------------------- #e.g. B727 <- showRadar(b727) showRadar<- function(x) { ncol <- dim(x)[2]/2 xr<- x[,-1+2*(1:ncol)] xi<- x[,2*(1:ncol)] y <- t(Conj(xr + 1i*xi)) oy <- t(apply(apply(y,2,fftshift),1,fftshift)) oy <- apply(oy,2,fft) oy <- t(apply(apply(oy,2,fftshift),1,fftshift)) image(Mod(t(oy))) oy } #Enhancing Radar Image by Gabor Transform #---------------------------------------- #gtime <- 128 #scale <- 50 #e.g. B727 <- cgtRadar(b727,gtime,scale) #e.g. # ncol <- dim(b727)[2]/2 # b727r<- b727[,-1+2*(1:ncol)] # b727i<- b727[,2*(1:ncol)] # b727 <- t(Conj(complex(real=b727r, imag=b727i))) # B727 <- cgtRadar(b727,gtime,scale,flag=FALSE) cgtRadar <- function(x,gtime,scale,flag=TRUE) { y <- x if(flag) { ncol <- dim(x)[2]/2 xr<- x[,-1+2*(1:ncol)] xi<- x[,2*(1:ncol)] y <- t(Conj(xr + 1i*xi)) } nrow <- dim(y)[1] ncol <- dim(y)[2] cgty <- array(0+0i,c(ncol,nrow,gtime)) for(k in 1:ncol) cgty[k,,] <- cgt(Re(y[,k]),gtime,2/gtime,scale,plot=FALSE) + 1i*cgt(Im(y[,k]),gtime,2/gtime,scale,plot=FALSE) oy <- apply(apply(Mod(cgty),c(1,3),mean),1,fftshift) for(k in 1:nrow) cgty[,k,] <- apply(cgty[,k,],1,fftshift) image(oy) list(output=oy,cgtout=cgty) } Rwave/R/mw.R0000644000176200001440000000531011341712306012302 0ustar liggesusers######################################################################### # $log: mw.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, Andrea Wang # Princeton University # All right reserved ######################################################################## check.maxresoln <- function( maxresoln, np ) #*********************************************************************# # check.maxresoln # --------------- # stop when the size of 2^maxresoln is no less than signal size # # input # ----- # maxresoln: number of decomposition # np: signal size # # output # ------ #*********************************************************************# { if ( 2^(maxresoln+1) > np ) stop("maxresoln is too large for the given signal") } mw <- function(inputdata,maxresoln,filtername="Gaussian1",scale=FALSE, plot=TRUE) #*********************************************************************# # mw # -- # mw computes the wavelet decomposition by Mallat and Zhong's wavelet. # # input # ----- # inputdata: either a text file or an S object of input data. # maxresoln: number of decomposition # filename: name of filter (Gaussian1 stands for Mallat and Zhong's filter ; # Haar stands for the Haar basis). # scale: when set, the wavelet transform at each scale will be plotted # with the same scale. # plot : indicate if the wavelet transform at each scale will be plotted. # # output # ------ # original: original signal # Wf: wavelet transform of signal # Sf: signal at a lower resolution # maxresoln: number of decomposition # np: size of signal #*********************************************************************# { x <- adjust.length(inputdata) s <- x$signal np <- x$length Sf <- matrix(0, nrow=(maxresoln+1), ncol=np) Wf <- matrix(0, nrow=maxresoln, ncol=np) ## Convert a matrix maxresoln by np matrix into a vector Sf <- t(Sf) dim(Sf) <- c(length(Sf),1) Wf <- t(Wf) dim(Wf) <- c(length(Wf),1) y <- .C("Sf_compute", Sf=as.double(Sf), as.double(s), as.integer(maxresoln), as.integer(np), as.character(filtername), PACKAGE="Rwave") z <- .C("Wf_compute", Wf=as.double(Wf), as.double(y$Sf), as.integer(maxresoln), as.integer(np), as.character(filtername), PACKAGE="Rwave") ## Convert the vectors into the original matrix Sf <- t(y$Sf) Sf <- Sf[(maxresoln*np+1):((maxresoln+1)*np)] Wf <- t(z$Wf) dim(Wf) <- c(np, maxresoln) if(plot) plotwt(s, Wf, Sf, maxresoln, scale) list( original=s, Wf=Wf, Sf=Sf, maxresoln=maxresoln, np=np ) } Rwave/R/Cwt_phase.R0000644000176200001440000000621311341712542013601 0ustar liggesusers######################################################################### # $Log: Cwt_phase.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### cwtp <- function(input, noctave, nvoice = 1, w0 = 2*pi, twoD = TRUE, plot = TRUE) ######################################################################### # cwtp: # ---- # continuous wavelet transform function: # compute the continuous wavelet transform with Morlet wavelet, # and its phase derivative (minus the wavelet frequency) # # input: # ------ # input: input signal (possibly complex-valued) # noctave: number of powers of 2 for the scale variable # nvoice: number of scales between 2 consecutive powers of 2 # w0: central frequency of Morlet wavelet # twoD: if set to TRUE, organizes the output as a 2D array # (signal_size X nb_scales) # if not: 3D array (signal_size X noctave X nvoice) # plot: if set to TRUE, displays the modulus of cwt on the graphic # device. # # output: # ------- # wt: continuous (complex) wavelet transform # f: derivative of wavelet transform phase # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) pp <- noctave * nvoice Routput <- matrix(0,newsize,pp) Ioutput <- matrix(0,newsize,pp) Foutput <- matrix(0,newsize,pp) output <- matrix(0,newsize,pp) dim(Routput) <- c(pp * newsize,1) dim(Ioutput) <- c(pp * newsize,1) dim(Foutput) <- c(pp * newsize,1) dim(input) <- c(newsize,1) ## dyn.load("/usr/people/bruno/Swave/wave.a") ## dyn.load("/usr/people/whwang/Swave/wave.a") z <- .C("Scwt_phase", as.double(input), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), Ftmp = as.double(Foutput), as.integer(noctave), as.integer(nvoice), as.integer(newsize), as.double(w0), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp Foutput <- z$Ftmp dim(Routput) <- c(newsize,pp) dim(Foutput) <- c(newsize,pp) dim(Ioutput) <- c(newsize,pp) if(twoD) { Ftmp <- Foutput[1:isize,] output <- Routput[1:isize,] + 1i*Ioutput[1:isize,] if(plot) image(Mod(output)) list(wt=output,f=Ftmp) } else { Rtmp <- array(0,c(isize,noctave,nvoice)) Itmp <- array(0,c(isize,noctave,nvoice)) Ftmp <- array(0,c(isize,noctave,nvoice)) for(i in 1:noctave) for(j in 1:nvoice) { Rtmp[,i,j] <- Routput[1:isize,(i-1)*nvoice+j] Itmp[,i,j] <- Ioutput[1:isize,(i-1)*nvoice+j] Ftmp[,i,j] <- Foutput[1:isize,(i-1)*nvoice+j] } list(wt=Rtmp+1i*Itmp, f=Ftmp) } } Rwave/R/mreconst.R0000644000176200001440000000623411341716267013531 0ustar liggesusers######################################################################### # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen L. Hwang, Andrea Wang # Princeton University # All right reserved ######################################################################## mrecons <- function(extrema, filtername="Gaussian1", readflag=FALSE) #**************************************************************** # mrecons # -------- # Reconstruct from dyadic extrema. The reconstructed signal # preserves locations and values at extrema. This is Carmona's # method of extrema reconstruction. # # input # ----- # extrema : the extrema representation # filtername : filters (Gaussain1 stands filters corresponding to # Mallat and Zhong's wavelet. And, the Haar stands for the # filters for Haar basis. # readflag: if set to TRUE, read kernel from a precomputed file. # # output # ------ # f: signal reconstructed from the wavelet transform extrema # g: f plus mean of f # h: f plus coarse scale of f #**************************************************************** { pure <- extrema$original x <- adjust.length(pure) pure.data <- x$signal data <- extrema$original maxresoln <- extrema$maxresoln np <- extrema$np if(2^maxresoln > np) stop("The support of the coarsest scale filter is bigger than signal size") if((readflag && (maxresoln > 9)) || (np > 4096)) stop("Can not use readflag") dim(extrema$extrema) <- c(length(extrema$extrema), 1) f <- 1:np z <- .C("extrema_reconst", as.character(filtername), a = as.double(f), as.double(extrema$extrema), as.integer(maxresoln), as.integer(np), as.integer(readflag), PACKAGE="Rwave") f <- z$a g <- f + mean(pure.data) h <- f + extrema$Sf lim <- range(f, g, h, pure.data) par(mfrow=c(3,1)) plot.ts(f, ylim=lim, xlab="", ylab="", main="Reconstruction") plot.ts(g, ylim=lim, xlab="", ylab="", main="Reconstruction + Mean") plot.ts(h, ylim=lim, xlab="", ylab="", main="Reconstruction + Sf") par(mfrow=c(1,1)) list(f=f, g=g, h=h) } dwinverse <- function(wt, filtername="Gaussian1") #**************************************************************** # dwinverse # --------- # Invert the dyadic wavelet transform. # # input # ----- # wt: the wavelet transform # filtername : filters used. ("Gaussian1" stands for the filters # corresponds to those of Mallat and Zhong's wavlet. And # "Haar" stands for the filters of Haar basis. # # output # ------ # f: the reconstructed signal #**************************************************************** { Sf <- wt$Sf Sf <- c(Sf) dim(Sf) <- c(length(Sf), 1) Wf <- wt$Wf Wf <- c(Wf) dim(Wf) <- c(length(Wf), 1) np <- wt$np maxresoln <- wt$maxresoln fback <- 1:np dim(fback) <- c(length(fback), 1) z <- .C("Sinverse_wavelet_transform", a = as.double(fback), as.double(Sf), as.double(Wf), as.integer(maxresoln), as.integer(np), as.character(filtername), PACKAGE="Rwave") f <- z$a f } Rwave/R/Ridge_Icm.R0000644000176200001440000000612411341712622013506 0ustar liggesusers######################################################################### # $Log: Ridge_Icm.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### icm <- function(modulus, guess, tfspec = numeric(dim(modulus)[2]), subrate = 1, mu = 1, lambda = 2*mu, iteration = 100) ######################################################################### # icm: # ---- # ridge extraction using icm algorithm # # Input: # ------ # modulus: modulus of the wavelet or Gabor transform. # guess: initial guess for ridge function (1D array). # tfspec: estimate for the contribution of the noise to the # transform square modulus (1D array). # subrate: subsampling rate for the transform square modulus. # lambda: coefficient in front of phi'' in the cost function # mu: coefficient in front of phi' in the cost function # iteration: maximal number of iterations # # Output: # ------- # ridge: 1D array (of length sigsize) containing the ridge # cost: 1D array containing the cost function # ######################################################################### { sigsize <- dim(modulus)[1] nscale <- dim(modulus)[2] costsize <- iteration cost <- 1:costsize tfspectrum <- tfspec cost[] <- 0 phi <- as.integer(guess) count <- 0 dim(phi) <- c(sigsize,1) dim(modulus) <- c(sigsize * nscale, 1) smodsize <- as.integer(sigsize/subrate) if((sigsize/subrate - as.integer(sigsize/subrate)) > 0) smodsize <- as.integer(sigsize/subrate) + 1 smodulus <- matrix(0,smodsize,nscale) dim(smodulus) <- c(smodsize * nscale, 1) if (subrate != 1){ z <- .C("Smodulus_smoothing", as.double(modulus), smodulus = as.double(smodulus), as.integer(sigsize), smodsize = as.integer(smodsize), as.integer(nscale), as.integer(subrate), PACKAGE="Rwave") smodulus <- z$smodulus smodsize <- z$smodsize } else smodulus <- modulus smodulus <- smodulus * smodulus dim(smodulus) <- c(smodsize, nscale) for (k in 1:nscale) smodulus[,k] <- smodulus[,k] - tfspectrum[k] dim(smodulus) <- c(smodsize * nscale, 1) z <- .C("Sridge_icm", cost = as.double(cost), as.double(smodulus), phi = as.double(phi), as.double(lambda), as.double(mu), as.integer(sigsize), as.integer(nscale), as.integer(iteration), nb = as.integer(count), as.integer(subrate), as.integer(smodsize), PACKAGE="Rwave") count <- z$nb cat("Number of iterations:",count,"\n") list(ridge = z$phi+1, cost = z$cost[1:count]) } Rwave/R/radar.R0000644000176200001440000001104511217041512012746 0ustar liggesusers############################################################ # Functions processing radar images and their example. ############################################################ ###################################### # processing Radar images from V. Chen ###################################### ## b727 <- matrix(scan("b727s.dat"),ncol=512,byrow=TRUE) ## b727 <- matrix(scan("b727r.dat"),ncol=256,byrow=TRUE) ## ncol <- dim(b727)[2]/2 ## b727r<- b727[,-1+2*(1:ncol)] ## b727i<- b727[,2*(1:ncol)] ## B727 <- t(Conj(b727r + i*b727i)) ## nrow <- dim(B727)[1] ## ncol <- dim(B727)[2] ## shift fft 1D data ## ----------------- fftshift <- function(x) { lng <- length(x) y <- numeric(lng) y[1:(lng/2)] <- x[(lng/2+1):(lng)] y[(lng/2+1):lng] <- x[1:(lng/2)] y } ## The following tow S-routine concludes our Radar experiments ## ------------------------------------------------------------- ## b727 <- matrix(scan("b727s.dat"),ncol=512,byrow=TRUE) ## b727 <- matrix(scan("b727r.dat"),ncol=256,byrow=TRUE) ## Generating the original image ## ----------------------------- ## e.g. B727 <- showRadar(b727) showRadar<- function(x, plot=TRUE) { ncol <- dim(x)[2]/2 xr<- x[,-1+2*(1:ncol)] xi<- x[,2*(1:ncol)] y <- t(Conj(xr + 1i*xi)) oy <- t(apply(apply(y,2,fftshift),1,fftshift)) oy <- apply(oy,2,fft) oy <- t(apply(apply(oy,2,fftshift),1,fftshift)) if(plot) image(Mod(t(oy))) oy } ## Enhancing Radar Image by Gabor Transform (V.Chen) ## ------------------------------------------------ ## gtime <- 128 ## scale <- 50 ## e.g. B727 <- cgtRadar(b727,gtime,scale) ## e.g. ## b727 <- matrix(scan("b727s.dat"),ncol=512,byrow=TRUE) ## b727 <- matrix(scan("b727r.dat"),ncol=256,byrow=TRUE) ## ncol <- dim(b727)[2]/2 ## b727r<- b727[,-1+2*(1:ncol)] ## b727i<- b727[,2*(1:ncol)] ## b727 <- t(Conj(complex(real=b727r, imag=b727i))) ## B727 <- cgtRadar(b727,gtime,scale,flag=FALSE) ## image(t(apply(Mod(B727$cgtout[,2,]),1,fftshift))) cgtRadar <- function(x,gtime,scale,flag=TRUE,plot=TRUE) { y <- x if(flag) { ncol <- dim(x)[2]/2 xr<- x[,-1+2*(1:ncol)] xi<- x[,2*(1:ncol)] y <- t(Conj(xr + 1i*xi)) } nrow <- dim(y)[1] ncol <- dim(y)[2] cgty <- array(0+0i,c(ncol,nrow,gtime)) cgtyy <- array(0+0i,c(ncol,nrow,gtime)) for(k in 1:ncol) cgty[k,,] <- cgt(Re(y[,k]),gtime,2/gtime,scale,plot=FALSE) + 1i*cgt(Im(y[,k]),gtime,2/gtime,scale,plot=FALSE) for(k in 1:nrow) cgtyy[,k,] <- t(apply(cgty[,k,],1,fftshift)) oy <- t(apply(apply(Mod(cgty),c(1,3),mean),1,fftshift)) if(plot) image(oy) list(output=oy,cgtout=cgtyy) } ## Generate X, Y, Z for the command : cloud cloudXYZ <- function(dim1, dim2,dim3) { II <- rep(1:dim1,dim2*dim3) dim(II) <- c(dim1,dim2,dim3) KK <- rep(1:dim3,dim2) dim(KK) <- c(dim3,dim2) KK <- t(KK) KK <- rep(KK,dim1) dim(KK) <- c(dim2 * dim3, dim1) KK <- t(KK) dim(KK) <- c(dim1, dim2, dim3) JJ <- rep(1:dim2,dim1) dim(JJ) <- c(dim2,dim1) JJ <- t(JJ) JJ <- rep(JJ,dim3) dim(JJ) <- c(dim1,dim2,dim3) list(II=II, JJ=JJ, KK=KK) } ## Commands show points : ## cgtout <- B727$cgtout ## tt <- cloudXYZ(dim(cgtout)[1], dim(cgtout)[2], dim(cgtout)[3]) ## range(abs(cgtout)) ## SS <- (abs(cgtout) > 4.0) ## XX <- tt$II[SS] ## YY <- tt$JJ[SS] ## ZZ <- tt$KK[SS] ## XX[length(XX)+1] <- 0 ## XX[length(XX)+1] <- dim1 ## YY[length(YY)+1] <- 0 ## YY[length(YY)+1] <- dim2 ## ZZ[length(ZZ)+1] <- 0 ## ZZ[length(ZZ)+1] <- dim3 ## cloud(ZZ~XX*YY) ## showpoints <- function(cgtout,low,high) { ## X <- 1:crossrange ## XX <- X %*% t(rep(1,crossrange)) ## YY <- t(XX) ## freq <- dim(cgtout)[2] ## ZZ <- matrix(0,crossrange,crossrange) ## modmax <- max(Mod(cgtout)) ## for(j in 1:crossrange) ## for(k in 1:crossrange) ## ZZ[j,k] <- maxpos(Mod(cgtout[j,,k]),low*modmax,high*modmax) ## cloud(ZZ~XX*YY) ##} ## maxpos <- function(x,low,high) { ## pos <- 1 ## lng <- length(x) ## maxval <- max(x) ## if((maxval >= low) & (maxval <= high)) { ## for(j in 1:lng) { ## if(x[j] >= maxval) { ## pos <- j ## } ## } ## } ## pos ## } ## showpoints <- function(cgtout,low,high) { ## crossrange <- dim(cgtout)[1] ## gabortime <- dim(cgtout)[3] ## freq <- dim(cgtout)[2] ## modmax <- max(Mod(cgtout)) ## tt <-persp(matrix(1,crossrange,gabortime),zlim=1:freq) ## TT <- (Mod(cgtout) > low * modmax) * (Mod(cgtout) <= high * modmax) ## for(k in 1:gabortime) { ## for(j in 1:freq) { ## for(i in 1:crossrange) { ## if(TT[i,j,k]==TRUE) ## points(perspp(i,k,j,tt)) ## } ## } ## } ## tt ## } Rwave/R/simul.R0000644000176200001440000000763411341717413013027 0ustar liggesusers######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### #*********************************************************************# # mnpval #*********************************************************************# mnpval <- function(inputdata, maxresoln, wl=128, scale=FALSE) { x <- adjust.length(inputdata) s <- x$signal np <- x$length num.of.windows <- (np/wl - 1) * 4 + 1 pval <- matrix(0, nrow=maxresoln, ncol=np) pval <- t(pval) dim(pval) <- c(length(pval), 1) z <- .C("normal_pval_compute", a=as.double(pval), as.double(s), as.integer(maxresoln), as.integer(np), as.integer(num.of.windows), as.integer(wl), PACKAGE="Rwave") pval <- t(z$a) dim(pval) <- c(np, maxresoln) plotResult(pval, s, maxresoln, scale) list( original=s, pval=pval, maxresoln=maxresoln, np=np ) } #*********************************************************************# # mbpval #*********************************************************************# mbpval <- function(inputdata, maxresoln, wl=128, scale=FALSE) { x <- adjust.length(inputdata) s <- x$signal np <- x$length num.of.windows <- (np/wl - 1) * 4 + 1 pval <- matrix(0, nrow=maxresoln, ncol=np) pval <- t(pval) dim(pval) <- c(length(pval), 1) z <- .C("compute_mallat_bootstrap_pval", a=as.double(pval), as.double(s), as.integer(maxresoln), as.integer(np), as.integer(num.of.windows), as.integer(wl), PACKAGE="Rwave") pval <- t(z$a) dim(pval) <- c(np, maxresoln) plotResult(pval, s, maxresoln, scale) list( original=s, pval=pval, maxresoln=maxresoln, np=np ) } #*********************************************************************# # mntrim #*********************************************************************# mntrim <- function(extrema, scale=FALSE, prct=.95) { s <- extrema$original maxresoln <- extrema$maxresoln np <- extrema$np sample.size <- 128 nthresh <- 1:maxresoln # Find the threshold for each resoln z <- .C("nthresh_compute", a=as.double(nthresh), as.double(s), as.integer(maxresoln), as.integer(sample.size), as.double(prct), PACKAGE="Rwave") nthresh <- z$a trim <- matrix(0, nrow=np, ncol=maxresoln) for (j in 1:maxresoln) { # Keep the extrema if the absolute value of the extrema >= threshold temp <- (abs(extrema$extrema[,j]) >= nthresh[j]) trim[,j] <- temp * extrema$extrema[,j] } cat("number of extrema left =", sum(trim!=0), "\n") plotResult(trim, s, maxresoln, scale) list( original=s, extrema=trim, Sf=extrema$Sf, maxresoln=maxresoln, np=np ) } #*********************************************************************# # mbtrim #*********************************************************************# mbtrim <- function(extrema, scale=FALSE, prct=.95) { s <- extrema$original maxresoln <- extrema$maxresoln np <- extrema$np sample.size <- 128 bthresh <- 1:maxresoln # Find the threshold for each resoln z <- .C("bthresh_compute", a=as.double(bthresh), as.double(s), as.integer(maxresoln), as.integer(sample.size), as.double(prct), PACKAGE="Rwave") bthresh <- z$a trim <- matrix(0, nrow=np, ncol=maxresoln) for (j in 1:maxresoln) { # Keep the extrema if the absolute value of the extrema >= threshold temp <- (abs(extrema$extrema[,j]) >= bthresh[j]) trim[,j] <- temp * extrema$extrema[,j] } cat("number of extrema left =", sum(trim!=0), "\n") plotResult(trim, s, maxresoln, scale) list( original=s, extrema=trim, Sf=extrema$Sf, maxresoln=maxresoln, np=np ) } Rwave/R/wv.R0000644000176200001440000000413111341713413012313 0ustar liggesusers######################################################################### # $Log: WV.S,v $ ######################################################################### # # (c) Copyright 1998 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### WV <- function(input, nvoice, freqstep = (1/nvoice), plot = TRUE) ######################################################################### # WV: # --- # Wigner-Ville function # compute the Wigner-Ville transform, without any smoothing # # input: # ------ # input: input signal (possibly complex-valued) # nvoice: number of frequency bands # freqstep: sampling rate for the frequency axis # plot: if set to TRUE, displays the modulus of cwt on the graphic # device. # # output: # ------- # output: (complex) Wigner-Ville transform # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) ## pp <- nvoice pp <- newsize Routput <- matrix(0, newsize, pp) Ioutput <- matrix(0, newsize, pp) output <- matrix(0, newsize, pp) dim(Routput) <- c(pp * newsize, 1) dim(Ioutput) <- c(pp * newsize, 1) dim(input) <- c(newsize, 1) z <- .C("WV", as.double(input), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.integer(nvoice), as.double(freqstep), as.integer(newsize), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp dim(Routput) <- c(newsize, pp) dim(Ioutput) <- c(newsize, pp) output <- Routput[1:isize,] + 1i*Ioutput[1:isize,] if(plot) { image(Mod(output[,1:(isize/2)]), xlab="Time", ylab="Frequency") title("Wigner-Ville Transform Modulus") } output } Rwave/R/ingrid.R0000644000176200001440000000574611341712557013160 0ustar liggesusers######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### dw <- function(inputdata, maxresoln, scale=FALSE, NW=6, plot=TRUE) #*********************************************************************# # dw computes the Daubechies wavelet transform from resolution 1 to # the given maximum resolution. If phi.flag is TRUE, it returns a # list consisting psi and phi wavelet transforms as two matrices. #*********************************************************************# { if(! ((NW > 1) && (NW <11))) stop("NW has to be between 2 and 10") x <- adjust.length(inputdata) s <- x$signal np <- x$length check.maxresoln(maxresoln, np) phi <- matrix(0, nrow=maxresoln+1, ncol=np) psi <- matrix(0, nrow=maxresoln, ncol=np) ## Convert matrices into vectors phi <- t(phi) dim(phi) <- c(length(phi), 1) psi <- t(psi) dim(psi) <- c(length(psi), 1) z <- .C("daubechies_wt", phi=as.double(phi), psi=as.double(psi), as.double(s), as.integer(NW), as.integer(maxresoln), as.integer(np), PACKAGE="Rwave") ## Convert vectors into original matrices phi <- t(z$phi) dim(phi) <- c(np, maxresoln+1) psi <- t(z$psi) dim(psi) <- c(np, maxresoln) if(plot) plotwt(s, psi, phi, maxresoln, scale) phi <- matrix(phi[,(maxresoln+1)], ncol=1, nrow=np) list(original=s, Wf=psi, Sf=phi, maxresoln=maxresoln, np=np, NW=NW) } ddw <- function(inputdata, maxresoln, scale=FALSE, NW=6) #*********************************************************************# # ddw computes the discrete Daubechies wavelet transform from # resolution 1 to the given maximum resolution. #*********************************************************************# { if(! ((NW > 1) && (NW < 11))) stop("NW has to be between 2 and 10") x <- adjust.length(inputdata) s <- x$signal np <- x$length check.maxresoln(maxresoln, np) phi <- matrix(0, nrow=maxresoln+1, ncol=np) psi <- matrix(0, nrow=maxresoln, ncol=np) ## Convert matrices into vectors phi <- t(phi) dim(phi) <- c(length(phi), 1) psi <- t(psi) dim(psi) <- c(length(psi), 1) z <- .C("compute_ddwave", phi=as.double(phi), psi=as.double(psi), as.double(s), as.integer(maxresoln), as.integer(np), as.integer(NW), PACKAGE="Rwave") ## Convert vectors into original matrices phi <- t(z$phi) dim(phi) <- c(np, maxresoln+1) psi <- t(z$psi) dim(psi) <- c(np, maxresoln) plotwt(s, psi, phi, maxresoln, scale) phi <- matrix(phi[,(maxresoln+1)], ncol=1, nrow=np) list(original=s, Wf=psi, Sf=phi, maxresoln=maxresoln, np=np, NW=NW) } Rwave/R/Cwt_Squeezing.R0000644000176200001440000000522311341712543014454 0ustar liggesusers######################################################################### # $Log: Cwt_Squeezing.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### cwtsquiz <- function(input, noctave, nvoice = 1, w0 = 2*pi, twoD = TRUE, plot = TRUE) ######################################################################### # cwtsquiz: # -------- # squeezed wavelet transform function # # Input: # ------ # input: input signal (possibly complex-valued) # noctave: number of powers of 2 for the scale variable # nvoice: number of scales between 2 consecutive powers of 2 # w0: central frequency of Morlet wavelet # twoD: if set to TRUE, organizes the output as a 2D array # (signal_size X nb_scales) # if not: 3D array (signal_size X noctave X nvoice) # plot: if set to TRUE, displays the modulus of cwt on the graphic # device. # # output: # ------- # tmp: continuous (complex) squeezed wavelet transform # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) pp <- noctave * nvoice Routput <- matrix(0,newsize,pp) Ioutput <- matrix(0,newsize,pp) output <- matrix(0,newsize,pp) dim(Routput) <- c(pp * newsize,1) dim(Ioutput) <- c(pp * newsize,1) dim(input) <- c(newsize,1) z <- .C("Scwt_squeezed", as.double(input), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.integer(noctave), as.integer(nvoice), as.integer(newsize), as.double(w0), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp dim(Routput) <- c(newsize,pp) dim(Ioutput) <- c(newsize,pp) if(twoD) { output <- Routput[1:isize,] + 1i*Ioutput[1:isize,] if(plot){ image(Mod(output),xlab="Time", ylab="log(scale)") title("Squeezed Wavelet Transform Modulus") } output } else { Rtmp <- array(0,c(isize,noctave,nvoice)) Itmp <- array(0,c(isize,noctave,nvoice)) for(i in 1:noctave) for(j in 1:nvoice) { Rtmp[,i,j] <- Routput[1:isize,(i-1)*nvoice+j] Itmp[,i,j] <- Ioutput[1:isize,(i-1)*nvoice+j] } Rtmp + 1i*Itmp } } Rwave/R/noise.R0000644000176200001440000000565011217041512012777 0ustar liggesusers######################################################################### # $Log: Noise.S,v $ # Revision 1.2 1995/04/05 18:56:55 bruno # *** empty log message *** # # Revision 1.1 1995/04/02 01:04:16 bruno # Initial revision # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### tfpct <- function(input,percent=.8,plot=TRUE) ######################################################################### # tfpct: # ------ # compute a percentile of time-frequency representation frequency # by frequency # # input: # ------ # input: modulus of the continuous wavelet transform (2D array) # percent: value of the percentile to be computed # plot: if set to TRUE, displays the values of the energy as a # function of the scale # # output: # ------- # output: 1D array of size nbscales containing the noise estimate # ######################################################################### { nscale <- dim(input)[2] output <- numeric(nscale) for(i in 1:nscale) output[i] <- quantile(input[,i],percent) if(plot)plot.ts(output) output } tfmean <- function(input,plot=TRUE) ######################################################################### # tfmean: # ------- # compute the mean of time-frequency representation frequency # by frequency # # input: # ------ # input: modulus of the continuous wavelet transform (2D array) # plot: if set to TRUE, displays the values of the energy as a # function of the scale # # output: # ------- # output: 1D array of size nbscales containing the noise estimate # ######################################################################### { nscale <- dim(input)[2] output <- numeric(nscale) for(i in 1:nscale) output[i] <- mean(input[,i]) if(plot) plot.ts(output) output } tfvar <- function(input,plot=TRUE) ######################################################################### # tfvar: # ------ # compute the variance of time-frequency representation frequency # by frequency # # input: # ------ # input: modulus of the continuous wavelet transform (2D array) # plot: if set to TRUE, displays the values of the energy as a # function of the scale # # output: # ------- # output: 1D array of size nbscales containing the noise estimate # ######################################################################### { nscale <- dim(input)[2] output <- numeric(nscale) for(i in 1:nscale) output[i] <- var(input[,i]) if(plot) plot.ts(output) output } Rwave/R/gabor.R0000644000176200001440000001334611341712545012766 0ustar liggesusers######################################################################### # $Log: Gabor.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### cgt <- function(input, nvoice, freqstep = (1/nvoice), scale = 1, plot = TRUE) ######################################################################### # cgt: # --- # continuous Gabor transform function: # compute the continuous Gabor transform with gaussian window. # # input: # ------ # input: input signal (possibly complex-valued) # nvoice: number of frequency bands # freqstep: sampling rate for the frequency axis # scale: size of the window # plot: if set to TRUE, displays the modulus of cwt on the graphic # device. # # output: # ------- # output: continuous (complex) gabor transform # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) pp <- nvoice Routput <- matrix(0, newsize, pp) Ioutput <- matrix(0, newsize, pp) output <- matrix(0, newsize, pp) dim(Routput) <- c(pp * newsize, 1) dim(Ioutput) <- c(pp * newsize, 1) dim(input) <- c(newsize, 1) z <- .C("Sgabor", as.double(input), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.integer(nvoice), as.double(freqstep), as.integer(newsize), as.double(scale), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp dim(Routput) <- c(newsize, pp) dim(Ioutput) <- c(newsize, pp) output <- Routput[1:isize,] + 1i*Ioutput[1:isize,] if(plot) { image(1:isize, seq(0, nvoice*freqstep/2, length=nvoice), Mod(output), xlab="Time", ylab="Frequency") title("Gabor Transform Modulus") } output } vgt <- function(input, frequency, scale, plot = FALSE) ######################################################################### # vgt: # --- # continuous Gabor transform on one frequency: # compute the continuous Gabor transform with (complex-valued) # gaussian window # # input: # ------ # input: input signal (possibly complex-valued) # frequency: value of the frequency # scale: size of the window # plot: if set to TRUE, plotss the real part of cgt on the graphic # device. # # output: # ------- # Routput + i Ioutput: voice gabor transform (complex 1D array) # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) Routput <- numeric(newsize) Ioutput <- numeric(newsize) dim(input) <- c(newsize,1) z <- .C("Svgabor", as.double(input), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.double(frequency), as.integer(newsize), as.double(scale), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp if(plot==TRUE) { plot.ts(Re(z$tmp)); title("Real part of Gabor transform"); } Routput[1:isize] + 1i*Ioutput[1:isize] } gabor <- function(sigsize, location, frequency, scale) ######################################################################### # gabor: # ------ # Generates a Gabor for given location and frequency # # input: # ------ # sigsize: signal size (dimension of the array) # location: location of the wavelet # frequency: value of the frequency # scale: size of the window # # output: # ------- # z$gabor.r + z$gabor.i * i: gabor (complex 1D array # of size sigsize) # ######################################################################### { gabor.r <- numeric(sigsize) gabor.i <- numeric(sigsize) z <- .C("gabor_time", as.double(frequency), as.double(scale), as.integer(location), gabor.r = as.double(gabor.r), gabor.i = as.double(gabor.i), as.integer(sigsize), PACKAGE="Rwave") z$gabor.r + 1i*z$gabor.i } vecgabor <- function(sigsize, nbnodes, location, frequency, scale) ######################################################################### # vecgabor: # -------- # Generates Gabor functions for given locations and frequencies # on a ridge. # # input: # ------ # sigsize: signal size (dimension of the array) # nbnodes: number of ridge samples # location: b coordinates of the ridge samples # frequency: acoordinates of the ridge samples # scale: size of the window # # output: # ------- # z$gabor.r + z$gabor.i * i: 2D array containing the gabor # functions located on the ridge # ######################################################################### { gabor.r <- numeric(nbnodes * sigsize) gabor.i <- numeric(nbnodes * sigsize) z <- .C("vgabor_time", as.double(frequency), as.double(scale), as.integer(location), gabor.r = as.double(gabor.r), gabor.i = as.double(gabor.i), as.integer(sigsize), as.integer(nbnodes), PACKAGE="Rwave") z$gabor.r + 1i*z$gabor.i } Rwave/R/robust.R0000644000176200001440000000637611217041512013206 0ustar liggesusers## The commands perform the test data of the robust of the ## reconstructions from ridges in wavelet transform ## The command used to generate run of testing 128 run for each db in ## c(25,20,10,5,0) chbat signal with 5 noct, 10 voice, 5 compr ## tt <- RunRec(chbat,5,10,5,128,c(25,20,10,5,0)) ## plot.ts(HOWAREYOU) ## cgtHOWAREYOU <- cgt(HOWAREYOU,70,0.01,100) ## clHOWAREYOU <- crc(Mod(cgtHOWAREYOU),nbclimb=1000) ## cfHOWAREYOU <- cfamily(clHOWAREYOU,ptile=0.001) ## image(cfHOWAREYOU$ordered > 0) ## HOWord <- cfHOWAREYOU$ordered > 0 robustrec <- function(x, nvoice, freqstep, scale, db, ptile) { ## HACK! InverseDB <- function(db) 10^(db/10) lng <- length(x) nx <- x wn <- rnorm(lng, 0, sqrt(var(nx)/InverseDB(db))) nx <- nx + wn cgtnx <- cgt(nx, nvoice, freqstep, scale, plot = FALSE) crcnx <- crc(Mod(cgtnx), nbclimb = 1000) cfnx <- cfamily(crcnx,, ptile = ptile) nxordered <- (cfnx$ordered > 0) nxordered } ## db is a vector of DB ## number of experiments (nrun) for each db (ndb) and each radius (nr) ## vdb <- c(20,15,10,5,0,-5) ## pvec <- c(0.001,0.001,0.001,0.01,0.01,0.02) ## pr <- c(0,1) ## tt <- RunRec(HOWord,HOWAREYOU,70,0.01,100,1,vdb,pvec,pr) ## MM <- apply(tt,c(1,2),mean) RunRec <- function(HOWord, x, nvoice, freqstep, scale, nrun, vdb, pvec, pr) { ndb <- length(vdb) nr <- length(pr) Run <- array(0,c(ndb,nr,nrun)) for(ii in 1:nrun) { cat("The number of run:",ii,"\n") for(jj in 1:ndb) { db <- vdb[jj] ptile <- pvec[jj] tt <- robustrec(x,nvoice,freqstep,scale,db,ptile) for(kk in 1:nr) { rr <- pr[kk] Run[jj,kk,ii] <- RidgeDist(tt,HOWord,rr) } } } Run } ## wn <- rnorm(2048,0,sqrt(var(CLICKS)/InverseDB(1))) ## 10*log10(var(CLICKS)/var(wn)) ## plot.ts(HOWAREYOU) ## cgtHOWAREYOU <- cgt(HOWAREYOU,70,0.01,100) ## clHOWAREYOU <- crc(Mod(cgtHOWAREYOU),nbclimb=1000) ## cfHOWAREYOU <- cfamily(clHOWAREYOU,ptile=0.001) ## image(cfHOWAREYOU$ordered > 0) ## HOWord <- cfHOWAREYOU$ordered > 0 band <- function(x, r) { xx <- x lng <- length(xx) yy <- logical(lng) x.rts <- as.ts(xx) for(k in 1:r) { y.rts <- lag(x.rts,-k) zz <- as.logical(y.rts) yy[(1+(k)):lng] <- zz[1:(lng-(k))] xx <- yy | xx y.rts <- lag(x.rts,k) zz <- as.logical(y.rts) yy[1:(lng-(k))] <- zz[(1+(k)):lng] yy[(lng-(k)+1):lng] <- FALSE xx <- yy | xx } xx } Sausage <- function(A, r) { if( abs(r) > 0 ) { r <- abs(r) B <- band(c(A),r) dim(B) <- c(dim(A)[1],dim(A)[2]) C <- band(c(t(B)),r) ## C <- band(c(t(A)),r) dim(C) <- c(dim(t(A))[1],dim(t(A))[2]) B <- B | t(C) } else { B <- A } B } ## Measure the distance of the two set M1 and M2: [0,1] ## (#(M1 - (M1&Sausage(M2))) + #(M2 - (M2&Sausage(M1))))/(#M1+#M2) RidgeDist <- function(m1, m2, r) { ms1 <- Sausage(m1,r) ms2 <- Sausage(m2,r) m3 <- m1 & ms2 m4 <- m1 & (!m3) m5 <- m2 & ms1 m6 <- m2 & (!m5) d <- (sum(m4) + sum(m6))/(sum(m1)+sum(m2)) d } ## confidence level: confident <- function(x, low = 0.05, high = 0.95) { ndb <- dim(x)[1] nr <- dim(x)[2] nrun <- dim(x)[3] for(jj in 1:ndb) { for(kk in 1:nr) { tmp <- x[jj,kk,] ttmp <- quantile(c(tmp), c(low,high)) cat(" = ", jj, kk, "=", ttmp, "\n") } } } Rwave/R/Cwt_Morlet.R0000644000176200001440000002047011341712541013743 0ustar liggesusers######################################################################### # $Log: Cwt_Morlet.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### cwt <- function(input, noctave, nvoice = 1, w0 = 2*pi, twoD = TRUE, plot = TRUE) ######################################################################### # cwt: # --- # continuous wavelet transform function # compute the continuous wavelet transform with (complex-valued) # Morlet wavelet # # Input: # ------ # input: input signal (possibly complex-valued) # noctave: number of powers of 2 for the scale variable # nvoice: number of scales between 2 consecutive powers of 2 # w0: central frequency of Morlet wavelet # twoD: if set to TRUE, organizes the output as a 2D array # (signal_size X nb_scales) # if not: 3D array (signal_size X noctave X nvoice) # plot: if set to TRUE, displays the modulus of cwt on the graphic # device. # # Output: # ------- # tmp: continuous (complex) wavelet transform # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) pp <- noctave * nvoice Routput <- matrix(0,newsize,pp) Ioutput <- matrix(0,newsize,pp) output <- matrix(0,newsize,pp) dim(Routput) <- c(pp * newsize,1) dim(Ioutput) <- c(pp * newsize,1) dim(input) <- c(newsize,1) z <- .C("Scwt_morlet", as.double(Re(input)), as.double(Im(input)), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.integer(noctave), as.integer(nvoice), as.integer(newsize), as.double(w0), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp dim(Routput) <- c(newsize,pp) dim(Ioutput) <- c(newsize,pp) if(twoD) { output <- Routput[1:isize,] + 1i*Ioutput[1:isize,] if(plot) { image(Mod(output), xlab="Time", ylab="log(scale)", main="Wavelet Transform Modulus") } output } else { Rtmp <- array(0,c(isize,noctave,nvoice)) Itmp <- array(0,c(isize,noctave,nvoice)) for(i in 1:noctave) for(j in 1:nvoice) { Rtmp[,i,j] <- Routput[1:isize,(i-1)*nvoice+j] Itmp[,i,j] <- Ioutput[1:isize,(i-1)*nvoice+j] } Rtmp + 1i*Itmp } } cwtpolar <- function(cwt, threshold=0.0) ######################################################################### # cwtpolar: # -------- # continuous wavelet transform conversion: # converts one of the possible outputs of cwt to modulus and phase # # input: # ------ # cwt: 3D array containing a continuous wavelet transform (output # of cwt, with twoD=FALSE) # threshold: the phase is forced to -pi if the modulus is # less than threshold. # # output: # ------- # output1: modulus # output2: phase # ######################################################################### { tmp1 <- cwt sigsize <- dim(tmp1)[1] # sig size noctave <- dim(tmp1)[2] nvoice <- dim(tmp1)[3] output1 <- array(0,c(sigsize,noctave,nvoice)) output2 <- array(0,c(sigsize,noctave,nvoice)) for(i in 1:noctave) for(j in 1:nvoice) { output1[,i,j] <- sqrt(Re(tmp1[,i,j])^2 + Im(tmp1[,i,j])^2) output2[,i,j] <- atan2(Im(tmp1[,i,j]), Re(tmp1[,i,j])) } ma <- max(output1) rel <- threshold * ma dim(output1) <- c(sigsize * noctave * nvoice,1) dim(output2) <- c(sigsize * noctave * nvoice,1) output2[abs(output1) < rel] <- -3.14159 dim(output1) <- c(sigsize,noctave,nvoice) dim(output2) <- c(sigsize,noctave,nvoice) list(modulus=output1,argument=output2) } cwtimage <- function(input) ######################################################################### # cwtimage: # --------- # continuous wavelet transform display # converts the output (modulus or argument) of cwtpolar to a # 2D array and displays on the graphic device # # input: # ------ # input: 3D array containing a continuous wavelet transform (output # of cwtpolar # output: # ------- # output: 2D array # ######################################################################### { sigsize <- dim(input)[1] noctave <- dim(input)[2] nvoice <- dim(input)[3] output <- matrix(0,sigsize, noctave * nvoice) for(i in 1:noctave) { k <- (i-1) * nvoice for(j in 1:nvoice) { output[,k+j] <- input[,i,j] } } image(output) output } vwt <- function(input, scale, w0 = 2*pi) ######################################################################### # vwt: voice Morlet wavelet transform # ---- # continuous wavelet transform on one scale # compute the continuous wavelet transform with (complex-valued) # Morlet wavelet # # input: # ------ # input: input signal (possibly complex-valued) # scale: value of the scale at which the transform is computed # w0: central frequency of Morlet wavelet # # output: # ------- # Routput + i Ioutput: voice wavelet transform (complex 1D array) # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) Routput <- numeric(newsize) Ioutput <- numeric(newsize) dim(input) <- c(newsize,1) z <- .C("Svwt_morlet", as.double(Re(input)), as.double(Im(input)), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.double(scale), as.integer(newsize), as.double(w0), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp Routput[1:isize] + 1i*Ioutput[1:isize] } morlet <- function(sigsize, location, scale, w0 = 2*pi) ######################################################################### # morlet: Morlet's wavelet # ------- # Generates a Morlet wavelet for given location and scale # # input: # ------ # sigsize: signal size (dimension of the array) # location: location of the wavelet # scale: value of the scale at which the transform is computed # w0: central frequency of Morlet wavelet # # output: # ------- # z$wavelet.r + z$wavelet.i * i: wavelet (complex 1D array # of size sigsize) # ######################################################################### { wavelet.r <- numeric(sigsize) wavelet.i <- numeric(sigsize) z <- .C("morlet_time", as.double(w0), as.double(scale), as.integer(location), wavelet.r = as.double(wavelet.r), wavelet.i = as.double(wavelet.i), as.integer(sigsize), PACKAGE="Rwave") z$wavelet.r + 1i*z$wavelet.i } vecmorlet <- function(sigsize, nbnodes, bridge, aridge, w0 = 2*pi) ######################################################################### # vecmorlet: vector of Morlet's wavelets # --------- # Generates morlet wavelets located on the ridge # # input: # ------ # sigsize: signal size (dimension of the array) # nbnodes: number of ridge samples # bridge: b coordinates of the ridge samples # aridge: acoordinates of the ridge samples # w0: central frequency of Morlet wavelet # # output: # ------- # z$morlet.r + z$morlet.i * i: 2D array containing the morlet # wavelets located on the ridge # ######################################################################### { morlet.r <- numeric(nbnodes * sigsize) morlet.i <- numeric(nbnodes * sigsize) z <- .C("vmorlet_time", as.double(w0), as.double(aridge), as.integer(bridge), morlet.r = as.double(morlet.r), morlet.i = as.double(morlet.i), as.integer(sigsize), as.integer(nbnodes), PACKAGE="Rwave") z$morlet.r + 1i*z$morlet.i } Rwave/R/svd.R0000644000176200001440000000213511217041512012451 0ustar liggesusers #**************************************************************# # (c) Copyright 1997 # # by # # Author: Rene Carmona, Bruno Torresani, Wen L. Hwang # # Princeton University # # All right reserved # #**************************************************************# ## compute the svd (single value decomposition) ## The Input/Output of the command is the same as the commands svd in Splus SVD <- function(a) { m <- dim(a)[1] n <- dim(a)[2] ## diagonal elements w <- numeric(n) dim(w) <- c(n,1) v <- matrix(0,n,n) v <- c(v) dim(v) <- c(length(v),1) a <- c(a) dim(a) <- c(length(a),1) z <- .C("Ssvdecomp", u= as.double(a), as.integer(m), as.integer(n), w = as.double(w), v = as.double(v), PACKAGE="Rwave") u <- z$u dim(u) <- c(n,n) w <- z$w dim(w) <- c(n,1) v <- z$v dim(v) <- c(n,n) list(d=w, u=u, v=v) } Rwave/R/Cwt_Thierry.R0000644000176200001440000001010711341712544014126 0ustar liggesusers######################################################################### # $Log: Cwt_Thierry.S,v $ ######################################################################### # # (c) Copyright 1997 # by # Author: Rene Carmona, Bruno Torresani, Wen-Liang Hwang # Princeton University # All right reserved ######################################################################### cwtTh <- function(input, noctave, nvoice = 1, moments, twoD = TRUE, plot = TRUE) ######################################################################### # cwtTh: Cauchy's wavelet transform # ----- # continuous wavelet transform function: # compute the continuous wavelet transform with (complex-valued) # Cauchy's wavelet # # input: # ------ # input: input signal (possibly complex-valued) # noctave: number of powers of 2 for the scale variable # nvoice: number of scales between 2 consecutive powers of 2 # moments: number of vanishing moments for the wavelet # twoD: if set to TRUE, organizes the output as a 2D array # (signal_size X nb_scales) # if not: 3D array (signal_size X noctave X nvoice) # plot: if set to TRUE, displays the modulus of cwt on the graphic # device. # # output: # ------- # tmp: continuous (complex) wavelet transform # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) pp <- noctave * nvoice Routput <- matrix(0,newsize,pp) Ioutput <- matrix(0,newsize,pp) output <- matrix(0,newsize,pp) dim(Routput) <- c(pp * newsize,1) dim(Ioutput) <- c(pp * newsize,1) dim(input) <- c(newsize,1) z <- .C("Scwt_thierry", as.double(Re(input)), as.double(Im(input)), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.integer(noctave), as.integer(nvoice), as.integer(newsize), as.integer(moments), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp dim(Routput) <- c(newsize,pp) dim(Ioutput) <- c(newsize,pp) if(twoD) { output <- Routput[1:isize,] + 1i*Ioutput[1:isize,] if(plot) { image(Mod(output),xlab="Time",ylab="log(scale)") title("Wavelet Transform Modulus") } output } else { Rtmp <- array(0,c(isize,noctave,nvoice)) Itmp <- array(0,c(isize,noctave,nvoice)) for(i in 1:noctave) for(j in 1:nvoice) { Rtmp[,i,j] <- Routput[1:isize,(i-1)*nvoice+j] Itmp[,i,j] <- Ioutput[1:isize,(i-1)*nvoice+j] } Rtmp + 1i*Itmp } } vwtTh <- function(input, scale, moments) ######################################################################### # vwtTh: # ----- # continuous wavelet transform on one scale: # compute the continuous wavelet transform with (complex-valued) # Cauchy's wavelet # # input: # ------ # input: input signal (possibly complex-valued) # scale: value of the scale at which the transform is computed # moments: number of vanishing moments # # output: # ------- # Routput + i Ioutput: voice wavelet transform (complex 1D array) # ######################################################################### { oldinput <- input isize <- length(oldinput) tmp <- adjust.length(oldinput) input <- tmp$signal newsize <- length(input) Routput <- numeric(newsize) Ioutput <- numeric(newsize) dim(input) <- c(newsize,1) z <- .C("Svwt_Thierry", as.double(Re(input)), as.double(Im(input)), Rtmp = as.double(Routput), Itmp = as.double(Ioutput), as.double(scale), as.integer(newsize), as.integer(moments), PACKAGE="Rwave") Routput <- z$Rtmp Ioutput <- z$Itmp Routput[1:isize] + 1i*Ioutput[1:isize] } Rwave/MD50000644000176200001440000004025513230660764011663 0ustar liggesusers9f82e3d576225ae4206f7fd28cea841b *DESCRIPTION 292ecea061715923063eee9b5eb43e23 *NAMESPACE 4de35661b275d55904ac85a3356d3dcd *NEWS 22ec47a09dbd6788a5389a28c89cff61 *R/00util.R e8128ea36ac2bdf000fa5fc9bc9f32e4 *R/Crazy_Climbers.R b825564486586e5a1da76877a028a8ff *R/Crc_Irrec.R 27539623f1580277bbb6d049d5daae10 *R/Cwt_Morlet.R 71f59434c61f6f9d5394e4b55ab6e9e8 *R/Cwt_Squeezing.R c038483c3778f60b3ad21708c2d6378f *R/Cwt_Thierry.R 49454d71f96f67dd264b4758240cef23 *R/Cwt_phase.R 78d8283e2c71629203db5aa0574ccbe8 *R/Hessian_Climbers.R 02aa0a6eab267128e1f7b735ebb91da9 *R/Pca_Climbers.R 18d10e5baa4f7f937edd8f116ce1f8ae *R/Ridge_Annealing.R cc6f33d0bbc64e8d209476a314bea405 *R/Ridge_Icm.R 95477e5ee72c00d18081ac1f2128eb13 *R/Ridge_Irregular.R 6f77cbc792566ac6a7fc123398894d83 *R/Ridge_Recons.R c85f1962789241a53d074e86c91472ee *R/Snake_Annealing.R f685cf424d19253a0e4a7eaa8479ff08 *R/TF_Maxima.R ce42a6fba81514d34e5a2e8d0bc78b41 *R/crc_rec.R 5cf9ff350c5bb6767a31a0ba44062ac9 *R/cwt_dog.R 3a9ea365df6a2954fdd27618bd94f424 *R/extrema.R 6b4663e7d7c8f2399bb661f1b2d909cb *R/gRidge_Irregular.R 83caeb317fec84450897c7548f1b43da *R/gRidge_Recons.R 4546ae4c5b6f7e723f19246659882ead *R/gabor.R a3571c345aeeab8b2d7614d5f125233f *R/ingrid.R ada8b699d7ef85ec6b102596676ba9fb *R/mgabor.R e2fa2e9e24af3928e71c320b9d66bb73 *R/mreconst.R 17a027ad802cb24b3e6e7a2dff16d51a *R/mw.R 2070104d7908a1cbaa510418aef1686e *R/noise.R e0125957f8b5453b60d0f4e96d76a778 *R/pca_rec.R c311c43075e0bbb443b46dac73e537f5 *R/plot.R e31e0e6688a4c78f65c06ffa4895d2c8 *R/radar.R 8f8a7bedbf9ef6a4f8fa2893798aa2e1 *R/recon2d.R b878fab2fe5d0e94d6f0fc888583554b *R/robust.R fc109976db34aa6876d38eebd29701bd *R/simul.R 9c6235b7771e2216decb09d204ed4876 *R/skernel.R b7b68fa517a437a7f1e99a081c71d98c *R/svd.R b7198a07ca3adca043b78a1782ad09c3 *R/wv.R 8a54ed976f41461998936d42af93a5b2 *data/A0.rda 0eda9fe20964625e97b50324b56382ab *data/A0.txt.gz 98ad708964c8f3b715b728e54cc9a184 *data/A4.rda ad11c0f6e4115fe7f7a399d8b7dadce2 *data/A4.txt.gz a2f6e3fa1fc37674429e19c4063cfc4e *data/B0.rda 1e8c03a6148c52466ab3a177a94d9542 *data/B0.txt.gz b1514706111c0aa58c1ecc0b7a29ab9b *data/B4.rda 2dbed00c7809774966e12650c41bab95 *data/B4.txt.gz 6f00c8c0285d3d1c89785cd716faed3a *data/C0.rda 5ee73239fe76280ce879d276b15ebae5 *data/C0.txt.gz 91c685f3e90812c2850d617c809d6554 *data/C4.rda 07f638ce7f3c4249129c301b462cbb6e *data/C4.txt.gz 7859ffdb73712c7bb441bbce02fbd0d8 *data/D0.rda 9c00927cb04fe6a6a768d5d47bc35d61 *data/D0.txt.gz 86e6d42febec72be1e0570402ae80741 *data/D4.rda 48993749ac4ce5518fa0a4a686e92e3f *data/D4.txt.gz 41b0ca98d8d26c32ca35f7fcc37f3558 *data/Ekg.rda 4c787bdece5ac3a72a4182a567461a55 *data/HOWAREYOU.rda d4e381efe59ea9caad2bb41ecbda2b24 *data/HOWAREYOU.txt.gz 737dd5786dd839354bc42645d8c072c6 *data/HeartRate.txt.gz 585c2a9f32ad96956d447c58be90e64e *data/W_tilda.1.rda b19fd650d0e7cedb91f1f384c44368d5 *data/W_tilda.1.txt.gz 7b1c1be6d18f31ccbeb8c07ae7d0ecf4 *data/W_tilda.2.rda c1ffbf83ba3d5828c710d603c00a763a *data/W_tilda.2.txt.gz 529572767c710fb591e90bd6432500ea *data/W_tilda.3.rda 465bbfc07ab87593968d0c6bcd4aff09 *data/W_tilda.3.txt.gz d856fa1efd643d27737d6356d9486262 *data/W_tilda.4.rda 06bdc382ea86f1522f675ec4f0b480ed *data/W_tilda.4.txt.gz c67a6f9a096d8e345943a62a7d8455aa *data/W_tilda.5.rda 3a7608a17054f5b2f3c7f263fdfb3523 *data/W_tilda.5.txt.gz 8462c9990b93180ae05e7c4b2029390c *data/W_tilda.6.rda b33a9d805d6960e207e7c9568c58bf4d *data/W_tilda.6.txt.gz e740d73051e761eae43994304fdbf2a1 *data/W_tilda.7.rda 3b23e98c76273bbf2f4922b5a741bd6e *data/W_tilda.7.txt.gz ee11d58802a0d563ac0175d20cd59aaa *data/W_tilda.8.rda 8226e02436c628f8bbcde3c442d552b2 *data/W_tilda.8.txt.gz 58ffff7d95745f959d87e87a545ca4c3 *data/W_tilda.9.rda 9a4e58bbcb4e6c0809412fed5e8a2e15 *data/W_tilda.9.txt.gz cf670f69378340208cc68ff893cf346f *data/YN.rda 6fdcf0a9c5427001f7cb732e296599e5 *data/YNdiff.rda 36cf6c72467a81afb40a4e07a42eec5c *data/amber7.rda 61b05defbb0a7a806ba6e3dbef8cc653 *data/amber8.rda 12205c1991b2fce85a250915be840abf *data/amber9.rda 331dfaea00811df29ae0d43e3d5aed39 *data/back1.000.rda c6f63bcafe72da482a4b17fc9621a1ab *data/back1.180.rda ae048bfe1b29201f632855a7e76b9036 *data/back1.220.rda 6d04b669fa3612d9c0c96d555cfa0f4f *data/backscatter.1.000.txt.gz 269401f0541adcceab178117493c2c47 *data/backscatter.1.180.txt.gz 4d9da8f8b84f91b9e216794167d9a3a4 *data/backscatter.1.220.txt.gz 22c49dd5119e3d78e318bb3c1480ce95 *data/ch.rda 722edd21c0462a7ca55c5ac36522c741 *data/chirpm5db.dat.txt.gz 0ce3921fa0349a4f069a78298d3c4183 *data/click.asc.txt.gz 2243b894c3b5e344eebeaf2231e1fe91 *data/click.rda 7e4ce6bd352fa8a017df1ae2f32c044d *data/datalist aa237e9a37b4d0d0307665fe3bbe8bbb *data/noisy.dat.txt.gz 0bd68bfc6bfe9023a11f0d464c942077 *data/noisywave.rda a5f948f56904705c9b6b3e644c01fbf0 *data/pixel_8.7.txt.gz a22c6133ab71df60affd3252461b8394 *data/pixel_8.8.txt.gz 1719b7c7063e21b0f2119b72bfab7589 *data/pixel_8.9.txt.gz 4000bd385c200af7eb9f251d12ab825d *data/pure.dat.txt.gz b676370c283f438df38db35d1ef77763 *data/purwave.rda 1359679a7b1381706a06b49da3cd0bb8 *data/sig_W_tilda.1.rda da315c9d54bd0486d17ea8cce39afc51 *data/sig_W_tilda.1.txt.gz ab9a67d7a133eaa7ae0fb370abeea1be *data/sig_W_tilda.2.rda 0d08ee7faa9f0b0985435fb4fe096074 *data/sig_W_tilda.2.txt.gz 4f6dfe5728f611808713bfbc805dd887 *data/sig_W_tilda.3.rda 791d524a133da20558ae083198c9ddb2 *data/sig_W_tilda.3.txt.gz ceff841dd0c98534dc87747b714c4584 *data/sig_W_tilda.4.rda 12fcb74ca5f269bf63951737c860f4b0 *data/sig_W_tilda.4.txt.gz 3be70fa825ac540596559b01076fd5b0 *data/sig_W_tilda.5.rda c33416b064f7395951406edfe6be0330 *data/sig_W_tilda.5.txt.gz 16c705843a563e267d2c82da9f437157 *data/signal_W_tilda.1.rda b19fd650d0e7cedb91f1f384c44368d5 *data/signal_W_tilda.1.txt.gz fbebba44b3c71e999b39aca7d405055a *data/signal_W_tilda.2.rda c1ffbf83ba3d5828c710d603c00a763a *data/signal_W_tilda.2.txt.gz ad8dd0a458c77060fac5883600731ccf *data/signal_W_tilda.3.rda 465bbfc07ab87593968d0c6bcd4aff09 *data/signal_W_tilda.3.txt.gz 2a5f72760c61403bc4c0aabd92d7049f *data/signal_W_tilda.4.rda 06bdc382ea86f1522f675ec4f0b480ed *data/signal_W_tilda.4.txt.gz 1f2a1da7fc0b9b11a94b3be9eee6d784 *data/signal_W_tilda.5.rda 3a7608a17054f5b2f3c7f263fdfb3523 *data/signal_W_tilda.5.txt.gz ed5d59fc4467e213f31a8f05e2f771a7 *data/signal_W_tilda.6.rda b33a9d805d6960e207e7c9568c58bf4d *data/signal_W_tilda.6.txt.gz 57ee5155d605f9a3209e5170cb6c92f4 *data/signal_W_tilda.7.rda 73fc36a349f859caebd97d874eb19c32 *data/signal_W_tilda.7.txt.gz 7d93c1c04a3d70251a64e8777cbdab48 *data/signal_W_tilda.8.rda 44a0d29fcfda298ed1bc9645f15d6bbc *data/signal_W_tilda.8.txt.gz fd415192122c3f7ab14cd9714dfdb3b6 *data/signal_W_tilda.9.rda a7cca647dc9cea14ccaf5842fa9bd69a *data/signal_W_tilda.9.txt.gz 42bde1f3e80e91abde710df45ba68932 *data/yen.txt.gz d7ec2a99b480309d2917378a1656e671 *data/yendiff.txt.gz 5a9cfc011b5a1c6fa205b68f2e82bd8e *demo/00Index 8b64c278524f2ffff1d282d9b18620c4 *demo/chapter1.R b8e12c38b8fa3a024531f3e795d0e9e7 *demo/chapter3.R 6f613fdffab2fc318fc161a0784bc782 *demo/chapter8.R 9fafcd46e58f4478ae71f84befbb71f0 *inst/COPYRIGHTS 977a2df45cd6baf6b99a129864a68daf *man/DOG.Rd a1e74c21677cbf0ec32a338d647e8202 *man/Ekg.Rd b59cfe64908542e23ebedbd2ae5b4da6 *man/HOWAREYOU.Rd 285be38c13a5de9909bbc852c69c3d93 *man/HeartRate.Rd af35628f166321544083f323a3452c2d *man/RidgeSampling.Rd db06c0870ab14db0e234452d6e44bcf9 *man/Rwave-internal.Rd 0aa33aee177eb00c5bda5a35dd1d5647 *man/SVD.Rd 315fa243017686e21a6fe0e059876f2b *man/W_tilda.1.Rd cee6fda366436164ed8c5231fad77a36 *man/W_tilda.2.Rd c5045868dfd0a6ed631c0faff6126a65 *man/W_tilda.3.Rd 2b1ded936079fddcceb2babaca881c95 *man/W_tilda.4.Rd e40fbdb66b7a00a82457d0fa6f46dc85 *man/W_tilda.5.Rd 7dafb9280381288d1c24591e24f255c3 *man/W_tilda.6.Rd 1ce5e37b50805570ce856ad84cd6983b *man/W_tilda.7.Rd 78dc7653fb6cca4b1879918f2c7f5cda *man/W_tilda.8.Rd cc9544d2eccd6f0b7904cd2abfe1209e *man/W_tilda.9.Rd 2a4dae77d9fd6c38c625a9859d88a481 *man/YN.Rd 0372d3d2ce5b49ecc20d23310e4b2d12 *man/YNdiff.Rd 5fa6913bab229511e30c63720620ec09 *man/a0.Rd 530823f77f6aafd87af5e9d1e7123a9e *man/a4.Rd d6cb55e9da672a6e28bb5c47b34041f6 *man/adjust.length.Rd 7e484be89fb6271595c85de4b03b9c83 *man/amber7.Rd 435c28a93d18b7c732342b1b2d373901 *man/amber8.Rd b0c9bc1df270eacc8696977c0b5893c1 *man/amber9.Rd 385d5143739d0657e616bb1d45d42a9b *man/b0.Rd e286ba6c7b29dbaebd63568d1e2a2b6d *man/b4.Rd 16731b0f21344125162ff052a26e7738 *man/back1.000.Rd 2cf27e3029a78770aa11d7bda134fcd0 *man/back1.180.Rd c9f7ee1840702994c7f101397c98cc49 *man/back1.220.Rd 70327424b89f397402b29505db012afc *man/backscatter.1.000.Rd 64aa497369db806ec5018c32aff9eec4 *man/backscatter.1.180.Rd 529814fb6035a23c629a11a250a99772 *man/backscatter.1.220.Rd 36d6d1f50e0cbeb2c96bafc99b44f691 *man/c0.Rd bd84849f5a222f92f597647b1bf0213a *man/c4.Rd 899ae36366b3281f8be4188911b16f3e *man/cfamily.Rd 7d1b3da251f24b017e3b06ba2ed84a23 *man/cgt.Rd a6e4e16c4fa6de6d8fcf0631a9bd8439 *man/ch.Rd 49278af683f7ac0eef417a8852cfced9 *man/check.maxresoln.Rd 73c43cf4375fb427ad3985046b08b3f2 *man/chirpm5db.dat.Rd fe7d3404b585f5074a702c3650454760 *man/cleanph.Rd 1e301506fd52324eb5394f4b96cc6c72 *man/click.Rd ccb588bbe9e2de41137bd6f88053da49 *man/click.asc.Rd 03f10f039e9445ec4c9f94992795b215 *man/corona.Rd d76a2de510c1a70a832781be4eef0bfa *man/coronoid.Rd c45a0527816b90bb0180b5353342158b *man/crc.Rd a94b3ead423ef9628510d9144f3b0ea3 *man/crcrec.Rd 0878fc245ad00576d92055b8cc6e4ccc *man/crfview.Rd f4235d662552900e59b47f881e033dd0 *man/cwt.Rd bf162fe9f19547b054d96df346af5cc2 *man/cwtimage.Rd 0b45c62cf546e681fc3434b4e34f40b2 *man/cwtp.Rd 58a4d7eb504a702edd82729dc8038a0a *man/cwtpolar.Rd bff69127c875b95c6c029aa1b001b09b *man/cwtsquiz.Rd 634ebed56c977d61e444871e29fbab82 *man/cwtth.Rd e0e3908101da58baff07d86e3d78cdd4 *man/d0.Rd fd57bda3415569a7742f04f719c81eb5 *man/d4.Rd dfb814a77c92fa4bd2fd0a4dd513987c *man/dwinverse.Rd 76a47baccf643eba7a8b47d3a3b1e4a1 *man/epl.Rd 5a4b0fb64ed67ecbf496591a5741a4a9 *man/ext.Rd a610605fdbf533fbc7a6caabaea570f8 *man/fastgkernel.Rd 8644a7b5035d891aa122f2371bdf7a60 *man/fastkernel.Rd c31335a15d3db2277b17cae037a8a187 *man/gabor.Rd d5b12b1030bb85fbdb6f0294f2d710ca *man/gcrcrec.Rd 14b07d694a3ccf0e84b6b0bcec8dff9d *man/gkernel.Rd d01e2beeedf723e634a380564da508c3 *man/gregrec.Rd b817b3196f97faa53df18d5e3f350e8c *man/gridrec.Rd 3d28e0f39f56239e570c853a7f08c1c2 *man/gsampleOne.Rd d964e3b7144762c922d1446d530f1eee *man/gwave.Rd 234a424d9f6a8295f464634cb20c0bd0 *man/gwave2.Rd 5d4ec7528100efec98c3f013dbfdb0c2 *man/hurst.est.Rd 8ed098f5a3b5c2bdd05f6097a6b12164 *man/icm.Rd c6de045110e9c83e90dd1e45fa0949a4 *man/mbtrim.Rd fc45879820501626923080d630899117 *man/mntrim.Rd ad9f62fae859cec094f3be8fddbc77e1 *man/morlet.Rd ad4b31876d4b65a3a3badfe2f9d1cb61 *man/morwave.Rd e6c7dd063f697c02240f68df911082f7 *man/morwave2.Rd d8efc1e9945bedd9b544119d52d1f7cd *man/mrecons.Rd 1b3214cc668836597c98182140013871 *man/mw.Rd d4d3fd48cd5d0009c02a1a12b3a6be67 *man/noisy.dat.Rd 618f05951ffb2eb5e6f7f7c49947755b *man/noisywave.Rd 8c05f92b746d14292374482d535bc017 *man/npl.Rd ae4514c604d26004e75b0902a26f8fd3 *man/pixel_8.7.Rd 4dfd4711b60000328dd023e459770b38 *man/pixel_8.8.Rd 893f3f1c71ea26ddc0ff56111e58814b *man/pixel_8.9.Rd c307739c378dac5865cabc00967b2cd9 *man/plotResult.Rd ec6190223ab44cbaf0d182667a792548 *man/plotwt.Rd b05172e6b8f1970e2db7ce62a6e0bcd5 *man/pure.dat.Rd 842ce683119483e4feb129452e6b1a55 *man/purwave.Rd 91c8119e6ec8bd94bf1d07edbdd9dc8e *man/regrec.Rd 878334f6883ca8ec2a0ecde27fa2f944 *man/regrec2.Rd 7bc314b2c3b09e464a651391c4524082 *man/ridrec.Rd bc76a01a28012aa29d7a4122a05cb4b7 *man/rkernel.Rd b38e026fd111a1e0327f0c4de2c81332 *man/rwkernel.Rd 0d4dc14cb824eed79d745d264752923a *man/scrcrec.Rd d2d8745a1d741b431d4494c4a68a7d0c *man/sig_W_tilda.1.Rd 9fbf37916aaa0a5c6fae5da31d388327 *man/sig_W_tilda.2.Rd ac9a70a430ead5fd0988b4c6b6230c75 *man/sig_W_tilda.3.Rd 63a7518e5e9f0397044212d215423f7b *man/sig_W_tilda.4.Rd ce116b2e2929a74cbefe256d69ea03c8 *man/sig_W_tilda.5.Rd 91d3672ca05965991651f4a178b6593b *man/signal_W_tilda.1.Rd bdd0d3682668a878b8a9112323da7531 *man/signal_W_tilda.2.Rd d3f89bf910c89f6511661efc80477d08 *man/signal_W_tilda.3.Rd 50cc64c5dfc424a95e33f99316e46f19 *man/signal_W_tilda.4.Rd 0e6dd798bde2004373023167a9fea361 *man/signal_W_tilda.5.Rd fb8581ff14607fa3f007cb501b4d3d81 *man/signal_W_tilda.6.Rd 7e3782447ce74bac37cd94457d11860e *man/signal_W_tilda.7.Rd 7cc97b76f02ae129ff841c1e4629cc56 *man/signal_W_tilda.8.Rd a4987179bff7183a7c052d026fea918c *man/signal_W_tilda.9.Rd b43e83e4591488b95396ae4715f9228f *man/skeleton.Rd 20415735667da8f7c630cd69322d9dc1 *man/skeleton2.Rd 035485dd341ea60695152b4597a232ae *man/smoothts.Rd cbcac498c70ac16641771eebe1e38d8b *man/smoothwt.Rd 980f40a5199e0f05bf41bf03008a66d0 *man/snake.Rd 2a96aa6d5548e57cfd907d09fc51fc79 *man/snakeview.Rd 9e65dd0881892fd9e99691d8fbe592a4 *man/snakoid.Rd bf7101a8d0a891ebcf057425e1a7ea0b *man/sridrec.Rd 82f320d3ad44ee022c79e910aa844e4e *man/tfgmax.Rd 07615a666480f4903bcd7538373a7787 *man/tflmax.Rd a32bb05a2cf5382beec952316aba8666 *man/tfmean.Rd ef8bce4e742f7041af0e0f7d8e3fa577 *man/tfpct.Rd b2c379477a63d75bee94be960960e6d6 *man/tfvar.Rd 19243c52d0097c5da5ffba3103793d22 *man/vdog.Rd 85cfec306d96403350c2a5217ae47126 *man/vecgabor.Rd 4798930e1cdadaefc1049704f04b5259 *man/vecmorlet.Rd 1f0111dd78ac41e69f21c1b0e8a4dd5e *man/vgt.Rd 4607130a0183f28abeb5c7e8d5cb90b1 *man/vwt.Rd c83eecf76ce5cfb2000b7d026262907e *man/wRidgeSampling.Rd 8d2bdbc7b93f13200f66c4a7268468b8 *man/wpl.Rd e6b995edc17c235e36b2afd1ce8ca355 *man/wspec.pl.Rd b9cbee054425f078e29ace2ca3a6515c *man/wv.Rd c5a25cde2db1b488bbc2ef4709f50673 *man/yen.Rd e92265428f641c1a937ba21a9d0087c1 *man/yendiff.Rd f6f173fc36e01e221bf455c7a2d90743 *man/zerokernel.Rd 6342925351f9d3773bcdacb774615515 *man/zeroskeleton.Rd 5b015c6356e546b40e3da91a9e933a55 *man/zeroskeleton2.Rd 034f222858faf2a7053c7847f9186269 *src/Swave.h 846217aaba7aa8c731d1840463694918 *src/bee_annealing.c 67d3f196efb9de81defb06ae61054164 *src/choldc.c 28ed14e23ad38b9a0254fe0158284461 *src/compinteg.c aa3971ec424f1c4b76dfad6c75bfe639 *src/complex.c 7c15708283c36ecdb2e3d7d67c9f5a18 *src/complex.h 5925e648fca71a8e413fb0adbad1d31b *src/crazy_family.c c489f005b97ff6be329124b052e1f078 *src/cwt_dog.c 47f64a48b484db614956a55c94e19ff8 *src/cwt_maxima.c a23192b6d277c2b58c2e1eb57a8b57e8 *src/cwt_morlet.c 2d80b0b6ec1a4a2e8e1de2a2ecb7a551 *src/cwt_phase.c cfe486520ef34a6c5c4761ceafe151b8 *src/cwt_thierry.c b246db763adbfc1f928dbcec10e29aa0 *src/dau.c 2972032441047bcfa2211ccfb4f0bc9b *src/dau_wave.c a9fe6b847101faf06721db56be7cafb7 *src/dau_wave.h 66fffcb82e61e99760a0d6757474ebe1 *src/denoise.h b9bae662962f0b63a823b3a39a9ad2ff *src/dualwavelet.c e61efdfc3fd1e264612b794dcb50b7cf *src/dwfilter.c 4eccca092f874d5b378d8e800a55dfe3 *src/dwinverse.c dfd9f6b764f2a29e35bd90c1ee87c613 *src/dwkernel.c 2c9716c86dfba9e015b9f1d527e3cd98 *src/dwvector.c 2e5461b9f674fb64ee9e11996fb07b7c *src/dyadic.h 291072fca2eac39656cf7aad78b711a3 *src/extrema.c b390530f4e4ff052550ef29189dfcf30 *src/fft.c f83fdebfb5b1d3054ed053f901147cb1 *src/four1.c ac4ce717f9401b0d4715b43f44e54911 *src/gabor.c 81a5be89e8c3503417fa9df9d9f65f4b *src/gkernel.c 936ad1598749a153f6129acfdde3558e *src/hessian_climbers.c 5101f363b5643dae19b03b45f18f1538 *src/icm.c fcdbba267e55a3282a0e342c10442a74 *src/init.c f1584945345b01bf808a34f0a17e2eed *src/mreconst.c 800a554d684964266e41cc28bb272327 *src/multiply.c d4ecb0fabdd3382fc508c206d36768f2 *src/mw.c b0a8313cd3263416ae3ddfb89dac524e *src/optimize.c d1557f76336ca4ddece87c66b9a35675 *src/pca_climbers.c 912cf9521612cb985659cabbd0956b49 *src/pca_family.c 50cc7e6f3e0bcff97f96a30ff05863ee *src/polint.c 422d192788579bc5f6565147a02dcc3f *src/pvalue.h 6e55f9030bfd41be2e118ebac1f560d7 *src/qcksrt.c e2c6901b620e116eb990f9fbee53ba1c *src/random.h 38e20c1678ea01b9be51cccc5db5c9fe *src/randomwalker.c 3ebff0da42c9d8cda1bc62895cce1590 *src/randomwalker2.c 8b9aab838f40a80a7220c89bd90ee277 *src/ridge_annealing.c 63dba49e3c19421b552810dda54b328a *src/ridge_coronoid.c f969480a8cc3e9d8c2b823090e174fc4 *src/ridge_snakenoid.c 517fd3d82bc332a4073cc7cc1c00ff91 *src/rwkernel.c 8181fc0ac354b3ad833f55438d1e5e1c *src/rwkernel.h 97c14a9ccf0fca61091b06ae2634169c *src/simul.c ebd5bff05564588929c39bd780858abe *src/smoothwt.c 81bc0907de746ebd8e11c37baf1e0680 *src/snake_annealing.c a318053577138a4aa03dc7c872d92bdb *src/snakesub.c 910821f971b0777e897265e0ec47b99a *src/spline.c cacc44e8b73590af24a27156a8b3f906 *src/splint2.c f91325c25c4d84b24e1adae205527ad2 *src/splridge.c 7a26115ee5238eeff55941411ab127b5 *src/splsnake.c 26fbf85046c1020ffc29d5f0b3aa04e7 *src/svd.c 2bd3bdd963c147e6fb8febfee1a6a79b *src/util.c f0ab06a28735c5239eeb6bcbbab1d531 *src/wv.c Rwave/DESCRIPTION0000644000176200001440000000354013230660764013055 0ustar liggesusersPackage: Rwave Version: 2.4-8 Date: 2018-01-17 Title: Time-Frequency Analysis of 1-D Signals Authors@R: c(person(given="Rene", family='Carmona', email='rcarmona@princeton.edu', role='aut'), person(given="Bruno", family='Torresani', email='bruno.torresani@cmi.univ-mrs.fr', role='aut'), person(given="Brandon", family='Whitcher', email='bjw34032@users.sourceforge.net', role='ctb'), person(given="Andrea", family='Wang', role='ctb'), person(given="Wen-Liang", family='Hwang', role='ctb'), person(given="Jonathan M.", family="Lees", role = c("ctb", "cre"), email = "jonathan.lees@unc.edu")) Author: Rene Carmona [aut], Bruno Torresani [aut], Brandon Whitcher [ctb], Andrea Wang [ctb], Wen-Liang Hwang [ctb], Jonathan M. Lees [ctb, cre] Maintainer: Jonathan M. Lees Depends: R (>= 2.14) Description: A set of R functions which provide an environment for the Time-Frequency analysis of 1-D signals (and especially for the wavelet and Gabor transforms of noisy signals). It was originally written for Splus by Rene Carmona, Bruno Torresani, and Wen L. Hwang, first at the University of California at Irvine and then at Princeton University. Credit should also be given to Andrea Wang whose functions on the dyadic wavelet transform are included. Rwave is based on the book: "Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S", by Rene Carmona, Wen L. Hwang and Bruno Torresani (1998, eBook ISBN:978008053942), Academic Press. License: GPL (>= 2) Copyright: University of California URL: http://www.orfe.princeton.edu/~rcarmona/TFbook/tfbook.html, http://r-forge.r-project.org/projects/rwave/ Packaged: 2018-01-19 19:34:48 UTC; lees Repository: CRAN Date/Publication: 2018-01-20 15:36:20 UTC NeedsCompilation: yes Rwave/man/0000755000176200001440000000000013230441701012104 5ustar liggesusersRwave/man/wspec.pl.Rd0000644000176200001440000000067413230422763014144 0ustar liggesusers\name{wspec.pl} \alias{wspec.pl} \title{Log of Wavelet Spectrum Plot} \description{ Displays normalized log of wavelet spectrum. } \usage{wspec.pl(wspec, nvoice) } \arguments{ \item{wspec}{ wavelet spectrum. } \item{nvoice}{ number of voices. } } %\value{} %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{\code{\link{hurst.est}}. } \keyword{ts} \keyword{hplot} Rwave/man/hurst.est.Rd0000644000176200001440000000267113230422763014347 0ustar liggesusers\name{hurst.est} \alias{hurst.est} \title{ Estimate Hurst Exponent } \description{ Estimates Hurst exponent from a wavelet transform. } \usage{ hurst.est(wspec, range, nvoice, plot=TRUE) } \arguments{ \item{wspec}{ wavelet spectrum (output of \code{\link{tfmean}}) } \item{range}{ range of scales from which estimate the exponent. } \item{nvoice}{ number of scales per octave of the wavelet transform. } \item{plot}{ if set to \code{TRUE}, displays regression line on current plot. }} \value{ complex 1D array of size sigsize. } %\details{} \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{tfmean}}, \code{\link{wspec.pl}}. } \keyword{ts} \examples{ # White Noise Hurst Exponent: The plots on the top row of Figure 6.8 # were produced by the folling S-commands. These make use of the two # functions Hurst.est (estimation of Hurst exponent from CWT) and # wspec.pl (display wavelet spectrum). # Compare the periodogram and the wavelet spectral estimate. wnoise <- rnorm(8192) plot.ts(wnoise) spwnoise <- fft(wnoise) spwnoise <- Mod(spwnoise) spwnoise <- spwnoise*spwnoise plot(spwnoise[1:4096], log="xy", type="l") lswnoise <- lsfit(log10(1:4096), log10(spwnoise[1:4096])) abline(lswnoise$coef) cwtwnoise <- DOG(wnoise, 10, 5, 1, plot=FALSE) mcwtwnoise <- Mod(cwtwnoise) mcwtwnoise <- mcwtwnoise*mcwtwnoise wspwnoise <- tfmean(mcwtwnoise, plot=FALSE) wspec.pl(wspwnoise, 5) hurst.est(wspwnoise, 1:50, 5) } Rwave/man/cwtpolar.Rd0000644000176200001440000000300113230422763014227 0ustar liggesusers\name{cwtpolar} \alias{cwtpolar} \title{ Conversion to Polar Coordinates } \description{ Converts one of the possible outputs of the function \code{\link{cwt}} to modulus and phase. } \usage{ cwtpolar(cwt, threshold=0) } \arguments{ \item{cwt}{ 3D array containing the values of a continuous wavelet transform in the format (signal size \eqn{\times}{x} noctave \eqn{\times}{x} nvoice) as in the output of the function \code{\link{cwt}} with the logical flag \code{twodimension} set to FALSE. } \item{threshold}{ value of a level for the absolute value of the modulus below which the value of the argument of the output is set to \eqn{-\pi}{-pi}. }} \value{ Modulus and Argument of the values of the continuous wavelet transform \item{output1}{ 3D array giving the values (in the same format as the input) of the modulus of the input. } \item{output2}{ 3D array giving the values of the argument of the input. }} \details{ The output contains the (complex) values of the wavelet transform of the input signal. The format of the output can be 2D array (signal size \eqn{\times}{x} nb\_scales) 3D array (signal size \eqn{\times}{x} noctave \eqn{\times}{x} nvoice) } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{cwt}}, \code{\link{DOG}}, \code{\link{cwtimage}}. } \examples{ x <- 1:512 chirp <- sin(2*pi * (x + 0.002 * (x-256)^2 ) / 16) retChirp <- cwt(chirp, noctave=5, nvoice=12, twoD=FALSE, plot=FALSE) retPolar <- cwtpolar(retChirp) } \keyword{ts} Rwave/man/YN.Rd0000644000176200001440000000107513230423405012725 0ustar liggesusers\name{YN} \alias{YN} \title{Logarithms of the Prices of Japanese Yen} \description{Logarithms of the prices of a contract of Japanese yen. } \usage{data(YN) } \format{A vector containing 500 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(YN) plot.ts(YN) } \keyword{datasets} Rwave/man/cwtsquiz.Rd0000644000176200001440000000257613230422763014305 0ustar liggesusers\name{cwtsquiz} \alias{cwtsquiz} \title{ Squeezed Continuous Wavelet Transform } \description{ Computes the synchrosqueezed continuous wavelet transform with the (complex-valued) Morlet wavelet. } \usage{ cwtsquiz(input, noctave, nvoice=1, w0=2 * pi, twoD=TRUE, plot=TRUE) } \arguments{ \item{input}{ input signal (possibly complex-valued) } \item{noctave}{ number of powers of 2 for the scale variable } \item{nvoice}{ number of scales in each octave (i.e. between two consecutive powers of 2). } \item{w0}{ central frequency of the wavelet. } \item{twoD}{ logical variable set to T to organize the output as a 2D array (signal size \eqn{\times}{x} nb scales), otherwise, the output is a 3D array (signal size \eqn{\times}{x} noctave \eqn{\times}{x} nvoice). } \item{plot}{ logical variable set to T to T to display the modulus of the squeezed wavelet transform on the graphic device. }} \value{ synchrosqueezed continuous (complex) wavelet transform } \details{ The output contains the (complex) values of the squeezed wavelet transform of the input signal. The format of the output can be 2D array (signal size \eqn{\times}{x} nb scales), 3D array (signal size \eqn{\times}{x} noctave \eqn{\times}{x} nvoice). } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{cwt}}, \code{\link{cwtp}}, \code{\link{DOG}}, \code{\link{cgt}}. } \keyword{ts} Rwave/man/regrec.Rd0000644000176200001440000000410113230422763013645 0ustar liggesusers\name{regrec} \alias{regrec} \title{ Reconstruction from a Ridge } \description{ Reconstructs signal from a \dQuote{regularly sampled} ridge, in the wavelet case. } \usage{ regrec(siginput, cwtinput, phi, compr, noct, nvoice, epsilon=0, w0=2 * pi, fast=FALSE, plot=FALSE, para=0, hflag=FALSE, check=FALSE, minnbnodes=2, real=FALSE) } \arguments{ \item{siginput}{ input signal. } \item{cwtinput}{ wavelet transform, output of \code{\link{cwt}}. } \item{phi}{ unsampled ridge. } \item{compr}{ subsampling rate for the wavelet coefficients (at scale 1) } \item{noct}{ number of octaves (powers of 2) } \item{nvoice}{ number of different scales per octave } \item{epsilon}{ coefficient of the \eqn{Q_2} term in reconstruction kernel } \item{w0}{ central frequency of Morlet wavelet } \item{fast}{ if set to TRUE, the kernel is computed using trapezoidal rule. } \item{plot}{ if set to TRUE, displays original and reconstructed signals } \item{para}{ scale parameter for extrapolating the ridges. } \item{hflag}{ if set to TRUE, uses \eqn{Q_1} as first term in the kernel. } \item{check}{ if set to TRUE, computes \code{\link{cwt}} of reconstructed signal. } \item{minnbnodes}{ minimum number of nodes for the reconstruction. } \item{real}{ if set to TRUE, uses only real constraints on the transform. }} \value{ Returns a list containing: \item{sol}{ reconstruction from a ridge. } \item{A}{ matrix. } \item{lam}{ coefficients of dual wavelets in reconstructed signal. } \item{dualwave}{ array containing the dual wavelets. } \item{morvelets}{ array containing the wavelets on sampled ridge. } \item{solskel}{ wavelet transform of sol, restricted to the ridge. } \item{inputskel}{ wavelet transform of signal, restricted to the ridge. } \item{Q2}{ second part of the reconstruction kernel. } \item{nbnodes}{ number of nodes used for the reconstruction. }} %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{regrec2}}, \code{\link{ridrec}}, \code{\link{gregrec}}, \code{\link{gridrec}}. } \keyword{ts} Rwave/man/purwave.Rd0000644000176200001440000000104713230430076014071 0ustar liggesusers\name{purwave} \alias{purwave} \title{Pure Gravitational Wave} \description{Pure gravitational wave. } \usage{data(purwave) } \format{A vector containing 8192 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(purwave) plot.ts(purwave) } \keyword{datasets} Rwave/man/cgt.Rd0000644000176200001440000000242213230441436013155 0ustar liggesusers\name{cgt} \alias{cgt} \title{ Continuous Gabor Transform } \description{ Computes the continuous Gabor transform with Gaussian window. } \usage{ cgt(input, nvoice, freqstep=(1/nvoice), scale=1, plot=TRUE) } \arguments{ \item{input}{ input signal (possibly complex-valued). } \item{nvoice}{ number of frequencies for which gabor transform is to be computed. } \item{freqstep}{ Sampling rate for the frequency axis. } \item{scale}{ Size parameter for the window. } \item{plot}{ logical variable set to TRUE to display the modulus of the continuous gabor transform on the graphic device. }} \value{ continuous (complex) gabor transform (2D array). } \details{ The output contains the (complex) values of the gabor transform of the input signal. The format of the output is a 2D array (signal\_size x nb\_scales). } \references{ See discussion in text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{cwt}}, \code{\link{cwtp}}, \code{\link{DOG}} for continuous wavelet transforms. \code{\link{cwtsquiz}} for synchrosqueezed wavelet transform. } \examples{ data(HOWAREYOU) plot.ts(HOWAREYOU) cgtHOWAREYOU <- cgt(HOWAREYOU,70,0.01,100) } \keyword{ts} \section{Warning}{ freqstep must be less than 1/nvoice to avoid aliasing. freqstep=1/nvoice corresponds to the Nyquist limit. } Rwave/man/morwave2.Rd0000644000176200001440000000160213230422763014143 0ustar liggesusers\name{morwave2} \alias{morwave2} \title{ Real Ridge Morvelets } \description{ Generates the real parts of the Morlet wavelets at the sample points of a ridge } \usage{ morwave2(bridge, aridge, nvoice, np, N, w0=2 * pi) } \arguments{ \item{bridge}{ time coordinates of the ridge samples. } \item{aridge}{ scale coordinates of the ridge samples. } \item{nvoice}{ number of different scales per octave. } \item{np}{ number of samples in the input signal. } \item{N}{ size of reconstructed signal. } \item{w0}{ central frequency of the wavelet. }} \value{ Returns the real parts of the Morlet wavelets at the samples of the time-scale plane given in the input: array of Morlet wavelets located on the ridge samples } %\details{} \references{ See discussions in the text of \dQuote{Time-Frequency Analysis}. } \seealso{ \code{\link{morwave}}, \code{\link{gwave}}, \code{\link{gwave2}}. } \keyword{ts} Rwave/man/amber9.Rd0000644000176200001440000000104113230424304013546 0ustar liggesusers\name{amber9} \alias{amber9} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(amber9) } \format{A vector containing 7000 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(amber9) plot.ts(amber9) } \keyword{datasets} Rwave/man/regrec2.Rd0000644000176200001440000000326013230422763013734 0ustar liggesusers\name{regrec2} \alias{regrec2} \title{ Reconstruction from a Ridge } \description{ Reconstructs signal from a ``regularly sampled'' ridge, in the wavelet case, from a precomputed kernel. } \usage{ regrec2(siginput, cwtinput, phi, nbnodes, noct, nvoice, Q2, epsilon=0.5, w0=2 * pi, plot=FALSE) } \arguments{ \item{siginput}{ input signal. } \item{cwtinput}{ wavelet transform, output of \code{\link{cwt}}. } \item{phi}{ unsampled ridge. } \item{nbnodes}{ number of samples on the ridge } \item{noct}{ number of octaves (powers of 2) } \item{nvoice}{ number of different scales per octave } \item{Q2}{ second term of the reconstruction kernel } \item{epsilon}{ coefficient of the \eqn{Q_2} term in reconstruction kernel } \item{w0}{ central frequency of Morlet wavelet } \item{plot}{ if set to TRUE, displays original and reconstructed signals }} \value{ Returns a list containing: \item{sol}{ reconstruction from a ridge. } \item{A}{ matrix. } \item{lam}{ coefficients of dual wavelets in reconstructed signal. } \item{dualwave}{ array containing the dual wavelets. } \item{morvelets}{ array containing the wavelets on sampled ridge. } \item{solskel}{ wavelet transform of sol, restricted to the ridge. } \item{inputskel}{ wavelet transform of signal, restricted to the ridge. } \item{nbnodes}{ number of nodes used for the reconstruction. }} \details{ The computation of the kernel may be time consuming. This function avoids recomputing it if it was computed already. } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{regrec}}, \code{\link{gregrec}}, \code{\link{ridrec}}, \code{\link{sridrec}}. } \keyword{ts} Rwave/man/wv.Rd0000644000176200001440000000116113230422763013035 0ustar liggesusers\name{WV} \alias{WV} \title{ Wigner-Ville function } \description{ Compute the Wigner-Ville transform, without any smoothing. } \usage{ WV(input, nvoice, freqstep = (1/nvoice), plot = TRUE) } \arguments{ \item{input}{input signal (possibly complex-valued)} \item{nvoice}{number of frequency bands} \item{freqstep}{sampling rate for the frequency axis} \item{plot}{if set to TRUE, displays the modulus of CWT on the graphic device.} } \value{ (complex) Wigner-Ville transform. } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } %\seealso{} \keyword{ts} Rwave/man/tflmax.Rd0000644000176200001440000000111113230422763013667 0ustar liggesusers\name{tflmax} \alias{tflmax} \title{ Time-Frequency Transform Local Maxima } \description{ Computes the local maxima (for each fixed value of the time variable) of the modulus of a time-frequency transform. } \usage{ tflmax(input, plot=TRUE) } \arguments{ \item{input}{ time-frequency transform (real 2D array). } \item{plot}{ if set to T, displays the local maxima on the graphic device. }} \value{ values of the maxima (2D array). } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{tfgmax}}. } \keyword{ts} Rwave/man/W_tilda.6.Rd0000644000176200001440000000110613230422763014127 0ustar liggesusers\name{W_tilda.6} \alias{W_tilda.6} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(W_tilda.6) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(W_tilda.6) plot.ts(W_tilda.6) } \keyword{datasets} Rwave/man/b0.Rd0000644000176200001440000000100013230424244012666 0ustar liggesusers\name{B0} \alias{B0} \title{Transient Signal} \description{Transient signal. } \usage{data(B0) } \format{A vector containing 1024 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(B0) plot.ts(B0) } \keyword{datasets} Rwave/man/adjust.length.Rd0000644000176200001440000000103113230422763015147 0ustar liggesusers\name{adjust.length} \alias{adjust.length} \title{ Zero Padding } \description{ Add zeros to the end of the data if necessary so that its length is a power of 2. It returns the data with zeros added if nessary and the length of the adjusted data. } \usage{ adjust.length(inputdata) } \arguments{ \item{inputdata}{ either a text file or an S object containing data. }} \value{ Zero-padded 1D array. } %\details{} \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } %\seealso{} \keyword{ts} \keyword{ts} Rwave/man/sridrec.Rd0000644000176200001440000000104313230422763014033 0ustar liggesusers\name{sridrec} \alias{sridrec} \title{ Simple Reconstruction from Ridge } \description{ Simple reconstruction of a real valued signal from a ridge, by restriction of the transform to the ridge. } \usage{ sridrec(tfinput, ridge) } \arguments{ \item{tfinput}{ time-frequency representation. } \item{ridge}{ ridge (1D array). }} \value{ (real) reconstructed signal (1D array) } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{ridrec}}, \code{\link{gridrec}}. } \keyword{ts} Rwave/man/mw.Rd0000644000176200001440000000225613230422763013032 0ustar liggesusers\name{mw} \alias{mw} \title{ Dyadic Wavelet Transform } \description{ Dyadic wavelet transform, with Mallat's wavelet. The reconstructed signal preserves locations and values at extrema. } \usage{ mw(inputdata, maxresoln, filtername="Gaussian1", scale=FALSE, plot=TRUE) } \arguments{ \item{inputdata}{ either a text file or an \R object containing data. } \item{maxresoln}{ number of decomposition scales. } \item{filtername}{ name of filter (either Gaussian1 for Mallat and Zhong's wavelet or Haar wavelet). } \item{scale}{ when set, the wavelet transform at each scale is plotted with the same scale. } \item{plot}{ indicate if the wavelet transform at each scale will be plotted. }} \value{ Structure containing \item{original}{ original signal. } \item{Wf}{ dyadic wavelet transform of signal. } \item{Sf}{ multiresolution of signal. } \item{maxresoln}{ number of decomposition scales. } \item{np}{ size of signal. }} \details{ The decomposition goes from resolution 1 to the given maximum resolution. } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{dwinverse}}, \code{\link{mrecons}}, \code{\link{ext}}. } \keyword{ts} Rwave/man/DOG.Rd0000644000176200001440000000271113230433123013004 0ustar liggesusers\name{DOG} \alias{DOG} \title{ Continuous Wavelet Transform with derivative of Gaussian } \description{ Computes the continuous wavelet transform with for (complex-valued) derivative of Gaussian wavelets. } \usage{ DOG(input, noctave, nvoice=1, moments, twoD=TRUE, plot=TRUE) } \arguments{ \item{input}{ input signal (possibly complex-valued). } \item{noctave}{ number of powers of 2 for the scale variable. } \item{moments}{ number of vanishing moments of the wavelet (order of the derivative). } \item{nvoice}{ number of scales in each octave (i.e. between two consecutive powers of 2) } \item{twoD}{ logical variable set to T to organize the output as a 2D array (signal\_size x nb\_scales), otherwise, the output is a 3D array (signal\_size x noctave x nvoice) } \item{plot}{ if set to T, display the modulus of the continuous wavelet transform on the graphic device }} \value{ continuous (complex) wavelet transform } \details{ The output contains the (complex) values of the wavelet transform of the input signal. The format of the output can be 2D array (signal\_size x nb\_scales) 3D array (signal\_size x noctave x nvoice) } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{cwt}}, \code{\link{cwtp}}, \code{\link{cwtsquiz}}, \code{\link{cgt}}. } \examples{ x <- 1:512 chirp <- sin(2*pi * (x + 0.002 * (x-256)^2 ) / 16) DOG(chirp, noctave=5, nvoice=12, 3, twoD=TRUE, plot=TRUE) } \keyword{ts} Rwave/man/cwt.Rd0000644000176200001440000000275613230422763013211 0ustar liggesusers\name{cwt} \alias{cwt} \title{ Continuous Wavelet Transform } \description{ Computes the continuous wavelet transform with for the (complex-valued) Morlet wavelet. } \usage{ cwt(input, noctave, nvoice=1, w0=2 * pi, twoD=TRUE, plot=TRUE) } \arguments{ \item{input}{ input signal (possibly complex-valued) } \item{noctave}{ number of powers of 2 for the scale variable } \item{nvoice}{ number of scales in each octave (i.e. between two consecutive powers of 2). } \item{w0}{ central frequency of the wavelet. } \item{twoD}{ logical variable set to T to organize the output as a 2D array (signal\_size x nb\_scales), otherwise, the output is a 3D array (signal\_size x noctave x nvoice). } \item{plot}{ if set to T, display the modulus of the continuous wavelet transform on the graphic device. }} \value{ continuous (complex) wavelet transform } \details{ The output contains the (complex) values of the wavelet transform of the input signal. The format of the output can be 2D array (signal\_size x nb\_scales) 3D array (signal\_size x noctave x nvoice) Since Morlet's wavelet is not strictly speaking a wavelet (it is not of vanishing integral), artifacts may occur for certain signals. } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{cwtp}}, \code{\link{cwtTh}}, \code{\link{DOG}}, \code{\link{gabor}}. } \examples{ x <- 1:512 chirp <- sin(2*pi * (x + 0.002 * (x-256)^2 ) / 16) retChirp <- cwt(chirp, noctave=5, nvoice=12) } \keyword{ts} Rwave/man/backscatter.1.220.Rd0000644000176200001440000000112513230423504015322 0ustar liggesusers\name{backscatter.1.220} \alias{backscatter.1.220} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(backscatter.1.220) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(backscatter.1.220) plot.ts(backscatter.1.220) } \keyword{datasets} Rwave/man/tfgmax.Rd0000644000176200001440000000125613230422763013674 0ustar liggesusers\name{tfgmax} \alias{tfgmax} \title{ Time-Frequency Transform Global Maxima } \description{ Computes the maxima (for each fixed value of the time variable) of the modulus of a continuous wavelet transform. } \usage{ tfgmax(input, plot=TRUE) } \arguments{ \item{input}{ wavelet transform (as the output of the function \code{\link{cwt}}) } \item{plot}{ if set to TRUE, displays the values of the energy as a function of the scale. }} \value{ \item{output}{values of the maxima (1D array)} \item{pos}{positions of the maxima (1D array)} } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{tflmax}}. } \keyword{ts} Rwave/man/signal_W_tilda.1.Rd0000644000176200001440000000111713230425346015461 0ustar liggesusers\name{signal_W_tilda.1} \alias{signal_W_tilda.1} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(signal_W_tilda.1) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(signal_W_tilda.1) plot.ts(signal_W_tilda.1) } \keyword{datasets} Rwave/man/mrecons.Rd0000644000176200001440000000200713230422763014047 0ustar liggesusers\name{mrecons} \alias{mrecons} \title{ Reconstruct from Dyadic Wavelet Transform Extrema } \description{ Reconstruct from dyadic wavelet transform modulus extrema. The reconstructed signal preserves locations and values at extrema. } \usage{ mrecons(extrema, filtername="Gaussian1", readflag=FALSE) } \arguments{ \item{extrema}{ the extrema representation. } \item{filtername}{ filter used for dyadic wavelet transform. } \item{readflag}{ if set to T, read reconstruction kernel from precomputed file. }} \value{ Structure containing \item{f}{ the reconstructed signal. } \item{g}{ reconstructed signal plus mean of original signal. } \item{h}{ reconstructed signal plus coarse scale component of original signal. }} \details{ The reconstruction involves only the wavelet coefficients, without taking care of the coarse scale component. The latter may be added a posteriori. } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{mw}}, \code{\link{ext}}. } \keyword{ts} Rwave/man/back1.180.Rd0000644000176200001440000000105313230430550013662 0ustar liggesusers\name{back1.180} \alias{back1.180} \title{Acoustic Returns} \description{Acoustic returns from ... } \usage{data(back1.180) } \format{A vector containing 7936 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(back1.180) plot.ts(back1.180) } \keyword{datasets} Rwave/man/W_tilda.2.Rd0000644000176200001440000000110613230422763014123 0ustar liggesusers\name{W_tilda.2} \alias{W_tilda.2} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(W_tilda.2) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(W_tilda.2) plot.ts(W_tilda.2) } \keyword{datasets} Rwave/man/vecgabor.Rd0000644000176200001440000000123513230422763014173 0ustar liggesusers\name{vecgabor} \alias{vecgabor} \title{ Gabor Functions on a Ridge } \description{ Generate Gabor functions at specified positions on a ridge. } \usage{ vecgabor(sigsize, nbnodes, location, frequency, scale) } \arguments{ \item{sigsize}{ Signal size. } \item{nbnodes}{ Number of wavelets to be generated. } \item{location}{ b coordinates of the ridge samples (1D array of length nbnodes). } \item{frequency}{ frequency coordinates of the ridge samples (1D array of length nbnodes). } \item{scale}{ size parameter for the Gabor functions. }} \value{ size parameter for the Gabor functions. } %\details{} %\references{} \seealso{ \code{\link{vecmorlet}}. } \keyword{ts} Rwave/man/W_tilda.3.Rd0000644000176200001440000000110513230422763014123 0ustar liggesusers\name{W_tilda.3} \alias{W_tilda.3} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(W_tilda.3) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(W_tilda.3) plot.ts(W_tilda.3) } \keyword{datasets} Rwave/man/vdog.Rd0000644000176200001440000000110213230422763013333 0ustar liggesusers\name{vDOG} \alias{vDOG} \title{ DOG Wavelet Transform on one Voice } \description{ Compute DOG wavelet transform at one scale. } \usage{ vDOG(input, scale, moments) } \arguments{ \item{input}{ Input signal (1D array). } \item{scale}{ Scale at which the wavelet transform is to be computed. } \item{moments}{ number of vanishing moments. }} \value{ 1D (complex) array containing wavelet transform at one scale. } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{vgt}}, \code{\link{vwt}}. } \keyword{ts} Rwave/man/plotResult.Rd0000644000176200001440000000127513230422763014564 0ustar liggesusers\name{plotResult} \alias{plotResult} \title{ Plot Dyadic Wavelet Transform Extrema } \description{ Plot extrema of dyadic wavelet transform. } \usage{ plotResult(result, original, maxresoln, scale=FALSE, yaxtype="s") } \arguments{ \item{result}{ result. } \item{original}{ input signal. } \item{maxresoln}{ number of decomposition scales. } \item{scale}{ when set, the extrema at each scale is plotted withe the same scale. } \item{yaxtype}{ y axis type (see \R manual). } } %\value{} %\details{} \references{ See discussions in the text of ``Time-Frequency Analysis''. } \seealso{ \code{\link{plotwt}}, \code{\link{epl}}, \code{\link{wpl}}. } \keyword{ts} Rwave/man/snakoid.Rd0000644000176200001440000000376113230422763014041 0ustar liggesusers\name{snakoid} \alias{snakoid} \title{ Modified Snake Method } \description{ Estimate a ridge from a time-frequency representation, using the modified snake method (modified cost function). } \usage{ snakoid(modulus, guessA, guessB, snakesize=length(guessB), tfspec=numeric(dim(modulus)[2]), subrate=1, temprate=3, muA=1, muB=muA, lambdaB=2 * muB, lambdaA=2 * muA, iteration=1000000, seed=-7, costsub=1, stagnant=20000, plot=TRUE) } \arguments{ \item{modulus}{ Time-Frequency representation (real valued). } \item{guessA}{ Initial guess for the algorithm (frequency variable). } \item{guessB}{ Initial guess for the algorithm (time variable). } \item{snakesize}{ The length of the first guess of time variable. } \item{tfspec}{ Estimate for the contribution of srthe noise to modulus. } \item{subrate}{ Subsampling rate for ridge estimation. } \item{temprate}{ Initial value of temperature parameter. } \item{muA}{ Coefficient of the ridge's derivative in cost function (frequency component). } \item{muB}{ Coefficient of the ridge's derivative in cost function (time component). } \item{lambdaB}{ Coefficient of the ridge's second derivative in cost function (time component). } \item{lambdaA}{ Coefficient of the ridge's second derivative in cost function (frequency component). } \item{iteration}{ Maximal number of moves. } \item{seed}{ Initialization of random number generator. } \item{costsub}{ Subsampling of cost function in output. } \item{stagnant}{ Maximum number of stationary iterations before stopping. } \item{plot}{ when set(default), some results will be displayed }} \value{ Returns a structure containing: \item{ridge}{1D array (of same length as the signal) containing the ridge.} \item{cost}{1D array containing the cost function.} \item{plot}{when set(default), some results will be displayed.} } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{corona}}, \code{\link{coronoid}}, \code{\link{icm}}, \code{\link{snake}}. } \keyword{ts} Rwave/man/coronoid.Rd0000644000176200001440000000356213230422763014224 0ustar liggesusers\name{coronoid} \alias{coronoid} \title{ Ridge Estimation by Modified Corona Method } \description{ Estimate a ridge using the modified corona method (modified cost function). } \usage{ coronoid(tfrep, guess, tfspec=numeric(dim(tfrep)[2]), subrate=1, temprate=3, mu=1, lambda=2 * mu, iteration=1000000, seed=-7, stagnant=20000, costsub=1, plot=TRUE) } \arguments{ \item{tfrep}{ Estimate for the contribution of the noise to modulus. } \item{guess}{ Initial guess for the algorithm. } \item{tfspec}{ Estimate for the contribution of the noise to modulus. } \item{subrate}{ Subsampling rate for ridge estimation. } \item{temprate}{ Initial value of temperature parameter. } \item{mu}{ Coefficient of the ridge's derivative in cost function. } \item{lambda}{ Coefficient of the ridge's second derivative in cost function. } \item{iteration}{ Maximal number of moves. } \item{seed}{ Initialization of random number generator. } \item{stagnant}{ Maximum number of stationary iterations before stopping. } \item{costsub}{ Subsampling of cost function in output. } \item{plot}{ When set(default), some results will be shown on the display. }} \value{ Returns the estimated ridge and the cost function. \item{ridge}{ 1D array (of same length as the signal) containing the ridge. } \item{cost}{ 1D array containing the cost function. } } \details{ To accelerate convergence, it is useful to preprocess modulus before running annealing method. Such a preprocessing (smoothing and subsampling of modulus) is implemented in \code{\link{coronoid}}. The parameter subrate specifies the subsampling rate. } \references{ See discussion in text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{corona}}, \code{\link{icm}}, \code{\link{snake}}, \code{\link{snakoid}}. } \keyword{ts} \section{Warning}{ The returned cost may be a large array. The argument costsub allows subsampling the cost function. } Rwave/man/gabor.Rd0000644000176200001440000000152613230431733013475 0ustar liggesusers\name{gabor} \alias{gabor} \title{ Generate Gabor function } \description{ Generates a Gabor for given location and frequency. } \usage{ gabor(sigsize, location, frequency, scale) } \arguments{ \item{sigsize}{ length of the Gabor function. } \item{location}{ position of the Gabor function. } \item{frequency}{ frequency of the Gabor function. } \item{scale}{ size parameter for the Gabor function. See details. }} \value{ complex 1D array of size sigsize. } \details{The size parameter here corresponds to the standard deviation for a gaussian. In the Carmona (1998, eBook ISBN:978008053942) book, equation 3.23 has a different scale factor. } \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{morlet}}. } \examples{ m1 = gabor(1024, 512, 2 * pi, 20 ) plot.ts(Re(m1) ) } \keyword{ts} Rwave/man/noisywave.Rd0000644000176200001440000000106213230426314014421 0ustar liggesusers\name{noisywave} \alias{noisywave} \title{Noisy Gravitational Wave} \description{Noisy gravitational wave. } \usage{data(noisywave) } \format{A vector containing 8192 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(noisywave) plot.ts(noisywave) } \keyword{datasets} Rwave/man/pixel_8.7.Rd0000644000176200001440000000105313230426246014116 0ustar liggesusers\name{pixel_8.7} \alias{pixel_8.7} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(pixel_8.7) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(pixel_8.7) plot.ts(pixel_8.7) } \keyword{datasets} Rwave/man/tfmean.Rd0000644000176200001440000000116213230422763013654 0ustar liggesusers\name{tfmean} \alias{tfmean} \title{ Average frequency by frequency } \description{ Compute the mean of time-frequency representation frequency by frequency. } \usage{ tfmean(input, plot=TRUE) } \arguments{ \item{input}{ time-frequency transform (output of \code{\link{cwt}} or \code{\link{cgt}}). } \item{plot}{ if set to T, displays the values of the energy as a function of the scale (or frequency). }} \value{ 1D array containing the noise estimate. } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{tfpct}},\code{\link{tfvar}}. } \keyword{ts} Rwave/man/check.maxresoln.Rd0000644000176200001440000000072213230422763015467 0ustar liggesusers\name{check.maxresoln} \alias{check.maxresoln} \title{ Verify Maximum Resolution } \description{ Stop when \eqn{2^{maxresoln}} is larger than the signal size. } \usage{ check.maxresoln(maxresoln, np) } \arguments{ \item{maxresoln}{ number of decomposition scales. } \item{np}{ signal size. }} %\value{} %\details{} \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{mw}}, \code{\link{mrecons}}. } \keyword{ts} Rwave/man/tfvar.Rd0000644000176200001440000000116513230422763013527 0ustar liggesusers\name{tfvar} \alias{tfvar} \title{ Variance frequency by frequency } \description{ Compute the variance of time-frequency representation frequency by frequency. } \usage{ tfvar(input, plot=TRUE) } \arguments{ \item{input}{ time-frequency transform (output of \code{\link{cwt}} or \code{\link{cgt}}). } \item{plot}{ if set to T, displays the values of the energy as a function of the scale (or frequency). }} \value{ 1D array containing the noise estimate. } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{tfmean}},\code{\link{tfpct}}. } \keyword{ts} Rwave/man/icm.Rd0000644000176200001440000000256313230422763013160 0ustar liggesusers\name{icm} \alias{icm} \title{ Ridge Estimation by ICM Method } \description{ Estimate a (single) ridge from a time-frequency representation, using the ICM minimization method. } \usage{ icm(modulus, guess, tfspec=numeric(dim(modulus)[2]), subrate=1, mu=1, lambda=2 * mu, iteration=100) } \arguments{ \item{modulus}{ Time-Frequency representation (real valued). } \item{guess}{ Initial guess for the algorithm. } \item{tfspec}{ Estimate for the contribution of the noise to modulus. } \item{subrate}{ Subsampling rate for ridge estimation. } \item{mu}{ Coefficient of the ridge's second derivative in cost function. } \item{lambda}{ Coefficient of the ridge's derivative in cost function. } \item{iteration}{ Maximal number of moves. }} \value{ Returns the estimated ridge and the cost function. \item{ridge}{ 1D array (of same length as the signal) containing the ridge. } \item{cost}{ 1D array containing the cost function. }} \details{ To accelerate convergence, it is useful to preprocess modulus before running annealing method. Such a preprocessing (smoothing and subsampling of modulus) is implemented in \code{\link{icm}}. The parameter subrate specifies the subsampling rate. } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{corona}}, \code{\link{coronoid}}, and \code{\link{snake}}, \code{\link{snakoid}}. } \keyword{ts} Rwave/man/W_tilda.9.Rd0000644000176200001440000000110713230422763014133 0ustar liggesusers\name{W_tilda.9} \alias{W_tilda.9} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(W_tilda.9) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(W_tilda.9) plot.ts(W_tilda.9) } \keyword{datasets} Rwave/man/mntrim.Rd0000644000176200001440000000217513230422763013715 0ustar liggesusers\name{mntrim} \alias{mntrim} \title{ Trim Dyadic Wavelet Transform Extrema } \description{ Trimming of dyadic wavelet transform local extrema, assuming normal distribution. } \usage{ mntrim(extrema, scale=FALSE, prct=0.95) } \arguments{ \item{extrema}{ dyadic wavelet transform extrema (output of \code{\link{ext}}). } \item{scale}{ when set, the wavelet transform at each scale will be plotted with the same scale. } \item{prct}{percentage critical value used for thresholding} } \value{ Structure containing \item{original}{ original signal. } \item{extrema}{ trimmed extrema representation. } \item{Sf}{ coarse resolution of signal. } \item{maxresoln}{ number of decomposition scales. } \item{np}{ size of signal. }} \details{ The distribution of extrema of dyadic wavelet transform at each scale is generated by simulation, assuming a normal distribution, and the 95\% critical value is used for thresholding the extrema of the signal. } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{mbtrim}}, \code{\link{mrecons}}, \code{\link{ext}}. } \keyword{ts} Rwave/man/amber7.Rd0000644000176200001440000000104113230424376013555 0ustar liggesusers\name{amber7} \alias{amber7} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(amber7) } \format{A vector containing 7000 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(amber7) plot.ts(amber7) } \keyword{datasets} Rwave/man/zerokernel.Rd0000644000176200001440000000112413230422763014560 0ustar liggesusers\name{zerokernel} \alias{zerokernel} \title{ Reconstruction from Wavelet Ridges } \description{ Generate a zero kernel for reconstruction from ridges. } \usage{ zerokernel(x.inc=1, x.min, x.max) } \arguments{ \item{x.min}{ minimal value of x for the computation of \eqn{Q_2}. } \item{x.max}{ maximal value of x for the computation of \eqn{Q_2}. } \item{x.inc}{ step unit for the computation of the kernel. }} \value{ matrix of the \eqn{Q_2} kernel } %\details{} %\references{} \seealso{ \code{\link{kernel}}, \code{\link{fastkernel}}, \code{\link{gkernel}}, \code{\link{gkernel}}. } \keyword{ts} Rwave/man/signal_W_tilda.4.Rd0000644000176200001440000000111613230424673015465 0ustar liggesusers\name{signal_W_tilda.4} \alias{signal_W_tilda.4} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(signal_W_tilda.4) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(signal_W_tilda.4) plot.ts(signal_W_tilda.4) } \keyword{datasets} Rwave/man/b4.Rd0000644000176200001440000000100013230424173012673 0ustar liggesusers\name{B4} \alias{B4} \title{Transient Signal} \description{Transient signal. } \usage{data(B4) } \format{A vector containing 1024 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(B4) plot.ts(B4) } \keyword{datasets} Rwave/man/c4.Rd0000644000176200001440000000100113230424077012700 0ustar liggesusers\name{C4} \alias{C4} \title{Transient Signal} \description{Transient signal. } \usage{data(C4) } \format{A vector containing 1024 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(C4) plot.ts(C4) } \keyword{datasets} Rwave/man/epl.Rd0000644000176200001440000000070213230422763013161 0ustar liggesusers\name{epl} \alias{epl} \title{ Plot Dyadic Wavelet Transform Extrema } \description{ Plot dyadic wavelet transform extrema (output of \code{\link{ext}}). } \usage{ epl(dwext) } \arguments{ \item{dwext}{ dyadic wavelet transform (output of \code{\link{ext}}). }} %\value{} %\details{} \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{mw}}, \code{\link{ext}}, \code{\link{wpl}}. } \keyword{ts} Rwave/man/W_tilda.7.Rd0000644000176200001440000000110513230422763014127 0ustar liggesusers\name{W_tilda.7} \alias{W_tilda.7} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(W_tilda.7) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(W_tilda.7) plot.ts(W_tilda.7) } \keyword{datasets} Rwave/man/signal_W_tilda.7.Rd0000644000176200001440000000115013230422763015464 0ustar liggesusers\name{signal_W_tilda.7} \alias{signal_W_tilda.7} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(signal_W_tilda.7) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(signal_W_tilda.7) plot.ts(signal_W_tilda.7) } \keyword{datasets} Rwave/man/back1.000.Rd0000644000176200001440000000110313230430614013646 0ustar liggesusers\name{back1.000} \alias{back1.000} \title{Acoustic Returns} \description{Acoustic returns from natural underwater clutter. } \usage{data(back1.000) } \format{A vector containing 7936 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(back1.000) plot.ts(back1.000) } \keyword{datasets} Rwave/man/backscatter.1.180.Rd0000644000176200001440000000112313230423537015333 0ustar liggesusers\name{backscatter.1.180} \alias{backscatter.1.180} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(backscatter.1.180) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(backscatter.1.180) plot.ts(backscatter.1.180) } \keyword{datasets} Rwave/man/SVD.Rd0000644000176200001440000000112413230434437013035 0ustar liggesusers\name{SVD} \alias{SVD} \title{ Singular Value Decomposition } \description{ Computes singular value decomposition of a matrix. } \usage{ SVD(a) } \arguments{ \item{a}{ input matrix. }} \value{ a structure containing the 3 matrices of the singular value decomposition of the input. } \details{ \R interface for Numerical Recipes singular value decomposition routine. } \references{ See discussions in the text of \dQuote{Time-Frequency Analysis}. } %\seealso{} \examples{ hilbert <- function(n) { i <- 1:n; 1 / outer(i - 1, i, "+") } X <- hilbert(6) z = SVD(X) z } \keyword{ts} Rwave/man/signal_W_tilda.3.Rd0000644000176200001440000000111613230424733015461 0ustar liggesusers\name{signal_W_tilda.3} \alias{signal_W_tilda.3} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(signal_W_tilda.3) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(signal_W_tilda.3) plot.ts(signal_W_tilda.3) } \keyword{datasets} Rwave/man/cleanph.Rd0000644000176200001440000000110513230422763014011 0ustar liggesusers\name{cleanph} \alias{cleanph} \title{ Threshold Phase based on Modulus } \description{ Sets to zero the phase of time-frequency transform when modulus is below a certain value. } \usage{ cleanph(tfrep, thresh=0.01, plot=TRUE) } \arguments{ \item{tfrep}{ continuous time-frequency transform (2D array) } \item{thresh}{ (relative) threshold. } \item{plot}{ if set to TRUE, displays the maxima of cwt on the graphic device. }} \value{ thresholded phase (2D array) } %\details{} \references{ See discussion in text of ``Practical Time-Frequency Analysis''. } %\seealso{} \keyword{ts} Rwave/man/morwave.Rd0000644000176200001440000000154213230422763014064 0ustar liggesusers\name{morwave} \alias{morwave} \title{ Ridge Morvelets } \description{ Generates the Morlet wavelets at the sample points of the ridge. } \usage{ morwave(bridge, aridge, nvoice, np, N, w0=2 * pi) } \arguments{ \item{bridge}{ time coordinates of the ridge samples. } \item{aridge}{ scale coordinates of the ridge samples. } \item{nvoice}{ number of different scales per octave. } \item{np}{ number of samples in the input signal. } \item{N}{ size of reconstructed signal. } \item{w0}{ central frequency of the wavelet. }} \value{ Returns the Morlet wavelets at the samples of the time-scale plane given in the input: complex array of Morlet wavelets located on the ridge samples } %\details{} \references{ See discussions in the text of \dQuote{Time-Frequency Analysis}. } \seealso{ \code{\link{morwave2}}, \code{\link{gwave}}, \code{\link{gwave2}}. } \keyword{ts} Rwave/man/cwtp.Rd0000644000176200001440000000345113230422763013362 0ustar liggesusers\name{cwtp} \alias{cwtp} \title{Continuous Wavelet Transform with Phase Derivative} \description{ Computes the continuous wavelet transform with (complex-valued) Morlet wavelet and its phase derivative. } \usage{ cwtp(input, noctave, nvoice=1, w0=2 * pi, twoD=TRUE, plot=TRUE) } \arguments{ \item{input}{input signal (possibly complex-valued)} \item{noctave}{number of powers of 2 for the scale variable} \item{nvoice}{number of scales in each octave (i.e., between two consecutive powers of 2).} \item{w0}{central frequency of the wavelet.} \item{twoD}{logical variable set to \code{T} to organize the output as a 2D array (signal size \eqn{\times}{x} nb scales), otherwise, the output is a 3D array (signal size \eqn{\times}{x} noctave \eqn{\times}{x} nvoice).} \item{plot}{if set to \code{TRUE}, display the modulus of the continuous wavelet transform on the graphic device.} } %\details{} \value{ list containing the continuous (complex) wavelet transform and the phase derivative \item{wt}{array of complex numbers for the values of the continuous wavelet transform.} \item{f}{array of the same dimensions containing the values of the derivative of the phase of the continuous wavelet transform.} } \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{cgt}}, \code{\link{cwt}}, \code{\link{cwtTh}}, \code{\link{DOG}} for wavelet transform, and \code{\link{gabor}} for continuous Gabor transform. } \examples{ ## discards imaginary part with error, ## c code does not account for Im(input) x <- 1:512 chirp <- sin(2*pi * (x + 0.002 * (x-256)^2 ) / 16) chirp <- chirp + 1i * sin(2*pi * (x + 0.004 * (x-256)^2 ) / 16) retChirp <- cwtp(chirp, noctave=5, nvoice=12) } \keyword{ts} Rwave/man/signal_W_tilda.9.Rd0000644000176200001440000000111713230425563015472 0ustar liggesusers\name{signal_W_tilda.9} \alias{signal_W_tilda.9} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(signal_W_tilda.9) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(signal_W_tilda.9) plot.ts(signal_W_tilda.9) } \keyword{datasets} Rwave/man/smoothwt.Rd0000644000176200001440000000122313230422763014264 0ustar liggesusers\name{smoothwt} \alias{smoothwt} \title{ Smoothing and Time Frequency Representation } \description{ smooth the wavelet (or Gabor) transform in the time direction. } \usage{ smoothwt(modulus, subrate, flag=FALSE) } \arguments{ \item{modulus}{ Time-Frequency representation (real valued). } \item{subrate}{ Length of smoothing window. } \item{flag}{ If set to TRUE, subsample the representation. }} \value{ 2D array containing the smoothed transform. } %\details{} \references{ See discussions in the text of \dQuote{Time-Frequency Analysis}. } \seealso{ \code{\link{corona}}, \code{\link{coronoid}}, \code{\link{snake}}, \code{\link{snakoid}}. } \keyword{ts} Rwave/man/W_tilda.5.Rd0000644000176200001440000000110513230422763014125 0ustar liggesusers\name{W_tilda.5} \alias{W_tilda.5} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(W_tilda.5) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(W_tilda.5) plot.ts(W_tilda.5) } \keyword{datasets} Rwave/man/zeroskeleton2.Rd0000644000176200001440000000254213230422763015213 0ustar liggesusers\name{zeroskeleton2} \alias{zeroskeleton2} \title{ Reconstruction from Dual Wavelets } \description{ Computes the the reconstructed signal from the ridge when the epsilon parameter is set to zero, in the case of real constraints. } \usage{ zeroskeleton2(cwtinput, Qinv, morvelets, bridge, aridge, N) } \arguments{ \item{cwtinput}{ continuous wavelet transform (output of \code{\link{cwt}}). } \item{Qinv}{ inverse of the reconstruction kernel (2D array). } \item{morvelets}{ array of Morlet wavelets located at the ridge samples. } \item{bridge}{ time coordinates of the ridge samples. } \item{aridge}{ scale coordinates of the ridge samples. } \item{N}{ size of reconstructed signal. }} \value{ Returns a list of the elements of the reconstruction of a signal from sample points of a ridge \item{sol}{reconstruction from a ridge.} \item{A}{matrix of the inner products.} \item{lam}{coefficients of dual wavelets in reconstructed signal. They are the Lagrange multipliers \eqn{\lambda}{lambda}'s of the text.} \item{dualwave}{array containing the dual wavelets.} } \details{ The details of this reconstruction are the same as for the function skeleton. They can be found in the text } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{skeleton}}, \code{\link{skeleton2}}, \code{\link{zeroskeleton}}. } \keyword{ts} Rwave/man/snakeview.Rd0000644000176200001440000000105613230422763014400 0ustar liggesusers\name{snakeview} \alias{snakeview} \title{ Restriction to a Snake } \description{ Restrict time-frequency transform to a snake. } \usage{ snakeview(modulus, snake) } \arguments{ \item{modulus}{ Time-Frequency representation (real valued). } \item{snake}{ Time and frequency components of a snake. }} \value{ 2D array containing the restriction of the transform modulus to the snake. } \details{ Recall that a snake is a (two components) \R structure. } \references{ See discussions in the text of \dQuote{Time-Frequency Analysis}. } %\seealso{} \keyword{ts} Rwave/man/gwave2.Rd0000644000176200001440000000156513230422763013604 0ustar liggesusers\name{gwave2} \alias{gwave2} \title{ Real Gabor Functions on a Ridge } \description{ Generation of the real parts of gabor functions located on a ridge. (modification of \code{\link{gwave}}.) } \usage{ gwave2(bridge, omegaridge, nvoice, freqstep, scale, np, N) } \arguments{ \item{bridge}{ time coordinates of the ridge samples } \item{omegaridge}{ frequency coordinates of the ridge samples } \item{nvoice}{ number of different scales per octave } \item{freqstep}{ sampling rate for the frequency axis } \item{scale}{ scale of the window } \item{np}{ size of the reconstruction kernel } \item{N}{ number of complex constraints }} \value{ Array of real Gabor functions located on the ridge samples } %\details{} \references{ See discussions in the text of \dQuote{Time-Frequency Analysis}. } \seealso{ \code{\link{gwave}}, \code{\link{morwave}}, \code{\link{morwave2}}. } \keyword{ts} Rwave/man/YNdiff.Rd0000644000176200001440000000107013230423314013550 0ustar liggesusers\name{YNdiff} \alias{YNdiff} \title{Daily differences of Japanese Yen} \description{Daily differences of \code{\link{YN}}. } \usage{data(YNdiff) } \format{A vector containing 499 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(YNdiff) plot.ts(YNdiff) } \keyword{datasets} Rwave/man/sig_W_tilda.1.Rd0000644000176200001440000000107713230425543014772 0ustar liggesusers\name{sig_W_tilda.1} \alias{sig_W_tilda.1} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(sig_W_tilda.1) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(sig_W_tilda.1) plot.ts(sig_W_tilda.1) } \keyword{datasets} Rwave/man/cwtth.Rd0000644000176200001440000000277413230422763013545 0ustar liggesusers\name{cwtTh} \alias{cwtTh} \title{Cauchy's wavelet transform} \description{ Compute the continuous wavelet transform with (complex-valued) Cauchy's wavelet. } \usage{cwtTh(input, noctave, nvoice=1, moments, twoD=TRUE, plot=TRUE) } \arguments{ \item{input}{ input signal (possibly complex-valued). } \item{noctave}{ number of powers of 2 for the scale variable. } \item{nvoice}{ number of scales in each octave (i.e. between two consecutive powers of 2). } \item{moments}{ number of vanishing moments. } \item{twoD}{ logical variable set to \code{T} to organize the output as a 2D array (signal size x nb scales), otherwise, the output is a 3D array (signal size x noctave x nvoice). } \item{plot}{ if set to \code{T}, display the modulus of the continuous wavelet transform on the graphic device. }} \value{ \item{tmp}{continuous (complex) wavelet transform.} } \details{ The output contains the (complex) values of the wavelet transform of the input signal. The format of the output can be 2D array (signal size \eqn{\times}{x} nb scales) 3D array (signal size \eqn{\times}{x} noctave \eqn{\times}{x} nvoice) } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{cwt}}, \code{\link{cwtp}}, \code{\link{DOG}}, \code{\link{gabor}}. } \examples{ x <- 1:512 chirp <- sin(2*pi * (x + 0.002 * (x-256)^2 ) / 16) retChirp <- cwtTh(chirp, noctave=5, nvoice=12, moments=20) } \keyword{ts} Rwave/man/yen.Rd0000644000176200001440000000101713230430020013155 0ustar liggesusers\name{yen} \alias{yen} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(yen) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(yen) plot.ts(yen) } \keyword{datasets} Rwave/man/HOWAREYOU.Rd0000644000176200001440000000104613230422763013765 0ustar liggesusers\name{HOWAREYOU} \alias{HOWAREYOU} \title{How Are You?} \description{Example of speech signal. } \usage{data(HOWAREYOU) } \format{A vector containing 5151 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(HOWAREYOU) plot.ts(HOWAREYOU) } \keyword{datasets} Rwave/man/rwkernel.Rd0000644000176200001440000000220613230422763014233 0ustar liggesusers\name{rwkernel} \alias{rwkernel} \title{ Kernel for Reconstruction from Wavelet Ridges } \description{ Computes the cost from the sample of points on the estimated ridge and the matrix used in the reconstruction of the original signal } \usage{ rwkernel(node, phinode, nvoice, x.inc=1, x.min=node[1], x.max=node[length(node)], w0=2 * pi, plot=FALSE) } \arguments{ \item{node}{ values of the variable b for the nodes of the ridge. } \item{phinode}{ values of the scale variable a for the nodes of the ridge. } \item{nvoice}{ number of scales within 1 octave. } \item{x.inc}{ step unit for the computation of the kernel. } \item{x.min}{ minimal value of x for the computation of \eqn{Q_2}. } \item{x.max}{ maximal value of x for the computation of \eqn{Q_2}. } \item{w0}{ central frequency of the wavelet. } \item{plot}{ if set to TRUE, displays the modulus of the matrix of \eqn{Q_2}. }} \value{ matrix of the \eqn{Q_2} kernel } \details{ The kernel is evaluated using Romberg's method. } \references{ See discussions in the text of "Time-Frequency Analysis". } \seealso{ \code{\link{gkernel}}, \code{\link{rkernel}}, \code{\link{zerokernel}}. } \keyword{ts} Rwave/man/gregrec.Rd0000644000176200001440000000353113230422763014022 0ustar liggesusers\name{gregrec} \alias{gregrec} \title{ Reconstruction from a Ridge } \description{ Reconstructs signal from a ``regularly sampled'' ridge, in the Gabor case. } \usage{ gregrec(siginput, gtinput, phi, nbnodes, nvoice, freqstep, scale, epsilon=0, fast=FALSE, plot=FALSE, para=0, hflag=FALSE, real=FALSE, check=FALSE) } \arguments{ \item{siginput}{ input signal. } \item{gtinput}{ Gabor transform, output of \code{\link{cgt}}. } \item{phi}{ unsampled ridge. } \item{nbnodes}{ number of nodes used for the reconstruction. } \item{nvoice}{ number of different scales per octave } \item{freqstep}{ sampling rate for the frequency axis } \item{scale}{ size parameter for the Gabor function. } \item{epsilon}{ coefficient of the \eqn{Q_2} term in reconstruction kernel } \item{fast}{ if set to T, the kernel is computed using trapezoidal rule. } \item{plot}{ if set to TRUE, displays original and reconstructed signals } \item{para}{ scale parameter for extrapolating the ridges. } \item{hflag}{ if set to TRUE, uses \eqn{Q_1} as first term in the kernel. } \item{real}{ if set to TRUE, uses only real constraints on the transform. } \item{check}{ if set to TRUE, computes \code{\link{cwt}} of reconstructed signal. }} \value{ Returns a list containing: \item{sol}{ reconstruction from a ridge. } \item{A}{ matrix. } \item{lam}{ coefficients of dual wavelets in reconstructed signal. } \item{dualwave}{ array containing the dual wavelets. } \item{gaborets}{ array containing the wavelets on sampled ridge. } \item{solskel}{ Gabor transform of sol, restricted to the ridge. } \item{inputskel}{ Gabor transform of signal, restricted to the ridge. } \item{Q2}{ second part of the reconstruction kernel. }} %\details{} \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{regrec}}. } \keyword{ts} Rwave/man/W_tilda.1.Rd0000644000176200001440000000110613230422763014122 0ustar liggesusers\name{W_tilda.1} \alias{W_tilda.1} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(W_tilda.1) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(W_tilda.1) plot.ts(W_tilda.1) } \keyword{datasets} Rwave/man/morlet.Rd0000644000176200001440000000146313230431522013701 0ustar liggesusers\name{morlet} \alias{morlet} \title{ Morlet Wavelets } \description{ Computes a Morlet wavelet at the point of the time-scale plane given in the input } \usage{ morlet(sigsize, location, scale, w0=2 * pi) } \arguments{ \item{sigsize}{ length of the output. } \item{location}{ time location of the wavelet. } \item{scale}{ scale of the wavelet. } \item{w0}{ central frequency of the wavelet. }} \value{ Returns the values of the complex Morlet wavelet at the point of the time-scale plane given in the input } \details{ The details of this construction (including the definition formulas) are given in the text. } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{gabor}}. } \examples{ m1 = morlet(1024, 512, 20, w0=2 * pi) plot.ts(Re(m1) ) } \keyword{ts} Rwave/man/sig_W_tilda.5.Rd0000644000176200001440000000113113230422763014766 0ustar liggesusers\name{sig_W_tilda.5} \alias{sig_W_tilda.5} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(sig_W_tilda.5) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(sig_W_tilda.5) plot.ts(sig_W_tilda.5) } \keyword{datasets} Rwave/man/sig_W_tilda.2.Rd0000644000176200001440000000107713230425520014766 0ustar liggesusers\name{sig_W_tilda.2} \alias{sig_W_tilda.2} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(sig_W_tilda.2) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(sig_W_tilda.2) plot.ts(sig_W_tilda.2) } \keyword{datasets} Rwave/man/gsampleOne.Rd0000644000176200001440000000104113230422763014470 0ustar liggesusers\name{gsampleOne} \alias{gsampleOne} \title{ Sampled Identity } \description{ Generate a sampled identity matrix. } \usage{ gsampleOne(node, scale, np) } \arguments{ \item{node}{ location of the reconstruction gabor functions. } \item{scale}{ scale of the gabor functions. } \item{np}{ size of the reconstructed signal. }} \value{ diagonal of the ``sampled'' \eqn{Q_1} term (1D vector) } %\details{} \references{ See discussions in the text of ``Time-Frequency Analysis''. } \seealso{ \code{\link{kernel}}, \code{\link{gkernel}}. } \keyword{ts} Rwave/man/click.Rd0000644000176200001440000000102213230430235013453 0ustar liggesusers\name{click} \alias{click} \title{Dolphin Click Data} \description{Dolphin click data. } \usage{data(click) } \format{A vector containing 2499 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(click) plot.ts(click) } \keyword{datasets} Rwave/man/crcrec.Rd0000644000176200001440000000336013230422763013645 0ustar liggesusers\name{crcrec} \alias{crcrec} \title{ Crazy Climbers Reconstruction by Penalization } \description{ Reconstructs a real valued signal from the output of \code{\link{crc}} (wavelet case) by minimizing an appropriate quadratic form. } \usage{ crcrec(siginput, inputwt, beemap, noct, nvoice, compr, minnbnodes=2, w0=2 * pi, bstep=5, ptile=0.01, epsilon=0, fast=FALSE, para=5, real=FALSE, plot=2) } \arguments{ \item{siginput}{ original signal. } \item{inputwt}{ wavelet transform. } \item{beemap}{ occupation measure, output of \code{\link{crc}}. } \item{noct}{ number of octaves. } \item{nvoice}{ number of voices per octave. } \item{compr}{ compression rate for sampling the ridges. } \item{minnbnodes}{ minimal number of points per ridge. } \item{w0}{ center frequency of the wavelet. } \item{bstep}{ size (in the time direction) of the steps for chaining. } \item{ptile}{ relative threshold of occupation measure. } \item{epsilon}{ constant in front of the smoothness term in penalty function. } \item{fast}{ if set to TRUE, uses trapezoidal rule to evaluate $Q_2$. } \item{para}{ scale parameter for extrapolating the ridges. } \item{real}{ if set to TRUE, uses only real constraints. } \item{plot}{ 1: displays signal,components,and reconstruction one after another. 2: displays signal, components and reconstruction. }} \value{ Returns a structure containing the following elements: \item{rec}{ reconstructed signal. } \item{ordered}{ image of the ridges (with different colors). } \item{comp}{ 2D array containing the signals reconstructed from ridges. } } \details{ When ptile is high, boundary effects may appeare. para controls extrapolation of the ridge. } %\references{} \seealso{ \code{\link{crc}}, \code{\link{cfamily}}, \code{\link{scrcrec}}. } \keyword{ts} Rwave/man/pure.dat.Rd0000644000176200001440000000104613230430140014111 0ustar liggesusers\name{pure.dat} \alias{pure.dat} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(pure.dat) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(pure.dat) plot.ts(pure.dat) } \keyword{datasets} Rwave/man/noisy.dat.Rd0000644000176200001440000000105313230426355014312 0ustar liggesusers\name{noisy.dat} \alias{noisy.dat} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(noisy.dat) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(noisy.dat) plot.ts(noisy.dat) } \keyword{datasets} Rwave/man/HeartRate.Rd0000644000176200001440000000111113230422763014253 0ustar liggesusers\name{HeartRate} \alias{HeartRate} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(HeartRate) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(HeartRate) plot.ts(HeartRate) } \keyword{datasets} Rwave/man/gcrcrec.Rd0000644000176200001440000000410213230422763014007 0ustar liggesusers\name{gcrcrec} \alias{gcrcrec} \title{Crazy Climbers Reconstruction by Penalization} \description{ Reconstructs a real-valued signal from ridges found by crazy climbers on a Gabor transform. } \usage{ gcrcrec(siginput, inputgt, beemap, nvoice, freqstep, scale, compr, bstep=5, ptile=0.01, epsilon=0, fast=TRUE, para=5, minnbnodes=3, hflag=FALSE, real=FALSE, plot=2) } \arguments{ \item{siginput}{original signal.} \item{inputgt}{Gabor transform.} \item{beemap}{occupation measure, output of \code{\link{crc}}.} \item{nvoice}{number of frequencies.} \item{freqstep}{sampling step for frequency axis.} \item{scale}{size of windows.} \item{compr}{compression rate to be applied to the ridges.} \item{bstep}{size (in the time direction) of the steps for chaining.} \item{ptile}{threshold of ridge} \item{epsilon}{constant in front of the smoothness term in penalty function.} \item{fast}{if set to TRUE, uses trapezoidal rule to evaluate \eqn{Q_2}.} \item{para}{scale parameter for extrapolating the ridges.} \item{minnbnodes}{minimal number of points per ridge.} \item{hflag}{if set to FALSE, uses the identity as first term in the kernel. If not, uses \eqn{Q_1} instead.} \item{real}{if set to \code{TRUE}, uses only real constraints.} \item{plot}{ \describe{ \item{1}{displays signal,components, and reconstruction one after another.} \item{2}{displays signal, components and reconstruction.} } } } \details{ When \code{ptile} is high, boundary effects may appear. \code{para} controls extrapolation of the ridge. } \value{ Returns a structure containing the following elements: \item{rec}{reconstructed signal.} \item{ordered}{image of the ridges (with different colors).} \item{comp}{2D array containing the signals reconstructed from ridges.} } \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{crc}}, \code{\link{cfamily}}, \code{\link{crcrec}}, \code{\link{scrcrec}}. } \keyword{ts} Rwave/man/pixel_8.8.Rd0000644000176200001440000000105313230426220014107 0ustar liggesusers\name{pixel_8.8} \alias{pixel_8.8} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(pixel_8.8) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(pixel_8.8) plot.ts(pixel_8.8) } \keyword{datasets} Rwave/man/fastkernel.Rd0000644000176200001440000000246113230422763014543 0ustar liggesusers\name{fastkernel} \alias{fastkernel} \title{ Kernel for Reconstruction from Wavelet Ridges } \description{ Computes the cost from the sample of points on the estimated ridge and the matrix used in the reconstruction of the original signal, using simple trapezoidal rule for integrals. } \usage{ fastkernel(node, phinode, nvoice, x.inc=1, x.min=node[1], x.max=node[length(node)], w0=2 * pi, plot=FALSE) } \arguments{ \item{node}{ values of the variable b for the nodes of the ridge. } \item{phinode}{ values of the scale variable a for the nodes of the ridge. } \item{nvoice}{ number of scales within 1 octave. } \item{x.inc}{ step unit for the computation of the kernel } \item{x.min}{ minimal value of x for the computation of \eqn{Q_2}. } \item{x.max}{ maximal value of x for the computation of \eqn{Q_2}. } \item{w0}{ central frequency of the wavelet } \item{plot}{ if set to TRUE, displays the modulus of the matrix of \eqn{Q_2}. }} \value{ matrix of the \eqn{Q_2} kernel. } \details{ Uses trapezoidal rule (instead of Romberg's method) to evaluate the kernel. } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{kernel}}, \code{\link{rkernel}}, \code{\link{gkernel}}, \code{\link{zerokernel}}. } \keyword{ts} %\keyword{~keyword} % Converted by Sd2Rd version 1.21. Rwave/man/signal_W_tilda.5.Rd0000644000176200001440000000111613230424650015461 0ustar liggesusers\name{signal_W_tilda.5} \alias{signal_W_tilda.5} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(signal_W_tilda.5) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(signal_W_tilda.5) plot.ts(signal_W_tilda.5) } \keyword{datasets} Rwave/man/crc.Rd0000644000176200001440000000321013230441545013144 0ustar liggesusers\name{crc} \alias{crc} \title{ Ridge Extraction by Crazy Climbers } \description{ Uses the "crazy climber algorithm" to detect ridges in the modulus of a continuous wavelet or a Gabor transform. } \usage{ crc(tfrep, tfspec=numeric(dim(tfrep)[2]), bstep=3, iteration=10000, rate=0.001, seed=-7, nbclimb=10, flag.int=TRUE, chain=TRUE, flag.temp=FALSE) } \arguments{ \item{tfrep}{ modulus of the (wavelet or Gabor) transform. } \item{tfspec}{ numeric vector which gives, for each value of the scale or frequency the expected size of the noise contribution. } \item{bstep}{ stepsize for random walk of the climbers. } \item{iteration}{ number of iterations. } \item{rate}{ initial value of the temperature. } \item{seed}{ initial value of the random number generator. } \item{nbclimb}{ number of crazy climbers. } \item{flag.int}{ if set to TRUE, the weighted occupation measure is computed. } \item{chain}{ if set to TRUE, chaining of the ridges is done. } \item{flag.temp}{ if set to TRUE: constant temperature. }} \value{ Returns a 2D array called beemap containing the (weighted or unweighted) occupation measure (integrated with respect to time) } %\details{} \references{ See discussion in text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{corona}}, \code{\link{icm}}, \code{\link{coronoid}}, \code{\link{snake}}, \code{\link{snakoid}} for ridge estimation, \code{\link{cfamily}} for chaining and \code{\link{crcrec}},\code{\link{gcrcrec}},\code{\link{scrcrec}} for reconstruction. } \examples{ data(HOWAREYOU) plot.ts(HOWAREYOU) cgtHOWAREYOU <- cgt(HOWAREYOU,70,0.01,100) clHOWAREYOU <- crc(Mod(cgtHOWAREYOU),nbclimb=1000) } \keyword{ts} Rwave/man/cfamily.Rd0000644000176200001440000000354313230441701014024 0ustar liggesusers\name{cfamily} \alias{cfamily} \title{ Ridge Chaining Procedure } \description{ Chains the ridge estimates produced by the function \code{\link{crc}}. } \usage{ cfamily(ccridge, bstep=1, nbchain=100, ptile=0.05) } \arguments{ \item{ccridge}{ unchained ridge set as the output of the function \code{\link{crc}} } \item{bstep}{ maximal length for a gap in a ridge. } \item{nbchain}{ maximal number of chains produced by the function. } \item{ptile}{ relative threshold for the ridges. }} \value{ Returns the results of the chaining algorithm \item{ordered map}{ image containing the ridges (displayed with different colors) } \item{chain}{ 2D array containing the chained ridges, according to the chain data structure\cr chain[,1]: first point of the ridge\cr chain[,2]: length of the chain\cr chain[,3:(chain[,2]+2)]: values of the ridge\cr } \item{nbchain}{ number of chains produced by the algorithm }} \details{ \code{\link{crc}} returns a measure in time-frequency (or time-scale) space. \code{\link{cfamily}} turns it into a series of one-dimensional objects (ridges). The measure is first thresholded, with a relative threshold value set to the input parameter ptile. During the chaining procedure, gaps within a given ridge are allowed and filled in. The maximal length of such gaps is the input parameter bstep. } \references{ See discussion in text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{crc}} for the ridge estimation, and \code{\link{crcrec}}, \code{\link{gcrcrec}} and \code{\link{scrcrec}} for corresponding reconstruction functions. } \examples{ \dontrun{ data(HOWAREYOU) plot.ts(HOWAREYOU) cgtHOWAREYOU <- cgt(HOWAREYOU,70,0.01,100) clHOWAREYOU <- crc(Mod(cgtHOWAREYOU),nbclimb=1000) cfHOWAREYOU <- cfamily(clHOWAREYOU,ptile=0.001) image(cfHOWAREYOU$ordered > 0) } } \keyword{ts} Rwave/man/skeleton.Rd0000644000176200001440000000226413230422763014232 0ustar liggesusers\name{skeleton} \alias{skeleton} \title{ Reconstruction from Dual Wavelets } \description{ Computes the reconstructed signal from the ridge, given the inverse of the matrix Q. } \usage{ skeleton(cwtinput, Qinv, morvelets, bridge, aridge, N) } \arguments{ \item{cwtinput}{ continuous wavelet transform (as the output of cwt) } \item{Qinv}{ inverse of the reconstruction kernel (2D array) } \item{morvelets}{ array of Morlet wavelets located at the ridge samples } \item{bridge}{ time coordinates of the ridge samples } \item{aridge}{ scale coordinates of the ridge samples } \item{N}{ size of reconstructed signal }} \value{ Returns a list of the elements of the reconstruction of a signal from sample points of a ridge \item{sol}{reconstruction from a ridge} \item{A}{matrix of the inner products} \item{lam}{coefficients of dual wavelets in reconstructed signal. They are the Lagrange multipliers \eqn{\lambda}{lambda}'s of the text.} \item{dualwave}{array containing the dual wavelets.} } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{skeleton2}}, \code{\link{zeroskeleton}}, \code{\link{zeroskeleton2}}. } \keyword{ts} Rwave/man/ext.Rd0000644000176200001440000000150513230422763013203 0ustar liggesusers\name{ext} \alias{ext} \title{ Extrema of Dyadic Wavelet Transform } \description{ Compute the local extrema of the dyadic wavelet transform modulus. } \usage{ ext(wt, scale=FALSE, plot=TRUE) } \arguments{ \item{wt}{ dyadic wavelet transform. } \item{scale}{ flag indicating if the extrema at each resolution will be plotted at the same scale. } \item{plot}{ if set to TRUE, displays the transform on the graphics device. }} \value{ Structure containing: \item{original}{ original signal. } \item{extrema}{ extrema representation. } \item{Sf}{ coarse resolution of signal. } \item{maxresoln}{ number of decomposition scales. } \item{np}{ size of signal. } } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{mw}}, \code{\link{mrecons}}. } \keyword{ts} Rwave/man/wpl.Rd0000644000176200001440000000055513230422763013211 0ustar liggesusers\name{wpl} \alias{wpl} \title{ Plot Dyadic Wavelet Transform. } \description{ Plot dyadic wavelet transform(output of \code{\link{mw}}). } \usage{ wpl(dwtrans) } \arguments{ \item{dwtrans}{ dyadic wavelet transform (output of \code{\link{mw}}). }} %\value{} %\details{} %\references{} \seealso{ \code{\link{mw}}, \code{\link{ext}},\code{\link{epl}}. } \keyword{ts} Rwave/man/back1.220.Rd0000644000176200001440000000110613230430475013662 0ustar liggesusers\name{back1.220} \alias{back1.220} \title{Acoustic Returns} \description{Acoustic returns from an underwater metallic object. } \usage{data(back1.220) } \format{A vector containing 7936 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(back1.220) plot.ts(back1.220) } \keyword{datasets} Rwave/man/snake.Rd0000644000176200001440000000364413230422763013512 0ustar liggesusers\name{snake} \alias{snake} \title{ Ridge Estimation by Snake Method } \description{ Estimate a ridge from a time-frequency representation, using the snake method. } \usage{ snake(tfrep, guessA, guessB, snakesize=length(guessB), tfspec=numeric(dim(modulus)[2]), subrate=1, temprate=3, muA=1, muB=muA, lambdaB=2 * muB, lambdaA=2 * muA, iteration=1000000, seed=-7, costsub=1, stagnant=20000, plot=TRUE) } \arguments{ \item{tfrep}{ Time-Frequency representation (real valued). } \item{guessA}{ Initial guess for the algorithm (frequency variable). } \item{guessB}{ Initial guess for the algorithm (time variable). } \item{snakesize}{ the length of the initial guess of time variable. } \item{tfspec}{ Estimate for the contribution of the noise to modulus. } \item{subrate}{ Subsampling rate for ridge estimation. } \item{temprate}{ Initial value of temperature parameter. } \item{muA}{ Coefficient of the ridge's derivative in cost function (frequency component). } \item{muB}{ Coefficient of the ridge's derivative in cost function (time component). } \item{lambdaB}{ Coefficient of the ridge's second derivative in cost function (time component). } \item{lambdaA}{ Coefficient of the ridge's second derivative in cost function (frequency component). } \item{iteration}{ Maximal number of moves. } \item{seed}{ Initialization of random number generator. } \item{costsub}{ Subsampling of cost function in output. } \item{stagnant}{ maximum number of steps without move (for the stopping criterion) } \item{plot}{ when set (by default), certain results will be displayed }} \value{ Returns a structure containing: \item{ridge}{1D array (of same length as the signal) containing the ridge.} \item{cost}{1D array containing the cost function.} } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{corona}}, \code{\link{coronoid}}, \code{\link{icm}}, \code{\link{snakoid}}. } \keyword{ts} Rwave/man/Rwave-internal.Rd0000644000176200001440000000157513230422763015310 0ustar liggesusers\name{Undocumented} \alias{PcaRidgeSampling} \alias{RidgeDist} \alias{RidgeIrregSampling} \alias{RunRec} \alias{SampleGen} \alias{Sausage} \alias{SpecGen} \alias{band} \alias{cgtRadar} \alias{cloudXYZ} \alias{confident} \alias{crcirgrec} \alias{crcirrec} \alias{ddw} \alias{dw} \alias{fftshift} \alias{girregrec} \alias{hescrc} \alias{irregrec} \alias{mbpval} \alias{mcgt} \alias{mnpval} \alias{pcacrc} \alias{pcafamily} \alias{pcamaxima} \alias{pcamorwave} \alias{pcarec} \alias{pcaregrec} \alias{pcaridrec} \alias{pcazeroskeleton} \alias{robustrec} \alias{showRadar} \alias{simplepcarec} \alias{vwtTh} \title{Undocumented Functions in Rwave} \description{ Numerous functions were not documented in the original Swave help files. } %\usage{} %\arguments{} %\value{} %\details{} \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } %\seealso{} \keyword{ts} Rwave/man/vgt.Rd0000644000176200001440000000130313230422763013177 0ustar liggesusers\name{vgt} \alias{vgt} \title{ Gabor Transform on one Voice } \description{ Compute Gabor transform for fixed frequency. } \usage{ vgt(input, frequency, scale, plot=FALSE) } \arguments{ \item{input}{ Input signal (1D array). } \item{frequency}{ frequency at which the Gabor transform is to be computed. } \item{scale}{ frequency at which the Gabor transform is to be computed. } \item{plot}{ if set to TRUE, plots the real part of cgt on the graphic device. }} \value{ 1D (complex) array containing Gabor transform at specified frequency. } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{vwt}}, \code{\link{vDOG}}. } \keyword{ts} Rwave/man/signal_W_tilda.6.Rd0000644000176200001440000000111613230424602015457 0ustar liggesusers\name{signal_W_tilda.6} \alias{signal_W_tilda.6} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(signal_W_tilda.6) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(signal_W_tilda.6) plot.ts(signal_W_tilda.6) } \keyword{datasets} Rwave/man/d0.Rd0000644000176200001440000000077713230426432012715 0ustar liggesusers\name{D0} \alias{D0} \title{Transient Signal} \description{Transient signal. } \usage{data(D0) } \format{A vector containing 1024 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(D0) plot.ts(D0) } \keyword{datasets} Rwave/man/amber8.Rd0000644000176200001440000000104313230424353013553 0ustar liggesusers\name{amber8} \alias{amber8} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(amber8) } \format{A vector containing 7000 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(amber8) plot.ts(amber8) } \keyword{datasets} Rwave/man/c0.Rd0000644000176200001440000000100013230424132012663 0ustar liggesusers\name{C0} \alias{C0} \title{Transient Signal} \description{Transient signal. } \usage{data(C0) } \format{A vector containing 1024 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(C0) plot.ts(C0) } \keyword{datasets} Rwave/man/signal_W_tilda.2.Rd0000644000176200001440000000111513230425312015451 0ustar liggesusers\name{signal_W_tilda.2} \alias{signal_W_tilda.2} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(signal_W_tilda.2) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(signal_W_tilda.2) plot.ts(signal_W_tilda.2) } \keyword{datasets} Rwave/man/npl.Rd0000644000176200001440000000041613230422763013174 0ustar liggesusers\name{npl} \alias{npl} \title{ Prepare Graphics Environment } \description{ Splits the graphics device into prescrivbed number of windows. } \usage{ npl(nbrow) } \arguments{ \item{nbrow}{ number of plots. }} %\value{} %\details{} %\references{} %\seealso{} \keyword{ts} Rwave/man/wRidgeSampling.Rd0000644000176200001440000000153313230422763015320 0ustar liggesusers\name{wRidgeSampling} \alias{wRidgeSampling} \title{ Sampling wavelet Ridge } \description{ Given a ridge \eqn{\phi}{phi} (for the wavelet transform), returns a (appropriately) subsampled version with a given subsampling rate. } \usage{ wRidgeSampling(phi, compr, nvoice) } \arguments{ \item{phi}{ ridge (1D array). } \item{compr}{ subsampling rate for the ridge. } \item{nvoice}{ number of voices per octave. }} \value{ Returns a list containing the discrete values of the ridge. \item{node}{time coordinates of the ridge samples.} \item{phinode}{scale coordinates of the ridge samples.} \item{nbnode}{number of nodes of the ridge samples.} } \details{ To account for the variable sizes of wavelets, the sampling rate of a wavelet ridge is not uniform, and is proportional to the scale. } %\references{} \seealso{ \code{\link{RidgeSampling}}. } \keyword{ts} Rwave/man/signal_W_tilda.8.Rd0000644000176200001440000000115013230422763015465 0ustar liggesusers\name{signal_W_tilda.8} \alias{signal_W_tilda.8} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(signal_W_tilda.8) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(signal_W_tilda.8) plot.ts(signal_W_tilda.8) } \keyword{datasets} Rwave/man/dwinverse.Rd0000644000176200001440000000114713230422763014413 0ustar liggesusers\name{dwinverse} \alias{dwinverse} \title{ Inverse Dyadic Wavelet Transform } \description{ Invert the dyadic wavelet transform. } \usage{ dwinverse(wt, filtername="Gaussian1") } \arguments{ \item{wt}{ dyadic wavelet transform } \item{filtername}{ filters used. ("Gaussian1" stands for the filters corresponds to those of Mallat and Zhong's wavlet. And "Haar" stands for the filters of Haar basis. }} \value{ Reconstructed signal } %\details{} \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{mw}}, \code{\link{ext}}, \code{\link{mrecons}}. } \keyword{ts} Rwave/man/fastgkernel.Rd0000644000176200001440000000237313230422763014714 0ustar liggesusers\name{fastgkernel} \alias{fastgkernel} \title{ Kernel for Reconstruction from Gabor Ridges } \description{ Computes the cost from the sample of points on the estimated ridge and the matrix used in the reconstruction of the original signal, using simple trapezoidal rule for integrals. } \usage{ fastgkernel(node, phinode, freqstep, scale, x.inc=1, x.min=node[1], x.max=node[length(node)], plot=FALSE) } \arguments{ \item{node}{ values of the variable b for the nodes of the ridge } \item{phinode}{ values of the frequency variable \eqn{\omega} for the nodes of the ridge } \item{freqstep}{ sampling rate for the frequency axis } \item{scale}{ size of the window } \item{x.inc}{ step unit for the computation of the kernel. } \item{x.min}{ minimal value of x for the computation of \eqn{G_2}. } \item{x.max}{ maximal value of x for the computation of \eqn{G_2}. } \item{plot}{ if set to TRUE, displays the modulus of the matrix of \eqn{G_2}. }} \value{ matrix of the \eqn{G_2} kernel. } \details{ Uses trapezoidal rule (instead of Romberg's method) to evaluate the kernel. } \references{ See discussions in the text of ``Time-Frequency Analysis''. } \seealso{ \code{\link{gkernel}}, \code{\link{fastkernel}}, \code{\link{rkernel}}, \code{\link{zerokernel}}. } \keyword{ts} Rwave/man/plotwt.Rd0000644000176200001440000000132013230422763013727 0ustar liggesusers\name{plotwt} \alias{plotwt} \title{ Plot Dyadic Wavelet Transform } \description{ Plot dyadic wavelet transform. } \usage{ plotwt(original, psi, phi, maxresoln, scale=FALSE, yaxtype="s") } \arguments{ \item{original}{ input signal. } \item{psi}{ dyadic wavelet transform. } \item{phi}{ scaling function transform at last resolution. } \item{maxresoln}{ number of decomposition scales. } \item{scale}{ when set, the wavelet transform at each scale is plotted with the same scale. } \item{yaxtype}{ axis type (see \R manual). }} %\value{} %\details{} \references{ See discussions in the text of \dQuote{Time-Frequency Analysis}. } \seealso{ \code{\link{plotResult}}, \code{\link{epl}}, \code{\link{wpl}}. } \keyword{ts} Rwave/man/backscatter.1.000.Rd0000644000176200001440000000112413230423610015313 0ustar liggesusers\name{backscatter.1.000} \alias{backscatter.1.000} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(backscatter.1.000) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(backscatter.1.000) plot.ts(backscatter.1.000) } \keyword{datasets} Rwave/man/sig_W_tilda.3.Rd0000644000176200001440000000107713230425465014777 0ustar liggesusers\name{sig_W_tilda.3} \alias{sig_W_tilda.3} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(sig_W_tilda.3) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(sig_W_tilda.3) plot.ts(sig_W_tilda.3) } \keyword{datasets} Rwave/man/skeleton2.Rd0000644000176200001440000000217213230422763014312 0ustar liggesusers\name{skeleton2} \alias{skeleton2} \title{ Reconstruction from Dual Wavelet } \description{ Computes the reconstructed signal from the ridge in the case of real constraints. } \usage{ skeleton2(cwtinput, Qinv, morvelets, bridge, aridge, N) } \arguments{ \item{cwtinput}{ continuous wavelet transform (as the output of cwt). } \item{Qinv}{ inverse of the reconstruction kernel (2D array). } \item{morvelets}{ array of Morlet wavelets located at the ridge samples. } \item{bridge}{ time coordinates of the ridge samples. } \item{aridge}{ scale coordinates of the ridge samples. } \item{N}{ size of reconstructed signal. }} \value{ Returns a list of the elements of the reconstruction of a signal from sample points of a ridge \item{sol}{reconstruction from a ridge.} \item{A}{matrix of the inner products.} \item{lam}{coefficients of dual wavelets in reconstructed signal. They are the Lagrange multipliers \eqn{\lambda}{lambda}'s of the text.} \item{dualwave}{array containing the dual wavelets.} } %\details{} \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{skeleton}}. } \keyword{ts} Rwave/man/a4.Rd0000644000176200001440000000077713230423646012722 0ustar liggesusers\name{A4} \alias{A4} \title{Transient Signal} \description{Transient signal. } \usage{data(A4) } \format{A vector containing 1024 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(A4) plot.ts(A4) } \keyword{datasets} Rwave/man/gridrec.Rd0000644000176200001440000000325213230422763014023 0ustar liggesusers\name{gridrec} \alias{gridrec} \title{ Reconstruction from a Ridge } \description{ Reconstructs signal from sample of a ridge, in the Gabor case. } \usage{ gridrec(gtinput, node, phinode, nvoice, freqstep, scale, Qinv, epsilon, np, real=FALSE, check=FALSE) } \arguments{ \item{gtinput}{ Gabor transform, output of \code{\link{cgt}}. } \item{node}{ time coordinates of the ridge samples. } \item{phinode}{ frequency coordinates of the ridge samples. } \item{nvoice}{ number of different frequencies. } \item{freqstep}{ sampling rate for the frequency axis. } \item{scale}{ scale of the window. } \item{Qinv}{ inverse of the matrix \eqn{Q} of the quadratic form. } \item{epsilon}{ coefficient of the \eqn{Q_2} term in reconstruction kernel } \item{np}{ number of samples of the reconstructed signal. } \item{real}{ if set to TRUE, uses only constraints on the real part of the transform. } \item{check}{ if set to TRUE, computes \code{\link{cgt}} of reconstructed signal. }} \value{ Returns a list containing the reconstructed signal and the chained ridges. \item{sol}{ reconstruction from a ridge. } \item{A}{ matrix. } \item{lam}{ coefficients of dual gaborlets in reconstructed signal. } \item{dualwave}{ array containing the dual gaborlets. } \item{gaborets}{ array of gaborlets located on the ridge samples. } \item{solskel}{ Gabor transform of sol, restricted to the ridge. } \item{inputskel}{ Gabor transform of signal, restricted to the ridge. }} %\details{} \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{sridrec}}, \code{\link{gregrec}}, \code{\link{regrec}}, \code{\link{regrec2}}. } \keyword{ts} Rwave/man/W_tilda.4.Rd0000644000176200001440000000110513230422763014124 0ustar liggesusers\name{W_tilda.4} \alias{W_tilda.4} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(W_tilda.4) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(W_tilda.4) plot.ts(W_tilda.4) } \keyword{datasets} Rwave/man/click.asc.Rd0000644000176200001440000000105313230430202014216 0ustar liggesusers\name{click.asc} \alias{click.asc} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(click.asc) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(click.asc) plot.ts(click.asc) } \keyword{datasets} Rwave/man/ridrec.Rd0000644000176200001440000000321213230422763013650 0ustar liggesusers\name{ridrec} \alias{ridrec} \title{ Reconstruction from a Ridge } \description{ Reconstructs signal from sample of a ridge, in the wavelet case. } \usage{ ridrec(cwtinput, node, phinode, noct, nvoice, Qinv, epsilon, np, w0=2 * pi, check=FALSE, real=FALSE) } \arguments{ \item{cwtinput}{ wavelet transform, output of \code{\link{cwt}}. } \item{node}{ time coordinates of the ridge samples. } \item{phinode}{ scale coordinates of the ridge samples. } \item{noct}{ number of octaves (powers of 2). } \item{nvoice}{ number of different scales per octave. } \item{Qinv}{ inverse of the matrix \eqn{Q} of the quadratic form. } \item{epsilon}{ coefficient of the \eqn{Q_2} term in reconstruction kernel } \item{np}{ number of samples of the reconstructed signal. } \item{w0}{ central frequency of Morlet wavelet. } \item{check}{ if set to TRUE, computes \code{\link{cwt}} of reconstructed signal. } \item{real}{ if set to TRUE, uses only constraints on the real part of the transform. }} \value{ Returns a list containing the reconstructed signal and the chained ridges. \item{sol}{reconstruction from a ridge} \item{A}{ matrix } \item{lam}{coefficients of dual wavelets in reconstructed signal.} \item{dualwave}{array containing the dual wavelets.} \item{morvelets}{array of morlet wavelets located on the ridge samples.} \item{solskel}{wavelet transform of sol, restricted to the ridge} \item{inputskel}{wavelet transform of signal, restricted to the ridge} } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{sridrec}}, \code{\link{regrec}}, \code{\link{regrec2}}. } \keyword{ts} Rwave/man/corona.Rd0000644000176200001440000000357513230422763013675 0ustar liggesusers\name{corona} \alias{corona} \title{ Ridge Estimation by Corona Method } \description{ Estimate a (single) ridge from a time-frequency representation, using the corona method. } \usage{ corona(tfrep, guess, tfspec=numeric(dim(tfrep)[2]), subrate=1, temprate=3, mu=1, lambda=2 * mu, iteration=1000000, seed=-7, stagnant=20000, costsub=1, plot=TRUE) } \arguments{ \item{tfrep}{ Time-Frequency representation (real valued). } \item{guess}{ Initial guess for the algorithm. } \item{tfspec}{ Estimate for the contribution of the noise to modulus. } \item{subrate}{ Subsampling rate for ridge estimation. } \item{temprate}{ Initial value of temperature parameter. } \item{mu}{ Coefficient of the ridge's second derivative in cost function. } \item{lambda}{ Coefficient of the ridge's derivative in cost function. } \item{iteration}{ Maximal number of moves. } \item{seed}{ Initialization of random number generator. } \item{stagnant}{ Maximum number of stationary iterations before stopping. } \item{costsub}{ Subsampling of cost function in output. } \item{plot}{ When set(default), some results will be shown on the display. }} \value{ Returns the estimated ridge and the cost function. \item{ridge}{ 1D array (of same length as the signal) containing the ridge. } \item{cost}{ 1D array containing the cost function. } } \details{ To accelerate convergence, it is useful to preprocess modulus before running annealing method. Such a preprocessing (smoothing and subsampling of modulus) is implemented in \code{\link{corona}}. The parameter subrate specifies the subsampling rate. } \references{ See discussion in text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{icm}},\code{\link{coronoid}},\code{\link{snake}}, \code{\link{snakoid}}. } \keyword{ts} \section{Warning}{ The returned cost may be a large array, which is time consuming. The argument costsub allows subsampling the cost function. } Rwave/man/vwt.Rd0000644000176200001440000000107413230422763013224 0ustar liggesusers\name{vwt} \alias{vwt} \title{ Voice Wavelet Transform } \description{ Compute Morlet's wavelet transform at one scale. } \usage{ vwt(input, scale, w0=2 * pi) } \arguments{ \item{input}{ Input signal (1D array). } \item{scale}{ Scale at which the wavelet transform is to be computed. } \item{w0}{ Center frequency of the wavelet. }} \value{ 1D (complex) array containing wavelet transform at one scale. } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{vgt}}, \code{\link{vDOG}}. } \keyword{ts} Rwave/man/scrcrec.Rd0000644000176200001440000000241213230422763014025 0ustar liggesusers\name{scrcrec} \alias{scrcrec} \title{ Simple Reconstruction from Crazy Climbers Ridges } \description{ Reconstructs signal from ridges obtained by \code{\link{crc}}, using the restriction of the transform to the ridge. } \usage{ scrcrec(siginput, tfinput, beemap, bstep=5, ptile=0.01, plot=2) } \arguments{ \item{siginput}{ input signal. } \item{tfinput}{ time-frequency representation (output of \code{\link{cwt}} or \code{\link{cgt}}. } \item{beemap}{ output of crazy climber algorithm } \item{bstep}{ used for the chaining (see \code{\link{cfamily}}). } \item{ptile}{ threshold on the measure beemap (see \code{\link{cfamily}}). } \item{plot}{ 1: displays signal,components, and reconstruction one after another.\cr 2: displays signal, components and reconstruction.\cr Else, no plot. }} \value{ Returns a list containing the reconstructed signal and the chained ridges. \item{rec}{reconstructed signal} \item{ordered}{image of the ridges (with different colors)} \item{comp}{2D array containing the signals reconstructed from ridges} } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{crc}},\code{\link{cfamily}} for crazy climbers method, \code{\link{crcrec}} for reconstruction methods. } \keyword{ts} Rwave/man/smoothts.Rd0000644000176200001440000000062613230422763014266 0ustar liggesusers\name{smoothts} \alias{smoothts} \title{ Smoothing Time Series } \description{ Smooth a time series by averaging window. } \usage{ smoothts(ts, windowsize) } \arguments{ \item{ts}{ Time series. } \item{windowsize}{ Length of smoothing window. }} \value{ Smoothed time series (1D array). } %\details{} \references{ See discussions in the text of \dQuote{Time-Frequency Analysis}. } %\seealso{} \keyword{ts} Rwave/man/vecmorlet.Rd0000644000176200001440000000124613230422763014405 0ustar liggesusers\name{vecmorlet} \alias{vecmorlet} \title{ Morlet Wavelets on a Ridge } \description{ Generate Morlet wavelets at specified positions on a ridge. } \usage{ vecmorlet(sigsize, nbnodes, bridge, aridge, w0=2 * pi) } \arguments{ \item{sigsize}{ Signal size. } \item{nbnodes}{ Number of wavelets to be generated. } \item{bridge}{ b coordinates of the ridge samples (1D array of length nbnodes). } \item{aridge}{ a coordinates of the ridge samples (1D array of length nbnodes). } \item{w0}{ Center frequency of the wavelet. }} \value{ 2D (complex) array containing wavelets located at the specific points. } %\details{} %\references{} \seealso{ \code{\link{vecgabor}}. } \keyword{ts} Rwave/man/chirpm5db.dat.Rd0000644000176200001440000000106513230430341015017 0ustar liggesusers\name{chirpm5db.dat} \alias{chirpm5db.dat} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(chirpm5db.dat) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ \dontrun{ data(chirpm5db.dat) } } \keyword{datasets} Rwave/man/rkernel.Rd0000644000176200001440000000236113230422763014046 0ustar liggesusers\name{rkernel} \alias{rkernel} \title{ Kernel for Reconstruction from Wavelet Ridges } \description{ Computes the cost from the sample of points on the estimated ridge and the matrix used in the reconstruction of the original signal, in the case of real constraints. Modification of the function \code{\link{kernel}}. } \usage{ rkernel(node, phinode, nvoice, x.inc=1, x.min=node[1], x.max=node[length(node)], w0=2 * pi, plot=FALSE) } \arguments{ \item{node}{ values of the variable b for the nodes of the ridge. } \item{phinode}{ values of the scale variable a for the nodes of the ridge. } \item{nvoice}{ number of scales within 1 octave. } \item{x.inc}{ step unit for the computation of the kernel. } \item{x.min}{ minimal value of x for the computation of \eqn{Q_2}. } \item{x.max}{ maximal value of x for the computation of \eqn{Q_2}. } \item{w0}{ central frequency of the wavelet. } \item{plot}{ if set to TRUE, displays the modulus of the matrix of \eqn{Q_2}. }} \value{ matrix of the \eqn{Q_2} kernel } \details{ Uses Romberg's method for computing the kernel. } \references{ See discussions in the text of "Time-Frequency Analysis". } \seealso{ \code{\link{kernel}}, \code{\link{fastkernel}}, \code{\link{gkernel}}, \code{\link{zerokernel}}. } \keyword{ts} Rwave/man/crfview.Rd0000644000176200001440000000115213230422763014046 0ustar liggesusers\name{crfview} \alias{crfview} \title{ Display chained ridges } \description{ displays a family of chained ridges, output of \code{\link{cfamily}}. } \usage{ crfview(beemap, twod=TRUE) } \arguments{ \item{beemap}{ Family of chained ridges, output of \code{\link{cfamily}}. } \item{twod}{ If set to T, displays the ridges as an image. If set to F, displays as a series of curves. }} %\value{} %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{crc}},\code{\link{cfamily}} for crazy climbers and corresponding chaining algorithms. } \keyword{ts} Rwave/man/mbtrim.Rd0000644000176200001440000000213213230422763013672 0ustar liggesusers\name{mbtrim} \alias{mbtrim} \title{ Trim Dyadic Wavelet Transform Extrema } \description{ Trimming of dyadic wavelet transform local extrema, using bootstrapping. } \usage{ mbtrim(extrema, scale=FALSE, prct=0.95) } \arguments{ \item{extrema}{ dyadic wavelet transform extrema (output of \code{\link{ext}}). } \item{scale}{ when set, the wavelet transform at each scale will be plotted with the same scale. } \item{prct}{percentage critical value used for thresholding} } \value{ Structure containing \item{original}{ original signal. } \item{extrema}{ trimmed extrema representation. } \item{Sf}{ coarse resolution of signal. } \item{maxresoln}{ number of decomposition scales. } \item{np}{ size of signal. }} \details{ The distribution of extrema of dyadic wavelet transform at each scale is generated by bootstrap method, and the 95\% critical value is used for thresholding the extrema of the signal. } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{mntrim}}, \code{\link{mrecons}}, \code{\link{ext}}. } \keyword{ts} Rwave/man/pixel_8.9.Rd0000644000176200001440000000105313230426171014115 0ustar liggesusers\name{pixel_8.9} \alias{pixel_8.9} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(pixel_8.9) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(pixel_8.9) plot.ts(pixel_8.9) } \keyword{datasets} Rwave/man/ch.Rd0000644000176200001440000000077213230430434012774 0ustar liggesusers\name{ch} \alias{ch} \title{Chen's Chirp} \description{Chen's chirp. } \usage{data(ch) } \format{A vector containing 15,000 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(ch) plot.ts(ch) } \keyword{datasets} Rwave/man/Ekg.Rd0000644000176200001440000000105013230422763013104 0ustar liggesusers\name{Ekg} \alias{Ekg} \title{Heart Rate Data} \description{Successive beat-to-beat intervals for a normal patient. } \usage{data(Ekg) } \format{A vector containing 16,042 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(Ekg) plot.ts(Ekg) } \keyword{datasets} Rwave/man/W_tilda.8.Rd0000644000176200001440000000110713230422763014132 0ustar liggesusers\name{W_tilda.8} \alias{W_tilda.8} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(W_tilda.8) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942), eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(W_tilda.8) plot.ts(W_tilda.8) } \keyword{datasets} Rwave/man/zeroskeleton.Rd0000644000176200001440000000250313230422763015126 0ustar liggesusers\name{zeroskeleton} \alias{zeroskeleton} \title{ Reconstruction from Dual Wavelets } \description{ Computes the the reconstructed signal from the ridge when the epsilon parameter is set to zero } \usage{ zeroskeleton(cwtinput, Qinv, morvelets, bridge, aridge, N) } \arguments{ \item{cwtinput}{ continuous wavelet transform (as the output of \code{\link{cwt}}). } \item{Qinv}{ inverse of the reconstruction kernel (2D array). } \item{morvelets}{ array of Morlet wavelets located at the ridge samples. } \item{bridge}{ time coordinates of the ridge samples. } \item{aridge}{ scale coordinates of the ridge samples. } \item{N}{ size of reconstructed signal. }} \value{ Returns a list of the elements of the reconstruction of a signal from sample points of a ridge \item{sol}{reconstruction from a ridge.} \item{A}{matrix of the inner products.} \item{lam}{coefficients of dual wavelets in reconstructed signal. They are the Lagrange multipliers \eqn{\lambda}{lambda}'s of the text.} \item{dualwave}{array containing the dual wavelets.} } \details{ The details of this reconstruction are the same as for the function skeleton. They can be found in the text } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{skeleton}}, \code{\link{skeleton2}}, \code{\link{zeroskeleton2}}. } \keyword{ts} Rwave/man/sig_W_tilda.4.Rd0000644000176200001440000000107713230425417014775 0ustar liggesusers\name{sig_W_tilda.4} \alias{sig_W_tilda.4} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(sig_W_tilda.4) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(sig_W_tilda.4) plot.ts(sig_W_tilda.4) } \keyword{datasets} Rwave/man/RidgeSampling.Rd0000644000176200001440000000125213230422763015127 0ustar liggesusers\name{RidgeSampling} \alias{RidgeSampling} \title{ Sampling Gabor Ridge } \description{ Given a ridge phi (for the Gabor transform), returns a (regularly) subsampled version of length nbnodes. } \usage{ RidgeSampling(phi, nbnodes) } \arguments{ \item{phi}{ ridge (1D array). } \item{nbnodes}{ number of samples. }} \value{ Returns a list containing the discrete values of the ridge. \item{node}{ time coordinates of the ridge samples. } \item{phinode}{ frequency coordinates of the ridge samples. }} \details{ Gabor ridges are sampled uniformly. } \references{ See discussions in the text of "Time-Frequency Analysis''. } \seealso{ \code{\link{wRidgeSampling}}. } \keyword{ts} Rwave/man/gkernel.Rd0000644000176200001440000000220113230422763014024 0ustar liggesusers\name{gkernel} \alias{gkernel} \title{ Kernel for Reconstruction from Gabor Ridges } \description{ Computes the cost from the sample of points on the estimated ridge and the matrix used in the reconstruction of the original signal. } \usage{ gkernel(node, phinode, freqstep, scale, x.inc=1, x.min=node[1], x.max=node[length(node)], plot=FALSE) } \arguments{ \item{node}{ values of the variable b for the nodes of the ridge. } \item{phinode}{ values of the scale variable a for the nodes of the ridge. } \item{freqstep}{ sampling rate for the frequency axis. } \item{scale}{ size of the window. } \item{x.inc}{ step unit for the computation of the kernel. } \item{x.min}{ minimal value of x for the computation of \eqn{Q_2}. } \item{x.max}{ maximal value of x for the computation of \eqn{Q_2}. } \item{plot}{ if set to TRUE, displays the modulus of the matrix of \eqn{Q_2}. }} \value{ matrix of the \eqn{Q_2} kernel } %\details{} \references{ See discussions in the text of ``Time-Frequency Analysis''. } \seealso{ \code{\link{fastgkernel}}, \code{\link{kernel}}, \code{\link{rkernel}}, \code{\link{fastkernel}}, \code{\link{zerokernel}}. } \keyword{ts} Rwave/man/a0.Rd0000644000176200001440000000077713230423676012721 0ustar liggesusers\name{A0} \alias{A0} \title{Transient Signal} \description{Transient signal. } \usage{data(A0) } \format{A vector containing 1024 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(A0) plot.ts(A0) } \keyword{datasets} Rwave/man/yendiff.Rd0000644000176200001440000000104113230427773014030 0ustar liggesusers\name{yendiff} \alias{yendiff} \title{Pixel from Amber Camara} \description{Pixel from amber camara. } \usage{data(yendiff) } \format{A vector containing observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(yendiff) plot.ts(yendiff) } \keyword{datasets} Rwave/man/d4.Rd0000644000176200001440000000077713230426410012715 0ustar liggesusers\name{D4} \alias{D4} \title{Transient Signal} \description{Transient signal. } \usage{data(D4) } \format{A vector containing 1024 observations. } \source{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \references{ Carmona, R. A., W. L. Hwang and B Torresani (1998, eBook ISBN:978008053942) \emph{Practical Time-Frequency Analysis: Gabor and Wavelet Transforms with an Implementation in S}, Academic Press, San Diego. } \examples{ data(D4) plot.ts(D4) } \keyword{datasets} Rwave/man/gwave.Rd0000644000176200001440000000145413230422763013517 0ustar liggesusers\name{gwave} \alias{gwave} \title{ Gabor Functions on a Ridge } \description{ Generation of Gabor functions located on the ridge. } \usage{ gwave(bridge, omegaridge, nvoice, freqstep, scale, np, N) } \arguments{ \item{bridge}{ time coordinates of the ridge samples } \item{omegaridge}{ frequency coordinates of the ridge samples } \item{nvoice}{ number of different scales per octave } \item{freqstep}{ sampling rate for the frequency axis } \item{scale}{ scale of the window } \item{np}{ size of the reconstruction kernel } \item{N}{ number of complex constraints }} \value{ Array of Gabor functions located on the ridge samples } %\details{} \references{ See discussions in the text of "Time-Frequency Analysis''. } \seealso{ \code{\link{gwave2}}, \code{\link{morwave}}, \code{\link{morwave2}}. } \keyword{ts} Rwave/man/tfpct.Rd0000644000176200001440000000126113230422763013522 0ustar liggesusers\name{tfpct} \alias{tfpct} \title{ Percentile frequency by frequency } \description{ Compute a percentile of time-frequency representation frequency by frequency. } \usage{ tfpct(input, percent=0.8, plot=TRUE) } \arguments{ \item{input}{ time-frequency transform (output of \code{\link{cwt}} or \code{\link{cgt}}). } \item{percent}{ percentile to be retained. } \item{plot}{ if set to T, displays the values of the energy as a function of the scale (or frequency). }} \value{ 1D array containing the noise estimate. } %\details{} \references{ See discussions in the text of \dQuote{Practical Time-Frequency Analysis}. } \seealso{ \code{\link{tfmean}},\code{\link{tfvar}}. } \keyword{ts} Rwave/man/cwtimage.Rd0000644000176200001440000000204413230422763014202 0ustar liggesusers\name{cwtimage} \alias{cwtimage} \title{ Continuous Wavelet Transform Display } \description{ Converts the output (modulus or argument) of cwtpolar to a 2D array and displays on the graphic device. } \usage{ cwtimage(input) } \arguments{ \item{input}{ 3D array containing a continuous wavelet transform }} \value{ 2D array continuous (complex) wavelet transform } \details{ The output contains the (complex) values of the wavelet transform of the input signal. The format of the output can be % format of the input?? 2D array (signal\_size x nb\_scales) 3D array (signal\_size x noctave x nvoice) } \references{ See discussions in the text of ``Practical Time-Frequency Analysis''. } \seealso{ \code{\link{cwtpolar}}, \code{\link{cwt}}, \code{\link{DOG}}. } \examples{ x <- 1:512 chirp <- sin(2*pi * (x + 0.002 * (x-256)^2 ) / 16) retChirp <- cwt(chirp, noctave=5, nvoice=12, twoD=FALSE, plot=FALSE) retPolar <- cwtpolar(retChirp) retImageMod <- cwtimage(retPolar$modulus) retImageArg <- cwtimage(retPolar$argument) } \keyword{ts}