jim@mcvax.UUCP (Jim McKie) (02/01/85)
: This is a shar archive. Extract with sh, not csh. : The rest of this file will extract: : README boot.diff hp.diff uda.diff pcs750.uuenc echo x - README cat > README <<'!End-Of-README!' Vax 11/750 PCS Update --------------------- Contained herein are four files necessary to make a new 'Boot' program for the Vax 11/750 which has been FCO'ed to have loadable microcode patches. For such systems, the microcode revision level in the SID register is 95 or greater. (This is usually referred to as 'Rev 7'). The four files are: boot.diff to make a new version of /sys/stand/boot.c hp.diff to make a new version of /sys/stand/hp.c uda.diff to make a new version of /sys/stand/uda.c pcs750.uuenc a uuencode(1)'ed version of the rev. 98 microcode patches The changes to boot.c are to allow it to check the microcode revision level and load the patches if necessary and possible. The changes to uda.c are to allow it to open more than one file. The changes to hp.c are for the RM80, you may have these already. These changes are known to work with UDA50 + DEC RA81, DEC RA60 Emulex SC750 + Fujitsu Eagle, DEC RM80 The work in boot.c was done by Tom Ferrin of UCSF (ucsfcgl!tef) and the UDA50 and RM80 problems diagnosed and these notes by Jim McKie (mcvax!jim). What to do ---------- Extract this 'shar' archive into a clean directory: sh Name-Of-This-File Install the microcode patch file in the root directory: uudecode pcs750.uuenc mv pcs750.bin /pcs750.bin chmod 0400 /pcs750.bin Make a new version of the file '/boot' in /sys/stand using the changes in the "*.diff" files.new versions of boot.c and uda.c: save old versions of /sys/stand/boot.c /sys/stand/hp.c and /sys/stand/uda.c edit in the changes from the "*.diff" files to those in /sys/stand cd /sys/stand make boot Copy this file to /pcsboot for the moment: cp boot /pcsboot Halt the system, then, assuming you have a UDA50 controller (lines you type are marked with a '*') * >>>B/3 %% loading ra(0,0)boot Boot * : ra(0,0)pcsboot 15800+4108+149216 start 0x0 Boot * : ra(0,0)vmunix Updating 11/750 microcode: new rev level=98 172720+52472+45232 start 0x1120 4.2 BSD UNIX #6: Wed Sep 26 18:10:20 MET DST 1984 real mem =... If that all works OK, then you can replace /boot with /pcsboot. If it doesn't, then maybe there is a bug in your standalone driver for the disk you are using (there was one in the UDA50 driver), or perhaps you haven't got the correct rev installed? Good luck, Jim McKie. 31/01/85 Centrum voor Wiskunde en Informatica Kruislaan 413 1098 SJ Amsterdam The Netherlands tel: +31 20 5924147 UUCP: mcvax!jim !End-Of-README! echo x - boot.diff cat > boot.diff <<'!End-Of-boot.diff!' 1c1,2 < /* boot.c 6.1 83/07/29; CWI 1.1 1/31/85 */ --- > /* boot.c 6.1 83/07/29; CWI 1.3 10/2/84 */ > /* $Header: /usr/sys/stand/RCS/boot.c,v 1.1 84/09/05 08:54:53 tef Exp $ */ 68c69,70 < if (io >= 0) --- > if (io >= 0) { > loadpcs(); 69a72 > } 109a113,188 > } > > /* 750 Patchable Control Store magic */ > > #include "../vax/mtpr.h" > #include "../vax/cpu.h" > #define PCS_BITCNT 0x2000 /* number of patchbits */ > #define PCS_MICRONUM 0x400 /* number of ucode locs */ > #define PCS_PATCHADDR 0xf00000 /* start addr of patchbits */ > #define PCS_PCSADDR (PCS_PATCHADDR+0x8000) /* start addr of pcs */ > #define PCS_PATCHBIT (PCS_PATCHADDR+0xc000) /* patchbits enable reg */ > #define PCS_ENABLE 0xfff00000 /* enable bits for pcs */ > > loadpcs() > { > register int *ip; /* known to be r11 below */ > register int i; /* known to be r10 below */ > register int *jp; /* known to be r9 below */ > register int j; > static int pcsdone = 0; > union cpusid sid; > char pcs[100]; > > sid.cpusid = mfpr(SID); > if (sid.cpuany.cp_type!=VAX_750 || sid.cpu750.cp_urev<95 || pcsdone) > return; > printf("Updating 11/750 microcode: "); > strncpy(pcs, line, strlen("xx(0,0)")); > strcat(pcs, "pcs750.bin"); > i = open(pcs, 0); > if (i < 0) > return; > /* > * We ask for more than we need to be sure we get only what we expect. > * After read: > * locs 0 - 1023 packed patchbits > * 1024 - 11264 packed microcode > */ > if (read(i, (char *)0, 23*512) != 22*512) { > printf("Error reading %s\n", pcs); > close(i); > return; > } > close(i); > > /* > * Enable patchbit loading and load the bits one at a time. > */ > *((int *)PCS_PATCHBIT) = 1; > ip = (int *)PCS_PATCHADDR; > jp = (int *)0; > for (i=0; i < PCS_BITCNT; i++) { > asm(" extzv r10,$1,(r9),(r11)+"); > } > *((int *)PCS_PATCHBIT) = 0; > > /* > * Load PCS microcode 20 bits at a time. > */ > ip = (int *)PCS_PCSADDR; > jp = (int *)1024; > for (i=j=0; j < PCS_MICRONUM * 4; i+=20, j++) { > asm(" extzv r10,$20,(r9),(r11)+"); > } > > /* > * Enable PCS. > */ > i = *jp; /* get 1st 20 bits of microcode again */ > i &= 0xfffff; > i |= PCS_ENABLE; /* reload these bits with PCS enable set */ > *((int *)PCS_PCSADDR) = i; > > sid.cpusid = mfpr(SID); > printf("new rev level=%d\n", sid.cpu750.cp_urev); > pcsdone = 1; !End-Of-boot.diff! echo x - hp.diff cat > hp.diff <<'!End-Of-hp.diff!' 1c1 < /* hp.c 6.3 83/09/23; CWI 1.1 1/31/85 */ --- > /* hp.c 1.4 84/12/05; CWI 1.4 84/12/05 */ 98c98 < hp_type[unit] = hpmaptype(hpaddr, i, unit); --- > hp_type[unit] = hpmaptype(hpaddr, i, UNITTODRIVE(unit)); 120a121 > st = &hpst[hp_type[unit]]; 262a264,271 > * Skip sector handling. > */ > if (RM80 && (er2 & HPER2_SSE)) { > (void) hpecc(io, SSE); > ssect[unit] = 1; > goto restart; > } > /* 264,267c273 < * anything but an ML11. If drive < * supports skip sector handling, try to < * use it first; otherwise try the < * bad sector table. --- > * anything but an ML11. 271,272d276 < if (!ssect[unit] && (er2&HPER2_SSE)) < goto skipsect; 282d285 < 284,292d286 < * Skip sector handling. < */ < if (RM80 && (er2 & HPER2_SSE)) { < skipsect: < (void) hpecc(io, SSE); < ssect[unit] = 1; < goto success; < } < /* 352,353c346,347 < while (hpaddr->hpds & HPDS_PIP) < ; --- > while ((hpaddr->hpds & (HPDS_DRY | HPDS_PIP)) != HPDS_DRY) > DELAY(100); 354a349,350 > if (ssect[unit]) > hpaddr->hpof &= ~HPOF_SSEI; 461c457,461 < return (rp->hpds&HPDS_ERR); --- > if (rp->hpds & HPDS_ERR) > return (1); > if (ssect[unit]) > rp->hpof |= HPOF_SSEI; > return (0); !End-Of-hp.diff! echo x - uda.diff cat > uda.diff <<'!End-Of-uda.diff!' 1c1 < /* uda.c 6.1 83/07/29; CWI 1.1 1/31/85 */ --- > /* uda.c 6.1 83/07/29; CWI 1.4 84/10/02 */ 48a49 > static int udainit; 53a55,59 > /* > * Initialise cudbuf.i_unit so that controllers > * on UNIBUSes other than 0 can be used. > */ > cudbuf.i_unit = io->i_unit; 58,81c64,90 < udaddr->udaip = 0; < while ((udaddr->udasa & UDA_STEP1) == 0) < ; < udaddr->udasa = UDA_ERR; < while ((udaddr->udasa & UDA_STEP2) == 0) < ; < udaddr->udasa = (short)&ud_ubaddr->uda_ca.ca_ringbase; < while ((udaddr->udasa & UDA_STEP3) == 0) < ; < udaddr->udasa = (short)(((int)&ud_ubaddr->uda_ca.ca_ringbase) >> 16); < while ((udaddr->udasa & UDA_STEP4) == 0) < ; < udaddr->udasa = UDA_GO; < uda.uda_ca.ca_rspdsc[0] = (long)&ud_ubaddr->uda_rsp.mscp_cmdref; < uda.uda_ca.ca_cmddsc[0] = (long)&ud_ubaddr->uda_cmd.mscp_cmdref; < uda.uda_cmd.mscp_cntflgs = 0; < if (udcmd(M_OP_STCON) == 0) { < _stop("ra: open error, STCON"); < return; < } < uda.uda_cmd.mscp_unit = io->i_unit&7; < if (udcmd(M_OP_ONLIN) == 0) { < _stop("ra: open error, ONLIN"); < return; --- > if(udainit == 0){ > udaddr->udaip = 0; > while ((udaddr->udasa & UDA_STEP1) == 0) > ; > udaddr->udasa = UDA_ERR; > while ((udaddr->udasa & UDA_STEP2) == 0) > ; > udaddr->udasa = (short)&ud_ubaddr->uda_ca.ca_ringbase; > while ((udaddr->udasa & UDA_STEP3) == 0) > ; > udaddr->udasa = (short)(((int)&ud_ubaddr->uda_ca.ca_ringbase) >> 16); > while ((udaddr->udasa & UDA_STEP4) == 0) > ; > udaddr->udasa = UDA_GO; > uda.uda_ca.ca_rspdsc[0] = (long)&ud_ubaddr->uda_rsp.mscp_cmdref; > uda.uda_ca.ca_cmddsc[0] = (long)&ud_ubaddr->uda_cmd.mscp_cmdref; > uda.uda_cmd.mscp_cntflgs = 0; > if (udcmd(M_OP_STCON) == 0) { > _stop("ra: open error, STCON"); > return; > } > uda.uda_cmd.mscp_unit = io->i_unit&7; > if (udcmd(M_OP_ONLIN) == 0) { > _stop("ra: open error, ONLIN"); > return; > } > udainit = 1; !End-Of-uda.diff! echo x - pcs750.uuenc cat > pcs750.uuenc <<'!End-Of-pcs750.uuenc!' begin 444 pcs750.bin M____________________________________________________________ M____________________________________________________________ M____________________________________________________________ M________________________W___________________________________ M____________________________________________________________ M____________________________________W_______________________ M____________________________________________________________ M____________________________________________________________ M____________________________________________O_______________ M__________________O___O_____________________________________ M____________________________]_______________________________ MW___________________________________________________________ M____________________________________________________________ M____________________________________________________________ M____________________________________________________________ M______________________________________OW____________________ M____?_______________________________________________________ M____________________________________________________________ M____________________________________________________________ M____________________________________________________________ M____________________________________________________________ M____________________________________________________________ M_____________________________________________SDH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $A5 M,W"$!P,XU>59.2A' #9 , 2$8I< 0" R3!:Q@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.#!P2M@#) $1@H7< 04 X 1$A$Z= % 'MD P!(TS)P2M@# MI , 2#DH1P V0# $@Y*$< -D P!(@#YP2 #$'$:B#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!([!9P! 0#)%E2!/*6< 0#HR#! 9@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#@PL%T B19 8[T MEG"$ *,@P0$8[C)P. @#9 - SCDS< 0 V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(L2AP!-@#I -M"(T5X%0" R3)$IBN*' $ 0,XQ6P8.2A' # M9 , 2(P5< 0! R3%;-@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $A,*' $ 0,XQ6P8O15P! $# M),5L6$TH\ 4X R196PBZ%2 $ -D P!(Q#]P! $+<,-K&+L5\,L! SC!&Q@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2(R4< 0!HP#!"]BL%' $ -D P!(CI1P! !O)%D,B) 4<&0 V0#:PBL M%' $ -D P!(DI1P! 6G(,D+V)04< ^1; $B1%' $ @,DQ6R8K!1P! $# M<,-KV):4< 00HR#)#!B:%'!( ,D61K(H11P! #9 , R)B4<(0 HR#)"]B; M%' $. ,D65N(HU1P! #9 , R, _< 0 "V0# BC5'!*V ,0 !J(HU1P2@(# M$,$:V)X4<$HX ^1; (B?%'!( ,D61K(H!1P! #9 , 2, _< 0 #V0# $BC M5' $ 0,XQ6P8/P!P! +9 , "*04< 4 V0# $BE%'#H 0-PRP"8IA1P9 # M9 -K"*<4<& % W#+ )BH%'!0V /D6QM(J11PX 8#<,L F*H4<%#8 ^1;&\BK M%'!@ ,D60M(P3]P! +9 , B*T4<&0 V0#:<@Z-' $!*<@R0E8.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#DH1P V0# $@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # M9 , 2#$P< 0Q R3;8A@Y*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y M*$< -D P!(.2A' #9 , 2#DH1P V0# $@Y*$< -D P!(.2A' # .9 , 2#DH1P V0# $@# end !End-Of-pcs750.uuenc!