%!PS (but not EPSF; comments have been disabled) %DVIPSCommandLine: dvips 4argon.dvi -o %DVIPSParameters: dpi=600, compressed, comments removed %DVIPSSource: TeX output 1998.05.06:1726 /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} forall round exch round exch]setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{ dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} {adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict /eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail {dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ 4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end TeXDict begin 40258431 52099146 1000 600 600 (4argon.dvi) @start /Fa 79 127 df<123C127E12FFAF127EAE123C1200A7123C127E12FFA4127E12 3C082F71AE27>33 D<90383C03C090387E07E0A7EBFE0F01FC13C0A2003FB512FC4814FE B7FCA36C14FE3901F81F80AC007FB512FEB7FCA36C14FE6C14FC3903F03F00A200075BEB E07EA73803C03C202E7DAD27>35 D<131FEB7FC0497E5A80EA03F1EBE1F8EA07E013C0A5 13C15C9039C3F1FF80D9E3E113C03803E7E3EBEFC101FF1480913881F800EC01F0EA01FE EBFC0301F85B00031307D807FC5B120F381FFE0FD83FBE5BEB3F1FD87E1F90C7FC149F38 FC0FBF14FE1307ECFC020103EB0F80EB01F8A238FE03FC387E07FE397F1FFF9F6CB61200 149F6CEB0FFE390FFC03FC3903F000F822307EAE27>38 D40 D<127012F812FE7E6C7E6C7EEA0FE06C7E12037F6C7E1200137EA27FA2EB1F80A3EB 0FC0A4EB07E0ACEB0FC0A4EB1F80A3EB3F00A2137EA25B1201485A5B1207485AEA3FC048 5A48C7FC5A12F81270133A7AB327>I<130F497EA60078EB81E000FEEB87F000FF138FEB DFBF6CB512E06C14C0000F1400000313FCC613F0A2000313FC000F13FF003F14C04814E0 39FFDFBFF0EB1F8F00FE13870078EB81E00000EB8000A66DC7FC1C207BA627>II<120FEA3FC013E0 EA7FF0A213F8A2123FA2120F120113F01203EA07E0121FEA7FC0EAFF8013005A12700D14 738927>I<007FB512F8B612FCA46C14F81E067C9927>I<121EEA7F80A2EAFFC0A4EA7F80 A2EA1E000A0A728927>I<1538157C15FCA2140115F8140315F0140715E0140F15C0141F 1580143F1500A25C147E14FE5C13015C13035C13075C130F5CA2131F5C133F91C7FC5B13 7E13FE5B12015B12035BA212075B120F5B121F5B123F90C8FC5A127E12FE5AA25A12781E 3A7CB327>II<130E131FA25B5BA25B5A5A127FB5FCA213BFEA7E 3F1200B3AA003FB512805A15C01580A21A2F79AE27>IIII<001FB512E04814F0A315E090C8 FCACEB1FF0EBFFFC14FF158015C09038F03FE09038C00FF0EB0007003EEB03F8001C1301 C7FC15FC1400A3127C12FEA2140115F84813036C14F0007F130F9038801FE0393FE07FC0 6CB512806C14006C5B000113F838007FC01E2F7CAD27>I<14FF010713C0011F13F04913 F890B5FC48EB81FC3803FE0113F8EA07F0EA0FE09038C000F8001F1400485A90C8FCA25A 127EEB0FF838FE3FFE48B51280B612C015E09038F80FF09038E007F890388001FC90C7FC 15FE48147E157F153FA3127EA3127F6C147F157E6C6C13FE9038C001FC120F9038F007F8 3907F81FF06CB512E06C14C06C148090383FFE00EB0FF820307DAE27>I<1278B612FE15 FFA315FE39FC0001FCEC03F8EC07F0007814E0C7120FEC1FC01580143FEC7F00147E14FE 5C13015C13035C13075CA2495AA3495AA3133F91C7FCA55B137EA9133C20307DAE27>I< EB0FF0EB7FFE48B512804814C0000F14F0EBF81F391FE007F8393F8001FC90C7FC4814FE 007E147EA56C14FCEB8001391FC003F8390FE007F03907FC3FE00001B5128039007FFE00 6D5A90B5FC000314C0390FF00FF0391FC003F8393F8001FC90C7FC007E147EA248143FA6 007E147EA2007F14FE393F8001FC391FE007F8EBF81F6CB512F06C14E00001148039007F FE00EB0FF020307DAE27>II<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCAC121EEA7F80A2EA FFC0A4EA7F80A2EA1E000A20729F27>I<120FEA3FC0A2EA7FE0A4EA3FC0A2EA0F00C7FC AC120FEA3F8013C0127F13E0A3123FA2120F120713C0120FA2EA3F80EA7F005A5A12F812 700B2A739F27>I<15101578EC01FC1403140FEC1FF8EC7FF0ECFFC0491380903807FE00 495AEB3FF0495A48485A4890C7FCEA0FFEEA1FF8EA7FF0EAFFC05BA27FEA7FF0EA1FF8EA 0FFEEA03FF6C13C06C6C7E6D7EEB0FFC6D7E903801FF806D13C0EC7FF0EC1FF8EC0FFC14 031401EC007815101E287CAA27>I<007FB512FEB7FCA4003F14FEC9FCA6003FB512FEB7 FCA46C14FE20127D9F27>I<1230127812FE7E13C06C7EEA3FF8EA0FFC6C7E3801FF806C 7FEB3FF06D7EEB0FFEEB03FF6D13C09038007FE0EC3FF8EC0FFC1407A2140FEC3FF8EC7F E0903801FFC0491300EB0FFEEB1FF8495AEBFFC0485BD807FEC7FC485AEA3FF8EA7FE048 5A90C8FC5A127812301E287CAA27>IIII<903803F8 0E90381FFE1F90383FFFBF90B6FC5A3803FE0F3807F803497E48487E485A49137FA248C7 123FA25A127E151E150012FE5AAA7E127EA2151E007F143F7EA26C7E157F6D137E6C6C13 FE3907F001FCEBF8033903FE0FF86CB512F06C14E0013F13C06D1300EB03F820307DAE27 >67 D<387FFFFC14FFB612C06C80813907E00FF81407EC01FC6E7EA2157E157F81168015 1FA316C0150FABED1F80A3153F1600A25D15FEA24A5A4A5A140F007FB55A5DB65A6C91C7 FC14FC222E7FAD27>I<007FB61280B712C0A37E3907E0000FA6ED078092C7FCA4EC0780 4A7EA390B5FCA5EBE00FA36E5A91C8FCA4ED03C0ED07E0A7007FB6FCB7FCA36C15C0232E 7FAD27>I<007FB61280B712C0A37E3907E0000FA6ED078092C7FCA4EC07804A7EA390B5 FCA5EBE00FA36E5A91C8FCAC387FFF80B57EA36C5B222E7EAD27>I<007FB512E0B612F0 A36C14E039001F8000B3B2007FB512E0B612F0A36C14E01C2E7BAD27>73 D<387FFFC080B5FC7E5CD803F0C8FCB3AAED0780ED0FC0A7007FB6FCA2B7FC7E1680222E 7FAD27>76 DI<3A7FF003FFE0486C 4813F0A213FC007F6D13E000079038003E0013DEA313CFA3148013C714C0A213C314E0A2 13C114F0A3EBC0F8A31478147CA2143C143EA2141E141F140FA3EC07BEA3EC03FEEA7FFC EAFFFE1401A26C486C5A242E7FAD27>II<007FB5FCB612E081816C80 3907E003FEEC00FF81ED3F80151F16C0150FA6151F1680153FED7F005DEC03FE90B55A5D 5D5D92C7FC01E0C8FCADEA7FFEB5FCA36C5A222E7FAD27>II<387FFFF0B512FE6E7E81 6C803907E01FF014076E7E1401811400A514015D14034A5A141F90B55A5D5DA281EBE01F 6E7E14076E7EA816F0EDF1F8A4397FFE01FBB5EBFFF08016E06C48EB7FC0C8EA1F00252F 7FAD27>I<90387FC0E03901FFF1F0000713FF5A5AEA3FE0EB801F387F000F007E130712 FE5A1403A3EC01E06C90C7FC127E127FEA3FC013F86CB47E6C13F86C13FE6CEBFF80C614 C0010F13E0010013F0140FEC07F81403140115FC1400127812FCA46CEB01F8A26C130390 388007F09038F01FE090B5FC15C0150000F85B38701FF81E307CAE27>I<007FB61280B7 12C0A439FC03F00FA60078EC0780000091C7FCB3AB90B512C04880A36C5C222E7EAD27> I<3A7FFE01FFF8B54813FCA36C486C13F83A07E0001F80B3AB6D133F00031500A26D5B00 01147E6D13FE6C6C485A90387F87F814FF6D5B010F13C06D5BD901FEC7FC262F80AD27> I87 D<393FFC1FFE387FFE3F815D383F FC1F3903F00FE001F85B1201EBFC1F00005CEBFE3F017E90C7FCEB7F7FEB3F7E14FE6D5A A26D5AA26D5AA21303130780130F80131F80EB3F7E147F497E017E7F141F01FC7F140FD8 01F87F14071203496C7E120701E07F3A7FFC0FFF8000FF15C06D5A497E007F1580222E7E AD27>I<3A7FFC03FFE06D5A00FF15F0007F15E0497E3A07F000FE0000035CEBF8010001 5CA2EBFC0300005CEBFE07017E5BA26D485AA290381F9F80A3010F90C7FCA2EB07FEA26D 5AA26D5AAF90381FFF80497FA36D5B242E7FAD27>I<387FFFF0B512F8A314F000FCC7FC B3B3ACB512F014F8A36C13F0153A71B327>91 D<387FFFF0B512F8A37EEA0001B3B3ACEA 7FFFB5FCA36C13F0153A7EB327>93 D<131C137E3801FF80000713E0001F13F84813FC38 FFE7FF13C3130000FC133F0078131E180B79AD27>I<007FB512F8B612FCA46C14F81E06 7C7E27>I<3803FFC0000F13F04813FC4813FF811380EC1FC0381F000F000480C71207A2 EB0FFF137F0003B5FC120F5A383FFC07EA7FC0130012FE5AA46C130F007F131FEBC0FF6C B612806C15C07E000313F1C69038807F8022207C9F27>97 DIIIII< 153F90391FC0FF80D97FF313C048B612E05A4814EF390FF07F873A1FC01FC3C0EDC000EB 800F48486C7EA66C6C485AEBC01FA2390FF07F8090B5C7FC5C485BEB7FF0EB1FC090C9FC A27F6CB5FC15E015F84814FE4880EB8001007EC7EA3F80007C140F00FC15C0481407A46C 140F007C1580007F143F6C6CEB7F009038F807FF6CB55A000714F86C5CC614C0D90FFCC7 FC23337EA027>II<13 0F497E497EA46D5A6DC7FC90C8FCA7383FFF80487FA37EEA000FB3A4007FB512F0B6FC15 F815F07E1D2F7BAE27>I107 D<387FFF80B57EA37EEA000FB3B2007FB512F8B612FCA36C14F81E2E7C AD27>I<397F07C01F3AFF9FF07FC09039FFF9FFE091B57E7E3A0FFC7FF1F89038F03FC0 01E0138001C01300A3EB803EB03A7FF0FFC3FF486C01E3138001F913E701F813E36C4801 C313002920819F27>I<387FE07F39FFF1FFC001F713F090B5FC6C80000313C1EC01FCEB FE005B5BA25BB03A7FFF83FFE0B500C713F0A36C018313E024207F9F27>II<387FE0FFD8FFF313C090B512F0816C80 0003EB81FE49C67E49EB3F8049131F16C049130FA216E01507A6150F16C07F151F6DEB3F 80157F6DEBFF009038FF83FEECFFFC5D5D01F313C0D9F0FEC7FC91C8FCAC387FFF80B57E A36C5B23317F9F27>I<90380FF03C90383FFE7E90B5FC000314FE5A380FFC1F381FE007 EBC003383F800148C7FC127EA200FE147E5AA67E007E14FEA2007F1301EA3F80EBC00338 1FE007380FF81F6CB5FC7E6C147E38007FFCEB0FF090C7FCAC91381FFFF8A24A13FC6E13 F8A226317E9F27>I<397FFC03FC39FFFE0FFF023F13804A13C0007F90B5FC39007FFE1F 14F89138F00F809138E002004AC7FC5CA291C8FCA2137EAD007FB57EB67EA36C5C22207E 9F27>I<9038FFF3800007EBFFC0121F5A5AEB803F38FC000F5AA2EC07806C90C7FCEA7F 8013FC383FFFF06C13FC000713FF00011480D8000F13C09038003FE014070078EB03F000 FC1301A27E14036CEB07E0EBE01F90B512C01580150000FB13FC38707FF01C207B9F27> I<133C137EA8007FB512F0B612F8A36C14F0D8007EC7FCAE1518157EA415FE6D13FC1483 ECFFF86D13F06D13E0010313C0010013001F297EA827>I<397FE01FF8486C487EA3007F 131F00031300B21401A21403EBFC0F6CB612E016F07EEB3FFE90390FF87FE024207F9F27 >I<3A7FFC0FFF80486C4813C0A36C486C13803A07C000F800EBE00100035CA2EBF00300 015CA2EBF80700005CA390387C0F80A36D48C7FCA3EB3F3FEB1F3EA214FE6D5AA36D5AA2 6D5A22207E9F27>I<3A7FFE07FFE000FF15F06D5A497E007F15E03A0F80001F00A36D5B 0007143EA414F0EBC1F83903E3FC7CA4EBE79EA200011478A301F713F8A2EBFF0F6C5CA3 EBFE0790387C03E024207F9F27>I<393FFC1FFF486C5A168016006C487E3901F807E06C 6C485A4A5A017E90C7FC6D5AEB1F7E5C6D5A13076D5A5C80497E130F497E143EEB3E3FEB 7E1F90387C0F8001F87F00016D7E3803F0033A7FFE1FFF80A2B54813C06C486C1380A222 207E9F27>I<3A7FFC0FFF80486C4813C0A36C486C13803A07E000F800000313015D13F0 0001130301F85B1200A26D485A137CA290387E0F80133EA2011F90C7FC5CA2130F149E14 BE130714FC1303A25C1301A25CA213035CA213075C1208EA3E0F007F5B131FD87E7FC8FC EA7FFE6C5A5B6C5AEA07C022317E9F27>I123 D<127812FCB3B3B3A21278063A70 B327>II<3901F003803903FC07C0000F130F381FFE1F393FFF7F80397FBFFF0038 FE1FFE486C5A00F813F0387003E01A0A7AAD27>I E /Fb 22 122 df 46 D49 D<4AB47E021F13F0027F13FC49B6FC01079038807F8090390FFC001FD93FF014C0 4948137F4948EBFFE048495A5A1400485A120FA248486D13C0EE7F80EE1E00003F92C7FC A25B127FA2EC07FC91381FFF8000FF017F13E091B512F89039F9F01FFC9039FBC007FE90 39FF8003FF17804A6C13C05B6F13E0A24915F0A317F85BA4127FA5123FA217F07F121FA2 000F4A13E0A26C6C15C06D4913806C018014006C6D485A6C9038E01FFC6DB55A011F5C01 0714C0010191C7FC9038003FF02D427BC038>54 D67 D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF848 48EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC13 07013F13F19038FFFC01000313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B 6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90F FCC9FC322F7DAD36>97 D99 DIIIII<137C48B4 FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0EA7FFFA5 12037EB3AFB6FCA518467CC520>I107 DI<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC91388F801F0003 90399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E> 110 DI<90397FC00FF8B590 B57E02C314E002CF14F89139DFC03FFC9139FF001FFE000301FCEB07FF6C496D13804A15 C04A6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C13E06E15C06E5B6E 4913806E4913006E495A9139DFC07FFC02CFB512F002C314C002C091C7FCED1FF092C9FC ADB67EA536407DAC3E>I<90387F807FB53881FFE0028313F0028F13F8ED8FFC91389F1F FE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0A527 2D7DAC2E>114 D<90391FFC038090B51287000314FF120F381FF003383FC00049133F48 C7121F127E00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14FC 6C800003806C15806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA27EA2 6C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007FE C7FC232F7CAD2C>II118 D121 D E /Fc 4 113 df83 D105 D<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF380 0FC03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280A329257EA42E>110 D<3903F01FE000FFEB7FF89038F1E07E9039F3801F803A07F7000FC0D803FEEB07E049EB 03F04914F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB 0FE001F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328 357EA42E>112 D E /Fd 1 42 df<12F012FCB4FC7FEA3FE06C7E6C7EEA03FC6C7E6C7E 6D7E6D7E80131F6D7E8013076D7EA2801301A26D7EA46E7EB3B3B3B281143FA381141FA2 6E7EA21407811403816E7E1400816F7E6F7E6F7E6F7E6F7E6F7EED00FE167FEE3FC0160F A2163FEE7F0016FEED03FC4B5A4B5A4B5A4B5A4B5A4BC7FC5D14014A5A5D14075D140FA2 4A5AA2143F5DA3147F5DB3B3B3B24AC8FCA4495AA213035CA2495A130F5C495A133F5C49 5A49C9FC485A485AEA0FF8485A485AEAFF8090CAFC12FC12F02AF8748243>41 D E /Fe 13 109 df<1C0C1C1E1C3E1C7E1CFCF301F8F303F0F307E0F30FC0F31F80F33F 001B7E63505A505A505A505A505A50C7FC1A7E624F5A4F5A4F5A4F5A4F5A4FC8FC197E61 4E5A4E5A4E5A4E5A4E5A4EC9FC187E604D5A4D5A4D5A4D5A4D5A4DCAFC177E5F4C5A4C5A 4C5A4C5A4C5A4CCBFC167E5E4B5A4B5A4B5A4B5A4B5A4BCCFC157E5D4A5A4A5A4A5A4A5A 4A5A4ACDFC147E5C495A495A495A495A495A49CEFC137E5B485A485A485A485A485A48CF FC127E5A5A1260575782D453>0 D<1302130380497E8080497E8080497E15804913C015 E015F04913F815FC90B512FE15FF4814F815C048EBFE0014F84813C091C7FCEA0FFC13F0 EA1FC090C8FC123C123012405A2020809F53>9 D<1404140CA214181438A2147814F8A2 130113031307A2130F131F133F137F13FFA25A5A5A4813FC5A5A5AB5FC123F1207C6FCEB 1FFE1303EB007E140E17227AD11C>14 D<15011502150C153C15F81403EC0FF0143FECFF E01303011F13C0137F0003B51280121FB612007E6C5B7E6C5B7E7E6C5B7E6D5A133F131F 6D5A130713036D5A1300144020204DD253>18 D<12C012F012FCB4FC13C013F813FEEBFF C014F814FF15E015FEA215E0150014F814C049C7FC13F813C090C8FC12FC12F012C01F18 4E8B53>45 D<1318A4133CA3137EA313FFA3481380A34813C0A24813E0A34813F0A24813 F8A24813FCA24813FEA2B6FCA2181F8CD053>54 D63 D<12401260A27E1238A2123C123EA2123F7F7FA27F7F7F7F7FA27F148014C04813E014F0 14F814FC14FE14F814C0EBFE00EAFFF0138000FCC7FC12E0172281D11C>77 D<144014C01301497E1307130F497E133F137F497E5A487F5A5A487F5A487FB6FC001F14 801203C66C13C0131F010313E01300EC3FF0140FEC03F81400153C150C1502150120204D 9F53>82 D<126012F07E7E127C7EA27E7F120F6C7EA26C7E7F12016C7EA2137C137E133E 7FA26D7E8013076D7EA26D7E801300147CA280143F806E7EA26E7E8114036E7EA26E7E81 157C81A28182150F6F7EA26F7E8215016F7EA2167C167E163E82A2707E831607707EA270 7E831600177CA283173F83EF0F80A2EF07C018E01703EF01F0A2EF00F818FC187C183C18 18365782D432>84 D<7E1240126012707E123C123E6C7E7F7F13F86C7E7F6D7E6C7F14F0 8014FE6CEBFF8015E015F0A215C06C1480ECFE005C14F05C148091C7FCEA00FC5B13E05B 1C2280D237>93 D<14301470EB01F01303EB0FF8131F137F13FF12035A121F487FB5FCA2 7E121F00077F12017E133F6D7E13077F6D1380EB007F143F141FEC07C014031401EC00E0 1560152015101C2265A137>I<126012F87E127E7E6C7EEA0FE06C7EEA01F86C7E137E6D 7E6D7EEB07E06D7E6D7EEB00FE147FEC1F806E7E6E7EEC03F86E7EEC007E816F7EED0FE0 6F7EED01F86F7E167E707E707EEE07E0707E707EEE00FE177FEF1F80717EEF07F0717EEF 00FC187E84F01FC0727EF003F0727E727E197F737EF10FC0737E737EF101FC737E1A3F74 7E747EF207F0747EF200FC1B7E87F31FC0F30FE0F303F0F301F8F300FC1C7E1C3E1C0C57 4982C653>108 D E /Ff 1 111 df<3907801FC0390FE07FF03918F0E0F83930F1807CEB FB00D860FE133C5B5B00C1147C5B1201A248485BA34A5AEA07C01660EC03E0A23A0F8007 C0C0A2EDC180913803C300D81F0013C7EC01FE000EEB00F8231B7D9929>110 D E /Fg 8 40 df<6C130800E0133800F813F8383E03E0381F07C0380FDF803803FE006C 5A6C5A1320150A76B42A>20 D<00C0EB0180A36C130300601400A200705B6C130E6C5B00 1E133C380F80F86CB45A000113C06C6CC7FC190E78B92A>III< EB0380A3EB0FF0EB7FFE48B512803903F38FC03907C381E0390F8380F0D81F031338123E 003C141C007C140C150E0078143E00F814FE1481A400FCEB80FC157800FE140012FF127F 13C313E3EA3FFF6C7F14F86C13FE6CEBFF80000114C06C14E0013F13F01303ECBFF8148F EC83FC1481A2EC80FE157E123C12FF153EA412FE00F8143C00E0147C12600070147815F8 003814F0003C1381001EEB83E0000FEB87C03907E39F803901FFFE006C5BEB1FE0EB0380 A41F437BBD2A>36 D<017C166048B416F02607C3801401260F81C01403D900E04A5A001E 01784A5A003E6D141F003C013FEC7F80007C90271BE003FFC7FC0218B512BF007891381F FC3E00F8011CC75A020C14FC5F4C5A16035F4C5A160F5F4CC8FC021C5B00780118133E00 7C5D16FC003C01385B003E90383001F0001EEB70036C01E05B903981C007C03907C3800F 2601FF005BD8007C49C9FC90C748EB07C0033EEB1FF04BEB3C3803FCEBF81C4B497E913A 01F001E00602030103130703E0497E912607C0071480020F15011580DA1F00018013C04A 010F1300143E5C14FC5C495A13035C495A130F4A0107130149C701C013805B013E160349 0203140001FC6F5A49020113064848913800F00E0003705A49ED3C3849ED1FF06C48ED07 C03A437BBD45>I<141FEC7FC0903801F0E0903803C0600107137090380F803090381F00 381518A25BA2133E133F15381530A215705D5D140190381F838092CAFC1487148E02DC49 B51280EB0FF85C4A9039003FF8000107ED0FC06E5D71C7FC6E140E010F150CD91DFC141C 01391518D970FE143801E015302601C07F1470D803805D00076D6C5BD80F00EBC0014801 1F5C4890380FE003003E6E48C8FC007E903807F8060203130E00FE6E5A6E6C5A1400ED7F 706C4B13036F5A6F7E6C6C6D6C5B7013066C6C496C130E6DD979FE5B281FF001F07F133C 3C07F80FE03FC0F86CB539800FFFF0C69026FE000313C0D91FF0D9007FC7FC393E7DBB41 >I<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A 5A12600A1979B917>I E /Fh 62 122 df<121C127FEAFF80B1EA7F00AF123EC7FCA812 1C127FA2EAFF80A3EA7F00A2121C09346FB32C>33 D<143814FC13011303EB07F8EB0FF0 EB1FC0EB3F80EB7F0013FE485A485A5B12075B120F5B485AA2123F90C7FCA25A127EA312 FE5AAC7E127EA3127F7EA27F121FA26C7E7F12077F12037F6C7E6C7E137FEB3F80EB1FC0 EB0FF0EB07F8EB03FC130113001438164272B92C>40 D<127012FC7E7E6C7E6C7EEA0FE0 6C7E6C7E6C7E6C7E137F7F1480131F14C0130FEB07E0A214F01303A214F81301A314FC13 00AC130114F8A3130314F0A2130714E0A2EB0FC0131F1480133F14005B13FE485A485A48 5A485AEA3FC0485A48C7FC5A5A1270164279B92C>I<007FB6FCB71280A46C150021067B 9B2C>45 D<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED 0F80151FA2153F16005D157E15FE5D14015D14035DA214075D140F5D141F5D143F92C7FC 5C147E14FE5CA213015C13035C13075C130F5C131F5CA2133F91C8FC5B137E13FE5B1201 5B12035B12075BA2120F5B121F5B123F90C9FC5A127E12FE5AA25A127821417BB92C>I< EB03F8EB0FFE90383FFF80497F90B57E3901FE0FF03903F803F848486C7EEBE000484813 7EA248487FA248C7EA1F80A2003E140F007E15C0A3007C140700FC15E0AC6C140F007E15 C0A46CEC1F80A36C6CEB3F00A26C6C137E6D13FE00075CEBF0016C6C485A3901FE0FF06C B55A6D5B6D5BD90FFEC7FCEB03F823357CB32C>I<1307497EA2131FA2133F137F13FF5A 1207127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C>I< EB0FF890387FFF8048B512E00007804814FC391FF80FFE393FE001FF903880007F48C7EA 3F80007E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F1680153F16 005D15FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0EB7F8049 C8FC485A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB32C>III<000FB512FE4880A35D0180 C8FCADEB83FE90389FFF8090B512E015F8819038FE03FE9038F000FF01C07F49EB3F8090 C7121F6C15C0C8120FA2ED07E0A4123C127EB4FC150F16C0A248141F007EEC3F80007FEC 7F006C6C5B6D485A391FF80FFC6CB55A6C5C000114C06C6C90C7FCEB0FF823347CB22C> II<1278B712C016E0A316C000 FCC7EA3F80ED7F0015FE00785CC712014A5A4A5A5D140F5D4A5A143F92C7FC5C147E14FE 5C13015CA2495AA213075CA3495AA4495AA5133F91C8FCAA131E23357CB32C>III<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE12 1FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C>II<003FB612E0 4815F0B712F8A36C15F0CAFCA8007FB612F0B712F8A36C15F06C15E025147DA22C>61 D<127012FC7E6C7E13E06C7EEA1FFC6C7E3803FF80C67FEB7FF0EB1FF8EB0FFEEB03FF6D 13C06D6C7EEC3FF8EC0FFC6EB4FC0201138080A25C02071300EC0FFCEC3FF8EC7FE04948 5A4990C7FCEB0FFEEB1FF8EB7FF0EBFFC000035BD80FFEC8FC485AEA7FF0485A138048C9 FC5A1270212A7BAD2C>II<14FE497EA4497FA214EFA2130781A214C7A2010F7FA314C390381F83F0A590 383F01F8A490387E00FCA549137E90B512FEA34880A29038F8003FA34848EB1F80A40007 15C049130FD87FFEEBFFFC6D5AB514FE6C15FC497E27347EB32C>65 D<02FF13700107EBE0F84913F9013F13FD4913FFEBFF813901FE007F4848131FD807F013 0F1507485A491303485A150148C7FCA25A007EEC00F01600A212FE5AAB7E127EA3007F15 F06CEC01F8A26C7EA26C6C13036D14F06C6C130716E0D803FC131F6C6CEB3FC03A00FF81 FF806DB512006D5B010F5B6D13F00100138025357DB32C>67 D<007FB5FCB612C015F081 6C803907E003FEEC00FFED7F80153FED1FC0ED0FE0A2150716F0150316F81501A4ED00FC ACED01F8A3150316F0A2150716E0150FED1FC0153FED7F80EDFF00EC03FE007FB55AB65A 5D15C06C91C7FC26337EB22C>I<007FB612F0B712F8A37E3903F00001A7ED00F01600A4 EC01E04A7EA490B5FCA5EBF003A46E5A91C8FCA5163C167EA8007FB612FEB7FCA36C15FC 27337EB22C>I<007FB512F8B612FCA36C14F839000FC000B3B3A5007FB512F8B612FCA3 6C14F81E3379B22C>73 D<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6 FCB7FCA36C15F025337DB22C>76 DIII81 D<387FFFFCB67E15E015F86C803907E007FE1401EC007F6F7E151FA26F7EA64B5AA2153F 4BC7FCEC01FE140790B55A5D15E081819038E007FCEC01FE1400157F81A8160FEE1F80A5 D87FFEEB1FBFB5ECFF00815E6C486D5AC8EA01F029347EB22C>I<90381FF80790B5EA0F 804814CF000714FF5A381FF01F383FC003497E48C7FC007E147F00FE143F5A151FA46CEC 0F00007E91C7FC127F7FEA3FE0EA1FFCEBFFC06C13FC0003EBFFC06C14F06C6C7F01077F 9038007FFEEC07FF02001380153FED1FC0A2ED0FE0A20078140712FCA56CEC0FC0A26CEC 1F806D133F01E0EB7F009038FE01FF90B55A5D00F914F0D8F83F13C0D8700790C7FC2335 7CB32C>I<007FB612FCB712FEA43AFC007E007EA70078153CC71400B3AF90383FFFFCA2 497F6D5BA227337EB22C>I<3B7FFF803FFFC0B56C4813E0A36C496C13C03B03F00001F8 00B3AF6D130300015DA26D130700005D6D130F017F495A6D6C485AECE0FF6DB5C7FC6D5B 010313F86D5B9038003F802B3480B22C>III89 D<007FB6FCB71280A46C150021067B7D2C>95 D<3801FFF0000713FE001F 6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC 1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB6 12FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>97 DI<903803FFE001 1F13F8017F13FE48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A127EA25A A8127EA2127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B 011F13E0010390C7FC21247AA32C>IIIII<1307EB1FC0A2497EA36D5A A20107C7FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F 3479B32C>105 D107 D<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C15 8022337BB22C>I<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07 FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F 13FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC90 38F9FFFE01FB7F6CB6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5 FCB500F11480A36C01E0140029247FA32C>II<397FF01FE039FFF8FFF801FB13FE 90B6FC6C158000019038F07FC09138801FE091380007F049EB03F85BED01FC491300A216 FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280 160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<903903FC 078090391FFF0FC0017F13CF48B512EF4814FF3807FE07380FF00148487E49137F484813 3F90C7FC48141F127E150F5AA87E007E141FA26C143F7F6C6C137F6D13FF380FF0033807 FC0F6CB6FC6C14EF6C6C138F6D130FEB07F890C7FCAD0203B5FC4A1480A36E140029367D A32C>II<9038 7FF8700003B512F8120F5A5A387FC00F387E00034813015AA36CEB00F0007F140013F038 3FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00FC143F 151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC002024 7AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC80 0F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I<3A7FF0 03FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15 807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A 03E0000F80A26D131F00011500A26D5B0000143EA26D137E017C137CA2017E13FC013E5B A2EB3F01011F5BA21483010F5BA214C701075BA214EF01035BA214FF6D90C7FCA26D5A14 7C27247EA32C>II<3A3FFF03FFF048 018713F8A36C010313F03A00FC007E005D90387E01F8013F5BEB1F83EC87E090380FCFC0 903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB0FC7EC 83E090381F01F0013F7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514FE6C15 FC140127247EA32C>I<3A7FFF01FFFCB5008113FE148314816C010113FC3A03E0000F80 6C7E151F6D140012005D6D133E137C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2 EB07C1ECC3E0A2EB03E3ECE7C0130114F75DEB00FFA292C7FC80A2143EA2147E147CA214 FC5CA2EA0C01003F5BEA7F83EB87E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027 367EA32C>I E /Fi 2 117 df108 D<007FB612F8A2397E00FC010078EC007800 70153800601518A200E0151C48150CA5C71400B3A4497E90387FFFF8A226267EA52C> 116 D E /Fj 2 51 df<14181438147814F81301EB03F0130FEA01FF13F3380003E0A213 07A214C0A2130FA21480A2131FA21400A25BA2133EA2137EA2137CA213FCA25BA21201B5 12F0A2152678A523>49 DI E /Fk 3 51 df<140EB3A2B812E0A3C7000EC8FCB3A22B2B7DA333> 43 D<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521>49 D<13FF000313E0380E03F0381800F848137C48137E00787F12FC6CEB1F80A4127CC7FC15 005C143E147E147C5C495A495A5C495A010EC7FC5B5B903870018013E0EA018039030003 0012065A001FB5FC5A485BB5FCA219267DA521>I E /Fl 55 124 df12 D<127812FCA27EA27E7E7EEA1F80120F13C01207EA03E01201120013C00B1068B92A>18 D<130FEB1F80133F137FEBFF00485A5BEA03F0485A485A485A003EC7FC5A5A12E05A1110 64B92A>I<150C151C153815F0EC01E0EC03C0EC0780EC0F00141E5C147C5C5C495A1303 495A5C130F49C7FCA2133EA25BA25BA2485AA212035B12075BA2120F5BA2121FA290C8FC A25AA2123EA2127EA2127CA412FC5AAD1278A57EA3121C121EA2120E7EA26C7E6C7EA212 001E5274BD22>40 D<140C140E80EC0380A2EC01C015E0A2140015F0A21578A4157C153C AB157CA715FCA215F8A21401A215F0A21403A215E0A21407A215C0140F1580A2141F1500 A2143EA25CA25CA2495AA2495A5C1307495A91C7FC5B133E133C5B5B485A12035B48C8FC 120E5A12785A12C01E527FBD22>I44 D<387FFFF8A2B5FCA214F0150579941E>I<120EEA3F80127F12FFA31300127E123C0909 778819>I48 D<15181538157815F0140114031407EC0FE0141F147FEB03FF90383FEFC0148FEB1C 1F13001580A2143FA21500A25CA2147EA214FEA25CA21301A25CA21303A25CA21307A25C A2130FA25CA2131FA25CA2133FA291C7FC497EB61280A31D3877B72A>I51 D55 DII<133C137E13FF5AA313FE13FCEA00701300B2120EEA3F80127F12FFA31300 127E123C102477A319>I65 D<0107B612FCEFFF8018C0903B000FF0001FF04BEB07F81703021F15FC17014B14FEA202 3F1400A24B1301A2147F18FC92C7120318F84A140718F04AEC0FE0EF1FC00101ED3F80EF 7F004AEB01FEEE07F849B612E05F9139F80007F0EE01FC01076E7E177F4AEC3F80A2010F 16C0171F5CA2131F173F5CA2133FEF7F805C1800017F5D4C5A91C7485A5F49140FEE1FE0 494A5A00014AB45AB748C7FC16F816C037397BB83A>II<0103B612FEEFFFC018F0903B0007F8 000FF84BEB03FCEF00FE020F157FF03F804B141F19C0021F150F19E05D1807143F19F05D A2147FA292C8FCA25C180F5CA2130119E04A151FA2130319C04A153FA201071780187F4A 1600A2010F16FEA24A4A5A60011F15034D5A4A5D4D5A013F4B5A173F4A4AC7FC17FC017F EC03F84C5A91C7EA1FC04949B45A007F90B548C8FCB712F016803C397CB83F>I<0107B8 FCA3903A000FF000034BEB007F183E141F181E5DA2143FA25D181C147FA29238000380A2 4A130718004A91C7FC5E13015E4A133E167E49B512FEA25EECF8000107147C163C4A1338 A2010F147818E04A13701701011F16C016004A14031880013F150718004A5CA2017F151E 173E91C8123C177C4915FC4C5A4914070001ED7FF0B8FCA25F38397BB838>I<0107B712 FEA3903A000FF000074B1300187C021F153CA25DA2143FA25D1838147FA292C8FCEE0380 4A130718004A91C7FCA201015CA24A131E163E010314FE91B5FC5EA2903807F800167C4A 1378A2130FA24A1370A2011F14F0A24A90C8FCA2133FA25CA2137FA291CAFCA25BA25B48 7EB6FCA337397BB836>I<0103B512F8A390390007F8005DA2140FA25DA2141FA25DA214 3FA25DA2147FA292C7FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CA213 1FA25CA2133FA25CA2137FA291C8FC497EB6FCA25C25397CB820>73 D<0107B512FCA25E9026000FF8C7FC5D5D141FA25DA2143FA25DA2147FA292C8FCA25CA2 5CA21301A25CA21303A25CA21307A25CA2130F170C4A141CA2011F153C17384A1478A201 3F157017F04A14E01601017F140317C091C71207160F49EC1F80163F4914FF0001020713 00B8FCA25E2E397BB834>76 D<902607FFF8923807FFF0614F13E0D9000FEFF0004F5AA2 021F167FF1EFC0141DDA1CFCEC01CF023C16DF9538039F800238ED071FA20278ED0E3F97 C7FC0270151CA202F04B5AF0707E14E0037E14E0010117FE4D485A02C0EC0380A20103ED 0701610280140EA20107ED1C0305385B14006F137049160705E05B010EEC01C0A2011E91 3803800F61011CEC0700A2013C020E131F4C5C1338ED1FB80178163F04F091C8FC01705C A201F04A5B187E00015DD807F816FEB500C09039007FFFFC151E150E4C397AB84A>I<90 2603FFF891B512E0A281D90007923807F8006F6E5A61020F5E81DA0E7F5DA2021E6D1307 033F92C7FC141C82DA3C1F5C70130EEC380FA202786D131E0307141C147082DAF003143C 70133814E0150101016E1378030014705C8201036E13F0604A1480163F010715C1041F5B 91C7FC17E149EC0FE360010E15F31607011E15FF95C8FC011C80A2013C805F1338160013 785F01F8157CEA03FC267FFFE0143CB51538A243397CB83E>I<0107B612F817FF188090 3B000FF0003FE04BEB0FF0EF03F8141FEF01FC5DA2023F15FEA25DA2147FEF03FC92C7FC A24A15F817074A15F0EF0FE01301EF1FC04AEC3F80EFFE0001034A5AEE0FF091B612C04C C7FCD907F8C9FCA25CA2130FA25CA2131FA25CA2133FA25CA2137FA291CAFCA25BA25B12 01B512FCA337397BB838>80 D<0103B612F017FEEFFF80903B0007F8003FC04BEB0FF017 07020FEC03F8EF01FC5DA2021F15FEA25DA2143FEF03FC5DA2027FEC07F818F092C7120F 18E04AEC1FC0EF3F004A14FEEE01F80101EC0FE091B6128004FCC7FC9138FC003F0103EC 0F80834A6D7E8301071403A25C83010F14075F5CA2011F140FA25CA2133F161F4AECE007 A2017F160F180E91C7FC49020F131C007F01FE153CB5913807F078040313F0CAEAFFE0EF 3F80383B7CB83D>82 D<92383FC00E913901FFF01C020713FC91391FC07E3C91393F001F 7C027CEB0FF84A130749481303495A4948EB01F0A2495AA2011F15E091C7FCA34915C0A3 6E90C7FCA2806D7E14FCECFF806D13F015FE6D6D7E6D14E0010080023F7F14079138007F FC150F15031501A21500A2167C120EA3001E15FC5EA3003E4A5AA24B5AA2007F4A5A4B5A 6D49C7FC6D133ED8F9F013FC39F8FC03F839F07FFFE0D8E01F138026C003FCC8FC2F3D7A BA2F>I<0007B812E0A25AD9F800EB001F01C049EB07C0485AD900011403121E001C5C00 3C17801403123800785C00701607140700F01700485CA2140FC792C7FC5DA2141FA25DA2 143FA25DA2147FA292C9FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CEB 3FF0007FB512F8B6FCA2333971B83B>I86 DI<14F8EB07FE90381F 871C90383E03FE137CEBF801120148486C5A485A120FEBC001001F5CA2EA3F801403007F 5C1300A21407485C5AA2140F5D48ECC1C0A2141F15831680143F1587007C017F1300ECFF 076C485B9038038F8E391F0F079E3907FE03FC3901F000F0222677A42A>97 D<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0F8EBE7FE9038EF0F 80390FFC07C013F89038F003E013E0D81FC013F0A21380A2123F1300A214075A127EA214 0F12FE4814E0A2141F15C05AEC3F80A215005C147E5C387801F8007C5B383C03E0383E07 C0381E1F80D80FFEC7FCEA01F01C3B77B926>I<147F903803FFC090380FC1E090381F00 70017E13784913383901F801F83803F003120713E0120FD81FC013F091C7FC485AA2127F 90C8FCA35A5AA45AA3153015381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00 380F81F83803FFE0C690C7FC1D2677A426>II<147F903803FFC090380FC1E09038 3F00F0017E13785B485A485A485A120F4913F8001F14F0383F8001EC07E0EC1F80397F81 FF00EBFFF891C7FC90C8FC5A5AA55AA21530007C14381578007E14F0003EEB01E0EC03C0 6CEB0F806CEB3E00380781F83803FFE0C690C7FC1D2677A426>IIIII107 DII I<147F903803FFC090380FC1F090381F00F8017E137C5B4848137E4848133E0007143F5B 120F485AA2485A157F127F90C7FCA215FF5A4814FEA2140115FC5AEC03F8A2EC07F015E0 140F007C14C0007EEB1F80003EEB3F00147E6C13F8380F83F03803FFC0C648C7FC202677 A42A>I<9039078007C090391FE03FF090393CF0787C903938F8E03E9038787FC0017049 7EECFF00D9F0FE148013E05CEA01E113C15CA2D80003143FA25CA20107147FA24A1400A2 010F5C5E5C4B5A131F5EEC80035E013F495A6E485A5E6E48C7FC017F133EEC70FC90387E 3FF0EC0F8001FEC9FCA25BA21201A25BA21203A25B1207B512C0A3293580A42A>I<3903 C003F0390FF01FFC391E783C0F381C7C703A3C3EE03F8038383FC0EB7F80007815000070 1300151CD8F07E90C7FCEAE0FE5BA2120012015BA312035BA312075BA3120F5BA3121F5B A3123F90C9FC120E212679A423>114 D<14FE903807FF8090380F83C090383E00E04913 F00178137001F813F00001130313F0A215E00003EB01C06DC7FC7FEBFFC06C13F814FE6C 7F6D13807F010F13C01300143F141F140F123E127E00FE1480A348EB1F0012E06C133E00 705B6C5B381E03E06CB45AD801FEC7FC1C267AA422>II<13F8D803FEEB01C0D8078FEB03E0390E0F8007121E121C 0038140F131F007815C01270013F131F00F0130000E015805BD8007E133FA201FE14005B 5D120149137EA215FE120349EBFC0EA20201131E161C15F813E0163CD9F0031338140700 01ECF07091381EF8F03A00F83C78E090393FF03FC090390FC00F00272679A42D>I<01F0 130ED803FC133FD8071EEB7F80EA0E1F121C123C0038143F49131F0070140FA25BD8F07E 140000E08013FEC6485B150E12015B151E0003141C5BA2153C000714385B5DA35DA24A5A 140300035C6D48C7FC0001130E3800F83CEB7FF8EB0FC0212679A426>I<01F01507D803 FC903903801F80D8071E903907C03FC0D80E1F130F121C123C0038021F131F49EC800F00 701607A249133FD8F07E168000E0ED000313FEC64849130718000001147E5B03FE5B0003 160E495BA2171E00070101141C01E05B173C1738A217781770020314F05F000301071301 6D486C485A000190391E7C07802800FC3C3E0FC7FC90393FF81FFE90390FE003F0322679 A437>I<903907E007C090391FF81FF89039787C383C9038F03E703A01E01EE0FE3803C0 1F018013C0D8070014FC481480000E1570023F1300001E91C7FC121CA2C75AA2147EA214 FEA25CA21301A24A1370A2010314F016E0001C5B007E1401010714C000FEEC0380010F13 07010EEB0F0039781CF81E9038387C3C393FF03FF03907C00FC027267CA427>I<13F0D8 03FCEB01C0D8071EEB03E0D80E1F1307121C123C0038140F4914C01270A249131FD8F07E 148012E013FEC648133F160012015B5D0003147E5BA215FE00075C5BA214015DA314035D 14070003130FEBF01F3901F87FE038007FF7EB1FC7EB000F5DA2141F003F5C48133F92C7 FC147E147C007E13FC387001F8EB03E06C485A383C1F80D80FFEC8FCEA03F0233679A428 >I123 D E /Fm 4 106 df15 D<0060161800F0163CB3B26C167CA200 7C16F8A26CED01F0003F15036C6CEC07E06C6CEC0FC0D807F0EC3F80D803FE903801FF00 3A00FFC00FFC6DB55A011F14E0010391C7FC9038007FF82E347CB137>91 D<14C0EB01E01303A214C01307A21480130FA2EB1F00A2131E133EA25BA2137813F8A248 5AA25B1203A25B1207A2485AA290C7FC5AA2123EA2123C127CA2127812F8A41278127CA2 123C123EA27EA27E7FA26C7EA212037FA212017FA26C7EA21378137CA27FA2131E131FA2 EB0F80A2130714C0A2130314E0A21301EB00C0135278BD20>104 D<126012F07EA21278127CA2123C123EA27EA27E7FA26C7EA212037FA26C7EA212007FA2 1378137CA27FA2131E131FA2EB0F80A2130714C0A2130314E0A414C01307A21480130FA2 EB1F00A2131E133EA25BA2137813F8A25B1201A2485AA25B1207A2485AA290C7FC5AA212 3EA2123C127CA2127812F8A25A126013527CBD20>I E /Fn 3 52 657 600 dfs[<124012F812FE6C7E13E013F8EAF3FE38F0FF80EB3FE0EB0FF8EB03FE90 3800FF80EC3FE0EC0FF8EC03FE913800FF80ED3FE0ED0FF8ED03FE923800FF80EE3FE0EE 0FF8EE03FE933800FF80EF3FC0A2EFFF80933803FE00EE0FF8EE3FE0EEFF80DB03FEC7FC ED0FF8ED3FE0EDFF80DA03FEC8FCEC0FF8EC3FE0ECFF80D903FEC9FCEB0FF8EB3FE0EBFF 80D8F3FECAFCEAFFF813E0138048CBFC12F81260>50 50 121 173 71 3 D[<003FB712FEB9FCA300F0C9120FB3B3A4B9FCA4>48 48 121 180 68 50 D[<1518153C157E15FF4A7F4A7F913807E7E091380FC3F091381F81F8 4AC67E027E137E4A7F49486D7E49486D7E49486D7E49486D7E49486D7E49C87E017E157E 49814848ED1F804848ED0FC04848ED07E04848ED03F04848ED01F848CA12FC007E177E48 173F48171F6C173F007E177E6C17FC6C6CED01F86C6CED03F06C6CED07E06C6CED0FC06C 6CED1F806C6CED3F00017E157E6D5D6D6C495A6D6C495A6D6C495A6D6C495A6D6C495A6D 6C49C7FC027E137E6E5B91381F81F891380FC3F0913807E7E06EB45A6E5B6E90C8FC157E 153C1518>56 57 123 184 73 I E /Fo 2 67 df<1538A3157CA315FEA34A7EA34A6C7E A202077FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC6003A2 02C07F1501A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7121FA2496E 7EA3496E7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3373C7D BB3E>65 DI E /Fp 12 117 df<1678A21670A216F0A25EA21501A2 5EA21503A25EA21507A293C7FCA25DA2150EEDFFC0020F13FC91383F9E3F903A01F81C0F C0D903E0EB03E0903A0FC03C01F0D91F00EB00F8017E0138137C5B48480178133E485A48 480170133F120F4901F0131F485A5D48C7FC0201143F5A007E5CA20203147F00FE167E48 5C17FE020714FC1601007C020013F8EE03F0007E49EB07E0A2003E010EEB0FC0003FED1F 806C011EEB3F00D80F80147C3A07C01C01F8D803E0EB03E03A01F03C1F80D8007E01FEC7 FC90381FFFF801011380D90078C8FCA21470A214F0A25CA21301A25CA21303A25CA21307 A230527CBE36>30 D39 D<1806181F187FEF01FFEF07FCEF1FF0EF7FC0933801FF00EE07FCEE3FF0EEFFC0030390 C7FCED0FFCED3FE0EDFF80DA03FEC8FCEC0FF8EC7FE0903801FF80D907FEC9FCEB1FF8EB 7FC04848CAFCEA07FCEA1FF0EA7FC048CBFCA2EA7FC0EA1FF0EA07FCEA01FF38007FC0EB 1FF8EB07FE903801FF809038007FE0EC0FF8EC03FE913800FF80ED3FE0ED0FFCED03FF03 0013C0EE3FF0EE07FCEE01FF9338007FC0EF1FF0EF07FCEF01FFEF007F181F1806383679 B147>60 D<126012F812FE6C7EEA3FE0EA0FF8EA03FEC66C7EEB3FE0EB0FFCEB03FF0100 13C0EC3FF0EC07FCEC01FF9138007FC0ED1FF0ED07FE923801FF809238007FE0EE1FF8EE 03FE933800FF80EF3FE0EF0FF8EF03FEEF00FFA2EF03FEEF0FF8EF3FE0EFFF80933803FE 00EE1FF8EE7FE0923801FF80DB07FEC7FCED1FF0ED7FC04A48C8FCEC07FCEC3FF0ECFFC0 010390C9FCEB0FFCEB3FE0EBFF80D803FECAFCEA0FF8EA3FE0EAFF8048CBFC12F8126038 3679B147>62 D<17075F84171FA2173F177FA217FFA25E5EA24C6C7EA2EE0E3F161E161C 1638A21670A216E0ED01C084ED0380171FED07005D150E5DA25D157815705D844A5A170F 4A5A4AC7FC92B6FC5CA2021CC7120F143C14384A81A24A140713015C495AA249C8FC5B13 0E131E4982137C13FED807FFED1FFEB500F00107B512FCA219F83E417DC044>65 D<49B612F0A3D900010180C7FC93C8FC5DA314035DA314075DA3140F5DA3141F5DA3143F 5DA3147F5DA314FF92C9FCA35B5C180C181E0103161C5C183C183813074A1578187018F0 130F4AEC01E0A21703011FED07C04A140F171F013FED3F8017FF4A1303017F021F1300B9 FCA25F373E7DBD3E>76 D 97 D99 DII110 D<147014FC1301A25CA2 1303A25CA21307A25CA2130FA25CA2007FB512F0B6FC15E039001F8000133FA291C7FCA2 5BA2137EA213FEA25BA21201A25BA21203A25BA21207EC01C013E01403000F1480A2EBC0 071500140E141E5C000713385C3803E1E03801FF80D8003EC7FC1C3A7EB821>116 D E /Fq 38 128 df12 D<123C127EB4FCA21380A2127F123D1201A412031300A25A 1206120E120C121C5A5A126009177A8715>44 D<123C127E12FFA4127E123C08087A8715 >46 D50 D57 D<123C127E12FFA4127E123C1200B0123C127E12FE12FFA3127F123F1203A412071206A3 120E120C121C1238123012701260082F7A9F15>59 D<15E0A34A7EA24A7EA34A7EA3EC0D FE140CA2EC187FA34A6C7EA202707FEC601FA202E07FECC00FA2D901807F1507A249486C 7EA301066D7EA2010E80010FB5FCA249800118C77EA24981163FA2496E7EA3496E7EA200 01821607487ED81FF04A7ED8FFFE49B512E0A333367DB53A>65 DI72 D78 D<90381FE00390387FFC0748B5FC3907F01FCF390F8003FF48C7FC003E808148 80A200788000F880A46C80A27E92C7FC127F13C0EA3FF013FF6C13F06C13FF6C14C06C14 F0C680013F7F01037F9038003FFF140302001380157F153FED1FC0150F12C0A21507A37E A26CEC0F80A26C15006C5C6C143E6C147E01C05B39F1FC03F800E0B512E0011F138026C0 03FEC7FC22377CB42B>83 D85 D89 D91 D93 D97 DII<153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F003 BF3907E001FF48487E48487F8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C5B 6C6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE0130026357DB32B>III<151F90391FC07F809039FFF8E3C03901F07FC73907E03F033A0FC01F 83809039800F8000001F80EB00074880A66C5CEB800F000F5CEBC01F6C6C48C7FCEBF07C 380EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEECFFC06C14F06C14FC4880381F00 01003EEB007F4880ED1F8048140FA56C141F007C15006C143E6C5C390FC001F83903F007 E0C6B51280D91FFCC7FC22337EA126>III 108 D<2703F01FE013FF00FF90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F028 07F7003F387FD803FE1470496D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFF F0A33C217EA041>I<3903F01FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03 FE497FA25BA25BB3486CEB7F80B538C7FFFCA326217EA02B>II<3903F03F8000FFEBFFE09038F3C0F89038F7007ED8 07FE7F6C48EB1F804914C049130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D 131F6DEB3F80160001FF13FC9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0 A325307EA02B>I<903807F00390383FFC07EBFC0F3901F8038F3807E001000F14DF4848 6CB4FC497F123F90C77E5AA25A5AA9127FA36C6C5B121F6D5B000F5B3907E003BF3903F0 073F3800F81EEB3FF8EB0FE090C7FCAAED7F8091380FFFFCA326307DA029>I<3803E07C 38FFE1FF9038E38F809038E71FC0EA07EEEA03ECA29038FC0F8049C7FCA35BB2487EB512 E0A31A217FA01E>II<1330A5 1370A313F0A21201A212031207381FFFFEB5FCA23803F000AF1403A814073801F806A238 00FC0EEB7E1CEB1FF8EB07E0182F7FAD1E>III120 D<3A7FFF807FF8A33A07F8001FC00003EC 0F800001EC070015066C6C5BA26D131C017E1318A26D5BA2EC8070011F1360ECC0E0010F 5BA2903807E180A214F3010390C7FC14FBEB01FEA26D5AA31478A21430A25CA214E05CA2 495A1278D8FC03C8FCA21306130EEA701CEA7838EA1FF0EA0FC025307F9F29>I<001C13 70387F01FC00FF13FEA4007F13FC381C0070170879B226>127 D E /Fr 3 54 df<13FF000313C0380F03E0381C00F014F8003E13FC147CA2001E13FC120C C712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00F01478147C143E143F123012 7812FCA2143E48137E0060137C003813F8381E03F0380FFFC00001130018227DA01E>51 D<14E01301A213031307A2130D131D13391331136113E113C1EA01811203EA0701120612 0C121C12181230127012E0B6FCA2380001E0A6EB03F0EB3FFFA218227DA11E>I<001013 30381E01F0381FFFE014C01480EBFE00EA1BF00018C7FCA513FE381BFF80381F03C0381C 01E0381800F014F8C71278A2147CA21230127812F8A214784813F8006013F0387001E012 38381E07803807FF00EA01F816227CA01E>I E /Fs 15 121 df97 D99 DIII<147FEB3FFFA313017FA25CA513015CA513035CA4ED07F80107EB1FFF 9139F0781FC09138F1E00F9139F38007E0ECF70002FE14F0495A5CA25CA24A130F131F4A 14E0A4161F133F4A14C0A4163F137F91C71380A4167F5B491500A300015D486C491380B5 D8F87F13FCA32E3F7DBE33>104 D<1478EB01FE130314FFA25B14FE130314FCEB00F014 00ACEB03F8EA01FF14F0A2EA001F130FA314E0A5131F14C0A5133F1480A5137F1400A55B 5BA4EA03FF007F13F0A2B5FC183E7DBD1A>I<147FEB3FFFA313017FA25CA513015CA513 035CA501070103B5FC02F014FEA26F13F06F1380EEFE00010F14F84A485AED03C04B5A03 1FC7FC153E011F13784A5AECC3E0ECC7F0ECCFF814FF497F14F9ECE1FE14C04A7E4A7E49 80017E133F82151F82150F01FE8049130782A2000181486C49B4FCB5D8F03F13F04B13E0 A2303F7EBE30>107 D<903907F007F8D803FFEB1FFF9139E0781FC09138E1E00F3B001F E38007E090380FE70002EE14F014FC14D814F85CA24A130F131F4A14E0A4161F133F4A14 C0A4163F137F91C71380A4167F5B491500A300015D486C491380B5D8F87F13FCA32E287D A733>110 DI<903907F01F80D803FFEB7FE09138E1E1F09138 E387F839001FE707EB0FE614EE02FC13F002D813E09138F801804AC7FCA25C131FA25CA4 133F5CA5137F91C8FCA55B5BA31201487EB512FEA325287EA724>114 D116 D<01FE147F00FFEC7FFF49 14FEA20007140300031401A34914FCA4150312074914F8A41507120F4914F0A4150F121F 4914E0A2151FA3153F4914C0157F15FFEC01DF3A0FC003BFE09138073FFF3803F01E3801 FFF826003FE01380282977A733>I119 D<48B539C07FFFC0A33C000FFE003FF8006D48EB1FE001031580 0101023EC7FC6E133C01005C027F5B6F5A91383F81C0EDC380DA1FC7C8FC15EFEC0FFE6E 5A5D140381A24A7E140FEC1E7F023C7FEC383F02707FECE01F010180903803C00F49486C 7ED90F007F491303017E80D801FE80D807FF497EB5D8803F13F8A332277FA630>I E /Ft 34 122 df<933807FF80043F13E09338FE00F8DB01F0133EDB07E0130E4B48131F 4C137F031F14FF4BC7FCA218FE157E1878180015FE5DA31401A25DA414030103B712F0A2 18E0903A0003F000070207140F4B14C0A3171F020F15805DA2173F1800141F5D5F177EA2 143F92C712FE5FA34A1301027EECF81CA3160302FEECF03C4A1538A21878187013014A01 0113F018E0933800F1C0EF7F804948EC1F0094C7FCA35C1307A2001E5B127F130F00FF5B A249CAFC12FEEAF81EEA703CEA7878EA1FF0EA07C0385383BF33>12 D44 D<387FFFFEA3B5FCA2170579 9521>I<171C173C177CA217FCA216011603A21607A24C7EA2161DA216391679167116E1 A2ED01C1A2ED038115071601150EA2031C7FA24B7EA25D15F05D4A5AA24A5AA24AC7FC5C 140E5C021FB6FC4A81A20270C7127FA25C13015C495AA249C8FCA2130E131E131C133C5B 01F882487ED807FEEC01FFB500E0017FEBFF80A25C39417BC044>65 D<49B812F8A390260003FEC7121F18074B14031801F000F014075DA3140F5D19E0A2141F 4B1338A2EF7801023F027013C04B91C7FCA217F0027F5CED80011603160F91B65AA3ED00 1F49EC07805CA3010392C8FC5CF003804C13070107020E14005C93C75A180E010F161E4A 151C183CA2011F5E5C60A2013F15014A4A5A1707017F150F4D5A4A147F01FF913807FF80 B9FCA295C7FC3D3E7BBD3E>69 D<49B812F0A390260003FEC7123F180F4B1403A2F001E0 14075DA3140F5D19C0A2141F5D1770EFF003023F02E013804B91C7FCA21601027F5CED80 03A2160702FFEB1F8092B5FCA349D9003FC8FC4A7F82A20103140E5CA2161E0107141C5C A293C9FC130F5CA3131F5CA3133F5CA2137FA25C497EB612E0A33C3E7BBD3B>I<49B6FC 5BA2D9000313005D5DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C7FCA3 5B5CA313035CA313075CA3130F5CA3131F5CA3133F5CA2137FA25C497EB67EA3283E7BBD 23>73 D<49B5933807FFFC496062D90003F0FC00505ADBBF805E1A771AEF1407033F9238 01CFE0A2F1039F020FEE071F020E606F6C140E1A3F021E161C021C04385BA2F1707F143C 023804E090C7FCF001C0629126780FE0495A02705FF00700F00E0114F002E0031C5BA2F0 3803010116704A6C6C5D18E019070103ED01C00280DA03805BA2943807000F1307020002 0E5C5FDB03F8141F495D010E4B5CA24D133F131E011CDAF9C05CEEFB80197F013C6DB4C7 FC013895C8FC5E01784A5C13F8486C4A5CD807FE4C7EB500F04948B512FE16E01500563E 7BBD52>77 D<48B9FCA25A903AFE001FF00101F89138E0007FD807E0163E49013F141E5B 48C75BA2001E147FA2001C4B131C123C003814FFA2007892C7FC12704A153C00F0173848 5CC716001403A25DA21407A25DA2140FA25DA2141FA25DA2143FA25DA2147FA25DA214FF A292C9FCA25BA25CA21303A25CEB0FFE003FB67E5AA2383D71BC41>84 D<001FB500F090B512F0485DA226003FF0C7380FFC004AEC03F04A5D715A017F1503A24A 5DA201FF150795C7FC91C8FCA2485E170E5BA20003161E171C5BA20007163C17385BA200 0F167817705BA2001F16F05F5BA2003F1501A2495DA2007F1503A2495DA2160794C8FC48 C8FC5E160E161E6C151C163C5E5E5E6C6C13014B5A001F4A5A6C6C011FC9FC6D133E6C6C 13F83903FC07F0C6B512C0013F90CAFCEB07F83C406FBD44>I<147E49B47E903907C1C3 8090391F80EFC090383F00FF017E137F4914804848133F485AA248481400120F5B001F5C 157E485AA215FE007F5C90C7FCA21401485C5AA21403EDF0385AA21407EDE078020F1370 127C021F13F0007E013F13E0003E137FECF3E1261F01E313C03A0F8781E3803A03FF00FF 00D800FC133E252977A72E>97 DIIII<167C4BB4FC923807C78092380F83C0ED1F87161FED3F3FA215 7EA21780EE0E004BC7FCA414015DA414035DA30103B512F8A390260007E0C7FCA3140F5D A5141F5DA4143F92C8FCA45C147EA414FE5CA413015CA4495AA4495AA4495A121E127F5C 12FF49C9FCA2EAFE1EEAF83C1270EA7878EA3FE0EA0F802A5383BF1C>III<1478EB01FCA21303A314F8EB 00E01400AD137C48B4FC38038F80EA0707000E13C0121E121CEA3C0F1238A2EA781F0070 1380A2EAF03F140012005B137E13FE5BA212015BA212035B1438120713E0000F1378EBC0 70A214F0EB80E0A2EB81C01383148038078700EA03FEEA00F8163E79BC1C>I107 DIIII<903903E001F890390FF807FE903A1E7C1E0F80903A1C3E3C07 C0013C137801389038E003E0EB783F017001C013F0ED80019038F07F0001E015F8147E16 03000113FEA2C75AA20101140717F05CA20103140F17E05CA20107EC1FC0A24A1480163F 010F15005E167E5E131F4B5A6E485A4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9 FCA2137EA213FEA25BA21201A25BA21203A2387FFFE0B5FCA22D3A80A72E>I<027E1360 903901FF81E0903807C1C390391F80E7C090383F00F7017E137F5B4848EB3F80485AA248 5A000F15005B121F5D4848137EA3007F14FE90C75AA3481301485CA31403485CA314074A 5A127C141F007E133F003E495A14FF381F01EF380F879F3903FF1F80EA00FC1300143F92 C7FCA35C147EA314FE5CA21301130390B512F05AA2233A77A72A>IIII<137C48B4141C26038F80137EEA0707000E7F001E15FE121CD83C 0F5C12381501EA781F007001805BA2D8F03F1303140000005D5B017E1307A201FE5C5B15 0F1201495CA2151F0003EDC1C0491481A2153F1683EE0380A2ED7F07000102FF13005C01 F8EBDF0F00009038079F0E90397C0F0F1C90391FFC07F8903907F001F02A2979A731>I< 017CEB01C048B4EB07F038038F80EA0707000E01C013F8121E001C1403EA3C0F0038EC01 F0A2D8781F130000705BA2EAF03F91C712E012005B017E130116C013FE5B150300011580 5BA2ED07001203495B150EA25DA25D1578000114706D5B0000495A6D485AD97E0FC7FCEB 1FFEEB03F0252979A72A>I<017C167048B491387001FC3A038F8001F8EA0707000E01C0 15FE001E1403001CEDF000EA3C0F0038177C1507D8781F4A133C00701380A2D8F03F130F 020049133812005B017E011F14784C137013FE5B033F14F0000192C712E05BA217010003 4A14C049137E17031880A2EF070015FE170E00010101141E01F86D131C0000D9039F5BD9 FC076D5A903A3E0F07C1E0903A1FFC03FFC0902703F0007FC7FC372979A73C>I<903903 F001F890390FFC07FE90393C1E0E0F9026780F1C138001F0EBB83FD801E013F89039C007 F07FEA0380000714E0D9000F140048151C000E4AC7FCA2001E131FA2C75BA2143F92C8FC A35C147EA314FE4A131CA30101143C001E1538003F491378D87F811470018314F000FF5D 9039077801C039FE0F7C033A7C0E3C078027783C1E1EC7FC391FF80FFC3907E003F02929 7CA72A>I<137C48B4143826038F8013FCEA0707000E7F001E1401001C15F8EA3C0F1238 1503D8781F14F000701380A2D8F03F1307020013E012005B017E130F16C013FE5B151F12 01491480A2153F000315005BA25D157EA315FE5D00011301EBF8030000130790387C1FF8 EB3FF9EB07E1EB00035DA21407000E5CEA3F80007F495AA24A5AD8FF0090C7FC143E007C 137E00705B387801F0383803E0381E0FC06CB4C8FCEA03F8263B79A72C>I E /Fu 17 117 df39 D<14FCEB01F8EB03F0EB07E0EB0FC0131F1480EB3F005B137E5B12015B1203A248 5AA25B120FA25B121FA25B123FA448C7FCA712FEB3A2127FA76C7EA4121F7FA2120F7FA2 12077FA26C7EA212017F1200137E137F7FEB1F8014C0130FEB07E0EB03F0EB01F8EB00FC 165A79C323>I<12FC127E7E6C7E6C7E7F12076C7E7F12016C7E7F137E137FA2EB3F80A2 131F14C0A2130F14E0A2130714F0A4EB03F8A7EB01FCB3A2EB03F8A7EB07F0A414E0130F A214C0131FA21480133FA2EB7F00A2137E13FE5B485A12035B485A120F5B485A48C7FC12 7E5A165A7BC323>I67 D69 D74 D83 D<49B47E010F13F0013F13FC4913FF90B612805A481300D807FCEB1F00D80FF0 130748487F4990C7FC123F5B127F90C9FCA312FEAA127FA36C7EA26C6C14406DEB01C06C 6C13036C6C131F01FF13FF6C90B5FC7E6C6C14806DEBFE00010F13F001011380222B7DA9 28>99 D101 D<12FFA81200AF127FB3B3A4083F7ABE16>105 D<12FEB3B3B3A9073F79BE16>108 D<38FC01FF010713C0011F13F0017F13F890B512FC 12FD39FFF80FFEEBE003EBC00190388000FFA290C7127FA35AB3A9202979A82F>110 DI<14FFD8FE0713E0011F7F017F7F B67E819038F80FFFEBE003D98000138090C7EA7FC0153F5AED1FE0A2150FA216F01507A8 150F16E0A2151FA2ED3FC06C147F6DEBFF805CD9E00313009038F81FFE90B55A485C6D5B 6D5B010F1380D901FEC7FC90C9FCB1243B79A82F>I<903903F807F0EB1FFF017F13C790 B512E74814F74814FF481381390FFC007F4848133F49131F4848130F5B48481307A290C7 FCA25A5AA87E7EA27FA26C7E150F6C6C131F6D133FD80FFC137F9038FF01FF6C90B5FC6C 14F76C14E76C148790383FFE07EB0FF090C7FCB1243B7DA82F>I<00FC137CEB03FC130F 131F133F137FEBFFC038FDFE00EAFFF85B5B5BA25BA290C7FCA25AB3A6162979A81F>I< EA01F8ACB612E0A6D801F8C7FCB3A77F152015E03800FE0790B512F0A27F6D13C06D1300 EB0FF01C357EB321>116 D E /Fv 42 123 df12 D45 DI58 D66 D<922607FFC0130E92B500FC131E020702FF133E023FEDC07E91B7 EAE1FE01039138803FFB499039F80003FF4901C01300013F90C8127F4948151FD9FFF815 0F48491507485B4A1503481701485B18004890CAFC197E5A5B193E127FA349170012FFAC 127F7F193EA2123FA27F6C187E197C6C7F19FC6C6D16F86C6D150119F06C6D15036C6DED 07E0D97FFEED0FC06D6CED3F80010F01C0ECFF006D01F8EB03FE6D9039FF801FFC010091 B55A023F15E002071580020002FCC7FC030713C03F407ABE4C>I II< B912FEA48426003FFEC77E170F1703170084A284F01F80A3180FA2EE07C0A2F007C0A404 0F90C7FCA2161F163F16FF91B6FCA54AC6FC163F161F160FA21607A693C9FCACB712E0A5 3A3D7DBC42>I73 D75 DIIIII82 D<903A03FFC001C0011FEBF803017FEBFE0748B6128F48 15DF48010013FFD80FF8130F48481303497F4848EB007F127F49143F161F12FF160FA27F 1607A27F7F01FC91C7FCEBFF806C13F8ECFFC06C14FCEDFF806C15E016F86C816C816C81 6C16806C6C15C07F010715E0EB007F020714F0EC003F1503030013F8167F163F127800F8 151FA2160FA27EA217F07E161F6C16E06D143F01E015C001F8EC7F8001FEEB01FF9026FF E00713004890B55A486C14F8D8F81F5CD8F00314C027E0003FFEC7FC2D407ABE3A>I<00 3FB912FCA5903BFE003FFE003FD87FF0EE0FFE01C0160349160190C71500197E127EA200 7C183EA400FC183F48181FA5C81600B3AF010FB712F8A5403D7CBC49>I<903807FFC001 3F13F848B6FC48812607FE037F260FF8007F6DEB3FF0486C806F7EA36F7EA26C5A6C5AEA 01E0C8FC153F91B5FC130F137F3901FFFE0F4813E0000F1380381FFE00485A5B485A12FF 5BA4151F7F007F143F6D90387BFF806C6C01FB13FE391FFF07F36CEBFFE100031480C6EC 003FD91FF890C7FC2F2B7DA933>97 D99 DIII<903A03FF8007F0013F9038F83FF8499038FCFFFC48B712FE48018313F93A07 FC007FC34848EB3FE1001FEDF1FC4990381FF0F81700003F81A7001F5DA26D133F000F5D 6C6C495A3A03FF83FF8091B5C7FC4814FC01BF5BD80F03138090CAFCA2487EA27F13F06C B6FC16F016FC6C15FF17806C16C06C16E01207001F16F0393FE000034848EB003F49EC1F F800FF150F90C81207A56C6CEC0FF06D141F003F16E001F0147FD81FFC903801FFC02707 FF800F13006C90B55AC615F8013F14E0010101FCC7FC2F3D7DA834>I<13FFB5FCA51207 7EAFED1FF8EDFFFE02036D7E4A80DA0FE07F91381F007F023C805C4A6D7E5CA25CA35CB3 A4B5D8FE0FB512E0A5333F7CBE3A>II<13FFB5FCA512077EB092 380FFFFEA5DB01FEC7FC4B5AED07F0ED1FE04B5A4B5A4BC8FCEC03FC4A5A4A5A141FEC7F F84A7EA2818102E77F02C37F148102007F826F7E6F7E151F6F7E826F7F6F7F816F7FB5D8 FC07EBFFC0A5323F7DBE37>107 D<13FFB5FCA512077EB3B3AFB512FCA5163F7CBE1D>I< 01FFD91FF8ECFFC0B590B5010713F80203DAC01F13FE4A6E487FDA0FE09026F07F077F91 261F003FEBF8010007013EDAF9F0806C0178ECFBC04A6DB4486C7FA24A92C7FC4A5CA34A 5CB3A4B5D8FE07B5D8F03FEBFF80A551297CA858>I<01FFEB1FF8B5EBFFFE02036D7E4A 80DA0FE07F91381F007F0007013C806C5B4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A533 297CA83A>II<01FFEBFFE0B50007 13FC021FEBFF80027F80DAFF8113F09139FC007FF8000301F06D7E4A6D7E4A130F4A6D7E 1880A27013C0A38218E0AA4C13C0A318805E18005E6E5C6E495A6E495A02FCEBFFF0DAFF 035B92B55A029F91C7FC028713FC028113C00280C9FCACB512FEA5333B7DA83A>I<3901 FE01FE00FF903807FF804A13E04A13F0EC3F1F91387C3FF8000713F8000313F0EBFFE0A2 9138C01FF0ED0FE091388007C092C7FCA391C8FCB3A2B6FCA525297DA82B>114 D<90383FFC1E48B512BE000714FE5A381FF00F383F800148C7FC007E147EA200FE143EA2 7E7F6D90C7FC13F8EBFFE06C13FF15C06C14F06C806C806C806C80C61580131F13000207 13C014000078147F00F8143F151F7EA27E16806C143F6D140001E013FF9038F803FE90B5 5A15F0D8F87F13C026E00FFEC7FC222B7DA929>IIIIIII<003FB612F8A4D9F80113F001C0 14E0495A494813C04A1380007E15005C4A5A007C5C147F4A5A495B5DC65A495B495BA249 EB007C495A5C137F494813FC484913F85C5A48EBC0011480481403481300484813074913 1F007FECFFF0B7FCA426287DA72E>I E /Fw 13 117 df70 D<1407A24A7EA34A7EA3EC37E0A2EC77F01463A2ECC1F8A201017F1480A2903803007EA3 01067FA2010E80010C131FA2496D7EA2013FB57EA29038300007496D7EA3496D7EA20001 8149130012036D801207D81FE0903801FF80D8FFF8010F13F8A22D2C7DAB33>97 D<91383FC006903901FFF80E90390FE03E1E90381F0007017EEB03BE01F8EB01FE484813 004848147E0007153E485A001F151E5B003F150E90C8FC5A1606A212FE1600AA007F1506 A37E6D140E001F150C7F000F151C6C6C1418000315386C6C14706C6C14E0017EEB01C001 1FEB078090390FE03E00903801FFF89038003FC0272D7BAB31>99 D101 D105 D108 DIIII114 D<017F13603901FFE0E0380780F9380E001F48130748130312780070130100F01300A315 607EA26C14007E127F13C0EA3FFEEBFFE06C13F8000713FE6C7FC61480010F13C01300EC 0FE01407EC03F01401A212C01400A37E15E06C1301A26CEB03C06CEB0780B4EB0F0038F3 E01E38E0FFF838C01FE01C2D7BAB26>I<007FB712C0A23A7E003FC00F007890381F8003 007015011600126000E016E0A2481660A5C71500B3A8EC7FE0011FB57EA22B2B7DAA31> I E /Fx 9 117 df<913803FF80021F13F891B6FC4915C013075B4948C61380D97FF013 0FD9FFC013034A13014890C9FC485A485A5B120F5B485AA2485AA3485AA448CAFCAC6C7E A46C7EA36C7EA26C7E7F12077F6C7E6C6C15206C6D14E06E1301D97FF0130FD91FFE137F 6DB6FC6D15C0010115006D5C021F13F0020313802B3E7BBB35>67 D69 D99 D101 D<12FEB3B3B3A4073A7AB914>108 D 111 D<903907F03F80EB3FFCEBFFFE48EBFFBF4814FF3807FE07380FF80148487E5B4848 137F5B007F143F90C7FCA312FEA97E7EA27F123F6D137F6C7E15FF380FF8013807FE0790 B6FC6C143FC613FEEB7FF8EB1FE090C7FCAF21367DA52B>113 D<14F0EAFC07130F133F 137F13FF00FD130013FCEAFFF05B5BA25B90C7FCA35AB3A414267AA51C>I116 D E /Fy 76 127 df12 D<133C137EA213FE1201EA03FC13F0 EA07E0EA0FC0EA1F80EA1E005A5A5A12C00F0F6FB92A>19 D<001C131C007F137F39FF80 FF80A26D13C0A3007F137F001C131C00001300A40001130101801380A200031303010013 00485B00061306000E130E485B485B485B006013601A197DB92A>34 D<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A 12600A1979B917>39 D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485A A212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F1207 7F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>I<12 C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7FA214 80A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A25BA2 485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C127FEAFF80A213C0A312 7F121C1200A412011380A2120313005A1206120E5A5A5A12600A19798817>44 DI<121C127FEAFF80A5EA7F00121C0909798817>I48 D III<1538A2157815F8 A2140114031407A2140F141F141B14331473146314C313011483EB030313071306130C13 1C131813301370136013C01201EA038013005A120E120C5A123812305A12E0B712F8A3C7 3803F800AB4A7E0103B512F8A325397EB82A>I<0006140CD80780133C9038F003F890B5 FC5D5D158092C7FC14FC38067FE090C9FCABEB07F8EB3FFE9038780F803907E007E09038 8003F0496C7E12066E7EC87EA28181A21680A4123E127F487EA490C71300485C12E00060 5C12700030495A00385C6C1303001E495A6C6C485A3907E03F800001B5C7FC38007FFCEB 1FE0213A7CB72A>II<12301238123E003FB612E0A3 16C05A168016000070C712060060140E5D151800E01438485C5D5DC712014A5A92C7FC5C 140E140C141C5CA25CA214F0495AA21303A25C1307A2130FA3495AA3133FA5137FA96DC8 FC131E233B7BB82A>III<121C12 7FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>I<121C12 7FEAFF80A5EA7F00121CC7FCB2121C127F5A1380A4127F121D1201A412031300A25A1206 A2120E5A121812385A1260093479A317>I<1538A3157CA315FEA34A7EA34A6C7EA20207 7FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC6003A202C07F 1501A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7121FA2496E7EA349 6E7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3373C7DBB3E> 65 DI<913A01FF800180020FEBE003027F13F8903A01FF807E0790 3A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F1201484815 1F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED0180 A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5CD9 1FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002011380 313D7BBA3C>IIII III<013FB512E0A39039001FFC00EC07F8B3B3A3123FEA7F80EAFFC0A44A5A1380D8 7F005B0070131F6C5C6C495A6C49C7FC380781FC3801FFF038007F80233B7DB82B>I76 DIIII82 DI<003FB812E0A3D9C003EB001F273E0001FE130348 EE01F00078160000701770A300601730A400E01738481718A4C71600B3B0913807FF8001 1FB612E0A335397DB83C>IIII<007FB590383FFFFCA3C601F801071380D9 7FE0D903FCC7FC013FEC01F06D6C5C5F6D6C5C6D6C13034CC8FC6D6C1306160E6D6C5B6D EB8018163891387FC0306E6C5A16E06E6C5A91380FF18015FB6EB4C9FC5D14036E7EA26E 7F6F7EA24B7E15DF9138019FF09138038FF8150F91380607FC91380E03FE140C4A6C7EEC 38000230804A6D7E14E04A6D7E49486D7E130391C76C7E01066E7E130E010C6E7E011C14 01013C8101FE822607FF80010713E0B500E0013FEBFF80A339397EB83E>II91 D<3901800180000313033907000700000E130E485B001813180038133800301330 0070137000601360A200E013E0485BA400CE13CE39FF80FF806D13C0A3007F137FA2393F 803F80390E000E001A1974B92A>I I<13101338137C13FE487E3803C780380783C0380F01E0381E00F04813780070131C4813 0E00401304170D77B92A>I97 DIIII<147E903803 FF8090380FC1E0EB1F8790383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801 F8C7FCB3AB487E387FFFF8A31C3B7FBA19>IIIIIII<2703F00FF0EB1FE000FFD9 3FFCEB7FF8913AF03F01E07E903BF1C01F83803F3D0FF3800FC7001F802603F70013CE01 FE14DC49D907F8EB0FC0A2495CA3495CB3A3486C496CEB1FE0B500C1B50083B5FCA34025 7EA445>I<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE 496D7EA25BA35BB3A3486C497EB500C1B51280A329257EA42E>II<39 03F01FE000FFEB7FF89038F1E07E9039F3801F803A07F7000FC0D803FEEB07E049EB03F0 4914F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE0 01F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357E A42E>II<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038 EC03E09038FC0080491300A45BB3A2487EB512F0A31C257EA421>II<1318A51338A31378A313F812 0112031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580EB7C03017E13006D5A EB0FFEEB01F81A347FB220>IIIII< B538803FFEA33A0FF8000FF06C48EB07C00003EC03806C7E16007F00001406A2017E5BA2 137F6D5BA26D6C5AA2ECC070010F1360A26D6C5AA214F101035BA2D901FBC7FCA214FF6D 5AA2147CA31438A21430A214701460A25CA2EA7C0100FE5B130391C8FC1306EAFC0EEA70 1C6C5AEA1FF0EA0FC027357EA32C>I<003FB512FCA2EB8003D83E0013F8003CEB07F000 38EB0FE012300070EB1FC0EC3F800060137F150014FE495AA2C6485A495AA2495A495A49 5AA290387F000613FEA2485A485A0007140E5B4848130C4848131CA24848133C48C7127C 48EB03FC90B5FCA21F247EA325>II126 D E /Fz 7 117 df65 D97 D<13FFB5FCA412077EAF4AB47E020F13F0023F13FC9138FE03FFDAF000 13804AEB7FC00280EB3FE091C713F0EE1FF8A217FC160FA217FEAA17FCA3EE1FF8A217F0 6E133F6EEB7FE06E14C0903AFDF001FF80903AF8FC07FE009039F03FFFF8D9E00F13E0D9 C00390C7FC2F3A7EB935>I<903801FFC0010F13FC017F13FFD9FF8013802603FE0013C0 48485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7FC12FFA9127FA27F123FED01 E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E006DB45A010F13F00101138023 257DA42A>I<9038FE03F000FFEB0FFEEC3FFF91387C7F809138F8FFC000075B6C6C5A5C A29138807F80ED3F00150C92C7FC91C8FCB3A2B512FEA422257EA427>114 D<90383FF0383903FFFEF8000F13FF381FC00F383F0003007E1301007C130012FC15787E 7E6D130013FCEBFFE06C13FCECFF806C14C06C14F06C14F81203C614FC131F9038007FFE 140700F0130114007E157E7E157C6C14FC6C14F8EB80019038F007F090B512C000F81400 38E01FF81F257DA426>I<130FA55BA45BA25B5BA25A1207001FEBFFE0B6FCA3000390C7 FCB21578A815F86CEB80F014816CEBC3E090383FFFC06D1380903803FE001D357EB425> I E /FA 41 125 657 600 dfs[13 27 113 178 48 39 D[<143814FC13011303EB07F8EB0FF0EB1FC0EB3F80EB7F0013FE48 5A485A5B12075B120F5B485AA2123F90C7FCA25A127EA312FE5AAC7E127EA3127F7EA27F 121FA26C7E7F12077F12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB07F8EB03FC130113 001438>22 66 114 185 48 I[<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C7E13 7F7F1480131F14C0130FEB07E0A214F01303A214F81301A314FC1300AC130114F8A31303 14F0A2130714E0A2EB0FC0131F1480133F14005B13FE485A485A485A485AEA3FC0485A48 C7FC5A5A1270>22 66 121 185 48 I[14 23 113 138 48 44 D[<007FB6FCB71280A46C1500>33 6 123 155 48 I[<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00>11 11 112 138 48 I[<1307497EA2131FA2133F137F13FF5A1207127FB5FC13DF139FEA7C1F12 00B3AE007FB512E0B612F0A36C14E0>28 52 119 179 48 49 D[35 52 124 179 48 I[<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EA FFE0A5EA7FC0EA3F80EA1F00>11 36 112 163 48 58 D[35 51 124 178 48 64 D[<14FE497EA4497FA214EFA2130781A214C7A2010F7FA314C39038 1F83F0A590383F01F8A490387E00FCA549137E90B512FEA34880A29038F8003FA34848EB 1F80A4000715C049130FD87FFEEBFFFC6D5AB514FE6C15FC497E>39 52 126 179 48 I[<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07F01503 A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0001FE0 ED07F0ED03F81501ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007FB612E0 16C0B712806CECFE0015F0>39 51 127 178 48 I[<02FF13700107EBE0F84913F9013F 13FD4913FFEBFF813901FE007F4848131FD807F0130F1507485A491303485A150148C7FC A25A007EEC00F01600A212FE5AAB7E127EA3007F15F06CEC01F8A26C7EA26C6C13036D14 F06C6C130716E0D803FC131F6C6CEB3FC03A00FF81FF806DB512006D5B010F5B6D13F001 001380>37 53 125 179 48 I[<007FB612F0B712F8A37E3903F00001A7ED00F01600A4 EC01E04A7EA490B5FCA5EBF003A46E5A91C8FCA5163C167EA8007FB612FEB7FCA36C15FC >39 51 126 178 48 69 D[<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007F B6FCB7FCA36C15F0>37 51 125 178 48 76 D[<007FB512C0B612F88115FF6C15802603 F00013C0153FED0FE0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90 B61280160015FC5D15C001F0C8FCB0387FFF80B57EA36C5B>37 51 126 178 48 80 D[33 64 123 179 48 I[<90381FF80790B5EA0F804814CF000714FF5A 381FF01F383FC003497E48C7FC007E147F00FE143F5A151FA46CEC0F00007E91C7FC127F 7FEA3FE0EA1FFCEBFFC06C13FC0003EBFFC06C14F06C6C7F01077F9038007FFEEC07FF02 001380153FED1FC0A2ED0FE0A20078140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F 009038FE01FF90B55A5D00F914F0D8F83F13C0D8700790C7FC>35 53 124 179 48 83 D[ 41 52 127 178 48 87 D[<137013F812011203EA07F0EA0FE0EA1FC01380EA3F00123E 127E127CA212FC5AA4EAFF8013C013E0A2127FA2123FEA1FC0EA0F80>13 27 113 184 48 96 D[<3801FFF0000713FE001F6D7E15E048809038C01FF81407EC01FC 381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA7FC090 C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A003F F007FC>39 36 124 163 48 I[<903803FFE0011F13F8017F13FE48B5FC48804848C6FC EA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2127F6C140F6DEB1F806C7E6D 133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC>33 36 122 163 48 99 D[39 51 125 178 48 I[35 36 124 163 48 I[33 51 125 178 48 I[40 56 126 164 48 I[41 51 127 178 48 I[<1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFFC0 80B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC>31 52 121 179 48 I[<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C1580>34 51 123 178 48 108 D[<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B5 7E3A07FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87F F0027F13FFD8FFFE6D13F8D87FFC4913F0023F137F>45 36 129 163 48 I[<397FF01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F03F80ECC01F 02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E01400>41 36 127 163 48 I[35 36 124 163 48 I[<397FF01FE039FFF8FFF801FB13FE90B6FC6C1580 00019038F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE 6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01 F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B>39 54 127 163 48 I[38 36 126 163 48 114 D[<90387FF8700003B512F8120F5A5A387FC00F387E0003481301 5AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB 0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F8 15E000F8148039701FFC00>32 36 122 163 48 I[<131E133FA9007FB6FCB71280A36C 1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D 13F89038003FE0>35 46 126 173 48 I[<3A7FF003FF80486C487FA3007F7F0001EB00 0FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE071300>41 36 127 163 48 I[<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D131F00 011500A26D5B0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA21483 010F5BA214C701075BA214EF01035BA214FF6D90C7FCA26D5A147C>39 36 126 163 48 I[41 36 127 163 48 I[<3A3FFF03FFF048018713F8A36C010313F03A00FC007E005D90387E01F8 013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180 903803EF80903807CFC0EB0FC7EC83E090381F01F0013F7FEB7E00017C137C49137E0001 803A7FFF01FFFC1483B514FE6C15FC1401>39 36 126 163 48 I[<127812FCB3B3B3A9 1278>6 65 109 185 48 124 D E /FB 17 108 df15 D<19301978A2197C193CA2193E191EA2191F737EA2 737E737EA2737E737E1A7C1A7EF21F80F20FC0F207F0007FBB12FCBDFCA26C1AFCCDEA07 F0F20FC0F21F80F27E001A7C624F5A4F5AA24F5A4F5AA24FC7FC191EA2193E193CA2197C 1978A2193050307BAE5B>33 D41 D<007FB81280B912C0A27ECA1203B3 A232187B9F3D>58 D<1506150FB3B3B3007FB912E0BA12F0A26C18E03C3C7BBB47>63 D<4E7EF007C0180F181F183F187FA218FFA25FA25F18BF1707183F170F170E171E171C17 3C17381778177017F017E01601EE03C0A2EE0780A2EE0F005E161E5EA25E16F85E4B5A85 4B5A15075E4BC7121F5D151E033FB6FC5DA292B7FC4A82DA03E0C7121FA24A5A4A48140F 0010131F003091C87F143E00785B007C13FC26FE01F86F7E38FF87F0D9FFE0171CF1FE7C 4A923803FFF86C4917E091C914C06C487013006C48EE00FCD80FF094C7FCEA03C046477E C149>65 D67 D<1A071A1F1A7E023FB812FC49B912F8010718E0011F18C0017FEFFE0090B912F0D801F0 C76CC9FCD807E05C120F48485B003F5D5B127F150348C75B5A5A00F01407C85BA3150F5E A3151F5EA3153F5EA3157F5EA315FF93CAFCA35C5DA314035DA314075DA34A5AA34A5AA2 5D143FA24A5AA292CBFC14FE5C495A14C048477DC032>84 D<15C04A7E4A7EA24A7EA34A 7EA2EC1F3EA2EC3E1FA2EC3C0F027C7FA24A6C7EA249486C7EA2ECE001010380A249486C 7EA24948137CA249C77EA2011E141E013E141FA2496E7EA2496E7EA2491403000182A248 486E7EA248486E7EA2491578000F167CA248C97EA2003E82A2003C82007C1780A248EE07 C0A24816030060EE018032397BB63D>94 D<0060EE018000F0EE03C06C1607A2007CEE0F 80A2003C1700003E5EA26C163EA26C6C5DA2000716786D15F8A26C6C4A5AA26C6C4A5AA2 00005E6D1407A2017C4A5AA26D4AC7FCA2011E141E011F143EA26D6C5BA26D6C5BA26D6C 485AA201015CECF003A26D6C485AA291387C0F80A2023C90C8FCEC3E1FA2EC1F3EA2EC0F FCA26E5AA36E5AA26E5A6E5A32397BB63D>I<126012F0B3AAB812F017F8A300F0CAFCB3 AB12602D3F7BBE38>I<153FEC03FFEC0FE0EC3F80EC7E00495A5C495AA2495AB3AA130F 5C131F495A91C7FC13FEEA03F8EA7FE048C8FCEA7FE0EA03F8EA00FE133F806D7E130F80 1307B3AA6D7EA26D7E80EB007EEC3F80EC0FE0EC03FFEC003F205B7AC32D>102 D<12FCEAFFC0EA07F0EA01FCEA007E6D7E131F6D7EA26D7EB3AA801303806D7E1300147F EC1FC0EC07FEEC00FFEC07FEEC1FC0EC7F0014FC1301495A5C13075CB3AA495AA2495A13 3F017EC7FC485AEA07F0EAFFC000FCC8FC205B7AC32D>I<146014F01301A214E01303A2 14C01307A2EB0F80A214005BA2131E133EA25BA2137813F8A25B1201A25B1203A2485AA2 5B120FA290C7FC5AA2123EA2123C127CA2127812F8A41278127CA2123C123EA27EA27E7F A212077FA26C7EA212017FA212007FA21378137CA27FA2131E131FA27F1480A2EB07C0A2 130314E0A2130114F0A213001460145A77C323>I<126012F07EA21278127CA2123C123E A27EA27E7FA212077FA26C7EA212017FA212007FA21378137CA27FA2131E131FA27F1480 A2EB07C0A2130314E0A2130114F0A414E01303A214C01307A2EB0F80A214005BA2131E13 3EA25BA2137813F8A25B1201A25B1203A2485AA25B120FA290C7FC5AA2123EA2123C127C A2127812F8A25A1260145A7BC323>I<126012F0B3B3B3B3B11260045B76C319>I<006013 1800F0133CB3B3B3B3B000601318165A75C32D>I E /FC 15 117 df70 D78 D97 D99 D101 DI105 D108 DIIII114 D<90383FC00C9038FFF81C0003EBFE3C390FE03FFC381F 8007EB0003003E1301481300157C5A153CA36C141CA27E6C14006C7E13E013FE383FFFE0 6C13FE6CEBFF806C14E0000114F06C6C13F8010F13FC1300EC07FE14011400157F153F12 E0151FA37EA2151E6C143E6C143C6C147C6C14F89038C001F039FBF807E000F1B512C0D8 E07F130038C007FC20317BAF2A>I<007FB712F8A39039801FF0073A7E000FE000007816 78A20070163800F0163CA348161CA5C71500B3A8EC3FF8011FB512F0A32E2E7CAD36>I E /FD 77 128 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD9 07F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91 C7FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11 D<4AB4FC021F13C091387F01F0903901FC0078D907F0131C4948133E494813FF49485A13 7F1400A213FE6F5A163893C7FCAA167FB8FCA33900FE00018182B3AC486CECFF80007FD9 FC3F13FEA32F407FBF33>I<4AB47E021F13F791387F00FFEB01F8903807F001EB0FE0EB 1FC0EB3F80137F14008101FE80AEB8FCA3C648C77EB3AE486CECFF80007FD9FC3F13FEA3 2F407FBF33>I<4AB4ECFF80021FD9C00F13E0913B7F01F03F80F8903C01F80078FE003C D907F0D93FF8130E49484948131F49484948EB7F804948484913FF137F02005CA201FE92 C7FC6FED7F0070141C96C7FCAAF13F80BBFCA3C648C76CC7FC197F193FB3AC486C4A6CEB 7FC0007FD9FC3FD9FE1FB5FCA348407FBF4C>I<133E133F137F13FFA2EA01FEEA03FCEA 07F813F0EA0FE0EA1FC01380EA3E005A5A1270122010116EBE2D>19 D<121EEA7F80EAFFC0A9EA7F80ACEA3F00AC121EAB120CC7FCA8121EEA7F80A2EAFFC0A4 EA7F80A2EA1E000A4179C019>33 D<001E130F397F803FC000FF137F01C013E0A201E013 F0A3007F133F391E600F3000001300A401E01370491360A3000114E04913C00003130101 001380481303000EEB070048130E0018130C0038131C003013181C1C7DBE2D>I<4B6C13 0C4B6C131EA20307143EA24C133CA2030F147CA293C71278A24B14F8A2031E5CA2033E13 01A2033C5CA3037C1303A203785CA203F81307A24B5CA20201140F007FBAFCBB1280A26C 1900C72707C0003EC8FC4B133CA3020F147CA292C71278A24A14F8A2021E5CA3023E1301 007FBAFCBB1280A26C1900C727F80007C0C8FC4A5CA20101140FA24A91C9FCA301035CA2 4A131EA20107143EA24A133CA2010F147CA291C71278A34914F8A2011E5CA2013E1301A2 013C5CA201186D5A41517BBE4C>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A4 13E013C0A312011380120313005A120E5A1218123812300B1C79BE19>39 D<1430147014E0EB01C0EB03801307EB0F00131E133E133C5B13F85B12015B1203A2485A A2120F5BA2121F90C7FCA25AA3123E127EA6127C12FCB2127C127EA6123E123FA37EA27F 120FA27F1207A26C7EA212017F12007F13787F133E131E7FEB07801303EB01C0EB00E014 701430145A77C323>I<12C07E12707E7E121E7E6C7E7F12036C7E7F12007F1378137CA2 7FA2133F7FA21480130FA214C0A3130714E0A6130314F0B214E01307A614C0130FA31480 A2131F1400A25B133EA25BA2137813F85B12015B485A12075B48C7FC121E121C5A5A5A5A 145A7BC323>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A3120113 80120313005A120E5A1218123812300B1C798919>44 DI<121E EA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>IIIIII< 150E151E153EA2157EA215FE1401A21403EC077E1406140E141CA214381470A214E0EB01 C0A2EB0380EB0700A2130E5BA25B5BA25B5B1201485A90C7FC5A120E120C121C5AA25A5A B8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<00061403D80780131F01F813FE90B5 FC5D5D5D15C092C7FC14FCEB3FE090C9FCACEB01FE90380FFF8090383E03E090387001F8 496C7E49137E497F90C713800006141FC813C0A216E0150FA316F0A3120C127F7F12FFA4 16E090C7121F12FC007015C012780038EC3F80123C6CEC7F00001F14FE6C6C485A6C6C48 5A3903F80FE0C6B55A013F90C7FCEB07F8243F7CBC2D>II<1238123C123F90B612FCA316F85A16F016E00078C712010070EC 03C0ED078016005D48141E151C153C5DC8127015F04A5A5D14034A5A92C7FC5C141EA25C A2147C147814F8A213015C1303A31307A3130F5CA2131FA6133FAA6D5A0107C8FC26407B BD2D>III<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FC B3121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2779A619>I<121EEA7F80A2EAFFC0A4EA 7F80A2EA1E00C7FCB3121E127FEAFF80A213C0A4127F121E1200A412011380A312031300 5A1206120E120C121C5A1230A20A3979A619>I<007FB912E0BA12F0A26C18E0CDFCAE00 7FB912E0BA12F0A26C18E03C167BA147>61 D<15074B7EA34B7EA34B7EA34B7EA34B7E15 E7A2913801C7FC15C3A291380381FEA34AC67EA3020E6D7EA34A6D7EA34A6D7EA34A6D7E A34A6D7EA349486D7E91B6FCA249819138800001A249C87EA24982010E157FA2011E8201 1C153FA2013C820138151FA2017882170F13FC00034C7ED80FFF4B7EB500F0010FB512F8 A33D417DC044>65 DII69 DIIII76 DIIII82 DI<003FB91280A3903AF0007FE001018090393FC0003F48C7ED1FC0007E17 07127C00781703A300701701A548EF00E0A5C81600B3B14B7E4B7E0107B612FEA33B3D7D BC42>II87 D<007FB5D8C003B512E0A3C649C7EBFC00D93FF8EC3FE06D48EC1F806D6C92C7FC171E6D 6C141C6D6C143C5F6D6C14706D6D13F04C5ADA7FC05B023F13036F485ADA1FF090C8FC02 0F5BEDF81E913807FC1C163C6E6C5A913801FF7016F06E5B6F5AA26F7E6F7EA28282153F ED3BFEED71FF15F103E07F913801C07F0203804B6C7EEC07004A6D7E020E6D7E5C023C6D 7E02386D7E14784A6D7E4A6D7F130149486E7E4A6E7E130749C86C7E496F7E497ED9FFC0 4A7E00076DEC7FFFB500FC0103B512FEA33F3E7EBD44>I91 D<486C13C00003130101001380481303000EEB070048130E00 18130C0038131C003013180070133800601330A300E01370481360A400CFEB678039FFC0 7FE001E013F0A3007F133FA2003F131F01C013E0390F0007801C1C73BE2D>II97 DI<49B4FC010F13E090383F00F8017C131E48 48131F4848137F0007ECFF80485A5B121FA24848EB7F00151C007F91C7FCA290C9FC5AAB 6C7EA3003FEC01C07F001F140316806C6C13076C6C14000003140E6C6C131E6C6C137890 383F01F090380FFFC0D901FEC7FC222A7DA828>IIII<167C9039 03F801FF903A1FFF078F8090397E0FDE1F9038F803F83803F001A23B07E000FC0600000F 6EC7FC49137E001F147FA8000F147E6D13FE00075C6C6C485AA23901F803E03903FE0FC0 26071FFFC8FCEB03F80006CAFC120EA3120FA27F7F6CB512E015FE6C6E7E6C15E06C8100 03813A0FC0001FFC48C7EA01FE003E140048157E825A82A46C5D007C153E007E157E6C5D 6C6C495A6C6C495AD803F0EB0FC0D800FE017FC7FC90383FFFFC010313C0293D7EA82D> III<1478EB01FEA2EB03FFA4EB01FEA2EB00781400AC147FEB7F FFA313017F147FB3B3A5123E127F38FF807E14FEA214FCEB81F8EA7F01387C03F0381E07 C0380FFF803801FC00185185BD1C>III<2701F801FE14FF00FF902707FFC00313E0913B1E07E00F03F0913B7803F03C 01F80007903BE001F87000FC2603F9C06D487F000101805C01FBD900FF147F91C75B13FF 4992C7FCA2495CB3A6486C496CECFF80B5D8F87FD9FC3F13FEA347287DA74C>I<3901F8 01FE00FF903807FFC091381E07E091387803F000079038E001F82603F9C07F0001138001 FB6D7E91C7FC13FF5BA25BB3A6486C497EB5D8F87F13FCA32E287DA733>I<14FF010713 E090381F81F890387E007E01F8131F4848EB0F804848EB07C04848EB03E0000F15F04848 EB01F8A2003F15FCA248C812FEA44815FFA96C15FEA36C6CEB01FCA3001F15F86C6CEB03 F0A26C6CEB07E06C6CEB0FC06C6CEB1F80D8007EEB7E0090383F81FC90380FFFF0010090 C7FC282A7EA82D>I<3901FC03FC00FF90381FFF8091387C0FE09039FDE003F03A03FFC0 01FC6C496C7E91C7127F49EC3F805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0 A2EE3FC06D1580EE7F007F6E13FE9138C001F89039FDE007F09039FC780FC0DA3FFFC7FC EC07F891C9FCAD487EB512F8A32D3A7EA733>I<02FF131C0107EBC03C90381F80F09039 7F00387C01FC131CD803F8130E4848EB0FFC150748481303121F485A1501485AA448C7FC AA6C7EA36C7EA2001F14036C7E15076C6C130F6C7E6C6C133DD8007E137990383F81F190 380FFFC1903801FE0190C7FCAD4B7E92B512F8A32D3A7DA730>I<3901F807E000FFEB1F F8EC787CECE1FE3807F9C100031381EA01FB1401EC00FC01FF1330491300A35BB3A5487E B512FEA31F287EA724>I<90383FC0603901FFF8E03807C03F381F000F003E1307003C13 03127C0078130112F81400A27E7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F6C148000 0114C0D8003F13E0010313F0EB001FEC0FF800E01303A214017E1400A27E15F07E14016C 14E06CEB03C0903880078039F3E01F0038E0FFFC38C01FE01D2A7DA824>I<131CA6133C A4137CA213FCA2120112031207001FB512C0B6FCA2D801FCC7FCB3A215E0A912009038FE 01C0A2EB7F03013F138090381F8700EB07FEEB01F81B397EB723>IIIIII<001FB61280A2EBE0000180140049485A001E495A121C4A 5A003C495A141F00385C4A5A147F5D4AC7FCC6485AA2495A495A130F5C495A90393FC003 80A2EB7F80EBFF005A5B484813071207491400485A48485BA248485B4848137F00FF495A 90B6FCA221277EA628>I<001C130E007FEB3F8039FF807FC0A5397F003F80001CEB0E00 1A0977BD2D>127 D E /FE 4 67 df<123C127EB4FCA21380A2127F123D1201A3120313 00A25A1206120E5A5A5A126009157A8714>59 D<1780EE03C0160FEE3F80EEFE00ED03F8 ED0FE0ED3F8003FEC7FCEC03F8EC0FE0EC3F8002FEC8FCEB03F8EB0FE0EB3F8001FEC9FC EA03F8EA0FE0EA3F8000FECAFC12F812FEEA3F80EA0FE0EA03F8EA00FEEB3F80EB0FE0EB 03F8EB00FEEC3F80EC0FE0EC03F8EC00FEED3F80ED0FE0ED03F8ED00FEEE3F80EE0FC016 03EE00802A2B7AA537>I<124012F012FC127FEA1FC0EA07F0EA01FCEA007FEB1FC0EB07 F0EB01FCEB007FEC1FC0EC07F0EC01FCEC007FED1FC0ED07F0ED01FCED007FEE1FC01607 161FEE7F00ED01FCED07F0ED1FC0037FC7FCEC01FCEC07F0EC1FC0027FC8FCEB01FCEB07 F0EB1FC0017FC9FCEA01FCEA07F0EA1FC0007FCAFC12FC12F012402A2B7AA537>62 D<013FB6FC17C0903A00FE0007F0EE01F84AEB00FC177E1301177F5CA21303177E4A14FE A20107EC01FC17F84AEB03F0EE07E0010FEC1FC0EE7F009138C003FC91B55A4914FE9139 C0003F804AEB0FC017E0013F140717F091C7FC16035BA2017E1407A201FE15E0160F4915 C0161F0001ED3F80EE7F004914FEED03F80003EC0FF0B712C003FCC7FC302D7CAC35>66 D E /FF 19 118 df43 D<123C127EB4FCA21380A2127F123D1201A312031300A25A1206120E5A5A5A126009157A 8714>I<130C133C137CEA03FC12FFEAFC7C1200B3B113FE387FFFFEA2172C7AAB23>49 DII<140EA2141E143EA2147E14FEA2EB01BE13 03143E1306130E130C131813381330136013E013C0EA0180120313001206120E120C5A12 3812305A12E0B612FCA2C7EA3E00A9147F90381FFFFCA21E2D7EAC23>I<000CEB018038 0FC01F90B512005C5C14F014C0D80C7EC7FC90C8FCA8EB1FC0EB7FF8380DE07C380F801F 01001380000E130F000CEB07C0C713E0A2140315F0A4127812FCA448EB07E012E0006014 C00070130F6C14806CEB1F006C133E380780F83801FFE038007F801C2D7DAB23>I<13FF 000713C0380F01F0381C00F8003F137C80A2143F001E7FC7FCA4EB07FF137F3801FE1FEA 07F0EA1FC0EA3F80EA7F00127E00FE14065AA3143F7E007E137F007FEBEF8C391F83C7FC 390FFF03F83901FC01E01F207D9E23>97 D99 D<15F8141FA214011400ACEB0FE0EB7FF83801F81E3803E0073807C003380F8001EA1F00 481300123E127EA25AA9127C127EA2003E13017EEB8003000F13073903E00EFC3A01F03C FFC038007FF090391FC0F800222F7EAD27>II< EA07C012FFA2120F1207AC14FE9038C3FF809038C703E09038DE01F013F8496C7EA25BA2 5BB2486C487E3AFFFE1FFFC0A2222E7EAD27>104 D108 D<2607C07FEB07F03BFFC3FFC03FFC903AC783F0783F 3C0FCE01F8E01F803B07DC00F9C00F01F8D9FF8013C04990387F000749137EA249137CB2 486C01FEEB0FE03CFFFE0FFFE0FFFEA2371E7E9D3C>I<3807C0FE39FFC3FF809038C703 E0390FDE01F0EA07F8496C7EA25BA25BB2486C487E3AFFFE1FFFC0A2221E7E9D27>I<38 07C0FE39FFC7FF809038CF03E0390FDC01F03907F800FC49137E49133E49133FED1F80A3 ED0FC0A8151F1680A2ED3F00A26D137E6D137C5D9038FC01F09038CE07E09038C7FF80D9 C1FCC7FC01C0C8FCA9487EEAFFFEA2222B7E9D27>112 D<380781F838FF87FEEB8E3FEA 0F9CEA07B813B0EBF01EEBE000A45BB0487EB5FCA2181E7E9D1C>114 D<1360A413E0A312011203A21207121FB512F0A23803E000AF1418A714383801F0301470 3800F860EB3FE0EB0F80152A7FA81B>116 D I E /FG 17 121 df19 D65 D79 D<91B712F018FEF0FF800201903980007FE06E90C7EA1FF04AED07F818034B15 FCF001FE1403A24B15FFA21407A25DA2140FF003FE5DA2021F16FC18074B15F8180F023F 16F0F01FE04B15C0F03F80027FED7F0018FE4BEB03FCEF0FF002FFEC7FC092B6C7FC17F8 92CAFC5BA25CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25CA2137FA25C 497EB67EA340447AC342>I<91B77E18F818FE020190398001FF806E90C7EA3FC04AED1F E0F00FF04BEC07F8180319FC14034B15FEA314075DA3020FED07FC5DA2F00FF8141F4B15 F0F01FE0F03FC0023F16804BEC7F0018FEEF03F8027F4A5A4BEB1FC04CB4C7FC92B512F8 91B612E092380003F8EE00FE177F496F7E4A6E7EA28413034A140FA2171F13075CA2173F 130F5CA24D5A131F5CA3013F170E5CA2017FEE801E191C4A163C496C1638B66C90383FC0 70051F13F094380FE1E0CA3803FF80943800FE003F467AC347>82 D97 DI101 D<15FCEC03FF91390F83838091393E01CFC091387C00EF4A13FF4948137F010315804948 133F495A131F4A1400133F91C75A5B167E13FE16FE1201495CA215011203495CA21503A2 495CA21507A25EA2150F151F5E0001143F157F6C6C13FF913801DF8090387C039F90383E 0F3FEB0FFCD903F090C7FC90C7FC5DA2157EA215FEA25DA2001C495A127F48495A14074A 5A485C023FC8FC00F8137E387C01F8381FFFE0000390C9FC2A407BAB2D>103 D<143C147E14FE1301A3EB00FC14701400AE137C48B4FC3803C780380703C0000F13E012 0E121C13071238A21278EA700F14C0131F00F0138012E0EA003F1400A25B137EA213FE5B 12015BA212035B141E0007131C13E0A2000F133CEBC038A21478EB807014F014E0EB81C0 EA0783EBC7803803FE00EA00F8174378C11E>105 D108 D110 DI114 D<137C48B414072603C780EB1F80380703C0000F7F000E153F121C01 07150012385E1278D8700F147E5C011F14FE00F05B00E05DEA003FEC0001A2495C137E15 0313FE495CA215071201495CA2030F13380003167849ECC070A3031F13F0EE80E0153F00 011581037F13C06DEBEF8300000101148090397C03C787903A3E0F07C70090391FFE01FE 903903F000782D2D78AB34>117 D<017C143848B414FC3A03C78001FE380703C0000F13 E0120E001C14000107147E1238163E1278D8700F141E5C131F00F049131C12E0EA003F91 C7123C16385B137E167801FE14705BA216F0000115E05B150116C0A24848EB0380A2ED07 00A2150E12015D6D5B000014786D5B90387C01E090383F0780D90FFFC7FCEB03F8272D78 AB2D>I<02F8133FD907FEEBFFE0903A0F0F83C0F0903A1C07C780F890393803CF030170 13EE01E0EBFC07120101C013F8000316F00180EC01C000074AC7FC13001407485C120EC7 FC140F5DA3141F5DA3143F92C8FCA34AEB03C01780147EA202FEEB0700121E003F5D267F 81FC130E6E5BD8FF83143CD903BE5B26FE079E5B3A7C0F1F01E03A3C1E0F83C0271FF803 FFC7FC3907E000FC2D2D7CAB2D>120 D E /FH 47 122 df12 D45 D47 D<157815FC14031407141F14FF130F0007 B5FCB6FCA2147F13F0EAF800C7FCB3B3B3A6007FB712FEA52F4E76CD43>49 DI<91380FFFC091B512FC0107ECFF80011F15E09026 3FF8077F9026FF800113FC4848C76C7ED803F86E7E491680D807FC8048B416C080486D15 E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC4C13005FA24C5A4B5B4B5B4B13C04B 5BDBFFFEC7FC91B512F816E016FCEEFF80DA000713E0030113F89238007FFE707E701380 7013C018E07013F0A218F8A27013FCA218FEA2EA03E0EA0FF8487E487E487EB57EA318FC A25E18F891C7FC6C17F0495C6C4816E001F04A13C06C484A1380D80FF84A13006CB44A5A 6CD9F0075BC690B612F06D5D011F1580010302FCC7FCD9001F1380374F7ACD43>I<177C 17FEA2160116031607160FA2161F163F167FA216FF5D5DA25D5DED1FBFED3F3F153E157C 15FCEC01F815F0EC03E01407EC0FC01580EC1F005C147E147C5C1301495A495A5C495A13 1F49C7FC133E5B13FC485A5B485A1207485A485A90C8FC123E127E5ABA12C0A5C96C48C7 FCAF020FB712C0A53A4F7CCE43>III<121F7F7FEB FF8091B81280A45A1900606060A2606060485F0180C86CC7FC007EC95A4C5A007C4B5A5F 4C5A160F4C5A484B5A4C5A94C8FC16FEC812014B5A5E4B5A150F4B5AA24B5AA24B5A15FF A24A90C9FCA25C5D1407A2140FA25D141FA2143FA4147F5DA314FFA55BAC6D5BA2EC3FC0 6E5A395279D043>I<171F4D7E4D7EA24D7EA34C7FA24C7FA34C7FA34C7FA24C7FA34C80 83047F80167E8304FE804C7E03018116F8830303814C7E03078116E083030F814C7E031F 81168083033F8293C77E4B82157E8403FE824B800201835D840203834B800207835D844A B87EA24A83A3DA3F80C88092C97E4A84A2027E8202FE844A82010185A24A820103854A82 010785A24A82010F855C011F717FEBFFFCB600F8020FB712E0A55B547BD366>65 D<932601FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F92B8EA803F0203 DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901 F8824949824949824949824949824990CA7E494883A2484983485B1B7F485B481A3FA248 49181FA3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280A2F307C07EA36C7FA21B0F6C6D19 80A26C1A1F6C7F1C006C6D606C6D187EA26D6C606D6D4C5A6D6D16036D6D4C5A6D6D4C5A 6D01FC4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1FF80203903AFFE0 01FFF0020091B612C0033F93C8FC030715FCDB007F14E0040101FCC9FC525479D261>67 DIII73 D77 D<93380FFFC00303B6FC 031F15E092B712FC0203D9FC0013FF020F01C0010F13C0023F90C7000313F0DA7FFC0200 7F494848ED7FFE4901E0ED1FFF49496F7F49496F7F4990C96C7F49854948707F4948707F A24849717E48864A83481B804A83481BC0A2481BE04A83A2481BF0A348497113F8A5B51A FCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D4D 5A6E5E6C626D6C4C5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A6D 01FF02035B023F01E0011F13F0020F01FC90B512C0020390B7C8FC020016FC031F15E003 0392C9FCDB001F13E0565479D265>79 DI82 D<91260FFF80130791B500F85B010702FF5B011FEDC03F49EDF07F9026FFFC00 6D5A4801E0EB0FFD4801800101B5FC4848C87E48488149150F001F824981123F4981007F 82A28412FF84A27FA26D82A27F7F6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFF C017F06C16FC6C16FF6C17C06C836C836D826D82010F821303010082021F16801400030F 15C0ED007F040714E01600173F050F13F08383A200788200F882A3187FA27EA219E07EA2 6CEFFFC0A27F6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFF C003FFE0486C90B65AD8FC0393C7FC48C66C14FC48010F14F048D9007F90C8FC3C5479D2 4B>I<003FBC1280A59126C0003F9038C0007F49C71607D87FF8060113C001E08449197F 49193F90C8171FA2007E1A0FA3007C1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912 F0A553517BD05E>II97 DI<913801FFF8021FEBFF8091B612F0010315FC 010F9038C00FFE903A1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA248 6F138091C7FC486F1300705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D 15C07E6E140F6CEE1F806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF001 0390B55A01001580023F49C7FC020113E033387CB63C>I<4DB47E0407B5FCA5EE001F17 07B3A4913801FFE0021F13FC91B6FC010315C7010F9038E03FE74990380007F7D97FFC01 01B5FC49487F4849143F484980485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7EA3 7EA26C7F5F6C6D5C7E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC0 7FCF6D90B5128F0101ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<913803FFC0 023F13FC49B6FC010715C04901817F903A3FFC007FF849486D7E49486D7E4849130F4849 6D7E48178048497F18C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA318E049CA FCA6127FA27F7EA218E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC 3F806D6CECFF00D91FFEEB03FE903A0FFFC03FF8010390B55A010015C0021F49C7FC0201 13F034387CB63D>IIII<137F497E000313E0487FA2487FA76C5BA26C5BC613806DC7FC90C8 FCADEB3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>I107 DIII<913801FFE0021F13 FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97FF86D6C7E49486D7F48496D 7F48496D7F4A147F48834890C86C7EA24883A248486F7EA3007F1880A400FF18C0AC007F 1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C495B D93FFE011F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC020113E03A387CB6 43>I<903A3FF001FFE0B5010F13FE033FEBFFC092B612F002F301017F913AF7F8007FFE 0003D9FFE0EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7FA2717FA285187F85A47213 80AC1A0060A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFFFC 9126FBFE075B02F8B612E06F1480031F01FCC8FC030313C092CBFCB1B612F8A5414D7BB5 4B>I<912601FFE0EB0780021F01F8130F91B500FE131F0103ECFF80010F9039F03FC03F 499039800FE07F903A7FFE0003F04948903801F8FF4849EB00FD4849147F4A805A484980 5A4A805AA291C87E5AA35B12FFAC6C7EA37EA2806C5EA26C6D5CA26C6D5C6C6D5C6C93B5 FC6C6D5B6D6C5B6DB4EB0FEF010F9038C07FCF6D90B5120F010114FED9003F13F8020313 8091C8FCB1040FB61280A5414D7CB547>I<90397FE003FEB590380FFF80033F13E04B13 F09238FE1FF89139E1F83FFC0003D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3F FC5CEE1FF8EE0FF04A90C7FCA55CB3AAB612FCA52F367CB537>I<903903FFF00F013FEB FE1F90B7FC120348EB003FD80FF81307D81FE0130148487F4980127F90C87EA24881A27F A27F01F091C7FC13FCEBFFC06C13FF15F86C14FF16C06C15F06C816C816C81C681013F15 80010F15C01300020714E0EC003F030713F015010078EC007F00F8153F161F7E160FA27E 17E07E6D141F17C07F6DEC3F8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14 E0D8F807148048C601F8C7FC2C387CB635>I<143EA6147EA414FEA21301A313031307A2 130F131F133F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A2 6DEC1F0015806DEBC03E6DEBF0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>IIII<007FB500F090387FFFFEA5C66C48 C7000F90C7FC6D6CEC07F86D6D5C6D6D495A6D4B5A6F495A6D6D91C8FC6D6D137E6D6D5B 91387FFE014C5A6E6C485A6EEB8FE06EEBCFC06EEBFF806E91C9FCA26E5B6E5B6F7E6F7E A26F7F834B7F4B7F92B5FCDA01FD7F03F87F4A486C7E4A486C7E020F7FDA1FC0804A486C 7F4A486C7F02FE6D7F4A6D7F495A49486D7F01076F7E49486E7E49486E7FEBFFF0B500FE 49B612C0A542357EB447>II E /FI 16 119 df<140C141C1438147014E0EB01C01303EB0780EB0F00A2131E5BA25B13F85B12 015B1203A2485AA3485AA348C7FCA35AA2123EA2127EA4127CA312FCB3A2127CA3127EA4 123EA2123FA27EA36C7EA36C7EA36C7EA212017F12007F13787FA27F7FA2EB0780EB03C0 1301EB00E014701438141C140C166476CA26>40 D<12C07E12707E7E7E120F6C7E6C7EA2 6C7E6C7EA21378137C133C133E131E131FA2EB0F80A3EB07C0A3EB03E0A314F0A21301A2 14F8A41300A314FCB3A214F8A31301A414F0A21303A214E0A3EB07C0A3EB0F80A3EB1F00 A2131E133E133C137C13785BA2485A485AA2485A48C7FC120E5A5A5A5A5A16647BCA26> I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A 1206120E5A5A5A12600B1D78891B>44 DI<121EEA7F80A2EAFF C0A4EA7F80A2EA1E000A0A78891B>I<143014F013011303131F13FFB5FC13E713071200 B3B3B0497E497E007FB6FCA3204278C131>49 DI<000615C0D807C0130701FCEB7F8090B612005D5D5D15E0158026063FFCC7FC 90C9FCAE14FF010713C090381F01F090383800FC01F0137ED807C07F49EB1F8016C090C7 120F000615E0C8EA07F0A316F81503A216FCA5123E127F487EA416F890C712075A006015 F0A20070140F003015E00038EC1FC07E001EEC3F806CEC7F006C6C13FE6C6C485A3901F8 07F039007FFFE0011F90C7FCEB07F826447BC131>53 D<121CA2EA1F8090B712C0A34816 80A217005E0038C8120C0030151C00705D0060153016705E5E4814014B5A4BC7FCC81206 150E5D151815385D156015E04A5AA24A5A140792C8FC5CA25C141E143EA2147E147CA214 FCA21301A3495AA41307A6130FAA6D5AEB01C02A457BC231>55 D<14FF010713E0011F13 F890387F00FE01FC133FD801F0EB1F804848EB0FC049EB07E00007EC03F048481301A290 C713F8481400A47FA26D130116F07F6C6CEB03E013FC6C6CEB07C09039FF800F806C9038 C01F006CEBF03EECF87839007FFEF090383FFFC07F01077F6D13F8497F90381E7FFFD97C 1F1380496C13C02601E00313E048486C13F000079038007FF84848EB3FFC48C7120F003E EC07FE150148140016FF167F48153FA2161FA56C151E007C153EA2007E153C003E157C6C 15F86DEB01F06C6CEB03E06C6CEB07C0D803F8EB1F80C6B4EBFF0090383FFFFC010F13F0 0101138028447CC131>I<14FF010713E0011F13F890387F80FC9038FC007E48487F4848 EB1F804848EB0FC0000FEC07E0485AED03F0485A16F8007F140190C713FCA25AA216FE15 00A516FFA46C5CA36C7E5D121F7F000F5C6C6C1306150E6C6C5B6C6C5BD8007C5B90383F 01E090390FFF80FE903801FE0090C8FC150116FCA4ED03F8A216F0D80F801307486C14E0 486C130F16C0ED1F80A249EB3F0049137E001EC75A001C495A000F495A3907E01FE06CB5 1280C649C7FCEB1FF028447CC131>I108 D<3901FC01FE00FF903807FFC091381E07F091383801F8000701 707F0003EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13 FEA32F2C7DAB36>110 DI<3901FC03FC00 FF90380FFF8091383C07E091387001F83A07FDE000FE00010180137F01FFEC3F8091C7EA 1FC04915E049140F17F0160717F8160317FCA3EE01FEABEE03FCA3EE07F8A217F0160F6D 15E0EE1FC06D143F17806EEB7E00D9FDC05B9039FCF003F891383C0FE091381FFF80DA03 FCC7FC91C9FCAE487EB512F8A32F3F7DAB36>I118 D E /FJ 18 120 df<121FEA3F80EA7FC0EA FFE0A5EA7FC0EA3F80EA1F000B0B6C8A33>46 D<167816F8ED01FCA21503A2ED07F8A2ED 0FF0A2ED1FE0A216C0153FA2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA24A5AA2 5D143FA24A5AA24AC7FCA2495AA25C1303A2495AA2495AA25C131FA2495AA2495AA249C8 FCA25B1201A2485AA2485AA2485AA25B121FA2485AA2485AA248C9FCA25AA2127CA2264D 7AC433>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCB3A3121FEA3F80EA 7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2B6CAA33>58 D97 DIIII104 D<14E0EB03F8A2497EA36D5AA2 EB00E091C8FCAA383FFFF8487FA47EEA0001B3AD007FB612C0B712E016F0A216E06C15C0 243E78BD33>I<1570EC01FCA2EC03FEA3EC01FCA2EC00701500AA90383FFFFC4913FE90 B5FCA27F7F90C7FCB3B3A9140115FCA21218007EEB03F81407B414F0140F9038803FE090 B512C06C14806C14006C5B6C13F8000113E01F557BBD33>I111 DI114 D<90381FFE0F90B5EA8F80 000314FF120F5A5AEBF007387F800190C7FC00FE147F5A153FA37E007FEC1F0001C090C7 FCEA3FF8EBFFC06C13FF6C14E0000314F8C680011F13FF01001480020713C0EC007FED1F E0007C140F00FEEC07F01503A27EA27F15076D14E06D130F6DEB3FC09038FE01FF90B612 80160000FD5C00FC14F8D8F83F13E0D8780790C7FC242E79AC33>III<3B7F FF8007FFF8B56C4813FC6E5AA24A7E6C496C13F8D80FC0C7EA0FC06D141F00071680A56D 143F00031600A3EC0FC0EC1FE0A23A01F83FF07EA3EC7FF8147CA20000157C9039FCFCFC FCA3ECF87CA2017C5C017D137EECF03EA2017F133FA26D486C5AA3ECC00F90390F8007C0 2E2B7EAA33>119 D E /FK 18 118 df<1538A3157CA315FEA34A7EA34A6C7EA202077F EC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC6003A202C07F15 01A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7121FA2496E7EA3496E 7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3373C7DBB3E>65 D68 DI73 D<013FB512E0A39039001FFC00 EC07F8B3B3A3123FEA7F80EAFFC0A44A5A1380D87F005B0070131F6C5C6C495A6C49C7FC 380781FC3801FFF038007F80233B7DB82B>I79 D83 D97 D99 D101 D<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213FCA23901F8 03C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I 105 D108 D<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7EA2 5BA35BB3A3486C497EB500C1B51280A329257EA42E>110 DI<3807E0 1F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03E09038FC008049 1300A45BB3A2487EB512F0A31C257EA421>114 D<1318A51338A31378A313F812011203 1207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580EB7C03017E13006D5AEB0FFE EB01F81A347FB220>116 DI E end TeXDict begin 52 0 bop 382 251 2989 4 v 1071 451 a FK(E)35 b(l)17 b(e)26 b(c)h(t)d(r)f(o)30 b(n)k(i)17 b(c)77 b(J)25 b(o)30 b(u)j(r)24 b(n)33 b(a)d(l)68 b(o)24 b(f)69 b(S)28 b(A)46 b(D)g(I)22 b(O)1082 646 y FJ(http://www.dc.uba.ar/sadio)q(/ejs)q(/)1245 841 y FI(v)m(ol.)32 b(1,)h(no.)f(1,)h(pp.)g(52-75)e(\(1998\))p 382 969 V 527 1301 a FH(Some)45 b(Issues)g(in)g(Using)h(F)-11 b(ormal)45 b(Metho)t(ds)f(for)h(the)879 1472 y(Dev)l(elopmen)l(t)i(of)e (Reactiv)l(e)i(Systems)1225 1704 y FG(Pablo)34 b(A)n(r)-5 b(g\023)-50 b(on)1751 1668 y FF(1)1895 1704 y FG(Olivier)34 b(R)-5 b(oux)2433 1668 y FF(1)p FE(;)p FF(2)382 1999 y(1)467 2032 y FD(IR)m(CyN)30 b(\(UMR)h(6597\),)i(1)e(rue)f(de)g(la)g (no)m(\177)-43 b(e,)32 b(44321)g FC(Nantes)d FD(\(FRANCE\).)382 2160 y FB(f)p FA(argon|roux)p FB(g)p FA(@lan.ec-nantes.fr)382 2256 y FF(2)467 2289 y FD(Institut)g(Univ)m(ersitaire)g(de)h(F)-8 b(rance.)1694 2602 y Fz(Abstract)734 2767 y Fy(F)h(or)20 b(the)h(dev)n(elopmen)n(t)f(of)h(safet)n(y-critical)e(reactiv)n(e)h (systems,)i(pro)n(ving)d(cor-)609 2881 y(rectness)h(is)h(una)n(v)n (oidable.)33 b(Here)21 b(w)n(e)g(describ)r(e)f(some)h(researc)n(h)e (issues)h(on)h(using)609 2995 y(and)h(com)n(bining)f(formal)h(metho)r (ds.)35 b(Using)22 b(the)g Fx(Electre)g Fy(reactiv)n(e)f(language)f(w)n (e)609 3108 y(illustrate)30 b(a)f(tec)n(hnique)h(to)g(the)h(design)e (of)h(a)g(sound)f(compiler)h(with)g(the)h Fx(Co)r(q)609 3222 y Fy(theorem)f(pro)n(v)n(er.)41 b(Based)30 b(on)f(the)h(same)g (source)f(language)f(seman)n(tic)h(mo)r(del,)609 3335 y(w)n(e)h(presen)n(t)g(the)h(outlines)f(of)h(a)f(metho)r(d)g(to)h(v)n (erify)e(correctness)g(claims)h(with)609 3449 y(the)e Fw(spin)g Fy(mo)r(del)g(c)n(hec)n(k)n(er.)382 3652 y Fv(Keyw)m(ords:)71 b FD(Compiler)43 b(design,)49 b Fu(Co)s(q)d FD(theorem)g(pro)m(v)m(er,)k Fu(Electre)c FD(reactiv)m(e)h(lan-)382 3781 y(guage,)54 b(program)48 b(pro)s(of,)k(program)c(extraction,)53 b(mo)s(del)47 b(c)m(hec)m(king,)54 b Fu(Spin)47 b FD(mo)s(del)382 3910 y(c)m(hec)m(k)m(er.)p eop 53 1 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(53)382 548 y FH(1)135 b(In)l(tro)t(duction)382 767 y FD(No)m(w)m(ada)m(ys,)42 b(for)c(the)h(dev)m(elopmen)m(t)f(of)h (safet)m(y-critical)f(reactiv)m(e)i(systems)3028 734 y FF(3)3067 767 y FD(,)h(estab-)382 895 y(lishing)c Ft(c)-5 b(orr)g(e)g(ctness)43 b FD(is)c(a)i(crucial)e(task,)k(if)d(it)f(is)h (not)g(ev)m(en)h(required)e(b)m(y)h(securit)m(y)382 1024 y(standards.)f(Nev)m(ertheless,)31 b(correctness)g(is)e(a)h(relativ)m (e)g(concept,)h(and)f(w)m(e)g(m)m(ust)g(dis-)382 1153 y(tinguish)25 b(at)k(least)f(t)m(w)m(o)i(di\013eren)m(t)d(asp)s(ects:) 40 b(the)28 b Ft(sp)-5 b(e)g(ci\014c)g(ation)32 b(c)-5 b(orr)g(e)g(ctness)p FD(,)31 b(and)c(the)382 1282 y Ft(c)-5 b(onstruction)39 b(c)-5 b(orr)g(e)g(ctness)38 b FD(of)e(the)g(system)g (from)f(its)g(sp)s(eci\014cation.)56 b(The)35 b(\014rst)g(as-)382 1410 y(p)s(ect)22 b(cannot)g(b)s(e)f(en)m(tirely)g(formalized,)i(it)e (will)f(alw)m(a)m(ys)i(remain)f(a)h(\\gap")h(b)s(et)m(w)m(een)f(the)382 1539 y(problem)29 b(itself,)h(and)g(the)i(problem)d(sp)s(eci\014cation) g(\(this)i(p)s(oin)m(t)e(is)h(out)h(of)g(the)h(scop)s(e)382 1668 y(of)k(this)f(pap)s(er\).)58 b(On)35 b(the)i(other)f(hand,)h (strong)g(results)e(and)g(tec)m(hniques)h(are)h(no)m(w)382 1796 y(a)m(v)-5 b(ailable)28 b(to)h(ensure)e(the)i(correctness)g(of)f (the)h(construction)f(\(or)h(the)f(deriv)-5 b(ation\))27 b(of)382 1925 y(a)i(system)f(from)g(its)g(formalized)f(sp)s (eci\014cation.)39 b(W)-8 b(e)29 b(can)g(men)m(tion:)39 b(researc)m(h)29 b(on)f(se-)382 2054 y(man)m(tics)23 b(of)h(programming)e(languages,)j(automata)g(theory)-8 b(,)25 b(dev)m(elopmen)m(t)f(of)g Fs(ad)f(ho)s(c)382 2183 y FD(logics,)36 b(mo)s(del)e(c)m(hec)m(king,)j(and)d(recen)m(tly) -8 b(,)37 b(implemen)m(tation)d(of)h(p)s(o)m(w)m(erful)f(pro)s(of)g (as-)382 2311 y(sistan)m(ts)j(and)f(automatic)h(theorem)h(pro)m(v)m (ers)f(through)f(constructiv)m(e)h(higher-order)382 2440 y(logic.)68 b(It)40 b(seems)g(clear)g(that,)j(curren)m(t)c(researc)m(h) i(c)m(hallenge)f(is)e(to)j(com)m(bine)e(these)382 2569 y(tec)m(hniques)30 b(in)f(order)h(to)h(tac)m(kle)h(the)e(complexit)m(y) g(of)h(real)f(concurren)m(t)g(systems.)523 2697 y(In)f(this)g(pap)s(er) g(w)m(e)h(presen)m(t)g(some)g(results)f(and)g(issues)g(on)h(the)g (formalization)e(of)382 2826 y(the)d Fu(Electre)h FD([CR95)q(,)f(Arg95) q(])g(language)h(seman)m(tic)f(mo)s(del)f(using)f(the)j Fu(Co)s(q)f FD([CCF)3196 2793 y FF(+)3255 2826 y FD(95])382 2955 y(logical)41 b(meta-language,)46 b(and)c(an)f(application)f(to)i (the)g(v)m(eri\014cation)g(of)f(temp)s(oral)382 3084 y(claims)35 b(using)i FC(spin)f FD([Hol97)q(].)60 b(W)-8 b(e)38 b(claim)d(that)j(dev)m(elopmen)m(t)f(of)f(suc)m(h)h(formalized) 382 3212 y(framew)m(ork)20 b(is)g(a)g(suitable)f(basis)g(for)h(the)h (formalization)e(of)i(most)f(of)h(the)f(dev)m(elopmen)m(t)382 3341 y(stages)26 b(of)e(reactiv)m(e)i(systems)f(pro)m(viding)d (rigorous)h(foundations:)37 b(from)24 b(sp)s(eci\014cation)382 3470 y(language)31 b(design)e(through)h(sp)s(eci\014ed)e(system)j(prop) s(erties)e(v)m(eri\014cation.)382 3726 y Fv(Organization)40 b(of)g(the)g(pap)s(er.)91 b FD(W)-8 b(e)36 b(start)g(with)d(a)j(brief)d (recall)h(of)h(the)h Fu(Electre)382 3854 y FD(reactiv)m(e)31 b(language)e(in)g(Sect.2.)41 b(In)29 b(Sect.3)i(the)f Fu(Co)s(q)f FD(theorem)h(pro)m(v)m(er)g(is)e(in)m(tro)s(duced)382 3983 y(and)39 b(w)m(e)h(sk)m(etc)m(h)h(the)f Fu(Electre)h FD(compiler)d(design)h(and)g(certi\014cation)g(with)g Fu(Co)s(q)p FD(.)68 b(In)382 4112 y(Sect.4)29 b(w)m(e)f(giv)m(e)g(the)g (outlines)f(of)h(the)g(implemen)m(tation)e(mec)m(hanism)h(of)h Fu(Electre)h FD(pro-)382 4241 y(grams)41 b(in)m(to)f FC(pr)n(omela)p FD(/)p FC(spin)f FD([Hol91)q(,)i(Hol97].)72 b(Sect.5)42 b(presen)m(ts)e(some)h(researc)m(h)382 4369 y(issues)33 b(on)i(using)e(this)h(mo)s(del)f(to)j(com)m(bine)e(the)h Fu(Co)s(q)g FD(theorem)g(pro)m(v)m(er)g(engine)f(and)382 4498 y(the)j Fu(Spin)e FD([Hol91)q(])i(mo)s(del)e(c)m(hec)m(k)m(er,)40 b(to)e(v)m(erify)e(prop)s(erties)e(on)j(un)m(b)s(ounded)d Fu(Electre)382 4627 y FD(programs.)44 b(Then,)32 b(in)e(Sect.)45 b(6)33 b(w)m(e)f(sho)m(w)f(a)i Fu(Spin)d FD(implemen)m(tation)h(of)h (the)g(readers-)382 4755 y(writer)37 b(problem)h(mo)s(deled)f(in)g Fu(Electre)p FD(,)43 b(in)37 b(whic)m(h)g(w)m(e)j(v)m(erify)e(safet)m (y)i(and)e(liv)m(eness)382 4884 y(prop)s(erties.)h(Conclusions)28 b(and)i(further)f(w)m(ork)h(are)h(presen)m(ted)f(Sect.7.)p 382 4963 1196 4 v 486 5017 a Fr(3)520 5049 y Fq(Belong)i(to)f(this)g (category;)k(em)n(b)r(edded)29 b(systems)h(in)h(a)n(vionics)h(and)e (trains,)j(some)e(industrials)382 5153 y(con)n(trollers,)c(etc.)p eop 54 2 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(54)382 548 y Fv(Remark:)90 b FD(The)36 b(aim)f(of)h(this)e(pap)s(er)h(is)g(to)h(giv)m(e)g(a)g(surv)m(ey)g(on)f (the)h(utilisation)d(of)382 677 y(formal)21 b(metho)s(ds)g(to)h(the)g (desing)f(and)g(v)-5 b(alidation)20 b(of)i(a)g(reactiv)m(e)h(system.)38 b(The)22 b(reader)382 805 y(in)m(terested)28 b(on)g(a)h(particular)d (stage)j(of)g(this)e(dev)m(elopmen)m(t)h(ma)m(y)h(refer)f(to)h(the)f (pap)s(ers)382 934 y(cited)i(in)f(eac)m(h)j(section.)382 1241 y FH(2)135 b(Ov)l(erview)46 b(of)f(the)g(Electre)h(language)382 1460 y Fu(Electre)38 b FD(is)f(a)h(language)g(for)f(describing)e(the)j (sc)m(heduling)d(of)j Ft(tasks)g FD(with)e(regard)i(to)382 1589 y Ft(events)45 b FD(in)e(reactiv)m(e)k(applications)c (programming.)83 b(Roughly)-8 b(,)48 b(a)d(reaction)h(of)f(an)382 1718 y Fu(Electre)e FD(program)f(to)i(the)e(en)m(vironmen)m(t)g(\(the)h (history)e(of)i(the)g(ev)m(en)m(ts)g(that)g(ha)m(v)m(e)382 1846 y(o)s(ccurred)g(up)f(un)m(til)g(no)m(w\))i(is)e(to)i(\\rewrite")g (itself)e(in)h(the)g(part)h(of)f(the)h(program)382 1975 y(whic)m(h)29 b(is)g(left)i(to)g(b)s(e)e(executed.)42 b(This)29 b(arises)g(at)i(eac)m(h)h(ev)m(en)m(t)g(o)s(ccurrence.)523 2104 y(Then,)41 b(this)e(remainder)f(of)h(a)h(program)g(is)e(the)i (feature)g(of)g(one)g(of)g(the)f(states)382 2232 y(in)29 b(the)h(deriv)m(ed)f Ft(lab)-5 b(ele)g(d)33 b(tr)-5 b(ansition)35 b(system)30 b FD(whic)m(h)f(is)g(the)h(execution)h(mo)s(del)d(of)i(the) 382 2361 y(initial)23 b(program.)39 b(In)26 b(this)f(w)m(a)m(y)-8 b(,)28 b Fu(Electre)f FD(is)e(a)i Ft(r)-5 b(e)g(active)27 b FD(language)f(since)g(the)g(program)382 2490 y(rewriting)35 b(implies)f(c)m(hanges)k(on)f(the)g(tasks)g(status:)54 b(some)38 b(are)f(to)h(b)s(e)e(run,)i(others)382 2619 y(susp)s(ended)33 b(or)j(stopp)s(ed,)h(according)f(to)h(the)f(ev)m(en)m (t)h(o)s(ccurrences.)58 b(These)36 b(c)m(hanges)382 2747 y(are)44 b(the)g(output)g(of)g(a)g(reaction)h(whic)m(h)d(is)h(iden)m (ti\014ed)f(with)h(a)h(transition)f(in)f(the)382 2876 y(automaton.)523 3005 y(The)34 b(formal)g(seman)m(tics)h(of)g(the)f (language)h(is)f(suc)m(h)g(that)i(it)e(has)g(b)s(een)g(p)s(ossible)382 3134 y(to)27 b(pro)m(v)m(e)g(that)g(eac)m(h)g(program)f(can)h(b)s(e)f (compiled)e(in)m(to)j(a)f(unique)f(transition)f(system)382 3262 y([CR95)q(].)382 3518 y Fv(Basic)36 b(comp)s(onen)m(ts.)93 b Ft(T)-7 b(asks)32 b FD(stand)e(for)h(actions)g(whose)f(duration)g(is) g(\014nite)f(but)382 3647 y(not)i(n)m(ull.)38 b(They)30 b(refer)g(to)h(sequences)g(of)f(executable)h(co)s(de.)523 3776 y(Indeed,)h(w)m(e)h(are)g(not)g(concerned)f(with)g(the)g(action)h (itself)e(but)h(rather)g(with)f(the)382 3904 y(three)40 b(main)e(featuring)h(transitions)f(around)g(a)i Ft(lengthing)h(action)g FD(:)59 b(start)40 b(\(or)f(re-)382 4033 y(sumption\),)29 b(preemption,)g(completion.)523 4162 y(Moreo)m(v)m(er,)39 b(it)c(b)s(ecomes)g(easy)h(to)g(add)f(prop)s(erties)f(to)i(the)f(tasks) h(so)g(as)f(to)h(giv)m(e)382 4290 y(some)31 b(particular)e(b)s(eha)m (vior)h(sp)s(eci\014cations,)f(e.g.:)43 b(\\the)31 b(task)g(w)m(ould)f (nev)m(er)h(b)s(e)f(pre-)382 4419 y(empted")g(or)g(else)g(\\restart)h (the)f(task)h(at)g(the)f(b)s(eginning)d(rather)j(than)g(resume)f(it)h (at)382 4548 y(the)g(p)s(oin)m(t)g(where)g(it)g(w)m(as)g(preempted".) 523 4677 y Ft(Event)c FD(is)g(the)h(second)g(t)m(yp)s(e)f(of)h (structured)f(en)m(tit)m(y)h Fu(Electre)h FD(handles.)38 b(It)27 b(is)e(link)m(ed)382 4805 y(with)g(soft)m(w)m(are)i(or)g(hardw) m(are)e(signals)g(in)g(order)h(to)h(deal)e(with)g(their)h(m)m(ultiple)d (o)s(ccur-)382 4934 y(rences.)41 b(It)30 b(acts)i(as)e(a)h(clo)s(c)m(k) g(tic)m(king)f(at)h(unpredictable)d(instan)m(ts.)523 5063 y(As)34 b(it)f(w)m(as)h(already)g(men)m(tioned,)g(the)g(ev)m(en)m (t)h(is)e(the)h(distinctiv)m(e)f(trigger)g(of)h(one)382 5191 y(transition.)83 b(Nev)m(ertheless,)49 b(a)c(sp)s(eci\014c)f (issue)f(ab)s(out)i(ev)m(en)m(ts)h(is)e(that,)49 b(since)44 b(the)382 5320 y(instan)m(ts)33 b(of)g(o)s(ccurrences)g(are)h (unpredictable,)d(it)i(ma)m(y)h(happ)s(en)d(that)j(some)f(ev)m(en)m(ts) p eop 55 3 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(55)382 548 y(o)s(ccur)43 b(when)f(they)h(m)m(ust)h(not)f (b)s(e)g(treated)h(immediately)-8 b(,)45 b(but)e(they)g(ha)m(v)m(e)h (to)g(b)s(e)382 677 y(memorized)c(in)e(order)i(to)h(b)s(e)f(tak)m(en)h (in)m(to)f(accoun)m(t)i(later.)70 b(F)-8 b(or)41 b(that)f(reason,)j (the)382 805 y(mo)s(del)29 b(w)m(e)i(use)f(is)f(accurately)j(a)e FC(Fif)n(o)g FD(lab)s(eled)f(transition)g(system.)523 934 y(As)i(a)g(matter)h(of)f(fact,)h(the)f(o)s(ccurrence)g(of)g(an)g (ev)m(en)m(t)h(leads)e(either)h(to)g(its)f(mem-)382 1063 y(orization,)g(or)h(to)g(the)f(immediate)g(launc)m(hing)e(of)j(an)f (action.)523 1192 y(Ob)m(viously)-8 b(,)22 b(prop)s(erties)f(ma)m(y)i (also)f(b)s(e)f(assigned)h(to)h(ev)m(en)m(ts,)i(e.g.:)38 b(\\no)23 b(more)f(than)382 1320 y(one)30 b(o)s(ccurrence)f(of)g(the)h (ev)m(en)m(t)h(has)e(to)h(b)s(e)f(memorized")g(or)g(else)g(\\no)h(o)s (ccurrence)f(of)382 1449 y(the)h(ev)m(en)m(t)i(has)e(to)i(b)s(e)d (memorized")i(\(whic)m(h)e(means)h(the)h(ev)m(en)m(t)h(is)d (\015eeting\).)382 1698 y Fv(Putting)i(together)g(tasks)f(and)h(ev)m (en)m(ts.)91 b FD(Ev)m(en)m(ts)28 b(\\sc)m(hedule")f(the)g Ft(pr)-5 b(e)g(emption)382 1827 y FD(and)32 b Ft(activation)i FD(of)f(tasks.)49 b(These)33 b(are)g(the)g(main)f(op)s(erators)h(of)g (the)g(language)g(and)382 1956 y(they)40 b(mak)m(e)g(it)f(p)s(ossible)e (to)k(comp)s(ose)e(in)m(tricated)g(b)s(eha)m(vior)g(structures.)68 b(F)-8 b(or)40 b(ex-)382 2084 y(ample,)33 b(consider)f(a)i(v)m(ery)g (simple)d(program)i FA(p)g FD(as:)46 b FA(A)i(await)e(e:B)32 b FD(\(where)i FA(A)e FD(and)h FA(B)382 2213 y FD(stand)28 b(for)g(tasks)g(and)g FA(e)g FD(for)g(an)g(ev)m(en)m(t\).)42 b(Then,)27 b(as)i(so)s(on)f(as)g FA(e)g FD(o)s(ccurs,)g(the)h(program) 382 2342 y(rewrites)24 b(in)g FA(B)p FD(,)h(and)f(the)i(reaction)f(is)f Fp(<)p FA(preempt)i(A)p Ft(,)h FA(launch)f(B)p Fp(>)p FD(.)39 b(This)23 b(is)h(expressed)382 2470 y(b)m(y)30 b(the)h(follo)m(wing)e(rules:)1009 2661 y Fp(e)h FB(`)g FA(`A)47 b(await)g(e:B')1818 2589 y FE(<)p FF(preempt)23 b Fo(A)-6 b FF(,)17 b(launc)n(h)25 b Fo(B)-6 b FE(>)2146 2661 y Fn(\003)359 b FA(`B')o FD(.)382 2828 y(And)29 b(the)i(next)g(reaction)f(is:)1403 2995 y Fp(end)1547 3009 y FE(B)1638 2995 y FB(`)g FA(`B')1898 2930 y FE(<)p FF(end)24 b Fo(B)-6 b FE(>)2001 2995 y Fn(\003)134 b FA(nil)382 3163 y FD(where)30 b FA(nil)f FD(means)i(that)g(the)f (program)g(is)g(\014nished.)523 3292 y(The)k(seman)m(tics)g(of)h(the)g (language)f(is)g(made)g(up)f(of)i(these)g(rules)e(whic)m(h)g(are)h(ap-) 382 3420 y(plied)e(structurally)h(on)i(a)g(program)f(in)g(order)g(to)h (compile)f(it.)53 b(Actually)-8 b(,)36 b(the)f(rules)382 3549 y(are)28 b(conditional)f(since)g(sev)m(eral)i(things)e(ma)m(y)i (happ)s(en)d(in)h(a)h(giv)m(en)h(state.)41 b(F)-8 b(or)29 b(exam-)382 3678 y(ple,)d(according)f(to)i(the)f(individual)21 b(b)s(eha)m(viors)j(of)i(their)f(comp)s(onen)m(ts)h(\(programs)f FA(p1)382 3806 y FD(and)f FA(p2)p FD(\),)h(there)g(are)g(four)e(p)s (ossible)f(rules)h(to)i(apply)e(when)h(dealing)f(with)g(the)i(parallel) 382 3935 y(program)34 b FA(p)p FD(=)f FA(p1)47 b(||)h(p2)p FD(.)j(Tw)m(o)34 b(of)g(these)h(rules)d(are)j(giv)m(en)f(b)s(elo)m(w)f (\(the)i(other)f(t)m(w)m(o)382 4064 y(rules)29 b(b)s(eing)g(the)h (symetric)g(ones)h(with)e(resp)s(ect)h(to)h FA(p2)p FD(\):)1130 4292 y Fp(e)f FB(`)g FA(p1)1414 4213 y Fm(h)p Fl(x)1485 4225 y Fk(1)1522 4213 y Fm(i)1449 4292 y Fn(\003)65 b FA(nil)29 b FB(^)h Fp(e)h FB(`)f FA(p2)2133 4213 y Fm(h)p Fl(x)2204 4225 y Fj(2)2251 4213 y Fm(i)2173 4292 y Fn(\003)70 b FA(p'2)p 1080 4379 1427 4 v 1257 4554 a Fp(e)31 b FB(`)f FA(p1)47 b(||)g(p2)1828 4475 y Fm(h)p Fl(x)1899 4487 y Fj(1)1964 4475 y Fm([)19 b Fl(x)2077 4487 y Fj(2)2123 4475 y Fm(i)1956 4554 y Fn(\003)159 b FA(p'2)3255 4390 y FD(\(1\))1125 4855 y Fp(e)31 b FB(`)e FA(p1)1409 4776 y Fm(h)p Fl(x)1480 4788 y Fj(1)1527 4776 y Fm(i)1449 4855 y Fn(\003)69 b FA(p'1)30 b FB(^)g Fp(e)h FB(`)e FA(p2)2138 4776 y Fm(h)p Fl(x)2209 4788 y Fj(2)2256 4776 y Fm(i)2178 4855 y Fn(\003)69 b FA(p'2)p 1041 4942 1506 4 v 1090 5116 a Fp(e)31 b FB(`)f FA(p1)47 b(||)g(p2)1661 5037 y Fm(h)p Fl(x)1732 5049 y Fj(1)1797 5037 y Fm([)19 b Fl(x)1910 5049 y Fj(2)1956 5037 y Fm(i)1789 5116 y Fn(\003)159 b FA(p'1)47 b(||)g(p'2)3255 4953 y FD(\(2\))523 5274 y(All)27 b(the)i(op)s(erators)g(of)g(the)g Fu(Electre)g FD(language)h(are)f(not)g(listed)e(in)g(this)h(pap)s(er)f(but)382 5403 y(the)j(reader)h(ma)m(y)g(refer)f(to)h([CR95)q(])f(to)h(kno)m(w)g (them.)p eop 56 4 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(56)382 548 y FH(3)135 b(Certi\014ed)45 b(Compiler)h(Construction)g(with)f(Co)t(q)382 767 y Fv(The)24 b Fu(Co)s(q)g Fv(theorem)g(pro)m(v)m(er.)91 b FD(The)21 b Fu(Co)s(q)g FD(system)h(is)e(a)i(pro)s(of)e(assistan)m(t)i(for)f (higher-)382 895 y(order)40 b(logic,)j(based)d(on)h(an)f(extension)g (of)h(the)g(Calculus)d(of)j(Constructions)e(with)382 1024 y(inductiv)m(e)29 b(t)m(yp)s(es.)41 b(W)-8 b(e)31 b(distinguish)c(three)j(main)g(asp)s(ects)g(of)h(the)f(system:)518 1228 y FB(\017)46 b Ft(the)c(lo)-5 b(gic)g(al)42 b(language)p FD(,)h(in)c(whic)m(h)f(w)m(e)i(write)f(axioms)g(and)h(sp)s (eci\014cations)e(in)609 1356 y(order)30 b(to)h(build)c Ft(the)-5 b(ories)p FD(,)518 1560 y FB(\017)46 b Ft(the)e(pr)-5 b(o)g(of)47 b(assistant)p FD(,)g(whic)m(h)42 b(allo)m(ws)g(to)h(dev)m (elop)f(pro)s(ofs)g(of)h(sp)s(eci\014cations)609 1688 y(in)m(teractiv)m(ely)31 b(applying)d Ft(tactics)p FD(,)j(and)518 1892 y FB(\017)46 b Ft(the)25 b(pr)-5 b(o)g(gr)g(am)28 b(extr)-5 b(actor)p FD(,)26 b(whic)m(h)20 b(syn)m(thesizes)i FC(caml)p FD(-programs)f(from)g(the)h(con-)609 2021 y(structiv)m(e)31 b(pro)s(of)e(of)i(the)f(sp)s(eci\014cation.)523 2224 y(This)22 b(en)m(vironmen)m(t)i(can)g(b)s(e)f(used)g(b)s(oth)g(as)h(a)h (logical)e(framew)m(ork)h(for)g(dev)m(eloping)382 2353 y(mac)m(hine)31 b(c)m(hec)m(k)m(ed)j(mathematical)e(pro)s(ofs,)g(and)f (as)h(a)g(programming)f(en)m(vironmen)m(t)382 2481 y(for)d(dev)m (eloping)g(certi\014ed)f(programs.)40 b(F)-8 b(or)29 b(our)f(w)m(ork,)h(w)m(e)g(stress)g(the)f(latter)h(asp)s(ect.)382 2610 y(The)40 b(next)h(paragraph)g(details)e(program)i(certi\014cation) g(pro)s(cess,)i(b)m(y)e(in)m(tro)s(ducing)382 2739 y(the)30 b Fu(Co)s(q)h FD(dev)m(oted)g(tactic.)523 2868 y(In)f(theory)-8 b(,)32 b(w)m(e)g(are)f(able)f(to)i(syn)m(thesize)f(a)g(functional)f (program)g(from)h(the)g(con-)382 2996 y(structiv)m(e)25 b(part)h(of)f(a)h(sp)s(eci\014cation)e(pro)s(of,)i(in)e(accordance)j (with)d(the)h(Curry-Ho)m(w)m(ard)382 3125 y(isomorphism.)523 3254 y(The)39 b(w)m(ork)h(of)g(C.P)m(aren)m(t)h([P)m(ar95)q(])f (de\014nes)f(the)h(notion)f(of)h Fs(w)m(eak)m(er)h(extraction)382 3382 y(function)22 b FD(and)h(pro)m(v)m(es)h(that)h(this)d(function)g (is)h(in)m(v)m(ertible)f(under)g(certain)h(constrain)m(ts.)382 3511 y(The)37 b(p)s(oin)m(t)f(is)g(to)i(giv)m(e)g(a)g(sp)s (eci\014cation)e(and)g(a)i(functional)e(term)h(\\realizing")g(this)382 3640 y(sp)s(eci\014cation.)62 b(Then,)38 b(in)f(accordance)i(with)e (the)h(in)m(v)m(ersibilit)m(y)c(of)k(the)g(extraction)382 3769 y(mec)m(hanism,)28 b(it)g(is)f(p)s(ossible)f(to)j(tak)m(e)g(adv)-5 b(an)m(tage)31 b(of)d(the)g(information)f(enco)s(ded)h(in)m(to)382 3897 y(the)36 b(functional)f(assertion,)j(to)f(ac)m(hiev)m(e)g(the)g (sp)s(eci\014cation)e(pro)s(of.)57 b(Enric)m(hed)35 b(with)382 4026 y(logical)27 b(annotations)h(the)h(asserted)f(function)f(is)g (view)m(ed)g(as)i(a)f(pre-built)e(pro)s(of.)39 b(An-)382 4155 y(notation)26 b(in)m(tro)s(duces)f(in)g(a)i(functional)e(term)h(a) h(logical)e(assertion)h(that)h(will)d(b)s(e)h(used)382 4283 y(for)h(the)h(pro)s(of.)38 b(By)27 b(this)e(mec)m(hanism,)i (annotations)g(add,)g(to)g(the)f(function,)h(the)f(log-)382 4412 y(ical)33 b(part)g(whic)m(h)f(is)g(needed)h(for)g(the)h(pro)s(of)e (and)h(whic)m(h)f(cannot)i(b)s(e)f(automatically)382 4541 y(retriev)m(ed.)38 b(The)24 b(sp)s(ecialized)d Fu(Co)s(q)j FD(tactic,)i(named)e FA(Program)p 2498 4541 29 4 v 32 w(all)p FD(,)h(is)d(based)i(on)f(these)382 4670 y(theoretical)31 b(results.)382 4926 y Fv(Language)f(Seman)m(tic)g(Mo)s(del.)91 b FD(W)-8 b(e)28 b(start)f(with)e(a)h Ft(de)-5 b(ep)30 b(emb)-5 b(e)g(dding)36 b FD([Mel96)q(])26 b(of)382 5054 y(the)36 b Fu(Electre)h FD(language)g(in)m(to)f(the)g Fu(Co)s(q)h FD(meta-language)g(\(i.e.)59 b(a)36 b Fu(Co)s(q)g FD(mo)s(del)f(of)h(the)382 5183 y Fu(Electre)23 b FD(syn)m(tax)g(and)f (seman)m(tics\).)39 b(The)22 b(seman)m(tics)h(\(giv)m(en)g(as)f(SOS)f (rules\))h(de\014ne)f(the)382 5312 y(allo)m(w)m(ed)i(transition)e (steps)i(of)g(an)m(y)g(program:)36 b(giv)m(en)23 b(an)m(y)g(program)g (and)f(input)f(ev)m(en)m(t,)p eop 57 5 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(57)382 548 y(application)f(of)i(the)g(seman)m(tic)g (rules)e(determines)h(the)h(output)f(ev)m(en)m(ts)i(generated)g(b)m(y) 382 677 y(the)c(program)g(reaction)h(and)f(a)g(new)g(program)g(to)h (handle)e(subsequen)m(t)h(input)e(ev)m(en)m(ts.)523 805 y(Then,)35 b(the)g(idea)f(is)g(to)h(enco)s(de)g(SOS)f(rules)f(in)m(to)i (a)g Fu(Co)s(q)f FD(predicate.)54 b(The)34 b(rules)382 934 y(are)45 b(enco)s(ded)g(through)f(an)h(inductiv)m(ely)e(de\014ned)h (set)i FA(EleSem)p FD(,)h(eac)m(h)f(rule)e(b)s(eing)382 1063 y(transformed)34 b(in)m(to)g(a)h(set)g(constructor.)54 b(A)35 b(transition)e FA(e)d FB(`)g FA(p)g Fn(\003)g FA(p')p FD(,)15 b FB(h)p Ft(em)p FB(i)35 b FD(is)f(v)-5 b(alid,)382 1192 y(if)36 b(and)g(only)h(if)f(the)h Fu(Co)s(q)g FD(term)g Fu(\()p FA(EleSem)f Fu(e)h(p)g(p')h FB(h)p Ft(em)p FB(i)q Fu(\))f FD(can)g(b)s(e)g(pro)m(v)m(en)g(correctly)382 1320 y(constructed.)i(Note)27 b(that)e(in)f Fu(Co)s(q)h FD(con)m(text,)k(as)c(in)f(an)m(y)i(in)m(tuitionistic)c(logical)i (frame-)382 1449 y(w)m(ork,)31 b(\\true")g(means)f(\\e\013ectiv)m(ely)i (constructed".)382 1705 y Fv(Correctness)40 b(criterion.)91 b FD(The)34 b(predicate)g FA(EleSem)p FD(,)g(b)s(ecomes)g(our)g (correctness)382 1834 y(criterion)27 b(in)f(the)i(follo)m(wing)f (sense:)39 b(if)27 b FB(T)50 b FD(is)27 b(the)h(constructed)h (automaton)g(\(b)m(y)f(com-)382 1962 y(pilation\))36 b(of)i(program)f FA(p)p FD(,)j(all)d(transitions)f(of)i FB(T)60 b FD(m)m(ust)38 b(mak)m(e)g(true)g(the)g(predicate)382 2091 y FA(EleSem)p FD(,)30 b(and)h(eac)m(h)i(tuple)e FA(\(e,)47 b(p,)g(p',)g FB(h)p Ft(em)p FB(i)q FA(\))31 b FD(making)g(true)g(the)h(predicate)f(is)g(in)382 2220 y FB(T)23 b FD(.)53 b(Both)35 b(conditions)e(are)i(needed)f(to)h (ensure)f(resp)s(ectiv)m(ely)g Ft(soundness)h FD(and)f Ft(c)-5 b(om-)382 2348 y(pleteness)27 b FD(of)f(the)g(constructed)g (automaton.)41 b(The)25 b(reader)h(in)m(terested)g(in)e(the)j(details) 382 2477 y(of)j(this)g(pro)s(of,)g(ma)m(y)h(refer)f(to)h(the)f(pap)s (er)g([AMR96)q(].)382 2733 y Fv(Certi\014cation.)90 b FD(The)20 b(ab)s(o)m(v)m(e)i(criterion)d(is)g(translated)h(in)m(to)g(a) h Fu(Co)s(q)f FD(theorem)h(\(named)382 2862 y FA(Compiler)p FD(\))31 b(whic)m(h)g(sp)s(eci\014es,)h(for)g(an)m(y)h Fu(Electre)h FD(program)f(the)f(equiv)-5 b(alen)m(t)32 b(automa-)382 2991 y(ton.)58 b(In)36 b(order)f(to)i(pro)m(v)m(e)g(this) e(theorem,)j(w)m(e)f(asso)s(ciate)g(to)g(this)e(sp)s(eci\014cation,)i (an)382 3119 y Ft(annotate)-5 b(d)40 b(functional)e(term)p FD(.)57 b(This)34 b(functional)f(term)j(computes)g(the)f(automaton)382 3248 y(whic)m(h)29 b(complies)g(with)g(the)i(stated)g(sp)s (eci\014cation.)523 3377 y(While)25 b(pro)m(ving)h(the)h FA(Compiler)e FD(theorem,)j(the)f FA(Program)p 2542 3377 29 4 v 32 w(all)f FD(tactic)i(generated)382 3505 y(sev)m(eral)j (logical)e(subgoals,)h(whic)m(h)f(w)m(ere)i(easily)f(solv)m(ed)g(b)m(y) g(the)h(user.)382 3761 y Fv(Compiler)51 b(Extraction.)91 b FD(In)45 b(addition,)j Fu(Co)s(q)e FD(o\013ers)f(the)h(p)s(ossibilit) m(y)c(to)47 b(real-)382 3890 y(ize)h(all)f(pro)m(v)m(en)h(functions)e (in)h(a)h(ML-lik)m(e)g(functional)e(programming)h(language,)382 4019 y FC(caml)40 b FD([MM92)r(].)72 b(Hence,)45 b(all)40 b(the)h(structures)f(w)m(e)i(use)e(are)i(syn)m(thesized)e(in)g(their) 382 4148 y(corresp)s(onding)31 b FC(caml)h FD(t)m(yp)s(e)h (de\014nitions,)e(and)h(the)h(functions)f(are)h(expanded;)h(this)382 4276 y(\\k)m(ernel")d(can)f(b)s(e)g(enhanced)g(in)m(to)g(an)h (e\013ectiv)m(e)h Fu(Electre)f FD(compiler.)382 4584 y FH(4)135 b(Implemen)l(ting)46 b(Electre)g(with)g(Spin/Promela)382 4802 y Fv(The)37 b(Spin)h(mo)s(del)f(c)m(hec)m(k)m(er)i(and)f(its)f(sp) s(eci\014cation)i(language:)52 b(Promela.)382 4931 y FC(spin)22 b FD(is)g(a)h(generic)f(v)m(eri\014cation)h(system)g(that)g (supp)s(orts)e(the)h(design)g(and)g(v)m(eri\014cation)382 5060 y(of)k(async)m(hronous)g(pro)s(cess)g(systems)g([Hol97)q(],)i(dev) m(elop)s(ed)d(b)m(y)h(Gerard)g(Holzmann)g(at)382 5188 y(Bell)k(Lab)s(oratories.)523 5317 y FC(spin)g FD(to)s(ol)g(pro)m (vides:)p eop 58 6 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(58)518 548 y FB(\017)46 b FD(a)24 b(sp)s(eci\014cation)d (language)j(named)e FC(pr)n(omela)g FD(\(PR)m(Ocess)h(MEta)h (LAnguage\),)518 751 y FB(\017)46 b FD(a)28 b(concise)h(notation)f(for) f(expressing)g(correctness)i(requiremen)m(ts)d(\(assertions,)609 880 y(progress-lab)s(els,)39 b(etc.\);)44 b(including)35 b(temp)s(oral)i(claims)g(written)h(in)e(standard)609 1009 y FC(l)-6 b(tl)p FD(,)518 1212 y FB(\017)46 b FD(an)24 b(optimized)f(stand-alone)h(mo)s(del)g(c)m(hec)m(k)m(er)i(generator)f (for)f(establishing)e(cor-)609 1341 y(rectness)31 b(claims.)523 1544 y(It)38 b(also)f(pro)m(vides)g(a)g(graphical)g(fron)m(t-end)g (named)g(X)p FC(spin)g FD(whic)m(h)g(includes)e(an)382 1673 y(in)m(teractiv)m(e)f(sim)m(ulator.)50 b(Sim)m(ulation)31 b(can)j(b)s(e)f(randomic,)h(steered)g(b)m(y)g(the)g(user,)g(or)382 1802 y(steered)k(b)m(y)f(a)g(coun)m(terexample)h(trace)g(generated)g (while)d(v)m(erifying)h(a)i(correctness)382 1931 y(claim.)523 2059 y(A)33 b FC(pr)n(omela)d FD(sp)s(eci\014cation)i(consists)g(of)g (one)h(or)g(more)g(pro)s(cess)f(templates)g(de-)382 2188 y(\014ned)g(using)g(constructs)i(based)f(on)g(the)h(guarded)f(command)g (language)h(CSP)e(with)382 2317 y(a)43 b(C-lik)m(e)e(syn)m(tax.)77 b(Pro)s(cess)42 b(templates)h(can)g(b)s(e)e(dynamically)f(instan)m (tiated)i(and)382 2445 y(can)37 b(comm)m(unicate)h(through)e(message)j (c)m(hannels.)60 b(Comm)m(unications)36 b(can)h(b)s(e)f(de-)382 2574 y(\014ned)23 b(to)i(b)s(e)e(sync)m(hronous)g(\(b)m(y)i(rendez-v)m (ous\))f(or)h(async)m(hronous)e(\(bu\013ered)h(message)382 2703 y(passing\).)39 b(Eac)m(h)28 b(pro)s(cess)f(is)f(translated)i(in)m (to)f(a)h(\014nite)e(automaton,)k(and)d(the)g(result-)382 2832 y(ing)38 b(global)g(system)h(is)f(obtained)g(b)m(y)h(computing)f (an)h(async)m(hronous)f(in)m(terlea)m(ving)382 2960 y(pro)s(duct)29 b(of)i(automata.)523 3089 y(T)-8 b(o)32 b(p)s(erform)e(v)m (eri\014cation,)h FC(spin)g FD(computes)g(on-the-\015y)h(the)g(B)s (\177)-48 b(uc)m(hi)30 b(automaton)382 3218 y(resulting)23 b(from)i(the)h(sync)m(hronous)f(pro)s(duct)f(of)h(the)h(claim)2424 3185 y FF(4)2488 3218 y FD(and)f(the)g(global)g(system:)382 3346 y(then)31 b(if)g(the)h(language)g(accepted)h(b)m(y)f(this)f (automaton)i(is)d(empt)m(y)-8 b(,)34 b(this)c(means)i(that)382 3475 y(the)e(original)f(claim)g(is)h(not)g(satis\014ed)g(for)g(the)h (giv)m(en)f(system.)523 3604 y(All)e(these)i(features)g(mak)m(es)g FC(spin)f FD(adapted)g(to)h(the)g(mo)s(del)e(and)h(the)g(formal)g(v)m (er-)382 3733 y(i\014cation)h(of)h(temp)s(oral)f(prop)s(erties)g(of)h (soft)m(w)m(are)h(systems.)43 b(In)30 b(the)h(next)g(section)g(w)m(e) 382 3861 y(presen)m(t)39 b(the)g(outlines)f(of)h(the)g FC(pr)n(omela)p FD(/)p FC(spin)e FD(implemen)m(tation)h(of)h Fu(Electre)h FD(pro-)382 3990 y(grams.)382 4246 y Fv(Implemen)m(ting)34 b(Electre.)91 b Fu(Electre)33 b FD(programs)e(are)i(implemen)m(ted)d (in)g FC(pr)n(omela)382 4375 y FD(b)m(y)38 b(asso)s(ciating)g(a)h (generic)f(pro)s(cess)g FA(module)e FD(to)j(eac)m(h)h(mo)s(dule,)f(a)f (pro)s(cess)g FA(Queue)382 4503 y FD(to)i(the)g FC(Fif)n(o)p FD(-list,)g(a)g(non-deterministic)d(pro)s(cess)i FA(Environment)e FD(generating)i(the)382 4632 y(ev)m(en)m(ts,)44 b(and)c(syn)m (thesizing)f(a)h(pro)s(cess)g FA(Controller)d FD(from)j(the)g(source)h (program,)382 4761 y(as)33 b(explained)e(b)s(elo)m(w.)48 b(Fig.1)34 b(sho)m(ws)e(the)h(comm)m(unication)g(diagram)f(b)s(et)m(w)m (een)i(pro-)382 4890 y(cesses.)71 b(The)39 b(t)m(w)m(o)j(side)d(arro)m (w)h(means)g(a)g(double-w)m(a)m(y)g(comm)m(unication)g(c)m(hannel.)382 5018 y(Only)26 b(the)i(c)m(hannels)f(b)s(et)m(w)m(een)h(the)g(con)m (troller)f(and)g(the)h(mo)s(dules)e(are)i(sync)m(hronous,)382 5147 y(b)s(ecause)35 b(the)f(con)m(troller)h(m)m(ust)f(kno)m(w)h(the)g (exact)h(in)m(ternal)d(state)j(of)f(eac)m(h)h(mo)s(dule.)p 382 5208 1196 4 v 486 5262 a Fr(4)520 5294 y Fq(An)n(y)25 b Fi(l)-5 b(tl)27 b Fq(form)n(ula)f(can)f(b)r(e)h(translated)g(in)n(to) g(a)g(B)r(\177)-41 b(uc)n(hi)27 b(automaton.)p eop 59 7 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(59)p 1018 460 1717 4 v 1018 2170 4 1711 v 2265 837 a Fh(Queue)2206 985 y Fg(&\045)1676 653 y(')309 b($)1225 842 y Fh(Env.)1144 985 y Fg(&\045)613 653 y(')g($)1658 1340 y Fh(Controller)1708 1483 y Fg(&\045)1178 1151 y(')g($)2059 1899 y Fh(module)2323 1911 y Fk(1)2040 2048 y Fg(&\045)1510 1716 y(')g($)1727 1899 y Fh(module)1991 1911 y Fk(2)1708 2048 y Fg(&\045)1178 1716 y(')g($)1158 1899 y Fh(module)1422 1911 y Ff(n)1144 2048 y Fg(&\045)613 1716 y(')g($)1433 994 y Fe(l)1493 1047 y(l)1553 1101 y(l)1612 1154 y(l)1672 1207 y(l)-83 b(R)1472 1148 y Fh(env)2178 1013 y Fe(\000)2115 1076 y(\000)2052 1139 y(\000)1989 1202 y(\000)g(\011)g(\000)2052 1139 y(\000)2115 1076 y(\000)2178 1013 y(\000)g(\022)1931 990 y Fh(queue)1960 1541 y Fe(T)1998 1606 y(T)2036 1671 y(T)2075 1736 y(T)-56 b(^)-49 b(T)2036 1671 y(T)1998 1606 y(T)1960 1541 y(T)f(])1934 1648 y Fh(c)1978 1660 y Fk(1)p 1874 1714 5 233 v 1876 1714 a Fe(?)p 1874 1714 V 1876 1564 a(6)1763 1609 y Fh(c)1807 1621 y Fk(2)p 1752 1441 4 4 v 1741 1452 V 1730 1464 V 1718 1475 V 1707 1486 V 1696 1497 V 1684 1509 V 1673 1520 V 1662 1531 V 1650 1543 V 1639 1554 V 1628 1565 V 1617 1576 V 1605 1588 V 1594 1599 V 1583 1610 V 1571 1622 V 1560 1633 V 1549 1644 V 1538 1655 V 1526 1667 V 1515 1678 V 1504 1689 V 1492 1701 V 1481 1712 V 1470 1723 V 1459 1734 V 1447 1746 V 1436 1757 V 1435 1756 a Fe(\011)1604 1663 y Fh(c)1648 1675 y Ff(n)p 1436 1757 V 1447 1746 V 1459 1734 V 1470 1723 V 1481 1712 V 1492 1701 V 1504 1689 V 1515 1678 V 1526 1667 V 1538 1655 V 1549 1644 V 1560 1633 V 1571 1622 V 1583 1610 V 1594 1599 V 1605 1588 V 1617 1576 V 1628 1565 V 1639 1554 V 1650 1543 V 1662 1531 V 1673 1520 V 1684 1509 V 1696 1497 V 1707 1486 V 1718 1475 V 1730 1464 V 1741 1452 V 1752 1441 V 1669 1523 a Fe(\022)p 2731 2170 4 1711 v 1018 2173 1717 4 v 1186 2457 a FD(Figure)30 b(1:)41 b(Comm)m(unication)29 b(diagram)382 2732 y(The)j(generic)g(pro) s(cess)f(mo)s(dule)g(mo)s(dels)g(the)h(three)h(p)s(ossible)c(states)34 b(in)d(whic)m(h)f(eac)m(h)382 2860 y(mo)s(dule)f(can)h(b)s(e:)40 b Ft(T)-7 b(erminate)i(d,)35 b(A)-5 b(ctivate)g(d)31 b FD(\(or)g(running\),)d(or)i Ft(Interrupte)-5 b(d)p FD(.)523 2989 y(The)45 b(syn)m(thesis)g(of)g(pro)s(cess)g FA(Controller)e FD(is)i(based)g(on)h(the)f(compilation)f(of)382 3118 y Fu(Electre)32 b FD(programs)e(in)m(to)h(\014nite)e(automata)k (\(see)e(Sect.2\).)44 b(Ev)m(ery)31 b(state)h(of)f(the)g(\014nite)382 3247 y(automata)26 b(resulting)c(from)i(the)h(compilation)e(of)h(an)g Fu(Electre)i FD(program,)f(app)s(ears)f(as)g(a)382 3375 y(\\state)30 b(lab)s(el")d(in)g(the)h FA(Controller)e FD(pro)s(cess.)39 b(The)28 b(structure)f(of)i(a)f(con)m(troller)g (state)382 3504 y(is)h(a)i(list)e(of)i(\(guarded\))f(reception)g (commands.)523 3633 y(The)35 b(Fig.2)i(presen)m(ts)f(the)g(transitions) e(from)h(state)i(7)f(of)g(the)g(automata)i(corre-)382 3761 y(sp)s(onding)27 b(to)j(the)g(example)f(program)g(of)h(Sect.6,)h (and)e(an)g(excerpt)h(of)g(the)g(resulting)382 3890 y(co)s(de)f(of)g (the)g FA(Controller)p FD(.)38 b(F)-8 b(or)30 b(an)f(explanation)f(of)h (the)g(notation,)h(and)e(the)h(whole)382 4019 y FC(pr)n(omela)f FD(program)j(listing,)d(see)j(app)s(endix)d(A.)523 4148 y(Pro)s(cess)34 b FA(Queue)f FD(ob)s(eys)g(to)i(the)f(same)h(syn)m (thesis)e(principles;)g(the)h(standard)f(se-)382 4276 y(man)m(tics)h(of)f(a)h FC(Fif)n(o)p FD(-list)f(is)g(implemen)m(ted)f (as)i(a)g(3)g(state)h(automata.)52 b(Initially)-8 b(,)32 b(the)382 4405 y(queue)26 b(is)g(w)m(aiting)h(for)f(an)h(ev)m(en)m(t)h (\(\\pushing")e(action\),)i(or)f(w)m(aiting)g(for)f(a)h(requesting)382 4534 y(\(\\p)s(oping")d(action\))i(from)e(the)h(con)m(troller.)39 b(The)24 b(queue)h(itself)e(is)h(a)h(v)m(ector,)j(its)c(actual)382 4662 y(size)30 b(b)s(eing)f(parametrized)h(b)m(y)g(the)h(user.)523 4791 y(As)h(a)g(conclusion,)f(w)m(e)h(notice)g(that)g(our)g(implemen)m (tation)e(is)h(v)m(ery)h(close)g(to)g(the)382 4920 y(execution)e(mo)s (del.)p eop 60 8 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(60)p 1184 730 1385 4 v 1184 1776 4 1047 v 1412 946 a Fh(St6)1376 1023 y Fg(\026\025)1061 824 y(\027)137 b(\024)1844 1279 y Fh(St7)1808 1355 y Fg(\026\025)1492 1156 y(\027)h(\024)1844 1677 y Fh(St3)1808 1753 y Fg(\026\025)1492 1554 y(\027)g(\024)2276 946 y Fh(St5)2240 1023 y Fg(\026\025)1924 824 y(\027)f(\024)p 1806 1258 4 4 v 1802 1258 V 1797 1258 V 1793 1257 V 1789 1257 V 1785 1257 V 1780 1256 V 1776 1256 V 1772 1255 V 1768 1255 V 1764 1254 V 1760 1253 V 1756 1253 V 1752 1252 V 1748 1251 V 1744 1250 V 1740 1250 V 1736 1249 V 1732 1248 V 1728 1247 V 1724 1246 V 1720 1245 V 1717 1244 V 1713 1243 V 1709 1242 V 1705 1241 V 1702 1239 V 1698 1238 V 1695 1237 V 1691 1236 V 1687 1234 V 1684 1233 V 1680 1231 V 1677 1230 V 1674 1228 V 1670 1227 V 1667 1225 V 1663 1224 V 1660 1222 V 1657 1220 V 1654 1219 V 1650 1217 V 1647 1215 V 1644 1213 V 1641 1212 V 1638 1210 V 1635 1208 V 1632 1206 V 1628 1204 V 1625 1202 V 1623 1200 V 1620 1197 V 1617 1195 V 1614 1193 V 1611 1191 V 1608 1189 V 1605 1186 V 1602 1184 V 1600 1182 V 1597 1179 V 1594 1177 V 1592 1174 V 1589 1172 V 1586 1169 V 1584 1166 V 1581 1164 V 1579 1161 V 1576 1158 V 1574 1156 V 1571 1153 V 1569 1150 V 1567 1147 V 1564 1144 V 1562 1141 V 1560 1138 V 1557 1135 V 1555 1132 V 1553 1129 V 1551 1126 V 1549 1123 V 1546 1120 V 1544 1117 V 1542 1113 V 1540 1110 V 1538 1107 V 1536 1103 V 1534 1100 V 1532 1096 V 1530 1093 V 1529 1089 V 1527 1086 V 1525 1082 V 1523 1079 V 1521 1075 V 1520 1071 V 1518 1067 V 1516 1064 V 1515 1060 V 1513 1056 V 1511 1052 V 1510 1048 V 1508 1044 V 1507 1040 V 1505 1036 V 1504 1032 V 1502 1028 V 1501 1024 V 1501 1106 a Fe(M)1433 1310 y Fh(endL2)p 2013 1258 V 2017 1258 V 2022 1258 V 2026 1257 V 2030 1257 V 2034 1257 V 2039 1256 V 2043 1256 V 2047 1255 V 2051 1255 V 2055 1254 V 2059 1253 V 2063 1253 V 2067 1252 V 2071 1251 V 2075 1250 V 2079 1250 V 2083 1249 V 2087 1248 V 2091 1247 V 2095 1246 V 2099 1245 V 2102 1244 V 2106 1243 V 2110 1242 V 2114 1241 V 2117 1239 V 2121 1238 V 2124 1237 V 2128 1236 V 2132 1234 V 2135 1233 V 2139 1231 V 2142 1230 V 2145 1228 V 2149 1227 V 2152 1225 V 2156 1224 V 2159 1222 V 2162 1220 V 2165 1219 V 2169 1217 V 2172 1215 V 2175 1213 V 2178 1212 V 2181 1210 V 2184 1208 V 2187 1206 V 2191 1204 V 2194 1202 V 2197 1200 V 2199 1197 V 2202 1195 V 2205 1193 V 2208 1191 V 2211 1189 V 2214 1186 V 2217 1184 V 2219 1182 V 2222 1179 V 2225 1177 V 2227 1174 V 2230 1172 V 2233 1169 V 2235 1166 V 2238 1164 V 2240 1161 V 2243 1158 V 2245 1156 V 2248 1153 V 2250 1150 V 2252 1147 V 2255 1144 V 2257 1141 V 2259 1138 V 2262 1135 V 2264 1132 V 2266 1129 V 2268 1126 V 2270 1123 V 2273 1120 V 2275 1117 V 2277 1113 V 2279 1110 V 2281 1107 V 2283 1103 V 2285 1100 V 2287 1096 V 2289 1093 V 2290 1089 V 2292 1086 V 2294 1082 V 2296 1079 V 2298 1075 V 2299 1071 V 2301 1067 V 2303 1064 V 2304 1060 V 2306 1056 V 2308 1052 V 2309 1048 V 2311 1044 V 2312 1040 V 2314 1036 V 2315 1032 V 2317 1028 V 2318 1024 V 2290 1106 a Fe(\016)2167 1310 y Fh(endL1)p 1907 1552 5 200 v 1910 1552 a Fe(?)1942 1470 y Fh(w)p 2565 1776 4 1047 v 1184 1779 1385 4 v 469 1964 a(1)43 b(:)g(St7:)469 2078 y(2)g(:)g(do)469 2192 y(3)g(:)g(::queue!CTR\(REQ\);)469 2305 y(4)g(:)131 b(queue?CTR\(x\);)469 2419 y(5)43 b(:)131 b(if)469 2532 y(6)43 b(:)174 b(::\(x==EMY\)->)39 b(break)469 2646 y(7)k(:)174 b(::\(x==wff\)->)39 b(queue!CTR\(YES\);)469 2760 y(8)k(:)741 b(c_L1!Int;)469 2873 y(9)43 b(:)741 b(c_L2!Int;)425 2987 y(10)43 b(:)741 b(c_W!Act;)425 3100 y(11)43 b(:)741 b(goto)42 b(St3)425 3214 y(12)h(:)174 b(::else)e(->)43 b(skip)425 3327 y(13)g(:)131 b(fi)425 3441 y(14)43 b(:)g(od;)425 3555 y(15)g(:)g(do)425 3668 y(16)g(:)g(::c_L1?end)d(->)j(goto)f(St5)425 3782 y(17)h(:)g(::c_L2?end)d(->)j(goto)f(St6)425 3895 y(18)h(:)g(::env?w)172 b(->)43 b(queue!CTR\(SND\);)425 4009 y(19)g(:)654 b(queue!NORM\(l2ff)o(\);)425 4122 y(20)43 b(:)654 b(queue!NORM\(l1ff)o(\);)425 4236 y(21)43 b(:)654 b(queue!CTR\(ESD\);)425 4350 y(22)43 b(:)654 b(c_L1!Int;)425 4463 y(23)43 b(:)654 b(c_L2!Int;)425 4577 y(24)43 b(:)654 b(c_W!Act;)425 4690 y(25)43 b(:)654 b(goto)42 b(St3)425 4804 y(26)h(:)g(od)1002 5115 y FD(Figure)30 b(2:)41 b(Example)29 b(of)38 b FA(Controller)28 b FD(syn)m(thesis)p eop 61 9 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(61)382 548 y FH(5)135 b(Com)l(bining)35 b(Theorem)f(Pro)l(ving)h(and)f(Mo)t(del)g(Chec)l(k-)584 718 y(ing)382 937 y FD(On)e(the)h(one)h(hand,)f(mo)s(del)f(c)m(hec)m (king)h(tec)m(hniques)g(are)h(limited)c(to)k(\014nite)e(systems)3331 904 y FF(5)382 1066 y FD(\(in)f(practice)i(limited)d(to)j(\\not)h(to)s (o)f(big")f(\014nite)f(systems\).)47 b(Its)33 b(main)e(adv)-5 b(an)m(tage)35 b(is)382 1194 y(to)f(b)s(e)e(fully)e(automatic,)35 b(with)d(minimal)e(user)i(in)m(teraction.)48 b(A)33 b(mo)s(del)f(c)m (hec)m(k)m(er)i(an-)382 1323 y(sw)m(ers)c(\\y)m(es"or)j(\\no";)e(with)f (sometimes)g(a)h(coun)m(terexample.)42 b(On)30 b(the)h(other)f(hand,) 382 1452 y(theorem)25 b(pro)m(v)m(ers)f(can)h(deal)f(with)f(in\014nite) f(structures)h(and)h(pro)m(v)m(e)h(prop)s(erties)e(ab)s(out)382 1581 y(them)29 b(using)f(structural)f(induction,)h(but)g(requires)g (user)g(in)m(teraction)h(at)h(eac)m(h)g(pro)s(of)382 1709 y(step.)66 b(Ev)m(en)39 b(if)f(automatic)i(high-lev)m(el)d (tactics)j(exist,)h(the)e(user)f(m)m(ust)h(in)m(timately)382 1838 y(kno)m(w)30 b(underlying)e(logical)h(mec)m(hanisms)h(to)h (actually)f(use)g(them.)523 1967 y(In)35 b(this)f(section)h(w)m(e)h (sho)m(w)f(ho)m(w)g(the)h Fu(Electre)g FD(seman)m(tic)g(mo)s(del)e (used)g(in)g(Sect.3)382 2096 y(can)29 b(b)s(e)f(used)f(to)j(com)m(bine) e(the)h Fu(Co)s(q)f FD(theorem)h(pro)m(v)m(er)g(with)e(a)i(mo)s(del)f (c)m(hec)m(k)m(er)i(\()p Fu(Spin)382 2224 y FD(for)k(example\),)i(in)d (order)i(to)g(pro)m(v)m(e)g Ft(safety)44 b FD(or)34 b Ft(liveness)42 b FD(prop)s(erties)33 b(using)g(a)i(linear)382 2353 y(time)30 b(temp)s(oral)g(logic)g(\()p FC(l)-6 b(tl)p FD(\).)523 2482 y(W)e(e)25 b(recall)d(that)i(the)g Fu(Electre)g FD(execution)g(mo)s(del)e(is)g FC(Fif)n(o)p FD(-Automata)j(\(cf.)39 b(Sect1\).)382 2610 y(Consequen)m(tly)-8 b(,)26 b(the)g(main)e Fu(Electre)j FD(v)m(eri\014cation)e(problem)f(comes)i(from)f(the)h(p)s (ossible)382 2739 y(un)m(b)s(ounded)e(gro)m(wth)j(of)35 b FC(Fif)n(o)p FD(-list)25 b(\(where)i(ev)m(en)m(ts)h(are)f(stored)g (while)e(w)m(aiting)i(to)g(b)s(e)382 2868 y(tak)m(en)k(in)m(to)g (accoun)m(t)h(b)m(y)e(the)g(sc)m(heduler\).)382 3117 y Fv(Dealing)40 b(with)e(a)i(p)s(oten)m(tially)f(in\014nite)g (Fifo-list.)91 b FD(The)34 b(idea)f(is)h(to)h Ft(abstr)-5 b(act)382 3246 y FD(in\014nite)41 b(ob)5 b(jects,)48 b(i.e.)80 b(to)44 b(map)f(in\014nite)f(structures)h(in)m(to)g(\014nite) g(ones)g([CGL94)q(].)382 3374 y(Ev)m(en)28 b(if)g(the)g(abstraction)h (ma)m(y)g(dep)s(end)d(on)i(the)h(prop)s(ert)m(y)f(that)h(w)m(e)f(w)m (an)m(t)h(to)h(pro)m(v)m(e,)382 3503 y(some)h(classes)g(of)g (abstractions)f(concerning)g(the)h FC(Fif)n(o)p FD(-list)e(ma)m(y)j(b)s (e)e(automatically)382 3632 y(c)m(hosen.)523 3761 y(An)22 b(example)g(of)g(suc)m(h)g(a)h Ft(morphism)i FD(mapping)20 b(is)i(giv)m(en)g(in)f(Fig.3;)26 b(an)c(un)m(b)s(ounded)382 3889 y(queue)35 b(of)h(ev)m(en)m(ts)h Fp(e)f FD(is)f(mapp)s(ed)f(in)m (to)i(a)g(three)g(elemen)m(ts)g(set.)57 b(Using)35 b(suc)m(h)g(an)g (ab-)382 4018 y(straction,)c(w)m(e)g(successfully)d(pro)m(v)m(e)j(liv)m (eness)e(claims)h(in)f(sev)m(eral)h(examples.)523 4147 y(Soundness)c(of)i(v)m(eri\014cation)f(is)g(ensured)f(b)m(y)i(the)g (fact)g(that)h(whenev)m(er)e(a)h(form)m(ula)382 4275 y(holds)e(in)g(the)h(abstract)i(system,)f(it)f(also)g(holds)f(in)g(the) i(concrete)h(system.)39 b(More)29 b(for-)382 4404 y(mally)-8 b(,)27 b(if)g(w)m(e)h(note)g FB(C)33 b FD(the)28 b(concrete)h(system,)f FB(A)f FD(the)h(abstract)h(one,)f(and)f Fp(')h FD(prop)s(ert)m(y)382 4533 y(to)j(b)s(e)f(pro)m(v)m(ed;)h(abstraction)f(mapping)f(m)m(ust)h (ensure)g(the)g(follo)m(wing)f(relation:)1552 4710 y FB(A)c(j)-15 b FD(=)25 b Fp(')h FB(\))f(C)30 b(j)-15 b FD(=)25 b Fp(')523 4886 y FD(Ob)m(viously)-8 b(,)27 b(the)i(con)m(v)m(erse)g(is)f(false:)39 b(although)28 b(the)g(prop)s(ert)m(y)g(holds)f(in)g(the)h(con-)382 5015 y(crete)d(system,)g(there)f(migh)m(t)g(not)g(b)s(e)f(an)g (abstraction)h(suc)m(h)g(that)g(the)g(prop)s(ert)m(y)f(holds)382 5144 y(in)29 b(the)i(abstract)g(system)f(\(or)h(the)g(user)e(ma)m(y)i (not)g(\014nd)e(it\).)p 382 5213 1196 4 v 486 5267 a Fr(5)520 5299 y Fq(Using)c(sym)n(b)r(olic)g(represen)n(tation)g(for)h (the)e(space)i(of)f(states,)h(this)f(tec)n(hnique)f(can)h(b)r(e)g (extended)382 5403 y(to)h(a)g(certain)g(class)h(of)f(in\014nite)g (systems)f([HNSY92)o(].)p eop 62 10 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(62)p 1555 986 4 548 v 1646 986 V 1584 1059 a Fp(\036)p 1675 1034 247 4 v 1839 1032 a Fe(-)1968 1050 y FB(?)p 1557 988 92 4 v 1593 950 a Fp(e)p 1675 942 247 4 v 1839 940 a Fe(-)1968 959 y Fp(e)p 1557 897 92 4 v 1593 858 a(e)p 1557 805 V 1593 767 a(e)1593 619 y FD(.)1593 652 y(.)1593 685 y(.)1704 614 y Fd(\))p 1758 738 165 4 v 1839 736 a Fe(-)1968 758 y FD(#)p Fp(e)1053 1407 y FD(Figure)j(3:)42 b(Example)29 b(of)i(morphism)d(mapping)382 1656 y Fv(Stating)43 b(mapping)h(soundness.)92 b FD(Since)37 b FC(l)-6 b(tl)38 b FD(form)m(ulas)f(are)i(in)m(terpreted)e(o)m(v)m(er) 382 1784 y(all)31 b(p)s(ossible)f(automata)k(b)s(eha)m(viors,)e(it)g (su\016ces)g(to)i(sho)m(w)e(that)h(ev)m(ery)g(concrete)h(b)s(e-)382 1913 y(ha)m(vior)40 b(has)g(a)h(corresp)s(onding)e(abstract)i(one.)72 b(The)40 b(mapping)f(pla)m(ys)h(the)g(role)g(of)382 2042 y(\\one)27 b(half)7 b(")26 b(Milner's)e(bisim)m(ulation)g([Mil89].)39 b(The)26 b(ab)s(o)m(v)m(e)h(prop)s(ert)m(y)f(can)h(b)s(e)e(pro)m(v)m (ed)382 2171 y(b)m(y)30 b(structural)f(induction)f(o)m(v)m(er)k(the)f (form)m(ula.)523 2299 y(W)-8 b(e)35 b(can)f(depict)g(the)g(v)m (eri\014cation)g(pro)s(cess)f(of)h(a)h(prop)s(ert)m(y)e Fp(')h FD(for)g(the)g(concrete)382 2428 y(system)c FB(C)5 b FD(,on)31 b(the)g(follo)m(wing)e(steps:)493 2598 y(1.)46 b(pro)m(ving)c(that)h(the)f(mapping)f(is)g(an)h(morphism)e(\(b)m(y)j (structural)e(induction)609 2727 y(o)m(v)m(er)32 b(the)e(form)m(ula\),) h(with)e(the)h(theorem)h(pro)m(v)m(er)g(\()p Fu(Co)s(q)p FD(\),)493 2917 y(2.)46 b(pro)m(ving)27 b Fp(')h FD(for)f(the)h (abstract)h(system)e(\(in)g(the)h(general)g(case,)h(assuming)d(some)609 3046 y(extra)31 b(h)m(yp)s(othesis\))f(using)e(the)j(mo)s(del)e(c)m (hec)m(k)m(er)k(\()p FC(spin)p FD(\),)493 3236 y(3.)46 b(and)22 b(pro)m(ving)g(that)h(assumptions)e(on)i(the)g(abstract)h (system)e(\(used)h(in)e(previous)609 3365 y(p)s(oin)m(t\))30 b(holds)f(on)h(the)h(concrete)g(system)g(to)s(o.)382 3535 y(Last)g(condition)e(generally)g(has)h(to)i(b)s(e)d(c)m(hec)m(k)m (ed)k(with)c(a)h(theorem)h(pro)m(v)m(er.)523 3664 y(W)-8 b(e)30 b(can)g(formally)e(pro)m(v)m(e)i(that)g(the)f(ab)s(o)m(v)m(e)i (conditions)c(allo)m(ws)i(us)f(to)i(state)h(that)382 3792 y(the)f(concrete)i(system)f(v)m(eri\014es)f(the)g(prop)s(ert)m(y) -8 b(.)382 4094 y FH(6)135 b Fc(S)14 b(p)20 b(i)11 b(n)71 b FH(v)l(eri\014cation)46 b(example)382 4312 y FD(In)28 b(this)f(section)h(w)m(e)h(in)m(tro)s(duce)f(our)f Fu(Spin)h FD(implemen)m(tation)f(of)h Fu(Electre)i FD(b)m(y)e(means)g(of)382 4441 y(the)i(w)m(ell-kno)m(wn)e(example)i(of)g(the)g(readers-writers.) 39 b(W)-8 b(e)31 b(can)f(mo)s(del)e(this)h(example)382 4570 y(with)g(the)i(follo)m(wing)d Fu(Electre)k FD(program:)p 1227 4659 1299 4 v 1227 5428 4 770 v 1316 4739 a FA(loop)1412 4868 y(await)1555 4997 y FB(f)48 b FA(l1:L1)e FB(k)i FA(l2:L2)f FB(g)1412 5125 y FA(or)1555 5254 y(w:W)1316 5383 y(end)g(loop)p 2522 5428 V 1227 5431 1299 4 v eop 63 11 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(63)523 548 y(This)d(program)i(mo)s(dels)e(the)i(v)-5 b(arian)m(t)25 b(in)e(whic)m(h)h(writer)f(\(noted)j FA(W)p FD(\))e(has)h(a)g(priorit)m(y)382 677 y(o)m(v)m(er)41 b(readers)f(\(noted)g FA(L1)g FD(and)f FA(L2)p FD(\).)69 b(Lo)m(w)m(er)41 b(case)g(lab)s(els;)j FA(l1,)i(l2)40 b FD(and)f FA(w)h FD(mo)s(del)382 805 y(requests)30 b(for)g(reading)g (b)m(y)g(reader)g(1)h(or)f(2,)h(and)f(for)g(writing)f(resp)s(ectiv)m (ely)-8 b(.)523 934 y(Using)37 b(our)f Fu(Electre)j FD(to)f FC(spin)f FD(compiler)f(w)m(e)i(pro)s(duce)e(the)h FC(pr)n(omela)f FD(program)382 1063 y(implemen)m(tation)g(presen)m(ted)i(app)s(endix)d (A.)62 b(As)38 b(explained)e(in)g(Sect.4,)41 b(the)d FC(Fif)n(o)p FD(-)382 1192 y(list)31 b(is)h(implemen)m(ted)g(as)h (indep)s(enden)m(t)e(pro)s(cess)h(\(noted)i FA(Queue)p FD(\),)f(and)f(the)h(pro)s(cess)382 1320 y FA(Environment)f FD(pro)s(duces)h(undeterministically)e(ev)m(en)m(ts)36 b FA(l1,)47 b(l2)34 b FD(or)h FA(w)p FD(.)54 b(In)34 b(our)g(ex-)382 1449 y(ample,)29 b(eac)m(h)h(instan)m(tiation)e(has)g (its)h(o)m(wn)g(name)g(and)f(its)g(o)m(wn)h(message)h(c)m(hannel)f(to) 382 1578 y(comm)m(unicate)i(with)e(the)i FA(Controller)c FD(pro)s(cess.)382 1836 y Fb(6.1)112 b(Chec)m(king)37 b(safet)m(y)h(and)h(liv)m(eness)d(prop)s(erties)382 2023 y FD(The)g Fu(Spin)f FD(mo)s(del)h(c)m(hec)m(k)m(er)i(is)d(designed)h (to)h(deal)f(with)f FC(l)-6 b(tl)35 b FD(form)m(ulae)h(compatible)382 2152 y(with)29 b(partial)g(order)h(reductions.)382 2407 y Fv(Safet)m(y)-9 b(.)91 b FD(The)27 b(main)h(safet)m(y)h(prop)s(ert)m (y)e(w)m(e)i(w)m(an)m(t)g(to)g(c)m(hec)m(k)h(is:)38 b Ft(never)31 b(a)g(writer)g(wil)5 b(l)382 2535 y(write)33 b(while)g(one)g(or)h(two)f(r)-5 b(e)g(aders)35 b(ar)-5 b(e)33 b(r)-5 b(e)g(ading)p FD(.)523 2664 y(In)30 b(our)g(mo)s(del,)f (w)m(e)i(translate)f(this)g(sen)m(tence)h(in)m(to)g(the)f(form)m(ula:) 907 2862 y Fn(2)p FB(:)83 b FD(\(\(\()p FA(s)p Fp(tate)p 1433 2862 28 4 v 33 w(L)p FD(1)26 b(==)f Fp(Act)p FD(\))c FB(_)e FD(\()p FA(state)p 2317 2862 V 32 w(L2)25 b FD(==)f FA(Act)p FD(\)\))1119 2991 y FB(^)p FD(\()p FA(state)p 1460 2991 V 31 w(W)h FD(==)g FA(Act)o FD(\)\))523 3183 y(This)k(prop)s(ert)m(y)g(is)h(successfully)e(c)m(hec)m(k)m(ed)k(b)m(y) f Fu(Spin)p FD(.)382 3437 y Fv(Liv)m(eness.)91 b FD(As)46 b(in)f(the)h(general)g(case,)51 b(c)m(hec)m(king)46 b(liv)m(eness)f (prop)s(erties)f(is)h(a)i(bit)382 3566 y(harder.)37 b(An)20 b(in)m(teresting)h(liv)m(eness)f(prop)s(ert)m(y)g(to)i(c)m(hec)m(k)h (is:)35 b Ft(every)24 b(r)-5 b(e)g(quest)24 b(for)h(r)-5 b(e)g(ading)382 3695 y(is)32 b(eventual)5 b(ly)33 b(satis\014e)-5 b(d)p FD(.)523 3823 y(In)30 b FC(l)-6 b(tl)29 b Ft(i)9 b FD(s)30 b(written:)952 4034 y Fn(2)p FD(\(\()p FA(var)p 1239 4034 V 32 w(l1)25 b FD(==)f FA(true)o FD(\))i FB(!)f Fn(3)p FD(\()p FA(state)p 2274 4034 V 31 w(L1)g FD(==)f FA(Act)o FD(\)\))523 4245 y(T)-8 b(o)49 b(understand)e(the)i(form)m (ula)f(w)m(e)i(m)m(ust)e(note)i(that)f(the)g(b)s(o)s(olean)f(v)-5 b(ariable)382 4373 y FA(var)p 532 4373 29 4 v 33 w(l1)43 b FD(is)f(false)h(if)e(an)i(ev)m(en)m(t)i FA(l1)d FD(has)h(not)g (arisen)f(or)h(if)f(it)h(arose,)k(it)42 b(w)m(as)i(\\con-)382 4502 y(sumed".)68 b(In)38 b(the)i Fu(Electre)h FD(con)m(text,)j(w)m(e)c (sa)m(y)g(that)g(an)f(ev)m(en)m(t)i(is)e(consumed)g(if)f(the)382 4631 y(mo)s(dule)31 b(activ)-5 b(ated)35 b(b)m(y)e(this)f(ev)m(en)m(t)j (is)d(terminated)h(\(see)h(in)e(app)s(endix)f(A,)j(the)f(co)s(de)382 4759 y(of)g(mo)s(dule)f FA(L1)p FD(:)46 b(in)33 b(state)h FA(Act)f FD(when)f(it)h(terminates)g(the)h(v)-5 b(ariable)32 b FA(var)p 2932 4759 V 34 w(l1)h FD(is)f(reset)382 4888 y(to)c(false\).)39 b(Naturally)-8 b(,)28 b(pro)s(cess)e FA(Environment)e FD(sets)k(v)-5 b(ariable)26 b FA(var)p 2717 4888 V 33 w(l1)h FD(to)h(true)f(when)382 5017 y(generating)k(a)f FA(l1)g FD(ev)m(en)m(t.)523 5146 y(When)25 b(w)m(e)g(\014rst)g(tried)f (to)i(c)m(hec)m(k)g(the)f(ab)s(o)m(v)m(e)i(form)m(ula,)e(w)m(e)h (failed)d(and)i Fu(Spin)f FD(sho)m(ws)382 5274 y(us)40 b(a)g(path)g(in)f(whic)m(h)h(the)g(ev)m(en)m(t)i FA(l1)e FD(is)f(follo)m(w)m(ed)h(b)m(y)g(the)h(ev)m(en)m(t)h FA(w)p FD(.)70 b(The)40 b(former)382 5403 y(activ)-5 b(ates)39 b(mo)s(dule)c FA(L1)p FD(,)k(then)e(the)g(latter)h(in)m (terrupts)d(it)i(and)g(launc)m(hes)f(the)i(writer)p eop 64 12 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(64)382 548 y FA(W)p FD(.)42 b(Then,)k(a)d(cycle)g (violating)e(the)i(prop)s(ert)m(y)f(is)g(sho)m(wn)g(where)g(the)h(en)m (vironmen)m(t)382 677 y(pro)s(duces)30 b(ev)m(en)m(t)j FA(l1)d FD(and)h(the)h(writer)e(nev)m(er)h(ends!)43 b(This)30 b(simple)f(coun)m(ter-example)382 805 y(sho)m(wn)39 b(us)h(that)h(our)f (implemen)m(tation)e(do)i(not)h(resp)s(ect)f(the)h Fu(Electre)g FD(h)m(yp)s(othesis:)382 934 y(All)26 b(mo)s(dules)g(m)m(ust)h(ha)m(v)m (e)i(a)e(\014nite)g(execution.)40 b(T)-8 b(o)28 b(solv)m(e)f(this)g (problem)f(w)m(e)h(added)g(a)382 1063 y(\\progress")i(lab)s(els,)f(to)i (force)f(the)h(c)m(hec)m(k)m(er)h(to)e(eliminate)f(non-progress)g (cycles,)i(and)382 1192 y(the)g(prop)s(ert)m(y)g(w)m(as)h(ev)m(en)m (tually)f(pro)m(v)m(ed.)523 1320 y(The)37 b(reader)g(can)g(\014nd)f (another)h(explanation)f(of)h(the)h(correctness)g(pro)s(of)e(with)382 1449 y FC(spin)i FD(of)h(the)g(reader-writers)f(example,)i(using)d(a)j (morphism)c(abstraction,)41 b(in)c(the)382 1578 y(pap)s(er)29 b([Arg98)r(].)382 1885 y FH(7)135 b(Conclusion)382 2104 y FD(W)-8 b(e)36 b(ha)m(v)m(e)g(sho)m(wn)f(in)e(Sect.3)k(ho)m(w)e(to)h (exploit)e(the)h(seman)m(tic)g(mo)s(del)f(of)h(the)g(source)382 2232 y(and)d(target)j(language)f(to)g(ensure)e(compilation)g (correctness.)50 b(W)-8 b(e)34 b(think)e(that)i(this)382 2361 y(is)28 b(an)g(in)m(teresting)g(application)f(of)i(theorem)g(pro)m (v)m(ers)g(based)f(on)h(constructiv)m(e)g(logic.)382 2490 y(Moreo)m(v)m(er,)46 b(when)40 b(the)h(language)g(is)f(b)s(eing)f (enric)m(hed)h(with)g(a)h(new)g(op)s(erator,)j(to-)382 2619 y(gether)39 b(with)d(its)i(seman)m(tic)g(rules,)h(the)g(new)e (compiler)g(can)h(b)s(e)g(deriv)m(ed)f(from)g(the)382 2747 y(previous)k(one,)k(according)d(to)h(some)g(iden)m(ti\014ed)d (transformations.)75 b(This)40 b(system)382 2876 y(has)30 b(b)s(een)f(ac)m(hiev)m(ed)i(and)e(exp)s(erimen)m(ted)h(with.)39 b(Indeed,)29 b(it)h(pro)m(vides)f(a)i(con)m(v)m(enien)m(t)382 3005 y(to)s(ol)26 b(to)i(create)g(new)e(constructions,)h(or)g(to)g (create)h(custom-sized)f(compilers)e(for)h(the)382 3134 y(language.)523 3262 y(F)-8 b(urthermore,)32 b(Sect.5)h(sk)m(etc)m(hes) h(a)e(general)f(metho)s(dology)h(for)f(the)h(application)382 3391 y(of)27 b(the)g(seman)m(tic)g(mo)s(del)f(to)i(the)f(pro)s(of)f(of) h Ft(safety)35 b FD(or)27 b Ft(liveness)35 b FD(prop)s(erties)25 b(with)g FC(l)-6 b(tl)p FD(.)382 3520 y(The)28 b(goal)i(is)e(to)h(giv)m (e)h(tec)m(hniques)e(to)i(deal)e(with)g(un)m(b)s(ounded)e(systems)j(b)m (y)g(means)f(of)382 3648 y(abstractions.)53 b(The)34 b(whole)g(theory)h(formalization)e(and)h(its)g(practical)g(application) 382 3777 y(are)d(still)d(in)h(progress.)p eop 65 13 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(65)382 548 y FH(References)382 744 y Fy([AMR96])75 b(P)n(ablo)32 b(Arg\023)-42 b(on,)35 b(John)e(Mullins,)j(and)e(Olivier) f(Roux.)56 b(Correct)32 b(compiler)h(con-)786 857 y(struction)h(using)g (co)r(q.)56 b(In)34 b Fl(CADE-13)j(Workshop)h(on)e(Pr)l(o)l(of)h(Se)l (ar)l(ch)f(in)g(T)-6 b(yp)l(e)786 971 y(The)l(or)l(etic)36 b(L)l(anguages)p Fy(,)f(New)e(Brunswic)n(k)f(\(USA\),)j(July)e(1996.)e (Rutgers)i(Uni-)786 1084 y(v)n(ersit)n(y)-7 b(.)382 1248 y([Arg95])137 b(P)n(ablo)46 b(Arg\023)-42 b(on.)97 b(S)n(\023)-39 b(eman)n(tique)47 b(op)n(\023)-39 b(erationnelle)46 b(d')p Fx(electre)i Fy(par)f(r)n(\023)-39 b(e)n(\023)g(ecritures)45 b(:)786 1361 y(la)j(v)n(ersion)f(4)h(du)h(compilateur.)99 b(T)-7 b(ec)n(hnical)48 b(Rep)r(ort)g(95-11,)k(Lab)r(oratoire)786 1475 y(d'Automatique)32 b(de)h(Nan)n(tes,)g(LAN,)g(1)f(rue)g(de)h(la)f (No)n(\023)-39 b(e,)32 b(44072)e(Nan)n(tes)i(c)n(\023)-39 b(edex)786 1589 y(03,)26 b(\()p Fw(France)p Fy(\),)j(Octob)r(er)e (1995.)382 1752 y([Arg98])137 b(P)n(ablo)36 b(Arg\023)-42 b(on.)68 b(Impl)n(\023)-39 b(emen)n(tation)37 b(et)i(v)n(\023)-39 b(eri\014cation)36 b(de)i(programmes)e(r)n(\023)-39 b(eactifs)786 1866 y(a)n(v)n(ec)28 b Fw(spin)p Fy(.)45 b(In)30 b Fl(R)l(enp)l(ar{98)k (:)43 b(10-i)n(\022)-40 b(emes)33 b(R)l(enc)l(ontr)l(es)e(F)-6 b(r)l(anc)l(ophones)33 b(du)f(Par-)786 1979 y(al)t(l)n(\023)-40 b(elisme)p Fy(,)29 b(Strasb)r(ourg)d(\(FR\),)j(Juin)f(1998.)35 b(Submitted.)382 2142 y([CCF)579 2112 y Fk(+)634 2142 y Fy(95])45 b(C.)72 b(Cornes,)83 b(J.)73 b(Couran)n(t,)82 b(J.C.)73 b(Fili^)-42 b(atre,)83 b(G.)73 b(Huet,)85 b(P)-7 b(.)72 b(Manoury)-7 b(,)786 2256 y(C.)40 b(Mu)r(~)-44 b(noz,)42 b(C.)e(Murth)n(y)-7 b(,)43 b(C.)d(P)n(aren)n(t,)h(C.)f(P)n (aulin-Mohring,)h(A.)f(Saibi,)j(and)786 2370 y(B.)51 b(W)-7 b(erner.)105 b(The)51 b(Co)r(q)g(pro)r(of)f(assistan)n(t,)56 b(reference)50 b(man)n(ual.)105 b(T)-7 b(ec)n(hni-)786 2483 y(cal)43 b(Rep)r(ort)h(0177,)h(INRIA)g(Sophia)e(An)n(tip)r(olis,) 48 b(July)c(1995.)82 b(Av)-5 b(ailable)44 b(at)786 2597 y Fh(ftp://ftp.inria.)o(fr)o(/I)o(NRI)o(A/)o(coq)o(/V)o(5.)o(10/)o(do)o (c/)p Fy(.)382 2760 y([CGL94])97 b(E.)35 b(M.)g(Clark,)h(O.)f(Grum)n(b) r(erg,)h(and)f(D.E.)h(Long.)58 b(Mo)r(del)35 b(c)n(hec)n(king)f(and)h (ab-)786 2874 y(straction.)d Fl(A)n(CM)c(T)-6 b(r)l(ansactions)28 b(on)g(Pr)l(o)l(gr)l(amming)g(L)l(anguages)g(and)g(Systems)p Fy(,)786 2987 y(16\(5\):1512{1542,)22 b(Septem)n(b)r(er)28 b(1994.)382 3151 y([CR95])153 b(F.)26 b(Cassez)f(and)h(O.)g(Roux.)34 b(Compilation)26 b(of)g(the)h Fw(electre)g Fy(reactiv)n(e)d(language) 786 3264 y(in)n(to)29 b(\014nite)h(transition)f(systems.)43 b Fl(The)l(or)l(etic)l(al)33 b(Computer)f(Scienc)l(e)p Fy(,)f(146,)e(July)786 3378 y(1995.)382 3541 y([HNSY92])45 b(T.A.)27 b(Henzinger,)e(X.)i(Nicollin,)f(J.)g(Sifakis,)g(and)g(S.)g(Y) -7 b(o)n(vine.)33 b(Sym)n(b)r(olic)26 b(mo)r(del-)786 3655 y(c)n(hec)n(king)d(for)h(real-time)g(systems.)31 b(In)25 b Fl(Pr)l(o)l(c.)j(IEEE)f(7th)h(Symp.)f(L)l(o)l(gic)h(in)f (Com-)786 3768 y(puter)i(Scienc)l(e,)i(LNCS)p Fy(,)c(1992.)382 3932 y([Hol91])147 b(Gerard)56 b(Holzmann.)128 b Fl(Design)57 b(and)i(validation)g(of)g(c)l(omputer)f(pr)l(oto)l(c)l(ols)p Fy(.)786 4045 y(Pren)n(tice-Hall,)26 b(1991.)382 4209 y([Hol97])147 b(Gerard)29 b(Holzmann.)46 b(The)31 b(spin)g(mo)r(del)g (c)n(hec)n(k)n(er.)44 b Fl(IEEE)33 b(T)-6 b(r)l(ans.)33 b(on)g(Softwar)l(e)786 4322 y(Engine)l(ering)p Fy(,)28 b(23\(5\):279{295,)c(Ma)n(y)j(1997.)382 4486 y([Mel96])138 b(Thomas)36 b(Melhan.)65 b(Some)37 b(researc)n(h)e(issues)h(in)i (higher)e(order)g(logic)g(theorem)786 4599 y(pro)n(ving.)29 b(In)23 b Fl(A)n(bstr)l(act)j(of)h(L)l(e)l(ctur)l(es)e(pr)l(esente)l(d) h(at)g(the)g(BRICS)h(A)n(utumn)d(Scho)l(ol)786 4713 y(on)30 b(V)-6 b(eri\014c)l(ation)p Fy(.)27 b(BRICS,)h(No)n(v)n(em)n(b)r(er)e (1996.)382 4876 y([Mil89])152 b(R.)28 b(Milner.)36 b Fl(Communic)l(ation)31 b(and)f(Concurr)l(ency)p Fy(.)37 b(Pren)n(tice-Hall,)26 b(1989.)382 5040 y([MM92])122 b(V.)35 b(Menissier-Morain.)58 b(The)36 b Fw(caml)f Fy(reference)f(man) n(ual.)59 b(T)-7 b(ec)n(hnical)35 b(Rep)r(ort)786 5153 y(141,)26 b(INRIA,)i(Sophia-An)n(tip)r(olis)f(\()p Fw(France)p Fy(\),)i(july)f(1992.)p eop 66 14 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(66)382 548 y Fy([P)n(ar95])144 b(C.)31 b(P)n(aren)n(t.)44 b Fl(Synth)n(\022)-40 b(ese)33 b(de)g(pr)l(euves)g (de)h(pr)l(o)l(gr)l(ammes)f(dans)g(le)g(c)l(alcul)h(des)f(c)l(on-)786 662 y(structions)i(inductives)p Fy(.)59 b(PhD)34 b(thesis,)2090 641 y(\023)2083 662 y(Ecole)f(Normale)h(Sup)n(\023)-39 b(erieure)33 b(de)i(Ly)n(on)786 775 y(\()p Fw(France)p Fy(\),)28 b(1995.)p eop 67 15 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(67)382 548 y FH(A)134 b Fc(S)14 b(p)21 b(i)10 b(n)71 b FH(implemen)l(tation)48 b(example)382 744 y Fy(In)30 b(this)g(app)r(endix)g(w)n(e)g(giv)n(e)f(the)h(complete) g Fw(pr)n(omela)g Fy(program)d(corresp)r(ondig)h(to)i(the)g(ex-)382 857 y(ample)h(used)g(in)g(Sect.6.)48 b(First,)32 b(w)n(e)f(explain)g (some)f(of)h(the)h(notations.)47 b(F)-7 b(or)30 b(the)i Fw(pr)n(omela)382 971 y Fy(syn)n(tax,)27 b(refer)g(to)g([Hol91)o(].)382 1201 y Fv(Notation)f(and)h(remarks.)83 b Fy(The)21 b(de\014ned)h(t)n (yp)r(e)f(\(noted)h Fh(mtype)p Fy(\))e(enco)r(des)g(the)i(message)382 1314 y(constan)n(ts)38 b(used)g(for)g(the)h(comm)n(unication)f(b)r(et)n (w)n(een)h(the)g Fh(Controller)34 b Fy(and)39 b(the)g Fh(Queue)p Fy(.)382 1428 y(Messages)20 b(ha)n(v)n(e)h(the)i(structure:) 34 b Fl(c)l(ommand\(ar)l(gument\))p Fy(,)23 b(see)f(the)h(de\014nition) f(of)h(the)f(c)n(hannel)382 1541 y Fh(queue)p Fy(,)k(line)h(17.)382 1655 y(Commands)g(are:)522 1818 y Fm(\017)45 b Fh(CRT)27 b Fy(means)g(that)h(the)g(argumen)n(t)e(is)i(a)f(con)n(trol)f(command,) 522 1982 y Fm(\017)45 b Fh(REQ)33 b Fy(request)g(con)n(trol)g(command,) j(means)d(that)h(the)h(con)n(troller)d(asks)h(for)h(an)f(ev)n(en)n(t) 609 2095 y(\(p)r(oping\);)522 2259 y Fm(\017)45 b Fh(SND)27 b Fy(send)h(con)n(trol)e(command,)i(means)f(that)i(the)f(con)n(troller) e(will)i(send)g(one)g(or)f(more)609 2372 y(ev)n(en)n(ts)g(\(pushing\);) 522 2536 y Fm(\017)45 b Fh(EMY)27 b Fy(empt)n(y)g(con)n(trol)g (command,)g(informs)g(that)h(no)f(\(more\))h(ev)n(en)n(t)f(is)g(in)h (the)g(queue;)522 2699 y Fm(\017)45 b Fh(ESD)27 b Fy(end-of-send,)g (means)g(that)h(the)g(con)n(troller)d(has)i(complete)h(the)g(sending;) 522 2862 y Fm(\017)45 b Fh(YES)32 b Fy(ac)n(kno)n(wledgmen)n(t)g (command,)i(informs)f(the)h(queue)f(that)h(the)g(con)n(troller)d(con-) 609 2976 y(sumed)d(the)g(giv)n(en)f(ev)n(en)n(t;)522 3139 y Fm(\017)45 b Fh(MULT)23 b Fy(m)n(ultiple)i(command,)f(informs)g (the)h(queue)f(that)g(the)h(argumen)n(t)e(is)h(an)g(m)n(ultiple)609 3253 y(memorized)j(ev)n(en)n(t,)522 3416 y Fm(\017)45 b Fh(NORM)17 b Fy(normal)g(command,)j(informs)e(the)h(queue)g(that)f (the)h(argumen)n(t)e(is)i(an)f(\\normally")609 3530 y(memorized)27 b(ev)n(en)n(t,)g(i.e.)37 b(at)28 b(least)f(one)g(time.)382 3693 y(The)36 b(remaining)e(co)r(des)i(are)e(the)i(alias)f(for)g(the)h (ev)n(en)n(ts)f Fh(l1)p Fy(,)i Fh(l2)e Fy(and)h Fh(w)p Fy(.)61 b(Notice)35 b(that)h(the)382 3807 y(pro)r(cess)28 b Fh(Queue)f Fy(has)i(three)g(main)g(states,)g(it)h(can)f(b)r(e)h(\\w)n (aiting")d(\(line)j(54\))f(for)f(a)h(command)382 3920 y(\(request)18 b(or)g(send\);)k(treating)c(a)g(request)h(command)f (\(line)h(60\);)i(or)d(treating)g(a)g(send)h(command)382 4034 y(\(line)28 b(76\).)36 b(The)28 b(ev)n(en)n(ts)f(are)f(k)n(eep)r (ed)i(in)n(to)f(the)h(v)n(ector)e Fh(fifo)p Fy(.)523 4148 y(F)-7 b(rom)36 b(the)h(line)g(106)e(to)h(the)h(line)f(180,)i(w)n (e)e(ha)n(v)n(e)f(the)i(instanciations)f(of)g(the)h(generic)382 4261 y(pro)r(cess)26 b(mo)r(dule)i(to)g Fh(L1)p Fy(,)f Fh(L2)p Fy(,)f(and)i Fh(W)p Fy(,)f(resp)r(ectiv)n(ely)-7 b(.)p eop 68 16 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(68)382 548 y Fv(Promela)34 b(listing.)460 718 y Fa(1)40 b(:)f(/**)197 b(ELECTRE)41 b(to)f(SPIN)g(version0.7)h(-)f (Oct.)g(1997)g(-)f(IRCyN)355 b(**)460 822 y(2)40 b(:)78 b(**)825 b(\(U.M.R.)41 b(6597\))1021 b(**)460 926 y(3)40 b(:)78 b(**)354 b(1,)40 b(rue)g(de)f(la)h(noe)g(NANTES)g(CEDEX)h(03)f (FRANCE)472 b(**)460 1030 y(4)40 b(:)78 b(**)589 b (electre@lan.ec-nantes.fr)830 b(**/)460 1135 y(5)40 b(:)f(/*)460 1239 y(6)h(:)460 1343 y(7)g(:)f(Source)i(Electre)g(program:)460 1447 y(8)f(:)f([[1/{l1:L1~l1|||l2:L2~l2}]^{)q(w:W~)q(w}]*)460 1551 y(9)h(:)f(*/)421 1655 y(10)h(:)f(#define)i(MAX)315 b(3)78 b(/*)40 b(Fifo-list)h(length)80 b(*/)421 1759 y(11)40 b(:)f(#define)i(PRESENT)315 b(1)421 1863 y(12)40 b(:)421 1967 y(13)g(:)f(#define)i(true)315 b(1)421 2072 y(14)40 b(:)f(#define)i(false)315 b(0)421 2176 y(15)40 b(:)f(mtype)i(=)e({CTR,)h(REQ,)h(EMY,)f(SND,)g(ESD,)g(YES,)79 b(MULT,)41 b(NORM,)421 2280 y(16)f(:)392 b(l1ff,)41 b(l2ff,)f(wff};)421 2384 y(17)g(:)f(chan)h(queue)h(=)e([0])h(of)g({mtype,mtype};)421 2488 y(18)g(:)421 2592 y(19)g(:)f(#define)i(NoAct)197 b(96)421 2696 y(20)40 b(:)f(#define)i(Start)197 b(97)421 2800 y(21)40 b(:)f(#define)i(Act)275 b(98)421 2904 y(22)40 b(:)f(#define)i(Int)275 b(99)421 3009 y(23)40 b(:)f(#define)i(end)275 b(100)421 3113 y(24)40 b(:)f(#define)i(w)353 b(101)421 3217 y(25)40 b(:)f(#define)i(l2)314 b(102)421 3321 y(26)40 b(:)f(#define)i(l1)314 b(103)421 3425 y(27)40 b(:)421 3529 y(28)g(:)f(chan)h(env=)h([1])e(of)h({byte};)421 3633 y(29)g(:)421 3737 y(30)g(:)f(/*)h(Module)h(Channel)f(&)g(State)g (var)g(definitions)i(*/)421 3841 y(31)e(:)f(chan)h(c_W=)h([0])e(of)h({) g(byte)g(};)421 3946 y(32)g(:)f(byte)h(state_W=)h(NoAct;)421 4050 y(33)f(:)f(chan)h(c_L2=)h([0])f(of)f({)h(byte)g(};)421 4154 y(34)g(:)f(byte)h(state_L2=)i(NoAct;)421 4258 y(35)e(:)f(chan)h (c_L1=)h([0])f(of)f({)h(byte)g(};)421 4362 y(36)g(:)f(byte)h(state_L1=) i(NoAct;)421 4466 y(37)e(:)421 4570 y(38)g(:)f(/*========>)j(Process)f (Definitions)h(<==============*/)421 4674 y(39)e(:)f(init)h({)421 4778 y(40)g(:)f(run)h(L1\(c_L1\);)421 4883 y(41)g(:)f(run)h (L2\(c_L2\);)421 4987 y(42)g(:)f(run)h(W\(c_W\);)421 5091 y(43)g(:)f(})421 5195 y(44)h(:)421 5299 y(45)g(:)f(/*)h(Process)h (Fifo)f(*/)421 5403 y(46)g(:)p eop 69 17 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(69)421 548 y Fa(47)40 b(:)f(active)i(proctype)g (Queue\(\))421 652 y(48)f(:)f({)421 756 y(49)h(:)f(mtype)i(fifo[MAX];) 421 860 y(50)f(:)f(byte)h(nb)g(=)g(0;)421 964 y(51)g(:)f(byte)h(cy)g(;) g(bool)g(t;)421 1068 y(52)g(:)f(mtype)i(x,y;)421 1173 y(53)f(:)421 1277 y(54)g(:)f(waiting:)421 1381 y(55)h(:)f(if)421 1485 y(56)h(:)78 b(::)40 b(queue?CTR\(REQ\))j(->)c(goto)h(requesting) 421 1589 y(57)g(:)78 b(::)40 b(queue?CTR\(SND\))j(->)c(goto)h (reception)421 1693 y(58)g(:)78 b(::)40 b(timeout)h(->)f(goto)g(error) 421 1797 y(59)g(:)f(fi;)421 1901 y(60)h(:)f(requesting:)421 2005 y(61)h(:)f(cy=0;)421 2110 y(62)h(:)f(do)421 2214 y(63)h(:)78 b(::\(nb==0\))42 b(->)d(queue!CTR\(EMY\))k(;)c(goto)h (waiting)421 2318 y(64)g(:)78 b(::\(cy)d (queue!CTR\(fifo[cy]\);)421 2422 y(65)h(:)588 b(queue?CTR\(x\)->)43 b(atomic{)421 2526 y(66)d(:)1216 b(if)421 2630 y(67)40 b(:)1255 b(::\(x==YES\)->)421 2734 y(68)40 b(:)1373 b(do)421 2838 y(69)40 b(:)1451 b(::\(cyfifo[cy]=fifo[cy)q(+1];)q(cy++)421 2942 y(70)40 b(:)1451 b(::else)120 b(->nb--;goto)41 b(waiting)421 3047 y(71)f(:)1373 b(od)421 3151 y(72)40 b(:)1255 b(::else)41 b(->)f(cy++)421 3255 y(73)g(:)1216 b(fi})421 3359 y(74)40 b(:)78 b(::else)41 b(->)f(queue!CTR\(EMY\))i(;goto)f(waiting)421 3463 y(75)f(:)f(od;)421 3567 y(76)h(:)f(reception:)421 3671 y(77)h(:)f(queue?y\(x\))j(->)d(atomic{)421 3775 y(78)h(:)667 b(if)421 3879 y(79)40 b(:)421 3984 y(80)g(:)706 b(::\(x==ESD\))42 b(->)d(goto)h(waiting)421 4088 y(81)g(:)706 b(::else)41 b(->)e(if)421 4192 y(82)h(:)1138 b(::\(y==MULT\)->)42 b(fifo[nb]=x;nb++;)h(goto)d(reception)421 4296 y(83)g(:)1138 b(::else)40 b(->cy=0;t=0;)421 4400 y(84)g(:)1491 b(do)421 4504 y(85)40 b(:)1530 b(::\(fifo[cy]==x\)->)43 b(goto)d(reception)421 4608 y(86)g(:)1530 b(::\(cy>nb\)->fifo[nb]=x;nb++;)421 4712 y(87)40 b(:)1961 b(goto)41 b(reception)421 4816 y(88)f(:)1530 b(::else->cy++)421 4921 y(89)40 b(:)1491 b(od;)421 5025 y(90)40 b(:)1098 b(fi;)421 5129 y(91)40 b(:)667 b(fi)421 5233 y(92)40 b(:)667 b(};)421 5337 y(93)40 b(:)f(error:)i(skip)p eop 70 18 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(70)421 548 y Fa(94)40 b(:)f(})421 652 y(95)h(:)f(active)i(proctype)g(Environment\(\))421 756 y(96)f(:)f({)421 860 y(97)h(:)f(do)421 964 y(98)h(:)157 b(::)40 b(env!l1)g(->)g(var_l1=true)421 1068 y(99)g(:)157 b(::)40 b(env!l2)382 1173 y(100)g(:)157 b(::)40 b(env!w)382 1277 y(101)g(:)157 b(::)40 b(timeout)g(->)g(break)382 1381 y(102)g(:)f(od;)382 1485 y(103)h(:)f(end:skip)382 1589 y(104)h(:)f(})382 1693 y(105)h(:)382 1797 y(106)g(:)f(proctype)i (L1\(chan)g(q\))382 1901 y(107)f(:)f({)382 2005 y(108)h(:)f(state_L1)i (=)f(NoAct;)382 2110 y(109)g(:)f(if)382 2214 y(110)h(:)118 b(::)39 b(atomic{q?Start)k(->)79 b(state_L1)41 b(=)e(Act;)h(goto)h (Actif})382 2318 y(111)f(:)118 b(::)39 b(atomic{q?Act)121 b(->)79 b(state_L1)41 b(=)e(Act;)h(goto)h(Actif})382 2422 y(112)f(:)f(fi;)382 2526 y(113)h(:)f(Actif:)382 2630 y(114)h(:)f(progress_L1:)382 2734 y(115)h(:)314 b(do)382 2838 y(116)40 b(:)118 b(::)39 b(atomic{)i(q?Act)g(->)78 b(state_L1)42 b(=)d(Act;)h(goto)g(Actif})382 2942 y(117)g(:)118 b(::)39 b(atomic{)i(q?Int)g(->)78 b(state_L1)42 b(=)d(Int;)h(goto)g (Stopped})382 3047 y(118)g(:)118 b(::)39 b(atomic{)i(q!end)g(->)78 b(state_L1)42 b(=)d(end)h(;)f(var_l1=false;)k(goto)d(End)g(})382 3151 y(119)g(:)314 b(od;)382 3255 y(120)40 b(:)f(Stopped:)382 3359 y(121)h(:)392 b(if)382 3463 y(122)40 b(:)118 b(::)39 b(atomic{)i(q?Act)119 b(->)40 b(state_L1)h(=)e(Act;)h(goto)h(Actif})382 3567 y(123)f(:)118 b(::)39 b(atomic{)i(q?Start)g(->)f(state_L1)h(=)e (Act;)h(goto)h(Actif})382 3671 y(124)f(:)392 b(fi;)382 3775 y(125)40 b(:)f(End:)382 3879 y(126)h(:)275 b(if)382 3984 y(127)40 b(:)118 b(::)39 b(atomic{)i(q?Act)119 b(->)79 b(state_L1)41 b(=)e(Act;)i(goto)f(Actif})382 4088 y(128)g(:)118 b(::)39 b(atomic{)i(q?Start)g(->)79 b(state_L1)41 b(=)e(Act;)i(goto)f (Actif})382 4192 y(129)g(:)275 b(fi)382 4296 y(130)40 b(:)f(})382 4400 y(131)h(:)f(proctype)i(L2\(chan)g(q\))382 4504 y(132)f(:)f({)382 4608 y(133)h(:)f(state_L2)i(=)f(NoAct;)382 4712 y(134)g(:)f(if)382 4816 y(135)h(:)118 b(::)39 b(atomic{q?Start)k (->)79 b(state_L2)41 b(=)e(Act;)h(goto)h(Actif})382 4921 y(136)f(:)118 b(::)39 b(atomic{q?Act)121 b(->)79 b(state_L2)41 b(=)e(Act;)h(goto)h(Actif})382 5025 y(137)f(:)f(fi;)382 5129 y(138)h(:)f(Actif:)382 5233 y(139)h(:)f(progress_L2:)382 5337 y(140)h(:)314 b(do)p eop 71 19 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(71)382 548 y Fa(141)40 b(:)118 b(::)39 b(atomic{)i(q?Act)g(->)78 b(state_L2)42 b(=)d(Act;)h(goto)g(Actif})382 652 y(142)g(:)118 b(::)39 b(atomic{)i(q?Int)g(->)78 b(state_L2)42 b(=)d(Int;)h(goto)g(Stopped})382 756 y(143)g(:)118 b(::)39 b(atomic{)i(q!end)g(->)78 b(state_L2)42 b(=)d(end)h(;)f(goto)i(End)e(}) 382 860 y(144)h(:)314 b(od;)382 964 y(145)40 b(:)f(Stopped:)382 1068 y(146)h(:)392 b(if)382 1173 y(147)40 b(:)118 b(::)39 b(atomic{)i(q?Act)119 b(->)40 b(state_L2)h(=)e(Act;)h(goto)h(Actif})382 1277 y(148)f(:)118 b(::)39 b(atomic{)i(q?Start)g(->)f(state_L2)h(=)e (Act;)h(goto)h(Actif})382 1381 y(149)f(:)392 b(fi;)382 1485 y(150)40 b(:)f(End:)382 1589 y(151)h(:)275 b(if)382 1693 y(152)40 b(:)118 b(::)39 b(atomic{)i(q?Act)119 b(->)79 b(state_L2)41 b(=)e(Act;)i(goto)f(Actif})382 1797 y(153)g(:)118 b(::)39 b(atomic{)i(q?Start)g(->)79 b(state_L2)41 b(=)e(Act;)i(goto)f (Actif})382 1901 y(154)g(:)275 b(fi)382 2005 y(155)40 b(:)f(})382 2110 y(156)h(:)f(proctype)i(W\(chan)g(q\))382 2214 y(157)f(:)f({)382 2318 y(158)h(:)f(state_W)i(=)f(NoAct;)382 2422 y(159)g(:)f(if)382 2526 y(160)h(:)118 b(::)39 b(atomic{q?Start)k (->)79 b(state_W)41 b(=)e(Act;)h(goto)g(Actif})382 2630 y(161)g(:)118 b(::)39 b(atomic{q?Act)121 b(->)79 b(state_W)41 b(=)e(Act;)h(goto)g(Actif})382 2734 y(162)g(:)f(fi;)382 2838 y(163)h(:)f(Actif:)382 2942 y(164)h(:)f(progress_W:)382 3047 y(165)h(:)314 b(do)382 3151 y(166)40 b(:)118 b(::)39 b(atomic{)i(q?Act)g(->)78 b(state_W)41 b(=)f(Act;)g(goto)g(Actif})382 3255 y(167)g(:)118 b(::)39 b(atomic{)i(q?Int)g(->)78 b(state_W)41 b(=)f(Int;)g(goto)g(Stopped})382 3359 y(168)g(:)118 b(::)39 b(atomic{)i(q!end)g(->)78 b(state_W)41 b(=)f(end)g(;)f(goto)h (End)g(})382 3463 y(169)g(:)314 b(od;)382 3567 y(170)40 b(:)f(Stopped:)382 3671 y(171)h(:)392 b(if)382 3775 y(172)40 b(:)118 b(::)39 b(atomic{)i(q?Act)119 b(->)40 b(state_W)h(=)e(Act;)h (goto)g(Actif})382 3879 y(173)g(:)118 b(::)39 b(atomic{)i(q?Start)g(->) f(state_W)h(=)e(Act;)h(goto)g(Actif})382 3984 y(174)g(:)392 b(fi;)382 4088 y(175)40 b(:)f(End:)382 4192 y(176)h(:)275 b(if)382 4296 y(177)40 b(:)118 b(::)39 b(atomic{)i(q?Act)119 b(->)79 b(state_W)41 b(=)e(Act;)h(goto)h(Actif})382 4400 y(178)f(:)118 b(::)39 b(atomic{)i(q?Start)g(->)79 b(state_W)41 b(=)e(Act;)h(goto)h(Actif})382 4504 y(179)f(:)275 b(fi)382 4608 y(180)40 b(:)f(})382 4712 y(181)h(:)f(active)i(proctype)g (Controller\(\))382 4816 y(182)f(:)f({)382 4921 y(183)h(:)78 b(mtype)41 b(x;)382 5025 y(184)f(:)f(/*)h(No)g(process)g(to)g(Start)g (up)g(!)g(*/)382 5129 y(185)g(:)382 5233 y(186)g(:)f(St0:)382 5337 y(187)h(:)f(do)p eop 72 20 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(72)382 548 y Fa(188)40 b(:)f(::queue!CTR\(REQ\);)382 652 y(189)h(:)118 b(queue?CTR\(x\);)382 756 y(190)40 b(:)118 b(if)382 860 y(191)40 b(:)157 b(::\(x==EMY\)->)81 b(break)382 964 y(192)40 b(:)157 b(::\(x==l1ff\))42 b(->)d (queue!CTR\(YES\);)82 b(c_L1!Act;)42 b(goto)e(St1)382 1068 y(193)g(:)157 b(::\(x==l2ff\))42 b(->)d(queue!CTR\(YES\);)82 b(c_L2!Act;)42 b(goto)e(St2)382 1173 y(194)g(:)157 b(::\(x==wff\))41 b(->)f(queue!CTR\(YES\);)82 b(c_W!Act;)41 b(goto)f(St3)382 1277 y(195)g(:)157 b(::else)h(->)40 b(skip)382 1381 y(196)g(:)118 b(fi)382 1485 y(197)40 b(:)f(od;)382 1589 y(198)h(:)f(do)382 1693 y(199)h(:)f(::)h(env?l1)h(->)e(c_L1!Act;)i(goto)g(St1)382 1797 y(200)f(:)f(::)h(env?l2)h(->)e(c_L2!Act;)i(goto)g(St2)382 1901 y(201)f(:)f(::)h(env?w)g(->)g(c_W!Act;)h(goto)f(St3)382 2005 y(202)g(:)f(od;)382 2110 y(203)h(:)382 2214 y(204)g(:)f(St3:)382 2318 y(205)h(:)f(do)382 2422 y(206)h(:)f(::env?l1)81 b(->)39 b(queue!CTR\(SND\);)382 2526 y(207)h(:)549 b (queue!NORM\(l1ff\);)382 2630 y(208)40 b(:)549 b(queue!CTR\(ESD\))382 2734 y(209)40 b(:)f(::env?l2)81 b(->)39 b(queue!CTR\(SND\);)382 2838 y(210)h(:)549 b(queue!NORM\(l2ff\);)382 2942 y(211)40 b(:)549 b(queue!CTR\(ESD\))382 3047 y(212)40 b(:)f(::c_W?end)j(->)d (goto)h(St0)382 3151 y(213)g(:)f(od;)382 3255 y(214)h(:)382 3359 y(215)g(:)f(St2:)382 3463 y(216)h(:)f(do)382 3567 y(217)h(:)f(::queue!CTR\(REQ\);)382 3671 y(218)h(:)118 b(queue?CTR\(x\);)382 3775 y(219)40 b(:)118 b(if)382 3879 y(220)40 b(:)157 b(::\(x==EMY\)->)81 b(break)382 3984 y(221)40 b(:)157 b(::\(x==l1ff\))42 b(->)d(queue!CTR\(YES\);)82 b(c_L1!Act;)42 b(goto)e(St4)382 4088 y(222)g(:)157 b(::\(x==wff\))41 b(->)f(queue!CTR\(YES\);)82 b(c_L2!Int;)41 b(c_W!Act;)g(goto)f(St3)382 4192 y(223)g(:)157 b(::else)h(->)40 b(skip)382 4296 y(224)g(:)118 b(fi)382 4400 y(225)40 b(:)f(od;)382 4504 y(226)h(:)f(do)382 4608 y(227)h(:)f(::c_L2?end)j(->)d(goto)i(St0)382 4712 y(228)f(:)f(::)h(env?l1)h(->)e(c_L1!Act;)i(goto)g(St4)382 4816 y(229)f(:)f(::)h(env?w)g(->)g(queue!CTR\(SND\);)382 4921 y(230)g(:)510 b(queue!NORM\(l2ff\);)382 5025 y(231)40 b(:)510 b(queue!CTR\(ESD\);)382 5129 y(232)40 b(:)510 b(c_L2!Int;)41 b(c_W!Act;)g(goto)f(St3)382 5233 y(233)g(:)f(od;)382 5337 y(234)h(:)p eop 73 21 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(73)382 548 y Fa(235)40 b(:)f(St4:)382 652 y(236)h(:)f(do)382 756 y(237)h(:)f(::queue!CTR\(REQ\);)382 860 y(238)h(:)118 b(queue?CTR\(x\);)382 964 y(239)40 b(:)118 b(if)382 1068 y(240)40 b(:)157 b(::\(x==EMY\)->)81 b(break)382 1173 y(241)40 b(:)157 b(::\(x==wff\))41 b(->)f (queue!CTR\(YES\);)82 b(c_L1!Int;)41 b(c_L2!Int;)h(c_W!Act;)f(goto)f (St3)382 1277 y(242)g(:)157 b(::else)h(->)40 b(skip)382 1381 y(243)g(:)118 b(fi)382 1485 y(244)40 b(:)f(od;)382 1589 y(245)h(:)382 1693 y(246)g(:)f(do)382 1797 y(247)h(:)f(::c_L1?end) j(->)d(goto)i(St5)382 1901 y(248)f(:)f(::c_L2?end)j(->)d(goto)i(St6)382 2005 y(249)f(:)f(::)h(env?w)g(->)g(queue!CTR\(SND\);)382 2110 y(250)g(:)510 b(queue!NORM\(l1ff\);)382 2214 y(251)40 b(:)510 b(queue!NORM\(l2ff\);)382 2318 y(252)40 b(:)510 b(queue!CTR\(ESD\);)382 2422 y(253)40 b(:)510 b(c_L1!Int;)41 b(c_L2!Int;)h(c_W!Act;)f(goto)f(St3)382 2526 y(254)g(:)f(od;)382 2630 y(255)h(:)382 2734 y(256)g(:)f(St6:)382 2838 y(257)h(:)f(do)382 2942 y(258)h(:)f(::queue!CTR\(REQ\);)382 3047 y(259)h(:)118 b(queue?CTR\(x\);)382 3151 y(260)40 b(:)118 b(if)382 3255 y(261)40 b(:)157 b(::\(x==EMY\)->)81 b(break)382 3359 y(262)40 b(:)157 b(::\(x==wff\))41 b(->)f(queue!CTR\(YES\);)82 b(c_L1!Int;)41 b(c_W!Act;)g(goto)f(St3)382 3463 y(263)g(:)157 b(::else)h(->)40 b(skip)382 3567 y(264)g(:)118 b(fi)382 3671 y(265)40 b(:)f(od;)382 3775 y(266)h(:)f(do)382 3879 y(267)h(:)f(::env?l2)81 b(->)39 b(queue!CTR\(SND\);)382 3984 y(268)h(:)549 b(queue!NORM\(l2ff\);)382 4088 y(269)40 b(:)549 b(queue!CTR\(ESD\))382 4192 y(270)40 b(:)f(::c_L1?end)j(->)d (goto)i(St0)382 4296 y(271)f(:)f(::)h(env?w)g(->)g(queue!CTR\(SND\);) 382 4400 y(272)g(:)510 b(queue!NORM\(l1ff\);)382 4504 y(273)40 b(:)510 b(queue!CTR\(ESD\);)382 4608 y(274)40 b(:)510 b(c_L1!Int;)41 b(c_W!Act;)g(goto)f(St3)382 4712 y(275)g(:)f(od;)382 4816 y(276)h(:)382 4921 y(277)g(:)f(St5:)382 5025 y(278)h(:)f(do)382 5129 y(279)h(:)f(::queue!CTR\(REQ\);)382 5233 y(280)h(:)118 b(queue?CTR\(x\);)382 5337 y(281)40 b(:)118 b(if)p eop 74 22 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(74)382 548 y Fa(282)40 b(:)157 b(::\(x==EMY\)->)81 b(break)382 652 y(283)40 b(:)157 b(::\(x==wff\))41 b(->)f (queue!CTR\(YES\);)82 b(c_L2!Int;)41 b(c_W!Act;)g(goto)f(St3)382 756 y(284)g(:)157 b(::else)h(->)40 b(skip)382 860 y(285)g(:)118 b(fi)382 964 y(286)40 b(:)f(od;)382 1068 y(287)h(:)f(do)382 1173 y(288)h(:)f(::env?l1)81 b(->)39 b(queue!CTR\(SND\);)382 1277 y(289)h(:)549 b(queue!NORM\(l1ff\);)382 1381 y(290)40 b(:)549 b(queue!CTR\(ESD\))382 1485 y(291)40 b(:)f(::c_L2?end)j(->)d (goto)i(St0)382 1589 y(292)f(:)f(::)h(env?w)g(->)g(queue!CTR\(SND\);) 382 1693 y(293)g(:)510 b(queue!NORM\(l2ff\);)382 1797 y(294)40 b(:)510 b(queue!CTR\(ESD\);)382 1901 y(295)40 b(:)510 b(c_L2!Int;)41 b(c_W!Act;)g(goto)f(St3)382 2005 y(296)g(:)f(od;)382 2110 y(297)h(:)382 2214 y(298)g(:)f(St1:)382 2318 y(299)h(:)f(do)382 2422 y(300)h(:)f(::queue!CTR\(REQ\);)382 2526 y(301)h(:)118 b(queue?CTR\(x\);)382 2630 y(302)40 b(:)118 b(if)382 2734 y(303)40 b(:)157 b(::\(x==EMY\)->)81 b(break)382 2838 y(304)40 b(:)157 b(::\(x==l2ff\))42 b(->)d(queue!CTR\(YES\);)82 b(c_L2!Act;)42 b(goto)e(St7)382 2942 y(305)g(:)157 b(::\(x==wff\))41 b(->)f(queue!CTR\(YES\);)82 b(c_L1!Int;)41 b(c_W!Act;)g(goto)f(St3)382 3047 y(306)g(:)157 b(::else)h(->)40 b(skip)382 3151 y(307)g(:)118 b(fi)382 3255 y(308)40 b(:)f(od;)382 3359 y(309)h(:)f(do)382 3463 y(310)h(:)f(::c_L1?end)j(->)d(goto)i(St0)382 3567 y(311)f(:)f(::)h (env?l2)h(->)e(c_L2!Act;)i(goto)g(St7)382 3671 y(312)f(:)f(::)h(env?w)g (->)g(queue!CTR\(SND\);)382 3775 y(313)g(:)510 b(queue!NORM\(l1ff\);) 382 3879 y(314)40 b(:)510 b(queue!CTR\(ESD\);)382 3984 y(315)40 b(:)510 b(c_L1!Int;)41 b(c_W!Act;)g(goto)f(St3)382 4088 y(316)g(:)f(od;)382 4192 y(317)h(:)382 4296 y(318)g(:)f(St7:)382 4400 y(319)h(:)f(do)382 4504 y(320)h(:)f(::queue!CTR\(REQ\);)382 4608 y(321)h(:)118 b(queue?CTR\(x\);)382 4712 y(322)40 b(:)118 b(if)382 4816 y(323)40 b(:)157 b(::\(x==EMY\)->)81 b(break)382 4921 y(324)40 b(:)157 b(::\(x==wff\))41 b(->)f (queue!CTR\(YES\);)82 b(c_L1!Int;)41 b(c_L2!Int;)h(c_W!Act;)f(goto)f (St3)382 5025 y(325)g(:)157 b(::else)h(->)40 b(skip)382 5129 y(326)g(:)118 b(fi)382 5233 y(327)40 b(:)f(od;)382 5337 y(328)h(:)f(do)p eop 75 23 bop 382 249 a FD(P)-8 b(.)31 b(Arg\023)-45 b(on)30 b(et)h(al.,)g Ft(Issues)i(in)f(Using)g(F)-7 b(ormal)35 b(Metho)-5 b(ds)7 b FD(,)32 b Fu(EJS)p FD(,)f(1\(1\))h(52-75)g (\(1998\))26 b(75)382 548 y Fa(329)40 b(:)f(::c_L1?end)j(->)d(goto)i (St5)382 652 y(330)f(:)f(::c_L2?end)j(->)d(goto)i(St6)382 756 y(331)f(:)f(::)h(env?w)g(->)g(queue!CTR\(SND\);)382 860 y(332)g(:)510 b(queue!NORM\(l2ff\);)382 964 y(333)40 b(:)510 b(queue!NORM\(l1ff\);)382 1068 y(334)40 b(:)510 b(queue!CTR\(ESD\);)382 1173 y(335)40 b(:)510 b(c_L1!Int;)382 1277 y(336)40 b(:)510 b(c_L2!Int;)382 1381 y(337)40 b(:)510 b(c_W!Act;)382 1485 y(338)40 b(:)510 b(goto)40 b(St3)382 1589 y(339)g(:)f(od;)382 1693 y(340)h(:)f(end:)h(skip)382 1797 y(341)g(:)f(})p eop end userdict /end-hook known{end-hook}if .