From bbbd77a0e3f62d05e0860f18a30d535594cd9402 Mon Sep 17 00:00:00 2001 From: asterakin Date: Tue, 5 Jul 2016 10:45:48 -0700 Subject: [PATCH] displays possible constants if wrong constant is chosen. gui has msgbox for name conversion, viewer gui cleaned up, and save clist option. gitignore to ignore ~m files. --- .gitignore | 10 + batch/BatchSuperSeggerOpti.m~ | 347 ----------------------- batch/processExp.m~ | 117 -------- batch/superSeggerGui.fig | Bin 45867 -> 46551 bytes batch/superSeggerGui.m | 27 +- frameLink/errorRez.m~ | 465 ------------------------------- frameLink/trackOptiStripSmall.m~ | 136 --------- settings/loadConstants.m | 15 +- viz/superSeggerViewerGui.fig | Bin 1248366 -> 1248720 bytes viz/superSeggerViewerGui.m | 20 +- 10 files changed, 62 insertions(+), 1075 deletions(-) create mode 100644 .gitignore delete mode 100644 batch/BatchSuperSeggerOpti.m~ delete mode 100644 batch/processExp.m~ delete mode 100644 frameLink/errorRez.m~ delete mode 100644 frameLink/trackOptiStripSmall.m~ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d2229ed --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +emove autosaves generated by the Matlab editor +## We have git for backups! +##--------------------------------------------------- + +# Windows default autosave extension +*.asv + +# OSX / *nix default autosave extension +*.m~ + diff --git a/batch/BatchSuperSeggerOpti.m~ b/batch/BatchSuperSeggerOpti.m~ deleted file mode 100644 index dbc396f..0000000 --- a/batch/BatchSuperSeggerOpti.m~ +++ /dev/null @@ -1,347 +0,0 @@ -function BatchSuperSeggerOpti(dirname_,skip,clean_flag,res,startEnd,showWarnings) -% BatchSuperSeggerOpti : runs everything from start to finish, -% including alignment, building the directory structure, -%single image segmentation, error resolution, cell linking, -% fluorescence analysis, and cell files. -% -% Processes a raw data set by -% (1) Aligning and cropping time series -% (2) Organizing files into directories -% xy points are put in their own dir's -% phase, fluor files put in their own dir's -% makes seg and cell directories -% (3) Segmenting the frames into cell regions -% (4) Linking the regions between time steps -% (5) finding loci and calculating fluor statistics -% (6) Putting complete cells into the cell dir. -% -% INPUT : -% dirname_ : dir containing raw tif files -% skip : The segmentation is performed every skip files -% : this skip is very useful for high frequency timelapse where -% : cells would switch back and forth between one and two -% : segments leading to errors that are difficult to resolve. -% : This segments every skip files, then copies the segments into -% : the intermediate frames. -% clean_flag : Set this to be true to start from scratch and reseg all the -% : files regardless of whether any seg files exist. If this -% : flag is false, use existing segments, if they exist and -% : new segs if they don't yet exist. -% res : is a string that is passed to loadConstants(Mine).m to load -% : the right constants for processing. -% SEGMENT_FLAG : to segment cells -% ONLY_SEG : if true it does not run trackOpti (does only the segmentation) -% showWarnings : Set to 0 to mute warnings -% startEnd : array of two values to indicate where to start and where to -% stop the program. 1, alignment, 2, segmentation, 3, stripping, 4 linking, -% 5, cell marker, 6, cellA structrues, 7, clist, 8 cell files. -% -% Copyright (C) 2016 Wiggins Lab -% Written by Paul Wiggins & Stella Stylianidou. -% University of Washington, 2016 -% This file is part of SuperSegger. - -% SuperSegger is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% SuperSegger is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with SuperSegger. If not, see . - -% Init - -if (nargin < 1) || isempty( dirname_ ) || strcmp(dirname_ ,'.') - dirname_ = pwd; -end -dirname_ = fixDir(dirname_); - -if nargin < 2 || isempty( skip ) - skip = 1; % default : don't skip frames -end - -if nargin < 3 || isempty( clean_flag ) - clean_flag = 0; % default : don't resegment frames if segmented. -end - -if nargin < 4 || isempty( res ) - res = []; -end - - -if ~exist( 'startEnd', 'var' ) || isempty( startEnd ) - startEnd = [NaN NaN]; -end - -if ~exist( 'showWarnings', 'var' ) || isempty( showWarnings ) - showWarnings = 1; -end - -%if you pass a res value, write over CONST values. If it isn't passed, -% use existing values, if they exist. If not, load the default values. -if isstruct(res) - CONST = res; -else - disp (['BatchSuperSeggerOpti : Loading constants file ', res]); - if exist('loadConstantsMine','file'); - CONST = loadConstantsMine(res); - else - CONST = loadConstants(res,0); - end -end - - -if clean_flag && SEGMENT_FLAG && showWarnings - try - disp ('Clean flag is set to true.') - answer=input('Do you want to continue, Y/N [Y]:','s'); - if lower(answer) ~='y' - disp ('Exiting BatchSuperSegger. Reset clean flag and rerun'); - return - end - catch - % can not use input - in eval mode - end -end - -% align frames -if exist( dirname_, 'dir' ) && startEnd(1) <=1 - if exist( [dirname_,filesep,'raw_im'] ,'dir') && ... - (numel(dir ([dirname_,filesep,'raw_im',filesep,'*.tif'])) || ... - exist([dirname_,filesep,'raw_im',filesep,'cropbox.mat'],'file')) - disp('BatchSuperSeggerOpti : images already aligned'); - if exist([dirname_,filesep,'raw_im',filesep,'cropbox.mat'],'file') - tmp = load( [dirname_,filesep,'raw_im',filesep,'cropbox.mat'] ); - crop_box_array = tmp.crop_box_array; - else - crop_box_array = cell(1,10000); - end - elseif numel(dir ([dirname_,filesep,'*.tif'])) - % check naming convention - if ~isRightNameFormat(dirname_) - disp('Images in incorrect naming format. Using convertImageNames to convert names.') - convertImageNames(dirname_) - end - - mkdir( [dirname_,filesep,'raw_im'] ); - if CONST.align.ALIGN_FLAG - crop_box_array = trackOptiAlignPad( dirname_,... - CONST.parallel.parallel_pool_num, CONST); - movefile( [dirname_,filesep,'*.tif'], [dirname_,filesep,'raw_im'] ) % moves images to raw_im - movefile( [dirname_,'align',filesep,'*.tif'], [dirname_,filesep]); % moves aligned back to main folder - rmdir( [dirname_,'align'] ); % removes _align directory - else - crop_box_array = cell(1,10000); - end - else - error('No images found'); - end -else - error(['BatchSuperSeggerOpti : Can''t find directory ''',dirname_,'''. Exiting.'] ); -end - - -% setups the dir structure for analysis. -trackOptiPD(dirname_, CONST); -save( [dirname_,'CONST.mat'],'-STRUCT', 'CONST' ); % Saves CONST set you used. -save( [dirname_,'raw_im',filesep,'cropbox.mat'], 'crop_box_array' ); - -% Loop through xy directories -% Reset n values in case directories have already been made. -% setup nxy values -contents = dir([dirname_,'xy*']); - -if isempty(contents) - disp('BSSO: No xy directories were found.'); -else - num_dir_tmp = numel(contents); - nxy = []; - num_xy = 0; - - for i = 1:num_dir_tmp - if (contents(i).isdir) && (numel(contents(i).name) > 2) - num_xy = num_xy+1; - nxy = [nxy, str2num(contents(i).name(3:end))]; - dirname_list{i} = [dirname_,contents(i).name,filesep]; - end - end - - % set values for nc (array of channels (phase and fluorescent)) - contents = dir([dirname_list{1},'fluor*']); - num_dir_tmp = numel(contents); - nc = 1; - num_c = 1; - - for i = 1:num_dir_tmp - if (contents(i).isdir) && (numel(contents(i).name) > numel('fluor')) - num_c = num_c+1; - nc = [nc, str2num(contents(i).name(numel('fluor')+1:end))+1]; - end - end - - - % Set up parallel loop for each xy point if more than one xy position - % exists. If not more than one xy, we will parallelize inner loops - if (num_xy>1) && (CONST.parallel.parallel_pool_num>0) - workers = CONST.parallel.parallel_pool_num; - CONST.parallel.parallel_pool_num = 0; - else - workers=0; - end - - if workers || ~CONST.parallel.show_status - h = []; - else - h = waitbar( 0, ['Data segmentation xy: 0/',num2str(num_xy)] ); - cleanup = onCleanup( @()( delete( h ) ) ); - end - - parfor(j = 1:num_xy,workers) - %for j = 1:num_xy - - dirname_xy = dirname_list{j}; - intProcessXY( dirname_xy, skip, nc, num_c, clean_flag, ... - CONST, startEnd, crop_box_array{j}) - - if workers || ~CONST.parallel.show_status - disp( ['BatchSuperSeggerOpti: No status bar. xy ',num2str(j), ... - ' of ', num2str(num_xy),'.']); - else - if isvalid(h) - waitbar( j/num_xy,h,... - ['Data segmentation xy: ',num2str(j),... - '/',num2str(num_xy)]); - end - end - end - - if workers % shutting down parallel pool - poolobj = gcp('nocreate'); - delete(poolobj); - end - - - if ~workers - close(h); - end - -end - -% done! -end - -function intProcessXY( dirname_xy, skip, nc, num_c, clean_flag, ... - CONST, startEnd, crop_box) -% intProcessXY : the details of running the code in parallel. -% Essentially for parallel processing to work, you have to hand each -% processor all the information it needs to process the images. - -% Initialization -file_filter = '*.tif'; -verbose = CONST.parallel.verbose; - -% get header to show xy position -tmp1 = strfind( dirname_xy, 'xy'); -tmp2 = strfind( dirname_xy,[filesep]); - -if ~isempty(tmp1) && ~isempty(tmp2) - header = [dirname_xy(tmp1(end):(tmp2(end)-1)),': ']; -else - header = [dirname_xy]; -end - -% reset nz values -contents=dir([dirname_xy,'phase',filesep,file_filter]); -num_im = numel(contents); - -nz = []; % array of numbers of z frames -nt = []; % array of frame numbers - -for i = 1:num_im; - nameInfo = ReadFileName( contents(i).name ); - nt = [nt, nameInfo.npos(1,1)]; - nz = [nz, nameInfo.npos(4,1)]; -end - -nt = sort(unique(nt)); -nz = sort(unique(nz)); - -num_t = numel(nt); -num_z = numel(nz); - -if isempty(nz) || nz(1)==-1 % no z frames - nz = 1; -end - - -disp([header 'BatchSuperSeggerOpti : Segmenting Cells']); - -if (CONST.parallel.parallel_pool_num>0) - workers = CONST.parallel.parallel_pool_num; % number of workers -else - workers=0; -end - -if ~CONST.parallel.show_status - h = []; -else - h = waitbar( 0, ['BatchSuperSeggerOpti : Frame 0/',num2str(num_t)] ); - cleanup = onCleanup( @()( delete( h ) ) ); -end - -stamp_name = [dirname_xy,'seg',filesep,'.doSegFull']; - -if clean_flag - if exist(stamp_name,'file') - delete(stamp_name) - end - delete([dirname_xy,'seg',filesep,'*seg.mat*']); -end - - -% does the segmentations for all the frames in parallel -if startEnd(1) <= 2 && ~exist( stamp_name, 'file' ) - parfor(i=1:num_t,workers) % through all frames - %for i = 1:num_t - - if isempty( crop_box ) - crop_box_tmp = []; - else - crop_box_tmp = crop_box(i,:); - end - - doSeg(i, nameInfo, nc, nz, nt, num_z, num_c, dirname_xy, ... - skip, CONST, [header,'t',num2str(i),': '], crop_box_tmp); - - if ~CONST.parallel.show_status - if verbose - disp( [header, 'BatchSuperSeggerOpti : Segment. Frame ',num2str(i), ... - ' of ', num2str(num_t),'.']); - end - else - waitbar( i/num_t, h,... - ['Data segmentation t: ',num2str(i),'/',num2str(num_t)]); - end - end - time_stamp = clock; %#ok saved below - save( stamp_name, 'time_stamp'); % saves that xydir was full segmented -end -if CONST.parallel.show_status - if isvalid(h) - close(h); - end -end - -% trackOpti has all the rest of things : Linking, Cell files, Fluorescence calculation etc -if ~ONLY_SEG - trackOpti(dirname_xy,skip,CONST, clean_flag, header); -else - disp ('Only segmentation was set to true - Linking and cell files were not made'); -end -end - diff --git a/batch/processExp.m~ b/batch/processExp.m~ deleted file mode 100644 index c833edf..0000000 --- a/batch/processExp.m~ +++ /dev/null @@ -1,117 +0,0 @@ -function processExp( dirname ) -% processExp : main function for running the segmentation software. -% Used to choose the appropriate settings, and converting the images -% filenames before running BatchSuperSeggerOpti. -% Images need to have the NIS-Elements Format, or they can be converted -% using convertImageNames. -% -% the naming convention of the image files must be of the following format -% time, xy-positions, fluorescence channel, where c1 is bright field -% and c2,c3 etc are different fluorescent channels -% Example of two time points, two xy positions and one fluorescent channel -% filename_t001xy1c1.tif -% filename_t001xy1c2.tif -% filename_t001xy2c1.tif -% filename_t001xy2c2.tif -% filename_t002xy1c1.tif -% filename_t002xy1c2.tif -% filename_t002xy2c1.tif -% filename_t002xy2c2.tif -% -% INPUT : -% dirname : folder that contains .tif images in NIS elements format. -% -% -% Copyright (C) 2016 Wiggins Lab -% Written by Paul Wiggins, Nathan Kuwada, Stella Stylianidou. -% University of Washington, 2016 -% This file is part of SuperSegger. -% -% SuperSegger is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% SuperSegger is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with SuperSegger. If not, see . - -%% Converting other microscopes files -% For example if you are using MicroManager and the file format is the -% followin : date-strain_00000000t_BF.tif, date-strain_00000000t_GFP.tif, -% you can run convertImageNames(dirname, 'whatever_name_you_want', '', 't', -% '','', {'BF','GFP'} ) - -basename = 'date-strain'; -timeFilterBefore ='t'; -timeFilterAfter = '_' ; -xyFilterBefore='_x'; -xyFilterAfter='_'; -channelNames = {'BF','GFP'}; - -convertImageNames(dirname, basename, timeFilterBefore, ... - timeFilterAfter, xyFilterBefore,xyFilterAfter, channelNames ) - -%% Set the segmentations constants for your bacteria and micrscope resolution -% Using correct resolution ensures correct pixel size and segmentation constants -% if you do not know which constants to use you can run -% tryDifferentConstants(dirname) with a phase image to choose. - -% for E. coli we mainly use : -% '60XEc' : loadConstants 60X Ecoli -% '100XEc': loadConstants 100X Ecoli - -% other possible constants are : -% '100XPa' : 100X Pseudemonas -% '60XPa' : 60X Pseudemonas -%' 60XA' : 60X E.coli Aska -% '60XEcLB' : E.coli LB -% '60XPaM','60XPaM2' : for 60X, Pseudomonas Minimal -% '60XBthai' : 60X Thailandensis - -res = '60XEcLB'; - -%% Paralell Processing Mode -% to run code in parallel mode must have the parallel processing toolbox, -% for convenience default is false (non-parallel) - -parallel_flag = true; - -%% Load Constants -CONST = loadConstants(res,parallel_flag) ; - -%% Calculation Options -% after you load the constants you can modify them according to your needs -% for more options, looks at the loadConstants file. - -CONST.trackLoci.numSpots = [0 0]; % Max number of foci to fit in each fluorescence channel (default = [0 0]) -CONST.trackLoci.fluorFlag = false ; % compute integrated fluorescence (default = true) -CONST.trackOpti.NEIGHBOR_FLAG = false; % calculate number of neighbors (default = false) -CONST.imAlign.AlignChannel = 1; % change this if you want the images to be aligned to fluorescence channel - - -%% Skip Frames for Segmentation -% For fast time-lapse or slow growth you can skip phase image frames -% during segmentation to increase processing speed. Fluorescence images -% will not be skipped. - -skip = 1; % segment every frame -%skip = 5; % segment every fifth phase image - -%% Clean previous segmented data -% If set to true, will begin processing on aligned images; if false, will -% try to restart processing at last successful function (default = false) - -cleanflag = false; - - -%% Start running segmentation - -BatchSuperSeggerOpti( dirname, skip, cleanflag, CONST); - - -end diff --git a/batch/superSeggerGui.fig b/batch/superSeggerGui.fig index dacc5f13cd52a5be1990476edcd4a3631bcde1cc..5d546c51962c0dfaa7d8d94f04c1d048021191e0 100644 GIT binary patch literal 46551 zcma%iWmFVU+pUNaqI8HLDc#*5B3(*%cXtdhNQ0zwkAMhBcQex6G4#+40}L?00CRoc z@4NT+J%3KEbJkh=$6k9s&vR6zwN#`((FkyI)2K>oaoE^9S+mo8aWeO^arJN({kJBg zD9F!FBjaIh?qzL7O^5mcWPeW5w z#rro3mV5ThFZYDp(TP~r4_UKVs1S(%qC5F*QJDtK2Yix}!8DEV}ciH;b!ftNTP1?l+ z`>KVOfY31^s1P&|J|4)|`9blhz3?NeIkaA%CDln-dE;f3#()wpfio4a1r~aVaqXPu zT%uV-lcR#yk8lU0S^`z3cQY(PUbUT?hI#co7X?)+@S!J<*L2LqhA}PL7#50EjR-%YG zurU#MXV}y;xfG` z?`v17xb?rUpT}Pf9Va;?M7HwHDnxI|H@}WkQ%GdYqMj#wHy^I};AB5NuJ!sbJ`)fq z8yDLYa4`Ql{~aT%_4c@jd;pavviV_YP>}<`pV40^WJ3x@-=4E~+Jt!!%-;-A{Hon`40Z1`GF_+_ z2!2UE8I6k~iuM6N-^6p%-btr~T(O5d4;_#gd)-@D)^C~?1s?02bWb~ADXsC3v%QK| z$QzurU=ahRm&n(WuljGYS^7@s)jgy%Qu=&59u<_Rju*A+pQrV|VjG*O{<5|H_s#)+ zpt&<0HE5|EkAsH>Yi9G2G#qIn8nmV|^`3j@m9Ozd;Eohwx&d>ddhZ7Jtht#N_vodP zOwhf2X{ja0qCu=TT$qt%QP5Lbfg_-X6<-yXE&jUT#fk>2Wzxv761@z$<5u^HQBpc+ z67{`qhfMKTF#|qz+@Nz;&%|Ss(#Xxqm3dgV7+wbDp{5v~_{DxldvK=>?N5QkN4=R2 zEOrACVBcebt~5yOC}BLFli;ekyXp~cDplg0RT@mqFD0^B80B*NY;1S!v(7i3oJ30S z=3d%Hb4G$oX>8?llA!%ylWZf7+lA1Q^`O9Yf4&9mr)#sjF*JIjc~D3R0@u&o^b~`; z5=cYTO2FSC;dT=e1436x7<+2Dz?p_+{1o@nG7+;*ISA%!c?N8$eeR4FCH3TXHR{Kv zC*joZ7&h?S4!Mt zOwG+?QpnT}Wmhs~OU8T(-e_WjoDc#|F(OD1*GqLSLQ~lR743do&1T3V#CVtWcC*>T zAF85!mt}N6V%C)g`Ga<{4tKTVEzIUq5`gcw{)|;Z@J$ZxlFjS$%1E{@pXRsrv4Do5Ve$CH$j&va^*Pb;Be z=CjpQUWXU3eqp@l%AFwG?-x|hC2kuYe6Ymp_VSl^`S8#K77};jQ}QaSQFm>V`)iW` zJ{1PmS3Q`jN^OLula~j>?xn|8ZHZk#_ufu*(mHTxXw@mIQ`|!&|2?NVry9nR?g?BT zvXg%hh@Z-JD`MNJSKY6D(`*!o)bZb^g+8Pyk(;Ldk}d>|mWSqRs)Xff>OXfE-Je#k zlJoi_qk@`%%YNzlxG!DG%)_j{`=FcZ1MAu_3c<6rcA9ND;<iMICRxB^vN@iBc&U1nUdJ-z3Jj$yQ&vfiKHmQ4MS(*`9E zZr^+?>#SW1HHS2Z?kcC*+N3<2cY3Palf>Bh(=I~~biI;!{lw|1b%2~iiV!GOsm{PC z&nTgQ5A<%U2tDgIvljBFaO1|~EF--0OV07{=l!)fe6<+bzl3!Z==>ex8brK#*i2Op z`sO|;5sonmMpV+wDu|-^#CnAp?X~E$%WA`_SpWs$+$%>3;se7h>DM*Vvs-OuT(FiU z7mFoEET}fx9R}tOn^-S^6lC57N56cT2QK7e=PET;dVWdb6*7qiz9q0S<#SWg3_L3i zJK-y_>_FK_D&E_!vhAc$Uk>5rJ-=g_Hr0Lj6D2P>c>3scz#`_0nYRxXLmkJ#w3g>5 zC0$z2g!yczW1yR>O^t`PXKUlG9TWEZzt-0n7ZFrz5}<3++fOgX+5i^%tqvm#k>y8-qw8{AQwZcEmcR%GB-LNk`D`+) z$zeIpzW%pr#x|4kDl@WTtwXv%!J-CvQjXrvGIsrvF6;Cf>vraZUO zu+nmnBl#}M9>cKvTi2T3;=^Gl8oVko8Zq~=`7Pxw=p7!YW z$p5$p;BxguJw0|w1fl|CQ2fp-pFP9)Do5NAX)(vn%U;{<}+3h`pSgYUdzN(DsSwXlvZa5&ma! zUlz*g9?Ai(9+o_dI@u3cY#aaC?Twy`JwVH|U4i7wmoVeBQX(W$2y77+Y|f~1fvGf^ z+Kurqp8gz!OtjZ+olDPoHc@`=j58PwiAtrZQLli^%wd5VX?$?dVo4mtywF|{O8_gj)Q+~&XE0q~OrfS-w+n-`wh5c*& zJ+N!XD3vk9ZX#AS$z$$2kt)7#@izKt=-a}ajOe@ee`lEf{d0YJbRRKseJ&V(Mff0id7~4;onPf_?D`x?C85zA0t!4wG;O<1#P)hbU*p|6UECfMzpF^Zc*iAW zJGJ49h8vp1{O)RWcrtO44+wNx3tj6ZfW!RZ=^0KG>*4;AgoBIiT8?#8K*)zbJyOE zN;+G*b0eK!>GWK5tnwK3DJp&hQ3E)EfQfX+!2&3qO{k#>5Ka9rIPHc0IJox?lHZzd zBO%Co=I(!Tdr;R5Xge{l98DOOL;)X!?TmQ6j4TQdpmpdS_}V)xXBBV!5g88KD1|f6>@sU zTm~k9@KulpB~DI~MULMire+bQhRncbcSz+5Z_t$cU!?`xZ}Yh3OpI6C$!iMnYgh-i z&U^sH0$&c%BC`|#i2xhsCu|SBusmt3}&DqbzDPxi1F?}Q9F6Gn}O1FZ2Riz9lPX!X# z9GcxvVP!xGRauVRP@n$|?~X+w|k%p`fqdx_9U! z9{K$4ue}ob4^rK2yMPjz0d?kWPZ8s9ocv4Q&-sVQBIR%t=z%=FoSsePX(I*`5wdek z@v|on#%T2`u4|w6Dql(fhz*3rUco~;^Jp(PwI4R>^iU*^6N_;`_4h$b)a$76iw$^3qYx!v3d#URhbhp@m?d_~wM?Xlk zr=F1tipk91xhGP+ye2IV$P|*t`rQr4sP-o>;AHgI=Y*J9EZ)?NrFo$l>XT_(V;8kA zk-nS{V$Y9-Xf(P7%biCY;m42p*8KKAB&f5r>_NA;%1>vxH)3ouw5lG*VHVq#&&&hB zgHBrZT9~7hHN?#y66Y6V(7r2a1trcKGSyL08(MmAp@w>kC(jObb)_ELz3erhPmtry z+AG8N;=$g?Ja1jp56_gb$5!Et@ZDyLxxI|h;!AvseGaSh4+2T10#sRSa2_BVeAkO# ze{P?Ll|$I43-_!T0-5N9NcCY7SuO_yHiyTnVsjV`lRd8|M1Bt)8|BuMQtbcd5)m@h zMiESd98Z}knHQwf|IUIaZt9_7tow_gVGjhDE0}!3`m;$e*+fMD%1my1t^+FgWo(qE zxlh-{;~3l%2l41s13RQY-Htj!)X&7QoS@(y6J4MnwEyyfo@z9)JaH8{WIVf~E#ML} znLqL;PR^S4m%h=HGj>M&eunnQkA3UeS=m`L`BlH$me;;weaMJr!jl%?BgFS0c;0%X zDE?vpKspXz0hdaAXJ;6|XDrd!IDX@mcuZ|Pr4qb$ZKB(WnAg3wc}vSrS50@+bV|!< zr;E75UnaM>^{(OS8o;gO*v9C9GF0pPzlpk$;dzo12)3j(ah#lgx!FYH_~|ZdsV~u? z4Fs`nCV{_CxG35$V1~)bh*>=_#@j~mQ2j-#+4Y>AkIC^GU zdoOT2>i&qb<3}C%N#cLycvX>C2c;Iwhy3Ct zyH%j~OTUaO&e1@qLnpGJ+;>v0{&0=2;UysIeMx9J8NJg1l-Dxhr^(KZ@{Gw&A0lmQ z_r9f7a>0sU68>^C1_BJ-dN5fdds8b=>tENxtvPVooRg=END zsMat=MQ|IR44fD*{w#kX`bZs=Zzw4sBbB;wR`e;xBVsi_XGO+ zN@tMP+GI>%Zp>SE9K#t^nn@HjmgYRm~TG zatNp5#c*MBbs;B(7I-}iP@#7=XZbO*gDL=dRNH|3wpOyHGiTa7;A*s#2->;U1ya4e z6|b@ABXa}qqumBO=MQ=MjJ#r(!s`QJ&gDYG?;RO7ktqWRw2T~&JKdL?UD}6JJ%p+j zt-sTA!_NV{19u+CUqXq*;KU{3#fhg+(GY-{ARaaa6K0uEeh$iy6{a!wfq~ znui5^eRokGxA{AU~4nU5A{WS(#5^swzJM1aQhg{!e1W8ElbWf#QodhWo*YlTIs15(de58P zWg-JI^3h!Co00zyDe^wPUadhn%YJg;N9q2a6~B6 zC1qI3k##9fM)p%n1YP8Xek6_j5yvyWAz4w0_imi&GXfgh95UmJcEKVYUxk*geCs_m zMHu8o3njkCc&W??e@NB-$@ZFMz{e>A)4enLx`7R{LIc71Lg2~L{Gut5&sc3Bi(yYa zNIsvX3mG32cola&4f8$a;tIa#nP)?sOv2hHAN}_Y4Ug8K6vwJU)8&I8qhMFlI=?hv z^~bXw@uF17I&vuNwa3V}LhQj8Wmmk%Y}}7iW5JUYz>KSK(#)s6t+~sdxdzY6+nv$s zoxy_rMsH4uH-Lb@FYI9As;w#?5axgQq;Tc0zVDIkGW{*j&xcsN^r0Z%n}4yu&1JbY z6p?`GPtM$KaIzn_X{v}U=TfstNK@Z|%Dj|}oQSn#|NcOIjgD7K$(n|rgL7V6bUbe$ z;Hy<2BHAQtS3zucr*$MJp8|1IU@p_K`{}Tyc2>O>je{E+Oh%UJJ#dxy-H^q%sUKm= z+r@S0r2i{8gnrNPj+>j^M2-}j)xVEj+VEK0F|GU6yF_rx)dOeP#O3Li&!Z(cK|m#= zXZ;7E4*OIyun@1$<+refHJ7#1hBMK~V1_mSHSKQ|ojog+?c>L1G>gc`MYUrH>NlS9 zczDp_%*STDmDnIXHi_{|m@^tn1v|t3%gZl!8GTe-=c9L1zO@pH_YJc-!Y%#?Oe8_q z)nG||^C`GWiu3VyNd_6YP*N<`hXeMx=+W%Pf%vePOu_nXkSy<>(!ARJ3h;kp_`1DJ zPlDPvFPuW2u!TzVErhNdcS)ha^S52U92ruOI&a^S5?IeQ3paYWKPdceNv+@xk8bb? zwB0Y=-YS`HZoEV$nMeJifScPQmz+`UOiQr*fdDc`ze&+meWUo#SIDwTKXu%cbjy6+ z4%&rJz9an%8U)yAq&1Upub?czMVo93?pST~FsX@Jc%1@&0>3_y;ewy`wgKA59ci;m zl~tC(2IeaUIdqLN4WYIRRq=P1uT@wFD-PbMED2$adVP%Yn@0~I}c~q0hb>$CvDxij_{W}8|_p-o>BOjV2C0H{yC_{1Zp&cxTcd;0q{-g8jDBJ1<9 z9>ZjODCe%0YBtLDgEc}_5${Q1td_7E*HheittI5LQ`pnWoFYV z<_G>oBCw7JL28$BcGqzDd&{3fxWtmPPXKUfXU@zrJ4*aVW=2oCb{M68UX9YdEqkw& z`-9DJ*%Q5l2Ys1`y$@N4i!VXx0gTCHtuK&deJh%r(x11fWpjg(&d3_0NG&Vm=jl6$ zpWbt)@8}v*)7*<0yWr@2)O93n=CMEe{i(B0A5ekt1uE|7= zCp&G48&UEzKyM`!)2v2ZnB06GkQB={)vHD#xaFV9dm@~c8P#K8@@_d%p2PPoTy>@S z{x<9c@hQ;=O?bS+m1PKc{$x%#y9Vq0S5z&yL$Uf<(Ijx-0$#9 zR3wIPw(6yTrara%+;fLu7Ee|Jin*9nhbw2*%jfvch>0}c_d(xdvh}2nZ}dKyZ2C}c zPz)U|^DtBMOFvyaers?17`-^F2+SoFD*7qp^4cGax@JR(-=5;Z*K9X3KojEp`wpPB zhn*#3xX)cq0NK;is>)?*g{SeMw)pN9*)e!s_;E_5NeOyorwjG^F1e=u2c@`nfvOUl z@iT&YV=}BnW5+5e4RVnAKbh?gDz5!7@$GBub1xN(+^ud4#tV%)dQz?59}bsz1&g0O zd%!h-0-e*Tsa4~O+`a{s&g^q{ycEa#wC=%Vn~!>H1y5%srJ5O1jBZ3It|#xjw~qYz zk?gcZCON9~f-M>M;8r!9qUrz&mhacByZW`uXK159uFn6eXcgH-n7&@;z-aW5&I6vl zH`#vaIr?xs2!q&8uJNwi=G(`CnWUt`#kU!S7lZN~ALq`5gRiddfZMnlCDs?OgN%PO z{P{YG{rEKZ1cXc`EyCRM?gHHYDqKu0(;X){6m)*O0tv z9CIp9rpw)0sqSuwss6Q2nufX=xadY;ZrLgtE<9_!+bz%v^6q%I@WIh5ssUuZJG`Ar zRzI(`N<%d+EGo4 zsMCh%nA)xGCh(ZM+d#)QapxBE;1{lPb?=sh59LwKG5L1&hXLJ|t(o^OZgX}c*Lc2V z1wDLYWsR|+Xu8`U)mKjkL`HzMF>FbOX5x;6NJ9H_pk z6NN0XNr{>Q4Ymt*sS(X{B?=a$=Y+wZEb>6V(UJu#^XS~o1lsc#!ysbiYwkoPm~>z9 zw}^K?i##LvN2EW5Bhay~wcNMDUq!QiX{5v_VG0-KaqYCM9yIjtRGifr(bPE>5`&HB z2)TA;Aqttbm2P3FsIz_bY$@Z1!#(vGSJ;*R0hDPNZ8G<}&6iQ@A&aVNTlSwNY@gNX zewKuxj;?o!57$QWsfMXGM#BwzDIGAb#G#QA59>+GDw^_gwF6|)S)OjE z0qGhk1nq(+EzUW8AAefB;`yZ_`j$uB87qYS)myTy$r|rNjdzfjemR6(9}6pvJCnuF zNxhYZKClVvHW#Jk*W6|nGY{HI^3Dtdp8dFb=1Q1x=p~}l!IZl9FZt|JXTJI?bR;fx zH8A!f)Ps9p`l&+df)~|Z3iP8oV7i7q^d||oW;$0zWU*!9(-=HvnWP!oNna-p>ACvxq=$`baBn_bBRyU9dk5Ri6*Y?CQM z`-H~ioT|^sNv}|Cy79+XM`OB*kL+(m9Rw|2$}Y}ZNQw-D|F*|Q4a~^DV!9Hl?T)-4 z?}`&iV3ToK8c@U7hcAlgFv{aXCSJesNoF)VK6gtwaO+ap;7G-NgN>ZwIKf##4HfDX ze;$1vW>}f?vj)z40D9B_zku)y`O~34^eSmSI9$?w>&p7pB{_^6Quaye9J5?1_!KLU zsFt8#3ZV>tZZhk&V^K+}Q+cj>lNb$U-Y!WUxY!&vOR2v2iIqq&RsXx8S*lOsfnA$O6ppH z1n^X7w|~@O@Ru39z$|Vc+*f|&GZ&v+WrxgYQ(fnSf`8r0XySTojN`ZC%F7~lb4J_` zB2?73ocmH9lJxsr+$NDF1kz6eDwi*H5U{me=v&GcHNB;kpCLq~iIe~(qj?&Z0`Z%D z5+>OBOu{vXx7T)#CyMgc{NxeBd&9 z*&<2Eou2VWmUGSnb)Lli)X42Au*kC|+}%L}dU3)yfOL0bt#lIkl4*0BN&Pb4!RBW_AIt{$|h*5trnSmjT6P>F6IIp5Ls-o+lskf8*aJ<(@NkfkJa!pZq@l2BYf-cq~xP)KwTz=B5gwWF{GDF`eH;_5t=GN8} zSlrd+eo#CX&vrBnHW5ahvSrLQ&XwGwy9QRdFyXB@2fkU^clojSPMFzDcQs(gWpwTP z-TJuq#eDvtc&_njVpP4&;EkJ4lR?1v0;fps-c%jkEM;x>GOu{5zeT^>M?qGX(MG?Y z-0Yx_as)2VbX=0Nfsve$-OeWbG0<<^bn8R|g^c(g$G7=GeGDFhy6)EN-BlFg@BLO- zfL7-n#p|Nm?{D%kEC@01TiEs|Lu2!@FSGHoCqLMUB`B#nZ|iiK4_pSBOyzmy_tzEy zsuQE=w-UgH9v1nBq#o~;=)3+JP2w5}->i&?piso7<)ZGS;Rn)vvnJu4fb(CWPuNuA>{y|gKV;pdeeeJT z7c_JholiqoS~kB+Y>6nXsfZ=OX8>1|PT=(sV!5AG`p3!FrJrhza^z)gdV(A4*aB5$ zU$rdd;y>~GiuQ;In8a4m6l29Mr;M_}N`rgrGoB%MpM(_>Z#dpAr);Fr4|&mx@IQT|!6} zrtjSOjSD}9g$P5imFvwYLOjhoGO0!F^$9`m?;h(GRi`k~NGJT>t%QxZRAdETEVyWI z&HdobCA>4-q$|pVm#ZXgw-u{5&79V>CvI7+g$n7;`H#8zQE2ks7AISR3NU8Kk|XK^ zN@%oe)cbIED#-2%&?dde`D3n!e8G6`Z%b=oLwsli)^*+q?RIj`n8DtvhN{>GbCIm(Clv8>iPxzGa!ymiu>rt2lcEk$Y~U zg^T-Qp;@(>szuy^swGzxKhu02*_kc5!JU{&?=zUlFXoy3{%=nB0tF)??j4Sf=or9; zU+h~YMr}4@Fws@>)W!qb&$9=l&o;5y^}*=w{I@W20kfGEIlj^_ zl|!xj*QIQ#*6_$&C@X^-wJ>Mr|JvQje7NS&owIj8v}Lh3Ie>W};TLX9bKXQw5>=Fm zd!R}z{YLTUp6|u66EViaypq<9f1xx#jm*VVD-@>4;5kWt)uGRg5rPfh2@2J;7 zO;T@8QE1hggSfZeximc+jY)1q1E23))^+QGC0;#clR{1QrFGYfF1Ar&R|%G#`hF~* zwg>j}U)>tnyY%co#RhU7`v=)5bbiV(K_kc+`Rc!7>iTfG65|Qg>Ovt;<%K|ZwU_f^ zx?Not$c(fMDZt|%87PqIyeTWLh`>mzsuDDh37Zxn$?G%paXY{#gg&p{ebZ+h62b=@@rjVnBZi!u6CB@bR&#a zbMU*Z*$S@heCFi5h!w%0h87;*sO_c+m+u3`btkOI3CSOiu&zYm$0_FJ&mC5H-)nPp zeXE~8%#VgvboJILSg-Tr>gYO&f&XGv3CIEi0rbwFDYIVrLTdS~ut3TPX zORPoSm}-AzIw_;qCqoV--bb$wh8+B727cLQfQMO#a7X=bkkZtSQuZyV{X^qdO-+0i zkP*J3#>B%{1EqqqVlvC_-x3|4U(}ASuCJapc=8>eRb*VTV14hhgAzkyzi1tV;dLE` zMdQ&up>t?Y36W@hzoqeavvEc63W+Rss%qu{sK-tpZ4k)49M`VL)4+dTp9y_}+}Mhv z%}R4Bon-M@8#~Vk+bx|25;xjMr6H*Bl+0Q9h&slNvn?a`evtlzSEUuYz{Pj~tvpm# z$%2G`7S>$3wB+obaLdRu|M(@(cG}QFaH4Q<+CbPue|jb3rx0s4?eZQDcum;tgsmQU z4}zEk?^3`IBy`nOfRAOZH&0pMQK5An?_jU?+CCq+8JmkEHk{f1BEyfoik#n0=Z9@g z+gCCI0x7gg@~VSc0$M(~7=fIrQW`QqQc-pbj2vq@!CWj!jLL4#s#aD1SmGi8->VwbSFdDoUq6b&Rzjv`pe`jU6#PpR-B@V8ZKv&I?=QPT z24!x`ZjjMar?OJ- z9YR2M>xW-g6>rUVT`68YcSN(?I+u`_eEri5Et-cUla5e&3agBbyC}h{Rqe|@@|eY4 z%DS)eeC9ih=;Tv>e+FlTQ%8fxfWLpM*Ztu#%K`HJy2dNlg2d)$>4kx>9dr{;B;Qf6 zCwdaB&s`GkV@Eqvqjd^!9|qU-hms-+R)X3hWQjE8-*^QwXVcuUG2{!yKd_EbFe&Y( zj5jXJ?tGWMO3xh-C3Xvml6>`N2>#{#Q?&Yo@9|{W3#?ZSM>BW*hGV3i_~ni&Ej3B) z>nuep&ZL(I{>y>=s{1jgoc2DR11+IeZC~`uSs$2Nie29G-F=7U4hT8k^1Qs?H{INh zY6d6R!>D4b^e^E*2{L*TG{Y!G);!ws9(Ed);bO;d*%S5~XN; z$Vt%X-%awN-|`jh9xi__t2n953PhfO>Z+Ao1zAYl*Nzc?v}M1Qm297Oom%9%SHQSP z6cpaHRdTvmXyAQ8JhI{>k<}zEu*D6nJ%}%x;NkCk1o^HzuE6wLYovXzS;srn7(IV(e3Ut=#DRCTt_z|fCl?3%HX0IY-<|*sR^a=s3w6feHis0L!M0d? z#wpSl1VUZRqazzfT~C6LOJq%39Jr;_Rf$)<;6iH7_g^1>f>IPO{-uyvbG4=1b{coZ zFq;daT8Lbgv-m%sn2Pj+1HQ_Ou}WlkQC-bT+y)=EieKP1=Nq0KwC;Izd7i&(K>|2c!EaI|m651r z`hV{!|Dcr<7h4)z@h2%}<9Yi-)p0{L6~GU%aUF#0i-LlEFQU)`P{*#o02i2Yz*YO| zfp077(zi9zfLi49vI2<>1#_y9_m|R(UOajjd-EOQ)IPfK{J@NB%gn!&R`Z3hdYqm z|B}SI|1ja(9FR4Z*SZp4CNch(7rBxJoBa1#q8ZvO_6`4?7UY>jLnT3iq3Ik#{t^8M zAd!s+=f!wG7Hm*7D(CmzjcMnz2Ky*6rnxn-F0(sN8ZN1<(N4j+{l*tafvQLezsRHW z&Xv7K6RT>I>|21^bN@IuolN@TOw+2cbp!!-k34W z&IlYO$QHDh?$yy(CMZe&oH5JIvf?3iKZXz5XFY%;>6|c$-OT{cb}}tg<{NPj3sbWk z3Ey|$!#DH)rV#o&@K3HJmF&T@U9G{Cf>eh;rET%Ho}V=Z4WR7h0@{M7Yc5cXsiPqD z6YRZE^O^eswukScY61p&)0UNZEFjd{uXDLiaDq)X7_C+IJigukSP0h7|7oRE;({wLiZd?7Qv&PdIq3#QO(*pDifs zt^Y!E8NdY2z5_c)Qn|m5y+a57az`421#k4`d@Vtk@!n`nr{dV9YhER4Fx^>6 z#mmBy*LUCcQ>Dz@uqZJazQy(o*0XVX#!a(c*AB`)Xc$gDb;c*>HLKlel^~{Q3@R}< z7EwamXEv*WA8j`{6uDlx_@CVyrLyyLIuET4VXsGqk` z3dVP+?EZPJ@!n=ZGndrb0PMKOmi<0?B*TlxTLLlP&xUkWHEmvpUSG89CYaW9f+SIW zAP~^f-*n8iEXc3>DB|JNW#9bt0sqDfhC@Lil`?dCdfQq}B?Wz}k^$l@3Py?Pl)!X4 zuZ;f?fy~43Hs~AZNSSqRXq4BgN{oRUsbzd1vRM1=6*1RGcjO9)(*W`230QRlcRrry zo8O(?2REMu-rOZ3U4a^ju1n$Gvz6m*hty>`6YE9ZDJIknhU)7zTpKROj9?(=$+HRB z8CRWJU@PwZBlR&;oM01BDH*};lO$z7gh|=29OXe}rq4)7_QEHkk7Uc7r6$Qb?Up|> z%Mf+Af9Dla_P$>hq;+sca_5VbGHt)DM*5H07Cpg>e?V96raiA8n1vedKrj>JB!cY! zmW=%0Apai>qXXIqbQ}^T`Uu81GzQl-KE|J3evUsP*8ViYYmx|=jk8T(6m~Pq?{utYN?%x?O8N|(u|urn zA@;^|vRt7n;W`Fxzj4>n6S))Yz3Uz&bF!O%hMB^N|>$os$g-w9?3 zibYN8YUp=3YW2zarW*oidd_}Ykkx4SEPTr6Dg(Z0m{yOxin5xu4%oZ{2jAU5NVdn? z)lWx)P$^#rA#u=k)W%W4s4In;FZWVIj)SETK^@K`cxB-PN;VBP1*BcN8#M6}67L#M zJhu2PN^=sf&OaY}VV-&ag-s`u0n63~yY_ki`^w2YB}z1PE6ONBoDdFI3r0SK-d>G= zpo0er{Vr(8-NA>6{)Exsgs}lzifZksIH)t@zAbiJjT(g2&k&u$_y>2PN8>}obvK>6WWcH3onkF zuMC{^lGORmg?d_$veb=Nh;#T`al|E5Yfv<^y{HQ5uH`vrd%p=u+9EUS6E08p?}vlr zD|Kni#X{EEXgl+iz~K%2DH7@E9fpRDuBrmJW-z;<^_s20ZwqZt-{g;)rLH2@*LF?C zVkS98I-cd&Q28%9IWY-HvQCy>VBc^YlLdg0pq;K+LM za#aF_5unkZBia zWX4(pJcGtKiFl~H!x6G5ApcoQs$r|wF^T2Pa<{Hj;11um*U|NZGkkxcZ<``g7vV}} z^7xOwP^dY5q${yDaXx3Fg6v`>>3z5of5fklba@uL77l^Z7&!~&_{3jXE>UMgHDY69 zGo)xm!Dx1I;rQ|3x4r7$`Y-JY=g3m;0PdZai; zpyvF0BzXjdQCwqe6#8?#n+cF3% zS&w$vpYJC`Z$#eu$?|_LkaHp~40(i+GA^Jzb;v8}j^rv!hu-K6UQ`&0HoF{7AM3m$ z*R8uJ2LLVL0Sm0vp`&(R8On#bFy5uQNzaG=`9)s$3r7-M!EdMW%)wjxa=4Ip_@bP4 zEzvVNPHOtr{)wMb$~b~3Cpc1D5>2=9S9j{psYR#2^`D`@-csIe)>qp2ZaKw~tY1Td z&YcG&wZ0O?(?}3~dZRL#H18mjf^IX{VZ-TMSuuKDM@PZIW6oBAbI6e<$!-|bLB;(+ z6{jrHDLyXoWawTNgp;_8IoT3)j#awplaEigulTuI961f-i#V6u7Knfk1`*YjK@9QM zPJUDs{iPMur>Le{YT_IG)|(FXmPZ!FI69qTa-mn(v^NvAAB!UZv?ty7e>9emw7Ge^GLQw&nbK+|L0o1njVm!`6O>Dh=#dz z`G(=|kT9=0y_nGiTmhAjL_BkQT9-GnKDAYU##NtV8QtBo9qdE8#XowGiT;q+c(Q^^ zXsC(MMYB`C3ju|DyTWp1pNTI$Z{%`}N;2Jzl0oOA#$FNdT&DVXxO`L>UZ0 zt|c)1WstfLO_jL!y_Nra6VODS*5RywZz8=m+*I$IFsu!Cc!A3}^1xCIA&71XWh+}S z)%bo8FNT|38NB$}bmr<%;^CZgtF9cV$!9UNj`;@)#+yF%%TK|5>~erPq2tyGz$%{O z)?F_1(&P>@-ft(MB5XZF*4VkorpH}&SJ4t`R%78IWEOkiblNJO`-B3Ye|6;Eu_)K| z70eTxh&7SFd`*%PiNsvcp!k-9Kij{N!ObGALzXE`MDuy+A-7AMvjIlX%I5)2hM9@N zgEQ*>Ax!#hcWXB|6r|9eD>eW(qKo`ZpqA--f-=qDUx{(93oEoe4WxbCM|>K&h8n-2Y(j(_1q*v) zEgt{FN6ly7XoEWL$Z{l$(a{ z%@;OYpvB#t;!cp_R-iyB1xibCDOQSGA-ETpLIsx=cPLJ9_uw7~?!gHpK;AsR_x=9+ z=E~feIdk^x?CiC3?Vg?c?EJ{^$Zc#rr9!>32$F~w zJPw%eIs0sXw0fAJ@2t4Lt$4S|Hbzwd(a{RDW;)ph_1vHlAry=+pYvgmlW$_Z`UMo3mJicndp-#!Q5 z2nF-Lf#(pYcbQ1rmkw|deLn9{==VssbN9Sjwy$cw zloQE$aM#b8#YX-aep4(w$v?0^{Fp^KwDT@V>FY$A>i8K~ndPX1l{GT5eTU4(GHJbU z^M=bsU2OItuFg}<2rxt>w21-QMAE4zg$z( zw%7aF#o%4HycO~B>sZYKXu%vm(ZMfL5nh~jqOU$#Lw=;(ADgAT+>kK-+%Ir&VEc{j zozBT>dBSN>;2z1z{9x*OebM^N6ZlvA5R;hhUt2i4s29nAwXV}JD}mLobX)C6X7`#n zX-{2_m8@kB8RkPIWoc0K<$7K0x{`ScCfLN-1QOtU9s7vT90i!WnD-?9aInBvX?|88 zF?~{8)yUVtDS|nWrN2_$ z;GW>$LWYTX%c7BMhbm#mYgn}Ni~c+Fvw)~(qG=Zjc!myOB6F6CA`Mio{#K;(HhSJ_ zrC3Yj5()<;!1odZ<_KncPX~#J03^ru?Tt@GZ@M zj$^LYL8CpcO_Zpxtnl@}V_a0-33q}y>pAM`U{~LJ#zFq5^8)&HRrhNSnJTY7F(sy2 zi;+S9^?b5fGPJFZa-QCj3`_sP)D> zI&(p25H2$gg^1ShlPCt!*00wi!Y_jxI_{L~lsf{N;l3yE3mgnZebISAoUPWK*N49! ztc{z7?tEAMYBnvt&&&$~`${MML$l9Q)6E$c0O!}Eaxw_SPQkX8JF5D%dt@U09_mAq z8SX`F!f-%9P>7mElC$V%_rohoiJIo&g*3Xb_*V1LjMRIg|0W=cPw0fT8FoL`mSTmC zt?+yWgKq$%Pk@lL3x7upQ-tOxHU^v$Bg9za+6t!ocu1e0OYV$)i!pgKzwud<8MLR;t{lCKVG6}GRJ=1AP zANQX_lZ5NfFwf2S$vp`?-czMqUWQoeXQk&Bzss@6z#^>Fb9-mI%T-j&x6Qd*L~X)L znM%p|dAFZ|mX`K+pKQy)FPox+=XmtL`aqy(A+K0rwa=l<5-;E(w=FTgg)!1;kCr`u zbICLm`6sc>d01ZUaZsm5U{L72d2J;l5HRFU!c(Ock5^1_Pu7<8r%%vNHt6A@cqm#yOo6(f@3$aGq8Is|oHmzi1LG}}&y45*j z_mpeWEKYUVr=LFY2=0uCP_cLnNhk3c>~JsQ6!RsO^>y5R*9`E!+gALpmw14U{VHD? zr19>VL%p23duKfXlb`7^7|gZb5;sqJw*1b;$Adt?WhkT+ZAFxevLqc@J2A@}hJhK`-KV zK_S2p@Uhwq<*OxzA{S_1Qxq1rJ?tQ!JjV}kGT5UrKIb95kOQ*XVQ*EML}05t~a9RYO4D~`|tGENVBMK zqk2^LvG{{Dw#wC(2un)7S~At5=3kuJAFDtrbmcok-quZH_C=<@^#}8F-bmDYNwd+y z-UGCp1Ok$o7hZ!JmSZkwW5XbyDUA*N59#^8HKl@ynYH-jGejUG4+omycT4ScbH*$O z@=Wuxc%|q~D{OpK5&nlawKb@PmL;Z3R*oo2laZ{jb%r zH`OLe3Fbcy^ZNLrwRE#bMV(8Tq$L{Ds>}0YXn6&!?ceHPgYJHxJaKt)i`h7mlu6#h zf2yQ`H@DCzz!(rgZ382bEo|#K<=X#aHdn1y>CsY5+fi77m45Sou6wr-vpQPoE&FXM(6nX5)$UhrC!vq)>O!HLF%DH>nBVwQO8&C@ zX{C|pZfq-F&yBC*uHp@iSs!pYAdMG;wY>N$q#zbC zz^hLL`{%tRBKN|*Ny7I$y-6Ygzc&Wyg2Fbq z>4IW6is^zPH!ylT?QYp46|HXrDq~FuT}9U5{!u~;yIbtuQ?YwZ z%DlkDjJ?)@TWKp^MIC`1n&`rNw%VVHuLO2ZpZ~r9l55`e_Pu`;vf>SvM2nRLc9PH{ zYqW?NEy^++$wg~%#}wYTqeTj6QLN#}I@*p7h31_YT7+T6i+W!BGdS9CMDeY_4h!q= zi~kG^qIYA2ZjwSbg`t}?1a@-Seqa2zl^wcCGFo1!3@6c~KQ^Y3x@W*2j%|NT}o&8wx+{!n?uUmpKPsTy^Qi`zkF zc|h5n@BC7#yn8Ls;=HeaEpU#4#vdNWEwl?KN(v5OsrJ3MKJ9>=C$%Gs1{H5$Kvgd@ zuryLj$MpEXwe}n=i*yDD)GTyvrIXws;IB$U`$OAmi@VIH^7Ft6la|=22%Km3U@w`vf*=J#krD3lay-T_k zG!RXrtCs3|3)lbZ{1iDPan2M?_N2 zU3VoOZB}P&GY9Cs9TP`S;kViG%nn^zzRW>4tfcj~L!CBb;*5X!ZT{slLK`l~L~km8 zTGw1H?LSIEBW|CR5DZz0L7Vq&8V-2;A1$uW$hQ9DN7A)Es&{1mOAw`EB@JLygpL5c z(t%$AIU8#j5ud~~PYEv9A_M}-9&3V)$#}w%F#pqwsHXV}dDpe9^wT!6^_;-ni0_Z~ zLZaFQPDA(htfIOFHa4!jqUHr}ZCp7;l?qI4Tm@5fHk-)Ox!(6IIULBuY&-LdN?%l0 z9#MuBXAkLx6}Jz44J!^GB1~z@AF|~L;!YmbxSwDX)3_I6Gf=xd+LwvjKH(FUy-?Iz z;K$8zVe`bzfw6hw<@E z3p3Y3VS84|AdR&@Z1C@Gy{}-LkEziW&mU7`EAXG8P`xVjHt}{5Lk?k{1w$F{&Vtlq zR%t{}n>wl-HL|AIj&L7E*pBcXYuVsG+7|0r;x8m7y|9Mk{f&^pVDl2bX$Gmuk9LmOkiYuVA|Qxd-+g5+Q^GYbx%NfUE6 zpUD|>R-Z{vb8g=$6LZdUG_a##?fLl>XpQT9%5#n5zbe~*!1^C>|JQ)l^IZE+PXVoG zqJY-RS3v7|Dxmc|6q8Dy34jRw4`TiU`PlXM3%PjAS6votDE-#QH)nap4{HB`(i!yl z%$2gUp(>bMZa*|w_0jq3Lnc&-aLN*aq2XEJZf(WBgQzmaiM1$cPO)zFk_G#Wi)$2n4h$YFg#5%GyrFb3R!%op(K?^*ko$x8Ik9-f>7=d1V z59Ut-wfG){KAj_F+H+@+vVkGyAcTyyO8Ym zHblM<-0cS6K|KLhdei>uMql>Oi)Bu?8d;X;2hs7GJ$fuN5a5E1NN-l9JOj=NG?z=S z&N0F0iGf;Cpx;(?m!IK9*b-mE})lmL|#-s&H`!xUh^?i7?!B zCBj;@5x`q7?;D{qAW=HfNfPanzXlIqSi4NB1a@WTOcbXsCwDg0i9J4{*&-394-T2S z#mbT$VOgDdX~(jC)qOal>D*tcbF9)b%RPZtp->xDi|7mbd>!*Jc1VFtpX0s}D+k}i zM#)#R8o~bfv%)7A%^VwI_gv7~)yoddvKUoP1P+Qg^toaG2qrjy+wS|^*QDz1WC*?QZVNxhxg_2KpM5{W0f)O|fs1%tpmdZ`G|{;PfRNC0Odnc6 z$hZ%N(*VJ2={e>l$5#L3cUgcMl?O>YO^M~!GlxYV5&b}Uz`IVgM)kRs)oY(*7IO2q z_;>)Ws0f-8i>?0I8c*NQOUbQgRl|kr&s}s)yDCE6F~E`T7r+3$ zz9#_cvJ_0b#*E_C)0ilu)YGJQdf3PQ(k9iQgqbY?qRbd|=eTJJ>Rrxq85ACSQ$5PC z&~scn*DbQoq67K;hey5TD50x{eHz}WM63m-+1AWLuPo$Y$NF#D&hp7^{HW}8#% z{tc4PS}kWdVmt#ZV|lc}!j7VkpAv2EyN`!%!+n#_?RYN+73goaHr&>6ER+JV?=~v+S2LUM=0v^=|viQoy>q-#+=CR zsQzFYlL?cx`Pd} zxuwY&ws!VlnQY#~^q-Sx49()4Q>DZ?lRw4mVP|H-jD`H2#>FQ5LyL?1I%?W-+U!k! zScp<8lQm5kJ0FA^0tx%u*WyW1X8}7tKUsqh{z|{}Uza}41|hu_JN<)QQ$&i0Xxs%i zG6Z~i4R9!ssp;kUSE(8Rz=G$r$;6!21%4GQ#lYkGds}RI@%Ef)J4f}#p`fpz0n6}F zGs2^A2zed8%5w2!2#ZtQLJ=1c&Poz0M>#+e9(0e8=t4;JASAjG61|AVE<|GwqOlv% z$n6{WtfgoO#RSdZd)PPE`5~9>h<#-@avN@1$C0}|f@v+PRK;%nMm64^_;g(vQP{Fh zzPtD)==VmDX$c=9@p0B!7;BHXQHk@v}AKkT&1^f zm)erFHG=VwB^tzSAhchs5lmy?azZb~k zwiflvmqm9ska9PWa5s=~HxP68f!lzrYUzyGlLNd{M)2Twk@3MaNx8FQ8+&(CY~kGi ziVE&u%GW|>U`?m8t&qx#&Sd}gL@Aa$)6)UY8|}+VE+k7{-gV!Dya8EL$JW#<6wlFk}_S5b=$m{<%st{1+bpL%X|_g=+AqGR@F z)|=W|9~Q9EjY7_k<3Kr@C8Q5MI=lRXpUc^tZut(c4PNScoNlRVrRCpK?v^|$Jlz-V zco8b1RT$i|Sst-@gn#D6dE3f|)lqeG<`rIC9foq3FzdiiUNNxrK=LWiFBIAYQgI%Y z(;8XyQ=EBe@M4?;{Ia5 z^!SU^Hrd7Uv`yfz^E0p1%_EnN*~pI3W%<|!|88Td8h!DJWy1r5d|}|6{Oa7rR|APj zGwFUa-+r@aZU$tl5Ih)PC};$)xtwgjimMq!vI;qMgFk8ZCta0)3S-6wHgrSSp;g4q z<(W3X{`eI$`F@Dpj}8z5S```vqK*aqW`-H_!i>W~gWV8{pSO0V3?z8_fL0Rt9O19!JayFxZ7S|w z5!1M#4rKQ9^_Rd}YYlCJF|T3stYN3DEI#jF{3I;#G@d9yZ1>-bvEJ#|7oM~1le#+n zx`2LNSGQRl#_MP54_&&br;PF}`}@z_UNAByxJl7JOH>Qb7lD2ekfO&)G=HiN2+dDL z;Up^O3=Z&j)bG{eF((%BBo^@{7V#z)h3C^jzZ6B~8!;!YU46ZJlb0V8o39a@KMdXf z=ypXf<;TR>o*a_D6q>jjlHUUTlG8h70^N6ZyCRnIqhV~vNnFEGX9>wC`EmT(ABK2+ zzInNNEn=je>m!BGcYl#Pje3M)a}oH;NBqOb7uO_*mt zga!)Jbc0hhBk5NIe}sToupkdlVL{lyI40QdFpw?OMY`Dp1EwDa`UrIqZ#Ma116+o8 zHN?v1o`xQELjcUMMjlvW%F41t|FU;YBUZ&p!IfgCx3ARl>B0WOOZ86P#2^F42aH6C zko*Mb7YeE6tdM+2XyQ#semnF_ZtoO^+gDOXCQS9H?kO_2uat~TSn7l5141JEV+f^W z@DjCsrDC;*cB0=O?=ASE9joYt8%ti_(b3HY&n*$e6WQ#BPh-fdo1>mat4u!cCO2jK z28wu&N6HTCX5xdrcTbH4fehTHP2g1se*=gq9L7RmBJSB4xZ)`;+ms7;aTLwxIV^3G zD)YITHmU6MG}{-v?z>dD_;8?XF-#`||B+Sd8GOf-?#B=!N9s#@@kzR|QNbJcP$fBP zIKx!ByQj~uE$3U7prhoz8S!Dug~INUAjx%rQK#-H{yV@=1XnwMieK&8n}QCb(>I*1 zQy|e{lk2LgZD&6NAzx4y2^dtky^#oi$L-x2HRJBYZF#g1X49YK4H%hm%RS??Syg9to1B1{(B2Oq(-tfR`IE`eqO{tSTII1gvfGR)LzD zKsR98Q6Lbb=ZQ;Hga4-!b3+i|TTA0)?}Dg~g(Nnjb$H|Gb5ykn^hp1OCl4{45Y>neHZ#*s!;b+O#; z@(i&fxNEtt<|Yd*W|3MjKXZeZ6@zfFAoAO8@S0u-yBnNmRUR9d)C-}|X!aMGgrMgU z(baY9@Uh@w5AZ+q_c4%=7VHh>v-L>LK3GSnElcCu+8Az2{ zBi$oOq@)jRRbknhj$yb{9aDL%Kg%yK8P}+`Cri5)ydV^z?Y$k}R%hdzwP2>eW8-0? z5eUINYqfe#xakt$;-l(#v4s=iF-<1pgH>I=g_Ba}Vr)VC3fkjn_v%r0N6DvAcEr%V-2T&hcBi+=rvKxfAnIQn$c^bk~i~`of6Y)qLKgLg)^1vkZ?XI zu)j3vnYUM#*crsUdHILtCE(Q~Ti+JR`lI*Nu`BmglNe&9e|o)Y-&OLeNfxn!^>7mN zSd`z{KDoYTySk3}cXQ-v_eRih3glI`FuELat2VBvc_CTKOe+61m+))i?kbP8$~ipB z{+=s_L_LB1YHysJrPQx-U$<-_hB*Pwf+KJ4Ij=c!7rmzf2sf|tQ{_0zH&I6DMi#T! z%G{SE^(JYDvSi~c$`A#8mAT(13`D*1vh$tKJ}Hsqrk`D=Y1sWcFE_hP(r{zYk+N0Y z@4t6=X*YW58x8*u_;OxpoQ_uhDoZfbyi7Wr!!G2oTNji{_|q$KH$EjxX^5`kd@8X{ zcEH_xaPv5^cZtbj`?zY_CulY(k(*L_@SEM0)rm#g1M_Cfx(X9go)9U|h?K`f%9EpG zliwiaDi;>O+f^SY{bkpj4 zJ|5x=-E(qo;w+|uPYejU=h)mDnj=grFSZ@Tn_C%8%`7(#`P{t3n~kxmsxS-|!pe`j z=B}ZKk*Foc*6zAahN*R}{nO8y!LF*ot}4Mzd7UOx>(2Y9-d8{z1n5#YLxsd|;t%i> zaiH)RBfaO?ACW;u`riNj2t=X=-k@{O_#cp5;FqS}s2i!>$@a5?z_Wst4GrXm297df zFFVI;eWwKJa=RyAa&12A$Kue=(x8wR&>!3c$t0ojbcKaALjI6!5eIVgF(E3p36&C0 z;uZFq`Ev)&?l55^G)$g5nu#qJUMK2lp74^rNBP~w&OxR<7~b*DkHyjAnp7QYKyC~I zc{Q4&@PHqH_;`EeNSzymrSQNNfDpXBS~)uaLT65Uir2$+IxPkivbh|^5Dip*3|HR! zOp_7=3OqfF+Fw}K6rQ@We1o1i4ljjeK_(lGZZf}g!{>UW_LiN#h_+!b4_r18=X7F$ z*TeT%-iRO{d8#4#h+?ZXPKu-K?{i0}ysLF_X4J-03*@k6AX~6#Y zHp8Nju>6*hb3*m%Ejq;JT98aG=jDUAohEahH20El=CXf-_f|pqR2FxOzGufaT?PTi zg1yjB)9RMj7jMV6IKk6$N*7KL>%)w2IT~N)i-7S`Bu$=0bQ`X($Zl$$j#;}+Lf@YF zo4r_Di~OmisWxSO@`v}^wtlWLgf&R5cyXYf2ku?F^!nU7 zMhU&cziu!_u#JnS#ECDw$%$TXd5@Gi(40(V(@_?hx$`3dddfqz@V^@Dx*5RS3^0Jd z+zg%pe{8tCAq0wHLB_*COKy^bn=Z_&<58ezZcU^x>TZZtvk4|}@I@Uc2M+|YW`YfH zJ)Xi8Ei~l=veW8Uq=zl{Y!;=Td25@EYDcHe$hBpi9M~G=rEW2rCjxzphynaiTh6wM zuv7{wA8Gl?QMxk^uC^@Oa}VOSECRq@_vqc32S%GIE`X+cwBP=4C*>s|)z7D8Vq?cI zDwP4cqvq36if8VE4)YULoH~lxZVEf|_|`l6>&%0y&6EhR&^6j1(zZ&zzoYNdLS*jJ zvFnZ0~`3C)?KQn{f!8a}>!k*RxF?QKs0fSyrJYCv_@X!+R%eOntbz_n{M z^X!7Utu4FAd=2mFqADsC%xJCv^tr<{?}$jP&VcSXk^mHa{CokEqex-^i&R?xE`X(b zbnxr~uPuPScT_UeyyIKyDRjp_E|q0thui0l&O8VmCx2r{(&vuJ{PFb%Krpu7-Ds~S zzcu_{N3FlTGaJD9?RH^h%xPh^{i-JS*51zPO8`o$tzd1jtzI}e^*7hWznqvh4z2C} zG&jJBR$3}C*TwYID|6Aey#noDC6ZHx(Dk`j=B?>Nnm`KQ14}l5ywN8{h!zczl{L?%Z^FZUOOpNl{T*&pX@~F}NfCkpd3X7e;s*8QdlYCR2X;g96&TVB2_**N zbVIt`fVitn_`s-sH%X~U2x&6|KCo8+rq%^Xb^}tbCPaXA-6ZK@16`2C7hb7LPk}~m zsV5sQZM~4EB*1=RAjL-2Q`j3O*a#-%mw$8S=7A9Rq*+xjL@Ej-*E|{p!ffV`0R5$f z@nJ$f_LxzvYBe@z;sa-(E;6ehd(DVe=XxN7&E=XOfY&0B|Hna3ZPB69r5reYo&@dL zq(>1kSXaEIEU3w2Q+u&VPGkDzmFjOCIq$H%=DY#rspda1BD$0sUrH(}1mbIJ(COd5 zjkmk(0fd*kYmOU^6IxuCvg>zi>7Emro9$h+GrvVXcdlZ!EPvB{`}OI#%Na(?;l{y_ zKBWuBur+{^;6c<5pYrMxa0o}@OOmbpW|G(-LOG5AOgVvo6o*7*mSia9L2(R247e-! zV_025F1rE=xcMp7=ezsDzVeNu@1KYc97Vusrbn*<;fnl9(g#$NvYaIm9p+U;lb~1Y zxG?IqrxSRt*l=7|4EW#Ng40S~FkwEgnBJ6K`34KcjQN@P2L0Lf+ifC$*GO-b`Z#E2 zPij|F1R&g%peckqqB`Uhw<+utzbW(-uPL(-UK%c?xvH^h`+Kd$1K0 zPGK@Y?8UlzhHGQj<-uJi_dRi=G@{YuLRLN(#Gll`O>Mw=JADYN+jjhLq46lAZqc4! z-JPNcdl&VPpl`74=y7G{cGVztyO`Us?U{3pEqF%;_S;JAz*Aoj)O=K84xIiIWDMa| zUq6yVWCjPo;`3c6rX)}A?sak=!8wnB-}eTZk04G|ZwktO81-*ExOn@=eX!g^u>6D4 z_lj!#--G>l9UiSZnfsDW!awx6WxtkJ*K27#y6?m3Yzo3Y-iG|=Fta4 z2Xa}*8eHW+IHHz2Z>s$?Ebi<{t)s z!wf3hxjKJbFom!4Ko^KQe)$OKbq;p+nB1*a09|5f03GFt@DUVZs*+DZ)>yJH)q&LF z{ZQM#+tvi?bK4y2smC#tttPTJ#GQW1b2#_c8Oz@7bdv?wR~PtGB1|hq%U&O4mF|;0 ze{S&2&55~Op>9&5+KYcUuLuVvEUp*_f)*~-4+2KBz-pf#i2CFJJ1v}T*;y_JcD5Bw z9d*8e0fx(Cw}u>(JM1t2m%30mmtLB>X7=;>|6FP&KaNg(SZd$2g7Mwos~;lf;O8nR zW}-qC%Y>7W!(+38!%l}&cgcnclV1mI`3n}sIe}(9M|n>2f)DIBk!n&8q}H)GwWI>u zX%TilU7vqiC#m|p4YxNqM}MwNVDXg5x^sv&SbY6(@9(Mo{;z>!|0m5Bs6yXUas#a! zr48E(QuzvjT&MbGi(tN`b>5NPZ&$e!LpJp9594PPMJTee$Et|_ zxyRULV+&dYGVWFFpR#=Yc6vge4S$6?gBspER@tS)vsac=X-S2&HK4iK->)z`#*kQd z$NwL%R7Yp_C1o&Zw91JvI!0u5H4cN2%!akQFHI=pNz5y@p?(!HNH$FWO|gA(g};b- zJhQytwzbby-1l2DIlp?9;^TS~Ct!L=dA7|3V)@a0J=b?evieDP+PPhSE@fwaxmSoi z$}fFA^J?#DaP`<-n4)GD_ANQ7nPRUqUUMmJ)tCrtVmpw#Sx!(nSWl`wp81Hk`OQ zCHZD;G3PVAmh|ll)cC+z{5psD8wdZKglzd$7wcm0Pf#K6v^LkUHs!ZD&D1JL+lr&f zCeits>S;GboICmh4JdQYvoqe_KwhHaJ;FVzU}jbawsF=7Y_ORVJC5$=%OR85nwnvw zN%?XOBCAp+n})Y?H9DOA56rK&CT+J_7GVbCNa#Ohn{N5{CR;K_9$@qvdbTN75}3e~tTa$I|kFqQnoaBXkcP zER!T$#SGJj%^$1aOTkYgS5QS#;F1_qzmT{24N1#SmM-?WUR_3?_XIutljW`m9=Zs> zx_n}xZvBIVhS+y6LwpDO3bzkyUd46O+Ij$*0YyM8Ia!mMIWvVHxMGMBn3 z?ur>6v|!kR2AQ<>z>0qy@9auxW_~trwhg%LU>~#KK*TN5{>w z1Xfdx8Z3xO9A}ngQtO$t7ez^x*!2a92maO{;&ItNsJ(-CyZMa#yx$l!hrU7ZFf9d30TtG|%hv^C4_T7o<~S=b(_O(Y{GD=eSnw)!a|t zzvH5x8}%NZrs`{zR$i5eeqAr|GBCyK+Ol^&}IquX2xOAkn)57h?rV;5S2#GH^&-!`wKxRU=kL~I|pEW%ph)D+U5^H=d z6Dq%aBOcq!xy10abevzNNs;EI6XcIlvmOgOdJO=qVA@(ZxMzNoL)*6vsS ze3Z2^vqaT5-_SBdCX(Fl!xow_T)w3?7yQA1ri|i4hHdhJ?w*@a(B!s9=V|gc`V;#f zD)w%#z3=~+QUAmqxCf`c-11#`XK^L(1*TkTe9>n9z|2VS%!>W3b!8sz9dornD?Il4 z`mcZLLM^9`tmHAEMOBH+qBQve|Go$Ru${R6r?8^ps^^>UrtdG6QWx?SBr^eF3MBnT zwd?$gJwcKTI$?iU_E%2k!qn>>XIyvgm?j=*2oXqE@zt%Q0qRkhJMjtLZf6c=f-8lI zoa=rk7w=ya@+?4{SJ*6HY+5AoRGP)*Y>BRqHfbVfG-H&0VH3^e z1Vwk}JqXWmx9_bht!;ZM#AnVAI|Pcg&z0#&q)ogzXlh`OM{;{0GT)P#1%cTsE#5`! z@9iyKi+cuMb#bzpV?BlMWpIcVbCCw1MrsYJ#qlsNjZT}LN0;S z?wP==d)&6+Q!Q3CWpflBZ?tBBwH^7H&f2QqQ>g*)V+ifl3~Dk8PkRr$y?C9$EBwIj ztNgRJii6KwtkhTbiZC7(!pnc}`$!GsqMg*-dvLw@^b_HHl+cQ)JLxqJMN%c(#Z+4d+2FTeu%s>%G# z)F~c+GU(%HA#s+me#J1OruW)2RB@;a&Lk%- z#&m18*qXpij8T2*H5{$odCr;j`sriO2XZo+yQX5&g?gXq+&3*ajKn6nSN}vw<(K^m zPIVCSMu_Y=!~nbs4C%sfHox#74J_AQZ-xy^9?tkO@CM4b#y>>Q-iAX|lIKxq<_G%r zm_`dtGyHno7fLPOoWkq!WGk;JGx$k$z*ccC$G=k-i=Qn)6hi2 zv5GY#+uL_7UKF1`D0%s8&-AK53LS&5h$L?%61H8A&o1~uTk zJS6RP{Z*ODEOy_U8vMY~)k_TmeGY!4>|KXXJo>u|uj=XF$wWV%x}p~qcQtW;u;liK zllEHt90P{{e?BzL5H18{JjnE(4JO{$`klyhq1TW* zqU6u9(I>!%Q>!+orXPW1ot5FiBCGFyJB36(u(&+AUlL)?K8{#|@XHJZxzFR&_y?TSsR$i3CA*|GmBI3>*KH(17Q_^uGRk{Tk_S@x)JO>3Z zcz?+HgYz*9-lC3YP{8uPua(hCsbUI}fp;edGj~Akw{LU!7zcmPktcckQE2&5d}-5S z1SNlHS#|R8cb6NwyL)N+DvQ*t5f@+CXeLv(D(&X4^~T?If7Set<3qh&ZQtyv+&eq) z(se$@0?xGW_9JB8x4*j$p**0y`z~mW_d)KknYtE`{N~%Dotd+ZVfhBWwDlpU)t=pA zm_W)j;runGkPvZFLv+$dQ=*c0ax(ajrL2!9Kkl)Z8H#F6#mu7MQI(k?dCaUdgB`g_ z34tsUxip-LA>ciNMOI%$qQ3(>VXE<~>1t)O3yQVvZH(LZBJ(BohsGMObOcVMt=Cvz z4-yB`)PYmopFKN%wzV|jnhfu8g#vW-Novewh&y^YFcJFi>Jd-%Muw|4TP-d~Zu1ul zx%j<}Yc~wia%ec@yKrves<|uHuEY-xR6e&bW;F56W;D^Ap30M{Om%)x{5#T5)malD z%W;75n57is{OLjK{XmsAV7W*-h<18%1e+R?MIhGJP*9tl0s!-pHad6 zn&QpxN%@JnYHLAB?}5Z_%q6A_`SVN$;rOOqH#Y1OV88Zge&Y7P^%eL9(lRe0AowLS z?6q{TL~aRlVD1c9&hOgu<4t+?8dL`682iCH>SA!##ef%a)=m)cLp8RpXAmYh=e79F{_xx>zcxT8H!@)5TFz|Cx3%l?Yv|sA zae%K(9KA2SzWRp}X`N8OO0(L#+lSH>q*Ck*Q@?ZepmRG^*FG42@xVI{*QqrwCWvEJ z-ILCa6k~SA&YapHHXhnFg z48RtCs^8Vepc?;$Ei7ct80U@uSG~3%epw{N3FIigF-z_QcMMvT;8TI z*qMs7(i3xI4zO0?S z@^bp1JX2}+Pds=fsbmklZ`?$MzeM7LT_=)rbVE zG*8KGS#V{!At`RQEGYi1xkeZo z!e}Mus4s%AGia|X)iv(2G25@Z&wI*_{$YlirgqlUwj!;rYa81aea_zHMpb2&x=@pE zN=0Y!ZO>k~xwmniIr0kWW<5D+#vK~3cRx)C99+3H`;xT^X|f;Xq7T;fWZn5%=(w;z z8NAlNIa=$w=2#+Dsr7&*y3dH{n_i5doIr%ewK3Tk4VjP}r`v0rz8G+<7muzbPG~=9 zQTQXxUvo!Wnwd>?{-)MZ?laBccd3FIZ%m6-7F)AX>kilOnY)}_@OT;%qhkhfU_o|) zBA`R>7n;esjv}0Oo9)%TqfNX9I|Kx3PV=uw6K@B+P2>qiDf`UqY}k)FNOj;3_IiaH zcx>6rLQ!{s6!>~;*HkNz>M;&KM-LrYoV)OnLy+1cF=|hPIgCymDzbLmzX ziKo6=^s3I(c*cjyk*jJkVzGeyELi_Gj`zN-BTzZK8+WugT&^RL5!4pRM|x0hx9`vS zr@D_5huzBX|J3x=QBj85*Phm<-AE(d&CmlPjnWJ~ z^e{sX%nTp*-rx7nyVkSTTWg*5#MyhFeKf~N;OaK#m%^~iC#^hV@F2682LKlu`_UfM zcXuz+D!f8Ayh4AAipV5%Czray&~pSvd8Ci|;mZZc#noqpxNUar->UsAKL%}dq42$v z{6&u{GR*meWLIkN6`Zc`skA8Cw1?M5@9 z`p191Q4KM6Oa<2`g_G28Qm+rLaCyx-Ie_%TE0Q*KECtXqiQWkTIm)!CGdryykG|A9 z_J?}e%M*ELf~%Gah<2FAtbLT^m^X*pCUR7Ht&tJrk@ z-&}e_sZ3zQ1zkIzs4j+4DT>~L?|%u`eUCaa%%rX4+6#{U>7M@8wL|>PF&WAM3F@94 z?6a)we8t9h5gMK+VH~wvFD3$-RQlvK2QiN2vEX(ohm~ddFYCFMM$7?0+qO%6_I$ zn}?_WL#ws4$OQk3CVmZhXOWiMONs6v7Rd3oBzl&m!Wu%`gSWmsb*AEFopq?9BIW&t zR-9V10Erh!MIsxboT%v~F+=s-#(?_UxQJaBaJg^M%*<@{<_p%3t%iStUr5L?3!(z) zGs_;-XE$)FU*EYPn3(j*vu--M4{1mZ7HO8)yQr3)H`8`k+kBc6%9+!h-1N}e#`+jU z)bo!mpcT(lA*C<5q1a%&UM_Y;X`y(%lJ367rI+9J^0$=o@J*$<@yEb&ZdvSyHZQ7g zewj?d{FkZ5)5p)JTPjgRt!AGwO=sZ9>Pm1sCZG-=X%i@vbm^BMT1y}=!@`H_Kc`r} z^E1AmZR5FJYgD^cvh+4nro^Aeu0LYfb7FgOF5fo(CXHA2_mnN!7-fB#)L4tT8b@c2 z_)(_xh+8uOG`q*TK9j)7oz-=h(Fv%nH&THgT+7n(dj7%0xRB2`FMHBX&Av&``v>at zjheOT<^=ineEBxMQwRRUH|nPTmA8iO4~LU?!cg%;z_taU5Ga&#^-mKHInj2k9Kf<$ zbv)aR(LR9T-JF(qfr-1xcdD#oxXt1#Q7}*60$4gfH)z8<#H2k5oJQiSCXj0mVs_0* zn*UAFywlMSW$PaHeA)&jNs6_b-Hnt6t-?$k^8DAE4OW{xHgvoM?L#*`vV<6Jxp-#=e_{P?xqA1KiRtqSXHNoqXa0fEPZx(ss+U z^e8QiL6)KN9}0G?sKw}E_!cynjt%EB7ui;~p|@-{J@UvmQDzpVtDN_)#=?Pu2=u&0 zjL{uQc}sA7{yU668qsDPm5FA0yFsBh`NtQUZdb6?9&0*OLqeqi5GuKXQE(eWC~O5Y z!j1t#r6NkfZnX5Tl;nouup33>181sA2nIx$|Hvgos~>)W{w|vqB!^0VA%L!OZqODM zcsUPNgTX#}%koxzO!xK=C*2n@T|Lp*FG73ll0?VhUlNeEk3W7T@S!42o3-s+V=NPG ztkdT%HkO&Tt5&@zY<8C+#K7_xgV=qwx+O2^Qgxz>dDq)3g^iY%sBBTx|BQJICN)>( zhzeL)v2Zxjf5jNxd?e<=R1IQv5-TIo&i zoAaFtb{WZ^+PH%YJ}`cKbr~VKAW3x;j!^q8d%bHPf>aFg*GVe0%(Hv4#@czBc5Cbn z(9TRqs8$9knZcJxdGZ&^gBHs5dpjI)eQhj!xryQ>ArMqz#rv&nx+S`Hp>bd&@q>Th zG*jjAkzTWV$d_^r+ES{qL6LtR#r%H0KwRHg9N+hn6DOHAPYZPEBroaywO;d`$$hOz zvw+|!p6>eFCf6Jk6q}zllg;Wr)zx9-J=+WG08?xe4Eh{QcX)mykAz)ZAW1GR_7|4l zSLYb!i#vcZ#4=@7(b7K-dR@@z|INABbOgBD9amf08s3_szm^cf`lQuOVvwKiiTQNQ zY(X8a)j`SJ{hLk-;!{RWx{F_y$0|mkrs@S3l4Pr7r;jIp^BHxzX!#eOems$Q~v#8+=lJ`6P(Y=5nrFkJqA(&yBZ1eU4#TPT{@Xode58<)5j z%Rn`1N5J(XW4j?OZ-TiD6vqW;2eSo0Oq5xCI2&4E2bFx~l%Ibs{OfzfA0UTO)-R%^ zE8dYpPoBO!uQcViRloY|`q+896bY8zwh4~JP8H3G7}s`fCTV6$r?&E)5hqm zSl$V4rCl68+G5%5cnx~1gV2GDORNzf;m0xO6PdKYZy{!-_AzF|oy_A5;;+o62xHBb z#%2ZoEn6kLFmZb6guoPc8h4rS$en-M!^|mz>e-sdbD3bmbB@i~2J1%cOGA7nzSd)f zaUNBDQG1Urif_pqR^3sY^;b6j6E~rEICmm^59a_?&HsgD=Vg0ByVkt;Rl5~ zB@Zv6gF=FWeHV`#+l(B#-%>YZuGN8^3IRaieXkMK6X)P5oPN+Zxy10-G|iXalj|rB zYvv87exyFl6W$n#XWx9y37Nn^rD;wIeJVD3O%zJILKzlWPBTk$pV16iQIYQLu1`&H z`h61F6t9Af=^CIq19`8=pxM20)uneR_1V-Sec{~RA>|cw<&m$5XPZlRd_KNb{T~(u zK<*^Lo4xW-;(;4Ix4wVa)veO`wISxMN2}cOb%$BTaZ2S@^q#!a_-E`0wKxHW;BJP& z$zf+JqAQ9L$nD;^_d$32K#tO*9g{dE?*y)EqyG{5=P5IiXb!+VTp{&iS}}@n2Sa|& zAaiavvVkxYK-*ABkCh3eC+FmU0G7DnUV`QsQFS4eU`kX!>yluy3x)ld&{&4$a_*R> zP5s9(v*`WNpNU3T%SYN-=vCh+K@Qo-kymfoI!x>r-B%kncfvd=&#sx#16QKQl&p;3`h{iuXG&!Ua@jwkPS zza9YRonMl?{G3sA_O4q2oc@V{0ct3W@Q`_h~m1LJ8t-UXZq&X==k;(@%VkxS@_3#V(aPDB2bg-LhthAW%^_G`fJUxpZcgaYH?kwmR#Ajvjri_ z&#!Dl>%X$K%bb!PoTd_xT-t}&t_k^)(#g#qb1emDJU1l&$xyHy($XVGPBZ${;mbN- z$SN}YUAsoko?P5P#;?Wn3kXA~gNLXcIBlU`edN;IT^oCPB(UlrH>U6Ll5$_Zo)tiq z-wF7A$v=-c%#{g6-k0kfd!ixCkNxd6|3FVnO!A<3^&r6iNiDPh^8#dEs~!zQUsYb5 zM)2Fx;pXHA3^RIyA6Ev-{H()Wb-@CYeE6F)`A=W9U57(WAPTS)1fa z`Tj43m#Le=`M*hCeNbDe&_d1!~w0OS6 zU#52)f5l^OhbBj~9GT6-p{hDQHzEs0mtI+KfNzNsNtpm83M!%H!6suowl33<$2K?b zB4q^ynaDdvb2Kn-8bXbCcesL}@8bSQ2p>m%R9`_w!xGbAvC^aZ5Z!%h&4?yj95|9a zYUyu)UhEx>uv4vo)4X#TWgTXgRdCI=G(7R*K=7m|@_Jr2V=ssVygY3w((LUAI%a#) zg)Cb{I{onO!SRW`TPllM1HHnH0v^Ayp%EWKyezJ*yJ#%z(A@({Csrc0ki|qp6#XA7 zZz!QK>ueYH9^9)^g{*`f7$ZjoOnUFsb+~`~0Ef zmT{eoDOCXFNJ{?CavET3J&27_`eq%fa`A2h)8&B(KKN_L8C$-XA7Jk1@i1^Cjhf9L zDYGgGp|#-v8XlN~0-e7^&Buf;!@h9Hem)^t#<}Iie%5Lr5-ltC)oI8r$>;8}|N21cyYq%M#DLZs#Z#aDKHxqr+ zf-u%NVESevniP38zc+nREXDtuhhO5mt!xks?yKIt;s&JJ_pQi@U=V5p>h6Jo>vhv`pLXK z3Cu@HkADaRry4*L8G+DosNc3XFP3a}|4Se2)z+>7W6c+1*W|81|L_Qxir5aCZDw0N?+Nx91_0u}&Tc0LllK3Wtem#Js{KrSI%z!o z`9n8uIIeW*7g?@X!0){r=1r2_G+yc!Z|qE9n**UQVz70Pa;TS5v8K3a4AisI&Gpz# z+08%JbNSzNZ%P_Jj`v%_b9Z}td@eR7{KlX3(<@P(gOd7l%2_Dv*`|54hu)Zr8cBjG z6K4sOLbnll{o+h4NkfIJP_sI#pMtIy`*1#0_#HF6BhOTI;|U8J5qw=2Wq4z=mmo{H zuHU&<^~%*s8hf})HbQhfsAZ}!^VZMuwwZBN^5vhNhWy(u8BwwFK*a6N1&Dp(J6#>4 z2OIF%K5#K@SI*#mR(D9_?%L~!`SgpQ zOn~W3Ec0GHB{x2q`#9SYKu?x6joIl=OkC3O<2U1_p3#B$3v+34f`$1HrF@n77biI5 zhZxm*A9(7X$u7mwt1kcadvKs{3UVqGTeXd2ePzQ>b@fabp|yr4kh@(ID-h!JR9Cci z!SM+*b>;D+UtUKLzOg5oTs<8wi);5~7)aW~@^zmOy~6Ip6P^;;+*!JIw;*ea0Ll(d z!vFJwv*pvC#~VB4=**+$$UDmTAn)T(BHIAF?lM9QM*jJtMf+1+kDye zS6w{rarMOWTFUZKh6M*jZpO=$EM=G9ou?Ms;Gkz!8g3ko~v-<#=dN1 zhGGveLaC>HMQeoui{&&H?P(_5duQ)^^;qwBYrP#XOJjTa-ZK`J|DyryCKb#1CaRio z9bWnIoHo+xw0lB z$xWB;2K6a<8)6mhk<8@JW(WWoJ7rSd8uu7Y9A8oB9^DcpDHY2|NRi$MN%AM2&y0Lrwq~Y&duj~M`!9!vEOV4z@_*}!+sbZ495yy@ z@6EGROp&>2&p)kg&Qbv2;rR^Qv^%lBShrOjN9Us99SH@1bC+<1nJdpQrqSRV95fu3yAClbGxu{yx3fo;Y&`lDF7by;(NA&QStslF$? zt2pS*4njtmtRmLo`>B_w(}?(;YBN4Zf4tf=Am+evAffZVG))~^SifGms578tVo;rH zhEczWnF3-?h1pWQYDFb#2wdb);Lp*hrw$ktMrQ(2?B*6Ef-hQ#rLV%n`F5 zgoK5PC}Ni}_+kx0BaxSw>!2YieRM&uC*Wdr5JQ{+N_e_<^fqb=RC3|M4(1P3HujHz zTz!cM)D@vt3=E2WR9QWiR8c(yD!GniZWW>MX6?64@g48HA^n#^0J&R~Iwd$ z+g^T?@||_QV4lrV(IzdS5cl2wDv~AL*$wHX)G~VeX>#EbPXv!V!>Zy<`eMEP#_>(H z{*@{2ldfg;V9I9>)Nra_FEf68!e|e`0PNL(sIsh@GbaOa5C_TLAF_$T=qUcUyksH3F|fG>#C3o|nWv``Y5HE@8&F1ZKhVw=@wf~9-x&z$g@ zzznY;-IeEbF|gD4<@_C%ZJ0o9O#u7eK2k<~22dw28(jaY$JI7W%xpM}`N(^iL$c*7 zCO}GK-Vy zSQeL!6%bK{=|$5-!bd|c)Osf@E?eIMq2D*>u}t}}RndobTZI*54?o~Ca}_4y?#n;( z#blg#_!?l12)S#Zrt~mnyZb2!x_t7?Hm30Noiu)Y;La_{Pcg0-( ze;`qnoD{I|o7t~hpJQVDbTd}vZujN~h0KsH0E)G27Cs(LE8&Jpb#*Qw8ZzeJ*7?Rf@R_OS1HPeoO&m9=YoED5QF@Eio7;) zWb2h?kCLaa@b=YTS!g4;ecuw=)6l3ZEwG;3J(AlUlx+sCYXE~+?w)jOCoZz0^a6)Y z#?##Wa80h%ra4gVkq68U*UB<)K)%tyuQn?8Cq zkxR-L#imb)H7kee(n!LMqrds+kMc1#9d4J4IqZRL9Sf0w8UDa+OJ2~ z?5~Z4=K1^5IwSmnwH?{t%|WR%hAB>h0TPm?$+xR9Cd`kAgj>pmWVf|Z3M>8&;yVt% z%M8&jT8j(W6`5kJB-eoKA}uECM-sIYQeF!i%+0=W$j2X%i<3ns@r~oJ;p6_}TLKnRf-Wh6Gji%O2`t;mA7;73;V8p1 zKZ$D;{lZN^ij3Cq?q-Lhjds*&iNMS!F@5D7x`6#Acl_jJ2nTG zUJ|H$C138~Kmny`n2)u7>Ody>xXSK`68!eOMuPU5@nePiuB6p!jR#_$5B4oyrOKTi460Eb#m3rYa{nj zM&*}phV_JNYY0SyH+o)qgQR*==>xZRF#S=D6Cm?g19hQHa={&qcngpQ&^q@L4odvR zlRkqOM6p2+zglmWJLd4*g8!p75^{_Zu##X?dLi#oHRzuDo4TAg^fs^_H;}NrCdkYn zh-Wz7XX1@JmYb2LrBxtm4;g~ohy5w3n3QO%VS%YM8$~bI%CWE|_*|B113G=X#5QnX z5k#3Bn*Cj`FkC9Th=Up}SBw(E(}&t6CFb3^E~1;lv!DMoV-UIyC57!R=`j3JNnJVK zf3345ynLO|7*18-Y8<;{U%LMK+D*SOPupQW<%+)EpB=eFshjF4S$_P&Q&XbdHp-K^*GjC<>3dQQ%@5cnB-kLdP$An!ww*N4 zndiS~r~rNwlKKPexNei;#YIU#jK^m+n7wub$TE(gmPa*M?`fwEmMb{DV|^K~ySQ+O zu>f>Sb;a<(=cpCeqNlpQ`h@H7D#*$0BV!>Ze9=0Jt*Wx;f#fc~V%nBy`jN+?wP1;) zG}Us}R)Z29ohKyd%`0JYQ?Hyd{~e_Z$%^)FmRD!tuod%YIp}Rr;U0dmipg1C<_G9m z#((U9NX=`ph=S7Q)yXD?WvM-rJmD3&{3qe`Y`6NtC>rI;bEy_}@@;QK?$6YdtY2RY zf}-GuJb`)2v~zG;#sWyP>BE)FS`u2-j5ClSHT*9^AKHnb49v8<@5Y8*?B8Np4VNz& zFmrk0w;j>Sf*J$blNw zo!w2Ieos1oj(hHsru#I4b!mLaEoKbDQT~2cXMFxc!9N-ZX#Pv|t!rLx1%eH9SN?r5 zydoepr6OJGv}qm8I!j8x(7cDbi+q~dT$8o!z&a~s2?e^=}6AHLJubp zBH%A#4*GIi4XW0s_rffNkJF3n6 zZ$F*K6!?EoRjWhMKoZePyzz{TUYj6J^lB5~KvGuLS4I~mw>K5|YWW;4OTIf}F3Jf= zDq1g0RvC0KijY>EWLgvAO{J-}v_z(Mc07IP7YJQ$3<@CcUr||$l%FfVs)j*~*J%9x zqhzbxjHCV1)mBC=cFmtmrEYW;Eso95kX+gZwwMO)d%QLiL|n6hUPk&Dk)I@d@T6I@ zw#eLexxOmmlDZ#8m0ydH!!#6; z&Z5tUN9US{VTR{5;q2@`~x!db!b3eO%{-I#Ua5&aKbPcYl1xLmgC?PtF%jPs!z<4=npmV2cLhs*ASap*@qFSarDH+TZ7kx z1UDwNva%qte>)q&!{OGOK4H>?$qWGhZ7jxtEHTPX+NY9(uUw=YT9`ImXB+=Rm;!(;FWEcCYN>4ubJ1Eg#92^>J)n8|Vj%j5n z;3>N}Np*=omK;DDgeTquo(BrmqFp;lZK3#g3PX{l_#I|`G2VEbK(ff|Q}KW%)Uba% z&zvG)+iEQYQ!_j{F~p|w@4JDavFtpRsh5`Ga!EzluL^AG=fAfxNB$n(SRk9o9IPiE z=Z|5!c5dH!&%~f#t3RhG8Er}oy|;0`?5p1He2tKAG|v)HR01Gk#oDof`dZ&#+6*ek zBw98J1fH{E_f&E4s5yzgwUCHR&Tr=0R@$4w zPCl6W`9Zhf(v+Am4Xy@bl&S*85ZF_M^9Nv$T(G6*_dvW2!Qxfq`d|dc?>kLHu9|tW;AQN4$Z|_*3MW9b=4=YxzLEFf7jdl3EeG}n!VAojiS>i9Z)j_<#guVqb zPlKEFb*stK@giQrP%)lWRar4-6sljr8gdw{K_fDYi0z8BeP#jNu&RMreU~OCsL738 zQQwJ%QRli700+X(m}0C$XNJ&1#`TsD^0w3JG#veyZyN&%#S?=6pbk5QKDb@Y?7tBd zm81c257i5f^Cu9ys8%0F$Rnk=&BlpNS$zqydRpTFIyslB-C_0ykK2*)se$1lvz-#WmtuTJd&d)My+n?p zeJ04D`|Joj2Vbzm8TQWnp}z<$T@2dDXlYxDyYOhCQ8oChcY3eY2wvOJ9KCar^98&0 zB=F{La{Yqu>$DmJS6mf<-$ixu<^K(YAg=G%&_)Nf^$DOXHEb+*8u9CmSHIY=hXWQT z!8$7U6E1TQ_-=FF9Dk_2;qN1fW$e&fnEVV)%H=REJFvt8_$2RIRS@k1=e)ltS<8K} z$ouxN2d-93ma>C(y8;3=M-42Sqbo!4z#ev&0Y9X7S&r_KzP>ZW5EDGfd+>dhEbTcn zaRufDE;99MiJMmX6jV5C`EHbGZ+|ymHnQp!=dmSF_ z2T1WBJ_y=+UnnolPu&8z2`WH;uR#;j7YEV_{q`Q95aI7%4p?vuSY*uSPhcR92?(Jb zCDcBc(EwkGBrSq{B30DJeJ&&yljEE`mg`MFuj{c&C-lyI1w~N@@G3kMmrlbnCT-1$ zzGMU}87jN*bDh0^ws*QTvjR^iRXu&rYHn!waF1JY!<=kZ+0kxG188E2e1k71a(niSSFHp3VV_7&vd!vJ=v?=1lq1IMi#;I1S^24p|@;OlcY zqxFA$%cSO@91%Sck%czlsIzcE9D6*im{VFPy}B4t$!j!E$ETE!IUh+nU@v4s5(i_Q zXB0^_E~!pD+dFDUm>r0QG@B3-oZxR>);2dKf?qRSN2&czKwA?jw3+!j+dwt9%MD%G z{WwhJ?^HGpc*SJILtI1Hspj?JwrlScjRD>+^PwG`IEYogAmvT=cegIVz$0(`(7het z`DncnedkOo<+Uc|U_oxX0+W*nkti0rM^_d^fA6xj&Qd5E@5MhHi@l9?oaJtvzbEsa zPV|(tX3^>Q?JI97vgCT6D1=2ImS}YF@$T=}jxDGe^ zjVHjIUevk!cv;a)Fg@(OAvL;39=JKOS=~mTcxPQ*y!dN=tKyme5yP7K5Tmc|Kk-uc z{*yI`uI!CAR_DRt6ZZk_Vgm1oXwnZM5WQa1b5jVD`hrx2P{*RA-AiPEBc)ZNLVgLWs-2bXnUslt~smE>Yo8r}w z$dQr)+{17Gvl?qisbv3mHO_C*H3!g3-w`7z=@HC<*bi(+lLYyE^FLP{tBP|)?5u-^ zdKSSw**+ILlTZ5Z&mAM6i1S+cOLbghiU5}f_1lfiQ7!JB+~3{_km5oHJ+rr4&_`;w z?zWm!BvrsAWE!L-gXRWq)d$v71tz*dJOR`Q?{HqFZ4wa9(hrLyh6&FUy8F6zi0(H6zZ=JY z&CyfXM`VrkFH8YK`xoz``9Xai9`B6~q~DlYr1Ea-Z@oEVj#vqlYrMhq>R#%mSbBMZ z9hxxGP*KkW5=`n81$qx!H_|Ni#P_zYy7av9*5K?BQyOLq?W4IZmbLHQR=y@(O?TOl z9f0{v=S*XTV}rV!7#WU-_NKSrW)B{x48JUe!KC&s{;F@iWkT!-I^p-$*z4FUok~)- zMh2Jfw+jQ`OmikJTArm{FSh7R+0pHKF9sLZJ&f1gc12%>oK^;)j5j|$A~6q!=lf{S zH~WhbyL}MvS_)HA>nw5Pt8JXp5#NsYA$`Q?7UOyk0b4`*qa8MLFLy2ZKBNS%0Dx|{ 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. - - -global REMOVE_STRAY -global header_string -global regToDelete -header_string = header; -verbose = CONST.parallel.verbose; -MIN_LENGTH = 10; -REMOVE_STRAY = CONST.trackOpti.REMOVE_STRAY; -DA_MIN = CONST.trackOpti.DA_MIN; -DA_MAX = CONST.trackOpti.DA_MAX; -regToDelete = []; -resetRegions = false; -minAreaToMerge = 55; - - -% set all ids to 0 -cArea = [data_c.regs.props.Area]; -data_c.regs.ID = zeros(1,data_c.regs.num_regs); -modRegions = []; -for regNum = 1 : data_c.regs.num_regs; - - - if regNum == 34 - keyboard; - end - - if data_c.regs.ID(regNum) ~= 0 - disp ([header, 'ErRes: Frame: ', num2str(time), ' already has an id ',num2str(regNum)]); - elseif ismember (regNum,modRegions) - disp ([header, 'ErRes: Frame: ', num2str(time), ' already modified ',num2str(regNum)]); - else - rCellsFromC = data_c.regs.map.r{regNum}; % where regNum maps in reverse - - if ~isempty(rCellsFromC) - cCellsFromR = data_r.regs.map.f{rCellsFromC}; - cCellsTransp = data_c.regs.revmap.r{rCellsFromC}; - else - cCellsFromR = []; - cCellsTransp = []; - end - - - %%% maps to 0 - if numel(rCellsFromC) == 0 % maps to 0 in the previous frame - stray - - % think whether this is useful : numel(mapRC) == 0 - if (time ~= 1) && (hasNoFwMapping(data_c,regNum) && REMOVE_STRAY) - % deletes the regions not appearing at time = 1 that do not map to anything - % or if remove_stray flag is set to true. - data_c.regs.error.label{regNum} = ['Frame: ', num2str(time), ... - ', reg: ', num2str(regNum), '. is a stray region - Deleted.']; - if verbose - disp([header, 'ErRes: ',data_c.regs.error.label{regNum}] ); - end - regToDelete = [regToDelete;regNum]; - resetRegions = true; - else % maps to a region in the next frame, or time is 1 - if time~=1 - data_c.regs.error.label{regNum} = ['Frame: ', num2str(time), ... - ', reg: ', num2str(regNum), '. is a stray region.']; - if verbose - disp([header, 'ErRes: ',data_c.regs.error.label{regNum}] ); - end - end - [data_c,cell_count] = createNewCell (data_c, regNum, time, cell_count); - end - - elseif numel(rCellsFromC) == 1 && numel (cCellsTransp) == 1 && all(cCellsFromR == regNum) - % MAPS TO ONE AND AGREES - % sets cell ID from mapped reg, updates death in data_r - errorStat = (data_c.regs.error.r(regNum)>0); - [data_c, data_r] = continueCellLine( data_c, regNum, data_r, rCellsFromC, time, errorStat); - - elseif numel(rCellsFromC) == 1 && numel (cCellsTransp) == 1 && ~all(cCellsFromR == regNum) - % MAPS TO ONE AND DISAGREES - % map with an error flag... - errorStat = (data_c.regs.error.r(regNum)>0); - [data_c, data_r] = continueCellLine( data_c, regNum, data_r, rCellsFromC, time, errorStat); - - - - elseif numel(rCellsFromC) == 1 && numel(cCellsFromR) == 1 && numel (cCellsTransp) == 2 - % regNum and another cell map to one in reverse - % but one in reverse only maps to one forward - - sister1 = regNum; - sister2 = cCellsTransp (cCellsTransp~=regNum); - mapRC = cCellsTransp; - mother = rCellsFromC; - - if debug_flag - % red in c maps to blue in r, blue in r maps to green in c - imshow(cat(3,0.5*ag(data_c.phase) + 0.5*ag(data_c.regs.regs_label==sister1),... - ag(data_r.regs.regs_label == mother),ag(data_c.regs.regs_label==sister2))); - end - - totAreaC = data_c.regs.props(sister1).Area + data_c.regs.props(sister2).Area; - totAreaR = data_r.regs.props(mother).Area; - AreaChange = (totAreaC-totAreaR)/totAreaC; - goodAreaChange = (AreaChange > DA_MIN && AreaChange < DA_MAX); - haveNoMatch = (isempty(data_c.regs.map.f{sister1}) || isempty(data_c.regs.map.f{sister2})); - matchToTheSame = ~haveNoMatch && all(ismember(data_c.regs.map.f{sister1}, data_c.regs.map.f{sister2})); - oneIsSmall = (cArea(sister1) < minAreaToMerge) || (cArea(sister2) < minAreaToMerge); - if goodAreaChange && ~ignoreError && ~isempty(data_f) && (haveNoMatch || matchToTheSame || oneIsSmall) - % r: one has no forward mapping, or both map to the same in fw, or one small - % wrong division merge cells - [data_c,mergeReset] = merge2Regions (data_c, [sister1, sister2], CONST); - modRegions = [modRegions;sister1;sister2]; - resetRegions = (resetRegions || mergeReset); - elseif goodAreaChange - [data_c, data_r, cell_count] = createDivision (data_c,data_r,mother,sister1,sister2, cell_count, time,header, verbose); - modRegions = [modRegions;sister1;sister2]; - else - % map to best, remove mapping from second - [data_c,data_r,cell_count,reset_tmp,modids_tmp] = mapBestOfTwo (data_c, mapRC, data_r, rCellsFromC, time, verbose, cell_count,header); - resetRegions = or(reset_tmp,resetRegions); - modRegions = [modRegions;modids_tmp]; - end - - elseif numel(rCellsFromC) == 1 && numel(cCellsFromR) == 2 - % the 1 in reverse maps to two in current : possible splitting event - mother = rCellsFromC; - sister1 = regNum; - mapRC = data_r.regs.map.f{mother}; - sister2 = mapRC (mapRC~=regNum); - sister2Mapping = data_c.regs.map.r{sister2}; - - if numel(sister2) == 1 && any(mapRC==regNum) && ~isempty(sister2Mapping) && all(sister2Mapping == mother) - - - - totAreaC = data_c.regs.props(sister1).Area + data_c.regs.props(sister2).Area; - totAreaR = data_r.regs.props(mother).Area; - AreaChange = (totAreaC-totAreaR)/totAreaC; - goodAreaChange = (AreaChange > DA_MIN && AreaChange < DA_MAX); - haveNoMatch = (isempty(data_c.regs.map.f{sister1}) || isempty(data_c.regs.map.f{sister2})); - matchToTheSame = ~haveNoMatch && all(ismember(data_c.regs.map.f{sister1}, data_c.regs.map.f{sister2})); - oneIsSmall = (cArea(sister1) < minAreaToMerge) || (cArea(sister2) < minAreaToMerge); - if goodAreaChange && ~ignoreError && (haveNoMatch || matchToTheSame || oneIsSmall) - - - - % wrong division merge cells - if ~ignoreError - [data_c,reset_tmp] = merge2Regions (data_c, [sister1, sister2], CONST); - modRegions = [modRegions;sister1;sister2]; - else - [data_c,data_r,cell_count,reset_tmp,modids_tmp] = mapBestOfTwo (data_c, mapRC, data_r, rCellsFromC, time, verbose, cell_count,header); - modRegions = [modRegions;modids_tmp]; - end - resetRegions = or(reset_tmp,resetRegions); - else - [data_c, data_r, cell_count] = createDivision (data_c,data_r,mother,sister1,sister2, cell_count, time,header, verbose); - modRegions = [modRegions;sister1;sister2]; - end - elseif numel(sister2) == 1 && any(mapRC==regNum) && any(data_c.regs.map.r{sister2} ~= mother) - % map the one-to-one to mother - errorStat = (data_c.regs.error.r(regNum)>0); - [data_c, data_r] = continueCellLine( data_c, regNum, data_r, rCellsFromC, time, errorStat); - - elseif ~any(mapRC==regNum) - % ERROR NOT FIXED : mapCR maps to mother. but mother maps to - % two other cells.. - % OTHER POSSIBLE RESOLUTIONS.. : - % 1 : merging missing, cell divided but piece fell out - check - % if all three should be mapped - % 2 : get the best two couples of the three - - % force mapping - sister1 = regNum; - sister2 = mapRC(1); - sister3 = mapRC(2); - - % make a new cell for regNum with error... - [data_c,cell_count] = createNewCell (data_c, regNum, time, cell_count); - data_c.regs.error.r(regNum) = 1; - data_c.regs.error.label{regNum} = ['Frame: ', num2str(time),... - ', reg: ', num2str(regNum),'. Incorrect Mapping 1 to 2 - making a new cell']; - - if verbose - disp([header, 'ErRes: ', data_c.regs.error.label{regNum}]); - end - % red : regNum, green : ones mother maps to, blue : mother - if debug_flag - imshow(cat(3,0.5*ag(data_c.phase) + 0.5*ag(data_c.regs.regs_label==regNum), ... - ag((data_c.regs.regs_label == mapRC(1)) + ... - (data_c.regs.regs_label==mapRC(2))),ag(data_r.regs.regs_label==mother))); - end - else - data_c.regs.error.label{regNum} = ['Frame: ', num2str(time),... - ', reg: ', num2str(regNum),'. Error not fixed - two to 1 but don''t know what to do.']; - - if verbose - disp([header, 'ErRes: ', data_c.regs.error.label{regNum}]); - end - - end - elseif numel(rCellsFromC) > 1 - % 1 in current maps to two in reverse - % try to find a segment that should be turned on in current - % frame, exit regNum loop, make time - 1 and relink - - % The two in reverse map to regNum only - % twoInRMapToCOnly = numel(data_r.regs.map.f{rCellsFromC(1)}) == 1 && data_r.regs.map.f{rCellsFromC(1)}==regNum && ... - % numel(data_r.regs.map.f{rCellsFromC(2)}) == 1 && data_r.regs.map.f{rCellsFromC(2)}==regNum; - - if debug_flag - imshow(cat(3,0.5*ag(data_c.phase), 0.7*ag(data_c.regs.regs_label==regNum),... - ag((data_r.regs.regs_label==rCellsFromC(1)) + (data_r.regs.regs_label==rCellsFromC(2))))); - end - - - if ~ignoreError %& twoInRMapToCOnly - [data_c,success] = missingSeg2to1 (data_c,regNum,data_r,rCellsFromC,CONST); - else - success = false; - end - - if success % segment found - data_c.regs.error.r(regNum) = 0; - data_c.regs.error.label{regNum} = ['Frame: ', num2str(time),... - ', reg: ', num2str(regNum),'. Segment added to fix 2 to 1 error']; - - if verbose - disp([header, 'ErRes: ', data_c.regs.error.label{regNum}]); - end - if debug_flag - imshow(cat(3,ag(data_c.regs.regs_label == regNum)+0.5*ag(data_c.phase),... - ag(data_r.regs.regs_label == rCellsFromC(1)),... - ag(data_r.regs.regs_label == rCellsFromC(2)))); - end - resetRegions = true; - else - % ERROR NOT FIXED : link to the one with the best score - [data_c,data_r] = mapToBestOfTwo (data_c, regNum, data_r, rCellsFromC, time, verbose,header); - end - - - elseif numel(rCellsFromC) == 1 && numel(cCellsFromR) > 2 - - haveNoMatch = any(isempty({data_c.regs.map.f{cCellsFromR}})); - forwMap = [data_c.regs.map.f{cCellsFromR}]; - forwardMap = unique(forwMap); - occur = histc(forwMap,forwardMap); - matchToTheSame = ~haveNoMatch && numel(forwardMap)==1; - someMatchToSame = ~haveNoMatch && any(occur>1); - % r: one has no forward mapping, or both map to the same in fw - if ~isempty(data_f) && (haveNoMatch || matchToTheSame) - % wrong division merge cells - if ~ignoreError - [data_c,reset_tmp] = merge2Regions (data_c, cCellsFromR, CONST); - modRegions = [modRegions;cCellsFromR']; - else - [data_c,data_r,cell_count,reset_tmp,modids_tmp] = mapBestOfTwo (data_c, cCellsTransp, data_r, rCellsFromC, time, verbose, cell_count,header); - modRegions = [modRegions;modids_tmp]; - end - resetRegions = or(reset_tmp,resetRegions); - elseif ~isempty(data_f) && (someMatchToSame) - indFwMap = find(occur>1); - valueFw = forwardMap(indFwMap); - cellsToMerge = []; - for i = 1 : numel(cCellsFromR) - cur_cell = cCellsFromR(i); - if any(data_c.regs.map.f{cur_cell} == valueFw) - cellsToMerge = [cellsToMerge ;cur_cell]; - end - - end - [data_c,reset_tmp] = merge2Regions (data_c, cellsToMerge, CONST); - modRegions = [modRegions;cellsToMerge]; - end - else - - data_c.regs.error.label{regNum} = ['Frame: ', num2str(time),... - ', reg: ', num2str(regNum),'. Error not fixed']; - - if verbose - disp([header, 'ErRes: ', data_c.regs.error.label{regNum}]); - end - if debug_flag - intDisplay (data_r,rCellsFromC,data_c,regNum); - - end - - end - - end -end -%intDisplay (data_c,regToDelete,data_f,[]); -[data_c] = deleteRegions( data_c,regToDelete); - -end - - - -function intDisplay (data_c,regC,data_f,regF) -% intDisplay : displays linking -% reg : maskF -% green : maskC -% blue : all cell masks in c - - -maskC = data_c.regs.regs_label*0; -for c = 1 : numel(regC) - if ~isnan(regC(c)) - maskC = maskC + (data_c.regs.regs_label == regC(c))>0; - end -end - -if ~isempty (data_f) - maskF = data_f.regs.regs_label*0; - if isempty(regF) - disp('nothing') - imshow (cat(3,0*ag(maskF),ag(maskC),ag(data_c.mask_cell))); - else - for f = 1 : numel(regF) - if ~isnan(regF(f)) - maskF = maskF + (data_f.regs.regs_label == regF(f))>0; - end - end - imshow (cat(3,ag(maskF),ag(maskC),ag(data_c.mask_cell))); - end -end -end - - - - -function [ data_c, data_r, cell_count ] = createDivision (data_c,data_r,mother,sister1,sister2, cell_count, time, header, verbose) - -data_c.regs.error.label{sister1} = (['Frame: ', num2str(time),... - ', reg: ', num2str(sister1),' and ', num2str(sister2),' . cell division from mother reg', num2str(mother),'. [L1,L2,Sc] = [',... - num2str(data_c.regs.L1(sister1),2),', ',num2str(data_c.regs.L2(sister1),2),... - ', ',num2str(data_c.regs.scoreRaw(sister1),2),'].']); -if verbose - disp([header, 'ErRes: ', data_c.regs.error.label{sister1}] ); -end -data_r.regs.error.r(mother) = 0; -data_c.regs.error.r(sister1) = 0; -data_c.regs.error.r(sister2) = 0; -[data_c, data_r, cell_count] = markDivisionEvent( ... - data_c, sister1, data_r, mother, time, 0, sister2, cell_count); - -end - - -function result = hasNoFwMapping (data_c,regNum) -result = isempty(data_c.regs.map.f{regNum}); -end - - -function [data_c,data_r] = mapToBestOfTwo (data_c, regNum, data_r, mapCR, time, verbose,header) -% maps to best from two forward - - -flaggerC = (data_c.regs.idsC.r(1,:) == regNum) & isnan(data_c.regs.idsC.r(2,:)); -flaggerR1 = (data_c.regs.idsR.r(1,:) == mapCR(1)) & isnan(data_c.regs.idsR.r(2,:)); -flaggerR2 = (data_c.regs.idsR.r(1,:) == mapCR(2)) & isnan(data_c.regs.idsR.r(2,:)); - -loc1 = find(flaggerC&flaggerR1); -loc2 = find(flaggerC&flaggerR2); -cost1 = data_c.regs.cost.r(loc1); -cost2 = data_c.regs.cost.r(loc2); - -if isempty(cost2) || cost10); -[data_c, data_r] = continueCellLine( data_c, keeper, data_r, mapCR, time, errorStat); -data_c.regs.revmap.r{mapCR} = keeper; - - -data_c.regs.error.r(remove) = 1; -idsOfModRegions = [remove;keeper]; -if REMOVE_STRAY && hasNoFwMapping(data_c,remove) - data_c.regs.error.label{remove} = (['Frame: ', num2str(time),... - ', reg: ', num2str(remove),' was not the best match for ', num2str(mapCR),' and was deleted.' num2str(keeper) , ' was.']); - if verbose - disp([header, 'ErRes: ', data_c.regs.error.label{remove}] ); - end - regToDelete = [regToDelete;remove]; - resetRegions = true; -else - [data_c,cell_count] = createNewCell (data_c, remove, time, cell_count); - data_c.regs.error.label{remove} = (['Frame: ', num2str(time),... - ', reg: ', num2str(remove),' was not the best match for ', num2str(mapCR),' made into a new cell.']); - if verbose - disp([header, 'ErRes: ', data_c.regs.error.label{remove}] ); - end -end -end \ No newline at end of file diff --git a/frameLink/trackOptiStripSmall.m~ b/frameLink/trackOptiStripSmall.m~ deleted file mode 100644 index 156c944..0000000 --- a/frameLink/trackOptiStripSmall.m~ +++ /dev/null @@ -1,136 +0,0 @@ -function trackOptiStripSmall(dirname, CONST, disp_flag) -% trackOptiStripSmall : removes small regions and fills holes in the regions. -% It removes regions anything with area below CONST.trackOpti.MIN_AREA -% that are probably not real, typically bubbles, dust, or minicells. -% It then creates a new cell mask and new region fields and resaves the seg -% file. -% -% INPUT : -% dirname : seg folder eg. maindirectory/xy1/seg -% CONST : Constants file -% -% Copyright (C) 2016 Wiggins Lab -% Written by Stella Stylianidou & Paul Wiggins. -% University of Washington, 2016 -% This file is part of SuperSegger. -% -% SuperSegger is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% SuperSegger is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with SuperSegger. If not, see . - - -VERY_SMALL_AREA = CONST.trackOpti.MIN_AREA; % smaller that this is stripped -MIN_AREA = CONST.trackOpti.MIN_AREA; % smaller that this is stripped if no neighbors -dirname = fixDir(dirname); -contents=dir([dirname '*_seg.mat']); -num_im = length(contents); - -if ~exist('disp_flag','var') || isempty(disp_flag) - disp_flag = 0; -end - - -if CONST.parallel.show_status - h = waitbar( 0, 'Strip small cells.'); - cleanup = onCleanup( @()( delete( h ) ) ); -else - h = []; -end -SE = strel('disk',3); - -for i = 1:num_im; - - if CONST.parallel.show_status - waitbar((num_im-i)/num_im,h,['Strip small cells--Frame: ',num2str(i),'/',num2str(num_im)]); - end - - data_c = loaderInternal([dirname,contents(i).name]); % load data - - % remove small area regions - regs_label = bwlabel(data_c.mask_cell); - props = regionprops( regs_label, 'Area' ); - area_props = [props(:).Area]; - small = find(area_props<=MIN_AREA); - - small_new = []; - % only if they can not connect to other cells - for j = 1 : numel(small) - id = small(j); - mask = imdilate(regs_label == id,SE); - neighbors = unique(regs_label(mask)); - neighbors = neighbors(neighbors~=id); - neighbors = neighbors(neighbors~=0); - if isempty(neighbors) || (area_props(id) < VERY_SMALL_AREA) - small_new = [small_new,id]; - end - end - - - % remove the small from the mask - cellmask_small= ismember( regs_label,small_new ); - cellmask_nosmall = data_c.mask_cell ; - cellmask_nosmall (cellmask_small) = 0; - - data_c.mask_bg (cellmask_small) =0; - - % remove segments in small regions - dilatedMask = imdilate(cellmask_nosmall, strel('square',4)); - data_c.segs.segs_3n(~dilatedMask) = 0; - data_c.segs.segs_good(~dilatedMask) = 0; - data_c.segs.segs_bad(~dilatedMask) = 0; - - - % filling the holes in each region separetely - ss = size( data_c.phase ); - regs_label = bwlabel( cellmask_nosmall ); - props = regionprops( regs_label, {'Area','BoundingBox'} ); - num_props = numel(props); - mask_new = false(ss); - - for ii = 1:num_props - [xx,yy] = getBBpad(props(ii).BoundingBox, ss,1); - mask = (regs_label(yy,xx)==ii); - mask__ = bwmorph(bwmorph( mask, 'dilate'), 'erode' ); - mask__ = imfill(mask__,'holes'); - mask_tmp = mask_new(yy,xx); - mask_tmp(mask__) = true; - mask_new(yy,xx) = mask_tmp; - end - - - if disp_flag - imshow(cat(3,ag( data_c.mask_cell),ag(mask_new),ag(mask_new))); - pause; - end - - data_c.mask_cell = mask_new; - - % remake the regions - data_c = intMakeRegs( data_c, CONST); - - % save the updated *seg.mat file - dataname=[dirname,contents(i).name]; - save(dataname,'-STRUCT','data_c'); - - -end - -if CONST.parallel.show_status - close(h); -end - -end - - -function data = loaderInternal( filename ) -data = load( filename ); -end \ No newline at end of file diff --git a/settings/loadConstants.m b/settings/loadConstants.m index 2516564..fe24951 100644 --- a/settings/loadConstants.m +++ b/settings/loadConstants.m @@ -34,8 +34,13 @@ % You should have received a copy of the GNU General Public License % along with SuperSegger. If not, see . +% gets the list of all possible constants in the settings folder +[possibleConstants, list, filepath] = getConstantsList(); + +CONST = []; if nargin < 1 || isempty( res ) - disp ('No constant chosen'); + disp ('No constant chosen. Possible constants are : '); + disp(list'); return; end @@ -47,8 +52,7 @@ dispText = true; end -% gets the list of all possible constants in the settings folder -[possibleConstants, ~, filepath] = getConstantsList(); + % default values for numbers resFlag = []; @@ -186,7 +190,10 @@ ConstLoaded = load(res); CONST.ResFlag = res; else - errordlg('loadConstants: Constants not loaded : no match found. Aborting.'); + errordlg('loadConstants: Constants not loaded : no match found. Aborting. '); + disp(['Possible constants']); + disp(list'); + CONST = []; return; end diff --git a/viz/superSeggerViewerGui.fig b/viz/superSeggerViewerGui.fig index 0ba4addb848e962e178cac4a07651334338c2f28..4da48f38eae4401ed9aaae2425a2ade1a293ef5f 100644 GIT binary patch delta 1229973 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