From 6264a3eed5f0dab5baedd14d0760afbd74511580 Mon Sep 17 00:00:00 2001 From: Kevin-Mattheus-Moerman Date: Wed, 1 Sep 2021 17:50:47 +0100 Subject: [PATCH] Added and rendered license boiler plate on codes and documentation --- .gitignore | 2 + data/BodyParts3D/mat/FMA16586.mat | Bin 94479 -> 94479 bytes data/BodyParts3D/mat/FMA24474.mat | Bin 124986 -> 124986 bytes data/BodyParts3D/mat/FMA24477.mat | Bin 66002 -> 66002 bytes data/BodyParts3D/mat/FMA24480.mat | Bin 44771 -> 44771 bytes data/BodyParts3D/mat/FMA24486.mat | Bin 12235 -> 12235 bytes data/BodyParts3D/mat/FMA7163.mat | Bin 13882474 -> 13882474 bytes data/BodyParts3D/post/skin_leg_right.mat | Bin 487263 -> 487263 bytes docs/docTools/addCodeFooter.m | 69 + docs/docTools/removeCodeFooter.m | 58 + licenseBoilerPlate.txt | 14 + mcode/A_BodyParts3D_convert_STL_to_MAT.m | 156 ++- mcode/B_BodyParts3D_remesh_surfaces.m | 171 +-- ...BodyParts3D_isolateLegOuterSkinSurface.asv | 97 -- ...C_BodyParts3D_isolateLegOuterSkinSurface.m | 221 ++-- .../A_BodyParts3D_convert_STL_to_MAT.html | 157 ++- mcode/html/B_BodyParts3D_remesh_surfaces.html | 171 +-- mcode/html/B_BodyParts3D_remesh_surfaces.png | Bin 3754 -> 3754 bytes .../html/B_BodyParts3D_remesh_surfaces_01.png | Bin 197015 -> 197015 bytes .../html/B_BodyParts3D_remesh_surfaces_02.png | Bin 150895 -> 150895 bytes .../html/B_BodyParts3D_remesh_surfaces_03.png | Bin 147629 -> 147629 bytes .../html/B_BodyParts3D_remesh_surfaces_04.png | Bin 92145 -> 92145 bytes .../html/B_BodyParts3D_remesh_surfaces_05.png | Bin 266708 -> 266708 bytes ...odyParts3D_isolateLegOuterSkinSurface.html | 241 ++-- ...BodyParts3D_isolateLegOuterSkinSurface.png | Bin 1736 -> 1736 bytes ...yParts3D_isolateLegOuterSkinSurface_01.png | Bin 168824 -> 168824 bytes mcode/processAmputation.m | 1131 +++++++++-------- 27 files changed, 1331 insertions(+), 1157 deletions(-) create mode 100644 .gitignore create mode 100644 docs/docTools/addCodeFooter.m create mode 100644 docs/docTools/removeCodeFooter.m create mode 100644 licenseBoilerPlate.txt delete mode 100644 mcode/C_BodyParts3D_isolateLegOuterSkinSurface.asv diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..af3151e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Ignore temporary matlab ASV files +*.asv diff --git a/data/BodyParts3D/mat/FMA16586.mat b/data/BodyParts3D/mat/FMA16586.mat index f02bf20977e4ba1c30736dfc046648d414d083c4..df7796683ed09e28ae7225fa1b9718453c94e856 100644 GIT binary patch delta 32 ocmeBw#M=Leb%GO@iJ_IDfr62Nk>SKZ<%tQbjU`)47-ts%0JFOa(*OVf delta 32 ocmeBw#M=Leb%GO@k*Sq|rGk-xk>SKZ<%tQbjU`)47-ts%0JMAx-2eap diff --git a/data/BodyParts3D/mat/FMA24474.mat b/data/BodyParts3D/mat/FMA24474.mat index 46ac0adad53a277304da011ccc58aa57d4feb12c..cb27c8f0633fe546c87b758f86ed5566a6100c47 100644 GIT binary patch delta 32 ocmdmWfqmBn_6bg0CWcmq1`0+7Murmul_w^!HkNEHVLbL60J{?ls{jB1 delta 32 ocmdmWfqmBn_6bg0My6HSKZ<%tQbjU`)47~>cLtg8v_ delta 32 ncmccA%yOxjWr7ozk*Sq|rGk-xk>SKZ<%tQbjU`)47~>cLt!xSR diff --git a/data/BodyParts3D/mat/FMA24480.mat b/data/BodyParts3D/mat/FMA24480.mat index 35a53621a0815ac2b10685afeb11e77322ea0fcd..e83c719ef1cddfc2e263a3b195b436e0533d8878 100644 GIT binary patch delta 29 lcmaESm+A3crU_15CWcmq1`0+7Murmul_w^!ZY;@P2LPp&3WERu delta 29 lcmaESm+A3crU_15My6Hde>#4G6PJmhm7#%xk%5un#6abV39K7S!u0`x!U((o delta 27 icmX>de>#4G6PJ;xm4T&#k%5un#6abV39K7S!u0`yWeCOq diff --git a/data/BodyParts3D/mat/FMA7163.mat b/data/BodyParts3D/mat/FMA7163.mat index 73e0bbf7b8a7f2e477067ea5e1656323ebd6b25a..b41bb21dc522663cccc7a162b8605af4177fe6ea 100644 GIT binary patch delta 664 zcmWO2RaO)L06@`WfPyV{fnp~!Vxab}%N+qc*VG=G?q^d+nq*RmYQbTG=EvYSa zq^?9sJ*h7Zq@gsD#?nNZN;7FLEhJiEq@}cySZOV7q^-1*_R>K*N+;_6v}nEAvfig+?G3XSMJGuc_0tv zkrc^ec_L5cnLL*l@={*OYk4DY<(<5j5Asny$!GZ@U*(&8mml&|e#vhsmOoM=e~T#n GSNb2iZ80MN delta 664 zcmWO2RaO)L06@`WfPyV{fnp~!ih+uV-2!%EcRw3Y)Te^Q*xiAh*xil5E?5BH@^LqC zOY;lEOUvaYM+V~)0)d!dTrdzyi4CQPWg``&qEwQ~5+>nNMXE}KL`pTOE;Xd4)RNj# zN9szH)RX$sKpILTX)H~osWg-3(n6voMp{ZMiIvvUM%qd{X)hh5qjZwa(nY#TH;I#g z1f{$5ka+1Sy`;DFkp$^0{iMGn$^c1{fs!nPWUvg8p)yQ{%Lo}Mqhz#};!A(@gT+hn_B%MRHoyF}S7dt|TVNUrRY{c=DK$|1>P3GjdkW$$7aT7v+*%mMd~quE}+|A^CDsZpm%ABX{MV+?NOPP#(!+ zc_Ib!RG!Imc_A<5mAsZW@>br-d-)(A<&%7tFY;Bs$#?l7KjoMFmOt`W3gw>^NpS%s HWhMUsy!tUD diff --git a/data/BodyParts3D/post/skin_leg_right.mat b/data/BodyParts3D/post/skin_leg_right.mat index 32ecdf167dbd300fd294a4f32ac4df14e40ad98d..08fa4d1d71a630f6b4f8e116d392a4ed048a380a 100644 GIT binary patch delta 50 zcmcbAPxk&j*$GZuCPr3<#tKFTMurmul_w^!HkP!OFt(O3wU#iqmaw#zu(p=4Z7pGc God*EUT@l^@ delta 50 zcmcbAPxk&j*$GZuMrKyV<_bmzMurmul_w^!HkP!OFt(O3wU#iqmaw#zu(p=4Z7pGc God*EVixK7k diff --git a/docs/docTools/addCodeFooter.m b/docs/docTools/addCodeFooter.m new file mode 100644 index 0000000..7251341 --- /dev/null +++ b/docs/docTools/addCodeFooter.m @@ -0,0 +1,69 @@ +clear; close all; clc; + +%% + +toolboxPath=fileparts(fileparts(fileparts(mfilename('fullpath')))); +docPath=fullfile(fileparts(fileparts(fileparts(mfilename('fullpath')))),'docs'); +libPath=fullfile(fileparts(fileparts(fileparts(mfilename('fullpath')))),'mcode'); +docToolsPath=fullfile(fileparts(fileparts(fileparts(mfilename('fullpath')))),'docs','docTools'); + +pathNames={docToolsPath,libPath,docPath}; + +%% Prepare boilerplate + +licenseBoilerPlate=fullfile(toolboxPath,'licenseBoilerPlate.txt'); +[T]=txtfile2cell(licenseBoilerPlate); + +footerTargetText='% _*SimuLimb footer text*_ '; + +%% + +licenseLink='https://github.com/SimuLimb/simulateAmputation.m/blob/main/LICENSE'; + +%Add comment symbols +for q=1:1:numel(T) + T{q}=['% ',T{q}]; +end + +%Add target header +T=[{'%% '};{footerTargetText};{'% '};{['% License: <',licenseLink,'>']};T(1:end)]; + +%% + +fileExtension='.m'; + +%% + +numPaths=numel(pathNames); +for q_path=1:1:numPaths + pathName=pathNames{q_path}; + files = dir(fullfile(pathName,'*.m')); + files={files(1:end).name}; + files=sort(files(:)); + numFiles=numel(files); + for q_file=1:1:numFiles + fileName=fullfile(pathName,files{q_file}); + [T_now]=txtfile2cell(fileName); + T_now(end+1:end+numel(T))=T; + cell2txtfile(fileName,T_now,0); + end +end + +%% +% _*SimuLimb footer text*_ +% +% License: +% +% Copyright (C) 2006-2021 Kevin Mattheus Moerman and the SimuLimb contributors +% +% Licensed under the Apache License, Version 2.0 (the "License"); +% you may not use this file except in compliance with the License. +% You may obtain a copy of the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +% See the License for the specific language governing permissions and +% limitations under the License. diff --git a/docs/docTools/removeCodeFooter.m b/docs/docTools/removeCodeFooter.m new file mode 100644 index 0000000..5606fa0 --- /dev/null +++ b/docs/docTools/removeCodeFooter.m @@ -0,0 +1,58 @@ +clear; close all; clc; + +%% Path names + +toolboxPath=fileparts(fileparts(fileparts(mfilename('fullpath')))); +docPath=fullfile(fileparts(fileparts(fileparts(mfilename('fullpath')))),'docs'); +libPath=fullfile(fileparts(fileparts(fileparts(mfilename('fullpath')))),'mcode'); +docToolsPath=fullfile(fileparts(fileparts(fileparts(mfilename('fullpath')))),'docs','docTools'); + +pathNames={docToolsPath,libPath,docPath}; + +%% + +fileExtension='.m'; %Extension to remove boilerplate from + +footerTargetStart='% _*SimuLimb footer text*_ '; %Target for removal + +%N.B. Removal is up to end from the start so make sure the target is +%appropriately set!!!!! + +%% Removing footer text + +numPaths=numel(pathNames); +for q_path=1:1:numPaths + pathName=pathNames{q_path}; + files = dir(fullfile(pathName,'*.m')); + files={files(1:end).name}; + files=sort(files(:)); + numFiles=numel(files); + for q_file=1:1:numFiles + fileName=fullfile(pathName,files{q_file}); + [T_now]=txtfile2cell(fileName); + targetStartIndex = find(strcmp(footerTargetStart,T_now)); + if ~isempty(targetStartIndex) + targetStartIndex=targetStartIndex(end); %Keep last occurance + T_now=T_now(1:targetStartIndex-1-1); %NB -1 is used to remove %% above target + cell2txtfile(fileName,T_now,0,0); + end + end +end +%% +% _*SimuLimb footer text*_ +% +% License: +% +% Copyright (C) 2006-2021 Kevin Mattheus Moerman and the SimuLimb contributors +% +% Licensed under the Apache License, Version 2.0 (the "License"); +% you may not use this file except in compliance with the License. +% You may obtain a copy of the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +% See the License for the specific language governing permissions and +% limitations under the License. diff --git a/licenseBoilerPlate.txt b/licenseBoilerPlate.txt new file mode 100644 index 0000000..44d31b8 --- /dev/null +++ b/licenseBoilerPlate.txt @@ -0,0 +1,14 @@ + +Copyright (C) 2006-2021 Kevin Mattheus Moerman and the SimuLimb contributors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/mcode/A_BodyParts3D_convert_STL_to_MAT.m b/mcode/A_BodyParts3D_convert_STL_to_MAT.m index fc46db4..d248320 100644 --- a/mcode/A_BodyParts3D_convert_STL_to_MAT.m +++ b/mcode/A_BodyParts3D_convert_STL_to_MAT.m @@ -1,69 +1,87 @@ -clear; close all; clc; - -%% Description -% This code parses all STL files in the /stl folder and exports them as MAT -% files to the /mat folder. -% -% This code requires the GIBBON MATLAB toolbox -% - -%% Control parameters - -% Path names -projectFolder = fileparts(fileparts(mfilename('fullpath'))); %Main code path -loadFolder=fullfile(projectFolder,'data','BodyParts3D','stl'); %The STL loading folder -saveFolder=fullfile(projectFolder,'data','BodyParts3D','mat'); %The MAT saving folder - -%% - -%Get list of all STL files -fileList = dir(fullfile(loadFolder,['*','stl'])); -fileList={fileList(1:end).name}; - -Dc=readtable(fullfile(projectFolder,'data','BodyParts3D','FMA_ID_label_obj.csv')); -P=lower(Dc.FMAID); - -%Convert all STL files to MAT -numFiles=numel(fileList); %Number of files to parse -for q=1:1:numFiles %Loop over all files - %Get file name - [~,fileNameClean,~]=fileparts(fileList{q}); %File name without path or extension - - %Prepare STL file name - fileNameLoad=fullfile(loadFolder,fileList{q}); %STL file name - - %Prepare save file name - fileNameSave=fullfile(saveFolder,[fileNameClean,'.mat']); %MAT file name - - %Get FMAID code - FMAID=sscanf(fileNameClean,'FMA%d'); - - %Get preferred name - logicFMAID=P==FMAID; - preferredName=Dc.preferredName{logicFMAID}; - - %Parse STL import - disp(['Parsing file ', num2str(q),' of ',num2str(numFiles),', ',sprintf('%3.0f',round(100*q/numFiles)),'% done, ',fileNameClean,', ',preferredName]) - try %MATLAB's stlread - TR = stlread(fileNameLoad); - v=TR.Points; - f=TR.ConnectivityList; - catch %GIBBON's importer - [stlStruct] = import_STL_bin(fileNameLoad); - v=stlStruct.solidVertices{1}; - f=stlStruct.solidFaces{1}; - end - - %Merge vertices - [f,v]=mergeVertices(f,v); - - %Build model structure - model.sourceName=fileList{q}; - model.preferredName=preferredName; - model.faces=f; - model.vertices=v; - - %Export MAT file - save(fileNameSave,'-struct','model'); -end - +clear; close all; clc; + +%% Description +% This code parses all STL files in the /stl folder and exports them as MAT +% files to the /mat folder. +% +% This code requires the GIBBON MATLAB toolbox +% + +%% Control parameters + +% Path names +projectFolder = fileparts(fileparts(mfilename('fullpath'))); %Main code path +loadFolder=fullfile(projectFolder,'data','BodyParts3D','stl'); %The STL loading folder +saveFolder=fullfile(projectFolder,'data','BodyParts3D','mat'); %The MAT saving folder + +%% + +%Get list of all STL files +fileList = dir(fullfile(loadFolder,['*','stl'])); +fileList={fileList(1:end).name}; + +Dc=readtable(fullfile(projectFolder,'data','BodyParts3D','FMA_ID_label_obj.csv')); +P=lower(Dc.FMAID); + +%Convert all STL files to MAT +numFiles=numel(fileList); %Number of files to parse +for q=1:1:numFiles %Loop over all files + %Get file name + [~,fileNameClean,~]=fileparts(fileList{q}); %File name without path or extension + + %Prepare STL file name + fileNameLoad=fullfile(loadFolder,fileList{q}); %STL file name + + %Prepare save file name + fileNameSave=fullfile(saveFolder,[fileNameClean,'.mat']); %MAT file name + + %Get FMAID code + FMAID=sscanf(fileNameClean,'FMA%d'); + + %Get preferred name + logicFMAID=P==FMAID; + preferredName=Dc.preferredName{logicFMAID}; + + %Parse STL import + disp(['Parsing file ', num2str(q),' of ',num2str(numFiles),', ',sprintf('%3.0f',round(100*q/numFiles)),'% done, ',fileNameClean,', ',preferredName]) + try %MATLAB's stlread + TR = stlread(fileNameLoad); + v=TR.Points; + f=TR.ConnectivityList; + catch %GIBBON's importer + [stlStruct] = import_STL_bin(fileNameLoad); + v=stlStruct.solidVertices{1}; + f=stlStruct.solidFaces{1}; + end + + %Merge vertices + [f,v]=mergeVertices(f,v); + + %Build model structure + model.sourceName=fileList{q}; + model.preferredName=preferredName; + model.faces=f; + model.vertices=v; + + %Export MAT file + save(fileNameSave,'-struct','model'); +end + +%% +% _*SimuLimb footer text*_ +% +% License: +% +% Copyright (C) 2006-2021 Kevin Mattheus Moerman and the SimuLimb contributors +% +% Licensed under the Apache License, Version 2.0 (the "License"); +% you may not use this file except in compliance with the License. +% You may obtain a copy of the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +% See the License for the specific language governing permissions and +% limitations under the License. diff --git a/mcode/B_BodyParts3D_remesh_surfaces.m b/mcode/B_BodyParts3D_remesh_surfaces.m index 10041a2..f8b8f23 100644 --- a/mcode/B_BodyParts3D_remesh_surfaces.m +++ b/mcode/B_BodyParts3D_remesh_surfaces.m @@ -1,76 +1,95 @@ -clear; close all; clc; - -%% Description -% This code parses a selection of MAT files in the /mat folder for surface -% meshes, and remeshes them at a desired point spacing. The remeshed -% surfaces are exported to the /post folder. -% -% This code requires the GIBBON MATLAB toolbox -% - -%% Plotting settings -lineWidth=0.5; - -%% Control parameters - -% Path names -projectFolder = fileparts(fileparts(mfilename('fullpath'))); %Main code path -loadFolder=fullfile(projectFolder,'data','BodyParts3D','mat'); %The MAT loading folder -saveFolder=fullfile(projectFolder,'data','BodyParts3D','post'); %The MAT saving folder for processed data - -fileNames_FMA={'FMA16586','FMA24474','FMA24477','FMA24480','FMA24486'}; - -pointSpacings=[4 4 4 3 3]; - -optionStructRemesh.disp_on=0; % Turn off command window text display - -saveOn=0; - -%% - -for q=1:1:numel(fileNames_FMA) - - %% Import mesh - fileName_FMA=fileNames_FMA{q}; - fileName_mat=fullfile(loadFolder,[fileName_FMA,'.mat']); - - model=load(fileName_mat); - F=model.faces; - V=model.vertices; - - %% Remesh - optionStructRemesh.pointSpacing=pointSpacings(q); %Set desired point spacing - [Fn,Vn]=ggremesh(F,V,optionStructRemesh); - - %% Visualisation - - cFigure; - gtitle([fileName_FMA,' ',model.preferredName]) - subplot(1,2,1); - title('Raw'); - gpatch(F,V,'w','r',1,lineWidth); - axisGeom; - camlight headlight; - - subplot(1,2,2); - title('Remeshed'); - gpatch(Fn,Vn,'w','g',1,lineWidth); - axisGeom; - camlight headlight; - gdrawnow; - - %% Saving - - modelNew.source=model; - modelNew.faces=Fn; - modelNew.vertices=Vn; - modelNew.pointSpacing=pointSpacings(q); - - if saveOn==1 - %Create save name with lowercase letters and underscores instead of spaces - saveNameMesh=regexprep(lower(model.preferredName),' ','_'); - saveName_mat=fullfile(saveFolder,[saveNameMesh,'.mat']); - save(saveName_mat,'-struct','modelNew') - end - -end \ No newline at end of file +clear; close all; clc; + +%% Description +% This code parses a selection of MAT files in the /mat folder for surface +% meshes, and remeshes them at a desired point spacing. The remeshed +% surfaces are exported to the /post folder. +% +% This code requires the GIBBON MATLAB toolbox +% + +%% Plotting settings +lineWidth=0.5; + +%% Control parameters + +% Path names +projectFolder = fileparts(fileparts(mfilename('fullpath'))); %Main code path +loadFolder=fullfile(projectFolder,'data','BodyParts3D','mat'); %The MAT loading folder +saveFolder=fullfile(projectFolder,'data','BodyParts3D','post'); %The MAT saving folder for processed data + +fileNames_FMA={'FMA16586','FMA24474','FMA24477','FMA24480','FMA24486'}; + +pointSpacings=[4 4 4 3 3]; + +optionStructRemesh.disp_on=0; % Turn off command window text display + +saveOn=0; + +%% + +for q=1:1:numel(fileNames_FMA) + + %% Import mesh + fileName_FMA=fileNames_FMA{q}; + fileName_mat=fullfile(loadFolder,[fileName_FMA,'.mat']); + + model=load(fileName_mat); + F=model.faces; + V=model.vertices; + + %% Remesh + optionStructRemesh.pointSpacing=pointSpacings(q); %Set desired point spacing + [Fn,Vn]=ggremesh(F,V,optionStructRemesh); + + %% Visualisation + + cFigure; + gtitle([fileName_FMA,' ',model.preferredName]) + subplot(1,2,1); + title('Raw'); + gpatch(F,V,'w','r',1,lineWidth); + axisGeom; + camlight headlight; + + subplot(1,2,2); + title('Remeshed'); + gpatch(Fn,Vn,'w','g',1,lineWidth); + axisGeom; + camlight headlight; + gdrawnow; + + %% Saving + + modelNew.source=model; + modelNew.faces=Fn; + modelNew.vertices=Vn; + modelNew.pointSpacing=pointSpacings(q); + + if saveOn==1 + %Create save name with lowercase letters and underscores instead of spaces + saveNameMesh=regexprep(lower(model.preferredName),' ','_'); + saveName_mat=fullfile(saveFolder,[saveNameMesh,'.mat']); + save(saveName_mat,'-struct','modelNew') + end + +end + +%% +% _*SimuLimb footer text*_ +% +% License: +% +% Copyright (C) 2006-2021 Kevin Mattheus Moerman and the SimuLimb contributors +% +% Licensed under the Apache License, Version 2.0 (the "License"); +% you may not use this file except in compliance with the License. +% You may obtain a copy of the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +% See the License for the specific language governing permissions and +% limitations under the License. diff --git a/mcode/C_BodyParts3D_isolateLegOuterSkinSurface.asv b/mcode/C_BodyParts3D_isolateLegOuterSkinSurface.asv deleted file mode 100644 index 2a9f754..0000000 --- a/mcode/C_BodyParts3D_isolateLegOuterSkinSurface.asv +++ /dev/null @@ -1,97 +0,0 @@ -clear; close all; clc; - -%% Description -% This code processes the MAT file for the skin surface (found in the /mat -% folder), since it contains both the inner and outer skin surfaces. The -% inner surface is removed and the outer surface is processed to produce a -% single "water tight" mesh. The surface is also remeshed using ggremesh. -% The remeshed surface is exported to the /post folder. -% -% This code requires the GIBBON MATLAB toolbox -% - -%% Plotting settings -lineWidth=0.5; - -%% Control parameters - -% Path names -projectFolder = fileparts(fileparts(mfilename('fullpath'))); %Main code path -loadFolder=fullfile(projectFolder,'data','BodyParts3D','mat'); %The MAT loading folder -saveFolder=fullfile(projectFolder,'data','BodyParts3D','post'); %The MAT saving folder for processed data - -fileName_FMA='FMA7163'; -saveNameMesh='skin_leg_right'; - -pointSpacing=4; -cutHeight=675; -saveOn=1; - -%% - -fileName_mat=fullfile(loadFolder,[fileName_FMA,'.mat']); - -model=load(fileName_mat); -F=model.faces; -V=model.vertices; - -%% - -logicVertices=V(:,1)<0 & V(:,3)<=cutHeight+mean(patchEdgeLengths(F,V)); -logicFaces=any(logicVertices(F),2); -logicFaces=triSurfLogicSharpFix(F,logicFaces); -Fs=F(logicFaces,:); -[Fs,Vs]=patchCleanUnused(Fs,V); - -optionStruct.outputType='label'; -[G,~,groupSize]=tesgroup(Fs,optionStruct); -[~,indMax]=max(groupSize); -logicKeep=G==indMax; -Fs=Fs(logicKeep,:); -[Fs,Vs]=patchCleanUnused(Fs,Vs); - -snapTolerance=mean(patchEdgeLengths(Fs,Vs))/100; -n=vecnormalize([0 0 1]); %Normal direction to plane -P=[0 0 cutHeight]; %Point on plane -[Fc,Vc,~,logicSide]=triSurfSlice(Fs,Vs,[],P,n,snapTolerance); -[Fc,Vc]=patchCleanUnused(Fc(logicSide,:),Vc); - -%% - -shp = alphaShape(Vc,max(patchEdgeLengths(Fc,Vc)),'HoleThreshold',500,'RegionThreshold',1); -[Fa,Va] = boundaryFacets(shp); -[Fa,Va]=patchCleanUnused(Fa,Va); - -optionStruct2.pointSpacing=pointSpacing; %Set desired point spacing -optionStruct2.disp_on=1; % Turn off command window text display -[Fn,Vn]=ggremesh(Fa,Va,optionStruct2); - -%% Visualisation - -cFigure; -subplot(1,2,1); hold on; -gpatch(F,V,'w','none',0.25); -gpatch(Fn,Vn,'bw','none'); -axisGeom; -camlight headlight; - -subplot(1,2,2); hold on; -gpatch(Fn,Vn,'bw','k',1,lineWidth); -axisGeom; -camlight headlight; -gdrawnow; - -%% Store model in structure - -modelNew.source=fileName_FMA; -modelNew.faces=Fn; -modelNew.vertices=Vn; -modelNew.pointSpacing=pointSpacing; -modelNew.cutHeight=cutHeight; - -%% Save model - -if saveOn==1 - saveName_mat=fullfile(saveFolder,[saveNameMesh,'.mat']); - save(saveName_mat,'-struct','modelNew') -end diff --git a/mcode/C_BodyParts3D_isolateLegOuterSkinSurface.m b/mcode/C_BodyParts3D_isolateLegOuterSkinSurface.m index 16fa078..d689767 100644 --- a/mcode/C_BodyParts3D_isolateLegOuterSkinSurface.m +++ b/mcode/C_BodyParts3D_isolateLegOuterSkinSurface.m @@ -1,101 +1,120 @@ -clear; close all; clc; - -%% Description -% This code processes the MAT file for the skin surface (found in the /mat -% folder), since it contains both the inner and outer skin surfaces. The -% inner surface is removed and the outer surface is processed to produce a -% single "water tight" mesh. The surface is also remeshed using ggremesh. -% The remeshed surface is exported to the /post folder. -% -% This code requires the GIBBON MATLAB toolbox -% - -%% Plotting settings -lineWidth=0.5; - -%% Control parameters - -% Path names -projectFolder = fileparts(fileparts(mfilename('fullpath'))); %Main code path -loadFolder=fullfile(projectFolder,'data','BodyParts3D','mat'); %The MAT loading folder -saveFolder=fullfile(projectFolder,'data','BodyParts3D','post'); %The MAT saving folder for processed data - -fileName_FMA='FMA7163'; -saveNameMesh='skin_leg_right'; - -pointSpacing=4; -cutHeight=675; -saveOn=1; - -%% - -fileName_mat=fullfile(loadFolder,[fileName_FMA,'.mat']); - -model=load(fileName_mat); -F=model.faces; -V=model.vertices; - -%% - -logicVertices=V(:,1)<0 & V(:,3)<=cutHeight+mean(patchEdgeLengths(F,V)); -logicFaces=any(logicVertices(F),2); -logicFaces=triSurfLogicSharpFix(F,logicFaces); -Fs=F(logicFaces,:); -[Fs,Vs]=patchCleanUnused(Fs,V); - -optionStruct.outputType='label'; -[G,~,groupSize]=tesgroup(Fs,optionStruct); -[~,indMax]=max(groupSize); -logicKeep=G==indMax; -Fs=Fs(logicKeep,:); -[Fs,Vs]=patchCleanUnused(Fs,Vs); - -snapTolerance=mean(patchEdgeLengths(Fs,Vs))/100; -n=vecnormalize([0 0 1]); %Normal direction to plane -P=[0 0 cutHeight]; %Point on plane -[Fc,Vc,~,logicSide]=triSurfSlice(Fs,Vs,[],P,n,snapTolerance); -[Fc,Vc]=patchCleanUnused(Fc(logicSide,:),Vc); - -%% Construct alpha shape -% This deteriorates surface quality (bridges concave regions) but is a -% termporary "quick-and-dirty" work-around to obtain outer skin surface -% only. - -shp = alphaShape(Vc,max(patchEdgeLengths(Fc,Vc)),'HoleThreshold',500,'RegionThreshold',1); -[Fa,Va] = boundaryFacets(shp); %Get boundary faces of alpha shape -[Fa,Va] = patchCleanUnused(Fa,Va); %Remove unused vertices - -%% Remesh alpha shape using |ggremesh| -optionStructRemesh.pointSpacing=pointSpacing; %Set desired point spacing -optionStructRemesh.disp_on=1; % Turn off command window text display -[Fn,Vn]=ggremesh(Fa,Va,optionStructRemesh); - -%% Visualisation - -cFigure; -subplot(1,2,1); hold on; -gpatch(F,V,'w','none',0.25); -gpatch(Fn,Vn,'bw','none'); -axisGeom; -camlight headlight; - -subplot(1,2,2); hold on; -gpatch(Fn,Vn,'bw','k',1,lineWidth); -axisGeom; -camlight headlight; -gdrawnow; - -%% Store model in structure - -modelNew.source=fileName_FMA; -modelNew.faces=Fn; -modelNew.vertices=Vn; -modelNew.pointSpacing=pointSpacing; -modelNew.cutHeight=cutHeight; - -%% Save model - -if saveOn==1 - saveName_mat=fullfile(saveFolder,[saveNameMesh,'.mat']); - save(saveName_mat,'-struct','modelNew') -end +clear; close all; clc; + +%% Description +% This code processes the MAT file for the skin surface (found in the /mat +% folder), since it contains both the inner and outer skin surfaces. The +% inner surface is removed and the outer surface is processed to produce a +% single "water tight" mesh. The surface is also remeshed using ggremesh. +% The remeshed surface is exported to the /post folder. +% +% This code requires the GIBBON MATLAB toolbox +% + +%% Plotting settings +lineWidth=0.5; + +%% Control parameters + +% Path names +projectFolder = fileparts(fileparts(mfilename('fullpath'))); %Main code path +loadFolder=fullfile(projectFolder,'data','BodyParts3D','mat'); %The MAT loading folder +saveFolder=fullfile(projectFolder,'data','BodyParts3D','post'); %The MAT saving folder for processed data + +fileName_FMA='FMA7163'; +saveNameMesh='skin_leg_right'; + +pointSpacing=4; +cutHeight=675; +saveOn=1; + +%% + +fileName_mat=fullfile(loadFolder,[fileName_FMA,'.mat']); + +model=load(fileName_mat); +F=model.faces; +V=model.vertices; + +%% + +logicVertices=V(:,1)<0 & V(:,3)<=cutHeight+mean(patchEdgeLengths(F,V)); +logicFaces=any(logicVertices(F),2); +logicFaces=triSurfLogicSharpFix(F,logicFaces); +Fs=F(logicFaces,:); +[Fs,Vs]=patchCleanUnused(Fs,V); + +optionStruct.outputType='label'; +[G,~,groupSize]=tesgroup(Fs,optionStruct); +[~,indMax]=max(groupSize); +logicKeep=G==indMax; +Fs=Fs(logicKeep,:); +[Fs,Vs]=patchCleanUnused(Fs,Vs); + +snapTolerance=mean(patchEdgeLengths(Fs,Vs))/100; +n=vecnormalize([0 0 1]); %Normal direction to plane +P=[0 0 cutHeight]; %Point on plane +[Fc,Vc,~,logicSide]=triSurfSlice(Fs,Vs,[],P,n,snapTolerance); +[Fc,Vc]=patchCleanUnused(Fc(logicSide,:),Vc); + +%% Construct alpha shape +% This deteriorates surface quality (bridges concave regions) but is a +% termporary "quick-and-dirty" work-around to obtain outer skin surface +% only. + +shp = alphaShape(Vc,max(patchEdgeLengths(Fc,Vc)),'HoleThreshold',500,'RegionThreshold',1); +[Fa,Va] = boundaryFacets(shp); %Get boundary faces of alpha shape +[Fa,Va] = patchCleanUnused(Fa,Va); %Remove unused vertices + +%% Remesh alpha shape using |ggremesh| +optionStructRemesh.pointSpacing=pointSpacing; %Set desired point spacing +optionStructRemesh.disp_on=1; % Turn off command window text display +[Fn,Vn]=ggremesh(Fa,Va,optionStructRemesh); + +%% Visualisation + +cFigure; +subplot(1,2,1); hold on; +gpatch(F,V,'w','none',0.25); +gpatch(Fn,Vn,'bw','none'); +axisGeom; +camlight headlight; + +subplot(1,2,2); hold on; +gpatch(Fn,Vn,'bw','k',1,lineWidth); +axisGeom; +camlight headlight; +gdrawnow; + +%% Store model in structure + +modelNew.source=fileName_FMA; +modelNew.faces=Fn; +modelNew.vertices=Vn; +modelNew.pointSpacing=pointSpacing; +modelNew.cutHeight=cutHeight; + +%% Save model + +if saveOn==1 + saveName_mat=fullfile(saveFolder,[saveNameMesh,'.mat']); + save(saveName_mat,'-struct','modelNew') +end + +%% +% _*SimuLimb footer text*_ +% +% License: +% +% Copyright (C) 2006-2021 Kevin Mattheus Moerman and the SimuLimb contributors +% +% Licensed under the Apache License, Version 2.0 (the "License"); +% you may not use this file except in compliance with the License. +% You may obtain a copy of the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +% See the License for the specific language governing permissions and +% limitations under the License. diff --git a/mcode/html/A_BodyParts3D_convert_STL_to_MAT.html b/mcode/html/A_BodyParts3D_convert_STL_to_MAT.html index 3ae1f8b..f7d149e 100644 --- a/mcode/html/A_BodyParts3D_convert_STL_to_MAT.html +++ b/mcode/html/A_BodyParts3D_convert_STL_to_MAT.html @@ -128,77 +128,94 @@ Parsing file 4 of 6, 67% done, FMA24480, Right fibula Parsing file 5 of 6, 83% done, FMA24486, Right patella Parsing file 6 of 6, 100% done, FMA7163, Skin - \ No newline at end of file diff --git a/mcode/html/B_BodyParts3D_remesh_surfaces.html b/mcode/html/B_BodyParts3D_remesh_surfaces.html index 422e55f..85479b4 100644 --- a/mcode/html/B_BodyParts3D_remesh_surfaces.html +++ b/mcode/html/B_BodyParts3D_remesh_surfaces.html @@ -116,83 +116,102 @@ save(saveName_mat,'-struct','modelNew') end
end
-
\ No newline at end of file diff --git a/mcode/html/B_BodyParts3D_remesh_surfaces.png b/mcode/html/B_BodyParts3D_remesh_surfaces.png index c7a1bbc421b675ee4fb20db45ae5c0340bd165b4..e50295dc1ae131787c21c325e1d3ea16a9b6e051 100644 GIT binary patch delta 17 ZcmZ1_yGnL~9-F56q1kInH=3030RTE;28sXx delta 17 YcmZ1_yGnL~9-9>BE43qC8%@gi05`-2Jpcdz diff --git a/mcode/html/B_BodyParts3D_remesh_surfaces_01.png b/mcode/html/B_BodyParts3D_remesh_surfaces_01.png index 6eb12ebe6a98efd1e3f0a9bdbb9034c23204de55..a37c78a07d29602818ba0de5838a1d39204df06e 100644 GIT binary patch delta 28 jcmbQ<%rm{2XM!G^rcCh!*T6=TRujfn6Q->u%*l)Zh7Sm7 delta 28 kcmbQ<%rm{2XM!G^q~-HV%bzxyw3;xsnlNoOVNPZQ0HBi!A^-pY diff --git a/mcode/html/B_BodyParts3D_remesh_surfaces_02.png b/mcode/html/B_BodyParts3D_remesh_surfaces_02.png index fbc88a08432068e774254ab16554ce64d9e59b1e..6226cef7d424bbed152e4d4b97a28577c751d094 100644 GIT binary patch delta 25 hcmaDqi}U>~&Ix*Kn)0t^io9+#X*FToYQkjg3jmCE36%f< delta 25 hcmaDqi}U>~&Ix*KQVf%S)#x>vw3;w(HDR*$1ptPj2^;_b diff --git a/mcode/html/B_BodyParts3D_remesh_surfaces_03.png b/mcode/html/B_BodyParts3D_remesh_surfaces_03.png index 5160a0b228da543148ba36d3be12c35d1f47dda3..693012a0bdbbe9721897b7e5b70508123ac4ff18 100644 GIT binary patch delta 25 hcmZ46$ho$WbAle5rqZU55x*KuT1^
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
------->  Geogram/vorpalite for resmeshing  <------ 01-Sep-2021 17:26:26
-# Export mesh input file.                          01-Sep-2021 17:26:26
-# Run Geomgram/vorpalite.                          01-Sep-2021 17:26:26
+------>  Geogram/vorpalite for resmeshing  <------ 01-Sep-2021 17:42:02
+# Export mesh input file.                          01-Sep-2021 17:42:02
+# Run Geomgram/vorpalite.                          01-Sep-2021 17:42:02
  ______________________________________________________________________________ 
 |                                                                              |
 | o-[config      ] Configuration file name:geogram.ini                         |
@@ -137,11 +137,11 @@
    _______________________
  _/ =====[remeshing]===== \____________________________________________________
 |                                                                              |
-||| o-[Newton      ] Elapsed time: 1.32s                                         |
+||| o-[Newton      ] Elapsed time: 1.29s                                         |
 | o-[Remesh      ] Computing RVD...                                            |
 | o-[Validate    ] (FP64) nb_v:22222 nb_e:0 nb_f:44440 nb_b:0 tri:1 dim:3      |
 |                  Attributes on vertices: point[3]                            |
-| o-[Remesh      ] Elapsed time: 1.65 s                                        |
+| o-[Remesh      ] Elapsed time: 1.64 s                                        |
    ____________________________
  _/ =====[postprocessing]===== \_______________________________________________
 |                                                                              |
@@ -159,11 +159,11 @@
 |                  Attributes on vertices: point[3]                            |
 | o-[I/O         ] Saving file /mnt/data/MATLAB/GIBBON/data/temp/temp_out.obj. |
 |                  ..                                                          |
-| o-[Total time  ] Elapsed time: 3.74 s                                        |
+| o-[Total time  ] Elapsed time: 3.73 s                                        |
 \______________________________________________________________________________/
-# Importing remeshed geometry.                     01-Sep-2021 17:26:30
-# Removing temporary files.                        01-Sep-2021 17:26:31
-# Done!                                            01-Sep-2021 17:26:31
+# Importing remeshed geometry.                     01-Sep-2021 17:42:06
+# Removing temporary files.                        01-Sep-2021 17:42:07
+# Done!                                            01-Sep-2021 17:42:07
 

Visualisation

cFigure;
 subplot(1,2,1); hold on;
 gpatch(F,V,'w','none',0.25);
@@ -185,109 +185,126 @@
     saveName_mat=fullfile(saveFolder,[saveNameMesh,'.mat']);
     save(saveName_mat,'-struct','modelNew')
 end
-
\ No newline at end of file diff --git a/mcode/html/C_BodyParts3D_isolateLegOuterSkinSurface.png b/mcode/html/C_BodyParts3D_isolateLegOuterSkinSurface.png index 466077c15f3eb8e206cd0016545bb81d895d65c8..fd1bf6dff8e1b4742b1b70a7390cc7d609453657 100644 GIT binary patch delta 17 YcmX@XdxCd@9-9`g5wBUoMw2OQ05Asx`Tzg` delta 17 ZcmX@XdxCd@9-EZvjejdLH=0ag0{}kX2NVDR diff --git a/mcode/html/C_BodyParts3D_isolateLegOuterSkinSurface_01.png b/mcode/html/C_BodyParts3D_isolateLegOuterSkinSurface_01.png index 2e5ec7c020dae34011aa9c846997e02877141373..f25285666ebeef41d8309dc2295f78acc3f16183 100644 GIT binary patch delta 152616 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

mq+C0sWV^p&o%H6 z_mURfWny`Y&(zEKm5)Fd8M1TbIH$AoSlXoLE8?j2JgZcRa7)caCevhEn=OIJK}?V^ zElG^iH@j5k(4@g?o=h^A4EQ@hNNBkGF9erMO9Z;b`)e@mEU#Y z<1$lvDCM3NjP=dAE#?}~Imoje2Mwd>5yzN_BK@oio%L=fO?t|SbWXCLElPhmORk^3 zBqfXA+f$v;dY?@`2EvYqr4<*}PL88{!}YzWx5}Jky1A}C`1wU{fomv$lu;PVzkS@@ z@by)oDv(`IrCa}x@$5^V^kJ3jYnh)N*JYsdO*IH;q7@%LfPlw&R`sCp$DNjzL=qIt zCZB!$=-gAZ6Ac_L@i~NXm)IYF1r{^E`o@{ z?5Y6_HdIlu&`+MS69)LKW;Q0Dplk8x&!2!kC$P!714_|oP;ON5pXD>ru}V|J8Bn5H zVi6Wf36tCIAz7WyVdqO4&b>YN#qTl;;LE-lSvQ@&O6a6!B$Ir$iW8*m146%X>`JJA zorQ+hO@Ij4ls-X!R>1_b73#O-D4p`w9VwX-lA--1)_v7$FNI`ef@#!PZcn67GX6!z zvLg{A4@}awsUkGWu|7qa%`#2Z-y)WuZvW)t5Z z){%X{qX1Uk&c9y+2xuxiLK({pCQKmE{-tp4uIz=`Y+yP3M{0f@?G2~v&Ooj-$Yju zYS*@I3nn>*6Rv#u`}YI&@&}z6&5@!#X>8RB1bV8}6@ExWQ-fhVPm|4ut!$9Ju@K7``s6%s zTL&;}!VJ=sGk<;@aYy-EC_n5!5K)Z?Vk*+&e*Uwe{|atpB#FiWwfSe+6r|{sS=Cwf znBYbBb29uYI1Cxs@%_6|l|V+;eAUVdm_8{HZ#>t${p-XZii<=(p>&8^67+eI`hYBc zo9ZWHt)S_HcY!JhTC)Dr1_IOrl5)>X!af@8QnMw)*X>jV9rjkSN_2 zrvyU#V=$1}34%a8Oa)?pR;-mPMIQfzUjCJ3>6Dz>{U0E3rSh`tA)1qD(Ckf)mNxK& zfVc-#KYg$*KUe#1O>()BKWYl13gdwyEI?D3>HZ|16=zD_e;@*rpFo6E$Hv9Ujj^&E zPmbD{VC%0`zW(YR(cy33SUy;7+zI8xe@XXy4$LH9TL^e@uR5B;NS~ZDXtD%x)>l{m zE`LrfTw7JeukzcdYLV@qioyp-iWWDAYUZOiz2P!{mr10njN2N~xw3DFx>;C8e4(bC za~U=>Z(3A{!7w0;GYr%u04UqMyI_eJXMd$hE2V(jG1B_GDD zuX1cKpa#QXUlvV{q?IQ*bt>Dnk*KS`aH^w?=ms71#Eel)w2?u73+7k3YOjo-;*Dcmc@T)v#y`>oR* zAMwF?;Tl4q-?m(WIcNl5QIz=n@rdTAfoIF5;wO45w*_nqUzZd$Fx8fUU~QUO<8^Ve zj+zKLfN8#EQ{qs|2EyA9H}M0Xd!Na}=xb&_tb6yf2j|6{CMMaWr=w>b8r%)TYqg5C zkjZ+bQ_vQ`)kSbx!X%V=0hrYm%E_z1**#*;2l*2aPtpQIlndj~@KTS;M-Z3+wZKO^ zVJD{vTW;d}B)1}}xJ0Wc+6zOE?g4+(vPSgFrklESK<5ZBWlC&8ITzrlSaq$02^vh^ z2qzhG&U9(aWFsUJf4KiJ3F!NcUC`eH<4gBCeM8Stc#O>Xgp8qQ<&>@88Fo?H_t>de zt7$d)g*5Q~{J*m@HiihzkSisGn0kHdA^a6Da=ZaJDYEzEM$wci>r3N7M@0=nesc}2 zKP}gI{_A=sEF*KhLa$DI&pVNmtVrkjNCulSIiyo&R&{I49)29d*=x@E0kR?+%bk{` zq-$Yi840@G}Bv(eyCvO+2~)|chP>OyhjY(67x+*k&~ zLJ`1TuJq2CkpBh40;VnDR*_E<2<~K>ipq#JdRA)Vu;`Nw5-r>P9F&Wpm`GRe#4j`d zc>PA1aWhxsx|~DzGjKkz!Pu|vqr;cPI#86xRkyGOY!)1)82Z>5}cx{xthCc;&KzU zATYDp^)k^xpB17rt{Dh)(ka#gUYB%EpQqzqtygfhewl~QLOiFw(?TRCH;5mQsjQt% z$X3b#Qj;KXH#l99#B$FncAh=c)P4EF%cn?bru*Z zyyV96ZSU+A(emxCh8y=ti0&EDvL+tO)6ZU#^@oLpRSu}IuXr<9@+N|i=*Ghn26cpNQ&paA*lT<*6p z!N(eezpU&Yfn57(Q2Q5fXo8sq#CZZa@!Pf86S=6Op?=!nN$rXm4t91stfCf84|~56 zpx9&99aW))WbrGal@>rvQ;1*pMuu?YGlF0STW;t2jb%b+>!^IBMu^Nug&aSSh4}=g zUzn*|v!N(Py?NFe(FF&U9C$pnePCNRH$Hy*eUnkeO$!n%@KHDw1HwrU(%*FC{t?Q6 zhQKSxuhgX8JyxmpcaqXj>^i*d}BZ zM_1*B_YK_v59pu3UoWG)NxV(N5E_TyGsvzbIOtFG##r&3MU}u-G~&QZgMUenbLW$i zQ}zXt;||eLqr>vla|l5l_h}YHkqkV4$~*zpy8$NsW9|Fo#U)n(tVczFWsbWWCa}%8 z-|Lf=!TG~}CH8{eTE0DPTL-+M76_O=5JEvRt)#@sD^Ch2sw4YM4esLiBHZ%Vs>iIE zelxPBHI+B$^V)GK-A1NHa)1~}TujV&7qOn*#~NUJfa5JSv!HJl`J-*Rl)`yU11Kdx zI5&aKCOu4DP;>=pPB-{6LN)jgek4hrBbcKJIonO@IM`i}JoSJ-!s1PBkizyjILMGQ z5{;%=|HT z!wJO4Wnj0Cj*|JnOkT+M(_Xs(;oWMBr_wo(11%HSz&hGk^j`pmKWj_P6FOJ0E#B68 zw-qo`jZ>6m3(&NfhH^N^Qmg-jG%Uv>m*tm1#c zFNLpzB)$RPe@`Zk{1%TEpKcCaza{CUv3<|VE*GkKf=qn}>wctSc6z}u0%Dy$k0df+ z-6kX156R-!Pikr|!>7NEOj`<*d$5N>N{jxf{r)$hi~$AjFsr2q}4`k!&C zORqql&7c52_-Hnhs!+y|3S&`p4vd8*};h9;c4mH0lDPN74FUD4UUrHNYL&O|z3VyAZ<0P`6g130ii z`ipRj-7&eXA*I3<^K{a$ZMcCM~x$`zdt`PBaxm%eh$Q0+*sPT1~7t|dR)@^8g}o2b!0+iw%G8;H<#1S-+CgSexw9-@f`Q+ zTt{PZWIlmAu4C%~mE0eY(nC>%Re+puOAEci7~l#(cSi82DA!}{k*}GNu>9L4+{KP- za%9xQuc`f0>m&Nz4MXA!Y@!?|nV)oiz0pe&oX^>ZfL(uA%g|C$)jX7n4>(S9-C@DO+dC- z?C2z~b{3^$qSw7E^KQsG4PBn}0BZVSh1mGG>uc*PW*3mdftJB{?_^Hj0oB(NI`Z7s z$;QHiS)t$@COSP=A-x$woaR{}7}Xqj0gx4wG8NtPZd*rL z*1QZZ$X?$AM`oZ7L9+E8981bOrsl!o_={;z#JgV~-|Egdj~ib2czutK{6=TG6iL~& z{71R%m-{cRkUfllu1etwx~;9P0)2Y49#YMg-1N@2&?5`5!#dRIDZH>LOwyzUgJDLVfOrzo^L2 zVKZ4dIgi(9jc94VC7t!Wd9Ae;}!9dZZf1k2@2MSy4F1k&d7X*oG}`d$M>(FYoW z?bdReeAyS{7Bmz`uF*b`Xg%bqLwS@}p|Kc%kHLcDWWe9f^DpDD6zc|q(yW2v3!HrR z(7Q`Bo~7^KBFg<+M0W58EkKf4Tbo=nItD)D4$csL`tHrp_V)k4Kn zuA^&^)z=ouRz1)&$of`js}zLXHr<%yAZB%#Fo;nY7HcgDv9ip#1DXmVlR6Jz@^KI6-8qD0$vqa*#!wQmth5y)uGnhTJ zLx4p&0q;RCd1|}*y+_DdJF0a%1g!={DeD75pWwI`yTI6;+!Ahl$zB^%72tck*$wF< zNlZ$8az}uMQoP?t7fwBGna(bb3+oOz;*I-Ha&r4XWdbSwB7rSdQ9gN9vp8gPthZNT z>vgV?jXKvG%qn*h5hMXLiW;#K5Z+U=n&EH1Jm2HU2b_t7FM8z|8~}I$)!WSi9)Le% zppn3)r>{>G6c7RaD!{89yf313h+Oh`d&m30SdGq4AXv#s{TLo$Ftc|vhk1-Aw=SS& z_T)q_|7`>r6o#u7VeOWDz(dd-z{yK>i{Lr1lV^%8H|RUAE#{C0owv!vJ}>m&qM5@d zLsKazSX+&r@xji9Xu_b`kpH)=AR=8-0?cBTd=P_IVZW{y6#*2ul9D$?xmL{9i*Q&^ zl&KqeR+7_yddZ;%H2}8mdfe+Pp0ZV+7SB=zCp-Q>rp`PZ>iv!TD$8JGEM+W(A=|MV zOUOEuLX&K64OQvOfmLXxmcctw zI&MWzKlJD0B?_L^d6pDL4?(@T)pjuaIc0kFygYci?9;zh&AkB3^_5nJ*R8o~!Bq7V zhQg{>zmZfno?ZzDKd=U1X?Pt1q+#&IN|;uTAWUD``+G%ZQwro}@ZgD&t3VsKm5wv` zP)2z(Q+>&YE%?nFjYzd}HB*UK^YyXLzqB0oiUfva+Mj^1i1{vwa0@4ltgruJP#+Xl z^8XKgw`D?z!!9S!5)pL>$1bc;5~y9l9}JeQ!yCIloqq}FYsjsM(;F*y7L4ck;E@E1 zZGiOZ7l?gz&(6hi+57R$ff_*icKQ#x8($^KEXwswK@9(KxmdVJ*q|Nza9U+0OuJm3 zIvW)JC!}qdsH(#g&5WF5d%J@e>yWbbMwJRwIxXrALNKkNq9QUw0HbG$L)pOm=5Q8X zHd3ExFAEO1l*b-C_40vs9fZxvQeD?aCaiHpVgdT|LSTPj-c#!i zUDi`IUW4Tw$8S8blBAlEUcr}{km|^6!ab^W^7_JoKQ!= zvlb{Gy2PXR@YgR^@QL7XRCQyH`>Soo1VcEQ$lHvALL}qZej)N5Rcdj+KeC>-;a+A? zObu-)^KTT=RyGM5U5Ltlzt;CCe$60ds1|18h|ty?ka<*IcJffP(a-D0%F#vbB_de0 zM$Do|<^mi&S;c~KQZO|7!)Vex1EX@GJ1ng}A%df|zphqECTz>s94I(NBdUFkCogIZ zuZPF-)R*h7ajd^ah<=S4l2XU(_%vpzBwa@9gJ}{4CV(=Jqf|#13GeJ&H0&L*-Y~xN zGq^cHh+L%p4=e$iyBn(Fp8ucZ7X~ir);k2&u!%$GPpy5NsJiv!WQI=R%I&?4+nO7# ztjFOe6?gpl{A&K*cI-OXEciMQ|2W%*6loI@y_Njg zF;L||Ove71E=&8l(OQ=L+|p9GF(Q;3V=W!R*OJtJ;-6n4UA+O`mGa$ZN5+kLiLLv` zQduvQe~=MwlMRE=UVmp}z?^Z|@!T%xR#pbU$vvk@*xP*fj!Hi1U8o=F%nA_aWP;~C z#}Cyyd;p73qd5T7sMm`s#=;QGfW5>m<;_Cp7@()(qP?SD$IAJI_g$mlJbjU@C@*obs1cbwWde{-`j+Hi9!JCULn>GpVHlvJiG98(ahCNo;S(dL`dJ#^YZNZz~vi| z_Dg+vcWZfkVhU~q`*g**s`o^ZB-W80&`{IL2>p#%>9ZQuOHWIlUd!<}^V2tdyUGNX zewvDP&x>5knlf~d0)#xT!ba#7hGJQl4iAF=up=i))pOA@8fxdE~zH^yNM27Fm^GmWWg3b;I_cKgFn8a9pm^%$P zEk~VI6f0u1bzp@bQw2IYF*+>wOW{r#pf&kH3umze6y9a0^nQF~&*M=?kd zke%WA8Al!R|3mPOa5Zn}VM@&;{P{RwKF0O%f}JZ>%KQ@0>*Mke&q|u6>##m|EcWaX zT85atb6=(oPl2d(>BR?}8~4)_8AqTYV-C--*6wyZZ0O%c@KTaWc~8%KsNKWAR6r$i zE&Abs43Qj0dd>OGGDwS*i+tJ7Yqfy|Nig+$I9~^w|L#4FbXRS}MNZeyQ0`kfAxE+D zFK-unfYERzV?RJSx>Q@ffM&e;D3QwAkj~)9lbpY(v&}BUa)^sfJ0|Km%LhpL@zz|^ zeoctJ|8&fk@|UikWgsggP%eS2VZ@dI26Ik5h&4d{T<;Xap?1@dXo$u8ffY2hmCaJ} zO(1HJc6s5__VwO_vFqd_zsXbZO&FakG}!%qf0;PeXY|M>d}>O?L4*UT2;rp2nh*=FoNz+So#Zdo*#5z22x3*rU;^U zWxllD*NFfJOogwYGz*3YtOY62FOk#tWQ*hR3MAXUM%hR4Ukw`{!>_mT9Z(>A9cQrB zR2^ifR;pg5ut4z6Q)+7J;Ke+W8|A)L!9sm$sciebVs1S)$RgF&*I)06=r}Yn>d}3* zobcqy|9yIhs$Nu5=+pJzKW)u6XH~&}h3*ZTN#h4|fj{cV0rU{gG;(fpc=17UeL)ad zy*~`LeZJ9ycZ>-r2vdl(rx*7rnBw5}+=|D0{s^95YOm2fr1r{typkoN53-@Z7~n@_ z$+LfrTSwZvWfhzBkPrt=2qLMico!CS1~JK&OzVlCeo5G3;Gc9w?_)A`vQDS4BuDUt~9cw^bX5rBXVJ=f_dslk z@rC`ZNBcnoXL=7;(>k-lzRkcZOC$>$i)L`Jfo>VcLvT|s96n)CB*yfu5vU4{&L~H8K3s{y#-@^~KLEV#C;hS8R-ol`$CD1|cx>jt6y zS6eI#p3AFsn)Nz-Zan{+aIIA5?;y#nHHCNXu$5eD3ycM8$i(QmkQb1<0P+bKOY26h zSjXOBsUlQi1^cHQXj#daj~Clgh8^V0o(tqGow(jhfux z-uhkoqLgi9=B_iM`;UNbbW@S~8r!)RhmQLWm+OsJ_E2J>ES?Qkp6`A*Wesz#t9eCY zXd^`=#hpStpTEfkU8tZ=QiGKj^H)Zzc@3py0-ykio zd-i_B5(G3DDd2+l|FX(t%8BdGqMxhhC|5IHKDo7MOYei<*6sz{Wi%u(oP3!Ia-mta z!B`-Pl7-ybZ$XTOa+zFIfO2$p1}qnCzF;^+fF=Y5ZgF$PJ^2E-sq= z@?_kY>IKeDB_zn(7oIA3mMit*XAJedT7UVIcJZ=!%&&Fv@w$JrsbXotZkk_wvO;1av&%*i9zf+aT<6e z3&R`RBBbfxZIB1E4#ALlIlQzS`Rws$A|LJ>c0iw+Tl-$~ejnBF`eqli3Z6Pqqr&Azvb! z!9|$4bR`l*2QuVFgfMTxn=!bM`6Nb*{xOM!vvhlYDYlAuMW#?$Fq8jPPL0D!mgWP{)z-wgk2g1b3&4BK(9ejPV z@;vQB?TY&myoc@r#dCS@D3`@Rjn`VkS44I|<6S6_oTx_RgiHJ#GXbd^TZiQ}k>6r@99J@tginSx`xM0~blx~q}dRNzf?u^$IXBinA|GX(X z7pkG|RcC3Ks;-7#waWe(^F6~9;X-?-8JMdpIc5PM08Zd5+}HWq)kt3+N^Z5e{pI*Js7f*0Dyn4@-_R9F>#+-CP;gN_ncK>&sW z{D7%MRWE(Ea(t)%SGkQv_VN}wEuO4tm3=OW>&?A8P>8X-hY5qi8NCftL-7lmTZ#Wx z6XBGpTp?*IMOnngpHb&(dJ6X%Mu#sGL0|(2RG^)quZ|uMw3p11`y!zd2T+}2jfcM&NqKbBJKheK_1iae2MD;L-=KXIu5xPnnxT zmn=8Ntq1md9PP>T=`&EelY&)9zb?p4GrmIBq4e%-SjBL&M5y`$s0%&`9~%_7_}L^T9J!6#EMD#v${b&x>udI~K7q-~ z4L9R-B?pJ*EvP7*PTD5?`S6wI+Tpur=NHs9cRfbm_gxds@p8qyn*q?mfo(f!ew66= ztF2eHOCk23{Qst%y)o$N&J~nzr@x78A?o9(WzDSleh*~BM?mOO0uP{1a-Jq3nk0+{ z91ElF()%C?q6P=gTcC;Vy?I8D22h=Fc9(s+WN!}&1%*;LKOKK^GZ3{Nu}YLq~odG;nFNQV#QyZPHd#V9@g7<>qef z6FYjDu!kOs(I+;UIz6L&6FI9CTRI<_x8b<8qhaff6*i(07Le82(iZAbspk^?jE#5M z&8irRNLElLD(ds|Vaa{pj~x6U$v@7>ctj%<30dl*|Yqm0UQv z7@DR(z0KcScDHLQetu=LmzB@+wA`+T^+g=PB`XzI!L?HVy?M|zYGtbKITsUkLOhlHkD+% zUUJ3&ELs7RYSl}GtJ3SM3@>d%SJWC-_YTb%yW~R}Sr0d_9HJ-Pux03& zRi`t`L@^m$3)7GpQF?7$H7sc+YDmPm^2;B6PmpwzD*RJ8z>!+$eBhgenSD^hm`c)( zSI7CBWD^Scv_kqEF_eaXI~qv;(o*uB^YE5mO>T)1IfE9XYEC>qw} zF5)?6mR}=RSof2aUdiWBw^|Z^0ZF}j0q9) zEMv8lJ_@b`4BYEf1E1%6X5?uryk}-HZeD{^OiUXNZnn$!4CytV0qGTFxN^kg zlQCathO}=)712IsHr>I+5JnD^m|_tdaakf&+l66_=K%&IF4`uku@XNoiJ(+kG*1MLHE9n7@rm8?aMRkQ`jEJ2H(QDH>7Q#h&>1 z)oAm_ut?<^U(QKo`5$74(Kai_B}>on^xrKU4&&RsT1vPQLK#b{zD@FOpdG*GqlW5l z$IVqN#tJnAy<)hZ)mEyn`v!a98W!&!5}D>#1PBqkk9J=I2kkQambnrRv~ z285_KBQbv!9US~nUm|&6Vpv+L6Bv~aK2k_L1wqa`(IM_%6YCQ4#v5)~E^%L`fvjY@ zex=9>g>FaZGAjTinl{8!o#qb)JnRO4-P6*DzCN_D#&e6FQ`u_Nv6Y#EB3m_&cXY(^ za>{d$AXk2U(3%~6@=TUmZ8m-;FhPs!)Fiu~@6Q3W{V z-gG@2jqcHX#L}BrL-!tEyp4J|q4Hk_>rfC-v94rvG4R}CVjB*6dEunwx7rIH%K^PR zLbdK$sb}09^dniGT1irAqM5gZ?3P&ISG2Xpy%z3vP0op-Bv6MV1f}fQsY9$>HBu#x zR?Yi~y>H)yi-ij9_fZkh-ae52mQlC?bT^^jhV4Iev!k^W>Hl$g+fwz*YjzzETpkUy z@`<&}e4)dt$wf)fKAF7ev`Q}0qKj6K+gZPUs^q4#z+F-5%!i!j+m`?1#G~h^Z89N%Ji*m zD+3q4DaHxRjk6ewW1O{%qmHip|xNkNP8<6V;zZ zHJ^HRkT+}2oZiFhhTave=J9dIm0^gyg)$P9Bi^1#0bpsgfS=tUwkJ%Z`JN?=SL&%< z-OIep{Cv&O-`}V)89?@(y79MhIegisVfNeG)Nu&Y0VgFE?DFRgsegR|tTGiW{ai9> z`dP$U8Fi`-Pz@I4FDpsGjnhkj!5OKB=;-rASu4PpOG--vV*{9;slwb)d0Z8yvO^IE zIfgf@B;%YA!(|p_0LB9Xw&(MSmZ*nN(vGjMZmJ`_nwGPR8MV)19i6)s$dCZ=870m` zDvz%t^9$eSP60i^kBOxAMVDuT3dlp>-ID*JMsL@(C=%ZtY^(&9WjN7RsjzBt$ytPx z%xk7Z@J7$wv^?xufJG1~E#mK(Dl+M#E9=X*nq-us4-Q;YJ*BDHOPw^qH>Q!UX#VuL zD5i+>L&w>N;iyhNcmB5beD3-+ejhgP^{nOvj|YEmB>g?c)9qcPT5#cHVm%GIPatPF z=w6A#W4@rAo$?z)wYi>a=(fR$Xd%piWH~!wqnyrBSHUR2$w|;4B~0UXz8_pFpWF7v zZ#tFpLb&Gk&KzO)Q3wxl^3vuar0VkbR#^9vq0Ah8bz^T-e$z|dc=9j zRrO^m7zOw?FgT$C^C@wx1Te)ktbe`1dR$#4tQO*>Z*FRQ@_gPVOGu>pb?pYBo)YA3 z^{2mwTo9BHB(bQWwRvz=xHoL}m$mv6m%Hnt$|lp5QzU5GBMV)m&n5B5B{?Z!!Qi z&7%Rr&EH^UGBb}oFO_yyFau7@1SYygCR6{sxm&kxu{3-O8wX~^i{5rSYJG;R-n9D6 zS)irrQg;%P;#k)rQZ%WyGuC^pma)zVr!;#eX{_USO*48DLI z#zxvh8kp|?=OtM3MiKr7EF}^?XHI{14XEn9T{$oL^^_W9$!)H@ z3JeY1r0S#&zQbEz*PFl-2Zhb+i+DTbV~b%jsGZ^ANS#N-OSW7;V~7446GiWDl0E}kqHmr5AYp@# z1UZs^j*;bckVAb7@5l4d_M6e@J%LCR56h%KC4z*Y1n}%1U1hAl}1Ug z3-cE9C{*Z!haWV0x02?}kGZ=Egb02|2IN`|@~i4VC;VxwVLU;w$F@8%&qxdp#W7Eb zhqD0ZLB79^)~QXJ&DsmYgfw4hu_;P5Vq~V+gVYw!nr;sw47SRA>LH+G^HYP5GG-Oe z8-e+=U9GvLPzXwy4S*B2em2}D?anyt(w$cCy|FPF2RiE`%^eRuIipnoLJAbg0JCE1 z7G(K+fM@W^KG-hU$*FK~0qBH(EQ?Noj~y~SF9~{>HW!SoBS|7U2vRChl$BsKF>ekc zJ7Q!3v(_#m2RtZfmNFY9yVx(Mm=vItiKZauFj6vBUO=i}7U_@MsI3qoW9Dr^5*yyb zeCMx=pEXiPX~>gYt0bqr@r=cS<s6>EmM6T!PD(_DSbM$eC}oX49fIz&ERS&PQ15lq&DEkM@rf|Crn$}tvB2yS8nOk zv<+s!BR>)aouGsoJG1OM`V|2#lx&@A=1$_rL4F{8|0Cb8l% zwX#UygRC@6zWL?vD$i~8LpF?zROB&qhB@ogo37TRnCJ`oIKQ092uR3Wg=@vkd}fjW z{!w_;hEWqwLXf>&+YU{db+cTT#4*>WdG`hv7c~XGkFS35T$?YqYxWqO>rj_l`yN_8 zy%>kp$2A0xPuItNZ+!hEr|Tr;;eqlS?f!1Wzp{F`)YL17qe2IALSFAUJbl|^PPzcj z3UKATJpzZ=_P7$VdM$MJo;zNkh``nlXf+ZZD9WFz;C=;1v(V`z+mBUVF~SDwy=vkA z{7dL5~*-{AxZ>roF;o2N%XV!KXJ7s-+)=*6B;8uol%5TK1a_hZnhR+HZ%-|{H+e8vn{pkqpR@d>`Q@8uFR^6D1!amDr)<|- zsCqz&l+In^W_52@SnRLbWL(leBb3Hmb^i)D`DWCh>Jx^O{w{ zoL&GCGfXB;r~$qfM$xGZ!AKBo($( z-KmBlGFU}13v_pTju4UCXB50X>8?(i@VF5N=P#a7j;@J&4alaga3@tE%(tCKL{!2r zY|>>p9|;LMVS}iVhouq{hgTR;Y{UzNghEf6cbAm1kFX0GS2YqEB@Khn@_L~qFT6~V z8BouaTL4W%%c<|@xh}bZPxg)fzm#Q+q z;N-JR`jTJjsjzp& z)3bDZ8Sot4mgKh`Vr1ECj8fvc#=tGGDl0gl{Y__-#_c4VjXv(oQA(9c5?c+cKk#I$ z-ooY%fe(e>*%fmk4U}?U+d-68oab(wb0&c^E2~rH{!I>uTj-h64&;cTBBzlTc&4^J zP@Am5=q#3G=g&()Ck)yi_VdzY+$$2Rl7y4w`!%35U9;MkapQj>-}2!Bcb+O<}fY# z2PXk_hnQg^VDgx6d#LLU2a=yn|tz z5JrvvdTNo_{Btt`=ZU0gNSJx>+!gmO7+ipiTADV>@riuWv>4fsUhoFQ)3%zHxBMas zbrsUif{`{@^%yj}7qlna7%TZPQNQVq0CD--eS;LhBEe(I)8i5~Q|R;@;$<-m$~6`R zcA$UV=#l8M;O&q+wKJ+^BS8jum%gs# za0}_>I1>C#6f-pC(*W_#y2;bJS7_kQV!T|46N~$$mcAH)2$!B8+9euW-Y8L5HY>Z#JumPCx>xbWrOG{pYoRh2{ zn`xyL4$1vl;CJ_`dRG+*VPE?8t%2~=Z|k9{ zJe|<~XX<-fB@c6MDR8%5N7IR-HTvjNe~Z4h9_Xnm4r?Y$?s=|RJ-?3Jp}`Tvg>&QUUi>uelIR!U?^(44oou$7I{I+x zEz`msq7D)1rn08HL+k@Re<+!*zr6F_$WID;#h#}7>PW3!*(WNo`VLiAmGK--b9*|5G$`lQq(Fw2h491*u^FXAdm4T9 z-=w%u5u|i_#0*kYlE6#x?Q)86tj>WEm_w50Zch)%CdwkGRg$KM)^~y$j&;a^*8QY) zE*7^3g_KLpevw*eKWW}+h&pjZPrJueBj3{eh`j>tcS1pBMDud!@t+6hAgqEn@B7#u zBXYcjhyK=iLYPYOq~CGt^b-at!i+^|rRYNAC)R*mN+cCpeiUl==OYRl(^;eJHSuBf z<$He~X}&`49i|?Tv(H=0uI1CUT8rT;!i|iZ?vcU>zMem%nlvpX#@wtg*4nl47d0&$ ze`;|X27x{qVdL=5va#vQzxJM;@PM$JAJj%T!ne>gs8auvzBOsom6esP_H!#>rO785 zs>|h1U)GA9(DYL#Abnf`1ViXj%da?O^(QDk@;BN=sRps&=B+UX*5kGf6Gm6AbFdxL zj0oFsMA4qt-1##!Gz9$@^?@I1vqsU%b~{|P{g2N+1bNc{$e$Vaice~29PTA>wJXYn zGk#}S&~rgQD0izC*XJ@CKvGPQc7P@JR$^A*(U%7b%*Z8R`xt>uZf+G;gt4+Qab%zd z!ByvkHd&WVi_a)<=O!MQ=4Bt2^&y{U?B50JWFRu=B-nHt9a`+Scf!AK}$BA@A z!iukBV~8yZu$b9BA_OugRDQ633VDCv`xie7OT}wQTwl)viZ}FUu%pd&llm$F)c<|1 znhZq~L4BE>lxUb}9k;Ub_kOLM`}D(~2YHnps?NG`(MeAJ(ph!QuJ0_5r^)N4?2k$N<|5!Kv$yG+>IYW~IB{ELcpU63BCcJGDX(QVi~0SQ|FmBP5=pg2?5 zJa}zu$>5L%x8{`y#VuH)08L$r@X}D_AUwAC3|r7g>~@$dW76f{Ju3Wct>ArxlVX3UqN*a1S+%9j2HdeD;%a zF4e<8F@>cO%z{Us0$Ihmm_=)p=0m$l6XTu#a*btVWD@>HswBY=u}k##NQ}vuXy*g| zw}G&>3KLa=bS(UrieM!(IRA$p@fvj%9Tb%acBV3qOK9SLkn5%Cd@u-4?h45JR+5*} z1A!EIn2GvR$TT|ixq9+TrS`!QPPX`nNEj>}>{ov_vYhIgwh{*u#XoP9zp_XflALj; zddr4t2cQ$~eQI`C?R^B^9ed_f^fEG*klpv5IA`FHSEAvGV>5Bts%8Mx?#C9LZC zI$qi?P3TD8*Uq#=(L%<%_Ev@@)UNzw);xC8=5ba^UzH@@6VHq0<%K$~bDRCAY>pJU zNG0h`7yTa3)L%UhE$WPo1*{+lAYvjZwM)>gO)^RVtVXsKi1M)U=@J602L4Dl?7Ra3 zVMLiBA)d8qadlLdFQCToCV4d3ymuuFkyA*#&=L1@&^)rku9u6l?+P(AEZJ0Esl2>A z*rbCVRA`^3oB>2HRE!(yy}4=`Z(YEBzoA@1t$zcYs0T#X)jab&nSmU`hn?$lrX)tm zGTcYevw}xivUn0b(#?Mp8cXMP97d(tOrKwWVm1=@&e#xNWZ&ZdR|u+Q9(AvDMREB- z`s|ZiWZotvFJ&2|H(qS!8~;@}{%F7-8ZZW@*kfu^?8x~!D6(c}Nq83*T&FvL=R#x~ z*=t691oM{wm74&Gvesw@D(-u#le%dEwsn>Nd(%v4b@kc=+U`Nt5q%uCeFaK8@Vn)_ znzE5*LchQZ2x`|cMbZ4@!ceHfCN6yj9^b6Apwi>gQjbg5fv|Q{GXZ?^BiZBIZo=!l zL~WcYr(mK(`V0`H5dlMo+QlidFbn?T*|dCFgOdmB!zelTl_!inKrD>EaBh@P>+gU+ z**S9+{gsnnBq(V`5&3ZHMEB(%^-0qzkI<8eMPj+eLX3wQ}$PyNY4BhjHzBc{tR^|5wr)(V6i)Xgckj^du|n0K?2E*x`oKw z`lyRci6z2Spc%+Pk~7UFcYJ4-O+32JY_giP{^U%nGJryL=s z3O2gXg}|1DZoD?CvnnyM8gc+CNr$qJFNOfv9xws)C8gJYegQ5-@PHBEp|F~otju4J z{JXSI(_8DBzO5Ny{T_C(Ox=_%n0$Kp(fw$74c%1c0HBJrO5hE{ZQm>%;PaEJe-Er)in7!Aq*r!c4<{8sJwps{XX8l)41tzga zUQ^BOaht4UigFAKQ#VKfSnJt`$*x3gQ*(2W^E|S~eCr4hv%O%H@?d|f!d&Pp``%iZ z{1kj{%_Q0zlPoGa3p?3AWNJOAb{gWy?l|rjD9NFN{>i27ZNJ-EdXnOEesecx&YaDO$YhME zT9P*DgXz)`siEhL68nd7&@ci&sbVYwQYvWZId4B<8}K=3zR42VkE9vkg?(I zH^j;ECr@rpCCDTtC3$Aij~{(=oUNSoT!yd#7%9aLXh~^t>cQF*aJ7ZDZKnyxmzH8X z#dV21BKog6MU{m3Ttb+HY`|)G5Tm0h!lFv+cQw)KjlVaVo`6$@^Cq=*mYzA&0nuUH9-{Tu+Jzv*qAE@Cr?QA*~dx zRR{p4RBzze{bULci`*mYs2~`}fCqJj`-^+}OiQOyn47B1*H=+N`hx*0!}Tr1 zVvmuwwu5`g(04QLYmw@XY9rnMNlQx?)1%nh1<;S%qXiJ4J!55H+sh8fV|SQ1vQUIt zff7MV+4wTlwN(G7UdjVdpub<6P}4obEgj>x1A)m=uCG{5U!B_!O1ppmKA_PqpBoJ9 zs&e$CBz}WcuV`X&-IU6k@K`6rYL*JCuLYO^uFvn>b>)t~0`TfF-y3;x2h1_@$V2}e zVH3=GojO<(Gg{P2)1jx%N09#L`CI_dxpw30{jb4T=QH|q?K*%p*TWZ4*^nL3^q-2^ z_%NYdgASPBm);lTu3GnI^;Fl`Z*#NVn-ylMk?P9g`8joM>^_e6Q@8(LHV`Dt%1-|Z z3Hr-V-<3qFZVk7PSb{d>Lra&Nb!rh-3q3B~vUVKax2ZTn4s|g2YGf1|n&11DW*cs+ z{C314Hf`1@pR;#8AV3C70#Q(6_=RjXjr-PlOjy9=_^{;0OPrY|(hClpVQ(d-$UI9ZsIU@KZ2@wQ`i7%i!Ao*9PPOR2$Q>viYz*;_B!2~_HEvmCDNkM zT(mby|Hws%1i?=rDG9E4xw<|aUAmqpTGT3gjc^k7PR8+kvDqkuC5|C4CY&isu&3;- zrV|5{I~%VH9vAY{oH#TjF)IdW>91dxg5U#+638`%6-(c*IYx1efGxEX0JxCy4WRjp zyqH%}3yF0hUMwz*6Tr_ejB@xaRODvJtbF;9rH1{;TZ`3R&Db^~aPnhXI$)<2MfRDv z^!+e5^r)jM@9%=1Y&SMcmWT1bUG+Co=N^ti#fW?O!QQG@AdW?+?|p)6-dz39JLWyv zR5LjST-(V3&x2cKyJv1zBjG{)6S&7*4-9zcMt@kN z6&A*K8&H=?B03EPa;=0{vC`+n@Zg;>b=A@KdVZG022!b_zwc=D* zFvKNU7-8ca;$Td}WH+pUs4suEr8u>J>dz{^PmpN}d1?H~JCAZ`K(a_Vl@#T89C&cT z>pLgAvVJ#~F85knJic^_{@BvPA6DF~S6_PMwAXfpOw^xFPMfVieWhWEO5v4C>V^6P zVaayVi>qX;ak*)$)@lWmUK?}}P!6iov=dHjTVwGwsK?tSV=(Lk`~Q46n22&>a%8&o zU`dKf5=1~b^k(KTt;IU6?$%>t~=($|j?fK?xv1)R?ym2b=Zf!9p|)Vs{g$i>*I zbC@4g&#ItFB9LOsVW$pESmtj2fK@Ej!;-&8gbl#3Il2Tv#I7no#_@Hw@#0bmtc)Qr z>cDd1zuYE7v>`q+G^~Y#O#p#4ipCOewc;T`s{|{z1k%oes0)=hTP)Eg^2%X*2#NuS zS+a`@(ac+02!!v7|DpG!k%@L(6~T0^Is{ZVL#ukzpzepZ6%iIUC7*_GTk}0n{zZJM zJ%`!q4!k`S^wRb#sMkCpeTQ{T?ynwx{*m|ViZ9+h`pk2`p9qOGopNqAK^~-CI;{PIS)3<|Hq$TWTmlK|VA!+T!Sb7fRxM;0d=zkyZ@Phy zT!iq+OfHjkh$q#+E5v;smkslJxEl@tZ~6vgjxu$mW8TN|Khbk4*%0$P9`n3)7sv^T z87ab$G$R*z6ULjy{Q1HfGZ#2>vtQ8uG#y+6mK}AO57$PDzXO1@k*g!$*on$ci%e0~ z#LA{9rOeNg?00-JzOE1(e!&w@DDS@Dk#DuEqL62K%q2g*d+V-GM&bRXui>orS98M4 zZ+u++GMBe?`ubx}dP%RV=7Etb?Tod5zlp$`hD;|=Z9DG-e37^1evlsFdtoz)1iO8d zBdrmW1aFcfeJZ_CZb>z)kugYVIR-8VNC6j}F=Ifng}LuD%A1U_?2bwDpk%~TP-3;P zP`;AAjaz5k)Ikg9&qoo<5Pl2TB5Ae`InM)rN}1CIJ76-$M2#MPcT8Wtk|vwb%F^Z} zI%{4y-x^8pih8f;ja+B$Ijq)hT;bFRwX_D`(6GS6Nu8A@yN$Bi(r09<+eo%MU6fpO zF1a_xlUUpHT&o2PcX^g;jX%J9xkpXU1<)}`=)Pa_Y{zbs0)57%)?S(;`7OqPFo8{L!XuX|I7sBqWOC8XTn%%ejeXE zZb{vmKG$_?;t+w=noN=*-mH?UY?y4sSqZ;Gv zCK5|0Fr(6~kxGhzqvy;O;@&IM7lc)Rz`vOJ9WfdNvY3@XjMCsKRps@&CCn919y{@l zwCvUJ_o8f1xap({f8XC}x$z$N@lxGr&)h21sOEV?h7xIQ<^pw2 zIUE@+Q9xzT)YR0__`0w*u^m<6nk6EvfQ<3X`s}R~kMOGC5X=#L%yNU{D0Ex}f=pv3 z=AXc;nzmsz@g0u!+aNxkMPGOf@OvG}=-1~7rgvYydX?MxSz`2nM`2VAz}d;oZ!R3c|bLTc~-L1Y551*7PMpRBS9q@ySZx z8`N%nus%*bXwOprAE97WwS@E8i>#+>GnF2N zg!2&e??8ii4yr?9sPj?wj(9|Z|1OlR?C0fF7{#UXd$*cce=+-C_R9fPx;>fg&hnNH zkBz;3US=k~jxb6tYDojcYL-^NL?0knk6`i))%9+R>MO?PodHQgf_%`6_iL72lc5wRXl2KY;Fq(aHgJiOxNi zGyyOJ$^X*+hT5l_qHA zd|&x%h|uSPix*txC?fQNurbV^{@WexO$^5Df&^J!N$Dt2@FPHe@0Uur5u~P7EWr0= zuJQ<`Z`sM8Sx2*gXSLXVF8Kp=OhM>chB_`cO;eHq9A{qC-3lNAx0gX}kkNIoSUhQh zYXsGX%Lh6F1vlrXeDEuLr;g_-uXOEWZo$kVU`oBT^d}5|-|=XWg$+#Rq7tSvm zb>iY<&bEGO!ryZqqd}Ec@Y0np98J*s-?uu*hW@b6(SjX|!)ZbxJw$$FvoNjXcs@Li ze-VL>+(Nx&><=rnB>&4;=Xgl^mp6ym?Ov6jey4fmW{26!586A3q(#9p(wfUD&cA zz-Lc%%25qu8ZoJ~;#|tX%s~_zKr$c=F!Nr+K3LT42c{UMR>eAfQak!QfH|x_nV1N; zX|__&eR2qh2f+P46PGr`%C@$(qmm@|$N)##+{yfmGo|@?ih$HT69Ltq`5~aE4m_qv za3Ha2YzVORba!vV z28(~CmeVS`kO2Mn@gkMaI0kaUa!7~T*WJH$4sBTr2SZ@F#wA-@Nlqp%W5E~jZQV>J zbi>LjLWE25yynbSz^5N_!Ug7K9ThFBww+F>kED`*zkrjc(LL(VoJVKQ&dBypP7)7v zN2H&H$1-gYtTcG~VY@SlFFh6o{XZ{Z`rU9h(l=$vFXrnpY7xQ0;EjpUO ze(A_|`iI?6+@6liZ=Rfs>VPA4=nK|}mzOuX9X?*$%UH1mC=ut60=WZmFbwe`_zUMz zT5XzREQes#Et9p8`6r00p`8y9&3|cGO@eRq75E<|$WerY2QV<*zQV~Bu4qn!4rGKO z5gPrxXEW+Q0b^DzHE*Nc=Jkv&FY*A}i0+6BLwdPSWe zsQIl@3mCoz6;tq1Xcy zEm@?cg+-JAN^bl6H6F_tDFX8ao;SSyR}OJR$24EvW2F9o4tgHprF6e;OA@J8EuALYCB`B5i8LS8?g=>Z=ijpu1n#1KAT0S z3#+rFB_&b)uuu*LMrT@vVKll+_EP#POhd`o7+voTrb8O}L*sXuS}m3OWZ-TQM0SI6 z!m(#=_sqPDW8KR?JA*1#IiGvo3VB8Ky@q-Sh4+qL8 zd;I!hWd|{z=S}Uop=ghzmZx6ddHYt`=JVZU%SpCqj;EkFvS!V(WWP_wr;C8&sPV@7 z4gW@htwwTJ+C}lIrK{4GZ{&+O^)>Qu{N(@skRIC|cj>bWsylnOedK8qfQvdrMR@K} z3ljg35GYljvR>meJVx%8nOD|dOj_`=ONeN+ zaIMWFMA=DNBr@h8OBLR>PfHOp1@C+-l7-QPf^oZSPL#-p^(t<&BR`;MP}af-$+y{&@inpHdrdw1w{ zbNiYLz5t-2=^&o)0?bc$UV~Nj^cVp=px5hf%)hLE#$`l((@qbOT^WgiGfyU`4zM}wLzZ+m3D zcD_S3E+7NUPr_0VSSt3rgRtFELH}$9_Os!z3JTRfHu6s0s2}?Y3qzD%%wBRF6YM$n zIr1}$hC*VXp$+c?tHv~XH|+Kj==E8{L4a3&IxgBJVQs<4=sG`sEr-C}F?=2t54VQG zu~zrxcas_U-OOlwiLFK?e}?x~O649S(Q&rvTI1fLsyKR#Rw~iITVRsXoT4YSWz~(^cDR}LI2e$>{|+Ap=h0Y zSi*yvl@TL2`vn#rtse93g69d;>HoUq=>@6uzJM2D9HQElz>$RYNLw&ah!POMd?Xgl zrVuf2{P^5a*ZIqny0jO8IyCI9!>ns666P*;B65X6?|gTSjuGW-SRx#q{#Q*oAt>3j z(#AZb9m8xLx)mVF*g1hSC(-=AY!dFzdHGoJxC z&jDLf%95rL7&Yap*&iTrKD7vdB}pd5n?G_dF3{&IW-nyc+Ov^-nVHWIoa5*tb*`7? zSuU-^R3!{Fc-j^n`FTf zt!gqH^V@A4(_~a5L@{QMvN1rQ(k~FkwR)z>%=-*P(^vMV-|Y@pyPKNB>Uc30El!?x zA@BQyVQ(m%>7=rI$Y)Iibqb4NA2swL{>J98CXq5LR}06@qk;awV}L)5fNMtVZ1ec- zBE)g!FN+n;l4Q)CpSKgHbX$%T{+w)Pa0DJT`h$InaJnlj6@&zl;B#7Y`Vi(fo=mY| z&RlsOUwYuqZ(@&a`bM=mK1;+KzfBNQfj-&oH|VT@d+iPX8Ng)~y&R3v)26vmHGeJQ zwW1~6P>*rG#;b}70fP^4WdQbU#*^^%%+f6V&HqEwm4`#Qw|@y)h77U{iLoYWXzW`U zQrU|r$-We#?Aw!V7)znD?}{S3>`M$u_GC+CD=LH(3iZ3E^Zw2s@B3cYd#>wro_U_{ z_r5>tXS!}46=&++bWLF%NJJ$TZMW_&S5Hs2?C|$FvL!B>vhZzdO=XMb-~6@t<;&Co ze6HJ6Wc$K(Q4czvD~= zDM9pH;W!#~t`Peg$#as#0op*WW$U5g4jc?=pm7JK^L9JSpQA6&Xt3H>TWA}Liiv^c zP%S5_m^Op=qu50I+Np=dPl};a&tt%+iCOiWa5`KYkdTJ#pg4iPVK_9n6^!5Sm+h1; zdI9(G=`1I4(QuvW8m8tX9`)QQN;dVIF!oGRk}zrB&(jmOn}C+=9(y43;=$ARFdGOo zy!`fiK$;s_;FMY20df3KvbJ_0Rhc(WlzdeC-5J0&Q8Ycy7w0tLWsjTbR{ygOmvTH} z82t4-6jLHyU30u6#X{sZv&om~{riR;D*}byE>|I!8*ckJrn4{6MU~c7)k|#0(edN= zEn9<{eY(8RFwT@g0WRD``M253 zjz*u?ywDNQXKee(hP$|UPRv_j;QOy2;B8^9eB)rjsb?BJdpe9;M?rNEhWu1%9?ptf zx4b`WCWn=n!Qf1%*@Y4%9s%9{hoSdp!X3j6itY)M;QlRxvU1>V=Xcb+q&wq>1p-iY z;X7g4&_LbpK$mm)qg-BAJL7?AzRfXbJUrV0(cYU$!nJPXZL?A{=>}3KeguEH)J!U6 z1m9olX8Cq&Pxws4G_wi#H~vfxhWJFbe%nS{!U0AD6VoKkpU-#yeEwOE?5+O!w(3JS z6G+J?K(q%5H05J&_vsPDXSmMsT2w1Wd!5{sq0>sgICoLz>aSN9t-gskJ1xmwEVF31 zb5{1HS_Z!V3}5An$+G|s|G%{>6F!q0#n~6VGkLH#GxvrD=)^u#V5GF{R@Ibab`jMk zig?vv2E zbgo_(rKcQ>9meRVA(nrlS6$!vrD38Z`V1S~eml^-qFc!H1a(=|C#CTTcuy z9A^F|cmLq?JV37mW*G)CD(=pso!SNBVcb!_%%*B(^+DJ3-u<+3L`M9)AHeQ^T0ysM zkvwc3bKS;^<1PvMp4MLlmqzU;K?=D)8w{xnuZ*8u$VUGBx=h@@r~Zo_3oVkZBK+*b zPy`+Q8AwX=pFR(f)oG9|@mk)}wwPit66eqxY1T{uK?)^R3k=q*bT#pKhEpdBQVO$a z+k;s9<`phfw@;TX@lQTm;>TRrSO3js$_H*t-uPE(Cl{N}Lz3mnNvG_HXdS}HNS!?9 zkh7Dfv(_k8p~BTldF#=S3zyaotNd&3`*WBZq+1A!%4;ZPGt-G_-jGHMtN}uq6BD05i=#;kXT=>l0>)OipgZCgGxmPMnm`#69~XB@ z1HKy8nYE?>Nv$RJknqp|N7E#)T93YziaPygddub6Frw5~ZY2&34K_ z>Y_XTom2L&oy+e2(yvVNKc z%MzYMtHr}1?uxQH&OH}#7p26tiE7GR^iOsGU<{~^dg7S_;8i*dNmMWYa8;)%h%NiQ zJQ1$N%mn-Lf^yaXB=59M*GYmiPy?;CB#!drrq)&#^HRljC@wB8LLk4VvPW4S-G!iq zjN1rB6vP$V6&V>R9%FR9!UbH7ME~OzwbC;=(7OottsJy2LldZ{2Uxk_7gT{VRIp-1 z6mCK(9aO0{t+ocvUmr7(cmRLzW^G-|%Jr)|mtf9(+%NS0sZ}}o2VPOJ!KLlGB6u|D z&h3{=y-i1$a%Al?$le`0Ubj1Ta&T7_EsJql zd!ZT_viPy*##*B}e!j5K==JjOol;hq*{cFVq(u$RDGk&4vA9`8Ya^?s&ObiJK!e-qkt1&=cyiLE`iApH~a&JLW0% z2*?`j*-)eMldE+t(zbFt5wwE&V^8xhNI(_*)h1BoszXg%5M)VDyfheNaZ$Qc-NRW# z3Do4;NuK4ylev$C^x$4}tt}w9WZ5&}E@yisR^I;P*RwD%JOVa))n$bpx2g7a)9BiM zc=%Ctpz(K`4mp5+f3x?7sYDcD>|j&#qTdb~-5R_+I5s)}I^fpB%08BFj?XJAprL>4 zyRQdaC|C;mS^Xe1pGLOWNL*kuHhQK8Q=2_({kUR$NwBtU8d)u1JSA>PE)v1gYXRRU zDv2Tks5FAlt7mZHS#|}Tc^%VtPNF=VS#$@68I`!kVw3h^bnW~O38hWMu{Pi^FwWw9 zW{*!Ce{<}|%@>|=!ZMZ|Oag%nyjc_BseYs0hYea><)$buPQosa6-ZClvKV|R89%{C zW9ATleji9Z14D}gd9kgB_8OKM1UBQ|@*6;pKyMH@btyr17ReMzASHHw?{!M67bG}_ z>@8hAA{XRl-{1HS`MY;@=k0j(XSW-HQ`OV zuDrL>M*=r@<@B5=|9Js~XW0TU(LM)rFW>?(Pl; zMgIz$K?e|X60`d_LFgy5w{K2YDh2FIfJN~hIl@&PV+7gm@(WVZ3Q$F1grP!`6&SF8 zp`NN>nEUYIu6GWi_oPt;qt`TKPol!3fi=<=4atjl8G=-xF#}hsTlY2HwZ>Y7&)9Hx zgcGmi1;L$O@IcShbeVl5t3yVV?Kcpt{QEo0V1I+y-Z?bd(t4tz&;`C8qU`cn^VfPK zmdK?`9Yyx(j-_To*uI);>Cn>)-Qgb|^aFn&)$umrEo=n>X?a!xG1$j`+kWyZIqkS4 z;X{nH>w*+Xz{N1%mZdAJ0pm?$!CwZHSA%xfyA88d8k(D%;S%wl?~|)?ymI!@Ysi~j zRT!XrEno*`DavDp0%Gv(ETtl)a`%|8Iq6CZogE&!us};67TMEtH8V%uCcTRy)z20I zJ0WmzOdT&Ngh-j2G6AZf`H9;OQ=cr$ET8b*d@lr_!e9v=;{+M$>J@2c9d0(P(5n?_ z7@sOIKALiai=2%sw-~$dEMR#d1DOYr_P3JEca}`9&PGEDgUEfG)czB~cN2kDIMc{zGD&zC?`Cfw0ovhj+uI6HZ34Hx9SY|M^1!Zc>KUcn2Xd*w zKm)*{l?e0&k5#xai=F1UL?PH{*;6#NHD9a0Q1q-A`Qn#7?u;Mu1w*TiNBE7{XbQcA z5LvrSo^X5+A)a!X$s<2P-yzN*AD=ONVXQ+PW|rZ5C{M;&t7JK3o)T1iT9J@QcELX-x)mb$gHg=c{Cs3zdFLv}3$4ws&_KMlw-hw9Q;n zxapkg6*jcLmG^krG{^b0p$@7V+~6(BtYzu0l#-F1-D)?OJ?+2V_4gXy>Y)bpC8;{q zlnkkq8|4?W3Dg+$gWjDkMW`UiPw~vTvP`)wczP&R&V7!^{{m(pHf)WC>yXzmn#}f5 z+NhL-$5575$U&kHzP~-IOtGA=DzKcT0)jnU0E`XE4uZ-k88|ku?t00e-0PT}IPs$P zX|fpRN-bUEp$h1;e*s)TJGDi!v2sF>J#aLo`<_n;YHQ?&txBS_j6JEyT-3c4dWiW7 zarLkh+4P^=J5sZ~>M8uBvp(*PUqsD6&g8K_$Yp(Rlq!HHh%`AEK66{5h1 z{-yhPF$6reW6S-A?bY}3p_CL}aHMhVNJWE1+ps*i2RC5oYn#t*mqA|rz6W>URf!b{ z8U;T%*pOd++7EFm0m$#$i>3hmh>!5~IU2AJr=2v+RQaXv>;$VD?C{ecoHJeU0}oA} zSh_b_s!`FdfQZtyiL&-R%bhNL`!RUyy>De*vs6W1p2_VI@FoAJH*$;>s@fDeqggKU zf(?eU&z~M@U@$04-S6L3ZougS`?6UHToP=<2uuwC4seq@e|-A!qh@vI$%R+7D-;6_ z=*uW|@B(LX#zPG2$L`o&fjO{aM%X}`K)-X^n&+dKO5|bGbpiER>HOb`Np!M|4^n_i z$RbIN_P3n?>C-Z0%F*c4+6GsT!cXH5K0$T}U=`>>vB*wuX)6F}P_{HT#;Qcu zz*vaGc3^Zb`rTgA)Qc!q03q0u-mN_-+H8C~C3!XCT zUEF{_Iz|NFWV4b4FRP8!`DWWS3%Sbz`HmZW*&UXS>Dqa*rOFuOOn4Fu5-8Q+Gl9=f zDHi~FMJH#N^;-_Dy3sd14dX_hygktmG?B2juxt-Q? z&;NYu{Yp#vOttra=}7-EZwqJt!^+YiB*fcqXmx8|fgj?W-q6+X>Z$_+eTn;i;U%OL z3_iw8Yd3o^sp-pGI{<|oIeb`~hP(L+^!F`%S|RwBIZV zo&R#|(WMtg+I-$oV}5!|17W5AG=T4izO9`<6tfLHT_OGj`|{5hb109kOhe8D!%BQM zThzY*4z8gty4U8OrDsKo6~nFDaiVK)sziek7RL0&hC9_a-Y=iT1}vnt6>U&Y-XqY^ z>PI_=FIR6QbI zvGrVkxl`0WA?kIE0v zAVkdSOP5RNm_CNZe>!7bv6Jt(ET&%7Yx{W1}?t2Q-zL!f1E%Qp^~icHqT22}P@em&b&S z88;qeU+nViPCJ^iHRZ$8pV5F={@R@S8y#I(wE8^9(j9X?lXc*8vyU0^zM0e@lnH?! zF49L%@t5Ot4i_)~hrv&bARL?+VvN)*HM65+GhX~piZhpc?UuXy04@$}N~|Dk7R*E& zL)W}D&^+md?TV(7oaY{~b^Pgm@nTFBYRp4jptIMu(r*)4w$QbsR}23}w9uYifjla3 zM*X5KNug{E8s3_@-2A==o@0m>FTrQEdwr;PjoSdv!2%fLa0t}_zRlZ}`o<$?!nfsu zL?`ajTY?k^7%Oo@R+sC3^A!TRgyLeNjd-sNL3Mg7@_Td_gvm$u zO{NGdEtym{C+v8yzH`maO7*+vr}Q+1#L#a;XP3?1L6j5tv@?1k#h)d0 zwbGWvUS1IMLgFnR5B?Bh!!oGg5WqeboYZ%Cip6dF)jWHk0zj*7EbFz2kdSi4LwYwP9)J0vGG2Rb@6WF?s?5LCmm8PcotCJ1FH!t8 z);2b?pT5h(KTPUh^U>rhAjyFx3us}np+BFNn!EdVGH{DqeqdvHM^urIMe)GRly_J7 z3m%kqR+|1|?WuaGN$h*@o?uzqY8r}EdsoqLlp+{4QD9LDwo)33XveS8|k8I zb&;BRPo5mLS?CyglrL^{AG$>LF{g7Z$a`K=p;KrmbXgl}j}xtxXk^Nb6x=yd#bLlC z!jut5z>4GPBQ=NSJ%}C(D8+*ZY@d%m8LhHX%%k+Z8ktAp)FzSxT zC9cdScql+I`>^h9^-8BWq>z%`*B2OZBWRx2=~?T0tBRFhxxIRQH|R8n90{kzbVSF^ z2MwrNBy-cjmx&%8E6v%>`RiYQ;rDx!FTRlQQJ$B+_j~;B)e_mLp8ol6M4xcEE<`i4 z6Mrn(+m_`=oX>aPqua~(bt%U4L)xGP`FGd`wf}wJflFbBHr^G0A}Nio8T|`z-l>7j zEc<5KqCWuicMl#>gPH>Q8y|u|iyurWJ&Tf^Khb0#ssw`oWMSmepwS)8xeEd*9kBiO4UKd@MkO>WK5<9N&Jxm-(RS!HCQk(3F|!w{ zKt?;HnHBkM^ve&tu)2zeq-dSPOGXeva z#thkpFW*qTBC!(c0}cT}jBVe>=iwZT4%#%MF}v=mM37VMmCK7?SFf#29&H~_OD~kg z#6#(jl(M$W3K1e3J1RItl)zIGSBZ1nO`I zW_~)&!c*h>tMx=@fswfI855Z_j&=KbOKjq8bDaV?y&v4524~Sw}2Pk!%y(bN=U z%5%!LAdw1WbRqRUGeYo?CS5Va&>{S?S(5N)&!HJyEe}i7@!p$!2TIe|>ILt(d3s8x z=_%a__hq}t5ikd=?;SqHFiwMrawy1Eesr%bl11(AfqLH>rOdz6N^l{PEt4`wKNc3l zZ^Bd*bVk=vW5w0R(RxyLmnU37=yzS3VXpf6sl7#fzox1=FEoS+u!4)$NsZiN|b0nx1-^_z`1(tPW@LK7??u2tnj6I6 z!jQ!NL$nVE9QsQeP`h!){=*s^EDDW__OWy(3mmt(moO^eGAllNKKvN-vAin5SCF(p zqtOga5jX*cVT9R9=UXakg~}i#UWyBAYab1pfKX7BLw@CwVPS4IHZ}Q zeNPLe9c=f2?gVvQA@t?J!4X>h^_^=SSEud*hUirlt#h4D?&6-ag>1xqv@v+j(y#w{ ziDR5Qjp@pA8*v^nG_ou7!x7+ z;nPi?uG8>OSp4T-o%9%lCO!y!fHsh#@}_T%Bc+hvlz5sST-uc8kM+1h7sxX>f!8EQ&iF@Y;0(Hc?kN0m*@@lBYd@xQ(lC$u$AeFtG>mP>3_%1I3SbArpC@ zwK!808EA8c>!5mRU4@NaE09s{0t6e97%y@EILhJ0hOUL?GPKQ8wkBEq^FJK1NAx@Y zYALYq?Z+0O@-Np-b=@m27G-15Hg2RqosohDNe_e6j>L9BWuZ<%>Lgpy%)N!21J41CT8`o`f?lg zXK1X}gAwmWjFv39W^w4s3D)6CJ9Wr8?wWs*(F6OKlN%e|3bn9UDBEGKfIc+&MI1!G;L0}#JD4-mid)gAfipj)`g z>(BxY?{vdrwpQ+r!u1zdeZCC2*YU>Fr9;cMYo+;*V6ZeW6mS-DM3Dul2MP-dp&y}j zUV(*1RPSuzh)bXGwRBDr0jg_8&s(82GZOAa7(J`6|LkuC32%pDqw|Nw5xmUpINWWF zzH})`p7R^-aUcYgKGZWE1@H-!jae+N4ii+x+S;Ujj@q-q)sjs6{$?+d)~Z6<%Ee=f zi(6MqienC>7QjsifZ=yw6v-~L57@IZN}k^rSE2!yIA5IO`YJJw*NHjfrbcKeErwV_!Ab}&c3)E|v$e%B_ zqf)^F&l<$Z7zw#e2L3KJ<|YE?U3-&(nt&9|=*=EK6@J&AhsK=TG|DLJITh#qP*g(m zi~L-~qz9rNMdbxuf3@CyCq1#`k&&=C;{cwWJM)nI{y5Zjzei4&t#oHjUNXlWq#EwC zb(8xpwm5eF${90SuqA^H-|LDz|6RL#+zwst(nn&t=iZx}o8LBOiJ9fS(Y#)^+y5`R z^&F`vJK$QT19aE)ezEPEfjwxdEY{A@1!}ai`#;rQHlx)v&#O4!45M>j1iS?+fE0FS z=3Qp*ac;C4`l<5NsS(L$Z+A*I9jSSz#7qbG3zw(gtwR-g5b3B>@UI+bfD!NjN3F`{ zWFX(1B*V1Q36My6tKnTSVFG3v_d4=y1ypE+Y1oEW9Ab?8r@7Gm zeA*;6U;HICyOX(Iu_9K;q~jJc?I~iC)fuRwtEFm#}I0PbVA_q z)8H+Vxi}3}(*Uf7>|Rp!S7v&d7`c+1*B_oq%Mgl6= z-T0K>X&D*5usHdris>%v00I{ebm_e9H?v7Ed`V9Z1pzFl1Vuzikox1H;KkRC*YD$I zlx7MW_E1o9Xbx_%;!>0ByA&e{k(^+fP>To3Rr)%qi?t}?%^{X3u(Ucc7nWMvQ9YFA zgUn=w0h|bA2EyOjd_#fvb+-rG!wikX;Wo?zGVg@Y8eRx_&Ro*bf^+vepgqIR9P588 z?&dvVpL!nTyjEKOr7#1gytga0`Qiz`h5~QzjX1wLWL2#zoL?+aXt6$K^MRsVw~@n9 z*oiTJ)4oe(huZLNbRB7hpCSkkdf!)U3M-7&E*ci)(jJoPExu&7V$VKFI$$&+@L1yn zQ!9r#VpK5vQM5Fp*{An-UFM&$6PSFH=d~+31)ga2Ng33w28!9z_0-tHnb|aJpV5DZ z;68H)`HZZretVhp!qQvx!o05BzdS;S=^or&@GTFrlof&RZgoq{V04j;o=gx=@780wiS+&Si59OmR{q}47 zOdXwO)*rcG3KeMRMT4Es#I_MOpq! zl2;Cc@EM5t_*XDR5yMrh0pZn0q}IuPcJD#->B!h?nUoolYUXmgwb=7w!TyoTni}CC zoBYe?$A1Ei!j1fam=*B*QG#xil{3yh0ul8Y#{LJ3UY#ipg|O~i6o!3q!-FrOVOw%?_XvmC(*Bh5>YE_-A^S^S0MYy z4p)3;>V>Wz?TmJ7+>rNStpa${H04Z9pN)KZUWDif9hrRVYd2D;4_AKbs|anDz+?xW z%UEple!_i&BB4ZGY~ph>!!LZ$C;|Dvoxk%cJ#qxM)vd9YkH=5?lv=543QeBd9_|!u z?<%SekAGNsNop(a(u#%65hfNpO#$|^X=RJ+#jL$%rB{o-&6L6H;uSV%K&r@VD2tsX zBC#z(u*VwzcWKCuTWS%?o4>y*Ud&Uy;@Ne`u8aqnY>N6!<1Cj^qO|YDN61S#g~!0? zAx?n#0%ACn4nMxYN<@)$Meo5V0o2k}l^8<<+t%-1DYq{W3T)3hUxr9*KZ~aKqF9t1 zoKD)tMlw_-T+LT(f3SVAgJ1&=&p*+2F!wwjh(MUH6NSJnC>+)N7w(sM9R~|y4$IBd zgq1Y~KV`qm5to1}_kaLr5`8PQJbZR1&w7OXSvmN5FXYHv;i5l;OyK&_=r_{i-jOQ< zo_x!K{CCHpt)zlJKsmOJ6HYhyqSl}9KX||QlQ(D06jM4PH{w2c{Ss#fPtvwv=R1?YI?Ed$Ln*e zA35RtgYrgh#W#3}fX=Q~W+>*t7Z9+ar=(IV*hn-evn+$CXzLx#`)W789q$D)TV((B zpIMZV6R@OUJ!cbz28s}+w+dG3`E@@Cc}7v3Ki==XugqEq<->G2t3NR!&T0?AX|c|#*_T&|o3}9>cq+91h@)#@2vTY;$2Q|=*6`X|oV`{? zC2er^)C-=QQ2G>*mO5=ITYdCL(@$+BEIiJpfrYI4REmWk^I8-4#=la&3)d$?)Aa9p z2GZsjytqSoT2TLvHdKRTpVrmske!wJa(II!tOC9~Dk*FH`cCe|>;7oxJ%iiQ(Bhh( z7>&>!OU@T(%@a^>7yAieOl;7Vrn_|nMOU^2y38wI?vI@Wl^~61uS|rZ<#h!<14F}t zEUI=V{8!FX45DxF_8UT{uR>-L7-O{h)CU+gFi)@H?zdY&v>-dY({KoI#=>)^$+roX zl^!FG9MjA(M`HS zYcN)A9*GfnvsC9T8Vp_!*c&xV3x=XWO3`|q75ZBXhUmrmRcWZIN=cH($k9l!4!}?VB3DER|}19SXl5 z-?q)BF);*TIFxCUp(9L*Y$>2>j#VzF=pNrE zgsi8OYKlACy&W=}>>s#z>IF<{vkC@ES%t>K`-FMxALGg(Z=E%o^C|svRuTSr=$y7f z_I}PZOL#qo@-2J3peA#ama!5vC*SN&>VX7!qCH5Z*hvvfjeZOp55;L%4;>)S8YMeS zZ+Uv(M_IeF56IA8187Ngzd~ugI8qNX#rA!J@Mk3BI#nUFTj9OHUj`ATQtCn%13kUe zLYFByM@^wb`aaua2hztT+sgV))$SRml2Nvwg?{p0SKvoy9jHJ|O;rcan?8ufCekw= z_&2I+egAmRFx#_VB3^HNgFMSBT7K`am6lTcFD55e9XWKYXrqE#Ai_WFLI7Uw#s0iR z3p3MkrexD!D>wc=F!(ktjJae6Vj)|&=5dQ^QjuFbRm#0+_sn<2$InoGigiZZGV8tWqPr4 zx7u;n;d-ct52Ayn>`FVqlzMCBRTh773;3g|$q?d5{yLve8>QqAKX#jf(>95d&nbE~ zibLe9a`<-ZK^KOR+>Qy6faAxZgGZT<1$wCa5;{U;xlt%GMPH`L4gp`MY+iQY#c9;0 zx1tQ;4f(cT{cqm9fq#W>J0b9pTdy>h+2weAnBAOZY);Up6w0G+3HpPD zV(e;e@yN<%heSad{pt~xp4#h^%gma;*iMl(_dnMie8u44<|V=5TgKV&{nrYTXH;*Z zp>sMKdYO4kMzy^1#RaaG@^dm`;@{vsw{^!a8!89Rk;KN@*3a?v-IR!V?TiO!RCQg9 zO)4`AR?l1i?f6iOJO8x#Q}X5PfUi#g7_cE!bx%zjeRRY>*nSum2#OWrx<2g|UL zgzxp3l^h}w5>60PX1;cypuC5**l391(O|7xre)GY_#Cc)G{)abCav>Oqz;j{y=8_o zf`vX*k3&FUow*w*cH)~O|`BHY3U=TqZcG-+tCNIzqxh$zxq_=HU*s* z{CDLs%&y#+N2!_5DAj)eRD4p3OF$^>{F;Q(uY!3gwAevb#0R@ADLz;_cv|gy;#~yN z(%`{$8gqzb^mh<_8p{tt6ye=}E?;Gt4I^+#{Hz3dm@Rn{_DYgxX7E!|0+W^*Ai%UYo1%v0NF~ z7iPodlFIh$Ddd|{#Y!)xo<$yc2${z1Llq7b6y<=k#mW zXE^mJ%2v|>Adev-QNC-xc3CJZKo{UqPy;gj62b-<4Par4lNx+eJt8PU3%={`-@hxn zJhSCqs3Ml^2a&uuv^gwSolsAw!Y+IKS9zkP^i_+gAL=hAJ^UPS%vUi;s+|@v7@fn74jr|=?UzD z*XxDeIB0&?iWI3))Qw2!^I&r}fe4=$Zc{HZC0~!R781|RTd{7@bs2poR%EwJZG9~% zx7}|vWY7(vk)GdSKCPPK>*hhx#Uin>WlLB_SWhA1S)6h1b;m63hX%|5#7XO?M}p{9 z^dj~OXasVm4G77mrK8!yKOv|KyE2q#io?9ims8r>2vv{DjYFzSeEAT7)!k{~P}aNw`=Dx|XTe z8N39BC3ba)M_sY`!Dh=>HL5a5uFOYHa>mZ~*?v54 zd>?j*z|M1!la4rqzlc&B@qQlo%%PW)ds1&i?~w^W&B+eS&<4-bI5qhHa)I$k1Nb$- zwJPNq5(52caNPBHyqG!3s=I{*I^GhF0rE|VaKGQmFjUDvX_l#EVPk54b+TCJv)qA0 z%b(uVJoQLmNb9ST$WII$J*QBlV4wAat{u7J`~I2q3%PNyDcEp>G12?|&4%VbTru#W zt59U+jzU6j#RR<>dd(}O&U2UN+5?7ICSIwR?2x&Z=9C@!O;mGBux|MC$w!Y_qPyo) z@81V`x5G;-K-f*`jP9rm!UQ{1I;2f?!n|(kr;6bldflXtl;q_VpFl{gN8Y zq%NVuWYhg-6jEG+D(hmEBgY)m4^bd>enDpe zT$cs=xEpLRj8qic(Lnt|l}^$_V7@I3V3F(#q`*GJ$y9+mN{uIFFcKlbqiG}3PJiSgf!WjMdgn#5zkvSa}~ zkp96bZWJ9XjP=*wJ^jpo=tbSQRiImzZwMfJL#!iTYU-6XL2MUy;5>33e3M@qA^FFy zGIgnuXtUiq?Tp`UvZRdRWDfwLe{yB=>6z87q#HexEV)$5U;9)-^jKH=%q({N>fbb;k)vUn-`4)X|ig_^Dwg>`Qpr&Ld*#*%`m!(Tx7u!0Ab%kOqYBjK&s>+sAlKiN9xJ;^xd zH*(<8o7wCL0WzmSFK8{yOhidl`;ntCTaRNkxSWb(ZtkDng7CZ45w9zC@7-Z28TVEl z1bY2*R0q}3jyIN2`N5?e^&aJWR%nE;HuNnG@{XRMD!o6}4k|*%kqv3nYurSabnX*B zgOBWgIPB~d62iZU$HwRseEwYH7U<|m6w>~0p-v@dc$w^4e5fk!@THSna3C{?R@g?foS5E%3&wVEgLUNyW8_c+bT`h>hL5`f2*Mf+;PD?A8f|~e zWEqgX9k_K=pv%Vcel$)8-U~3XAy7?$S!%g7k{nsYc@-M{Zpj| z7jy-oMVDR*)=?>B*GiXvenK?pTIg3Qn`0$YKEV%exjo3O^-*E>bZMuO)z46LAUP#$ z-Tx^`@2Ge(O|M{h=B^Z~I`m(c9P_#IajjF_w8ba$ke({kEQ9U6rA8oV?)40bXSgcx zX)3VSO8zkD;L?Gp07x8&u#G&&2XW3ggj-Kvf7V~zDB&xPgLL5W0#FjrOk0)ckx6=M zB<{Qo6j4G=ZX|3JGh?i7a*B#)2)HJV_v~zfyT0M=fH^wj;k0Ha(YQKvoTVGp>)f61 zOK9;>*gUgOb}jA(fUyzZbqTs2;Z6GHvlYx_91u)U)73o>h&DCG3B0Q2#U#%!)(#|~Ly z0dD8Xk|MoZ$%1s3cDR|Wvs0+e;K>v^N{g72WpyZ|bWIGI6M)-b`0rB#$FC@@O*9lI zin~4H!U3BB?<*>Ik7+V?4yXcVSw8YbH;HEO5*`CE>gV+cg0@gy3OD-D z*_=X`q4^5KAFi4*WIS*@6&t$3uuC8j4-TH4=2?_S7JWmyJ^A!9<|aUkq;XOA9(Nv0 z61qsZwn37x^!D?9v;RIdrEe#3mLL)P z*sSA#j21B8VEJZ@=l076!L@LRgV)V!(^9kfyLtbfPUr7QCrw%Q7iGCgB3@EhnSREH z(q!?WDPomG{8wtPmfJ@nuQ^(n<_n_HkrC|7QCtY4JR7`Ul5Z+aF=?s4`KphdTH~+F zrqw{v)(J}Yz4%xEEGL>e6hT4>MQA1@IZS%;C34WYoJnn_3*SfG8%_TxnLtB2U}*cv z8pryZ!wSxDU;z2=D&Hw6z9!5@>YmRpr()y93pu+HgkzNRzA+4+b>*GXx-psOGlWJK#a2`-bin>MA|z2(x*m8CUEcP z`1s#L0*6>Q)j8-TB_$yTITNn7!3}#0GY;A?Yi#06$Ld*+?U#u{?He<8kBf_Ur78Wj z4VDUaH=e)s)SW7Gs+OPdaT5+jOubYg|4b&1TKMGla0Ijd_=d&l z*u0Yo9~;XgdjZK}BX!zJf1GP7V~RW%u^#*3jI(M&PqeOm$ZRHS8zSHef?}mR1xo=E z50V^sUZFGHH8aSwwy77AVUPseMb8Z$MLxt!IUf?h4sN(kee+WKJRN~04(sY=*qYTq zPgL1;ZsMYU>PZo7Z&ihjwlPRNiW#Em>xi*)nsAt%P3Hb943(mXNd(}GHnj@GYkvJY z*_rG5zVQ&^`*kOzU|1mk$&)AcGEcG`igjxAR;^{vY*lT#5^X#vG&2Ce9xr8AGcLEc4zr<}}vbUXxynjYuy`M0NOo@Lr}A!^!NJey6>tCqQh z2pJsXEU?*l`a?#kVQ(h+vb$o5-Lz0NcT6nOf+pGw9Q^MiZ1*dS9_-#0jDL8<*Vf7U90GFkQGt$!HiB>O;^bbWxaerAq0}d>bsA z6IpatG(6r}<;juJ50edg{G^%Q&y{)8JZ9tL0zOTqI4MB@g#!F zFi9AqE$Qd}2DVt?F%XUAXVRB&=VTj0R6?^%?3GDtt$C1F@g4xUpx`vCLW?H@ZD z%DiH`8fKHavH!n=yi-hZR+9V~OD3`h&BdPCdF=VKi}OUoi7oi$^zy@W&KLWn9sk2@|YOM86N*)>XYc>Qcc1 zg!OJeCvdj>|0VRLp1K%T6OnvI<*wz)*%RzM_P~#LdM4^@;^E6z9n|`u9xr*(mhF6> z-S5`FZ?BgFE8uM7ynElFVbYbTDflo+a2FoG2phv=-HD{fv{1F^eI?oq7Y6D;OQ|B4 zbQ^BmHHI#IQ&T>cM=m&SVKxSM{P#6BHF<9%`Qo*1?C60bEK$;5NXl&ebRKDncZ5`Y zCp?7N(o$35w{L%9szU#E{U3I4AUw2e2|7AzRk=|T4^Q?;(c+ zINL@71hEv2_`?)y;D0G71^79zIV0xak>t4tyCVGczR6d8y_1~_2|U4@19yCR+wCuDPMxE3E6Y!ykn3vT$}>2JVDO}g5)9BY=D_|FEHibShk1YY^DB;adj&#I zL|b;vG00n}{oRxlv$PXB#)FR3t9IqqCW~{%HiZRK_t=v@$Q77=|AicW{3Rk*AEM|2 zq*8W_JnqdKdO?Qp$Dqo8y{3%+ed@Vy1rqrAE3J2Vnq9yGvHd3D1l`dC*I`S}wCwQI z*~dQC*Vi{UXDji5jhV`?qN?ik7q1}$0lbW-!u=D%ciO2rW4mxl#o{sZ3LW?ZlT5LK z>LeY5m-ZD&h)u}(>9Jenee}d*1g+iD7O^UwL-@jqx3tatHJlzq4Gw%3Af7WV_(sY`|NUfgWyn!hdKj#8-momNQE@Wo zXoM5%;rTgCoYZrh5PWmW)RaWe6*&gf7o$>_YK+AGi2JkBa^V9;7RjEjD*RkTHO9wL zPWIrD&p)`&0KsE^=H%Oj>WrzFny&Nf6bwTtskF4`?zZQ|5G4h`TPn{5Qv@76Ij+Y^ zZ6gi&vxtc1UxoTUkoOE&HQq{gwlq;fe-w&2|c{7O3i z!q(&@vDH_jZ9CLy?I|%&L(nDyA`E{h=lXZ?IaFJilOt}$M<-l|jzEDkNiRjuo5GzT z@CK+o)D_WtXN+w~Dzeh&NyFNHLjtcg^uv{i4^MV`f=BJ46v|o$n`nR(?SH~lL@5A2 zLEf`1QJ`7bmn1A`hH9r!REpP!m}lw3A8G?>E{}=7lq@SNOM8NML3O=V<01R2c^-5| zog|#Rg2Gbpt?KK;k_K;`GhRtrI&C6~$i)BCgNp{f z3_AbTL0Sbt?5!LV(HMv7yV-geDRfcP@14yDFq`qh zfoAqFRdtGd+R^S`1~@PKum;I~@1H~znMn(i{G?z2DoqQ=$HNdmeDYL&eqx7+m%OtR zjIaQ*-|e1{$%i{b_uN|8lVS`@l=e+^lqL5RM8tDvcIK>EX%NGGKz4P;^3n7vKt3PS z^ZX%ZuHAY@!Jut=b!!JUUYh(_&M;0zOWJIOceHOAJl^UG&ozS3@h75kaHQaKyD$V= zE&corLRYnJPY&(SWpO&|_U(-fzl+CvvH2jaj@R+zBF_$azXxGeqkF+HPM`FVE^_A{@CbO8;n2rQ+U<4+oxRKG=LCtx@E_Zq$}=hu1Cm!#(r#F z*dS?ewPFR36WkYzQndmX3**DMKknh*PVPG(38|j#|AA{~+NRsSzd9CqRWHJa4y}vf*Qw_wM7h zE0EMC&*RQh^%mAhgzZP3AUWqHMw&)}$7)}i)oBo($$s{NRninE`FprZK}Sv*(z zcJ$`TjvP@ww(E)l;&DN8ZS#z{wUto*wVxhph)~sFZZ2v2jUW`3rG~TjF6a-$k&NQvJfp`( z;*!UY!vTUGo+U^5E>Bbr96~qSPWiN0jpJ7=|4_s6+bqA`!PV-q@@yRP2y*ry5VQOs zvQ0LG2Bq!lUmBF)6)6$tX9jaiQXua8R(87#a+P*Qn`~nLnqjI9VP5~WN zZ!!E&{c39MK78*`FRB3UK5(!x(AZb8X5qhE$i`8F#}sHr?CTo7x!3sPQ6)^gZ;$#0 zn$2WDy*&gr6uLaQ@bz$Z0*I6IpHoE2a-xCA=5i=CZ8_)bAK?Gk@J#+m$QM&x&TG z@t`Lv<*CB^oGvOS`c=l$6@=9hqSu%`Tqf#S@6$0eNj#v~JOZ+#B4q1Vpfp+q;i-|+ zOESrordnu{Mz|iCFxVcE^nNfUCSO0sC=i&@Dt z`1}}d1c%AhK%Ndo!bZ-#Ln#IWN=74n5d>Kq9ZV-O$!93eZAynT=y)%hdV>QAViCG7 zwtjzLi2R1MK3W76Y`>mBniTwff%Eb5V7dnbU+eCt69{C!s7%SG93C3@{NoyIJ|GTz ze6b_gr^?6d_O|I0J`Q&o09dMA;Cu=0nsfg@s@^-E%f9^|rzAT&GrU8RjJ$2xgb;-g zvNw?t!YO-)%6QvEnUxvI-g_iFA)}C$ko7y>uFw7WK7RKf_kCTD+kJOA&-3*Aw)?zd#`i?~rE&f%Hu5LKlahQ40aWe?Ne&TX-FLht!>NSEP#a@vvr zk@7&QX(x*}TvizccYCWDg&*%*2Ty+$H7?C~cGIcv1%)NqG8E5ZV_~QQ46W}wXW-52 z4ACeao;c;qRmylEPp71&{*k=U`H=j%v%9j9Cna$}PL7;rq*6}y@r_gd9TmmmwK#7j z1yRkO>?ZlpM1^hthDyhFm-tSE{k2H{w%G?gF6vT8#?jy@&e!rpQH>FQ16^d;aM;DL z&_7s05W(z5#{+pAu^U4_(Or0U6$XVPkBvsRCAB%;7Kn?9(MPs^&8HxM9C~(@sgqW? zj>#~2!2Ndx?-llJ>3=!WfPz~;4S_po5>~CAf5)v^d^Q>%BF9^a*dz3{_`wBc@juvn zv5%|Zpd$?)au9B_KW6^i7t+nK6oit`eP-ky_>>0qx zTnUyleWM3sApD0Z^~OiNT9sOAqO{l{NLJ%zX{faZPO}?Xri{Om6C1P- zw`|Q@lTX6@>Qd6~wYu>+>;%ty>-60;&xyv^V&0~+qv8TXly3+SsN}rnr)zJCdcD_V zxNJ$@5w^UL2^fi$5Rmy{T(5qKD9^Rc)fW&MC&Wot2BuXp!_5J^d(a#YA|k_^?*bo-QEYc zP^Co%QuQ~TTMc=4*)|JGGTvtqzH(%4yHB#&OM6;-5*besB2&W9=1z;DQl1`yhU|0K z39rX01l`r>(9^6VX93nzmMh^(!a(JBzR33Z4|+Y7j*`!HRZ(&#`l3vL3mRNdy>3c$ zHmQjE+&K_Q*9Kk&6KEuyLIcPn>;%^2?*}-*=nl3?e*k65y2(~R(rB?a2oAzOO;GZy z48IvJRl!{|>drQnUqIvtVG!jk&?k8AnxF%H?{L}72VR}Px`dn7lw9jBHKmK0H+e?B z1B>r9@RPv5&)g0>y4d}uS!YySm;$P%gUxa#qXAXQKL(@%_e zehWvLWxXFREohxnhs!g3F!@f0D-g4!1Q~wyJOJakr^2!Ex@BuMd6pEBl~UH0AOE|> z{_muK@JX^?ewRbd*epcL%}K6GE|2bOm?XG+*q}GK$_4$&eRXu=DDamqCdg(`&Zl-z zykNJrvm>fObhxO8(4wBII&BMMDu0A~8RXAFGwo)}db@;*mcp|8Scr3^pZ zO00)F>U{sltzG0~_aTrW!JXxE^EIh|5cl@yY5nfgIeP6Y>k}3BBVE9x+^?%gPL2ge z4aFOr{sJiyVm?&jBU({6w)$taWp|S;b%=wp9IN0a4Yt&9*0PHBgl^-3MxAB%k!FeZG%<$S}Jp#h4j@)10*@kTFBCx>#ZO$Ye%DRd_gT`@#g zYXCoI->k?sG@BYrad33p)zt;HcD}|5icosGQmix)5lM4H^!HoZ0THEVfU5`^A{TI! z`iifprUnI?i^)zAS zWsXk|<*^%Qf&Gcmx)8(+)Pt}#f&%_-3TUcxIts?nW&h%m3`EYf>APM90L*mmE0z^p z65rEz{eXu~KsTQ$Tk8>ym9RjQErzC0nOOP4jd>Z zD^2MJsyAlv`D4Pj!@_SfygDnxNA(RY`h8$Nyx~TNjdUNY%V-?qeD4^GR08VI(=8f0i$YXu&cbURSDG0tE13>?ndpFJDx%=IP0`md_&M>+76vpEH&IpM9+CaJ zz{^k@!P5;&o5~vkv0*tIbOt(*y)6=OUjPlAo2f`(DDmZ3WqJ8;Ku@?OYc0z3*H@Z0 z5)=|QZ{B1g1J((<3bazz+TfTJkBxPKIOx8!7l%p# z0%}ED=01L_`H?VBFwBy#ZqId)PDUX_%Wwy$K>vomUBzOE{Eeu)`Q^8iZCmGlo4JfG z$2Pr{H&M<(qoID=!BRRXZQO%&4R>9*@C+?)jYbzVfwZS|ppLz|`towTP8FX;;A79Z zidhjh&+?b^j}>JiTjYZ#{CWlk3?%q5^RR80*%eZU&$iQovMd(0^{~TO6fB^^`1!bQ z$?-#p+sGtbAgH17#!|L`M7$@Su{00z3qmUrvEP-668gM*w;+vM?HT8HvP<+sCmU+7lSaF z@!4Wnw%XVxQ+s%;*_h0`QLI0j&V3_Gj1>>9JPs4e3buMc)pjvHK2?9Mr`n+ZorhR+ znChOx`Vlg$*$7vVk(aX5M3#`8W26%h%JCVzaMLQMaosv;!9^hbC{ zsRp|{(Ya_Psx&Ce3uc>~;#w{GytGgHd)MqM7Bw$}MBv0814&s=tDKH3Zs@}u6(&dQ zJ>d2kXN2So)8hdk@51UkK}YdNa_rx)OH&~t_n-Nn>v?=C5lv(`ZJy#beWjDtU_fnf zQBqj`+ERr<>9Zg){2xogZ20LQ30=VjJf|lrnaM)oTg|gw#s&3CoHE{DUV;arOiRz2 z&driMC4aNyJL5jBTNq4o@vV7m6%aiw!7h#<&N$l|ryVYMiz3)|&g`~U!s_x1FB*TZ z?j4sZ7j-})X$4_Kw#-S>b@}r_+fINITUuJ0nIUJ6D}dortwE6!(sqZ-x5?sSsy1_3 zFx5KY?{jsM?JiBT8!as@5PApN^nUXi!As9CA28s#oh8i|Dnz>yz8K>#H$tB50 zh%L5KY|G|r%UR_PG?i2@GN8Nx@6#;~%3T5d7M*MFIg?k@4jvw~rG299C4B6Sh*KqP zQY{SJI)(i|wncQgL&@)2(Y2aw<_*qM5n)WJiGovXzH}2R78!o4a$mWkntQYOD-*@d zqdyNpaITs=1BRcoy7na_7^<&jh3}5#nF5~m!T>@5DiXULO*j=%j?f#6KJl$H!TPQw z^8EKMfDJ$=NFA7fK#&umI%xr^)%DGxrY1QqYE{k`;De<3spUP~Aj0bRdTfcN)k#9- zMgr*A%lU0&V#nU&!~nbz`b@LkUqwZA2?Q?CJ>3VY$l#Y`^-`S&pMe-vgIR(1@M}A zx*1~p)k&@%gUu8~6QZKjM%_KzLz;oZp+%hwR7W!b^Z)f%cFX+c&!4tnkIs>*%&w`;{Slr!Y%9UDCl^ASQ_&D(;`%`} zw_y`IMa0ZwSNtb2D;tAaUsHU4wp#O2MsH2yt5->$gF_*XQ}&Tu{1v%d!g8(MmV_BU{Y|TEpH>uF3gDw3-16`MS`}o6%lsVNdiz3=yzh z##2>*$^#0F?x?WXTOp(-$XtAwwhknQF1J8Nk4`$)$IY=PwhJ4#jFzaqP|EY<(=;pv z;lk5WSN01rg=j4ZA$etkj*$G=Xo7Px%Dw4wNNvp(_`Yv8tGk{V znjujrRQU1e@8px;Q(o|M+T5?e;q;RxS5&>%WF>YleSf&z?1Qqx#l-_Uoir2?0-Un~ z@v|%XzyXS`HCb*c(k3(cU`j1e4{?yqT;Ssw(V7CLduYrQ5A74|+`dGT6DI6mUHv(C z$cf1bfw)=`yqS6aOjkvL!q8IFDN1LRO;KSk?%QRqaUr*jP89h zPYDRJ`Kfy$Ba_7oS%fX1QFV03sVcIw9aamXWCh#;zX)hZ>@+?bhccZFCPpA+Q9wvV z0X13=uk|+NU2VV=ZNU)Zq;A@&u)uE8gFl`ndk9!p?49mL;9KYcxl5?A%-^zjLEl2z zZsDbZVZ=2QF6rfH$gnU2R?Xgo^TCE)a^Cm~Oy@{5i7g}-Gn<-+V<$le`JTcARSt{j z+1^H(<-K|Wrr?J`dA7i9fF(-80<>ed4MdrMy$9^ZG!2Oub2|KE#;CB3!F}KwiA*`m zZ={0XaoM=Xr{WdyN?)mCXo8ygt#9RP1Iu_elm+rmLR((|#o-@JGajI4M9$sEs(TJ* zPL2UB+m3$ZbGF|Q1YY1z_)zl$gLSU~xI+X&4%2eZ^KUNg%vB)Hn|?C$`8a)6kC#pOhOWpuPhW%cHh4_ni`~oL z?d@F)&I}Q_GpkN@4mmTIYhSWo|D5^Y;)klTk-l$^)B7BI(@!WUfS!-}3`$2`i&`NIclk-| zMu5v>>(|3S=|Y}~kZOp}?9N^VJT#W`;7H1B(P0u2p`JibJ~)EBuXJ_bF0;BGEH?|j!pF_hht1&8Jpa8ha0WckHEiX3MB^m_uV zbK(w25K4*`iCHO$^NbUp@FJ>D{ci`*(Nv5;blWgIM6QFYMLk^l*QCLlX>oBehDF*B znjxp@nw??rW0|->pT2a2?6pfv`RqAY7);lCZ97&?{~dhp_lN1L;XfI+rXEf_3~VN` z+<3ahYmoKgoa;FG-o+I4_;hyN%xCy5sH|M+czKj0ntwBw)bG z0U{LFYM}~pGh#fYY(#+6VE)y{m@eRVnU7znrB1jUnsP8RZWh-{IFLID3-%v{@i%v2 zUkvw}aPQV&&U13DLLqE#xVZS&RQAJ1#?a>H&_c?YE&=8iL4{u-SflL-A+BXuMhEeQ z`{x0%nZw@mSgR~V`p`j#R8dp#F4=J@_TFT~9UHg=2psH`DYYQkRavxB;B7Jbkm^`$@-5@}{_W#A zzT%<8zj66l9%>*7iG_q6*v$8D77SHSx{Za1rgdv<~+#|4XsJ^`avm=c`bEH`%M_j zrXWZsk)4oNa&J{r)Bg;3eY)I|OA7Qs;8PGFCAv4st>WSX)btz4L3o7BkRJh(9xYvM zS~U#~RFjvfX=A11)WtT3Rzt^F?8>27*WSx(9IejgkLC5RyFihus@u6P2~!5lPL!#8 zRG)EWMqP8xKYE@P;f4^A7)4k^JZDZD4y6%ph?W}X?cAaC=}#vl+Wjw8KS4ilTV0#M z#a?6=qQyh4Ij5hmO=jwZ211lnJ@fPSC8Gi|QD#VyxvO#Nz{r34HbUXE5RciOy?}^{ zif=9fF(yv=$GCL{P5%qPNRh?6_?LKnMtqt{Mby;PSXEhO_01f}#i=P|Y2+ASKMx=P zS+HERlKCs;pmsf_%U4OWDa-lk@-yRLzwaqo2kUnVtt<;RO_CSkbPX*ZLQFw~(_IQM zcXoX?*YcTWF&CPi?72(f1g?3g36j8A=n$BO);vI`5(W-)h?=TF0?1MvCohrU!!ly` z2u8M(Z2wN;-6V}Sn~RwqI7Sjti+R zSsJWW0R)GHp;yVHtmr4<#*4|`>&xi?A4#c;n!>1e=NDr6s1!(p~Q+kNUnf`75_TUZzaA%ly88%YdQ!?hN#&RH?R&oZC@xT?P|SfE1NramDJdzD3MfHAK|s|@ z#KEv75$m#?)Xl7uM*Dn_F>|FlbB%ZhLpKsM5uAV{-s!DNn{VyvdZ3y+jpPpfw%GE8 z&)m#KM7!*+?JiV`C~@&64c#dsh1VE!FYN^bEbI2gq&o#A=+9dg(5w{?iYY2eW9F zSKj4+Rt1ZfLS+Muj^6*e`gk=p-rvofPiA$BhjmI zptf`3tey!ykL@Rq>5xD*iohKQr{73cb#>^(+R^)TQhY~Adyl`~9{41W;P$a-;=s+XfTu0(tLkcFTs_|GUc<~ zi~M_obR`rQ7lTWm;kOMprcGbug?%5D-jO85XM-ajx{x9koOtqR?yHE)fV&aq2?fZ?Vx7;(rJ5P@gG2lbP;zW8n8;%SSTjG#jJlT-6%`f1 zTzNM?Ncml(2@C={IwNRxa=a-aReT^p2{`i8CFK#O@y3{sjho0>R6=~cce;p#L?nw> zdSV7fTZg9IRJ;t~A(ohl#XUcW73@u?rI=b-DUI%!eIUqpF*7r>wao`_cGq5^q*}m! zCq9^mt{=p+(}&E~I2G$Q7p-h;kU%&A9b}B z9zQys@HY`&nTWeQV;Y!Rp6<&@g1@FkfHBc`Ev79(tN|;g7~B~>**rc%B<@b#K>czf zTNHsuxb-xi z9fq+PU|G!^t<)c{fbpi^?h{00hX0&7g%!y*SA<-SLUC`ASQYE^DtMyGh*%bmH1Q+z z*LbbuXhH;LsUx!q;^`TOT4aBOeP|U;XZdD9VTIl*U9h}r2>$S?cnnlZtSH=}E60^XQ@L!#F6%6ekR%+5T z!0fBL6tpT%ECuw`0Lj8C!x^DL)4eS);C`h^q4{n!>z`>DjZtckcxYPLMbl=tjg^4g z@Dg{K7zUWy8y&7H@oUyy?cU-@G@KJ9GZru!1v%)4&lx9&OK&ztLGTFWavS60j&rYl ztbvp2%ZADB?-|bQ@$r@Ofz_&((}5wYWjvRat=?yu3X}`lI46t*a%ike&F`8OlWA{9r|N|StmDidCsy_0 z-TIRwtaIedPRSE&IO`-faTVHMS0A54>_)a8XgVzQdo<5~IO?Y8yC!r#IWv&AvNSIm z65ongU8iuye?s??Rrz+uM1QFR7*Yh%wYSj>quq@XTXSV)vAN9g?9Z-}6hOPN3Lr3)ss(!P2ya1}xERYf4z&t-;7e7V0YH zOldIG)1wn3C@ttJRQ#a7rgGX=c-KSxyg{*VYz=?0ib9yQx$hZ;Kgf?4@P-;q`bsCD zAYFTvVB4q5J<0t_zZ>)E_@8v1)**yU^%mcHQ(-U~t?}*I0ZAe!sy+EhYU}-}Uq5RW z1VeeC+XloaJ)~{cS%c3|YTjAn%4g$uqbt~&c|mfcVZ8ny@ESiu8+JVL?r7qQ)MhxC zrUGJ)eSrvEWbkWc984|IUL2LimlYKE!-0q*2C+WjvPGWeAi*f5bep3?AWH6Cj5ccx z1N|PY2@VX5&HSZ2j3oGs+H9Pc)+Q<?#l> zC?8!7m(xA!)@?~QGc#)Hois>x+ws0hfSh5EgLOuBK9!hd62A`hxsmL`!om(sb9@m_ z=7ItSyl19#^r&2KrKuBhK@ciF(muzYbhihphPAuMG&Gc&)S#3JtR=EjwOcln%&iLbC94Zf}^nGUqVl;w?2d_JfWcrPaL z^rrncCXz+9vI=k&9^yK7*!}%v{^!8=iM6u|$(9wS9`b*aOYUSWANOC|kNU5M(0}x4 zn@yzv#32U!f{}XZ?u$2l_V_72AFVy=XVIo!z}T0l#Q*5LlFl!4S zK?NaepX}XWY^4$>G&InnHf5)ZxWIq|pL!BE7>gWg#+Jv3=zO@m*W%44P0eI=%`ALxMw=lDkneGBw>n(lLSZ|xy_qEF8ap^fzQZP5&XBg1QPVOpt) z;e5u^t(r@DqYq+Z*rFTHUkqU@hu-abJtJ8t{LDwx;X{YtlyaBYg@u!nMHtOEwx_f- zAl1s?*b$XIy4Uc_>k?k6@wdgsYv~%l6-`3NPNZ;E^;7731Kl18+5Vj0LzcstG04}}IERFC0?1w~vo7lajs=OEJT%oKM zm}ZvpL_JW_0>q$XC4C9ZNcZX<7LFvj1rKWMjk2o%x>AtJ11c(fS#rfeV1hC|fIE*L zlV1>#iAKp)gLdd+FVFdZv`}Y^UjSP^-K%#@#)cfP(otThyI%d><};eRMp$!Y6)oz? z%1wmG1`|RBT5~Rcat3|dzyE;n zw0bxgNzlmBPFb)0ZFbIJ7TZcQwB@|i6O$+LE>z75Q#}1?#!=r@O@WbQA^{#;S)SN! z1uhoWE}p{SpG@!9$S@*<2l>d#aMBb{;uR4u;-!=Wo(m2(3N4N{(7;j8V$04yFK~uB zfm-q+%x~*O2DTNkE`IZP{o7{+H&|BvxWLQDC%yMQP@(+kt`idg^8I~j5?F>}S;prt z`F}><`3b4S!_vfk+uk^?oA=XdX*aLLt4}6rIDjOU@;r1y1{Fu_c1FZ;h5NzdJs?w? zTlVN#Yg8Cf@ELKYY_7*lw@$lFx?#P7i-i~cU*eb1Y^~3l1^xx{Gz>-`^n%1gh!+^o zn%oRz2!7EJsH9NJlM^}2AH}W$2*Kjb@dX7f07Oc8>@h$fFDQu3H5^scOJOAdFllwj zlNKonBRbPz2f3rIMI&}&1>n|pFu+gVE`T9V8X=p=&gSyO8A9*)*2B`urHG42yNvYF zaG|fsbcOwWYDH}B+nH;Ia7Ela>}ePj@EQ7E@3F z(d5va+&ldA-z_KB;zApyi~v%^5CXzdr``9aXwsa{E?meRs3>W!>WPAP=qomMCY-V7H}>mY3H0fs0G!opJJc+hq2ouu>k2K|rASV9DV zJgv`xy!G_kb~<)-j0NDJ39IU;u43h$FZeTp;3AT93b_Oh5k1=0XfOCE?1XrcQ z^~g_}M81DJq&dq{zoX+;w*CjbmzLv|jygKNGojZbl`tm2S`=yyVSD^aHMg^~6J|xI zTtZsZUg=ff%Yf)>L8PB-gRX#H0q8Dm$-mg3i#vT>p^GtpEld6f8-x;O_AST)n;(x>is%GX@WOM$773dh(qJ~ee*U44YL3VnL? zdwTs6$s&(^jJmI!KVw>%;Dmglt@V|b{Z%RRJAVGk)vgngdj_^rgZ+%W}ml7Lyd>)XFQa1TfdD>dXl=R}1`u!*4&+0;bmKCZ>u zSkd95nn7Q-YE<;V|FK{_`OaA1=5=FQU1FHQV3u_guQhZI{mkIS$WZI268}<_110xO zpQ#Y;EKvgu}eyP%$tv0&^)YJ=kAd*+~pIZRLmiJ8e}$ z1mqPer-Q@3+89QT-C(GIG`mO|C)jPAC@NqF*)zDq4q3eZVc63N9i$eu3`jp$r>6Ye zoG^D=foF-*!D0w3OH|Ew22{CO08v!&0_==wX}6CKc{YFW}&Ezg;Rq#{+*YFIq7^L z?vF}#l>k;vNKv7}TubS-%F=8|cz;blA+j~w7E@Dl`Je|1DW>Uov4(eO2BJ&fTPIlZ zWJZS#MDWv*m`oLpuEb87=;a`Tp0;m>$E#hJ>}!wr8o0Z+4i9}G-_-GwA@4k8n7e%J zcAB>wXNmn-vCcHu=C#1)3LYs>$>> ziAC1aPKgWsL<(P=q-*U*9dE_>ocA7YzHq|)`3JLomBHw6&G|J)SH$%K+xIA?Xxuz8 zdwti_Hz&`ZsjqtgeT*YUeXoxsXZ&Z;Lyb{uChPPtH(w$`n|Iykr8b@o@1Rnd-M~z< z*CiD)zspXlzfr(w%>Nxb8b@K_*1e3A{fzKsIAF7|neg-}Ke4@~^%9$mhkbiMi9e2* zphqCu?k4u{?N`iF^tbJ5vq|BAF}3IG7Fu^WRpPP_69@QHXrQ)yPbaOgWCaEtl~O;P zu7%~Y%Zxm>qB@v7Q@S}yFN%mTYDLquSI$pC2lBW&YFwqmqvzqGs0OuSP01CN_`It{ zjy7-q04vGJ%?71@fixwa-4@e^gm7i`HuAMuF)C`M0)67Sri4GO#@DQH4-MT51-1;@ zf@ntaL6DRbnZ};k>>98s7o7RNKe1dBqu*`zVHrz#gjHh_dvvx9EM7WX3bnbVkAB|S z3;?0fZ1}?C{r#nkb}t~Vn(%AtxH~$MW_TBl`~sGk#=;{4cwLZC@Fw`hLC5PAK?Q}E z;~rJxwY1_4D=qBVmv7ZI17qt>PkTmh@68rfVc>tkjCO${&bF_w_h!(Q-`|dY4-#01 zhN+d=PBOQY^!C)!V3SPmN_>)Oe6$0{x*7`_Ib1ru9RookKMRoxS7{@m^uub|8?+LA zJ4j65rG0ccc#1ex#W{HlDqe)-b|WaV!X~XK6rOu4a9M7MtFYlTzBs27rqo3L6l8W> zi_Lvu9ox061euWnBP10#Ud$22w_?EpQ1sRML62z2P3=M*9i6PSK`vhh_}uZ&er(p( zA#Em4%W`1?k73x4KLckp$v71Q#JR^(AMA2qwob|?T}#HA?M8hst8I&T3hH+iO8tbm z+7PO_MtqLAt5GRFmp7hO7{7y0zgdB^duw&I$Wpz(mmB70sG@YiD9?(N#m%}t(e zP3i{9fw1MdNWR~@2T2jZ!Oj2%NVXxyx)w8pL+jPk1DB%Bn|8#X|-g z29^&G@7yul#(u{6-%iB9oQjsWQ4viRx?SVEAJr^&d%5Nq7W3Im+t{6*zP{L~gm~e5 ziav<1K)fYzg$YT_fJ3j#Mk1>$_gl(}Ev_bbN9}@{6>pE$jS9ebjg*-#qdZ%hz-AzH zqqOmJYlr|uhj)`m@zJLC2lQui1ze6&(RT2J`4)COUo=(YEhdE}Z9+_6c7s>LylBaY z9T$$}(1QfaBrO`nK{SM-IsaMK+M9O1j&zqotN9@6rf2$+s0RFieM6ywLI7*Sapi1l zRvhkHg?dbTjxEDK5#T$W&;mhd(d&{pQ$%ZaLBSpAqd&j|J0B=pKNIQ)VSGTkZqj%R za~0q9>kv<{g^SKe|1om``?#I^t^ycwBlB5Q81&x`znN()D<2fEcpz&v(T~kjJW0-x z8sV0eJ(6!2H{ll%-y2w6-N_SskYBD=W{D{aU`?_jt`juu;b$Otn3I}NrP8-O(K{M4 zKA>sxijQasa3|8!Ctc_R!L{}CF%o?{ynXc0Su^3QnK%q=OQI+hwT8>Fqa9fe*IgZV zAD^jGo<(MJ#G9TfB+05}^*)SP%I~ZV=oUrdEJHSXxFP~r!{+H;VOp_VSd=4a6IBSB zI5>c(8_2l<4EV|v8+-(3;5GnP1<-|RwkT*Fw(|MmF5ISWg%!>fvq|TK4_yHO4^?Uo zqleLoq5dT+Maqr4z6xa!57+ncurO3fBMP~D>0!YJgAnmM2uil07;!&>!J8dx(DGmz ztcxfIo0`rv4Qd7s*r2zrR3C12gTdm<@IKA|o+;ZE1Ln+?dqwNJ4D!SiOk`J4W&uZgNF~rJC?Mh}(d07WzNe$3Y=spS8-11Z z&mXI8FNVOSCWsl`n+G>DH7~DqIwJYm_c?KPN(#^>tFkP#+^Agqk-d^B3~P93d7*hY zWvr4?88Wp;WJ@0X8HT~X{;NvTrCRR405pZe?Uq}XN=p-4?WKDtEy4L0RM1pk8X$fm!CO5%6jkf zED?fDMrF>e=W~~;94A9A6jeH!3&JS}zOIuKK>nld*Snh{^H=^6^VK>Z=7016a8NXr zm~7Mtg=*IyV>OUfSaBn}%R7z07ne8AwBPp^61pE~4g)^v`IT$l;b_ywpe&dijhd)G zDcif+Chhns5E$IM{4r&}{M8>fjyTl`zt4gKembmsVlge}Z{&cpDQdmuA_}3(5&)MD zw0fLBBrFbfspj6TLz^_~p{V-82)qtse*~}+1mH;PP;($L^FYt5Anp$!Qo1|?C~DFS zxc9{VeIFmj`p8r;BHJ^)eS#2}n?TL79503K;rAPX23I2HdU~S3@wSLf1-L}i1gv`? z@FM|*pCSs3c7@A*N}!-+&r=I1J7}Iw&P+hmHU9YmJa7jhY$Ac^|Jik^55N&WOT?0c zM826HsIJAj_aIC?*>Q5=u^34+2uz)-?)=OCuU3g^v_|i2?Frt93bAzODI~qX&|EqJ z$NciG-{#Msto^&rWyUoZWG9UI>hR#JVS=S-hxqx8cTaL$uD=$iCSLy66K<8^D3C;Y zogl#DQ!n zCTqC$9C4awV~c}GNzJoF$<_#A9+|8Z_!5rNU{8eGJ_1MY2W!9S+}#Arc9*2CkTD@Q z`#IyVw|Dd3Q-hu$>4K9yl}+wl(;F;*1LyVdcMa?A_)ilflHRK{V;cdfM39<0vz|j- zVNh)BKB9x=cjDiMafauaX9{G!%!`7gNM5pa#msBqjErvFd3I1>b zG0VJh_AWp^2kMi^+iGn^31c4UPNJ>H19VqvJPu|JM`T`vk^6jIyVR7)Rk9$ueFa_X zh0K11FR7FVvKEX+Px~eQ|NEB0vO7vUGdX01hyyYq+`Wv2NQez>%V=GlF=G;EG3w zG49{B{A)IQK@shxJnP`fAB;f6)_5F*5rk zZ$>v`KM?D)SSVlg5dk?~8xbx!DWsGb+LFiX-oMWlv0rzG@6iR5>&a@$X0j$))D#pJ zX>wUO=jmVav}`<0Z~r4COWwo}D7lUf1P8n#(k;CWKtfXA`}4ZQ5Ot21hg}csKw|wz zDTD%K6e~@f&{zno#5eJ)#Y580m&=*>)GLv#C@abFXp^LuVZwj17q6W$(UE`j6JNN) z?hTpLdl<}LK_d%beUbqOteD2ZvWF|{%?*LBQ~Z{Gp`}~o%_dEAO6ASxi|W}?VVK^} zX??Pu1Mk0;iWh&CLKBixOj-0G_V}`nqa~9A+&C-a%i)gYUNLw3Z=g!ooN`=xl`9|2 zsC}c|Wx(!KueiOr$fPVkFARO1{D04e+@xd67df@D*{gfrbc^d&K|wYie8%>e5b}Qy zj~5<>ghwgepklUGfs9Cf4ZY9gBD5iFc~>DpmgMY(IZ<9(Bod0e7C9c>e$aMgr>g@U zY~|mld!^s!O%%|HP`T5;4Ns;mh+UT4L@96zhRHuSEH(t&VStawHfgvw>h8d3O|B@Q zLb+`3AWb4%a8(850cRFMMEa+|-*k)bXowGT(!ib}BHGRgXaIhGQY6hFE)#rWd)h)E z8o^Yr`kAa{u{G`)$1bB%bLFSrMPmjU0u#R%!I>44=ix*FP+jpC{&L__LzGp*h}7dB z5}LivvHJaCTu&}NGqP_^*sAsf-Vvy`Wq>-;p4m_3g;DVb19GAu5<(zznIie6d* z8!1bhn}+BdUUs7sz9s4X7OEHQjqck9mmItuo@(wo-`Zy?A4XQB%o{>HT50YB2qyLZ z_t=LVgJLYzR?RT(6a;ZSL)ot9j`OGJO~x_85N#jc!H0UJ7IBPVN&jp`MpE%d$YT6>M$`#iC|lxRN{c%r=@Pb z5ntPd-`G+k_#`=|bkR<`1%P3$;W{_W3NyDi5)PwvblkzMZTe~a*-yc2CEDB{ z5{Y%vk)nV8)1%Hw2x0KDyVv(%?Wz=WMUW5^KR(f5#`J=A3-r z979Apek|gf$QSAsVo~VYLF`VudHkQ`339kybe<|%UlYTh3IcG{Hu#`0wf9RMIAHSN zZd-U@QorO^m*#v1g zV~k%!!kkR$;J;GT0#3(mL4EQeO2)#V6cQz2LwiTZVuRw+x-$+!EIvv($;j{_^%X(P zhkfLjuy^ivNo9~3nqPy=YfGb~8Z&|#QxgdLaX?e5zm(VTu z)C&)EQ%F5233VP-^OZ;*@$yJUJYt5M5}>e4zXh4f*Ge40^dvB8xJ7pPp>qa2 zLzG<=OP_QDi<{fxKM@I=Z|Ere7&OEEVTjWEEHG_NGB)sksEk)&!)gDegaEjio6Dg^ z4TNHHJhd}vAj$H)7rQlb07nY#;6Y)8XH>)Un{?J zw*sP~4crQ$F;SMMbxMB>TnEU>GDmx|I-pL5ie!?eY-UkT?T$mgp8jmI{)Z9ite)<{7Uh3wz3d6GkQG~)V)!;(nOs%rhkN=SgCVn!#PRt(o z%EG90kNoQcp$9GU|XB19sK@vMgY7#s9UK)N_iw==Dm#R;JyUSr-=ont`LKY z;>#4hAjTEO8PC=HHx4MUr}Rp{qEgBp$4XFlM_&m(G5FTLtdNE@^AMD>Q%LfWD|(5l z4QV@6blto6YfR6}vNfdq4Oj3ie`*RbIL2?c+Mw0L&-3T7u|&I{<5wXrOR&XUy6H_F ziNGp4OVfWVI9ABwq-^mSTK#5!cSg`OA8pxpK}n92KW;6+HhN4u)1UbLziV0Sg4nBk zCGGQLeezQ`R(V=Ue z=#d)y*z4Eo)Z*8(!Vt^oC3g)8Ez`kndf_rQ=@5u9S04uSf|UT))A6rGV_vX>4Po6n zBe?vBWOF50!c2*!CETr_;iD!3d_9J^<0Ru``x$VKZmE}!etr8N)bYGHp? z0*DCQ@h)1X5@$&H-BJp7!&@sZE)&*#(z4W#zRUi=&3xA)D{6kFr}>BEvYWLaPz3+? zWM)JM8@OHw%PQmg^sxcvM*9Uls^nkVitwFfo=T?L$o zxm20j>((Q)Axnuv1!UQ3_VPCvTr+$Z1w&yCdKM!bA`mgF*;5Ml@m&?}S6mSU1qnQb zdjy|q>?q>qfxe>;5szPyRO}i>-(c$^t#=9IQ)6xd%!(5BFR0reR~vFA634bptoc9I z$%@D}1S(BYm%q{+s}fHZWwsI(h9TliHWyJdToDk|B1*QXx0xSv)r@gMn5};h!ZGeiRY>Qv{=_{{J>+@X&)5ZlLDN8aO2%;LyGvBsE( znSld?OV5`NzywyLn9|#bG2H`ICFf^~LC|{3$G=t`^6t^aSjAJ*M4C|(7GMxDjZ9m9 zOshivy0w;qejcS|`o-OYXX`JrxwNQXbw9>fb$6rUG7GSIkj-J6myQdvX>sNl1Z$zE$e-_(!(WC~jEsr+>1 zK7)(`EW+13QW%SjDXipSjGlI?Kc<2&D;NhbFQz`)TRJ)jo~Nv|>M&X*zR@I>osc-? z&M-B_f%5t0x8_XkA*RbUyxouE*#lU876lJ=l3Bqb3y2MtwnXNMcfxh_H1(2KPAkBg02QP#G?rw#Jn=u>G$ako~2> zqLQm?Z%;Ij*=Q72Dx>ZlO0wi{3%DcZe*NP1i_q6lAEs8+*VEg3c(QVGZv-*~yz_nI z!%EfUjryu&k<3KU7n8B6Tvg>( zd5pP>@xB~O149{@?%KMv^2&GDFEIbnKDr6d{DHWMq#VA|sAeLWfHB3>{g=IyRwj#Ig5C zR!B&aknq1wpYQL+zkA*3(RsaJI_s5ajHl-9|?mjJ5#Qao++0m z?uv&@Mm;}v&drQw6)^iIwdiNTMdLP zYLlz{Yq)5@lOL{xHco$W3SO*;wX%H;&^%VGvZNu3kayrdkHn10E&(l>?%SLUU(q6g43Syv7M zN=E{idum&?kBv{nx4-9&oV4`N(uV7}&#jYov@k`ZrEEo4+?|Yyg~A1$0<~wrO(Ut> zYi-{zX&!%**L(FXsoVEBrnfq8;(^;w>9X>2DRR9G=VJ8Edau=)>1CV{b1@QAN_`Cqru4(7!qPXHjTAj`AGrq_Ey3zvxz1b1lQA)4Wd=ugh&eUg{yfh!P^ zIkiYGaxzx~SGOf~!o(jOKYO}4C_FQP@4)Hz6-?dNjHGT1V#7dr5^c!%5gm$7dE<1N z7M86$jiWWZaLF_-Jo9y4-fFG7Y8-B)>ElEkPU!D#N`3x_Ot;~%tBj9V#w!o11Y1a8 zhP@$OJXA7Euv8e%qxSXd4U0N=LlkqIk{0|Py|)4ec&{U)eo{8j7t|q}T|*J_2L%Ox zi7Ond0ICE~J555R3JiiZHV!O^{A2jYrg(h_=U*a>1l>w+b4Z`&p?Cb+t`1PVRC0i+ zEfRT8GP9#}%#mK1mOZM{36 zb);o6hs2)QrO!R;MnbwB4S9N;SF+;SsfP09re!5MAj{! zfEZXAzyIA+VQm7S_bI!ic9 zvNK`s9O)`E7}gaCYB9oobilA>P$R}tIocsSzG>>}!jeZ$--@$)q@u1~e}U%V?c9$E z@g3sYHgs_(ityXkf&dl{WHsIJVID3U)ag&HmCY;pQ5LgqA+tNpx9Is=J&901rlXL8&M~QTp5@^NYZ^ z^wH&e45#FN-hvs9OmG+!+K!TWhmIXNCFwf^rRK#{H87H+Y;r9A9L&_Ic=43`pLq{i zb5`74GbXh#AWZUpF6>OTpeszapk12cz_&Vc-~x0mr-Q%;VQ3 zzT(W!OKo75^P_aYS<2@M<3}q^TS~SHI!!U18b7hhH5V^%o{Il7{uX|$3m>W?&!1HYexH99;Xhs zdtw^bR$5abZDGk!d&`tj5ECUZBU|B?>{*`ddNYJaUH@^jjL#h~-`51=W9G}U3`}h1 zO?=W1o)sb;zTyXt%&@1pxTXPli%h5JsDJX7Y=@`)vWC?ugVXmh%TA_Zz~=BZ!2Me zi02>8_ma=a&(DD6Gj-NG!FWI-Jq^1|){ zY5QEPv5^s)v$wQ#ZVs6lo5^gbk;l$9R}jj}tsBy@p@I^b@jqM0lulE|=9ej$IPcoM zv81J%l2r$FKHAgAccUTa44Y5w_eSP4#Z!C9tyl<_mR%e^_d5)ZeYd=YmHL33Us zdrU^nf<=Vf#t{xRP7d9ucm^K{{>%)g!>!%z0lt5xMShZ-UAe<4dI5;b=f^u8=y`pf zU{`Tk%Zdpx>_(yve`ccnVT`B*b;|qa6)wYfdvlVQlrDKptylGYHC)2b+wu#1)=4GS zj$8eiCxh-@8RRK62tweVff!`7zL62uU;O0R`i8=V2ngnb0!J_+&hCK9YeBll(oHDs z{$?b5_NpM~$HN+?ac4EfXq$zv5rkjaJsHB~6d0Zhx3P4=kbYK3DTJy%xf=A=E1#+f{fnSm^-a5(YuIx`QytBD^IWWFHRolBAgEuxdG3U?nQ8tY&7+6e zPH4`eLeV(VV7b&shwbf7LnEWf>x>u*ev;rplk3zsn0a*wy~B;#-(8%ar|8}n6o_Ti+Hk(}^UvJhY&D}~MX^lw_C$@)0T`EY@>s{K98PI|!iYH|{+ zGx^WA-{W^D!5?|;d=u&~+4}zy+DU#}?nw{XX5 zF{M>@)Z2|ZIDSq^-_Nz~82SC6GC+3nxl_^+W=9*tS7gG;BBzy{BdsEw!IzEBGS+HT z%dWmCrTrUVY?kX#q*87+=siK^vE3?y0qDi7c&NitBq;VTK;8x+_F=@EymQfAd4qWi zeo5J9HN`m@#I{Yy(cIwFU}Awc9v&KEe8xikZ~=lccP?l~)6WSiH3-pWF3F$47?+-M z;-?K!&hjW`?hz_K#M6K1Y&G>QsubB=D=CSwchzD!^kC40L;dU(->RIcyY>F%5 zHvHAqGjp2J#dVy=LBpq5&-QAC4&pC529))gAMrFcpG|XNCFWeack86Br37D=zGz;g zU(W|r^IU@Jefvoz@=b0*OHP(1k=+__7XlaGALN$QSqJ6wyVd%g&!CkG+$P<|d@k-Q zEtuQ}W69)(?PT&y+Q-Lde{c8xXTJrqu>jL8uRW$#bi*W!?20OQ0Ob{Q^etGDVEz25 zIJ;kNz}50u9l>WO*t#r?R-XMODrsohDifMZ7`G+-l7x#)+VmUSF*c%hy&u6MO<^Md za~VZ4CDZ&B$@>|Ta`@PPcb;~&1xRA_W5~di;un-Y^NGt~LXekdZ^{xn4I`y{0FpML zu(KoR6f-=yxPmmixmg`AU19r_zC=)_CIKgOD1_Fu9YwnfX5BVth0ThSj~#o}+b8)* z&CTvIl=4^XOc_Fo4bT1dM;DzeD&TW*S-Os4yllh_ew{4&gV;zD)xRIyOE_}8L7;Zc z7h5Os5d)xfH^5zK;y$ycadJ_wuFF50HHn+!p&eS4CYh`wQ78#^SZa^YQ+2=#-zLj3 z!Hal;ObA!pngT)KEzx+$uIN_$Jz~3Um%h8~@SIcbCz+kBv^T3%{|ke=a0$}XZ(5*R zWFUQ-?9Zo=A+;c)*9r4|nB*OMm$~mwHTRSG81H@h6$(i@l_pB8d1>*!?ttn-Q1KwR_kEHlFjw(0X5zco@60uhXJOh|2N3wt$Xv~EiO>*nb@?-ieGkk08OKRFD zM=%b2!92c#kv`c=?#K`P_bz8!h}t^p$JxQux;WgC0FFjM4cx6Id3n)%erXQl6$^e4 z5+2RhFKK6bikrJt?`>ZD+)q*sJKVv$nX5(n4LQQ+3(p@v#MqVTm|z!UCq!BmXxA7s zmH!h5Pfi^lNgN)45ZzXD3;OuD&}G#S4CFz~_`UP2zOKIAog}FIBak};hFajA6#n;~ zz!!tLQYjrz=csX9-V@FlR8xSj69_~$p?NI7nL@0udj>} zo^n;M5jm88JUq(S3(~+qpPtf!yMasQ8~(dY>08uMK*syW+$WoZx?+Mlx5H;;K^~yj z2^hFJ-WV)Sw70XD3I(F(#;NFMaletjWxZ82NjHH_am-u(;3!*y2N2mw&XwZ_p?8&J z|8l3zQT-09j&xnPp_Jr_6!n#PO@Z1HEs8puIs>?=Ed>9YfY`lG5{dvG>YFlQ(hD@r z@QI+u51TQ3n!vwP7aaD69Hizf)r=Q>E;xhg(PjaK$4T$_uB#9MS`!Y`WZQ``uT2 zqB(uOWIR2k75xR$l|Ei^_zwQUz&hx?!VO$kkb<4Jk_ni8a`Mk^Jv8B+BMk(BH)3;C zA6<7~#bACes@ek%TbHQ0*^E_r2rCtK( zr!H<0j=VNdjF!UoJa0`*@?^04E|FbJ^=q@n70eY zkzg8p?^e8>pJ!i3sg>vPhU8nDFOR)+J8xQ17#2&CmvB4rjQy9m;EgiH>bAaSgY0;* zxoeE-lNce*o0zy~(QmSy6gd4gkK+sJ(407@4}Whnw!HT1z1j_8Cx^pLFLs}T>{v5e zFaj=qUfRsm;FY-1Nsr^MhYpWan#S=eF+7{TI1UVMwg>zF)R(;LWZM?-gJ}dhyTs`l z(5y-qd;;=MG~ZFBzd!hgQ;xc__SJpOe8!W4aWf&4Zr>G#gih-;(mO7n|Kt!V*6(Pc zqnr^-ws=-mAz-TI_AOJH@y=;iJT9XR@60siPr#<4pHR%-2KczV8wm zpF<&GrSTsnO5y20Y?1`3HlL5mXwFu&f)W^euaj?qlH2NUoY-B`2fQZ$|F0_X0D>f~ zMv}c?goPmU{qMp&{n#O{JELP}p>jIZ-)8&r%vf{n7X^PV+ll=xQ#_NHd7X!pGiI&F2s{Ilx6WH9Ri+Gvh&ch&k-#K~Qqn(IiTB2E6SXuhQElHtc1 z8qzFDp>L3I0q_21MkUrVYm?qUsi9pK(Mzf8elmyLJK+>Ww_uHTo-R{f@Ff zmgsQ$KE5f&>~2F5(hZ}!&iV4~Q`gBL+=H&M(Sy>GI+*_d^au+diy8ocvv7nA_aL&R zzvq{$;IN*WIsyBx7G6sbZwWWdA2Hy7ToW*|Y(hn30<{nfyacsaLm_M{GE&7?3#gER zO(@P*p;)a@YaY|v`Y}Nb4OLZDz~PnD;TPC=a^S7ux%Sc*c3TIWH24^Me|lnsBNhi@ ze!w7axj>gMB9pQ8W#-2a9tYDTyVJ%Yk~&xH%QnuyL*-2!VbD<;bM>3guJE;4Us*Ag z!-o^yc0zfrZ~nl5a_IdtPo|_7hnrA$jv%ISPpm)Q^608Rs(e5}#63!?N3$Orx7-JH5UQ5fq9uFpD(|w~ni&zFqqZ zJHX3qYQMF4+Et2d=L0D){oWHcCBEQ)#s%h6dpoPoGrwK{Yn>5xQYkrLo?FiI4iGnC zKGe3iy8~x#A1v+eD)mY&DD4K_HW~y3!pYUsvlP5+>7GEEnP3E1LQD~W`^N(u1E|xU zs$sw~0yG{QAbOPp{|2g~3cr;0S~vRpV;$1H3BnKiVzSi$eh9f5BO=Oh;Nkpy%F9bS zLd-*FMfBgiOgPY{{jt>hovV`&(ZTq#%40TsVVSZLkoIzsLqir5UJBDg-K%Fd zM-NT(vQbKd6riEF`1R5smw-RyLVcOsbU9pG0})jq*cky+g{;+fuUpgLT=uD@owq91 z+EUsfD4jXoidNiue>7+oriSC=pML{~HE`Xf%i)J#rQtbzVWBj8Bv7n2&}qYg~pvhnLw0hP}PtW#-wutA{T1q5waoO3za@hcD`9 z>@{pB3k&$v4-J&q6BPbDe^@Z#GkOQdLkrM9wMyJ!w1R?9M^aKd3yVRftBuVro2_k$ zn*+M;lmk&i3IzY**fwi2&k@@>%hOzhqW8w!YV|)Iaxbh^ctiNEiESoFTC!c@Qq5MU z5}!iF5posn!3ypdTaY*bMZ-_9f0-g@w1lQRCutN(28SDS%94fZ%Z|JuEC7c#6>bW9c0M3&)gdc0*_Qi>A1( z6A*9RBG8~(I=7<7Rv=WSb@Cv&h31}Wlj7`(n*sL&x{xWdLNU=tLmf^t{%+v;9Uqrr zA~*LOM=0+-?gx}EmE)SxzG<7yOxFb?3?RqzNl2#P6IGSrjrUf;8M=H=fXeH^)NTG} zb>A}D4&920QY|+VimlQABA{s@$hz?-*{=Fcp1q|``?YHxDV?2iDf!%&`{Uz@XJwvUe z&Khf05^$E~k7%)tov<=#I^Sq7-A^7-wFiuPU_MCvmL_vL7d}vpjbe6(F%#g|zPzrM z_D_56)qSaQT6VAPGbm=@-PDiT=Xn^E@k(*pevB%(@H)8EN+{JO4p;D`OpA?4Oe;!2 zf|qpfsUBb-MUjiNZ};R6UXeF@1`r4oefU*oK!pG4Q7YV?Wrm$XR2W^y`7`%-8zFE$-kX9Nq)X0^Utd4V075deUEbiN3gZArVWGvD7;OkT=_M78A!zlat1&r32a`*MRF%C3)uQ%6wKk)Hx zB9Pw=ck&FM;O+Z&tu_4XxBMay{gBfG_r6@;`_c_f6$XrPTxl6cwaV8d|A?#sE8WU8 zPMEY+jH%^~Z$_s)$OAPqz@T7P48suPd^=N`Tbj%*AhRU*o^^bhK$mfP;sEX2brE5B zHg+gu&?7i!4zhO??tNucv=1%{ z+Q`?8E{-V!pPDp#0wl+ijaGEut~XGC zN`7A8R|Ww>2RS&6r6M;t8hG2|!z@=So5|AKx{8WyL9MLbubVrl9&+?C4b6%1m5Rb8 z5Z;%Yxw*R1kNyq2)`ZavQD&o`PxsCAZ8{PkM^ed`GBJ5A*{S}L{fG)zxE6wJi?e8C0Y!2bk*0Eb(|1e`CEp|*| z^af)y81VBn+K(uoZNBi;w0>1h+_rQqXOgGoFF!jKwF)c4Q*8{(V-o%TOOWoOb)^Yy zW|W3TEe^&7tw|EUy8c~@A+v{XZ+!qYC7Cty1y14fpGsrkGjLF8OXc^90GM`?%~iO! z!3+uxX;()FCzMKHs*;wLw%7Ai@t&%SG=yD{HHjchPsfl$k|6IjXxWxKVB*r>0H87HSy3_gbI>ZVCZU zXHAES32QNj#?m1|-w0E9&Uj#Mrv!I-1zT6t0~$S{DcLT-@!wf4#8SfDZb4QXI4n)o zh#uRW1>gg6?E)tQH^G<=18-G4W;=dz_xpWF{p$kYzJ>6t{}uiLb^JAQ)z)P z39#I!wyo$8o*#i2XJ;_BIG}=(mY%QqJ~EO(mQ0LpLUIf`8h7@l(K755w zci=t2h{Xywbr=I3Zv*G5OFSe4$wQLthwv^YLN9~G=rA9xLwJtk)K#;1aZY`XVVWVJ zTBDjO9o_OBT7giOWBQOO`;pI3;v?9u3Nk~~(=2NqiwkQoL|vK1*_8?tx+q548Lf#) z2NO*AclVdy1z_(in10_0nyehkTgt09xXpdzkP`~H(C~z(D`guK!k>WJp15dP1$m5X^zSFwPiEFIdDW_gB5z&Kr z-@boK`)-z>H#Aq9qV&0N&hz^9>)nCb3%hO3H}QX*@kWDv9Z3$CR@Z4?@*VPtw#lMo z2*_s2GGtcxivRAZ>s`En$3q1&ZBh{)4$@GL7h<@gvr%QSiQF=g=c7t zM~!h`5vJf7>|)^ZUtS({&=9iUFvty!XT%S+1*`_vjXpSqXyIy>hRpD<>M@h-&lQ?V zbP&}1hE=($b>Zag`l*4!A56E*dqSnbEv%smvZLHq9s)PA_TkB}xM zE)_V-B63zU)P=7g$_@%9&_*q;$dF16CjUfQL#ADGIMc;Dw}0)Ba$Zv?o7E=Df9UhX zbPV{@AP(J%65sjNj`63d*cdD~Qxhj#96X>A;49AnXWqJ} z{u)1>@e>-t~2q%+q%i zW2_R8z%Vq@XW;Q;N(ILpmGt4Nhz?cP=aCJkK3X8}s&5N><8T3(#{1I>{O24U6(osM zB?zFA;AMw5Mprs&)|%W!_&*|uk=-%ad>1_+R`bd!zdH`MTw$^2z&vChWRMI9IjWAr zs!o&83pb-~@PwCj+VX+AQ+XvRKGyNPt*ww5zsxMp)bqt)kg7zanQ6m zP?y~I{hILIa-S0x**(#End3GarDfgRp*h@%@+B!&9YSy&bp%UOsXjt?=v7^ zzX*1BO+Dnsv5$=?8|5~x@h;peDzx54%)*=szX8~vIer~)%oI$4!ZYD)Y_SU^FMqw! zpQ5x%xJQF*$WQg_UP1B8bBR8F^3c)jJd%*wLT(hKyZJDhp-fC|V12={=%9I7RKa{; zi?g-uj`&tl$UtCR_k!F4+)k19s$sHG=*JR9lW$_Qas?yw*qbg%5Z}b;GiR{If1VgT z)A!2s_U+Ys@+bYN)@oStOACMAze1*y-=ra?uZRn6)OePd_CDAlP}SSnNfxR5C8&ZaLire*JF0h&oizA^n(RIp8`SeK}Kx zrYwU3nJ7F%J400d$)>W*1wPAU-}3rD-}3i=Uf7Rzw=gpU`^i57q|(0JhvbEY>m}`- z%>j`UT~jp^XTgz0rx_@&RV9)Jdaxv zl-=C@&4kWU1banIB%us?eh74pWS$Ncx|{RTI#xZJ&x8y0xgt^5(S{eP#~jx9W|CK6 z8aKG&gNrdIdIPWZ-9r_|JA_d;j4237<~-Suq)z_OA@U{AoT{1CJK{5sMww`GpQKyg zLh#mKRUUQvmR2koi|q)fPTrd^!~5JruU%vH7+NYvUJtvJn{{Wc77Y3aq1V`cWk-H; zmg>GJRhSA!U_Na+_c7_XDd7e1n*Fz=G|Gb%)Fp4X$j+W=n{^8^L9;SJb2o$Lz#Jab zAnAVw-a>ZrT}aV-&QVo(!%ZRjoFgpmM5o+s9f3x>lKOg49H_casG7vZO1p^&3;*(e z$EVqo8Jq2IU0@Q;x3si`Eg_FeKwuIMb>nji%&!4MN9>JU6t8UEDdo^U76*EdnBxfR z>{sC?#R9`b%Ep;%Qu54>BIrvCzkiA+r`*Z?T2aAIfsCtK7sxX?pulh2wt$@56-mja z^-y*(QTpkJtM1Q0JXuht%+zV8N~^8>=w+^(ET?DJ!ufChQ|E72K)9?i2?*lk~=sbli>AaBp9>v_Vh``#^U{#Ar+>SQ#+RL zg35-+e`UpLnY=%Q6b!q>YDqmfgcSQQp(pah<|B?cRz^Jt1$LIJGzYZ`VYE)nC=dSG z#DBMF1ldIrvU!)ED*nP`Tz@dbRAmRF=QB`5L$Y=Kn%!`@^eK%GqZw*XeT;kbxmSOMycxh?r_Bn9|rOcy;k>9J6;8czl?c3b-tgZvNxAgeDXNKE? z#$7w?TA3JvXq=#6MX&7VXKEG83j(;x*7lKCQ1viK_N4LcS~{427weTZ@Sn&YHWb=^;D`F^KFUgcEsGdD zyd#6@KREbJZRPi(*~)a87ZXztf)KhHhw-*t3)4-jW)^=9@V^<6^|~7^HiMhvxr?rU z8Ed~7zv`ZftX#^8dBqd9L`}X@hh@QUnw*yly5@Iq6Trc_62+-$`?IyWuzc-fi>sqd zzTBxD8Hq%Cjm5X(Y{*E(yV6of=)-_rz`{DDc^`#UJc@vC|DbaV8tX=7wxr4%BTkG% z5G$;Rh#0SWdD1sW6Nm6y6g3kpu@QH$RIg>9C`w%t$B4O(Jl2^U&E|Gh1?(_gOMb)giM~szx(XjCEW3WI&3d8^tX<> z80iyfWW8I?8k{@)sw7A|>O0|O>*2@6WpOLgMTU~L7}U28a{US0x| zm2)AZ&ep69G>^{j?TL`U`K={SxTcW2Xx{}ZV!JE!gu9-bcYogMTRK%z=Erndau{#j zh+#vpr&xbw;j%Xd@HEKoo;{aJZD6)Z0gXz)X8H`v;*l!W#g!V}w@jhd)fU;~-qb1< z=X2zPVdHgyp8f`vS+zwyzfRK4P(~Yne>0az%e?s8L2`jkC{|ZjSMbUYG0Y#-x?Qu7 z768yeZ;p|04e_h{@Kv_+XXE4XT6P%1!Ty9!Lve(m@tb$fFq^w14eM-9krN)Pj|Cfd zHd}1C)@6hRu3Z@$r&_gB?T{B0 zZsNoco~x1ePAnXB&c5N{HRi0LTh4HDn}l$0V(tcvj~CA03?42AB?rA4Ca?YUzZDYA zy>#HcL5XYwo=cckKDM38mWwiNAr+Fb-cmGfzB5~K#Q#PW77Rvx$T@Fy?RVm8fNb3% zM5Tvl5K>lZCF5!y?2&J6YK$|0{Mc08r{@kp(P&J*?wTX1Y=zus4hahj!;0`}9;c?T zr9XJ;CD3kK(J2_&C}6K-3W8 zZ%UHMInQ_()df&QHl~E|?D9L<^6}z2S9BLe$4~Lwrqe0rs2c~r{2IB%q-HopPxL;17Xw<`v9gHOicdX zMi(v!7-*Qe5P1gQ^tIqw))hWGT5$<%)^)zuwk>0nUSP4MMC7>+mkSY1@We7{M4R@l zG2yX?Y$fvA!hX(^26@b=TK8Q~?GQZ%@kkQqBE}eac7fO^o@AgE(}wV*-Yj?H@Rq?D zvWCi*%0nn*g`O=~fNU`ZIym7P%cY)yp9ze;5dhU>2gwg6V?Y92N?a4>G$(+9*&>48 zTlt-+HTTe_B*IPgD-Yb?33hN;kpbtUweIgMl|uC$;jTKc#f>S0rI2#LZ!= zaP%Veul5K`Y}*&MSrX}YePH6Y-+@M9QbhsQz*%9I`w8lAqJ92*!9{vEn=RI}#RKTj zUVBvE#~6dAX+}a{aV-;uh{o<{K0nb4)9u#h+zk~C40UoAqVdDS!?hEl6P!T1;`uFo zvE%OV9g;cLN)~?zX|a)_m4`#~R;8!Vm|NS3fH4$?#euch)A^Met5tMTGQ(uZy?%2`MNl%4%D( zp>R{Nx|YbARc5R&Ic4F9*I=_@^$Oic>T#y94e<(?RIJA|80BkrH+6_py{K2YnUB%S zr&!3etYn?Vu4yz;AhuRM(iB$p=|)=UF3`PybIb|J5E71U>fwh(R|C4klKShaLPr*4 z%7@ULcLBtFs`g1hBM;Z+n2-i$H#CpllidpEvz+ji^ktT6#peL*sFBl#9kT4^)5UO} zWr4yfXs_Y*MnS*a4PoQ{dzk$JVV@sU*UQH*Ac%jv!s?glrsvh}o!(33WBP{us2!+W zPZ>#1ZnD}InqS+5rSWyUzGqBxxeR;@wIbncM(}Q90SkztI>-Pf4=K){qFdk}d{6F@ zD%>uO(&F%7a(y=rZjjx$)k@S3y~cZos?VF3$~v;b zLf4$HW}xot=;7zN%biEpAUW8I`>j=T&V`_JhZ6OM{1?GT1Q7l8V_tg zP+XZ*KO#!6Ci!(*u{VR|axb~l?hK+h$%|*^`M=*Uw>xq*-aD_%^Yuu~7RnrIG zzm(_S_h;^2e=vF5^7Fh6@H@qc@~LjlvlLU9{nh;|?bMBkBW_?|pm@UA>>5JD!#Yb0 z9*Xe#?0e}hhT1@^&{!g^72BKpVQBHkFBY){n_mL!ON!-fnu!oCI0_k)Ey90cf`P8w zVty+6iZ3xa`Gyv#Q|K>HA>$QXtLM){6K@`T+|h5ncEz977s5E4@l6^7^o zur2KD?&bzFZ=2P*l5`VfHs&e9gW+o9Ty)$hyZ*1nuhH#YV9 zj?eOuk%wyowC66IrnQkFR~6LgQR;_h>?Eb0WJ{QsQT}pr!b6YK`U!=gG_3WJU}+5w z+c(+@-AM34iBEC{8Y?#MXJtC-d}4h^4ryLvJWLm(g%ulN#RNAcJ6&ZL+SQi))(+7>f2p&P>MCEQjF~`u3xwDDj4SAEJA|enO@zz+b&0b`kKq_ z#&!AaWRq_Sq3zXdO3N+`h{ANw#0R9JWcUv zw-6$`kRlc|rOZM)hy;sKycQv;EG5Q>IXgHWY?{_FY_?qG(K|;=*|q)U3*^g_#hi9R zb5^LU!*3`-LJngD;I|93Vme)%#*uF>zC<)s9<(YBthy$3q zowWXP?Al>!z4f2F((Tr=v5D<>o*q>Sz21-39f=uK2=0VBCtTX6$8Y37Wx(CWmXT<7 zm7DDFT+x&38y-=PGXIt}1UVPmv0Tt+M&XFF!Mz!xduM@hl%YZ)!bUhOMYq}tR))Qx z|JX`}6}Hlh{A6(=2Sp;qYWh{|geihi^d)DRWGIxGFB`NAM*JvXj|_Dicf3w;;}}2c zIxZSdnx$ipu&cHZ?bM?}@Eabo+R=}_PK8dx1r&MYP1PPbyuoQw3V{XvYg`*#+# zo*(Fj21!M+8j*l38LNZBB$y5wTBq?@-wHnz8Y6;zl2^tB5M`mZk?e+o{%Hw` zHmldK?&QSuv2WUYd=jTu<9%#rYM_OchVIKqg1O}}W5RuY9J8t`3nq$Rrl01zkezh$ z%aJP7XU7dCSY|d|aP}Sr#fKgDgKjq&iqQ zzy6u!%}sW|b)btZl!StovijfmPFCejODxIEk&#Qh%I3nwktKJM=tz`))U7e9>c@yxH2o5*JuvqGv^b1)z2;|PwD7{)^x(&)&y4u$-%^HD0ek1wsp zETpP)9g(pKXng-jsoYL!(KhAyyEi^G0rx%ERSh_xW5=C862e0yKf&-CZ9m0qaU(qH z8bZ0{hUZKzL-`Ip`6y0gYYM+gWR=i>3d=Z)x7fU&HPYV@UoncQYpb66G-H7xQuyY# zlo{jW#5JfKyVnKyUk@)?3!Cx3DiJ;(H4DH?*DYtf2+0Q90_`!lzJfPEn};kmQ!u^z zy0-S~32m3inWWVn*^O}fGFR#IxaQgd=ouPa%kS;WEV_J76Ja}R&H8y+g52$ek>;tm zw;H<+N3>w*+RY2iDS~a#UaCyqlFT2G#&ul^gwElsIMk(8$8Nh--fp~K?Jkn~r}<$| z??chlzzTr?Dj%!5x-jzhR=%ouhP3-LR&XQ4aPoLu-A<9aF8G8b3a=XKf0` zbg1-0{CaTbcZBzGXZ4enl(bgl9zOfZkz_4QZk1t#|E09HJO519azel`DWyQ$0i~}8 zc{Ch=zQ}UUulr4ImS{-eX&bA%Q1pkNP--LtK*ikkn9u=zm9yS|^A6>rB*I;XWW~gZm#tW2=p`g2Q6d8$ zgh|l5n7Qy$W5$|UZ71A^StZ28cyS-goK8cCvRU~{kYXR%|q+{d-2~J3e)~SBhlz-Bmf6{jeU{o0&LmK{xBfXBE=MgKCGsCA zRMqs~uGUIOn!&#RBQK$G{=}${CA>@h&Q8KdP(;DA<`pyn=HzO3XD0=+U?C)>_`#19{h8AeW(_{ImAb$p8x-(Ko-iLR=Zs1%{ z-#05UIfMz3HtYVgd+lJl6nkX;pOi{DCuem=Y9RjJ!$EN+Om4PREZDSNTB`BoX(`(L z{4@zJ(n{Rd*v`ko7QYrOHpYr8S3MzYl!X;T*n_3mi!n;GoK3yHwIX9~32CQTsm`DG zk9qUE#sw=@0Tnq>S~BeY)gP+o!DkjAHHsVn?1SvNgzka+O~ES23fX5t5a~eud%G;_Fwf zec8mnQRh&ya*qFkj(N4*OrYd6Tvk~j^E;=$=b02#j5`3j=~OZ1o<~KC6bpkDHg4|n zzt712-)B5TA_bB>dlV~b@@9P*Th)++WX!b~Ee#=CI^_(TP?ZM6k^PazqYSo4FPHrw z4wyoibcRo)YWB%!%-&$0@Ic*gxx`BUm=Q9O(41Xz#vVkp@Z&~f9pq}Xx>jyELlfgW zd*nsiof%n;Y8~1PGCpCT1#O2pPwMx_fH>}g%($FB6=Q*kydzvK-R9o{UE@%E7rpAr)tLbsJ6S25Ln&)=g@OyXdY zxv2Gs=llQN!1cQ;O6KMgT0(|ZUFi#Gg|Jyh0h!on)+gEJr;I!(7fkrA4q5x1a=;$8 zM!QQTW5q-tBU4%!P1`S@EEJ;05ybc=6VhXL9@nEslmkOn&^4Q6msfz}sPMg%(Td0t zM}20ws7EI#^qHqMkg!=<&1kT(n$4_mJ4*8i!rm>~S+*4U9urZQoe}6its&$6p@j;l+bt5hfMwN_tibT)^#_t_yjdq0ZEu8ANKB7uJyno zcyy$hdYlW*!Hk;{$|nZyppyXlUAY9t#z(g5TUnbZAHK{sp3n(sga-#4`7ox{7ih+M zkYM^%>XL;L_uq$L@jev_p6!3%Q7#qNc8BYVCfm3VOY8-rZ+W{yciylR@_Ot*Ft05U z{j)P0K}FKU9bzRS!E96pL~O~Rk+fX3pD3IWPaO;E zV4Oj(whRxVSzIh%I0oD;6SVnfWp$(ZCfrXtNL#;oEk-OGa&&9T?n++YwLF9RT4^DA zzjgveFCZWw@@(%r)H^)xCwwaIL)VZi)#06AKY8l8$a-BrG(;6uTl9)ta$R*TEf*+) zS1a`{<_|yr?T_!Jq(T5wU-`}U;3n>8obJNy3qF*it`&xubKbR}F_2BPjAyi+5_XVI z#@!7E)UdMTE!_7r^B~=4>{>23t4`CXt#cMp&1-~AjvDhEfSBXKm>6h_ZN+Ca+FAEZ{DQ}9+HnIWf+iOA-81NhHxV) zG$#gXX2A%Lo7EOw-nVcu2H(hNA`8PvMJKD;ZS!*-)?;HjI}t@(qpop(=Koz>FWhFk ztzxc(jzQAPp^&K6N_b)(z3v=YnznoPto!wb>#y4Y@P4b2qF48tkVneQ1gs7F!-ojE z3){(%ZuG2Kkzy+q=U5Kr=VQebFP^8N zI)tD(<4Jb(iszZ>d?~?9Yjj^Q5#4q4ltNWSMW_hHs4I(9>3b_446b>;6UJ$rUtrwS zDp5P}{nIDT`GV!WhJFX7EK0@yPy%d9*?FbSfYs zU;dTNs{9xMnag6t1UoyZ0!7DK_3l$DUl|pALq9p_elg`RK#y)n=t~Dg!v$}6+D`J) zB`Yk&k8Qt_n)YZu>R|5OUhbB*cG)O4+ngBFxN6Kg?S3b5Pnh#R#3Gc`iK zkiBB&7Zx^G#)nrovjmT;3gYy_o7!|PQDOq*O1^^4bZ%~L@~;E8Pxif@Ob$E^oe?z! zQe0f@0p;e{s4uVm+x3~RypQy~vsVMY@~;Qp9cb9Du>_VnL~nh4+*wRuufI=Xbj(0C zG%ezuudV9wJQ|Fes#J%IY$V`+c+FLzHUE#S5)w@@T6)LSUL_j5G|;cb;NQ^4MjL31 zyv;3tup*V~Eo}Fg<^r*i^^%s_tA(zO*a)CE(k(!LU?AJd7c?!y{j8)*Nyv@FpP2Kl-|Xo=9D4Q{un%!**-L8>Y;$THceB z+Va=RB_8y+r-$l4a**FM74F*HxmK%S^!H*Ju*Ot+$n=f)ZPQiSzPm#7P4)yo!u6*- zVJ=iKod)LM0VBdcIy0h7>p(u6a8V^BGpW+@VwUIZnyNdiFUbhR8koEnvO8@jY-fQ_ z(mDXPD$(?1#Ge#BW@j}m^4I3<4mNgl6A}}tkr;!?Eh0BXBRR_&@6AZPs9?`Xop6IC zG=sgQq~usAZw<_FUbVsG(Lz*4My9f)WLlOX&NK76j?fb+O2M{_jSg&VurppvG!g?p zA7+`YKp z7~^MZ5tu1I)sP=^FDEdIo2<}~N`aNY_W6)aH<_Hn*o@PBBB5RCD9Nt0zyAMt`tCp~ z`}hCb-tizEqcp9My=SD%WRrdDJ+jA5q0EN8Nyy%W>>Sx7dlLtT5E8=gef0VM`lEk( z{&>#&evj*VU9SOu!%TKAnfgwtJZ8*|Tc!o|vXuq!Ur<&KT8h)y{Z%=;{z~m31fkn2 zE6K>{QJ=;P?CHBsZ<9m^ANe#@-h>cnItY=ogO5NezBBb`otgrsiEJK#{ob`}$|C|E za#J3V;=B$BQaNmVC@>6|KfKxn4D=@Of=H*pll`78W;r>TUPX?7**zc9=mB=uv+#$q zH0%=mq`elfKYZ1g;(6}T(fRY&gBhnLY-wh!LEC;GUoC1vVb{QC4)(0l!B`k{0gMv# zm2*|IQt1psr9rNY3c9JpGoT1S!E?I#aP{OUBKRjb-S75OHa>i5Tmcm4gzPU9%a zu3f8^%jlUsiM07@PG#a?pK5>npRD9^&!W?%VW|iZo(Xa}fa%n-NU{pyOWt9duoW<; z0MA|V)mEBECDs~BeX7_ui+BmJuohLln_zc#VzEwh0)?gVNw~^Hp^ToxJj07R^Ej|b zM|=uXvvH79`tz5CM4DM(xXKNgKIdt19fs!F=#v+aMHztr(sNf?^wF zl=t>`7&zK_>X5&Ty?a-~UQqC|ZAoZ(s7pekY=NG=ZPXJEdTk<^cl$Up#4iB|<|IT9 zLpEIT??AheGu($juA(UbIBP00)7rs{0xl8|h;BiufLtAf!jm5&F_?xXV`r?yRj$i* zNyJ!RKRG3({U*0$mNRwRpTm)S3qnLX8UIuHCyla%dC0Ksdg?JrSlw@F&|b6?}MRt-ws z4QU;bd7#1`dI}+aXLeg~_C_pE)Nc7pnUv@}xx|kGZW}+`>H!fG$Q1e>f*0R`5r_%B zwQ^~l+VVk>&;7X=J9s2sQV2FKe|sw`de9(d92aT@qm}IKJ`YUk)3VW+G0a1=s<(S< zN$?k)j+yG}N*Vyo64f&8l0I^8{u&0R_Qs*u(d(-cxfDR?z27)V2bzi(ZBdq%4&u&H zIHnq5DAQ7XmRNSKd+uHAt8V2_%nqeHfIwpwRaR)9e=n56?}TYRzi_jL#aLQxt5MxO~c?WzJ{b^oF& zBKa$nr6V5EFtN16-@FZe`r*@yrqQ(movt#T|FgCBh|7Q8wQP;v(qf;N<1;FT`RtB8!z13s2jydEH$H0CB-DD}g>>I)oslPiN;vb^2%e70S zh;u%}#Z!R!SWx|%H%t+5Nda%{-L@b204`)wzdy$U^dq`rsCpyx<)@{^ey%JE3g}{w zX9Ul{fIMamxU29+K|Ztq80yjon$k5Zqihjp8)au3-wQM|&>&#j`M5jtZ+GUO@XSxo z1?#S2J<$+hW+2pEi{nbKVB>8iMdbcB>Z)Ru3XywXQh50kpR44B^g~e>}j>-iebf#4>FwszQ-w)Gr($=t!nniUy>mj=Y!a&)@eEC9+ZqjJZpis|Kd`W8d(!9bK%a-@=?3lrfj;Hg0wuRs zzoYyVOcJD9B<_W4_>TGL?YUDFik!CuaEOlf5~%2Vdmap^R4^gDPWqRS z?R%Ukc`USwj3R`ffV021?HrXJxH9=KGs5@)82`IKBuxcKK>ea!nE=AzPUyFa=CzUO zFs$MsuNeb9`V-otX66TP9j9ffY)U#{9()L?!kwt8uf7b|xfapMJX=o5JWZ zFMP3*Put$2A_+>25pY6;zU)u|81p^(-LmahGu4r+ffsb(3nGE$?9vSl|K0@jdeHt5 z2E9n@qPx-(a;@6;Dv_vuQ=q`;0Cb&rs(CvXnHt*ux90RK@O1KvfC0DH_$9Wv$a`}V zb^SLB)`11&g~LZzf!qx1(PI2(0~=WlSY=0O_zVrw>?rYon5N}VWXqrW!GNDYgo}B7 zI`Midu)lDNR0{N7MU6%9mew$J zTTdal;gF7cGnLKx!5X0nL{^Qlk;k&PslLc6JwM9Gt4bKEI_Iq-KM)}oOifJ%dQMp? z&`aFFk1$UP4|A5kK`z&?E?&h6@&{Q!6;`2P2V4>Xx?nBj8bU*1@5*FystdqW*%{mF z>8(U#-}U*kt@*L>ajXSR6%cJtb2q|xr`sAm#${eVXG8@oj5s-$fSR*u;#x%K5g>^} zJD*1Y-7i%bbC6STr`?0GWXv5XwXO^Yg{cYnlSta+xT=Zx|EUme_$H(*A)MM;#t!l^ zl(3YD-=Q<$XcGY&$;VPhKVF~zd5v{&n)p51a?;oWLea4SsV>SDu-;#wDxJc+ntd3$B`hZVz9;3K5tV*V+`Qhy@5 z9`vBoHDgfF6?g^Q@+&;3Bn{H1;!kcdk`szFiy_G0-Im=Vm%bvE_Z@rbEx8@ln4HuA zVa7git@;B_(;oJu)uS_}JtwcOz%4vBHN!TWRMicjW2^X6bzKiP2rwKKuBHG;0_;nN z8ljdg9gJvo1~3K!+q-PMJ+sNU$XI%{0S2x#Y!H*wUv7tu88_PTlBHnO(eZdopnm4D zxv34|8w$WQn5F}d!Ix`49)o~Vph%AeD+(fs_u6$c1Ago0eg|TEAzIfr!YxPr@k%Se zPG9BSm)fn_;`;wGfBc#>7oNTmdKlp|-YE56>%Z%)mha2lbau?Vn6}0d3O4K5+4Hg$N=%6fbrTz{GKcop!GI44*S|b3k2D411{saei`%OX&y#MUA#j~4V9%;c#k`_Hjg9H~v)|m~Gj{tYr`64c8U+sBH1%ONT(K5e9_=PYaar+a>gW~K>Nluo%m*F_=AW#_G zFn#dn8(6?sP5s#Y@LlsUAOUat0hOCug`nTud0_S|u)g3+?f)4_33A?BS~`l7)K^a& z$4eTVu6FeD{Ml@rKfT`s2Y%KnY;?kd7^0V(=Qj=v)*jl|WZa8q$koUJG{J;w9Sj)$ zxm44*57pAT<{7$rw04$r-mS?lDJwIXPNxCYkMzY-MzopkU_(DaPW-mdpdWXw6$rb8 zfPyYz>yxDj(@(d4uKT_(>c%mnn1kx(4YA$%v+3>Iim;ET(E7nI8kz)Ng`S~WvKY;@ zv`sHDMV4j4wqIYqNI~3|Hu?`BWYmwDHr~e&O7v{9H)0wAvGbfcJqEAMF&F3miqcW2JQ)2qAAJcK3QF z_;>)Q8Gi+{MU-N$Ji^|U6`N+~;-uEP^Oz>(@z1;qKCDlqz>;(Yt1>Na9vB?Xo&40n z92uACa|kNs`c~D8PEBG2{hF+r0-0K~=qYlmzXz-~jA9&R#rm`H6KfY$NPMT^4#U6ph)^lcrR#q;ehSZl})Sue#>5pIgln_qT}33E5o8$UF^W3 z`NPnAZU})_u3uK)Y-}UI1SRyVA&?<12qe%E z2^wL|^IM0)u@4c*m}S!mdMN@ZR|_z?MXDTxFxb>m;AaGCY#CToMagzr=!_rl1b<1y zlj$LQCxRbk8o;XLu%;df{xfQ(t=rgbWz>4y+TD_HG>6b35nFDNZ_xsYl&pYkdIAF@aoflw={^`e(09Rmd!ft9)qrUrc zeQ7$B2plan!X}Hw#d~qGrdJLcIuISZJ!&ssE{Z{s?!04=BWu*)R<|;9QaeAwU6ObIgE?%eYLtjJa(5wQ%a-fiD;Qxe4&|q(>YA{eH;X zXUUZqOUHDif=%WG=^6T?JTOq7hrI}MLnuJBRHdduvnW8RgD)GTR*iXf9ekFem!M6Y z5dS-{{dWL3FTm@Gf$a3bx;K)TG8Nj9gk7OmvL>E~#8iRTpv^FeRf9Xx>tk8NwZHq1 zVUbw&DNlH=vXYUJV0z$gyo-}|5o8Kp&WU6dl98cmHRAve^@7_5tf(Lj4SS;^c5n)H zIED>SyF3xcPiVd|6r>CX$S@5w% zfV(26ms61%BJQBF7ki@GYrzMyd01saskUHG#s>nMcUre}_bxA%kw9xgd|)LjLM0dA z$6HpiR6xRmai!b_%F9Vlzib{dD74*>ijzPVz`I!ipry>!xLWp~K?&Nwg#;>?-CRkO zhUWve+2a{R>L)QZ>hc}+Y7UexvklvI*nZ2nLXV4fwT|idxZ9d|YN&FO6TaAX@&C46 zS<~;SyJeq$bs+!FZJ%C){%*~mIUXY*Ag7mt{$OhuF6W2(8-U0(wUWXJNN~b=Gz;%6 zs_smCI*8v35$pks#Dy7LQ-~06Afi(cxj(~Hw3L> z@_uvs2`zyuETPV!!*T7>_&bZB#u`oxP{wz%D`r4mn^vPVd+;&Jm{I#k}IaigEVZ#zg@Y1}GR?dYzG67|4 zaN)N`!7!%g+l&CBXjX;hwnk~4KOs^`pdk2^JR6PGg47-_)SqN>CtEh^!6Z%c{XjUA0$H z2sE(2TK5!%Y#b3tFeY3u#BY06&q=?mso5Myht_FwvM+fjPiDrLQ={`qBu0)M`FW%? zE^67-{O0ayzq$qOXK2gL0BM@c%aXn%0HDWHjRFA#dF7--wmJ`rmNfK29>vhJWAw3x zJ-6I33y_AHl>mzU1%?wqU);588Niwp$C*1ronTm?uUxd+~y< zPvnU~%B{{&f+b-8G5z>}Ap)g`AfW63)pTey&Y;8|+_yI<4KIBOXU+8IoAm}7<3`}l z`J+45dLT_vum;$7wrD9yp8Z*FG^yeOhAX&1!27{?H@_A0{W>wwCRaWE5VfAZ{kPn4 zz7tWVwOLcs_gBKipt4ANpnmO{N)0KHR#{o+g2y$<-Aq3wju&YNG}c9ULs5AgmkVly zUS+jX>ANN^HX%=V&9s!Su$}vM?Qfsh=4Y&kc+7^I)>D)&F&-LES%ycnot}t`u7OB(G z{-c2z|!Y}P5R_j1(w^0RzPODk)l`+6&tZ>i(n z-6uvu(1)m(9oJ)s()P;yS03-Y@@}%xr;9N8^j|06_j&}<_JffD-}T%tOahyvLBpR} zqx#!T#jR6bhrxpBpNi5~s(Me+_{R8n(5wO$Jai&EZ;Y#)-XfF*QfPhd#9<1r7e4#L z4_kiMlo`3{W5-`aV(9=@GYh2W06BE-P*5QV9DSGr5=;KhMMsajL;!!4ccAShX9oSS zj^EDa;N9gN$dL3~8@loAz0o@|aU3VmAwmAqbB;yZswN>LAE#QQXD=@92~2yyI}+l~ z8>p@|^etJH{SK*xjj$Xj)Pl+DfJkIec|{0nZF`L9w|$>Zp{Jq-M`^|rVr|#*N^Z5@}X`fDXf+ucq zaj{-PsO~M{2jVZ3Yha?Nk#&ba<>vXq(U_RZ!I)7@SGh~oq(7Kb%}v{+O-y)G)Il>CffrT(k%@QxMm^Jp)xe9R>UP z>MxL1lT)1m2>>^FP|?G+>5<6GT>&@v5&#Q)3{mBr2@NSJLTk_d{QaDg9G+uC71qSF zY0Y;O2;;r}0}cW_^DHcocjmbXEva3tqkV~M8V&z&I}cC?Q#_Ypx11K@u>TmBI{@=- z-jieM0*2qwy3@bf>d0-4clSxBhB&eQrZzmED^I~WrmADfJpYRZ{iQQ*>#tvYP@1Uw zYF!|v4!RE1Q7@GZS#*>a;`$1KQ+|^-<*gg$3>gm;{jG0rJuK}`i3}DJ@J2FBaZQl8D6X!$#c1jo z)f8&CiI$CWqCSDf7KI4c%}je5vy7X>BQcoNi2yG%)Heusp$D&oEL_ymgr+qqIz4Q; zaS=~e~ zPm3q9x9#iqunor5ti`z~-gSXBZ`RftrL4Pjkszu7J7;$ulP3q|jjQAztWof2S)d>s zu;G(|_JMc=1qHb?v+J<&-+w2%q{5#5Y&kyzxt$yL&rb&Ixjz_}ogaV*p)1Whq1ZJB z0Wp7Q9!pg0k<9n#-g+%{Y;!z$F9s**x=p^VW%Kr^-NS%+M*1EG0N6m}3RCnk?q?m+ ze>0;|B+uSwKc%>WK<-2z9Pe7ed(#ujZ`?Fztl2xwc~kqj@7)_Yz>}pC{-=v;1|kAT z&%~sKo&B>eC0YoI>s2C--0SB#vm15E2sjwc=FJ;b+VFTvoXVSVd%;Ic5ip6}ajtV* z?o6U;S9=FI5O;8*;>_NCdGf<=E~w(&@@>yjGRNH~1u`8RcwGE7*d1rs(G1D8+C3 z8YKvQW3hioeR*9cEduG9{=tdkm-hR2SN(3Wa+KMx|8lB~QKsW$4gA`3{3M<+A3=Tn z!R}%b{sW~5r%j)I30UU2g*0Jn-?Kx}!`IAtl7x?_{9_lkH95bl46gs=$D?!Ek({63 zj$E#2teYg9ZW=Tbh9xRV~UFk+`|#Yc)HMUx^U zs8l&8;4dJQ=B9l5-kU-N$+ATst^sZK-1i?NsJY_}?(>YNUv57PaJI7YJ+S-fQ_|fH zV?HCTr$BxTaM(77uE|yuPdWgxkG-gFi2+C@9J6v82&F14G)TA{E}zn$R|x*RR|!+# zf0hZ@I431Ky_LlP3DTQtKXrShkaK!^3L|V0*L3irc!W5*z4^=cKIV?18GXy}|Lpc*`fJ zS!X8cGe`d#L#gtw(WPbnVPM`cPARm-N`k2k0oERxO&mNc@QkUmf-D8*mK@ZPAJ&<9X zT3cHKy&aCJ@%<-a>CJCz_pol_shc}KF*(kCIi#APz{!1$6LUpFP>?Ivwm`2KUNri>Iq6=oy{bfA%$x`3<=LFd01eHB((@G= z5C2F`;eQWEa9UFYaUrz~i+})bfbdb^-4bam)b2) zW@I?k7?fhnzaXai8yXsRK_1Yel#(D6bz1AV<_k02sa3I}fj(#)LNZiq^lt{yCjPsfMaQN0NDZXH%18g3w&PBC z5(lwIi1B1)NOV8W2pKIhx)Bn$;6w3%r12*wQX<)+#^8~5j$S!?2sr1ZrI#U2>S24q zwj@5DRw6=gK6-=tZzBh`Hw=Tkcs*m7JAorILC|%oDwtmYy7DT`y^lubNQHRuM9PXm z{^oxp0=w50TpCIvtpq-2y=NP?5ugsoAI2XNDl5_FhaaCz1x*^6m%hU$lWWjvckp!t?&xBYd?+xKvmOn;(K( z5rbBsz+T&hDkMYmhR+kkX?u5qz-??&g)Op zWVHs%YSI!EiN6r*m$4yJk}nHbS-tPVD9RB1?E(mL?d7{CX6oz9_h-rnAF`{t<%rQ2 zy!P09kgu!Y!wBQI_2`pB_=ZTX)>LM1^fTiGUYE4WQtKGz^8`o6Vgzkfq>5!rT+%o7FrK{ToaGgfW8LfaOZy15&?JKh;6)k zJnyAeK6>KY419^FK8{6XpJ{TD(GUA)K zAV#1qkdMNe!}JN&V*C+m*l3WYK|V=dsH4hV*{)WvtUOH?0_l3 z((J!GDedMJ&AtI(#Js0~S}yRGutX4%FMB}cTi+VzJeZ-VsK2(^JcQ7$_qR%=$xWSU z?m?Qb4%4PlL;)joo-&O%v(`A(SahcFz40~)7Rz3ErCp@=_;p%}My%qK5>iM#jt5!X zGEWh@lW+4#TN}!Bhevtz_}0&-TS&&!7Y$u!^|hmMWki^~X4eJn2l0shOphGcVzcp4h{#U!=IwFJ!K2&HSp?ZF-*k!s z^FGPpRqe1j;-6KJwzi+2Uj@}Ix=5q#b!kUpxfIV6)zyq3$ z84=zlHOEK?|FBzvT>Xgg1H+rVuL||E%ZW_f(nzcQ(z0a|)SSz=lnSbufsx=iuuGV` zoeM!-M+5{E7-8|JRkJpIPo-z%U5l_wfF0`+oAVl!T#ni;U~l%V!H3vSulHPyzuQ3- z77VAPkY4|0yI|;Z*r@x_juy0Aw0Agjw;TAoZ^vrQ2Iu$L4 z7ILdG$o==J$8atSbQN48|9nqGuk10H0@+z_-Kx=Z$SO(K)+nHaWH>xtJ2K+oZQrHq zVr5Zqy^VA@J?iQ4Rz3*%Lbm(5f zQlwl3FRm(c!0{>f6@(r^bj7zGr$>CZv+F{jlG>Bn5m^>OA_(&+FAuncy8Uu{r2JC8 znn!`%+WvZmi%1@u899>+)19|2@bO3{_vZ?<4N3&vs(Ler&EsHOI>fu0sPYRcn>T zWh}AV?rBOA8JvkQC5}wJKNU3Ri_tD_W4bn%(Hos)b+$H~_`E8jvq?^_WnE-cuXw(; zx8S>E=TfuAdX2of`pCDG1i~P1iFy|)pm@(5G>P`|wQM_(MHZQvP7kV)|BzVZ* z^pPX!fU&|vEA(MxjX_Q~B~F6}Mg9VeO^^}P0q|iXO$2q@getJq5&SlPFJwozn8#yQ zzeb57w87e17bG>E8+c+j|J~nH@T_`DgeS#5AD9Cn|i0I+cZX7mrIH1k4VncJhs&mPBT8KK_%d%>k zBff)-^?$Fm{V(G($VLtix_GB9Os?=N5I_aSB$FXQGJ%hehXa9qr9_;Wr?H0qrNN%b z8)Qx`z-BhucN*`{2q567_LgPL0T*icCPrbep|qc#t?1aFA}H(11{E7M{w@Uh zqBxGXz?hJ#?h@H_X6JIZZxh|-#we!7w@If=cNyNrf!0OhEq7uhmZXO zt%lP4;fMX){SjOBI2X3>c-L_(s@AnQ0!voceeq2*7{?>JoRZwLSfPAL52>Xjwra_2Rfc3s~y-tckyf`4W^>H&t_@cki_+hJ6uH~LcjGPp8oqcd6ORfcqW%v>T1Qe)lDpV+K4uN`3|C68{(J0}K%6zJJ#$(ZLIvo11$k7H~N0b<+IW zaR4`wUQJ=#qZ*E1lz0(nEdolikPb7ge(1W5Pgr=GEK~mW30ob>4a4!K-^|;V_b)2V zFC|c|Xk;hh(k^YEplqsU|B!FkYtWeP{t0qS94|SEuBaGHv04O%K#mgJAw*E;(x2ml z*BIY1*VR%TZe~up!wp|hd=f$p8R@!IQ{8~L0Q=mT{~?G!P6@C8Z0%yc{=dR3D!4Gr zUeK$b0fhj%rn1M-R|Cg^Zc9WfLOK6N>=WF2r6)JTIWaMB)tzIB0}E(s#7#P zD|sj6Zb+kfXnx@$;K(V&N+r<8CR4n^Cen-CBA3#=g=H}OR~8rdiV&}w}8+1DMbqEv6EJ#qNd z$cUu)SS5diEv>&XplWhoqHNg4JL8IX|A#n0>x5H_HAPa>(+>hN-KF^XX)e92_@Sv3 z{!9PyW6BLDw$>()YDS{sIB~YQN>KL})NrEvEbw zmF7WLju=hXw935P*zUs|Nv;KeSiWpqUR-=Q{G!%+5P(3Aj7f|^xhV&}{k6R@nriv5 zFbj3P{7oV#Tz<@zW3P0wyMF?wB(^mSP%88D@|+qJ=m5n;`9kHcM?UZ6=V$4B@4Ma4 z^${h%hlx0k<`2Pnn7W*F_5X|s92Ek0ZzrfJ-&nW97y>3=QhEhUPH4hD zL8T6f;IlIm?s((7bcgTRe*alM$A@0LIGplS9QoF{GzVvAKir`OjoLIDEy_bO_0bO& z7UOFSzF%B>cK^swsSb7joNaWr!(#xP32klr8U}3lBEtMnPfJC3-OtaglQfZ6NVI#n zuM?rn@?e^3tTf9;+4iF&PEefGm^0}O$+8unXcrNk0+HrzQMD-EIel3lHC$WHwScgu zbGX8cKEa0&C18_Jl=YT^F^w0ssx9c7!5TtbN#KM+S))U0-(s-`ONFdZQ8j{~Nl$u= zux0^eHNP;}?tJkLL{QJli}n35@UBM!QC%Z1tNxVoINYETy+t2m_g&Fy1FjqL z9P#Z$HgcdCk9hyFkiolWNEVbar5NzQLFLu_*Iws{(fwIafk(a^)fsSAXLB(gk^j5m zm-6yPzG;_@tILu_u*E8B^;{BFyOZoMEj9pt=;2J2+{m{uSMabM9N&H>GA_X7al9{{ zr~hZ}P>K-B)7NV`a|O_X+<28<3&~c5n$e)1PMZK3X54xFpxE+q)g)J>iU&Pnh{{k} zKIe%63^108fA$7+F94pPmi`OJbd+Q9<6;OTtnTfY)4q4F1Z+uJHHsK0^Sr>)c`#p4K2qOtZ{=` zSMRloQnm~4f-;7JR46x2*x9M|2=HGNq}*4@|J7*1|Hc%v;Hw6HcjjO=R8#!Q;KG6Td4{c%2I#asrKdww97GYqc0F)+== z|KH^g>K5lxgU-CX+vuJGO{S{3lVcar&JSODh}lEpG#;^6=}Uu!v-oh z?<9vt4p`7Pw700+Gc%+b<7}%9N`ixNI2*nwo1O66BwF#HBnAQ25MQ$(&u*DB+$yGu z($m$2b#GIzZ*O;D@I^Cvsj=b4YMgIPv*tm>>{4Za%q|M4N*{%XDj+fYy zCb*K&{j|5IVxsl)P~S6OIiW_u%z4L@(42=40apkyUd;)u`EqA6<3U{o27uP>>)4wh zZO{_v$1RKtj=@aj%4;6$g|wN?|I%QxC)zc2b;5L!!&ulJ`q#L09L{DnNujgnj1ze~ z4<+Zlo}{)XD%}C9JN}eyztU;22Hil)HhySy!=F7g?m6!cPz%*+3HH?A%mw^pX}HbS zI|JQNN(B--;=X-|10hCJs$=R(H21+HUp)VXCX}i~M|s?1a~xhhIosUiq`N5LoqkXB zcRtb99ue5E!j`Tx@_l#b9Hf)vlR2+FZaQqDTx_%Wg$HHXvQKm8YcK-544vMB1BA7U zYE^m?QlR74k4=~ug0Ly1Z`Z{JdYyb5T4IOMY2f#l2Yc@CE_O2+n z)jOWRzfbQ#S(1*64tqy`FYvZqQNxE9WuL_Vzx4C-{5j_&0u0`2U;#8y zB73Z2xMivasa6j_;^lkyQZmNPqqI33+%znse2kTe>qb*9y+q#CJ&xj9NAIAb8NutH z+-(5>8XQPYXxK0e`2mgt7XpnC4%C9%3f7^a??W70NB_V8q2%`vs{U1ilrk>7kEtYB z44P&*`Exj^5RnTaE5h?%j{D=5wH*8geCb|OPSm;rd{vMuz1yKs2WCq9DKhHq4{*f# znOZ}qF9KwF`fRknA@KNV95-Z0dTuhtXhwI%Hb_|uz;|g;q@lbcoU3lr&m^PAMbRN% z+jC7W1HF);G?x5J{10_}ew(^EuCngRhkdzhZWMxrFw2V^z~lE42>^6kIlHNX>jJg{ z4nd_>#K9pM`OQbS4c7E&+9f^g3R08T{zFEA%yr);kQ7#qm*T)LDH#po>Q`7AM&Ybk z910?S)Xle#^4DrDdwouD?y;^q-ZJ?gN>lFxvUkNZ&39SA&yH`kCxl`&J=6H4P!R*z zse=ze>Z8YlDGM4jH21EMA``TsAbE41w_hnJB%lA67A}A3<>kneu&_YTyEbHyacgjF z4O$3wF5{v3v$*mv+3dB#2Y8THkv2GZU%1Hr)jPvKe{P#Qt#-$1DAoJcU{0xKJieXKKrFY6fU?#(*9_?pLkQ%@ z7&AEmn{hCfdO--DZ}FIs>FLNabJDiU=R-~w&z)G{alZ?-ZN=@W&Qx*;feaq+tL;rm z;7FugLPDUVi_uif6`H6u(?>OUoD(o6s6Nib2gmxN^oxJ=qjK`Cp_9ClZAz%Q>pe(M zhc}UtgjPU8gDpz(&w?%j&xjcx>g8j~kGND5x@TBQD1a}#D4?2}l5!L4q>%Ck#(Jq$ zAo3p%)^Le?D3uzl92~kk2(S64g<7fAPzZ=<0pOF=jT!wOite*vaqoCL zYa0=Gh7|Wg`%{Iz3QaT61bp<>;#uI;$6|DM_>23$IDX5>xOU@9Umtmb-Fwe4+?n{( zFHZh01pZCdU_;ANp{)kt49T`-z2dT}Q2ly;p7^PtNTU680+Liv$vzZ|$+l&Od;lgc zc8@Xgz$~)5fu?RG zG;jN994EaDALF?p!JfO_m@)qAa~{?8kRmp-8=!yX4B#sP=5=;B(1y8<7#X?E+AR$E z$mYgI`$tuY**%GY`uA)fn{l98>Bh=T#KjLyl*@lvWSm(%4rkBm)%&;BMuS^htf{TG z7p^r5-1cLR!G7pc9XKjJzSamO6Qs6rpjf=b#0(pQVL;F|foX079TLE1u2@_IPz3f8 z|H3=LMgg&~D1h!RB|-KzV|9^|_#}v~=8Ie~Bz9^CB_?)LmtYeIz)E-SeNHqvgAvPV zMVgwpvleN0fo13*Q4+l8NWjh0*ZSq9-Z;tiyO)hiIHD@DRDNyh4WY4aIf0N=$Fl4#eys6pF-4D^_wAu6Ff6hVSD}T39H*YGGgDpsUfmS;1Q{{4 z6+j6me!#1$%!mr6VQr3llDhJ%O=(5lPp?LE^nMFM?7J`Qt0S()<-HzEbmnVr{=Jg) zW4c)~NP`{6xqj_&wx?A}XjYoL#gE63%s79Hrl|EU%M1gdz-_unGhu;?-}g^ojm{dj zQBhSLwUaind_MuEcn*ycG#~a~DBPCys>*s!EdvhhuEjUZ_F=%hWmLLYE*}b6v9A6R z1MjbU(cbxNH~QeKwfBlnQ7%U8ct$J-&n3*}v77-Gk&u*>)KGdLTb71kVv;X1P#;&k zfRCd)78VxTUrem_VMluQ24d-R#L&vGU{e{140&y`60@+~hCEA74El-a$VmRiL1A9* zhkbxSNS%Rp!#X7tJWgF;=m4|3r&VHsho+8>*L0-F2^vR-%_@-H+%k>FvFlwq8@F}k z(`9m-M^uVfC#p{m{$0mt?+oh{E2+%PloSnZLEs!r9bUlhywW4uz4@J;C4}gDZd^^u z^ICp(f*|~bDBc_XsOR_9*mHLRD8+Md92iuX3f& z*bq7x}Bw!FYCNA&RH-JhsI!eNQe@z)u=lmJ3QEGDT zeUlgdXv?muyzc91zGOMVNlS`s$WXrR1{{660J6@P+;5{T&Rq8jhvJF0V0rf2R|-_U zj2DM^Rg1raXUGZA6rPB5=!Wj#BvD;MI*b-3#9a?5W3w}vPvd3@dC8~MXh9A3y!#D_ zc`y29$D=45mjP|#uT0I})L>#|=6+usIk`FoxrLw&z z$i_k3!sZqM{jiEe#wPKMz|LJz?U_zn(hftdt{mMzPIhQjl@patxQZjdax(^MnZvr6Mt^U7h?wl4WEby?V1b*F%7q_6G&J1v~vq-}(1Cw)NU`Ll{ z17Siz0ej_dnlEk_2%D2F?qc8GXZf4Kg~^45>Bu2I!d8En`zFLMjHCCIH}yn6BCx78 zAdG7ef`UkHE9@ z-p$i4@Yo*B2OJJ;)heD3%GwisE6ABXT3LmrG(z zPM>+XPgEnjh#aOr?G2o7ii`%FNHH6-+UN=K?z&;i zX&RcG`We6~%fsj!4VoJUQ8hawJo@o_^QcPxW$cKZf(01ano@>iUQj zk}0&jTM>FQ%Ar-HUhwKHaCmsgZwMix8@+szSgFAo3~nekrEZsF4mM88Dx}gbN0O z&p+Y#EQPbKUJdWkw2{OM(y(pGvjoR+0%vPL{2W+rhPgshQ~De=IFNZou(v-@&gy~# zyYofGioZETPp3j10Se13ql|D*{*gZGs%dp`Fivva`TCW=ex?Z_n1vAq3MIT<2kduva?Yiytn}^>hFy)M32T2!yh!No8&W;U)&-2PmlHB~R;IfJvP{ z2;aNJECtxoARO5%U`>ws7$`rzNsvx-LrzvHfcjIR$C<8n?{o(K+m(KPHh&%(XKttD z=>eXBSPlIul(+{6u6r(=4lO8lix54_y%S3r zRY&^jOe`Q%{Z4>esa7TRMw>)Gd;iY_g(@*~ zixT_LGnP9G(m+?IIm!mf-%O!0Hpz_W|IQszV?X}hjwNIvZCMvPlLR`mqEJu%aSu^6 zz%)TK2>H)4XFf@cMy>22|v_Ijx)_Y>oNWiTsf?2pPzfg zwXF%y|8-i>0f%vE7yM(kC!K(52N}v74;(=-!64}6$T}g%Rz%}v^Or8rp02Jgbaj=y zxr@urT;p~iQw||dRxGcl6y+3`J(jMvwY3FDcbZ?6;D+>ATD)Z^NWOWCO{jVJ`r0W< zxS3Z<>MXv@KQ})gjm<$E&Uq;QGGLL+LUkCv*A0RmOmV&sh@jgL7hB9pK6X+~A}|0TPNkxXVGcsluN*xZREJ0&fg~Sr+!q zns3=Lnz8#YjZBtt>L7yv8}bC6Wb>n)Ry<1oRsKwR1_sg?hv{01X=|()oA}aH?I{o` z7uD4rYGxkOUJLIuACx>~g8UDPOpM^;B*s`D&#Jbzw!4+v<97YH5NNNh{QR0?S&ueG z**=m4)dPL%(|9gCWk_HIE(Z+e~un-D!BjN2Yw}BWFljrvk1!64e+Fc$)BOq)0=NQ-l!S@ zb>uDZqKCHsnV3MUR6&l61~=c19;7)Y4zGF+9IJj>p#U}woU9kyYrt=A?;6zlO7REa zz3c_R7$9nM-?}FHvxI1D z$?QJrkpS+~^;{V|1Lv~DM}6<#<+9y?Ty1~RdrBe^3a$0FDPXj?hd_czYdjo42~h3O zqsikNDT!QgAww0A~88~!{WCYFudO}#R4em`7p7X|=y2*gO zeefaBX^1%g7#e!Bjb&9HQ+Lf=&zc3+$} z8I8Xfvl4+|f+2;RHUwsC>w#?l;VI~4O)7wK6S%%#-Nh-ji(wLV8_-2oNX2zv{Uo2hpJVwvT{dKL4V?&pe^BI%4+BMb!R6hiR4YMV+V|_W(mnc zCBgj^3OdsZ&KJ0@z+_J15|~2O6vOvj(%p`RMDtI7#6C8j%LlNRs~mRz#%awF-!tBF zc2HVc3It8pMZ8!00LO8CJy{s>y6^un^&a3{_HF#|WrT!e%d8NY*;|N8Av=3z?>+OA zjEr*2%3dLRhlC`gpP9W^$WAulJ%2s_|NFi@$8jIW)6@MNx~}Vce$VrBenw9Zk4x8{ zg(=%-_@%YM1EX0onk6t!ogWXnq}%=xok*ID=0xY)9|!svQ0k;<&8I5sadezpQ`O4K zKq4P`)YQ|ctQc;TwL_?K_hWHzkWWze^yp^w1F01Jx+75|;GFxv=I{n&qhXVuMneFn z+v|dnn=d*x*3n?E)f=Z&7O!;TA@#xoRyigz+J+s{)&M*qUhDsMN~^xY*7|tRA@MHc zKB}@#ZiC$_c{o>-`@vLm{C%QqDQ*H%)IYqsZmY@aQV6V}EUP9koA#BR3j{xReE2iL zZilGu3m*6@JJLfDls?;z?(ONpu$dbh8(Un8$0P4v-)T3W;Nm*f|NeF@WZ7rWcS^AP z30G*=?8s76_mbe9=q-_F&5>?w!6rmB8s9B=)3n7eaJ19pxn+xV@93edRm~r14e=mM zOW!5uc+dZAKTL^= zOQ<4q2W*fhU+*$;i9qu|3L>qqif1Mhp$l>S+LjZGnyWYo7S?)-N^_zXlXI;Xkm64DTw&R}k zlI0!Sz1`x1k>!Zn(F`Y{ar}uBmbz^Qjx33Eolif^^0_C(qr+fGM6Io;+W$&Y&)AJd1b zHBW+;o$EC4VP~0u1-qNC{9g}FXHFVtCSbD-B86>y)NlM9BVbNAmtuD*=3qH={ChO3 zd&fg4G*nrc7K0PJlyfNizjj-9@k~>5mX|+bp zMH^g15{7Eb+E}$86JG0Me5sZ)H8qvG^MnibJ8K`KDim|F*ds8sq{r-owlx$A+me@0 za!mg$#UDRedXBn$N5B4`8&`Jh9Z|?%xO?42O-esMUlkkK7agdMa!5oz3j({~NfzIJ zI~}UlV{PDrA&~Lg7anls-mOi}%Pp6(tEl4z4pz4#$flfLprHjy^MaY{#cRtv-MW*_ zo1h)qZfU7!RvF+jIbAwGk~trloo$TTZuC2sOq^H})dKi@ASH-E<sq~V4p87QfwUd*OIBY}1(UeC7&8LI-Zw1n@?qBoo8Jael`zVkoOzeJcngW}l z^%H4rYe@F0eh2yQ*94R6OCi-BXkEc~6jb@!le?EFN0^p3vT^QU7Be_|+W!WUwu{PR%;_aEf$n4GVhkoc zZWq$&Fq;!=k%7Hb3(7vPg!@FvmeYbesC%zJf$H%gJUFO96*rS@sQw&HA(lA}MB)xr`9;+IMk9R09^3U9 zYn6(nWlyM_8uH%{bFQB!jEFfA`dZ75!ETOeIe644{r97T%4W{Fc*s_1RR=d1&UTkACAw0j$ zB3)ig2Hoe7OJUz@hHp=Wo44C%ubzXyg*_lG8kKpfoH(5=IRVkWbb8vT z*cCIp)-!`C5f`WQQK#zWc+FZ1KGWa7%QC2@+w$`A!2FhS|JA1&@F#Y5HWJ0#^y?&` zkJW+0yr&bY-7|PO2ID_@^Hb->!6f0g!hoiK^WsT5>2znTQbPwVA6}~4ZVpx;>D%xX zKch=)B8FayY7|ImVT|PfULf#K495jEwGvfPsf91-dVK5PG%Od!BX)OtrM4%3b#1c5m6 z^w&L%xe`W`mh{N-{OlBhmT$`JB=s6>`55B16y_O~b(r1m!f#eDO7@lvKdZE-N;4Bf z%8Sje$H4rJ;p$rOr!eH3P2g4Qr(+?u`Y8R{vxHKx`L8 zfM?Y(n1zZrE0dNFH zsfszWm{0%$GYL>^dqNId)4jDB36G^8=8I4g zn*UNtc}v5<7*PC#o{4c*5kVs_yUzhAs-Rw~y)~Ucxg2l|IhiKx@&G?T7?yBlO z_N;)EPY|_%jhP5#glb#Px3pQLxnXT50y=q|DmO_G3qJAJIIC)meel`ZB>JGA@ z3evf!nBKYUm6Ml;**)V^RY6xLYj^(0a$tLb6#>bU>H0{uyKuwaXob`45Lx)-=&02_ z#WUO-VXVO0+U!v{pZof50Nn;|;J>X*XBi6%s8S3Q!3pK;g+6A3;z&zb?Xy1JsIR59 zegfMi$=-&3C1N=DJ@}{ZufJSu1z$M7rU0u;^#{{_2OyvVtt)s15s{FjSEWHW!}aCJ z-ugLdPT?(2k%sqZBjcX*J;w&+YCVC%t5@XM31i796qMOm5uE=<)0xUSl7B{BZ1+Yr zFQYyN0cr8qhStrSRxh5-K4hjKR905@@bGZyY54f@F_#7f#JV5s?$(uZ=I%aYiWPBT z14BYla8#n?)aE)h+G*0=S+_Jk21ZB$1>w_6y;J|w9sUKmyhwQ#$*}p!jRI1-6fZ!qGTVE&DxoO6L>-TlKEs3 z3V;UC{M0u8L|7td>RMkE>^P7Q4j{om>M)O<;+EYLvjQ8AR?)y?P(IGkT=m7> z!G9c0M+Y4LV&mr1U;SzWT)%ut?wEDwm0E#7KYF1gER^v!s$24SN{}03;&|fs=hSb$ z7f|?f^f!{X>F_JLD)4sfOJXn%SSi@YYaz^zHld-RrQhD}-0lsvOkV0%f9E4@ggQm} z@8+O5z&x8^?g7LyDOpCjK<;AR?p}Q=ryK$BBYqr6ah%59)KYd+&9H1L<7>CHDnTdV z*_uXGpzgC=&mHt&$Pm5?9H}Uj&S6s-J5T`&3-|Z;=QXZ<9j~#Yj^33M7r+YA?zohA z7-`HBuas3uHQJ|LX7q}#r&=2$*zdWxZ#Y%wvhZmEZa8RXqv6Ne1B)!fXrEJTop*a* zp``iFetr(8rpL`0GetzAt@e%$dQdeMlrXh?OsA#)RQs4l1itpycwk-bkSN5>nkyKE z<30HSz3r_uBG3_y(jWNYZ7{(9w%=!cRODab5rlnj=`s)q5TK8RhA{!?3lt3NJ7~+= z>@A|+?@xs%JUP;)-Txkn2ywrPPe~i6{j;KqItG0<5~xC_mxJp6wXu;~A_Ohy(_c3! z08C2jk$i4JT03Yx*zmF1wkAoX=t+HNeeqD-S-|BxrAFPNAb@$Cf)O&o7-I%n!u03Q zeX|}f8=RgUoKNIVokGt7ROD7uh>9dc3@!6jGeGW$%x`XrGof zuT50;LN--2zGoFi>WuLafvS)oy{tkvz6B}uGKaG-DxTQe+J5JYviN=e9MfA=ng~RI zbke6|``h~Zy2o1${I?f@GQI2}@I-uvezL)HBUxnDtgQ|XcSRlbQ0YJT->{c5(mYR> zhB3e$7G0RVKHOLTsf((hXluCLb8YmNKwJBiUmvqJ(?wvn;L$}0Pc*2q@9uT#!=A^y zRmIm=t@#p{I=Nue#Hx%o(Ghxdo|>PzxN|hs;DvdihjFk|k)7nipekQ$5X$Ps3YI^o zOFy3q#7ERQa#BPf1T#*1djRBS2h-y8$Xlz%s=9rmK2lr8Z%WjHFpZ+WTdn4&P9s+gj;&h?VnQ@k* zQo79no&{6x323g>OKEo*U~81_VpYH-O>tbiXYs0swp|q#`E9>NO*S0$RVKuD6oVo6z%4>q}LR zWo%qQ?h=~D#qhx#BOg@|L1q!PcYt;syA;;Yle%ISvz5<@VJYqQOBOCxC#=jT zlbE6OU$21#TEq)-+fC#ybTk*(&|+w$ebq->?l1~nYLl(bGUd*v_j_-%TU zX_SjXQgcp|`(x}KNnQ%VtdvJekS-4NTo`Eh=s}(*&KPZ%42<2|X#x~-6}^{NMH1g! zEC+vY=nsCq$sZq+;vRjV!a@drfzfi))&W(SS5tjt;dceEqSBI+Z9(wctN<_HMC|96 z>&lN}jD9IKDB(7G zl;d7>z*Hrney#K?*3?4}X!|Y`pITPbT}JqmxZkRjJ5Jq$)tY?+Mf7Dr@bj&@cXuCr z+LOf5Ljnf(eAC1w0W!>yh2;ipDN#P4LI)@x(j!)Bb;ad3I(2m%9NDQ+L{+^v9)-pbt_O!mP$ z0{%F7$qkNJw_*s}usxN)noaYXPV%BhxlMUaIOyzcLg#=2kv%|p)J16*nzgWIp#smq zS-=Dv2wf#^<)h-2CfS?ZoW(#NbPeS zCVp|~H~Q9WonTZ5H$W4QJ zf9;Ctl(Lt~wG`%(+_-!%+O@}wQQ9Y%zNL444s+^CF6%=PI| zp;od>V7Fe0=jtE_@@osV)m(kO+s980j>hNmv`gA-c+HAf%rW=h z4Xj{JDu;+Nn+!Zc*jW+oTHrRBmU59 zhxaUa1uT0}9hHI$$m(w}1R%cfKQVlFXYAhQCYVks(kxi@xC^wG%SRT5Y5;-@YT5e; zv=mJlS^^C!5vI5L9G;a;ne{FsuuJbo-Y9K-GR{Uypmf8$CX56#3 zwuVX#22RJFssUv5AXBG)HY1b4Egr8Fk6wf!vDtvfczr`$c>sC_6O&mo@r$!Y6or;K zIXTM{kzZb6lodF3YA+h_Q&eTMevwUNh^e6JpG+3nB;7URaS%vhkR7`uWes0!63{x7 z67q6YQx8An<=$2&Xh>&}*njmo5X11kE5(yY*Mb4}qM{^U*p46XP4ovQbUP}{Bw55` zmhh9%WY3j0NJpq&y=6ypqfhL}Yuaa-_iUaQGtBNh8wn~As?O>khA`q06t(Sbc_<+L z>k|iGP=BM1>FHA!4U8Md&AAMU!rg)Ls#&CTi?xE47MXov8-K8OaYRd}%#l5UU%)N= zK*5UE2o4B_>&v6p`x_vRh-`vulD(~?-Ii7LVA=sb{o99tBzt)szy{j&S6|jZzA7){ ziHB_IeLUJ~2Wu4ERKNE(CeVxgo*E?cwePop>-v@Zn_I6`ExZj?|9Ns%sl7qia?G`c zHUEh(+dViyt(!AREFWs#+WWiHYyOK^c=*#ScMr9gl#o!(u1^m-e;P{21y$Jx1kgud zn-@1UNMJzvm5`t*G5r_at^bHSwC1@#q>Cp}L`HHgoQ$gG?<}1S2Gl<|;Krv!RXnn+ zDz%#NUf6QR%x#!eyqSx?_hChNcv*@iR*odlUdG2@*Y|tJ&y;c*{s`>t_b!Keo3#$@ z$M;rviHeCODdkd~m(C6Afg7~PswRl%ay`g#T^j$#-#WM2>VC0Mx9NwPnOU*e-(*By zcnCkHQzirH#C2B3H_jS7_v(%AbbNSvfnPV=SZg{b-OcIyZDV`82ma*jE~)w#v|M8k zscbafFi5b?|D66h;(9-vg5ydYw_7}i+I;bomsp}xRjRzpr`xU7_eMo=@2I1X;s}L) zC9OzLDOX%>UOqW_mKemPgCfo`(_I>*peDIAS01~}5bQk1r<~i>qheVP7d!Aq8Wlas&1(-`&KP9^4Bos`$_=`m9QQ*m3#!h*3Kv!62Y*Evg0zdYqQ>2! zCkbnX$n^v*c8asjt+SpvXJ|KYKxFkWJ#g3xyGvrh7~5K2!WlIiC>8cWC&iG5I)zh! zhNvAs;uW39+3C#rDaOhQfTH;XVme{}os=1azb=81x519{*V-B#J-xvnok6*n%JYd)P+XZf_o(+@=olp5; zY=81C{7nLT#9O8I9sjJy&J9xqn%_4(jhp<(HatWtq z5k=gcF25iP9(7rdpNzHMhDgGNsjfya00q~?bm?clK$vQ1@S9Gsa%;KwfSuy%)vM!m zF6NC{HVHPz5wDJxEjo_|FC|TZK|Nb+i*s-N%tye8s8-92qggJv)mL+cEo`^0ja<&e zFBv|QAwn2cP3+f&05NgrtBWBe89)igb|zL#k|_wjKl)Za$xk-sd%Wvbm<(c$*>5pU znZjO&zfn~a|&W@X(}xk^vmKZNs*x@cJ|B@hDTp*57ig9{T^jFpH!Rb<1(sTp zz39sIgOeLEFMF3;*H!Fq58uxl`jmulmZptm5<4ukzrw-6@qBlOnY0fBF_bsmgr8&k zc{VU1rv0`Yz&d>ewY9}WPmhZbwHKfw#$pC^YFc%Z5V)%CB{Lux!HS<&@_6ztc2_!H zpyn;1gK+R zr=5_rDG7f+mlEAZ-@T)q<+75Iua`!)tB+mVDBX8-!>gB57< z;xa1T>#?nFLU`;QG(XFVdcixxy8n)i&)3eI##_^*{DxQD0Sq&%V2?1X(TiuX@%R5! zRi&Xuk%-nR(42Jis?h^sWpW{k?4+5>|ooKQc1c5d}ZkWtJcNDj{W20IYcI#>z>66vaHy}Z1PKY3p< zUbw)-$e3;?pW9XfC@$nQks7pl)Egu{$}`|uhf__IWQ0@CHYYEu@oEg+75u22AU~Q;6f07(2?ZlU zn_nTk*!aABX6D)IpuqOwmB1VOrGL-f&&+V6v%LS_7yQVb@+!x6cwncmKSz~A>25-6 zC4GN&FjtrmH>#kpGd;bREw*E|MgV!)W`>!@8@zZ2JzPhttW=GSnRv3g{l1HGekQrh zW&N_n!~p-vHXG*Wk3lE;P(YAxHJ4Jsg*$~q*tv(vc>^r;K=NG|#3Jau6ih&W6X`3_ zZ+5K-yAezgsh|l-Z9Be=LCn>)wH;;^pl(~ULdl%y@+aBb+38n-0k_BuJpt}hT`GnC z<(+~;y#h^$MPVUpv44)CnCpH_xpk&&-7BI=r-muE1rv3d&)y>3q|f)A>_POWABe z01@?EFB5h;lSlqr^m=KA0;_E~E~+Y2n+geZ2cw;)+nh@WCv-N7P*P~n!JYp~_uWay zSL(h;m7KBH7F}Pf+tN_JCWqOt%RTv0h^2ugeFyoMZAo5&o`eLl+`$b;$G>;px+nE6 z`=pm?7gciYNJgVeZmOi#InM>P&eZ|JC+svmIXK9It_1#XHv2~dp4SUpXxDlJ2M32Y z5MkTlVo;+uESr^;1!k`~dsBVuO*i)}#W9~V zUjm+|2+VbRiOqj46x4b$WX^x(MDxT=>0TBVhtCSGqabE?FRz>uzs?&iA=eYpA(s?@ zKZx?aG4tjfGp6}aN%O_S5rO9xZeLQHZrXb0e8`BrRIJUAJ}oW;M&7`ix!+PW)PW(X z5oDVi&)8!`lkd|%V0k?lS9iF-Vchz?o9X<}%PtFRa4Y)wR81j#&5CS!g7^F4*Q*x1;B=8T29hlxBc^de$nw9y?-jeFV(YL5nXeH({Rwv+-`diweb zYF}|*L{jtOVLw+d_~|Sv$$0sAMD#WATU|xzlk+fuf#>s!JZ~nnZi+|_*lM3ffz)z1Pj!k9XyGmRo7B(G?60H|JX_utU;Z|b(1N0*<44|ujQ4w5WIsH&!=In)E=f=HHJM!OH*}Vwg=DX}*Euny|Mq_-ij_572onK6B zz92BJOSUHjG&mnp+fJPKHQhgY{+|7c@S4uhAAT3mX<7)3OW|%L^uB|qDN5+ zk4SOTmjTQCWCV*Jk}#YBVA_(p&V9L{n?T$O$!@>yRTa~|+QNJvpR7hQYwdEaCEs;z z{*n|GeHkxQH!I0m-W6I8M-^`Y2R+%m5f&N>t=W$i!SQaY+l4as|1Xzd^^wyFx}5ve zKy`PIMhX#3Z4NI;Mo^@$93wlTclQI%c2|~HBSly_zPZrnmfH@UT2tX<7AD`-Dyltb z8OU!gV>i_$xp!S3c+r>MD}enL*VU=gLYGH#U%z*6Of7ga zYB^-yakO#3%tl)Ze|&)0CwGU`Ai;tl$jvN>T47*iHzM23pB^bLD5%xfAJHtjuv>5e zTO%Y$ejt@3jLwVyp)g^HTpfc#HZ}MO4(mHjee|$%aw@aXO|TH7Covq6VvM#)2LFeu z#zv`(Ui}0Rej)IUqALlmeJq6|AWJH!tf5tto2x(?YzvWyzRCldT3Qqeh8SCjfU}*9 z8J7+Qx89zugN0F8eJ<%6M%vW{|HmIi0dfjh!qJI1`h#4-rNu|v1XG&$XoL?npFuj- z_O%}~GtGy~{ja$RU+`FWed;C5`5~rL>PZDl;T)`D+iribn2Vc?ljoQl) z>O*`|H)j7xEt{rEx9E715aDeUd_qT5p>avQK*v_4T2MP4HGVQy>y$CGbq@Btt;e)6 z%FyP5Qu#8yXy3?)6>nCz#q|F`|GIXUJ+bPe5gBgc07v~))37$yv~I5TO+z!W2gb%TpFblAI9h1{FK@cs6epKL z0EIuH6(8D;NUU|2?!=#2k{e3 zmAeT^;xX@H%WyTL5HcfWP~N|1DQg7YOF@($IB~<3gv`3uJ8G7yyuiYaAcOlr4(p*7 zxzHLd768whTCsD#sft^6PjaNBE<@AUcY%t;N!oKg<(CjnV0t=!e`vxZMrD@QW+RYu z@_YsBeKG_OZbifOQtNbn6=5N}2VjCZ^78J7yVv!ROzBgUK$2u3`<%1)B?N9~-HFfy zm5k4mI4O|yg=%u1`y!`-EfMe6n=Yk8v{;>@R<4T$wMzQYzY8HZ$3{A%%#flH8JzpA zW_txY_;*4sH6i(Eb2A|72*Dg;&HhxJo>9r>UWWsH2P~DmoLwkKYAb}Kd$#cLp)r&^ zL;-34Wi}l7c5D*?Az4xgH^8U8#sU#mgdxMj+7MBoIpUGN4Dq5Y4JT=7lFGPi(LSS65dH3JG<8pHIEu+kh+k+&4 zDirhJnbiN?ScL%Lty>m~X=CftCldk&3nV zawb4PD&r3g?clf9^hW{`{s`+QxJNjZC_Ds_H;)*Hs(+4E$q=AIHY+Hrq1i3V>`wV2 zcF8`B5PA0OS!AU3^E-jvgwOy*eEunbxgf+zI;<;10gU&VzKCRzs&XjjbITp7uT+|9 zB7y4c6g&^q^Ye12eK}=rU(>l&G_b;d&A%r3;K<+eU>=Mh8vJe#-+0PT+qK0KJR4DK zlbm1yE$ai+8!j}&9B^}U^CW`eAOUTmr3K21-Cg&JCxS%s2^MlMN7f)BT(Z~v+RgFd z$AJSL44k+55_jg?A}^(_M0htWc}#Gxd})3GBtAb9Lnrx$=PURy0CR!k%+FrPnJ;vJIPcmS1D>`7Fd`8;G6(t!!^Fn&tO7P>e)8m!lIJJ5~){{8zp z>R=?D5JM&0fM_A!r@94>S(y6Pshxumwvk>a+jxSNp# z{u^X}&B;B4*-Blj#()QbuN-sYQ0)uAjq6IN=og zwXcFLbTZ01_G^a=zw+>gDDe)`<(l@NQ~`;c!Jq-O*urarIKqv@ZvScT8TuoDY_~lAptzMGkTZz zeD(G8BpIVe*5WN_?ZhBsOgaO#ELv*7LoQby8_6C4ANfu|Mz4sFkjLs^L7Qs5i_^&D zapGfk_g8=L{{vjO=houqb_e7?rCh!=2-Sjea;Gm3S15zO%jdq(W_bHzQoOCTvz9?c zfIyn`6(UFY(3R9-M+G?n8RdTewJqH1qo5+3x`8%*KxjM89`HyD1;(`*@^f5ClA&&w z9}qU39XmshKEt$kk`wdI(>;kpX?K4DAAmB?n>F{JN;K7-?qf~9@*I5LS(RAIXKY=)JCcb+GBrdKkd($=e=Ni zO#tf_W>81HsvpjpdKgJ&%yxQu^7l;3(TluSf(vbLSM*5P=Y=dg)y*0Iol34S?B_$l zzv(-QY=11+B&GUKZAE`H2pA|(&&Wkt$*%TjoH^5c-9+Koi#o`XM+say1?e@CQJ0SG?mLlL?-N3a0c4U z7#J8J&M+)Oj^$wt=65bL!z>2PkhLNX()Gz`yp*VwhKZ?TQ*VS@-2?(bBmGd7!^LCU z$7}fF5?eHMCq9iY!30DHaCk<9UFmCOm*%R)38&{G+i^eSofamSvvT9ciet^fJ5foW zlv(2jm%@cn(v6>;rx9d(CpY5M?NNa9FmH~P-rCqWmBf27Usg$1_3z_8P za#s0mJ0!ZBh1zZ(jeur?#f}{MZv@S<1!rP)S3XiIVE<@X$`)o`5$;!@St)?Uo?CA~ zGE}ORJC8x?^W#+D7eMrn9+Ap{tiHZ`>%iOtOvOQe{Tz}={A=`tl!1diSyj50VBsT~ z{`xi89kE83xw#2+xajO=UaJDoJ_!k8=DJC4lGMe$_+)Gs2dccur+XC>79asJ2R1Nz z`)&>~6g|VY_^xplY!5)hOczA3) ziN(Y8Ccl>Q;2Yd8(DJiBd;_fI&8UA}iUV4K%X4(oJ#{(;2~p&E?I2GFL;2d8 z{?|~?R*A9O@T^hS|4%Qo;QpO~Vb)XRid^|AZHG&O#k&EyhiHe8FHZ~H$0~`GxY7LV zLZT|OqK|srIh4L`Z4Fn)v3LL>A@&l3+3E3Kh@9-m9xyAUq`G%L!MA(&I(QlzfTCAc z?GZ&AU=1r zP0-iZzjzH^8n75kN;UwU^IweDDfPZko}fV*3>e%3?9)R{i%r-*yM7kig|P+&)LCih zZ&%!XwU1j~F)(5pe@BWI6X$_EWu)92eWdtysBc!>U0(ka&Q;&;RX)&B{r9~OSR|y>OGUIazB(uT>x7^%I=e9J4cjRa#8$a) zdQQ5Pxd+4AC&0t-FJ45tH^@8M-;{vmgwg*++@yDsWZW7o)Z8PpsiiD}f5-js{zQ0( zwIEVGmJ}O_)64$FL%}vN?n`hD%mC+IIf9*^f3`(_jNj_tA2r?3Gu#fXz;ECA3loeC zxV{dj%TL5$i}*%i+Mv1^!BN+yE9C(@wr(B?UGsQ?$hYN=OiQWQMdt5X2dK%Nu;c{X zKzQ_kFGnNHi4QrISjfh*3&TM)unmt;l`Xo!R_;wuy@7ZlUH77*e3tUtPqeQbrCfjZ z0%X^|6@52n;(CmOck%tFoKzm|X1s;A^a#vgPJl!g&wx%{CQQ$T{kTU{D66pZ>7Tb7 z_o^C7vKEySTHk&VLvg-z1C=`@Nw+*4tRvpQ^Q;7{XG`p@KcEpbI>dznj(fAGF)VF85;5b{^p788M0hyQQFnB7z=F)i&W?_OK}&0hkLa&+ zf#$qu4=i48QF2XxU9!$*KRykRyANdQMb{PgDK78=>^h_7`P*S51 z%t?c7;pR&3cihi+I434Na+IMeNmm$QZY#TvdfNE_orK~1xklCNJ~OgsnMH~Yf4{In`uBR^fY`3$^Vd|?LwX8_YrVP-9b@VnR9OV#3rY$!Cx4l|Yekf1u|Eo@lNvw3V zinM`*LEl`kk&9vV+b)Uhz64huY2ZU1N`+{AZ!`{)o5y}kFo)aH=_1$tqWy{-_Vdd% zA65fUR;Sna2+1ut?C*c_+|WbbYu-w*nCs!l9sO1e{b$Y#`@Pknl9Cc~a`G|zVLl=? z3N>Cx>;WAXWT)%2LUKT4+wk!4eU=~n{Z|NZ0VZN507^C}{@wtXu?WlL%e_EflR+iiSZ4Tfe4)* zG^kn7Jor-IWPC3_CY#_jbBfL{_d0mz*Pi~N0i(d3Xt*6TyC09V zZgl=c1DO3Q@Dd7drXQDB%38;-WK~{=x;D#D_0lyMUUY ze|a`sko{cU4K(zLwLLS6z)~Pry)XRkk}4G-OUlN^2C0VN!AyZYAP6jZ5bEkXH4cr9 ziAhO;<=}P+sJ9Jx0P}PFxRR$>tj}Ie8wzi()X*21rskq{;FIA@Q!&p^aTo74LzQEI zyBD3XaO~?NExaYXkAod4o>+xC*>+cE3etHrhl}Wv*y@Q>e5CW+xdCs*KR}RvI!O7n z|3YX?8hdS)b7;`jYX&TptTCd6?52V-S@lF0Dxnk!-;;mN732Lti@dQhL+07Bn1mHM zv2|hcXHb}BQV4R>lFYrODK5>%}sE;LUf92Yeu29kTs zq;=lgX0V!6Aq75>FxB?SDU>ScTCHut_heYG1ejR$^|1dv|C8AKX+F0K_(x;*`+CLm zW|r8~i9XMqFFnr{hrb1E?m4Az{cEqhY|4kru9P$OZ5CKu$Ij(f)g1BBjH z6Sfh4nn@OPi;$h?yMYdlv`+HJL%0ZWh;SpcTz@}K)f*3}k46(|ace2xQo4&7%&x?B zY6`hv`lYlvyT9`&n3c0eV3hzH{q*!OX9;0x`7&DMy{+xW_zWJRq^zZ!4hP4(PjglD zmKVbOKo(I)c|PRJyawAcxVjNQ=|uSXEBiX^>GarQO@#&VUZ`D;#lXSljH^RQ&_`-o zJr)A<6gnCjB=CG&<}9Q0fnEs}Zi{Zo5(5c}7kO-pq$NIL+sG5Tu;mgTre+ZB!u{{uNT(PrSrD z>kAv0og1v`;SRA%BEjrFTLQg?kGZc`3I+iP&lI%i>SNKaa}P=!^k>V-S$$yA^eWr$ zl0;gGVZ)6ylr#xa)*Qf0@$sIT9KwvgHuz1wU;!Z|a%6$VzNBbP<$V&`o=LZaWoHM@ zQJCHXwq&%gAJdoUz5M`2<5^S$nV9b`2h8Ja7GhlJELiPejw_i*BfKyY^*2G4^swH` zrNF^;t#_A}2@PT5xo)6D8ylo)ow~Ok(2Wphw;IgnafD?p1$$Y(L}0>7-^ldS~hfKi9<>X zRa_dRskuL@*?n0HiXPVqiurgB6-vKe5bH5b){=ErvsG6TQ{n68M>-c3Z{9@p9-RU^ z)c5?X&6e=$+_KDhJ$nRWG=3ZZyT|N+hbs^8#c5EqJ>?&R7voxAIAmM#B=zmvmv^rN zYDM31F{p2HQu6lgEOx?NcQdo=qy*J9HM$8ND?eB>dV%}R9ucq9w&4kzFiw(-i}!(y zRm7_MqU+X=-6MaUn%Jx?R2C%JUo~cu^ma~S75jHFl?ga)FL8y!corIZd~!lvwr7Xi z%Gch}L1)kJT=Uhe0uqh7$6sEErZKXKw0=YJeNjC*K@mg)K`qKP+|X;2Q#lQbNLK+X z1~%5Pu6XDdY4}E0C#9Z}Rp9-iJ&frR$=9Adux-wxa7ESchDi^e7a0>z zg^KZyU*RG~O}y*@11zRPZs>QxHlLBu{?uvW|DWk51`&K~_%1yBmD`3T;K&`DUkZRpBC!XnnsMJoN9~YQiq6e!#Dv&uIy$G6Gf zW=GWe`{dM30E-F+_cEhKUlcSSa1-vr`N5#!XMcV2(l8{joGb9?0i*k4CkC7iggIWR z#9NBlx6jg{n6}UII(AUYD@;aQbdE12p~DwB6^te}FLz^JnT2Bf-9J4047Sr!zPr2t z((WsQvHP8bR?%FwA!O)MOO)dVLcF@oCyqx(QH5;#y0hrWe)h+Cw4&8EKTLL_-ndI?xC z&Ag#-Z%CQkOz2UuDq!I~|Fl`R@Y=RUiK9gGR;X#_%i;e1+hStjW7yg3W*DV3Cc6Co z8$tN)*Fbs%PW{b8KYpllQB_pOlFsiOX=*t*IeCfFcXxNIh*<#;q0=DR^>xY(HdwG>!G|zR9qDD%3`$3!ndOEtAf$A{2pHbUvsstkS(?|XKnZy zNsbs6GjzIiH)6O)&)}8;;9G0xDNE%ApnTOkPAwxS%xh8pfe}>qq@7&(ARymOa_U%f zrRNa-uLMaDRsrNml_h=va|Tn2hmorE(a%3+be;__I62BC3I$8tmZuO6ZC8WiUhJXJiM}MS8Fz$30 zbrS&B!hOE%^LpX8RjxV~@_HenExWJ~T4?}t)eD^Iy|(AudU{mkK%TU^z7DqtOhSy& zH)A_zJ2bWSyd{tPry>6Xm@;(+5T^7Lvwli?v;-~(a4+}jx4-GO{I`I8$o>P$FDwNP zp-P@|(fYX9o>v@r#t=RnQ&R!8%TQkRh3u`%k|D9LbFOq{msU z`?inQ+O)~Hf|3(TdHJEIF#Yhkc(uQtODxEZ2bvTU6GUE&x?hX9Rn%+Kz|C!EX!>7$ z`XpoW2R4pRqLgy~fC}>fBE4a>HmtE7!nrK@yCV9Ty-kB};x{V@6fL@nS{tJE(<4Hl zn*arX^;5Ou1*UUz<%N_Krvh!aN_t0Iy`f2ePVo4;MaiAP~Ho)20I56%sKDPE8v_nl7zS`+2p>_845RW{L_`>2A(B}iGB*U5ZKzj;c3n!i1c|F zVirmOQ4ZTQo$jM1fOF$mOSilmr(Qc@$VIht^og0^eG@=n&_ct1F>(Tu@5yQKe*n;| zecbeHfc0ytiWM{I+qZAw%T&IR!%u{hID_*%5K7$pHG>UJZW@I(Vk zk~>`q0+rO+6CY~WV&CBrVMCiLKg7Pn?jAkEq!3Aq;X_rVjZISPfB4%EKmn|+8X2jH z9KVpMQS|pk;dxxY`mxu(gZA%7`>IRkU<0{3X=IQ5K3s_A6_YpNA-?qv9O_UMgmbuf z4eElGZfqI1X|^u^8~my64pj4kxE#bCk%~FBldkA+@|%LnpjQrK@>{Q9UEgT`Zlx1{ zv5y(k19UEWH#awEeq7(F@p8AfwyA$bN`kmIKDnj5=G(vFIJ}q5T=zou1!>EI8m=r$ z@Xg?_W`lf62rig4?V{$}lvw0k>p7I^GSXFmYNYq<#k9qrKWJWbWfXTWp!L1WK*F)L zv2h_875sn61ful6WCfH5HavGEQAd9kp>?z0QR7JzQU-pTcR!GUg;U~L3JiF5B)7J` zDHQrWrdHgkA{D|~Zwm{vp4qsb(Ja{>g`vCt=*PKPr6DM*H=Hfx$kP7jMNj3|G~jsa#cWu zP*|nt_-$bxI~<&Ul&2v7HT@ZJ*u(?1?hhu|3ga&Uikj+x(_^cQXZuz%Cu6S|^>Vnl z$unioPEhAkvd&nfa-#5`mo_~tI4`sDCnl*PWAk*|w5?YJu>!s65o<0W$4hQSDLz+^ zB*p&RwgBRFw+6~GRBb^~k&S}*;QXCbNfqcu69P zh;7J!mGoaeoIbW9EV5f>Qp$b3>}vjIu*S0cH2^UDNBmSK!(=$ZoJxmXNvN;d)>b|K zOgFHBK3vC|B*})B)&KpY+I^#$0tiAK0Gws@V(M>b%Ig2A>%HTt{@?%cC&?(QMMiWQB70AAb&Xorp(r6gIg;}$p4S<%j4ze+w%tA+FA782e} z4ULTvZC_JN%)?V*o*`Fz${R>c>8%+__on0NBhP~kfiDc`>NVzL z-aj53o20aj99#ri8SEDxvb;xXFU%NeY|l95D9V;vnX4lANa4(#6@ZX$KZyBPgftU< zR-w%ljFLD>+z$m^gVAX7m=85$TYD(T;#vRBAI~HvF41?5!j|02XJPL$;(=hN>J?BA z&lMzt99^sqsP7H2n1%LS#eQ|%B|5aARU9A&sb#}w0()x}LuRawWofCTm?x!V_ym7F z$**4P^qUl41X4>r##$0ji?3rp9NllDkuu@RgWmomp`YGgSbr1Wrz95kDT$-qmm!Hl zA+kzf4`;Z@sJ!{I$SJk z!8zZud-JhzYHrzG>)h3rHGXws9KQzTsc+91+wCv42Qpr}opL4mF99hMBnx6K>SQl+ zb1g0z5Ku$A9~R0RcUabTL8AuM>Ghz02+ddw{sl^N2Y`^di!;Ie9bUpTbGUYqku+Le zmwd;VNHIGe=!gI?$RU0ve1Sj*e+zJ*iXUHxc%;?D7SJ1QF4Gv$e0XtF-@zf2x~seU zS;;Z2PiK9M31L5oCv;xxU`2$5%YT}N9Z+iz6lzEm#U#1aK-J=^M^MlX8K&sOHEV*C z76Z{2_z+}kXiZNgLtRO@{<@;7!T>G~ATTsDhA=;A(ikk2E9u@fq_enZpd?Y!W$|vg z=^&BmmSjD*v`z_2?dK!&M7GKWwd*(aY1U|F+Xk=+_#Qp}SuC89`#$YmJQA(V1#&dbM>e38^IYlNw)NFa5sW-Fo6 z{S%Vw9f^l?b&?UyM#>pI($5Mj>cLw>48;XZ#^+#qToZ&8pp7Ew43xLxML_a54K*+1fKrS+%S#i1dY=tB?2 zsnGN2orP>*HAC%v(Uax=Eji5j>XV%28=h#RQeszeI0wnOt3Z#c+vfzfC*<;~H|QvB z)p|drT{RZDg2hxx!FaV(7AIoj=gm(Vl|MuvKDhhjOu%r5l6Db^x75{)W7vDoDmvYJ zts+T4(bscIY_vjlm2PC{0z_5)Md^8YwviM$Ow}#`R)sZZyCz+Spn26>eyZr3ynE)6%$z z(J1*?$k|HnU>#~@>lqNdi3F|7iWztB&~q1l;{bml{`qh093Z7TRfDR?cg!iyr_9nvsd^ zuXqW4F4{3hwND**NnN+}xp>~+KqIny#>(276OEAj9IadHp`oe@oZ#NxhPD0QzdwvF zO$l>FVOPZSGC{pe0zItGo!b!nLY%?fMTDr${0r2!h)Pw=AqVMOh@5xU^NGmtlGB%R zgQ#gIe#zq+4G0rRN>Rch%5`^r9n*=4WV#^1TgIpyT8ZexvMN0b$kE#BFG5YxBv$_8 zv4}pc(=T>29z(j5gi3F>zyC5>+m!4sc4RFk^AlVzAD`>flTy&@BHbDY6pth?i=Va!b|%64Y>=mAeK07WMr5nHhpzWE^xugQvZ60n(&+tG|>1} ztu@c{Vy;~}^Vb?!M--@`1}tAL5$_Ri*`9o+9v4LC-)vvq*e%DV%dUw>NSP7dx1rrL zmw}JiSm-E6A$I|xL2Nbrjmcc;II;5SI{uF+i4~+@8-%mnU`yrXe58|Sp()1H#5MQ2 zaRT~rD=PYzwo+`$1t3{gj1z`J01pastO6l#U@lZ9nmfl86-ezv!*3M@n$)!3yvK(Iu`VMGh@v9rS9*0>lw*GS9<%!4W%?P7xuu{d z!%OM?d-OP>s?gd(fgpo$u%F0SpvXz_g;P+(f5R6ip-4{srOYC?xJ}!Je2XTq0pH;d zbbYQJ3vM3?&cAMlTj1aw-q5hYeY7xo7&z<>TUjX@c|!|4cwa0*s>yYLv^DNB#rYd@f6dzEgZ(ez(8B z8VmCI;qa|Iy0jH&81ysY5OZ0?H;Qj943h9)@6{)8uH6P9+=Jb@dN4wOkfkf8dq{*%1&t5vD=BExjOULki7TirgL11w)NMsKY?XI7w_*F zg|<&Mde%C>n{bk7x2HswT{Wvm1k+WxqKcqFng%1D%7UQ|?jE#Bc|%11ivx&8?}Xl7 z$1pa&3D*ROz|Q9jo1EQnWsB#Q=SJe;OkGdeh!A-_YEw}6vkO^wix+i*v=PGfp;+^n z-+e!qwz4t@Iy=YlsSuw+QAr6<=pI2S^b!Jq4cv)vIY5~EdU^na>+J0oHy*7>R>mM$tvR;=dTR;a51)#8ATa!{761W zQLScC)*K`vXU@~=i`DUjpFtcdigQ%^58Zo8=k*o7m--WYX=>`8W&>xk+onWc6lAhp z;9f%x8o+g0q7pu*nVvGVDsgA2w~C5M!A#YYdwtNp4tjCd5?nvN2&_D>9!E3ab_((o zjs3}w2Fy`jP~F@^q*1n-PD6ZATo#{vgCQSu0o8Nn$XB5pW(Iz7FHGOl| zi3znzIg?^yQkMd9EpF&#{Dp$SY0OIbas3EvKk78+GgJH;ce<0cgoB+ay;AoQk?Y8v z41*Zil9-dPDlAIuCVw`VCb;P*t32uN@&?I?UI23X)1b~H%qZTTBJjgL&K&x{wYf+T z06VAF4D3vkmGU{Vii-H7<#V;lY?9-tC@7LGh><{&+zFQ1VS0a+?;M?76Gq^0ihjqFD=nF9bDP_|Rsk|FIgSv-!GdS~~Od z$FH8T`0D@$kgx2BUd;gg`5!;L9_dw^cMlKO04e<{iT$tVyY$gC0}mi#{ZdjEq3{%+7b13sJKf6Yp7TJ1W^NV9KVp!GU`52%XW_t?HM)`?cZ8{JFyS zoLOJxy|a9#x_yUQ?9&XC-kmAxKi{|#AJ2^O1;Z3mX%IfVXo8?BeJA}NZSGZxEcRv5 zt_Z)8b(5BVcZLI-)Pr0U=YIXMZybP4^*qYOk%N@<#6!n}Tc#1j9GIK>y1=-+P@o21 zg`U2(u%Cm446a1oDEIwP5Sr{#&hUM7Ec8lHP*7`Dd@rpz9spat3;l}_Fyq!hj(rZe zO8{@6P3m>Ksz8ZZgT_bq&3;oM+mU^Sx)p{#>+@zZ4D|GxF%%SYB)q@VQ&KLUJ;9lr z@(Y+{eIQH{*x*sy<}p%gpWI+|7U>Z4&s))vMl6_k@6U#RN=i$;!e*9bQi^g$J?M)G zX?@alg-tl?ardD{UU;w0M?E2M?$O_oLDXA~`y+16aA*Imk%^@#q)#BRF=r8*)SK6* z+gqGptK<^RBm=~x1aEwg%MYKoU~0+9fpZQRUsX}j8lam8n`L#wot-OyT)KwbXHX+- zizv(eoZa6|YxUmtp&mf#!OT+cq7gj6X}98>OJNSwP!;VweGVDqzx< zZv>d}G>)h;f7dW&JlX$_pMhh1zvGo8fCmTsJpnf@#l9+c&}9u|uX|S-`gP4r6b*dr z52bt8GBpSECrc?Y>v3|u_Ti@}%sOa`4-&Yg_0>Gt^BL{w&fnqw|IOqJ&Vvr#AJAd& zKLDAddVh-1{Yjzv@#S-M!s@rR%x3dD)*IAxeZG!${aT-ws2a9`Eb*b1Nyy|SkIkZo z%?@j+5AxleelKi3e2C>z4>MQe#O8C<&si5`XXeskjUy($r=e-8;W3@8_pg|I6B2os z9!{tv$0-M?qJ>x*;(a0}Q}IgJwM4hcBb|K@_3z3;OP&?b#EHdyTUV9;dwZ*Y$fFBq zN|;~4@^3YN;6+`zJ!c*y?)KpI+%k3-@QwC=p_Mx98bffo2EMEUoh|wIYz$v+ynHY{ z!h>e{p1C!ip_VUVIPr}Z@F`76lY5c%h}v~0aj0aOXK30RQ=cKWNGqZ<)bzZ}?-==2 zjF7IeF4{7252|ehBg( zyxw*(yF~YYYzm%mtsRYm9tymmqZ?|ZS-VdU91RwGFtM%l{=5%*V^lx&mk(QU2}=Mi z_g^UKmixWv4=gUK%LSxlnmguUxXl9I&O&*_t|Hu`uj!Ux4Tb#oOC=FBkYkBUZWp+T&AKrl36qQ~+WJ+4bRJ@gPH4-N6EY48xxb z`q$#_GJEzgjdabD|7u4xt&F<7-AMKqoC!RlhpsG zkE1GjcstuU>Eh4t?rn>f#7l24ddKW#hs^OrL5s*#B6=99Ws@=Lnv+GXZ@@qw+XX(8 z>d6umV(pDV(=%$bVQs3ty(F3Qtho_8H)|C~g~YGynNuLImYnn0CEsuRE7f5gJ_;=A zFKnkpfLVc16PcEvF?TNnO%TZ`+_HPdXbXMCmm#`WvN$FE#~w;hK-O~j*W}l;aj9{o z;Df$~_T5+QbJiJZTC{X8;j&+@%(ZZKEg}0!hUQ4ao8%A5!Ccv&`WOP671*AGgDio4E0n#-WIBC=WfpA>{H; zp5(p4DC0#&DE}Ud_vn%fzP*2vK1XO^e?48V_UQ21 z1dZh5JS@?r1tOzgp1*k_LKotGZ{3aa? zXj(4q?N0W9cW=nhk*T?Icq6I{?jFg!zb*TqMz`bPwG#bDT7!b(8y^8aq+7A67f?U| z7b+?>Y)vybzveNu>k~oC<`~BY<8KgiJq4=1)3!gRJv@b6B!bcb0aQKl8sAjXXmZs;i^8Ci8f`5d;{}OF*hR+p4I2gSxlA1S zSfJhm{cQrRv$2*B>kE<}wQ&jS{FPV9=z+Q6JHQ(2yDsF24!-QmE-zt;J*n@uoR^r)cYkswW*RT4pGSp9GlNZL$Es17R_;_p4AY?f~K03Xnt0EmZm{) zvE-+M9BFb72MxdP@)7!ciX!?*n8 zpZ7m7k4i1>$MwIUqO3znJR}dNeV*I+Q~gfe+Nd1eI*8O;bg0@@RW9etp;Qw7IQqu}$mv@#B7eeq@+%bfx!$Jemdp)l%J&7c|^h>qQ)Y zs;cTIs&m`Z6BlyXc7NWqE<5vj_zO){RRg2H2ZcPXCRwHZnb#C{Blf?63OSjZx#qol zz8+z(U+?)*pE{)yUY3(1!G&%4i-Oo8Kql`F8-hlE9AGf;9aQM)EndE)`1+MN)k@*l z_ZtFnQGLbeagtyW^w4reinc5$Qq}g>trQ%Y($4d3P){)G)UdUUFMZ%|CjFXAK#6ed zGJu_Ir<uFQct&gZDO06 zwwsz;#czMbAQk$%Wd3hZcrkmb-eaqj{rcv6s z`z5ns$&Vjvi+vw22-|(}oO|r7IgPI7^*wLNWCP~Ch=|CwYw1+AY~CZXQwoTu(KlZ* z;+GhH{vvF2U?Zo_1p&vcLkehW?}%rKxFDXOn|HL4N2M5N#>#E$ToFe=aCv@{1rsN| zZC)a(;Xdg&fIFqAp*Fdc=X4~dkrIO5sWMuL>F)pIKo%q`98dZ3*0Tl81Lm?(rlwYf zt<|r8`7~2H$?5pM@8#+)#tR&mAV82~x1wTS6EdQWrq7}xBb{N@EA%|y$Hxzs+8WZb zTAsFT6Jh;a<&%>{AQL75mJ0htN-`}t|){ED^tQpwx}bA7^bCfS4pNNu~7 zU@(JFZh84OoZOZ%=vKQx`6{@qJj56-8(c3q<4!xCqN)y8+Z}As!O~VwC8ihRp6)K5 zo~dwPRrq)GFyAv&>S(1&lX+tkduBdfXQw)e`8j#5rNvqGF(a%P>*y60lLQ%(;4}Y~ zAn5$?x%-Z)8dE@kT%3Tp&Ev-(sV`l>UXYoo#6)^d8n#R!#)y}mxo0kjMJ2R3{8L{n ztTasGL46fXA2Z2IzU}RNGF}F3u_C-nLw`% z7K?pw|Ncx{>lMUkNeeCSK32p6AQLpJ&v({?weem!qwqyU`p#Iyp>W8@SOfD2f zOB%H**Fml9F7*HBsO5E%LQ^`Q`3-usZq_0S3`Ygy>b*4hz|BE0DoSl~q!?ej6UpZ0 z748#ax-J!QaN!iwWl~NhCkF`*!UTXst3Ca~=8S5qT+kBZFSBC zIb6AZ{T8tujP1akmNk58KC|au(`>;R)&2Izr+@&$tdc)4AEPWuKc4z&*Odq6=I?qn zllvH)L{mDq$G)O3=ltNU59Dalnr$(odM0jQ&;_+h81<^0t${ZXgGiy4FR`&eL^Wec(K3RhcYvS2%uiyxx{U%IoiY zj8{Yi*Q=BU0F~ku-Nc_YQKL~0ws$D(E8<#O%}}UCwA;R}@4Vz|W>ebCskW0zEuFH` zZMGj1Ti0J;Sg_31wzhpMJU|3C5!Zf)6qCohd00k*c;~UPvfg|6FzTp_4D-~`u&A)` z(&fv0TNy)6)QMzeW@%!ydiO?b&y-3u(VgPGGjccbeg5k5_~`XVF?*ZTvtpe7i7FXj!Q%z+JKlW;7^xch!Ts&*j+53_zSJKt4M%Ol+ zga=O0PwZst9xCQ6Uw10fTt4knXy{hBZDwEWQ^To<@cDdAY`UTXH(S2}-_?jH+9x@< z!s+bVT4@tgY0{d*Mk%?h5@|G@-$DS+W#B#+*yH-nr$xO@xyPknL&90Ykmxk)@=+;Z zor3rn&g4su|2Fx}x<@VX4h{|gkhMt)f0_v@waj1=k=cECv@UOE*42^x^~^O{h&wVf zR)B+{m@aWqzZ`D2aLnBx3pzo0EsYt+3T+vGA~ON-qg+uFvgm6QW{Jw)nPPSIDt}6f zTCanE?wKAl0qJr^%DvvKs8Xw)YfBU2w;m!0vKuS35^cvWGZ#Xg^U_+{g^rGn@0JRs zbWH0r=)GW~oWqTIijyZ+<_bpGH&{dR^8?D+pI)QomltY>nBe3e2{P1a z7a}6=&d#yRNRzK>3gCyA*bZtI7uB7iG$*7krbIe|$%*TsN&|BoIBBqTAYA>*&yOu? zaqBY9q#wdb2&+IDFWLH`H`n$m_Go*#9=*muZ;_dWjZSrRLEljgp<1nwnxh@A~}Sz3 z`yP5^z@h@7jvj4+eBv;-_M_gpXhoiCG>~iFyrN2 zTX#29?xM%|Hm~d7@yll8C&N%OJ~1tcd>CJ;Mru$J87r@nuBc3?8x-z2eFcY_p1)Cuva1S*XB}x94?GXDuILffpf4x1uk80Ve|c*xvCyRHdKD5 z^=iAVXuNY+v#K7t(h?ECZz>4~qJ*;6mPCSpMgGG@8368zhu%%5 zVut(uTssAdv>IxgFZQCER3c?3Ub@$0)Yg6jM_~N45V3BH%ORnvy>vG;^cT(9YL3fA ztEDc0u$3UI(B9xa+mgXEU-k?sM`C#= zg6R0YlDmg>br(Yw5N)o$3ob;DRV(y7SoZhP{lfy;-)u)epp^&0p~S>GERN^ACIdsB zc7<|6w1~pOV6$HKe)+IWj3;$sL_`E`YAR98CAYfTqv!LZ6xpB{F&7(0$Ku9f$k&09 z!6@Zb4Xum+8KL3zbMgAD zshZ^{xOGcN#Em8FkrWdpqr@y3%r?qG|SLVPW%7G_`Ow2?CPh zzHkvux1ASo2-Ph8n!_I}7YYn)sK4Et^b9eVdAg=o*iC*u_+tk#h zImbuzL9z+`Z{I{;(=x(4kx5#(>ox*&XQf$RXv+VrhIkO;+pBqsj!sWi_47LGdvx>x zn}j9sb)jWSEoU(8mGg5#yNu)B&ZqFE%{q!rj=1N6u^AMb;PSw$1*5Q3mp`##Oe?52!pNO=vu#TA)KEsovgiIxXIZEN+52{cGQdh`eu1roCFrpQ1q z|JF8gvprNHO<7sl=w*|$?ffhu?tNNa9jc_Hbo=&g)6rWAi&j=v*}1uk8GOYDdwQX0 z-`3&55{ga)4J(@d?akWz_RVWxV3wZm_Jo~qW+uI#okmVX-QI9D@MXzXy!WD9I?jBF z0{0XzO{%eb&6kyf13K}@$jIbaSpbuHM@dD+&BkVKZB0Q+y6gqFwCpw1NXpC0hlYkA z_j5`oS8!&EqF^25Y!-@^KS_ha4bp!h-ln0XWH}S&=L}qYFu^i0fG`c46JG4Y7snx_n3=RTTeJs|A~-l0q&Qud z>h{wl2t4{>oW=JbY6Vi5-%W=39?qsBo)+CY2~<{QF=r0o66~2H$dIVfX-5DXfGzE` zCMW<&#Sy@Y6$+nAn|Pz;3%@=1m2&RvSul?}ZY61HPrNQZEAaQ%>~|jf+k7D?h!#Q< zUus}NpFjPSlu{6UWN+_X0KTNl;}oCE$m9%M*^eBji)mw-rS zm6mQo=Q=aY-~*~5?w*bgByrzgpJL+2HEqoGiQNFBp{1a$t*xl|Zpd+7@%5yxze(93 zF4CZiKf=8jwDM12pvQ_U*x6m)(n_4$*UYN=qA!HQ&>zMD(Uyf3S{f4*^YK0POAhw1 zw!|a%@2>}OjKSB7+GI_X;c(m7*uYP)tXte~j@hwamORFTIF^#<#O{Pg{oPg0>UG!i z{{?cZc{(RgoS3zm{^gf|)Xu=n8yEvV1m6$>QOLsoCV@AqE53gf{^d-vpQA< zQp_{nac5$c%??MGjalOg2RKEUoo3<8-+%mY&LpYa!?ePI-{1GJMI8{OTOP#v`pbp* zU}<2%Ir^dBt5+^l@6)1+H5U|uMI6^)NEX)?(Xz50lYyDFwN9nu41PQrjQK1*xCN~! zRhJiq;@zb1tNi|}{(ECH7&dUXr6X6n0#qFR^7HeZqf}ci-Ocs6bm>x>eDo@O--`A} z9|d+seS8RUSFc_?BmF@>jj~kS_?EVcO4vZyYr$6nBtyM4hzH#Yo%f5|IVgF~o&-Uq z%)$p5p(SmGBnbl1F*{)zZe5S<-9;`^bM2 zNS4^=dG1TF3`6Ru6J(vEqk8>s7UttE!K9j-o3BpXDzd*`RD|!hgVr=$O9WFM(A(@m zs_q{Q3jM%7)PJCkJ>3I_xN?4fXAMvbxKRKJSP4oUZci*ITH4r*z_>V|=381?0?S1V z_=-RPDaUrZLp`_Y=g;|mJ^?pe7E0c>?(X@}39~d1=KJauXkT|8yk~(>Xq^cR!LiV< z`od5P@&#!1XY?8@Zw)l{930#}s<$aaj}EqAzMMd`d_1QR!?XlJk1*pq09~M=U3|6a zGIZ)&U;F<3J1Hh0FmRXz-#;lQ2l9=$X3C{>0;J;xaNG|6pn=@s5A#4+#Kzio6M(S3( z7Bo_sPyYS8-lIiuULKNua;u%49RRNeL8|gd&Aei?f(DG*sZ-<1IP0pX)Eh+8Um#>y zU0a)i$K0LED--+rzoU3S`YvM}s`ab_3bhnEj`x3+EaKuGFiNJNpa6z;#R^(0$Cg6N zHVh7o(nkr;p{G@{c4Kc%Uu30A^%Ys#qaaz#_Lu>D8IkOnhJ#a(yvS%S`|DNj^c`4OCR(V}3=2 z$8LZd0J(P@4$qZ7#q7~V{77wk(=CX z|Mjhl7ZO2U0NRD&1c9LOF+#%X#9vW=HQM$TtGGEib6yU1WUE=i^&GZYN?LiOr1V}5 z&5AHKt8qW3sjE8z#3~5&!{g$HTI_+)S zX?eNp@&-|P2E^Ii+-~>fB^UMK;P~3-ZxT&Yz?>Hn{7oq`QZ2FCUr>CfUFTJ!(!J}~rTpb- z0o*hW?ecuA=g$(&oa~Z3h-tiDPl9h#j6pnJp`)$o$QSQR*bWG2fi_?5kcBnM>4&hF zOS}A{?|TV?YCT%;97d+54?pl2fE@$5Plt){d2+;?pmp4i6ys09Fv-hBWjL^~si-h_ z7s?e-!ub4o8U`jEj=iK3Eorj9hV3wV%@WJzG_C+n1T+W!IvYZI?&T%<0A)cW{bu=* zmnuTo4#2!})ELg5b?ja{$z&6f09X#W5){i86MuaF?kFhYAR52$u6)#S@}T(e(o#rM zOG`^zTY{jqrVAIXO4VwKA=4`XHlbr_I9pUioN;qZPDxJ~}$B7S!h6BA=& z#SFgrQeMh|R041vcqJtzK_FAon-BvLFhL)B=8H*DYogQY*iGL){dHTTivQy~SoR;oGeg71mC*Seva9881a7vpo;u zOHYwz{&EvsY7+OlZA4h%rEpV`;R(**1OzNuyu0a^Ow6&5LqCUM=i1OX5q{f|YUt-D z!_YG@;CCI~dwY8uLiw$&Za7tem22EO^73z~KbDvO_RI%6_UY3V0fEOeBnvo!#7nj^ zSg^Gjd;8eJCm}65uKNIo6JWj~ zbO9I2hOdZu{)CQMh+3d7-3n(4+yu+DYcA=Zb8=vp65QFjYj!4MH#RnyUc#s?=&@&d zITTDlE=eDS?Hz4L^xxx4cyK_)GvlC2i5GO><_%Kj!@FHL>B*LQ?3F!d^q~MJSvU-$ z4`?EnR_T1mT_(4KjlSW=u+UI05Gz~#d%vF+u7XwzFeTqHid^z7cbrkSw_o|dYiP83 z?)>?3uLF1Em}-q1FmoADAPBDE^o@ddadq7WHH_i*>+T{ssFU5}qR*dM!9-aan=MKZ z_)-@hZQqRg@WB;S9D=_>^zMOzsNmvdCb7nbh6cgdpgmsi7w_QS)L==n;{Nh+!F$8x zVBLgrMmq@tn^~wRNxudw?fMqDssAgoE|5w%iFhA6g3AH=#O_3SS6VpmFc{;XE zv@H9-!sH2uPu8(KkSrdDPuGnky?XU3MEBtl5xu>=(ef-MRX?lIxXGgMlSZ604-^zy zVYo=|FKMXnL1GC%!7>hutj_F->Q?QJwefm0;m^LyjzdIPBV-`YGmlkX^A>`}P3osG zdXQc(Fp_Zbl>ju!k-+g>T<(uIM22twdn?xn zH0-WQTU=ZmP?|HhD9v}98ca{5clR&8-t(aXev$?s#8u6agnFJE5f1mB@u*I_{G4&L z8L6)L`0>)ki~68E0Mo1?y?nn%q&Ff${Lj0%_j!MIP;Tjf$xYOkVEQk0qVW4-%^WlC zT9|iwdf~v00P((+p|bH5j4BE)RY*wPoNa7E=l1isVH*@i0OA_a{Rw70H(W$^HV3ZB zXL$#{vW_hN=5KpNgbk@&@OUNAEC2r)69&H`M3CA=H7&jhsMA%z$e=}-Ippo_4O#Qi z;Z_|w74M>~q5{$=YtVrESg(zaTC5SN^ak*7>0?W?P{aQ_WFr}B_yIOsA~h-L%Rx6F zD*YTz(3;#bHr<&5DnPlt7NhQSIWP(BF5CSu4|MAMP1Aoz=CQ~QOVpANT=EGuF+V6e zkJ)s7yt9~SGg!(gDOo!lO%sR%u`N-@>Gyo!+IV@M{P$mF0~0l{q0p!~^#3m6fuM#X zDg}A<&AR?#^RT^i;B-d~$oC5+m6WK`8BCo&pN+5a80a_UushOiz)Q|2%Yj~Eb z2ZJ9APa(#UrH2s@He*gXrn*hCg z2$FR7)2C1C2SV0Wm#kehs~)t1F@4UjK)M1HJq1!;iyl^E7O}=J`lZ2yt*j zAT0_l3TR6@%pe)aH;{Ss=s$s(Q=Y>KQc}oyZqNt8=W=s#mG)bKg;oHALxZZ zEa@mtG5q*nt;m!w`bii5+$0U3Gaoe9<+{wX`U1t)*v z_k64FsHX549<~5d2a2a`;-`zpC!W8Vm$FNK^Wh09szizB&VYu%ZB^bHDQ#hc>G6;v zd;pp{E@H|T1F2445Z_oj6P4Fdq^|NQsa%dJe8Rk7y69LO2 zvH9B&atU!b30+>(>oeVKY;4fd3e)DI7z_HXRMO-tW+3QBl5`ew?_K4NifJkC(?bs$ zX!Z7i*BDS-BN!zBuUL*1N$BK@8|6b|I6SJaz@Ff>08(SjS zbJXS_zaG>HVfkmw?BJ0;P=kTQyKri0`Dnfd!yzj{7=v^K%As%Gycv18b_#|33=$B? z-q^XhnQvI&p>qfXKo@Y>IW4M{dKzpN(($~q^b!Rb+5LO>sHI^zyo8WW2!6r-^X`yj z;Gr8?*SFY^xxPFXix}?TK*k9;$L>q5nIkAFx(jpE>L{5dt4-S*p6I~H z0Q}Aobb^aKILkDcNn*F(G;w&{U$X?T7=5LuTDer@wddHpb?<;}$rE9u#C(S#uHrw8 zXMl3N)FZ&W0vAULHm8MY0z5(_1nZFGfCFke#3`rSd`>k5V^emq6u0{$NjrpaS^{G0 z%8&mw6E(V{87{yrTtMHI>q(76baw-iNvMxi1z%xd;R56fQZjV6J28A4K*#^TU_sS^ zmm9)h@2>&YBHRU+j(3>C4R>t#KZClgUW+@=OBNyD`DXpB9cwN**Cw`fR$4$%@cQNW z8Z}uMh@?hK6=@D5VyZfnQaz zwqAhZAe7_mwuTLDKBLDGM2G)%84iZm=)rZ?)U*K2N0T*J+Y#qB=zP%7(_7;G+-sqp zr@O#A-FfA!5nqPqsFneI775-cTACEO4VBwNjDQamA??BahgWhJaxByIog}Dx0pRnj zFHf)i=TGvJCslq_B-0>>4 z)}cw8IV1-GXK%LSk^3;%qGx}bPGNkt|A2@21A}8}rHP1%bM@+Uqa#B?3<{n^a%hCc z#E81DPlN4(`412U^~^Xz6ntG`fEExDA3(0c~JWTspf8 zWuuY+@+@#=mgB#rtF4_a7LXypH^c-5OLKGECa$Etg5!o4T)t2j+jRv-ZZ3*C{A~g( z4h38$OFfTC!o6qjoH;~WFmZU{uvAy^7_Z#vvsI1TtbcAw2v zgyPE>xNS7)T55Xw^XP~FX8@E2;q9M4e@Z0=)>c=Ymqr$*rmm&a1^octpx1oo$XALI zJ~1(vq5w8HVp47K-(r;;YUPqt2;H~S!y6!-T8|xI;4h@v!m-AOQ*p%l)OfHdF+BgL znSgUgijJ)QHxksnILkAqe*B(-f&{?KAinXD=AwfPC&>LYmd0(xDNaqc#B;7K+=v=>JWNLwp-ZqjEs$;;YuNT zY(n8QLhh)2i{gumQ|4WOT40>jlk~KWaJ<(ZtTj zYxh^NpdZXHCRR1fU{Mnd(qEsz|3KF|AVQ@z(%5l36q+mQKsEwOZp#_-*~j9CBUOmS zMk43*V}c<_>IVWLpu=tOouQ6_*C7EhM97E1r|LzBNRC_~_;T~^1|7nD!`r02mrj%U@*^>LElr7yw0+mHh$N3a;=$^R+}@Utd;kYiJXM&9g`C?dx`X^LAIr zYNiS}rw&7*AzV+LJn2V>kacJW?^f2RY%o)e$Bsje+8#8w)WAe%x%)AHi~g+$m{gC> zFSDJCp7lgO z1Ecg%FA;Y32bB1slWUW$^{=RwlHOwb$Xl!{-o;*Ve9`dKZ7!z_WLQ4E9TJ7lTt5le zpJx!$f)9hmFy0fvKN^H-Pnw!BjT(JWMF(HY3aO&T;xVM-1rXWONh7#KHb2so$b zwPS2xfNxX7GgMn{W%X8q9l_j|l_gGBBS1z-$;dQdni|-Bpex|7jm_{bK9{_5h4rYM zT&=c_voF4OYGHS9^pM5ZE>DYD03KzV1^*~0Jj*hV)$e?~vNT9axh|CSoj!90r|b$A z5h@zdpmFw=j(>NLfB-or3)LezIXN4fMM!$<4tM9q#>QamZ%!TaiD4L(C?VJd6H*{H zKZp4)LnZNvysL`wX5N2sJL*5O!JDu`kWb!T@Chv}EQF4Ybrf1Ntiu#N?N8xWv~AQBYBMY4Fv7@DL@c9LdT5l zV68hiGN?s>BS9Aj%eX?fc1CNWzWSvwen!#-$;SC)ixm5rvJmQ|2|(c2V!-6 zBwA|K9~vJ1_b{}6d>bn5UNCY9uE#z)t6n#ocWvGto^tna^YU4T8dfPLqoXQ9WcTz6 zorfMsjKL-Y3qaR%Lv^cd0f7z&<6lMdC+E20@ZI#(v|gYko<)+h{8MX?j=JAb!K)Ac#a>c0uHU$C|(^r=_NnVI+_C*C0)UQyhMk8c!_uzJ(eC%8Zw;0W$0s z9P*PGfN}L)$B$#agQabJOV>U6kmPgdTmx_!Ds;6Ap58Gs`U~ZYa3(GMCj@J+HMLEw zvXaF&5{yFPPJSJO!4x*T$jbWnT6jXfTnBy};(46p@h>DAIco40Wj68J+}9iFbkPGR zoG^L}0n%Mcwws{U?~B-F{KJh>9Z$Ldlr7?90A|5afV}h0TwWbCbK;|ifz5hik5}^y zVi2!F_P4bHE}2Sl`yvK2?ozj>gGw+!25OtKCOozWH-|VGHW}>4B)kEQbhc(mz&v?v z_Df4iUFc5-JIshmdI)oK=jkPY1VB<5P-w7D;NP|(|Lz$LK9=P9-So@Fvj8d?HJ`@Z z25<$UI#h}>Nlv7+fAI!0bcNv23F<#3eY#cPBu1r};M4Oyt_kxfZEtNIL#EHcUy&w_ zSL_?5B6NgvLJQP*9*m^qAq3l=o8kzHAfC-NYp!t2z}Ub6Isk*TvGt5#`8K#U{L3?_ zZQ=_e?E%gc-a8Th-uV#Z;(zN%4>yd3Vt_jF5~x6c@%#gOb_5gix`Nw@lQ_Y?;$ORz z@r^GCUTu@(fAN--hFf{@;~ES8H^h_H7vBBmr~gTd|NWVF@SkOtvhjC>FNn&hg9-Tv bXb#ZDyfber%;^8(|HAz{innv6^?m*y)@S3Z delta 152609 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
?O^=UZJu9j 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%0A+U7w`UlRz{EaK2<)DQ~8A#U?O&*RqLAx!% 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

qUp6Fr_8P}pKMBHn*l*|yXG*caBgVxio$ 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:cCGt}2dFG|om{ALy9h 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 - -%% Control parameters - -projectFolder = fileparts(fileparts(mfilename('fullpath'))); -loadFolder=fullfile(projectFolder,'data','BodyParts3D','post'); -saveFolder=loadFolder; -saveNameGeom='BodyParts3D_right_leg_transtibial_amp'; - -fileNames={'right_femur','right_tibia','right_fibula','right_patella','right_leg_skin'}; - -saveOn=0; - -amputationDistanceTibia=180; -amputationDistanceFibula=amputationDistanceTibia-30; -amputationDistanceSkin=amputationDistanceTibia-25; -distalExcess=25; -boneRoundFactor=1; -radiusEnd=distalExcess+(amputationDistanceTibia-amputationDistanceSkin); -taperHeigth=100; -taperThreshold=15; %Regions more distance than threshold are tappered -taperFraction=0.3; -amputationDistances=[amputationDistanceTibia amputationDistanceFibula amputationDistanceSkin]; -tibiaDistalCutRadialFactor=0.5; -numBezierPoints=50; -nCut=vecnormalize([0 0 1]); %Normal direction to plane -topCropOffset=10; - -%% Loading surfaces into cell array - -%Allocate cell arrays -FT=cell(1,numel(fileNames)); -VT=cell(1,numel(fileNames)); -CT=cell(1,numel(fileNames)); - -%Loop over all surfaces -for q=1:1:numel(fileNames) - - %Import mesh - fileName=fileNames{q}; - fileName_mat=fullfile(loadFolder,[fileName,'.mat']); - model=load(fileName_mat); - F=model.faces; %Faces - V=model.vertices; %Vertices - C=q*ones(size(F,1),1); %Color label - - %Store mesh data in cell array - FT{q}=F; - VT{q}=V; - CT{q}=C; -end - -%% Compute landmarks - -P_patella_centroid=triSurfCentroid(FT{4},VT{4}); %Centroid of the patella - -%% -% Visualize surface and landmarks - -cFigure; hold on; -gpatch(FT,VT,CT,'none',0.5); -plotV(P_patella_centroid,'k.','MarkerSize',35); -axisGeom; camlight headlight; -colormap gjet; icolorbar; -gdrawnow; - -%% Cut surfaces - -%Allocate cell arrays -FT_amp=FT; -VT_amp=VT; -CT_amp=CT; -c=[2 3 5]; %Indices (=labels) for surfaces to cut -for q=1:numel(c) - cutLevelNow=P_patella_centroid(:,3)-amputationDistances(q); - - %Get surface - F=FT_amp{c(q)}; - V=VT_amp{c(q)}; - - %Use triSurfSlice to process cut - snapTolerance=mean(patchEdgeLengths(F,V))/100; - P=[0 0 cutLevelNow]; %Point on plane - [Fc,Vc,~,logicSide]=triSurfSlice(F,V,[],P,nCut,snapTolerance); - [Fc,Vc]=patchCleanUnused(Fc(~logicSide,:),Vc); %Clean-up mesh - Cc=c(q)*ones(size(Fc,1),1); %Adjusted color data (shorter list after cut) - - %Store processed mesh data in cell arrays - FT_amp{c(q)}=Fc; - VT_amp{c(q)}=Vc; - CT_amp{c(q)}=Cc; -end - -%% -% Visualization - -cFigure; hold on; -title('Cut features'); -% gpatch(FT,VT,'w','none',0.1); -gpatch(FT_amp,VT_amp,CT_amp,'none',0.5); -axisGeom; camlight headlight; -colormap gjet; icolorbar; -gdrawnow; - -%% Set up skin taper parameterisation - -%Get tibia end curve -Ft=FT_amp{2}; -Vt=VT_amp{2}; -Ebt=patchBoundary(Ft,Vt); -indBt=edgeListToCurve(Ebt); -indBt=indBt(1:end-1); -P_tibia_end_centroid=mean(Vt(indBt,:),1); - -Fs=FT_amp{5}; -Vs=VT_amp{5}; -D=Vs(:,3)-(min(Vs(:,3))+taperHeigth); -D(D>0)=0; -D=abs(D); -D=D./max(D); -D=D.^2; - -[Dp,indMin]=minDist(Vs(:,[1 2]),Vt(indBt,:)); -Dp(Dp<=taperThreshold)=taperThreshold; -Dp=Dp-min(Dp); -Dp=Dp./max(Dp); - -R=Vt(indBt(indMin),[1 2])-Vs(:,[1 2]); -R=R.*D.*taperFraction.*Dp; - -%% Process skin taper - -Vs1=Vs; %Initialize as original -Vs(:,[1 2])=Vs(:,[1 2])+R; %Push to produce taper - -%Overide skin surface with tapered surface -FT_amp{5}=Fs; -VT_amp{5}=Vs; - -%% -% Visualisation - -% MR=sqrt(sum(R.^2,2)); - -cFigure; hold on; -title('taper morphing'); -gpatch(FT_amp,VT_amp,'w','none',0.5); -% gpatch(Fs,Vs,'w','none',0.5); -quiverVec(Vs1,R); -colormap gjet; colorbar; -axisGeom; camlight headlight; -gdrawnow; - -%% Process skin distal end closure - -P_end=P_tibia_end_centroid-[0 0 distalExcess]; -Ebs=patchBoundary(Fs,Vs); - -[Fsb,Vsb,indBs,Nd,P1,P2,P3,XB,YB,ZB]=smoothBezierClose(Fs,Vs,Ebs,P_end,numBezierPoints); - -%% -% Visualization - -cFigure; hold on; -title('Distal end closure'); -gpatch(FT_amp,VT_amp,'w','none',1); -gpatch(Fs,Vs,'w','none',0.25); -hp=gpatch(Fsb,Vsb,Vsb(:,3),'none',1); hp.FaceColor='interp'; -% gpatch(Ebs,Vs,'none','b',1,3); - -quiverVec(Vs(indBs,:),Nd(indBs,:),radiusEnd/4,'k'); - -plotV(P1,'r.-','MarkerSize',15,'LineWidth',2); -plotV(P2,'g.-','MarkerSize',15,'LineWidth',2); -plotV(P3,'b.-','MarkerSize',15,'LineWidth',2); -for q=1:size(XB,2) - plotV([XB(:,q) YB(:,q) ZB(:,q)],'k.-','LineWidth',0.5,'MarkerSize',5); -end - -plotV(P_end,'k.','MarkerSize',25); - -axisGeom; camlight headlight; -gdrawnow; - -%% -% % Visualization -% -% cFigure; hold on; -% title('Distal end closure'); -% -% hp=gpatch(Fsb,Vsb,Vsb(:,3),'k',1); hp.FaceColor='interp'; -% % gpatch(Ebs,Vs,'none','b',1,3); -% -% axisGeom; camlight headlight; -% gdrawnow; -% -% dfasfa - -%% Merge skin components and remesh - -pointSpacing=mean(patchEdgeLengths(Fs,Vs)); -[Fs,Vs]=joinElementSets({Fs,Fsb},{Vs,Vsb}); -[Fs,Vs]=mergeVertices(Fs,Vs); - -optionStructRemesh.pointSpacing=pointSpacing; %Set desired point spacing -optionStructRemesh.disp_on=0; % Turn off command window text display -[Fs,Vs]=ggremesh(Fs,Vs,optionStructRemesh); - -%% - -FT_amp{5}=Fs; -VT_amp{5}=Vs; -CT_amp{5}=5*ones(size(Fs,1),1); - -%% - -% [FT,VT,CT]=joinElementSets(FT,VT); -% [FT_amp,VT_amp,CT_amp]=joinElementSets(FT_amp,VT_amp); - -%% - -cFigure; -subplot(1,2,1); hold on; -% gpatch(FT,VT,'w','none',0.25); -gpatch(FT_amp,VT_amp,CT_amp,'none',0.5); -axisGeom; camlight headlight; -colormap gjet; icolorbar; - -subplot(1,2,2); hold on; -gpatch(FT_amp,VT_amp,'w','k',1); -axisGeom; camlight headlight; -gdrawnow; - -%% - -Ft=FT_amp{2}; -Vt=VT_amp{2}; - -Ebs=patchBoundary(Ft,Vt); -indBs=edgeListToCurve(Ebs); -indBs=indBs(1:end-1); - -P_mid=mean(Vt(indBs,:),1); - -radiusEnd=boneRoundFactor*mean(minDist(Vt(indBs,:),P_mid))/2; -P_end=P_mid-[0 0 radiusEnd]; - -[Fsb,Vsb,indBs,Nd,P1,P2,P3,XB,YB,ZB]=smoothBezierClose(Ft,Vt,Ebs,P_end,numBezierPoints); - -%% -% Visualization -cFigure; hold on; -gpatch(Ft,Vt,'w','none',0.25); -gpatch(Ebs,Vt,'none','b',1,3); -hp=gpatch(Fsb,Vsb,'w','k',1,1); -% hp.FaceColor='interp'; -plotV(P_tibia_end_centroid,'k.','MarkerSize',35); - -quiverVec(Vt(indBs,:),Nd(indBs,:),radiusEnd/4,'k'); - -plotV(P1,'r.-','MarkerSize',15,'LineWidth',2); -plotV(P2,'g.-','MarkerSize',15,'LineWidth',2); -plotV(P3,'b.-','MarkerSize',15,'LineWidth',2); -for q=1:size(XB,2) - plotV([XB(:,q) YB(:,q) ZB(:,q)],'k.-','LineWidth',0.5,'MarkerSize',5); -end - -axisGeom; camlight headlight; -gdrawnow; - -%% Merge bone components and remesh - -pointSpacing=mean(patchEdgeLengths(Ft,Vt)); -[Ft,Vt]=joinElementSets({Ft,Fsb},{Vt,Vsb}); -[Ft,Vt]=mergeVertices(Ft,Vt); - -optionStructRemesh.pointSpacing=pointSpacing; %Set desired point spacing -optionStructRemesh.disp_on=0; % Turn off command window text display -[Ft,Vt]=ggremesh(Ft,Vt,optionStructRemesh); - -%% - -FT_amp{2}=Ft; -VT_amp{2}=Vt; -CT_amp{2}=2*ones(size(Ft,1),1); - -%% - -cFigure; -subplot(1,2,1); hold on; -% gpatch(FT,VT,'w','none',0.25); -gpatch(FT_amp,VT_amp,CT_amp,'none',0.5); -axisGeom; camlight headlight; -colormap gjet; icolorbar; - -subplot(1,2,2); hold on; -gpatch(FT_amp,VT_amp,'w','none',0.5); -gpatch(Ft,Vt,'w','k',1); -axisGeom; camlight headlight; -gdrawnow; - -%% FIBULA - -Ft=FT_amp{3}; -Vt=VT_amp{3}; - -Ebs=patchBoundary(Ft,Vt); -indBs=edgeListToCurve(Ebs); -indBs=indBs(1:end-1); - -P_mid=mean(Vt(indBs,:),1); - -radiusEnd=boneRoundFactor*mean(minDist(Vt(indBs,:),P_mid))/2; -P_end=P_mid-[0 0 radiusEnd]; - -[Fsb,Vsb,indBs,Nd,P1,P2,P3,XB,YB,ZB]=smoothBezierClose(Ft,Vt,Ebs,P_end,numBezierPoints); - -%% -% Visualization -cFigure; hold on; -gpatch(Ft,Vt,'w','none',0.25); -gpatch(Ebs,Vt,'none','b',1,3); -hp=gpatch(Fsb,Vsb,'w','k',1,1); -% hp.FaceColor='interp'; -plotV(P_tibia_end_centroid,'k.','MarkerSize',35); - -quiverVec(Vt(indBs,:),Nd(indBs,:),radiusEnd/4,'k'); - -plotV(P1,'r.-','MarkerSize',15,'LineWidth',2); -plotV(P2,'g.-','MarkerSize',15,'LineWidth',2); -plotV(P3,'b.-','MarkerSize',15,'LineWidth',2); -for q=1:size(XB,2) - plotV([XB(:,q) YB(:,q) ZB(:,q)],'k.-','LineWidth',0.5,'MarkerSize',5); -end - -axisGeom; camlight headlight; -gdrawnow; - -%% Merge bone components and remesh - -pointSpacing=mean(patchEdgeLengths(Ft,Vt)); -[Ft,Vt]=joinElementSets({Ft,Fsb},{Vt,Vsb}); -[Ft,Vt]=mergeVertices(Ft,Vt); - -optionStructRemesh.pointSpacing=pointSpacing; %Set desired point spacing -optionStructRemesh.disp_on=0; % Turn off command window text display -[Ft,Vt]=ggremesh(Ft,Vt,optionStructRemesh); - -%% - -FT_amp{3}=Ft; -VT_amp{3}=Vt; -CT_amp{3}=3*ones(size(Ft,1),1); - -%% - -cFigure; -subplot(1,2,1); hold on; -% gpatch(FT,VT,'w','none',0.25); -gpatch(FT_amp,VT_amp,CT_amp,'none',0.5); -axisGeom; camlight headlight; -colormap gjet; icolorbar; - -subplot(1,2,2); hold on; -gpatch(FT_amp,VT_amp,'w','none',0.5); -gpatch(Ft,Vt,'w','k',1); -axisGeom; camlight headlight; -gdrawnow; - -%% - -%Get surface -F=FT_amp{5}; -V=VT_amp{5}; -cutLevelNow=max(V(:,3))-topCropOffset; - -%Use triSurfSlice to process cut -snapTolerance=mean(patchEdgeLengths(F,V))/100; - -P=[0 0 cutLevelNow]; %Point on plane -[Fc,Vc,~,logicSide]=triSurfSlice(F,V,[],P,-nCut,snapTolerance); -[Fc,Vc]=patchCleanUnused(Fc(~logicSide,:),Vc); %Clean-up mesh - -% Remesh using ggremesh -optionStruct3.pointSpacing=mean(patchEdgeLengths(F,V)); -optionStruct3.disp_on=0; % Turn off command window text display -optionStruct3.pre.max_hole_area=100; %Max hole area for pre-processing step -optionStruct3.pre.max_hole_edges=0; %Max number of hole edges for pre-processing step - -[Fc,Vc]=ggremesh(Fc,Vc,optionStruct3); - -Ebs=patchBoundary(Fc,Vc); -indBs=edgeListToCurve(Ebs); -indBs=indBs(1:end-1); - - - -Fcs=Fc; -Vcs=Vc; -indBss=indBs; - -%% - -%Get surface -F=FT_amp{1}; -V=VT_amp{1}; - -%Use triSurfSlice to process cut -snapTolerance=mean(patchEdgeLengths(F,V))/100; -P=[0 0 cutLevelNow]; %Point on plane -[Fc,Vc,~,logicSide]=triSurfSlice(F,V,[],P,-nCut,snapTolerance); -[Fc,Vc]=patchCleanUnused(Fc(~logicSide,:),Vc); %Clean-up mesh - -% Remesh using ggremesh -optionStruct3.pointSpacing=mean(patchEdgeLengths(F,V)); -optionStruct3.disp_on=0; % Turn off command window text display -optionStruct3.pre.max_hole_area=100; %Max hole area for pre-processing step -optionStruct3.pre.max_hole_edges=0; %Max number of hole edges for pre-processing step - -[Fc,Vc]=ggremesh(Fc,Vc,optionStruct3); - -Ebs=patchBoundary(Fc,Vc); -indBs=edgeListToCurve(Ebs); -indBs=indBs(1:end-1); - -%% - -z=0.5*(mean(Vc(indBs,3))+mean(Vc(indBs,3))); - -Vcs(indBss,3)=z; -Vc(indBs,3)=z; - -%% - -pointSpacing=mean(patchEdgeLengths(Fcs,Vcs)); -[Ftt,Vtt]=regionTriMesh3D({Vcs(indBss,:),Vc(indBs,:)},pointSpacing,0,'linear'); - -%% - -cFigure; -gpatch(Fcs,Vcs,'gw','k',1); -gpatch(Fc,Vc,'rw','k',1); -gpatch(Ftt,Vtt,'bw','k',0.5); -colormap gjet; -axisGeom; camlight headlight; -gdrawnow; - -%% -FT_amp{1}=fliplr(Fc); %invert femur normals -VT_amp{1}=Vc; -CT_amp{1}=1*ones(size(Fc,1),1); - -FT_amp{5}=Fcs; -VT_amp{5}=Vcs; -CT_amp{5}=5*ones(size(Fcs,1),1); - -FT_amp{6}=Ftt; -VT_amp{6}=Vtt; -CT_amp{6}=6*ones(size(Ftt,1),1); - -%% - -cFigure; hold on; -gpatch(FT_amp,VT_amp,CT_amp,'none',0.5); -% patchNormPlot(FT_amp,VT_amp); -axisGeom; camlight headlight; -colormap gjet; icolorbar; -gdrawnow; - -%% Save model - -if saveOn==1 - saveName_mat=fullfile(saveFolder,[saveNameGeom,'.mat']); - save(saveName_mat,'FT_amp','VT_amp','CT_amp'); -end - -%% - -function [Fsb,Vsb,indBs,Nd,P1,P2,P3,XB,YB,ZB]=smoothBezierClose(Fs,Vs,Ebs,P_end,numPoints) - -indBs=edgeListToCurve(Ebs); -indBs=indBs(1:end-1); - -[~,~,Ns]=patchNormal(Fs,Vs); - -[~,~,NEb]=edgeVec(Ebs,Vs); -NEb=vecnormalize(NEb); -Nd=vecnormalize(cross(NEb,Ns)); - -cPar.n=25; -Nd=patchSmooth(Ebs,Nd,[],cPar); - -%Bezier point set 1 -P1=Vs(indBs,:); -P1_mid=mean(P1,1); - -distanceEnd=sqrt(sum((P_end-P1_mid).^2,2)); - -%Bezier point set 2 -f=1./abs(Nd(indBs,3)); %Extend factor for direction vectors -P2=P1+distanceEnd/2*f(:,ones(1,3)).*Nd(indBs,:); %Position half-way - -%Bezier point set 3 -P3=P2; -P3(:,3)=P_end(:,3); %Shift to bottom -P3=P3-mean(P3,1); %Shift on own centre -[t,r]=cart2pol(P3(:,1),P3(:,2)); %Polar coordinates -[P3(:,1),P3(:,2)]=pol2cart(t,distanceEnd/2*ones(size(r))); %Force constant radius -P3=P3+P_end; %Place centered on end - -%Bezier point set 4 -P4=P_end; - -XB=zeros(numPoints,size(P1,1)); -YB=zeros(numPoints,size(P1,1)); -ZB=zeros(numPoints,size(P1,1)); -for q=1:1:size(P1,1) - p=[P1(q,:); P2(q,:); P3(q,:); P4]; %Control points - V_bezier=bezierCurve(p,numPoints); %Compute bezier curve - XB(:,q)=V_bezier(:,1); - YB(:,q)=V_bezier(:,2); - ZB(:,q)=V_bezier(:,3); -end - -[Fsb,Vsb]=meshToPatch(XB,YB,ZB,1); -[Fsb,Vsb]=quad2tri(Fsb,Vsb); -[Fsb,Vsb]=mergeVertices(Fsb,Vsb); -[Fsb,Vsb]=patchCleanUnused(Fsb,Vsb); - -end - -%% - -function [F,V]=meshToPatch(X,Y,Z,closeSection) - -%Create quad patch data -[F,V] = surf2patch(X,Y,Z); - -%Close section if required -if closeSection==1 - I=[(1:size(Z,1)-1)' (1:size(Z,1)-1)' (2:size(Z,1))' (2:size(Z,1))' ]; - J=[size(Z,2).*ones(size(Z,1)-1,1) ones(size(Z,1)-1,1) ones(size(Z,1)-1,1) size(Z,2).*ones(size(Z,1)-1,1)]; - F_sub=sub2ind(size(Z),I,J); - F=[F;F_sub]; -end - -end +clear; close all; clc; + +%% Description +% This code processes skin and bone surface meshes for the lower limb to +% simulate amputation. Amputation is "simulated" in the sense that a 3D +% surface mesh is obtained with a shape that may be expected from a typical +% amputation. The current code is for transtibial amputation. +% +% This code requires the GIBBON MATLAB toolbox +% + +%% Control parameters + +projectFolder = fileparts(fileparts(mfilename('fullpath'))); +loadFolder=fullfile(projectFolder,'data','BodyParts3D','post'); +saveFolder=loadFolder; +saveNameGeom='BodyParts3D_right_leg_transtibial_amp'; + +fileNames={'right_femur','right_tibia','right_fibula','right_patella','right_leg_skin'}; + +saveOn=0; + +amputationDistanceTibia=180; +amputationDistanceFibula=amputationDistanceTibia-30; +amputationDistanceSkin=amputationDistanceTibia-25; +distalExcess=25; +boneRoundFactor=1; +radiusEnd=distalExcess+(amputationDistanceTibia-amputationDistanceSkin); +taperHeigth=100; +taperThreshold=15; %Regions more distance than threshold are tappered +taperFraction=0.3; +amputationDistances=[amputationDistanceTibia amputationDistanceFibula amputationDistanceSkin]; +tibiaDistalCutRadialFactor=0.5; +numBezierPoints=50; +nCut=vecnormalize([0 0 1]); %Normal direction to plane +topCropOffset=10; + +%% Loading surfaces into cell array + +%Allocate cell arrays +FT=cell(1,numel(fileNames)); +VT=cell(1,numel(fileNames)); +CT=cell(1,numel(fileNames)); + +%Loop over all surfaces +for q=1:1:numel(fileNames) + + %Import mesh + fileName=fileNames{q}; + fileName_mat=fullfile(loadFolder,[fileName,'.mat']); + model=load(fileName_mat); + F=model.faces; %Faces + V=model.vertices; %Vertices + C=q*ones(size(F,1),1); %Color label + + %Store mesh data in cell array + FT{q}=F; + VT{q}=V; + CT{q}=C; +end + +%% Compute landmarks + +P_patella_centroid=triSurfCentroid(FT{4},VT{4}); %Centroid of the patella + +%% +% Visualize surface and landmarks + +cFigure; hold on; +gpatch(FT,VT,CT,'none',0.5); +plotV(P_patella_centroid,'k.','MarkerSize',35); +axisGeom; camlight headlight; +colormap gjet; icolorbar; +gdrawnow; + +%% Cut surfaces + +%Allocate cell arrays +FT_amp=FT; +VT_amp=VT; +CT_amp=CT; +c=[2 3 5]; %Indices (=labels) for surfaces to cut +for q=1:numel(c) + cutLevelNow=P_patella_centroid(:,3)-amputationDistances(q); + + %Get surface + F=FT_amp{c(q)}; + V=VT_amp{c(q)}; + + %Use triSurfSlice to process cut + snapTolerance=mean(patchEdgeLengths(F,V))/100; + P=[0 0 cutLevelNow]; %Point on plane + [Fc,Vc,~,logicSide]=triSurfSlice(F,V,[],P,nCut,snapTolerance); + [Fc,Vc]=patchCleanUnused(Fc(~logicSide,:),Vc); %Clean-up mesh + Cc=c(q)*ones(size(Fc,1),1); %Adjusted color data (shorter list after cut) + + %Store processed mesh data in cell arrays + FT_amp{c(q)}=Fc; + VT_amp{c(q)}=Vc; + CT_amp{c(q)}=Cc; +end + +%% +% Visualization + +cFigure; hold on; +title('Cut features'); +% gpatch(FT,VT,'w','none',0.1); +gpatch(FT_amp,VT_amp,CT_amp,'none',0.5); +axisGeom; camlight headlight; +colormap gjet; icolorbar; +gdrawnow; + +%% Set up skin taper parameterisation + +%Get tibia end curve +Ft=FT_amp{2}; +Vt=VT_amp{2}; +Ebt=patchBoundary(Ft,Vt); +indBt=edgeListToCurve(Ebt); +indBt=indBt(1:end-1); +P_tibia_end_centroid=mean(Vt(indBt,:),1); + +Fs=FT_amp{5}; +Vs=VT_amp{5}; +D=Vs(:,3)-(min(Vs(:,3))+taperHeigth); +D(D>0)=0; +D=abs(D); +D=D./max(D); +D=D.^2; + +[Dp,indMin]=minDist(Vs(:,[1 2]),Vt(indBt,:)); +Dp(Dp<=taperThreshold)=taperThreshold; +Dp=Dp-min(Dp); +Dp=Dp./max(Dp); + +R=Vt(indBt(indMin),[1 2])-Vs(:,[1 2]); +R=R.*D.*taperFraction.*Dp; + +%% Process skin taper + +Vs1=Vs; %Initialize as original +Vs(:,[1 2])=Vs(:,[1 2])+R; %Push to produce taper + +%Overide skin surface with tapered surface +FT_amp{5}=Fs; +VT_amp{5}=Vs; + +%% +% Visualisation + +% MR=sqrt(sum(R.^2,2)); + +cFigure; hold on; +title('taper morphing'); +gpatch(FT_amp,VT_amp,'w','none',0.5); +% gpatch(Fs,Vs,'w','none',0.5); +quiverVec(Vs1,R); +colormap gjet; colorbar; +axisGeom; camlight headlight; +gdrawnow; + +%% Process skin distal end closure + +P_end=P_tibia_end_centroid-[0 0 distalExcess]; +Ebs=patchBoundary(Fs,Vs); + +[Fsb,Vsb,indBs,Nd,P1,P2,P3,XB,YB,ZB]=smoothBezierClose(Fs,Vs,Ebs,P_end,numBezierPoints); + +%% +% Visualization + +cFigure; hold on; +title('Distal end closure'); +gpatch(FT_amp,VT_amp,'w','none',1); +gpatch(Fs,Vs,'w','none',0.25); +hp=gpatch(Fsb,Vsb,Vsb(:,3),'none',1); hp.FaceColor='interp'; +% gpatch(Ebs,Vs,'none','b',1,3); + +quiverVec(Vs(indBs,:),Nd(indBs,:),radiusEnd/4,'k'); + +plotV(P1,'r.-','MarkerSize',15,'LineWidth',2); +plotV(P2,'g.-','MarkerSize',15,'LineWidth',2); +plotV(P3,'b.-','MarkerSize',15,'LineWidth',2); +for q=1:size(XB,2) + plotV([XB(:,q) YB(:,q) ZB(:,q)],'k.-','LineWidth',0.5,'MarkerSize',5); +end + +plotV(P_end,'k.','MarkerSize',25); + +axisGeom; camlight headlight; +gdrawnow; + +%% +% % Visualization +% +% cFigure; hold on; +% title('Distal end closure'); +% +% hp=gpatch(Fsb,Vsb,Vsb(:,3),'k',1); hp.FaceColor='interp'; +% % gpatch(Ebs,Vs,'none','b',1,3); +% +% axisGeom; camlight headlight; +% gdrawnow; +% +% dfasfa + +%% Merge skin components and remesh + +pointSpacing=mean(patchEdgeLengths(Fs,Vs)); +[Fs,Vs]=joinElementSets({Fs,Fsb},{Vs,Vsb}); +[Fs,Vs]=mergeVertices(Fs,Vs); + +optionStructRemesh.pointSpacing=pointSpacing; %Set desired point spacing +optionStructRemesh.disp_on=0; % Turn off command window text display +[Fs,Vs]=ggremesh(Fs,Vs,optionStructRemesh); + +%% + +FT_amp{5}=Fs; +VT_amp{5}=Vs; +CT_amp{5}=5*ones(size(Fs,1),1); + +%% + +% [FT,VT,CT]=joinElementSets(FT,VT); +% [FT_amp,VT_amp,CT_amp]=joinElementSets(FT_amp,VT_amp); + +%% + +cFigure; +subplot(1,2,1); hold on; +% gpatch(FT,VT,'w','none',0.25); +gpatch(FT_amp,VT_amp,CT_amp,'none',0.5); +axisGeom; camlight headlight; +colormap gjet; icolorbar; + +subplot(1,2,2); hold on; +gpatch(FT_amp,VT_amp,'w','k',1); +axisGeom; camlight headlight; +gdrawnow; + +%% + +Ft=FT_amp{2}; +Vt=VT_amp{2}; + +Ebs=patchBoundary(Ft,Vt); +indBs=edgeListToCurve(Ebs); +indBs=indBs(1:end-1); + +P_mid=mean(Vt(indBs,:),1); + +radiusEnd=boneRoundFactor*mean(minDist(Vt(indBs,:),P_mid))/2; +P_end=P_mid-[0 0 radiusEnd]; + +[Fsb,Vsb,indBs,Nd,P1,P2,P3,XB,YB,ZB]=smoothBezierClose(Ft,Vt,Ebs,P_end,numBezierPoints); + +%% +% Visualization +cFigure; hold on; +gpatch(Ft,Vt,'w','none',0.25); +gpatch(Ebs,Vt,'none','b',1,3); +hp=gpatch(Fsb,Vsb,'w','k',1,1); +% hp.FaceColor='interp'; +plotV(P_tibia_end_centroid,'k.','MarkerSize',35); + +quiverVec(Vt(indBs,:),Nd(indBs,:),radiusEnd/4,'k'); + +plotV(P1,'r.-','MarkerSize',15,'LineWidth',2); +plotV(P2,'g.-','MarkerSize',15,'LineWidth',2); +plotV(P3,'b.-','MarkerSize',15,'LineWidth',2); +for q=1:size(XB,2) + plotV([XB(:,q) YB(:,q) ZB(:,q)],'k.-','LineWidth',0.5,'MarkerSize',5); +end + +axisGeom; camlight headlight; +gdrawnow; + +%% Merge bone components and remesh + +pointSpacing=mean(patchEdgeLengths(Ft,Vt)); +[Ft,Vt]=joinElementSets({Ft,Fsb},{Vt,Vsb}); +[Ft,Vt]=mergeVertices(Ft,Vt); + +optionStructRemesh.pointSpacing=pointSpacing; %Set desired point spacing +optionStructRemesh.disp_on=0; % Turn off command window text display +[Ft,Vt]=ggremesh(Ft,Vt,optionStructRemesh); + +%% + +FT_amp{2}=Ft; +VT_amp{2}=Vt; +CT_amp{2}=2*ones(size(Ft,1),1); + +%% + +cFigure; +subplot(1,2,1); hold on; +% gpatch(FT,VT,'w','none',0.25); +gpatch(FT_amp,VT_amp,CT_amp,'none',0.5); +axisGeom; camlight headlight; +colormap gjet; icolorbar; + +subplot(1,2,2); hold on; +gpatch(FT_amp,VT_amp,'w','none',0.5); +gpatch(Ft,Vt,'w','k',1); +axisGeom; camlight headlight; +gdrawnow; + +%% FIBULA + +Ft=FT_amp{3}; +Vt=VT_amp{3}; + +Ebs=patchBoundary(Ft,Vt); +indBs=edgeListToCurve(Ebs); +indBs=indBs(1:end-1); + +P_mid=mean(Vt(indBs,:),1); + +radiusEnd=boneRoundFactor*mean(minDist(Vt(indBs,:),P_mid))/2; +P_end=P_mid-[0 0 radiusEnd]; + +[Fsb,Vsb,indBs,Nd,P1,P2,P3,XB,YB,ZB]=smoothBezierClose(Ft,Vt,Ebs,P_end,numBezierPoints); + +%% +% Visualization +cFigure; hold on; +gpatch(Ft,Vt,'w','none',0.25); +gpatch(Ebs,Vt,'none','b',1,3); +hp=gpatch(Fsb,Vsb,'w','k',1,1); +% hp.FaceColor='interp'; +plotV(P_tibia_end_centroid,'k.','MarkerSize',35); + +quiverVec(Vt(indBs,:),Nd(indBs,:),radiusEnd/4,'k'); + +plotV(P1,'r.-','MarkerSize',15,'LineWidth',2); +plotV(P2,'g.-','MarkerSize',15,'LineWidth',2); +plotV(P3,'b.-','MarkerSize',15,'LineWidth',2); +for q=1:size(XB,2) + plotV([XB(:,q) YB(:,q) ZB(:,q)],'k.-','LineWidth',0.5,'MarkerSize',5); +end + +axisGeom; camlight headlight; +gdrawnow; + +%% Merge bone components and remesh + +pointSpacing=mean(patchEdgeLengths(Ft,Vt)); +[Ft,Vt]=joinElementSets({Ft,Fsb},{Vt,Vsb}); +[Ft,Vt]=mergeVertices(Ft,Vt); + +optionStructRemesh.pointSpacing=pointSpacing; %Set desired point spacing +optionStructRemesh.disp_on=0; % Turn off command window text display +[Ft,Vt]=ggremesh(Ft,Vt,optionStructRemesh); + +%% + +FT_amp{3}=Ft; +VT_amp{3}=Vt; +CT_amp{3}=3*ones(size(Ft,1),1); + +%% + +cFigure; +subplot(1,2,1); hold on; +% gpatch(FT,VT,'w','none',0.25); +gpatch(FT_amp,VT_amp,CT_amp,'none',0.5); +axisGeom; camlight headlight; +colormap gjet; icolorbar; + +subplot(1,2,2); hold on; +gpatch(FT_amp,VT_amp,'w','none',0.5); +gpatch(Ft,Vt,'w','k',1); +axisGeom; camlight headlight; +gdrawnow; + +%% + +%Get surface +F=FT_amp{5}; +V=VT_amp{5}; +cutLevelNow=max(V(:,3))-topCropOffset; + +%Use triSurfSlice to process cut +snapTolerance=mean(patchEdgeLengths(F,V))/100; + +P=[0 0 cutLevelNow]; %Point on plane +[Fc,Vc,~,logicSide]=triSurfSlice(F,V,[],P,-nCut,snapTolerance); +[Fc,Vc]=patchCleanUnused(Fc(~logicSide,:),Vc); %Clean-up mesh + +% Remesh using ggremesh +optionStruct3.pointSpacing=mean(patchEdgeLengths(F,V)); +optionStruct3.disp_on=0; % Turn off command window text display +optionStruct3.pre.max_hole_area=100; %Max hole area for pre-processing step +optionStruct3.pre.max_hole_edges=0; %Max number of hole edges for pre-processing step + +[Fc,Vc]=ggremesh(Fc,Vc,optionStruct3); + +Ebs=patchBoundary(Fc,Vc); +indBs=edgeListToCurve(Ebs); +indBs=indBs(1:end-1); + + + +Fcs=Fc; +Vcs=Vc; +indBss=indBs; + +%% + +%Get surface +F=FT_amp{1}; +V=VT_amp{1}; + +%Use triSurfSlice to process cut +snapTolerance=mean(patchEdgeLengths(F,V))/100; +P=[0 0 cutLevelNow]; %Point on plane +[Fc,Vc,~,logicSide]=triSurfSlice(F,V,[],P,-nCut,snapTolerance); +[Fc,Vc]=patchCleanUnused(Fc(~logicSide,:),Vc); %Clean-up mesh + +% Remesh using ggremesh +optionStruct3.pointSpacing=mean(patchEdgeLengths(F,V)); +optionStruct3.disp_on=0; % Turn off command window text display +optionStruct3.pre.max_hole_area=100; %Max hole area for pre-processing step +optionStruct3.pre.max_hole_edges=0; %Max number of hole edges for pre-processing step + +[Fc,Vc]=ggremesh(Fc,Vc,optionStruct3); + +Ebs=patchBoundary(Fc,Vc); +indBs=edgeListToCurve(Ebs); +indBs=indBs(1:end-1); + +%% + +z=0.5*(mean(Vc(indBs,3))+mean(Vc(indBs,3))); + +Vcs(indBss,3)=z; +Vc(indBs,3)=z; + +%% + +pointSpacing=mean(patchEdgeLengths(Fcs,Vcs)); +[Ftt,Vtt]=regionTriMesh3D({Vcs(indBss,:),Vc(indBs,:)},pointSpacing,0,'linear'); + +%% + +cFigure; +gpatch(Fcs,Vcs,'gw','k',1); +gpatch(Fc,Vc,'rw','k',1); +gpatch(Ftt,Vtt,'bw','k',0.5); +colormap gjet; +axisGeom; camlight headlight; +gdrawnow; + +%% +FT_amp{1}=fliplr(Fc); %invert femur normals +VT_amp{1}=Vc; +CT_amp{1}=1*ones(size(Fc,1),1); + +FT_amp{5}=Fcs; +VT_amp{5}=Vcs; +CT_amp{5}=5*ones(size(Fcs,1),1); + +FT_amp{6}=Ftt; +VT_amp{6}=Vtt; +CT_amp{6}=6*ones(size(Ftt,1),1); + +%% + +cFigure; hold on; +gpatch(FT_amp,VT_amp,CT_amp,'none',0.5); +% patchNormPlot(FT_amp,VT_amp); +axisGeom; camlight headlight; +colormap gjet; icolorbar; +gdrawnow; + +%% Save model + +if saveOn==1 + saveName_mat=fullfile(saveFolder,[saveNameGeom,'.mat']); + save(saveName_mat,'FT_amp','VT_amp','CT_amp'); +end + +%% + +function [Fsb,Vsb,indBs,Nd,P1,P2,P3,XB,YB,ZB]=smoothBezierClose(Fs,Vs,Ebs,P_end,numPoints) + +indBs=edgeListToCurve(Ebs); +indBs=indBs(1:end-1); + +[~,~,Ns]=patchNormal(Fs,Vs); + +[~,~,NEb]=edgeVec(Ebs,Vs); +NEb=vecnormalize(NEb); +Nd=vecnormalize(cross(NEb,Ns)); + +cPar.n=25; +Nd=patchSmooth(Ebs,Nd,[],cPar); + +%Bezier point set 1 +P1=Vs(indBs,:); +P1_mid=mean(P1,1); + +distanceEnd=sqrt(sum((P_end-P1_mid).^2,2)); + +%Bezier point set 2 +f=1./abs(Nd(indBs,3)); %Extend factor for direction vectors +P2=P1+distanceEnd/2*f(:,ones(1,3)).*Nd(indBs,:); %Position half-way + +%Bezier point set 3 +P3=P2; +P3(:,3)=P_end(:,3); %Shift to bottom +P3=P3-mean(P3,1); %Shift on own centre +[t,r]=cart2pol(P3(:,1),P3(:,2)); %Polar coordinates +[P3(:,1),P3(:,2)]=pol2cart(t,distanceEnd/2*ones(size(r))); %Force constant radius +P3=P3+P_end; %Place centered on end + +%Bezier point set 4 +P4=P_end; + +XB=zeros(numPoints,size(P1,1)); +YB=zeros(numPoints,size(P1,1)); +ZB=zeros(numPoints,size(P1,1)); +for q=1:1:size(P1,1) + p=[P1(q,:); P2(q,:); P3(q,:); P4]; %Control points + V_bezier=bezierCurve(p,numPoints); %Compute bezier curve + XB(:,q)=V_bezier(:,1); + YB(:,q)=V_bezier(:,2); + ZB(:,q)=V_bezier(:,3); +end + +[Fsb,Vsb]=meshToPatch(XB,YB,ZB,1); +[Fsb,Vsb]=quad2tri(Fsb,Vsb); +[Fsb,Vsb]=mergeVertices(Fsb,Vsb); +[Fsb,Vsb]=patchCleanUnused(Fsb,Vsb); + +end + +%% + +function [F,V]=meshToPatch(X,Y,Z,closeSection) + +%Create quad patch data +[F,V] = surf2patch(X,Y,Z); + +%Close section if required +if closeSection==1 + I=[(1:size(Z,1)-1)' (1:size(Z,1)-1)' (2:size(Z,1))' (2:size(Z,1))' ]; + J=[size(Z,2).*ones(size(Z,1)-1,1) ones(size(Z,1)-1,1) ones(size(Z,1)-1,1) size(Z,2).*ones(size(Z,1)-1,1)]; + F_sub=sub2ind(size(Z),I,J); + F=[F;F_sub]; +end + +end + +%% +% _*SimuLimb footer text*_ +% +% License: +% +% Copyright (C) 2006-2021 Kevin Mattheus Moerman and the SimuLimb contributors +% +% Licensed under the Apache License, Version 2.0 (the "License"); +% you may not use this file except in compliance with the License. +% You may obtain a copy of the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +% See the License for the specific language governing permissions and +% limitations under the License.