`8LoaderFJ|  A SAGROTAN 4.14 `0: @`8fA0<BAXQJAf Aa`NuAaV`x**************** Bootprogram for protection against virus. ****************/?< NA\Nu **************** By: Henrik Alt, Kirgelweg 25, 7160 Gaildorf. Kto. 6428662 KSK Schwb. Hall BLZ 62250030 **************** p The bootsector has been changedq p No bootsector virus! q ****************Don't forget to update! ****************Nq`XR!#C@E`GIKMOQ S@U`WY[]_a c@e`gkmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` `!Aa  !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aao!Aa!Aaǁɡ!Aaׁ١!Ao!Aa " B b  !"!B!b!!!!!"!""#B"o"'")"+-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&km&o'q"'sB'ub'w'y'{'}'("(B(b((((()")B)b)))))*"*B*b***#C@E`GIKMOQ S@U`WY[]_a c@e`gkmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` `!Aa  !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aao!Aa!Aaǁɡ!Aaׁ١!Ao!Aa " B b  !"!B!b!!!!!"!""#B"o"'")"+-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&km&o'q"'sB'ub'w'y'{'}'("(B(b((((()")B)b)))))*"*B*b***ART__049640fDESKTOP INFESKJET INF aPSON INF @ONTWID PRG -NSTALL DOC .3_FONTSARCJeRC TTPNgRCSHEL2PRGS2_FONTSARCV ONFIG ARCZPBESKTOP INFlONTEDITARCc%ONTS ARCi0ONTSEL ACCnlON_DOCSARCwMAGES ARC%1_FONTSARC&OSHIFT PRG:2_FONTSARC;1_FONTSARC=yABLES ARCA3_FONTSARCC1NAPSHOTTOS HNAPVIEWPRG JFOPCHARTPRGL0. f.. fAIM2_31 x. y.. yHELP AIM INFYhAIM2_31 PRGci)AIMBW RSCqRAIMCOLORRSCv RBNOISE IM }CERMET IM ^DEMO AIMDEMO1 AIMqDEMO2 AIM*DEMO3 AIMDEMO4 AIMDEMO6 AIMjDEMO7 AIMKETEL IM MAAN IM SNAPSHOTACC%TRUI IM ,TUD IM l. .. READF HLPCREADF HLPCOPY HLPEXIT HLPHELP HLP MINIMUM HLP MAXIMUM HLP MINDEV HLP HARA HLP HAVE HLPBCOPY HLPAND HLPDILATIONHLPEROSION HLP-SKELET HLPADD HLPBDISP HLPCADD HLPCDIV HLPCMUL HLPCONTOUR HLPDIV HLPENDPIX HLPEQUAL HLPEXOR HLPGDISP HLPGRADX HLPGRADY HLP HIST HLP!LAPLACE HLP"readf: reads a grey-value image from disk Extension: .IM -> aim; .PI1/.PI3 -> DEGAS; .NEO -> Neochrome . Default .IM. command : readf image-file, image default : readf trui , A range : - , .ttp: $(CC) $(CFLAGS) $< -o $*.ttp What follows is the documentation for the program as I received it. --------------------------------------------------------------------------- A full featured Public Domain Make for the Atari STs. Adapted from mod.sources posting (Volume 7, Issue 71, 1986-12-03) by Neil Russell and from Jwahar Bammi's port of Neil Russell's original net.sources posting. Thanks to both of them, they did most of the work and should get all the credit they deserve. This is not a manual how to use make. For that please refer to any UNIX manual, and/or look at the sources and example makefile. First Neil Russell's read.me from the mod.sources posting. ------------------------------------------------------------creadf: reads a colour image from disk Extension: .COL -> aim ; .PI1 -> DEGAS ; .NEO -> Neochrome . Default .COL. command : readf image-file, image default : readf trui , A range : - , NVJl*=| .D-@/.a2.H-@ .N^NuBn`NVH(.f pLN^Nu6<`JoSC` HÀ`NV/&. g* /a>XO-@Jl <&N^Nu .D`/aXO-@Jl <` .`NVH .& .8|@mJf pLN^Nu|`op`|@0< DH `_fpltof_fputof:_fpftoln_fpftoufpdiv.oUD`FNV/. aN-@./. NPO-@/./<BNPO-@/././.NPO/NN^NuNV/(. =@ copy : copies an image. The input image is copied to the output image. command : copy input image, output image default : copy A , B range : , fpadd.oUD`8 / "C /"/<j,fo $ " /ahJ/jJg<& Nufo$ "aJ/jJg<& Nu$CBBB<l ЁdRk& Nu& <Nu$CBBB<nBg Jk Sf& BNu& Nufpsub_fpsubfpadd_fpaddfpmul.oUD`*"C /"/g4g0<<jH a$L0Jg& <NuH aL0& Nu& BNu$C<@c^<b^<@BB6HC8:H@HAexit : ends the program. This action can also be obtained by typing Control-C, or clicking the close box of the command window. command : exit fp_prt.oUDH` <NV#By0. |EgT|Fg*|Gg>|eg,|fg|ggN^Nu?./.a*`?./.a`?./.a`3`3`NV/ Jn l=|Bg?./.aLPO&yJy8g-. no/</ NPO/ NXOHJygR<ESy:Jy:l-09:D@3: y :l0?9:/</ N &_N^Nu<e`0. R@=@`BNV/ Jn l=|Bg0.D@?/.atPO&yJy8g- y:l0Jn fJng.JnfB&_N^NuJy:ld09:D@=@0.no=nBn0.nl 0Rn`0.nJno?./</ N 0.HB`09:Hм @HP/ NPO`p?9:/</ N 09:H`2=n `NVJn l=| n lhelp : gives help information. command : help commando A question mark (?) gives a list of the available commands. A return gives the next screen window. /./</<N /<NXO=@0.n=@Jn n0. D@=@ 0.n n l.=| 0. R@2.@lX n(lP/</.NPOW|gV0. R@2.@l0.RnHм @0`0.Hм @B?.?. a383:N^Nu-nHnHnHn/.a/./<HnN HnNXOn=@0.RnJ@g0.RnHм @0`Hn0.Hм @HPNPO/<NXO=@` n( o=|( `Bn`HNV0.Hм @C-I n 5m$Jn fS e2 nR n 9l0.Hм @BN^Nu n0S`1`NV/.aXO=@Bn no(/<o7/.NPO-@Vn/.a|XO=@` n l\/<J/.NPO-@Wn nl,BBn-| n n n0N^Nu/.aXO=@`HnHn/.a0`NVA-H nAH|=@n@0.N^NuNVA-P .=@/.aXO=@ nlB-n n n N^Nu0< n(*) minimum : minimum of output and input image. output-im = minimum (input-im, output-im) command : minimum input-im , output-im default : minimum A , B range : ,  $ $,4(*) maximum : maximum of output and input image. output-im = maximum (input-im, output-im) command : maximum input-im , output-im default : maximum A , B range : ,  <<DLfp_scan.oUD`(FNV/. NXO-@-|A0.SnJ@(*) mindev : take closest input value . if | out_im - in1_im | < |out_im - in2_im| out_im = in1_im; else out_im = in2_im; command : mindev in1_im , in2_im , out_im default : mindev A , B , C range : , , fp_scan_fpltoffpmulfpaddfpneg  $printf.oUD^`bNVH&n(nBDJg< %fBEB.| =|Bn=|| KBFBCRpм @B@|g8B@|02< @6Jng=C`JCf . f|0`=C`B@|=C`6S`|^l|Eg|Gg||Xf|.H?/ JFg\ /N JF(*)hara : non-linear edge filter. Hara performs a variant of the 3x3 Lee- Haralick edge filter . command : hara input-im, output-im default : hara A , B range : , 4`0L8xN^Nu<<`?< / JFg" /N JFgI`I`0H`|`|`<<|0=|=|`r`t LTABB.| `*TI``__printf__ctype_ultoa_strlwr__prtfld_fp_prin_ltoa $,(*)have : non-linear laplace like filter. Have performs a non-linear laplace like- operation inspired by Lee- Haralick. command : have input-im , output-im default : have A , B range : , scanf.oUD4`.NVHH&n(nBGJf B@L8N^Nu n / NXO8JDoBn %fv:<=|=| BF=|=|=|/<HnrNPO/<HnaNPOA *f BnBnRRpм @B@|g |fBEB@|02< @:=E`SRpм @B@|g B@ @ |, <1,8> , , aN\O*@`0`Jng n*P nf D&JFg*RG`:`0`>|0f6 n / NXO8|m|xg|Xg=|B.i`l=|`Jnf n fĸ|-W|=@f|+f`=|`"=|`=|`Bn``H <Є @B@|g n / NXO8|l`pм @B@|g<<BnNBnBnRvBXBTBnPJDg0SEJ@g|0mr|9njBnL0.L@Hм @0.N@H0|g0|g|g|g|g|g.0.L@Hм@ @0.N@H=PN n / NXO8`f0.N@Hм @JPgJng?.P/.T/.X/?.R?.N-@H n*PJFg *HRG`*H`/< /.TNPO2|0HЁ-@T`T/< /.XNPO2|0HЁ-@XRnP`,/< /NPO2|0HЁ&` |-W|=@R`|-W|=@`|.f =|L`|+g|-f =|L`xH <Є @B@|g0 @ |ef=|L`J0`:.BnB.r n*PJEg8?HnrN\O-@\|mJFg~J\W|J@gJngand : AND-function of two bitplanes. bitpl out = (bitpl 1 in) AND (bitpl 2 in). cmd : and bit1 in, bit2 in,bit out,image dflt: and 1 , 2 , 2, B range: <1,8> , <1,8> , <1,8>, 2.@n"UB@2.@l 0.Rn`=|` -W|=@`B`<<`dH <Є @B@|g n / NXO8|l`` _fp_do_fp_ns@_fp_sval__scanf_strcpy__numstr__ctype_strchrlmul_fp_scan$,$44dilation: extends white objects. One layer is added to an object in 1 iter(ation). Holes < #iter x 2 are filled. cmd : dilation # iter,bitpl,connec,edge,im dflt: dilation 1 , 1 , 6 , 0 , B range: <1,512>,<1,8><4,6,8><0,1> 44<D4<44erosion : erodes white objects. One layer of an object is peeled off in 1 iter(ation) Objects < #iter x 2 disappear completely. cmd : erosion #iter,bitpl,connec, edge, im dflt: erosion 1 , 1 , 6 , 0 , B range: <1,512>,<1,8>,<4,6,8><0,1> <<4 double-sided floppy containing: * all executables * source code for the compiler * source code for the utilities * documentation -skelet : skeleton without endpixels At each iter(ation) 1 layer of an object is peeled off with topology preservation. command : -skelet # iter , bitpl, edge, im default : -skelet 100 , 1 , 0 , B range : <1,512>,<1,8> ,<0,1> __iob__main_exit`_isatty__envp__argv__argc_main_fclose__exit$,4<DLadd : adds two images out-image = (in-image + out-image)/2. command : add in-image, out-image default : add A , B range : , initargs.oeH`Z2NVH6.0R@|6?NTO&@g LN^Nu/<?< N\O?/+/ N 0@HЍ @B/NXOR@?aTO(@// NPO*XJf`xArg0123456789ABCDEF Too many arguments __initarT_sbrk_gemdosbdisp : displays a bitplane of an image. In low-resolution the type of display is determined by the don parameter. command : bdisp image,bitplane default : bdisp A , 1 range : , <1,8> $,4<DLTT\LL<LdLLl\Ltdlshell.oeHf`"NV~HBn/<NXO&@gJg~B?< N\O(@*y/ ?< N\Og4l,?</</ N J@g/ NXO=@L8N^NuB/ / Ncadd : adds a constant to an image. command : cadd image , constant default : cadd A , 0 range : ,<-255,255> ATHSHELL_shell_getenv_gemdos__base_strncmp_forklp_wait_fullpat_cprintf_putch_getch_getln_cputs_stricmp_system $,4<DLT\dltsystem.oeHF`F~NVH&n /</.NPO(@g&/<BNPO(@fLN^NuNVH&nf 0 ,<-255,255> _forkvpe_wait  $,4<Dexec.oeH `2  NVH6<&nG*nKX n (PgRCJgd`d `B .R" n0L8N^NuNVBHn /.aN^NuNV~HG / Hn~atPO6R@@HЋ @(P/ / ?Hn~/.aLN^NuNV/</.BN -@gBHn /.aN^Nu30<`NV~HG /</.BN -@g8/ Hn~aPO6R@@HЋ @(P/ / ?Hn~/.aLN^Nu30<`NV~//. Hn~aPO6/./. ?Hn~/.a&N^NuNV/</.Bcmul : multiplies an image by a constant. command : cmul image , constant default : cmul A , 1 range : ,<-255,255> 86|B+ `NVHIaj&@f 0 ,<0,1> \T\dddlt|d\\getopt.ouHB`F~NVJyg>Bdiv : divides two images. out-image = out-image / in-image. command : div in-image, out-image default : div A , B range : , 509@HЮ @/NPOJ@f Ry0<`09@HЮ @09HА @H:09Ry68909@HЮ @09HА @JfRy3|:g|?g?/.N\O&@f?/<& n /a `(A :f:yf809@HЮ @09HА @C#3Ry0`09nm?/< n /a `09@HЮ @#`option requires an argumentillegal option--%s: %s -- %c _opterr_optind_optarg_getoptR__splitp__iob_fprintf_strcmp_strchr$,4<endpix[els] : finds endpixels. These white pixels have a single white neighbour in a 3x3 neighbourhood. command : endpix bitplane, edge, im default : endpix 1 , 0 , B range : <1,8> ,<0,1>, fopenp.ouH``tTNV/ /.HnNPO?<.HnN\OJf/<HnNPO/<HnBN -@g/. /.NPO&@ &_N^Nu._fopenp_strcpy_strchr_strcat_pfindfi_fopen $,pfindfil.ouH`FNVH&n(n ?<\/ N\OJf?<:/ N\OJg/./ NPOL8N^Nuf/<NXO&@f&|Jg\*|Jg ;g ,g`JgRA \g\/ / NPO/./<NPO*@g `tp`n.PATH_pfindfi_strchr_findfil_getenv_strcpyequal : histogram equalization. Reassigns the grey-values for an optimal use of the grey-value range. command : equal input image, output image default : equal A , B range : , `pNVH&n(n *nf*|d / / NPOJ@f L8N^NuJg`p`NVH/.BNPO-@?<\/.N\O&@g:?<./ N\O&@g"Bg/.N\OJ@g .L8N^Nup`Bg/.N\O&@.A*AB(n JgJg`?</NTO-@Hn?<N\OBg/.?<NNPOJ@f>?<.HnN\O*@/ / /. a *@g(M?<ONTOJ@g/.?<N\OJg/ / NPO .`*p`$._findfilJ_stricmp_fullpat_strrchr_strchr_access_gemdos_strcpy $,4exor: EXOR-function of two bitplanes. bitpl out = (bitpl 1 in) EXOR (bitpl 2 in). cmd : exor bit1 in,bit2 in,bit out, im dflt: exor 1 , 2 , 2 , B range: <1,8> , <1,8> , <1,8> , /</</<N09R@HH@3Bg/<N\OJ@fJf/<NN^Nu/</.N`NVH&n /<NXO(@g/ HnNPOBgHnN\O(@f&|?9/ /</ N09R@HH@3BgHnN\OJ@fHnNXOLN^NuJg/.HnNPO`t/<HnNPO`^TEMP$%.5s%03d.TMPTMPDIR%.5s%03d.TMP_tmpnam_tempnamx_sprintf_access_strdup_strcpy_getenv_fullpat_strrchr$,4<D$<gdisp : displays a grey/color image. High resolution : black and white dots. Low resolution : 8 greys/16 colors. command : gdisp image default : gdisp A range : gJgg`B*ng <=gR`B/.NXO&@g@(KJf/.NXO8Hė?/.S/ N J@fJgg`B<=f &yJgJg`(nfB y!y,0<`&B`P_putenv_malloc__envp_getenv_strlen_strncmp__base $,4getenv.ouH`8NVH&n(yf pLN^Nu/ NXO6Jg*HA8 =f?/ / N J@f `Jg`p`NVH&n/ N6.aXO(@g:0R@HJf.KJf L8N^NuJg =gR`Jg ` R` `_getenvb__envpgradx : horizontal gradient filter. Computes the horizontal first derivative. out-img = gradx(in-img) * (mul/1024) + add. cmnd: gradx in-img,out-img, mul , add dflt: gradx A , B , 1024 , 128 range: , ,<10000>,<+/-255> p`NV/&9 &N^Nu_getpid__base catch.ouH `\8NVH&n(n / NXOJ@g09LN^NuN`NVH&n6. 3?</ N\OLN^Nu_catch_throw0_setjmp_longjmpisatty.ouH`ZNVH6.?<?/<?<BN (Jo$?<?/, ,<10000>,<+/-255>     getcwd.ouH&``FNV/6. Jf?NTO-@fp&N^Nu/<HnNPOHnNXOClHn/.NPO`p`_getcwd_malloc_fullpat_strlen_strcpy $fullpath.ouH`8NVH&n(n *|JgA :f"MRH6S@|6 \fR\BJgb .fJR .f0RJg \g pL8N^NuS %\g :fRRJgR`Jg \gp`R`Jg"MR \g`Bf&|/</ NPO/NXO`0R@?/ ?<Ghist : displays the histogram of an image. The histogram of the grey-values present in the image is computed and displayed. command : hist image default : hist A range :  splitpat.ouH`FNVH6<J g n BJg nBJg nBJg nBJf pLN^Nu/.HnNPOBgHnN\O&@ SAc| .f&|l6<Jg R//.NPOB` \fB|l6<Jg R//.NPOAg S @ :fAB`B` :fz|l , $$$$$$fopen.ouH`pNVH&n (nBEBFJgv KRH|+gb|agR|bgF|rg:|tg.|wg/</<$NPOpL8xN^Nu||``|`|`|`||0`|`0|8fp`|fVBg?/.NPO6|l 3p`?NTOJ@g |9C 9F BBBlBT `j|`޸|f|`|`NVHBCf6|l00<Hм @0( |f0<Hм @GRC`·g/ /. /.a LN^Nup`NV/.NLIFE HLP$LINKPIX HLP%LMAX HLP&MAJORITYHLP'MUL HLP(OR HLP)REMOVE HLP*RESET HLP+SET HLP,SINPIX HLP-SKELET HLP.SUB HLP/THRESH HLP0VERTICESHLP1WRITF HLP 2MEDI HLP3SETUP HLP4TOFF HLP5-TON HLP6oUNIF HLP!7DOFF HLP%8rDON HLP)9FILTER HLP.:INVERT HLP2;LABEL HLP6<LMIN HLP:=LOGGING HLPA>CMDFILE HLPE?CMDWIND HLPI@PROPAG HLPMAREAD_ME TBulife : game of life The well-known game of life is a Cellular Logic Operation. command : life # iter, bitpl, edge, im default : life 1 , 1 , 0 , B range : <1,512>, <1,8>,<0,1>, fclose.ouHF`*NVH&nf 0 ,<0,1> <HLN^Nu<`NVH&n/ NXOBg?+ B?<BN &Jl3k LN^Nu_ftell_fseekH_rewind_fflush_gemdos_errno$,$,$,open.ouH>`bNVH&n6. 8.Bg/ N\OJ@g|0||f30N309N^Nu_open_close_access_errno_creat_lseek_gemdoslmax : computes a maximum image for a local neighbourhood. The (neighbourhood) size is an odd value between 1 and 63. command : lmax in-image, out-image, size default : lmax A , B , 3 range : , , <1,63> NV/?.?<ENXO6|l30&N^NuNV?.?. ?<FN309N^Nu_dup_dup2,_gemdos_errnochmod.ouH`B*NV/0. |??</.?<CN 6JCl309&N^NuB@`_chmod_gemdos_errno abort.ouH`4FNV/<$/<NPO/<$NXO?<NN^NuAbnormal program termination _abort__iob_fputs_fflush__exit  $stime.ouH`majority: assigns the majority value. A pixel gets the majority value of its 3x3 neighbourhood. command : majority bitplane, edge, im default : majority 1 , 0 , B range : <1,8> ,<0,1> N^NuNVH&n fG/ NXO?</.?<=NPO6JCl309LN^Nu?<?/ ?<WN ??<>NXO6309`_mktime_stimep_utime_gemdos_xbios_time_errno$,4444time.ouH,``$NVH&n0+ |lH(0+R@H*0+H,oW/<d/NPO&/<d/NPO(/<:/NPO//</NPOП//</</NPOT/NPOПІмCLxN^Numul : multiplies two images and divides the result by 256. out-image = (in-image * out-image) / 256. command : mul in-image, out-image default : mul A , B range : , / arXO(AC0<0QBl9|/ aP*. R/NPO7@ 7@7| L8N^NuNV/ &n0+ |l???+?+?+0+@Hм6 @/0+ @Hм @//<f/<N <&_N^NuNV/.a.aN^NuDay Mon dd hh:mm:ss yyyy %.3s %.3s%3d %02d:%02d:%02d %04d DecNovOctSepAugJulJunMayAprMarFebJanSatFriThuWedTueMonSun_julian__time_gmtime _localti_asctime_ctimeLldivlremlmul_gemdoslremu_sprintf4<DDD4Lor : OR-function of two bitplanes. bitpl out = (bitpl 1 in) OR (bitpl 2 in). cmd : or bit1 in, bit2 in, bit out, im dflt: or 1 , 2 , 2 , B range: <1,8> , <1,8> , <1,8> , T\fscanf.ouH `NTNVHn/. /</</.NN^NuNVHn /./</</<NN^Nu_fscanf_scanf&_fungetc_fgetc__scanf__iob$,$sscanf.ouH`nNV/ n R @f 0<&N^NuB@`NV nfBn n S P B@N^Nuremove[noise]:removes pepper and salt noise A white pixel in a completely black neigh- bourhood becomes black and opposite. command : remove bitplane, edge, im default : remove 1 , 0 , B range : <1,8> ,<0,1>,  y&PBHnBB/ NHn/</<$N JgB nJg:AX-H/././<$N B/<$/<NPO?9NTO(@g/<$/ NPO/<$/<NPOLN^Nu. : %s: _perrorf__argv__splitp__iob_fprintf_vfprint_fputs_errno_strerro $,4<D44fprintf.ouH`bNVHn/. /</.NN^NuNV/./. /</.NN^NuNVHn /./</<NN^NuNV/. /./</<NN^Nu_fprintf_vfprint _printf@_vprreset : resets a bitplane. The value of the bitplane becomes '0'. The pixels become black. command : reset bitplane, image default : reset 1 , B range : <1,8> , uHj`*NV n R @ HN^NuNVH&nHn/. /<HnN6HA8B0LN^NuNVH&n/./. /<HnN6HA8B0LN^Nu_sprintf_vsprintV__printfperror.ouH &`bNVJnn"0.ym0.@Hй @ N^Nup`NVJg. nJg&/<$/.NPO/<$/<NPO?9aTO-@g /.NXO/<$/<NN^Nu}gXL>)set : sets a bitplane. The value of the bitplane becomes '1'. The pixels become white. command : set bitplane, image default : set 1 , B range : <1,8> , errordrive not readyunknown commandcrc errorbad requestseek errorunknown mediasector not foundout of paperwrite failureread failuremedia write protectedmedia changedunknown devicebad sectors on formatdisk swap requestinvalid function numberfile not foundpath not foundno more handlesaccess deniedinvalid handleout of memoryinvalid memory blockinvalid drive idrename across drivesno more filesrange errorinternal errorbad executable formatmemory block growth failuredomain errorfile already exists_sys_ner_sys_err_strerro_perror0__iob_fputs_errno$,$,4,$,sinpix[els]: finds isolated white pixels These white pixels have not a single white neighbour in a 3x3 neighbourhood. command : sinpix bitplane, edge, im default : sinpix 1 , 0 , B range : <1,8> ,<0,1>, gets.ouH``*NVH&n(K/<NXO6|g| g|fcS``B|ffskelet : skeleton with endpixels. At each iter(ation) 1 layer of an object is peeled off with topology preservation. command : skelet # iter, bitpl, edge, im default : skelet 100 , 1 , 0 range : <1,512>,<1,8>,<0,1> XO8|g LR  fB|ffpJ@g pLN^Nu .`B@`_fgets_fgetc fputs.ouHd`8NVH&n(n BCJg*/ KRH?N\O|f 0 , ,<-/+255> _tttty_read$fputc.ouH`*NVH. &n BFk 8+ 0|g0|Pg 0Eg k@ 0<`JFg < f< `B@`v_fputc__getbuf_write thresh : makes a grey-value image binary by thresholding, Pixels with grey-value > threshold become white, the others black. cmd : thresh in_img,out-img,bitpl,threshold dflt: thresh A , B , 1 ,automatic range: , ,<1,8>, <0,255> |?N\O|f0<`0`NVH&n/ a@XOH(f pLN^Nu r&/ aXOH(fp`  `NVH&.&n r(/ /a&PO|f pLN^Nu/ /aPO|fp` `_getw_putwT_getl_putl_fgetc_fputc$$,,tttty.oHd`8NVH&n(kBDBE6+ ?<Hn?+ NPO:JEnJDg 0Lvertices: finds vertices. These white pixels have 3 or more white neighbours in a 3x3 neighbourhood. command : vertices bitplane, edge, im default : vertices 1 , 0 , B range : <1,8> ,<0,1> JDo6SDS?<?<?<N\O?< ?<?<N\O?<?<?<N\O`JDoSDS .fP?<?<?<N\O?< ?<?<N\O?<?<?<N\O?<?<?<N\O?< ?<?<N\O?<?<?<N\O`f|`?, - setbuf.oH`>NV/ &nk BS'n 'n gk 7|&_N^Nuk Bk`_setbufgetbuf.oH~`*NVH&9#?.NTO&@## LN^NuNV/ &n0+ |f7|?<aTO'@f(k k A'H7|'kBS&_N^Nuk `@__getbuf@__BLKSIZ_malloc   fflush.oHD`8NVH&ng/ aLXOLN^NuBD|l60<Hм @6( 0|g0<Hм @HPa XORD`B@`NVH&nBDf B@LxN^Numedi : The median filter determines for each pixel the median (the midddle) value of a local (3x3) neighbourhood. command : medi input-image ,output-image default : medi A , B range : ,  fread.oH`bNVH&n(nl <, 0. H*/0.H/NPO&0|gFxl/ NXO>|f(Jo//NPOLN^Nu309H`R`/ N./?, ?<?N (`_freadlmul_fgetcldiv_errno_fflush_gemdos $$,4fwrite.oH`bNVH&n(nl <, 0. H*/0.H/NPO&0|gLLOAD SETUP: loads a setup file. The setup file describes the path of image files, commandfiles, helpfiles and the position of the windows. SAVE SETUP: saves the current settings in a setup file.  $$,4cprintf.oH`*NVHn /./<BNN^Nu_cprintf_putch__printf cputs.oH`(NV/ &nJg KRH?NTO`&_N^Nu_cputs_putch getch.oHp`lpNV/69 ng30&N^NuNVH09|g\?<?<NXO&#09|g 8f r⨀8|0LN^Nu "¼8`?<NTO`NV/. 09|gJ< m 09|g H??<?<N\OH0&N^NuH??<?<N\O`H??<(*)toff : Sets timer off. command : toff N^NuNV09|g?<?<NN^Nu?< NH`__getch_cfg_ch_getch$_putch_getche_kbhit<_bios_gemdos4<44<4<getln.oHf`NVH&n (n6.*nBE/.NXO|8|f*nBBE .L88N^Nu| g| fB`|g|f gS?<N> N>NTOSE`| mCl MRH?NTORE`~_getlnprintf.oH`T(*)ton : Timer on. The execution time of each command is displayed when the timer is on. command : ton < @6Jng=C`JCf . f|0`=C`B@|=C`6S`|Xm|xn|XH {N,px`$0L8xN^Nu<<`~?< / JFgP /N JFg8I?.?..H?.H??/ /. /.N@`I`0H`|.H?/ JFg* /N JFgI xf/ / NPO`p0`|`<<|0=|=||`` LTABB.| `:*TI`` __printf__ctype_ltoa__prtfld_ultoa_strlwr (*)unif : uniform filter. This filter determines the average of a local neighbourhood in the input-image. command : unif input-im, output-im, size default : unif A , B , 3 range : , , <1,63> $,scanf.oH \`TNV\H&n(nBGJf B@L8N^Nu n / NXO8JDoBn %fv:<=|=| BF=|=|=|/<HnrNPO/<HnaNPOA *f BnBnRRpм @B@|g |fBEB@|02< @:=E`SRpм @B@|g B@ @ ||0f6 n / NXO8|m|xg|Xg=|B.i`l=|`Jnf n fĸ|-W|=@f|+f`=|`"=|`=|`Bn``:.BnB.r n*PJEg8?HnrN\O-@\|mJFg~J\W|J@gJngtB`nJng n / NXO8|mSEJEfJngtJngBRG`f?HnrN\O-@\JFgJ\W|J@g`0.^`0.^`KrR ^fR=| ]g -fBn ]grJg0.|gR|g|g`Bn` U @B@=@B@2.@n"UB@2.@l 0.Rn`=|` -W|=@`B`<<`dH <Є @B@|g n / NXO8|l`*` (*)don : Automatic display on. After each operation the result is shown. Parameter : 0 : display off (same as doff) 1 : Average bitplane (2x2 neighbourhood). 2 : Sample bitplane 3/4: Multiple low/high bitplane display. $,$filter : 3x3 rotation symmetric filter. central:cc, diagonal:cd, hori/verti:chv. out = filter(in) * (mul/1024) + add cmd : filter in, out, cd, chv, cc, mul, add dflt: filter A, B , 0 , -1 , 4 ,2048, 0 range: ,<-/+1000>,<10000><-+255> $prtfld.oH`NVH&n(n *n.8.BE/ NXO< -fz ng no<.Fl8:FJDfJFgJJnf0JDg,JFg Jg .0fBSF/ H?N\O`.SD`JFgJf`.SD`0L8N^NuJgRF`__prtfld_strlen invert : inverts a bitplane. A white pixel (value '1') becomes black (value '0') and opposite. command : invert bitplane, im default : invert 1 , B range : <1,8> , H|0SEg Jm<mS`°|ag|bg|fg|ngv|rgh|tgZ|vgL|xfBD:<0SEJ@g0RH?N>/<N\OJm 0@HC8`S`H `@ `8 `0 `( ` ``` B .L8N^Nu_ctlcnv_toupper__numstr_strpos ltoa.oH`bNVH&.&n 8.(KH//NPOм @H//NPO&JbB/ NXOLN^NuNVH&.&n (KJl - D&?./ /a label : labels connected components within a binary image. Maximum number of labels is 255. command : in-image,out-image,bit-in,conn default : B , A , 1 , 8 range : , ,<1-8><4,6,8> 4atol.oH`8NVH&nvxHHм @B@|gR` -fPxRHHм @B@|g /< /NPOH|0HЁ&`Jg DLN^Nu ` +fR`NV/.ajN^Nu_atol_atoi__ctypelmulstrtol.oH`&bNVH&nvx0.H*/<HnNPOHHм @B@|gR` -f*xRJf 0f0RHHм @B@|gH @ |XfRzA0.HBHHм @B@|g\H @ ?HnN\O(@lmin : computes a minimum image for a local neighbourhood. The (neighbourhood) size is an odd value between 1 and 63. command : lmin in-image, out-image, size default : lmin A , B , 3 range : , , <1,63> 0f0RHHм @B@|gH @ |XfRxA0.HBHHм @B@|gRH @ ?HnN\O(@g//NPOA" Ё&R`J g n LN^NuH`x`~H`jfl 0fdAHHм @B@|gAH @ |Xf4T`.AH`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_strtol_strtoul_strcpy__ctype_strchrlmullmulu$,LOGGING. It is set on by selecting 'LOGGING' in the menu. A checkmark is displayed when logging is on. Selecting logging again closes the logfile. In this way automatically command files can be created. $4chdir.oH`"*NV/.?<;N309N^Nu_chdir_gemdos_errno mkdir.oH`"*NV/.?<9N309N^Nu_mkdir_gemdos_errno rmdir.oH`"*NV/.?<:N309N^Nu_rmdir_gemdos_errno remove.oH`"*NV/.?<AN309N^Nu_remove_gA commandfile consists of a sequence of AIM commands. A commandfile may be called within another commandfile. @filename starts the commandfile filename.AIM Parameter -1: infinite repetition. Examples are @demo1 to @demo7. lseek.oH`H8NV/?.?./. ?<BN &Jl3 &N^NuNV?<B?.aN^Nu_lseek_tell4_gemdos_errnoread.oH,`l8NV//. p0./?.?<?N &Jl30&N^NuNV//. /.?.?<?N &Jl3 &N^Nu_read_lread8_gemdos_errnowrite.oH,`l8NV//. p0./?.?<@N &Jl30&N^NuNV//. /.?.?<@N &Jl3 &N^Nu_write_lwrite8_gemdosCOMMAND WINDOW. The command can be edited by BS or DEL which deletes the last character, and CONTROL-X which deletes the whole line.  ~`*NVH&n6. 8.(nKCo:<0F@>@HЋ @:0@HЋ @0@HЋ"@20@HЋ @0Flb/ 0@HЋ/NPOJ@oSF`0@HЋ @0@HЋ"@2Fl/ 0@HЋ/NPOJ@nRE`0@HЋ @0@HЋ"@2`0@HЋ @00C2EAl/ 0S@??/ a 0R@6`(/ ?0R@?/ a 0S@8` L8N^NuNVH&n6. 8.(nKCo:<0F@>@HЋ @*0@HЋ @0@HЋ"@"0@HЋ @ Flb/ 0@HЋ/NPOJ@oSF`0@HЋ @0@HЋ"@"Fl/ 0@HЋ/NPOJ@nRE`0@HЋ @0@HЋ"@"`0@HЋ @ 0C2EAl/ 0S@??/ a 0R@6`(/ ?0R@?/ a 0S@8` L8N^NuNVH&n6. 8.:.(n*yCo<>0G@HЋ*@ 9g?/ /9N 0HЋg?0HЋ// N 0HЋg?/90HЋ/N *yGl/ 0HЋ/NPOJ@oSG`0HЋ2Hҋg ?0HЋ/0HЋ/N Gl/ 0HЋ/Npropag: extends objects within a mask. A pixel of an extension layer is added if the mask pixel is white. cmd : propag # iter,bit,maskb,conn,edge,im dflt: propag 1 , 1 , 2 , 6 , 0 , B range: <1,512><1,8><1,8><4,6,8><0,2> g/.aA 9fB` nf/.0. S@?Bg/.a`/.?.0. S@?Bg/.a`__qbuf_qsort_memcpy AIM : ATARI IMAGE MANAGER The image processing program AIM 2.3 for the ATARI ST has been developed by Frans Groen and Robert de Vries of the Delft University of Technology. Frans is a scientific staff member of of the section "Pattern Recognition" of the vakgroep Signal / System Techniques (ST), Robert is a student of another section of the same vakgroep. AIM runs in high-resolution and low-resolution mode. The medium-resolution mode is not supported. AIM has been written in the C-language using the Lattice C-compiler. The purpose of the program is to experiment with digital image processing. User interface The user interface of AIM consists of: -GEM interface. Operations and parameters can be selected by means of dialog boxes and drop-down menus. A choice from a menu results in a command which is passed to the command interpreter. Image displays can be moved and sized. -Command interpreter. Sequences of commands can be put together in a command file. When the logging is on, commands which are entered are also stored in a log command file. A command file may be called within another command file up to 16 levels deep. Images in AIM Four image memories are available in AIM 2.3. The image memories are 8 bit wide and have a maximum size of 65536 pixels. Standard aim images have a the size of 256 x 256 pixels. These image memories are displayed at the ATARI screen. The windows are designated with 'A', 'B', 'C' and 'D'. The position of the windows is obtained from a setup file. Image windows can be moved and sized. A colour image consists of 4 memories with a maximum of 16384 pixels respectively for the intensity, red, green and blue sub-images. This maximum size is the result from the current 1M byte memory restriction of the Atari ST. When the memory increases, larger colour images could be supported. Standard aim colour images have a size of 4 times 128 x 128 pixels. They occupy the same area as an grey-value image of size 256 x 256. Most of the (colour) image operations are applied to all sub-images of a colour image. Some image operations (gradx, grady, equal ) are performed on the intensity sub-image of a colour image. After such an operation the red, green and blue colour values are updated according to the new intensity value. The 8 bitplanes of the grey-value images can also be used as 8 binary images. Binary and Cellular Logic operations can be performed on these bitplanes. The bitplanes are numbered from 1 to 8. When an image is read from disk all 8 bitplanes are read simultaneously. The same holds when an image is written to disk. An image is displayed in the grey-value mode when the extension is .IM and in color mode when the extension is .COL. The display of color images is only supported in the low-resolution mode. Also DEGAS and Neochrome images can be read or written. With the read command these pictures are converted to 320 x 200 grey-value images. With the cread command they are converted to colour images of size 160 x 100. When the extension is .PI1 or .PI3 a DEGAS file is read or written, when the extension is .NEO a neochrome file is read or written. Examples are given in @democ4. Great care should be taken by storing images in degas or neochrome format. In these formats a limited number of grey values or colours is used (palette), so a drastic reduction of information takes place, which limits the possibility of further image processing. Images are stored in full grey or colour resolution in the AIM format. In the high resolution mode a standard grey-value image is represented by 256 x 256 black and white dots. (there are only 2 grey values possible: white and black). A sigma-delta technique is used to obtain a local density of the dots representing as good as possible the grey-values in the image. In a binary display 0 gives a black dot and 1 a white dot. In the low resolution mode a standard grey-value image is represented by 128 x 128 pixels in 8 grey-values. Again a sigma-delta technique is used to represent as good as possible the original 256 grey values. As the standard images have a size of 256 x 256 pixels, in the low-resolution mode only 1 pixel out of each 2x2 pixel neighbourhood is displayed. In the default binary low-resolution mode (don 1) a black dot is displayed when all pixels of a 2x2 neighbourhood are '0' and a white dot is displayed when all pixels in a 2x2 neighbourhood are '1'. In all other cases a grey dot is displayed. A standard color image is displayed in 128 x 128 pixels with 16 different colors. An optimum palette is chosen for the currently displayed image. So the palettes of other images are no longer correct. The palette of the image which is on top is displayed. Clicking on another window brings it on top with the correct palette. Standard grey-value images on disk (extension .IM) consist of 256 lines of 256 pixels (unsigned characters) of 1 byte. So an image consists of 65536 bytes in total. The sequence is line by line from top left to bottom right. Standard color images on disk (extension .COL) consist of a sequence of 4 sub-images of 128 lines of 128 pixels (unsigned characters) of 1 byte. The sub-images are intensity, red, green and blue respectively. When an image does not have a standard format a header is needed (extension .HD), describing the image width and height. The header used is the header of the Centre for Image Processing Delft and is given in the Appendix. When an image is written in the AIM format always a header is written. Command interpreter It is not necessary to give the complete command name. The smallest number of letters which gives no ambiguity is sufficient. It is possible to edit your commands in a simple way. The delete- or backspace-key delete the last character. CONTROL-X deletes the whole line. A sequence of commands which perform a certain operation may be grouped to a command file and stored on disk. The extension of command files is .AIM. When the logging is on all the entered commands are stored. When the logging is switched off a log command file is written to disc. Command files are executed by typing @name (without the extension). A new command file can be called from a command file and may be nested up to 16 levels deep. So typing @command-file-name instead of a command executes the command-file. ESC stops the execution of a commandfile and asks the user to go on or not. Default values are used when a parameter is not given. When an erroneous value of a parameter is given, the command interpreter asks for a correct value. If in this case a return is given, the default value is used. This gives the possibility to ask for a parameter value when a command-file is executed, instead of using a fixed value. In the commandfile for instance a question mark (?) can be used instead of the parameter value to obtain this feature. A question mark (?) instead of a command gives a list of all available commands. A star (*) indicates that the remainder of the commandline consists of comments. GEM-INTERFACE Operations marked with a star (*) are only available in the command interpreter. Dialog boxes Parameters are entered in the dialog boxes by first pushing the ESC button to delete the default value and to go to the first position. Only at the first position minus signs are allowed. There are two special dialog-boxes. One is for the threshold command. The default threshold value is computed each time a new input-image is selected. The other special box is for the palette. If a color is chosen the color coefficients are shown in the editable text line underneath. If the coefficients are changed and any other color-box is clicked the effect of the changes are visible. The three coefficients represent the red, green and blue, and may vary from 0 to 7. Higher values are cast to 7. OPERATIONS IN AIM FILE OPERATIONS readf[ile]: reads an image from disk. The first command parameter is the image name, the second optional parameter is the image memory (A,B,C,D). Default is image memory A. The extension of an grey-value image file is .IM. Available standard images are : TRUI.IM, CERMET.IM, TUD.IM and ASBEST.IM. When no extension is given .IM is assumed. (When the extension is .COL a colour image is read in). When no header file is present a standard image size is assumed, otherwise the description from the header file is used. When the extension is .PI1 or .PI3 a DEGAS file is converted to a grey- value image of 320 x 200 pixels. When the extension is .NEO a neochrome file is converted to a grey-value image of 320 x 200 pixels. command : readf image-file, image default : readf trui , A range : - , creadf[ile]: reads a colour image from disk. The first command parameter is the image name, the second optional parameter is the image memory (A,B,C,D). Default is image memory A. The extension of a color image is .COL. Available color images are : MANDRIL.COL, MAID.COL, GIRL.COL and ARLES.COL. When no extension is given .COL is assumed. (When the extension is .IM a grey-value image is read in). When no header file is present a standard image size is assumed. otherwise the description from the header file is used. When the extension is .PI1 a DEGAS file is converted to a colour image of 160 x 100 pixels. When the extension is .NEO a neochrome file is converted to a colour image of 160 x 100 pixels. command : creadf image-file, image default : creadf mandril , A range : - , writf[ile]: writes an image to disk. The first command parameter is the image memory (A,B,C,D). The second parameter is the name of the image-file. When no extension is given .IM is assumed. Besides the image file also a header file is written (extension .HD). The header structure is given in the Appendix. When the extension is .PI1 or .PI3 a DEGAS file is written. When the extension is .NEO a neochrome file is written. command : writf image, image-file default : writf A , dummy range : , load setup This command loads a setup file. The setup file describes the path of the image files (read/write), the commandfiles, the helpfiles, the aspect and align-flags and the position of the windows. save setup This command saves the current settings (paths and window positions) in a setup files. Macro : selects and starts a commandfile. @filename is a command file. An @ starts the command file. Command files may be nested up to 16 levels. An example is given in @demo. The extension of command files is .AIM. These extensions are added to the command file name by AIM. When infinite = -1 the commandfile is infinitely repeated. command : @name.AIM,infinite default : - , 0 range : - , <-1,0> Logging When the logging is on all entered commands are stored. When the logging is switched off, the stored commands are written in a log file. In this way automatically command files can be created. exit : ends the program. This action can also be obtained by typing Control-C or by clicking the close-box of the command-window. command : exit ARITHMETIC GREY-VALUE OPERATIONS copy : copies an image. The command parameters are the input image and the output image (A,B,C,D). command : copy input-image , output-image default : copy A , B range : , add : adds two images. The first command parameter is the input-image. The second parameter is the output-image to which the input-image is added. output-image = (input-image + output-image )/2 command : add input-image , output-image default : add A , B range : , sub : subtracts two images. The first parameter is the input-image. The second parameter is the output-image from which the input-image is subtracted. The third parameter is a constant which can be added to the image. As the image cannot become negative, the resulting value is clipped below 0 and above 255. output-image = (output-image - input-image ) + constant command : sub input-image , output-image , constant default : sub A , B , 0 range : , , <-255,255> mul : multiplies two images. The output-image (second parameter) is multiplied by the input-image (first parameter). output-image = (input-image * output-image )/256 command : mul input-image , output-image default : mul A , B range : , div : divides two images. The output-image (second parameter) is divided by the input-image (first parameter). output-image = (output-image / input-image ) command : div input-image , output-image default : div A , B range : , (*) minimum : minimum of two images. The output-image (second parameter) is the minimum of the output-image and the input-image (first parameter). output-image = minimum (input-image, output-image ) command : minimum input-image , output-image default : minimum A , B range : , (*) maximum : maximum of two images. The output-image (second parameter) is the maximum of the output-image and the input-image (first parameter). output-image = maximum (input-image, output-image ) command : maximum input-image , output-image default : maximum A , B range : , (*) mindev : take input value with minimum deviation. The output pixel value is that value of one of the two input images, that differs the least from the output pixel value. if |output value - input1 value| < |output value - input2 value| output = input1 else output = input2 command : mindev input1-image , input2-image, output-image default : mindev A , B , C range : , , cadd : adds a constant to an image. The first command parameter is the image. The second parameter is the constant which is added to the image. command : cadd image , constant default : cadd A , 0 range : , <-255,255> cmul : multiplies an image by a constant. The first command parameter is the image. The second parameter is the multiplication constant. command : cmul image , constant default : cmul A , 1 range : , <-255,255> cdiv : divides an image by a constant. The first command parameter is the image. The second parameter is the division constant. command : cdiv image , constant default : cdiv A , 1 range : , <-255,255> GREY-VALUE FILTERS A pixel value in the output image is determined by the value of the pixel in the input image together with the pixel values in a local neighbourhood around the pixel. Both linear and non-linear operations can be applied to such a neighbourhood. LINEAR A linear filter can be realized by multiplying a pixel and its neighbour- hood by coefficients. The result is the sum of these multiplications and is called a convolution. Examples of linear filters are the 'laplace' and 'gradient' filters. In AIM the size of linear filters is limited to a 3x3 neighbourhood. 'Filter' is a rotation-symmetrical 3x3 filter of which the coefficients can be specified by the user. In the the 'laplace' and 'gradient' filters the coefficients are fixed. The coefficients are : -1 0 -1 -1 -2 -1 0 -1 0 cd chv cd -2 0 -2 0 0 0 -1 5 -1 chv cc chv -1 0 -1 -1 -2 -1 0 -1 0 cd chv cd x-gradient y-gradient laplace filter laplace : linear filter for image enhancement. The first command parameter is the input-image and the second parameter is the output-image. Defaults are: A for the input-image and B for the output-image. command : laplace input-image , output-image default : laplace A , B range : , gradx : horizontal gradient filter. The first parameter is the input-image (default A) and the second parameter is the output-image (default B). The output-image may be multiplied by a factor (multiply/1024) and a constant (add) may be added to the result. output-image = gradx(input-image ) * (multiply / 1024) + add command : gradx input-image , output-image , multiply, add default : gradx A , B , 1024 , 128 range : , ,<1-10000>,<-255-255> grady : vertical gradient filter. The first parameter is the input-image (default A) and the second parameter is the output-image (default B). The output-image may be multiplied by a factor (multiply/1024) and a constant (add) may be added to the result. output-image = grady(input-image ) * (multiply / 1024) + add command : grady input-image , output-image , multiply, add default : grady A , B , 1024 , 128 range : , ,<1-10000>,<-255-255> filter : 3x3 rotation-symmetrical filter. This filter performs a general 3x3 rotation-symmetrical convolution. Parameters are the input-image, the output-image and the 3 different coefficients in a 3x3 neighbourhood. The coefficient of the central pixel is cc, the coefficients of the horizontal and vertical neighbours are chv and the coefficients of the diagonal neighbours are cd. The result may be multiplied by a factor (multiply / 1024) and a constant (add) may be added to the result. output-image = filter(input-image ) * (multiply/1024) + add command : filter input-image, output-image, cd, chv, cc, multiply, add default : filter A , B , 0 , -1 , 4 , 2048 , 0 range : , , <-/+1000> , <10000> ,<-+255> unif : uniform filter. This filter determines for each pixel the average of a local neighbourhood in the input-image. This average becomes the pixel value in the output- image. The first parameter is the input-image, the second parameter is the output-image. The third parameter is the size of the local neighbourhood. This size is an odd value between 1 and 63. command : unif input-image ,output-image , neighbourhood size default : unif A , B , 3 range : , , <1,63> NON-LINEAR Non-linear filters perform image operations which are impossible with linear filters. Noise can be suppressed with a non-linear filter without deteriorating edges in an image. Only the median filter, the minimum and the maximum filter are implemented in AIM. medi : median filter. The median filter determines for each pixel the median (the middle) value of a local (3x3) neighbourhood in the input-image. This median value becomes the pixel value in the output-image. This filter suppresses noise. The first parameter is the input-image, the second parameter is the output-image. command : medi input-image ,output-image default : medi A , B range : , lmin : local minimum filter. The minimum filter determines for each pixel the minimum of a local neighbourhood in the input-image. This minimum becomes the pixel value in the output-image. This operation results in an extension of the dark parts in an image. This operation is also called grey-value erosion. The first parameter is the input-image, the second parameter is the output-image. The third parameter is the size of the local neighbourhood. This size is an odd value between 1 and 63. The operation is illustrated in @demo5 and @demo7. command : lmin input-image ,output-image , neighbourhood size default : lmin A , B , 3 range : , , <1,63> lmax : local maximum filter. The maximum filter determines for each pixel the maximum of a local neighbourhood in the input-image. This maximum becomes the pixel value in the output-image. This operation results in an extension of the bright parts of an image. This operation is also called grey-value dilation. The first parameter is the input-image, the second parameter is the output-image. The third parameter is the size of the local neighbourhood. This size is an odd value between 1 and 63. command : lmax input-image ,output-image , neighbourhood size. default : lmax A , B , 3 range : , , <1,63> (*)hara : non-linear edge filter. The filter hara performs a variant (Lucas van Vliet) of the 3x3 Lee- Haralick edge filter (Patt. Rec. Conf., Paris '86). This filter is based upon the weighted difference between the original image and the local minimum and local maximum filtered images. The first command parameter is the input-image and the second parameter is the output-image. Defaults are: A for the input-image and B for the output-image. command : hara input-image , output-image default : hara A , B range : , (*)have : non-linear laplace like filter. The filter have performs a non-linear laplace like-like operation inspired by the 3x3 Lee- Haralick edge filter (Patt. Rec. Conf., Paris '86). Adding the have result to the original gives sharpening as in the linear laplace filter. This filter is based upon the weighted difference between the original image and the local minimum and local maximum filtered images. The first command parameter is the input-image and the second parameter is the output-image. Defaults are: A for the input-image and B for the output-image. command : have input-image , output-image default : have A , B range : , equal(ization) : histogram equalization. This operation reassigns the grey-values in an image and results in an "optimum" use of the available grey-values. The grey-value histogram of the output image is as flat as possible (given the necessary requantiza- tion). An example is given in @demo1. command : equal input-image , output-image default : equal A , B range : , thresh[olding]: transforms a grey-value image in a binary image. The binary image is obtained by thresholding the input image. After thresholding binary image operations may be applied. Pixels with a grey- value above the threshold get the binary value '1' and thus become white. Pixels with a grey-value below the threshold get the binary value '0' and become black. The default value of the threshold is obtained from the grey-value histogram with the method of Ridler & Calvert. command : thresh input-image , output-image , bitplane, threshold default : thresh A , B , 1 , automatic range : , , <1,8> , <0,255> CELLULAR LOGIC (BINARY) OPERATIONS These operations can be applied to the 8 bitplanes of an image. The bitplanes are numbered from 1 to 8. A black pixel has the value '0', a white pixel has the value '1'. The edge value of the image can be set to '0' or '1' in all operations. The default value of the image edge is black (0). The given number of iterations is a maximum. The iterations stop when no changes in the pixel values occur anymore. The number of iterations is shown in that case. erosion : erodes white objects. One layer of the white objects is peeled off in each iteration. White objects which are smaller than the number of iterations * 2 will disappear. The connectivity determines which white pixels belong to a layer to be peeled off. When the connectivity is 4 this layer consists of those white pixels that have a horizontal or vertical black neighbour. When the connectivity is 8 a layer consists of those white pixels that have a horizontal, vertical or diagonal black neighbour. When the connectivity is 6 for the odd iterations a 4-connectivity is used and for the even iterations an 8-connectivity is used. The erosion is illustrated in @demo6. command : erosion #iterations , bitplane, connectivity, edge ,image default : erosion 1 , 1 , 6 , 0 , B range : <1,512> , <1,8> , <4,6,8> , <0,1>, dilation : extends white objects. One layer is added to the white objects in each iteration. Black parts such as holes which are smaller than the number of iterations * 2 will disappear. The connectivity determines which black pixels belong to a layer to be added. When the connectivity is 4 this layer consists of those white pixels that have a horizontal or vertical white neighbour. When the connectivity is 8 a layer consists of those black pixels that have a horizontal, vertical or diagonal white neighbour. When the connectivity is 6 for the odd iterations a 4-connectivity is used and for the even iterations an 8-connectivity is used. command : dilation #iterations, bitplane, connectivity, edge, image default : dilation 1 , 1 , 6 , 0 , B range : <1,512> , <1,8> , <4,6,8> ,<0,1>, propag[ation]: dilates a bitplane under a mask. The propagation strongly resembles the dilation. However, the black pixels are only added when they are white (1) in the mask bitplane. The propagation can be used to find the original shapes of objects which remained after a number of erosion iterations. This application is also shown in @demo6. The first parameter is the number of iterations. The second parameter is the bitplane of which the dilation takes place (seed bitplane). The third parameter is the mask bitplane. The other parameters are again the connectivity and the image edge value. When the edge value is 0 only the seed bitplane is propagated. When the edge value is 1 only the edge is propagated and when the edge value is 2 both the edge and the seed bitplane are propagated. command : propag #iterations,bitplane,maskbitplane,connectiv, edge,image default : propag 1 , 1 , 2 , 6 , 0 , A range : <1,512> , <1,8> , <1,8> , <4,6,8> ,<0,2>, skelet : skeleton with endpixels. The skeleton is an 1 pixel thick line in the middle of white objects. The skeleton operation resembles the erosion, but in this case pixels of a layer are only deleted, when their deletion does not change the topology of the image. (They are not break pixels). An additional restriction is that a pixel may not be deleted at the end of a skeleton(line). The number of iterations must be sufficiently large to find the complete skeleton (the biggest diameter of the white objects divided by 2). The operation stops when the number of iterations is reached or when no pixels change anymore. An example is given in @demo3. command : skelet #iterations , bitplane, edge value, image default : skelet 100 , 1 , 0 , B range : <1,512> , <1,8> , <0,1> , -skelet : skeleton without endpixels The skeleton without endpixels is the same as the previous skeleton operation, but endpixels may be deleted in this case. Solid objects will result in single pixels and holes in objects will result in rings. This is illustrated by the skeleton of the background (exo-skeleton) in @demo4. command : -skelet #iterations , bitplane, edge value, image default : -skelet 100 , 1 , 0 , B range : <1,512> , <1,8> , <0,1> , contour : determines the contours of objects. The result is the edges of white objects. This means all white pixels with one or more black neighbours. command : contour bitplane, edge value, image default : contour 1 , 0 , B range : <1,8> , <0,1> , majority : performs a majority voting. The central pixel of a 3x3 neighbourhood becomes black or white depending upon the majority of the neighbourhood. command : majority bitplane, edge value, image default : majority 1 , 0 , B range : <1,8> , <0,1> , remove[noise]: removes pepper and salt noise. A white pixel in a complete black 3x3 neighbourhood becomes black. A black pixel in a complete white 3x3 neighbourhood becomes white. command : remove bitplane, edge value, image default : remove 1 , 0 , B range : <1,8> , <0,1> , life : game of life The well-known game of life is also a cellular logic operation ! command : life #iterations , bitplane, edge value, image default : life 1 , 1 , 0 , B range : <1,512> , <1,8> , <0,1> , SPECIAL LINEFIGURE PIXELS sinpix[els] : determines isolated white pixels These white pixels have no white neighbour in a 3x3 neighbourhood. command : sinpix bitplane, edge value, image default : sinpix 1 , 0 , B range : <1,8> , <0,1> , endpix[els]: determines endpixels of a linefigure. These white pixels have only one white neighbour in a 3x3 neighbourhood. command : endpix bitplane, edge value, image default : endpix 1 , 0 , B range : <1,8> , <0,1> , linkpix[els]: determines white pixels with two white neighbours. These white pixels have two white neighbours in a 3x3 neighbourhood. command : linkpix bitplane, edge value, image default : linkpix 1 , 0 , B range : <1,8> , <0,1> , vertices: determines the vertices in a linefigure. These white pixels have more than two white neighbours in a 3x3 neighbourhood. command : vertices bitplane, edge value, image default : vertices 1 , 0 , B range : <1,8> , <0,1> , BIT OPERATIONS bcopy : copies a bitplane. The command parameters are the input-bitplane and the output-bitplane. command : bcopy input-bitplane,output-bitplane,input-image,output-image default : bcopy 1 , 3 , B , B range : <1,8> , <1,8> , , and : AND-function of two bitplanes. The command parameters are the input-bitplanes of which the AND- function is taken and the output-bitplane. command : and bitplane in 1 , bitplane in 2 , bitplane out, image default : and 1 , 2 , 2 , B range : <1,8> , <1,8> , <1,8> , or : OR-function of two bitplanes The command parameters are the input-bitplanes of which the OR- function is taken and the output-bitplane. command : or bitplane in 1 , bitplane in 2 , bitplane out, image default : or 1 , 2 , 2 , B range : <1,8> , <1,8> , <1,8> , exor : EXOR-function of two bitplanes The command parameters are the input-bitplanes of which the EXOR-function is taken and the output-bitplane. command : exor bitplane in 1 , bitplane in 2 , bitplane out, image default : exor 1 , 2 , 2 , B range : <1,8> , <1,8> , <1,8> , invert : inverts a bitplane The first command parameter is the bitplane. The second command parameter is the image. command : invert bitplane, image default : invert 1 , B range : <1,8> , set : sets a bitplane, so makes it white (1). The first command parameter is the bitplane. The second command parameter is the image command : set bitplane, image default : set 1 , B range : <1,8> , reset : resets a bitplane, so makes it black (0). The first command parameter is the bitplane. The second command parameter is the image. command : reset bitplane, image default : reset 1 , B range : <1,8> , label : labels connected components. This command labels the connected components within a binary image. The maximum number of labels is 255. (In low resolution the best display is obtained by: don,3 followed by bdisp.) command : input-image, output-image, input bitplane, connectivity default : B , A , 1 , 8 range : , , <1-8> , <4,6,8> UTILITIES (*)don : Automatic display on When the automatic display is on, after each operation the result is shown. An optional parameter gives the type of display in the low-resolution mode. An example is given in @democ5. 0 : display off (same as doff) 1 : When all pixels of a 2x2 neighbourhood in the original bitplane are '0' a black dot is displayed. When all pixels of a 2x2 neighbourhood in the bitplane are '1' a white dot is displayed. In all other cases a grey dot is displayed. 2 : The bitplane is sampled depending upon the GEM window size. When the first pixel of a sample region is '0' a black dot is displayed. When the first pixel is '1' a white dot is displayed. 3 : Multiple bitplane display. Bitplanes are sampled depending upon the GEM windowsize. Bitplane 1 is displayed in red, bitplane 2 in blue and bitplane 3 in green. When all three lowest bitplanes are '0', the 3 highest bitplanes are shown as grey-value. 4 : Multiple bitplane display. Bitplanes are sampled depending upon the GEM windowsize. Bitplane 8 is displayed in red, bitplane 7 is displayed in blue and bitplane 6 is displayed in green. command : don, display_type default : don, 1 range : don, < 0,4> (*)doff : Automatic display off When the automatic display is off, only an image is displayed after a gdisp or bdisp command. command : doff (*)ton : Timer on The execution time of each command is displayed when the timer is on. command : ton (*)toff : Timer off Sets timer off. command : toff gdisp : Grey-value / color display of an image. This routine displays a grey-value image as 256x256 black or white dots in high resolution. In low resolution 128 x 128 pixels of 8 grey-values are displayed. Images are always displayed with maximum contrast. When the image is a color image it is displayed in color in the low resolution mode. Parameter is the image (A to D). command : gdisp image default : gdisp A range : bdisp : Displays one of the 8 bitplanes of an image. First command parameter is the image (default A). Second parameter is the bitplane (default 1). In high resolution black or white pixels are displayed. The type of display in low resolution is determined by the (optional) don parameter. command : bdisp image,bitplane default : bdisp A , 1 range : , <1,8> hist : calculates the histogram of an image. The histogram is displayed in overlay in the appropriate image window (A to D). A threshold is calculated from the histogram to segment the image ( for the thresh command). The command parameter is the image (default A). command : hist image default : hist A range : Palette : Change the palette interactively. This option is only supported in the low-resolution mode. Preferences: Change preferences. When the image windows are sized, the aspects ratio can be preserved or not. The images can be aligned to byte boundaries or not. help : gives help information. command : help command APPENDIX : File header structure /* call the headerfile *.hd, this file contains the structure with all parameters of the corresponding image file *.im. */ typedef struct { short *address; /* image_address in memory */ short format; /* format */ short sizex; /* dimension 1 */ short sizey; /* dimension 2 */ short sizez; /* dimension 3 */ unsigned short commsz; /* size of comment in bytes */ short data[16]; /* user image dependent data*/ } HEADER; #define F_WORDS 0 /* format words in the image */ #define F_BYTES 1 /* format bytes in the image */ #define F_FOBIT 2 /* four bits image, packed in 4 pix/word */ #define F_TWBIT 3 /* two bits image, packed in 8 pix/word */ #define F_SBITS 4 /* format single bits in the image */ ACKNOWLEDGEMENT The following people contributed to AIM: Frans Groen (TUD) : image processing. Robert de Vries (TUD) : GEM interface. Igor Weber (University of Zagreb, YU) : low-resolution and colour display. Gert van Antwerpen (CBD) : lmin, lmax, unif, label Piet Verbeek (TUD) : hara, have filter Lucas van Vliet and : erosion, dilation, propagation, Ben Verwer (TUD) skeleton Jaap Joosten (TUD) : tests and evaluation. Rijswijk, 1 July 1987. Please send remarks and comments to : Frans Groen Applied Physics Department Delft University of Technology Lorentzweg 1 2628 CJ Delft The Netherlands tel (31) 15-781416 =hJyf09,R@"y2)A=@ y=P#~` y#T y0nf 9-@-@`# nJTg& n-hT nB@image A:\SCHEMA.IM macro A:\DEMSHA.AIM help E:\HELP\-SKELET.HLP log E:\DEMO\LOG1.AIM aspect 1 align 1 356 18 282 380 4 18 282 300 46 54 282 300 72 86 282 300 120 126 282 300 ("y2An n0ngBy y0("y2Ag-n`-n nJTg, n-hT n0(@"y2An n0ng n0(@"y2)Ao0 n0(@"y2An33#aN^NuNV y3* y0(@3,Bn`" |*2n"y4niRn n m y3$N y3&P yfD yB@0((HR@3R yB@0(*HR@3T yB@0(,HR@3V`B y>(NH3R y>*NH3T y>,NH3V y>.NH3X y>0NH3Z y>2NH3\ y>4NH3^ y>6NH3` y>8NH3b y>:NH3d y>h y3@j y3Bl y#Dn y#Hr y#Lv y3Pz y3R|3#*N^NuNV y=hJyg #` #~` y#T y0"y`B"o#վ*i,EB&J(JSB  g  g  f RSBj` gn =fa6 n <#` %fa n <#`Rpr A9nA0m/ПЁRSBkB`Jg:NuAՊ`AjrRSBk$  gJ  gB  g:Qp`JBkQB$)ԩ &9f &`nր n&< Ѓй// Bg?<JNAJfV.B#ժ#ծ#ղ#ն#պN"/ / KUj,MNpJg / yNXO??<LNA` /`NVaa HydNX oV n /(/9*N&PJg.HyNX n /(NXHyNX`/9*NXHyaXa Ra N^NuNVH p/NBX3S@fHyp/NjPBNFXHy֨N\RXp/NHX#JfHyUN*,X yT"yX$y\/ / //9p/BN&OBn0. @l6H/@ @p/// p//HNBO o 0Rn`Hy8p/NBPNʂ3HyHyHyHyN2O33Bn n l0.RnH @0`3Hy HyHyNO p//N‚PB/<N‚Pp/NX y0H2(H4(H6(H/////</NO3H"9t/A $/ v////v//NɂOJyg*Jyg"=y=y=y=y`r09U@fp`p29HNRHnHnHnHn/rd/r/r//</BNO( y=P0(2(A2.A=@=h09H2.H4.H6.H8.H/////NfO0.H2.H4.H6.HHyHyHyHy/////</x/NO(N 09J@fAe`Ar/NXJf"Hy|p/NjPa&BNFX`HHy$p//N*O 09U@fBpS//9$NǎO p//9$NPp/NBX#09U@f"333(3` 3@3333p333p//<NP# JfHyݡp/NjPBNFXLN^NuNVH-|BBy\09U@fA`A/HnNPB*n g R ` .Tr//NP-@JfHyp/NjPpL N^NuB*n g . n R ` . n / /<N‚PHnNX/.HnN!P-@ @WgJ^g& nBfHnHy/9NyO A#Bj nHHr kfN*`v?``~@`BHnNP @Rp\//-HNPJfFHy HnNPp\/HnNP-@Jg R nB/.HnN6P`/.HnNPHyHnN6P09\H l29\R3\HAn 09\H @:p//p/Hy"BHn/HNO o0Hy0HnNP-@JfH/.Hy3HnNzO Hnp/NjP09\S@3\HAn-P`Hy]p/NjP`09\HJo @:0R@fp///.NO `/.NXp-@j09\S@3\HAn-P`/.NX`rp*//.NP-@Jg @BBHnNPB/./-@N:O -@Jkr NR n"h/.NX`HyއNXJjfHnNX`L N^NuNV0<=@=@=@H3bB . l @*BR`B . lp @*0.H2.H4.H/.v/////HNTDO o Jf(/.HyޘHnNzO Hnp/NjPR`N^NuNVB . l& @*Jg @*/NWXR`J^g/9NXN^Nu09H/NȶX09H/NXBNX09H/NNXN>/9 NXHyp/NBPNuNVN N BNFXN^NuNVx nJf -|p|`-n|p\//.|NPJfFHypHnNPp\/HnNP-@xJg Rx nxB/.|HnN6P`/.|HnNPHyHnN6PHnNoRXN^NuNVp//9/9 /HnN`Or//9/9(BHn-@N`Or//</<Hy/Hn-@NOr//</<HyBHn-@NOr//</<HyBHn-@NO/</<'r/HyBHn-@NOr//</<Hy/Hn-@NO". A*"."A*B//-@NO . @* ."@*/./././././/NXO . @*"Pr#A @*/NXN^NuNVp//9/9 /HnN`Or//9/9(BHn-@N`O". A*-@"@*B//NO . @* ."@*//N[4P . @*"Pr#A @*/NXN^NuNVp//9/9 /HnN`Or//9/9(BHn-@N`O/</<'r/HyBHn-@NO/</</<HyBHn-@NO". A*"."A*B//-@NO . @* ."@*/././/N_O . @*"Pr#A @*/NXN^NuNVp//9/9 /HnN`Or//9/9(BHn-@N`O/</<'r/HyBHn-@NO/</</<HyBHn-@NO". A*"."A*B//-@NO . @* ."@*/././/N]~O . @*"Pr#A @*/NXN^NuNVp//9/9 /HnN`Or//9/9(BHn-@N`Or/r?/r/HyBHn-@NO". A*"."A*B//-@NO . @* ."@*//NmP . @*/./NhP . @*"Pr#A @*/NXN^NuNVp//9/9 /HnN`Or//9/9(BHn-@N`Or/r?/r/HyBHn-@NO". A*"."A*B//-@NO . @* ."@*//NmP . @*/./NaP . @*"Pr#A @*/NXN^NuNVp//9/9 /HnN`Or//9/9(BHn-@N`Or/r?/r/Hy&BHn-@NO". A*"."A*B//-@NO . @* ."@*//NmP . @*/./NdP . @*"Pr#A @*/NXN^NuNVHnHyDHy.BHnNOr\//-@NPJfFHyDHntNPp\/HntNP-@Jg R nB/.HntN6P`/.HntNPp//9/9@/HnN`O-@ @*"@*B//NO p./HntNP-@Jf&Hy:HntN6Pp./HntNP-@pR/Hy>/.-@NO Jgp/HyB/.NO JfBp/HyF/.NO Jgp/HyJ/.NO Jfp-@p/HyN/.NO Jgp/HyR/.NO Jfp-@ . dN``R`(`v . @*BHnt/NO -@`p . @*p/Hnt/N\O -@`H . @*p/Hnt/NO -@` . @*Hnt/N&P-@JgX fHntHyVHnNzO `HntHyjHnNzO HnNXp//N‚P`( . @*"Pr#A @*/NXN^NuNVp//9/9@/HnN`O-@ @*"@*B//NO HnHyߒHy߆BHnNOr\//-@NPJfFHyDHntNPp\/HntNP-@Jg R nB/.HntN6P`/.HntNPp./HntNP-@Jfl . @*"P fHyߘHntN6P . @*"P fHyߜHntN6Pp./HntNP-@pR/Hyߡ/.-@NO Jgp/Hyߥ/.NO JfBp/Hyߩ/.NO Jgp/Hy߭/.NO Jfp-@p/Hy߱/.NO Jgp/Hyߵ/.NO Jfp-@ . dN``R`(`v . @*BHnt/NO -@`p . @*p/Hnt/NO -@`H . @*p/Hnt/NO -@` . @*Hnt/NjP-@JgH fHntHy߹HnNzO `HntHyHnNzO HnNXJZgNlp//N‚PN^NuNVHnHyDHyBHnNOr\//-@NPJfFHyDHntNPp\/HntNP-@Jg R nB/.HntN6P`/.HntNPp//9/9@/HnN`O-@ @*"@*B//NO p./HntNP-@Jf&HyHntN6Pp./HntNP-@pR/Hy/.-@NO Jgp/Hy/.NO JfBp/Hy/.NO Jgp/Hy/.NO Jfp-@ . g g^Jf09J@f( . @*BHnt/NvO -@` . @*BHnt/NO -@`z09J@f( . @*p/Hnt/NvO -@`H . @*p/Hnt/NO -@` . @*Hnt/N&P-@JgX fHntHy HnNzO `HntHyHnNzO HnNXp//N‚P`( . @*"Pr#A @*/NXN^NuNV09XH3Xr//9/9@/Hn-@N`O-@ @*"Pr#A @*"@*B//NO . @*/NX .3XN^NuNV09XH-@Jf3Xp//9/9@/HnN`O-@ @*"Pp/p/p/Hy:BHn/INOS o!@ . @*"@*B//NO . @*/NX .3XN^NuNVp//9/9 /HnN`Or//9/9(BHn-@N`O". A*/-@NPlX/-@NRX3b/.NXjXp/p/p/HyKBHnNO29bH//<t/HyW/Hn=@NOSn". A*"P4.H#B$. B*"A*B//=@NO . @* ."@*0.H2.H////NSO . @*/NXN^NuNVp//9/9@/HnN`O-@ @*"@*B//NO . @*/NPlX". A*//-@NP/.NRX3bH/HydHnNzO HnNX/.NXjXp//N‚PJZgNlN^NuNVH0p//<p/Hyv/HnNO3p/p/p/HyBHnNO3p/p/p/HyBHnNO3p/p/p/Hy/HnNO3p//9/9@BHnN`O29HStd-@ @*"P#A @*"@*B//NO . @*"Pr9d49H69H89H @*$P @*&P/+/*/////NO#t09H"9tl"/HyHnNzO HnNX . @*/NXL N^NuNVH0p//<p/Hy/HnNO3p/p/p/HyBHnNO3p/p/p/HyBHnNO3p/p/p/Hy/HnNO3p//9/9@BHnN`O29HStd-@ @*"P#A @*"@*B//NO . @*"Pr9d49H69H89H @*$P @*&P/+/*/////N$O#t09H"9tl"/HyHnNzO HnNX . @*/NXL N^NuNVH 0p//<p/HyH/HnNO3p/p/p/Hy^BHnNO3p/p/p/HylBHnNO3p/p/p/Hy{BHnNO3p/p/p/Hy/HnNO3p//9/9@BHnN`O29HStd49HSve-@ @*"P#A @*"@*B//NO . @*"Pr9dt9e69H89H:9H @*$P @*&P/+/*//////N^O #t09H"9tl"/HyHnNzO HnNX . @*/NXL 0N^NuNVHpd//<p/Hy/HnNO3p/p/p/HyBHnNO3p/p/p/Hy/HnNO3p//9/9@BHnN`O29H/AStd"/t"/Rv-@ @*"P") @*"P )=AH=@ rNR2.HNR/BCNHX2.H-@ rNR2.HNR/NHX-@JgJf pLN^Nu . @*"P29HS#A @*"@*B//NO . @*"P0.H2.Ht.v./././////NO . @*"Pp9dr.t.69H89H:.H<.H////~/////NO$#t09H"9tl"/HyHnNzO HnNX . @*"P0.H2.Ht.v./././////NO/.NX/.NX . @*/NXLN^NuNVHpd//<p/Hy/HnNO3p/p/p/Hy1BHnNO3p/p/p/Hy?/HnNO3p//9/9@BHnN`O29H/A Std"/ t"/ Rv-@ @*"P") @*"P )=AH=@ rNR2.HNR/BCNHX2.H-@ rNR2.HNR/NHX-@JgJf pLpN^Nu . @*"P29HS#A @*"@*B//NO . @*"P0.H2.Ht.v./././////NO . @*"Pp9dr.t.69H89H:.H<.H////B////NO$#t09H"9tl"/HyMHnNzO HnNX . @*"P0.H2.Ht.v./././////NO/.NX/.NX . @*/NXLpN^NuNVp/p/p/HyvBHnNO3p/p/p/Hy/HnNO3p//9/9@BHnN`O29HStd-@ @*"P#A @*"@*B//NO . @*p9d29HHydHypt//B//t//N.<.:.8." H//.adP HrN/@ S"HNR n*H(n / =@SnJnk R H` H=GSnJnk R H` H H=@SnJnk R H`(n =FSnJnkpR nR`B.*nRJfR.`&n H n *H(n S@=@SnJnkd."Hr nSr nRbA`&.fp. n$HRJfR.`RR`L.<.:.8." H//.aP HrN/@ S"HNR n*H(n / =@SnJnk R H` H=GSnJnk R H` H H=@SnJnk R H`(n =FSnJnkpR nR` HS@ n*HSJfS.`&n H n *H(n S@=@SnJnkd."Hr nSr nReA`&.fp. n$HSJfS.`RR`L.<.:. H/aX"H=@ rN/@S"HNR n*H(n (/SDJDk R H` H(SDJDk R H` H H(SDJDk R H` H(n (=@SDJDkp0.rRЁ=@`&n H n *H(n S@(SDJDk>p0.r2./@ HpR"/=ApRҀ=A`p0.r2.L8N^NuNV n ("(-@-Ao .SR". opN^Nu . SgpN^Nu .n .Ю R/NHX-@JfpN^NuB . nlBn .".NR".NR"n Q-H0.RnHg&p//. /././.aO .Ѯ`Bn .".NR".NR"n Q-H0.RnH".g nR//. /././a O`R`2/.NXpN^NuNVH>.<.:. H/@ <"/N=@ /rN/@S"HNR n*H(n (/SDJDk R H` H(SDJDk R H` H H(SDJDk R H` H(n (=@SDJDkp0.rRЁ=@`&n H n *H(n S@(SDJDkDp0.r2./@NR HpR"/=ApRҀ=A`0.L8N^NuNVH>. | GgR` LN^NuNVH n*P n (P~ n d RRR`L0N^NuNVH n*P n (P~ n dR RR`L0N^NuNVH n*P n (P n&P~ n d @RARHHЁRR`L8N^NuNVH n*P n (P n&P~ n d2@RARAn,JFj| Fo<< RR`L8N^NuNVH n*P n (P n&P~ n dpRrRNRRR`L8N^NuNVH n*P n (P n&P~ n d*JgpRrRNR`RRRR`L8N^NuNVH n*P n (P~ n d*pR2.HЁ,JFj| Fo<< RR`L0N^NuNVH n*P n (P~ n d.pR2.HNR,JFj| Fo<< RR`L0N^NuNVH Jnf pL0N^Nu n*P n (P~ n d.pR2.HN,JFj| Fo<< RR`L0N^NuNVH n*P"n (Q/NPlXr @-h.-@-A n쾐l " n"Ӯ R`~ n쾐lH " n,"$ ".N,Jj| o,< " n R` n ("(NR~-@ྮlpR n RR`/.NXjX n f/. /NPL0N^NuNVH n*P n (P n&P~ n ddR`RRRR`L8N^NuNVH n*P n (P n&P~ n ddR`RRRR`L8N^NuNVH n*P n (P n&P~ n d`pr/@r$/-@-BJjD` ./@Jj".D`". /l RRR`RRRR`L8N^NuNVH< n ("($(=@Hv//=A=BNP2.Ht//-@-@NP2.Ht//-@-@NPB-@ . nlP$n2.H4.H NR/A ".NR"n Q-H n"P*I M / (H L&HU.Jorz0.Hl " nBR`z l: Mp nR Lp nR Kp nRR`xz0.Hl " nؐ nR`0.HS* @" n"|@A0.HWlR Mp nS Lp nS Kp nS M.dS. L.dS. K.dS. V Mp nR V Lp nR V Kp nR V M.dR. V L.dR. V K.dR.p. c$r.S/A$ n"/$@A`p. np.А b R.@` T JR`0.H/@ S J / U"J// /./.NNO 0.HѮ n-n$H-H-HS`0.H//./.NNO 0.HѮ//./.NNO 0.H2.H/@ NR".NR"n Q / -H//./-HNNO R`/.NX/.NX/.NXLB(.S Jk Jfp-@`Jf .f S`.R`@R&L .`Jg np".ڲf SS` .".NR/HnHn/./ a0O n n /.-@NX .L<|=@-@Gl "HABPRF`0.SnJ@oRp L0@ K".t L4BB Kr L2A=@HA0R@0R`z ElA8Bn S@=@-H0.SnJ@o$T n0=@Do( A=@`0.H/@Ap0 /R=@H l ABP0.^@=@H l ABP0.P@=@H l ABP0.@ =@H l ABP0.@@=@H l ABP0.@A=@H l ABP0.S@=@HJk ABP0._@=@HJk ABP0.Q@=@HJk ABP0.@ =@HJk ABP0.@@=@HJk ABP0.@A=@HJk ABP "H M2.A4.B8BB4.BBB0RE`L8N^NuNVH *n(n z,. SGJ@o| SFJ@oz SEJ@o0-?@@@(0/@@2/A$&C=A"=@ @@E D$n"n=@H=A=B=CJjD`0.H2.H/@JjD`0.H" /Ё2.H/@JjD`0.H" /Ё2.H Lr0=@=A0.SnJ@o*0.H M0?@@@(0/@@2/A$D&@=@ A=BH=@=A=CJjD`0.H$0.H/BJjD`0.H"/Ҁ0.H/AJjD`0.H"/Ҁ=AnlN=n=n=n0.H L0=A`$L0N^NuNVH *n(n Bn0. @lHBv M=Rn`=|0. @l@=@J@j=|0.H L0?@@@*0/@@(0/@><Bn=@0. @lH26JAf26AA46BB66C H=AH=B=CJjD` H2.H"H4.H’/@JjD` H2.H" /Ё2.H4.H’/@JjD`0.H2.H" /Ё,Gl.=nRn`20.H=2.H M0Rn`L0N^NuNVH<*n n ("(4.B// =@=ANvO 0.2.A4.v//-@=ANP2.Ht//-@NP2.Ht//-@NP-@Jg JgJfHyN*,X(n0.H2.H///.NO 0.H2.H///.NO =|/.NQ X2.HHnHn//-@NQO/.NXjXp=@2.@=@=A0. @lNH2.H2.HN.JGj~ Go~0.HA0A 0Rn`HnHn/.aFO Hy8HnaPHnHnaPBn0. @lH nrC0Rn`|(* n0.H/@ -H-H / r-HNR=@0.SnJ@o n0T`-n=|Bn0.ڰnl"n QH/@$"n0&H /$f=n0.SnJ@o0HT K$H HrҀ n0HҀ* =@J@jBn no=|0.HA2AA0@ HR n0T HtԀ n0HԀ( =@=AJ@jBn no=|0.HA2AnA0@ HR n0T HrҀ n0HҀ, =@J@jBn no=|0.HA2nA0@ HR n0T0.HA> g0n: g 0-n;@ g 0-n;@ g 0-n;@0.H=@J@fDP=|`8=n0.SnJ@o0.@=@J@fQ=|U0H K$H HrҀU n0HҀ* =@J@jBn no=|0.HA2AA0@ HR n0 HtԀU n0HԀ( =@=AJ@jBn no=|0.HA2AnA0@ HR n0 HrҀU n0HҀ, =@J@jBn no=|0.HA2nA0@ HR n00.HA> g0n: g 0-n;@ g 0-n;@ gH0-n;@`80.HRn`/.NX/.NX/.NXLJnf(0.H2."H$B//// NO L/NX0.HL.<...(MBn0.FlD" M(HBn0.Gl(Jg LR` LR FRn`Rn`L0N^NuNVH *n>...(M (Bn0.nlR" M(HBn0.Gl6p"f LR F` LR FRn`Rn`L0N^NuNVH<*n.(n<. @J.g..$Lz0."H g]fx0.HS"Hl  MR&H=| HS2.Hl|pr."fZp+Jg,p+Jg H KJg H KJf" REH J 09^@c pL.<.:.Jnf(MxGl LR HFr€RD` HS"HNR M(HxGl LR HFr€RD`(M Hx HS"Hl HFr€$H/BSr€ /RRD`(MxGl LRp"HRD` HS"HNR M(HxGl LRp"HRD`(M Hx HS"Hl.p"H$H/B Sp / RRD`L0N^NuNVH<.*n(n r./A$,2.H4.H/ / //,////.aXO&M=@B=|Bn-@Jng&0.Rnn&dp(=@nd .R K$Pp09^".검cBJgz*Jg0.H JRJg0.H JJg0.H JSJg*Jg0.H JSJg0.H JJg0.H JRJg  LJf F=|*f. .R K"JR p09^".沀cB`0.H JRf* .R"K"p09^".沀cfB`^0.H Jf* .R"K"p09^".沀c*B`"0.H JSf* .R"K"p09^".沀cB`*f. .R K"JS p09^".沀cB`0.H JSf& .R"K"p09^".沀cvB`p0.H Jf& .R"K"p09^".沀c>B`80.H JRf$ .R"K"p09^".沀cBRD`& .".沀e =A` .ꐮr29`=A`L...(n $nB=|0.HSr2.d: MR&Hx HS"d "tāfrt+Ā=AJg=A H KRJg H KJg H KSJg+Jg H KSJg H KJg H KRJgp0. LJf .R J p09^".cBRRD`Rn` .L.<..(n&MxGlRRRD` HS"HNR M&HxGlRRRD` H M&Hx HS"Hl*R H/@SR /RRD`L8N^NuNVH*n>.<..(n&MxGl& LRJg KR` KR FRD` HS"HNR M&HxGl& LRJg KR` KR FRD` H M&Hx HS"HlJ LRJg` F HS LRJg` F HRRD`L8N^NuNVH<.. n(P ("(NR L&H n $P*Ld&Jg JR` JR FR`L<0.nlT;|JGgB0.Rnnl40HT L.Jf0-G;@0-G;@0G: O`P><`Rn`X/.NX/.NXL8N^NuNVH<0.Hr//NP2.Ht//-@NP-@JgJfHyN*,X0.B//. NvO n (r."($(=AH6.H///.-@=Ba|O 0.H2.H///.a`O 0.@Bn=@0.nlH n02."n Q(H*n 0.HѮ $nBn<<0.nl;|JFg0.Rnnl0HT L&HzJgRE0.H KRJgREJgRE0.H KJgRE H g0Jf0-F;@0-F;@0F:`0-F;@0F: N`\P<<`@Rn`/.NX/.NXL<nl6JGg* RFnl 0HT L.Jf0G: O`T><`Rn`~/.NX/.NXL8N^NuNV n-hr/p/NBP n0(Hr////r //NɂO . g0 nK"n"R/9// Hy/NzO`* nK"n"/9/ Hy/NzO n0(HJ"t nJ$v////v//NɂON^NuNV"n i=h=h=h-Pp#@09-HJ@f fTB . l nr"@80R`0.H2.H4.H////./.aO n f(0.H2.H4.H////./NO09U@f(0.H2.H4.H////./.aO/.NDX/.aX n0(H/N)XN^NuNVH*n0.HD.|xznl<0.Hހo 0.H܀RD` H2.HmS( "H M0RE`L N^NuNVH<*n n ("(4.Hv//=@=ANP2.Ht//-@NP2.Ht//-@NP-@Jg JgJfHyN*,X0.B// NvO 0.H2.H///.aO 0.H2.H///.aO (n=|/.NPlX2.HHnHn//-@NQO/.NXjX0.2.A=@ @lBn0<=@=@Bn0. @lbH2.HrNR2.HN.JGj~ Go~0.HA0A r/HN o0Rn`0.@&n:.=@ SEJ@o6T`&n<<0.@Bn=@0.ҰnlH/@ n02."n Q$H /f:. SEJ@o0HT Jp2.H2.HЁ2HЁ=@=@J@jBn no=|0.HA>0-F;@ f 0-F;@ f 0-F;@ f0F:0.HA0n0.HR6T Nf><<P`4:. SEJ@o Ff|QU0H Jp2.H2.HЁU2HЁ=@=@J@jBn no=|0.HA>0-F;@ f 0-F;@ f 0-F;@ f0F:0.HA0n0.HR6`80.HRn`/.NX/.NX/.NXL<Bn0.nlH/@ n02."n Q(H / f\<. SFJ@o0HT Lp2.H"HЁ2HЁ*Dn0G:`D HR4T OfT><`<. SFJ@oL GfU~U0H Lp2.H"HЁU2HЁ*Dn0G:`D HR4`0.HRn`/.NX/.NX/.NXL/NHX-@JfpN^Nu </HnT-@NP-@Rfxp.//. NP-@PJgRPp/Hy/.PNO Jgp/Hy/.PNO Jfp n!@0.@2.A=@=A`t np>///.NO /.-@NzX >g/.NXpN^Nu n0(2(4(H n!B=@=A"NR-@0.H n!@0.H!@/.NX n-h09J@f2 f(0.@ n1@0.@1@H1@` n1n0.1@H1@"n i/NX"n i"n0)2)29/@/HUAfr`r /NR/NHX o "n iJfHyN*,Xp n!@!n p\//. NP-@JgR`-n n"p(//./NDO "n Q/.//.-HNO -@䰮g/.NzXpN^Nu/.NzXN^NuNV` n-h -P/. HndNPp./HndNP-@`Jg @BHyHndN6Pp>/NHX-@JfpN^Nu nBXp//. /NDO n1|"n )1@ )1@ )1@Bh </Hnd-@NP-@Rf/.NXpN^Nup>//./.N^O /.-@NzX/.NX >gpN^Nu/./. NP-@RfpN^Nu/././.N^O -@谮g/.NzXpN^Nu/.NzXN^NuNVH <//. -@NP-@Rf pLN^Nup\//. NP-@JgR`-n n"p(//./NDO =|@=|Jf -|}"`-|} n-hp!@0.H!@2.H!A/@NR n!@ 09J@f( / n1@1A0(H1@`$0. n1@1n0(H1@"n i/NX"n i"n0)2)29/@/HUAfr`r /NR/NHX o "n iJfHyN*,X/.NHX-@Jf pLN^Nu/././.NO -@g"/.NzX/.NXpLN^Nu/.NzX n-Pp!@Jf nT-H` nX-HBn0. @l8H n>"AA$&CCCC&CCCC=Rn`Jf n"-H` n-HBn0.nlBn=|0.nlJng0.Rnnlt~ n0(nJ@g n0(nJ@g n0(nJ@g n0nJ@g "H46 nR2.I=A`xP=|`^Rn`@/.NXpLN^NuNVH <//. -@NP-@Rf pLN^Nup\//. NP-@JgR`-n n"p(//./NDO =|@=| f -|}`-|}" n-hp!@0.H!@2.H!A/@NR n!@ 09J@f( / n1@1A0(H1@`$0. n1@1n0(H1@"n i/NX"n i"n0)2)29/@/HUAfr`r /NR/NHX o "n iJfHyN*,X/.NHX-@Jf pLN^Nu/././.NO -@g"/.NzX/.NXpLN^Nu/.NzX"n Q0.B//-HNvO p n!@ g n"-H` n-H0.@2.ABn=@=A0.nlBn=|0.ްnlZJngH0.Rnްnl:~0.HS n2n=@JAfH n 0.H=@`T=|`.g 0.HѮRn`l/.NXpLN^NuNV,H <//. -@NP-@Rf pLN^Nup\//. NP-@JgR`-n n"p(//./NDO =|@=|Jf -|}"`-|}"n ip#@0.H/@#@2.H/A#A$/&//@ /A"-HAL"AA0Al"$BBB0$BBB=AL4B66CCAl6CC=Rn`Jf nH"-HD` nH-HD0.@Bn=@0.ְnl6Bn=|B0.԰nlJnBg0.Rn԰nl~0.HS nD2(nB=@JAg nD0(nBJ@g nD0(nBJ@g nD0nBJ@g0.H n"$Hv86(Hք nv86(Hք nClv8Hք nCLp4HЂ0.BH=@B`PD=|B`.g0.HѮѮѮѮRn`/.HNXpLN^NuNVB f=|=|-|}"Jf=|@=|-|}" f=|@=|-|}/.NHX-@JfpN^NuB/./.NvO Jf n""nT-H-I f n0""nT-H-I f n"nX-H-I n ("(4.H/B&/=@H/@ =A"/N2.H6.H-@ "N-@=B".вoX"/NR=@Hl`0.=@JfHH”-B f80.H2.H-A` 0.H".NR=@ްnl=@ .ѮB . l n"nr0R` n f2 g(0.H2.H4.H////./NfO f*0.H2.H4.H////./.NbO n f2 g(0.H2.H4.H////./NO <//. -@NP-@Rf/.NXpN^Nu/././.N^O -@찮g/.NzX/.NXpN^Nu/.NzX/.NXN^NuNVx/.NXHn|N"PX-@Jf . N^Nu nJf . N^NuHyHn|aP @HH/Hy-@aLPJgp`pN^NuNV/.NXHnN"PX-@Jg @Jf .N^Nu nHH//. aP-@Jg N^NuNVt . ".$O-@ .N^NuNV/. /.aP @-@Jf .N^Nu/.N.X-@mo/./././.aO-@ .N^NuNV/. /.aP @-@Jf .N^NuB/./.aO -@JoN^Nu/././.aO N^NuNV/. /.a*P @-@JgN^Nu/././.aO N^NuNV"n Q-H-HJ f-| nJgB-n nJg,"nRf(BR n .N^NuR` n .N^NuNV n -Ppr-A-@ . n "P-Ig,/./ aJPJg f-n`p-@R`Jk .N^NuJg /. aNX .N^NuNV nJfpN^Nu n R nRf n JfpN^NupN^NuNV09HU29HN2949H=@Ht=|=@=A=B=B0.H n"P-Ig/ NLX/.=@NXRn0.nm\p /NXRnp=@Jnf0.noRn0.nf@Hy!NXNzp /NX=|`0.H @ /NXRn`@Hy+NXN^NuNV-n nJg@-n nHHJg"nHHgR` nJf .N^NuR` .N^NuNVHy-/.aPHn/-@NJP .N^NuNV n-H nJg.f N^NuR`pN^NuNVB n S (Jk "PRp` /. NBX-@ g g nR` nB .N^NuNVbH<"n i=h|=hz=hx-Pj )")=@S@=ASA4.UB=i-i.v-C6.H=@=A=B-Hn g]g ng pL "H n(24.AJBg$"H LR2.nf=E=ERE`l0.nlJfR0.HS n2H n4.H"M-I"n0HR//./-@-HNNO n-n(H-H-H0.no=@`=n0.no=@0.HS n0.R@0=n=n0.nl=@`=n0.nl=@0.HS n0.S@0=n=nRn`0.H2.Hl2.H nS0`0.H n0.S@00.H2.Ho2.H nR0`0.H n0.R@00.nlJf$ n"M0.H// /-H-INNO BfAr/Hnt////p////////////////p!/NO\=@vg0.t@ @fp-@f n vgJfg09XJ@gx09J@f,0.|H2.zH4.xH////.j/.NxO`*0.|H2.zH4.xH////.j/.N|O n0(HHn~/N'PJfgHyGp/NjPSgR`/.NX/.NX n$ p//N‚P .LHn/. arPJg.092. @fHnNrX`0. HHn/aP0. HHnHnHnHnr //N&O`xB/<N‚PN^NuNV n 0H2(HЁ n2H4(H҂o n0H2(HЁ n 2(H4(H҂ n4(H6(Hԃ=@o n0(H2(HЁ" n 0 n4=ABn n0 n 2( n4(=@Bn n2(0. n 01A4.HH/B1B4.H=AH/B1B$/o /op`pN^NuNV0. HHnHnHnHnr//N&O=|09=@Bn=n HHnr//NʲO N^NuNVj/.HyHnjNzO Hnjp/NjPp/NFXN^NuNV09Hr//NP09HB/N*PB/<N‚P09H/./N̮PB/<N‚PN^NuNV0.H/././/.NĢO0.r n"n20. n"n2N^NuNV n0 n 0T n0( n 0T n02(AS@ n 0T n0(2(AS@ n 0N^NuNV n0 n 2Af@ n0( n 2(Af, n0( n 2(Af n0( n 2(Afp`pN^NuNV0. HHnHnHnHnr//N&OHnHnaP09HHnr//NO HnaHyHyHyHyp//N&O09H/aX`0.29Af>09 29HҀT0.Hn09 29HҀT =@`$092.Hn 09"=A092.Hn 09"=AJbg0.29Ag HnaX0.H2.H4.H6.H8.H////z//NɂO0.29AfR0.H2.H4.H6.HHyHyHyHy/////</x/NO(N0.H/aX`0.HHnHnHnHnr//N&O=n=n=n=nHnHnaPJg0.HHnHnHnHnr//N&O0.H2.H4.H6.H8.H:.H<.H>.H////////NO 0.H2.H4.H6.H8.H////z//NɂO`=n=n=n=n0.29Ag$Jbg HnaXJfg HnaX0.H2.H4.H6.H8.H:.H<.H>.H////////NrO 0.H2.H4.H6.H8.H////z//NɂO0.H29Hf.HyHyHyHyp//N&ON0.H/aX`Hy/.NP/.NXp-@Ba2XBn`T0.29AfF0.H/NX`40.29Af&0.H/NX`0.29AfN.g"0.@Jgz ftHyp/NjP g6 fRp#09\H @:BP/. aX nB`$09\H @:BP/. aX nBJf09Hr////r //NɂON!v.HHr kڰfN ``t` `NbSnlBn`Hy/.NP0.H/NX/.NXBnp-@Ba|XBn`L0.H/NXBn`6p /NX0.H nBBnp-@Ba.XBn.HH o. l&.HH/NX0.RnH n0.H f0 nBp /NXBnp-@BaXBnJg n fJg nJfJg/.NXp /NXLN^NuNV n"n 23h3h3hN^NuNV0. H fN\ N^NuNV0. Hm lN`&`4``>``D`R`z`j`X/. p/NFP`^/. p/NFP`L/. NHX`>/. p/NI@P`,/. p/NI@P`/. N`X` /. NHXN^NuNV0. H!m lN`J`Z``f`v````t```X```````*/. p!/NQ P`8/. p"/NQ P`$/. p$/NQ P`/. p%/NQ P`/. NaX`/. p&/NbP`/. p'/NbP`/. p(/NbP`/. pX/N@P`/. pY/N@P`/. NIX`x/. p+/NQ P`f/. NNTX`X/. p./NQ P`F/. p1/NSbP`4/. p2/NSbP`"/. p3/NQ P`/. p,/NSbPN^NuNV0. H5m< l2N`:`J`Z``b`r`````````/. p5/NUP`/. p6/NUP`/. NXX`/. p9/Nj@P`/. p:/Nj@P`/. p;/NlP`|/. p/Nj@P`F/. p@/NlP`4/. pA/NlP`"/. pB/NlP`/. pC/NlPN^NuNV0. HEm lN```,`:`H`V`d``|/. pF/NeP`t/. pG/NeP`b/. pH/NeP`P/. pI/NhP`>/. pJ/NhP`,/. pK/NhP`/. NgpX` /. NqXN^NuNV0. HOmx lpN```*`b`8`D`\`N/. pO/NZ$P`H/. N[0X`:/. pQ/NZ$P`(/. NsTX`/. NwX` /. NoXN^NuNVHHy,HnNPHy0HnNPHnp/BN*O n-h<"n-Q"nn  n-h-hBHy/N%O p/Hy$/.N%O A"n"A"n"p/p//.N#O =@H/@rNR nBh f n BLN^Nu"n Q/N.X"n Q/=@N.X2.H=@ 'nJo @m @np`p-@JfHy5p/NjPJgJHy/.N&PHy$/.@N&P. HH/AR A @g / `. HH.HH.HH6.H8.H/////Hye/. NzOLN^NuNV/.NLX=@0.SnJ@g$0.H nHH \g :fNq nf/./.NP`0.HR n//.NP-n-n Bn0.Rn2.HRHl n"nRR`0.HR n Hyx/NP/./. N6PN^NuNVp/NX=@HA n|:TB/pG/NO /.NLX oHy{/.N6P` nB(Hy}/.N6P/. /.N6PN^NuNV~Hp@@ n Jg/.HnHn/a\OJ.f/.Hna.PHnp/BN*O "n i$/./NP n=h=h~09U@f <`p n1@29=@UAfp `p n1@2.H=@H4.H6.~H////x/////NO$0.H2.H4.H6.~H////x/B/.NFOHnHnHnNnO 0.H2.H4.H6.~H////x////x/NO$JngnHn/. NPBn0.H n Jg *gRn`0.HS n BHy/. N6PHn/. N6PpLN^NupLN^NuNVHnp/BN*O n f&HyHnNPHyHnNP`, n f$HyHnNPHyHnNP n-h<1|p n1@p n1@*p n1@Z1|B n1@rC n BHy/.N%O Bp//.N#O =@H/@rNR nBh f n BN^NuHy/.N&P n2(@SAf,HyHnNPHyHnN6PB` n0(S@f,HyHnNPHyHnN6Pp-@`b n0(ZS@f,HyHnNPHyHnN6Pp-@`*HyHnNPHyHnN6Pp-@HnNLX=@H/@R  /TB609U@fBHnHyDHnaO Jg n fRJg&.HH/HyDHy/. NzO`R.HH/HyDHy/. NzO`,.HHHyD/Hy/. NzO` n BN^NuNVHy/.NPN^NuNVHy%Hy Hy!aO JgHy Hy5/.NzO ` nBN^NuNV n B n fHy9HnNP`Hy?HnNPHyEHnN6PHnHy֨HyMazO Jg>Bp/N‚P n fHy֨aX` Hy֨aDXp//N‚PN^NuNVHHnp/BN*O n-hBHyb/N%O p/Hyj/.N%O p/HyR/.N&dO A"n"Hyr/NP09J@fPBn0. @l0H/@ r///r//@NBO "/=Rn`Hy8p/NBPHnHnHnHn/.NêO0.H2.H4.H6.H////x/////NO$09U@f <@` <29=@UAf <`pd2.H=@H4.H6.H8.H:.H////|////|/NO$|A0.H2.H4.H6.H////x/B/.NFOHnHnHnHnp//.N*OBp/N‚P.HHAH @*/NPlX/-@NRX/.=@NXjX"n Q0.H/Hyt/NzO 0.H2.H4.H6.H////x/B/.NFOp//N‚Pp//.NPHyb/.=@N&P@0.H g f0. nBh "n Q/N.X=@H nJkp`p-@JfHywp/NjPJgV0.H2.H4.H6.H8.H:.H////|////|/NO$0.H2.H4.H6.H////x////x/NO$09J@fHnp/NBP nf nBLpN^NuHyj/.N&PHyR/.@N&P.HH.HH=@H6.H////Hy/.NzOLpN^NuNVHHyHnNPHyHnNPHyHnNPHyHnNPHyHnNPHnp/BN*O n-h-h-h-h4-hdBHy/N%O p/Hy/.N%O A"n"A"n"A"n"A"n"A"n"p/p//.N#O =@H/@ rNR nBh  f nBLpN^Nu"n Q/N.X"n Q/=@N.X"n Q/=@N.X"n Q/=@N.X"n Q/=@N.X2.H=@ 'n Jo nm nn nmp`p-@ nn$ nm nn nm nnp`p-@JgJfHyp/NjPJgJgHy/.N&PHy/.@N&P.HH@HH4.H6.H8.H:.H<.H///////Hy/.NzO$LpN^NuNVHnp/BN*O 0. Hr8kRfN3`%`$`"`!`b+`2.`Hy>HnNPHyFHnNP`HyNHnNPHyWHnNP`Hy]HnNPHybHnNP`HygHnNPHykHnNP`pHyoHnNPHyxHnNP`JHy|HnNPHyHnNP`$HyHnNPHyHnNP n-hg :gB 9fHyHnNPHyHnNPHyHnNP`nHyHnNPHyHnNPHyHnNP`6HyHnNPHyHnNPHyHnNP n-hH/@R"/ nHH0/@ <NR"/=Rn`09H2.HHn//NO Bn0. @l H @0nf=nRn`0.H g f0.H2.H4.H6.H////x///</<@x/NO$0.H2.H4.H6.H////x////x/NO$ nfTBn0. @lF2.H A*"PH/@rp/// p//INBO o 0Rn`LN^NuNV nBHnp/BN*O Jbgp`p n1@RJbgp`p n1@jJfgp`p n1@Jfgp`p n1@p///N#O =@H/@rNR nBh fN^Nup n0(R#bp0(#fN^Nup yRNuNVpc//.HnNDO B.BA#p y/NzXJgR`p y +g -f p-@Rp yRHnHnHzbr//NOS y-@JfprN^NuJg .".NN^Nu .".N^NuNVR y (S!@Jk"PR .r` ./9 /NP"N^NuNVB# Hn/. HzNO 9N^NuNVR . yRN^NuNVB#Hn/. HzNO yB 9N^NuNV#AB-H n JgvrR A-H f %f n  %fR n (S!@Jk "PRp` /.NBX-@ n f %gz .N^Nu n  *g -nX`BR B/.HnHz/. NO-@Jg-@ fJgRJo .N^NupN^NuJg/./.N`PJfZ .N^Nu n (S!@Jk "PRp` /.NBX-@ n f .g .N^NuR` .N^Nu y (S!@Jk "PRp`/9NBXNuNVH p| r-Ar-Ar-AAt-B@@@@@-A-A-H nJg^rp kPfN#`2 `"+`-`|`|`|`|NqR` n 0f |0R n *f$n "RX-QR`Hn/.NPѮ n .f4R-H *f$n "RX-QR`Hn/.NPѮ n lf |R nR@r`kfNf`E`e`G`tg`lc`Js`X`x`o`*u`d`J.g "n QX ` "n QX -@Jj r-ADJgp-` J.gp+`p @p.".肀p.JgRR/./.NP-@Jjp-@ .".-AJo8 n//./NO p././/.NJ.f8 .".mS-@Jg n 0fS`JfSJ.f6 .o, . .S-@Jkp./ nNXR`Jgp-/ nNX`*J.gp+/ nNX`J.gp./ nNXJgJjnp0/ nNXp./ nNX .S-@Jk .R-@Jjp0/ nNX` .S-@Jkp nR`p0/ nNX` .SJk* .S-@Jkp nR`p0/ nNX`Jg p./ nNX .S-@JkN .S-@Jkp nR`p0/ nNX` .S-@Jkp nR`p0/ nNXJg p./ nNX .S-@Jk* .S-@Jkp nR`p0/ nNX`p. eg gfpe`pE/ nNXJjp-/ nNXD` p+/ nNXp -@S .r N0 . .r N-@ nJf . lRr6/ nNX` .f6 .o, . .S-@Jkp./ nNXR` .LN^NuNV-n n R@-H Jgx %f0 %fR `"/.Hn/. aO -@Jg-@ `J"g$.gp./ nNX n PR p./ nNX`pN^NudNVpr nR A -@-@g> .r NRr nRЁ-@p nR @ f n lf Rp-@ n N n-@ cg n g n N-@` . f n pN^Nup nr8kHfNf`s`Dc`h`Hx`o`d`p-@Jg o6 . -g +f" -fp`p-@ n NS-@ n f n pN^NuB .r NR".Ё-@ n N-@ .S-@Jg n fJgNJjDJf"n Q `0"n Q `" . 0m 7o n pN^NuB .".Ё-@ n N-@ .S-@Jg 0m 7oJgJf"n Q `"n Q ` n f n pN^Nu-n n N-@Jg oN 0fD . xg Xf0 n N @-H f n pN^NuBS`` n g .0-@ n g .7-@ n g .W-@ .S-@Jg n gx . n -@g".0 n g .7 n g .W n N-@`hJgJf"n Q `"n Q ` n f n pN^NuB .r NR".Ё-@ n N-@ .S-@Jg n fJgl"n Q .0`\Jg"n QR . .S-@Jo$ n N-@RgJg"n QR .` . f n pN^Nu nR N^NuJg"n QR . n N-@Rg .S-@Jg n g"n QB` . -g& .g 0m 9o n pN^NuHnHn/. /./.NO-@Jf n pN^NuJg6Jf"n Q .".N `"n Q !n`pN^Nu n nR N^NuH?aLNu<<><H@HB8F@BBDGmxBm. fJgNGm" fJg "NNJf*Jf$HHxNXOL <@rH@NuNĴGm" fJg "NN:Gf0Jf JfJfJfNNN`@ @Bf(Jf Jf`bBCGNBCG`B BG?GhNH@.音G@HB.| GBHD8"DHB8HA0BAHB:HC<HC>HGFHGBFHF݅dSD҃тBCHD,HBhBD HBH@HA0BA`*8HA0BAHB<.HGHGGHFBGGHFdSD҃тeSD҃т,HBhBE HBBH@HA0`:HA0HB<ŐdEЂeSEЂHEHBhp: "( :HDNpH?aLNuH?aLNuBH@HB<<><8F@:G@BBBBGf Ef.Bm.f.g "NDgNJEfFH@f*Jf$HBfJf FN "H@@@H@NuHBfJfH@@@H@Nu~G@BH@HBDg(f fNujD@8NN҃т m~ӇчE EeNH@EDH@Nun BCFG Eg0JGfBHBfJf @@H@NuփՂJEf*H@ҁр`&JfJfNN BHB @H@EFGGE G4nҁр G o &tG t`4EH@EDH@Nu Go6HCBBHBG"F,, Df>҃тE m E~ӇчH@E EdDH@NuN mD҇~чEH@EDH@NuJk8Jj JfhJfbJf\ fRNuf eDf8NuJkf,Jf&Jf fNuf efNuJ9NuJ9NuH@HDz lH@HA0BAE mBD lPDH@J@fXD|C 1FH@,龳F@LDH@HDNu mJElP` ElDDEME E9oN2B@H@HAEnE$ꩱtӂтH@@H@Nu$艱tӂтH@E @eN@H@NuNPNQH0$h "NBiBi/f$h&( S`RB3BHB3BBF4)g\jVBk Bia`Ha2Ri`tiaaSiJkSi`BBBF/gaJFf BfSi`0 RB Bkv$( Jg(<iSBk:x Bl281  9o"0 R1 1 SBjRiSCzgR$hG0 gSD6CkxQJCk0Q$hBJigS$hB2)H$L NYNXNuBfNu|H0$&҃тdRL Nu/t?<@ B m RSWfO$NuNPNQH~0pr3@3@3@3@av 0fi ` -f iaX 0m> 9n8i 3F <)i/gRi`a:<) ҆Bц` .f JifbRi` Eg efPa +g -f ia 0m0 9n*:)iFi im`?)_ f $hB`4)?)_gDBi/gT3|?Jk Si`Jig ktiaZabSi`aRi`t4)?)_gNR$h$$$h$p0) L~NYNXNu,(g !|NuH$hN<L?3F S fiNu?)_g|NuH<xr`H<xrJg8j8<D d:fBHyՋp=/NO -@`BHyՊpfp//.BpB/NO/.p/pF/NO /. NX/9Hy/9NO BNFXN^NuCPROGCan't open stdin file Can't open stdout file dNVp nR-@Jg/. /NPRfpN^NupN^NuNV n (g f//.NPN^Nu n (S!@Jk"PR .r` ./. /NP" N^NuNV-|B ndJg ` nfpN^Nu/./. /.aO N^NuNV nJg /NX-y-n p n( bg afB`-|R n( +WDHHp n A wg rgP af/</</.NO -@RfpN^NuJ.g <`p@-@`J.gp`p/<//.NO -@RfpN^NuJ.g <`p-@`^J.gp`p/<//.NO -@RfpN^NuJ.g <`p-@`pN^Nu"n#H #n" #H#HJg ` <". n!A N^Nu'NV n(g/p/NP-@`B n ( JfJg/(/( NP n/(NzX"n#H #H#H-@ gJgpN^NupN^NudNV n(g/p/NP`, f" n(g (Ѯ ` n ( n p!@!@(g/./. n/(NO RfpN^Nu npN^Nu/NVB . lTrNR @B-H(f2 n(g& n  -@Jg//( /(NvO R`B .dl( @hJg @h/(N*XR`/.NXN^NudNV .". NR/-@NHX-@JfpN^NuB/./.NvO .N^NuNVJg y//-HNPBJfpN^Nu .X/-@NX-@JfpN^Nu n -HX N^NuNVBaX nY#pN^NuNV nY "@"Y-@-AgBaTX/. aJX-@Jg0 . ".c-@/././.NO /.a|X .N^NuNV n (VDHH (0AJg BpN^Nu n(g(g/p/NP nJf$B/NXJg npN^NuJ.gr n (T!@nb P"nRp-@ g2 f: n (S!@Jk "PRp` /.a"XN^Nu npN^Nu .N^Nu n(fr (//( /(-@NO -@Jj nJf nJo(J.g .D n!@` n!n n n (2JgJ.gp!@` nBpN^Nu n (S!@Jk "PRp` /.a4XN^NuNV-n n (0JgpN^Nu n (VDHHAJf(fp!@ fN^Nu/. NXJg n pN^Nu n J.g (D!@` n !h n (S!@Jk"PR .r` ./. /a$P" N^Nu n (gx fpN^Nu .@J.g. f&p/Hyz n /(-@N^O -@`"p/Hn n /(-@N^O -@p-@`2 n (gpN^Nu n J.g^ gT (T!@ f""PR Jk /p/a>P n R"n QR .JjN^Nup-@ n  -@Jg(gpp/B/(NO -@J.gR .S-@JkDB/ n /(NO p/Hn n /(NzO Jf . gNq/. n /( /(N^O -@`B f n ` .g n J.g n (D!@` n !h"n i " . g2")S#AJk QRr` ./. /aP" n (0JgpN^Nu fpN^Nu .N^Nu dNV nJg(fpN^Nu/9NX n !@ Jfp # pN^Nu n!yp!@!@N^NuNV-np-@ nJg/NLXRѮR` opN^Nu ./-@NX-@JfpN^Nu n#B-H nJg "n"/NLXRѮRX` nBJ6g y2/96/NP#6#2 .N^Nu=NV/.aXN^NuNVH..Jn pL8N^Nu l~ V.I*TgZ -eLf( M L8N^Nu - e$" M$&B&'@( M L8N^Nu(M*U`/NX*@g"Jf#߹ M L8N^NupL8N^NudLNV . //.-@aPN^NuNVH<.. Jn pL/NP#Jjp # pN^NupN^Nud?NVx . gJfp /NX g . ~nS`p}@|Hn|p /NPp /p/NPp.}Bx-@ .xl n C~Rx` . }lF n R `6/. /./.p?/NO-@Jj#p# pN^NuB .N^NudNV/. /./.p@/NO-@Jj#p# pN^NuB .N^NudNV/././. pB/NO-@Jj#p# pN^NuB .N^NuddNV/.N XHn/-@NP .N^NuNVB.p-@S .  @ . . -@ J fA//.NPpN^NuNVp -@B.S . 0". . -@ J fA//.NPp N^NuNVp -@B.S . r N0 . . r N-@ J fA//.NPp N^NuNV-n nJgp/NX nR` .N^NuNVp n-@-@-@ -f r-A-A` n +fp-@ np/NXXJg* .r NR nRr0Ё-@`JgD n .N^NuNVpr n-@-@-A n g . n -@g".0 n g .7 n g .WR np-@`l n .N^NuNVp nR"@ gR` .N^Nu o"oJfSf /Nu o"o / oe  SfNuSfNu o /o "/ SfNuJjDJj Da DNuaDDNuJj DaDNu/HA4f"H@HAHB4g0H@40HB2$Nu/v AdQC AdYC A dUCJAkSC4HBBBHC604HAdSCЁdr2HCH@A&$Nu B"C$&HBHCCHBBBЂ& $NuNV n.f N^Nu nRJfpN^NuNVp.//.aPN^NuNVB nJg.f-HR` .N^NuNVJg4 nJg,"n Jg$pRrR -@JgN^NuS`Jg nJgpN^Nu n JgpN^NupN^Nu o"o / ogSf /NuNV fpN^Nu n (g (0JgpN^Nu n (g .@"n "r#AN^Nu"n Q fpN^Nu"n QS" .)gS` n R .N^Nu o"of /Nud o"ofJfpNunpNupNu o fS Nu,d o"o / oe  Sf`Sf /Nu o / o "/Sf /NuNV . 0m 9np`pN^NuNV .r0k@fN `* `" ` ` ` `pN^NupN^Nu / am zn NuH C #: O0/@11g"HS@4XBB$0 g/`?S@j?(NA.y:LNuH C#> O0/@BA11g"HS@4XBB$0 g/`?S@j?(NN.y>LNuA!o 1oF1o D1o8Bh.1|21|,NACD!I HNuA!o "o1Q8!oBh.1| 21|d,NACD!ICD!I "o282< "o CX/ ED2Q$_HNuA1o8Bh.Bh21|e,NHNuA1o">1o<1o:1o81o61o41o 21o01|1|Bh1|INA0(0HNuA1o">1o<1o:1o81o61o41o 21o01|1|Bh1|JNA0(0HNuABh1|Bh1|MNA"o22"o24"o 26"o280(0HNuA!o01o01|1|1|1|NNA0(0HNuA1o 0!o01|1|1|1|2NA0(0HNuA1o&@1o">1o<1o:1o81o61o41o 21o01| 1|1|1|3NA0(0HNuA!o01o01|1|1|1|4NA0(0HNuA!o0Bh1|1|1|6NA"o22"o 24"o26"o280(0HNuA!o 1o D1o81|.1|21|,NACD!IHNuA1o:1o81o61o41o21o 0!o01|1|1|1|*NA0(0HNuA1o 0!o01|1|1|1|,NA"o 22"o240(0HNuA!o0Bh1|1|1|nNA0(0HNuA1o 21o01|1|Bh1| 1|pNA"o "0Bh 0(0HNuABh1|Bh1|NA0(0HNuA!o>!o:!o 1o D1o81|.1|21|m,NACD!IHNuA1oFN1oBL!o<01o:J1o6H1o2F1o.D1o*B1o&@1o">1o<1o:1o81o61o41o 21o01|1|1|1|NA"oH22"oL24"oP26"oT28"oX2:"o\2<0(0HNuA1o 0!o01|1|1|1|NA0(0HNuA1o21o 0!o01|1|1|1|NA0(0HNuA1oF1o D1o81|.Bh21|i,NA"o2D"o2FHNuA1o21o 0!o01|1|1|1| NA0(0HNuA1o21o 0!o01|1|1|1|!NA0(0HNuA1o81o61o41o 21o01|1|Bh1|dNA0(0HNuA1o81o61o41o 21o01|1|Bh1|eNA0(0HNuA1o01|1|Bh1|fNA0(0HNuA1o01|1|Bh1|gNA0(0HNuA1o 21o01|1|Bh1|hNA"o 22"o24"o26"o280(0HNuA1o:1o81o61o41o 21o01|1|Bh1|iNA0(0HNuA1o01|1|Bh1|kNA0(0HNuA1o:1o81o61o41o 21o01|1|Bh1|lNA"o22"o 24"o$26"o(280(0HNuABh1|Bh1| NA0(0HNuA!o 01o 21o01|1|1|1| NA0(0HNuA1o D1o82<"o C/ EF4Q$_Bh.1|21|,NHNuABh1|Bh1|NA0(0HNuA!o4!o0Bh1|1|1|ZNA"o 220(0HNuA1oF1o D1o8Bh.1|21|',NA"o2D"o2FHNuA1o D1o8Bh.1|21|,N0(DHNuA1o D1o8Bh.1|21|,N0(DHNuA1oF1o D1o8r"oRJf1A2p"o/ ED4Q$_1|.1|,NHNuA!o1o81|.Bh21|61| ,NACD!IHNu"0<sNBNu"0<NBNu.FFFF.FFFFFV1.04COMMAND WINDOWABCDInput Image ->Output Image ->Image ->,AIM.INFwppwUwfUD3"helpexitconvreadf[ile]creadwritf[ile]gdisplaybdisplaydondofftontoffcopyaddsubmuldivminimummaximummindevcaddcmulcdivhistogramthresh[olding]equal[ization]filterlaplacegradxgradyuniflminlmaxharahavemediaanerosiondilationpropag[ation]skelet-skeletcontourmajorityremove[noise]life gamesinpix[els]endpix[els]linkpix[els]verticesbcopyandorexorinvertsetresetlabelgrabgreadgwritj ho JtJPy؄Z؊ ؕh؞اIثJ$ذJ2شJBع?ؾ@pA\B~CjFGHDVE&E!6 > #+17<AFMtKN<PLX"`#i%w'~*ن-َ.ٗ0٥1"ٯ2nٻ3456829:>[1][No more space to allocate|for the entry table][ OK ]%s .aiminfinite = -1ra[1][Unable to open command file|%s][ OK ][1][Only 16 macro levels atmitted!][ OK ]Unknown command [1][No memory to allocate image %d][ OK ].hlpcoef1 ->coef2 ->coef3 ->mul ->add ->mul ->add ->mul ->add ->size ->size ->size ->Filename ->.imPI1pi1PI3pi3NEOneoImage %s not found Error in reading image %s Filename ->dummy.im.colPI1pi1PI3pi3NEOneoImage %s not found Error in writing image %s Filename ->.colPI1pi1NEOneoImage %s not found Error in reading image %s bitplane[1-8] ->Bitplane ->Threshold ->; Threshold = %d Number of iterations:CLP Bitplane:Connectivity:Edge value ; After %4d iterations no pixels changed Number of iterations:CLP Bitplane:Connectivity:Edge value ; After %4d iterations no pixels changed Number of iterations:CLP Bitplane:Mask bitplane:Connectivity:Edge value ; After %4d iterations no pixels changed Number of iterations:CLP Bitplane:Edge value ; After %4d iterations no pixels changed Number of iterations:CLP Bitplane:Edge value ; After %4d iterations no pixels changed CLP Bitplane:Edge value ;CLP Bitplane:Edge value ;CLP Bitplane:Edge value ;Number of iterations:CLP Bitplane:Edge value ;CLP Bitplane:Edge value ;CLP Bitplane:Edge value ;CLP Bitplane:Edge value ;CLP Bitplane:Edge value ;Input bit 1:Output bit:Input bit 1:Input bit 2:Output bit:Input bit 1:Input bit 2:Output bit:Input bit 1:Input bit 2:Output bit:Output bit:Output bit:Output bit:add ->add ->mul ->div ->display mode ->[1][ No frame grabber attached ][ Sorry ][1][ No frame grabber attached ][ Sorry ][1][ No frame grabber attached ][ Sorry ]Bitplane:Connectivity: Last label %d, removed %d labels error %d @@cdisp[1][Incompatible image types][OK]pre_op%.2f sec > [1][OK freezes image][ OK ]grabberblowblowblowblowbhigh %s b%d %s %s %s glowghigh.hdCOLcolfrom_disc.hddgsreaddgsreaddgsread yYtTyYtT, HIT A KEY %s bit %d %s %s %s [1][Escape from iteration][ QUIT | CONTINUE ] [1][FATAL ERROR|Out of memory.|Cannot allocate.|%s][ QUIT ]set_FDBexitexit[1][Macro interrupted.|Do you want to quit? ][ ALL | ONE | CANCEL]exit 1281024[1][Values of mult or add|not in range][ OK ]grad%c %c,%c,%d,%d*.\*.\READ IMAGE READWRITE IMAGE WRITEIM B/W IMAGE COL COLOR IMAGE PI? DEGAS IMAGE NEO NEOCHROME IMAGE cread %s,%creadf %s,%cwritf %c,%sgrab AIM EXECUTE MACRO @%s LOAD SAVE SETUP INF 0%d[1][Value of threshold|not in range][ OK ]thresh %c,%c,%d,%d 010240-15[1][Values of mult, add|cd, chv or cc|not in range][ OK ]filter %c,%c,%d,%d,%d,%d,%d LAPLACElaplaceEQUALIZEequalCOPYcopyADDaddMULTIPLYmulDIVIDEdivMEDIANmediaan%s %c,%c LOCAL MINIMUMlminLOCAL MAXIMUMlmaxUNIFORMunif363[1][Value of Size|not in range][ OK ][1][Value of Size|must be odd][ OK ]%s %c,%c,%dEROSIONerosionDILATIONdilation1[1][Value of Iterations|not in range][ OK ]%s %d,%d,%d,%d,%c !"1[1][Value of Iterations|not in range][ OK ]propag %d,%d,%d,%d,%d,%cGDISPLAYgdispHISTOGRAMhist%s %c bdisp %c,%dVERSION 2.31 AUGUST 1987r%simage%s%smacro%s%shelp%s%slog%s%saspect%d%s %d%h %h %h %h[1][Error in|%s][ OK ][1][Setup file:|%s|not loaded.][ OK ]wimage %s macro %s help %s log %s aspect %d align %d %d %d %d %d [1][Cannot open file:|%s.|Setup not saved.][ OK ]AIM LOG TO FILE w[1][Cannot open file|for logging][ OK ] 0[1][Value of Subtract|not in range][ OK ]sub %c,%c,%dCADDAddend : ____0AddendcaddCDIVIDEDivisor : ____1MultiplycdivCMULTIPLYMultiply : ____1Divisorcmul[1][Value of %s|not in range][ OK ]%s %c,%d !"#$'(+,/012ANDandEXORexorORor%s %d,%d,%d,%c #$'()* bcopy %d,%d,%c,%c SETsetRESETresetINVERTinvert%s %d,%cSKELET100skelet-SKELET100-skeletLIFEGAME1life[1][Value of Iterations|not in range][ OK ]%s %d,%d,%d,%c CONTOURcontourMAJORITYmajorityNOISE REMOVALremoveISOLATED POINTSsinpixENDPOINTSendpixLINKPOINTSlinkpixVERTICESvertices%s %d,%d,%cHLP HELP r[1][Cannot open file|%s][ OK ][1][No memory available|for help text.][ OK ] label %c,%c,%d,%d [1][The palette of the text-window|cannot be changed][ CANCEL ]0123456789abcdef ((((( H ((((( H  HARACIMtMULCoBDISPǖGETDOUBLMOVE_HIS(GLOBALFGL_WCHARBUFFER W_GETCH"DO_DESKM;LHMIMAQEXITCI J_VENV*PTSOUTF_32KGRAF_MOU‚GET_BIT&ERRNO _INAMEjDO_LAPEQQ PEEKLCXS55.SAVE_SET_REALLOCITERtSTABARG*FORM_CENêDISPOFFJ$GL_HBOXTODISCjADDConDO_SECON=MACRO_FI PRT_HELPoRFREOPENDTIMEONJ2PMAXCIGDMACTLV_GET_PIFGET_PATHCGET_FILEDPRSTABSKELIFEj@UNGETC`VVVDILA$NUMBERHEQLp|EVNT_MULREP_MACR:MAXFILdFRAME_WCXM22RCLOSEzDWRITEvWIND_UPDPEPCI0HISTPlMENU_IENǎDMALOW\INITPROPWIND_DELPLOTVVVPROP^FIND_WIN#LHEXs"CXNRM5HAVECINSKELWCI*GL_WBOXSHAD:GRADYCIHAVE@CXD55VS_CLIPMENU_ICHBIT_MASKdMEDIrPLOTLV_GTEXTZFIRSTLINvSINCI2nQUEUE_EN^DRAW_FOR#GEMDOSVSF_COLO*CXNAN5IMAGE_FIDTHRRGRAF_SHRCXINITPLOTHRC_EQUAL+x_PFMT|RLSML_MNEXTնBDISPCIGRECTTOA+ CXV54_VENVP2GEM_INITFRSRC_LOASTRCMP,PTSINFMEDICILDIVoFIRSTCOLzDO_ALIGN.8FLUSHFIL0_ONEXITSTACK_ADxVVVRCLE_FILBFB_SFMT_ONAMEՊ_MBASEղUNIFCIDGSREADVVVRCLBDO_SUBTRaSBRKPRE_OPMULn_CTYPE _MNEEDAPPL_EXI>DEGASRZCOPCI?QUEUESIZ`ADDnREMLLByFDB_SCRCXD22RCINTERS(DO_CONSTbSTCD_ILSBRKRBRK"WDELCHARbDCREATMALLOCHINIT_WIN MAINLISTGRADX_STCH_IJREST_WIN' DO_IOPICFDO_PROPAXSTCL_OCXV25LOG_FILEGRADY]~COL_NORMGETCHRpATOX~STCL_HX_STACKSPRINTFzENVIRON_VENVL6_MSIZEպINITCLPPROPCI%NOT(2@ D(. *(>  86,  <>~,XD $ 4>TD $ 4VD( 4\D( n$6 \ X <$6 \ X <6 T P:f6 T P4Pf@b:.\2vD $ :&62P. 8Pt* <<<88FF ` F`6  4"dD( 4:6ВD $ ><4   , ZD( 2 0 Bd  (    0 V04(@::00 T.L88::@@@B(v88:<>@@@B$60 hnBBDDTJJL4 >(4f`nT@@B8&v ><>8>8:8nVFhV06 $ $^ $D $ ("( >68b 6PF 8< 8 P8(DBR>(Dd < &  >4&f .& (D "$".V` & d*".Z` &  *".t: & <t ^4@   *& Z 6@ d .* T d2 L0 ld$N`" >(ڈVF6 *,  ,   * *4 @                  ,     *            2  $           2  *$           .,    &      4D$B " HD:L8  $ 80    $ L< <$  TV600* " N $B:, @    @" 4RJ6* R6   & $    D  .T6N F^t\D  8 *08  L L P*  ZH48: *    P $         *0     (    0 6 R:"4>( J8  ,      . H0|  D ^          $  <       (2   (     L0(   $  L0(   &  $    $                         $ X        ,,   ,             B00   (       $ .     $ , (     $  ,       4  (,(  J N         &$ B " H  L  &(0  ,R  X 06@4$604(4Bh8*&2 .   (.   ,DVL62@8X" `b*>&2f( 0$ X&2`:x  &, n &V*^NVN"t6"&. .        8> 4TX2Vh@:  :&>l$. $:0  P4Xh  $X0 $&* j,"20&"NT"0  B( ( @ :0` 0 . 0.2`**f\$ T@B .*< LL0**T*"0*H* ".6>*0(00::""(.@"@.0< ((""J ($  of memory given under "System Memory" with that reported by FONTWID. If you don't have enough free RAM, you will have to remove desk accessories or memory-hungry AUTO folder programs (like RAMdisks) or remove some fonts from your ASSIGN file, and repeat the process just described. Finally, FONTWID will produce an error message should it load a printer font that doesn't at least contain ASCII chara 2 2 2$ 2RZLR Desk File GreyOps CelOps BinOps Utilities About Aim-------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Read Image Save Image ---------------- Grab Image ---------------- Load Setup Save Setup ---------------- Macro Logging ---------------- Quit ^C Copy Add Subtract Multiply Divide Cadd Cmultiply Cdivide ------------- Threshold Equalize Uniform Filter Laplace Gradx Grady Lmin Lmax Median Erosion Dilation Propagation --------------- Skelet -Skelet Contour Majority Remove Noise Life Game --------------- SinPixels EndPixels LinkPixels Vertices Copy And Or Exor Invert Set Reset---------- Label Gdisplay Bdisplay Histogram --------------- Palette Preferences --------------- HELP!!! GRADXInput Image Output Image DEFAULTRANGE 1024Multiply : _____999991  10000 128Add : ____X999-255  255OKCANCELLAPLACEInput Image Output Image OKCANCELTHRESHOLDINGInput Image Output Image DEFAULTRANGE000Threshold : ___9990  255Bitplane :OKCANCELFILTERInput Image Output Image DEFAULTRANGE 1024Multiply : _____999991  10000 0Add : ____X999-255  255 0Diagonal Cf : _____X9999-1000  1000 -1Hor & Vert Cf : _____X9999-1000  1000 5Central Cf : _____X9999-1000  1000OKCANCELLOCAL MINIMUMInput Image Output Image DEFAULTRANGE 3Size : __991  15OKCANCELDILATIONInput Image :DEFAULTRANGE 1Iterations : ___9990  512CLP Bitplane :Connectivity :Edge value :OKCANCELPROPAGATIONInput Image :DEFAULTRANGE 1Iterations : ___9990  512CLP Bitplane :Mask Bitplane :Connectivity :Edge value :OKCANCELHISTOGRAMInput Image OKCANCELA I MATARI IMAGE MANAGERCENTRE FOR IMAGE PROCESSINGDELFTVERSION 2.1 MAY 1987Image Processing : Frans GroenGEM Userinterface : Robert de VriesLow-res displays : Igor WeberOKBDISPLAYInput Image BitplaneOKCANCELEXORInput Image :Inputbit 1 :Inputbit 2 :Outputbit :OKCANCELBCOPYInput Image :Output Image :Inputbit :Outputbit :OKCANCELRESETInput Image :Outputbit :OKCANCELLIFE GAMEInput Image :DEFAULTRANGE 1Iterations : ___9990  512CLP Bitplane :Edge value :OKCANCELISOLATED POINTSInput Image :CLP Bitplane :Edge value :OKCANCELHELPTEXTTEXTTEXTTEXTTEXTTEXTOKMULTIPLYInput Image DEFAULTRANGE 0Add : ____X999-255  255OKCANCELSUBTRACTInput Image Output Image DEFAULTRANGE 0Subtract : ____X999-255  255OKCANCELREAD IMAGEWindow :STANDARDCOLORIFF1st WORDDEGASNEOCHROMEFormat :OKCANCELLABELInput Image Output Image BitplaneConnectivityOKCANCELPALETTE000COLOR X:_/_/_999OKCANCELPREFERENCESONOFFKeep aspectratiosONOFFAlign images tobyte boundariesOKCANCELFILE SELECTOR TITLE ANO ltuv|}~2BH^qw $ 8AB QYZ[abcg| blm  $ %$ & D E I R S  u z {     . 8 9  H P Q R X Y Z ^ s                # , -  < D E F L M N S c }                     % & ' 1 2  F L M          / 0 P P0 $ + 2  < E N%  NP  Z f{    ,=N_p   4!3 " # $ % & '  ( )' *5 +C ,Q -_ .m /{ 0 1 2 3   D5C6789:;</=?>O?_ @o A B C 4NEM F G H I J K L M D  OV'PQR%S5TEUUVeN u)) 2   ABC D    A BC  D N j       %  ) )     ABC D )   A BC  D7 %: )) P  ABC D ^   A BC  D .    123456 7 8 % ++J   ABC D    A BC  Df    7  d   %))*   ABC D    A BC  DF b~ ' . %1 (!( C  ABC D      123456 7 8  468    01!%(-(    ABC D & B  ^    123456 7 8% #" 123455 5!6 "7 8$6 (%' &4'6$8 )G,*++0)1-X%[)  ) z n  ABC D |%* *        ' F ))"  T  ABC D  b  1 2345556 7  8 k % n )4)>  |  ABC D     1 233345556 7  8  %$ 123334 5!5"5#6 $7 8&  3'2 (1)2*3+3,3-4.5/50516 27 &84 % ),)Z    ABC D    A BC  D   1233345556 7 8  +*  1!2"3#3$3%4&5'5(5)6 *7 8, % ))v    ABC D     1 233345556 7  8 $ % ' ((  :  ABC D     w   123456 7 8   01 % ((    ABC D    1 23456 7  8 01  %  3 3:+V+r+++  +'  ) )   .  ABC D   6  h  s % v ))R    ABC D     A BC  Dn     %  --  ABC D     2N j 3 <% ?)#)  N ABC D  \   A BC  D j1233345556 7 8 s "!  4!68 #  %    0p1q2 r30s 4@t 5Pu 6`v 7pw  8x 9yAzB{ C|D}E~F   %  %       .J        %  !( f!j$R' ),201249=@BBERFBGIKjNPR*01249>@hC ExFhGIKOQRh0gjA/ / ?9^Nv p??9[??9j?9'?.N*?yih ?y,?yT?yxXOp?N*P LN^NuNVB?<N?n ?n >N2\O0. fRBg?9[p??9j??.N*?yih ?y,?yT?yf?nTON*P `L0. S@ @b@H0@8 $ RLRp Desk File Greys CelOps Bins Utils About Aim-------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Read Image Save Image ---------------- Grab Image ---------------- Load Setup Save Setup ---------------- Macro Logging ---------------- Quit ^C Copy Add Subtract Multiply Divide Cadd Cmultiply Cdivide ----------- Threshold Equalize Uniform Filter Laplace Gradx Grady Lmin Lmax Median Erosion Dilation Propagation --------------- Skelet -Skelet Contour Majority Remove Noise Life Game --------------- SinPixels EndPixels LinkPixels Vertices Copy And Or Exor Invert Set Reset---------- Label Gdisplay Bdisplay Histogram --------------- Palette Preferences --------------- HELP!!! GRADXInput Image Output Image DEFAULTRANGE 1024Multiply : _____999991  10000 128Add : ____X999-255  255OKCANCELLAPLACEInput Image Output Image OKCANCELTHRESHOLDINGInput Image Output Image DEFAULTRANGE000Threshold : ___9990  255Bitplane :OKCANCELFILTERInput Image Output Image DEFAULTRANGE 1024Multiply : _____999991  10000 0Add : ____X999-255  255 0Coefficient 1 : _____X9999-1000  1000 -1Coefficient 2 : _____X9999-1000  1000 5Coefficient 3 : _____X9999-1000  1000OKCANCELLOCAL MINIMUMInput Image Output Image DEFAULTRANGE 3Size : __991  15OKCANCELDILATIONInput ImageDEFAULTRANGE 1Iterations : ___9990  512CLP Bitplane :Connectivity :Edge value :OKCANCELPROPAGATIONInput ImageDEFAULTRANGE 1Iterations : ___9990  512CLP Bitplane :Mask Bitplane :Connectivity :Edge value :OKCANCELHISTOGRAMInput Image OKCANCELA I MATARI IMAGE MANAGERCENTRE FOR IMAGE PROCESSINGDELFTVERSION 2.1 MAY 1987Image Processing : Frans GroenGEM Userinterface : Robert de VriesLow-res displays : Igor WeberOKBDISPLAYInput Image BitplaneOKCANCELEXORInput ImageInputbit 1 :Inputbit 2 :Outputbit :OKCANCELBCOPYInput ImageOutput ImageInputbit :Outputbit :OKCANCELRESETInput ImageOutputbit :OKCANCELLIFE GAMEInput ImageDEFAULTRANGE 1Iterations : ___9990  512CLP Bitplane :Edge value :OKCANCELISOLATED POINTSInput ImageCLP Bitplane :Edge value :OKCANCELHELPTEXTTEXTTEXTTEXTTEXTTEXTOKMULTIPLYInput Image DEFAULTRANGE 0Add : ____X999-255  255OKCANCELSUBTRACTInput Image Output Image DEFAULTRANGE 0Subtract : ____X999-255  255OKCANCELREAD IMAGEWindow :STANDARDCOLORIFF1st WORDDEGASNEOCHROMEFormatOKCANCELLABELInput Image Output Image BitplaneConnectivityOKCANCELPALETTE000COLOR X:_/_/_999OKCANCELPREFERENCESONOFFKeep aspectratiosONOFFAlign images tobyte boundariesOKCANCELFILE SELECTOR TITLE QWXu}~  8@ABHIJN^*=CYlr   #$%+,-1F %/0 IOP$      8 = > |           - a q r               5 > ?  \ d e f l m n s               @ H I J N \ j v w  x { | }     P P" $ + 1  8 @ F NP  L Xm    /@Qbs   4!3 " # $ % & ' ( )  * +# ,/ -; .G /S 0_ 1k 2w 3   D5C6789:;<= >?+ @; AK B[ Ck 4{NEM F G H I J K L M D  OVPQRSTU!V1N A$$  Y  ABC D g   A BC  D    <   X   % $ $  t    ABC D    A BC  D % $$   ABC D *   A BC  D    b j  123456 7 8v %y ((   ABC D    A BC  D8T  p   0 _  %$$   ABC D    A BC  D4   % $!$P    ABC D l   JR  123456 7 8a  468 p   01!%$-$    ABC D      123456 7 8 #" 123455 5!6 "7 8$ (%' &4'6$8 ) ,*++0)1-%$  $ 0  1  ABC D ?%B$ $L Q eh     ' $$     ABC D  %  1 2345556 7  8 . % 1 $4$  ?  ABC D  K   1 233345556 7  8 X %$ 123334 5!5"5#6 $7 8& e 3'2 (1)2*3+3,3-4.5/50516 27 &84 r% u$,$     ABC D     A BC  D   1233345556 7 8  +*  1!2"3#3$3%4&5'5(5)6 *7 8, % $$,     ABC D     1 233345556 7  8  %  $$H     ABC D d    1 9  123456 7 8 H  01 W% Z$$ s  ABC D    1 23456 7  8 01  %  $ $    ( D `  | ' $ $      ABC D        + % . $$   @  ABC D  N   A BC  D$ @\     %  $$x   ABC D                % $#$<   ABC D     A BC  D 1233345556 7 8 ) "!  4!68 # 6 % 9 X  0p1q2 r30s 4@t 5Pu 6`v 7pw  8x 9yAzB{ C|D}E~F t  `% c  "              %  !( 8`! $&(+081@2H4p9h=?BEEG`IXK NPQIlK4NPQ0t1|249=@4BEDF4GIKtNPR4m09L`yL~ @on np@ Hn?9Ln?9LlNXdPOHnNY`XO @f?9Ln?9LlNHB?<N\ON2`B?<N\Op`Z09L`yL~3Lz0@8g09Ltf 3L|`09Lrg09Lf`09L^F3L~09LbyL~ @m09LbyL~ @o8 np@ Hn?9Ln?9LlNXdPOHnNY`XO @f` 09LbyL~3L|=@F@F@F@F@ F@F@F@F@F@F@F@F@F@F@F@F@F@F@ F@F@F@#+######@##+44=F4+###+##+##4=4+#####@#F@+444==+4OOOFWOWO`OWWF===OO=F======+444##4=OOOOWWWOWWW`ii`r{r{{{{iii`iiWW`FOO4=====+=44+@########=O`rr{rrrii`{{i{r{r@{{r{rriOOF==444=4=++4++#+F@+####44@=F{r{{{{{{{r``WOF4=4+4=++#++#+#F@++#4##444OOWW=`r{{{iiWOF=+4#####F@#+#+F+#4FF4W````W{{{{{i{irW444#####F@+#++4=##==#4OFFFF``Wri``irr{@{r{{ri`O=##++F@#++=F==4++#+==+F`OO=O`W`{i`iiiri{{riWF+###@F@+44FOOO=FF=###=O==WWF=OOi`ii`i`irr{{{r``WF4++##@F@#=FOW`i`W``OF+``WiOF=FFOW`ii`W`i`riirr{{r`OO44#4=F`ii{ii`Wi{ri``W==+4W=FW``iWOWi`iirri{i`O=++#F@#++=O`ir{{{{rr{iri`44#+F===O``OOFWi``ir{{WWF=4+@ F@4#4==Oir{r{{`WO4###=4=OWWOOWWW`W{i{{{`WO++##F@#44#4=`O`irr{rr`OF###==+4=WWWOOOWWW`ii{r{rrirr{{rF##@F@=4#==FOWO`iir{{iWWO==+444+++=WWOFOWWOW```W``rrr`WWOW``{rW##F@=+#+FFOOWW``iiWF=4+++4++#4OWWW`OW```WW`rr{i`WO=====OOWirr{{`F= F@###4+##=FFO``W`iWF+#####4##44=OO``W````W`irr{{{{iWFF44++#4++=FWWi{{{i`O#@F@4+#+##==+#=F==O`WWWWOO4##+#444++4=4=WOWW`W``r{rr{{iWFF+###+O`ir{{W=#@+4###==4++=FFFFFFFOF=#####+=44+4+O=W`WW=iii{{iWFF4+###4=FFOWW`i{{riW+F@#4=4+FO###4F==44==44###+44444=FFFFFFF```{riOO=+####4==O=FOiir`=+@F@#44###+O=++44++###4=++##+###+4=FO=FOOFOWW@ir{{{{i`O=++####+==44=OWii`O=##@F@#=+###F4+4+44+###==+@####+4FFWO`i`irrriiOO=4+######444+4=W`i`OF++F@+4=###+##4==+#4++@##+=+#####+4=4=FOOWW`iriWO==4#######+##4=OWWF4+##@F@=4##+##==4++#+++#+44+4=FFFiii`F=4+#######+4FOO=4++@F@##4=4##++44+#4+####+#4=i`F++##+###@#4=4==F=F==##F@#+#4F=4####4===4+#++###@#+4=OiiWF=##44#@#+=4=FFOF####+=F+###+#+===4#++#####+4=FOWi`=+##+@+####44FOOOF=##@F@##+##4=+###+++=4=########+4+FOr`F4##+#########4=FOOF=+#F@####4=+#++@#++44########+##########4=O`iO+######+#++#+#+#########@==WW`O4+#F@###+44####4+444=4########4OWi`=+++4=F===4==4===44#4444++###+O`O=++@F@##+##4=4##4+#=4+4=######=```4###++=FFWW``W=W``i```O=OOFFOOOO=OF4+#+###+4FW`i`F=4####4+##+##44++4#####+OOWO=####=r{{{{rii{iri`iWW==444+++4+4=OW`rriWO=+#@F@##=+#+4#44++44#+#@##WOWOF+#+=F`{{{ri`OOWO=OOOF=OWWirir`O=##@F@##=4+#+#+#+#########=FFW`F=++4Fi{rrr{{r`=WWi{rr{iO=4#####4+#++++#++###+#++=FWWO=44r{iOOWrrrr``OF4+# F#+##+4++44#####4+4####+=FFWWW=`r{OO``{{{ii`OO4+#F@###44+#4+44#+#####4+4=4++##@#=F=WWOi{@iWir{{rri`OOFFF@+##44##++#4#+#######+4==4+4#####4FFW`W{{@{``irriiiWWOF4F@#4+4=#+++##+######+++=====444#+##4+4=Oirii`iririiiOF=#F+###+444##+####+##44====OFF==4=+4++++=====Or{@r``iir```O====+#F#+####++44+@+++########444F4=F=OO==4444#4=44=4Wr````ii```OF=4+##@F@#+4##++#===+###4####+##++4==FFFOOOFF4+==FFF===WriW```i``OWF+#4+@#4######+#4==4#+++##+####=4=FOOOOFOF=4=F=4=OW{r`````WWF==##+#@F@++####+#+=4+###########4===OFFOO4==OFF==OF=`{r`WOO``OOOF4##F@++#######44==+#########444=F44=44===F=F4OOW@riWOWOOFF==##@F@#+######++4==4+#############4444=4+====F==W`Fi@riOWOOFF==+==#@F@++##++4==F=4+#####+####++4#++@4====O=F``Oi{iOFF==+44+@F#++@+++++4==OFF4#+##4#####+4+++4##=4=FFFFO`r`i{rO====+=+++4+F#+##++##44===OOO=4#++##4#+44####+#+4#+F=4==OW`iirrWF=F444#=+F######4+44==FF=#+#+##+#4###+#44==FFW```ii{{iOFF=4++##++###+###+4444=FFOO=4+++4++##+#++###++4#===FO``i`r{{{ri`O4444++#4+#@F@#+#+#+4+===FOFW=4###+######@##+4==O```W`{rr`O=+4+##+++#F@##4###+44+4FW==+#444###++##4##4==Wi``W{rr`O=++4=++##+4+#F@4++#44=4++4=F4+#=44+++#++###4+#+OFOO`Wr{riiW4+4##+4##+4#F@##+4#4==4=444=O==4+44==####+##@+#+FFOO`OWWr{rr=+#++4##+4=##F@+#+44===+#F==+4==+###+####@#####+FFOWWWO{{ri`F++4++4#+=+#F@#4444=====44+44+#++#4##+#++++#@4+=FO``W{i`=4#4+4+##=44@F@#++=+=4=4=4F==4+#++=+#+###+#####+4##+##4+=OWWW`r{r`O4###4=+4#444+@+4=4444=F=4#4+44###4#+=++4+##4++++#@44OWO``W{@rriO4##44=4+4++@F##4=====44FF=+@+4###+##4=++#++4=4+4++###+=FOO```{@{iO+#44=4=444F#444=4=O=4#444##@#44#F=####+444+++######+=FW``{{ri`=+44=FOFF==44#@F#===4=4=F4##=#@#F4##=###4+4+44####+4==W``i@rO4#=OFWWWF4==4F#==F+=4===4+##44##4=4#44+++44#+44+++#####+FFOO``{{{W=+4WWiiiWF==4#===44OFOF44+##44+###F4##4=@++4+##4#4########++=FW``i@{rrr+FWirrWF=F=#@F#=FF44OOFOO#+4#+=+###4=4+#4#@4##44+4#+##+####++OW``{{r{{{{{W+4=WirriWOF4+@F@F=4OOFO==#+#+4+4F=44F##@######+###++#++###5=WOO`{{rr{r{{r{r{`4+=OOr`rWWFF=4@@#4F=OOFF4=+4+#4#++#O=4##+=4@#####+#+#+44#+###4FOWi{{{{{ririiii`i``iir{rO=++=WOWrii`WF4#F@#+4FFOOOF=F=+4+#44###4=4+4=+#@###+#++4++#+4``{rrii{r`irr{{{{{rri```WWWWOWOWWW`O=#+4=FWW`iiWOFF+F@+==FOOOFF4++4##++++44+4==###@###4=+###4=O{rriirrirrir{{{{rrr`i`WOFOFF====FF=O=+44=OW`r``FF=#@F+FWWWWFF4=+44+++##+OF4444#++##+4=+#+FOi{{r{r{riiriirr{{{{{{r{i`WO=====F4+4===+##++FOWrriF=4F+=``iWOF4=44+#+###+4WF+#==+#########4+##@==i{{`ii`irr{{r{{@{{i``OW=FF44====F4+===##+#4=WiriiOF=@F=`irWFF4444+##@####+=OF#+4=4##+####+44++#=Oi@iiii```rr{{@{iiO====44++=4O=FO==44##44=W`i{`OF4@F#4WirO=4=4=4+@++4F=+#+4+#######+##++444++@{r```WW``i{{{iW`OF=444##44FW``OFF4=####4=WWiiiiW=#@F#=`ir==FF==4##+#@#==WF###44#######++444+44=Wr{{{```WFFWFWiir{`OO4+4##+=OOiWWF=4+#4=FWi``WO4{{=Oir`===F4#+##@#=FO=+##44####+#++++44=44FWrri``WFF=4=4=FWW`i{==####44=OO``WWOOFF4@#+++=FF`W``O=#FWii`F=+4O=+#######=+#4+#####44++=44=FWrrr`WO=++##+4=W`iF4###+44==OFO==F+##++4FOOOWO=##F+OO`W=4=O==4+##4#+##+FFO=4#++##++#+#==4+====F`{{OF=++#4=OO``F4#####444===4+@#++====FF=#@F@4FOFO====4##+#4=#####+OWO=4+44####+#####4==44=FOF`{{iWO44=4@#4=Wii+#+4++4###++444#=4##FOFF==FWF=4##=4+###4OWF4+#44######+#44##+==F===FFF`rr`O==`{{O+#W=O+#++#+####+#+##4###@ F@FFWFOOFWO==#####+=+#+#4O++##@#+##++444#4+=FFOFFir{iF=4=`F##+O{{ʸ`=+#=irF4####4####F@+=OWOOWOFF=++####=+#+#4OWF+4+##++#@4++#+4=+4+===F=FOO{`O=4i{=#4W@W4#={{4######F+=FOW`WO=F==+#+####44#4+==4+####@=+#44=444OFFiWOWOir`4#+=44=FrO=WF###@##+=FFW`==4+####+##+#44====4####+++4+#444===FOWri{r`WFW`OW`@WiW4###F#+=OFWWOF==4=##+++#+##+4=F4=#+###44#++4=4=4FFWririi`W={rr{{WO+####@F=OOWOF==44++4#+4######+4F44###@4#+#+++44=F4Oi{riiW`irrrriiWOF4+###+####F+=WFOOWF===4=4+####+==44==+#####+++44+=4=OFi{r```rʯ`i`i`i`OWWOF444+4#####F=FFFOOOFO==44=+#+@#=44#+4+#++4+4+4OOi{@ri{r``W```W=`WWO=######4##+@F#=FOOOWOF4++444+##4##=4#@4####+#+444Fi{ri``W`WW`rrW=######+##@F#+=OFOO=444+=44###44=###+#@###+4+=irri`WOOWW`{{O=++#++++4##F4FFFOFF=#4444+###44########4=4=r{ii`iir{rO444==4+#+##4=OOF=+444+#####=4##+####44O`ʸ4`F===O====#+4##@F+==FF4=44=#4+@###+4##4+#######++4FOirWFWOWF=4++F4=FF=F==44++#+##+4#4#+###+##+=FO`{iWOOW`W==##+##@FFF=====++#+####++@##4++######+4444=Or@{`W`iii``=44+4++##4=FFF=4=4+#++##+4++44##+@#######+=4F=FFO`{``i{rr`WO4=+=44##4===4=F44++4####+44+##++++##+##+###+4##4===FO``{{ii{{r`WF=F4+===4=4=+#44+##==4###+###+###+##+4++4OF=FW`r{ri{{{{rr`OFOWWFF4#==F==+4=44++###+=##++########+4+#4+=+++=FOOOFFW`Wr{r{{r`WO`WF4++#=F=F==444+######+####@##+##+###4+++==+#FFWFO```r@{r{{{```WWOOF4#FFF4F==44++####+=###+##++#4#@##4+===444OOWFO`WW{rr{{{{`WOWF==+@==FF44###++######4+4####+44+44+##4=====F4=#44=F=OOOO`WWrr```{{{{{i`OOF==44+#@FF=FFF=+#4+######4+######+4+++#4===F==4++#+44OOFWWWW`WW`riWOOW`i{{{{{{{r{@{OF=44#+#@FOF==4444+4####+4++####+4+#+=++4=4====44+#+@=F==FO`ri``@{{i`OFFF=OW`irrri{rr{{{WF=4+#FF=4+=4+4+#####+###@#+##+4+#+444=F=4444++#=F4=+4=Wii`i{rririrrWOFF44===FOWri`rr`rir{rWW=44+#OOF4=4444########+#++++#+====+4++4F==44++WWW`ir@{iWO=FFFO``iWW=4=++444WW`Wi````r{r`WF++##@FF=44F4#+####+####4#+++4=####4=+4=+4##44F=++=OWWW`i{iOF44##4==O``WF4++#++4+==OWOWWOWW``{{{{`O4#@FF===+4#####+########++44+####+44=44#+4FF=W=+=4W`W`@{{{F4###4=F`ri`WWF4=@###+4===OOOOOOOOOW`{{{{{ri`W=4#@FF4===#+4####+####+#+####+#=F=4F=44#4==F=F===4=FO`iW`ir{{rr`W=4=Oiri{`F=44++#####+#4==FFW====FWWi`rirriOF4##FF==+4++=@+########+####++==F======44==44=4====O``i``ii{{r{ri`Wr{{{O444++###+#+4=4====444==FWW`iW`i`WF+##@FF=44=++=4#########+##++44=FO==F4=FF=44=4444OOO`r{`rrr{{iiir`OF==4==44##+++4=++#+4===F``iWWWFF=44==4++#####+4@###+4=FWFF=4=F4444=OOO`rirr{{{r`i{iWO=4=OFFF####+###@#444FO```WO=+#F==F4F=4###+######++##+4=FF=FOFOO===444=Oirriiirr{rr{`ii``=OOOWOF4+#####+##+++==OiiWFF4#F4===4=+#+######=4==OFWOO4+==F`{{rr`iir{{{````iiirrrOF+###++4OWi`iFO=4@F4=444###++#####+++4FFOO=+44FF4#4FOO``ii`Wi{{r`WOi{`W4#####=44WiiWF=4#@F44=4##@##+##########++#4F=F4++#4FF4==4==FOOWWWW``Wr{{{{rririr{{iiWOOW{`F4##########4=Oi``O=+4F4+###+############++++44=4+4=FOO=====OFOFFO`OW``irrriWW``Wi{r``WFF`{iO=+#######+44=FWiO=+#F4+4+##########@######++F4+##==FOFO4=4==F==FOOOFWW``WOFOF`i{{rr`OFF`{@r`W=#######++#+4=i`F+##@F4#####4+#+##@##++4+##=4F==FFF4====FOOOOOFFWW`WWWOOF===OOi{{r`O4ii`WOWF4+#+++4+##44=O``F##F444####+###+######+#4++4+=F4=4==FOOWOFFFOFWFO====4OOW{@{iOFFi{rr`OWF=F44+#+444+#@#++=FOO##F4#####44##4++#++##@##4##4#44=F===F4===FFOOWWOO=FF==F===FOWi{`WOi{i`OFO=++4++####=4=4##@#+=FF=#@4+####44#4+########+#4##+++#44=F==F===FFFOWWFFFFFFF====FFFWi{{i`{{r```OOF44+4###+==F=+=#+4==+#@F++#@#+4+++##4+#####4#++##=####=F4=F==FFF=OOOOFOFFOFOFF=WWWii{{@`iWWWO=====4+4##+4=4F=###444#@####+44#=+####+++#+4###++++##44=4==F=OF=OOOFFF===OFWOFOOOWi{{{rir`WWOOF==FFF4=4+4+###++=FFF=##+#+@F#@###4=4#+#4+##+#+#####+#+4+#++###+=+4======FF=FOOW=OWOWWWW`Wir{{rrrriii`WOOO``=O`iWO`ir`i{{`FF44#44==O=F=########4=44+#++4+#######=++44++#+#@+##+4F=FF=FFOOW`WWWOW```W=iiiiWF=====OFF=Oi{r`rWF=+#++===OO+###F##+#+=F==+##+4+444#####4=4#+#+4#4+4===FFWFFW`iiii`W`ii`W`irrr{`F+##={`Wr@{iWF4+#44=O=FOOO4#@F##4##4F==++##+4+#++#######==+44+######@#+++===OOOW``r{rriiiiiir{{rWO=4##+O{{@rW==##4F4=OFFF+@#####+4=F4+###+4+##++#+####=4444+#####4###@##+44=F==OOW`r{{{{iriir{`Or{i{rr{{rri`F#++=FFFFFF=+F+##4@=#+++4#4+#+4+#####====44####+4#####4+4====FFOO``r{{r{{i{{{WFFF4FWF444+##F===OFOFF=@F###+4==F4@####44+++#+#4#+4+4+=+####++++====FFWirr{r{{{rOO=#####FWWWOFFFOOOO=4##+F==#+###+#444#####+4+=+4##+#+=+###+4+=F=F=FO``i{{{{{riWFF=444++#4OO`WOOFFOOOWF=+F####44+=#####+444#####+444#4+#@#4=++####=44OFO`Wi{{{{rriii`iiW`W``WOO=OWOOOO4#F+#+#+4=4###+44+#+##+=4#44+#+4#4=#####=44==FOOW{{{{{{{i`OOOFOWOW`WWF4F#@##44+#####+##4=44444+4+#44=#+==4=OFOW`i{{{{{r{{ii`OFFFOOWWW`WF+@F@#+4+++########4+4+++4=+=4==4##=44FOOirrrrrriiWWOOFOOW````O=+F@#+#4+4###+###@44+=#44+4===+#+444=FFWrii{{{{{{rr```OOWWWOWOW`F=#@##F#@##44#+##4###+++=+4++444=4++####++4=FOW`i`r{{rr```WOWOWOOWW`O4###+#@F#@+#++4+###+++44==++=4==#+##+++O``iir{{i{i``WWWWWOWOW`iOO4@#+@##+44#+#++#4###@##+4444#+===+++++++#44OOWi`ii{{{{r`````i`WW=OiiOF+##@#F++@+4##+++#+#####++#+++++++4++44++++4==FWWW``r{{{{riiir``WOW`iWW=####@F+###+=+####+#4#+#####+#+##++4#4+++###+4===4FOO`rr{r{iiriiOOWO````O4#@+#@F##@++44#+++#+4@###+##+++###+##4+44=OFOO`i{{iiri``i``WW`ii`O+##+#@F@###4#4+###++#++#+###4#++#+4444=4==WW`r{{{riiiriii`rr{r`O+@##+###@F##+#+=#+###+######++######+44=444FO`r@{{irir{{{{{rii{{`F+@##++4+#F###+4=######+###@+###+##44=4=4+44FFOr{r{{{{{iF###+4#44++F4++#=4###+######@######++44=++==FO{rir@{i4###+444+++44#=#=4+#####+#####@#####444=4+4#++W{{r`i@`4+++====+4+F+#+++F##+#+###########=444=+44=F{r```i{{{W+++###44=F=+4#F##++==+#######+#@##4=44+444=Wri``W``r{{{{O#+##+#4+4==F44#@F##@4+=4#######++====4ii`WWOOWir{i@rO++4#==F4F+#@F++44+##+++#+##+#####4F4=4=WWWOWOFOFWWi`ir{@{{i=##444+44=F==44F++#4==#####4###@#+#++4==FOWWOOO==F=OW```{@rW4+4====F===44F444+#####4#########+##+#4===OWWFO=O4=4=OWWi{{W#4==4FFF4#F+4==+####4++####@##+##+#===@OOO=FF==++4=F=OW`{{@{iF##4FFFOFF=+#===4+####4#+@#######=FFOO===44++4+4==O```rr{ri=###==O==F=FF=#F4####=#+######++##+44FO=OFFFO===++44+#44OOOi`rr{{{rF4#4OOFFFOOFF=++F=+#@#####+44##+######+#++#+4===FF=FOFF=4+++++44=O```ii{rr{@{{{ri`F=#+F`FFFFFOO==+#@F=4+#####+##4++####+=+#+++#+44#++=+===O=OO==44++#+++44=OOW``i`iirrrr{{{{iriiiWF=#@4FOWOWFOOWFF+#@F=####++###########444#44#+#++4++#=+=FFFOFOFF4=444++++4===WW=W````iiiiririr{{{{{{irrii`iW`WF+=WW=WOOW`OWO==4###++###+++####+4=4#44F4+4+#4==FOFOWFFFF===44+#+++4=F=W@OOWWWWWWOWW````iiirirrii``WO`WWOF==44##FOW``O```W=O+##F###@##++#+4######4444+#+====++4==OOOO=FOF====##+++44=F==OOOFOWOFOOOWWWOWWFOOOFF=F4=+4#4O``````i````WO+##@F####+##+#++#####+4@+##+=+==+#==F4#+4FFWOOFFFO=F====++44#4+===4=FFFFFF=F4==============44++4+###4=Wi`i`iiii`i``=4##@{###++###@#+###+4+#++==4==#44=F=++++=F=OOOOOFFOWFOOF==4++44+44+44=4=====4=4=++#+4+++##+####=O`i`ii`rir`O=#F#######4+@###+##+4==+==##=F=4###FFOOOOOOOOOOWWOOF+==44=+#4++#44=444+++#+#@###=irriiii{irrWO=4##F######@##4++##++@##44=444##+=FF+##++4FOO`FOOWOW`WWWFFF===4++#+#44+44++++#++#@#+Wi{i`ii{rrri`O4+##@F###++4+##++######+#####4=444+##4==4####4FOWOOFOOWW`WiOOOOFFOF==444#++##@#4###@#Oirri`{r{{iWOW=+#+@F4####+++####@#+#+##+4=++##+F=4#####4OOOWO=OFWWOi`i`WOOOFWWFO=+4+#+#+#+##@=O`irir{{{r``WFF4#@F#+++#+++###@##4+4+4++4+++#44=+###+4=FOOFOOWWW`ii`i``O`OOWWOOF=F=444#4#####4F``iriir{irWOF=++#F#++#+#####+++4+444#+##+4###4#==FFWFO````riiii`O````WWWOOF44+###@##=Orirr{{{``WFF44+#@F###+4+####44++4+4++##+++###+44==OOWWO`W=i`rri``ir```WWO===4+4###+WWrri{{r@`OFF44++# {#++##@#####+44++4+++##@+###+4+4==FOOWOOW``iii`iiWi`i`i`W`W==44#####+F`rrrr{{r`WO44+##F####++++##+##4=4+4@#+++####+#4++4==FOOOWOW=`i`iiri`Wirrii`WWOF=4++###@##++=O`riir{{r`OF44###@F#+##4+#+#+####===4+###4##########+=4=OOOOW``WiW````iiriri``OWOF===+##++=OWi{rr{rr{i`O=4+###@F#++#####@+####=F44=+44#44++######4#4=FOOOOOWO`OW`iiiri`iWWOOF4###@##=Oirr{riiWO4+#####@F+#4#++++@++##4F==4=4#44444++###+#==OOOOWO`WWWWWOWW``i`W`OOF44###@#44==W`rrr{{iWO=4#+@#F##+###+#@##+##4==F=+4#4=44########+4=OWWWWOW`OOWOWW``WWWOO===4+##@#+=FF`@r{{{r`WO=4+#+##F#4##########+##+4F+=+4#+4=##+###+44OFOWW`WFFOWOOO`OWWWOOWOFW===##+####====Oirr{{r{{i`OO=4#+F++++@++##++##4=OF4==44+#######++#44=FOWWWFWOWOFWWOWOWOOFF==4++#@+4===Fii{{{{{rr``WO=4##@{+{@=#++#+#4#4====4@4#+#+++##########4OW`WW`WWWOOOOWWOOWOFO=4+4@#####+4F=OWir{{{{{i``OO4+#F#+####+##@#44#+4+=4=4+4#++#+############+==OWW`WWW`WWWW@WWOOFOF4=4++#44=FFWWi{{{{{i`WO=+##@F#####@#4##+444F#+###############@#4=FWOW`W=``W`Fi``WOWWWFO4+++#####44FFOWi{{@{rir`WF==4#F#++@###4#+#4===####+###+#+#@#######4=FW``W=i`WOOWWW=`W`WWWF=F=44+#+#@#+##+###44FOWiir{iri`WWF=4+#@F#####@###++++4==+####+@+#4##+###4=OOW`iiii``W``WiO`WWOOFO+4##########++=4=+#+@###+=FWWirriiriii`W`OF4+#@F####@#########4=44####+#4#+++##4=OOWWW````````````WWOF==4++#####+=====###+4FOOFF==4##@#++44=FWWWi{{{rrr`irrr{``OF+4F#####@######+#++4=4+#@##4##4+4++4##+4WWWW``iiWWW``i```WOWWFO=444+##@########44=FFOOW=F4=4+WW``OO=4#######+4==FWW`i{{{{rrrir{{riWO=#@F##+#########+#+#4###+4#4#+++++++##44=FOWW`````i``W`WW```WWOOOF=F4=44+##+444#+++4F=O```WO`OO===FO```OOF4+#####+#44OW``{{{{rriir{{{{iWO4W##+#####+#+####++++44##44+#@##=OWW`iirr`iW``W=W`WOWFF======4444===4+4#4FOWWW````W`WWF===```WOF=4=##########4+=FOOr{{{{riii{{r`F4@F##+##########+++#+#44=444#4++##++#FOOO`Wi`i{i```W=WWW`WWOOFFF=O=4444FFFFOF=4=4FO```````WiWW``FFFOWWWOF=44####+###=4==W``ir{rr{rii`ii{{r`=++@F#+#############+4444444+444#4=FO```W=ii``WW`WWiW```OWWFF=444===FOOF=OOWiiii`i```i``i`OFOOWWOF=4+###4==F``r{{riiiiriir{r`F#+####@#++##+++=44=4444=#####+=FOW`````iWWWWWWWWWWOOO====#==OFOOFFOWiiiiii``ri```iiiriOWFFWWWOFF4+######+4==`Wir{{rriiiriir{{r{iF4#F######@#+4###+4+444+=444++####==FWW``W=iW`WWOWWWWFWOFFF4=4=+44=FOWWFFOFO`iiriirr```i`iiiiiOFOWOWOFF=++@##+###4=FWir{{ririii{r{{{r{{i##+@#######+##@#444=4=44444+####4OWW`W=W=``WWOWOFOOFO==+=44+444FOWWOWFO`i{irrirrrrrrriiii``WOOFOWOFF=4#+######44+4FW`ir{{{i```irrr{{{{rW@F+########+#@####++#+#44=44=4+=4###+#####=FOW```WWWWWWWWOWFFF=F4=4++44=FOWWWOFOirrr`{{i{{{{r{iririi`WWFO@OOW===+4#######++##++444FOWWr{{{{riii`iiii{{{rO4F#+#######+########4+=4444==4+###++++#+##+4FOOW`WWOWOWOWOO===4=4+444==OOWWWWWirr{r{{rr{{{{{{{rrirr`WWFOFOF==44######@###44OO``r{rrri`WW=iir{{{r`= @#W#+##+##+######+####44=44+4===+###+4===44++##44=OFO`W`OWW`WOOWWFF==4=44444==OWW`WiWWr{{{r{{{{{{{rr{r`OOOFF==F44++##########++FOWWiirri`W`W```i{{{{@{W+@F#++#+####4##+++##+#####+44=+4==+##++4F=OFFFFF==FOFOOW`WWO`FOOFOF=O==+44====OO=Wi`r{{{{{{{ri{{i`WOOO=====44=+++###++==OFWiir`i````W`ii{{{rO@F###+###+#+#4+#+#######+44=+4#4=F=+##+===OOOWWOWW=OOOOW`WWW`OWOFOFF==F44==4==+=OFWO`Wiir{{{{i{@{{r`i`i`WWOOFO====44++########+4=FOW``ii```WFOOW`ii`{{{{{rWFF##+###+##+#=4+#++#++#@###+##+444=4F4##++=OWWi`W```W=W``WOOOOFFFO=+==44@4=4OW``irrr{{{r{r{{{rrrri`WOOFOFF4=+4+#########4=OFFWr`W```OWOFWW```ir{{r{r`=F##++###+####+4##44#####+####++++=4=F=+#4===O`W`iiri`i`ri`ii``W=WWOOFFF=4==44====FFO``i`irr{{{{{{irrrrr`WFOFF====+4####4==OFO``WWWWFFFOO`ir{{{{r{r`F#@#44#####4++444#4####@####++++++=====+4=FOFW``Wirriii`rrriri`WW`WOFFO=F4===4=F==WO````ri{r{{{{{ri`r{iir``WOFFFF==4=44++##@###+==OFO`WW`WOF=FFO````ir{{{{`O+F##+4#+###44#+#+++######4####4#++444=4++4==OWWF```iiiiirrrr{{i`WWWWFOF===FFOW`iirr{{{{{{{{{iiiriiWW`OFF==O=44===####++==FWOOOW`OOFOFOWWir{{{{{{{i4+F+#+##+4+#+#+=+++4+########+###4+4+4+F44+F=FOWWW``WWirriiirii{{rriiirWWWOOFFFF===FFO```rrr{{{{{{{{{r{{r{r`i``OOWO=O=F4=44+########=OOOOFOOOWO===4Oii{{{{{r{{{ri4#+#+####4####4+#+4+++##4#####++4#+4++4=O44#==FWWWWiWWiir{rrrr{{{{rrrrir``OOFO=O=FF=WWWii`r{{{{rrrrrrrri``OOWFFF===4+=#+###+4=FOOFOOFOWF=F4FO``i{{{{{{@r{r{{r`4F###@###+#####4+4+44#++4+###4+44#+==4@4FFO`OWW```ir{{ri{{{{{{rr`WWOOFFOOOO``ri{{{{{@{{i{{rir{rrrW`WOOOFO===4444+###+==OOO=WFFF==44=O`O`r{{r{{{rrrrrrr{{{{riO+F###+###4++#4+4#+44#4#+##@#+++444444==#4FW``WWW```{{riiirrr{r{r{{rri``OWOO`O``rrr{{{{{{rr{{iir{{rir`WWF=OFFO==4+#4+####==F=OO=FF=FF==4=FOOii{{{{irirr{i`iir{{{{{{r=#F+###+##++444#+++44+#+++######4=++++=4==WWr`OW``irrrriri{{{{rr{{{{@{i```W`ii{r{{{{{{{{rii{irrii``WWOFO=F=O==#4#####====F====FF44==4==O`Wr{{{rrirrrr`iii{{r{{{r`W=#+####@###+44++#4+4#+4#######4+##+==44=O``i`OO``ir{`i`iir{{{{i{r{{r{r{rrrirrr{{{{{{{{r{{rirrrir`i``i`WFOFOFF==4=+#+###+4==F=F4===F4=4=4=+==FOWii{rrririirrrr``irr{r{{{riO4@F+####+####+4+++44+4#+#####@++#==++==FW```OO`iir```W=`r{{{{{iir{{{{{{{{r{{{{{{r{{{r{{{{{{riii`iii```WFWOFF=F=4+#+#####@##4==F==F=4=44=4+==OWir{{rriir`rrri`Wr{{{{{rW=F###+#######++++4++==####@###+###444===FWW`WO`irrii`WWr{rrriiir{{{{{{{rrrrri{{{{{{{{rrr``Wirii`OOOOOOFFOF==44++#@###+4=4===4=4+==44+4#=OO````rrrr{iiriiirWiri{ri{i`O4F+###+##@#+#+++=4++#####+++#4=+4===WOOWWOii``i``@rr{{rrrr{ir{{{{{r{rriirrri{{{{{iii`W=Wiri`OOOFFFOF=4+++++#####=+====4===4+==4+4+=FO```i{rri{ir{ii```W``iirriir=#++#######++#+4=4==+######@++=#+4=FFOOOOWWr```W=``ii{{{rr{{{{rr`ir{{{{{{r{{rrr`{{{{{{{{ri`W==`````WWFFFFF===4=+#####+##=====44=444+4++++4=FOW``iii{rrr`W=``WWWi`riiri`OF4#+#########44+#+###@##++4+#+4===WOWWW`WW``W```iii{{rr{{riiirrr{{{{{{rrrrr{ir{riiWWWW`WW`WW=FF===4=4#++#####++44==4=4+44++4=+4+##++=OOW`ii`ri{rri`W=```WO`i`iii`W=+F++########4++++4#####+++###====OFWOWWOOWO```iii{r{i{{r{{{iii`irirrir{{{{r{ri{{irii`FWi`WW`FF==4@==4#=########44==FF=++#+44++#++4=W``Wi{i```W`````iWO```iiii`@F+####+44#4#++#####+#44+##++4===FOOWWOOOO`irr{rrr{{{iiiirr`r`irr{{{{{{{{rr{WOOWO``iWWWWF====4+##++##4==4==#4+###++######+FOOO`W`irrr``iiWWO``i`O`ii`i`4F#####+##++44++########+4=#####4+44===FFF4FF``ri{rrii{rr{iiiiiiir`ir{{r{{{{{{{{{i`WWOOOWW``W`OO===444#+#+####+++=4===4=######+#@####4OWWW`WWriiiiWiiWWOW````WOWW`i``i@F###+4+++#++####+#4+4+###+44===F44==O``````i`iiiiririi`rOi{{ir{{{{rr{@{{i`WOO=FFWWFOFF=4=44#######@4#44====44#####++###4=FOiiiWWW`ii````````O```WW`W`iirii`+F###+4+4=4++++@######4+++44=4###+======F===O```O`WW`````=W`iii````Wiii{i`{r{`{{{{{r`WWOF====OOF=F==4+44#####@##4===O====+#+#######4=OO```iWWOiir``ii`WWW````OWW`i`````=4F#4=4+=+#+#####4+4#+=44###+4=4=F=4==WOFFWWOW````WWWW`i`W=WWW`ir`iWi{{ri`W`{{{rri``WOF=F=4==F==44444+4+#+#######4F=FF4=4####@####44W``WWi`i`iW``W``iWWWW`iiii`=#{{{44444==++#+#+##4+4++##+444=4==4=4OOO=FOOFOW``WWWOOW``WOWWWW`r```Wii{r``W````iiiii`OOO=F==4=44=44=4#++4#+#+#+=FFFO==4+#####++#==OO`W```OW`W`O`i`i``W`WiWWWiir`iW=+F#444+44=4++#@#++##+#+++####+444=4+44==O=FF==FOWOWFFWW`WOOOOWiWW`WW```WOWWWWOOWOO==F==44=444=4++#+#####+#4===W=O=F######4F==FOO```W=`WiWW`WWW````WW``i`i``i`F+F#444=4++#####+##+++#@444444+44==4=FF====FOOF=OOWWWFOWOO`W``W``WWOOWOFFOFFO444+==44==4#4++@+#####4=OFFWF=O4##@##44=FFOW```W=`W`W`OWWWWOOWWW`i``W4@F#+====F==#+#####+#+4####44+444#=444==4===FOOW=F=OOF=O=O=`OFOWWOWWOF4OF=4=44#+#+++#44+++###+##+###44FO=FF==###@4F=OOOW``iWW``OW`WW`iOOWWWWWOWiW``WO=#@+4===FF44++#####+#####444+4+444+==+444+4==4+F=OF==FFO=FFFFWOOO=OO=W==F=4=#+44##++##++4##+##+####4=OO=F=4=4#@###==FOOOWW``iWWW``W=`OWOOOO``WWWOWi`W@=#+==FFOO4+########+444+++4444444#4++4=44=F==FO===F=FOO==========444+4#4##++###4+#+##+=F===4+##++==OW`WO````OWi`WWWWWW``O``W=W```OF4#@F##4===FFOF==4++######4+++++4#4+4+4++++4+=4=F4+======FFF=F=44=44+=+4+44+4########++4#@#+=FO=44###+#4=FW``OOWW``WW=WW`OW`O```W``W``WO=#F@###4=FOOFF=4++###++++4#++#+++@#+++#+444+#+#+=4===44====44++4+=444++++###@######+=FF==##+4=OO`WWO``W`WW`WWWOOWOO``WWOWFOF4ذhH0 (0000888H`иxPH@HXPH@88@HPHH@8@Ppȸ`@(  (0Hhȸ`@( (8@HXppP8((88Ƞ`@( 00088@H`pиXH@HPPHH@HHHP@8008HpиxP8   (0H`ظxP8 (0@HXhX@(((ȸxX8(  0088@P`p`PHHPPPPPPXPP@0((8HpаpH0 ((( ((((((0@XШ`@( 0@PXhаh@(ظ`H0( (08@HXhxhXHHHHHPPPPH@0((0@XxȨh@( (0(( (00080000@PxȠxX8  (8@P`xX8 аpP8(((((08@P`px`PHHHHPXPP@8( (8PhȠ`@( (080( (88@@H@888@HppP0 (08HXxȸhH0ȰpP80((((08@P`ppXPHHHHPH@8(((8H`xX8( (0080( (88@@H@@@@HPxȸhH( (08H`ظxX8 ذpP8(((((08@HXpȨxhXHHHHH@8( (0@XxxX80(08880( (8@HHHHHHHPX`@( (08PpȸpаhH0pX@0((((008@H`pȰpXHH@@@88008H`pȠxX8000800(( (88@@@@@@HP``@( (0HhhXXP`pȨ`@(xP@80((0088@HP`xx`PH@@@888@PhxШX8888800((((08888888@HXh`@( (HhШ`H8(08@P`xX8(аhH@80(((0088@Hhxh`XPPPPX`ppP88800(((((((0(((((08@Ph`H( 0X`H0( (008HXhxpP0(  x`H@80((((008@HhxphhhpxиhP8880( ((0(( (08PhhH0 (@hب`@( (((08@HhhH0( (  ((p`P@80( ((08@PpȰ`P880(( ((0(  (0@XxxX8 0HxȘpP0  (08Ppȸ`H0( (  00Ȱp`XH@0( (08HXxȰ`P@80(((((((0  (8HhȨ`@(8X`@( (@`ȰxX@0( ( (88xp`XH@0( (08HXXH88000((((  0@`ȰhH0 @`ȰX@( (@`xX@( (  00ȸxph`P@0(((((08H`xP@8888800(( (8`иxP8 (HpxP8( (Hh`@( (((  ((ȸxhXP@0( ((08@PhظxP@8888800( (@hȸ`@((@`ظpH0  0Pp`H(( (((  ((xhP@0( (08@HXpظxXH8888800( 0PxȸpP0 8Xxаh@((8XxȸhH0((((((  ((pXH0(  (08@P`xȸи`P88000((  8XиxpxX8((PpȨh@((8`иxphpxpP80(((((  ȨpP8(  (0@HXpp`XX`pиpX@80((((  (HhȸhXPPXhhH0(@hȨh@((8hиpXH@8@H``@0(((((((  hH0  (0@P`xиxhPH@@@HPhxȸ`H8(((  0PxhXHHPX`xxX@(  (8H`ȰpH0 0HxธpP@8008H`x`H80(((((( x`@0  (8HXhpH8((((008HXȸpX@((( (8`ظxXH8@PX`ppX@0((008HXpииX@( 8`РxX80((08H`xȠhP@800(((( hȠ`@0  (8HXpРxX8( (((00@Pp`H80((  0HpаxXH@HPX`px`XPPPXXhxȰxphpxpP0( 0PxhH0( (0@P`xȨhPH800( (  ((`xШ`@0(  (8H`xи`@(((((0@PhpXH80((((  (@`ȰxXPHHPX`pxxxxРxX@88@HPX`hpxȨ`@0  0HpаX@( (8HXhxȨpXH@80  0( (088`pШhH80  (8HhxP8  ((8H`xpXH800((  (0@XpxXPHHHP`xxX@(((08@HPXX`hxȰxX@(( (08@XhظhH8(((0@HXhxȰhP@0(  ( (08HH`pаpXH8(  (8PpаpH0  (0@XppX@8800(( (08HXpxXPHHHP`РpP8( (08@HHHXhxX8008HXhxȠxX80(08@HP`hxxX@0  (08HXX`pиhP@0 (8H`ȰpH0  ((08PhȸpXPPH@@@8008@P`phXPPX`pX@(  (088@@HP`pxXXX`pxиhP8008@HPXhpxxhP8(  (08HP`xx`hx`H8(((8H`xȰpP8  ((000HhȸpX`hhppxxph`XXXH@@HXhxȸxh``hxШ`@( (((0888@HP`hxȨXH@88@PPX`ppxxxx`H8( (0@P`pXhxȸx`H8@@P`xȸxX@((( (00008PpphhXHP````hȸxxxh`hhxpP0  ((008888@HPX`xظxXPH@@HPX`hpppppxhPH@HP`xXhxx`PX`p`H8000008888@`ظ`PHHH@@HXXXXXpȰX@(  (((088888888@HPhаxXPPHHPX`hhphhhhph`hxXhpxhP@80000888@Ppиx`PH@@HHHPXXXXXhظpH0 (((0888888888@@`Ȱx`P@@@HPX```XPX``pȸȸx`H@888888@P`ธxXH@88@HPXX```XX`pаh@( (((((08888@888888XxhP888@PPXXXH@P`hȸhP@88888@HXpx`HH@@@HHPXX```XXX`xȠ`8( (0(((((0888@880008PpȸhP888@HHPPP@8P`pȨpXH@8888@PhXH@@HHPPPX`````XXXXpxX80(0800(((08@@@880008PhpP8888@@HHH@8Ph耘p`PHHHHX`xȨh@@@@HHPPPX````XPPPXhȸpP00008800(((08@@880008PppX@88888@888@`ؘxh`XX`hxpP08HHHHPPX`hhh`XPHP`hxȸhH0088@8800((08@H@8008@Xxx`H@88888008HpȰxxȰ`@(0@@@@HPPX``h`XPHPXhȸpP888888800008@@H80008@hpXH@800888P`xP8(0888@HHPX``h`XPHPXpxX@8888880008@HHH80008HppXH8008@H`аh@0 (0008@HHPX`h`XPPPXphH@88888008@@H@@8008H`p`XPPXhpȸиȠX8( ((08@@HPX`h``XXX`pȨpXH@@@8888@HHH@@888@XxxpxȨxppиhP8( (((08@HP``hh``X``pȸhXPHH@88@@HHH@@88@PhpXPPX`xȰ`XXXXpȨXH80((((((08HXhhphh```hpp`XXH@@HHHHH@@88H`xxP8 (8XxذpPPPPXhظpP@800000000@P`ppphh````pxp`XH@@@@@88008@XxиpP0 (@`Ƞx`HHPPXhxȨhH@@88888888HXhxxxph````hxxh``phXH@88880(((8PpȸฐhH00H`ȰhXHHPPXhxȸиpX@@@@@888@@@HX`ppph`XPXXhxȸpXH@@@P`xp`P@88880(00H`иxppxȘpP8 0HXpи`PHHPPXhxxhpxȰ`P@@@@H@@@HHHPX`hhh`XPHPXhxȸhP8(  (8XpXH@888008@Xxx`HHHPXxȰX@(0HXhиxXP@@HHP`xxh`PHPX`hXH8@@HHH@HHHPPXX```XPH@HP`xиx`H0( (0Hhxh`XXXPPX`xظpPH@@HPXxX@((@PhиxXH@@@@H`xШ`H@8008@HP`pиxP@8@HHPHHHPPXXXX`XXPPH@HP`xȠ`@( 0@PpxxxxxpP008@HPXxиxX@( 8PhиXH888@H`ȸhH000088@@HPXpȸxP@8@HHHHHPPPXXXXXXXPHHHPXphH0  08XpX@08@HPX`xȸX@((@Phи`H888@HhظxP8 (08@@H@@@HXhxȸxP@8@HHHHPPXXXXXXXXXPHHPXhиxP8(  (@Xذh@88@PPX`hxȸ`@( 0HXpx`PPPX`xȨ`@0(08@@@H@@@HPX`pȸXH@@HHPPPPXXXPPPPHHHHP`pȰhH0 (@`Ȩ`@88@HPXX`ppP80(  0@XpphhpxhH0008HHHHHHHHHHPPPpȸhXHHPPXXXXXX`PHHH@@@H`xȨ`@0 (Hh`@@@@HPXXX`phH@800((((08XxX@((08HHHHHHHHH@@@@`ȸx`PPPX`````XXH@@HHHPXpȨ`@0  8XȸxX@@@@HHPPP`px`P@@80(((08XธpH0 (8@HHHHHHPHH@800Hhp`XX`hhhhhXP@8@HPX`pаh@0 0HpX@@@@HHPPP`phPHH80((08`Ш`80 (08@@@@HHHHH@800Hhxphhh```XPHH@P`hpȨ`80 0HxhXHHHHHHHHH`xhPHH@888HXxȘpP0(((0088@@HHHHH@800Hhxph``XPHHHP`xȠX80( 0HxظhXPPPPPHHHHhpPHHHHHH`xи`H((((008@HHHHHHH@880Hhxph``XX`hxX80( 0HxȨx`XPPPPPH@HPph`````hȰX@(((0888@PHHHHHPH@88Phȸxppppx`@0( 0PxhXPPPXXXH@HXxxxxظxP8 (88@HPHHHPHH@888Pp`@0 0Pxȸh`XPPXXPPHHXhаpH0 (8@HHPPPPXPH@888XxȨ`@( 8XpXXXXXX`PHPXhȰhH0 08@@H@@@H@80008`ȸȨ`@0  @`иpXHPXXXPPPHPXpȸȨhH0 (088@88880(((0@hиxhpxȨh@0(   (HhȰxXH@P`XXPHHPPXxȰxȰpH0 (000000( ((8HxxhXPPXX`pȰxX@0( (  0PxhH@8HPPPHHHHXhhXPP`pаpP8  ((((( (0@XpX@888888HXxиpP80((0(( (8`ȸxX@88@HHPHHHH`xظxP8((08HhȰxX8  ( (0HhpX@00000008HhȸhP@8880(  8PphP80008@@@HHPhиpP8( (0@Xxxphhhxȸ`@( ( (8XxȸxX@0 ((0((0@XxxhXHHH8(  0HhX@0(((008@HPXxpH0 (08Phx`H@8@H`xȸpP8   0Hh`H80((000((8@Xxp``XH80000@PhȸȰpH0 ((008HXxШ`8( (8HXpxp`XH80088H`x`H0 (@XxظpH80000800008H`xxp`PHHHHXpи`XXhxX8( (((@XhH0  (8@H`xаxXPH@80((0008H`xxx`H( (8@XxxX800000000008H`xpppppxX@@@HXhȸxP0  (@XиX@( (08@XppX@88800((0((0@Phhȸ`@( 0@P`xи`@((008000008@H`ȨpP8(((08H`ȸpP0  (((  (@`ȰP8  (08PpȨpP8((0000000((08H``x`P880088@PhphH0 ( ((08@H`x`@0 ((08Hhȸx`@0(((((  0PppH0 (8PpȸpX8( (((((((((08H``p`XXXX`hxȸxX8( (08@HXpȸxX8( (((08XxpXH80((( (8XฐhH0(8XxX@(  (((((((((08PhhȸȰhH0  ((008PhpP80000(((0PxpXH8(((((@XxذhH0(8XиxP8 (((((((((08@PhhȸX@( (((((HhhP@@@880((0PxpX@0((08XxаhH0(8`аpH0 (00000000008@HXhhȸxph``X``xX@( (((((HhиhP@@@880(08XpXH@@HXpȨhH0 (@hаpH0 (0000000888@@@P``иxh`PH@8008@XpX@( (((((HhиhXH@@88008Hhx```hxhH0 ( 0HpаpH8(08888888@HHH@8HXXhPHH@800008@P`X@(  ((((0PxxxxxxиhP8800(00@Xx`@0  8XȰpP@08@8008888@@888H``Ȱ`H000(((((08@HXp`@(( (((((08`ȰhXPPXhp`XPPP`pиhH0(( (8PhxX@0  (HhȨpXH@@H8008888@8008PppиxphhhxظpP8((((((((088@P`xиX@(((((((((08HhpX@8008HXhxphXH@@@@HXȸpP80(((8H`hP8(  (0@`Ȱ`P@@@8((0((((((8Hhx`XXPHHP`pШ`@0 (((((0888@HXhxиX@(  ((0000008HXxаpP8  0@X`h``PH8000008Hpȸx`H8(08H`xhH0( (8H`ȸpXH@@0(((  (@Xxx`HHPHHHHP`xX8( ( (0888@HP`hxиX@( (((((((08H`Ƞ`@( 0@@HHH@@8000((0@`xhXPPXhhPH888HXpȸhPH@0(((  0Ppи`H8@HHH@@HXpȸhH0( ( (088@@HPX`pиX@(((((((((((0@PhpP0  ((008888800((08XxxxxhXX`px`P@80(( (8`аxX@0888888@P`pȰX@( ((008@@HHP`pиhP80(((((((((8H`Ȱ`@( ((08000(( (8Xxp`PPHH@8000@Pxؠp`XX``hxаpP@000((08@HPXpxP8 ((0008@HPHH`xиx`P@000(((((0@XxxP8  (800(( (8Xxxhhh``XPHHXpx`H@88@HP`pȨhH8 (((0@@HPXpxP8 ((0008@HHHH`xx`P@880(08@H`xаpH0 (000((((8@`xphxP8  (0@HXpȨhH0 (8HHHPXpxP8( (((0888@HHHHH`xȸx`PHH808HP`xШ`@( ((0000008@PpȸH0 (08@Ph`@( (8PHHPXhX@00((0((0888@@@@@H`ph`XPX`pxȨ`@( (08@HHHPX`hȸ@( (((8HhxX8( 0@XPPPXh`P@888800088@@@88@HhȸȸxxxȨ`@( (08HP``hpxаx`XPX`hpx8  (8PhhP0 (8HXXPPXhpXH@88@8888@H@@88@PphH0 08HXhxȸpX@@@@HPX`h0  (8Hhȸ`H0  0@P`XXXXhhPH@@H@@@@HPH@88HXxpP8 (@Phxȸpppp`XhxаpH8((008@HHPh0  (8H`xȸhP80 (0@PXPPPXppXPHHH@@@HHPH880HXx`@((@XpȨx`PHPX`pxx`H@8HPX``hpx`@0(((008@@@Xp0  ((0@P`pȸx`H80008HPXPHPXphXPHH@@HPPXH800H`xpP0 (8XxȸpP0((0@HPPX`hXP8 (0088@@H`ȸX80((((00888H`( ((00@H`ppP@0008@HPPPXhȸxp`XHH@HHHH8008Phȸ`@((8PpȰpP8 (08@HHHPXH8( (((088@Phи`H(( ((008HXx( ((008@H`xȰ`H8888@@HPXhx`PHHHH@80(0@XxpP8( (8PpxX8( (088@@@@H8(  (  008HXxаpH0 (08HXx( (08888@Xpиx`HHHHHHPXhxpXPHHH@@88HXpȸpXH@888HXppP0( ((0088008(   (008Hh`8( (08HXp( 08@888@Phȸx```XXXXhx`XPPPHHHP`xp`XXXhxhH0((((((080((( (  ((008XxpP0  (008HXp  (888888@P`xȸxxxxȸxphhhh`hpȸhH000(((0080(   (((08PphH0  ((088HXppp ((08@8888@HP`pиhP8880(08880(   (((((((08Ppи`H0  0088@HXxȨx`P@@ ((00888888@HPhȰȸ`H000((08880(  ((((0008@PhȸhH0( ((088888HXxȸhP@0((  ((00888888@@H`xȸ`@(((((08880(  ((0088@@HXhȰpP800008@@H@888H`h@0  (((08888888@H`xȸX8 ((000(  ((08@@HHHP``H80008HHH@88@XphH0( (((((08888888@H`xȰxP8 (((((  (08@PPPHHP`pX@008@PHH@8@H`аpH0 (((( (((((0888888@@H`xȰxX@( (((  (08@H@@@@P`hP88@@H@@@HXhxX8( ((((((((((0088@@@@HHP`xȸxh``hxȰ`H0((((((  (((088@8888Phx`HHH@@@@HXpȸ`@((((((00(((((((0@@@@@@@HPhȰp`PH@@HX`pȰpXH@80000(( (((08880008Ppxh`XXPXX`pиX@((0(((000((((((8HHHHH@@HPhpXH@0(((08@PX`pȸp`PH@888880(((((((((((08880(08XxȸxphhpxȰxP8(0800000800((((0@@H@@@@HXppX@80((((088@@HXhȸxph`XXXXXH@800((((((((0080(0@`ȰxP@00800000@8800((0@@H@88@PhX@0((((((0800008H`xxxxxhXH@80((((((((080(8PpȰxXH88800000H@8800(088@@@HPhаhH0 ((((((0( (8HXxxhXH@0(( ((((000H`Ȱ`H800(((00XH@88000008@HP`xxxxȠX8( (((((((  (0@`x`P@0( ((((008PpȸhP80((((00`PH@800008@HXhxиxp`XPPX`hxpP0  ((( (  (0PxxhP@0( (08@HhhP0( ((((p`P@800008HXp`H80000888H`xȸhH0  ((( (  (HhȰh``XXX`hP@0( (0@P`ȸpP0( ( p`PH@8@HXhxаxX@0((((08008H``H(  (((((((  (@`ȸx`PHHHHPXxȸhXH8000@P`x`H800( p`XPHP`ppP8( (((080(08Phxphȸ`@( (((080(((  (@`ȸpXH8888@HPxp`PH@@P`xx`PH80( xppxX@( (000080(00HXxphhH0( (000080(((  (@`Ȱ`P@88888@HPpȸxph`pxphXPH@@ذhH0 (0888880000@PxȰxphxpP80(0888880(((((  (Hh`@8008888@HXpȸxppxphhhxX8( (08880000((8@hȸxphpxhH@0000000(( (8XxȰpX@80088888@P`pxh````pxȸxp`XXXXXX`hxȰ`@( (008880((0((08`иhPHHPXhxx`P@8000((((  (8Hh`P@88888888@HP`xи`PHHHPXX`hxȸxP@8(  (@XhаpH0 (((000( ((Px`H888@PXhȸȸp`P@000(((0((((0@Phظ`PH@@8888888@P`xȨpHHHHHPXXX`hpȸȠ`8( 0HXpxX8( (((((((  @hظpH0 (08HPXhxp`H8880(088888H`pаx`XPHH@8888888H`X8@HHHPXXXXXX`ȸи`@( 8H`hxȸhH0  ( @hذh@0 08HPX`hȰxhXPPH@HPPPPXhаpPPHH@88888888HXhH08HHHPXXXXXX`xP8  8HX`hpxX@( ((( @hذ`@( 08HPXXXxxph``hphhpШhHHH@@888@@@@@HXиxX@(8HHPPXX`XXX`ذh@((8HXXXXXpX@( 0((  @hРxX8( (08@HPHHhȨhH@@8888888888@PxȰpP8(0@@HHPPXPPX`ȠxP0 (8@PHHHHXpX@( (800(  (HpȘpP80((008@H@@`ȨhH@8888@888888@HpȨhH8(08@HHHHPPPXhȸ`@((8@H@@88H`xP8  (0((( (PppP0( ((088@@@`hH@80088800((0@PxȨh@0((08@888@@HP`xиxP8  (88@8800@PpȸxxP8  ((((((((((0PxpP0( (0888@H`pP@8000800( (@Xаh@0(((080((08@HXpȰpH0(0@8800((8HhpP`xxиxP@(  ( (((( (0PxpX80(((0800@PhxP@00((0(( (HhȰpP8((((( (08@Phh@0 08@80(( (8XxhP`xxиxXH80((( ( (0(( (0Xx`H80000800@XpȰxX@0(((((( (0PxȰx`H0((  (8@H`x`@0 (@@H80(  (Hpȸp`P`xxи`P@800(( ( (0((( 08`ȨpX@0000888PhpP@(( 0@hpP8(  (88@Php`@( 0@@@0(  @hȸphxȸp`PH@80(((( (000((8HhиhP88888@H`xpP8(  (@Xx`@0  (88@HX`hpx`@((8H@8( @hhXPH@000(( ((((00H`xx`HHHHPXhxȸhP8(  (8PppP@8( (008@HPPX``hp`@( (80( @pظxXXXhxh`XH8880(((((((0@Xxȸp`XX`hxp`P8(  (8HhȰhXP@000(((((08@@@@HHHPXphH0 (  HxpX@@HXhxxp`P@@@80(((((0@Phxȸp`PH80(( 0@Phȸp`H8800(((((0000888@HPhpP8   (XȨhH8008HXhxp`PHH@80(((08H`xȸx`XPH@@@8000H`ppXH@800(((((((((008@P`xxX@((8`ਈhP80008@PX`pxxh`PH@8008@P`xȰpXH@@888@808@`hPHH@80( (08@HXhx`H0  8Px؈`@0(0888@PPPXhp`PH@8@HXhxhP@800088@88HXxx`XXH@0(  (08HXhpxpP8  (((  (HppP0008@@@@@@@PXxp`PHHP`pи`P@8800088800H`h`PH80  0@P``h`H0 (800  (8HhX@(08@HHH@888@PxhXXXhxȸȠ`@80088888880(Hpx`P@8( (8HXX`xxX@( (8H@8((8PhP@08@@@@@8000@Hppppphhh`hpȸpP8008@8000000(PxhP@8(  08HHPppX@0(((08@P@8( (8HXpxp``H@8@H@@8800008HpxphhhpP88888@H``H008@H80000000XpP@8(  (08@HhpXH@@@HPPXH800@XhȨx`XP@88H@0888000((((8HppXPPHHHP`xpP@00888@HXhиxX@(00080((0008@`xXH8(  (08Hhxphhhhppp`XPPhxhP@880((P@000(((( (8Hp`@((((008HXxhP80(088@@HPXxȰxP8((0(((((000@PpȰ`H80(  (8HhxxxȨhH0 P8(((((  8PxиxP8 (08HhиxXH8008@@@@@HPhpP@0(( ((((@Xxȸ`P80(  (8HhpP8( P8(((((  8XȨhH0 (08XxȨhH@88@@H@@88@HXhpP@8(  (((@`hP@80  (8PpȰxX@( P@00000  (Hh`@( (08Xx`@888@@@88888@P`xX@0( (0HhȸpXH8(  0H`ȸ`@0 P@88888((8XxȸxX8( (08XxX@88@H@@800888H`xȰ`H0 (8XxhP8( (8Pp`@( hXH@800  (8PphH0  (0XxȸhP888@H@88088@@PXxȰhH0( 8HhpXH0  (08HPhȨhH0 hXH80( (8PpиX@(  (0PxȰ`H88@@H@8888@HPPXxȸpP8(  0H`xhP@( (0@HX`pȸhH0  x`P@@888@PhȰxP8  (0PxxPH8888800088@HPXhȸhX@00((08H`xp`H800@HX`phH0 p`PPPPPXhpP8  (((08XxฐhH@@880((008@HHP`xx`H@@@HXhhXPP`pxȸhH0  xpppppxxX@( ((0((0@`ذhH@88800088@@@HH`xxhhhhhxxxȸxpxxhH8(  `H00008880(8HhШhP@88888@HHH@@@H`xаxh`XPPXxX@0((((((x`H80000800@PpȠ`H@88888@HHH@888Xxȸȸxh`XXH@@H``@0((00000 x`H8000888H``H@8888@HPHH@800PxȸphpXPHHP@888PhX@( (88888(pX@808@@H`xȨhH@88888@H@@8000PxȰxppxpph``hxаpH@8@H@800HhhH0 ((0@@@88( hP@08HPXpаhH@@88888@880008Xxȸph`X`phh`XXXhxШ`@808@880(HhȸpP8( (8@HHH@80(h`PX`hxаpH@800088888808@`hXHHPXhhh`XXX`hȨ`80(0800((Hh`H80(08@@@@880(ȸȸxxظxP@00008888@88@HphP@08HP``h``XXX`pȠX8( (80((0HhиXH8888@@@88880( xxpppxаpP8(((00088@@@HXxȰ`H00(08HPPXPPPPPXpxP0( 0((08XxиxXH88888@@88880(  p`XPHHHHPXpȨpP8 ((008@HHHXhȸh@( ((08HHHHHHHPXpȸpP0  (((0@`p`PPXhxиxXH88888@H@8880(  (88аx`H88@888@HPhȸhH8((((((08@@HXhиpP0  ((0@@HHHHPPXppP8( (8Hh`H8008@PhиX@000008@888@0(((0@P``Ȩ`@( 0((08@P`xxhhhxx`H80((((((08@HXpȨpP8(  (08@HHHPXXXpxX@0(  (8PpȰpP8  0Hh`@((((00888@H8(08H`xȰhP0(((0(((0@P`pȸxh`XPHH`pȰhP@8800( (08H`ȸxX@80( (08@HHPPPXXppP@0( (0H`pP8  (@Xx`H((((0088@@@80@PhظxP8(08880(((8PXhxpXH88800@XppXH88@88(  (@X`H00800((((08@HPXPPX`phP80(0@XxаpP8  (8PphH0(((008@H@888PhȠ`@800888( (8HXhи`P@8000008HXhx`H@88@88(  8PxиXH08@800(((008@HPHHPXphXPHXhȠ`@0  (0@Pp`@800008@H@@HPhȸhP88@8888( (8HXpȠ`@0((((((008@PphP888@H@80(  0HpиxXH8@H@800000008@HHHHPhxpppP8( ((008HXxxXH80008@HHP`pXH8880000  0@PhpP0( ((((0008@`аpXH88@@H@8(  0HpȸXP@HH@8000000008@@@HXphH0( (((00088HPpxhXPPPPX``hxиxP@8880((( (8H`ȸ`@((((080(08PpȠ`H@8@HHH@8( (8Hpȸ`XPPP@8888800000888H`ȸ`@(((0888888@HPpxppppxȨhH8000(( (8H`X8  (00008PhȸpP888@HHH@8(  (8PxȰ`XPPPH@88880000088@XpȸxphhhhpxȸX@00008888888HXxȠ`@80(((( (8PhظxP8  (0888H`x`H008@HHH@8(  0@XȰ`XXXXPH@888880008@PhаxXPHHHHHHHP`pȸXH888888@8888H`xX8( (((  0PhظxP8  (0888HXxȰpP8 (088800(  (0HhhXPHHHH@@88888@@HXhxX@888888008@PhȸpXH@88@@@8888PhȸpP0  (((((  0PpظxP8(((  ((08@@@HXx`@( ((((0((  (08Xxx`H@@@HHH@888@PX`pаxX@((((((( (8HhȸpXH@@H@@8888PphH( (  0XxxP8(((  ((0888HXxpP0  ((  (0@``H@@@HHHHHHP`pxȸpX@0(((  (8PhpXH@@@@@888@Xp`@( (  8`X@(((  ((008HXx`@( ( (8PhhPH@HPHHPX`pxP@0((((  (8Hpx`P@@@@@88@H`xиX@( ( (@h`H00(  ((0@PpȸX8   (@Ppxh`X`h``hxаh@0(((((  (8`xhXPPHH@@PXxȰиX@( ((( 0PphP@80(  (((8HhȸxP8  (0@XxxxȠX8( (0((  0Ppxh`XPPP`pp`PPX`hȸ`H0  (0HhhXH80(  0HhȰxP8  (@XpP80000(  0H`xpppиx`H@88@HXhȸpP8( (8H`p`P@8(  0HhȰxP8  (@`и`H88@88(  0@Xxиx`H8( (08HXhhP8(( (0@Phx`P@8(  (@`ȸX@( 0HhȰxXH@@H@8(  0@XxШpP@(  (0@P`xhP@80(((((0@XphXH80(  0PxhH0 (8XxȨpPPPPP@8( (8HXxи`H0  (08H`pȸxh`XPPHHPP`px`P800  0@``@( 8PhpXPPPH80(  (8HXxذhH0  (0@XhxxpppxpX@88( (0@XppP8( 0Hhx`XXPH8(  (08HXxȘpP0  (8P`px`H@@80008@Xhȸ`@(0H`x`XXH@0(  (0@PhX@  0@PhhXPHHH@@HXhpP0  (HhȰx`XXH@0(   (8HXpаhH0(8H`xphhhh``hx`H0  (0@`Ȱ`XPH80(   (0@XȨhH0(8Ppx`H8000888H`xиhXP@80(  ( 0HphH0(@`ȸp`XPX``hpȸp`hpxȰ`PH80((  ( 0Hp`@((8`xph`XP@08HPXhxȰxXH@0((( ((0( 0HxX8( 8`ȸp`P@880( (88@HX`hxȰpP@0( ( (000(  8X`8((Hpx`P@0  (((08@HXhȨpP8( (((((08880(  (HpȨ`@(8X`P80  (0(((008HXhȰxX@(( (((((088@0( (8`ȨpP8 (HhpP8(  (080((((08HXhȰ`H0((((((((08@H8( 0HpȰ`@( (8Xȸ`@( ((0((((((08HXȸpX@800000088@@H8( (HhȸpP80(  (((@PpаhH0  ((((((((((0@PxhP@88888@HHHHH80((0@`ȸhP@80( (088@XpȰxX8  ((((0(((000@PphXPHH@@HPPXXXPH@@HXxȸxhXP@8008HPX`hxȰhhȨhH0  ((((008000888HXpph`XPPPX`hhh``XXhxȸxhXHHHXhpxظxPPh@( ((00000008888@PhxpppxxxxȨpxxhhpȨh@@h@( ((((0088800088@@@@HhȸpXHPXhxX88`@( (((((00000(0000008HhpXH@@@P`x`@((`@( (0(((((000(((0((((8Hp`P@88008HhаpH0ȰxppxȸxpP8( (((( ((((((( 0HpаpPH@@@808@XxȨ`@(ظxXH@@HXhpXPHPXpȰ`H80(((((  ((((0(( 0HpȨ`@@@@H@888PpȠX8(Ƞ`@8(08@HhȰpXH8008@P`ȸxX@0  ((((0((  8X`888@H@888XxȨ`8(hH0  ((0HhȸxpP8(  (0@XxpP8  ((000((  (HhX888@PH@88XȨh@(иX@(  ((@XxȰxxxиXH0  (8Phxx`@(  ((0((  0PxxX8008H@88@`hH0аpP8 (8Hhp`XXPHPXpаh@( 0@PpȸpP0  ((((0(( (@`xX80(0@808HhpP8 ȰpP8  (0@XxаxXP@@@@8@HXpxP0 (0PpxX8( ((((0((  0HppP8( (0((8Hh`@((ȰpP8  (((08PhxX80((00008HXhȸ`@(0HhȸhH8(((((((080(  (@XpP8( (8PhpP88xP8  ((008H`xȰxXH00(000088@PXhX8  0Hh`P@@888000800((0@Xx`@0 0H`xpXXxX@( (0888HXp`@800008888@@HPXhxиxP8 0Hpp`XPHH@8888888HXxpP8 (8Xx`H0((088@@@HXhxȸhP@88800888888@HPXhȰpH0 8Xȸxpph`XPPXXX`phP888HXxhP888@HHHHHPX`hȰxXH@@H@888880008@HP`xh@((HhȸxppxhXXXhȸpX@@@HPPPPPPX`hxȰxPH8@H@@800000008@HPhxhH00PxȸxxhPPPPXXXXXXX`hxаpP@8@HHH800000008@@HXhpP8  8hЀhPPPPXXXXXXX`pȰpPH8@H@@80000000088@P`x`@((XX`phXPPPXXXXXX`hxȰxXH@@H@8000008000008HXxpP0 Hxиx@HXhpx`PPPPXXXXX`hpxȰxXH@@@88000000000000@Xx`@(@pȸиxp`XPX``hx(8HHPpȸx`HHPPXXXXXhxxȰxXH@@@88888800000000@XxpP8 @hhPH@8008@HP`x(0@@H`xȸx`HPPXXXXX`hxxxppxȰxX@0000008880000((((8Hp`H0 8Xȸx`PX`hxȨpXH800((((08@H`x(08@HXhȸx`PPXX````hpxpph`hpȸX@((((008888800((((0@pȸxX@(0HxȸxX@( 0@P`phhphH0( ( (008H`((008HXpȸhXXXX````hpxph`X`hȸX@0(((0000888800(((08hȸpX@(8XȨpP8  (8@HPPPX`hpxȸ`H0   (0@Pp((((08H`xxh`XX```hppxh`XPXhȸ`H8000000088@8800((08hxX@(@hȸ`H0(0888888@HPX``````hhpxX@(  (8H`x (08Ppph````X`hpxh``X`pȸhXH800((((0088800((0@ppP8  HxаpH8 ((000000088@H@@HHP``hpxȨhH0 0@Ph (0Hhxphhh`X`hpxphhhpxȸxhXH80(((((088800((8HxhH(0XȠxX8( ((((((((((((0((08HXX``hxpP8 (8HXp (@`xȸxphh`X`hhphh``pxp`P@8(((((088800((@XxX8(8PxȰxxxȸhH0  ((((( ((((0@PPXX`hxxȸX@((8H`x (@Xpxpp`X`hhphh``pp`P@0((((088800((HhpP8  0Pxx`PHHP`x`@( (((((  ((((08HPXXX`hhhxȰpH0  (8Ph (8Hhpph`X`h```XXXhxhX@0(((008880((0PphP80(  (@PppP@0008HXhиX8  ( (  ((0@HPXPPPPPP`xȨh@0 0H` ( (08XȰphh```h`XPPPXhxx`H00008888@0(08XxȸhPH@0( 0H`xȸpP0  (08H`иxP8  ( (   (08@PPXPH@@88H`Ȩ`@( (@Xx ( (8Xxȸxh`````XPPPXhxhP8000888880(8Hhxh`XH@@@@XhxxX8  ((0@PhȰpP8(    (08@PPPH@8000H`Ȩ`@( 8Pp ((( (8Xxиp`````XPPXhxȸxX@88888@8800@Xxxph``hx`@( (((08HXpȨpP@8(   (08@PHH@80((0HhȨ`@(0Hp (@`ȸxhhh`XXX`hxȸhPHH@@@@@@@@Xp`@( ((08HXpȨpXH80(((((  (08@HHH@80(08PpȨ`@((@p0Hhȸxpp`XX`hxh`XPHHHHHPXp`@( (008HXpȨx`P@8888880(  (08@HHH@8008H`xȨh@( 8h 8Xxxppxxph````hpxh@0 (88@HP`xpXH@@@@8800  (08@HHH@800@H`pP8  @p (Hhph``hxxxhH0 (0@@HHHXphXPHHH@888( (08@HHH@888@Phx`@((Hx 0@`ȠhPPHPX`phH0 (08@@@@HXpx`PHH@8800(  (008@HHH@800@PppP0 8` (@Xxȸ`H888@HPXp`H8(((08@H@@@H`xhXPH@8800( (  (0888@HHH@80(8Pp`@(Hx (08HXpиxP@088@HHP`xhP@0(((00888@H`p`H@8000000000(  ((008@H@@0(((@`x`H0( 0`08HXhxȨh@808@@HHPXhhXH80((((0008Hhȸ`H80(((08@@H80((  ((008@H@8( (0PphP@0 (8PxX`hxX80(088@@@HXxȸp`H0( ((0@PppX@0(((08@HP@000( (((08@H@8( 0Hhx`P@0((  (08@P`xȀpP0((088888@HphH0( (0H`hP80(08@HPXH8880(((((08@P@80(@`xh`PH8008@HP`hxИȸ`H(( (000008HpȰpX80 (8PpxhPH88@@HHP@800((((((08@PHHHH`xph``hpxиȸX@( (((((8Hpȸ`H8(((((0@`p`PHHHHHH@800(((((008HXXX`hȸX@( (((8Pxx`H80000@Pxpphhh``XPHH@888@@HP`ppxȸX@((( (((@Xȸxx`P@888Phxph`XPPPPX`hxȸX@000(((((0PpȰp`XXXhxxxxxȸ`H88800((08`ȰxxxpXH@@80((8HpȸhXPH8000@XxhXH@88@Xpx`PH@HXpxh``hpȸxphhhhhhpxȸxh`XX``hhpиxxиpppȸpXH@@HHH@@HPPX`pȸ`@0((08HHPX`phPHHHP`pиx`PPPXhpxxxȸx`P@888@8888@HHPX`xа`H(  0@@HPX`pȰx`H0(((0@PhаȸȰxP@0008HPXPPPXphP@0((00800008@@HHPh`H0(8@HPXXXpȸxX8((8PpРȸxX8( 08@@@8@HXpȸhPH80((((0((((08@HHH`pиhH0 (8@PPXPPhȰxX8  0@XhАȸxh``h``hxpP8  000((08HXxȰ`P@8800(((( (08@HHHP`xȨpP8 (8HXXXPH`xȸxX8 (8HXhxpXPHHPHHP`hx`@( (( (0@PhpP@00800(  (0088@HP`pȸ`@((8@PPPH@PhhP8  (8HXp@demo1 * histogram equalization @demo2 * grey-value operations @demo3 * skeleton @demo4 * skeleton of the background @demo6 * selection on size @demo7 * noise filtering &/A/@.(/9(/9(N./A/@XON/A /@/|`<XON RG`<.N^NuNV09`:gB@9E @gn0. S@HAr0fX0. S@HAr0gFB@9E @g40. S@HAr0f09Dg0. S@ Ac0gp`B@=@0g9DfHyHyi^NPO0.f09`:gB@9D @fHyHy>`BBHyVHy&/9dB/9d>N./A/@.ib/9i^N/A /@PON&/A/@XON#`<#`@Hy&/9>/9>N./A/@.i/9iN#`D#`H0.g@BgHyPPHyPNHyPLHyPJ//9`DHyVHy`N./A/@XON/A/@XON/A/@.`H/9`DHyVHy&/9dB/9d>N./A/@.`@/9`/9>N/A/@.i`fHyHyd>?. ?.?.?.0. S@f/?.Ndf/A /@\ON/A/@XON/A/@.i^N N^NuNVH0. fNN^NN` n ft09Dg09EV`09EgpBgHyPPHyPNHyPLHyPJ/9*H/9*D/9*P/9*L/9*@/9*bHy#Hy=j?9*p?.N?y*r?nNXO09Dg B@9Er`B@9E@f 9*L"9*P`^ .* example of a skeleton without endpixels. * a division of the background is obtained (exo-skeleton) read cermet * read the cermet image thresh * threshold the image -skel 100 * compute the skeleton without endpixels PON./A/@.*H/9*DN` 9*D"9*H#`D#`H~En 0H*~H@0g0f0.ڰy*tf0y*tf09*vg .fB@9E @f09DgBgHnHnHydFHyb/9`@/9`bHy#Hy=j?9(?.N?y(?nNXOB@9E @f09DfzHy(lHy&Hy(l/9(x/9(tN&/A/@.(/9(/9(N./A/@XON/A /@PON./A/@XON * example of the use of erosion and propagation * to select objects on their size read cermet * read the cermet image thresh * threshold the image inv * invert the bitplane bcop 1,2 * and save for later ero 10,1 * find objects > 20 by erosion prop 30,1,2,6,0 * and retrieves them in the original /A/@.`@/9`fgr09Dgh 9>h"9>l-@-A 9>p"9>t-@-A 9>x"9>|-@-A 9>"9>-@-A0.y>f|09qgrHy&HyFHyDtHyHy@N&/A/@XON6/A/@XON./A/@XOHnN/|&/|..D|HyHy@N&/A/@XON6/A/@XON./A/@XOHnN/|&/|F.DtHyHy@N&/A/@XON6/A/@XON./A/@XOHnN/|&/|..D|HyHy@* example of the removal of white shot noise read bnoise * read bernadette image medi A,B * compute a 3x3 median filter medi B,B * and again /A/@XOHn/./.N/A/@XOHn/./.N/A/@?nTON04p??.NXOp??.N͈XOp??.NXO09DgHyPJ?.N2\OBgHyPPHyPNHyPLHyPJ/./././././././.?.N04Bg?.N͈.PJ?.N2\O09Dg>Bg?.NXOp??.N͈XOp??.N.PJ?.N2\O=yE=yE=yE?.?.N .( Hy>bHy#Hy=j?.?.N?n?nNXOHnHnp?Bg?.NH09Df09DgHyHy?L` HyHy>Hyd>/./.N/A/@XON#i^#ib09`:g"B@9D @fHyHyi^NPO09Df09DgHyHy>`BBHy>/./.N/A/@XON#i#iB@9E @gT~ Gn0 Am0g40S@Afg ?.?.?.?. ??.N RG`~ G lL0A20g60Afg$?.?.?.?. 0R@??.N RG`ptLļļP8DLPTX\`ļPDHLPX\\ļXtļļTHHHLX\XdxlļPPLPXTLHLPTXXLN~.NA"/0<NBNuNVJy fB?<NT3 N^NuNVJy gB?<NTBy N^NuNVBn`0n"0Rn n m3"3 .%/< /<"NPN^NuNV>%?9?9?9BgNP3>TW?9 TW?NBy\ yg,>N`>Nz3> NbBBgNTBy"N^NuNVNp.^/<"/<%/<%Nf 3 .?9%NT3Z.%/</</<?<BgN.%Bg?9 N X09%R@3 09%R@33% ~3%.%?<?9 N X3%$3By By$3%>N |AaN^NuNV`F.%/<`/]/<%/< |/< zBgBg/< BgBgBgBgBgBgBgBgBgBg?<?<?<?<N8=@>N.gt09 `P09 yZf"Jy"fa:aaNJ@fa`a `809 yZfa`$`"a ``|g|g|(g|)g`.gJy"gara~.g6Jy"g..?<NT=@ nfaL nfa BWN`N^NuNVa2Bn`0nBRn n}mB#3 309 @3By3$ =n =n0. nS@=@0.nS@=@Bn` N2nXI"N4n1iRn nm./</?< ?9 N >a./</?< ?9 N >aTBnBn0.S@=@0.S@=@./</?<?9 N a <}N^NuNVBn`Bn`Rn n}mRn0.nmN^NuNV yf..?<NT=@ nfa nfB@`*B?<NT>N3\3"pN^NuNVB` nH. f-nR nJf .N^NuNV0.`L0. ` <`\ <`T <`L`J@g|g|g`2 <`0 <`( <` `|g|g|gܰ|g <N^NuNV n@fB@` n fp`pN^NuNV>./.a&X-@Jg*>?9 aT>?. a2T./.Ra@XN^NuNVp yfp`09=@tB?<NT."/<?<?<?9 |?9 zN BBgNT>"?9?9 |?9 z/<%a` -@v>t/<(aX>t/<xa X>t/<aX.?<HN Tm^.U/<(/<NP./a8XA-H` n *g R nJf.(/.aX`r.a.x/aX./zaX.x/zaX./zaX.z?<NT=@ nfBW/?<?9 ?9?9 ~?9$?9"?9/<%a`B yfa` yfanJy"f.%/.v?9%?<@N PJy"g.?<NT>%?<>N Ta`.C?<NTN^NuNV0.S@HR@N^NuNV=n>?. ?.?.?.aP`> a>?.?.aT?/.a P=@ noBWalBWaf>a^>aVBn` >?.?. a^T?/.a>PRn0.nm>a<HѮ0.nJnf\a(N^NuNV nf> /.aX``-nA-H0.@HѮ0. H=@` n"n0T0.@HѮSnJnf> /aXN^NuNV no=|Bn`V-n0. HЮ-@=n`& nH"nHA@RRDg0.`0.SnJ@fRn0.nm0.N^NuNV .2. HЁ-@ .-@-@`D./.aVX=@g../.aX>/.aX0.HѮ-n`R .f./.aXN^NuNVBn nH=@`.0n"n0H2.|HҮ"AHAfRn`` .2.HЁ e nlBn`0Jng nf n(Hngn nlBn0.N^NuNV . g6>a . H>a` nH>aR . fN^NuNV nH=@R nH=@JnfJnf > a^`D nf nf> Wa@`&BWa80. H>a(>a >aN^NuNV>a>a>a>a> a> a>a>aN^NuNV.d?9NT3.?9NT3 yf.?9NT3B?<NTN^NuNV n H"nR RJ@fN^NuNV`R nJf. /.aXN^NuNV0.@>a >aN^NuNV y%" R% %maN^NuNVJy"f2."/9%?9%?<@N P%fB@`p3"B%N^NuNV nR n 9o nBS.aN^NuNV.?<NTN^NuNVzBn~` N2n~BhRn~ n@~m.a./<?9%?<@N PfB@`p3"N^NuNV0y$=P.aP y$f.g=|w./<"?9%?<@N P"fB@`p3"N^NuNVBn`$/.? aF3%%pN^NuNV>a*pN^NuNV3$3 $3 $3$3$3$3$3$3$3$3$3$3 $3"$#$%3($3*$>N n,0% n00% n40% n80% n<0% n@0% B@09%N^NuNV3$# %>4NN^NuNV#%# %>ZN n0%B@09%N^NuNV3$3 $3 $3$>FN n0% n0%B@09%N^NuNV>MN n0% n 0% n0% n0%B@09%N^NuNV3$# %>NNN^NuNV3$# %>#NN^NuNV3$3 $3 $3$3$>dNN^NuNV3$3 $3 $3$3$>eNN^NuNV3$>fNN^NuNV3$>gNN^NuNV3$3 $>hN n 0% n0% n0% n0%B@09%N^NuNV3$>kNN^Nu#VNN/9VNu#VNM/9VNu#VNA/9VNu [1][Screen Snapshot v1.03| 1986 GST Holdings Ltd|Use the mouse to define|the area to be saved][OK|OPTIONS|CANCEL]SNAPSHOT.IMGSNAP0000.IMGA:*.IMG SnapshotPI1PI2PI3DOONEOIMG[1][Saving image as ][OK|CANCEL][3][Error when writing file][CANCEL][3][Error creating file][CANCEL][2][Display initial message ?][YES|NO][2][Pack output file in |GEM Image format or|leave unpacked for|other programs?][GEM Image|Other][2][Which unpacked format?][DOODLE|DEGAS|NEO][3][An error occurred][CANCEL]         *$: &2\.N * N"H. 4  $     0 l  6 J $ $&     $             's more informative error repsqssvssqrrsxvusuxwyxxxyyyz|{~wtuvvtttutuvtstwwyvvyy{|{~|{tuxwvrrtutwuvtvwxzyxyz|}z~{|swxztvuwuuuuuyyz{zyy{{~~}|}}uuwyxvwxwxuvxz{{{|{|}}~~vvyy|yxyxzyyyz|}|~}}|wwyy}|{yz{zz{{~}~}|{|xy}|}}~}zz|z}|}~~}|}~x{||}~}|z{{~~}}~zz}}}}||z~~~z{~}~|}z~~~|}~~~¾¾½½¿þ½¾¿½¼¾½}|{{¿ysqpqruxwxz~|¿kefbcdjlruzxw}tbY\Z[^ehnsvxwz|yxbWVWUUXY]afnruywz}yvgWYSMHMOOSTUW^ajoturu{~{vrs}njaTQPIGHFFFGHJJKLOUY]ffhahsuhbb]\edjjedcehemqRLLIFEECCDCBCCCDDCEEJMOTUWXZan|}xk]WSTTQRRUSQOOQPOOZ^gkvtSFBAAB?B?CABB?CCBCADDFGIKLLOTV_lyzpgWUPNLIJIKLKJILKKKKMONOSZ^nzYPFDB?BA????B?BBCCAACDEFGIJIKMORV]nuyqa[OQOMIGGGJKJIIIKJIJIKIKHKLOYfvWFCDBBCB?BAB?BBEGHHGFEGHGIJJKMMNNRV\ft~|siZUSQNLJJKJILLNOOSONNNMOMMJJMORUbqtyWFBCCBAACBABEDHKRVZ[TRMJGGGHIJOORPSQSZet{xpdYRQOTQQQPRTZ_iiddd``\YWUUQMMLMLSUX[_homRBCBBBBDDFCDFMR[ehmljfaZRNJHIIJMSSSTQRUZgxvspe^WWX[[][aioz{{xvxwqqn^XRNLMMONQRW[_j~nLCBBDCDADHHJNXajrwyy{upng]XUTQOMNSUXVTRW]fo~zzxpgkgjeejmv}qjb\NMLMLMLRTX]\jyZJAAAADEDCFKSYcmuz~zxwqmkfd^ZXZZ\]\XX\ho|{vswzwryzj\RMMMMKMRVYTX^dnRFAB??BEFFINWbiqy|{yurqplkfbfhcchms}}|wgTPLOMMNSUVWWUUZj{xPAA?BAADFJMRZfoux~~|z}~vqnqppqvyxû|j]SPNOOORTVTROMOSVcwkKA??BCCDFJOU\foy|~|z}}}}{{|~~~~|~|si^VQRQPPTWTRNLFFIO[ukL@?B?DDGGMRU]clt|{zxrtrtuttsutqpszþ|xpeWVWUSSZUTNNIFDEFRdvlLA??CBEGIOSX\gjqx}~|vqpqpphehffdgfeejkw|Ľ|zutpnmtwy||mha]_WXVWUSRKJFDAFL[m}rJA?CBFEIKOVZ_elowz}}yrmjkgb]Z[^^ahea_a_gnu½sia``_]bfgoxx||xqy|rqkd`^[[\XTQOJEB?BEJT^uzJ@>BAFHIKOSZ_bhqsvuuy{rlia]]_aa]hgmwrehjeacjtĿtf`[[_^\\fd^ijijgajv}{svqjgc]_b]ZVQLHDAAACEJYoWB=??BEIKNRV\^dimttqnooib`a`^gjhajfi{ygp|tmjceq}m^XZ[elb]_k^juud^Y^jlv}}}vtvpnicdc_]ZVRKFDDA?BCGWczuL@?BBDGIMOTX^afjmqpklgc^[_gm\[bbZY[[mj^m|||mbdn{Ŀm^X\Z_kd]V\\Witk]]avtnhju}xvttppkiccbb\YSLHECA????IRbyTEAACEDHLMOTY_bhikmhef`]_dd]^UOOONMNSTUU[jmzp``m|pb^^Z\b`YYYYVVZ\XVWe|{ppw}zwyxtmnjfdce]]WMHCABA????GTarhFBABDFGJOOSVX^cggggfa\YcmiYQMNLJKJKKMNNOOUZct{l]`nzsebbc\Zbaeib[VTUUWVUXdzxltz|y{vqloogabc__[QHFBAA??>?DNSVqKBADCGIGKOOUY\_adfigc\W^cc[NLLSTMLKLLLKLOOOUY^rvvi]bt~ž~mdjab`mw{s\TPOORYZVTV_twjjux}}zyslliiedab`\ZUMFDAA?????HKL]{[CABCFJKKMOSV\^ccfige^Y]i_UNLSZfdONOMLKIIMRPVfhhkvqb^lzŻwjlqhnv`ZTSQNSUUQY\YX[blvpikvy~{zuqnnigedc`^ZVLIEB???>?>CEHN_}}IABCEFHKLMOTX\beeghlaZW_\RMMSbr{jQQQNIIGHQ[WUn~rhkmg_frĽvrptyf[\VNMNRVVR[oj[UPZi{chm}~}{wvsppkkkjc`]UNIFCCA>??>??DIRfbFBBEEGHMKMSV\]cdhilh\WYZSLKTdvfS[aQIEFMnpRgsabhcdk{þ~yvy}]]ZPJIQjj^XWvwfQQYou`al|}||zutmosqmic\VQLHDC???>>?>CFJWlxKBADEHIIJJNSX[_cfijidYY\XPOS_se[r^HDFZNah^aehl|{|}njv^LFJjaWveRPUevqku{zz{zuwvvvspke^ZTJGBAB?>?????CDKYx¿REBEDEFIHILNSX[_egigc^YZYURX]jj]~eIBEZhSbq\_cqv±}z{lhKEL{W~aRVo~nnts|}}|||yzsslfc]SLFDAEA???=???BFQk~¿WGBCDEEEGFJKMRX]ehhf`\[XUTUWbhruXo]ICFOil\Uj}akcnʾ{t|p~mIDLm[zhWfvyysvw|~~}wumjj^VNJFDBB??>=????CJ^y`GABBEGFEFFHKNTY^ehhb`]\WVVWXenv~WYaRIFGJRYXZ||phepŵw{sndLHJTckgcʺ|eXam~{{y~yvvmi_VQLHDB??=>==???CFOh~mKBAABEFEEEFIKNSYbgjjhhc``^XWTcqzcUWQMIMLNVVj{sdos{̶y{|hmfTKIKOZ^\wλ|heglt{{~wpg]ZNMEDB?=>>=>>>??EJYoQA?CBCEECCDFIKNRZaglonrmokb]]V^my{]TSRNQQMTdvfion{ͻ{vmej]RTTTUYeʫgbgx~rhd[SKFBC??>>>>??B?CGTm}ZEA?BABECBDDEGKNU\clqsw|{ymelgUWdv~v\VTQRTUexmbdhoʽtvfh_]_]ZZaҵtbmw{~uni]SLEECA??>>??>???DOg{zZGEA???BAC?CBGGKNU_gqvz~{hssjVT^gkw{e\XZ]k|utnpvy~j`^]_dmɳvjk{}{wsmaWMFEBAA????>>???DJ]s¿¾}\FAB?????BBAAEFFKOW]hs|vtzu`UVW__hr}pjnqyw|}z{~˼smnstw{tmfWLFBBC????>=>?>>BEVl|½¿eJ????>?>?BAACDFEIOV_kw}zs^ZXR\_^emw}y{yqsttmw{tv}||´wqiWJBAAB>?>??===<>BDQi}~cL?????==????BABCDHNVcnwrjg]X^[^cgomdeehlnljr}z~~~}ǼuvyqfXKBAC?>>>>??<<=???Icz¾{XJA:<>?===>>?>?BEDEHLVcny~zwthdi__cqpiqbisslp{|}p{}zpdWIB??C=?=>=?<==?>?EXtz^I@=;;====>>??CCGKU_kv{upqkioont}kt{ú~qgSF??BC??>>=?><<=?>BOlym\JB>><>>>=;:=>=?=?BABELT]gt~{{yv|vr}~x»¿rgSFBA????????==<>=?BLe~n\ND?>?=>?==<<==>=>??CBEJQZgs}Ⱦ¾pcTEA??B??>??==>>>>??G[zpbPG?AAA>>=<=;:=>?>=>BACCHOXfr{¿qaQE???B???B>==><>=?=?Sot\QHCDBBA>>=;;=<==?=??B>?CHNVcmxſubPE?=BCBDAB?>=>=>??>>If~r]PHDABCCA??<=<;;=====>????GKO]kv|¿¾vbND??BDCED??B??>>>??>C_{teUOH???FDB??<==<;<=<<<==?>??CINYis|þydNDBBBCCDCA????>>?>=??TnyaNJGD>?BCAAB>=<:;:>=<<==?>=>?BGOYes{¾}dLCABCDCDCCBA???>=?>?>GczbRJEB??>?CBB?>==<<<<><<====<<>?FMWeqy~bKBAAAECFDBBC????>?>??DWr{kWLEA><>=?DD>>>?>==>;<<=<<====>?FKTcmzþbJB??CBBCCBCC????=<>???Oj}rj\QHB??<>??CC??>?=<=<;;;<<;>?<==>CJQ[jx¾cIAACDBBADDBBAAB?=?>?=?J_viVLGDB?<>??>?CABA?>=<<;<==;;;=<;==BELXdraKB?CBECDDBBBBAB??>=>>??NhyZJEC??>?CJU_mzþbLA?CAFCCCC?CA??>?=>=>?>EXx~|`HD????>>?????CCA?>=<<;;<<;<:;<;;<>>BGR_m{Ž`GB?CACDEEAAAAA>==>>>>>=?Ooss|mQA>;>=>??????FGDC??=;<<<;::;::;<:;<>?EN]jxɾ]CBAAABEEGECBA??>>=?>?>=:;<=????CEGGCD??>=<=<<:9;:;;;;<;=?DMYdsʾXA>C?BBCFGECBA????>?>>>=>?Meyxg[MD>;:;<>>?CDFIHECEA???>==:;::;;:;:;=??DHS_n|ȾzR@?BBABEEHDD?B??????>>>><>EYjmyy^KCA=<<<=??BCDFHIFCB?>?>?>=<<;9:;;;;;;=>?FO[jxtL==???BBFGED?CA??>??????<>?LYfo¿yt\IA?=<;;=<<;:;:;;<<=<>?DIR^nǼlD=?B???CEGECA?CAB?????>><>=?LYj|¾}vup[IA=<<<:=>>BFEEIIEB?BBDCBA=<<:;;;;;=;::>>DELTgyŽd@??BA???><==<>?=?Ogz}utnWD=>;===><>BDEGJGF??EDCECD?=<::<;;<<:;<=?CFJO_rƿY=>><>=>?G]ow}wfPA===<<><=>?BDCJHEBBEEDDDFC>>;<;;=<;<<<<=?DGNXivQ==?DDDCABAAA?????B>D???>?===?CM\hqq]F??<<;;=;==???FGGDEEGGFECC???=>=<=;<<<:;=>CFIS]myŽH<=??BDA?BAB????DAAAA>>C?=;<>=?DO]d~fMA??>;<<<;;><;<;;<>??FGMWduŻl@<>BAA??>?BB??B?BB??D??CC>=;<<>BJW^oZC???====<;<;>??CFEBEIHGGGFBAABB>>=<<<;;;==??DFKS_lyŹ[<??????>=?CBDDBBF??=<=>?>DLXgPC>>=>>==>===>??CCABFGHGHGDCCACB><<==<;;<==???GIR]fsŸM=>AAAA???BA?BB=??DCCCGDIB>???????FSc}qMB=?=>>>??>>>>>??B?CEEFHFGEEDFFD>=<>>;;<<>=???CIO[dr²wE=>C>BA>BBDBCFC?>?DDBEEEMFBA???C>?DQbubJ==>=>>>?>===>=??>??DEEEGFEFFECB?>=>=;<<<>>>?BCHNWcoǼc@==???????ECGFC>??BFEDCJLHDB?>BC?>?K\o}WE?==??>=>?==<<====?BBCDDFEFGGEBBB?>=<=>==><>??BGNVbo}¹V?=>>?B?DBBEJLGB>>?BEDBEKNIGEE?BED??FUkzyrN?>??D?>==?========>??DCEFEEHIFDBB??===<==>>>=>BFNVbn}ǽJ>=>?BC?CABENMFC???>CECEIONOLIABDJFCDNfvr}pI<>>?DA>=>?==<>====>>?DEDEGFIEEEBBA??>=<<<=?>>?BFLT_nzqE>>>?BBCBDFLRKEEB>???ECDGOTURNHBDHOCDKbtvzkGACAACA==?>>======>===BBCEGHIDFEDDC?>>=<=<=><>??EJRZkvȿ^C=>????BCIILNNHDAA??BCCBFMRSTINEDGMHFHYn~hDCECED?=>>>>??>=>=;==>??BGGHEEGGDDC?===<<;=<==>?CHNYgrƾS@>??>?=CFGHHKHEFDD??BBE?GLOURKQGBHKNFHTngDCBEGFC>=>=????>>=?<;???CFDCDEHGDD?>=;<;=<<<===??FLUam|xnv̶ĹzH??BGFEDCJHJF?>B?D?HIMTMNNKBFHREMRly\ECBBFED??=???BA>?=?=<==<<;<<<=>??EHO\my|[SUezǠnlp|žlD=??>????DEFDEDJMHFA>???BEGKRIMGJD?DLGHQhtPCEBDBBBAB?BDA???>>>><>?????CBGFDEA?><==:::;;==>>?CFNYhvr[PMO[ort|ú`@:>?????BCECCCFJQKGBABABBEEHMGLCHC??GHFShpJEDDCBA???BFCCA?>?==<<=>>>??EDEEEECB?<<=<;:<===>=>BEMWcq~xib\YX_x{X>B?BACEIOSLG?BAA>?CCGIFEDED???GEQf~¿lIDCFDC????DFBDAAA???>>=?>>?BDHEEFEDB?>><<<;;====<>>FMUbo}y|wrqvľýùqP?=???=?????BFFMVTMFBFCA=?DAEGDFFDB??BEERankKIDHDECAA?EEAB??CA????>=>=??CCBEEEEBA??=<;;<;=;=<>?CIT_o}¼žkLA<>?????>>?EHIOWSKFEECA?=CADGCBEDDC?BCDLZWojTKGEFECA??B?BBAABAA??>==>>>???BCDEEEAA?><<;::;<;=>?BGS]lz~]F?>?BAB>?=?EBACBD??BBBHMRk`WKGIKECAA?BAABA????>>=>>???????BCFGFB??>==;<;;;<<>>DGO\jwrSD???BDDB?=>?BGKSPIMHHJDEC>9=?CA>CA?>??CBEFSrw\UQLLLCC??CA??B???B??><>>???>>>CBEGHEDBA?==:;:<<<===BELXfuiPDB>?BFB>=?B?CJNNIHKHMJDFD>9=>>?>BB?B>>BA?EYtvZSYQNLEE>?EBBBA??????>=>>=>==;?BBDIGEEBA?;<::99;<;;?>CBB?>??>GJMIEKHISKFFE=<=<<>??>>>==?=?K_n~p^[\SUUGA>?CB??B?????>??>>>=<:;>?CDFGECDB>>=<;89:;::=?BD???D??FIHEFJGNSKHGE>>=<<<=?=<>==?>?Hioenia\YSZZIC?BBC????????????=>=;9;?EECCHHISQJHJ??>==;=<>>>==<>==Fgo[rV^{chf\aW]^NC???CBBB??>??BB>?=<:::9;???DBDED??==;::9899<<=CIT_myv]MICAACBBBBA>?CAEBCHFKSLKHK??B=?=>>>>=<=>===B_wam^@Gku^jiblaabXFC>??DEDA>>?BBA??<<99::;;?>BBBCCC?==:=9899:;=>BFQ_nylWMICBBCABBBA>?B?BBDDEKMHKIK??B>?==<==<=BA?>;<<;::;9:<>??DDFDB=<<=<:9:;<<>?BFN^mwĿcSPIB?A??BAD>BAB>?BCDHIFFGIHA????<=<;:<=;=<>>??>;;;;;::::;;=>>?EDDB>;<:<:;;<=>>??EO]jvŽvaPQIB?B?CBBBB????CCDCHEBDEKG????>;;=<<<<<<<<=?Gi}}<89>?FIOVYUbpuqabjeEFFQFDKD?==>?=;<;<<:9:;;:<<=?CBCB?=;<<::<<<=>??EL[gs~ƽľp[NNGBABCBBBBB>??BA?DEGCDCGKC??>>?><>>=<<=;=;=?EZ^::;<=>?IQWQ_r{b^bfIHHTKDOHC=<<;;<>;==:;:<::;;<>?CEC?=<;::;;=;=?>?DLXht|þ»lTMKDBADCBBAB?>>?>??CFEBBBGDAEC>B?=;=>=<<=;;:;?EWA;;=<>;<<;<<;=;<;>;:9;:;>?EEA><<<;;;==<>=>?FNZiv~»üxgPLGB??CBBA>?=??????CABCAAD?>DC>D?<=<>=<=><>;<>EUzV<;?=><=?FKMIWqtZS]PLO]OGVND<<=<;:<:<;;==<;::8;>BDE?><;:;9;<=<<==?EMZiu~»w^JIC>??B?BA>????=????>?C?CC?CCD>E>=><;;<>=<;><=BNsnF=?CHJHESjz`X_WMS^SISTD=>><<;:;==<<<;;:;9;>??BC>;::;9;<;==>>?CMZhs}ÿwYHD?>?????>=???>??B?>?????CFFBA>??>><;<;>=:;<<>?Nv[G?>>?==?EJJFDN^uyl]g^MW_XITUD>=>=;;:<=>?<:;:::<;=>???=:;:;<;<<<>>=?DMZgs{ȿvVEA>?>?>?>=??>>?>>>=>>??B?HGFA????>=<=;:==;:;;>BSWJB>=>>>?BEDCCJTkwts_d^Q[dTGMXGA??><;;;<=<<<:99::;=?>?>=:::<;;<<;==>>ELXcoz¼wWC>==>?>?>>?>??????>???>?FHECBBB??>=?>=?=>?????FK_ohl]cfSUeZINZHF?C>=;:<=<<<=8::;:;<>???=<<:<;;<<=>>=?EKWcm}ſwYB=<>>???>?=?>>=>>>??<>?BCEEBBG?=<<>=>>=>=:<<=?EXbXE>=??=>???=>EFTjdd]feTOc^MR\IIB??=<==>==<<:<;:;<>?????==;==;<<>>>>BEKVcnzyX@=<=>??======>=>?>?=>>?BDCF?CC=>;=======<=<<===>>>CFNhcaZa]UM^^OV\JMEA?><<>?==<<<<=;:<>?>B??<<;==<==>=>??=>==<>>>=>?=>=>??BBCAAD?<;=>==<=<=;=<<=EF_q]QC??????<=>?CHI[e\VYXVLU^RSXLUG??>==?=><;;<==;:=>=??><;;==>=<=>?>=?CIUcox¾|Q@<=><==?>=;??<==<>??=>?BB??B??;<==;<==;;;;<=>CLtscRMEBBAA?????CEDN[^VWWLINZNQULWF?<====<<==>?>==;<<=>>;=??=>>CIT_lyvL=;==<=?==;==<;<;=??>==>????CA<<>=<:<>=>>=<==<<>;==>=>>=<:<<=<====?>>?DIS]lw}mG=<;<;====<;<=<:;<=???CA??>=?=<;=<=<;;=;=<=;<=>>?>==<=<<==><=<>>?DIR]kt~|{yx{}~}tspr{|eC?<;:;;=><=;<;<;:=<<=>>CB>????>??=<;;<;;<?BEJKQLNKMIJQICDB>=><>>;=>=<<<=;<==>?=>>;;;;=>==;<;=;<;<<<<==?>?????????<=:;=:<<;?>=?Ok]\^W]bgldM>=>BDDEGGHIHGICCC?>=>=?>;;<>=<<<<<==>?=>=<<:;==<<==>?CFO[iqx{niinr|ǾPI?;9:<<;<;<;9:9:<;;;<=><;>?B?=??><>;;:9:;:;<;B_{f]dfb`xjF?=BABBCACFEEC??CA??=?=>==;>>;:<=>>=>>><=;==<<>=;=>=??GMZdnu|zvux~ƽ{MK@<;;:;>;<:;:;:;:;<:;==>?=?????><<=;::::;<==>Imufbei`dbKDAAAA???BDDA>>C??>>==><;=<==<>===>>?>=<=<<=<=<<<==?CFMX_ipxýĽpPIA<:=;<<<;;::::;;;<=;?>===?>??B=><>;<<;<=<=?BJm{lgfih\gļpaSLFEB>?BCCCAAA????=>>><<>=>><==>=>=>=>?>=<<<;;<==?BGKT[cow|½žûaPFA:9=:><=9<;;<;9::;=<<>>>>>>BCE><<>=;;;<;<=?DNmregjmjbmpgYJ>?BCDDDB????>>=>>>=>>>>=>=?>=<<>>?>>=<;<::=>>DEINVamty~ÿYKG=:;<=<<<:;::;9;;:9::<=<<=>?CBA>=====;=;==??DKcqeknnlhqúeKA?CAECC??>?><==>=>>>>=<=>?>>=<===<=>=<;<>?DFJR\inw{ľ½VHA;?;>:;<<<:::9<<;;;:;<=;>?>????>??=>>;?=>>CCDJOWi{pnyxlhfvƼv\IC?CCBA??>>?=?>=?>>>>=<=?<<=<=>;=====?<<<<>?BCGOX_jtx}~xNE===<<<>>=<;998;<<;;=?====>>>????????BECABBGGFIIHHNjǾss{|rii~¾kYPFDDCC???>>??>=>>==><=?=:<<<;;;<===><;;<=??CEKS\emty}ĿrjH?<<;:==>>=<9;99:;<;;>>>=>>>>?>?C??EKRXcbKJIJMKHGFGJTĹypvvynl{fZTNKGB??????=?=;<;====;=><:;=<==<=<<;==>??CJNX_fouyl\D>====?>>=><:;<;<::=BBCBABADEDFRm}fMLLOLLHGHGLdƿ}pqttpm¹k^c]VIGCC?>>>>=;<:>>==>==<<<<<<<><=<=<=>>?DJR\cjnr{¿dSA=<>?<;;;<<;=;<<>BOVSLOUT___a{iTPSOJFGDFFVɿtrplkrȿUWafi\VRHB>>>>=<=>?>==??===<=;<===><==;=??EHNW^cimuv}}{~n`P?=>>=<>=>??=><><=<<>?EWvv}mQRKJEFEFFXǿzqmfisǽuGLNS[^ch^KE???<>??D????>>=>==;<<><>>>?<===BGJRU\dhonw}~|vw{ÿx^[Q>==<;=>=>>????D?>??DFW{zMLKJGEFDH[ɾulfmp˾hPIMMNRWbowfRQLCACELMFCAB?>=>===<<=<>=>>>==>CBFJOV\bghqv{}}}yxx|}}~ÿkVTM>>>?????BADISSOIFGJNLVkvNJKHGHEEG_ɽpgjms~ʸXKKMRQR_igzlmjUHLVbfYMJJGB?>>>>=<==>=>==:>>??DFKNT\\chnovyy||}|~~~}{~}}}|}~}ĿuZPMG??CCDFGFKMS_xzqWLKMSONV{KFBEFJGGMoȴxkhkj{ȼkVMOQQ^xyyz~mLOYcnldedYKDA>>?>>=>=>??>==<>?BDHJORUZ^djnqsuxzyzy{~~~¾ÿ}aPJKHHKSVRY[Xco`PKNUPQW{PFEEGIHKUǼpppluƸyaPPSTe|}||PJNQY]fgus`RMHCBA??????C?=>>?>?CDHJMORU[_cimortuvtw{{|~|{nYSX[eozbTPRTTTMXsUFGCDEEJe̽umniprUOUVauy~qdPHLMMMOUk}hc]SHHLORMHJIGDCBC?DCDEGJMNOUUZ]cgimloorpsy{xp|r[VTORSMUo˻\EDAEFGOİzgfhq¸n[ZXYl{sXNJILOMKNUextzt`V^fgfcda^[UXUNLKIHJKOSQQQSUX\_ccgjjmqtyvi`pgQRQTTUZxƸXDCAGEG[ʴpfgrkoj]_ywq~}\NJIMONLZkvz~fhmmqsttusmsojgc[\\^aaZTQSSTUWZ[__bilqv~~|i]VSQZdvcTRUVUVV_w³TECFECGmukdtȽtcWYY[kzy^RPMNOMQcxuqmrrptxsyzz{{xxsqqrpmrncZ\ZVPPTV[ZZaelry~ypsnfjg]ZURPSOS]`WUSSTUQY{ƵTEEFEFNȮzkeqŻh]UTURV\_XZ\TQPORbysvuksnmosrptuxzwy}yyyzxzwlnuujinfRLQSUSUZ^ekqw}sywhfh]VVZZWXXTSTQTUQTayUTQOSTYbɿlFHHGGWǸzmkmŻv^UUSUTUWZgqm\TTQWi~|w~ufhjhkrpkquprvtwyxz{vywnnv|upxs\PQNOQSWY[_abhimw{wqyymjkkfdc]Za^XZZTMSXXUVVRUVUZUSV[kǽUUTVUVV\s¾sHKHEFjŹzplmư~{j\VUWWTUixude`^drwkirpf_eklkqpruqptpqvttzxrvxspzysvrcVRPRTTVZZWYWY[YYZ\hymf\]cd[^a]^^ZW\a[YZSQQSYUPSSRUUWVWWSS]yIJyWTTWVVQXhfJHIEGvpmsi_bq|ugd^YYWXYs}zz{ra[]XWZ[[bflklspqtunprpquyutqswnnw{spsncYVZ^\ZZYWYWWWUTVV[rw]ZZYXa\Zac[W]_\\\VPRWWUROTUPTRRXYVZ_´^TSQUWVZzzBDHHJ~srvѰr]WW^^_butc`\[Yl}p[NNMLLMRYajjqsmqtpoqpnpuxpsuqttuwxwqmqqlfelmcWSUVWYTSUUTWd~^[ZU]__\_a[\d_XZ\QQVWTQPSSNOUUZYUZ]x˾gSRSXWWXkDDDDJrzutԸhYX\Z]gz~rlg\]t{gWMLIJJKOS_ilouqrunppjqvpmwvurtwvtvwskmsungsup`TVVVYWTUVTSU^jy¿r^]RX^_Z_d\]b]Z^\TUWUSTWWRSUUTYYWRWebPNUVVRT_`EB??H^zyԿqf`]Y[w~|}majvrdn}mUNNJLKONSenknsprvrmsrnollttnryrqurssvutwsrvqj]RVUTWYWVXVUTUX_r¾¾pa_Z\]\^b_Zb]Y]^ZVZZUQTW[ZVWXTSUVTWnľXMQTUVTVo|hTJDAA?HW}}~͸idc^]zy`Y]XSYdjb]ZSRMLNOWellorntwrortpmprpqqqvutssstxtoswvl`XSQRSSTUVVXWUUVUXgp^]ZZ__]^c`\ab^Z^^WVYXMOVZ[TWVTSTRTXn]QPUWUUXevm]QNHGDDDEIZ{zxrja`nmYTUTOTUX\mqfZURSUY_hmostswtpqnprqsstppvxsrtwwqsqrssqfYRSSRTUUSWYWSTVUX_oiX^^W__\X^b\[dbY]^XUWTSXVUTPVWTTTRRW_Ŵ[TPTVTVV]tpc[WUNQMLKIFCCF_y˽}mcn}w\VTOQTSU_s}}phgg__egjrtqquumnqqqquztqqvuqtvwsstqmnqpiYPSUORTWQUYYUTXXWU\aktľÿsR\^Y_]ZZ_\X^bZ[[XUXSMU[XVVQRVSQSPSWewZSUQQUTWcqhdc\X]ZUUVSUURNHCBDG[~ͼuj~zpq~w][[SQSSUkvy~tedkmoonqtsqqpnrrqtttpnsuvutttsnkmkh]UOQONRSTSUVWVUYWVUXW^buŽcUWVW_]Y]_XXbbWZ[[XWYSJSY^\SRTQRSRSXgiRUTVVRUVa^_YXX\VUZXZXTUXVTNKEFEGQyξ|da`]cije]caXSSUWj{qjjoqnppptvrrmouqnqurlouxstvwpprphgjaTMNLMORRTVVUUVVVTVYYYj¿eT[XW]a[X\][_cZU[]WUYTLTW\WOTSQSUONT_gTRUVVRRTTWYXYZ_ZZYXYVUSUTSPPKHGIOwv~Ųn]][ZZ^^__koi[[ZZ^q~xnopmutkrvwrrqrqurotrnrvrrwvtqtrnlgjeSLNNMMQQRTUVSXWXSUZ\]mĿpSXWX_a[Y\ZX\]YT\[UWWSMOQSQNQTTOTRMTh~}hVURRPSUUVTWYYZ\]Y]XTSTUQUSWSRPKLKNo{[[k}`\XY\]Y[cssrnfagsrls|lmorsrmrvvtvpptvnnttopspnuvrqqpljkmdTLNNOOQOSVTUSUY[X[\bgsgWXVX]^XZ^[X^^[Y]]XTWYUKKOQQOUTQQQRWwtj_^_YSVUVUQUUYWTY[[[YZWVVVUXVUVWUSQSRSMNc|q][k}ͬ}xw}`ba[\[VZo~~lYZW^krmhimqqtvrpuuptrpssmottpqplqtspmprncjoo[MNMMOSSQUVTSTUX[ahv¾`[ZS[^YW]_VV^^UVZYNTYZMLOMNORSRQNRUhxjf_]UMTSRPVVXWVUUYWSTXZYXZYY\WXXUTTVVSSUUSKLV|vgmwpmqŇebdcd^dnj\X[[^spUPQUWYX[_kqowsmuwspttpnsmnsunoonrrjjkljbeiml\MMMOOSRQTVUSUYZ_og[YSU[WZZ\UW\WSVYTQQXUMNONMRRQORONSbppqlc\][WTWUOMTTSYZWWTTRUWWTRYYYYWWVWQQVVUYXUSRSQQLIOf}}zؿaYb]]]j|hb`\]cbUMRQSUTU[iorotrvwnrsmnrljosplospmlld[ZZVX\YXUOOORPTPSUX[bekq{y[ZUXZYWZ\ZVW]WRUXTMLQRPIOOMRQQSSPTTYec[UTSVSTVXVVUORSRQX]ZUTUQRSRUTXYVWWXSPVTRUUUWVRORTQQLJJRŖj\b]^evvzrla`uqwiUQSURSRUXkonkttuvrnpnnnnorpidffegjkbUSPQNNOQRQRSRQUUQUWcyylpxp^X^]Y\_XY[]WSX[RQXXQLQROKONORNOSSNTSNQUUQQTRRVUTWWTSRWTSW[YTUWXXRUTTUZYTVWSTQTUTUUV[b\WRNLHHIJ\Ť}d`\_qx`djb\aijbZYZZSQRT[knlqqpvrmnorllqrmoeXVWWY__ZRPRMMLMOOOROOOUVX[]bt¿\XbdXX^_ZZZUX[ZUVWURQURPRSLLOONORROTUNORLOUSSTVNSUWTQRWVOWVUXZYWWVVXURVUVYYXXWRRRSUYdgnwRGDDIJHGXɸu``gsxXUVVSVYY]lqkd\VSVZeooorqtplprpnrqprqdWQQRPRWVSPRMMLLRNOQROST_oykXX[]Y\][Z\[WY\ZUYXUMSSWOQRNMNRONSSRTRRUQNTWRRUVVQTWVQSVWUVWW[\XWWXRVVWXVYVWTTUTRV_esREBDFHFHGW~£ırqqppVVSNRUWX\oxrj^Z]gmnmqqlmolosqqmqqpbUOONNOQSRQPOOMMORNRUQRT^|żkkmi][]da[]^]Z]^YVZ_WUVWNOSVMNQMMQRRRUPQTNNURQOSUQOSTOTYWVWUWTWWU[^ZYXYUXXYXTWYWSUY^gvPDACDEFGEHT|ȥ̻{|~x\YTRUWVUf}vpckknrrnlnlloomjsrmjiYNNNMOOOOQRPNOOOOQSRRQWi»]UY\]^bde[]ZY\[YXYZ[TVRNOSQNNNNMNSPOTVQLSRMOSSOORQTROOTYWUXZXPTVUYYZXYWYYUUVUZcher|MEBCDIFEFHHOgʤѿunf\emsj[\ZVUUXZrzhknlmoonnjnkelooqnmgXLLLMNOQOOQQNOQOOQSRQRYy`UXV[^c`_Y\ZY]^YXZ]XUUWNTUTKKKMSRNOOOUQLRRRTSVUQONUSRNOXXXVVVSUUWWYYXUTVWTU]gtPDGFDEFDFIGFLwʢ«d^\TW[Z[[fg]VVYXjppllkoolhnnjklmoqnni^QKJLJMMMLMOOONNQOOSTPRYnfWXYZ]bb]VZ^[]a^W[a\VVYRTWTKMMOSROOOOQNOORQTTOTTSKQRQRRUUUSRUQTUYZZZWUTYUX[nRCFGFBCGEHHEETnɡg[URVWYY_v~qgda\\tyztkmklojjmomlmonntlig]OHJKKMMLKMOOOQNOONOQNTZoûýlVXZY\]_[Y[\]_aZWY\YZYUTUWNMRSUMONNLRRONQSOQRQTTROQONTRROSSURPW_d^\[WTUXWWYcJFILHEFCDEFDEGN{ȢȤsqcXY[[UYn~vxpeihhkv}pdoompplnoknnjnnmmkhWKHKMLONMNNORQONNNQRRRUa`XZZ[__ZYZ[\^aaXVZ[ZX[ZRTVPLOXZOKNOLOROOSPQRQRTSQQSRMNOUSV]ggkqzrYXTSVWSWoKHLOKFDCDFFEFGG_şӳx`\lzwimb\b]WcleZWYcdd`dooossmjnnkjlmllmmbTNNNOOOOORONRNNOOOOTTRT]}\Y[___^]YY[^^_aYUYZYVZXTUVRSTWXOONNNTOOSSNNROQUWUQYaZYdlsv}}XVSUWUV_PLMSKHEEIDDFEDFLeŢҲZW_^^gzxd`c_hza]_WNOQSV]knsusjnojjmmjlnkkh^]^]\\\\SOMNNOQQNOQSUSSXf»\[]a][]WYZ[Y^_]WZZUYYYSTXSTV[UPLNMLNSRNSTORUY_^hooysXYTUWXW\tĿPLLNLLHIJFGIDCGGSǢսe[^[[g~pmfdq~hZ[ZSNNOQZeqsswplmmloinrlkmmddjjd_hj]NLOMOTRRQSRRRSXotw|}k\\[Z^][\]^WY\VYZ\WTQURS[ZOILNOMQSPVUTTdxbVUQUYWT[tijSHJMLLIJJKNKEGGGNv̠zjm¡u`a\^z}yli|~zjq}~gZW^[TUSRannovzskntmmoqpmnrokmnhfimi[QPOORRSUUTRTSRUds}V[ZW[^][]^WWXUVY[XRTUSUVWNNOMNOSPQRRRVatWSRSXUUgȼPFGGGEJKNOLIGJJHLf͟VYerƶpgbb~v^^b][]dgada\aXYUXaoqsxtpptrppsnoomsssmmnjlkc]ZXWXXWVVUSRRPRRSSW\bv¾ļsYWUWYXY[]YUYUTU[WTXXVTXUPPSTOLSSOOTQMT^|WTSVWXT_ʿPE?EEGMLNRMLLKMMK^ΞYMW]]uȾzsiol]XXVUWZ\cqwoig_[[cmsttusptqqrmoomlqtullqpmokfcgkgggf`WSPNOORPRRSbƾWXWVSZ[XV]\VY\ZU\]UW\[QXWOOVXWMNTPSRRPVreWTRVVVS\ƾTDBDFINMMNOMONRNJOzҡdKNUWTb¬lw^VWUWYZ\ix}y{nhgontxxtmrtppronlntpppqpnoqrniprnmstjZRPPNORPQST]nyw}þſVXYWTZ_WX\^XV[\SZ]TUXXQZYRTXYSNOOQRQOQUkbURPVUVUjYCABBFJNLKIILRRMKOxҤxYRTSOQVtƭkgrlkzs]Z[VWZ[]wujqqsxvoqrqrtsqmqnorppprsrtrttqmptvtcYSSROOTSQSTVW[\^g»kdd]UVYUZZWXWZXX_XRV[TSWVRUYWNORROOQOMRa¾ºmRROXSTV^Ŀ|NB?BCGJKIEEFNOOLJNzТwi\UMMMQ_iZXY\dda]__YZY[]ttmtsrvvpqrptsqstomqrqpqvwsptvrrtsvwsfYTRPRQTTTTSTTUWXckU\VXYYTW[WX^ZUW]WSZZUT__SNSRPRSSOXoƳ`RQPUVTTb~KDCDFJGDCBDFNJMLIMnѣw]QNKLNYëpZ[]_]XYboricb[Xcxqpqptwtprsrpwtssrsppnsuttuttrquwtuwxq\UUQPQUUTUSTSVYVXcnoqü»RXUWZ[TUZZUZWUWZWSZZTS[\TNSMOVNSQWl師aPPLVVUWnyIBCFLMFCCCDDKLJGJMlѣz[NMKKMVkvgo`bcd]UYl|vti]apuyrtjqnsuqqutosuqstwrnuspquuuwtsxwrrvxti[TUTQRUTRUUTRVYWUY[Z^vĽgUQSZ[YVWYWWYSTZYRW^VPTZUOOUNMUSQQUiɼZONORURV_rRHFGIGJGECDEEIEEFJOzΣ{YLJKIJNZҬtcVdwsgjig^\Xc~|}lZZ_adqvvlnrrpsusrrpqrpsunrstrpsvwsuxvqwustxtcWTUTSTRUUUVSUWVWWY[Z_yZWTTW_YUZZUXXXSZZXY^]RQWWQNSSMTSQSXwĿ}TNQPRUQVeqaXMILMMMKJGHFDEFDDEFHRˡ~VMKIGHKSnѡq][XZ]ovi`^]f~zeVUVUTV\\aksrsvuqrspmsrpusstrpuvtsuxuvutstuxveVSUQSURUVVWSSVWYW\[\d½SXVUV^ZT[ZWYZZVYYXTZWUT[YNOQRSTNOSXtźPNROTUTXiv`YXPRQMOMRSQMJHHHGGDEGDGI\ȡtVSOJGGJN_Ӱw`][Xdzqnd]n~z`WSQORTSUZdorrwsqtnmotrrusqsssrwywtusvxtrxuuk\TSTSQTSSVXVRSVX[\__dl}ûvUTPTXWVU[YV[[WY[YTWXRRX[RLOOMORROOTmpPNNRSSQU\{wi\Y\TQNSNSQOSPRQQLLLIILIFCEFHKkʞfWQLIGGILWvӳc__cwxfnxyps}}iUVROSRRS^msqpurqspmotrtrnsvtrrxwusvwvtwvuxxlZUTSUTRTTVXVTTWbouw{`YRT[[XV[ZT]\WUZ\UWZVOUYWNKOONSONSWw[PNQNRRQT_|r`VYZVNRTTURRQQMOORUSQLNKONLHEBDDGQơ]WPJIJKHLS^Ӿp`cf{e^bZ]ejl_\YTRRQSTborqtqmrrqmospnvrqtqrvvtvwvuwtwwxyviVQSSSUWVTVXVQRVbeYUQWXXVZWS[[TSXYTWXSPW\VMNRNOTSNQUkpLNRRPUQUUY]UURQWWVTRRUSOSQV[WLOQNJHKMRSLGGEDEGXɲpYWOKHJKJLQVsʷ|vgo|`UWVVYZW]nic\ZSSW^ksrttqqplqppqssppqstrwvtuvurvuw|zpaWURQTUWWVUUVQRUcuWTTSXTVYSQRZYVWZWXYVMQXWTNOTNKQQOOVouQSQOORORQMORSSWVVYYQNRTXelw}]MIFDGMOQMKFIJGEI_dz~XZXOKHMKIMOUiξynt\TTSWXUU]s~}sqf^ahqqptusprpttspqppsqpsutstspnntwuwzuhXSRTTUUWXVSSTWYfxfqwbTRXUT\ZWWXSUY\VW[ZVYUILUVXSRTQLORPS^w}xrurup[RSRLNROSRRSUTSWWVUUWZ^llSFBBFMMMKILMOFEO}ǴzYTZULLJKJJKOViӿpwtqtuYTRTWWS\o|y~wmprmrurrrnottqlqrnqpnrsqrvmcdcgjlospdWPSTSVYVVTSTVY^dužmTU[WSVZWUXWRUYXSZYXWXVTWSILQRSRRRQPONOO_rlrpa]bhbVSWWRSUUTSRQRTUPPRRUWV_c_huXJAEEIKEGEKOOLFHbĴgSSXTMJJKKLLMRaoҿpcXW_kkbWVUXWVR^zulpnmvutspppnqrsqpnnjjqrpqqdYXX\\d_^]WRSRTXYTTTV^ioy¼ZRQSRWWZXWVRQTVTUXVVYURSVRJNTRPORRKOTONQ^{qgb`VQQWURRTWOMSSQSXVUUTRRSSMMRYcnlKD?DEIHEGHOOMLGQxƷq\UYZUKKKLMJKMMV_л|i^TPPVW]db\ZWWU\t}utpmmpuusutnnqprqoojbbahmmrpgVRRWXWUWZ[VTUUXYVTVYjnQRTPT\ZWYZWT[[UUYWUUZQOVTOLQSTORRPSUPTPW_^[ROQQTNMRPSSUTNQRPOUYUTUQMRQUU_nuFBCFCHHGHJNONJOlyqyh]VY\VNKLLMIKJLOXּi^UVTTX]mzsfc^ZVe|}uppmotrmttrnpnnospqm`XVYafgb[TQRUTUSVWZYVVWWZZXY^cĻyQWVTW[ZWWYXW\ZTUYVSVVNRSWQNSUSQTMNSTPSQNRSQMKMRRRSPMRTTLNSSPQRUVUSNNQU_tRGGHGEGEFFKJLJNdpe_WZ]ZNLLLJHKKKLUmգy{pc\YXUYgx{srg\evus}tfoqnrrsrrmrqmssqqrm\RTVV[WTWTSRUSUXUVSTWVY[\gosy{[SYTVYZVUWUWXYUSUXQQTPNNQSQQTRQNTOLOSMRTOQQOORQNOTRNOSUWTNTT\\WUWRRRRNSY~eLKNIEFHGHILIKMcƼu`gce]]e[NLMLKJKJMNSa͓qjrpttkeZ\Y[u~jZYYafaafjoonrtpnqprtptrmrobVTTRSVSSWVUUVVWVWZVTVVW\^vYYa]SU]ZT[]XRVXWTZYTTXTMZSMJORTUNOONTONRQOOSQROLRTSQPOOOVXX]bbbivWTQOMOMQaTNJMKFGFILMLINgî[Qzgih[Z^YRNOMLJKMNNR]|əypjft|ma][]ux~gRQTRRRT]ionqskrpnqtwpmppmnfXSRRRTVTUTSVVXXWX[WUUUUZe¾iWRUTVW\\V\YVSVVTUVWTRUURWTLJMNQMKMMSSMNOQPRONOTSTTV\_SV^ozyx|WPPPQOORkuPLLLIGGHJKMISlȹYPwiif\XVWTRRRMKKLMMOUoϩwinwnaYdy|kXQQRRPQTYbnuoqprrnnutmsqpmqiXUTRRVXVSQRUUXYXUVVVVTTZ{]VSRSVY^XW^ZUWWUQRQRSTQUUUNNOONNKKNOTRQMORMRQMT[fdirw}rQQNRTTNR\ŷkMJKIGHJKIIJVyũz[{kfa][RWZVSQNNLKNNONl־q}za\m|rpy~uXRPRRRQS[iqrmruqrtqqsmqqoqnbXWTVXWVSSTTSVVTVWWWVVTS[|ý[TU[YUZ]YT[_YSXWTQQSQXYUVZSIOOTUOILNNRQOQPSRYds}`PSPPRQOWo˽bPKLIJLILJLZ{èοmgb]YRY\XSNONNOMOOYyҵ~mV[[Y^fnjWUSTQPSU]nqptnnqvrqrrpmtpnmca]]]aa]XUTUUSSSTUVUUVTRWg]\^bZTUTWX[WUUUXRUSQRTTUWYRNOMNRNKJLOMOSOMNS^znRTPPQRT[˼ZVKMIIKIKO_ɽξrmaZWQX\YSQOOQONQSbʦ`TNOORTYXea][VUUV[jvvurmrrmsxsqtvppqnilnkilmhXQTUWUVVUUWXSUWYsmTRRTY[UUWUVVWTTWRSVYUQQTRMKNMKMRNMRRNKSagULOOQNOZ~ĸZRHHFIHJRmkanϿ}n`YXTX[VUPRTTPNTYoѻUOMOSQTUVivsqpja]cmturrpstpqvrsvprwspmpqnopsjYSTWWRTUWVWVXTUYeotojvþTUSRXZ]SXZWSX[WSXZVZ[UPWZSIJMOOOOOQSONToTQNQPQPQlǽjTKHFHLNVuyjb[URZz̺pa\ZSZZVTNTVTPPWfͼzu^SMQUUTVaqulpnqrpnrtqpwtqtsvutrspmprpmgb`\^\[XYYXWUWUUXYVUW]uþeTRSTYZZXZ[XSUWSUVXUWXVSTWNIINKMOONSRNQQhSNNRWTQUrɿ`LDGGJOWvXSQNNNRf´l\ZYU\XWSNUXVVSa¤vj]ckur`ZTRSTV[tlstrpqprsmruwrsuutsvqrvspnrmmoonlljhjZUSTUZXXVTVb½{PTPTSYYXXZYWUXVUZUUTVTUUVSKHJLIMNONSRNLQ]ȼɵkPMNVYPNTkwPJFHJOcQNLLMMN[i\VVUX[ZUTY\_\b|ûpbXWX_^jmdWVWXYn|zqrrpnwttxolqrprpsxvrpqvsmstnmrvwtpwz\SSUTWZWVUXZcejnPXTRQXYXUZ\XW]\WZ[VTYZTSXTIHLLOKNSMORMNSi°dKKOSRQO\kRNMKJMhONMNNLNUoxf`[SUYZYVX^n{{פudZ]YZ]omgb^Va}utpprrtxyxrmrrmqrtvvrurrptvvrruvtuvwwlWSSTUWXXVVWVWX]r}hpjWUYZUUZVWWWWVZYTTZ[TRVOKLLNONQPOQQMOVhķxMIMUPOT\}t`TRSOONRhONNONNMO]jd``ZXVWWW]lҘlce[Ym~}v^]txrupjprqtsvxtswurnsvssuvqrwtsuxspsupuwxhWRSRUXUUVXVUUWXb]VYTUZWVWUTZ[UUSXSTVRMOVTRLMOQPTSJMTiôhNJLRRQP_wbWSQRRSOOUnOOQOOMNLVve^hce`ZWX\ZjӚ|~ukja[yjRXZZeosqkkoqpywtturuvsrvuwxuqruxsruxsltxxruzpWRUTSUUVWXYYVUY_`VUTU\YTUWSX[XPTYSRUXONW]XNMOTOSSMSV{[MONNQQUgk[URMRUTRRSWoQQPQPMOLOewWMXknmh^UV^eף}wg\maONQQTZZZfmnoturstupnutpsvuyvqssqqsurquwvvuvxhVPSTQSUTXYXXYWVa~UROTW]UUVSQVXTSUUMNUYRQVYTNRROSTPMRXzǻYNPRRRPU_vmcYSTTVVURTVZ[oTSUQOQMNN[~ZJITemlidXXf~ٰxcfxXTNQPRSRW_juuxuqttprwtpprprxxtnovpqstswzxusxqaSRSSSUVTWYWXYYWT]e`_npRSQRZ]UYZTRWWRQUSMOUTSSWTQOUTNOVRMRYtuVPPPQSPU_}~n]ZVUVUUZWVWUQNVYjZYXVSROLNSjzaMKKQ_niff^^wٽslx||xXSUPOSURVfostvxqpvtpssturprttpqvrqrtwusw|vrxufSSTRSTWUWYZVVXXTVTW[jÿpRSSQY^WTY\UTWVNSXOKRTPRYWSKOOSNXPPT_~WNOOSRTVUWUQQTVVVVVYUUUTRPS\]_\YVTSQQQXYQLJLMZnmkfad˲u\ac[iqj_[\YTRRTVZmqltrpruvsmrsspxsqrrrswqrvurtwwvuyvk]WURRTTSUXVVUYWUUUWV^aSRNRXYSVTXSUSOQURMMRROT[WQNRQQTSMOT_ZNOQQPRRPOSQSUUVVYWVUUTRSUUaba]ZXVVUWSQNLKLJKSdnoii{ųg]VRS\]XYikb\\XUV[ittrqrtwqrsrnrptqqrqprxvnqwvptxvtvym\TTRQUTSSWXUSXWSQUXW]z¿·XXTQZ\RSXUMRTQPVSNRVUMQX[OOSTPRRNLUe}~cRPQOQNRTUTUWWXTTWXYVSUWTSQQbmi_ZZXXYUQNLMKMKJN[ktuиm]VRVVWVZj{}sxn`\emrtpvysvusqtsqrpqtqmptxwrsvuntvwtxynZSRQRSVUQSTTQUUWY\^bhx¿TWSPV[SQVUMOTQRSWPLVZSOZ\SNRTQQOOSXu|tptwpc^ZYRQTSUTQSSSVVXUXXWXTSTY_ZUPPN_ypb[ZYXYUPKKJLKJJMTgsΨ{tql_[UWWWVhz|~noomnuwvtwtrpurpqrpptpmotstwtptysuwzudXWVSRUTUTSSTTXV_v{w`TTRSTVTTRMOVRMRSQNNSQSUVUSRSRROQOOWl|tp^WWSWZVUQPRQQRVUUPTTRWWUVVVXWUYet]QKMMUҁwf]XXWVSNJIIIJJJNS_t̰åwhdjqmnpfZWX[Zn{vpsqmqvstsputspqkqrrsqprussvtmuyxpnvwlZVUUTTVUPSUSV[\dƾ`YZ]XQTXSUYWSUVQRXXNOUQMONKMUXVRRVQPRRPRYtp^^WUTVUQQOQQSNORUUVUSUVRWXVYWSSXUWY]vVLGIFMi҃ue]XWWUSMKIJJJIJLNYsᷖxejeajsmea`]e~rqpsrquurtvtpstqpmootssvvurqqnnrqmjnrnhZWUUTUWUQTZ_cim|WPPVUQVZTSSTQUVRNUWPPSQJMQLMRVXVPRRRTRWSWfok\TINORRVTSSPQTUNOUUUQUUYZWYVVWURUVWbniNIIFDIU{xm`\WWXVQLHJIJJHKHLTnܳqrdcuz|ri^o|qzppnqxvpuxvtnrtpqtpnstpvypnrpida^W[bb^]YYZVSXXURW_wZQQQSUYXSUWQRWUQSVRQTQLMOOLQPTQORQQTSRSTOOORRLMOORVX[WRNSVVROUWURSTVUUWVUUWVZ_oROIIGHKR|ib]\WVWUQLJIJJIIJJJOk۸~vmi]amcq~kouttutvxvswqlrsrqqqjloqljoohYUURTUXX[\YZ[WW^_\aeuüsRVTUT[]XSXXT][VTYZTSVQMRPKLMQSQPSPOTRPVONOSPORPPTV^]TSRUUUVVWWUSQQTSUUUV[]i}^PNKHKKORj_]\ZXVXUNNLJJJJIJIJOgÛpm~ZYWS\flhlsxwtuvttxtqsstrqprm^__acfea^WTTSTUWVY[[YZY\n}qZYYYYXXUVXVSXXWTW[QTUUMRUNIMQTQOSSWVTSURTQQSPROTSUWWQTTVWVUSVWTTUSTUVV[j}`RNOMJOLOLSmZY[ZYWVSMLLLLKJJJIJN]ͬ|dpp^^VSTYZ]boyuuuuxvtuttuutrpqo^TTTVXWVXZVUUUUWYZZZYXW^lp`dkfZZZ]^__SVSUOUXXVUUSSRSSRSVNKOQPOROQUVRVXWRSTSQORTWUSTRTSRSWVRUURSUUSWkokLKNMJJNNKHLeYWYWUUSRMLJLLKJKJJKKS|վpcxzrb\VY\[Y\bmuprwuwwsstsswurrwm[RQRSUTXXZVWXWUVZ^XZ[XX_vſgSTY_UXYZV[aWTSWSV[^XVXVTWYRNTURLOOSPQRQQVUPVXTRUTQSSUXWVSPTSRTUWVUSOQRQT_MGHIJHILMJEJW|STTRORRRQLMNLKJKIHKKQbιpXZ\]foyjj`^Z\][\jsqpsusqutpuxruvvsup_TSQTUVWXWXWWWVYY]XYXXXa\QRVWYZZYT\[XPRVUTZ]YUZYOWYRNOXWLKORONTQRWXTURUTYRTVXWSVXTSSSUVTSUVQOQSQVnbJFDHLIGHJHGHOcRRPOOOONMMNOMLKKKIKKNV|ɸr^VSVY]bi{zpb[\\XdwuxywruppsxwusvrqtvfURTUVUYYWXXYWVXYYYZZWX^rhTSSVYYXUU[ZTTRQTUXWWWVTRVRKMNVTLNSRNRRRQRTRSSQSWURUWTTSRQSVTV[b^ZTRNRRS]ÿjKEGHIIJHHIIGHNSlQNNOONOMNMMMLLKLJJLJKQcŭzc[YZZ^_g}wkh_ahtvuxyrtrqrwpqsrqvwq]UTRVUWZYYWWUWWXWYXYXYXa|fTSWVYZ\YUX\VSTTQXX[UXXRQZTLILUTNSWUNUTPRTQPUTQRUVVXVRUVUU]jnmwlTRNROTbưvJGFIKHGGIKHIJIJKRjPRONOMOMNNKMKJJKJJJKKMU}~khqnmma[__cz{~spppqtsvpqqppurnrrprwqZWTTUVWZYYYYSUWZUXYZYZWdZUTUVWXYVWXWVTWUPTWYRSZSNXXMGKOORQUSPUQRTSOSTRPSUUW^b]ckotxfQQRSQY|IJMILLKLHGIJMGIJHEGO\oTTQOOONMONMKKLJLLJJLLMOaجmhlqjqrae_b|msqttuurqnntsqrsvrsqlZWTXZWYXWVVWUUWZWWXYZXZ_|ZXXWUVYVTYXVUXWUOQRQTRUORWOKKNNMNQPQTUQRTPOTWQQX_dbozRORSSTcɽTJMRMKLLLLOKFGGFGKQW^XYTRRQOLMLMLMLLLJJJKJLLUxթ}tplj|ttjcvxttnrswrsrpnrqpqruusliaabafdb\VTTSUVXXXZZZ[Y[gf]caUSVWTVXYSUZYNRWTPTWQRWSMNOQNNTSQ^URNSQQXehjr{pQRTSQTjſWINSSQLMSUSRMJHEFHRTVYo]^YWTSPNMLMJLMKKJIKKJJKN\׶xwtqxuzvurlqvpvwvrptsnoutqspmrqpjhqqfWTUUUTVZZZ\[YY[binhglgWYUTVXWVWWXUVVUPSUSQVUQLRRMQTUVbUSRUQT^z]RPTTS]UIMUTTTKLVXXTNLHFHLRRRQYma_\[XTQOMMMLKKJJKHLJKKMKOgǣy{wwfanzxjnrsqvsrwppstpqtrqrqqpuytppssh[YXYWXX][YXYYXZZXYX\gVYWVWZWTWUVUVTSRSSRUTOMRTOMRRRUZUQRRRUZsvPRQRSWoqSJKRUTTOKLW[YRLKEEFMROMNOca__]XUQNMMMMLKKKJHJKLJLMNU{Ҷyf`XV[e^aotpsuqswtmpssrvtrqqppsxsquurlgiigffhibXYZXX[\X[Y[e{}|jf]UUYXSUUWTVVRPTVUVYSLNSSNOTSTUTOSSSW_hQRPRO]aPJLNRTRONIHRWUPHHEEEGLNMJISnb_]ZYVQNMNMMMMMKJJLMKJKJLObyd^VUX[[^kqptsnuxpprrrsvvqpsrptyvnqvumouysjrwzkYZYWYY\Y[[][^_acyfWTSVVUWWVVURVXRTXRLMNQOOUTSSRTVUUUd}QQPRRWjz]QNLNLMOMKMLFHMNIBCDBBCEIIFEKXzb]ZZ[VPNONNMMMLJLOQPNJKJKMUhǻpmp}tmiZ[[[[_llmqrorqqlpsqyyuqttouvvqpttrprtxqmvvs`WXTXZ[[[[[[[Z][_|YXRWWVVYYSSVSQTVSOOSTPQRUSUQNVXSRUbĿdPORQSb}l\UTURMOKIKJJLKHFGGFACCCB?DDGEFGNVqb^\\]UQNRPNMMNLKOX[ZTLKJJLOYuºumjokhoxg`cb[aommtsppronmtsvyxruvuqtyxquwqpmqtppwul[YYYZZ\\[\][[]^[^jw|¿XYUSYYUVYXRUUQRXWNUVWNNOUSOQPRRTSZr´qSNQQQUqv\UNRTXYTSQOHKJGEIHHEHECBAAAABEGEDBCJZxc^]_^VPPQNOOMOOOT_icYQKLKKO[lȤtr~{umobbr|wqlbbmqnuvospmsttryyvuyytuuwytvwwnltwrmwyp\YYZ[Z\]Z[]\]^^][Y[^ixz[WVTXYYUWXTUUXQQ[TQSYXNOOSOORQUTSSXy¸^KLNSQUdcZWRSST^oiWUSQJJGFEJMKGGEBA??BEDCEEEABGO^b\]aYUQRPNONNOONVgqncVNLMMXm}Óztrww{pjhl~qjqqqvxooqrruwwwyuvxywwv{vvwywrt|ytuvteZWWY]][Z^][\]^]]Z\[\kžûXZXXXYXVZZUSUUQTXOTWUUTUSSNQPQUTOSVqĸkMJKOQUSTVUUTTX^{tZVTRLIEEGJONFEC?BBCGJFB??ECDINVg}b^]_[URQONOOONOOWjuum^SMLS_}̤{{yslzrsq~nrnu{zpqrvpuxtw{yvw{ypu||rrwxnp{|vt{weUXYX\\\Z\^\\]^^]\\]^r¾XY^YY]YTY\XRUUTXYQRUTMTW]VNRQNSRPUc~tTJLOSRVUTRSWUV\um[UWTQLGJMMRPLICBDGFJLHGAACGJMNMOYwe`^a\XRNNNNNRPNQ[oy|whXQScnպyyq{}uyss|{vsvusutrxzwvx{xrvyyutvvqrwzzx{ybVYYXY]\ZZ\\][^^\]___n¾¾d\WXX[\UWZYVVUVSVXSTZWNTW\VQRRSTRRWk}regWKLQSTSSVTSSUW^wdWRRQRNIMONQQRKGGHJILLJJDBEHMMLIKOefa__[VRROOQMOOQQ^uz~{r`Ua{˱~}|uu~wttyupvuqvxwtuy{rzyvwyuswyxxz{ypZXWWWZ\]ZZZ\^\^\gfhiguž¿¾{[YYZ^_VY[[VZTRUUTRYZUV]YWOTSOSSPQ[ure]TRTONMSRRUUVVSTVf`SQRONIINOOOOOJFFJLLNJIHFCBHIKJHHIUtg_a[YSTROOONOOOTey{zmcnz}txw|vyxwwuwvtxyxttxtrw|xuztns{zxuy{s]VV[Z[]^][[[\\\a}¿~Z[[Y]dZW\]XZZTTWQPXXTW^^XPQRORSRTbzhj[TPPNOQRQNQQSSSVTV_ofPMLNKIHLOQNNMJFFGIKOKFHHCBDEIIGEGK[zd``^[USRRQPOQRSVk~|zŸ|pffnolr}yx}yxxzyzwvz|wswvuxxvxxwnedhkhlnvwn\UXY]]]^]\^b___d~ÿb\YZ\_\ZY^\UTXRQWTPXYOUW]\SUSQSQRXmjcUVUROQRRRRQPOMSRUY\cnpPIILLIFGINNKJJIHDDFIHEIFD?C?DHHCEEMXjd``^YWURSRRRQRS\v˾vylb_cbdmvv{|tvz}xyzxuwzxv{wuvzuwwn_UUWW\bdc]YXZ[]^\^b\ew{{tuľp[XYZ]XXZZVVXTQSTTU[WNVVWTRTQSSRUbbSNOSTSQQRVRONNOYeit~{QJHIJIHGFHKKIFHGCA?EDEEABBAABGGDBCGKTjbba^YUURRSRQRQS_{°{ymny~zhcfbdltvy|wx{yvzwux{vuxwqpsuqpusdPNRWX[YXZ\Y\[[]^_^^gX]YV_][Z\XW]XTVTUY]UORWWQRTQTSUZlqbYSQPSTVUSURRONNOXyúTKFGGIJKGFIHFFFEDDACEDB?BCECBEDFECEIM\^^_]ZWTTSRSSRQTj½~xv|vnhkv}opkhqws{z{xxytxvvyzstrkdddhfiji^QRSWWZYZY]Z[[[\_cbhiyy|a[[[V]_YY_YSY[SUVQTZXNOQWTQRRRPQXo}cUQNTSRRSVXUUSPNONTlɼ^NGGGKKLJFFDEEDFGHDDDCCBCGKHFEDEEIJLMRboZZ[[\XWUSRRRQRYrx}~}uwzpmzmpxrzzx{zzvyytuvtonl_WWXWYYYWVVUXXZZ[WY[[[]\k~ýgZ^]YX\YZ\^[\ZXVW\YTUUNSUTORQRRPNRQSQT\ZTSQRRTTX[dm_RRPNOOcʻuPIHKLJNKHDCCFFHJIFCBCDEGJMKIEEFHMNKKKNTyXWWXXXVTSRSQRSYmÿvy~vvpyzxxzxyyxswurspn]TSUSQTVWVWV[[WY[]ZZ[[]^tĸeVX[X\_\[_^][[WV[XRTUOLORNMQRQRQNOOSQOUPRRUY\cjsw~`RQMOOW{úLJHMOMOOKFCCJJKLMLGBBEIKLLKHEFFHKMLLIJKYyXWYXWWTTTUSSRQWdryw{¾zwr|}yw{yyz~rwxwwsi]USSTVUVVVWZ\ZZ[_][[]X[esp{yhZ[XYZaa]Z]_]Y\\TXZSRUPKNQPQOQQQONORRPSVW[]grypTQNROUaùgLLMOORQLLJFHMMMKKMKCDEINNHGEGFGJHHLMKIIM_˓CCCCCCCCBCCBBAABCDFFGEEDDCAAABBBCCDECCDDDDDCDEEDDCBCBBBABCABBCDCEFFFFEulijntD~}{|}~e``dvr_WWVXZ\nDvkiihhfghlifimorpqpnonponlmlkklswrnkhgffiyzc``_^]`bg|v`]\\[\]]^`bdflvyYUW\qpYSQSSVWYkC{aWZ[[YYYSOJIMQRTPOONNOPPPOOOSTU^sWQPPQSRTXllRPPQPPSV]xoWUSUTVUTTTTSUX\bm|yYUV[p}]TTRRTXY[lCvTNTWZVWUTOKJIJIKHHIHHIJKMKJLOPT[~oPKKMNPPRVklQOOPQRSV^xmUUUVUSTTTSTSRSTX\`mxXVU[qqVTTTX\^`bq|sCtNHLNRPPNNLKJJIGHFFGGGHHJJIJKMOS\~pOJLMMNOPVklRQPPPSUW]wkSTVXTTUTUTSRRTTUVX]f|xXWW\piVVWZdrz~~}j`dCuQIGEHHIEEFKLJHFECCFFHIHHHIIJKNQ\~pRMLNNOOPUklRQQQQRUW]wjSTVWXZ[ZZZVTVWVVUWZYbyyYVW\meWXX_wv_XW`CuQIECEHIIGGJJFEFFFFFFHIGGGIIJKLR\nOMKMNOPQVjkRNOQQRUVZukTUVYdqtvvuqlfa\XXZd[Yc~{ZVX\nbWXYefTTT^CuOFDDFHIIGGHIGFGGFFFFFGHHGHHIJMR\nOMLMNOQRWklQNNPRRTV[ukTWW[ruf\\g]X\kzYUX]n`WW[icRST_CtNEEEFFEEGGHGFEEFEEFFGGGGHHIHIKQZoPLLLLMNQVikPLMOQQSU\ulVXX]vqaaYWY_qzXVZ^m^VWZieRRT_CtNGEFHIIIIJGEECDFEDEFGIHIIJKKKNR[~pQLKJJLLQVikPNNPQSTV[ulVXY]vv`VUWYbyXTW]n^UV[igTSU_CwTMKLKLMNOQKGFGFEEDEEHMPPPPQQSVYaoPKKKLMNRUilQNMOPRVV[toWWZ]vt[VWY]pyXUVZm^UWXggTVW_}Ehaaaaabbca[KGGFGFDDHO\ikmmopqstzoOJKKLMNQUhmPMLMPTXV[soXXY]wmYWXXbyYUVYm_UVXfgTVX_|EvTGFFFGFHMUppOKKLMNOQTgmQMMNPRVW\snXWX\w`WWW\s{[VW\l^TUWdgUVX^{EXEEEEGGJNUvpNIKNOOQQTfmPNMOPQTVZsmVWV\wlXXX[h}\WX[l~]TVXbcUVW^uE[FEEEFHNPVwqOIJMOORRUgnQOORTQTUZsmWVW[u{_ZYYauhcbgio|}[WY]k}|xjYTUX]muwxy{riXU[VXakmntEZGFFGHJNQVvpOJJKLNPSUgmRQQUYSUVZrnVVW\vf[ZX\uta[XVUY[\am~[UX\kk][WTSSTVWVVWZ^n_VURTYTTWVWX^sEYGIGHIJNPVxpNIJJKKMQTgnRQRVXTVU[rkTTV[vlYYX[nlYUVVUVXXY\\i}\XXZibSRQQRSSRRRRQTZj{XQRQQRRSUSSV[oDYGGGHIKLNWwqPLMKJILQUgnSOQUVRTUZqlVWX\wuZZZZhnYSSVWX\[YXZY]k}\VX[jbQPPQTTRQPRRSUYi|YRRRQPPQRSTV[pDZGFFIJJKNWwqOLNNKMOQUhnRPQUWSSUZpmXXW]w|[WY[ew[VTU[`hjg`ZXZ]as~\TWZkeUUUUVTSRRVWWX\i^TTSQPPRUXY[_sDYFEHIIHKOXxpNIJLMNQTVhnRPQRWUSU[roXWW\v^VXYacWXY]l}|gZY\^g~[TW\lthfe`WSRTW`hiknyrje[TRRV`mqsuDYFDFGHFJPYwqOJJKMNSTWioRPQSVWWW[roWWY^vaWXX_}tWVY[jjZ[\`r[UV]ky]SUW_|eTTUZsDYEDEFGGJPXwrPLMMMNSTYgmQOQQSWYX\rnWXZ]ueVYY^zdTWYc}a[[]g]WY\kcXXXcjSTU\xE[GEFGGHLQWvrPKMMMNSUXgnRPPPQUXW\rp[ZY]wgWXZ_x~\UX^pq][]d}\VX[kbWWWclWVW\xD[HFFFHIPUXwrQLMKKMOSWfnRQOOOSTUZrnYYX_xiXYZ`xrXVY`|`\]^r]VWZjbWXYdmWWX]yE[HFGGHKRVWvqNJIJJJMRVgnRONNOQTV[qnXWY^wjYZZavgWW\hdZZ\j]UVZkcXX[ejSUW]yDZGGGGHIMPVvqOKKJKJMQWhpRONOQPSV[rlXVX]xjWXY_rbYZ]mk[\\e]VWZkcXXZfkSTV\wC\HIIHGGKOWwrQMMLKKNRVgpQOPPQSUW]skWXX\wjXXY]r`]^`po[\\c~]XY[jaUWZekTST[vC]IIJIHIJNVwsQNNPSOPSWgqSPPQQSVW[skWXY^vkZYZ^u{][]^nlZ[\`|^Z\]k`TVWdmWUU[xC[IHJHHIKNVwtRNPTZTQTXhpSRRPQSVW[rkVWW^wiXZ[_xvYVXZcrvxwvxwvtsn`YZ[`{`[[]k`VWWcoXWW]xB[HHIHFGINVvsRLMQTRRSWgpSSTPQTUVZqlUVX\xfY\[`{tXUUVWWYZXXYYYZ\[XWYZaz_Y[]l`TTWdoVUW]wC[GHGFGFJNWwsRMKMOQRTVgqSOQPRTUVYpoXXY]ybYZ\a~qXTTUVSSUUVVVWY_aYXYY`xaYX\laSTWcoTVX]vCZGHGFGGINVwsQKJMNORTVgrSONOPSUUYpnWWX\w_Y[]dpYVUUUTSUUVVWX[beZZ[[_w`XY\lcUUWdoUUW]vCZHGFEFHJNVvtRLKMMOPSWgsSONOORTUYqlVVW\v}][\\fpXUVWXVXYZZZY\[\]\\``fybYX[jeXWYcqWVX^uD\IHFGGILPWvuRLKLLNQTVgrTONNPTWV[rmYZY]vtZ[\\jqXWXZ`jnnooooonopprstx_VX]jcUVXcrXWX\uE\IGFGHJMPVwvSLLLMOQSVdpSOOQQV[X]umWXY^wlYYZ\qrYZ[]m`WX]idUVXcsXVV\uD[GGFGHKNRWvySKMLLNQTU`lRPPPPSXW^ylUWX]wcWXY`ytYZ[^qaWX[icUXZdtYXX\sD[GGGGIKSYYw{VKMLMMQTU^ePPPPQRUV^}lUWW]v|[WYZdwYYZ^p`WY[hcVYXctYXX\rE\FEFFHJOUVvYLMNONPTU]y]NNNNPSUWbmUVX]vmWXY[k|\Y[]naWY\jcUWWasXWX[sD\FDEGHIKQXv_LKMMOOQUYnvVPOOOPRUXgmVVW]w`WYZ]t_YZ\g{xz|bYZ\ibSWWasWUX\qE^HEEHIJMQXwgMKJLNNOTVbcPNPQQQRU[onWVX]vpWVY[aeYYYbw`_`d~_WWZgeUVWbtVUX\qF^HEFGHIMPWvpPLKLNONRUZllTMMOPPQSV^xmWXY^w}`UUX\jjXXZ`wjZ\]b`XY]gfVXYbvXVW\qF]HGGHGHLPWwzUKMLMNLNRVZh{zgUOONOOPQTWdoZZZ^wfXWZ[`xtXXZ]maY\]ebX[^hgWY[cuWVW[oE]IHGGGHLPVv`LKKLLNMNPRU[cge`XRPOONOQRUX[nmXXX]u~fXVWZ^k^VYZc~vZY\]kaWY[ieSVZcwZXY[kD]IIHGFGJOWumPLKMMNONNNNNQRQPOOOOOPOQSVX`kTTW\pr`WVXZ\gjWY[^meX[^bv_UW\ieTVWbxZVVYbzD]JJIHHGJQWu~[NNOMMLLNNMNNOONNOONMMOPSVZmjSRVZcsvuuutroi_XVUUX[avz[WYZ`ol\[]_g`WY]igVWXa{ZSTVYagggrC]HHGGGHKQWulSNNLLKKLMNNNNNNNOOOMMPQUXdlUQRTUWYXXZZYXVTVUVXZ_phZWUX\hv~~vf\[]\_rcZZ]iiYYYb]TTUVWYZ]mC\GFEFFGLQWvdSNLLMLMNNMMMNONOPQQQPSXaykTPPSTTTTTVVVWVVWWYZ_p|`WTUTU[^][YY[]]hdZY\hj[[\ceTTTVYZ\^kB]HGFGHJMQXuz^ONMMKMMMMMNOONOOPPPSW^rlURRSSTUUTUUUUVVYZ]bsu]WVUUVVVWWY[^d|bWY\ijY[]cv\UVUVWZ_nB]HHHHHKORWvx^SNMLNNNNNNNNNOOPQTX`rmWTUTSUVVVWWVVWY[`k}uc[WWXYWWX\`izg^^boo^_`gtc\Z[\`i|B_IHHHJMPSYw|eTONNNNNNMMMMNOSWYdxq\Y[][]^___`aacir{~j_\\^^^^eq}uuxzyy~yrqryBdQPQRSUXZ`{p^URQROOONOQTV\cozyz{{}~upnorvB|qrrstvvy}rg``YTTUX\bkuC~xsrsv|BCCCCCDDCBBBBCCCCCCDDDEDDCCCCBAvtyzB~}ogmilyoCm_[^akw{t|v|trzoq|zrvyC~p]\ktnp}wsxqm{mxm|zv~ei}zfqDjkkv~nn{yxrxn{wursxyzprrastov}laxunzmlrysyacyyfsDmnkfquhmb^eitjik~|{eclwjixe\dfz|ggl{rynyckmmt{r~{jnoorbs}hsrxr~hvszl{rzjrp~o|~lyvnsrDnnlahaqsepmucbqhrhewoqqyndqk~kzwrff|omkl{lxzpzo{kl|n~nv}yf{yismhxoqkr|lrqssp|~equgzyvu|vEnnbis`acojwwokw{lmvmbt{tomv{hy`fthswoyo{sp~znq|rq^fge~uylfqnsdbgft~pvwm~zahll~yww}tDoo{XZ^Y\]ulznl|~klwxa^i~mrq|~kw]^fdvymuoysq|yovovrvbqwwy|sgpmsiq}~quxmjzxx|uErp|]eonmbtnynk}nnyxi]qnqq}m}grykosztr}yo|cez|m{x|rjpsp|}qpqtrupx}{y|vyCqrevvrgm~nyolpnwyxwaprjyopnwt{mq}ug}|wu|secnxvpzorkntswxoumwr~rfkksxnosvCstkiqfrmaoirptsuqwobeaz}hmiqtw{kmj{fccp~}wqykl{wmqxrz}B}~|hdlkdkpkv~rr~u}z{BBCCCCBCCCCDDCDCCBBAABBCCCCDCCCDCCCDDDDCCCCBBBCBBCCCCDCDDDDEDDDDDDEDDCCBABBAAABCDEGHHIJHGF#a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #E 18 11 #W 01 00 0A 02 1D 09 08 A:\ART__049.640\AIM2_31\*.*@ #W 00 00 0D 08 15 0B 00 @ #W 00 00 0E 09 15 0B 00 @ #W 00 00 0F 0A 15 0B 00 @ #M 00 00 00 FF A FOLDERS P.D@ @ #M 00 01 00 FF B ART DISK 9.@ @ #T 00 03 02 FF TRASH@ @ #F FF 04 @ *.*@ #D FF 01 @ *.*@ #G 03 FF *.APP@ @ #G 03 FF *.PRG@ @ #F 03 04 *.TOS@ @ #P 03 04 *.TTP@ @ ((Bus errorAddress error accessing Attempt to divide by zeroValue out of rangeInteger overflow[3][][ Abort ]Error in Called by PROCEDURE FUNCTION MAIN PROGRAMat line at PC *unknown*/,HNVnAV-HN8?<MHnHnzHnrHnnN/" n0.|0"n2.~2$n4.4&n 6.68.z=D0.N^,_ _N/,HNV,A-HN80. rAg =A.`$Hn,Hn,Hn,Hn,NT?N0rpd=@.0. =@r=A`0.@rA1Rn n op=@?..Bg?< BgHnHnHn`HnHHn0BgN/0.=@0.N^,_ _TN/,HNVAX-HN0|=@?.N0r0. =@?<fBg?<BgHnHn n/Hn"n/ BgN/?.N0rN^,_ _ N/,HNV4A-HN0|=@6?. N0r?. HnhHn8?<N\0.hrAg te=B4`t=B4????HnHnHnhHnPHn8?N/0. 2.6Ag?N0r` BgN0rN^,_ _TN/,HNV8A2-HN8?<BgBgBgHnHnHnhHnPHn8BgN/N^,_Nu/,HNVjA-HN8p=@j?< HnHnzHnrHnnN/"0.z=@lrAg?<N=@j?.jN0?.jN0r?/LM NuHM _0@"_24BAAc1V`t>/LM NuHM _02S@AC2YQ/LM NuHM _02S@AC2YQ/LM NuHM _02S@AC2FAYQ/LM Nu _"_/) g g f*JtgJi ka0) k @e??<>3| NAXNu/")x itg$H@//?) ?<@NA LJof _NuHM$ _0"_e /LM$NuHy8N./B9ML/|MLNuHM$ _0 @f0"|M"M"p` "_J@jpEMLr4@ BbBS@kQ/LM$NuHM$ _4SBkt82$_rAbd0 @f0"|M"M"p` "_J@jp6ADb6CG0IS@k$eQ/LM$NuHM$ _4k2SAk0"_p6B@bE0)CS@kQ/LM$NuHM$ _2$_r0 @f0"|M"M"p` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/LM$NuHM$ _4kF2SAk>0 @f0"|M"M"p` "_J@jpJBg@b6B@oCEMLSBkQ/LM$NuString overflow _pJ.g 0( hNVg4 ( hg( hH`0( hNVg ( hg hHfXgr"ODd2Sk "Sj` _"y:e Hy8N.N#NT#NP .f -|8`-|8 nNнNPf yNTNStack overruns heap09:Nu09:By:Nu _3:NBy:Nu[3][][ Abort ]Copyright 1986, CCD and OSS, Inc. .ԞN(L "Vz2 >D D D00D B  X l8  V V 2 ^   0 0*&  n`V ` B@  $ 0 "  4&$$   ( vr  F  .0       62 22"* 0 L "6& 4*@442 * R":d"F:6B.H*6* ,,  .6   "    :BN&V0b,4 "T & & (,& J           66400j,*< * * , , 0 , " ( *@ B @ (  $  Opus Printer Configuration Utility v. 1.00SerialParallelDecimal codes only; separate by space!EXStandard Characters per Line: ___xxxEXCondensed Characters per Line: ___xxx. H Printer Initialization: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Line Terminator: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Page Terminator: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Draft: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Final: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Condensed: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Bold On: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Bold Off: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Italics On: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Italics Off: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Underline On: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. H Underline Off: ______________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxLoadCancelSaveG$OP+"#37Rq00.Ms&&?*^}) ),Kw,,M.l.@  .QX  a&!"">6 Z/ v /  %  %  ) ((+:+V-r-+'5 Opus 2.2 ReadMe Release Date: 8/12/89 --------------------- To: New users ------------- Please read the file INSTALL.DOC before attempting to run Opus; it contains important information about setting things up for GDOS. The OPUS22.DOC file is really a manual addendum. If you are having difficulty learning Opus and find the online help inadequate, or you would like to see some sample worksheets, download the file OPUSDOC.ARC. It contains several worksheet files as well as the documentation for version 2.1, which is mostly applicable to version 2.2 (OPUS22.DOC supersedes OPUS21.DOC in certain areas). Since the Swiss 10 point font is included with every GDOS package I'm aware of, Opus 2.2 uses this as its default for all chart text items. You may change this on an item by item basis to whatever font you have available. To: All users ------------- To use the new help feature of Opus 2.2, create a folder OPUSHELP in the directory containing OPUS.PRG. Then transfer all the help files to that folder. The help files are found in HELP.ARC within the OPUS22.ARC file. To: Current users ----------------- Your current PRINTER.INF, OPUS.CNF, and OPUS.WID files are compatible with Opus 2.2. However, Opus 2.2 does save additional information in the OPUS.CNF file. Two new default paths are saved: WKS/WK1 and DIF. DIF isn't used yet, but it will be later on. In addition, the default settings of the new chart features are saved. Please be sure to at least read the "Copy/Move" and "Insert/Delete Row and Column" sections in OPUS22.DOC, for these worksheet functions have undergone some significant changes. Re: Scrollable lists -------------------- To deselect items, earlier versions required you to click anywhere outside the list but within the dialog. I often found myself unintentionally deselecting items, so this method has been changed. Now, click within the "margins" of the list to deselect an item. For example, if the list looks like: ------------------ |****************| |**d-mmm-yy **| |**mmmm d, yyyy**| |****************| ------------------ click within the area indicated by the asterisks (this area is of course blank in the actual dialogs). This affects the number and date/time format dialogs. Sorry for the inconsistency; this will be the finalized method. Re: Charting ------------ Opus 2.2 allows you to position chart titles and legend with the mouse. However, if you want your worksheet files to be portable from the monochrome monitor to the color and vice versa, Character Spacing should be in effect when you place the titles. Otherwise, you'll likely find the titles slightly out of place when used on the "opposite" monitor. Opus 2.2 uses line patterns to distinguish between chart data series when appropriate. Splines and other smooth curves are constructed from a set of line segments, and you may find that the patterns "get out of sync" on some curves; that is, a dotted pattern may show more dots than it should. This seems to be more of a problem with the screen than with the printer and apparently is an ST limitation. A number of users have pointed out that EasyDraw has problems with Opus metafiles. Text isn't justified properly, filled area outlines are lost, vertical axis titles aren't displayed rotated, scaling of the chart as a whole isn't very accurate, etc. Well, what can I say. One of the main reasons I bought EasyDraw was to use and test with Opus metafiles, so I'm disappointed too. My conclusion is that although EasyDraw uses the GEM metafile as its file format, it is not a generic metafile player, much less a generic metafile editor. This is supported by the fact that Publisher ST and OutPrint/Output do splendid jobs with all Opus metafiles. While I could make an effort to make my metafiles "EasyDraw-compatible," about the only improvement would be drawing of outlines around filled areas. EasyDraw simply doesn't support rotated text or justification of text in a manner other than its own. Furthermore, I can't do anything to improve EasyDraw's accuracy in scaling metafiles. Since the things I _can't_ fix are fundamental to producing presentation quality graphics, I can't justify the time and effort to fix the few things I can. Finally, I've occassionally noticed very minute breaks in regression lines when printed at 300 DPI on a Hewlett Packard DeskJet. This is an infrequent problem, and it occurs with lines printed at certain angles. I mentioned this in a letter to Migraph, and they attribute it to limitations in the Digital Research (author of GEM) printer driver code, upon which most, if not all, ST GDOS printer drivers are based. They say they seldom hear complaints about this, and I'll agree it's not too serious a problem. In any event, Migraph is aware of it and is working on a fix. opus-ops_ $ Absorption Spectra for NAD and NADH_ ! The data below is best described_ % (plotted on chart 1 as cubic spline._  by the power regression model._ $ The end result, compared to a line_  However, when plotted using_ ' chart, is a much more accurate chart)_  log-log scaling, the regression_ & curve is linear. Chart 2 demonstrates_  Wavelength_  NAD 2_  NADH _ \=_  this._ D\_ @ffffff_ @ffffff_ = Page right to view data for =_ Df_ @aGzH_ @QQ_ = chart 2. =2_ x2_ y_ Dz_ @_ @fffffff_ \=_ A_ Cd_ D_ @ffffff_ @333333_ B_ B_ D_ @_ @fffffff_ B_ B_ D_ @_ ?Q_ B_ B@_ D_ >\(_ ?# =p_ B_ B _ D_ =\(_ ?# =p_ C_ B 333333_ D_ =# =p_ ?u\(_ C@_ A陙_ D_ _ ?QR_ Ct_ A_ D_ _ ?Q_ C_ AC333333_ D_ _ @Q_ Dp_ @ٙ_ D_ _ ?(\)_ D_ _ ?\(\_  Correlation Coefficient:_ D_ _ ?_ ~_",   _ D_ _ > =p_  Regression parameters:_ D_ _ =\(P X ?G"+   Q D6!<Ɵ_ D_ _ =# =p_ D_ _ _ D_ _ _  Just for fun, you might want to_  experiment with semi-log and_ $ For fun, change this back to a line_  linear scaling to see how the_  chart by deselecting the series_  curve is drawn._ $ buttons in the Spline dialog, found_ # under the Chart Special menu. Line_ # charts are simply inadequate here.%Glutamine accumulation model rev. 1.0 ^l^d^c^f^r^t^c-^p-Jt$;nO  _BM= `,B= r>> =p@A@`@fffffff??L?L?L;nOJt$  ;nOJt$ ;nOJt$D[DB>L> ;nOJt$@fffffe?L>L>;nOJt$NADNADHFigure 1: Absorption spectra of NAD and NADH (using splines, markers suppressed)s, markers suppressed) Wavelength (nm)  Absorption   wAOW]SAR+@;1>>>>:.,gm0EY5r>> =p@A@`@fffffff??L?L?L;nOJt$  ;nOJt$ ;nOJt$A@@>L> ;nOJt$A@>L>;nOJt$Power Curve, illustrating plotting of non-linear (power) regression line with log-log scalingine x  y     4,#OrA 1>>>>8.P1Rg0