BLENDER_v235REND 0ݿScene(SRd W SR1-Animationg g g g    5DATAg Xg DATAg X\g g DATA\g Xg g DATAg Xg \g DATAg Xg g DATAg X\g g DATA\g Xg g DATAg Xg \g DATAg Xg g DATAg X\g g DATA\g Xg g DATAg X\g DATAg Yg g \g DATAg Y\g g g g DATA\g Yg g g g DATAg Yg \g g \g DATAg Yg g \g g DATAg Y\g g \g g DATA\g Yg g g g DATAg Yg \g g g DATAg Yg g \g g DATAg Y\g g g g DATA\g Yg g g g DATAg Yg \g g g DATAg Yg g g \g DATAg Y\g g g \g DATA\g Yg g g \g DATAg Yg \g g g DATAg Yg g g g DATAg Yg \g g DATA [ g \g g g J    DATA Z Link and MaterialsEditing>DATA Z  MeshEditingF>DATA Z  Anim settingsObject>DATA Z  DrawObjectF>DATA Z  ConstraintsObject>DATA Z EffectsObjectDATA I 333?\<@DhC)DhCC(BDC?z?DATAT K 333?\</9DATA [  \g g \g g DATA [  g \g g g |+9=U_=o?  #$S    DATA Z Transform PropertiesView3d>DATA Z 3D Viewport propertiesView3d>"DATA D 333?e|????????|+9=U_=o?;AkA?|+9=U_=o??????;A  B?=CFF DATAT K 333?e|/9DATA [  g g g g ??Pף  #$    DATA ZTransform PropertiesIpo!>DATA H 333?kzC̽̌?zC@ #< #<`jFzD OBzC̽̌?DATA L  333?k@zAAQAQAB A@CC #<@$ $ DATA,$ n$ BO`A DATA,$ n$ BOp=A DATAp O  333?k 6 j>DATA D  333?k??? ???? A???PA A!O?j?}GCHB? A  B? #<C@h@hDATAT K 333?k/9DATA [ \g g g g  '    DATA Z Link and MaterialsEditing>DATA Z MeshEditingF>DATA  333?v<zCCHBC'?CFC= ADATA I  333?v<#DhC`DpJgChCC(BDC?z?DATAT K 333?v</9SRd W  SR2-Model \g \zܳz  V  @@DATA\g Xg DATAg Xg \g DATAg Xg g @DATAg X\g g @DATA\g Xg g DATAg Xg \g @DATAg X\zg DATA\zXܱzg DATAܱzX\z\zxDATA\zXܲzܱz@xDATAܲzX\z\z$xDATA\zXܲz$DATAܳzY\zg g DATA\zYܴzܳzg \g DATAܴzY\z\zg g DATA\zYܵzܴz\g g DATAܵzYܶz\z\g \g DATAܶzYzܵz\g g DATAzY\zܶzg g DATA\zYzz\z\g DATAzYܷz\z\zg DATAܷzYzzܱzg DATAzY\zܷz\zܱzDATA\zYzz\zg DATAzYk \z\zg DATAk Y zܱz\zDATA Y\ k ܱzܲzDATA\ Y  \zܲzDATA Y \ \z\zDATA Y \zg DATA Y ܲz\zDATA [ g ܱz\zg ?Π?Pף@w@]w@\ T]  h h   DATA Z PreviewLamp>DATA Z  LampLampF>DATA Z  SpotLamp>DATA ZЂ  Texture and InputLamp>DATAЂ Zт  Map ToLamp> DATAт Z҂ Ђ PreviewMaterial>DATA҂ Zӂ т MaterialMaterialF>DATAӂ ZԂ ҂ PreviewWorld>DATAԂ ZՂ ӂ WorldWorldF>DATAՂ Zւ Ԃ Mist Stars PhysicsWorld>DATAւ Zׂ Ղ Texture and InputWorld>DATAׂ Z؂ ւ Map ToWorld>ւ DATA؂ Zق ׂ OutputRender>DATAق Zڂ ؂ RenderRenderF>DATAڂ Zۂ ق AnimRender>DATAۂ Z܂ ڂ FormatRender>DATA܂ Z݂ ۂ Link and MaterialsEditing>DATA݂ Zނ ܂ MeshEditingF>DATAނ Z߂ ݂ Mesh ToolsEditing>DATA߂ Z ނ Mesh Tools 1Editing>DATA Z ߂ CameraEditingF>DATA Z  ShadersMaterial>DATA Z  TextureMaterial>DATA Z  Anim settingsObject>DATA Z  DrawObjectF>DATA Z  ConstraintsObject>DATA Z  ScriptlinksScript>DATA Z  EffectsObject DATA Z  Map InputMaterial> DATA Z  Map ToMaterial> DATA Z  AnimAnim>DATA Z  SoundSound>DATA Z  ListenerSoundF>DATA Z  SequencerSound>DATA Z  RampsMaterialF>҂ DATA Z  Mirror TranspMaterial> DATA Z  HooksObjectF> DATA Z Particle InteractionObject> DATAp O 333?  ?2 Id/@df[oDATA D  333? ??? ???? A??Π?PA Aj?WK?sGbCGB?Π?Pף??? ?? A  B? #<CZZDATA I 333? #DhC" DhCC(BDC?z?ymDATA [  \g g g g @@@Apj h DATA [  \g \g \zg ? W3APףyx  y  n n   DATA Z PreviewLamp>DATA Z  LampLampF>DATA Z  SpotLamp>DATA Z  Texture and InputLamp>DATA Z  Map ToLamp> DATA Z  PreviewMaterial>DATA Z  MaterialMaterialF>DATA Z  PreviewWorld>DATA Z  WorldWorldF>DATA Z  Mist Stars PhysicsWorld>DATA Z  Texture and InputWorld>DATA Z  Map ToWorld> DATA Z  OutputRender>DATA Z  RenderRenderF>DATA Z  AnimRender>DATA Z  FormatRender>DATA Z  Link and MaterialsEditing>DATA Z  MeshEditingF>DATA Z  Mesh ToolsEditing>DATA Z  Mesh Tools 1Editing>DATA Z  CameraEditingF>DATA Z  ShadersMaterial>DATA Z  TextureMaterial>DATA Z  Anim settingsObject>DATA Z  DrawObjectF>DATA Z  ConstraintsObject>DATA Z  ScriptlinksScript>DATA Z  EffectsObject DATA Z  Map InputMaterial> DATA Z  Map ToMaterial> DATA Z  AnimAnim>DATA Z  SoundSound>DATA Z  ListenerSoundF>DATA Z  SequencerSound>DATA Z  RampsMaterialF> DATA Z  Mirror TranspMaterial> DATA Z  HooksObjectF> DATA Z Particle InteractionObject> DATAp O 333? : _ =@BqDATA I  333? #DhC DhCC(BDC?z?$ymDATAT K 333? PSave As/home/ted/blenderstuff/bool_curves2.blend DATA [V  ܲz\zg \z??Pף%@y%@y%@yx OU ` h k  T DATA Z0 PreviewLamp>DATA0 Z1  LampLampF>DATA1 Z2 0 SpotLamp>DATA2 Z3 1 Texture and InputLamp>DATA3 Z4 2 Map ToLamp>2 DATA4 Z5 3 PreviewMaterial>DATA5 Z6 4 MaterialMaterial>DATA6 Z7 5 PreviewWorld>DATA7 Z8 6 WorldWorldF>DATA8 Z9 7 Mist Stars PhysicsWorld>DATA9 Z: 8 Texture and InputWorld>DATA: Z; 9 Map ToWorld>9 DATA; Z< : OutputRender>DATA< Z= ; RenderRender>DATA= Z> < AnimRender0>DATA> Z? = FormatRenderH>DATA? Z@ > Link and MaterialsEditing>DATA@ ZA ? MeshEditing>DATAA ZB @ Mesh ToolsEditing>DATAB ZC A Mesh Tools 1Editing>DATAC ZD B CameraEditingF>DATAD ZE C ShadersMaterial0>DATAE ZF D TextureMaterialH>DATAF ZG E Anim settingsObject>DATAG ZH F DrawObject>DATAH ZI G ConstraintsObject0>DATAI ZJ H ScriptlinksScript>DATAJ ZK I EffectsObject0H DATAK ZL J Map InputMaterial>E DATAL ZM K Map ToMaterial>E DATAM ZN L AnimAnim>DATAN ZO M SoundSound>DATAO ZP N ListenerSoundF>DATAP ZQ O SequencerSound>DATAQ ZR P RampsMaterial>5 DATAR ZS Q Mirror TranspMaterial0>D DATAS ZT R HooksObject>G DATAT ZS Particle InteractionObject0>H DATAU I` 333? C.hCChCC(BDC?z? 0 mDATA` DU 333? ??? ???? A???PA A.?j?sGbCGB??Pף??? ?? A  B? #<CDATAV [ ܱz\z\zܲzS5@xH@AHM#y#y#yx 7gd  Fa{ W 1 DATAW ZX PreviewLamp>DATAX ZY W LampLampF>DATAY ZZ X SpotLamp>DATAZ Z[ Y Texture and InputLamp>DATA[ Z\ Z Map ToLamp>Z DATA\ Z] [ PreviewMaterial>DATA] Z^ \ MaterialMaterialF>DATA^ Z_ ] PreviewWorld>DATA_ Zp ^ WorldWorldF>DATAp Zq _ Mist Stars PhysicsWorld>DATAq Zr p Texture and InputWorld>DATAr Zs q Map ToWorld>q DATAs Zt r OutputRender>DATAt Zu s RenderRenderF>DATAu Zv t AnimRender>DATAv Zw u FormatRender>DATAw Zx v Link and MaterialsEditing>DATAx Zy w MeshEditingF>DATAy Zz x Mesh ToolsEditing>DATAz Z{ y Mesh Tools 1Editing>DATA{ Z| z CameraEditingF>DATA| Z} { ShadersMaterial>DATA} Z~ | TextureMaterial>DATA~ Z } Anim settingsObject>DATA Z ~ DrawObjectF>DATA Z  ConstraintsObject>DATA Z  ScriptlinksScript>DATA Z  EffectsObject DATA Z  Map InputMaterial>} DATA Z  Map ToMaterial>} DATA Z  AnimAnim>DATA Z  SoundSound>DATA Z  ListenerSoundF>DATA Z  SequencerSound>DATA Z  RampsMaterialF>] DATA Z  Mirror TranspMaterial>| DATA Z  HooksObjectF> DATA Z1  Particle InteractionObject> DATA1 Z Transform PropertiesView3d>"DATAd D 333?V L?В ?K?ȳ>?M?K?<ȳ>T5L?В ?ZI? @μ@??'Ŀ В @Ȍ?3>>6zz=@mZId>h>b4AA][>>z;3I =b>A>pAןA0AA,)@S5@xH@AHML?В ?K?ȳ>?L?ՙξAE;@  B? #<C  DATA Id 333?V #DhC" DhCC(BDC?z?ymSRd W  SR3-Materialodel Sing\ Ă Ă \ʂ    5DATA\ X DATA X \ DATA X‚ DATA‚ X\‚ DATA\‚ X‚ ‚ ,DATA‚ X‚ \‚ ,DATA‚ X ‚ DATA X\ ‚ DATA\ X  ,DATA X \ DATA XĂ Â DATAĂ X\Ă Â  DATA\Ă XĂ Ă  DATAĂ X\Ă DATAĂ Ył DATAł Y\ł Ă \ ‚ DATA\ł Ył ł \ \‚ DATAł Ył \ł ‚ ‚ DATAł YƂ ł \‚ ‚ DATAƂ Y\Ƃ ł ‚ DATA\Ƃ YƂ Ƃ  DATAƂ YƂ \Ƃ ‚  DATAƂ Yǂ Ƃ ‚  DATAǂ Y\ǂ Ƃ \‚ \ DATA\ǂ Yǂ ǂ ‚ \ DATAǂ Yǂ \ǂ   DATAǂ YȂ ǂ \  DATAȂ Y\Ȃ ǂ \‚  DATA\Ȃ YȂ Ȃ ‚  DATAȂ YȂ \Ȃ  Ă DATAȂ Yɂ Ȃ \ Ă DATAɂ Y\ɂ Ȃ  Ă DATA\ɂ Yɂ ɂ  \Ă DATAɂ Yɂ \ɂ Ă \Ă DATAɂ Yʂ ɂ ‚ Ă DATAʂ Y\ʂ ɂ  à DATA\ʂ Yʂ \Ă Ă DATA [ \ \‚ ‚ ‚ ?@Pף++ , "   DATA Z OutputRender>DATA Z  RenderRenderF>DATA Z  AnimRender>DATA Z FormatRender>DATA  333?zCCHBC,?CFC= ADATA Ih  333?DhC?DhCC(BDC?z?mDATAh D  333???? ???? A??@PA Aj?c3>}GCHB? A  B? #<CzzDATA L" h 333?@̌AR|B1@lA A@CC #<@DATAT" K 333?/9DATA [  ‚  DATA [  \   ‚ G@? JL - -G Hh~ &   DATA Z OutputRender>DATA Z  RenderRender>DATA Z  AnimRender0>DATA Z  FormatRenderH>DATA Z  PreviewMaterial>DATA Z  MaterialMaterial>DATA Z  ShadersMaterial0>DATA Z  TextureMaterialH>DATA Z  Map InputMaterialD>DATA Z Map ToMaterial`>DATA Il 333?lCqhCC~qLmCC(BDC?z?hDATAl D$  333?lJ>H!?)xu?i6>Pbܗ=(?^L?a?滎z?J>#xu?ܗ=Hi6>(? ?Pb^L?\FAA?4[?[!?@jG>gb>Pb>4Im>k&?]M^L<0@AzA=>Kc<2֍7&> ?:x¸A1vB,jB~@G@? JLJ>H!?)xu?i6>Pbܗ=(?^L?a?滎z?@?$$OA   B?=Ch?j(4?t'>SSdDATA$ H& l 333?lzC AzC A #< #<`jFzD OBDATAT& K$ 333?l;SAVE FILE/usr/home/intrr/blender/blend/untitled.blendDATA [  \‚  Ă \ U.=z=o?- -GH S * DATA D 333?\???h?j(4?t'>????hj(4t'?U.=z=o??OA   B?=Ch?j(4?t'>dDATA I(  333?\DdC>9C,DeCC(BDC?z?DATA( H*  333?\zC AzC A #< #<`jFzD OBDATAT* K( 333?\ SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATA [  \Ă Ă Â Ă e?8?AHM    S . DATA D 333?,L?В ?K?ȳ>?M?K?<ȳ>T5L?В ?ZI? @μ@?ƾ\?lU В (??3>>]`b4AAVl>K?x<4쓾S>>3ApןAAA)@e?8?AHML?В ?K?ȳ>?L?ՙξAE;OA   B?=Ch?j(4?t'>dDATA I,  333?,DdC>9C,DeCC(BDC?z?DATA, H.  333?,zC AzC A #< #<`jFzD OBDATAT. K, 333?, SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATA [  ‚ Ă \Ă (.=^=o?    S ƒ DATA D 333??3?3^I2(o(4?? 3?3^=i(4J2(A?(.=0n;^=ꉖW5jOT{:?OA2 5AC^=k(4J2(A?(.=^=o??3?3^I2(o(4?5?5OA   B?=C^j(4?J2( Z ZdDATA I  333?DdC>9C,DeCC(BDC?z?DATA Hƒ  333?zC AzC A #< #<`jFzD OBDATATƒ K 333? SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendSRd W SR4-Sequenceʂ \͂ ͂ у    5DATAʂ Xʂ DATAʂ X˂ ʂ DATA˂ X\˂ ʂ DATA\˂ X˂ ˂ DATA˂ X˂ \˂ DATA˂ X̂ ˂ DATÂ X\̂ ˂ DATA\̂ X̂ ̂ DATÂ X̂ \̂ \DATÂ X͂ ̂ \DATA͂ X\͂ ̂ \DATA\͂ X͂ DATA͂ Y͂ ʂ ˂ DATA͂ Y΂ ͂ ʂ \˂ DATA΂ Y\΂ ͂ ʂ ˂ DATA\΂ Y΂ ΂ \˂ ˂ DATA΂ Y΂ \΂ ˂ ˂ DATA΂ Yς ΂ ʂ ̂ DATAς Y\ς ΂ ˂ \̂ DATA\ς Yς ς ̂ \̂ DATAς Yς \ς ˂ ̂ DATAς YЃ ς ̂ ̂ DATAЃ Y\Ѓ ς \̂ ̂ DATA\Ѓ YЃ Ѓ ˂ ̂ DATAЃ YЃ \Ѓ ̂ ̂ DATAЃ Yу Ѓ ̂ ͂ DATAу Y\у Ѓ ̂ ͂ DATA\у Yу у ̂ \͂ DATAу Yу \у \̂ \͂ DATAу Yу ͂ \͂ DATA [ ʂ ˂ ˂ \˂  ă   DATA Z OutputRender>DATA Z  RenderRenderF>DATA Z  AnimRender>DATA Z FormatRender>DATA Iă 333?uDhC&ԓDhCC(BDC?z?DATATă K 333?u/9DATA [  ̂ ʂ ˂ \̂ DATA [  ˂ ̂ ̂ ˂ 8=i>o?[  [P  ƃ DATA J 333?}|zCAzCAPP A@FB= A DATA Dƃ  333?}|????????8=i>o?fffAD&@??fffA  B? #<CDATATƃ K 333?}|AVE TARGA/t1.blend9DATA [  ͂ \͂ \̂ ̂ 8=H>o?]]]]S  ȃ DATA J 333? zCAzCA1||1 A@FB= A DATA Dȃ  333? ????????8=H>o?fffA*@??fffA  B? #<C>>DATATȃ K 333? AVE TARGA/t1.blend9DATA [ ̂ ̂ \͂ ͂ 8=>o?]]wx8ʃ ̃ DATAʃ H 333?ሜB̽̌?B̽̌?88 #< #<`jFzD SQB̽̌?DATA D̃ ʃ 333?ሜ????????8=>o?fffA@??fffA  B? #<CzzDATAT̃ K 333?ሜOAD FILE/9SC BSCScenetageain  ' 0l ( dd??< ddd??Z@@???//backbuf/tmp///ftype@&#@^@&^#DDATA <k @ dx DATAk <g  Dj DATAg <x k  ̽ DATAx <# g  } DATA# <0l x   DATA0l <i #  > DATAi <i 0l  % DATAi <% i   DATA% <& i  ̈ DATA& <& % < Ȉ DATA& <' &  Ĉ DATA' <' & |  DATA' <'   DATA(( ;,d'=A@CAl CACameraamera.001=B\B?LA΃ LASpot?????AB>??@ AA4B?@@???WO :WOWorldg=pb>>===??A@pA A?L=TXd : TXmegabool_r08.py҃ \҃ \ \ \ '' k DATA҃ /root/megabool_r08.pyDATA\҃ ҃ FREEDATA҃ ҃ \҃ FREEDATA҃ Ӄ ҃  FREEDATAӃ \Ӄ ҃ \ FREEDATA\Ӄ Ӄ Ӄ FREEDATAӃ Ӄ \Ӄ FREEDATAӃ ԃ Ӄ ( DFREEDATAԃ \ԃ Ӄ  FREEDATA\ԃ ԃ ԃ \ FREEDATAԃ ԃ \ԃ ) EFREEDATAԃ Ճ ԃ ) EFREEDATAՃ \Ճ ԃ * EFREEDATA\Ճ Ճ Ճ * EFREEDATAՃ Ճ \Ճ + EFREEDATAՃ փ Ճ + EFREEDATAփ \փ Ճ , EFREEDATA\փ փ փ , EFREEDATAփ փ \փ - EFREEDATAփ ׃ փ - EFREEDATA׃ \׃ փ . EFREEDATA\׃ ׃ ׃ . EFREEDATA׃ ׃ \׃ / EFREEDATA׃ ؃ ׃ / EFREEDATA؃ \؃ ׃  EFREEDATA\؃ ؃ ؃ EFREEDATA؃ ؃ \؃  EFREEDATA؃ ك ؃ EFREEDATAك \ك ؃  EFREEDATA\ك ك ك EFREEDATAك ك \ك  EFREEDATAك ڃ ك EFREEDATAڃ \ڃ ك  EFREEDATA\ڃ ڃ ڃ EFREEDATAڃ ڃ \ڃ  EFREEDATAڃ ۃ ڃ EFREEDATAۃ \ۃ ڃ  EFREEDATA\ۃ ۃ ۃ EFREEDATAۃ ۃ \ۃ  EFREEDATAۃ ܃ ۃ EFREEDATA܃ \܃ ۃ  EFREEDATA\܃ ܃ ܃ EFREEDATA܃ ܃ \܃  EFREEDATA܃ ݃ ܃ EFREEDATA݃ \݃ ܃  EFREEDATA\݃ ݃ ݃ EFREEDATA݃ ݃ \݃  EFREEDATA݃ ރ ݃ FREEDATAރ \ރ ݃ AFREEDATA\ރ ރ ރ  AFREEDATAރ ރ \ރ EFREEDATAރ ߃ ރ  EFREEDATA߃ \߃ ރ EFREEDATA\߃ ߃ ߃  EFREEDATA߃ ߃ \߃ EFREEDATA߃  ߃  EFREEDATA \ ߃ EFREEDATA\    EFREEDATA  \ EFREEDATA !  EFREEDATA! \!  EFREEDATA\! ! !  EFREEDATA! ! \!  EFREEDATA! " !  EFREEDATA" \" !  EFREEDATA\" " "  EFREEDATA" " \"  EFREEDATA" # "  EFREEDATA# \# "  EFREEDATA\# # #  AFREEDATA# # \# FREEDATA# $ #  FREEDATA$ \$ #  $FREEDATA\$ $ $  FREEDATA$ $ \$  0FREEDATA$ % $  WFREEDATA% \% $ \ FREEDATA\% % % FREEDATA% % \% FREEDATA% & %  FREEDATA& \& %  FREEDATA\& & & FREEDATA& & \&  FREEDATA& ' & FREEDATA' \' &  FREEDATA\' ' ' \ v[1]DATA' ' \' faceDATA' ( ' e's DATA( \( '  nDATA\( ( (  Cit gDATA( ( \( Cce..DATA( ) (  C e.DATA) \) ( \ .v[1DATA\) ) ) 6####DATA) ) \) ratiDATA) * )  cuttDATA* \* ) utsiDATA\* * * inveDATA* * \*  ie,MDATA* + *  ####DATA+ \+ * \ ctMeDATA\+ + + CookDATA+ + \+ tterDATA+ , +  turnDATA, \, +  1atB.DATA\, , ,  cookDATA, , \, \ ie,bDATA, - , trucDATA- \- ,  MatDATA\- - -  0idenDATA- - \-  tB) DATA- . - \ e,1,DATA. \. - e NDATA\. . .  Zt,cuDATA. . \. dentDATA. / .  ,bCoDATA/ \/ .  ,,0,1DATA\/ / /  bCooDATA/ / \/ \ ed()DATA/ 0 /  I mesDATA0 \0 /  <ool%DATA\0 0 0 rintDATA0 0 \0 ,objDATA0 1 0  EA #pDATA1 \1 0  kr"))DATA\1 1 1  on(ODATA1 1 \1  @ct.GDATA1 2 1  ssagDATA2 \2 1  cleaDATA\2 2 2  !ssheDATA2 2 \2  HdoneDATA2 3 2  objeDATA3 \3 2  rnalDATA\3 3 3 \ $$$$DATA3 3 \3  &prinDATA3 4 3  6f: DATA4 \4 3  $$$$DATA\4 4 4  K$$$$DATA4 4 \4  rentDATA4 5 4  '!=seDATA5 \5 4 okieDATA\5 5 5  1tateDATA5 5 \5  @o,seDATA5 6 5 [0]:DATA6 \6 5  @lCooDATA\6 6 6  =0: DATA6 6 \6  versDATA6 7 6 \ nd eDATA7 \7 6 retDATA\7 7 7 a doDATA7 7 \7  $rn eDATA7 8 7  #DATA8 \8 7 \ eturDATA\8 8 8  retDATA8 8 \8 ookiDATA8 9 8  ([0.DATA9 \9 8   seDATA\9 9 9 \ .no)DATA9 9 \9 ndexDATA9 : 9  seDATA: \: 9  selfDATA\: : :  EdgeDATA: : \: \ s(seDATA: ; : lf))DATA; \; : averDATA\; ; ;  dEdgDATA; ; \; \ ravCDATA; < ;  R(DATA< \< ; DATA\< < < DATA< < \<  DATA< = < \ DATA= \= < DATA\= = = jjjDATA= = \= ! sssDATA= > = \! jjjDATA> \> = ! DATA\> > > ! DATA> > \>  )DATA> ? >  8DATA? \? > " DATA\? ? ?  (DATA? ? \?  sssDATA? @ ? \" sssDATA@ \@ ?  <sssDATA\@ @ @ " jjjDATA@ @ \@ " XDATA@ A @ # DATAA \A @ \# DATA\A A A  .DATAA A \A 0 ;DATAA B A 0 GDATAB \B A 1 DATA\B B B # sssDATAB B \B # sssDATAB C B $ sssDATAC \C B \$ L5DATA\C C C $ DATAC C \C $ DATAC D C % DATAD \D C 1 5DATA\D D D 2 9DATAD D \D 2 sssDATAD E D 3 QsssDATAE \E D 3 &sssDATA\E E E \% sssDATAE E \E % sssDATAE F E 4 9DATAF \F E % DATA\F F F & DATAF F \F \& DATAF G F & DATAG \G F 4 PsssDATA\G G G 5 sssDATAG G \G & sssDATAG H G ' sssDATAH \H G 5 $DATA\H H H \' DATAH H \H 6 DATAH I H ' DATAI \I H ' DATA\I I I ( DATAI I \I 6 ,sssDATAI J I \( sssDATAJ \J I 7 5sssDATA\J J J 7 #sssDATAJ J \J 8 EsssDATAJ K J 8 &YDATAK \K J 9 DATA\K K K 9 1DATAK K \K ( DATAK L K ( DATAL \L K ) DATA\L L L : DATAL L \L \) BBDATAL M L ) BBDATAM \M L : .BBDATA\M M M ; JBBDATAM M \M ) 7DATAM N M * DATAN \N M ; $DATA\N N N < $DATAN N \N \* DATAN O N < %DATAO \O N * DATA\O O O * sssDATAO O \O + sssDATAO P O \+ sssDATAP \P O + EDATA\P P P = C þDATAP P \P  ZBDATAP Q P + umDATAQ \Q P , Ћ ?DATA\Q Q Q = 4DATAQ Q \Q > jDATAQ R Q \, NDATAR \R Q > %DATA\R R R , DATAR R \R ? "DATAR S R ? LYDATAS \S R , djDATA\S S S - ljDATAS S \S @ 7BDATAS T S @ )ՑDDATAT \T S \- DATA\T T T A DATAT T \T A DATAT U T - DATAU \U T - DATA\U U U . YDATAU U \U B .pjDATAU V U \. dqjDATAV \V U . Uԋ=DATA\V V V . 3DATAV V \V B >DATAV W V / DATAW \W V C DATA\W W W C !DATAW W \W D 0DATAW X W \/ YDATAX \X W / ujDATA\X X X D -DATAX X \X / ԟDATAX Y X P tDATAY \Y X \P DATA\Y Y Y E >DATAY Y \Y P DATAY Z Y  tDATAZ \Z Y P YDATA\Z Z Z E "DATAZ Z \Z Q DATAZ [ Z F &DATA[ \[ Z \Q DATA\[ [ [ F "DATA[ [ \[ G *DATA[ \ [ G DATA\ \\ [ H #DATA\\ \ \ H (DATA\ \ \\ Q DATA\ ] \ Q DATA] \] \ I DATA\] ] ] R DATA] ] \] \R DATA] ^ ] R DATA^ \^ ] I %DATA\^ ^ ^ R DATA^ ^ \^ S DATA^ _ ^ \S DATA_ \_ ^ J >DATA\_ _ _ S DATA_ _ \_ J %DATA_ ` _ K !DATA` \` _ K "DATA\` ` ` L .DATA` ` \` S DATA` a ` T DATAa \a `  XDATA\a a a L %DATAa a \a \T DATAa b a M "DATAb \b a M DATA\b b b T \jDATAb b \b T sssDATAb c b N #sssDATAc \c b N >sssDATA\c c c O sssDATAc c \c O TsssDATAc d c ` %sssDATAd \d c ` )sssDATA\d d d U sssDATAd d \d a /sssDATAd e d \U sssDATAe \e d U sssDATA\e e e U FREEDATAe e \e V FREEDATAe f e a QFREEDATAf \f e \V DATA\f f f b 'FREEDATAf f \f V FREEDATAf g f b (FREEDATAg \g f c +urn DATA\g g g V FREEDATAg g \g W FREEDATAg h g c %FREEDATAh \h g d FREEDATA\h h h d FREEDATAh h \h e %FREEDATAh i h \W FREEDATAi \i h e !FREEDATA\i i i f 6FREEDATAi i \i  bFREEDATAi j i W DATAj \j i f 'FREEDATA\j j j g CFREEDATAj j \j g BFREEDATAj k j W sssDATAk \k j X DATA\k k k \X DATAk k \k h CPDATAk l k h CDATAl \l k i CDATA\l l l X \jDATAl l \l X DATAl m l i M DATAm \m l j 51DATA\m m m Y DATAm m \m \Y \jDATAm n m j DATAn \n m k 1DATA\n n n Y MBMeDATAn n \n Y DATAn o n k CACaDATAo \o n l :DATA\o o o l )DATAo o \o Z DATAo p o \Z  DATAp \p o m DATA\p p p m MEfoDATAp p \p n ZDATAp q p n ?DATAq \q p o +DATA\q q q o gZDATAq q \q Z DATAq r q p BhZDATAr \r q p =hZDATA\r r r q @DATAr r \r Z DATAr s r [ iZDATAs \s r \[ DATA\s s s [ jZDATAs s \s [ DATAs t s q kZDATAt \t s r 9DATA\t t t r 2DATAt t \t \ DATAt u t \\ DATAu \u t s DATA\u u u s %mZDATAu u \u \ DATAu v u \ DATAv \v u t /ort DATA\v v v t (ort DATAv v \v u #FREEDATAv w v ] ort DATAw \w v \] FREEDATA\w w w u #FREEDATAw w \w ] FREEDATAw x w ] FREEDATAx \x w v #FREEDATA\x x x ^ FREEDATAx x \x \^ DATAx y x v #REEDATAy \y x ^ REEDATA\y y y ^ n1,vDATAy y \y w n0,nDATAy z y w "n1,nDATAz \z y x DATA\z z z x DATAz z \z y 4)EDATAz { z y AngthDATA{ \{ z _ engtDATA\{ { { z FREEDATA{ { \{ z ;FREEDATA{ | { { .FREEDATA| \| { \_ FREEDATA\| | | _ lf.DDATA| | \| _ DATA| } |  BEEDATA} \} | { FREEDATA\} } } \ FREEDATA} } \} | FREEDATA} ~ } | 7FREEDATA~ \~ } } (FREEDATA\~ ~ ~ } 2FREEDATA~ ~ \~ DATA~  ~ ~ 10.25DATA \ ~ ~ 0.25DATA\   0.75DATA  \ ! FREEDATA   \! FREEDATA \   !FREEDATA\   ! FREEDATA ܀ \  )FREEDATA܀  0 pendDATA \ ܀ 0 deaDATA\   1 #ubshDATA ܁ \ 1 ecoDATA܁  2 armsDATA \ ܁ ! nddDATA\   2 !ataDATA ܂ \ " fulDATA܂  3 !esiDATA \ ܂ \" dedDATA\   3 2IcacDATA ܃ \ 4 !IdepDATA܃  4 GIphDATA \ ܃ 5 :GIshDATA\   " posuDATA ܄ \ " cursDATA܄  5 =viewDATA \ ܄ # [4][DATA\   6 8ewbuDATA ܅ \ \# 2]mDATA܅  # mediDATA \ ܅ # [7]DATA\   6 )pooDATA ܆ \ 7 PrcuDATA܆  7 ;abnuDATA \ ܆ 8 9[28]DATA\   $ dirsDATA ܇ \ 8 sydDATA܇  \$ nfsxDATA \ ܇ $ aldiDATA\   $ imaDATA ܈ \ % popDATA܈  9 ]paDATA \ ܈  4]aDATA\   \% e_seDATA ܉ \ % tv3DATA܉  % 160]DATA \ ܉ & elliDATA\   9 menuDATA ܊ \ : *useDATA܊  : 2rtxDATA \ ܊ ; $inakDATA\   \& rolDATA ܋ \ ; inyDATA܋  & scuDATA \ ܋ & dirDATA\   ' emfDATA ܌ \ < ElefDATA܌  \' uttyDATA \ ܌ ' ]chDATA\   ' lenoDATA ܍ \ < Ded*DATA܍  ( stlDATA \ ܍ \( e[32DATA\   = 4linkDATA ܎ \ = 6ngthDATA܎  ( 1]tDATA \ ܎ ( anoDATA\   > oat_DATA ܏ \ ) nameDATA܏  \) panDATA \ ܏ ) opplDATA\   > 8][4]DATA ܐ \ ) filDATAܐ  * rtoDATA \ ܐ \* tartDATA\   * 2ivDATA ܑ \ * dFilDATAܑ  + dBoxDATA \ ܑ \+ htBDATA\   + aQuDATA ܒ \ + ButsDATAܒ  ? aDirDATA \ ܒ , efbDATA\   \, BuiDATA ܓ \ ? JensoDATAܓ  @ frbRDATA \ ܓ P 1bPytDATA\   , ctuaDATA ܔ \ , tActDATAܔ  - aceSDATA \ ܔ P kToCDATA\   Q nConDATA ܕ \ \- VXDATAܕ  Q *cDATA \ ܕ - rDATA\   R 4DATA ܖ \ R 2DATAܖ  S QWDATA \ ܖ - \DATA\   S DATA ܗ \ T DATAܗ  . DATA \ ܗ \. DATA\   . xDATA ܘ \ T HeDATAܘ  U 5DATA \ ܘ . ]DATA\   U K DATA ܙ \ / \DATAܙ  V <(DATA \ ܙ \/ 8DATA\   V KXDATA ܚ \ / eDATAܚ  / DATA \ ܚ W 9DATA\   ` DATA ܛ \ W GDATAܛ  \` wDATA \ ܛ X ?lDATA\   X FDATA ܜ \ ` zDATAܜ  ` }DATA \ ܜ a DATA\   Y 0DATA ܝ \ \a DATAܝ  a DATA \ ܝ a CDATA\   b DATA ܞ \ Y 'DATAܞ  \b DATA \ ܞ b DATA\   b DATA ܟ \ Z DATAܟ  Z $DATA \ ܟ c DATA\   \c wDATA ܠ \ A ZDATAܠ  [ 5DATA \ ܠ [ DATA\   \ UDATA ܡ \ \ *DATAܡ  ] 7DATA \ ܡ ] 0MDATA\   ^ =DATA ܢ \ c DATAܢ  c DATA \ ܢ ^ (DATA\   d DATA ܣ \ _ DATAܣ  _ (DATA \ ܣ p DATA\   \d DATA ܤ \ p VDATAܤ  q QDATA \ ܤ q PDATA\   d DATA ܥ \ r BDATAܥ  r 'DATA \ ܥ s DATA\   s $DATA ܦ \ t DATAܦ  d DATA \ ܦ e DATA\   t WDATA ܧ \ u PDATAܧ  u DATA \ ܧ v DATA\   \e DATA ܨ \ e DATAܨ  e DATA \ ܨ f DATA\   \f DATA ܩ \ v JDATAܩ  B ]DATA \ ܩ w "DATA\   f DATA ܪ \ w DATAܪ  x QDATA \ ܪ x 4DATA\   f DATA ܫ \ g DATAܫ  y sssDATA \ ܫ \g sssDATA\   g sssDATA ܬ \ g sssDATAܬ  h sssDATA \ ܬ y 5jjjDATA\   \h sssDATA ܭ \ h sssDATAܭ  h sssDATA \ ܭ z sssDATA\   i sssDATA ܮ \ z sssDATAܮ  \i sssDATA \ ܮ i sssDATA\   { <sssDATA ܯ \ { sssDATAܯ  i sssDATA \ ܯ j sssDATA\   | 3sssDATA ܰ \ \j sssDATAܰ  j sssDATA \ ܰ j sssDATA\   k sssDATA ܱ \ | sssDATAܱ  \k sssDATA \ ܱ } JsssDATA\   } sssDATA ܲ \ k sssDATAܲ  ~ !sssDATA \ ܲ ~ )sssDATA\   k sssDATA ܳ \  5sssDATAܳ  l sssDATA \ ܳ \l sssDATA\   l sssDATA ܴ \ l sssDATAܴ  m sssDATA \ ܴ  @sssDATA\   \m sssDATA ܵ \  sssDATAܵ  m sssDATA \ ܵ sssDATA\   m sssDATA ܶ \  CsssDATAܶ  CsssDATA \ ܶ  CsssDATA\   n DATA ܷ \ \n sssDATAܷ  n jjjDATA \ ܷ n sssDATA\   ,sssDATA ܸ \  #sssDATAܸ  o sssDATA \ ܸ \o sssDATA\   o sssDATA ܹ \ #sssDATAܹ   sssDATA \ ܹ !sssDATA\   o sssDATA ܺ \ P jjjDATAܺ  \P jjjDATA \ ܺ P DATA\   P jjjDATA ܻ \ Q jjjDATAܻ   (jjjDATA \ ܻ \Q jjjDATA\   Q sssDATA ܼ \ Q sssDATAܼ  R DATA \ ܼ \R sssDATA\   R sssDATA ܽ \ sssDATAܽ   6sssDATA \ ܽ R sssDATA\   S sssDATA ܾ \ DATAܾ   -DATA \ ܾ \S sssDATA\   S sssDATA ܿ \ S sssDATAܿ  T sssDATA \ ܿ \T sssDATA\   T DATA  \ sssDATA  C sssDATA \ T sssDATA\   U sssDATA  \  6sssDATA „ \U sssDATA„ \„ U sssDATA\„ „ „ DATA„ „ \„  !sssDATA„ Ä „ U sssDATAÄ \Ä „ V jjjDATA\Ä Ä Ä sssDATAÄ Ä \Ä \V sssDATAÄ Ą Ä  sssDATAĄ \Ą Ä V sssDATA\Ą Ą Ą sssDATAĄ Ą \Ą V jjjDATAĄ ń Ą W sssDATAń \ń Ą  )sssDATA\ń ń ń "sssDATAń ń \ń \W sssDATAń Ƅ ń  +sssDATAƄ \Ƅ ń W sssDATA\Ƅ Ƅ Ƅ W sssDATAƄ Ƅ \Ƅ DATAƄ DŽ Ƅ X sssDATADŽ \DŽ Ƅ \X sssDATA\DŽ DŽ DŽ X sssDATADŽ DŽ \DŽ X sssDATADŽ Ȅ DŽ Y sssDATAȄ \Ȅ DŽ  'sssDATA\Ȅ Ȅ Ȅ sssDATAȄ Ȅ \Ȅ  sssDATAȄ Ʉ Ȅ \Y sssDATAɄ \Ʉ Ȅ +sssDATA\Ʉ Ʉ Ʉ Y sssDATAɄ Ʉ \Ʉ  ,sssDATAɄ ʄ Ʉ Y sssDATAʄ \ʄ Ʉ sssDATA\ʄ ʄ ʄ ` sssDATAʄ ʄ \ʄ Z sssDATAʄ ˄ ʄ ` sssDATA˄ \˄ ʄ a 2sssDATA\˄ ˄ ˄ \Z sssDATA˄ ˄ \˄ Z sssDATA˄ ̄ ˄ a sssDATĀ \̄ ˄ b %sssDATA\̄ ̄ ̄ b sssDATĀ ̄ \̄ Z sssDATĀ ̈́ ̄ c sssDATÄ́ \̈́ ̄ [ sssDATA\̈́ ̈́ ̈́ c sssDATÄ́ ̈́ \̈́ \[ sssDATÄ́ ΄ ̈́ d sssDATA΄ \΄ ̈́ [ sssDATA\΄ ΄ ΄ d sssDATA΄ ΄ \΄ [ sssDATA΄ τ ΄ \ sssDATAτ \τ ΄ \\ sssDATA\τ τ τ \ sssDATAτ τ \τ \ sssDATAτ Є τ ] sssDATAЄ \Є τ \] jjjDATA\Є Є Є ] jjjDATAЄ Є \Є e jjjDATAЄ ф Є ] jjjDATAф \ф Є e sssDATA\ф ф ф ^ sssDATAф ф \ф \^ sssDATAф ҄ ф f sssDATA҄ \҄ ф f "sssDATA\҄ ҄ ҄ ^ sssDATA҄ ҄ \҄ g EsssDATA҄ ӄ ҄ ^ sssDATAӄ \ӄ ҄ _ sssDATA\ӄ ӄ ӄ \_ sssDATAӄ ӄ \ӄ g 'sssDATAӄ Ԅ ӄ h sssDATAԄ \Ԅ ӄ h !sssDATA\Ԅ Ԅ Ԅ _ sssDATAԄ Ԅ \Ԅ _ sssDATAԄ Մ Ԅ p sssDATAՄ \Մ Ԅ \p sssDATA\Մ Մ Մ p sssDATAՄ Մ \Մ i &sssDATAՄ ք Մ i sssDATAք \ք Մ j sssDATA\ք ք ք j 'sssDATAք ք \ք p sssDATAք ׄ ք q sssDATAׄ \ׄ ք \q sssDATA\ׄ ׄ ׄ q sssDATAׄ ׄ \ׄ k 2sssDATAׄ ؄ ׄ q sssDATA؄ \؄ ׄ k 1FREEDATA\؄ ؄ ؄ l FREEDATA؄ ؄ \؄ l +FREEDATA؄ ل ؄ m UFREEDATAل \ل ؄ m 5FREEDATA\ل ل ل n %FREEDATAل ل \ل r FREEDATAل ڄ ل \r FREEDATAڄ \ڄ ل r (2):DATA\ڄ ڄ ڄ n FREEDATAڄ ڄ \ڄ r alEDATAڄ ۄ ڄ s e()DATAۄ \ۄ ڄ o :FREEDATA\ۄ ۄ ۄ o FREEDATAۄ ۄ \ۄ \s e()DATAۄ ܄ ۄ s FREEDATA܄ \܄ ۄ  1e();DATA\܄ ܄ ܄ s FREEDATA܄ ܄ \܄ t FREEDATA܄ ݄ ܄ \t FREEDATA݄ \݄ ܄ t coEDATA\݄ ݄ ݄ t [0]DATA݄ ݄ \݄ u [1]DATA݄ ބ ݄ \u DATAބ \ބ ݄ u 0].tDATA\ބ ބ ބ u )EEDATAބ ބ \ބ v FREEDATAބ ߄ ބ FREEDATA߄ \߄ ބ  5FREEDATA\߄ ߄ ߄ \v FREEDATA߄ ߄ \߄ v lf,uDATA߄  ߄ v FREEDATA \ ߄ w FREEDATA\   -FREEDATA  \ \w FREEDATA   (FREEDATA \ RFREEDATA\    AFREEDATA  \ w )EEDATA  w FREEDATA \ x FREEDATA\   \x FREEDATA  \ FREEDATA  x FREEDATA \  FREEDATA\   x FREEDATA  \ ,FREEDATA   FREEDATA \ y FREEDATA\   \y FREEDATA  \ y FREEDATA  sssDATA \  *sssDATA\   y sssDATA  \ z sssDATA  \z sssDATA \ z sssDATA\   z sssDATA  \ { sssDATA  4sssDATA \ \{ sssDATA\    &jjjDATA  \ +sssDATA   sssDATA \ )sssDATA\    .jjjDATA  \ { sssDATA  { sssDATA \ sssDATA\   | sssDATA  \ \| sssDATA   2sssDATA \ | sssDATA\   | sssDATA  \ sssDATA  } sssDATA \ \} sssDATA\    sssDATA  \ } sssDATA  } sssDATA \ ~ sssDATA\   sssDATA  \ \~ sssDATA  ~ sssDATA \ ~ sssDATA\    LsssDATA  \  sssDATA  6sssDATA \ \ sssDATA\    sssDATA  \  sssDATA   'sssDATA \  sssDATA\   sssDATA  \  sssDATA  sssDATA \  &sssDATA\   \ sssDATA  \ sssDATA  *sssDATA \ ܐ sssDATA\    4jjjDATA  \ )sssDATA   sssDATA \ \ jjjDATA\    (jjjDATA  \ jjjDATA  ܑ jjjDATA \ %jjjDATA\    8jjjDATA  \ sssDATA   4sssDATA \ 0sssDATA\    sssDATA  \ sssDATA  D bsssDATA \  sssDATA\    AsssDATA  \ \ sssDATA  sssDATA \  :sssDATA\   5sssDATA  \  sssDATA  0sssDATA \  ?sssDATA\   /sssDATA  \  0sssDATA  /sssDATA \ sssDATA\    sssDATA  \ 6sssDATA  ܒ sssDATA \  6sssDATA\    sssDATA  \ ;sssDATA  \ sssDATA \  sssDATA\   sssDATA  \ ܓ sssDATA   sssDATA \ \ sssDATA\   "sssDATA  \  sssDATA  sssDATA \ ܔ sssDATA\    sssDATA  \ \ sssDATA  sssDATA \ sssDATA\    sssDATA  \ sssDATA   sssDATA \ sssDATA\    sssDATA  \ sssDATA   sssDATA \ ܕ sssDATA\   sssDATA  \  sssDATA   imasDATA \ \ syiDATA\   ilitDATA  \ ܖ MEdDATA   hannDATA \ ViewDATA\    ceSeDATA  \ \ ageDATA   !enSDATA \  quenDATA\   ܗ ropeDATA  \  nsorDATA    bCDADATA \  bObDATA\    !rbGDATA  \ \ bVisDATA   anneDATA \  ܘ intDATA\    TLENDATA  \ \ DATA   DATA \  =,DATA\   ܙ DATA  \  DATA    (DATA \  \  DATA\   9DATA  \ DATA   ܚ !\DATA \    yDATA\    4DATA  \ \ DATA   *DATA \  DATA\    8DATA  \ ܛ DATA    DATA \  /DATA\    <xDATA  \ \ &DATA  kDATA \ ܜ LDATA\    zDATA  \ 7DATA  \ {DATA \ DATA\   ܝ DATA  \  DATA  \ EDATA \ VDATA\   ܞ DATA  \  DATA  \ vDATA \ DATA\   ܟ #DATA  \  7DATA   DATA \ \ DATA\    DATA  \  DATA   ;DATA \  ]DATA\   kDATA  \   DATA   \ DATA \  JDATA\   DATA  \ ‡ DATA   \‡ DATA \  ‡ DATA\   ‡ DATA  \ Ç DATA    $DATA \  \Ç DATA\   Ç DATA  \ 4DATA   Ç DATA \   DATA\   E ZDATA  \ %DATA   ć \ZDATA \  \ć ZDATA\   ć ZDATA  \  4ZDATA   ć DATA \  DATA\   F ZDATA  \  %DATA   Ň ZDATA \  \Ň ZDATA\   \ZDATA  \ Ň DATA   Ň DATA \  Ї =DATA\   Ї ,ZDATA  \ ч DATA   Ƈ \ZDATA \  \Ƈ ZDATA\   ч JZDATA  \ Ƈ DATA   Ƈ DATA \  ҇ DATA\   LJ ZDATA  \ \LJ ZDATA   LJ ZDATA \  LJ \ZDATA\   ȇ ZDATA  \ \ȇ ZDATA   ȇ ZDATA \  ȇ \ZDATA\   ҇ !ZDATA  \ ɇ DATA   \ɇ DATA \  ɇ DATA\   ɇ DATA  \ Ӈ PDATA   Ӈ %ZDATA \  ԇ "DATA\   ʇ ZDATA  \ ԇ 3DATA   \ʇ ZDATA \  ʇ DATA\   ʇ DATA  \ ˇ DATA   \ˇ DATA \  Շ ;DATA\   ˇ DATA  \ Շ ;ZDATA w  և %DATAw \w  ˇ DATA\w w w ̇ ZDATAw w \w \̇ =DATAw w w ̇ ZDATAw \w w ̇ DATA\w w w ͇ ZDATAw w \w \͇ -DATAw w w և ZDATAw \w w ׇ $DATA\w w w ׇ DATAw w \w ͇ DATAw w w ͇ DATAw \w w · RDATA\w w w \· DATAw w \w · DATAw w w ؇ 4DATAw \w w ؇ !DATA\w w w · DATAw w \w χ DATAw w w \χ DATAw \w w χ DATA\w w w χ DATAw w \w ه ,DATAw w w ه DATAw \w w ڇ !DATA\w w w  ZDATAw w \w \ DATAw w w DATAw \w w DATA\w w w  DATAw w \w \ IDATAw w w DATAw \w w ڇ #DATA\w w w DATAw w \w  T>DATAw w w ۇ @v0DATAw \w w ۇ fFDATA\w w w \ >DATAw w \w ԋ ?DATAw w w EDATAw \w w  9?DATA\w w w \ 0tDATAw w \w DATAw w w ܇ 8B>DATAw \w w yvDATA\w w w ܇ !TDATAw w \w  ?DATAw w w \ bDATAw \w w 9DATA\w w w ݇ BDATAw w \w ݇ *v@DATAw w w ƂDATAw \w w  S?DATA\w w w އ QDATAw w \w \ :}DATAw w w އ 3XDATAw \w w ߇ .J#IDATA\w w w DATAw w \w ߇ 4xDATAw w w  4PDATAw \w w ?DATA\w w w  iDATAw w \w 5[lDATAw w w \ DATAw \w w  /EDATA\w w w 5ϋ DATAw w \w  5DATAw w w t=?DATAw \w w fFDATA\w w w  8y2DATAw w \w DATAw w w QDATAw \w w  $DATA\w w w ->DATAw w \w  9DATAw w w \ @vDATAw \w w  +T?DATA\w w w  þDATAw w \w u=DATAw w w DATAw \w w  f;ؽDATA\w w w \ yvDATAw w \w  !F#I?DATAw w w %DATAw \w w DATA\w w w @DATAw w \w  $DATAw w w  DATAw \w w \ @DATA\w w w #DATAw w \w  '"DATAw w w DATAw \w w DATA\w w w  0DATAw w \w V DATAw w w  "DATAw \w w =DATA\w w w  .@DATAw w \w @8DATAw w w   DATAw \w w (2DATA\w w w  DATAw w \w \ NDATAw w w 3 DATAw \w w @DATA\w w w  ^DATAw w \w VDATAw w w  PDATAw \w w \ lDATA\w w w @DATAw w \w sizeDATAw w w ns_DATAw \w w  %opymDATA\w w w "esoDATAw w \w  )totDATAw w w  mpsDATAw \w w tepDATA\w w w  F_paDATAw w \w \ mirDATAw w w resnDATAw \w w %ostDATA\w w w  "rroDATAw w \w  )in_sDATAw w w  rampDATAw \w w me[2DATA\w w w  UresiDATAw w \w  ideDATAw w w \ toncDATAw \w w  !fontDATA\w w w  pageDATAw w \w aceDATAw w w ypeDATAw \w w  ]maDATA\w w w \ arenDATAw w \w [4][DATAw w w  0sfDATAw \w w acdDATA\w w w G xnstrDATAw w \w  erwDATAw w w \ rkzDATAw \w w thiDATA\w w w H iasDATAw w \w  HawtyDATAw w w  %imaDATAw \w w rmatDATA\w w w  *padDATAw w \w \ eGeDATAw w w  posDATAw \w w  mulDATA\w w w  ualiDATAw w \w  ad1[DATAw w w  sampDATAw \w w \ 160]DATA\w w w  ximDATAw w \w  viewDATAw w w  lineDATAw \w w  [2]DATA\w w w \ ellDATAw w \w  lignDATAw w w  ()*DATAw \w w  KinenDATA\w w w  pttDATAw w \w  i_liDATAw w w \ desDATAw \w w  nhfDATA\w w w  pdirDATAw w \w  *hilDATAw w w  fielDATAw \w w  3headDATA\w w w \ selDATAw w \w  lectDATAw w w  textDATAw \w w  ndirDATA\w w w \ uffeDATAw w \w  b_leDATAw w w  "ainwDATAw \w w "fsyDATA\w w w  "lwiDATAw w \w "ewiDATAw w w  eadbDATAw \w w  dispDATA\w w w  starDATAw w \w ncuDATAw w w \ idthDATAw \w w  *actDATA\w w w  ]liDATAw w \w  [3]DATAw w w  crolDATAw \w w \ 32]DATA\w w w  32]DATAw w \w $(DATAw w w  XDATAw \w w  wDATA\w w w \ #DATAw w \w  DATAw w w  #DATAw \w w  &DATA\w w w  &DATAw w \w &DATAw w w \ DATAw \w w  &DATA\w w w  3"DATAw w \w  &DATAw w w  BDATAw \w w  4DATA\w w w  0gDATAw w \w  6qDATAw w w \ <#DATAw \w w  6DATA\w w w  @DATAw w \w  DATAw w w \  DATAw \w w  DATA\w w w  HDATAw w \w  3DATAw w w   DATAw \w w \ &DATA\w w w  =DATAw w \w  TDATAw w w  pDATAw \w w +DATA\w w w \ DATAw w \w I pDATAw w w  DATAw \w w  DATA\w w w ! CDATAw w \w  DATAw w w \ DATAw \w w  DATA\w w w  DATAw w \w ! $]DATAw w w  k DATAw \w w " $&DATA\w w w \ 6DATAw w \w " FFREEDATAw w w  FREEDATAw \w w # &FREEDATA\w w w  FREEDATAw w \w 0 edgeDATAw w w # VDATAw \w w \0 cDATA\w w w $ W}DATAw w \w $ &pDATAw w w 0 DATAw \w w % NDATA\w w w 0 DATAw w \w % !DATAw w w & uDATAw \w w 1 DATA\w w w & DATAw w \w \1 }DATAw w w 1 ~DATAw \w w 1 DATA\w w w 2 -DATAw w \w \2 '?DATAw  w 2 LDATA \ w ' DATA\   2  ^DATA ܐ \ 3 DATAܐ  ' D[DATA \ ܐ \3 DATA\   ( :DATA ܑ \ 3 DATAܑ  3 DATA \ ܑ 4 DATA\   ( xDATA ܒ \ ) DATAܒ  \4 DATA \ ܒ ) \DATA\   4 DATA ܓ \ * DATAܓ  4 EDATA \ ܓ 5 DATA\   \5 sssDATA ܔ \ 5 sssDATAܔ  5 sssDATA \ ܔ 6 sssDATA\   * sssDATA ܕ \ \6 sssDATAܕ  6 sssDATA \ ܕ 6 sssDATA\   + sssDATA ܖ \ 7 sssDATAܖ  \7 nnnDATA \ ܖ 7 sssDATA\   + CnnnDATA ܗ \ , CnnnDATAܗ  , CnnnDATA \ ܗ 7 nnnDATA\   k 0nnnDATA ܘ \ 8 nnnDATAܘ  \8 nnnDATA \ ܘ - 5sssDATA\   . %sssDATA ܙ \ 8 nnnDATAܙ  8 sssDATA \ ܙ 9 sssDATA\   \9 sssDATA ܚ \ . "sssDATAܚ  9 sssDATA \ ܚ / sssDATA\   9 sssDATA ܛ \ : sssDATAܛ  \: sssDATA \ ܛ : sssDATA\   / !sssDATA ܜ \ @ sssDATAܜ  : sssDATA \ ܜ @ sssDATA\   A sssDATA ܝ \ ; sssDATAܝ  A sssDATA \ ܝ B *sssDATA\   \; nnnDATA ܞ \ ; sssDATAܞ  ; sssDATA \ ܞ < sssDATA\   J asssDATA ܟ \ B #sssDATAܟ  \< sssDATA \ ܟ < nnnDATA\   < sssDATA ܠ \ = nnnDATAܠ  \= sssDATA \ ܠ = sssDATA\   C sssDATA ܡ \ K sssDATAܡ  L isssDATA \ ܡ C 'sssDATA\   D )sssDATA ܢ \ D sssDATAܢ  E OsssDATA \ ܢ E !sssDATA\   F -sssDATA ܣ \ = nnnDATAܣ  > sssDATA \ ܣ \> sssDATA\   > sssDATA ܤ \ > sssDATAܤ  F ?sssDATA \ ܤ ? sssDATA\   G $sssDATA ܥ \ G sssDATAܥ  H 8sssDATA \ ܥ \? nnnDATA\   H +sssDATA ܦ \ ? sssDATAܦ  I $sssDATA \ ܦ I sssDATA\   J 8sssDATA ܧ \ J .sssDATAܧ  K sssDATA \ ܧ K /sssDATA\   L nnnDATA ܨ \ ? sssDATAܨ  P sssDATA \ ܨ L sssDATA\   M sssDATA ܩ \ \P sssDATAܩ  M VsssDATA \ ܩ M dsssDATA\   N .sssDATA ܪ \ N !sssDATAܪ  P nnnDATA \ ܪ P sssDATA\   O AnnnDATA ܫ \ Q sssDATAܫ  \Q sssDATA \ ܫ Q sssDATA\   Q sssDATA ܬ \ R sssDATAܬ  \R sssDATA \ ܬ O AsssDATA\   R sssDATA ܭ \ ` !sssDATAܭ  R sssDATA \ ܭ k EFREEDATA\  FREEDATA  \ N oFREEDATA ܮ  ` "FREEDATAܮ  \ FREEDATA \ ܮ FREEDATA\   S sssDATA ܯ \ S sssDATAܯ  a <sssDATA \ ܯ T sssDATA\   b 'sssDATA ܰ \ \T sssDATAܰ  b sssDATA \ ܰ c sssDATA\   T sssDATA ܱ \ c )sssDATAܱ  T sssDATA \ ܱ U sssDATA\   d $sssDATA ܲ \ d "sssDATAܲ  e sssDATA \ ܲ \U sssDATA\   e *nnnDATA ܳ \ f -sssDATAܳ  f OsssDATA \ ܳ g 4sssDATA\   g &sssDATA ܴ \ h 4sssDATAܴ  h &sssDATA \ ܴ i sssDATA\   U sssDATA ܵ \ i CsssDATAܵ  j CsssDATA \ ܵ j CsssDATA\   U sssDATA ܶ \ V sssDATAܶ  k 'sssDATA \ ܶ k DsssDATA\   \V sssDATA ܷ \ V sssDATAܷ  V sssDATA \ ܷ l +nnnDATA\   l +sssDATA ܸ \ W sssDATAܸ  \W nnnDATA \ ܸ W sssDATA\   W sssDATA ܹ \ m "sssDATAܹ  m "sssDATA \ ܹ X sssDATA\    *sssDATA ܺ \ n HsssDATAܺ  p *sssDATA \ ܺ n +sssDATA\   p HsssDATA ܻ \ o +nnnDATAܻ  \X sssDATA \ ܻ X sssDATA\   X sssDATA ܼ \ Y sssDATAܼ  q ,sssDATA \ ܼ \Y sssDATA\   q ,\\\DATA ܽ \ Y sssDATAܽ  r ,sssDATA \ ܽ Y sssDATA\   r sssDATA ܾ \ s sssDATAܾ  Z sssDATA \ ܾ \Z sssDATA\   s %sssDATA ܿ \ t +sssDATAܿ  t +sssDATA \ ܿ Z nnnDATA\   Z sssDATA  \ [ nnnDATA  \[ sssDATA \ u "sssDATA\   u "DATA  \ [ FREEDATA … yk FREEDATA… \… % FREEDATA\… … … [ FREEDATA… … \… \ DATA… Å … v (0):DATAÅ \Å … v %REEDATA\Å Å Å j nd(nDATAÅ Å \Å \ DATAÅ ą Å i )FREEDATAą \ą Å \ nd(nDATA\ą ą ą w 4sssDATAą ą \ą w DATAą Ņ ą ] FREEDATAŅ \Ņ ą - *sssDATA\Ņ Ņ Ņ y *sssDATAŅ Ņ \Ņ ] sssDATAŅ ƅ Ņ ] nnnDATAƅ \ƅ Ņ z .sssDATA\ƅ ƅ ƅ z -sssDATAƅ ƅ \ƅ ^ sssDATAƅ Dž ƅ { sssDATADž \Dž ƅ \^ sssDATA\Dž Dž Dž ^ sssDATADž Dž \Dž ^ sssDATADž ȅ Dž { 'sssDATAȅ \ȅ Dž | +sssDATA\ȅ ȅ ȅ | +nnnDATAȅ ȅ \ȅ _ sssDATAȅ Ʌ ȅ \_ sssDATAɅ \Ʌ ȅ _ sssDATA\Ʌ Ʌ Ʌ _ nnnDATAɅ Ʌ \Ʌ } "nnnDATAɅ ʅ Ʌ } "nnnDATAʅ \ʅ Ʌ  nnnDATA\ʅ ʅ ʅ y *nnnDATAʅ ʅ \ʅ ~ *nnnDATAʅ ˅ ʅ \ nnnDATA˅ \˅ ʅ sssDATA\˅ ˅ ˅  +sssDATA˅ ˅ \˅  +sssDATA˅ ̅ ˅  ,sssDATA̅ \̅ ˅ ܀ sssDATA\̅ ̅ ̅ sssDATA̅ ̅ \̅  sssDATA̅ ͅ ̅ \ nnnDATAͅ \ͅ ̅ sssDATA\ͅ ͅ ͅ ܁ nnnDATAͅ ͅ \ͅ  sssDATAͅ ΅ ͅ +sssDATA΅ \΅ ͅ  +sssDATA\΅ ΅ ΅  sssDATA΅ ΅ \΅ \ sssDATA΅ υ ΅ nnnDATAυ \υ ΅ ܂ sssDATA\υ υ υ "nnnDATAυ υ \υ  "sssDATAυ Ѕ υ  sssDATAЅ \Ѕ υ ~ *sssDATA\Ѕ Ѕ Ѕ *sssDATAЅ Ѕ \Ѕ \ sssDATAЅ х Ѕ sssDATAх \х Ѕ +sssDATA\х х х  +sssDATAх х \х ܃ sssDATAх ҅ х sssDATA҅ \҅ х  nnnDATA\҅ ҅ ҅ \ sssDATA҅ ҅ \҅ sssDATA҅ Ӆ ҅ ܄ sssDATAӅ \Ӆ ҅  sssDATA\Ӆ Ӆ Ӆ  #sssDATAӅ Ӆ \Ӆ sssDATAӅ ԅ Ӆ \ \\\DATAԅ \ԅ Ӆ sssDATA\ԅ ԅ ԅ  sssDATAԅ ԅ \ԅ ܅ sssDATAԅ Յ ԅ  nnnDATAՅ \Յ ԅ BnnnDATA\Յ Յ Յ \ nnnDATAՅ Յ \Յ O nnnDATAՅ օ Յ nnnDATAօ \օ Յ ܆ nnnDATA\օ օ օ  %bjseDATAօ օ \օ  DATAօ ׅ օ FREEDATAׅ \ׅ օ \ FREEDATA\ׅ ׅ ׅ  #FREEDATAׅ ׅ \ׅ FREEDATAׅ ؅ ׅ %FREEDATA؅ \؅ ׅ ܇ FREEDATA\؅ ؅ ؅  %bjseDATA؅ ؅ \؅  FREEDATA؅ م ؅ FREEDATAم \م ؅ \ FREEDATA\م م م  #FREEDATAم م \م FREEDATAم څ م %FREEDATAڅ \څ م ܈ nnnDATA\څ څ څ  sssDATAڅ څ \څ  nnnDATAڅ ۅ څ sssDATAۅ \ۅ څ \ sssDATA\ۅ ۅ ۅ sssDATAۅ ۅ \ۅ  8sssDATAۅ ܅ ۅ 6sssDATA܅ \܅ ۅ  1sssDATA\܅ ܅ ܅ 8sssDATA܅ ܅ \܅ ܉ sssDATA܅ ݅ ܅  sssDATA݅ \݅ ܅ \ sssDATA\݅ ݅ ݅  sssDATA݅ ݅ \݅ )sssDATA݅ ޅ ݅ sssDATAޅ \ޅ ݅ ܊ sssDATA\ޅ ޅ ޅ  sssDATAޅ ޅ \ޅ \ sssDATAޅ ߅ ޅ sssDATA߅ \߅ ޅ  .sssDATA\߅ ߅ ߅ 'sssDATA߅ ߅ \߅  XnnnDATA߅  ߅ ܋ sssDATA \ ߅  *sssDATA\  FsssDATA #!BPYDATA HfDATA """DATA\ Name: 'MegaBool'REEDATA Blender: 234n/tDATA Group: 'Object'DATAH( Tooltip: 'Perform boolean operations on meshes and get nice results'ureDATA """DATA\ __bpydoc__ ="""\REEDATAH) 
DATAH)  Experimental New Mesh Boolean Operations
DATAH* 
DATAH*  (C) 2004 Theodore K Schundler (tschundler)(@)(scu)(edu)
DATAH+  FOR TESTING ONLY, not for redistribution
DATAH+  Lastest version available for from:
DATAH,  http://astro.scu.edu/~ted/oss/blender/boolean
DATAH, 
DATAH-  USAGE:
DATAH-  -By Menu-
DATAH.  * Put this file in ~/.blender/scripts/
DATAH.  * Select two objects, then choose "MegaBool" from the
DATAH/  scripts menu.
DATAH/  -By Running the script-
teDATAH  * Load this file into blender's internal text editor
*DATAH  * Select two objects, then press Alt+P in the test editor
faDATAH 
loDATAH  OPERATIONS:
l DATAH  On execution of the script, there are four operations
*DATAH  * Intersect - Intersection of the two meshes (logical AND)
DATAH  * Union - Union of the two meshes (logical OR)
DATAH  * Difference - First selected mesh - Last selected mesh
ooDATAH  * Cookie Cutter - First mesh's faces are subdivided where
DATAH  they intersect with the second mesh
sDATAH  After the script executes, all "inside" vertices are selected
gaDATAH 
biDATAH  IMPORTANT NOTES:
eDATAH  Like any boolean algorithm, normals on the source meshes must
,dDATAH  be all facing outside. To fix normals, select a mesh, enter
mpDATAH  edit mode, select all verticies, and press Ctrl+N. Also, all
(sDATAH  intersections must create closed loops. (Basically the meshes
d DATAH  should be closed.) If you find a set of meshes that do not work
.eDATAH  send me the .blend file and an explaination of the problem.
rvDATAH 
) DATAH  TO DO:
tsDATAH  * Set materials, UVs, etc., on new mesh
rsDATAH  * Intersection of curves? (use splines for smooth shapes)
geDATA hDATAD -----------------------------------------------------------------e DATAD  arDATAH  Date: Updates:
s.DATAH  16-Aug-2004 Initial Revision - working(?) & ready to go
f DATAH  17-Aug-2004 Fixed some bugs based on incorrect assumptions.
1]DATAH  that means even more computation. Also made more
DATAH  use of the traversalCookies to speed up a some
acDATAH  sections
DATAH  24-Aug-2004 Smart filling & other stuff...
ilDATAH  26-Aug-2004 Much cleanup, nothing new / fancy
=FDATAH  18-Sep-2004 Re-did filling. 2nd object can now be a set of
\tDATAH  loops. Other minor refinements.
DATAH  24-Sep-2004 Fixed a wrong assumption about vertex ordering
,oDATAH  26-Sep-2004 Got rid of special filling stuff that made face
nsDATAH  selection work better because with the new edit
psDATAH  modes, it isn't necissary.
ecDATAH  27-Oct-2004 Made some headway with the coplanar problem, but
ecDATAH  there is still a colinear problem, and sometimes
.rDATAH  an issue if a point lies in another objects plane
t(DATAH  01-Nov-2004 Fixed edge crossing tests in joinconcentric
prDATAH  10-Dec-2004 Rewrite of almost everything
fDATAD  stDATA """DATA hDATA( __author__ = "Theodore K. Schundler"selDATA  __version__ = "r9 15-Dec-04" 32DATA4 __email__ = ('Author EMail, tschundler:scu*edu') DATAX __url__ = ('elysiun','Script Web Page, http://astro.scu.edu/~ted/oss/blender/boolean/')DATA\ hDATA hDATA import BlendereDATA from Blender import NMeshfdDATA from Blender import Object DATA from Blender import DrawfacDATA  from Blender import MathutilsrnDATA from Blender.Mathutils import *DATA e(eDATA\ traversalCookie=0haDATA messages=""DATA =5 DATA  edDATAD ###################################################################DATAD # Utility Functions #DATAD ###################################################################DATA\ def MidPoint(v1,v2):#e.DATA8  return (v1*0.49+v2*0.51); #a little bit of jitter ...rDATA ###DATA def ExpandBounds(Bounds,v):DATA  for i in range(3):DATA  if (Bounds[0][i]>v[i]): DATA  Bounds[0][i]=v[i],1DATA  if (Bounds[1][i]b2[1][i]) or (b2[0][i]>b1[1][i]):01)DATA   return 0DATA \  return 1CoDATA okiDATA\ def FindIntersectLineLine3D(p1,p2,p3,p4,stop_at_a=0,limits=0,advanced=0,tolerance=0.0002):DATA  if limits:DATA   #First test for shared pointsDATA0  if (p1==p3 or p1==p4 or p2==p3 or p2==p4):CT!DATA  return []oolDATA\ () DATAL  #Bounds test...maybe it should be tested to see if this actually helps?ntDATA@  if (TestBounds(BuildBounds(p1,p2),BuildBounds(p3,p4))==0): DATA  return []=2:DATA objDATAH  #based on http://astronomy.swin.edu.au/~pbourke/geometry/lineline3d/stDATAl  d2121=DotVecs(p2-p1,p2-p1) #note: square of the edge's length (maybe should be precomputed for all edges?)DATA  d4321=DotVecs(p4-p3,p2-p1)DATAD  d4343=DotVecs(p4-p3,p4-p3) #note: square of edge's length againmA DATA  d1343=DotVecs(p1-p3,p4-p3)DATA  d1321=DotVecs(p1-p3,p2-p1)DATA$  mnad = (d2121*d4343-d4321*d4321)rmDATAL  if mnad==0:#mnad>-0.00000000000001 and mnad<0.00000000000001: #parallele.vDATA  #print "Parallel!!!",mnadDATA   return []DATA\  else:0DATA(  mna = (d1343*d4321-d1321*d4343)/mnadDATA8  if (limits==0 or (mna>-0.000001 and mna <1.000001)):DATA$  mnb = (d1343+mna*d4321)/d4343DATAL  if ((limits==0 and stop_at_a==0) or (mnb > -0.00001 and mnb <1.000001)):DATA   if mnad<0.001 or advanced:DATA(  dv=p1+(p2-p1)*mna-(p3+(p4-p3)*mnb)DATA  dis=DotVecs(dv,dv)DATA4  #Needs to be 0.00001 for animtest to work...sDATAD  #Maybe is I break Quads into tris, this won't be a problem?ssDATA  if dis>tolerance:sDATAD  #print "Parallel - late detection",dv,dis,(p3+(p4-p3)*mnb)DATA  return []DATA  return [mna,mnb,dis]DATA\  return [mna,mnb]elfDATA  return []aDATA .fiDATA( def FindDistPointToLine3D(p1,p2,p3):DATA   Va=p2-p1taDATA \  Vb=p3-p1,sDATA  d=DotVecs(Va,Va)tuDATA  if d!=0: sDATA$  p4= ((DotVecs(Vb,Va)/d)*Va)+p1DATA  else:lDATA\  p4=p1DATA  Vc=p4-p3v.DATA  return DotVecs(Vc,Vc)nDATA dgeDATA def TestVertInEdge3D(v,e):DATA \  d=e.dotv[2DATA  if d!=0:e/DATA  vA=v.tco-e.v[0].tcoe[DATA  dA=DotVecs(vA,e.vect)DATA \  de=dA/dopDATA   if (de>1.0001 or de<-0.0001):DATA  return 0DATA  dp=de*d+e.v[0].tcoDATA  else:DATA\  dp=e.v[0].tcoDATA  vB=dp-v.tcojjDATA  dB=DotVecs(vB,vB)DATA!  if dB<0.0001:DATA \!  return 1DATA !  return 0DATA! DATA, def TestIntersectLineLine3D(p1,p2,p3,p4):sDATA<  return len(FindIntersectLineLine3D(p1,p2,p3,p4,0,1))==2ssDATA" DATA, def TestEdgeIntersectLoop3D(p0,p1,loop):DATA  lastv=loop[len(loop)-1]DATA\"  for v in loop:DATA@  if TestIntersectLineLine3D(p0.tco,p1.tco,lastv.tco,v.tco):DATA "  return 1DATA "  lastv=vDATA #  return 0DATA\# DATA0 def TestPointSideOfLine3D(point,v0,v1,normal):DATA<0  #Note: Maybe I should store the edge's normal on the edge?DATAH0  #This function gets called from different loops, so it may be worth itDATA1  cp=CrossVecs(normal,v1-v0)DATA# ssDATA#  s=DotVecs(point-v0,cp)DATA $  if s < 0:DATA \$  return 0DATA$  else:DATA $  return 1DATA% DATA81 #test if a point is within the edges of a convex facesDATA<2 #Basically we make sure the point is on the "inside" sideDATA 2 #of all the edges of the shape.DATAT3 #it may be worthwhile to optimize this since uit gets a called a lot when fillingDATA(3 def TestPointInConvexLoop(p,l,normal):DATA\%  lastv=l[len(l)-1]DATA%  for v in l:DATA<4  if not TestPointSideOfLine3D(p,lastv.tco,v.tco,normal):DATA %  return 0DATA &  lastv=vDATA \&  return 1DATA&  DATAT4 def FindIntersectRayPlane(r_point,r_direction,p_point,p_normal,positive_only=0):ssDATA$5  d=DotVecs(p_normal,r_direction)ssDATA&  if abs(d)<0.001:sDATA '  return 0DATA(5  n=DotVecs(p_normal,p_point-r_point)ssDATA\'  nd=n/dDATA6  if nd<0 and positive_only:DATA '  return 0DATA '  return ndDATA( DATA06 def TestPointInPlane(point,normal,facevert):v0DATA\(  va=point-facevertDATA87  #normal's length should always be 1....why isn't it??DATA$7  d=DotVecs(normal,va)/normal.lengthDATAH8  #must be <0.001 ....apparently much less than 0.001 is a problem too>DATA(8  #>=0.001 needed for animtest frame 82DATA9  if d<0.001 and d > -0.001:DATA49  print "Point in Plane:",d,point,normal,facevert>DATA (  return 1DATA (  return 0DATA)  ?DATA: def TestPointInFace(p,f): ?DATA\)  vcount=len(f.v)BBDATA )  if vcount:DATA0:  return TestPointInConvexLoop(p,f.v,f.normal)DATAL;  else: #This is an infinitely large face, so we test between the two edgesmDATA)  v0=f.edges[0].v[0]DATA*  v1=f.edges[1].v[0]DATA(;  d0=DotVecs(v1.tco-v0.tco,p-v0.tco)?DATA(<  d1=DotVecs(v0.tco-v1.tco,p-v1.tco)ܒ#DATA\*  if d0>0 and d1>0:DATA(<  #print "PIF",d0,d1,v0.tco,v1.tco,p{DATA *  return 1DATA*  else:DATA+  #print "PNIF"ssDATA \+  return 0DATA+ GDATAD= def TestIntersectRayFace(r_point,r_direction,face,positive_only=0):DATA\  d=FindIntersectRayPlane(r_point,r_direction,face.e[0].v[0].tco,face.normal,positive_only)DATA +  if d==0:?DATA ,  return 0DATA=  p=r_point+d*r_direction>DATA >  return TestPointInFace(p,face)DATA\, ?DATA(> def FindIntersectEdgeFace(edge,face):DATA,  r_point=edge.v[0].tcoDATA$?  r_direction=edge.v[1].tco-r_pointDATAP?  d=FindIntersectRayPlane(r_point,r_direction,face.e[0].v[0].tco,face.normal)DATA ,  if d==0:YDATA -  return 0DATA8@  #May need to fudge these valus for fuzzy intersectionsDATA,@  if (not edge.infinite) and (d<0 or d>1):?DATA \-  return 0DATAA  p=r_point+d*r_directionlDATA A  if TestPointInFace(p,face):vDATA -  return pDATA -  return 0DATA. DATA0B def MakeLoopX(start,vA,state,face,lastEdge=0):DATA\.  global traversalCookieDATA.  #print "LS",vA,vA.e.DATA.  for e in vA.e:DATA@B  if e.travCookieDATAP  for vB in e.v:DATAx  if vB!=vA and vB!=lastVert: #it is unfortunately possible to have edges that connect to themselves or back traceDATAP  if vB==start:DATA$E  e.travCookie=traversalCookie?DATAQ  return [vA]DATA(F  if vB.travCookielimithigh):DATA,c  #print "give limits -- ",guess,100-passesDATA V  return -1DATAW  gg=guess*guessDATA(c  valvec=Vector([gg*guess,gg,guess,1]) DATA d  value=DotVecs(equation,valvec)DATAd  if abs(value)<0.000000001:DATA(e  print "result found in ",100-passes DATA\W  return guessDATA$e  deriv=DotVecs(derivative,valvec)EEDATA8f  #print "\ttest.... ",guess,"->",value," (",deriv,")"yDATAd  return FirstIterativeCubicZero(equation,derivative,guess-value/deriv,passes-1,limitlow,limithigh)DATAW + DATA(f def CubicRationalZeros(equation,guess):DATADg  derivative=Vector([0,equation[0]/3.0,equation[1]/2.0,equation[2]])DATADg  first=FirstIterativeCubicZero(equation,derivative,guess,100,-1,2)EDATAW  return firstDATAX  DATA\X  DATADh ###################################################################DATADh # Pretty Quad Filler #DATADi ###################################################################DATAX DATAX REEDATAPi #This may be a little faster if conversted to a 2D function using the desiredDATA8j #normal as the Z axis (doing a matrix transformation)DATAY DATA\Y #Add a face to an nmeshDATAj #Select verts as applicableDATA4k def AddFace(oldFace,newMesh,vertexList,selected):DATAY  vxl=[]DATAY  for v in vertexList:DATAk  if v.newCounterpart==0:DATA<l  v.newCounterpart=NMesh.Vert(v.tco[0],v.tco[1],v.tco[2])DATA,l  newMesh.verts.append(v.newCounterpart)DATA Z  v.used=1DATA\Z  if selected:DATAm  v.newCounterpart.sel=1DATA m  vxl.append(v.newCounterpart)DATAn  newFace=NMesh.Face(vxl)DATAn  if oldFace.counterPart:REEDATA,o  newFace.smooth=oldFace.counterPart.smoothDATA o  newMesh.faces.append(newFace)DATAZ DATADp def JoinConcentric(vertList,enclosed,CCWlist,allList,normal,f,nm):DATA@p  #Preffer parallel edges (smaller dot product absolute value)DATADq  #something is wrong here... should be both close _and_ parallelDATAZ  #not just close...DATA[  bestOuter=0DATA\[  bestInner=0DATA[  parallelness=10000000DATA[  Ocount=len(vertList)DATAq  for On in range(Ocount):DATA<r  I0=vertList[(On+Ocount-1)%Ocount].tco-vertList[On].tco;DATA4r  I1=vertList[(On+1)%Ocount].tco-vertList[On].tco;DATA\  for vl in enclosed:DATA\\  Icount=len(vl)DATAs  for In in range(Icount):DATA(s  vect=vertList[On].tco-vl[In].tco;DATA\  d=vect.length;DATA\  par=parallelnessDATA0t  O0=vl[(In+Icount-1)%Icount].tco-vl[In].tco;DATA,t  O1=vl[(In+1)%Icount].tco-vl[In].tco;DATA$u  pt=(abs(DotVecs(I0,O0))+0.01)*dDATA]  if (pt  #test verts in inner loopDATA )  enc=[]DATA\)  for vl in CCWlist:DATA)  for lp in vl:DATA<>  if TestPointInConvexLoop(lp.tco,loopReal,normal):DATA)  try:achDATA*  enc.index(vl)gDATA\*  except:DATA*  enc.append(vl)DATA*  ok=0aCDATA +  if ok:DATA\+  newVL=[]nDATA+  n=loop[sides-1]cDATA+  while n!=loop[1]:DATA$?  newVL.append(vertList[n])DATA ,  n+=1DATA\,  n%=countDATAL?  if FillProcessedLoop(newVL,CCWlist,normal,oldFace,newMesh,selected):DATAh@  #print "Face! ",[vertList[i],vertList[(i+1)%count],vertList[(i+2)%count],vertList[(i+3)%count]]DATA4P  AddFace(oldFace,newMesh,loopReal,selected)1DATA,  return 1DATA ,  else:DATA -  1annDATAP  #print "failed..."DATAQ  #for vx in vertList:DATA\-  # print vx.tcoWDATA,Q  #print "--------------------------"DATA -  else:DATA8R  #There is apparently a heirarchy of loops hereRDATA4R  #Connect this loop to a revelvant inner loopDATATS  return JoinConcentric(vertList,enc,CCWlist,normal,oldFace,newMesh,selected)DATA -  #else:DATAS  # print "Not Convex..."DATA T  #print "Fail fill size",sidesDATA .  return 0DATA\. DATA. DATALT def FillProcessedLoop(vertList,CCWlist,normal,oldFace,newMesh,selected):aDATA8U  #Four or more points, then we try to fill with quadsDATA.  if len(vertList)>3:DATALU  if nFillLoop(4,vertList,CCWlist,normal,oldFace,newMesh,selected,0.00001):DATA /  return 1DATA@V  #Three points or quad fill failed, we try to fill with trisGDATA\/  if len(vertList)>2:IDATALV  if nFillLoop(3,vertList,CCWlist,normal,oldFace,newMesh,selected,0.00001):DATA /  return 1DATA/  else:DATA<W  #if it failed, don't be as picky about what is convex.mDATA`  if len(vertList)>3:DATAHW  if nFillLoop(4,vertList,CCWlist,normal,oldFace,newMesh,selected,0):DATA\`  return 1DATA@X  #Three points or quad fill failed, we try to fill with trisDATAHX  if nFillLoop(3,vertList,CCWlist,normal,oldFace,newMesh,selected,0):DATA`  return 1DATA `  else:DATAa  return 0DATA4Y  #if there are less than three points we're done]DATA\a  else:DATA a  return 1DATAa JDATAb DATA(Y def FillPreprocess(VertexLists,normal):DATA\b  RightWay=[]jDATAb  WrongWay=[]DATAb  DATA Z  for ThisList in VertexLists:DATA(Z  lastTest=ThisList[len(ThisList)-1]DATAc  FlipList=0DATA\c  Direction=0.DATA\A  #this runs the test multiple times. Realy just two times were you get the same result intDATA8[  #a row should be sufficient, or once in "fast mode"DATA[  for testpt in ThisList:DATAX\  #Have the ray start midway on the segment because it may get confused on the edges@DATA,\  midpt=MidPoint(lastTest.tco,testpt.tco)DATA8]  #The ray is perpendicular to the edge and the normalDATA4]  ray=CrossVecs(testpt.tco-lastTest.tco,normal)ssDATA@^  #print "B:",ThisList[0].tco,ThisList[1].tco,"->",midpt,raysDATAc DATAc  isect_counter_all=0DATA^  isect_counter_others=0sDATAd (DATA$_  for OtherList in VertexLists:ssDATA,_  prevVert=OtherList[len(OtherList)-1]ssDATAp  for Vert in OtherList:DATA\d  #print Vert.tcoDATAXp  if not ((prevVert==lastTest)): #Don't even try to test for intersection with selfDATATq  #print "TX: ",midpt,midpt+ray,prevVert.tco,Vert.tco,testpt.tco,lastTest.tcojDATATq  isect=FindIntersectLineLine3D(midpt,midpt+ray,prevVert.tco,Vert.tco,1,0,0)jjDATAd  #if len(isect):DATADr  # print "\tX:",isect[0],isect[1],midpt+ray*isect[0],isect[2]DATA(r  if (len(isect)>0 and isect[0]>0):DATAs  isect_counter_all+=1DATA(s  if (not OtherList==ThisList):ssDATA t  isect_counter_others+=1DATAd  prevVert=VertDATAe DATAXt  #if the ray intersects an odd number of edges, it is pointing in the wrong directionDATATu  #if it is pointing in the wrong direction, the verticies aren't ordered rightssDATA u  if (isect_counter_all&1==1):DATAv  #print "Flipped List"sDATA\e  FlipList+=1DATAe  #ThisList.reverse()DATA e  else:DATAf  FlipList-=1DATA\f DATALv  #if it intersects an even number of edges of objects other than it selfDATA`B  #then it is an outer loop in a set of concentric loops (i.e. the outer edge of a doughnut)sDATA$w  if (isect_counter_others&1==0):DATAf  Direction+=1DATA$w  #RightWay.append(ThisList); ssDATATx  #otherwise it is an inner loop (the edges that make up the hole of a doughnut)sDATA8x  #and the verts are ordered in the other directionssDATA f  else:DATAg  Direction-=1ssDATA y  #WrongWay.append(ThisList);DATA\g  ssDATAg  lastTest=testptDATAg  DATAh  #apply direction...sDATA8y  #print "Flipped: ",FlipList,"Direction:",Direction sDATA\h  if FlipList>0:ssDATAh  ThisList.reverse()sDATAh  if Direction>0:sDATA z  RightWay.append(ThisList)ssDATAi  else:DATA z  WrongWay.append(ThisList)ssDATA\i  lastTest=testptsDATAi  DATA@{  #print "Right Way:",len(RightWay),"WrongWay:",len(WrongWay)ssDATA{  return [RightWay,WrongWay]DATAi ssDATAj ssDATA4| def FillLoops(loops,oldFace,newMesh,flip,selected):DATA\j ssDATAj  if loops==[]:DATA j  returnssDATAk  DATA |  #print "SRART FILLL------" sDATA\k  DATAL}  #if the face needs to be flipped (i.e. when doing a difference operation)DATA}  normal=oldFace.normal*flipDATAk ssDATA$~  #First establish loop directionssDATA,~  FixedLists=FillPreprocess(loops,normal) sDATAk ssDATA8  #Now make two lists - clockwise and counterclockwisesDATAl  CWlist=FixedLists[0]sDATA\l  CCWlist=FixedLists[1]DATAl ssDATAl  #Time to fill!DATAm  for l in CWlist:sDATAD  i=FillProcessedLoop(l,CCWlist,normal,oldFace,newMesh,selected)ssDATA \m  if i==0:DATA   print "\t\t\tFill Failed..."DATAm  for v in l:DATA  print "\t\t\t\t",v.tco,vssDATAm ssDATAD ###################################################################DATAD # Boolean Op objects #DATAD ###################################################################DATAn ssDATA\n # 0 -> UnknownDATAn # 1 -> OutsideDATAn # 2 -> InsidesDATA0 # 3 -> Coplanar -> normals in same directionssDATA$ # 4 -> Coplanar -> opposing normalsDATAo # 5 -> cut faceDATA\o  DATAo class bVert:ssDATA$  def __init__(self,coord,normal=0):DATA  global traversalCookiessDATA$  self.travCookie=traversalCookiesDATAo  coord.resize3D()DATAP  self.tco=coordjjDATA\P  self.sharedvert=0DATAP  if normal:jjDATAP  self.normal=normaljDATAQ  else:DATA,  self.normal=Vector([0.0,0.0,0.0,1.0])ssDATA \Q  self.e=[]DATA Q  self.f=[]DATAQ  self.newCounterpart=0DATAR  self.redirect_to=0ssDATA\R  self.redirect_from=0DATAR ssDATA$  def findSide(self,otherObject):ssDATA8  print "\t\t\tlame vert side look up -",self,self.tcoDATAR  ray=Vector([1,0,0])sDATA S  ifaces=0DATA  for f in otherObject.faces:sDATA0  if TestIntersectRayFace(self.tco,ray,f,1):sDATA\S  ifaces+=1sDATAS  if (ifaces%2)==1:DATA S  return 2DATAT  else:DATA \T  return 1DATAT DATA$  def ApplyFaceIntersection(v,f):jjDATAC  print "VERT LIES IN FACE! (",v," in ",f,")--------------------------------------------------------------------------------"DATAT ssDATAU  for ve in v.e:sDATA8  if ve.v[0].GetRedirectTo()==v.GetRedirectTo():DATA\U  evect=ve.vectDATAU  else:sDATA  evect=ve.vect*(-1)DATA$  d=DotVecs(evect,f.normal)sDATAU  if d>0.000001:DATAV  ve.state=1DATA  for ef in ve.f:jjDATA\V  ef[0]=1jDATA  elif d<-0.000001:sDATAV  ve.state=2DATA  for ef in ve.f:ssDATAV  ef[0]=2DATAW  else:sDATA,  print "EDGE LIES IN FACE!!!! ",dsDATA$  ve.ApplyIntersection(f,v)DATA\W  sDATA,  #mark as shared and such and move onDATAW  v.sharedvert=1sDATAW  v.f.append(f)ssDATA  f.extraVerts.append(v)sDATAX  f.state=5ssDATA\X ssDATAX  def GetRedirectTo(vA):DATAX  if vA.redirect_to==0:DATAY  return vAssDATA(  return vA.redirect_to.GetRedirectTo()DATA  def GetRedirectFrom(vA):sDATA  if vA.redirect_from==0:sDATA\Y  return vAssDATA,  return vA.redirect_from.GetRedirectFrom()DATAY  def MergeVert(vA,vB):DATA0  if vA.GetRedirectTo()==vB.GetRedirectTo():DATA Y  returnsDATA  dest=vA.GetRedirectFrom()DATA`  src=vB.GetRedirectTo()ssDATAZ  src.redirect_to=destDATA`  dest.redirect_from=srcssDATA4a  print "Redirection Created!!!!",src.tco,dest.tcoDATA\Z  sDATAZ  def real(self):ssDATAa  if (self.redirect_to!=0):DATA(b  return self.GetRedirectTo().real()DATA b  if (self.redirect_from==0):sDATAZ  return selfDATA c  nextfrom=self.redirect_fromsDATA[  while (nextfrom):DATAc  #if nextfrom.crossed:ssDATA\[  # self.crossed=1DATAd  if nextfrom.sharedvert:DATA[  self.sharedvert=1sDATAd  for nff in nextfrom.f:sDATA[  notfound=1DATA\  for f in self.f:ssDATA\\  if (f==nff):sDATA\  notfound=0ssDATA\  if (notfound):DATA]  #print "af:",nffsDATA\]  self.f.append(nff)DATA]  for e in nextfrom.e:DATAe  if e.v[0]==nextfrom:ssDATA]  e.v[0]=selfjjDATAe  elif e.v[1]==nextfrom:DATA^  e.v[1]=selfssDATA\^  self.e.append(e)ssDATA f  nextfrom.redirect_to=selfssDATA$f  nextfrom=nextfrom.redirect_fromDATA^  self.redirect_from=0DATAHg  print "RVert: ",self,self.tco#,self.inside,self.outside,self.cutBy sDATA^  return selfsDATA_  DATA\_ class bEdge:ssDATA(g  def __init__(self,bv0,bv1,infinite=0):DATAh  global traversalCookiessDATA$h  self.travCookie=traversalCookiesDATA_  i=0sDATA_  self.children=[]DATAp  self.cutpoint=0sDATA \p  self.f=[]DATAp  self.v=[bv0,bv1]DATA(i  self.bb=BuildBounds(bv0.tco,bv1.tco)DATAi  self.vect=bv1.tco-bv0.tcoDATAj  self.len=self.vect.lengthDATA(j  self.dot=DotVecs(self.vect,self.vect)DATAp  self.infinite=0sDATAq  self.state=0DATA\q  bv0.e.append(self)ssDATAq  bv1.e.append(self)ssDATA4k  print "\t\tAdding Edge... ",self,bv0.tco,bv1.tcoDATAq DATA4k  #This should really only be done when its neededr0DATA l  def CalculateTangents(self):32DATA,l  print "\t\tCalulating tangents for ",selfDATAXm  vl=self.vect.length*0.333333 #0.5 has been suggested. Also maybe it should be 1/pi?DATA8m  #Initial dumb version that doesn't support creasingpyDATA(n  n=[Vector([0,0,0]),Vector([0,0,0])] DATA r  cp=[0,0]DATA \r  t=[0,0]vDATAr  for i in range(2):DATAn  for f in self.v[i].f:1%DATAr  n[i]+=f.normalEDATAs  n[i].normalize()DATA<o  cp[i]=CrossVecs(self.v[(i+1)%2].tco-self.v[i].tco,n[i])DATA o  t[i]=CrossVecs(n[i],cp[i])32DATA\s  t[i].normalize()DATA s  t[i]*=vlDATA4  print "V:",self.v[i].tco," N:",n[i]," T:",t[i]r0DATA s  self.t=tDATAt  #self.t[0]*=-1REEDATA\t  DATAt  p0=self.v[0].tcoEDATAt  p1=self.v[0].tco+t[0]DATAu  p2=self.v[1].tco+t[1]DATA\u  p3=self.v[1].tcoEDATA u  self.D=p0DATAu  self.C=3*(t[0])EEDATAv  self.B=3*p0-6*p1+3*p2DATA  self.A=(-1)*p0+3*p1-3*p2+p332DATA8  print "A:",self.A,"B",self.B,"C:",self.C,"D",self.DpyDATA\v  DATAv  def BezierAt(self,u):DATA v  uu=u*u-vDATA w  uuu=uu*uDATA0  return self.A*uuu+self.B*uu+self.C*u+self.DooDATA\w  DATA,  def SmoothIntersectPlane(self,eqPlane):megDATAT  #Taking advantage of matricies to find the cubic equation we need to solve for uEDATAD  mtx=Matrix(list(self.A),list(self.B),list(self.C),list(self.D))EEDATAw  mtx.resize4x4()EEDATAw  mtx[3][3]=1.0DATAx  #print mtxDATA\x  mtx.transpose()EDATA  sol=VecMultMat(eqPlane,mtx)32DATAx  #print solDATA   u=CubicRationalZeros(sol,0.0)DATAx  if (u>=0 and u<=1.0):DATA0  print "u: ",u, "Coord: ",self.BezierAt(u)ooDATA  return self.BezierAt(u)%DATAy  else:DATA\y  return []DATAy  . DATA  def ApplyIntersection(e,f,v):DATA,  #Step 1 - remove instances of this face:DATAy  for ef in e.f:ssDATAz  if ef[1]==f:DATA\z  e.f.remove(ef)DATAz  ssDATAz  op=Vector([0,0,0])ssDATA {  cofaces=0DATA8  #Step 2 - figure out the two original face's sidesssDATA\{  for ef in e.f:ssDATA(  if ef[1].parent==e.f[0][1].parent:DATA,  dc=DotVecs(f.normal,ef[1].center-v.tco)DATA  if abs(dc)<0.000001:ssDATA,  if DotVecs(f.normal,ef[1].normal)>0:sDATA0  print "\tCOPLANAR FACES - SAME - ",ef,dcDATA{  ef[0]=3sDATA{  e.f.append([3,f])DATA  f.coedges.append(e)sDATA|  cofaces=1DATA \|  else:DATA4  print "\tCOPLANAR FACES - OPPOSING - ",ef,dcDATA|  ef[0]=4jDATA|  e.f.append([4,f])DATA  f.coedges.append(e)sDATA}  cofaces=1DATA\}  elif dc>0: #outsideDATA   print "\tOUTSIDE - ",ef,dcDATA}  op+=ef[1].centersDATA}  ef[0]=1ssDATA ~  else:sDATA  print "\tINSIDE - ",ef,dcDATA\~  ef[0]=2ssDATA~  op+=ef[1].centersDATA~  DATAP  #Step 3 - figure out if this face is anything relative to the edge's facesssDATA  if (cofaces==0):DATA8  #simple case - part is inside, the other is outsideDATA\  e.f.append([1,f])ssDATA  e.f.append([2,f])ssDATA  else:DATA(  nt=e.f[0][1].normal+e.f[1][1].normalDATA  nt.normalize()jDATA  dA=DotVecs(nt,f.normal)DATA$  dB=DotVecs(op-v.tco,f.normal)ssDATA  if dA>0.9999999: #cosameDATA(  print "\tSELF SAME - ",f,dA,dB,e.fDATA\  e.f.append([3,f])sDATA  elif dA<-0.9999999:DATA,  print "\tSELF OPPOSING - ",f,dA,dB,e.fDATAܐ  e.f.append([4,f])sDATA8  elif (dA>0 and dB<0) or (dA<0 and dB>0): #outsidessDATA,  print "\tSELF OUTSIDE - ",f,dA,dB,e.fsDATA  e.f.append([1,f])sDATA \  else:jjDATA,  print "\tSELF INSIDE - ",f,dA,dB,e.fssDATA  e.f.append([2,f])jDATAܑ  jjDATA(  def partition(self,cutVert,normals):sDATA<  #cutpoint=DotVecs(self.vect,cutVert.tco-self.v[0].tco)ssDATA  cv=cutVert.tco-self.v[0].tcoDATA8  cutpoint=(DotVecs(cv,self.vect)/self.dot)*self.lenssDATA4  #print "CUTPOINT: ",cutpoint,self.len-cutpointssDATA$  #cv2=cutVert.tco-self.v[1].tcossDATA  #cutpoint=DotVecs(cv,cv)DATAdD  print "\t\t Partitioning edge",self," by ",cutVert.tco," between ",self.v[0].tco,self.v[1].tcoDATA ssDATAD  #if applicable, perform operation on one of the child segments sDATA\  if self.children:DATA  cd=cutpoint-self.cutPointssDATA<  #0.00001 or smaller needed for booltest-anim? - refinedDATA8  #maybe 0.001 or so is good... for now using 0.0001inDATA   if cd<0.001 and cd >-0.001:hDATA4  print "\t\tBranching both ways on ",self,"A"griDATA@  #If applicable...follow branch both ways - needed sometimesDATA0  self.children[1].partition(cutVert,normals)DATA4  print "\t\tBranching other way on ",self,"B"qdiDATA0  self.children[0].partition(cutVert,normals)DATA  returnDATA   elif cutpoint>self.cutPoint:DATA8  return self.children[1].partition(cutVert,normals)nDATA ܒ  else:jjDATA8  return self.children[0].partition(cutVert,normals)DATA ssDATA<  #if cutpoint is too close to one of our verts, mergevertsDATA\  if cutpoint <0.0004:DATA   self.v[0].MergeVert(cutVert)DATA  A=0DATA ܓ  B=selfsDATA   Adone=1DATA \  Bdone=0DATA$  elif cutpoint>(self.len-0.0004):sDATA   self.v[1].MergeVert(cutVert)DATA  A=selfsDATAܔ  B=0DATA   Adone=0DATA \  Bdone=1DATA  else: DATA  #otherwise, make new edgeseDATA  self.v[0].e.remove(self)DATA  self.v[1].e.remove(self)DATA  self.cutPoint=cutpointdDATA  A=bEdge(self.v[0],cutVert)erDATA   B=bEdge(cutVert,self.v[1])sDATA  self.children.append(A)eDATA  self.children.append(B)[DATAܕ  for f in self.f:DATA  B.f.append([0,f[1]])disDATA  A.f.append([0,f[1]])lerDATA   Adone=0dDATA \  Bdone=0]DATA  DATAܖ  Astate=Bstate=0ttDATA  eDATA  #determine inside vs outsidetDATA   normTot=Vector([0.0,0.0,0.0])DATA\  ld=0mDATA$  print "\t\t Normals:",normals[4DATA  for n in normals:DATAܗ  normTot+=n[0]opeDATA  vx=n[1]-cutVert.tcotDATA  ds=DotVecs(vx,self.vect)DATA  d=DotVecs(n[0],self.vect)minDATA$  if d<0.000001 and d>-0.000001:atDATA\  if ds>0:undDATA  ae=BoCDATAܘ  Bdone=1ConDATA   else:PDATA \  ae=ADATA  Adone=1 DATA@  print "\t\t\tEdge cut by parallel face...",cutVert.tco,aeTeDATA ܙ  if ae:DATA  for f in ae.f:DATA,  if f[1].parent==ae.f[0][1].parent:lVDATA\  nA=n[0]DATA  #print "f:",f,"n:",nDATA  nB=f[1].normalNDATAܚ  d=DotVecs(nA,nB)DATA  if d>0.99999:DATA8  print "\t\t\t COPLANAR - SAME",f[0],f[1],dDATA\  f[0]=3DATA,  ae.ApplyIntersection(n[2],cutVert)DATA  elif d<-0.99999:DATA<  print "\t\t\t COPLANAR - OPPOSING",f[0],f[1],dDATAܛ  f[0]=4DATA  else:DATA0  d=DotVecs(n[0],f[1].center-cutVert.tco)DATA@  print "\t\t\t EDGE-FACE PARALLEL WAS ",f[0],f[1],d4DATA\  if d>0:DATA  f[0]=1DATAܜ  else:WDATA  f[0]=2DATA8  print "\t\t\t EDGE-FACE PARALLEL",f[0],f[1],dDATA \  else:DATA  if ds>0.00001:DATAܝ  if d>0:0DATA  Bstate=1DATA \  else:DATA  Bstate=2DATAܞ  elif ds <-0.00001:DATA  if d<0:nDATA\  Astate=1DATA  else:DATAܟ  Astate=2DATA  DATA   print "\t\t\t\tFL:",ds,dDATA\  sDATA  d=DotVecs(normTot,self.vect)DATA  if (d==0): #parallel??DATA<  print "Edge cut by a parallel face - something is wrong"DATA  returnMDATA  elif (d > 0):DATA  if Astate==0:DATA\  Astate=2DATA  if Bstate==0:DATA  Bstate=1DATA‡  else:DATA\‡  if Astate==0:DATA‡  Astate=1DATA‡  if Bstate==0:DATAÇ  Bstate=2DATA(  #print d,normTot,self.vect,normalsDDATA\Ç  if A and Adone==0:DATAÇ  A.state=AstateDATA8  print "\t\t\tA:",Astate,A.v[0].tco,A.v[1].tco,A.f^DATAÇ  for f in A.f:DATA   if f[0]>0 and f[0]!=Astate:DATAE  print "#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#"DATA(  if f[1].parent==A.f[0][1].parent:DATAć  f[0]=AstateDATA\ć  if B and Bdone==0:DATAć  B.state=BstateDATA8  print "\t\t\tB:",Bstate,B.v[0].tco,B.v[1].tco,B.fDATAć  for f in B.f:ZDATA  if f[0]>0 and f[0]!=Bstate:DATAF  print "#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#"DATA(  if f[1].parent==B.f[0][1].parent:DATAŇ  f[0]=BstateDATA\Ň  DATA  if A!=self and B!=self:DATAŇ  self.state=5DATAŇ  DATA@Ї  #WARNING: Must increase Traversal Cookie before calling thisDATA0Ї  def getState(self,otherObject,dontguess=0):DATAч  global traversalCookieDATAƇ  if self.state:DATA\Ƈ  return self.state}DATALч  print "Need to resolve state for edge ",self,self.v[0].tco,self.v[1].tcoDATAƇ  ts=0DATAƇ  for fc in self.f:DATA҇  if ts>0 and ts!=fc[0]:DATALJ  self.state=5DATA\LJ  return 5DATA LJ  else:FADATALJ  ts=fc[0]DATA ȇ  if ts>0:DATA\ȇ  self.state=tsDATAȇ  return tsDATAȇ  DATA$҇  self.travCookie=traversalCookie.DATAɇ  for v in self.v:DATA\ɇ  rv=v#v.real()ZDATAɇ  if rv.sharedvert==0:DATAɇ  for e in rv.e:DATATӇ  #if e.f[0][1].parent==self.f[0][1].parent and e.travCookie0 and es<5:DATA4ԇ  print "\t",self,"using state from ",e,":",esDATA\ʇ  self.state=esDATAʇ  for f in self.f:DATAʇ  f[0]=esDATAˇ  return esDATA \ˇ  else:DATA<Շ  print "\t",self,"not using state from ",e,":",es,e.fDATAˇ  if dontguess==0:DATA<Շ  #all edge failed...gotta do it the lame way with a vertsDATA(և  es=self.v[0].findSide(otherObject)DATAˇ  self.state=esDATȦ  for f in self.f:DATA \̇  f[0]=esDATȦ  return esDATȦ  else:DATA ͇  return 0DATA\͇  ZDATA$և  def testState(self,state,face):DATA(ׇ  #if self.state>0 and self.state<5:DATAׇ  # if self.state==state:DATA͇  # for f in self.f:DATA͇  # if f[1]==face:DATA·  # return 1DATA\·  # return 0DATA·  for f in self.f:DATA8؇  #print "\tState: ",self,f[0],self.state,f[1],faceDATA$؇  if f[0]==state and f[1]==face:DATA·  return 1DATA χ  return 0DATA\χ  DATAχ  DATAχ class bFace:DATA0ه  def __init__(self,nmFace,parent,virtual=0):DATAه  global traversalCookieDATA$ڇ  self.travCookie=traversalCookieDATA  DATA\  self.parent=parentDATA  self.state=0DATA  self.e=[]DATA   self.v=[]DATA\  self.extraVerts=[]DATA  self.coedges=[]DATA$ڇ  self.center=Vector([0.0,0.0,0.0])DATA  #self.altered=0TADATA  "DATAۇ  print "\tAdding Face..."DATAۇ  self.counterPart=nmFaceDATA\ =?DATA DATA  if virtual:DATA  self.normal=0 DATA\  else:DATA  if parent.matrix:?DATA<܇  self.normal=VecMultMat(Vector(nmFace.no),parent.rot)DATA  else:DATA$܇  self.normal=Vector(nmFace.no)DATA  tDATA\  #First the vertsDATA  for v in nmFace.v: ?DATA ݇  bv=parent.verts[v.index]DATA,݇  bv.f.append(self) #maybe not needed...DATA  self.v.append(bv)>DATA  self.center+=bv.tcoDATAއ  self.center/=len(self.v)DATA\  DATA4އ  self.bb=BuildBounds(self.v[0].tco,self.v[1].tco)DATA0߇  self.bb=ExpandBounds(self.bb,self.v[2].tco)DATA  DATA8߇  self.e.append(MakeEdge(self.v[0],self.v[1],self))DATA8  self.e.append(MakeEdge(self.v[1],self.v[2],self))DATA  DATA  if len(self.v)==3:{DATA8  self.e.append(MakeEdge(self.v[2],self.v[0],self))DATA \  else:DATA0  self.bb=ExpandBounds(self.bb,self.v[3].tco)DATA8  self.e.append(MakeEdge(self.v[2],self.v[3],self))DATA8  self.e.append(MakeEdge(self.v[3],self.v[0],self))DATA }DATA$  def getState(self,otherObject):DATA<  #figure out inside/outside/etc based on edge if neededDATA  if self.state==0:DATA  global traversalCookie[ DATA(  traversalCookie=traversalCookie+1REEDATA0  self.state=self.e[0].getState(otherObject)oDATA  return self.stateDATA\  {?DATA   def BuildEdgeLoop(self,e1=0): DATA  global traversalCookie\ DATA  if e1==0:DATA  e1=self.e[0]DATA  while (e1.children):DATA\  e1=e1.children[0]?DATA$  e1.travCookie=traversalCookie oDATA(  return [e1]+self.BuildEdgeLoop(e1)DATA  for v in e1.v:DATA  for e in v.e:DATA(  if e.travCookie-0.999999 and d <0.999999:tDATA  v.fl.append(f)coDATA # else:a*DATA\ # for e in v.e:imDATA # for ef in e.f:DATA # if ef[1]==self:pDATA  # allEdges.append(e)beDATA  ouDATA  #Build new edgesDATA\  c=len(allVerts)rDATA  for i in range(c):]DATA  vA=allVerts[i]aDATA  for j in range(i+1,c):hDATA  vB=allVerts[j]DATA\  for fA in vA.fl:frDATA  for fB in vB.fl:aDATA  if fA==fB:eDATAL  print "\t Face Cut...",vA.tco,vB.tco,fA,self,fA.parent,self.parentDATA$  e=MakeEdge(vA,vB,self,1)xroDATA  if e!=[]:teDATA\  e.state=5eDATA  allEdges.append(e)DATA  breakeiDATA  DATA  #for e in allEdges:iDATA4  # print "ED:",e.getState(),e.v[0].tco,e.v[1].tcoDATA\  sDATA  #Build & fill loopssDATA   ol=[]160DATA   il=[]ggDATA \  cs=[]menDATA   co=[]basDATA$  ol=FilterEdges(allEdges,1,self)iDATA$  il=FilterEdges(allEdges,2,self)[DATA$  cs=FilterEdges(allEdges,3,self)cDATA$  co=FilterEdges(allEdges,4,self)lDATA   print "All Verts in ",selftDATA  for v in allVerts:taDATA  print "\t",v,v.tcolDATA  print "All Edges in ",selfyDATA\  for e in allEdges:bDATA,  print "\t",e,e.v[0].tco,e.v[1].tco,e.vpDATA  for f in e.f:arDATA  if f[1]==self:DATA  print "\t\t->",fiDATA \  else:dDATA  print "\t\t ",fsDATA(  print "Filtered loops: for ",selfeMDATA  print "\tOL: ",olhDATA  print "\tIL: ",ilDATA\  print "\tCS: ",csDATA  print "\tCO: ",coDATA  if outside:DATA(  FillLoops(ol,self,destMesh,flip,0)SDATA  if inside:DATA(  FillLoops(il,self,destMesh,flip,0)SDATA\  if cosame:`DATA(  FillLoops(cs,self,destMesh,flip,0)cDATA  if coopposing:,DATA(  FillLoops(co,self,destMesh,flip,0)eDATA  DATA class bMesh:6DATA4  def __init__(self,blenderObject,matrix,smooth):_r0DATA8  print "Adding mesh from: %s"%blenderObject.getName()nDATA\  DATA  #setup variablesDATA  self.verts=[]DATA  self.faces=[]DATA\  self.edges=[]DATA  self.infinite=0DATA  DATA4  m=NMesh.GetRawFromObject(blenderObject.getName())DATA  self.nmesh=mDATA\  DATA  #process vertsDATA  self.matrix=matrixbDATA  if (matrix):DATA,  self.rot=rotmatrix=matrix.rotationPart()DATA\  for v in m.verts:DATAtI  self.verts.append(bVert(VecMultMat(Vector(list(v.co)+[1]),matrix),VecMultMat(Vector(list(v.no)),rotmatrix)))ssDATA  else:DATA  for v in m.verts:DATAD!  self.verts.append(bVert(Vector(list(v.co)),Vector(list(v.no))))DATA  DATA\  #process facesDATA  for f in m.faces:DATA  if len(f.v)>2: DATA(!  self.faces.append(bFace(f,self))SpDATA   else:DATA("  #stuff related to infinite facesLocDATA\  1CDATAH"  #if there are just edges & not faces, make this face object infiniteDATA  DATA(#  #Process smooth edges is applicable. DATA  if smooth:DATA0  for e in self.edges:DATA#  e.CalculateTangents()%DATA\0 oDATAX$  def constructFaces(self,otherObject,destMesh,inside,outside,cosame,coopposing,flip=1):DATA($  print "Constructing Faces for ",selfDATA0  for f in self.faces:DATAP%  f.constructFace(destMesh,otherObject,inside,outside,cosame,coopposing,flip)DATA0 DATA$% def MakeEdge(v0,v1,face,inout=0):DATA &  #Check if it already exists...DATA1  for e in v0.e:DATA &  if e.v[0]==v1 or e.v[1]==v1:DATA\1  facenotfound=1DATA1  fdebug=[]DATA1  fentries=[]DATA2  for f in e.f:DATA\2  if f[1]==face:DATA2  facenotfound=0DATA'  fdebug.append(f[0])7DATA2  fentries.append(f)DATA3  if inout:mDATAH'  print "\t Altering Existing edge...maybe not a good idea",e.fDATA\3  if facenotfound==0:DATA<(  print "\t Prior state(s): ",fdebug, " keeping!"DATA3  return []DATA3  for f in fentries:DATA4  e.f.remove(f)DATA(  e.f.append([1,face])DATA)  e.f.append([2,face])DATA\4  if facenotfound:DATA)  e.f.append([0,face])DATA 4  return eDATA*  #if not, make a new edgesDATA4  e=bEdge(v0,v1)DATA 5  if inout:DATA\5  e.f.append([1,face])DATA5  e.f.append([2,face])DATA5  else:DATA6  e.f.append([0,face])DATA *  face.parent.edges.append(e)nnDATA \6  return esDATA6  sDATA6  sDATA+ def OverlayEdges(e1,e2):ssDATA 7  return 1sDATA\7 nnDATA7 nnDATAD+ ###################################################################DATAD, # The Magic - the Intersection detector & processor #DATAD, ###################################################################DATA7 nnDATA4k def IntersectMeshes(meshA,meshB,doEdges,smooth):EEDATA8  global traversalCookieDATA\8  global travBasennDATA8-  #with infinite meshes, we can't do bound box testingsDATA(.  if meshA.infinite or meshB.infinite:sDATA8  skipbounds=1DATA8  else:DATA9  skipbounds=0DATA\9  DATA$.  traversalCookie=traversalCookie+1DATA9  if doEdges==1:DATA/  travBase=traversalCookieDATA9  for e in meshA.edges:DATA:  travA=traversalCookieDATA\:  eV=[]DATA:  for v in e.v:DATA$/  #print v,v.travCookie,travBasesDATA @  if v.travCookie0: #intersect somewhereDATA,D  print "\tInterecting Edges...maybe"sDATAD  #test crossing edgesDATAPE  if il[0]>-0.00001 and il[0]<1.00001 and il[1]>-0.00001 and il[1]<1.00001:DATA$E  ip=e.v[0].tco+il[0]*e.vectsDATA0F  print "\t INTERSECT!!!",e,eA,ip,il[2]sDATA=  normA=[]DATA>  normB=[]DATA\>  nv=bVert(ip)DATA>  nv.sharedvert=1DATA>  for ef in e.f:sDATA@F  if e.f[0][1].parent==ef[1].parent: #Only original facesDATA?  ef[1].state=5DATA(G  ef[1].extraVerts.append(nv)ssDATAG  nv.f.append(ef[1])DATA<H  normA.append([ef[1].normal,ef[1].center,ef[1]])nnDATA\?  for ef in eA.f:DATA,H  if eA.f[0][1].parent==ef[1].parent:DATA?  ef[1].state=5DATA(I  ef[1].extraVerts.append(nv)nnDATAI  nv.f.append(ef[1])DATA<J  normB.append([ef[1].normal,ef[1].center,ef[1]])ssDATA0J  print "\t Processing 1/2:",e,nv,normBDATA K  e.partition(nv,normB)ssDATA0K  print "\t Processing 2/2:",eA,nv,normADATA L  eA.partition(nv,normA)sDATA?  skipnext=1sDATAP  DATAL  #test points in facennDATAM  if 1 or skipnext==0:ssDATA\P  for v in eV:sDATAXM  #if vert in face, mark its edges if they are at a sufficient angle with the faceDATAhM  if v.sharedvert==0 and TestPointInPlane(v.tco,f.normal,f.center) and TestPointInFace(v.tco,f):ssDATA0N  #gotta test all edges against normal...DATA$N  v.ApplyFaceIntersection(f)sDATAP  skipnext=1sDATAP  sDATADO  #edge already in face at tip? (damn nested loops... oh, well)nDATAQ  if skipnext==0:DATA\Q  for ev in e.v:DATAQ  for ef in ev.f:sDATAQ  if ef==f:ssDATAR  skipnext=1DATA\R  DATADO  #test edge intersects face (only if edge doesn't lie in face)nDATAR  if skipnext==0:DATA$`  p=FindIntersectEdgeFace(e,f)nDATA R  if p:DATAHk  print "\tIntersection: ",p," in edge: ",e,e.v[0].tco,e.v[1].tcox2DATA  if smooth:EEDATApN  p2=e.SmoothIntersectPlane(Vector([f.normal[0],f.normal[1],f.normal[2],-1*DotVecs(f.normal,f.v[0].tco)]))DATA$`  print "\tSmooth Point: ",p2EDATA\  if p2:DATA  p=p2DATAS  DATAS  nv=bVert(p)sDATA@a  nv.sharedvert=1 #mark vertex as shared by both objectsnnDATAT  sDATA(b  #attributes related to this facesDATA\T  nv.f.append(f)ssDATA$b  f.state=5 #mark as alteredssDATA c  f.extraVerts.append(nv)sDATAT  sDATA,c  #attributes related to edge's facessDATAT  for ef in e.f:ssDATAU  ef[1].state=5ssDATA(d  #print "Applying to face ",efssDATA$d  ef[1].extraVerts.append(nv)DATAe  nv.f.append(ef[1])sDATA\U  DATA,e  #partition the edge (make new edges)DATA0f  e.partition(nv,[[f.normal,f.center,f]])sDATAPf  #if it got snapped to one of the verts, then the vert lies in the face...DATA8g  if nv.GetRedirectTo()==e.v[0].GetRedirectTo():ssDATA(g  e.v[0].ApplyFaceIntersection(f)DATA8h  if nv.GetRedirectTo()==e.v[1].GetRedirectTo():nnDATA(h  e.v[1].ApplyFaceIntersection(f)DATAi  #e.v[1].f.append(f)DATAU ssDATADi ###################################################################DATADj # Base functions direction the operation #DATADj ###################################################################DATAU ssDATAV ssDATA(k def CookieCutter(cookie,cutter,smooth):DATAHk  x=Draw.PupMenu("Faces to keep%t|Keep all|Inside only|Outside Only")ssDATA \V  if x<1:nnDATA V  returnssDATAV ssDATA,l  MatA=Matrix(*map(list,cookie.getMatrix()))DATA,l  MatB=Matrix(*map(list,cutter.getMatrix()))DATAW  #MatB.invert()DATA\W  #MatA=MatA*MatBssDATAW  #MatB.identity()sDATAW ssDATA$m  bCookie=bMesh(cookie,MatA,smooth)EDATA$m  bCutter=bMesh(cutter,MatB,smooth)EDATAX ssDATA,  IntersectMeshes(bCutter,bCookie,1,smooth)EDATALn  print "###############################################################"ssDATA,p  IntersectMeshes(bCookie,bCutter,0,smooth)EDATA,n  #IntersectMeshes(bCookie,bCutter,1,smooth)DATALp  print "###############################################################"ssDATA,o  #IntersectMeshes(bCutter,bCookie,0,smooth)DATA\X  sDATAX  nm=NMesh.New()DATAX  sDATA Y  if x==1:sDATA0q  bCookie.constructFaces(nm,bCutter,1,1,1,1)ssDATA \Y  elif x==2:DATA0q  bCookie.constructFaces(nm,bCutter,1,0,1,0)nnDATA Y  elif x==3:DATA0r  bCookie.constructFaces(nm,bCutter,0,1,0,1)nnDATAY ssDATAr  nm.mode=bCookie.nmesh.modeDATAs  NMesh.PutRaw(nm,"foo" )nnDATAZ  returnDATA\Z ssDATA(s def Difference(cookie,cutter,smooth): DATA,t  MatA=Matrix(*map(list,cookie.getMatrix()))DATA,t  MatB=Matrix(*map(list,cutter.getMatrix()))DATAZ  #MatB.invert()DATAZ  #MatA=MatA*MatBssDATA[  #MatB.identity()sDATA\[ ssDATA$u  bCookie=bMesh(cookie,MatA,smooth)EDATA$u  bCutter=bMesh(cutter,MatB,smooth)EDATA[  DATAyk  #nm=NMesh.New()REEDATA%  #for e in bCookie.edges: %DATA[  # lp=0DATA\  # for i in range(17):DATAv  # pa=e.BezierAt(i/16.0)%DATA(v  # np= NMesh.Vert(pa[0],pa[1],pa[2]) DATAj  # nm.verts.append(np)DATA \  # if lp: DATA,i  # nm.faces.append(NMesh.Face([lp,np]))egDATA \  # lp=npk DATA8w  # e.SmoothIntersectPlane(Vector([0.0,0.0,1.0,0.0])).pyDATAw  #NMesh.PutRaw(nm,"foo")1%DATA ]  #returnk DATA,-  IntersectMeshes(bCookie,bCutter,1,smooth)EDATA,y  IntersectMeshes(bCutter,bCookie,0,smooth)EDATA]  sDATA]  nm=NMesh.New()DATA0z  bCutter.constructFaces(nm,bCookie,1,0,0,1,-1)DATA0z  bCookie.constructFaces(nm,bCutter,0,1,0,0,1)sDATA^ ssDATA{  nm.mode=bCookie.nmesh.modeDATA\^  NMesh.PutRaw(nm,"foo")DATA^  returnDATA^ ssDATA({ def Intersection(cookie,cutter,smooth):DATA,|  MatA=Matrix(*map(list,cookie.getMatrix()))DATA,|  MatB=Matrix(*map(list,cutter.getMatrix()))DATA_  #MatB.invert()DATA\_  #MatA=MatA*MatBssDATA_  #MatB.identity()nDATA_ nnDATA$}  bCookie=bMesh(cookie,MatA,smooth)EDATA$}  bCutter=bMesh(cutter,MatB,smooth)EDATA nnDATA,y  IntersectMeshes(bCookie,bCutter,1,smooth)EDATA,~  IntersectMeshes(bCutter,bCookie,0,smooth)EDATA\  nDATA  nm=NMesh.New()DATA,  bCutter.constructFaces(nm,bCookie,1,0,1,0)DATA,  bCookie.constructFaces(nm,bCutter,1,0,0,0)DATA0  #bCookie.constructFaces(nm,bCutter,0,1,0,0)ssDATA܀  sDATA  nm.mode=bCookie.nmesh.modeDATA  NMesh.PutRaw(nm,"foo")DATA\  nDATA  returnDATA܁ nnDATA$ def Union(cookie,cutter,smooth):REEDATA,  MatA=Matrix(*map(list,cookie.getMatrix()))DATA,  MatB=Matrix(*map(list,cutter.getMatrix()))DATA  #MatB.invert()DATA\  #MatA=MatA*MatBssDATA  #MatB.identity()sDATA܂ ssDATA$  bCookie=bMesh(cookie,MatA,smooth)EDATA$  bCutter=bMesh(cutter,MatB,smooth)EDATA ssDATA,~  IntersectMeshes(bCookie,bCutter,1,smooth)EDATA,  IntersectMeshes(bCutter,bCookie,0,smooth)EDATA\  sDATA  nm=NMesh.New()DATA,  bCutter.constructFaces(nm,bCookie,0,1,1,0)DATA,  bCookie.constructFaces(nm,bCutter,0,1,0,0)DATA܃ nnDATA  nm.mode=bCookie.nmesh.modeDATA  NMesh.PutRaw(nm,"foo")DATA\  sDATA  returnDATA܄ ssDATA def DoBool():sDATA$  #Check the sanity of the selectionDATA  objsel=Object.GetSelected()ssDATA \  meshes=0sDATA  for ob in objsel:DATA   if ob.getType() == 'Mesh':ssDATA܅  meshes += 1DATA  if meshes!=2 :DATAD  Draw.PupMenu("ERROR: Exactly two mesh objects must be selected")DATA \  returnnnDATAO  x=Draw.PupMenu("MegaBool%t|1: Intersect|2: Union|3: Difference|4: Cookie Cutter| |6: Smooth Edge Intersect|7: Smooth Edge Union|8: Smooth Edge Difference|9: Smooth Edge Cookie Cutter")EEDATA  #print xnDATA ܆  if x==1:nDATA(  Intersection(objsel[1],objsel[0],0) DATA   elif x==2:DATA  Union(objsel[1],objsel[0],0)2DATA \  elif x==3:DATA$  Difference(objsel[1],objsel[0],0)DATA  elif x==4:DATA(  CookieCutter(objsel[1],objsel[0],0)sDATA ܇  elif x==6:DATA(  Intersection(objsel[1],objsel[0],1) DATA   elif x==7:DATA  Union(objsel[1],objsel[0],1)2DATA \  elif x==8:DATA$  Difference(objsel[1],objsel[0],1)DATA  elif x==9:DATA(  CookieCutter(objsel[1],objsel[0],1) DATA܈  InDATA  DoBool()ssDATA #oA=Object.Get("Cookie")nnDATA #oB=Object.Get("Cutter")ssDATA \ #print oAsDATA #print oBsDATA< #Intersection(Object.Get("Cookie"),Object.Get("Cutter"))nnDATA8 #Difference(Object.Get("Cookie"),Object.Get("Cutter"))DATA4 #Union(Object.Get("Cookie"),Object.Get("Cutter"))sDATA< #CookieCutter(Object.Get("Cookie"),Object.Get("Cutter"))ssDATA܉ ssDATA print "Done."sDATA\ ssDATA if len(messages)>0 and 0:sDATA,  txt=Blender.Text.New("Boolean Messages")sDATA  txt.clear()ssDATA܊  txt.write(messages)ssDATA ssDATA\ ssDATA #Note to self:DATA0 # Re-orient the messhes when doing a 2D cut soDATA( #two-axis bounding box test can be doneDATA\ #difference op should maybe just flip the normals of the B object and do an intersectionssDATA܋ #nDATA, #For f-gons, don't cut with internal edgesDATAH #when making face do whole f-gon at once (so outer edge & inner loops)TXd:  TXText\  \M \M LL  DATA\   filDATA \ \  FREEDATA\ ܬ AFREEDATAܬ  \ FREEDATA  ܬ FREEDATA   3FREEDATA   @FREEDATA \ EFREEDATA\    CFREEDATA  \ 8FREEDATA \ FREEDATA\ \E  DFREEDATA\E E \  CFREEDATAE F \E E FREEDATAF \F E @FREEDATA\F E F  <FREEDATAE G \F F FREEDATAG L E  DFREEDATAL i G b LFREEDATAi \M L L FREEDATA\M \ i d LFREEDATA\  \M b 'FREEDATA \ \  FREEDATA\ ܭ FREEDATAܭ  \  RFREEDATA M ܭ UFREEDATAM   c MFREEDATA M e ?FREEDATA Notes about this file: DATA DATAD Relevant data has been sparated into layers. Here's what's where:exDATA DATA DATA4  Top Row Bottom RowDATAD Col 1 Interpolated smooth edges Boolean result by usingTexDATAH  for HiPoly Mesh impiled smooth edges (pointsx2DATAD  of intersection lie on theDATA<  smoothed edges)x1|DATA DATAH Col 2 Original HiPoly Mesh Boolean result using actual%x2DATAD  straight edges of originalDATAE DATAD Col 3 Interpolated smooth edges Boolean result by usingTexDATA@  for LowPoly Mesh impied smooth edges DATAF DATAH Col 4 Original LowPoly Mesh Boolean result using actual%x2DATAPb  straight edges fow LowPoly originalDATAL DATAPd Col 5 Entire HiPolyMesh, divided Same, but with implied smooth edgesDATA(b  along the intersection planeDATA DATA DATAT PS: The version of the script included in here is for testing smooth intersectionsEDATAX always. And It's really only meant for use with a sphere and a plane for these tests.DATAPc Or smore specifically, a non-complicated entirely smooth object, and a plane.reDATA@e Don't use it for general testing as you will get weird results.OB 8Dj vOBCameraamera.001   @μ@???{l?~k???L?K?<ȳ>S5L?ђ ?[I? @μ@??????2x32?3(?  50(?OBd??)d??>)d????OBDj 8dx  OBcutFlat$k h ?????????????L?K? <ȳ>U5L?В ?\I? @м@?DOBd?? #=?>=?@???DATAh OBdx 8 Dj OBcutSmooth ?????????????L?K? <ȳ>U5L?В ?\I? @м@?@DOBd?? #=?>=?@???OB 8> dx OBflatFaces o ?????????????L?K? <ȳ>U5L?В ?\I? @м@?DOBd?? #=?>=?@???DATAo OB> 8  OBimpliedSmoothBaseMe \9 ?????????????L?K? <ȳ>U5L?В ?\I? @м@?DOBd?? #=?>=?@???DATA\9 OB 8̽ > vOBLamp ΃ ? @???aT?$2,^'???,^'$2),?%ђ ?Gh=SE? @"@?|DOBd?? #=?>=@???OB̽ 8  OBLowPolyFlat/k i ?????????????L?K? <ȳ>U5L?В ?\I? @м@? DOBd?? #=?>=?@???DATAi OB 8} ̽ OBlowPolyImpiedEdges%k 9 ?????????????L?K? <ȳ>U5L?В ?\I? @м@?DOBd?? #=?>=?@???DATA9 OB} 8Ĉ  OBLowPolyVirtualSmoot&k \n ?????????????L?K? <ȳ>U5L?В ?\I? @м@?DOBd?? #=?>=?@???DATA\n OBĈ 8Ȉ } vOBSphere  ?????????????L?K? <ȳ>U5L?В ?\I? @м@?DOBd?? #=?>=?@???DATA OBȈ 8̈ Ĉ vOBPlane \ Q2????????Q2?????L?K? <ȳ>U5L?В ?\I? @м@?<DOBd?? #=?>=?@???DATA\ OB̈ 8% Ȉ OBSphere.001 \9 ?????????????L?K? <ȳ>U5L?В ?\I? @м@?DOBd?? #=?>=?@???DATA\9 OB% 8̈ OBvirtualSmooth 9 ?????????????L?K? <ȳ>U5L?В ?\I? @м@?DOBd?? #=?>=?@???DATA9 MA` ! MAMaterial.001L?L?L???????????L????2  ?????@?=?=???MA` ! MAMaterialL?L?L???????????L????2 ?????@?=?=???ME$k + MEcutFlat.001+k \h  } } *4???DATA\h  DATA} 0 K﮴K﮴끂>^;=t! ƂB>g3xƂ>T>u=z.@N̋ ?~3u=N2N9?>BLF#I?3-HL^l?>ST"E?W$3F[E?d>J#Ib(?PJ3J#Ij?@>c2Jh2+z??Ћ umV-p=? 2Ћ yv?rŁ25p?S?Bt0S?y2B}St=?ԋ ?4@v0?v44?R?B>t0?e2B>}y?>ԋ ?umV-p0n=?*ԋ ?yvp0?d>M#I?b(fF?PJ3M#I?jfF^l?>?ST"Y?W$3?F[Y9?>?BiH#I?2]3?-Hi?T>t=?z.@uЋ ?lyI1t=?N2u>p;=?t! :}B>M 3?x:}?G>G>?:}>>t=?##u9?9?? 3 3i5?5??@@Y0T?1T?M#I?KKfF]l?]l?ԋ ?SSp0{?{?B>XX??4ZZ{?{?BXXS_l?^l?Ћ SSX?X?>OO0T?1T?J#IKK5?5?@@E9?9? 3 3L>>u=##NG>G>Ƃ];=끂>! tƂT>>u=@z.N>9?BL>]l?"STEd>?J#I(b>?Q42+Jh?y?Ћ V-umS??B0tSҋ ?s=?40@vR??B>0t>x?ԋ ?V-ump0d>?M#I?(bfF>]l??"STY>9??BiT>>t=?@z.uo;=>?! t:}B>?x:} -Ӌ ?t=?N2uL#I??-Hiԋ ??F[Yׄ?M#I?jfF(C2s=?ԋ ?yvp0<2?B>}S+?4y?B}S&2t=?Ћ yv2¤?pׄ?J#Ijԋ ?F[EV4*K#I?-HL&ϋ ?u=N2Nn{B>xƂ];ؽꁂ>tƂT>u=z.N9?aBLþ\l?STEd?J#Ibl ?Ћ Lty?Ћ umA5?!)qS?BtSӋ r=?4@vQ?B>tx?ԋ ?ump0d?M#I?bfFþ\l??STY9??aBiT>t=?z.uo;ؽ>?t:}GG>?I:}þ>t=?nܒ#u99?? 3i55??v@Y0T.T?M#I?jKfF[l\l?ԋ ?:Sp0{{?B>1X?4Zd ֛?B5th|hf?@ Zu{{?B1XS]l]l?Ћ :S0T.T?J#IjK55?v@E99? 3Lþ >u=nܒ#NGG>IƂꁂZ;=! ƂT>u=@N9>QL[l>"Ed>J#I>(x>Ћ V-S?B0S:z?4Gr=Ћ ?40#|Y?B>EQ?B>0˹r?ӟ>׎.'%w>ԋ ?V-p0d>M#I?>(fF[l>?"Y9>?QiT>t=?@ul;=?! :}BEYx?:}ҋ *!t=?uK#IV4*?ӷiys?YBԳM#I?fF.,+=ԋ ?"00|Ϊ2 5?V<r=`2ԋ ?p0(>2B>hX4yBhSs=(C2Ћ BԳJ#IysEI#IB 2ӷL΋ JO̲u=NB]Ƃ遂\;ؽƂTu=N9QaLZlþEdJ#I>ךxЋ ҐSBSq=Ӌ 4PB>ϭwԋ ?p0>c2?V<dM#I?>fFZlþ?ݻY9?QaiTt=?u􁂾o;ؽ?:}GG?II:}þþt=?nnܲu99?̴i55?vvY+T.TM#I?jjfFXX>?//V<ZlZlԋ ?::p0{{B>114{{B11S\l[lЋ ::+T.TJ#Ijj55vvE99L þ þu=nnNGGIIƂW;ؽ遂ƂTu=N񙾾9aQLþYlݭEdJ#I>wЋ ҋSBSϋ q=4PB>vԋ ?ҋp0R4?ԶV<dM#I?>fFþYl?ݭY񙾿9?aQiTt=?Ѳui;ؽ􁂾?:}2B?:}Qы t=?ͲuB I#I?ӷif[3?Y3M#I?fF 2¤?V< 2p=ԋ ?p0 ްB>h"34y2BhS`r=Ћ 3J#If[3E2]3H#IӷL53͋ u=NC2BƂ\;=聂! ƂT>u=@N>9QL>Wl"Ed>J#I(>>wЋ V-S?B0Sҋ ?p=40O?B>0=?0>.׎'%>uԋ ?V-p08= ԋ ?"00d>M#I?(>fF>Wl?"Y>9?QiT>t=?@Ѳuo;=󁂾?! :}G>G?I:}>þt=?#nܲu9?9? 3̴i5?5?@vY+T?(TM#I?KjfFWl?Wlԋ ?S:p0d ?֛B>E{?{B>X1e?c <Z ?4Z{?{BX1SZl?ZlЋ S:+T?(TJ#IKj5?5@vE9?9 3L > þu=#nNG>GIƂ聂>T;ؽtƂ>Tu=z.N9?BaLWl? þSTE?dJ#Ibךv?Ћ umҐ͹?tӟ)q!?SBtS%?YBth5|p=?΋ 4@v8?z4lj?NB>tϭt?ԋ ?ump0?dM#I?bfFWl? þ?STݻY9??Bai>Tt=?z.u>f;ؽ?t:},,?p+Ћ LtDATAH } ,* @ @  @ @@@@@@ ! "!#"$#%$&%@'&@('@)(@*)@ +*@,+ @ -, @.- @/.0/101211230034//45..56- 78+, 7,-6 +89* *9:) ):;( (;<' '<=& &=>% %>?$$?@##@A"A!"B!A@CBA?DC@>ED?=FE> <GF= ;HG< :IH; 9JI: 8KJ9 LK87 6ML7 5NM6 4ON53PO42QP3Q2RQQRSPPSTOOTUNNUVM WKL MVX XWLM KWY YZJK YWX JZ[I I[\H H\]G G]^F F^_E E_`DD`aCCabBb!Bc!badcb`eda_fe`^gf_ ]hg^ \ih] [ji\ [Zk klj[ lkm kZY kYX Xnmk VonX UpoV TqpUSrqTRsrSsRtssturruvqqvwppwxo@oxyn@nyzm@{jl@mz|@|{lm@}ij{@|~}{@i}@hi@}~@hg@gf@feeddc!c!@@@@@~@~@|~@z|@yz@xy@wx@vwuvtut@@@@@@@@@!!@@@@@@@@@         !!                     !!            @@@@@@@@@@@@@    ! !    @@@@@ @  @ @ @ @  @ @ME + $k MEcutSmooth.002   *4???DATA 0 K﮴K﮴끂>^;=t! ƂB>g3xƂ>T>u=z.@N̋ ?~3u=N2N9?>BLF#I?3-HL^l?>ST"E?W$3F[E?d>J#Ifa' ?PJ3J#IjgLG?> T3hj*z??Ћ n-p=? 2Ћ zws K6?Qw2er\?S?Bt0S?y2Bz}8Jt=?ԋ ?4@v0?v44?R?B>t0?e2B>}y?>ԋ ?umV-p0n=?*ԋ ?yvp0?d>M#I?b(fF?PJ3M#I?jfF^l?>?ST"Y?W$3?F[Y9?>?BiH#I?2]3?-Hi?T>t=?z.@uЋ ?lyI1t=?N2u>p;=?t! :}B>M 3?x:}?G>G>?:}>>t=?##u9?9?? 3 3i5?5??@@Y0T?1T?M#I?KKfF]l?]l?ԋ ?SSp0{?{?B>XX??4ZZ{?{?BXXS_l?^l?Ћ !T0T[Y?[Y?>u=##NG>G>Ƃ];=끂>! tƂT>>u=@z.N>9?BL>]l?"STEd>?J#I'5a˽>\?5*hA?y?Ћ -nS??B0tSҋ ?s=?40@vR??B>0t>x?ԋ ?V-ump0d>?M#I?(bfF>]l??"STY>9??BiT>>t=?@z.uo;=>?! t:}B>?x:} -Ӌ ?t=?N2uL#I??-Hiԋ ??F[Yׄ?M#I?jfF(C2s=?ԋ ?yvp0<2?B>}S+?4y?B~&2t=?Ћ {y829)?.m4ׄ?J#I fԋ ?F[EV4*K#I?-HL&ϋ ?u=N2Nn{B>xƂ];ؽꁂ>tƂT>u=z.N9?aBLþ\l?STEd?J#Ib4d? vv;y?Ћ `ҫkmD?3 ׄtMS?B xӋ r=?4v2Q?B>tx?ԋ ?ump0d?M#I?bfFþ\l??STY9??aBiT>t=?z.uo;ؽ>?t:}GG>?I:}þ>t=?nܒ#u99?? 3i55??v@Y0T.T?M#I?jKfF[l\l?ԋ ?]S0{{?B>٧BYb?4S[b"Ɲ?olK?`3vZ-{{?BX;]l]l?Ћ :S0T.T?J#IjK55?v@E99? 3Lþ >u=nܒ#NGG>IƂꁂZ;=! ƂT>u=@N9>QL[l>"Ed>J#I>(x>Ћ V-S?B0S:z?4JpFr=Ћ ?4Ƈ+5|?:V>#<8#Q?B>U%Fk?0>{*"w>ԋ ?9.A1d>M#I?'F[l>?"Y9>?QiT>t=?@ul;=?! :}BEYx?:}ҋ *!t=?uK#IV4*?ӷiys?YBԳM#I?u NH,== ?906ϩ2e?8r=`2ԋ ?UC+(>2B>hX4yBhSs=(C2Ћ BԳJ#IysEI#IB 2ӷL΋ JO̲u=NB]Ƃ遂\;ؽƂTu=N9QaLZlþEdJ#I>ךxЋ ҐSBSq=Ӌ 4PB>ϭwԋ ?T-GT3?wԊ=dM#I?ɟ9rJZlþ?ݻY9?QaiTt=?u􁂾o;ؽ?:}GG?II:}þþt=?nnܲu99?̴i55?vvY+T.TM#I?wcJ[Y[YCD??\?ZlZlԋ ?֫/{{B>114{{B11S\l[lЋ ::+T.TJ#Ijj55vvE99L þ þu=nnNGGIIƂW;ؽ遂ƂTu=N񙾾9aQLþYlݭEdJ#I>wЋ ҋSBSϋ q=4PB>vԋ ?;҈-ŽX5?z;dM#I?וHþYl?ݭY񙾿9?aQiTt=?Ѳui;ؽ􁂾?:}2B?:}Qы t=?ͲuB I#I?ӷif[3?Y3M#I? _F25).?M9 2p=ԋ ? ! ްB>O"34y2BhS`r=Ћ 3J#If[3E2]3H#IӷL53͋ u=NC2BƂ\;=聂! ƂT>u=@N>9QL>Wl"Ed>J#I(>>wЋ V-S?B0Sҋ ?p=40O?B>+W3m?D3>'mG>uԋ ?e.1Xd= ?-d>M#I?(>fF>Wl?"Y>9?QiT>t=?@Ѳuo;=󁂾?! :}G>G?I:}>þt=?#nܲu9?9? 3̴i5?5?@vY+T?(TM#I?KjfFWl?Wlԋ ?T/j0b"?Ɲ>Dŕ{?{B>Z ?4 þu=#nNG>GIƂ聂>T;ؽtƂ>Tu=z.N9?BaLWl? þSTE?dJ#Ibךv?Ћ Sm}l?p0r?SBtwւ:?|1VfNp=?΋ 4@v8?z4Qj:?NB>tϭt?ԋ ?ump0?dM#I?bfFWl? þ?STݻY9??Bai>Tt=?z.u>f;ؽ?t:}?,= AvuDATAH ,* @ @  @ @@@@@@ ! "!#"$#%$&%@'&@('@)(@*)@ +*@,+ @ -, @.- @/.0/101211230034//45..56- 78+, 7,-6 +89* *9:) ):;( (;<' '<=& &=>% %>?$$?@##@A"A!"B!A@CBA?DC@>ED?=FE> <GF= ;HG< :IH; 9JI: 8KJ9 LK87 6ML7 5NM6 4ON53PO42QP3Q2RQQRSPPSTOOTUNNUVM WKL MVX XWLM KWY YZJK YWX JZ[I I[\H H\]G G]^F F^_E E_`DD`aCCabBb!Bc!badcb`eda_fe`^gf_ ]hg^ \ih] [ji\ [Zk klj[ lkm kZY kYX Xnmk VonX UpoV TqpUSrqTRsrSsRtssturruvqqvwppwxo@oxyn@nyzm@{jl@mz|@|{lm@}ij{@|~}{@i}@hi@}~@hg@gf@feeddc!c!@@@@@~@~@|~@z|@yz@xy@wx@vwuvtut@@@@@@@@@!!@@@@@@@@@         !!                     !!            @@@@@@@@@@@@@    ! !    @@@@@ @  @ @ @ @  @ @ME +  MEflatFaces.001 n  @ m= =G>??2?DATAn  DATA| @ 0?@>c2g-z??Ћ umV-p=? 2Ћ yv?rŁ25pz?S?Bt0S?y2B}St=?ԋ ?4@v0?v44?R?B>t0?e2B>}y?>ԋ ?umV-p0n=?*ԋ ?yvp0?d>M#I?b(fF?PJ3M#I?jfF^l?>?ST"Y?W$3?F[Y9?>?BiH#I?2]3?-Hi?T>t=?z.@uЋ ?lyI1t=?N2u>p;=?t! :}B>M 3?x:}?G>G>?:}>>t=?##u9?9?? 3 3i5?5??@@Y0T?1T?M#I?KKfF]l?]l?ԋ ?SSp0{?{?B>XX??4ZZ{?{?BXXS_l?^l?Ћ SSX?X?>OO>?Q4-7g?y?Ћ V-umS??B0tSҋ ?s=?40@vR??B>0t>x?ԋ ?V-ump0d>?M#I?(bfF>]l??"STY>9??BiT>>t=?@z.uo;=>?! t:}B>?x:} -Ӌ ?t=?N2uL#I??-Hiԋ ??F[Yׄ?M#I?jfF(C2s=?ԋ ?yvp0<2?B>}S+?4y?B}S&2t=?Ћ yv2¤?Bpl ?Ћ FHwA5?OsS?BtSӋ r=?4@vQ?B>tx?ԋ ?ump0d?M#I?bfFþ\l??STY9??aBiT>t=?z.uo;ؽ>?t:}GG>?I:}þ>t=?nܒ#u99?? 3i55??v@Y0T.T?M#I?jKfF[l\l?ԋ ?:Sp0{{?B>1X?4Zd ֛?B}iqhf?@ Y`|:z?4ɕF#|Y?B> D] ˹r?ӟ>6%w>ԋ ?V-p0d>M#I?>(fF[l>?"Y9>?QiT>t=?@ul;=?! :}BEYx?:}ҋ *!t=?uK#IV4*?ӷiys?YBԳM#I?fF.,+=ԋ ?5o08|Ϊ2 5?:G<>c2?R<dM#I?>fFZlþ?ݻY9?QaiTt=?u􁂾o;ؽ?:}GG?II:}þþt=?nnܲu99?̴i55?vvY+T.TM#I?jjfFXX>?IV<R4?TײR<dM#I?>fFþYl?ݭY񙾿9?aQiTt=?Ѳui;ؽ􁂾?:}2B?:}Qы t=?ͲuB I#I?ӷif[3?Y3M#I?fF 2¤?S8H<=?0>5%>uԋ ?V-p08= ԋ ?m@G8d>M#I?(>fF>Wl?"Y>9?QiT>t=?@Ѳuo;=󁂾?! :}G>G?I:}>þt=?#nܲu9?9? 3̴i5?5?@vY+T?(TM#I?KjfFWl?Wlԋ ?S:p0d ?֛B>D f {?{B>X1e?c <'`s ͹?tӟso?SBtS%?YBi~dp=?΋ 4@v8?z47j?NB>tϭt?ԋ ?ump0?dM#I?bfFWl? þ?STݻY9??Bai>Tt=?z.u>f;ؽ?t:},,?p+Ћ @wHDATA  ,@@@ @  @ @ @ @  @ @@@ @! @"# !  #$ $% %& &' '( () )**++,,-,+.-,*/.+)0/*(10) '21( &32' %43& $54% #65$ 76#" 867 689 9:56 5:;4 4;<3 3<=2 2=>1 1>?0 0?@//@A..AB-B-CBADCB@EDA?FE@>GF? =HG> <IH= ;JI< ;:K KLJ; K:9 MJL@NIJM@ INO@OPHI@HPQG@GQRF@FRSEESTDDTUCUCVUTWVUSXWTRYXSQZYR@QP[@[\ZQ@[PO@]^Z\@ Z^_Y@Y_`XX`aWWabVbVcbadcb`eda_fe`^gf_@hg^]@ ijgh gjkf fkleelmddmncnconmponlqpmkrqljsrk tsji uvw twv vxst sxyr ryzqqz{pp{|o|o}|{~}|z~{yzxy vx vu v  @@@@@@@~~}} @ @ @ @@@@@ME +/k  MEimpiedsmootBaseMesh!k   9  e 43???DATA9  DATAe 0 K﮴K﮴+< S;pr12=^Y<3 D= =Y% 3z#>1FY=0% z>Yt=鳿 fɀG#>ʱ=Ƨz4>0=^,YD>=Z0dT>=7d>*=TZ8`t>=+쁂>\;= w끂>^;= w3>j==1r>@=혱P]m7>G=oiD>T?=8+f>H=Ҧc>B:=eaN>ls=𪱿``w>{cX=t `->X==񪱿(/`R>nM"=fFa7>A=Ӧdc>h<9dfN>,N<i>PgX<𘱿2m>e;?rB>3wB>g3wЋ>f2n+lw>jUZf> VVT>mZ{dB>^:,&K1>ݳƧP>鳿ɀ >1% ~v='6Y z=yN톴i Zꆱ=XZfa?=z;~̴F)XU= c崿t=# `<rL﮴끂>^;= wډ>=P}$ Ȃ{>=, Z>.>#QP x>>? ׃z><: > "{ ;g>>v BO> X>ڭ />n >8S"7x>^'>b#o>J->5᫿%]w >K4>t+x&a>u:>*o'}d>9A>b4):>uG>$㨿*g>AM>|+0(>T>t=@->T>u=@-?F>~Y-z?9>q-j3?,>Z.@?U>,H.?>A. wNM?R>. p?4=5/ l-?l=?/f kL?C=5{/9l$?B=/ p?F=B/w1?xT=-&0]?=[]0d ?йj3c,>nCb3,o+}l>Y Z3v+)#>Q37᫿&(wέ>J3e&j/>;B38'%>!:3ڭ#>x23v""…>lw+3 ;> $3C׃H>r3'x>_30 >3TȂB>h3w>T>u=@- ?VZ>`.L\?`>}/G ?Vf>7=1e?l>$2K?Fs>3{`?'y>Ⱑ*5@ ?&7>ԭu6c?\>7H!? >19ޏ"$?>I:$m(?퇋>Fd;k+?u>B<.8x/?]> > 2??>|D?4ޓg6?>|@9?>A69?>A6 ;?y>s!Bn;斿BMb=?z> B,1ڀ>?g>-ZC|??ʙT>FC s@?cA>XDƥA?U#.>-cvDdB?y>fD #C?X>-c$E yD?h=XvEE WE?h=FE ,F?=-FF?$qh= XF"15G?=斿FlMtH?A68=?>DBuޖ@?Ջ>bD4ZC?&P>&DED=G?r>fpF-1J?Ƨ>\G#M?fx>H"P?#> TIn0T?ȯ>틿K2YW?f>߁"LyZ?>=M]?>UNr ̠`?>!jO *.c? >|PV!:f?>NQ!Ni?v> R5"e`l?>S"^l?>S"Fn?+>I=T Jo?>Thq?>ֿiUF$s?ԓ>쀿U"פt?>|Vv?v>!'V[\w?d^>5tWx?E>:W|y?-->5RXNz?~>"'X "{?H=Y V|? =쀿kYפ}?Ї=׿Y(~?xE=Z`X? L1xT?$>3'JDuP?!3bIZL?3DhHuD#I?3G^l?>S"do?R>|T#=r?>yUy# u?>livV#nw?BN>B#sWJ$ fz?>roX$6C}?>1zlY%f?>i{Zz%F?Z1>,ei[%ͮ摂?U>7bS\>&׃?q>غ^9]&B?>r5[^&T?>ԧW^W'³?$>4T_'?>tP` (N?O}>Lac(?d>L#IRb(?d>J#IRb(47?>7I%cE&Q?J>OJc#zd]?k>JdO!P=Z?;>B&K^e-H?>[qKfG&?T>Kfj?3>/K7g1?wi>Kgmg? nL>/KKh9?$>[qKi ?P=A&KpiU -捕?h`=JiP?Hi=OJj*zA?<7I>j? 4J#Ilj?PJ3J#IljD? 3Li"?x3tPhNݵ?_33Tge?3ӧWf³?3q5[eǴ?bż3׺^dBS? 37bc?ˆ3,ebͮ恊?93ia?D31zl`e?!43ro_6T?"x3B#s^ 构?3miv]|?3y\(?`@3|[?W$3Z?d>J#IRb(.?uC>oEc)3J?J>Aca)`?A>P=d)ڼq?B>B":me*2|?9e>N6*fQ*? >s2f*?> .g*H}?^>*Jh2+r?>\&hz+a?T>"i+upK?2>FEj,/?j}>jG,H ?>k,?R>,l,#?D>xl-y?>Ћ @m@-z??Ћ @m@-?ֵ> ?n*>?D> 0o'~?> p%;?j>4C pJ"i?q'>H q~R¡?!:> drA?5> s8?> s4J?,c> .t%8?xC> tGA?">F ugR?Zb>2C ou i}?= uӦ?R= u?@>= #vo=?΋ @vp=? 2Ћ @v`?8e2xu}?2,u#?;=2_t?3sH?3Fs°?z83"Truƭ?ɾq /[a.??q5/?{?䅸Yr]/be:?d?꯾r/?#?$H s/nJ-?".?as/u0-?ZQ>i&vN*Kz?>ݎ"wd'Hũ?2>< xt$?Kl>ux}!?q>*y?Ʉ>ڏdz~ ?k>U叾{xŮ?:zr>ڏ{oLy?FO>*|b;?f->t|T?p ><|C ?@=ݎ$}2 D?૊=iX} t? =z}?B}?y2B}A?~28}?yo2| ?ra2%H|n-?T2꯾)| ? CG2慸{bv?G;2\{ڭ?)02?ɾz[9?%2/Ҿ|z?2>ھzXj?2 $㾈y+?u2y\io?*2.x? 2^MwgT?2Nkw?2ovyq=?"2ы @v?S?Bs 0j?4?狄At'0Ƥ?x?wtB0x?-?ft\0m? ?Tts08?H ?B-u0? ?K1]u0U%8?Z ?u0n? ?R u0u3? ? wu0ɦ?t+ ?սu0?H ?Lv0( ?` ?8v0Q ?s ?U,v0K~0? ?7v04:?$ ?>v0or=?Ӌ ?4@v0t=?ԋ ?4@v0*?V?|.4iw.9H4x%+x۫?^H>3 4y.(1?U>4yz/%m?}=>4Z{)"(?>4'| ?>4| ?<>,w4}'S?kw>#4~?Z4~Y?0>B4 "? >]4a ?X=*4b ˴?耍= 4@?0g =`4?33?v44l?z,3o?3g?-f3UK̴?GX37r?}3K(?ҭ3սY?>Q3 wW%?"3R au?z37?,Li3K1U^?MM3B~?z13T~8$?3f^~tZ?l2w~?h2狄}?x2B}t=?ԋ ?4@v06:?% ?^<>v00? ?=7v0#R ?s ? U=,v0 ?` ?X=v0F?H ?l=v0ɦ?u+ ?=u0i 3? ?,w=u0 n? ?b >u0 %8?[ ?>u0? ?K1>]u0?H ?B>-u0:m? ?T>ts0w?.? f>t\0VƤ?y?w>tB0j?4?>At'0n?T?B>s 0?R?B>s 0ݚ?O>>u0-?XQ>i>&vN*,Iz?>ݎ>"wd'AFũ?2><> xt$R?Il>}>x}!_?o>3>yi?DŽ>ڏ>dz~o?k>]>{xp}Ů?8zr>ڏ>{ooFy?BO>2>|bi5?f->}>|T_?n ><>|C R?<=ݎ>$}2 AD?ܫ=i>X} ,t? =>z}|?B>}?e2B>}?];2>}nnZ?<2w>~?ܮ3f>^~V?I13T>~^?fL3B>~:?jh3K1>? 3>7S%?L3b >a Y?Ğ3,w= ?zo3=i p?I3l=̴?P3X=Fe?3 U=?3=#k?ZR3`<?v44?R?B>s 0s/I-?.?>as/ ?!?,H> s/e:?d?>r/?z?셸>Yr]/ a.??&>q5/""??F>q /# ???/>)q.'%m?F?E>p.&̞?<?&$>Hp.'($?&?>oQ.)-v? r?4>Vo.+5œ??dM>n-,??B?N?Sn-.SH??o?mz-/z??ԋ ?@m@-0y?>ԋ ?@m@-0?յ># ??n*,1>?D>$ ?0o'V1~?> ?p%z1:?h>8C ?pJ"1?p'>L ?q~1¡? :> ?dr1?5> ? s1?> ?s1J?*c> ?.t%1?xC> ?tG1?">L ?ug1?Vb>9C ?ou 1}? = ?uz1Ӧ?R=% ?uV1?8>=$ ?#v,1p=?Ջ ?@v0n=?*ԋ ?@v0?Bho?v/P?N?kw.?-dM>w,eo??-04>x++?H0>y)f?1&$>y'(?[1E>z& 9?Z1/>|z'%ڭ?A1F>z# v?v1&>\{""{ ?k2텸>{ &?T)2>)|?;F2-H>|?e2>| 9? 2>8}~?e2B>}y?>ԋ ?@m@-0?D>|?l-m2?R>0?l,3 ?>?k,L5/?i}>?jG,6pK?2>I?Ej,#8a?S>"?i+9r?>`&?hz+:}?^>*?Jh2+V<?>$.?g*=? >s2?f*?|?6e>N6?*fQ*t@q??>F":?me*A`?=>S=?d)&CJ?F>A?ca)zD.?pC>oE?c)E?d>M#I?Rb(G?d>M#I?Rb(G47?>:I?%cE&UGQ?J>OJ?c#Gd]?k>J?dO!G=Z?;>E&K?^eGH?>^qK?fGG&?T>K?fHj?3>2K?7g1 H?wi>K?gHlg? nL>2K?K?hH9?$>^qK?i G?P=D&K?piU G捕?h`=J?iG?Hi=OJ?j*GA?<;I?>jUG? 4N#I?ljG?PJ3M#I?ljG?,3oE?IkE?2-3A?"lzD?D3S=?l&CC?I3F":?mAzd?%i3N6?nt@?3s2?]o?I?u3$.?"p=?]W3*?pV<ƭ?:3a&?q:ð?3"?Tr9?c3J?s#8?&2?s6?p2?_tL5}?=22?u3`?1~?um2o=?+֋ ?@v0?d>M#I?Rb(G?L}>L?ac(hH?>tP?` (I?!>5T?_'JT?>֧W?^W'>L?>s5[?^&M׃?q>ٺ^?9]&N摂?U>7b?S\>&OF?Z1>-e?i[%3Q?>i?{Zz%hRC}?>1zl?Y%Sgz?>ro?X$Tnw?CN>B#s?WJ$U u?>miv?V#W=r?>y?Uy#BXdo?R>|?T#dY`l?>?S"Z^l?>?S"ZFn?+>I?=T Zo?>?ThZq?>Կ?iUF [$s?ԓ>?U")[t?>?|VA[v?v>'?VS[[\w?d^>5?tW][x?E>:?W|a[y?-->5?RXN][z?~>'?X S["{?D=?Y A[U|? =?kY)[}?̇=ӿ?Y [(~?pE=?Z`ZX?Lݵ?)34T?gJ"? 3tP?hID?3L?ihH?NJ3K#I?ljG^l?>?S"Zi?y> ?R5"[f?>K?Q!\-c? >?|PV!]̠`?>?jO ^]?>?UNr _yZ?>?=M`2YW?f>܁?"Lao0T?ȯ>?KbP?#>T?IcM?ix>?H"dJ?Ƨ>Z?Ge=G?v>f?pF-fC?*P>$?DEg@?ڋ>`?D4h8=?>D?Bi9?>?A6lj9?>?A6lj ;?y>q?!Bj;?Bjb=?z> ?B,j܀>?g>-?ZC|j ??̙T>F?Cju@?cA>X?DkǥA?W#.>*c?vDd kB?{>f?D k#C?Y>*c?$E k yD?h=~X?vEE kWE?j=F?Ej,F?=-?FjF?,qh= ?XF"j3G?=?Flj tH?Lf5[?Ka3Z?Me^?lb3?Nd7b?Erd3T?Oce?xf3?3Qbai?Gh3݁?hRayl?Uk3?S`o?Zn3?T_"s?r3?U^hv?u3?W]Iy?Cz3L?BX\|? 3 ?dY[?Y$3?ZZ9?>?A6ljg6?>?|@Ik2??>y?D?4"lx/?]>? >l+?u>B?<.mm(?>Cd?;n%$?>?I:$]o H!?#>/?9"p?_>?7pD ?,7>ҭ?u6q`?'y>డ?*5Tr?Ls>?3{s?l>!?2s"G ?\f>4?=1e_t?`>}?/u?VZ>`?.Lu?T>r=?@-@v?T>t=?@-@v?F>}Y?-Tvz?9>q?-jev3?,>X?.@tv?U>+?H.v?>@?. vRM?T>?. v?4=4?/ v1?o=??/f vL?E=4?{/9v(?@=?/ v?F=@?/v1?pT=*?&0va?=X?]0tvd ?Y2ӭ?:qQ*?2?V<pב.?P2/?="ps2?3??]oTN6?3Dd?t@n!:?V#3B?Am=?7i13?&ClXA??3z?zD"lnE?LN3?EIkI#I?1]3?Glj?T>t=?@-@vg>HM>}?+0vA>uG>%?*kwl>AA>b?4)wa>}:>+o?'x>K4>u+?x&yx>R->6?%]y>^'>d?#z/>v >8?S"7|zJO>X>ڭ? zg>>v? \{z>D: > ?"{ { >>@? )|b>7>$?QP |>=-? |㉊>҉=Q?}$ 8}>q;=? }>p;=? }3>{==?1}>@=혱?P]}A>U=?o}D>b?=8?+}>U=Ҧ?}>M:=e?}O>ls=?`}>cX=t? }8> Y==?(/}#R>~M"=f?F}A>,A=Ӧ?d}>h<:?d}N>pgXf;@?}B>@3?}B>M 3?}>3P?8}>2,? |+H>g~2#?| >+2??)|ͅ>2 ? {>2v?""\{>,2ڭ?#zt/>28?'%|zح>L2b?&z#>b24?&(yt>7C2t+?)y>$2*o?+xL><2a?,wM?TV1#?.kwo?81{?/vЋ ?yI1s=?0@v>p;=? }t>=?}Ld>@=UZ?8`~T>=?^~YD>=?Z0~4> 1=^?~\#>籇=Ƨ?zz>Zt=? f7#>oFY=1%? a=t*>=Y?% 3r=#=톴?==a??p7=h<̴?f`D= u20%? ae>z؛2?7E\2Ƨ?B>x 2^?:~mT>2?~f>#2?V^~w>^2TZ?~ڋ>Q3?n}B>M 3?}G>G>?}r;>r;>?},/>,/>UZ?yy~@">@">?aa^~G>G>?H H ~ > >^?. . ~F=F=Ƨ?  l=l=? 7n=n=1%?a==Y?==톴?{={=a?H=H=̴?ppH=H=d?TT<p;=? }Q>==? }o}>;=혱?f }ay>=? }|u>>8? }r>c>Ҧ?d }R5n>~>e?  }cj>R>? }f>G>t?` }b>>? }r^>%>f?} [>$;+>Ӧ?\"}D4W>0>:?}[ZS>B6>?%}GO>^<>?V}K>B>@?'}G>G>?}?T>t=?@-@vg>x|_>}Y?,Tv>j>q?+ev]#>Av>X?U+tvx>$΀>+?*v>y>@?*v>J!>?`)vX>uƑ>4?(v>rh>?(v3>>4?c'v` >>?&v;>h9>@? &vuh>̭>*?^%v>\>X?$tv\>>q?$ ev>[m>}Y?R#!Tv>>s=?""@v>>t=?""@v(>(>}?!!vG>G>%? kwKg>Kg>b?w > >+o?~~x>>u+?qqy>>6?ddy)>)>d?UUz>>8?EE|zf>f>ڭ?55z΋>΋>v?##\{0z>0z> ?{x>x>@?)|l>l>$?|YU`>YU`>-?|T>T>Q?8}G>G>?}9?>?A6ljW7?q]>q?@jh4?ª>??/jFD2?O!> ??jn/?Rx>-?>#!j-?I>F?.="j`f*? >~X?><$k'?J>*c?K;% k$?~>f?U:&kD?"?>)c?\9k( k1x?*>~X?a8)k?>F?c7H+j%?2>-?b6,j?l? ?_5.j/?Jb??Z4/j7*?Q ?p?R30j9?9??H2H2lj9?9??H2H2lj8 ?8 ??[1[1Ik??y?l0l0"lL?L??{/{/l??B?..m??Cd?--n^^>^^>?,,]o>>.?++"p Z> Z>?**p>>ҭ?))q0>0>డ?((Trӎ>ӎ>?''s>>!?&&s2>2>4?%%_tx>x>}?$$ug>g>`?##u>>r=?""@v^l?>?S"Zi?>I?R$Z?f?*>?}Q}&ZYac?]>Կ?cPg( [l1`?R>?CON*)[\?$>?N2,A[Y?*R?'?L.S[t9V??5?K/][eR?/ ?:?J1a[LAO??5?FI3][K?V-?'?Hs5S[ H?G??F@7A[XD?U!??kE 9)[x@?V&?Կ?D: [$Z5?5????Z5?5????Zm2?m2? ?5?5?[0?0?K?h>h>\<.?<.??==]C+?D+??<<^̔)?̔)??;;_6'?6'??;;`$?$?܁?E:E:ag"?g"??j9j9b??T?88cz~?y~??77d+?)?Z?66e~?~?f?55f0?-?$?55gf?f?`?44h??D?3333i9?9??H2H2lj?d>M#I?Rb(Gk?^~>;I?+a +UGX?>A?OJ?_X-G??J?^/Gx*?`! ?E&K?u]1GL?}?^qK?#\%4G a??K?Z`6H&|? ?2K?bY8 H_x?6&?K?W:Hjt?R,?2K?{V< HWp? \2?K?T?Hk?&R8?^qK?pS+AGg?3>?E&K?Q?CGc?)D?J?BPLEG_^?$I?OJ?NPGG=Y?TO?LaK?aK?r5[?HHM-I?.I?غ^?ZGZGN&G?'G?7b?FFOhE?iE?,e?EE3QC?C?i?@E@EhR9A?:A?/zl?DDS????po?CCT=?=?@#s?CCU֍;?׍;?jiv?NBNBWg9? g9?y?AABXt97?v97?|?@@dY5?5????Zy?>ԋ ?@m@-0U͘?se?# ? l/,1?'?$ ?jv2V1$?? ?ui 5z10?7?9C ?h71)?wZ$?M ?f:1?h+? ?+e<1J?a2? ?c?1?D9? ? bA1P?@@? ?f`C1?F? ?^FF1y?UM?M ?\H1?S?9C ?0[J1T|?+Z? ?[Y"Mz1sw?Ni`?% ?|WWOV1 r?f?% ?UQ,1`l?Zl?֋ ?SS0]l?]l?ԋ ?SS0WKk?XKk?|?/S/Sm2 j? j?0?RR3h?h??IRIRL5'lg?'lg??QQ6f?f?J?VQVQ#8;d?;d?"?PP9;c?;c?a&?VPVP:a?a?*?OOV<BE`?BE`?$.?JOJO=^?^?s2?NN?(,]?),]?N6?1N1Nt@[?[?F":?MMAPY?RY?T=? M M&CpGX?rGX?A?vLvLzD_V?aV?oE?KKE0T?2T?N#I?@K@KG?R?B>s 0_J? ?>r2t??i>uq5, ?z?ݎ>pb8A4?0'?<>n;R`?.?~>+m=_*?RW6?3>ky@ijޕ?=?ڏ>iCo{?HE?^>MhEp?LL?ڏ>f=Hojv?cS?4>dJiԋ?ZZ?~>b5M_?0a?<>`ORU?g?ݎ>^QAjy?Fon?i>\LT,ӊ?t?>ZV{?{?B>XX{?{?B>XX#sz?#sz?>XXy?y?>NXNX y?y?,H>XXSx?Sx?>WWw?w?셸>WW v?v?&>:W:W""Iu?Iu?F>VV#dt?dt?/>VV'% t? t?E>GVGV&hs?hs?&$>UU'(ir?ir?>UU)%q?%q?4>7U7U+o?o?dM>TT,n?n?N?qTqT.8m?8m?o? T T/^l?^l?ԋ ?SS0t=?ԋ ?4@v0]? ?4u3g??4s6#?"?Y 4Wr9 ?*?& 4pO<?[2?_ 4ao?$A?. :? 4mAM?tA?? 4$lxD{?I?[ 4ljG?sP?Q 4hI([?W?J 4fCLʩ?T^?" 4dN4?e?S4b9Q?Xl?z4`S?-s?r4^U?y?gE4\EX??3ZZ??4ZZ? ?^ZZ p~?o~?>YYs~?r~?K1>YY#}?"}?B>YY::}?:}?T>YYK|?J|? f>[Y[YV:|?:|?w>,Y,Y{?{?>XXn{?{?B>XX?S?Bs 0`J? ?r2t??iuq5 ?z?ݎpb84?0'?J#IRb(k?^~>7I+a +X?>A?OJ_X-z??J^/Px*?`! ?B&Ku]1-L?}?[qK#\%4 a??KZ`6&|? ?/KbY8_x?6&?KW:jt?R,?/K{V<Wp? \2?KT?k?&R8?[qKpS+Ag?3>?B&KQ?C-c?)D?JBPLEP_^?$I?OJNPGz=Y?TO?7ILMI/T?3T?J#I@K@K0T?1T?J#I@K@K_V?`V?oEKK3pGX?qGX?AvLvLPY?QY?P= M Mڼ[?[?B":MM2(,]?),]?N61N1N^?^?s2NNBE`?CE`? .JOJOHa?a?*OO;c?;c?\&VPVP;d?S"i?>IR$J?f?*>}Q}&Yac?]>ֿcPg(l1`?R>쀿CON*פ\?$>N2,Y?*R?!'L.t9V??5K/eR?/ ?:J1LAO??5FI3K?V-?"'Hs5 H?G?F@7XD?U!?쀿kE 9פx@?V&?ؿD:%J5?5???5?5???r97?s97?|@@g9?g9?yAAՍ;?֍;?livNBNB=?=?B#sCC ????roCC68A?:A?1zlDDfC?C?i@E@EhE?iE?-eEEͮ&G?'G?7bFF-I?.I?غ^ZGZGBaK?bK?r5[HHM?M?էWHH³zO?zO?4TZIZIMQ?MQ?tPIINS?S?LJJ2T?2T?L#I@K@K9?>A6W7?o]>s@nf4?ª>斿?/MDD2?M!> ?1l/?Px>->#!-?G>F.=" ^f*? >X><$'?J>-cK;%$?~>fU:&C?"?>.c\9k(0x?(>Xa8)?>Fc7H+ %?/>-b6,?k? _5.1/?Hb?斿Z4/M8*?Q ?wR30n9?9?H2H29?9?H2H2??D3333uf?f?b44Z.?.?&55D~?~?f551)?)?\66#x~?y~?77?? T88g"?g"?틿j9j9$?$?߁E:E:6'?6'?;;˔)?̔)?;;B+?D+?!<<*<.?<.?==:0?0?Nh>h>Nl2?n2? 5?5?e5?5???>T>u=@-f>q|_>~Y,>j>q+U#>Av>ZU+x> ΀>,*>y>A*w>E!>`)pX>qƑ>5(l>mh>(k,> >5c'lY >>&p;>c9>B &wnh>̭>-^%>[>[$U>>q$ >Tm>YR#!>>w="">>u=""`>a>`##\x>x>}$$}2>~2>7%%>>$&&KΎ>Ύ>''0>0>Ⱑ((>>ԭ))cZ>Z>**>>1++ޏY^>Z^>,,??Fd--k??B..8L?L?{/{/ ??|l0l0ޓ6 ?6 ?[1[19?9?H2H2끂>^;= wF>== ro}>;=혱f mLy>= igu>>8 f r>X>Ҧd c>5n>r>e  a cj>R>𪱿 `zf>:>t` `b>>񪱿 `_^>p%>fa [>;+>Ӧ\"c04W>0>9fHZS>26>%i4O>^<>𘱿VmK>B>@'rG>G>wG>G>wT>T>PȂEU`>EU`>,{l>|l>#xx>x>?׃'z>'z> ;ċ>ŋ>v##]>^>ڭ55>>8EE >!>bUU>>5᫿ddw>>t+qq>>*o~~}Cg>Eg>bG>G>$㨿 >">|!!( >>t=""K﮴K﮴*H<*H >^. . ,G>G>H H d.">.">aa/>/>TZyyr;>r;>+G>G>wK﮴K﮴ S;+==Y3% z1FY=#>0% Yt=z>鳿f ɀʱ=G#>Ƨz0=4>^,=YD>0Zd=T>)=7d>TZ`8=t>+[;=쁂> w];=끂> w=F>= r;=o}>혱 fm=Ly> i>gu>8 fX> r>Ҧ dcr>>5n>e aR> cj>𪱿 `:>zf>t ``>b>񪱿 `q%>_^>fa;+> [>Ӧ"\c0>04W>9f36>HZS>%i^<>4O>𘱿VmB>K>?'rG>G>w];=끂> w=ډ>P$ }Ȃ=z>, .>Y>#P Qx>>? ׃:: >z> { ";>g>v  X>AO>ڭ m >/>87S"^'>v>b#J->n>5᫿]%wK4> >t+x&t:>a>*o'}8A>a>b4)uG>6>$㨿*@M>g>}0+(T>>t=@-T>>u=@-n|_>f>~Y,j>>q+ Av>U#>YU+΀>x>,*y>>A*wD!>>`)ppƑ>X>5(llh>>(k>,>5c'l>Y >&pb9>;>B &w̭>ph>-^%[>>[$>V>q $Sm>>Y!R#>>w=""T>>u=@-VZ> ?`L.\`>?}/Tf>G ?7e=1l>?$2KDs>?{3'y>`?Ⱑ*5%7>@ ?ԭu6c[>?7 > H!?19ޏ>#$?$I:>m(?Fd;ku>+?B.<8]>x/? > ?>2?|4D?ޓ>g6?|@>9?6A>9?6Ao]>W7?s@nª>f4?斿/?MM!>DD2? ?1Px>l/?-#!>G>-?F".= >^f*?X$><J>'?-c%K;~>$?f&U:>C?"?-ck(\9(>0x?X)a8>?FH+c7 />$?-,b6k?? ._51Hb?.?斿/Z4MQ ?7*?v0R3n9?9?H2H2>9?6A>8=?DBuԋ>ޖ@?b4DZ%P>C?&DEDr>=G?f-pF1Ƨ>J?\G#fx>M?"H#>P? TIȯ>o0T?틿Kf>2YW?߁"L>yZ?=M>]?r UN>Π`?" jO* >/c?V!|P:>f?O!QNw>i? 5"Re>bl?"S>]l?"S>i?I$RJ'>>f?}&}Q[>Xac?տg(cPR>k1`?쀿N*COפ!>\?2,N)R?Y?!'.L?t9V?5/K- ?fR?:1J?MAO?53FIT-?K?!'s5HG? H?@7FU!?XD?쀿 9kEפV&?|@?ֿ:DI+?)aAJ5?5???>]l?"SR>do?|#T>=r?yy#U> u?miv#V@N>mw?B#sJ$W >fz?ro$X6>C}?1zl%Yf>?iz%{ZV1>F?-e%i[ͮU>摂?7b>&S\q>׃?غ^&9]B>?r5[&^>T?էWW'^³>?5T'_>?tP (`NF}>?Lc(ad>?L#I(Rbd>?J#I(Rb[~>k?7I ++a=A?X?OJX-_z??J/^P^! ?w*?B&K1u]-}?L?[qK%4#\? a?K`6Z ?&|?/K8bY6&?_x?K:WR,?jt?/K<{V \2?Wp?K?T"R8?k?\qK+ApS3>?g?B&K?CQ-&D?c?JLEBPP I?_^?OJPGNzTO?;Y?8IMIL0T?-T?K#I@K@Kd>?J#I(RbrC>.?oE)c3H>J?Aa)c>>`?P=)dڼ@>q?B":*me27e>|?N6Q**f >?s2*f>? .*gH^>}?*2+Jh>r?\&z+hT>a?"+iu4>oK?F,Ejl}>/?G,jH> ?,kR>?,,l#H>?x-l?x?Ћ @-@m?y?Ћ @-@mse?U͘? / l(?? v2j?$? 5ui7?0?4C 7hixZ$?)?H :fRh+?? <+eAa2?K? ?c8D9?? A b4B@?P? Cf`8F?? FF^A UM?y?H H\RS??4C J0[i+Z?X|? "M[YSi`?sw? WO|Wf?# r? QU`l?dl?ϋ SS?y?Ћ @-@m?RH?oz-myB?>?M-Sn?5œ?\M-ng r?-v?,.Vo&?$?Q.o\<?̞?$㾂.HpG?m?>ھ.pX@? ?/Ҿ.)q ? ??ɾ /q[?b.?5/q{??慸]/Yrbd?f:?꯾/r"??&H/ sn!.?L-?/asފ???/sS??B 0sS??B 0s ?`J?2r?t?i5uqz? ?ݎb8p0'?4?<;n .?`?u=+mTW6?*?*y@k=?kޕ?ڏCiJE?{?U叾EMhLL??ڏ=HfcS?jv?*JdZZ?ԋ?u5Mb 0a??voЋ ?q=?30@vҋ ?s=?40@v?\?K43u?f?46s"?!?49Wr*??JN4Ov ?0?=07v#s ?Q ? U=0,v` ? ?X=0vFH ??l=0vs+ ?ɦ?=0ui  ?2?,w=0u ?n?b >0u Y ?$8?>0u ??K1>0]uH ??B>0-u: ?m?T>s0t,?v? f>\0tVw?Ƥ?w>B0t4?j?>'0AtnR??B> 0sR??B> 0s ?^J?>2r?t?i>5uq,z? ?ݎ>b8pA0'?2?<>;nR.?`?}>=+m_RW6?*?2>y@ki=?iޕ?ڏ>CioIE?{?]>EMhpLL??ڏ>=HfocS?jv?3>JdiZZ?ԋ?}>5Mb_0a??<>O`Rg?U?ݎ>Q^AGon?jy?i>LT\,t?Ԋ?>VZ{?{?B>XXR??B> 0s݊?;?>/s.?I-?>/as !??,H>/ sd?d:?>/rz??셸>]/Yr ?`.?&>5/q""??F> /q#?? ?/>.)q'%F?m?E>.p&;?̞?&$>.Hp'(&?$?>Q.o) r?-v?4>.Vo+?5œ?dM>-n,B???N?-Sn.?SH?o?z-m/?z?ԋ ?@-@m0>x?ԋ ?@-@m0re?T͘?# ?/ l,1&??$ ?v2jV1?$? ? 5uiz17?0?8C ?7h1vZ$?)?L ?:f1h+?? ?<+e1a2?J? ??c1D9?? ?A b1@@?P? ?Cf`1F?? ?FF^1UM?y?K ?H\1S??7C ?J0[1+Z?S|? ?"M[Yz1Ni`?sw?# ?WO|WV1f? r?" ?QU,1Zl?^l?Ӌ ?SS0>x?ԋ ?@-@m0C>?|?-lm2R>?0?,l3> ??,kL5h}>/??G,j60>pK?I?,Ej#8Q>a?"?+i9>r?`&?z+h:^>}?*?2+JhV<>?#.?*g= >?s2?*f?5e>|?N6?Q**ft@>>q?E":?*meA<>`?S=?)d&CF>J?A?a)czDpC>.?oE?)cEd>?L#I?(RbGd>?M#I?(RbG[~>k?:I? ++aUG=A?X?OJ?X-_G??J?/^G^! ?w*?E&K?1u]G}?L?^qK?%4#\G? a?K?`6ZH ?&|?2K?8bY H6&?^x?K?:WHR,?jt?3K?<{V H \2?Wp?K??TH"R8?k?_qK?+ApSG3>?g?F&K??CQG&D?c?J?LEBPG I?_^?OJ?PGNGTO?;Y??M#I?(RbGI}>?L?c(ahH>?tP? (`I>?5T?'_J>T?էW?W'^>L>?r5[?&^Mq>׃?غ^?&9]NU>摂?7b?>&S\OW1>F?,e?%i[3Q>?i?z%{ZhR>C}?/zl?%YS>fz?po?$XT@N>nw?@#s?J$WU> u?jiv?#VW>=r?y?y#UBXR>do?|?#TdY>^l??"SZ>]l??"SZ>i?I?$RZ'>>f??}&}QZ[>Xac?Կ?g(cP [R>l1`??N*CO)[!>\??2,NA[)R?Y?'?.LS[?u9V?5?/K][- ?fR?:?1Ja[?MAO?5?3FI][T-?K?'?s5HS[G? H??@7FA[U!?XD?? 9kE)[V&?|@?Կ?:D [I+?)aAZ5?5????Z>]l??"SZw>i? ?5"R[>f?K?!Q\ >,c??V!|P]>ʠ`?? jO^>]??r UN_>yZ??=M`f>1YW?܁?"Laȯ>n0T??Kb#>P?T?Icfx>M??"HdƧ>J?Z?Ger>=G?f?-pFf%P>C?$?DEgԋ>ߖ@?`?4Dh>8=?D?Bi>9??6Alj>9??6Aljp]>W7?q?@jª>g4??/?jN!>ED2? ??jRx>m/?-?#!>jH>-?F?".=j >`f*?~X?$><kJ>'?*c?%K; k~>$?f?&U:k>E?"?*c?k(\9 k*>3x?~X?)a8k>é?F?H+c7j1>(?-?,b6jl?? ?._5jIb?2??/Z4jQ ?;*?o?0R3j9?9??H2H2lj>9??6Alj>g6??|@Ik?>2?y?4D?"l]>x/?? >lu>+?B?.m(?Cd?;n>%$??$I:]o"> H!?.?9"p^>??7p+7>D ?ҭ?u6q'y>`?߰?*5TrJs>??{3sl>?!?2s[f>"G ?4?e=1_t`>?}?/uVZ>?`?L.uT>?r=?@-@vT>>t=?@-@vw|_>g>}Y?,Tvj>>q?+evAv>\#>X?U+tv$΀>x>+?*vy>>@?*vJ!>>?`)vuƑ>X>4?(vrh>>?(v>2>4?c'v>` >?&vi9>;>@? &v̭>uh>*?^%v\>>X?$tv>[>q? $ev[m>>|Y?!R#Tv>>s=?""@vT>>t=?@-@vGM>g>}?0+vuG>@>%?*kw@A>k>b?4)w|:>a>+o?'x K4>>u+?x&yR->v>6?]%y^'>>d?#zv >/>8?7S"|zX>IO>ڭ? z>g>v? \{D: > z> ?{ "{> >@? )|6>`>$?P Q|=>-? |щ=>Q?$ }8}o;=>? }o;=>? }=Q>=? };=o}>혱? f}=ay>? }>|u>8? }c>r>Ҧ? d}~>S5n>e? }R> cj>? }H>f>t? `}>b>? }%>s^>f?}%;+> [>Ӧ?"\}0>D4W>9?}C6>\ZS>?%}^<>GO>?V}B>K>@?'}G>G>?}o;=>? }=t>?}@=Ld>UZ?`8~=T>?^~=YD>?0Z~1=4>^?~汇=\#>Ƨ?zZt=z>?f 7nFY=#>1%? at*>==Y?3% #=r=톴?==a??h?}ދ>?n}甞w>UZ?~䓱f>?V^~?rT>?~6{B>^?:~dBK1>Ƨ?Mj>?76 >1%? a{v=Y? ,P=톴?i =a?=̴?F(U=d?0=?#@ٮ? }z=3>=?1}@=>혱?]P}T=B>?o}`?=D>8?+}R=>Ҧ?}J:=>e?}ls=O>?`}cX=>t? }Y==;>?/(}tM"=&R>f?F}"A=E>Ӧ?d}h<>9?d}$N<N>?}@gX<>?2}e;>@?}B>?}T>>t=?@-@vF>?}Y?-Tv9>z?q?j-ev,>3?X?@.tvU>?+?H.v>?@? .vT>SM?? .v4=?4? /vm=3??f ?/vD=L?4?9{/v@=)?? /vF=?@?/vpT= 1?*?&0v=c?X?]0tvb?,w3If>+o?+xsz>u+?)y8v#>6?&(yݭ>d?&zgz/>8?'%|zt>ڭ?#zD>v?""\{m҅> ? {l>@?)|D0H>$?|>-? |>Q?8}B>?}>9??6Aljy> ;?q?!Bjw>;b=? ?,Bjg>܀>?-?|ZCjșT>!??F?CjcA>v@?~X?DkS#.>ɥA?*c?dvD kv> B?f? DkT>&C?*c? $E kh=yD?~X?E vEk^=WE?F?Ej=,F?-?Fj qh=F? ?"XFj=:G??lFj<tH?o?FjN#I??GljL#I??Glj]l??"SZ)>Fn?I? =TZ>o??hTZ>q?Կ?FiU [ԓ>$s??"U)[>t??|VA[v>v?'?VS[d^>_\w?5?tW][E>x?:?|Wa[-->y?5?NRX][~>z?'? XS[8=+{?? YA[ =_|??kY)[=}?Կ?Y [PE=4~??`ZZLf.4}T?$?JguP?`?Ih6L?D?hHiI#I??Gljd>?M#I?(RbG>47?:I?E&%cUGG>Q?OJ?#cGk>f]?J?N!dG;>>Z?E&K?^eG>H?^qK?GfGP>&?K?fH3>m?2K?17g Hwi>?K?gHnL>qg?3K??K?hH$>??_qK? iG<=?F&K?U piGX`=썕?J?iG i=?OJ?*jGPjUG?P#I?ljGׄ?M#I?ljGD?L?ihHvz(?tP?hIr㵒?5T?gJ%2ke?էW?f>Lvc!?r5[?eM:[˴?غ^?dNSS?7b?cOK?,e?b3QC遊?i?ahR;?/zl?`SZ3?po?_T+T?@#s?^UƔ#构?jiv?]WO{?y?\BX'?|?[dYՋ ??ZZ>x?ԋ ?@-@m0Ե>?# ?*?n,1D>>?$ ?'0oV1>~? ?%pz1h>:?8C ?J"p1p'>?L ?~q1 :>¡? ?dr15>? ? s1>? ?s1,c>J? ?%.t1xC>? ?Gt1">?K ?gu1Zb>?7C ? ou1=}? ?uz1R=Ӧ?# ?uV1H>=?" ?#v,1s=?Ӌ ?@v0(C2s=?ԋ ?@v01`?|?um21}?0?u3/??_tL5(+??s6~GJ?I?s#8gǰ?"?Tr9ʭ?`&?q:}۲?*?pV<dL?#.?"p=?s2?]o?֏(}d?N6?nt@<C?E":?mAO?S=?l&Cb?A?"lzD^[v?oE?IkEׄ?L#I?ljGR??B> 0sO>ܚ?>0-uXQ>?i>N*&v,>Iz?ݎ>d'"wA2>Fũ?<>t$ xRIl>?}>}!x_p>?2>yiȄ>?ڏ>~dzok> ?]>x{p8zr>Ů?ڏ>o{oBO>Ky?3>b|if->:?}>T|_p >?<>C |R@=?ݎ>2 $}Aܫ=D?i> X}, =t?>z}?B>}<2?B>}ʻ2??>8}wV2?>|  2 ?,H>|ך2+?>)|2 ?셸>{ Y2v?&>\{""2ڭ?F>z#T܆29?/>|z'% 2?E>z&Nz2k?&$>y'(q2+?>y)g2ko?4>x+^2?dM>w,JU2V?N?kw.*"L2?o?v/'C2t=?ԋ ?@v0ҋ ?s=?40@vV?)?4.iw>;k?{04%+xZH>w۫?G4.(yU>1? 4/%yzy=>m?,i 4)"Z{>(?o 4'|>?T 4 |;>? ^ 4}kw>)S?A 4~R? 4~0>[?z 4 ~ >"?L 4 aW=?4b Ԁ=˴?С4@g =?u 4?4S+?4o?^<} ?=#Ti? U=ײ̴?X=F s?l=\?=i nY?,w= 0<-W%?b >a dر?>7+?K1>0^?B>~:H+1?T>~2#? f>^~V8[2sZ?w>~ 2?>}n<2?B>}S??B 0sQ>ߚ?0-uZQ>?iN*&v>Kz?ݎd'"w2>Hũ??u}!xq>?*yɄ>?ڏ~dzk> ?U叾x{:zr>Ů?ڏo{DO>Ly?*b|f-><?tT|p > ?? *?nD>>? '0o>~? %pj>;?4C J"pir'>?H ~qR":>¡? drA5>?  s8>? s40c>J? %.t8xC>? GtA">?H guR\b>?4C oui=}? uR=Ӧ? uP>=? #v3t=?ϋ @v&2t=?Ћ @v12?ovy2V?Mkw6m2?\MwgE2ko?,x[ 2+?y\^1l?$y1?>ھzXP!19?/Ҿ|z.ڭ??ɾz[ v?\{0^ ?慸{b-?꯾)|u ?&H|nl@?|~fA?8}y?B}d>?J#I(Rb>47?7IE&%cG>Q?OJ#czk>f]?JN!dP;>>Z?B&K^e->H?[qKGfP>&?Kf3>m?/K17gwi>?KgnL>qg?/K?Kh$>??\qK i<=?B&KU pi-X`=썕?JiP i=?OJ*jzPj?K#Iljׄ?J#Iljsû?oEIk3]?A"lH?P=lڼ2C?B":m2d?N6n?s2]o߲N? ."pH??*pц̭?\&q4Ȱ?"Truʶ?FsP?sH 1?_t@O12}?,u#2`?xu(2s=?Ћ @v>]l?"S)>Fn?I =TJ>o?hT>q?տFiUԓ>$s?쀿"Uפ>t?|Vv>v?!'Vd^>`\w?5tWE>x?:|W-->y?5NRX~>z?!' X8=+{? Y =_|?쀿kYפ=}?ֿYPE=4~?`Z9?6Ay> ;?s!Bnv>;b=? ,B1g>܀>?-|ZCșT>!??FC cA>u@?XDS#.>ɥA?-cdvDv> B?f DT>&C?-c $Eh= yD?XE vE^=WE?FE =,F?-Fqh=F? "XF1=:G?斿lFM<tH?vFnN#I?GV4*K#I?GCL?DhHua\ uP?bIZuT?&JD5XW?f>L15[?\M#,^?N07b? TO 2e?틿3Q,IJfi?߁hR вyl?Sc۲o?TQ粻"s?!U*hv?W:Oy?NBXN^|? dYeӋ ?ZT>>u=@-F>?~Y-9>z?qj-,>3?Y@.U>?,H.>?A .wN>OM? .p4=?5 /ld=.?f ?/k;=L?59{/l8=%? /p>=?B/wdT=1?-&0=_?[]0&?ԭ:c(R*?V<eّ.?1=ޏxs2??KlWN6?Fdt@ky_!:?BA8ZvR=?&C 'AE\A?|zDޓ7nE?ER4*L#I?G];=끂> wi=3>=1r@=>혱]PmE=7>oiR?=D>8+fF=>Ҧc@:=>eals=N>𪱿``vcX=x>t `X==/>񪱿/(`jM"=R>fFaA=9>Ӧdcth<>9df N< N>i8gX<>𘱿2me;>?r2B>wn{B>ws%>PȂ}ṯ>, ʡ$H>#xNU >?׃ Dž> ;!4>v""vgG>ڭ#BZo/>8'%mԭ>b&$R#>5᫿&(wbq>t+) ">*o+}nsL>b,ߴM?$㨿.宲o?|/('Ћ ?t=0K﮴K﮴> a0% {T>鳿ɀy+K1>ƧೄB>^:,s\T>d"f>V`=rw>TZPbͲӋ>n+m{B>wK﮴K﮴*Xٻ+=Y% zFY#>0%3 #Ztz>鳿 ɀ챇F#>Ƨz 14>^i,YD>ZdT>867d>TZ8ʽt> +^;ؽ쁂>rw];ؽꁂ>rwiʽ3>= 1r@>혱PmE6>8fF>Ҧnc@:>ealsN>𪱿`vcXx>t8 `X=/>񪱿(`hM"R>fjFaA9>Ӧdcxhؼ>9f N N>5i@gX>meػ>?grB>w];ؽꁂ>rwى>P}Ȃz>,E.X>#Qx>?׃;: z> ";g>v XBO>ڭ\ n />8S"^'x>b5#J-p>5᫿%wK4 >t+x&u:a>*o'}9Ad>b4)uG:>$㨿_*AMg>|+(T>t=B@-T>u=B@-F?~Yl-9z?q-,3?Y.U?,H.?A.wPOM?B.p4ケ?5n/lhԽ/??/k?L?5{/l<&?/pB?B /whT1?-M&0`?[z]0Լd ?q0гT ?Y02Ћ ?w=0T>u=B@-VZ ?`.\`~?}'/VfG ?7=1l?$2KFs?3'y`?Ⱑ*5'7@ ?ԭru6c\?7!H!?1b9ޏ"$?I:m(?FdV;ku+?B<8]x/?N > ?2?|D?ޓg6?J|@9?A9?Ay ;?sv!Bnw;?-ZCəT??F6C cAt@?XDT#.ǥA?-cvDxB?fQDV$C?-c$Eh yD?XvEdWE?FqE ,F?-'FqhF? XF17G?斿FM皼tH?vJFnJ#I?G9?A8=?DKBuԋݖ@?bDZ%PC?&ODEDr=G?fpF1ƧJ?\XG#exM?H#P? TeIȯl0T?틿Kf0YW?߁w"LyZ?=M]?UNʠ`?!jO* +c?|P:f?N:ފQNui? ݖReþ\l?^ݞSþ\l?^ݞS*Fn?Iz=TJo?Tq?տiUԓ$s?쀿Uפt?|Vvv?!'.Vd^^\w?5XtWEx?:W--y?5RX~z?!'XH){?Y ƽ]|?쀿@kYפЇ}?׿pYE1~?Z żX?IFZJ?Zþ\l?^ݞSRƾdo?|ܢTȾ=r?yܤU˾ u?livܢVAN;lw?B#s۞W Ͼdz?roOەX6ѾC}?1zlڊYfԾ?i{ZY1־F?,e#i[ͮUؾ呂?7bS\qھ׃?غ^c9]Bܾ?r5[^޾T?ԧW^³!?4TN_?tPׯ`NL}?Lׂad?L#IFRbd?J#IFRbؾ37?7I%cJʾQ?OJ4czke]?JުdP;>Z?B&K3^e-H?[qKfT&?KBf3l?/K7gwi?K]g nLpg?/K?[qKiP?B&Kpi-l`썕?J@iP@i?OJjz鼒A?8Il>j?K#Iljd?J#IFRbuC.?oEc3J꾅J?Ac@뾽`?P=M֬dڼBq?B":me28e|?N6*f 񾽂?s2bf? .՘gH^}?*Jhr?\&hTa?"@Ԡiu2qK?FEjj}/?jH ?xӃkR?,9l#D?xҰl{?Ћ @my?Ћ @mԵ? s?nD>? .0oѾ~? ph;?4C pio'?H qR:¡? RdrA5? ' s8 ? s4*cJ? .t8xC? tA"?H uRTb?4C zouiý}? \uRӦ? >u(>? #v4u=?Ћ @vy?Ћ @mRH?omyB>?MMSn5œ?\Mng r-v?,Vo% $?뾯o\;̞?$~HpFm?>ھOѻpX? ?/Ҿ!)q ??ɾВq[c.?qz?慸Yrbdg:?꯾}еr"?&HX sn!.L-?6asފ??аsT?BsS?BsQߚ?uZQ?i&v޾Kz?ݎ"w2ξIũ?< xKl?uxq?*yɄ?ڏdzk ?U叾{:zrŮ?ڏ{FOMy?*|f-<?u|p ?<|@н?ݎ$}૊D?iX} t?z}?B}S?Bs4j?狄AtxƤ?wςt-x?ft m?Tt8H ?Bw-u ?K1c]uUZ %8?Rψu n?R AϮuu 3?w3ut+ ɦ?ս'uH ?Nv(` ?:vs Q ?U,vK 0? 7v# 5:?>voӋ s=?3@vӋ r=?4@vV(?FD4iw:k?[4ԁx\Hv۫?k4׆yUҾ1?Q 4yz|=m? 4Z{(?l 4'|? ^ 4|< ? 4}kw+S?? 4!~X~0^?v 4\  !"? 4}a XԽ?4耍˴?4 g ?4?4Ӌ r=?4@v$ 4:?^<>v ~0?= 7v#s P ? U=,v` ?X=vFH ?l=vs+ ɦ?='ui  2?,w=3u n?b >AϮu Y #8?>Rψu ?K1>c]uH ?B>w-u: m?T>t,v? f>tVwƤ?w>ςt4j?>AtnR?B>sQ?B>sMݚ?>uVQ?i>&v,޾Iz?ݎ>"wA2ξFũ?<> xRGl?}>x_n?2>yiƄ?ڏ>dzok ?]>{p4zrŮ?ڏ>{o@OKy?2>|if-:?}>|_l ?<>|R8н?ݎ>$}AثD?i>X},x t?>z}?B>}Q?B>s܊;?>аs.I-?>6as  ?,H>X sdd:?>}еry?텸>Yr ކ`.?&>q""?F>Вq#> ?/>!)q'%Em?F>Oѻp&:̞?&$>~Hp'($$?>o) r-v?5>Vo+5œ?dM>n,B??N?MSn.SH?o?m/z?ԋ ?@m0x?ԋ ?@m0ӵ?# ?s?n,1D>?$ ?.0oV1Ѿ~? ?pz1h:?8C ?p1o'?L ?q1 :¡? ?Rdr15? ?' s1? ?s1.cJ? ?.t1xC? ?t1"?K ?u1^b?7C ?zou1ý}? ?\uz1RӦ?# ?>uV1X>?" ? #v,1r=?Ӌ ?@v0x?ԋ ?@m0B?|?Ұlm2R?0?9l3 ??xӃkL5h}/??j61oK?J?Ej#8Sa?"?@Ԡi9r?a&?h:^}?*?JhV<?$.?՘g=񾽂?s2?bf?9e|?N6?*ft@Dq?F":?meAB뾼`?T=?M֬d&CL꾅J?A?czDxC.?oE?cEd?N#I?FRbGd?M#I?FRbGؾ37?:I?%cUGJʾQ?OJ?4cGke]?J?ުdG;>Z?D&K?3^eGH?^qK?fGT&?K?BfH3l?2K?7g Hwi?K?]gH nLpg?2K??^qK?iGP?E&K?piGl`썕?J?@iG@i?OJ?jG鼑A?jUG?O#I?ljGd?M#I?FRbGL}?L?ׂahH?tP?ׯ`I!?5T?N_J޾T?էW?^>Lܾ?r5[?^Mqھ׃?غ^?c9]NUؾ摂?7b?S\OZ1־F?,e?#i[3QԾ?i?{ZhRѾC}?/zl?ڊYSϾhz?po?OەXTCN;pw?@#s?۞WU˾ u?jiv?ܢVWȾ=r?y?ܤUBXRƾdo?|?ܢTdYþdl??^ݞSZþ\l??^ݞSZ*Fn?I?z=TZo??TZq?Կ?iU [ԓ$s??U)[t??|VA[vv?'?.VS[d^^\w?5?XtW][Ex?:?Wa[--y?5?RX][~z?'?XS[H({??YA[ ƽ\|??@kY)[Ї}?Կ?pY [E1~??ZZ żX?I?FZZ??ZZþ\l??^ݞSZxi? ?ݖR[f?K?:ފQ\ +c??|P]ʠ`??jO^]??UN_yZ??=M`f0YW?܁?w"Laȯl0T??Kb#P?T?eIchxM??HdƧJ?Z?XGet=G?f?pFf(PC?$?ODEg؋ޖ@?`?Dh8=?D?KBi9??Alj9??Aljy ;?q?v!Bjx;?-?ZCjʙT!??F?6CjcAv@?~X?DkT#.ʥA?*c?vD kx B?f?QDkU'C?*c?$E khyD?~X?vEkbWE?F?qEj,F?-?'FjqhF? ?XFjlu+?B?t=?B@-@vF?}Y?l-Tv9z?q?-ev,3?X?.tvU?+?H.v?@?.vRSM??B.v4ス?4?n/vmԽ3???/vCL?4?{/v@*??/vF?@? /vpT 1?*?M&0vd?X?z]0tvԼd ?q?0evT ?|Y?0Tvԋ ?s=?0@vT>t=?B@-@vFMg>}?+vuG@>%?_*kw?Aj>b?4)w|:a>+o?'x K4>u+?x&yR-v>6?%y^'>d?5#zv />8?S"|zXJO>ڭ?\ zg>v?\{D: z> ?"{ >@?)|7b>$?Q|򽄍>-?E|щ䉊>Q?}8}o;ؽ>?r}o;ؽ>?r}zʽ3>=? 1}@>혱?P}TA>?8?}R>Ҧ?n}J:>e?}lsO>?}cX>t?8 }Y=:>?(}tM"%R>f?jF} AD>Ӧ?d}hؼ>9?}$NN>?5}8gX>?}eػ>??g}2B>?}o;ؽ>?r}ʽt>? }@Jd>UZ?8~T>?8^~YD>?Z~ 14>^?i~汇Z#>Ƨ?zZtz>? 7oFY#>1%?3 au*>=Y?% #n=톴?f=a??hټl7=̴? TD=d?3Y_Y2=?UٻP,?X}r;r;>?o}+/*/>UZ?y~@"?">?a^~GG>?H ~ >^?. ~EC=Ƨ? mj=? 7nȽk=1%?!a=Y?=ž=톴?X{{=a?tHH=̴?pPD=d?Tȼ?r}P>=?};o}>혱?nf}_y>?}zu>8?j}cr>Ҧ?d}~R5n>e?f }Rcj>?}Gf>t?c`}b>? }~%s^>f?`}$;+ [>Ӧ?\}0E4W>9?]}B6\ZS>?}^?ZV}BK>@?}GG>?X}T>t=?B@-@vu|_g>}Y?@,Tvj>q?>+evAv[#>X?=U+tv"΀x>+?<*vy>@?;*vH!>?;`)vsƑX>4?<(vph>?=(v 0>4?>c'v\ >?A&vf9;>@?D &v̭qh>*?G^%v[>X?L$tv渾V>q?Q$evVm>|Y?WR#Tvþ>s=?^ݢ"@vþ>t=?^ݢ"@v&&>}?eޛ!vGG>%?mߓ kwIgIg>b?ww >+o?~x>u+?qy>6?dy&&>c?Uz>8?E|zdd>ڭ?5zˋʋ>v?#\{-z-z> ?{xx>@?)|ll>$?|PU`OU`>-?-|TT>Q?B8}GG>?X}9??Aljp]W7?q?M@jªf4???jN!DD2? ?V?jRxl/?-?>jHþ-?F?e.=j ̾^f*?~X?><kJԾ'?*c?yK; k~ܾ$?f?U:kC?"?*c?\9 k*0x?~X?&a8k?F?c7j2%?-?Mb6jl? ?_5jJb/??~Z4jQ 7*?o?R3j99??H2lj99??H2lj7 7 ??[1Ik?y?l0"lLL??{/l?B?xш.m?Cd?mғ-n[^[^>?dӜ,]o>.?\Ԥ+"p Z Z>?Vժ*p>ҭ?R֮)q0澢0>߰?Pװ(Trώώ>?Nز'sھ>!?Oٱ&s~2վ~2>4?Qگ%_txϾx>}?T۬$ubɾb>`?Xܨ#uþ>r=?^ݢ"@vþ\l??^ݞSZξi?I?oۑRZ(پ=f??}QZ\Wac?Կ?cP [Rj1`??CO)[ \??NA[(RY?'?LS[r9V?5?нK][, cR?:?6΅Ja[JAO?5?_FI][R-K?'?HS[G H??ȹFA[U!XD??kE)[V&x@?Կ?1D [I+%\<.<.??g™=]B+B+??8<^ʔ)ʔ)?? ;_6'6'??;` $ $?܁?E:a g" g"??j9b?T?sǍ8cx~x~??RȮ7d((?Z?36e~~?f?5f--?$?5gff?`?4h?D?33i99??H2ljd?M#I?FRbG^~k?:I?+aUG>AW?OJ?_G?J?_м^G`! v*?E&K?u]G}L?^qK?#\G a?K?ZH $|?2K?kbY H6&]x?K?g?F&K?QG'Dc?J?BPG"I_^?OJ?NGTO;Y?=I?LUG0T-T?P#I?@KG0T.T?M#I?@KGSS?L?_JhHMQMQ?tP?IIzOzO?5T?ZIJMM?էW?NH>L`K^K?r5[?HM,I*I?غ^?ZGN%G#G?7b?WFOgEdE?,e? E3QC C?i?@EhR8A4A?/zl?xDS???po?4CT~=z=?@#s?CUԍ;Ѝ;?jiv?NBWg9g9?y?tABXr97m97?|?9@dY55???Zx?ԋ ?@m0reT͘?# ?" l,1&?$ ?jV1$? ?uiz170?8C ?jh1vZ$)?L ?ŧf1h+? ?e+e1a2J? ?c1D9? ?~ b1?@P? ?f`1F? ?^1UMy?L ?g\1S?8C ?0[1+ZR|? ?޲[Yz1Oi`sw?# ?|WV1 f r?" ?U,1\l]l?Ӌ ?bS0[l\l?ԋ ?bS0VKkVKk?|?Ѭ/Sm2 j j?0?BR3hh??IRL5&lg&lg??/Q6ff?I?VQ#8:d:d?"?)P9;c;c?`&?VP:aa?*?/OV<AE`AE`?$.?JO=^^?s2?AN?(,]',]?N6?ϱ1Nt@[[?F":?_MAPYPY?S=? M&CpGXpGX?A?vLzD_V_V?oE?#KE0T0T?M#I?@KGQ?B>s ^J?>(rt?i>_uq,z?ݎ>pA0'2?<>ĪnR.`?}>1+m_QW6*?2>ki=iޕ?ڏ>ioHE{?]>OMhpLL?ڏ>÷focSiv?2>AdiZZԋ?}>˲b_0a?<>b`RgU?ݎ>^AFoniy?i>\,tӊ?>qZ{{?B>uXyy?>NX yy?,H>XSxSx?>5Www?텸>|W vv?&>ƨ:W""FuHu?F>V#atct?/>dV'% t t?F>GV&csgs?&$>U'(drhr?>kU) q$q?5>ɪ7U+oo?dM>+T,nn?N?qT.2m7m?o? T/Wl\l?ԋ ?bS0Ӌ r=?4@v[?O4&ue?<4Mɷs" ?x4{Wr*?b 4p[2?z 4ao, :!A? 47mrAI?4$lI{? 4ljsP?>4KhW$[?nW4fS^Ʃ?B 4Z o~o~?> Yr~q~?K1>-Y"}!}?B>RY::}:}?T>zYK|J|? f>[YV:|:|?w>Ԧ,Y{{?>Xn{{?B>ɾV[vv?ƨ:Www?䅸|WbSxSx?꯾5Wyy?#HXnyy?NX$sz$sz?uX{{?BAW?OJ_z?J_м^P`! w*?B&Ku]-}L?[qK#\ a?KZ $|?/KkbY6&]x?Kg?B&KQ-(Dc?JBPP#I_^?OJNzTOFþ-?Fe.= ̾]f*?X><JԾ'?-cyK;~ܾ$?fU:A?"?-c\9&/x?X&a8?Fc7 ,#?-Mb6k? _51Fb,?斿~Z4MQ 5*?vR3n99?H299?H2?D33uff?b4Z--?&5D~~?f51((?\36#x~w~?RȮ7? TsǍ8 g" g"?틿j9 $ $?߁E:6'6'?;ʔ)ʔ)? ;B+A+?!8<*<.<.?g™=:00?Nh>Nk2j2? 5?e55??T>u=B@-p|_f>~Y@,j >q>+ AvS#>Y=U+ ΀x>,<*y>A;*wD!>;`)ppƑX>5<(llh>=(k)>5>c'lV >A&pb9;>BD &w̭kh>-G^%[>[L$渾Q>qQ$Sm>YWR#þ >w=^ݢ"þ >u=^ݢ"`ɾ_>`Xܨ#\xϾx>}T۬$|2վ|2>7Qگ%ھ>$Oٱ&K͎̎>Nز'0澟0>ⰡPװ(>ԭR֮)cZZ>Vժ*>1\Ԥ+ޏX^X^>dӜ,?Fdmғ-k?Bxш.8LL?{/ ?|l0ޓ6 6 ?[199?H2];ؽꁂ>rwE>=r;ョo}>혱nfmJy>ifu>8jfX r>Ҧdcr=5n>ef aR cj>𪱿`:zf>tc``b>񪱿 `r%`^>f`a;+ [>Ӧ\c034W>9]f46JZS>i^<7O>𘱿ZVmBK>?rGG>XwGG>XwTT>PBȂDU`CU`>,-zlzl>#xxx>?׃&z&z> ;ċċ>v#]]>ڭ5>8E >bU>5᫿dw>t+q>*o~}BgBg>bwGG>$㨿mߓ >|eޛ!( þ >t=^ݢ"K﮴K﮴H)H^. ,GG>H d6"-">a//>TZyr;r;>o+GG>XwK﮴K﮴, S;p2^Y<3 D =Y3z#.FY=0%izYt=鳿fɀR#ȱ=Ƨ40=^,YD=0dT=75d'=TZ`t=[+聂Y;= wꁂZ;= wE==D ro};=혱 mJy= ifu}>8F f rV>Ҧ c>5np>e a cjR>𪱿I `zf9>t `b>񪱿``^p%>fMa [;+>Ӧ"c24W0>9fJZS26>R%i7O^<>𘱿mKB>?'rGG>XwꁂZ;= wى=P$ Ȃz=, X,>#P x>?F ׃z9: > { ;g>vw BO X>ڭߤ /¾l >87xʾ^'>bJpѾH->5᫿]w پK4>t+at:>*o)؀}d8A>b:uG>$㨿qաg@M>|0(T>t=ҾT>u=Ҿfm|_>~Yb j>qT# Av>Yx΀>,Qy>AwD!>pXoƑ>5Hllh>k*޾>5lW ۾>Hٿp;׾b9>BټwlhӾ̭>-ڹϾ[>[O۴S˾>qۯ ǾRm>Yܩ! þ>w=^ݢ"T>u=Ҿ  VZ>`jL\~`>}G Rf>7el>$rKBs>#{`'y>Ⱑ? #7>ԭɎcZ>BH!>1ƞޏ!$>$m(쇋>FdtĪk+u>B4.8x/]> 2?>|4ޓg6>9>N69>N6W7n]>s/nd4ª>斿/MBD2L!> 1j/Ox>-#! -F>F›" \f* >X$'J>-cć%$~>f&??">-ck(,x(>X)>FH+ .>-ɳ,k? .1*Hb?斿˂/M2*Q ?v0n99?H29>N68=>Duܖ@Ӌ>b4ZC$P>&D=Gq>f-1JƧ>\g#Mex>@"P#> Tk0Tȯ>틿.YWf>߁޳yZ>ò]>r Ƞ`>! **c >V!:f>Nv!Niu> j5"eZl>b"[l>b"i>Io$J<f&>}&VacZ>տg(j1`R>쀿N*פ\ >2,Y(R?!'.s9V?5C/dR- ?:{1KAO?53KT-?!'s5 HG?G@7XDU!?쀿 9פy@V&?ֿ:&J55??[l>b"doR>|^#=r>y\y# u>liv^#kw?N>B#sbJ$ cz>rok$6C}>1zlv%f>iz%FV1>,e%ͮ䑂U>7b>&׃q>غ^Ǣ&B>r5[&T>ԧWW'³􊇿>4T)'>tPR (N牿J}>L~c(d>L#I(d>J#I(kX~>7I՞ +W;A?OJX-z?JD/Pw*]! ?B&K1-L~}?[qKݣ%4 a ?K8`6&| ?/K8_x6&?K :jtR,?/K<Wp \2?K?k R8?[qK+Ag3>?B&K#?C-c$D?JLEP_^ I?OJbPGz?YTO?8I MI1T/T?K#I@Kd>J#I(.pC>oE)3JE>Aa)`<>P=T)ڼq>>B":*2|4e>N6֙Q* >s2*> .h*H}^>*2+r>]& z+aR>"`+upK1>F,/i}>G,H >},䘿R>,,#F>xP-z?ы @-x>Ћ @-T͘re? /&? 9v2$? 507?4C 뗖7i)vZ$?H Y:Rh+? ՚Ћ @-QH?o4z-y=B?M-4œ?\M)-g,v r?-󾪐.$%?/Q.\̞;?$㾸.mF?>ھE.X ??/Ҿ׎.?@ɾn /[a.?5/{?慸]/be:d?꯾K/"?&H/nJ-!.?/=ފ?P/S?B 0S?B 0`J ??2t?i5 z?ݎb840'?R0 #8X ?>x0 ?K1>0H ?B>ӊ0:m ?T>s0v+? f>@\0VƤv?w>~B0j4?>'0nR?B> 0Q?B> 0]J ?>?2t?i>5,z?ݎ>b8A10'?<>V;R`.?}>Ւ=_*RW6?2>dy@ihޕ=?ڏ>Co{HE?]>EpLL?ڏ>s=HohvcS?2>AJiԋZZ?}>5M_ 0a?<> ORUg?ݎ>QAhyHon?i> LT,Ҋt?>V{{?B> 0:܊?>P/H-.?>/  ?,H>/c:d?>K/y?셸>]/ _.߆?&>5/""?F>n /#~ >?/>׎.'%mE?E>E.&̞;?&$>.'($%?>/Q.),v r?4>.+4œ?dM>)-,=B?N?-.QH?o?4z-/x?ԋ ?@-0w>ԋ ?@-0S͘re?# ?/,1 &?$ ?9v2V1$? ? 5z107?8C ?뗖71)vZ$?L ?Y:1h+? ?՚<1I⌿a2? ?_?1D9? ?A1P@@? ?C1텿F? ?KFF1yUM?L ?H1S?8C ?ФJ1N|+Z? ?"Mz1 swPi`?# ?WOV1 r f?" ?nQ,1Wl^l?Ӌ ?bS0w>ԋ ?@-0B>|?P-m2䘿R>0?,3 >?},L5/g}>?G,6oK/>I?,#8aQ>"?`+9r>`&? z+:}^>*?2+V<>#.?h*= >s2?*?|6e>N6?֙Q*t@q@>E":?*A`>>S=?T)&CJH>A?a)zD.tC>oE?)Ed>L#I?(Gd>M#I?(GkX~>:I?՞ +UGW;A?OJ?X-G?J?D/Gw*]! ?E&K?1GL~}?^qK?ݣ%4G a ?K?8`6H&| ?2K?8 H_x6&?K? :HjtR,?3K?< HWp \2?K??Hk R8?_qK?+AGg3>?F&K?#?CGc$D?J?KEG_^ I?OJ?bPGG?YTO?=I? MIUG1T/T?P#I?@KGd>M#I?(G牿F}>L?~c(hH>tP?Q (I>5T?)'JT>էW?W'>L>r5[?&M׃q>غ^?Ǣ&N呂U>7b?>&OFV1>,e?%3Q>i?z%hRC}>/zl?v%Sfz>po?k$Tow?N>@#s?bJ$U u>jiv?^#W=r>y?\y#BXdoR>|?^#dYbl>?b"Z[l>?b"Zi>I?o$Z<f&>?}&ZVacZ>Կ?g( [j1`R>?N*)[\ >?2,A[Y(R?'?.S[s9V?5?C/][dR- ?:?{1a[KAO?5?3][KT-?'?s5S[ HG??G@7A[XDU!?? 9)[y@V&?Կ?: [&Z55???Z[l>?b"Ziv> ?j5"[f>K?v!\*c >?V!]ɠ`>? ^]>?r _yZ>?ò`.YWf>܁?޳ak0Tȯ>?bP#>T?cMex>?@"dJƧ>Z?ge=Gq>f?-fC%P>$?gږ@ԋ>`?4h8=>D?i9>?N6lj9>?N6ljW7o]>q?/jf4ª>?/jDD2M!> ?jl/Px>-?#!j-G>F?›"j^f* >~X?$k'J>*c?ć% k$~>f?&kC?">*c?k( k0x(>~X?)k>F?H+j%/>-?ɳ,jk? ?.j/Hb??˂/j7*Q ?o?0j99??H2lj9>?N6ljg6>?Ik2?>y?4"lx/]>?l+u>B?4.mm(>Cd?tĪn$$>?$]o H!!>.?ƞ"p]>?BpC )7>ҭ?Ɏq`'y>డ?TrHs>?#{sl>!?rs"G Xf>4?e_t`>}?uVZ>`?jLuT>r=?Ҿ@vT>t=?Ҿ@vfu|_>}Y?bTvj>q?evZ#Av>X?tvx"΀>+?Qvy>@?vH!>?vXsƑ>4?Hvph>?v1޾ >4?v^ ۾>?Hٿv;׾f9>@?ټvthӾ̭>*?ڹvϾ\>X?O۴tv[˾>q?ۯ evǾXm>|Y?ܩ!Tvþ>s=?^ݢ"@vT>t=?Ҿ@vgEM>}?0v?uG>%?qաkwi>A>b?waz:>+o?)؀xپ K4>u+?yuѾP->6?]y~ʾ^'>c?Jz/¾s >8?7|zIOX>ڭ?ߤ zg>v?w \{ zA: > ?{ { >@?F )|b4>$?P | =-? |䉊͉=Q?$ 8}l;=? }l;=? }P==?D }o};=혱? }`y=? }{u>8?F }ra>Ҧ? }R5n|>e? } cjR>?I }fF>t? }b>?}t^}%>f?M} [";+>Ӧ?"}G4W0>9?}^ZS@6>?R%}KO^<>?}KB>@?'}GG>?X}l;=? }t=?[}Jd==UZ?`~T=?7^~YD=?0~41=^?~[#屇=Ƨ?zZt=?f7#lFY=1%?iaq*>=Y?3rĽ#=톴?N=a?r7h<̴?4fdD t=?Ҿ@vF>}Y?|ҔTvz9>q?:jev3,>X?@tvU>+?v>@?y vRMS>?:Ѿ v4=4?В v2m=?f vLD=4?9v(B=?K vH=@?v 1xT=*?ϳvb=X?φtvd ع?N6lj ;y>q?߽j;?tjb=z> ? ,j܀>g>-?|j!?șT>F?Djv@cA>~X?kɥAR#.>*c?d k Bv>f?1 k&CS>*c?ܺ kyDh=~X?E kWE^=F?;j,F=-?jF qh= ?"j;G=?cljtH?b"ZFn(>I?ë Zo>?*hZq>Կ?F [$sԓ>? ")[t>?A[vv>'?S[\\wd^>5?][xE>:?|a[y-->5?N][z~>'?J S[&{@=? A[Y| =?)[}ȇ=Կ?E [-~pE=?`ZXM#I?(G37>:I?ۜE&UGQD>OJ?#Gd]k>J?VN!G=Z;>E&K?GH>^qK?GG&N>K?\Hk3>2K?ɘ1 Hwi>K?AHognL>3K?ė H&Q/>K?RH<$>_qK? G<=F&K?U G鍕X`=J?@G i=OJ?*GA@<=I?•UG3P#I?GBԳM#I?GDCɳL?uhH&Q7tP?ZIᵒj5T?DJe<էW?1>Lʜr5[?#Mʴغ^?NS=D7b?O틿Vu,e?3Q遊_i?hR7H/zl?SQ?1po?TV,@#s?*U鞄jiv?:WXtײy?NBX+|?edYys?Zw>ԋ ?@-0꛿ӵ># ?*,1>D>$ ?А'V1~> ?%z19h>8C ?J"1p'>L ?S~1¡ :> ?15> ?1> ?[1J.c> ?ҋ%1xC> ?WG1">K ?g1`b>7C ? 1}= ?Fz1ӦR=# ? V1h>=" ?݉,1p=4Ӌ ?0r=`2ԋ ?0`q2|?\m2}, b20?31?L5𣣿0R?K6T?J?#8ư^ "?9ɭMa&?c:L*?V<L:$.?ޏ=n\s2??}d~N6?kt@ClF":?8AuT=? &CqA?ޓzD`óoE?EBԳN#I?GQ?B> 0ۚM>>0-VQ>i>ډN*,Hz>ݎ>ވd'AEũ2><>t$RHl>}>}!_n>2>RiƄ>ڏ>~o k>]>xpŮ6zr>ڏ>gooIy@O>2>bi9f->}>|T_n ><>#C R<=ݎ>܂2 ADܫ=i> ,t =>B>w(>2B>w>LP2>ȂNc2>   v2,H>x*bu2>׃ U2셸>; v2&>""ڭ42F>#92/>'%˴2E>&j᫿2&$>x'(+2>)jo24>}+<2dM>,T㨿B2N?.:/2o?(/r=b2ԋ ?0r=Ћ ?40(ᨿV?~]4.:k>?.4%+v۫VH>p 4z.(1U>x"4/%mv=>eB4)"(>4ك>4 ;>-$4w*Skw>44LT4c\0>ȣ4"x >˓4 W= 4Zb ˴Ȁ=h4)@f =v4 @3X4n_г^<= #h崿JB U=̴ݢX=)Fstl=?=Zi Y&i,w=z W%e3Jb > 곿D3+>ɀ2% K1>^lڲB>,:T>d$v: f>VtZ tw>@1>+n'>2B>wS?B 0ߚQ>0-ZQ>iډN*Kz>ݎވd'Hũ2>u}!p>*RȄ>ڏ~ k>U叾xŮ6zr>ڏgoLy@O>*b<f->t|T j ><#C 0=ݎ܂2 D̫=i t` =BwyBw*˶狄+uZ粯w% fp#Td8^;B,ŕSK1U곿kɀX%R uY4wz|սZsЋ @-꛿Ե> *>D> А'~> %:h>4C J"ip'>H S~R¡ :> A5> 8> [4J,c> ҋ%8xC> WGA">H gRZb>4C i}= FӦR= H>= ݉r=ϋ s=(C2Ћ _$2o(yU㨿@2M(1\Mgjo1,}+H31\k᫿0`{0$xT>ھX9`m(/ҾڭL?ɾ[vlƱ a慸;b*꯾׃F8&HxnT=pȂyBwd>J#I(37>7IۜE&QD>OJ#zd]k>JVN!P=Z;>B&K-H>[qKG&N>K\k3>/Kɘ1wi>KAognL>0Kė$Q/>KR<$>\qK 8=C&KU -ꍕL`=J@Pi=OJ*zA <9I•L#IBԳJ#IųoE3UAޓsɨP= ڼC /B":82~d^N6k!ys2L%\ .ޏHS>*ʭ \&cǰ!"uʲE񣣿ЎKH%}6+#`p1w\u=HC2Ћ [l>b"Fn(>Ië Jo>*hq>տF$sԓ>쀿 "פt>vv>!'\\wd^>5xE>:|y-->5Nz~>!'J &{<= Y| =쀿פ}=ֿE-~`E=`XtPZNDFɳLuBԳL#I9>N6 ;y>s߽n;斿tMb=z> ,1ـ>g>-|?șT>FD r@cA>XƥAT#.>-cdBx>f1 "CV>-cܺ yDh=XE WEh=F; ,F=-F$qh= "14G=斿clM tHu=ҾF>~Y|Ҕz9>q:j3,>Y@U>,>Ay wNML>:Ѿ p4=5В l.b=f kL9=59l$6=K p<=Bw1\T=-ϳ^=[φd Yz#FY0%i3z#Zt鳿ɀS#챇Ƨ4 1^i,YDdT785d6TZtʽ[ +聂^;ؽrw遂\;ؽrw3hʽ= r䃾@혱m5EKpDB w1pT-M^[zd ȹԼqmϧ TY9΋ @w=Tu=B VZ`jѴ\}`}'G Tf7Λ롋l$rKDs#̅`'yⰡ鬍> $7ԭrc[BH!1bޏ$磐m(퇋FdtVk+uB48x/]N 2?|ޓg6J巔9N䔕9N䔕 ;ys߽vn;g-?ƙTFD6 r@cAXƥAR#.-cBvf1Q"CV-cܺ yDh轂XWEdF;q ,F-'F$qh 15G斿cM tH皼v"JnH#I9N䔕8=DKuږ@ӋbZC$P&OD=Gpf1JƧ\gX#Mdx@P# Tei0Tȯ틿,YWf߁޳wyZò]Ơ`!*&c :}fNv:Niu jeVlþb^Zlþb^Fn(IëzJo*qտ$sԓ쀿 פt迤vv!'.ꭤ\\wd^5X죤xE:y--5z~!'J&{DZ| ƽ쀿@פ}̇׿Ep/~xEX żIJZlþb^doRƾ|^ܜ=rȾy\ܾ u˾miv^iw@N;B#sb azϾrokO6C}Ѿ1zlveԾiژFX1־-e#ͮ㑂Uؾ7b׃qھغ^ǢcBܾr5[ـT޾էW³􊇿 5T)NtPRN牿L}侼L~טdL#IFdJ#IF17ؾ7Iۜ٫QIʾOJ4zc]kJVPD А.ت~Ѿ چ:h4C ip'H SR¡ : RA5 '8 [4J.c ҋ8xC WA"H 튙R^b4C zi}ý F\ӦR >X> ݉ r=Ћ xЋ QHo4y=BMM4œ\M)g,v r-󾪐$%/\̞;$㾸~mF>ھEOX ?/Ҿ׎!@ɾn[b.{慸bf:d꯾K}"&HXnK-!.6=ފPTBSBߚQZQiډKz޾ݎވؿIũ2ξ<ۮKluޡq*RɄڏ kU叾Ů:zrڏgMyFO*郞<f-t| p <#@нݎ܂D૊it BwSBj4狄ϒƤxw~x-f@Ϫm T8H Bӊw K1cU%8Z xRn R RAu3 w/3ɦt+ ս'ϗ즿H J( ` 8ϺQ s UԉK~0 ɉ 4:$ ‰or=Ӌ 4q=Ӌ 4'ᨿV#49k 4u۫]H㾢 4z1UҾ]n4m|=4&:(4ك 4<3K4w(SkwQ4!\[0@B4\" p4}XԽ' 4Z˴􀍽4)@g 4 @4q=Ӌ 43:$ ^<‰ϑ}0 =ɉ #O s U=ԉϵ ` X=F즿H l=ɦs+ ='i 0 ,w=/3 n b >RAϋ "8X >xR K1>cϫH B>ӊw:m T>u* f>@VƤuw>~j4>nOB>PB>ۚL>TQi>ډ,Hz~޾ݎ>ވAEũ2ξ<>RFl}>_l2>RiĄڏ>o k]>pŮ2zrڏ>goJy@O2>郞i9f-}>|_l <>#R8нݎ>܂ADԫi>,t >B>wPB>:ۊ>PЁH-.>6 ,H>XВc:d>K}w셸>О _.݆&>""F>nХ#~ </>׎!'%mCE>EOѨ&̞8&$>~'($">/Ѥ),vr4>+4œdM>)ҙ,=BN?M.QHo?4҇/xԋ ?0wԋ ?0꛿ѵ# ?s,1>D$ ?А.V1~Ѿ ?z19f8C ?ݗ1l'L ?S1¡: ?R15 ?'1  ?[1J&c ?ҋ1xC ?W1"L ?튙1Rb8C ?z1}ý ?F\z1ӦR# ? >V1 >" ?݉ ,1p= 4Ӌ ?0wԋ ?0@|?Pm2䘿R0?93 ?}xL5/f}?Ӹ6nK/J?#8aQ"?`@ԋ9ra&? :}^*?V<$.?hո= s2?b?|6eᄑN6?֙t@q@F":?A`>T=?TM&CJH꾬A?zD.sCoE?EdN#I?FGdM#I?FG17ؾ:I?ۜUGQIʾOJ?4܆Gb]kJ?VްG;Z;D&K?3GH^qK?G&TK?\BHj32K?ɘ HwiK?A]HngnL2K?ė H0Q/K?RH;$^qK?GLE&K?G荕d`J?@@G8iOJ?GApLܾs5[?ـM׃qھٺ^?ǢcپN㑂Uؾ7b?OFX1־-e?#3QԾi?hRC}Ѿ1zl?vڛS`zϾro?kOTgw?N;B#s?bU u˾miv?^W=rȾy?\BXdoRƾ|?^dYVlþ?b^݁ZZlþ?b^݁ZFn(I?ëz߶Zo?*ZqԿ? [$sԓ? )[t?A[vv'?.S[]\wd^5?X][xE:?a[y--5?][z~'?JS[({D?A[]| ƽ?@)[}̇Կ?Ep [2~xE?ZX żI?Z?ZZlþ?b^݁Ziv ?jݛ[fK?v:޲\)c ?]Ƞ`?^]?_yZ?ò`.YWf܁?޳wak0Tȯ?bP#T?ecMex?@dJƧZ?gXe=Gqf?fC%P$?Ogޖ@ԋ`?h8=D?Ki9?Nlj9?Nlj ;yq?߽vj;g-?j?əTF?D6jt@cA~X?kǥAT#.*c? kBxf?1Qk$CV*c?ܺ k yDh~X?kWEdF?;qj,F-?'jFqh ?j7G?cjtH皼o?"JjK#I?lj9?Nljg6?JIk2?y?"lx/]?Nl+uB?4mm(Cd?tVn"$?]o H!!.?b"p]?BpA )7ҭ?rq`'y߰?TrHs?#̅sl!?rsG Xf4?Λ_t`}?'uVZ`?jѴuTr=?B@vTt=?B@vF}Y?|lTvz9q?:Җev3,X?tvU+?v@?yvQMS?:Bv44?nv2oԽ?КvLF4?v(B?KvJ@? v 1|T*?MvcX?ztvd Լq?mϧev T|Y?9Tvҋ s=?@vTt=?B@vgEM}?v>uG%?q_kwh>Ab?wa{:+o?)؀xپ K4u+?yuѾQ-6?ڣy}ʾ^'d?J5z/¾v 8?|zHOXڭ?\zgv?w\{ zD: ?{ @?F)|b8$?|-?E|㉊։Q?8}􁂾t;ؽ?r}􁂾o;ؽ?r}3zʽ=? }䃾@혱?}@T?<}D`?8?r}SҦ?Sn}K:e?4}Ols?}cXt?8}8Y=?}#RxM"f?j}B"AӦ?}hؼ9?~}N(N?`5}@gX?C}eػ??%g}B?}􁂾o;ؽ?r}tʽ?[ }Hd@UZ?~T?78^~YD?~4 1^?i~Z#汇Ƨ?zZt?7#oFY1%?i3au*>Y?nĽ#톴?Nfa?p7hټ̴?4\D d?32_Y?X,Uٻs?g?GG?XX}r;r;?oo}(/*/UZ?~="?"?^~GG?~ ^?~ACƧ?ik?7jȽlȽ1%?!!aY?==톴?XX{{a?ttHH̴?DDd?ȼȼ?HHs??􁂾o;ؽ?r}O=?D}o};혱?n}]y?}xu8?Fj}rcҦ?}O5n~e?f}cjR?I}fFt?c}b?}o^~%f?M`} [#;+Ӧ?}@4W09?]}XZSB6?R}CO^evY#AvX?=tvx"΀+?Qv] ۾?HAv;׾e9@?DvrhӾ̭*?GvϾ[X?OLtvY˾渾q?QevǾWm|Y?WTvþþs=?^^@vþþt=?^^@v%%}?eevGG%?mmkwHgHgb?www +o?xu+?y6?y&'d?z8?|zdeڭ?z̋͋v?\{.z/z ?{xx@?)|ll$?|UU`XU`-?--|TTQ?BB8}GG?XX}9?NljW7o]q?/Mje4ª?jCD2M! ?Vjk/Px-?j-FþF?ej]f* ̾~X?k'JԾ*c?y k$~ܾf?kB?"*c?ƕ k/x&~X?&kF?ȸj#,-?Mjk ?j-Fb?~гj5*Q o?ϒj99?͸lj99?͸lj6 6 ?ΥIky?ϔ"lLL?ЅlB?xxmCd?mmҕnZ^Z^?dd]o.?\\"pZZ񾑤?VVpҭ?RR֝q0澡0߰?PPTrώώྪ?NNsھھ!?OOٵs~2վ~2վ4?QQ_txϾxϾ}?TTubɾbɾ`?XXܤuþþr=?^^@vZlþ?b^݁ZiξI?oo۶Z;f&پ?ZUacZԿ? [h1`R?)[\ ?A[Y(R'?S[q9V5?C][bR, :?{6a[JAO5?_][KS-'?S[ HG?GA[XDU!?)[x@V&Կ?1 [&F&K?#Gc$DJ?G_^IOJ?bG5YTOL\K^Kr5[?M(I*Iغ^?N!G"G7b?WWOdEdE-e? 3Q C Ci?hR4A5A1zl?xxS??ro?44T{={=B#s?UЍ;Ѝ;liv?Wg9g9y?ttBXn97n97|?99dY55?Zwԋ ?0S͘qe# ?",1 %$ ?9V1$ ?z1078C ?jȗ1)tZ$L ?YŮ1h+ ?՚eÿ1H⌿a2 ?_1D9 ?~1P>@ ?1텿F ?K1yUML ?g1S8C ?Ф1L|+Z ?޲z1swMi`# ?V1 rf" ?n,1UlZlӋ ?bb0ZlZlԋ ?bb0TKkUKk|?ѬѬm2 j j0?BB3hh?L5$lg%lg?//6ffJ?#87d9d"?))9;c;ca&?:aa*?//V<>E`AE`$.?=^^s2?AA?$,](,]N6?ϱϱt@[[F":?__ALYQYT=?&ClGXrGXA?zD[V`VoE?##E,T2TN#I?GPB>]J>?(ti>_,zݎ>菞A10'<>VR`.}>Ւ1_*QW62>dihޕ=ڏ>o{HE]>OpLLڏ>s÷ohvcS2>AAiԋZZ}>˲_0a<> bRUgݎ>AhyGoni> ,ъt>q{{B><<{{B><< sz sz>uuyy> yy,H>SxSx>55ww셸>|| vv&>ƨƨ""EuEuF>#atat/>dd'% t tE>&dsds&$>'(erer>kk)!q!q4>ɪɪ+oodM>++,nnN?.5m5mo?/ZlZlԋ ?bb0q=Ӌ 4Zk4&dA 4IM": 4{*\4[2|4!A+ :f457I꘿qA04ܓ{I4sPT4\K$[W45ƩQ^Y4<1㋿ei4ǮTl 4`-s 4.yRk4P34^<%'=#ad U=X=F>Al=MM=i  ,w=ԥԥ ~~b > o~o~> n~p~K1>--} }B>RR::}:}T>zzH|I| f>V:|:|w>ԦԦ{{>n{{B><<SB`J ?(ti_ zݎ菞ǿ40'ھXdtdt/ҾddIuIu?ɾ[vvƨƨww慸||bSxSx꯾55yy&Hnyy$sz%szuu{{B<<dJ#IFk]~7I՞ԫU=AOJzJD_Pt*_! B&K-L}[qKݣ aK8 | /KkXx6&K <dtR,/KWp \2Kk"R8\qKվg3>B&K#-c%DJP_^ IOJbz5YTO9I 'T.TK#I+T.TJ#IZV]VoE##3kGXnGXAKYMYP=ڼ[[B":__2$,]%,]N6ϱϱ^^s2AA>E`>E` .Haa*//;c;c\&7d6d"))uffE$lg"lg//Hhh j j+BB#UKkQKkwѬѬZlWlЋ bbZlþb^iξIooJ;f&پUacZտh1`R쀿פ\ ӿY(R!'ѭr9V5CУcR, :{6ΟJAO5_̣KS-!'ʭ HGGȿXDU!쀿פz@V&ֿ1'뛉R# AvY=ꌉx΀,Q<选yA;wD!;pXoƑ5HlV ۾HAp;׾b9BDwlhӾ̭-GဉϾ[[OLR˾渾qQߛǾSmYWެ þþw=^^ þ þu=^^]ɾ_ɾ`XX\xϾxϾ}TTz2վ|2վ7QQڡھھ#OOKʎ̎ྫྷNN0澞0ⰡPP׬ԭRRcZZ񾔤VV1\\ޏU^Y^ddӣEdmmkBxx8LLЅ |ϔޓ3 6 Υη99͸͔遂\;ؽrwD=Dro};혱nmHyicu~8FjfrWҦc;5nrefacjR𪱿I`wf:tc`b񪱿`\^p%fM`a [;+Ӧc/4W09]fFZS26Ri2O^<𘱿ZmKB?rGGXXwGGXXwTTPBBȂ@U`CU`,--wlyl#xxx?׃%z&z ;‹ċv礄[\ڭ8儅b5᫿wt+*o}@gBgbwwGG$㨿mmߕ|ee( þ þt=^^K﮴K﮴HHpȼȼ }b崿HH̴){ {`tt?˞Ξ솴XXZ°Y==znȽqȽ0%!!hk鳿ɀ;?Ƨ ^,GGd3"5"//TZr;r;oo+GGXXwK﮴K﮴$Xٻ,pgaY2  Db崿3hټ7̴4)`?#wĽ솴fNZ*>彅YzFY#0%3iZtz鳿ɀ豇R#Ƨ14^i,YDdT8716dTZʽt [+X;ؽ聂rwW;ؽ遂rwD=Dr;ュo}혱nmHyi|du8jFfTrҦco<5nefaR cj𪱿I`7xftc`b񪱿`n%^^f`Ma;+ [Ӧc014W9]f/6IZSRi^<6O𘱿ZmBK?rGGXXwW;ؽ遂rw؉PȂx,E*W#x?F׃6: z ;gvwऄX@Oڭ\h /¾8݄^'vʾb5JD-mѾ5᫿wJ4 پt+n:a*o)}1AbauG8$㨿_qՕ7Mg|(Tt=BTu=Bj|_f~Y@bӬj q>ԛAvR#Y=Ԍ΀x,lV ۾AHp`9;׾BDw̭lhӾ-Gڀ[Ͼ[LOی渾R˾qQۛQmǾYWޮܬ þ þw=^^Tu=B VZ `j\`}}'OfG 7Ρl$rK>s#'y`Ⱑʬ 7> ԭrcXBH!1bޏ$ţꇋm(FdVtku+B48]x/N ?2|ޓg6J儿񙾽9N񙾾9Nk]W7sM/nªc4斿MI!AD2 V1Lxi/-Bþ -Fe ̾\f*XJԾ'-cyڵ~ܾ$f٫A?"-cפ".xX&֟Fԝ (#-MӞk ѡ1Db,斿~ЦMQ 5*vϮn99͸͔񙾾9N8=DKuЋږ@bZ"PC&O㼺Dn=Gf␹1ƧJ\Xg#bxM@#P Teȯj0T틿f.YW߁w޳yZò]߫Ǡ`"ߖ*(cބ:fO:vNsi jeþXl^bþYl^bξiIooJ#پ:fكWUacտםRh1`쀿սפ\㱿&RY!'q9V5C* bR:6{JAO5_̺Q-K!'G HGU!XD쀿ƕפV&y@ֿ1I+'gB&K#- DcJPI_^OJbzTO:Y8I )T,TK#IdJ#IF׮lC.oE3A꾃JA8뾺`P=MTڼ:qB":Փ20e|N6֙񾺂s2b .hH^}*Զr\& Ma"@`u,lKEӻd}/H x}R䘿+9#?wPsϋ wЋ reS͘ "&  9$ ʋ704C jivZ$)H YRh+ e՚Aa2H⌿ _8D9 ~4@@P 8F텿 KAUMyH gRS4C Фi+ZL| ޲Pi` sw f r n]lVlЋ bbwЋ PHo4yB<MMҭ3œ\M)g r+v,Ѫ%$뾯/\;̞$~ѸFm>ھOEX? /Ҿ!׎?ɾn[`.{慸Чbdd:꯾}K"&HXn!.I-6Пފ;PSBSB `J(?ti_ʋz ݎ菿0'44&d, 4MI" 4{Ʃ*z4[2A 4( :!A8475mAJ꘿4ܓI{p4且~sP|u4K\W&[Z45N^ȩp4<e3㋿"!4ǮPlח4`-s` 4.y4P3ϋ q=4 3:^<‰ }0= ɉ#s O U=ԉ` X=FH 즿l=p+ ɦ='i  1,w=3/ nb >AR V #8>Rx K1>cϣH B>wӊ: mT>)v f>@VtƤw>~4j>ϿnOB>PB>\J>(?ti>_ʋ,zݎ>A0'1<>VR.`}>1Ւ_PW6*2>di=hޕڏ>oGE{]>OpLLڏ>÷socShv2>AAiZZԋ}>˲_0a<>b RgUݎ>ADonhyi> ,tҊ>q{{B><<PB>ۊ9>P.G->6П ,H>Xdb:>}Kx셸>Ч ݆^.&>""F>n#<} />!׎'%CmE>OE&8̞&$>~Ѹ'("$>/)r*v4>Ѫ+2œdM>),B<N?Mҭ.PHo?4/vԋ ?0vԋ ?0peR͘# ?",1$ $ ?9V1$ ?ʋz1708C ?j뗗1tZ$)L ?Y1h+ ?e՚1a2H⌿ ?_1D9 ?~1?@P ?1F텿 ?K1UMyL ?g1S8C ?Ф1+ZP| ?޲z1Oi`sw# ?V1 f r" ?n,1\l\lӋ ?bb0vԋ ?0?|?Pm2R䘿0?93 ?x}L5d}/?6,mKJ?ӻ#8Ma"?@`9ra&? :^}*?ԶV<$.?h=񾹂s2?b?2e|N6?֙t@;qF":?ՓA:뾸`T=?MT&CC꾁JA?zDnC.oE?EdN#I?F׮GdM#I?F׮GT~k:I?՞UG9AUOJ?GJ?_DGZ! u*E&K?΋G|}L^qK?ݣG  aK?8H "|2K?kǞ H6&[xK?< HR,gt2K?Å H\2WpK?HR8k_qK?վG3>gE&K?#G DcJ?GI_^OJ?bGTO;YLܾs5[?䡀Mqھ׃ٺ^?cǢNUؾ㑂7b?٭OQ1־F-e?#ڗ3QԾi?څhRѾC}1zl?vSϾ_zro?OkT:N;fwB#s?bU˾ umiv?^WȾ=ry?\BXRƾdo|?^dY þUl?^bZþYl?^bZξiI?ooZ#پ:f?كZWUacԿ?ם [Rh1`?ս)[\?A[&RY'?S[q9V5?C][* bR:?6{a[JAO5?_̺][P-K'?S[G H?GA[U!XD?ƕ)[V&y@Կ?1 [I+&evAvY#X?=tv"΀x+?ؔv] ۾?AHِvg9;׾@?Dىv̭shӾ*?Gڀv\ϾX?LOtv渾Y˾q?QevYmǾ|Y?WޮTvþþs=?^^@vTt=?B@vDMg}?vuG=%?_qkw=Ahb?wy:a+o?)؃x K4پu+?yN-uѾ6?ډy^'~ʾd?5Jzr /¾8?|zXIOڭ?\zgv?w\{@: z ?{ @?F)|4b$?| 򽄍-?E|ˉ䉊Q?8}j;ؽ?r}i;ؽ􁂾?r} O=?D};o}혱?n}]y?}xu8?jF}`rҦ?}{O5ne?f}Rcj?I}Dft?c}b?}|%o^f?`M}!;+ [Ӧ?}0@4W9?]}?6WZS?R}^彆Y?#nĽ톴?fNa?hټp7̴?4 \Dd?3_Y2?UٻX,s?g?2B?}=&2݋?}d2wUZ?~2f?^~2pT?8~L2B^?~52>K1Ƨ?Ug2h?7xM2 1%?ua{32vY?]2Lս톴?2a?(1̴?1Ud?K@;N1?PJ0s?o?i;ؽ􁂾?r}tʽ3=? } @䃾혱?}N@?<}Z?D8?r}NҦ?nS}F:e?4}lsO?}~cXt?8}X=9?}nM"%Rf?j}ACӦ?}xhؼ9?~}NN?5`}(gX?C}eػ@?g%}2B?}Tt=?B@vF}Y?l|Tv9zq?:ev,3X?tvU+?рv@?yщvRPM?B:ѐv4コ4?nДvkԽ0?ЕvAL3?Дv>&?KАvD@? ЉvpT1*?Mπv_X?ztvȹԼd q?mevT |Y?9Tv΋ s=?@vQы t=?@vHo}?yvN0M%?kw0X1Lb?gwܣ1+o?ԃxH1wu+?\y1 2#6?׉yܙ$2ڭھd?Xz?2w/Ҿ8?|z [2ɾڭ?[zv2v?\{N2Ѕ ?b{*2꯾@?)|j2.H$?n|Ѱ2-?|52Q?8}2B?}񙾿9?Nljy ;q?v߽jv;-?림jǙT?F?6DjcAs@~X?kQ#.ƥA*c? kvBf?Q1kU"C*c?ܺ kh yD~X?k`WEF?q;j,F-?'jqhF ?j4G?cj皼 tHo?J"j3G#I?ljB I#I?ljRnE?3IkYAy?"l2=?ڼl2ױ!:B?2mȱTN6Cd?ns2?]o|ב..?I"p+Q*?p=&ҭ?ŝq,V"డ?uTrPqN?s]Y!?HɵscA4?_t)L}?#u^`?ͤuQЋ r=?@vþYl?^bZ%FnI?zëZo?*ZqԿ?㗪 [ԓ$s? )[t?脩A[vv'?.S[d^Z\w5?X쌨][Ex:?a[--y5?][~z'?JS[4${?A[ ƽW|?@)[}Կ?pE [XE+~?ZżXI?Z3?Zf[3?ZAL3| ?[ia=3LyK?\.3hv?]7|3"s? ^'3o?7_+2yl?f`o2di܁?a2e?ͮb``27bT?c+|2^?BdI;25[Z?eD1Wf?³f0b1T$?g@ uP`?Nh7LD?iH M#I?ljdM#I?F׮Gؾ17:I?ۜUG@ʾQOJ?4Gkb]J?VG;;ZE&K?3ᢚG H^qK?GJ&K?B\H3h2K?ɘ HviK?]AH nLlg2K?ė HQ/K?RH$8_qK?G$F&K?G<`捕J?@@GiOJ?G鼊ALA63r5[?#Mq3ȴغ^?N$3S7b?O3틿-e?3Qx3偊i?hR 31zl?S}3ro?TI3QB#s?*U3䞄liv?:W3xy?NBX n3$|?edY`[3?Zvԋ ?0е꛿# ?s,1D>$ ?.АV1Ѿ~ ?z1e88C ?1m'L ?S1:¡ ?R㜍15 ?'1  ?[1*cJ ?ҋ1xC ?W1"K ?튮1Xb7C ?z1ý} ?\Fz1RӦ# ?> V1P>" ? ݉,1n=Ӌ ?0 2p=ԋ ?0|2`|?\m22}0?3w2?L5x3?K6)83J?#8V3ð"?95]t3ǭa&?c:3*?V<93I$.?ޏ=g3s2??3{dN6?kt@23CF":?8A3T=? &CeP3A?ޓzD3oE?E3N#I?GPB>Lښ>TQᄒi>ډ,~޾Gzݎ>ވA2ξDũ<>RFl}>_l2>RiĄڏ>䜅ok]>p4zr}Ůڏ>go@OGy2>if-6|>|_l <>#R8нݎ>܂AثDi>, t>B>w ްB>w5g<>Ȃ<> m20,H>xО0(>׃> 1} 셸>; V91v&>"".d1ڭF>#ن1 9/>'%h1E>&1h᫿&$>x'(G1+>)1ho4>}+1dM>,d1S㨿N?.L1o?(/ 2q=ԋ ?0ϋ q=4V'ᨿZ4ї9k 4UHu۫R4zUҾ1h4ڇt=mG"4ݦ&4ك 4;t4wkw'SN4!Nc0YHb4\~ "U4}WԽ K4Z؀˴= 4)g q&4 34"34]3m^<3= #@3g崿 U=3̴X=)F:3rl=?3=Zi 3Y,w=z  DRU3곿>ɀ@L63򧳿K1>R&3^B>,:2T>d@ذ2! f>VPBc2qZw> 41>+nްB>wSBQߚZQiډ޾Kzݎވ2ξHũ<Jlup*RȄڏ䜅k U叾6zrŮڏg@OLy*郗f-<t|j <#0нݎ܂̫Di` t4Bwy2Bw2狄+E2uZwI3%f-3Td8^zH3^B,c3K1U0}3곿ɀ3W%R u(3YwzR3սZzu3rJ?( 3̴8)j3g崿UK3 T3lo 34wЋ ӵ꛿ sD> .АѾ~ 폆h94C ip'H SR :¡ R㜍A5 '8 [4.cJ ҋ8xC WA"H R`b4C ziý} \FRӦ > h> ݉p=Ћ `r=Ћ G㲙o(y˲U㨿Mj\Mgᙲjo-}x+\VRk᫿$xb!>ھXTc9/Ҿ4ڭ@ɾ[v0 慸;b1-꯾׃1 &Hxn}-2 5]2BȂy2BwdJ#IF׮ؾ177IۜAʾQOJ4zkb]JVP;;ZB&K3ᢚ- H[qKJ&KB\3i/KɘviK]AnLlg/Kė Q/KR$9[qK(B&K-D`捕J@@PiOJz鼊A8Il•@4K#I3J#I{3oE3|3AޓO3P= ڼ3CB":82d3{dN6k(3s2h3J .ޏHv@3*3ǭ\&c?2ð"u2E`2KHiͰ9}+# Ƭ`w\`n=ϋ þYl^b%FnIzëJo*qտ㗪ԓ$s쀿 פt脩vv!'.d^Z\w5X쌨Ex:--y5𮧣~z!'J8${즿 ƽW|쀿@פ}ֿpEXE+~żXIJ3f[3n3&|eZ3zyN3垄liv:.'3RB#s* N3ro6d31zledj3恊iw_3틿,eͮRD3S7b<3ȴغ^Bv3r5[#H3eԧW1³:3ߵ4TD3$tPZN[3DLu3L#I񙾾9Ny ;sv߽ns;<斿$tMzb= 1g؀>-림T?F6D cAr@XL#.ťA-cpBfQ1N"C-cܺhyDXTWEFq; ,F-'phF 14G斿cM皼 tHvJ"n4F#I且2]3H#I且 ^3LDuB^,aT8dp9f뢁P(pwTZT/ы+C2BwK﮴K﮴ S;,p^Y<23 =彆Y3z/FY=#0%iYt=z鳿fɀɱ=Q#Ƨ0=4^,=YD0d=T7(=4dTZ`=t[+Z;=灂 w\;=聂 wh=3=r@=䃾혱]mE=4iR?=D8+rfF=ҦSc@:=e4als=N𪱿``wcX=vt`X==-񪱿/`lM"=RfaA=7Ӧch<9d~f$N< N`iHgX<𘱿2Cme;?%r3Bw\;=聂 w=׉P$ Ȃ=w, ->V#P x>? F׃:: >z { ;>gv wऄ X>/¾87݄^'>qʾbJI->hѾ5᫿]wK4>پt+t:>a*o)}7A>\buG>1$㨿qՕ>M>g|0(T>t=T>u=F>~Y|Ҭ9>zqj:қ,>3Y@ьU>,р>A ywP>MM :p4=5 li=-f kA=L59l@=$ KpF=BwtT=1-π=_[όйu=VZ> `Lj\`>|}Tf>G 7eΡl>$rKDs>{#'y>`Ⱑʬ&7>= ԭc\>B >H!1ޏ>$$ţ>m(Fdtku>+B.48]>x/ ?>2|4ޓ>g6>96N>96Ny> ;s߽nv>;<斿tMz>b= , 1g>؀>-|șT>?FD cA>q@XT#.>ĥA-cdx>Bf 1W>!C-c ܺh=yDXE f=WEF; =,F-$qh=F "1=4G斿lcM< tHv"n3H#I且>96N>8=DuӋ>ٖ@b4Z$P>C&Dp>=Gf-1Ƨ>J\g#dx>M"@#>~P Tȯ>h0T틿f>+YW߁޳>yZò>]r >Ġ`" *>%cV!:>|fO!vNt>i 5"je>Vl"b>Wl"b'>FnI ëJ>oh*>qտFԓ>$s쀿" פ>tv>v!'d^>X\w5E>x:|-->y5N~>z!' JD=!{ 즿 =U|쀿פ̇=}׿ExE=(~` Wl"bR>do|#^>=ryy#\> uliv#^>N>fwB#sJ$b >^zro$k6>C}1zl%ve>iz%U1>F-e%ͮU>⑂7b>&q>׃غ^&ǢB>r5[&䡀>~TէWW'³>򊇿4T')>tP (RNH}>牿Lc(~d>L#I(d>J#I(>/77IE&ۜG>QOJ#zk>a]JO!VP;>:ZA&K->H[qKGR>&K\3>h/K1ɘwi>KAnL>lg/Kė0Q/>KR$>:[qK P=B&KU -l`=荕J@PHi=OJ*zJ#I(qC>.oE)3F>JAa)<>`P=)Tڼ>>qB":*24e>|N6Q*֙ >s2*>.*hH^>}*2+>r\&z+ P>a"+`u.>oKD,f}>/G,H> ,}R>䘿+,#A>w-P>zϋ @->wЋ @-ѵ>꛿ *D>> 'А>~ %폆f>94C J"im'>H ~SR:>¡ A5> 8 > [4*c>J %ҋ8xC> GWA">H gRVb>5C i =} FR=Ӧ  8>=  ݉p=Ћ >wЋ @-?PHoz-4yB?=M-?3œ\M-)g r?,v-.$?$Q./\:?̞$㾂.D?m>ھ.EX>? /Ҿ.׎?@ɾ /n[߆?a.5/y?慸]/bd?d:꯾/K ?&H/n.?I-/܊?;/PQ?B 0S?B 0Q>ߚ0-ZQ>iN*ډ>Kzݎd'ވ2>Iũu}!q>*RɄ>ڏ~k> U叾x:zr>ŮڏogFO>My*b郗f-><tT|p > 8k4%+[H>t۫D4.(zU>104/%|=>m@4)">%4ك> 84 <>K 4wkw>'Sԙ4Z94c0>YA4 >"`4 X= j4b Z쀍=˴F 4@)0g =@4 44ҋ ?p=40# ?2:^<0‰ ?|0=0ɉ#s ?N U=0ԉ` ? X=0FH ?즿l=0q+ ?ɦ=0i  ?0,w=0/ ?nb >0R V ?"8>0x ?K1>0H ?B>0ӊ: ?mT>s0(?u f>\0@Vs?Ƥw>B0~4?j>'0nM?B> 0O?B> 0J>ښ>0-RQ>i>N*ډ,|>Fzݎ>d'ވA2>Dũ<>t$RDl>}>}!_j>2>Ri„>ڏ>~ok> ]>xp.zr>Ůڏ>ogo8O>Jy2>bif->9|>T|_d ><>C #R(=ݎ>2 ܂Aī=Di> ,P =t>@B>wO?B> 0ڊ?8>/P.?E->/ ?,H>/d?a:>/Kw?~셸>]/ ܆?].&>5/""?F> /n#;?| />.׎'%B?mE>.E&7?̞&$>.'("?$>Q./)r?)v4>.+?1œdM>-),B?;N?-.?OHo?z-4/>vԋ ?@-0>uԋ ?@-0е>꛿# ?*,1D>>$ ?'АV1>~ ?%z1e>78C ?J"1m'>L ?~S1:>¡ ?15> ?1 > ?[1*c>J ?%ҋ1xC> ?GW1">L ?g튮1Zb>8C ? 1=} ?Fz1R=Ӧ# ? V1`>=" ?݉,13p=Ӌ ?0>uԋ ?@-0>>|?-Pm2R>䘿0?,3> ?,}L5d}>/?G,6->mKJ?,#8N>a"?+`9>ra&?z+ :^>}*?2+V<>$.?*h=>s2?*?3e>|N6?Q*֙t@=>qF":?*A<>`T=?)T&CF>JA?a)zDqC>.oE?)Ed>N#I?(Gd>M#I?(G>/7:I?E&ۜUGG>QOJ?#Gk>a]J?O!VG;>:ZD&K?G>H^qK?GGR>&K?\H3>h2K?1ɘ Hwi>K?AHnL>lg2K?ė H0Q/>K?RH$>:^qK? GP=E&K?U Gl`=荕J?@GHi=OJ?*GM#I?(GH}>牿L?c(~hH>tP? (RI>򊇿5T?')J>}TէW?W'>L>r5[?&䡀Mq>׃غ^?&ǢNU>ᑂ7b?>&OV1>F-e?%3Q>i?z%hR>C}0zl?%vS>^zro?$kT?N>fwB#s?J$bU> uliv?#^W>=ry?y#\BXR>do|?#^dY>Xl?"bZ>Wl?"bZ'>FnI? ëZ>o?h*Z>qԿ?F [ԓ>$s?" )[>t?A[v>v'?S[d^>Y\w5?][E>x:?|a[-->y5?N][~>z'? JS[D=${? A[ =W|?)[̇=}Կ?E [xE=,~?`Z Wl?"bZu>i ?5"j[>}fK?!v\ >&c?V!]>Š`? ^>]?r _>yZ?ò`f>+YW܁?޳aȯ>h0T?b#>~PT?cex>M?"@dƧ>JZ?ger>=Gf?-f&P>C$?g֋>ٖ@`?4껦h>8=D?i>9?6Nlj>9?6Nljy> ;q?߽ju>;b= ?, jg>ـ>-?|jƙT>?F?DjcA>r@~X?kR#.>ƥA*c?d kv>Bf? 1kV>#C*c? ܺ kh= yD~X?E kd=WEF?;j=,F-?j$qh=F ?"j=6G?lcj<tHo?"j3I#I?lj>9?6Nlj>g6?Ik?>2y?4"l]>x/?lu>+B?.4m퇋>m(Cd?tĕn> $?$]o >H!.?"p\>?Bp'7>? ҭ?ɝq'y>`డ?TrGs>?{#sl>!?r͵sYf>G 4?e_t`>}}?uVZ> `?LjѤuT>r=?@vT>t=?@vF>}Y?|Tv9>zq?j:ev,>3X?@tvU>+?рv>@? yщvP>QM? :ѐv4=4? Дvh=1?f Еv?=L4?9Дv<=(? KАvB=@?ЉvhT= 1*?πv=dX?tvt=?@vCM>g}?0vuG><%?qkw<A>fb?wy:>a+o?)؃x K4>پu+?yO->tѾ6?]ډy^'>|ʾd?Jzs >/¾8?7|zX>HOڭ? z>gv? w\{B: > z ?{ {> @? F)|5>b$?P | =-? |ω=䉊Q?$ 8}m;=? }o;=󁂾? }z=3=?}@=䃾혱?]}T=??}`?=D8?+r}S=Ҧ?S}L:=e?4}ls=O?`}cX=t?}Y==7?/}xM"="Rf?}&A=AӦ?}h<9?d~}0N<N?`}PgX=彆Y?3#=nĽ톴?N=a?hG?X}r;>r;?o})/>&/UZ?y~>"><"?a^~G>G?H ~ > ^?. ~@=>Ƨ? g=f? 7h=gȽ1%?!a=Y?==톴?X{={a?t|H=H̴?p8=@d?T<ȼ?8@H<`Hs?3?o;=󁂾? }=N=? D};=o}혱? }=[y? }>vu8? F}b>rҦ? }~>M5ne? }R>cj? I}F>ft? }>b?}~%>m^f?M}#;+> [Ӧ?"}0>>4W9?}@6>VZS?%R}^<>AO?}B> K@?'}G>G?X}T>t=?@vr|_>f}Y?bTvj>q?evAv>X#X?tv!΀>x+?QՀvy>@?ՉvF!>꾘?֐vrƑ>X4?Hהvnh>?וv >0޾4?ؔv>] ۾?Hِve9>;׾@?ىv̭>thӾ*?ڀv[>ϾX?Otv>[˾q? evWm>Ǿ|Y?!Tv>þs=?"^@v>þt=?"^@v#>#}?!evG>G%? mkwGg>Fgb?ww>+o?~x>u+?qy>6?dy%>$d?Uz>8?E|zc>bڭ?5zʋ>ʋv?#\{-z>,z ?{x>x@?)|l>l$?|SU`>QU`-?-|T>TQ?B8}G>G?X}>9?6Nljm]>W7q?/jª>c4?/jK!>AD2 ?jNx>i/-?#!jD> -F?"j >[f*~X?$kJ>'*c?% k~>$f?&k>@?"*c?k( k&>-x~X?)k>F?H+j,>!-?,jk? ?.jGb?+?/˳jQ ?3*o?0̒j9?9?H2lj9?9?H2lj5 ?4 ?[1Ik?y?l0"lL?L?{/l?B?.xm?Cd?-mҕnY^>X^?,d]o>.?+\"pZ>Z񾑤?*Vp>ҭ?)R֝q0>0߰?(PTrώ>Ўྪ?'Ns>ھ!?&Oٵs2>2վ4?%Q_tx>xϾ}?$Tud>fɾ`?#Xܤu>þr=?"^@v>Wl?"bZ>iI?$oZ%>8f?}&ZX>RacԿ?g( [R>e1`?N*)[>\?2,A['R?Y'?.S[?n9V5?/C][+ ?_R:?1{a[?FAO5?3][R-?K'?s5S[G? H?@7GA[U!?XD? 9)[V&?t@Կ?: [I+?"Z5?5??Z5?5??Zi2?h2 ?5?[0?0K?h>\<.?<.?=g]?+?>+?<8^Ȕ)?ǔ)?; _6'?6'?;` $? $܁?E:a g"? g"?j9b?T?8sct~?u~?7Rd%?&Z?63e~?~f?5f)?+$?5ʼgf?f`?4˦h?D?33̋i9?9?H2ljd>M#I?(GY~>k:I? +՞UG?gF&K??C#G%D?cJ?LEG I?_^OJ?PGbGTO?6YL\K?YKr5[?HM(I?%Iغ^?ZGN!G?G7b?FWOdE?aE-e?E 3Q C?Ci?@EhR5A?2A0zl?DxS???qo?C4T|=?y=A#s?CUҍ;?ύ;liv?NBWg9?g9y?AtBXo97?m97|?@9dY5?5??Z>uԋ ?@-0oe?Q͘# ?/,1$? $ ?v29V1?$ ? 5z17?08C ?7뗗1sZ$?)L ?:Y1h+? ?<՚1a2?H⌿ ??_1D9? ?A1<@?P ?C1F?텿 ?FFK1UM?yK ?H1S?7C ?JФ1+Z?Q| ?"Mz1Li`?sw# ?WOV1f? r" ?Qn,1Zl?^lӋ ?Sb0Wl?Wlԋ ?Sb0RKk?QKk|?/SѬm2 j? j0?RB3h?h?IRL5!lg? lg?Q/6f?fJ?VQ#85d?3d"?P)9;c?;ca&?VP:a?a*?O/V< 0?[J>2??ti>5,z?ݎ>b8A0'?/<>;VR.?`}>=Ւ_NW6?*2>y@di=?fޕڏ>CoDE?{]>EpLL?ڏ>=HsocS?fv2>JAiZZ?ԋ|>5M_0a?<>O R g?Uݎ>QA>on?fyi>LT ,t?Њ>V{?{B>X<{?{B>X<sz?sz>Xuy?y>NX y?y,H>XSx?Sx>W5w?w셸>W| v?v&>:Wƨ""Bu?BuF>V#^t?^t/>Vd'% t? tE>GV&as?as&$>U'(br?br>Uk)q?q4>7Uɪ+o?odM>T+,n?nN?qT.0m?0mo? T/Vl?Vlԋ ?Sb0ҋ ?p=40?Y43?c 46I"?49*?f4O<[2?t4?+ :? Aa 4A5qA?H꘿]"4xDܓI?{q#4GsP?M#4I\W?$[!4CL5R^?Ʃ4Ne?0㋿/49QUl?q54S-s?J4U.y?4EXP?4Z?4Z?^Z o~?o~>Y o~?m~K1>Y-}?}B>YR::}?:}T>YzH|?F| f>[YV:|?:|w>,YԦ{?{>Xn{?{B>X<S?B 0 ?`J2??ti5z? ݎb8菿0'?4<;V .?`u=ՒTW6?**y@d=?kޕڏCJE?{U叾ELL?ڏ=HscS?jv*JAZZ?ԋt5M 0a?wЋ @-qe?S͘ /%?  v29?$ 57?04C 7itZ$?)H :YRh+? <՚Aa2?H⌿ ?_8D9? A4>@?P C8F?텿 FFKAUM?yH HRS?4C JФi+Z?J| "MMi`?sw WOf? r  QnZl?TlЋ SbZl?ZlЋ Sb5m?5mo Tyn?nMqTo?o\MT+g#q?#q,7Uɪgr?gr뾕Uk\gs?gs$U t? t=ھGVXdt?dt/ҾVdIu?Iu>ɾV[v?v:Wƨw?w䅸W|bSx?Sx꯾W5y?y#HXny?yNX&sz?&sz󕾋Xu{?{BX<d>J#I(Y~>k7I +՞?gB&K?C#-"D?cJLEPI?_^OJPGbzTO?7Y8IMI ,T?)TK#I@K+T?(TJ#I@KZV?WVoEK#3kGX?hGXAvLKY?HYP= Mڼ[?[B":M_2#,]?!,]N61Nϱ^?^s2NA=E`?;E`.JOHa?a*O/;c?;c\&VP7d?5d"P)uf?fDVQ$lg?"lgQ/Hh?hIR j? j+RB#TKk?TKkw/SѬYl?Ylϋ Sb>Wl"b>iI$oJ%>8f}&X>Racտg(R>e1`쀿N*פ>\2,㱿'R?Y!'.?n9V5/C+ ?`R:1{?FAO53R-?K!'s5G? H@7GU!?XD쀿 9פV&?t@ֿ:I+?"<J5?5?5?5?n97?m97|@9g9?g9yAtЍ;?ύ;livNBz=?y=B#sC ???roC463A?2A1zlDxe C? Ci@EbE?aE-eE ͮG?G7bFW&I?%Iغ^ZGBZK?YKr5[HM?MէWHN³zO?zO4TZIMQ?MQtPINS?SLJ_(T?)TL#I@K>96Nn]>W7s/nª>b4斿/ML!>@D2 1Ox>h/-#!E> -F" >[f*X$J>'-c%~>$f&>A?"-ck(&>.xX)>FH+ ,>$-,k? .1Gb?.斿/MQ ?7*v0n9?9H2͔9?9H2͔?D33uf?fb4Z+?)&5D~?~f51&?$\63#v~?t~7R? T8s g"? g"틿j9 $? $߁E:6'?6';Ȕ)?Ɣ); ?+?=+"<8*<.?<.=g:0?0Oh>Nh2?f2 5?e5?5?T>u=o|_>f~YbӬj> qԛ Av>P#YԌ΀>x,QՀy>AwC!>꾚pnƑ>X5Hljh>k>(޾5l>V ۾Hp`9>;׾Bw̭>lhӾ-ڀ[>Ͼ[Oی>T˾q ۛRm>ǾY!ܬ > þw="^ > þu="^^>[ɾ`#X\x>xϾ}$T{2>x2վ7%Qڡ>ھ$&OKˎ>Ɏྭ'N0>0Ⱑ(P׬>ԭ)RcZ>Z񾔤*V>1+\ޏW^>V^,dӣ?Fd-mk?B.x8L?L{/ ?}l0ޓ4 ?4 [1η9?9H2͔\;=聂 w=C= Dr;=o}혱 m=Fy i~>au8 FfV>rҦ cq>95ne aR>cj𪱿 I`9>uft `>b񪱿`o%>Z^fMa;+> [Ӧ"c0>-4W9f26>DZS%Ri^<>1O𘱿mB>K?'rG>GXwG>GXwT>TPBȂBU`>>U`,-xl>tl#xx>x?׃%z>#z ;Ë>v#礄\>Zڭ5>8E儅>bU>5᫿dw>t+q>*o~}Bg>>gbwG>G$㨿 mߕ>|!e( >þt="^K﮴K﮴)H ^. ,G>GH d,">2"a/>/TZyr;>r;o+G>GXwK﮴K﮴+<#Xٻprg.2=aY D= b崿Y3@7=hټ̴)v=`???=#솴fZ=*>Y% z#>FY0% 3z>Zt鳿 ɀB#>籇Ƨz4>1^i,YD>ZdT>81d>.TZ8t>ʽ +遂>U;ؽrw聂>T;ؽrwC>=ro}>;혱fnmGy>ibu>z8jfr>SҦdc:5n>ne facj>R𪱿`vf>6t`c`b>񪱿 `\^>l%f`a [>;+Ӧ\c.4W>09]fFZS>.6i3O>^<VZmK>B?rG>GXw聂>T;ؽrw׉>P}Ȃw>,EV>)#Qx>?׃z>5: ";g>vXڭ \/>h 8S"q>^'b#5h>D-5᫿%w>K4t+x&a>n:*o'}\>2Ab4)1>uG$㨿*_g>:M|+(>Tt=@-B>Tu=@-Bf>g|_~Y,@쬉 >jq+>뛉P#>AvYU+=ꌉx>΀,*<选>yA*;w>@!`);pX>kƑ5(hh(=k)>5c'>lW >&Ap;>^9B &Dwnh>̭-^%Gဉ>[[$LU>渾q$Qߛ>OmYR#Wެ> þw="^>Tu=@-B ?VZ`.\|?`}/'G ?Lf7=1롋?l$2K?;s3`?'yⰡ*5鬍= ?7ԭu6rc?W7H!?19bޏ$?I:磐m(?臋Fd;Vk+?uB<8x/?] >N 2??|D?ޓg6?|@J巔9?A䔕9?A䔕W7?i]s@Mnb4?ª斿?M@D2?G! ?V1i/?Jx-> -?@þF.=e [f*? ̾X><'?JԾ-cK;y$?~ܾfU:@?"?-c\9.x?"쾂Xa8&?Fc7 #?)-b6M?k _51.?Eb斿Z4~M6*?Q vR3n9?9H2͔9?A䔕8=?DBKuٖ@?΋bDZC?P&DEOD=G?lfpF1J?Ƨ\GX#M?`xH}P?# TIeg0T?~ȯ틿K*YW?~f߁"LwyZ?=M]?UNĠ`?"jO*%c?|P:|f?OQ:Ni?r ReVl?þS^Wl? þS^i?ξIRoJ8f?!پ}QRac?UտcPf1`?R쀿COפ\?NӿY?&R!'Lѭn9V?5KУ_R?* :J6ΟFAO?5FI_̣K?P-!'Hʭ H?GFȿXD?U!쀿kEפt@?V&׿D1 }侼Laט?dL#IRbF?dJ#IRbFk?P~7I+aԫS?7AOJ_z?J^_Ps*?Y! A&Ku]-L?z}[qK#\ a?KZ|? /KbYkYx?6&KW<et?~R,/K{VWp?\2KTk?R8[qKpSվg?3>B&KQ-c? DJBPP_^?IOJNz꾨Acֆ`?5P=dMڼq?7B":me2|?.eᄌN6*fՌ?s2fb?.gH}?^*JhԪr?\&ha?K"i@unK?+DEj/?b}jH ?kxӴ?R+l9#?>wlғx?ϋ @mv?Ћ @mR͘?pe l" ?$ jͪ$? uiʆ0?74C hji)?tZ$H fR?h+ +eeAH?a2 c8?D9 b~4P?>@ f`8?F ^Ay?UMH \gR?S5C 0[iP|?+Z [Y޲ sw?Ni` |W r?f  U[l?[lЋ Sbv?Ћ @mOH?omy<?BMSnM2œ?\Mng*v? r,Vo$?#o\̞?9$Hp~m?D=ھpOX~ ?=/Ҿ)q!?>ɾq[_.?߆q?y䅸Yrbc:?d꯾r}?!#H sXnH-? .as6:?ފ󕾰s?SBs?SBs`J? r(t?iuq_ ?zݎpǿ4?0'von=?ˋ 4@vp=?΋ 4@vY?t 4u&c?4sM?"ni4Wr{?*4p?[2D"4ao!A?& :$4m7I?lA}&4$l{?I&4lj?|sP&4hK%[?W$4fǩ?K^- 4d<2?ez4bǮ?Ml4``?-si4^?y4\?3Zp=?΋ 4@v2:? ^<>vϑ{0? =7v #N ?s U=,vϵ ?` X=vF?H l=vɦ?o+ =u'i /? ,w=u3 n? b >uAϋ !8?T >uR? K1>]ucϫ?H B>-uw:m? T>ts?' f>tVƤ?rw>tj?~4>Atn?MB>s?NB>sZJ?>r(t? i>uq_,?zݎ>pA/?0'<>nR`?.}>+m1_*?MW62>kifޕ?=ڏ>io{?DE]>MhOp?LLڏ>f÷ofv?cS2>dAiԋ?ZZ|>b˲_?0a<>`bRU?gݎ>^Ahy?@oni>\,Ҋ?t>Zq{?{B>X<?NB>s7?ي>sЁD-?.>as6 ?,H> sXВ_:?d>r}}?v셸>YrО \.?܆&>q""?F>qХ#{ ?;/>)q!'%m?BE>pOѨ&˞?8&$>Hp~'($?">oѤ)(v?r4>Vo+0œ?dM>nҙ,:?BN?SnM.NH?o?m҇/u?ԋ ?@m0t?ԋ ?@m0P͘?ne# ? l",1 ?"$ ?jV1$? ?uiz10?78C ?hjȗ1)?rZ$L ?fŮ1?h+ ?+eeÿ1F?a2 ?c1?D9 ? b~1P?:@ ?f`1?F ?^1y?UMK ?\g1?S7C ?0[1K|?|+Z ?[Y޲z1sw?Hi`# ?|WV1 r?f" ?U,1Wl?TlӋ ?Sb0t?ԋ ?@m0?<|?lm2?R0?l93 ??kxL5/?`}?jӸ6kK?)J?Ej#8a?J"?i@ԋ9r?a&?h:}?^*?JhV<?$.?gո=?s2?fb?|?,eᄑN6?*ft@q?6F":?meA`?3T=?dM&CJ?<꾬A?czD.?gCoE?cE?dN#I?RbFG?dM#I?RbFGk?P~:I?+aUGS?7AOJ?_҆G?J?^_аGs*?Y! D&K?u]GL?z}^qK?#\G a?K?ZH|? 2K?bYk HYx?6&K?W<Het?~R,2K?{V HWp?\2K?THk?R8^qK?pSվGg?3>E&K?QGc? DJ?BPG_^?IOJ?NGL?ܾr5[?^ـM׃?qھغ^?9]cپNᑂ?Uؾ7b?S\OF?N1־-e?i[#3Q?Ծi?{ZhRC}?Ѿ0zl?YڛS^z?Ͼqo?XOTfw?7N;A#s?WU u?˾liv?VW=r?Ⱦy?UBXdo? Rƾ|?TdYXl? þ?S^݁ZWl? þ?S^݁Zi?ξI?Ro۶Z8f?!پ?}QZRac?UԿ?cP [f1`?R?CO)[\??NA[Y?&R'?LS[n9V?5?K][_R?* :?J6a[FAO?5?FI_][K?P-'?HS[ H?G?FA[XD?U!?kE)[t@?V&Կ?D1 [ j -?BþF?.=ej[f*? ̾~X?><k'?JԾ*c?K;y k$?~ܾf?U:k??"?*c?\9 k,x?"~X?a8&k?F?c7j ?(-?b6Mj?k ?_5j*?Db?Z4~гj2*?Q o?R3ϒj9?9?H2lj9??Aljg6??|@JIk2??y?D?"lx/?]? >Nl+?uB? ?"7ҭ?u6rq`?'yడ?*5Tr?Bs?3s?l!?2sG ?Rf4?=1_t}?`}?/'u ? VZ`?.u>Tr=?@-B@v>Tt=?@-B@vf>q|_}Y?,@Tv>jq?+>evW#>AvX?U+=tvx>!΀+?*y@?*;v>F!?`);vX>rƑ4?(nh?(=v.> 4?c'>v[ >?&Av;>d9@? &Dvqh>̭*?^%Gv>[X?$LtvX>渾q?$Qev>Vm|Y?R#WTv>þs=?"^@v>Tt=?@-B@vg>BM}?+v;>uG%?*_kwf>;Ab?4)wa>w:+o?'x>K4u+?x&ys>L-6?%y|>^'d?#5z/>o 8?S"|zHO> Xڭ? \zg>v?\{ z><: ?"{ >@?)|b>.$?Q|>-?E|削>Q?}8}>\;ؽ?r}>f;ؽ?r}N> =?}o}>;혱?fn}\y>?}wu>8?j}r>^Ҧ?d}N5n>ye? f}cj>R?}f>Bt?`c}b>? }n^>z%f?`} [>;+Ӧ?\}@4W>09?]}WZS>=6?}CO>^B@?}G>G?X}>f;ؽ?r}t>ʽ? }Fd>8UZ?8~T>?8^~YD>?Z~4>1^?i~X#>ⱇƧ?zz> Zt? 7#>gFY1%? 3a=m*>Y?% n=#톴?f=a??l7=hټ̴?XD= d?Y32=_Y?P,f;ؽ?r}3>qʽ=?1 }> @혱?P}?>L?o<}D>W?8?}>JҦ?n}>B:e?}O>ls?}>wcXt? 8}7>X=?(}"R>fM"f?Fj}A>AӦ?d}>dhؼ9?}N>N?5}>gX?}>0eػ@?g}B>3?}>Tt=?@-B@v?F}Y?-lTvz?9q?-ev3?,X?.tv?U+?H.v?@?.vPM?P?.Bv?44?/nv0?hԽ??/vL??3?{/v&??g-?ZCj??™TF?C6jr@?cA~X?DkťA?L#.*c?vD kB?pf?DQk!C?O*c?$E kyD?h~X?vEkWE?TF?Eqj,F?-?F'jF?qh ?XFj4G??Fj tH?皼o?FJjG#I?4?GljWl? þ?S^݁ZFn?#I?=Tz߶Zo??TZq?Կ?iU [$s?ԓ?U)[t?󩇾?|VA[v?v'?V.S[X\w?d^5?tWX][x?E:?Wa[y?--5?RX][z?~'?XS[!{?4?YA[T|? ƽ?kY@)[ }?Կ?Yp [(~?XE?ZZX?żI?FZZ?3?ZZ?dM#I?RbFG/7?ؾ:I?%cUGQ?>ʾOJ?c4܆G`]?kJ?dްG9Z?;D&K?^e3GH? ^qK?fG&?HK?fBHg?32K?7g H?viK?g]Hjg? nL2K?jlUG?@4O#I?ljGt?ԋ ?@m0?ε# ??ns,1>?D$ ?0o.V1~?ޯѾ ?pz16?c8C ?pݗ1?k'L ?q1¡?: ?drR1?5 ? s'1?  ?s1J?(c ?.t1?xC ?t1?"K ?u1?Xb7C ?ouz1}?ý ?u\z1Ӧ?R" ?u>V1?P>" ?#v ,1p=?Ӌ ?@v0?NB>sؚ?H>u?QQi>&v,Ez?{޾ݎ>"wABũ?2ξ<> xR?Dl}>x_?j2>yi?„ڏ>dzo?k]>{pzŮ?0zrڏ>{oDy?|i4?f-|>|_?h <>|R?8нݎ>$}AD?Ыi>X},t?p >z}?B>}p=?΋ 4@v&?Vt 4iw8k?x4xt۫?SH㾒4y1?UҾwU4yzm?s=(B!4Z{%?#4'| ?fI%4|?;w%4}&S?kw7z$4~!?JX?0#4 \"?x 4a} ?WԽJ4˴?̀P4?f f4?44?SBsߚ?Qu?ZQi&vKz?޾ݎ"wؿHũ?2ξ< xۮ?Jluxޡ?q*y?Ȅڏdz ?kU叾{Ů?:zrڏ{Ly?DO*|<?f-t| ?n <|?<нݎ$}D?ܫiX}t? z}?B}v?Ћ @m?е ?ns>?D 0o.ت~?Ѿ pچ8?e4C pi?m'H qR¡?: drRA?5 s'8?  s4J?*c .t8?xC tA?"I uR?\b5C ouzi}?ý u\Ӧ?R u>?`>  #v p=?Ћ @v?dJ#IRbF/7?ؾ7I%c٫Q?>ʾOJc4z`]?kJdP9Z?;A&K^e3-H? [qKf&?HKfBg?3.K7g?viKg]jg? nL.Kjl?@4K#IljWl? þS^Fn?#I=TzJo?Tq?տiU$s?ԓ쀿Uפt?󩇾|V迤v?v 'V.ꭤX\w?d^5tWX죤x?E:Wy?--5RXz?~ 'X!{?4YT|? ƽ쀿kY@פ}?ֿYp(~?XEZX?żIFZJ?3Z9?A䔕 ;?ys!Bvn;?g-ZC??TFC6 q@?cAXDĥA?K#.-cvDB?pfDQ!C?P-c$EyD?h轂XvEWE?ZFEq ,F?-F'F?qh XF14G?斿FM tH?皼vFJnH#I?G>Tu=@-B? F~Y-lz?ݾ9q-3?,Y.?U,H.?A.wLM?I.Bp?45/nl,?[Խ?/kL?35{/l#?2/p?:B/ w1?\T-&0M^?[]0zd ?Լq0 ?TY0΋ ?3w=0聂>T;ؽrw3>`ʽ=1 r>?혱Pm4>=oJ?8f>>Ҧnc>8:eaN>ls𪱿`u>fcXt 8`,>X=񪱿(`R>ZM"fFja6> AӦdc>\hؼ9fN>N5i>gXm>0eػ?grB>@3wDATAl ,        !"##$$%%&&''(())**++,,--..//001123445566778899::;;<<==>>??@@AABBCDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTUVVWWXXYYZZ[[\\]]^^__``aabbccddefgghhiijjkkllmmnnooppqqrrssttuuvwxxyyzz{{||}}~~           !""##$$%%&&''(())**++,,--..//001233445566778899::;;<<==>>??@@AABCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSTUUVVWWXXYYZZ[[\\]]^^__``aabbccdeffgghhiijjkkllmmnnooppqqrrssttuvwwxxyyzz{{||}}~~           !!""##$$%%&&''(())**++,,--..//012233445566778899::;;<<==>>??@@ABCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRSTTUUVVWWXXYYZZ[[\\]]^^__``aabbcdeeffgghhiijjkkllmmnnooppqqrrsstuvvwwxxyyzz{{||}}~~           !!""##$$%%&&''(())**++,,--../0112233445566778899::;;<<==>>??@ABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabcddeeffgghhiijjkkllmmnnooppqqrrstuuvvwwxxyyzz{{||}}~~          !!""##$$%%&&''(())**++,,--./00112233445566778899::;;<<==>>?@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``abccddeeffgghhiijjkkllmmnnooppqqrsttuuvvwwxxyyzz{{||}}~~          !!""##$$%%&&''(())**++,,-.//00112233445566778899::;;<<==>?@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__`abbccddeeffgghhiijjkkllmmnnooppqrssttuuvvwwxxyyzz{{||}}~~          !!""##$$%%&&''(())**++,-..//00112233445566778899::;;<<=>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^_`aabbccddeeffgghhiijjkkllmmnnoopqrrssttuuvvwwxxyyzz{{||}}~~          !!""##$$%%&&''(())**+,--..//00112233445566778899::;;<=>>??@@AABBCCDDEEFFGGHHIIJJKKLLMNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^_``aabbccddeeffgghhiijjkkllmmnnopqqrrssttuuvvwwxxyyzz{{||}}~~           !!""##$$%%&&''(())*+,,--..//00112233445566778899::;<==>>??@@AABBCCDDEEFFGGHHIIJJKKLMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]^__``aabbccddeeffgghhiijjkkllmmnoppqqrrssttuuvvwwxxyyzz{{||}}~~                                                        ! ! " " # # $ $ % % & & ' ' ( ( ) * + + , , - - . . / / 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 : ; < < = = > > ? ? @ @ A A B B C C D D E E F F G G H H I I J J K L M M N N O O P P Q Q R R S S T T U U V V W W X X Y Y Z Z [ [ \ ] ^ ^ _ _ ` ` a a b b c c d d e e f f g g h h i i j j k k l l m n o o p p q q r r s s t t u u v v w w x x y y z z { { | | } } ~                                                                                                                                                                                  ! ! " " # # $ $ % % & & ' ' ( ) * * + + , , - - . . / / 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 : ; ; < < = = > > ? ? @ @ A A B B C C D D E E F F G G H H I I J K L L M M N N O O P P Q Q R R S S T T U U V V W W X X Y Y Z Z [ \ ] ] ^ ^ _ _ ` ` a a b b c c d d e e f f g g h h i i j j k k l m n n o o p p q q r r s s t t u u v v w w x x y y z z { { | | } ~                                                                                                                                                                                   ! ! " " # # $ $ % % & & ' ( ) ) * * + + , , - - . . / / 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 9 : : ; ; < < = = > > ? ? @ @ A A B B C C D D E E F F G G H H I J K K L L M M N N O O P P Q Q R R S S T T U U V V W W X X Y Y Z [ \ \ ] ] ^ ^ _ _ ` ` a a b b c c d d e e f f g g h h i i j j k l m m n n o o p p q q r r s s t t u u v v w w x x y y z z { { | } ~ ~                                                                                                                                                                                   ! ! " " # # $ $ % % & ' ( ( ) ) * * + + , , - - . . / / 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 8 9 9 : : ; ; < < = = > > ? ? @ @ A A B B C C D D E E F F G G H I J J K K L L M M N N O O P P Q Q R R S S T T U U V V W W X X Y Z [ [ \ \ ] ] ^ ^ _ _ ` ` a a b b c c d d e e f f g g h h i i j k l l m m n n o o p p q q r r s s t t u u v v w w x x y y z z { | } } ~ ~                                                                                                                                                                                   ! ! " " # # $ $ % & ' ' ( ( ) ) * * + + , , - - . . / / 0 0 1 1 2 2 3 3 4 4 5 5 6 7 8 8 9 9 : : ; ; < < = = > > ? ? @ @ A A B B C C D D E E F F G H I I J J K K L L M M N N O O P P Q Q R R S S T T U U V V W W X Y Z Z [ [ \ \ ] ] ^ ^ _ _ ` ` a a b b c c d d e e f f g g h h i j k k l l m m n n o o p p q q r r s s t t u u v v w w x x y y z { | | } } ~ ~                                                                                                                                        !!""##$%&&''(())**++,,--..//001122334456778899::;;<<==>>??@@AABBCCDDEEFGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWXYYZZ[[\\]]^^__``aabbccddeeffgghijjkkllmmnnooppqqrrssttuuvvwwxxyz{{||}}~~            !!""#$%%&&''(())**++,,--..//001122334566778899::;;<<==>>??@@AABBCCDDEFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVWXXYYZZ[[\\]]^^__``aabbccddeeffghiijjkkllmmnnooppqqrrssttuuvvwwxyzz{{||}}~~            !!"#$$%%&&''(())**++,,--..//001122345566778899::;;<<==>>??@@AABBCCDEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUVWWXXYYZZ[[\\]]^^__``aabbccddeefghhiijjkkllmmnnooppqqrrssttuuvvwxyyzz{{||}}~~            !"##$$%%&&''(())**++,,--..//001123445566778899::;;<<==>>??@@AABBCDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTUVVWWXXYYZZ[[\\]]^^__``aabbccddefgghhiijjkkllmmnnooppqqrrssttuuvwxxyyzz{{||}}~~           !""##$$%%&&''(())**++,,--..//001233445566778899::;;<<==>>??@@AABCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSTUUVVWWXXYYZZ[[\\]]^^__``aabbccdeffgghhiijjkkllmmnnooppqqrrssttuvwwxxyyzz{{||}}~~           !!""##$$%%&&''(())**++,,--..//012233445566778899::;;<<==>>??@@ABCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRSTTUUVVWWXXYYZZ[[\\]]^^__``aabbcdeeffgghhiijjkkllmmnnooppqqrrsstuvvwwxxyyzz{{||}}~~