qNH zxpwin.litf`=B0 !<>>@VERSYS(1)->>ashell.bsi[115] !|<>>@VERSYS(1)->>ashello.def[114] !<>>@VERSYS(1)->>ashell.def[130] '4 NvL"w!=@; !3=@ $=@<[4 !(){};= =B6' !(){};=, =B6' !3 !=@=@ !ɀ=@ $ɂ$ !!=@=@14 $ ! !=@; Z = =@=B ]"w$=% bR R"w=C $=/=@% qR R"w=B $=% qR R"w=C = = (']"w$3#=@1< *=@1=B6*  !=@ .w"wdi$<* !=}{()}  = < /NL (No Launch) defeats launch of app (xfer only)  =  is an AMOS or native filespec  =  = < 2. If = not specified, file is tranferred to 'current' directory,  = < which is either where ZTERM was launched from (typically  = < C:\Program Files\COOL.STF\ZTERM 2000\) or the directory specified  = < in the Transfer Folders configuration, or the last directory you manually  = < saved a file to. Otherwise it is transferred to the specified .  = < may contain environment variables (e.g. %TEMP%).  =  = < 3. If () specified (e.g. "(DOC)"), then the file extension  = < will be changed to on the PC. This is useful if the  = < original file extension doesn't match Windows conventions. Note  = < that you may need to enclose it in quotes if specifying it on a  = < UNIX command line (to pass the parentheses by the shell).  = = Hit RETURN: []"w =  = <%Error during operation - please check setup and try again. $V=$  = <%Likely causes of the error:  = <% - Specified PC directory does not exist.  = <% - FTP is not configured properly. (Try a manual transfer.) $V=A"  = <% - There is no Windows app associated with the file extension.  = <% - You may need to specify the target directory (e.g. C:\TEMP=) = Hit RETURN to recover: [ =  = <% Error # =/ / <@<|pdd8 XPd     ! ' 2 (Z ` f , ,                   $ * 0 6 < B P V Z ` c f l l n p v v                        : X   (<Pdx,@TUV4  (2(ZqNH zxpwin.basprogram ZXPWIN,1.0(007) ! ZXPWIN.BAS ! ! Utility to transfer a file to the remote PC and then open it ! with the associated application. Requires that the emulator ! be ZTERM. By default, it transfers the file to the default ! current PC directory (probably where ZTERM was launched from) ! but you can pass an optional directory specifier. You can ! also pass a new file extension, in case the file extension on ! on the host doesn't associate with a registered file type on ! Windows. !-------------------------------------------------------------------------- !EDIT HISTORY ![001] December 13, 2001 09:16 AM Edited by JDM ! Created (variation of EXPZT2) ![002] February 15, 2002 08:16 AM Edited by jack ! Fix bug when native filespec specified; improve error message; ! strip out any quotes surrounding (ext) ![003] September 13, 2002 06:49 AM Edited by jack ! This version is ASCII ![004] June 16, 2003 05:23 PM Edited by jack ! Reinstate check for ZTERM ![005] January 25, 2005 02:18 PM Edited by jack ! /NO switch to just transfer file (no launch of app); ! also supports ATE now too /jdm ![006] January 26, 2005 08:35 AM Edited by jack ! Fix launch bug in [005] ![007] December 04, 2005 11:16 AM Edited by joaquin ! Improve error message, use ashell.def symbols !-------------------------------------------------------------------------- MAP1 MISC MAP2 CMD$,S,500 MAP2 SETCMD$,S,500 MAP2 OP,F MAP2 VAR$,S,20 MAP2 VALUE$,S,60 MAP2 CARD$,S,60 MAP2 PLINE,S,500 MAP2 HOSTFILE$,S,100 MAP2 PCFILE$,S,100 MAP2 PCFILEXT$,S,32 MAP2 WINCMD$,S,80 MAP2 HOSTDIR$,S,100 MAP2 STATUS,F MAP2 LOCALPATH$,S,200 MAP2 X,F MAP2 Y,F MAP2 ABORT,F MAP2 CR$,S,2 MAP2 S$,S,2 MAP2 R$,S,2 MAP2 A,B,1 MAP2 B,B,1 MAP2 C,B,1 MAP2 EXT$,S,5 MAP2 JOBNAM$,S,6 MAP2 TRMNAM$,S,6 MAP2 TRMTDV$,S,6 MAP2 NOLAUNCH,B,1 ! [5] MAP2 PRGVER,S,20 ! [5] MAP2 DISK$,S,6 ! [7] DSK01 MAP2 PPN$,S,10 ! [7] [p,pn] ++include ashinc:ashell.bsi on error goto TRAP xcall GETVER,PRGVER ! [5] ? tab(-1,0);"ZXPWIN ";PRGVER;" - UNIX to PC (via ZTERM) File Export Utility" ? "Command Line: ";A2S ? ? "[Note: if process appears to die, hit Control-C to abort]" ? ! First see if we are running zterm... ? tab(2,1);"Checking to see if ZTERM is running...";tab(-1,254); !Set image mode on so that ACCEPT works XCALL NOECHO ! [4] First see if we are in Wyse50 emulation (because it sends ! [4] back an extra CR in the sequence below... xcall JOBTRM,JOBNAM$,TRMNAM$,TRMTDV$ !Send three ESC ? characters back to back. Normally sends the row/col print CHR$(27);"?"; xcall ACCEPN,A : xcall ACCEPN,B : print A;B;tab(-1,254); if TRMTDV$="WYSE50" xcall ACCEPN,C : print C; ! [4] print CHR$(27);"?"; xcall ACCEPN,A : xcall ACCEPN,B : print A;B;tab(-1,254); if TRMTDV$="WYSE50" xcall ACCEPN,C : print C; ! [4] print CHR$(27);"?"; xcall ACCEPN,A : xcall ACCEPN,B : print A;B;tab(-1,254); if TRMTDV$="WYSE50" xcall ACCEPN,C : print C; ! [4] xcall TINKEY,C ! [4] WYSE50 may send an extra CR !ZTERM sends "ZT" back on the third - non-ZTERM terminals and emulators !send the row and column again if A=ASC("Z") and B=ASC("T") print " OK" else print print "ERROR: Cannot continue - PC not running ZTERM/ATE in AM62x/WY50 emulation" goto ABORT endif xcall ECHO ! pick up the command line args PLINE = A2S[A2,-1] xcall TRIM,PLINE if PLINE="" or PLINE = "/?" or PLINE="?" or PLINE="/H" goto HELP ! [5] check for /NL if ucs(PLINE[1,3]) = "/NL" then PLINE = PLINE[4,-1] xcall TRIM,PLINE NOLAUNCH = 1 endif ! see if we got a target dir arg PCFILE$ = "" ! start by assuming no X = instr(1,PLINE,"=") if X > 1 then PCFILE$ = PLINE[1,X-1] PLINE = PLINE[X+1,-1] xcall TRIM,PCFILE$ if PCFILE$[-1,-1] # "\" then PCFILE$ = PCFILE$ + "\" endif ! now see if we have () xcall TRIM,PLINE ! convert "(xxx)" to (xxx) if PLINE[1,2]="""(" then X = instr(1,PLINE,")""") if X < 1 or X > 6 then print "?Syntax error - (ext)" goto HELP endif PLINE = PLINE[2,X] + PLINE[X+2,-1] endif if PLINE[1,1]="(" then X = instr(1,PLINE,")") if X < 1 or X > 6 then print "?Syntax error - (ext)" goto HELP endif EXT$ = PLINE[2,X-1] PLINE = PLINE[X+1,-1] endif ! remainder of line is HOSTFILE$ HOSTFILE$ = PLINE xcall TRIM,HOSTFILE$ ! convert HOSTFILE$ from AMOS format to native format if instr(1,HOSTFILE$,"/") < 1 then xcall MIAMEX,MX_FSPEC,HOSTFILE$,LOCALPATH$,"CSV", & FS_FMA+FS_TOH,DDB,STATUS ! [7] if STATUS # 0 then ? tab(-1,10); ! [7] ? "Error ";STATUS; if STATUS=1 then ? "(File specification error)";! [7] if STATUS=13 then ? "(Device does not exist)"; ! [7] if STATUS=20 then ? "(Invalid filename)"; ! [7] ? " returned from MIAMEX (MX_FSPEC!) " ? "Hostfile: ";HOSTFILE$; ? " Current PPN: "; ! [7] xcall DSKPPN,DISK$,PPN$ ! [7] ? DISK$;":";PPN$ ! [7] goto ABORT endif HOSTFILE$ = LOCALPATH$ else ! specified file already in native format LOCALPATH$ = HOSTFILE$ ! already in native format endif ! LOCALPATH$ and HOSTFILE$ now same (native format) ! Reduce HOSTFILE$ to just file.ext Y = 1 do while Y > 0 Y = instr(1,HOSTFILE$,"/") if Y > 0 then HOSTFILE$ = HOSTFILE$[Y+1,-1] loop ! Set HOSTDIR$ to be just the path without the file.ext xcall STRIP,LOCALPATH$ xcall STRIP,HOSTFILE$ HOSTDIR$ = LOCALPATH$[1,len(LOCALPATH$)-len(HOSTFILE$)-1] ! append file.ext to PCFILE$ PCFILEXT$ = HOSTFILE$ if EXT$ # "" then ! replace extension X = instr(1,PCFILEXT$,".") if X < 1 then PCFILEXT$ = PCFILEXT$ + "." + EXT$ else PCFILEXT$ = PCFILEXT$[1,X] + EXT$ endif endif PCFILE$ = PCFILE$ + lcs(PCFILEXT$) ? "Transferring ";HOSTDIR$;"/";HOSTFILE$;" to ";PCFILE$ ! Transfer the file... ABORT = 1 ! in case error trapped ? chr(27);chr(1);chr(127);"2";HOSTDIR$;chr(0); ! ASCII mode ? HOSTFILE$;chr(0); ? PCFILE$;chr(0); ? tab(-1,9); input "Waiting for transfer acknowledgement... ",CR$ if asc(CR$)=3 goto ABORT ? ? "Acknowledgment received" ? "Transfer complete" if NOLAUNCH = 0 then ! [5] ! Use Shell Execute to launch associated app... ABORT = 2 ! in case error trapped ? chr(27);chr(12);"O";PCFILE$;chr(0); !? "chr(27);chr(12);O;";PCFILE$;";chr(0);..." input "Waiting for launch acknowledgement... ",CR$ if asc(CR$)=3 goto ABORT ? ? "Acknowledgment received" ? "Launch complete" endif end HELP: ? "Usage: .ZXPWIN {/NL} {=}{()}" ! [5] ? " /NL (No Launch) defeats launch of app (xfer only)" ![5] ? "Examples:" ? " .ZXPWIN TEST.DOC" ? " .ZXPWIN C:\TEMP=DSK1:TEST.DOC[77,33]" ? " .ZXPWIN C:\TEMP=(XLS)TEST.LST" ? " .ZXPWIN/NL C:\TEMP=""(DOC)""TEST.LST" ! [5] ? "Notes:" ? " 1. is an AMOS or native filespec" ? ? " 2. If = not specified, file is tranferred to 'current' directory, " ? " which is either where ZTERM was launched from (typically " ? " C:\Program Files\COOL.STF\ZTERM 2000\) or the directory specified " ? " in the Transfer Folders configuration, or the last directory you manually" ? " saved a file to. Otherwise it is transferred to the specified ." ? " may contain environment variables (e.g. %TEMP%). " ? ? " 3. If () specified (e.g. ""(DOC)""), then the file extension" ? " will be changed to on the PC. This is useful if the " ? " original file extension doesn't match Windows conventions. Note" ? " that you may need to enclose it in quotes if specifying it on a" ? " UNIX command line (to pass the parentheses by the shell)." ? input "Hit RETURN: ",CR$ end ABORT: xcall ECHO ? ? "%Error during operation - please check setup and try again." if ABORT > 0 then ? "%Likely causes of the error:" ? "% - Specified PC directory does not exist." ? "% - FTP is not configured properly. (Try a manual transfer.)" endif if ABORT=2 then ? "% - There is no Windows app associated with the file extension." ? "% - You may need to specify the target directory (e.g. C:\TEMP=)" endif input "Hit RETURN to recover: ",CR$ end TRAP: ? ? "% Error # ";err(0) goto ABORT qNHoz.txt************************************************************************** * * * A-Shell/Linux Copyright 2008 by MicroSabio * * * * This is a binary packaging of A-Shell/Linux in cpio format. * * * * If you are trying to download this file from the web, right click * * on the link and select the "Save As" option. * * * * If you are looking at this message in a text editor, exit without * * saving the file and consult the instruction file (aslnxins.txt) * * or the Setup Guide for instructions on unpacking the file and * * installing A-Shell. * * * ************************************************************************** qNH ztxfer.lithf |!<>>@VERSYS(1)->>ashell.def[176]  b!=@ ' t <' $  = < (/A)  = $|  =  ' e <' $ K = < (/A) R = $j<*t<* ge  $o<*=@t<*4=@!=" e  $=@t<*4=$ 1$=A="  =   = =@=  = =A=@ =C !C=C !H=C !M=C !R=C !W=C !\=C !a=C !f=C !k=C !p=D !u=D !z=D !=D !=D !=D !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H ! =H !=I !=I !=J !=J !$=K !)=K !.=L !3=L !8=M !==M !B=N !G=N !L=O !Q=@ !V=A ![=B !`=B !j=@ !o=A !t=A !y=B !~=B !=C !=A@ !=B0 !=A !=A !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H !=H !=I !=I !=J !=J !=K ! =K !=L !=L !=M != !#=@ !(=A !-=A@ !2=A !7=A !<=A !A=A !F=B !K=B !P=B !U=@ !Z=A !_=B !d=B !i=D !n=E !s=F !x=F !}=G !=G !=H !=H !=I !=I !=J !=J !=K !=L !=L !=M !=M !=N !=N !=O !=@ !=A !=A !=B !=B != !=@ !=A !=B !=B !=B !=B ! =C !=C !=D !=D !=E !"=F !'=F !,=H !1=I !6=I !;=J !@=J !E=K !J=K !O=L !T=L !Y=M !^=M !c=M !h=N !m=N !r= !w=@ !|=A !=B !=D != !=@ !=A !=A@ !=A !=A !=A !=A !=B !=B !=B !=B0 !=B@ !=BP !=B` !=Bp !=B !=B !=B !=B !=B !=B !=B !=B !=B ! =B !<>>@VERSYS(1)->>ashell[90] '  NvL"w  ! =@; ! 3=@ $=@ <[4 * !(){};= =B6' @ !(){};=, =B6' !3 !$=@=@ !$$=@ $$$ h  !.=@ $=@14 $. !. R  ! =@;  ]"w$3=% R R"w?$=/=@%  R R"w^.$.=%  R R"w= = ( ']"w$ 3# =@1< * =@1=B6*  < !=@  .w"w$A<* !A@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~  "$&(*,.02468:>BFJNRVZ^bfjnrtvxz z{|}~  $(,.02468:<>@BDFHJLNPRVZ^bfjnrvz~P    qNH xtree.map!XTREE.MAP [123] - MAP statements and definitions needed by XTREE !VEDIT=123 ![101] July 20, 2004 10:57 PM Edited by Jack ! ![102] September 12, 2004 03:09 PM Edited by Jack ! Add XTF'DEL ![103] September 22, 2004 05:12 AM Edited by Jack ! Add XTF'FILANS ![104] September 23, 2004 12:43 PM Edited by Jack ! Add XTR'PARENTID ![105] February 23, 2005 09:00 PM Edited by Jack ! Add XTF'CTRLC, XTF'CHKBOX, XTR'SHOW3D ![106] February 25, 2005 06:05 PM Edited by joaquin ! Add XTR'HIDEHEADER ![107] February 26, 2005 11:05 AM Edited by joaquin ! Change XTF'CHKBOX to XTF'EDITABLE ![108] March 8, 2005 10:18 PM Edited by jack ! Split out constants (symbols) into XTREEO.DEF (requires 923+) ! and put new versions of the constants (XTF_xxx) in ASHELL.DEF. ! Add XTR'XROW ![109] March 14, 2005 03:48 PM Edited by joaquin ! Add XTR'XNAVCOD,XTR'NAVMASK,XTR'COL ![110] April 22, 2005 11:05 AM Edited by joaquin ! Add XTR'EXPANDALL ![111] May 11, 2005 09:55 PM Edited by joaquin ! Chg XTR'EXPANDALL to XTR'EXPANDLEVEL ![112] June 5, 2005 04:03 PM Edited by joaquin ! Add XTR'SKEY ![113] December 08, 2005 11:14 PM Edited by joaquin ! Add XTR'DELCTLID ![114] March 08, 2006 03:42 PM Edited by joaquin ! Add XTR'COLREORDER, XTR'COLORDER() ![115] July 24, 2006 12:57 PM Edited by joaquin ! Add XTR'TIMEOUT ![116] August 29, 2006 08:10 AM Edited by joaquin ! Add XTR'LEFTPANECOLS, XTR'LEFTPANEWIDTH ![117] September 21, 2006 08:57 AM Edited by joaquin ! Add XTR'CLOSEDENDED ![118] November 18, 2006 05:01 PM Edited by joaquin ! Add XTR'CLICKROW, XTR'CLICKCOL ![119] November 21, 2006 05:01 PM Edited by joaquin ! Add XTR'XVALIDATE ![120] December 2, 2006 05:01 PM Edited by joaquin ! Rename CLICKROW/CLICKCOL to TARGETROW/TARGETCOL ![121] April 5, 2007 05:25 PM Edited by joaquin ! Remove XTREEO.DEF (easier to include it separately if needed); ! correct comment on XTR'SORTORDER() ![122] June 1, 2007 04:45 PM Edited by joaquin ! Overlay XTR'NEXTROW (which was no longer used) with XTR'TOPINDEX ![123] June 6, 2007 11:15 AM Edited by joaquin ! Add XTR'NFSELSTYLE !------------------------------------------------------------------------- ![121] ++include XTREEO.DEF ! [108] old versions with ' map1 XTRCTL ! extended XTREE parameters map2 XTR'OPCODE,B,1 ! 0=normal (create), 1=replace data, ! 2=append, 3=delete, 4=select, ! 5=delete one row map2 XTR'CTLNO,B,1 ! 0=1st pcklst ctl, 1=2nd, 2=3rd map2 XTR'ITEMLINES,B,1 ! max # dsp lines of text per item map2 XTR'TREELINESTYLE,B,1 ! 0=none,1=solid,2=dotted map2 XTR'SHOWBUTTONS0,B,1 ! Show level 0 tree btns (0=no, 1=yes) map2 XTR'SHOWBUTTONS,B,1 ! Show level 1+ tree btns map2 XTR'SHOWGRID,B,1 ! Show grid lines (0=no,1=yes) map2 XTR'GRIDSTYLE,B,1 ! 0=vert, 1=horz, 2=both ! (0-2 = solid, 3-5 = dotted) map2 XTR'TRUNCATED,B,1 ! Show truncation indicator map2 XTR'SELECTAREA,B,1 ! Set to 1 map2 XTR'FLYBY,B,1 ! Fly by highlighting (0=no, 1=yes) map2 XTR'SCROLLTIPS,B,1 ! Show scroll tips (0=no, 1=yes) map2 XTR'COLUMNACTIVE,B,1 ! Active column (on entrance & exit) map2 XTR'COLUMNSORT(3),B,1 ! Columns sorted by (1=1st col) map2 XTR'SORTORDER(3),B,1 ! Sort order (0=ascending, 1=descending) map2 XTR'KBDSTR,S,10 ! kbd click string map2 XTR'USETHEMES,B,1 ! 1=use XP themes (if available) map2 XTR'PARENTID,B,2 ! ID of parent control (e.g. TAB) map2 XTR'SHOW3D,B,1 ! 1=use 3D style [105] map2 XTR'HIDEHEADER,B,1 ! 1=hide header [106] map2 XTR'XNAVCOD,B,1 ! [109] cell editing navigation code map2 XTR'XNAVMASK,B,1 ! [109] internal use map2 XTR'XROW,B,4 ! [108] current row map2 XTR'XCOL,B,1 ! [108] current col ![111] MAP2 XTR'EXPANDALL,B,1 ! [110] 1=all level 0, 2=all levels map2 XTR'EXPANDLEVEL,B,1 ! [111] 0=none, N=thru level N map2 XTR'SKEY,S,10 ! [112] single-sel srch key (overrides answer) map2 XTR'NEXTROW,B,4 ! [113] used internally map2 XTR'TOPINDEX,B,4,@XTR'NEXTROW ![122] force vertical scroll position map2 XTR'DELCTLID,B,4 ! [113] ID of ctl to delete (progress) ![113] MAP2 XTR'UNUSED,X,8 ! unused [110] was 19 [112] was 18 map2 XTR'USECOLORDER,B,1 ! [114] use COLORDER() to reorder? map2 XTR'COLORDER(31),B,1 ! [114] a(x) = real col # for disp col x map2 XTR'TIMEOUT,B,4 ! [115] timeout (ms) (exitcode=11) map2 XTR'LEFTPANECOLS,B,1 ! [116] (XTF_SPLIT) # cols in left pane map2 XTR'LEFTPANEWIDTH,B,1 ! [116] (XTF_SPLIT) width of left pane ! 0=optimize, -1=50/50, else col units map2 XTR'CLOSEDENDED,B,1 ! [117] 1=last col not open ended map2 XTR'XVALIDATE,B,1 ! [119] 1=must validate xrow,xrol map2 XTR'TARGETROW,B,4 ! [118][120] row clicked or navigated to map2 XTR'TARGETCOL,B,1 ! [118][120] col clicked or navigated to map2 XTR'NFSELSTYLE,B,1 ! [123] no-focus sel style ! [123] 0=dflt, 1=keep (bar), 2=frame, 3=nothing map2 XTR'UNUSED2,X,18 ! [118] (was 25) [119] was 20 [123] was 19 ![108] flag symbols moved to XTREEO.DEF and ASHELL.DEF qNH xtree.def!XTREE.DEF [106] - XTREE definitions !VEDIT=106 ![100] March 10, 2005 10:17 PM Edited by Jack ! Originally defined as MAPs in XTREE.MAP, these are the new ! versions (using underlines); see XTROLD.DEF for old versions ![101] May 13, 2005 04:25 AM Edited by Jack ! Add XTF_TOTALS ![102] May 23, 2005 04:25 AM Edited by Jack ! Add XTF_NOREDRAW ![103] December 02, 2005 04:05 PM Edited by joaquin ! Add XTF_ENTESC ![104] May 16, 2006 05:30 PM Edited by joaquin ! Add XTF_DRAGDROP ![105] August 29, 2006 08:12 AM Edited by joaquin ! Add XTF_SPLIT ![106] December 6, 2006 08:12 AM Edited by joaquin ! Add XTF_NOZEROEX !------------------------------------------------------------------------ !*** FLAGS (combine as many as apply) define XTF_FKEY = &h00000001 ! Allow F1-F16 (1) ! (return EXITCODES -1 thru -16) define XTF_LEFT = &h00000002 ! Left arrow (Exitcode -40) (2) define XTF_RIGHT = &h00000004 ! Right arrow (Exitcode -41) (4) define XTF_UP = &h00000008 ! Up arrow (Exitcode -42) (8) define XTF_TAB = &h00000020 ! TAB (Exitcode -44) (32) define XTF_HOME = &h00000040 ! Right arrow (Exitcode -45) (64) define XTF_END = &h00000080 ! Right arrow (Exitcode -46) (128) define XTF_NOAS = &h00000100 ! Disable auto-shrink of box height (256) ! (Always active in GUI mode) define XTF_ENTESC = &h00000100 ! In edit mode, ENTER exits xtree from ! last cell, and ESC doesn't cancel cell edit define XTF_MODELESS = &h00000200 ! Leave box on screen after exit define XTF_TIMOUT = &h00000400 ! 200 sec timeout (auto ESC) define XTF_FST = &h00000800 ! Fast mode (text mode only) define XTF_FCOLDEF = &h00001000 ! In file mode, first row is ! interpreted as simple coldef syntax define XTF_XYXY = &h00002000 ! Alt. coordinate semantics ! (first pair is upper left row,col) ! (second pair is lower right row,col) define XTF_SORT = &h00004000 ! Allow column sorting define XTF_REORD = &h00008000 ! Allow reordering of columns define XTF_MSEL = &h00010000 ! Multi-selection (array mode only) define XTF_MLVL = &h00020000 ! Multi-level (parent/child) rows ! Set automatically if first col ! defined as type @ in COLDEF define XTF_COLDFX = &h00040000 ! COLDEF param uses complex syntax define XTF_VARY = &h00080000 ! Vari. ht rows (see XTR_ITEMLINES) define XTF_NOSEL = &h00100000 ! Exit immediately (use with MODELESS) define XTF_DISABLE = &h00200000 ! Disable control on exit (use only ! with XTF_MODELESS) define XTF_DEL = &h00400000 ! DEL (Exitcode -47) define XTF_FILANS = &h00800000 ! In file mode, use ANSWER param ! as in array mode. define XTF_CTRLC = &h01000000 ! ^c returns exitcode 10 (instead of 1) define XTF_EDITABLE = &h02000000 ! list contains editable text ! or checkbox column(s) define XTF_TOTALS = &h04000000 ! [101] last line of data is a totals line define XTF_NOREDRAW = &h08000000 ! [102] don't redraw on opcode 4 define XTF_DRAGDROP = &h10000000 ! [104] allow drag/drop define XTF_SPLIT = &h20000000 ! [105] split mode define XTF_NOZEROEX = &h40000000 ! [106] don't allow exit with exitcode 0 qNH xcall.bsi! XCALL Version 1.0 [03] Written by J.D.McGregor 11-Sep-00 ! *************************************************************** ! * * ! * A-Shell routines and definitions useful for * ! * writing xcall subroutines in Basic. Include this * ! * prior to your program startup code to pick up * ! * param control block address and get param structure. * ! *************************************************************** ! Edit history of XCALL.BSI:- ! 11-Sep-00 - [1] Created /jdm ! 27-Jan-01 - [2] Add MX'FLSET, MX'EXIT ! 20-Jul-01 - [3] Change MX'EXIT to MX'EXITSBX (conflicted with ashell.bsi) map1 XCBADR,f,6 ! addr of xcall param ctl block map1 XCBLIN,s,40 ! temp cmd line map1 XCBCNT,f,6 ! # params map1 XCBI,f,6 ! temp map1 XCBSTRUCTX ! up to 20 params max map2 XCBSTRUCT(20) map3 XCB'PTYPE,b,2 map3 XCB'PSIZE,b,2 map1 MIAMEX'OPCODES map2 MX'XCBINFO,b,1,80 map2 MX'XCBDATA,b,1,81 map2 MX'EXITSBX,b,1,82 ! [3] map2 MX'FLSET,b,1,89 map2 XCBGET,b,1,0 map2 XCBPUT,b,1,1 map1 XCALL'TYPE'CODES map2 XTYPE'UNFORMATTED,b,1,0 map2 XTYPE'STRING,b,1,2 map2 XTYPE'FLOAT,b,1,4 map2 XTYPE'BINARY,b,1,6 map1 VERSYS'XCALL,s,80,">>@VERSYS(1)->>xcall[01] " ! step 1, retrieve address of param block from command line XCALL LSTLIN,XCBLIN ! pick up command line (with @adr) XCBI = instr(1,XCBLIN,"@") if XCBI > 0 then & XCBADR = val(XCBLIN[XCBI+1,-1]) & else & ? XCBLIN;" : not called as a subroutine! " :& stop : end ! step 2, pick up parameter info XCBCNT = 20 ! max we will consider xcall MIAMEX,MX'XCBINFO,XCBADR,XCBCNT,XCBSTRUCTX ! calling program should now check that XCBCNT is sufficient, ! possibly that types and sizes in XCBSTRUCTX are ok, and ! then fetch the individual params using: ! XCALL MIAMEX,MX'XCBDATA,XCBADR,XCBGET,, ! Later, to return updated params, use: ! XCALL MIAMEX,MX'XCBDATA,XCBADR,XCBPUT,, qNH ~wyse50.vux  !$(1;BIORU\_beloxz}CFORMAT PUSH CUF CLEAR DELETE  POP RSAVE XPAMOVE CENTER qNH :wyse50.ifx  #+1479    shft-f2helloqNH wset.litffv4 =B0 !=@ !=A !=A !=@ !=A !=A !=B !=C !=C !=@ !=A !=A@ ! =@ !=A !=A@ !=A !=A !"=A !'=A !,=B !1=B !6=B !;=B0 !@=B@ !E=BP !J=B` !O=Bp !T=B !Y=B !^=B !c=B !h=B !m=B !r=B !w=B !|=B !=B !=B !=B !=B !=B !=B !=B !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C$ !=C( !=C, !=C0 !=CH !=CL !=CP !=CT !=CX !=C\ !=C` !=Cd ! =Ch !=Cl !=Cp !=Ct !!=Cx !&=C| !+=C !0=C !5=C !:=C !?=C !D=C !I=C !N=C !S=C !X=C !]=C !b=C !g=C !l=C !q=C !v=C !{=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C ! =C !=C !=C !=C ! =C !%=C !*=C !/=C !4=C !9=C !>=C !C=C !H=C !M=C !R=C !W=C !\=C !a=C !f=C !k=C !p=D !u=D !z=D !=D !=D !=D !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H ! =H !=I !=I !=J !=J !$=K !)=K !.=L !3=L !8=M !==M !B=N !G=N !L=O !Q=@ !V=A ![=B !`=B !j=@ !o=A !t=A !y=B !~=B !=C !=A@ !=B0 !=A !=A !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H !=H !=I !=I !=J !=J !=K ! =K !=L !=L !=M != !#=@ !(=A !-=A@ !2=A !7=A !<=A !A=A !F=B !K=B !P=B !U=@ !Z=A !_=B !d=B !i=D !n=E !s=F !x=F !}=G !=G !=H !=H !=I !=I !=J !=J !=K !=L !=L !=M !=M !=N !=N !=O !=@ !=A !=A !=B !=B != !=@ !=A !=B !=B !=B !=B ! =C !=C !=D !=D !=E !"=F !'=F !,=H !1=I !6=I !;=J !@=J !E=K !J=K !O=L !T=L !Y=M !^=M !c=M !h=N !m=N !r= !w=@ !|=A !=B !=D != !=@ !=A !=A@ !=A !=A !=A !=A !=B !=B !=B !=B0 !=B@ !=BP !=B` !=Bp !=B !=B !=B !=B !=B !=B !=B !=B !=B ! =B !<>>@VERSYS(1)->>ashell[90] '  NvL"w  ! =@; ! 3=@ $=@ <[4 * !(){};= =B6' @ !(){};=, =B6' !3 !$=@=@ !$$=@ $$$ h  !.=@ $=@14 $. !. R  ! =@;  ]"w$3=% R R"w?$=/=@%  R R"w^.$.=%  R R"w= = ( ']"w$ 3# =@1< * =@1=B6*  < !=@  .w"w$A<* !A@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~  "$&(*,.02468:>BFJNRVZ^bfjnrtvxz z{|}~  $(,.02468:<>@BDFHJLNPRVZ^bfjnrvz~P     " ( . qNHvue.litnf~J !=BP6=B 6' =B0 !=@ !=A !=A !=@ !=A !=A ! =B !=C !=C !=@ !=A !"=A@ !'=@ !,=A !1=A@ !6=A !;=A !@=A !E=A !J=B !O=B !T=B !Y=B0 !^=B@ !c=BP !h=B` !m=Bp !r=B !w=B !|=B !=B !=B !=B !=B !=B !=B !=B !=B !=B !=B !=B !=B !=B !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C$ !=C( !=C, !=C0 !=CH !=CL ! =CP !=CT !=CX !=C\ !!=C` !&=Cd !+=Ch !0=Cl !5=Cp !:=Ct !?=Cx !D=C| !I=C !N=C !S=C !X=C !]=C !b=C !g=C !l=C !q=C !v=C !{=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C ! =C !=C !=C !=C ! =C !%=C !*=C !/=C !4=C !9=C !>=C !C=C !H=C !M=C !R=C !W=C !\=C !a=C !f=C !k=C !p=C !u=C !z=C !=C !=C !=C !=D !=D !=D !=D !=D !=D !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E ! =E !=F !=F !=G !=G !$=H !)=H !.=I !3=I !8=J !==J !B=K !G=K !L=L !Q=L !V=M ![=M !`=N !e=N !j=O !o=@ !t=A !y=B !~=B !=@ !=A !=A !=B !=B !=C !=A@ !=B0 !=A !=A !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H ! =H !=I !=I !=J !=J !#=K !(=K !-=L !2=L !7=M !<= !A=@ !F=A !K=A@ !P=A !U=A !Z=A !_=A !d=B !i=B !n=B !s=@ !x=A !}=B !=B !=D !=E !=F !=F !=G !=G !=H !=H !=I !=I !=J !=J !=K !=L !=L !=M !=M !=N !=N !=O !=@ !=A !=A !=B !=B != ! =@ !=A !=B !=B !=B !"=B !'=C !,=C !1=D !6=D !;=E !@=F !E=F !J=H !O=I !T=I !Y=J !^=J !c=K !h=K !m=L !r=L !w=M !|=M !=M !=N !=N != !=@ !=A !=B !=D != !=@ !=A !=A@ !=A !=A !=A !=A !=B !=B !=B !=B0 !=B@ !=BP !=B` !=Bp !=B !=B !=B ! =B !=B !=B !=B !!=B !&=B !+=B !0<>>@VERSYS(1)->>ashell[90] '  NvL"w) !))$=@; !$)3=@ $=@)<[4 7 !3(){};= =B6' M !3(){};=, =B6' !533 !B=@=@ !BB=@ $B5$ u  !L=@)3B=@14 $L !$$L _  !.)$=@;  ]"w$Q=% R R"w]$=/=@%  R R"w|.L$L=%  R R"w= = ( ']"w$$)3#)$=@1< *)$=@1=B6*  I !$$=@  .w"w݀$_<* !_DJPV\bpvz<  4H\p$89:4  $*068:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   "$&(*,.02468:>BFJNRVZ\^`bdfhjlnprtvxz~               " $ & ( * , . 0 2 4 6 8 < @ D H L P T X \ ` d h l n p r t v x z | ~                                                         P> D qNHvue.hlv A-Shell/VUE Command Mode Commands [VUE Version 3.2(260)] App - copy marked block to specified file Blanks #-insert # blank lines N)ext -search forward for text string Center -center line Pop {#} -restore curs. loc. {from slot #} Clear -clear block marks Push {#}-save cursor location {in slot #} Copy -copy block Q)uit -exit, no update Delete -delete block R)eplace-search and replace string F)inish -update file & exit Save -save current changes w/o exit Format -format paragraph S)earch -search for string (from start) G)o -finish and compile Short -switch to 24 row (normal) display Global -global replace string U)nyank # -remove # of lines (or write) Help -display help file U)nyank -copy marked block to file L)ine # -goto to line # Y)ank # -bring # lines from current file Move -move block Y)ank - bring in specified file Command Mode Option Settings: (1 of 2) Autodelete on/off/n Toggle or limit autodelete of update history entries Autosave ### Auto save file every ### changes (0=off) Charins on/off Toggle character insert mode (same as ^Q) Column on/off Turn display of cursor column on and off CRNL on/off Toggle CRNL (CRLF) terminators (vs LF only) Draw on/off Enable 'draw' modes (^s^j, ^s^k, ^s^h, ^s^l) Insert on/off Toggle line insert mode (same as ^\) M)argin # Set display margin Modem on/off Toggle "modem mode" (minimum screen output) Narrow Switch to 80 column mode (normal; see Wide) Sblk on/off Toggle search/replace within marked block Searchfold on/off Turn case sensitive searching on and off Short Set display height to 24 rows (normal; see Tall) Command Mode Option Settings: (2 of 2) Tab # Set # of spaces per TAB key Tall {#} Set display height to 42 (or {#}) rows (if supported) Update on/OFF/s{,c} Auto update history on/off (using default chars) (s and c are optional start/end comment sequences) Wildcard ?* Set single char and multi char search wildcards Wide Switch to 132 column mode (if supported; see Narrow) Width # Set width (for Format command and Wrap feature) W)rap on/off Turn automatic word wrap on and off Display Mode Commands: Control-A Previous word Control-P Mark block Control-B Insert line Control-Q Toggle insert char mode Control-C Cancel changes to line Control-R Previous page Control-D Delete character Control-S Extended command leadin #2 Control-E End of file Control-T Next page Control-F Insert character Control-U Start of line Control-G Control char leadin Control-W Next word Control-H Same as left arrow Control-X Next match (search) Control-I TAB Control-Y Clear to end of line Control-J Same as down arrow Control-Z Delete line Control-K Same as up arrow ESC Toggle display/command mode Control-L Same as right arrow Control-\ Toggle line insert mode Control-M Same as RETURN HOME Top of file Control-N End of line Control-_ Extended command leadin #1 Extended Display Mode Command Set #1 (precede with Control-_) C Copy marked block D Delete marked block E Increment VEDIT or PROGRAM value, insert dated note K Capture macro keystrokes P Playback macro keystrokes Q Toggle insert mode (same as Control-Q) R Undo last Control-Z or Control-Y S Center current line U Clear (unmark) marked block V Move marked block to cursor position X End macro keystroke capture Extended Display Modem Command Set #2 (precede with Control-S) ^A Pop ^B Copy current line to scrap buffer ^D Copy marked block (to cursor location) ^G Move marked block (to cursor location) ^O Playback scrap buffer ^P Unmark block ^S Center display vertically around current row ^T Push ^V Toggle capitalization of current word ^Z Delete marked block D Output current date E Output edit number ([nnn] - from VEDIT or PROGRAM statement) U Output user name T Output current time Extended Display Modem Command Set #2 cont. (precede with Control-S) C Clear bookmark M Make bookmark N Next bookmark INI.VUE Commands in alphabetical order (1st of 5 screens) AUTODELETE = boolean or # Toggles autodeletion of old auto update history notes (see UPDATE) or sets the maximum number to keep before deleting older ones. AUTOSAVE = n If not zero, forces file to be automatically saved after every n 'changes' (each char is 1 change, some commands count as 5 changes) BAKDIR = (UNIX only): specifies a directory where .bak files should be stored. CHARINS = boolean Enables character insert mode (else overwrite). Default=false. INI.VUE Commands (2nd of 5 screens) COLUMN = boolean If true, displays current cursor column number. Default=false. CRNL = boolean Determines if file will be output with CRNL or just NL line terminators. Default=true for Windows or if OPTIONS=CRNL in miame.ini, otherwise false (normal UNIX case.) CVTWARN = boolean Enables warning message when loading an AMOS/DOS format file under UNIX. Default=true. DEFAULT = ext1,ext2,...extn Define up to 5 default extensions (check if none specifed on cmd line) INI.VUE Commands (3rd of 5 screens) GO = $ Specifies command(s) to execute on >G exit. Note '@' symbol in command expands to current file extension. INSERT = boolean Enable line insert mode. Default = false. MODEM = boolean If true, command mode display output is minimized NARROW Sets initial display width to the normal 80 columns. INI.VUE Commands (4th of 5 screens) QUITWARN = boolean Enables warning when quitting after changing file. Default = true. SEARCHFOLD = boolean If true, search is not case sensitive. Default = true. SHORT Set initial display height to the normal 24 rows. START =pos (pos = END or COMMAND) Specify starting position (end of file, command mode, default=top) TAB = n Specify # spaces per TAB. Default 8 (inserts TAB char.) INI.VUE Commands (5th of 5 screens) TALL {= n} Set initial display height to n (default 42) rows (if supported). UPDATE = boolean or sc{,ec} Toggle auto update history or set the start and end comment characters which bracket the history entries. (See AUTODELETE) WIDE Set initial display width to 132 columns (if supported). WIDTH = n Determines column for wrap if WRAP=true. Default=screen width-2. WRAP = boolean If true, cursor wraps after column specified by WIDTH. Default=false. qNH Kversys.lithf/Ơ=B0 =B0 !=@ !=A !=A !=@ !=A !=A !=B !=C !=C !=@ !=A !=A@ ! =@ !=A !=A@ !=A !=A !"=A !'=A !,=B !1=B !6=B !;=B0 !@=B@ !E=BP !J=B` !O=Bp !T=B !Y=B !^=B !c=B !h=B !m=B !r=B !w=B !|=B !=B !=B !=B !=B !=B !=B !=B !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C$ !=C( !=C, !=C0 !=CH !=CL !=CP !=CT !=CX !=C\ !=C` !=Cd ! =Ch !=Cl !=Cp !=Ct !!=Cx !&=C| !+=C !0=C !5=C !:=C !?=C !D=C !I=C !N=C !S=C !X=C !]=C !b=C !g=C !l=C !q=C !v=C !{=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C ! =C !=C !=C !=C ! =C !%=C !*=C !/=C !4=C !9=C !>=C !C=C !H=C !M=C !R=C !W=C !\=C !a=C !f=C !k=C !p=D !u=D !z=D !=D !=D !=D !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H ! =H !=I !=I !=J !=J !$=K !)=K !.=L !3=L !8=M !==M !B=N !G=N !L=O !Q=@ !V=A ![=B !`=B !j=@ !o=A !t=A !y=B !~=B !=C !=A@ !=B0 !=A !=A !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H !=H !=I !=I !=J !=J !=K ! =K !=L !=L !=M != !#=@ !(=A !-=A@ !2=A !7=A !<=A !A=A !F=B !K=B !P=B !U=@ !Z=A !_=B !d=B !i=D !n=E !s=F !x=F !}=G !=G !=H !=H !=I !=I !=J !=J !=K !=L !=L !=M !=M !=N !=N !=O !=@ !=A !=A !=B !=B != !=@ !=A !=B !=B !=B !=B ! =C !=C !=D !=D !=E !"=F !'=F !,=H !1=I !6=I !;=J !@=J !E=K !J=K !O=L !T=L !Y=M !^=M !c=M !h=N !m=N !r= !w=@ !|=A !=B !=D != !=@ !=A !=A@ !=A !=A !=A !=A !=B !=B !=B !=B0 !=B@ !=BP !=B` !=Bp !=B !=B !=B !=B !=B !=B !=B !=B !=B ! =B !<>>@VERSYS(1)->>ashell[90] '  NvL"w  ! =@; ! 3=@ $=@ <[4 / !(){};= =B6' E !(){};=, =B6' !3 !$=@=@ !$$=@ $$$ m  !.=@ $=@14 $. !. W  ! =@;  ]"w$3=% R R"w?$=/=@%  R R"w^.$.=%  R R"w= = ( ']"w$ 3# =@1< * =@1=B6*  A !=@  .w"w$A<* !A>@VERSYS(1)->>cmdlin[28]: max devs = 300, max ppns = 512 R R"w+'~))!< !ى=@ $ى$ =  != $ !00X K$ "c" #$ cQ&$ &$ .'$ .$ G!7C !2=  !=@ $ Z!00l $C%- u!00: $ 9(!u> $4=7*R4- !00D $4=7*W9- !00I $S !00b !=@ $S =" d = < ? $+ Y"w.w"w,"wv$+ %]"w$v@(@-v@-@- G = =A6  = v@ $v@-@* d!= !׊=@ !S !S = !S = !S =@ !S {};= ]$=@14]$=@1=B6* ]$=@1<,*=@]=@$=@1<[4=" K!]]=@$=@1 !.=@]<:4 $. !=@ !Ո]=@.=@1 !]].=@=@; !. $Հ.=@=@1<** !Ո=@.=A; $]<* [$]D<[* !=@ !.=@]<,4 $. !]]=@.=@1 $]<* [!.=@]<.4 $. !:=@ !ڈ]=@.=@1 !]].=@=@; !.=@]<[4 $. !߈]=@.=@1 !]].=@; !߈] !]< !:= !.=@]<[4 $. !ڈ]=@.=@1 !]].=@; !ڈ] !]< $3=B0" !=A != [!3: $3=A" !=A@ != [!3 $]D<[* [$<*<* T!= [!= $<* j!ՀG $<* $q=@% =A% !䀡87 !<* $<* $q=@% =A% !逦87 !<* !Ո@ !ڈ@ !߈@  !]]=A=@; !=@ $]D<]* 7!]]=A=@; !<* !<* !=@ S!.=@]<,4 T$ QS!]=@.=@1 $D<0*3=@$ !=A=@; $D<0*3=@$ !=A=@; !]].=@=@; !. !.=@]<]4 T$ S!]=@.=@1 $D<0*3=@$ !=A=@; $D<0*3=@$ 9!=A=@; !]].=@=@; !. $.=".=A$ |!.=A@  != $.=A"]D<** $.=A"]D<0)]D<9, ]DEy $=A! I!>Ey $>Ey" \!=@ !=@ !.N<=4 $. $.!.$ !NN=@.=@; ! c!=@ !.N=B !C=B !H=B0 !M=B@ !R=BP !W=B` !\=Bp $=@ =@;@@G != !=@<>>@VERSYS(1)->>4 $=$ .!=DH1 !g=@<->>4 $g=@$ y.!g=A@=DH1 $<- . = < System Resource:  .=@ = !f< ,"w=@ =B@ $=B!=@ =D~! =A =D! ./!p=A !u=A@ =Bp !z=A =B !=A =Bp=D=A  !=A@ =B !fp7<.'u7' $z e/!ff=Cz6' $ }/!ff<('7'<)' $ /!ff<-'7' !=  = @BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~  "$&(*,.02468:>BFJNRVZ^bfjnrtvxz z{|}~  $(,.02468:<>@BDFHJLNPRVZ^bfjnrvz~P      " ( . 4 : 2l r x |                  P   6 > ;> X c g j m s z ;z        H      L  8 @ C F J-JP!qx2x @ p, ApApApCpdHN@T@TATAW@Z AZ AzdT2Z2`2f2n2d2222 2d\3\3"~333"3"3"3"444"@4"b4h5n5t5z55555555555@5HHB5B5B5A5 B5B5A5 <LB<TBZ=lA=  ALBABAAJbAJ z MNNNN N&N,N2N8N>NDNJNPNVN\NbNhNnNtNzNNNNNNNNNNNNNNNN NNN(N OO O (O.O4O:O ZO`OfOlOnOnOoOpOPOOOOOOOOOOOd`PdPZPPPPPPPPPPQQ QQQQdQ QQQQQQQ CQ* QQ NQ NqNHLver.litef B, =B0 !=@ !=A !=A !=@ !=A !=A !=B !=C !=C !=@ !=A !=A@ ! =@ !=A !=A@ !=A !=A !"=A !'=A !,=B !1=B !6=B !;=B0 !@=B@ !E=BP !J=B` !O=Bp !T=B !Y=B !^=B !c=B !h=B !m=B !r=B !w=B !|=B !=B !=B !=B !=B !=B !=B !=B !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C$ !=C( !=C, !=C0 !=CH !=CL !=CP !=CT !=CX !=C\ !=C` !=Cd ! =Ch !=Cl !=Cp !=Ct !!=Cx !&=C| !+=C !0=C !5=C !:=C !?=C !D=C !I=C !N=C !S=C !X=C !]=C !b=C !g=C !l=C !q=C !v=C !{=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C ! =C !=C !=C !=C ! =C !%=C !*=C !/=C !4=C !9=C !>=C !C=C !H=C !M=C !R=C !W=C !\=C !a=C !f=C !k=C !p=D !u=D !z=D !=D !=D !=D !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H ! =H !=I !=I !=J !=J !$=K !)=K !.=L !3=L !8=M !==M !B=N !G=N !L=O !Q=@ !V=A ![=B !`=B !j=@ !o=A !t=A !y=B !~=B !=C !=A@ !=B0 !=A !=A !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H !=H !=I !=I !=J !=J !=K ! =K !=L !=L !=M != !#=@ !(=A !-=A@ !2=A !7=A !<=A !A=A !F=B !K=B !P=B !U=@ !Z=A !_=B !d=B !i=D !n=E !s=F !x=F !}=G !=G !=H !=H !=I !=I !=J !=J !=K !=L !=L !=M !=M !=N !=N !=O !=@ !=A !=A !=B !=B != !=@ !=A !=B !=B !=B !=B ! =C !=C !=D !=D !=E !"=F !'=F !,=H !1=I !6=I !;=J !@=J !E=K !J=K !O=L !T=L !Y=M !^=M !c=M !h=N !m=N !r= !w=@ !|=A !=B !=D != !=@ !=A !=A@ !=A !=A !=A !=A !=B !=B !=B !=B0 !=B@ !=BP !=B` !=Bp !=B !=B !=B !=B !=B !=B !=B !=B !=B ! =B !<>>@VERSYS(1)->>ashell[90] '  NvL"w  ! =@; ! 3=@ $=@ <[4 * !(){};= =B6' @ !(){};=, =B6' !3 !$=@=@ !$$=@ $$$ h  !.=@ $=@14 $. !. R  ! =@;  ]"w$3=% R R"w?$=/=@%  R R"w^.$.=%  R R"w= = ( ']"w$ 3# =@1< * =@1=B6*  < !=@  .w"w$A<* !A@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~  "$&(*,.02468:>BFJNRVZ^bfjnrtvxz z{|}~  $(,.02468:<>@BDFHJLNPRVZ^bfjnrvz~P (qNH 'verify.litgf =B0 !=@ !=A !=A !=@ !=A !=A !=B !=C !=C !=@ !=A !=A@ ! =@ !=A !=A@ !=A !=A !"=A !'=A !,=B !1=B !6=B !;=B0 !@=B@ !E=BP !J=B` !O=Bp !T=B !Y=B !^=B !c=B !h=B !m=B !r=B !w=B !|=B !=B !=B !=B !=B !=B !=B !=B !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C$ !=C( !=C, !=C0 !=CH !=CL !=CP !=CT !=CX !=C\ !=C` !=Cd ! =Ch !=Cl !=Cp !=Ct !!=Cx !&=C| !+=C !0=C !5=C !:=C !?=C !D=C !I=C !N=C !S=C !X=C !]=C !b=C !g=C !l=C !q=C !v=C !{=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C !=C ! =C !=C !=C !=C ! =C !%=C !*=C !/=C !4=C !9=C !>=C !C=C !H=C !M=C !R=C !W=C !\=C !a=C !f=C !k=C !p=D !u=D !z=D !=D !=D !=D !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H ! =H !=I !=I !=J !=J !$=K !)=K !.=L !3=L !8=M !==M !B=N !G=N !L=O !Q=@ !V=A ![=B !`=B !j=@ !o=A !t=A !y=B !~=B !=C !=A@ !=B0 !=A !=A !=@ !=A !=A !=B !=B !=C !=C !=D !=D !=E !=E !=F !=F !=G !=G !=H !=H !=I !=I !=J !=J !=K ! =K !=L !=L !=M != !#=@ !(=A !-=A@ !2=A !7=A !<=A !A=A !F=B !K=B !P=B !U=@ !Z=A !_=B !d=B !i=D !n=E !s=F !x=F !}=G !=G !=H !=H !=I !=I !=J !=J !=K !=L !=L !=M !=M !=N !=N !=O !=@ !=A !=A !=B !=B != !=@ !=A !=B !=B !=B !=B ! =C !=C !=D !=D !=E !"=F !'=F !,=H !1=I !6=I !;=J !@=J !E=K !J=K !O=L !T=L !Y=M !^=M !c=M !h=N !m=N !r= !w=@ !|=A !=B !=D != !=@ !=A !=A@ !=A !=A !=A !=A !=B !=B !=B !=B0 !=B@ !=BP !=B` !=Bp !=B !=B !=B !=B !=B !=B !=B !=B !=B ! =B !<>>@VERSYS(1)->>ashell[90] '  NvL"w  ! =@; ! 3=@ $=@ <[4 * !(){};= =B6' @ !(){};=, =B6' !3 !$=@=@ !$$=@ $$$ h  !.=@ $=@14 $. !. R  ! =@;  ]"w$3=% R R"w?$=/=@%  R R"w^.$.=%  R R"w= = ( ']"w$ 3# =@1< * =@1=B6*  < !=@  .w"w$A<* !A=@ =D~&>=A =D" [!Љ>=A !Չ>=A@ =Bp !ډ>=A =B !߉>=A =Bp=D>=A  !>=A@ =B $* g %  =C @BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~  "$&(*,.02468:>BFJNRVZ^bfjnrtvxz z{|}~  $(,.02468:<>@BDFHJLNPRVZ^bfjnrvz~P 0      " ( . 4 : @ F L R X ^ d j p v |   d                 dz z               C  qDNH_updatecenter.tzq*-F[ @@\ X xC@Ax𖰁H!jUZG+ޠJa^"*V>`7 $*i|ofvvgwF(R$d^Bx0gHBx!P~D!!{`IPr.M'ϒ#XW KitJd 9E!tH |H>eΨTCQ$e,,]NHB*)$WrERnl|"W"K#۴q誳0Q,kT0To 9Yֳ`0(sPU7F9GȊJlB]1c7LU,Ԋ0!ggPpzQB..!0? 4rV ,'2tam1"XB,d! YBk G{S/>!GE맭 ᄑR\#2\@*JH"r% L.*L%URHBY:;+D2iTH0/81*R%'J)'āUX$I&2IiTjd$.#y}b!ItcdidLa)N OY:IJTB,E(bJT({ٝ8U0Z'UC_LQ,RJW3.Ӎ|%DRq0(RW-%\w/rLG͵,W*.XfE7-zLqpѾ~~ࡠCc{;ҝ6Wo[g#?~YsQgBZ*A< \ pV.@;C8$7R4e9 KQ:`!H.PiBD)X&4՞FǀNBװ!|( %>sJ'JdP9!DDP Z5 AkN0j Ĝ M)2`q:x5011M36$xy!@M;"4WO?7XH<S?@-LgvdNT2WMWP`b쭁3&S5C<zELm A`,5åi [Aa$խ1; =3cK3-5oB}bTkы33Oۮ*F:V?B?kVhdl8X-PYyr'/bGf`U:WE"ݼ^m p`>ZaۙXEw$KG >6.8:ʒZXVJzttm쵰GlQ2A3pEfK0FF -i1dy Tzrδ-\uo34r.onZl_| _l g LP(//G?o"6 쐓rssCSN?= <ϡPBVM*uGN\.ܺV~Ԑ4L>cň/B )FM |5PQ_MѦk)SBRC`>``>`>`a>`>`:`>`>`S|8( FjHH2`s!8Q!`P!`pp՘G1]8Awp0hG 躗O#Rqb|0`Dƶ(f8hjx_A E3B;FW4O4C84Cq@`ph@h!=5 iX`L4EƂg5=(@ 0P t @ 0h=(@ 0iH `(c(R $1qlQ Paa!:y$ڷox"r qEZ544Gڼ~=?E/PKy45jmu Sob\ZT!hƳ1 jiʭS\hu׭ YC:kYg-e˨؀^h=+ԊffV:gFuD:f)B i-~VsӚuOo61+f(C*nU*GZ`^|#݈P*[szMQy-\:?> HRt7$)*9^Agr(tb$)"~O/: d,1e[Js'_I" * Ĥ41ٱXOl۬@Ε1*(eL.!hnfbuw#7|M[~{6}ɶzzg7BkeQ1q.tC0bO6 !Mq&l uUJ3e,$C.PTr"Rl8e"h&(J:ItB_dŒ'5R&ogFlJngq7$JRebwBŴ`K )S#@ERR'ڒأG6:. "dgY}+J)F1\/=7A:P*I?F[`,q=uFZqh>MLKi0`擗W?"b'gg@<|%ދzqG* ^XGr t!p3;sܰ }dž8?UqOOVtr5SՅcX{Ƿ/eM/Dn/>AGwguK[z^?* > > > > '>ۿC!;[AUAS!+G 7'@| IkE#7;ҬYʍeƢ* #XIJfplAY66Y"k.#{Ac [B翳oc㾯O/wjZn{ ӷ_L쐡ÆǍHL?a듒i0=C4]TɝEoxɻ[]}uMlݶO/)=pЧe_W_gϝpK׫o[kj?W ~b!qYl[* mp%f on;㏫H5캿FGֺPdM5UY0xn(56v߸,hȧϫ".ɝȫr%dK4{[Q<|5BIJk{ۆ9ŗo%g.瞡-}ޑQ4ᚈc ]h#XFe޵s'_׬yx(9;ntZ#kV\sw&uiҕ!6w!#'=T+b(!Q(j[Â8;b6N֚~#ڢeO5jF^)M ;D)~.b̭etj5gO~Рs='|_% _Ըm b e6Uu;H}iOlx'{wǮ¦&9\񑤢:5TlN%ޙ/>;k$SM˂7o9`ѓֳYw7wXӞ9+=e}sQ>n#ڕ2{w(l[f]:Vk[}cGm]<=**J.-9|Fyq"agrrٲ[Nv!BU[Wn0I_X^ΌO l$s"yK'}aC[k&̵kj9bW/ ((x8,uoߠ\ro~~n<"4cy^ k]m5Dq)vG^O.⤃qd綃^gkO;==mxC \y!KW=J&TqUo>Usrh+S) [!Si*@# [qHܲqoAЅiUW^ W7neK+oLIk6H/l*3i}[3ú_c#;G+"R\ηgoVQu-R͌WaiFiט1/kӤ1V1CߌIG2X,U3[ygd1٤X%x=iVP յIӍ<]Lxx]DsXj'fCtõC >Up+q܍I3/HOWWP|tn|neM%ɻo䗇 4 %>^]n .Tn~l's*~.+.jb|ԋ*wߠ}M7|TԸ/M^z$0Ĺ7,+]f0kݢ(J ^r ,Ty*J̮uLž֦(~u4.); 4csur+ G}蜢EU}AYT|trU|'K;6.O:"AjcY v6j7) _4[W ԃ#k^;o h.{F{OZ'}'xt挕{ӷLv{mʏ,8\ S':yQc_rkª|ΛU$?,s\#5|˽!fX쪄g7sG ,Iܐ3:~"eoiOm-giVpнެ6|bDj"K#*7<}'6ӲˊߕZoImz5ۥeWkH b*_M}8=lMᓌb~u pf<b'c_ӯM|& ς=OY{HU}}Ru/V5F7OcsoU;Y\wlWUqPifVR k+Di wh~vCNNgOgLn-V4J]g|~߫VҌ'4Mf ѝwus*YᩦnTjfEW7$Mt'*#H[Wqm`Bt'AղJF[wnumzEPڴYJ+m6Az'6 ޘ*~Ȩ)ƖjAt/R뽵aA VX%رwB罵8_j_cV~4%W;Mi!LRy?Uܸ S#~+m0K-X~Ib/*%d /[MqRC,㓧C7c_.h$SK1)7(㯟>ሂ=Ś u[V=f-8әL'\~AJcJSl$PpC`+johjCccDXS] |{eG>ǫ- Jj=z:Uجd)%oY&k3c~B?wE=d JSt iv.l\0Lf|z'~ʅ@liTu |" zgB!P8-8-$ B0A%Jk;x,ꎖ }Lħm*zzzzzQG rO0 a]$^}QݞLȻF<_庸L ZkS77kkrR֫u:b6p#s?F0Jf:p5PAT fHtg ᴓO'n6vc޿s ͬSv/A߷xPuCS㞞vV9AwRZIsiiK_)5GOi*S;2ԤCu5XUudMCS q5?}ˢJ^ztᣇkf]Sӳ=xKwܙy)Ǟ > \;YWR)W2aZscP}tEճFkYEƲb(I'j@~Ștmjn9^;Kg]4t mEx. 'Z3ر q|ɧu< AM'odO=.y$D 2@ BLL(: -3 {wu` `8ױ)- t@h?nփUD~G)@СUb?>VKW(ȵ6D]=WYT ri@0 #8ە'y!(@$n:m̴h'c/3٧H064nX@~^7`^|zg@@q##j;U(ꢉ&YͶ޸%_AiНQlK WN)МO{w<ؽQ5`W4P4_3^ʜ+x)ܮ ᎗_@xDŽE;2>&d7xW8{?þ\8t? G *np4.ՂVתm յXgWA؁>vb w=1'z\sCrdϬG`ƨ{3k|Br!-U7.wmF\Zs[fQѕ`p\3h[13!j!Fim3"nb}X."ٌeF]DJ_eI0x݀ϱ. q==4 -t*ݱ|Wbm*B"Ym[>7kMY窝^ lI& CswkF2{mEΊH'>.\Š`QS_@zOwDž}i.IŠ$;ys1]  NaS OLdj*Ryʳ §^$@_F ԗ"ԗ"ԗ"ԗ"ԗ" 4'E|߅ /zTԩSQNEzUo:u*_;/_!{ǪGE:u*Tԩ^vSQQQQQQQQQQQQQQQQ}`SQNE:߫_9c0&Z7q}Ї{@T8EH0ŗ,}'#.CC%-_)?u`2Tq`|B2aP@dB&NV9dë dUCiX2@߈z*Q} ݎ".V'*o#q2s1(VV톰{At q3E FASTQYm~b#6ȢSkw Y--ÈRTOD>c͈ #HqqB򐫺R;3߶cjC`btR;4QP HJD0DFdL-@H{m=TeBT Pd# M*^-"'ub#ɈBbw%~[)$ kmrZVLES<-^EB,1<'dqL2]&Ɓ%GOOS8i6g8Ӈ7 pF"Q38bRb9),6o3Fsij "WdDbC Cy2R9P>oqs(Y8Y:O[e %&1XPRtbPD$$Y@D5}NL|4ATcS!-A" v1SPht[tCUj g Dz> mfJ ?;RW#KȰF`s t96hP[FV#-S!ql$g,pK%i* 1=J(pl&A<1 I$SN% \Ecm.4&Ag0dqSPG) I3MǷВgz(4F!&l)> h4ǞH0)b UF% Cn(C!;4C ""#Z'eBw"ܐP҅$HbwS'I2CQ^dHΠ2l^DƘ4"pV%!@lX|BQ hW%rxEGyȎ(_ϬQZc*B]$cǧ&̻CYhm:ILwD}5H9+(Ι"EONQGJ&#P}eHiH!J4|:3Q:\ l&HZ&U Ax#G/O/o&XD!KLB31ߪB܀,"':>^WOU_3 d@ h45"0&GDKYh6Fh!+ǫW=z`g3nhZYv_Vs7ķa õi`I_z!"0|#Q M|EA Y<ԮoD,FpxS|tg|733Pd*'2lk0 -f|{ `Ў;AI z woSNUaCl:5B[tPdfBmIyڣ98+ CghwC NM7<\H_wz~/5G5@G`.](#΅(EPtF̊t֋6W%٭+8,Pci .hQIb",b`4SDHDap vF&}H{"l'-  :"wnHCٳ`u{b,l ַfBMjUڂ'h2l i<F{} 3<Z u_ Av%8]lh.E2 Ae(E/ٞm@dD=!4!_at/bTQ{5䡶!RD}Q j|N!^\ Gϡ:ᜆOb5$$ada*̶GS>rBȓs!W*ByB#?(Mpvm'v~rŸ:7+&xi΂`9ji3 v'ğ|&#P @(YOX4JP\]!jɝ [6D2.. be]խz ]$W) hjkUh,BVda|oWe/g6D:e-e<-L,VY֜VQ{΢s 0*ryHb;XbmΝ*nz½' 5j.Wߨ( #H,3C/w# d"mVXiB4?EgtƮzՕMb{?)F^OoXj}rzoIU`MSl]+bE+bY+bi+bI+85mɬ9f?Vl ԾH\hMa89;h)n5C}僳}>8Sq /j>h]y٢8_rmaCpЀ}S+ (YD h~lDQ1Sn=ml"ζc~\8<@"y] niWO Npe^aapbcnI=~Ctk߹G<>r{%o&0eJ(3"ńQLa<Q.|o,S(9!GAv(F_FSQrģd-3dEfi("%dDFdq10CfnH񘈔5,R0u7S}DAw?obR1: >T{ Lm"c4VB:@Emq ͂D;3b,4F.GD}p8a2O##N!vsD&~Zcoh2J:zC*FѴLȵA_嫣(ߔW{P@_C"|aJbSfqxa#Z ,7Ih>qJMkREswki66S9,T` cJ0}1R[),c[1z ZPfXNN|ߣ8K-qKZήp5UPfq*r]; `#&Iyo⼟W612֡67<7tLYFTQȥS^e\cz}2:2ԟhEwA[֨|{'h(l+ܻgyv%g8vfwz(i\3/Le{CaO7v: ʨy<ޛG3,T#bF>_>6ձ%,se4glSΓ]4TDmA-> #b.{\^ g':PL ۂȻ,E˺*Ђ&sӸX < MHdjc H 5̖&0 U*EUƢÁ)NerarLf95H<{ֱl;.K&"x[6K>Y"XZ^Bڻ:-_!+~#NᨱR?6w~ xhYsTaGp6,%+eM"I/RNEKUh/tO5[9=o3&RL`I2NxB WȺ[EuI%p؀K{W:mw5[tN,Cfʬ.۽ Dfkmnk\;KvXuXyj`i*0ۡe֦Ls|yJ^C޾nAhkgr5ۍWaq4c >Jmc73d4W4.,<#^FI,Y,ᦡ iXƙ_Լ<˜O`T9g)4fCFΒ58He3d?QW{A;(,EwCtg_)$Q|2OOk8k`H_\轘ɰ&1-F{TجW YD#BawPSH7`i(\9ԆM#F2l|P[L(an ٪M} {avZf-:Ee،SGEZFZT"6Ԇ" N*shI:Fa@2! V`Dh7Bʞ*ͦ_ cuQ %` T*- rA+39{#yx!61^;:^ j * q4[X$E>)|Šxs x@iR@ft+4fǁfYIN29Buwciy)){055GP?ISc1#1f8|e0spXR^+.(_ Gon+:yt4#K"}QEsIXfB+@e}/$fXn/=-kv5|'MGm ڂ3X.WoicFCy ?|kߎ (+;~lhey'G5.J⩏qj7N 7jG^Z/x{ihK6s7|tO(-.H^pѼH]!~/lCvPC2޳wgt޸}!>n \pö'm6ۈk6Dt t9 Hv:mS$]yՕk_znhhFְBDEjTLh8G!LlpHm$ d$qPrbBr`ghdfK3q4ðwwE}a_EX5X5ht~YчYNss2aK\юlqNU Ĉd?n^n^n.ݣ^k{ {/{M{ uepY~2Q(e{jl@5vL~>uuup!heHN;Ʋ,j5ʈre1>f>~놽nl!n⬋(l.+n2Cla?CfPupPuq`Ef90seLV(x*tYh=My)/\'ViaD@Tc]>aEf9}~<xTU|?Lѡ>0.r`Ua%+9ɗ,i'+uʐdY!+2[ɘLX54iI[2+9JC[>#`241k(Kt B-ƥBJHaaCaq5NV5E`EהtI:DD/c(+4TQ+[ˤٍ iDxSZgY:K"ùf ۇ6әW:0&IZ ;5>QQR{>Hcn(jMfb n9jLlբ^7F\C9ͺΞAŢZ;sMw9|3_A|7_ MAowH@;399dL.1hI=>j82R9FζrrQ(7ޅ{&ޅp_w!V]݉B G.Bn4U3\3ٝ{ﭥ>3y70ow2Sn`WAwxy7P멎΁^ЫjD&_FY">=|~YTҹu@@ \MAE jI93s6TUtvWv.ُwPX ]hF:=qn٢֛n*@^0F}n OJJQr8ĥ-AG]#t3yn0NBoU[Dޕ!]mSDJ?kbaqcГC_Зk/= J[J~5sB0nᰟGHΥc. 嘗H8lHx ] aF0*y3O5ô͜&ojhjh>lKs[;~$̠m?g..\,>YYY3!H4k KA~WKm I)s1?]f*JzWI&DVsƥ/[q7HC0Ng,ӈ8txPK)} ꤽM?qn|do/Apx Z wO9"}1G"cBL_%kcDt,,cQ:Q.c,FyrymGb:|#8է"N5'9qwxGɸm>X†Yv'dZKV'P\$eI* )NԷS:<'Rdmtx%R8ccK)jwOpJ-e0j5ʙ t _ ^/>9]F}XUN=6zr,'Y1/i|4T1gTAڕ4w3>*NP&!S=2}2MiG[aW4D%Jek*ay[=/>oXPTE=pVZEĒUe\UE%?V \uU5<cVM1zJu -?f|oqcDg]9{ qK˼E^ ?u^3n_2`<pqU%ފ8{:):Lyr)ƛ1v3neƷd#elfx)㵌73e|i3>#21NgϸMO3`|cIa8:ƻ2` b FL#1N i(8t ӗ3.f\x38LN`Q |AƸ~ m]RƁ\)3͟iiZ3zQ|%Z wd0m>_fDo1 EURrt [%u_dTǥ6*hY ۔J,^PkG(1mv,'L]YbE-]pRpb P`)n(H(Z2]408#Y# u>T:QnnE懵^ @IdXԅeh)JN 55RiQ N/{J.@vb-Ȃp<-C]*2$íE])&ԅ!R+"Ш,eڕpRd)ݧ]8G(W ۩,C6dcϣrޅ{NlQEKBdfd%{V ٓY(>F]9,WLwi8X*hlls=d`h.@] t(6Y~Z\(v}x j(]nq5,̷cEUEC֚^{Y+n1f%ШXWd>פ-.{͚K!rYSw8xU'9%^י5X08 ~ҷ?00%Hjco 5S+< UaJU 4C"lǴhBb싀^E @e^PhQC`L;D) \֎*ȣ[MYs&'Ŏh+N@|-#:Y@v!J2Q;6v5X'JZb.Bpnz.E񇴅ߢnZ\F\SAm\#?-Wߢ#rM"xQ{X MlAZ1#_{J\xS{L,Nt1ğ$v1.&>2I<"I|Nr~6s OcH;,9Y-NC™|SڅϗFJ`j#iQkI!t%'8G#nEB$I/Y%(5vTlShyChS‘" ɩ?phGPIԱI4u$5S#)qsꗎ*yY׎ډo8k8=sww(FtoaM$r@{jt:ݞ$DRv&Yi82HTdB@$`*JrpdTd6 eP6}؇d_{:t:m8qH4bZꡁW:,GR~iZ l~W! d1h_u.o.G g:3$c';3):[VDjeyJ[ :K=4ά;;>xOӃvRi4':Ocv<םԖK;lchn .p[x]WNTF;2ѡLJh%G9dOa/ j dCwֺG z#3|wWkȸdZ|Z\1|m6ݎڎWJc<5m置xvXK s$$L@p0xsA'52#W2H2უhٙ>">2r3WTucjޑӧŭ#OK# ,H=roi'#[A!8-֎GHzO}i菹:#aBw< ize:pq1,a7CƗ6|q I;>e;N0c|xx˧O32?{xQ$V?_xKʿ~_?kg4 V^Ky!ѫld^1>cƇ3<:(Yu g X9>ޣipO^׳|St߭ř!nXˬ>|3}TiJz ̉x*Eo֌^mOf8gLP˜0hAS=ϻ>&\;Wc4멵SWSק zSOqqۘ7FXVsiO~NL'hdy*s2?ȼ%[l]'{ӏ/O?ONߛ<"\<ヌ2~[ ی ᅌ1nPϛ2}.[w"yG>Ub+ext1*<ńq)1P&|ص(dQ&.(bFз Pt g< ~F4͘Mol#&<8xh}_0ۤ塚7Ⱥ/[lPm~W]B6O >Y &e /ݗ$]nX+~{Q K}_3Qӷ "_>=sծ~RtW-WCeG˦Ws.bWi>Yj 1XhvEL%1_ZZYLR,YXUf]/jV6Q)9v&Ř[.c_żu8u})ϭUXY)XEh9b?3ʤZTĂzW1dj7W,Iu\lFo`{Lg[Ѫh׷YN ,iYlrB@Xty"^* Z]jōUqy^jhᔨG 3wn˭S'&v*ȟ FnocNb xq5ILq5D޾`tTCb,,r IR6ȹ(b@_F gBbcQ]:i|%Qř7mR s=^m{ )n*U2APZ"mKXMT(O.C͡,l:0ź|-MXMj5,E:O YQ74k6T;?QzR`Q .J? nlNZ{[Y/B&*KLdٳ[&+Mt$L~BS'v/ eRq]C*,vg،~Wriƕgm?bI(?R snI*i/k|%T" >*E٭Y=6!LzL78+Ϟ<s''<,Qf̎ƬK<_Hͺ[ D! j\y6 9R.hs6s8@|E!a9o.rB. yI x5ܣn`:|ɣ peοV/)S wTgfbQꓛ0I< IK6#۽( mQ, 0;oY~ls\;nHb g >ȓG:oCD@`Dn ŨZ^Pg/NJ::ōߝ!)tHXn&;r%G㮼Md4r 2nΖ$_i6#ꬉT)RiwX}%+4!VEĻ4yyDz $X}奩U)I<./bOǛJTtຘrf g`]//&*+V\>&V2kWkQ,2n{yɺ܌Z:iq =`5v2wNT n1̌7ԏg9&>'ڹY:( di`Ujҩ˂xr%%D` jSgU׬ef< @iP2x\yKB‚&tH3=B6?Qh$w\E2 Rn%/@ɑFէ̲R@h RRgNK̤4s&WYwe<+/L^x$aЏr!Ö<a YI" 6ё(J7Q9ZTƚ̹vQ]_DL|{Q9v2ҝc-c (l%+IGJO4MS%h#JreSQo@CTA \i`Col WP H2F0APo-$a#KQ*!1Cs +Kqve5<̼ c-rtC9Ɣ*d+$ 7Yu?(e)n†2ΐ$bH~8VLVa yQ\ +O*r 9A캈F,@²4nRbb+l㩌]j$ ]~ '!Y,MoN eoD:H1RP)xwp-䯩qQgYX KܾBЛ542ʄ\-@0jw/DbUv"QT$nեRV* _ZH B]-9yfIhY];{}ͼZ9xU8"'$\9yTYy7()WOY\A>Q$J48/ 4uԉ:e& ,=]1Z ?pttGZ9t4D#8Y(=x%gQ@ f7ΏqHpw$b@# e wgz]:@G݇(=Fc@ h K&q5baH7pkdOWyvU=v<%_QSDdBG(1A8R@ȓtwws:M?cșu $: She#w\(ztRĴ@O9ySQpkss ]7Htݫ7qG>k{C15rSq{KQz=PiK8Bz$!Xbфtt'Ɉ6-a_FmmSvZxxOyƇQA .~ssx.*Dlyx-<'kI?'<ӶP,Tm]jUd. e)x)I_Q,%RNZUɸx];Q;v *9/J<15k-re* }.~-'uIdڵVq5K8-ZWýzFC?/|^]aRDҫ"ػ^A`ѴVFeliή)nrZ(-ey;=-JQ!)3֔*ʘSI=cuS rY\gfH`w}ta`{Hkol沀Z(ϊE~HӠAՙwyt[TniWP֔j~N -NN K+⧗=/ /$GW ђg?A Y+L\R^+0wkOm>&uvzAH3w G^rrN?PvKthmHC+(V&-4+8!VDZ1Tg]8/>euToYCd[ed2s6}%YkD돼ܗϊ ="ʒ5uRjq/EV_͒Z-Is?Fk ),~bJMQ)~1)d4.nס {RfOM#~) }Z\{Gf-K/Es5V@7@&ǬujXxy`yچ5#f-\#5- II5Ӏc\{9k8[1g5[R)5sYcͪC"+xƚ9t?b Tɭ:?#{e_l̋!)`g**4o4 ؀CM~Y{Me;[Ὣ[vپV݂Ԫ 3,JRsZ0{sԏu]/4/žQrdߤן!ˣs_CY-l%{eS6ҼϖkO9'oQj (Jhf4BcΓ%#mO"kuѶEq7J'e swś׻]yR=|!zR6Wo(>'7uN&UۢˈKmv-mOwT_Y5ʠP/l7@C'd7|G{rSK(j4-mW4EPvX6&Q>AaLekp uJZ1"jPFM6l'zF7e'˜QkZuniy>zywβۢ}M#*Mt:/r+eMw,/XFzxc/dsoM-|I^Nz7(X[lMjv Q2J6\R<~춫eԛ6-[ƼUwӲx,9# 3 B_xޢz = գ0v-vI|Z䡶z`~uVRa^kTU[޾]PoEihU+ @kߥjo`>Ha]ʏe}ty11pr#ĊVU #G c6ȷ+Cq|%yUS7[SWi=~HQkuS]Q>fTw -(3MtɊy0 YOwưFRc{w?~7cSt߱7x6Omtpc G GG+8RaҚB#D!M\Rc|$*n vHYjLdK0_8j⨕#ыAf+LUd2j #F#ܘ‘Th:2 5.90D> 뀘