Updated control panel

This commit is contained in:
Zane Kaminski 2020-07-16 02:29:09 -04:00
parent 5461cac927
commit d2b17f293e
8 changed files with 164 additions and 158 deletions

Binary file not shown.

45
RDiskCP/GW ROM Disk.hqx Normal file
View File

@ -0,0 +1,45 @@
(This file must be converted with BinHex 4.0)
:#dGA)&*265"%DA0V!'0NCACbC(0V)3#3"`eB2(B!N!3"!*!$$#m!!!X[!!!"+3#
3)!Y(9b"56ddJ4'PcD`)!N!0MC'9fFQ4cDb%!!$3!J!#3"'0NCACbC(0V)3!!0!#
!!*!5(`GS&3#3"JeB!*#&#J!"rrm!9`#G!8)!N!1!!*"3rj!)q)L3"SriMZMZMZM
ZMrq)N!D2$rq3"`#3#d!!N"6rri!"Qfh!!Arr!*!@rj!)Irm!N!3"!*"4rj!%J!!
!!BmH2(Q*%L4*L4)N5BN5*%Q2(Maj`!!!!999e99rrhrr!*"Brj!JIrq3!hrrN!-
!N!X(Bf4PGJ#3"KabC(0V!*!$!8C548B!N!6`)%P$6L-!N!6`)!!!!J#3r`#33[q
3%2L)N!k2q)MZlSL1lZL)lZk)MZlSMrL)lZk)MZlSL1lZL)lZk)riL1lZL)lZk)M
ZlSL1lZL2q)MZlSL1lZL)lZk)MZlSMrL)lZk)MZlSL1lZL)lZk)rrL*!1M`q"N!D
2ri'3"Sm2rj!($rq3"`#3)lX!Z`#3"5!!)"%"S!##!3!+!*!&)!!JN!!!"!#3"5!
!)!#3"5!!)!#3"5!!)!#3,[q3")!!!!'2(MajL4)N5BN5*%Q*%L4*MaimHF!!!!&
99G99Irprr`#3,+!!Jrm!N!00!%d!N`"J!*8"34%"S!##S!#1!3!+!*!%!Y!#3*J
!(J#6!'!!P3&)!*-!B!#9!8%!N`"J!*8"33!!"H@)!B!!"H@)!B!!S!#2S!#$r`#
3!`3!!2rr!!!"!*!@!Q[3!*#Y!Qc`!*!k!EJ!#J#3"3%!(J!P!4L&55#3%NGKFR*
PG(3RFb"AEh*VFfK[F!dJN"056ddJ4'PcDb"6CA4dD@jRF`#3"J-""`!M!5I!!J#
!!*!&+`"F!$d"23853Qp[G#"QFQpY)&*265"NDA0V!*!&13"[!%8"2SJK3@ahBAP
c)'*[Eh3JFhPcG'9Y)'CbEfdJ8Np0)'4TFfXZ!*!'5J"F!&`"23816@peER3J8Np
0)'4TFfX!N!9B!'m!C!%qL#P0Eh9ZG#"NDA0V)(GSC@iJBQp[G'PZCb"QFQpY)'p
dD'9b)'4bDACP,J#3"QN!A!"l!6d&$d9ZB@*XC5"538dJC'PcD`#3"RF!E`#$!6k
)+N&XE'ph)(GbDA4TEQFJG'mJ8Np0)'4TFfXZ)&i`68)J8N&0)(*PF5GN,J#3"B`
!A!#B!6f)*N0SB@jRCA-JGfPXE#"dB@YP)'9QCQ9MG#"KCR4PFL"bC@*[Eh3Z!*!
&*`"F!#J"2F!#!)%!N!@)!&`!L3%p`!)!J3!!!dTJ#J!!Bf4PG[!J!!"1qJ*J3IV
rlY(m!!#$3#!)S&A"M%je6R919J!!FJ"J*#"m3)8GN82XJ!33-4!!X$!3!'F1%$J
"G3*!!)"Q"(!!B!a536""F!@a`'A8F!&1ANjeM9*%DA0V3e"0B@0%CAB!!%j@rqT
)ja!J*'i!#$BZ!!a`!A)%3HlrqdK!-!'J8A!"FJ9"l[rV5%!`!D"45'lrl+Kd,`U
SFbm+-!0@3$m!5'lrm%KZrra)E[rbUBd[,[rm##i!!2rlCJ4`!'!#F!%r!+PM,`S
`!eT!2`")E[r`5'lrr%KZrr+TM5mZrr`),J!"rrYR#!JZ!!$rqfF%F!"J!R!"2`#
TBbmZrr`),J!!rrYQ"(!!B!3`2!$r2`#TA5m+-!0H3$m!5'lrm%KZrra)E[rbUBd
[,[rm%#lrq`*!!!0R#!JZ!!$rkfB%F!"J!R!"2`#TBbmZrr`3,[rl!N!!!fB'-$`
!rf!#F!!r!+PG,blrl+Kc60m%#%jH6R@08N4TFfY$8&9`C'&dC3!!6PErrR!"FJ4
"l[rr5%!`!D"4F!&b"8(Zrrj)3$!"S&%`,J!+N!"Z!!aA3'F+98"R+P9!Ce4JFK!
Zrrm#3!!"C`J#,J!1rrpJB"!Zrrm#3!!2!%!!!4e!rrpJ6K!Zrrm#3!!"CN33,[r
r!N!!!QF)!Li!$IrrB$)3,[rr!N!!$`"!!!)G32rrB#!3,[rr!N!!!fF@%#lrrJ*
!!!&R"N)ZrrjJ"Kem!!(rrR!"FJ4"l[rr5%!`!D"5F!&b"8(Zrrj)3$!"S&)r,J!
-,bi!'%kkrKC1ANjeM9*%DA0V3e")DA4%CAB!!%j@rr")jai`2#i!'MSZ!"BQEJ!
-*'i!##B,6VVpKLJ!-!B-3!!)BJ!!M0"!-$X!"Nll!!)!%J"N!%`!J!"B!&J!@!#
!!&!-13"A3)8GQfBN(A`!![r`(AP!K4fFrr%GH8#&(ChrmNKZrr"#Td+R3UHTLf!
-5'b!!%+R3UG#TkQ,GJ0J-%kkr6!Q!'!S2`8[#Nkkr@jF6f!F,`S[#bmZ!"!r,J!
82`8r,J!B2`C1Z[jZ6qm!&#!%`B`[3`"%60m-H%jH)&p2l`!86Y#%E@&TEJ#3!`)
a0J"54'PcD`#3!`%!N!--,`!!#bm!!!%T!@bC["*H!*!$(!%D!!YZFQ0d!*!$BQP
MFc3!N!0ZD@0c)`#3!hT*3diM!*!$KNC548B!N!153Nj%6!#3!jjTBf`d!*!$UP"
*3e3!!3#fE@&MD!#3!mjbC(0V!*!$fN4*9%`!N!2QBf4PGJ#3!r,`)2rr!*!)m#$
rr`#3!`i!N!6`)2rr!*!$NJ#3"2!JrrmJ!!$@!*!%m#$rr`!!!GS!N!6`)2rr!!!
"j3#3"2!Jrrm!!!)&!*!&J2rr!!!%#3#3"B(rr`!!"-J!N!6`)2rr!!!&'3#3#J8
K!*!%m#$rr`!!"L8!N!6`)2rr!!!(i3#3"!j2GfjPFL"bCA0[GA*MC5P":

View File

@ -1,44 +0,0 @@
(This file must be converted with BinHex 4.0)
:#dGA)&*265"%DA0V!'0NCACbC(0V)3#3"`dX!Q8!N!3"!*!$#q8!!!VP!!!"4`#
3)!Y(9b"56ddJ4'PcD`)!N!0MC'9fFQ4cDb%!!$3!3!#3"'0NCACbC(0V)3!!0!"
!!*!5(`GS&3#3"JdX!*#&#J!"rrm!9`#G!8)!N!1!!*"3rj!)q)L3"SriMZMZMZM
ZMrq)N!D2$rq3"`#3#d!!N"6rri!"Qfh!!Arr!*!@rj!)Irm!N!3"!*"4rj!%J!!
!!BmH2(Q*%L4*L4)N5BN5*%Q2(Maj`!!!!999e99rrhrr!*"Brj!JIrq3!hrrN!-
!N!X(Bf4PGJ#3"KabC(0V!*!$!8C548B!N!6`)%P$6L-!N!6`)!!!!J#3r`#33[q
3%2L)N!k2q)MZlSL1lZL)lZk)MZlSMrL)lZk)MZlSL1lZL)lZk)riL1lZL)lZk)M
ZlSL1lZL2q)MZlSL1lZL)lZk)MZlSMrL)lZk)MZlSL1lZL)lZk)rrL*!1M`q"N!D
2ri'3"Sm2rj!($rq3"`#3)lX!Z`#3"5!!)"%"S!##!3!+!*!&)!!JN!!!"!#3"5!
!)!#3"5!!)!#3"5!!)!#3,[q3")!!!!'2(MajL4)N5BN5*%Q*%L4*MaimHF!!!!&
99G99Irprr`#3,+!!Jrm!N!00!%d!N`"J!*8"34%"S!##S!#1!3!+!*!%!Y!#3*J
!(J#6!'!!P3&)!*-!B!#9!8%!N`"J!*8"33!!"H@)!B!!"H@)!B!!S!#2S!#$r`#
3!`3!!2rr!!!"!*!@!Q[3!*#Y!Qc`!*!k!EJ!#J#3"3%!(J!P!4L&55#3%NGKFR*
PG(3RFb"AEh*VFfK[F!dJN"056ddJ4'PcDb"6CA4dD@jRF`#3"J-""`!M!5I!!J#
!!*!&+`"F!$d"23853Qp[G#"QFQpY)&*265"NDA0V!*!&13"[!%8"2SJK3@ahBAP
c)'*[Eh3JFhPcG'9Y)'CbEfdJ8Np0)'4TFfXZ!*!'5J"F!&`"23816@peER3J8Np
0)'4TFfX!N!9B!'m!C!%qL#P0Eh9ZG#"NDA0V)(GSC@iJBQp[G'PZCb"QFQpY)'p
dD'9b)'4bDACP,J#3"QN!A!"l!6d&$d9ZB@*XC5"538dJC'PcD`#3"RF!E`#$!6k
)+N&XE'ph)(GbDA4TEQFJG'mJ8Np0)'4TFfXZ)$%f68)J8N&0)(*PF5GN,J#3"B`
!A!#B!6f)*N0SB@jRCA-JGfPXE#"dB@YP)'9QCQ9MG#"KCR4PFL"bC@*[Eh3Z!*!
&*`"F!#J"2F!#!)%!N!@)!&`!L3%p`!)!J3#3"J,mB!S!!'0NCAE`)!!!6[S#,%(
krql4r!!!J[BJ#+"9`Ba1G8je6PErqLm$,@b!!2rk2@b!"2rqGJ"J*#"m3)8GN!"
$l[rk%$%`!,!`-!"R$K!i!A8)!!!(CJ4`!'!-8N-`3h!'XF"Pe(!"*Kp1ANjeM9*
%DA0V3e"0B@0%CAB!!%j@rqj)jaJJ*'i!#$JZ!!`@,J!15'lrlUKd,`USFbm+-!4
@3$m!5'lrmNKZrra)E[rdUBd[,[rm%!-#3!$pCJ4`!'!#F!%r!+PM,`S`"&T!2`"
)E[rb5'lrr%KZrr5TM5mZrr`)!`!"CJ4`!'!#F!%r!+PM,blrr"!$!N!!r@B%F!"
J"$!m!2mr!+PG,`S`"&j!2`")E[rb5'lrr%KZrr5TM5mZrra+,J!3CJ4`!'!#F!%
r!+PM,blrr%S$CJB`2!$rB!*`!$m!U9d[,[rZU(0-h`3B6Pj1GBe54'PcDd039A"
NBA4P!!"19[rqF!&b"%(Zrrp)3$!"S&&`!A)&3HlrrNK!-!'J86!Z!!U3!'i!$&G
!C`T93'F`98"R5'"D%#lrr`*!!2eR$K!Zrrm#3!!#(8$rrf"#%#lrr`*!!!)!3!!
"(8$rrf!`%#lrr`*!!2eQ*K!Zrrp)J%C!!N!!!Ke!rrpJ&%SZrrpR$K!ZrrjA`%3
!5)!G32rq(blrrKmZrrmr,J!-,bi!'%kkrRC`!A)%3HlrrdK!-!'J8R!"FJ9"l[r
q5%!`!D"56Pj1GBe54'PcDd035'Pd4'9f!!"19[rq51FH-$`Z!"Sk,J!@*Qi!$#4
Z!!JQ#dkkrESS!$!'$%!!#'*fd%!`1`!'6[X!!J!5!&!!%J"X!"i!(J!H!'`!&RB
$B&C1Z[fJ*J"J6R!"FJ4"l[rr5%!`!D"4F!&b"8(Zrrj)3$!"S&%I,[rq(blrrcm
&,`T1Z[h+6qm!#Q!F,`S[#bmZ!"!r,J!82`8r,J!B2`C1Z[k86qm!&#!%`B`[3`!
f60m-H%jH)&p2l`!86Y#%E@&TEJ#3!`954'PcD`!!!3#3!`[P!!!+j3!!!8F"E*Q
m%#S!N!-F!5i!$'jbBh3!N!0UD@0c0!#3!hCTBh-M!*!$JNP$6L-!N!114P*&4J#
3!jT#6N4-!*!$TQPME$3!N!1b8%P$9!!"!,jYB@0S!*!$eR*NFfX!N!2L4%P86!#
3!qim4%Bq!*!$qQ0NCAB!!!%'m#$rr`#3#2!Jrrm!N!-1!*!%m#$rr`#3!j)!N!6
`)2rr)!!!eJ#3"2!Jrrm!!!(D!*!%m#$rr`!!!H8!N!6`)2rr!!!#"3#3"B$rr`!
!"!N!N!@"rrm!!!6)!*!%m#$rr`!!"4N!N!S&)3#3"2!Jrrm!!!BP!*!&J!!2!!!
(i3#3"2!Jrrm!!!IP!*!%$NphEQ9b)(*PFfpeFQ0P#84KG'%J4QpbDdXk:

2
RDiskCP/RDiskCP.c Normal file → Executable file
View File

@ -1 +1 @@
#include <Devices.h> #include <A4Stuff.h> #define BootCheckbox 3 #define BootCaption 6 #define MountCheckbox 5 #define MountCaption 8 #define RAMCheckbox 7 #define RAMCaption 10 <Devices.h> #define GWROMDiskSigAdddr ((char*)0x40851D90) #pragma parameter __D0 RDiskCPReadXPRam(__D0, __D1, __A0) short RDiskCPReadXPRam(short size, short offset, char *where) = {0x4840, 0x3001, 0xA051}; #pragma parameter __D0 RDiskCPWriteXPRam(__D0, __D1, __A0) short RDiskCPWriteXPRam(short size, short offset, char *where) = {0x4840, 0x3001, 0xA052}; <Devices.h> #define MountCaption 8 int i; const char sig[] = "\pRDisk"; // Check signature and return 0 if doesn't match for (i = 0; i < sizeof(sig); i++) { if (GWROMDiskSigAdddr[i] != sig[i]) { // If signature doesn't match, // fail if not holding R key if (!((*((char*)0x175)) & 0x80)) { return 0; } } } return 1; // Otherwise return 1 if signature matches } static void RDiskCPUpdate(DialogPtr cpDialog, short numItems, char startup, char ram) { GrafPtr savePort; Handle h; Rect r; short type; // Save GrafPort and set port to dialog before updating items GetPort(&savePort); SetPort(cpDialog); GetDItem(cpDialog, BootCheckbox+numItems, &type, &h, &r); SetCtlValue((ControlHandle)h, startup & 0xFD ? 1 : 0); GetDItem(cpDialog, MountCheckbox+numItems, &type, &h, &r); SetCtlValue((ControlHandle)h, startup & 0x02 ? 1 : 0); HiliteControl((ControlHandle)h, startup & 0xFD ? 255 : 0); GetDItem(cpDialog, RAMCheckbox+numItems, &type, &h, &r); SetCtlValue((ControlHandle)h, ram ? 1 : 0); HiliteControl((ControlHandle)h, startup ? 0 : 255); // Restore old GrafPort SetPort(savePort); } static void RDiskCPHitDev(short message, short item, short numItems, short cpPrivateVal, EventRecord *theEvent, void *cdevStorageValue, DialogPtr cpDialog) { char startup, ram; RDiskCPReadXPRam(1, 4, &startup); RDiskCPReadXPRam(1, 5, &ram); switch (item - numItems) { case BootCheckbox: if (startup & 0xFD) { startup = startup & 0x02; } else { startup = (startup & 0x02) | 0x01; } break; case MountCheckbox: #define MountCheckbox 5 #include <A4Stuff.h> break; case RAMCheckbox: #define MountCheckbox 5 #define BootCheckbox 3 #define MountCheckbox 5 #define MountCheckbox 5 #define BootCaption 6 #define MountCheckbox 5 #define MountCheckbox 5 RDiskCPWriteXPRam(1, 4, &startup); RDiskCPWriteXPRam(1, 5, &ram); } pascal long main(short message, short item, short numItems, short cpPrivateVal, EventRecord *theEvent, void *cdevStorageValue, DialogPtr cpDialog) { char startup, ram; long ret = (long)cdevStorageValue; // Switch to our A4 world EnterCodeResource(); // Handle message switch (message) { case initDev: case closeDev: ret = cdevUnset; break; case macDev: ret = RDiskCPMacDev(); break; case updateDev: case activDev: case deactivDev: RDiskCPReadXPRam(1, 4, &startup); #define RAMCheckbox 7 #define MountCaption 8 RDiskCPUpdate(cpDialog, numItems, startup, ram); break; case hitDev: RDiskCPHitDev(message, item, numItems, cpPrivateVal, theEvent, cdevStorageValue, cpDialog); break; }; // Restore old A4 world and return result ExitCodeResource(); return ret; }
#include #define RAMCheckbox 7 #define RAMCaption 10 <Devices.h> #define MountCaption 8 int i; // Check signature and return 0 if doesn't match for (i = 0; i < sizeof(RDiskSig)-1; i++) { if (RDiskSigAddr[i] != RDiskSig[i]) { // If signature doesn't match, // fail if not holding R key if (!((*((char*)0x175)) & 0x80)) { return 0; } } } return 1; // Otherwise return 1 if signature matches } static void RDiskCPUpdate(DialogPtr cpDialog, short numItems) { GrafPtr savePort; Handle h; Rect r; short type; char startup, ram; // Get startup and ram from PRAM RDiskCPReadXPRam(1, 4, &startup); RDiskCPReadXPRam(1, 5, &ram); // Save GrafPort and set port to dialog before updating items GetPort(&savePort); SetPort(cpDialog); GetDItem(cpDialog, BootCheckbox+numItems, &type, &h, &r); SetCtlValue((ControlHandle)h, startup & 0x01 ? 1 : 0); GetDItem(cpDialog, MountCheckbox+numItems, &type, &h, &r); SetCtlValue((ControlHandle)h, startup & 0x02 && !(startup & 0x01) ? 1 : 0); HiliteControl((ControlHandle)h, startup & 0x01 ? 255 : 0); GetDItem(cpDialog, RAMCheckbox+numItems, &type, &h, &r); SetCtlValue((ControlHandle)h, startup & 0x03 && ram & 0x01 ? 1 : 0); HiliteControl((ControlHandle)h, startup & 0x03 ? 0 : 255); // Restore old GrafPort SetPort(savePort); } static void RDiskCPHitDev(short message, short item, short numItems, short cpPrivateVal, EventRecord *theEvent, void *cdevStorageValue, DialogPtr cpDialog) { char startup, ram; RDiskCPReadXPRam(1, 4, &startup); RDiskCPReadXPRam(1, 5, &ram); switch (item - numItems) { case BootCheckbox: if (startup & 0x01) { startup &= 0x0F & ~0x01; } else { startup = startup & 0x0F | 0x01; } break; case MountCheckbox: #define GWROMDiskSigAddr ((char*)0x40800004) #include <A4Stuff.h> if (startup & 0x02) { startup &= 0x0F & ~0x02; } else { startup = startup & 0x0F | 0x02; } } break; case RAMCheckbox: #define GWROMDiskSigAddr ((char*)0x40800004) #define MountCheckbox 5 <Devices.h> #define MountCaption 8 else { ram = 0x01; } #define GWROMDiskSigAddr ((char*)0x40800004) #define BootCaption 6 #define MountCheckbox 5 #define MountCheckbox 5 #define BootCaption 6 RDiskCPWriteXPRam(1, 4, &startup); RDiskCPWriteXPRam(1, 5, &ram); RDiskCPUpdate(cpDialog, numItems); } pascal long main(short message, short item, short numItems, short cpPrivateVal, EventRecord *theEvent, void *cdevStorageValue, DialogPtr cpDialog) { long ret = (long)cdevStorageValue; // Switch to our A4 world EnterCodeResource(); // Handle message switch (message) { case initDev: if (RDiskSigAddr[sizeof(RDiskSig) + 4] == 0x57) { Str15 ramSize; ramSize[0] = 2; ramSize[1] = RDiskSigAddr[sizeof(RDiskSig) + 5]; ramSize[2] = RDiskSigAddr[sizeof(RDiskSig) + 6]; ParamText(ramSize, 0, 0, 0); } else { ParamText("\p16", 0, 0, 0); } case closeDev: ret = cdevUnset; break; case macDev: ret = RDiskCPMacDev(); break; case updateDev: case activDev: case deactivDev: #define GWROMDiskSigAdddr ((char*)0x40851D90) #define MountCaption 8 ); break; case hitDev: RDiskCPHitDev(message, item, numItems, cpPrivateVal, theEvent, cdevStorageValue, cpDialog); break; }; // Restore old A4 world and return result ExitCodeResource(); return ret; }

1
RDiskCP/RDiskCP.h Executable file
View File

@ -0,0 +1 @@
#ifndef RDISKCP_H #define RDISKCP_H #include <A4Stuff.h> #define BootCheckbox 3 #define BootCaption 6 #define MountCheckbox 5 #define MountCaption 8 #define RAMCheckbox 7 #define RAMCaption 10 const char RDiskSig[] = "RDisk"; #define RDiskSigAddr ((char*)0x40851D91) #pragma parameter __D0 RDiskCPReadXPRam(__D0, __D1, __A0) short RDiskCPReadXPRam(short size, short offset, char *where) = {0x4840, 0x3001, 0xA051}; #pragma parameter __D0 RDiskCPWriteXPRam(__D0, __D1, __A0) short RDiskCPWriteXPRam(short size, short offset, char *where) = {0x4840, 0x3001, 0xA052}; #endif

View File

@ -1,105 +1,109 @@
(This file must be converted with BinHex 4.0)
:"e*%DA0V3e!!68e38Ne03d-"!*!$%[3!!!@q"cGMEfpX!*!$!3#3!a`!!"*J!!!
5I!#3!hJ!N!-'!*!$1!!"!$!!!J!F!129M!#3"%#!QJS!!$2`!F92k!#3!f"@H2r
r!FkKH!!!!Y)!N!-'!!)!N!-#!"`*6'PLFQ&bD@9c-CLRN!!!N"m#!"`*6'PLFQ&
:"e*%DA0V3e!!68e38Ne03d-"!*!$%li!!!@q&9&MEfpX!*!$!3#3!a`!!"-U!!!
64J#3!hJ!N!-'!*!$1!!"!$!!!J!F!129M!#3"%#!QJS!!$2`!F92k!#3!f"@H2r
r!FkKH!!!!a`!N!-*!!)!N!-#!"`*6'PLFQ&bD@9c-CLRN!!!N"m#!"`*6'PLFQ&
bD@9c-CLRN!!!N"m#!#J!q2r`!*!&!G58!*!'-XB##!!!!3V,@!#3%#"YC@je!*!
%*!$Yr`%!!3#3$Jp$E'9KFL"'D@aP)'ePER8!N!3",3#3"3-!!3!#!!!VBJP54'P
cDd03,Q-!N"BI#F-9!3%!N!N#!!)!!#YL$&*%DA0V3e!ZFR0bB`#3%am*R2i"!3#
3#30!!J!!$QJ06@&M5'9KC'9bFcBi5`#3%UZmEmN"!3#3#34!!J!!$0X*4'9fD@0
PFbjS!*!@UjA"`!!"!*!*"8!#!!!,m`P"0&0dG@CQ,QJ!N"DVXFHU!!%!N![%!!)
!AJ#3!`3!!4pG!!!#dJ#3!`%!N!3*8N4TFfY$8#jM!*!C"J#3"3%I#F-9!*!$"DZ
aakS!N!-%UjA"`!#3!`1V['r*!*!$AJ"R!!%!!3#3#3%!N!3-8N4TFfY$8#jbFh*
M!*!F!Km*R2i!N!3rrS!J!*!&E!!+X@`2rj!'!*!*!33"E*L%!AG$f!&h3mJ!N!G
X!@bBK!!2!*!$A3$A!Hbra!#3"3d!e`#3"3B!!3&h3b!!N!8"!#)!!$%J!#J!I`!
S!(m"GfDJ!!%!N!B"E*Qd!*!*!`!"!AG$(!!'!!#!!J!%!!B!N!NN!@bBK!$T!-`
"93'b!#S!!`&6!Id"Gd-F!*!,1!&XQ)3!N!3"l,r%!!i!e`"H!1IrN!2p!!$rr3!
##R!"Gd-X!*!6+!&XQ)3"GdGN!AG$)!!#""!!N!cqlEkY!*!'!ji!!!Ud!*!$9J!
!!pi!!!E@!*!'!Y)!N!F'!*!84@G&E3#3!`%!N!-'rj!%!!!#23954'PcDd9T!*!
$!J#3!eS!N!-J!!!#28j@rrS[!beX!!$rqMeX!!$rrRB!B#3JI%#&(C!!3qlrqK!
a-!#`-$!!C`i31!&e#!!!"fB%F!"J$&*$-%0`"V(!CG4`!5BI6Pj1GBe54'PcDd0
36@&M4'9f!!"&G!#3!`%!!J#3!`i!N!-%!*!$#!#3"%9T!*!$"3#3!qJ!N!1)!!!
$Y8j@rqj)jaJJ*'i!#$JZ!!`@,J!15'lrlUKd,`USFbm+-!4@3$m!5'lrmNKZrra
)E[rdUBd[,[rm%!-#3!$pCJ4`!'!#F!%r!+PM,`S`"&T!2`")E[rb5'lrr%KZrr5
TM5mZrr`)!`!"CJ4`!'!#F!%r!+PM,blrr"!$!N!!r@B%F!"J"$!m!2mr!+PG,`S
`"&j!2`")E[rb5'lrr%KZrr5TM5mZrra+,J!3CJ4`!'!#F!%r!+PM,blrr%S$CJB
`2!$rB!*`!$m!U9d[,[rZU(0-h`3B6Pj1GBe54'PcDd039A"NBA4P!!"&D3#3!dF
!N!28!!!"E!!!"U*19[rqF!&b"%(Zrrp)3$!"S&&`!A)&3HlrrNK!-!'J86!Z!!U
3!'i!$&G!C`T93'F`98"R5'"D%#lrr`*!!2eR$K!Zrrm#3!!#(8$rrf"#%#lrr`*
!!!)!3!!"(8$rrf!`%#lrr`*!!2eQ*K!Zrrp)J%C!!N!!!Ke!rrpJ&%SZrrpR$K!
ZrrjA`%3!5)!G32rq(blrrKmZrrmr,J!-,bi!'%kX!!"`!A)%3HlrrdK!-!'J8R!
"FJ9"l[rq5%!`!D"56Pj1GBe54'PcDd035'Pd4'9f!!"&J3#3!`8!!3#3!k)!N!4
&DJ#3!dN!N!1m!!!#,J!!#9G19[rq51FH-$`Z!"Sk,J!@*Qi!$#4Z!!JQ#dkX!!!
S!$!'$%!!#'*fd%!`1`!'6[X!!J!5!&!!%J"X!"i!(J!H!'`!&RB$B&C1V!!!*J"
J6R!"FJ4"l[rr5%!`!D"4F!&b"8(Zrrj)3$!"S&%I,[rq(blrrcm&,`T1V!!!6qm
!#Q!F,`S[#bmZ!"!r,J!82`8r,J!B2`C1V!!!6qm!&#!%`B`[3`!f60m-H%jH)&p
2l`!86Y#%E@&TEJ#3!d@"!*!$4`!"!*!$Q!#3"%@"!*!$"3!"!*!$HJ#3"%@"!*!
$!J!"!*!$5J#3"%@"!*!$5J!"!*!$(!#3"%9S8eP05!!!!d3!N!-3!*!9!3#3"J)
p!*!$"J!!!Q-!N!-5!!!#Y!#3!aB!!!,C!*!$+J!!!d-!N!-i!!!$H3#3!d)!!!0
m!*!$4!!!!l,rN!3!!!1c!!)!N!-$rj!$rJ!#rj!$qJ#3!`3!N!-,!*!&!`!"!*!
'!l8!N!-8!!!%JJ#3!aS!!!5A!*!$(J!!"+d!N!-d!!!%k!#3!dS!!!8L!*!$B!!
!"9i!N!0d!!!&PJ#3!i`!!!A8!*!$SJ!!"Ji!N!1f!!!'1`#3!mS!!!D,!*!$d!!
!"TrrN!3!!!DJ!!J!N!-'rj!$r3#3"3S!N!0"!*!$#`#3"33!N!0#!*!$"`#3"3-
!N!0$!*!$"`%#!*!$%!#3!d3!N!-,!!,rN!2b!*!$4Iq3!rS!![q3!r3!N!-J!*!
$C`!#rj!$r!#3!dErN!2p!!,rN!2Z!!%!N!B('3#3!`3!!!GL!*!$%J!!"i8!N!-
J!!!(T!#3!cB!!!I9!*!$6J!!#!S!N!0H!!!)13#3!f!!!!KC!*!$HJ!!#*)!N!0
m!!!)X!#3!j!!!!!)hJ#3!k3!!!N3!*!$XJ!!#63!N!2!!!!*92q3"!!!#98!"3#
3!dJ!N!-,!3)!N!-+!*!$33#3!`X"!J#3!``!N!-'rj!$r3%#!*!$'!#3!d-!N!-
(!!,rN!2q!*!$3J#3!`F!![q3"!!"!*!'#I3!N!-B!!!+#J#3!aS!!!T*!*!$)!!
!#R)!N!0%!!!+T`#3!dJ!!!V4!*!$8!!!#bJ!N!0H!!!,63#3!f`!!!YZ!*!$I!!
!#k)!N!1#!!!,[!#3!ji!!!aN!*!$SJ!!$(N!N!1Q!!!-K[q3"!!!$)F!#`#3!dX
!N!-,!*!&"J#3!dJ!N!-,!3)!N!-B!*!$33#3!`X!N!8&!*!$6!#3!`X"!J#3!a3
!N!00rj!$m3%#!*!$%!#3!e-!N!0N!*!&#`#3!`ErN!2p!*!&#J#3!e3!N!-$!*!
&"!#3!e8!N!-$!*!&!`#3!d-!N!-(!!,rN!2q!*!$3J#3!`F!![q3"!!"rj!%!*!
$"J#3!`%!N!-(!!(rN!2q!*!$"J#3!`%!N!-(!!,rN!2k!*!$$J#3!`J!"!#3!`m
!N!-,!*!(%!#3!`X!N!-#!*!$%3#3!`X!N!-%!*!$%J#3!`X!N!-'!!,rN!2l!*!
$#J#3!`i!!`#3!`X!N!0Q!*!($!#3!`X!N!-%!*!$$Iq3!rS!N!-'!!,rN!2i!*!
$&3#3!`S!!J#3!aB!N!-,!*!(&rq3!rS!N!-#!!$rN!2j!!,rN!2i!!(rN!2f!*!
$#!#3!`%!N!-'!!,rN!2h!*!$'J#3!`J!!3#3!a[rN!2f!*!&![q3!r8!N!-H!*!
$"!!#!*!$(`#3!`X!N!FJ!*!$#`#3!`)!!2q3!r)!!3#3!fS!![q3!r-!N!-c!*!
$0!!0!*!$02q3!r)!N!Ferj!$mJ#3!`3!N!-frj!$mJ#3!`J!N!-hrj!$mJ#3!``
!N!-irj!$mJ#3!a!!N!-jrj!$mJ#3!a3!N!-krj!$mJ#3!aJ!N!-lrj!$mJ#3!a`
!N!-mrj!$mJ#3!b!!N!-prj!$mJ#3!b3!N!-qrj!$mJ#3!bJ!N!-rrj!$mJ#3!b`
!N!0!rj!$mJ#3!c!!!2q3!r3!!Iq3!r-!![q3!r`!N!-(!*!$E!!D!*!$#!#3!`X
!N!F*rj!$q`#3!`)!N!-6rj!$qJ#3!a!!N!-8rj!$q3#3!aJ!N!-Brj!$q3#3!a`
!N!-Crj!$p`#3!b!!N!-Frj!$p`#3!bJ!N!-Grj!$p3#3!c!!N!-Krj!$p3#3!c3
!N!-L!*!$#`#3!cJ!N!-Mrj!$p`#3!cS!N!-N!*!$#`#3!d)!N!-P!*!$#`#3!d3
!N!-Q!*!$"J#3!dB!N!-R!*!$"`#3!dF!N!-S!*!$#`#3!dJ!N!-T!*!$#`#3!dS
!N!-U!*!$!`#3!d`!N!-V!*!$!`#3!e!!N!-X!*!$!`#3!e3!N!-Y!*!$#`#3!eJ
!N!-Z!*!$#`#3!eS!N!-[!*!$C`#3!e`!N!-`!*!$C`#3!f!!N!-a!*!$C`#3!f3
!N!-brj!$p!#3!fJ!!2q3!rd!!Iq3!r`!![q3!r!!N!01!*!$%!!&!*!$6`#3!`S
!N!G,!*!$!J#3!`)!N!03!*!$!J#3!`B!N!04rj!$p3#3!`S!N!05!*!$#J#3!`i
!!2q3!r%!!Iq3!r!"3%!!!A*54'PcDd036@&M4'9f!!0KFfPR!!&TD3!"29*%DA0
V3e"9F'4KG'8!!2PMF%4TB@a[C`!!BdGbB@C3Eh*d!!+aC'9fD@0P!!"0F'pbG%*
TG(-!!LC#DA40BA!!!,0LBA0P3@4NFJ!!IR*[Gd*jG'9c!!)VBQpeEQ4c!!"r8Q9
MG!!$,h4[F!!!$'aPCR3!!L*LEh4dEfd!!GCbD@GSG!!!*("[FR45C@0d!!)`GQP
c8QGZ!!)28Q9RD@pZ!!0"FQGZ8fPkC3!$cR*REN*#EhJ!!k4ME'P`8QGZ!!'CBQY
3BA3!!kT3BA4dCA*Z!!0KF'&d!!-8CQPXE&"KG!!"`("Z6'pM!!'N8'pTER3!!AC
f!!&SD!!#Uh"Z8fPkC3!#'A"Z6@pNC3!"rh"Z8'&d!!%AF'j@DA-!!YjdH%C[ER3
!!P9dH%CKBf8!!VPQD@aXCA)!!M&dH%e[C'8!!Z0dH&0THQ8!!lYcF%9iG(*K!!0
ICQG$Efa[FJ!$1'*V3fpXEh)!!leMEfab3QPd!!,'F'&d8h4bCA4MD!!$G("TBe0
KGQ8!!k&bCfj6BACP!!!-F'pXH90KGQ8!!6*RFQ&Q8(*[Bh-!!b044&"bEf0c!!"
(G'9iG&"bEf-!!)eXD@jP8(*[B`!!ZA*PBh43FQpM!!%1FP*PBh43FQpM!!#4EhC
KE&"bEf-!!b&KFQ03FQpM!!$`F'pXH9"bEf-!!i&bCfj3FQpM!!#UBQPdFe"bEf-
!!qjMEfeYC@jd8(*[B`!#1h4i6@9KFe"bEf-!!Z4RCA43D@03FQpM!!*aF(9d8'P
M8(*[B`!!EfjeE8PdC@ec!!1&Fh4KFR4eF!!$BR*KE3!!Eh4jF'8!!A*b!!$0Ff&
fC9"[FR3!!BC54'PcDd035'Pd4'9f!!#JDA4PE3!!XfeKD@i!!%G6CA4$GA*bC@j
d363!!dYYCA0cB@GP!!!qBh"3FQPfBA4P9Q&X!!"XG'KP4ACPER3!!k9&GQ9ZG&*
PBfpbC!!!fAGSBA3!!&0hD'9Z!!&2GfKPFQ8!!5aYEf4TCQPPFR-!!-eMC'9f8h4
[FQ&RC9CKE(9P!!&kEfaN363!!qTbCA3!!,kVZZX!N$d"!"J!N!3#29*%DA0V3e"
0B@0%CAB!!!%!'!#3"!1e8N4TFfY$8&9`C'&dC3!!!3!B!*!%"U*54'PcDd035'P
d4'9f!!!"!"!!!3!!#9GYB@PZ!0X!!!&h3cJ!!!%H!!!"$P"'E(-!N!3"Gd-`!!!
#,!#3!m436(0d!*!+!4`!N!-#8&0PCrrr!*!*(!!!!3"38f9R!!%!N!J$m!!!$I*
[BQTN(ed!N!J4iJ#3!jTLFRGc(ed!!%kb!!!"!*!$"0`!!!2F!*!$iJ#3!`&K!*!
%!@%!N!3"B3#3"!&K!*!%!@%!N!-(8N4TFfY$8!)!N!0069"568e$3`%!N!TE!!"
069"568e$3`%!N"IE(Vjb!!!5p!!!"Ei!!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#
3"!&K!*!%!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#3"!&
K!*!%!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#3"!&K!*!%!@%!N!3#!!-!N!0+!!%
!#3C0EfjKBfm!N"`%!#J!#J(#!S!!+!!+!F)#J!#3%!%!N!3#!*!&+!!%!3$rr`#
3#2rr!C!&!*!%(J%"!*!)QCN!N!8`!!8!N!F06@&M5'9KC'9bFcBi5`#3(!S!!J#
3#a3!"!#3#!%!N!`-!!3"!!!"!!%"!*!'"`!#!*!)"`!#!*!(!J3!!J%(4(*[F'a
PG!#3q3%'8fpcG@eT!*$l#J!%!*!,[!!%!!%,4eFJ8Np0)%4TFfX!N$4bC(0VBf4
PGJ#35'0NCAE`)!#3"qN!c!&9!E)"!*!$#l`!!#YL!*!-!3#3!`6F!!!$h!#3!q)
"E*Qm$m`!N!-F!0)!!R"bC@B!#J!DF&CPFJ#3!jj69&)M!*!$UJ!!rrm!N!-'!*!
&!Irr!*!$@J#3"3,rr`#3!iB!N!8(rrm!N!1k!*!&!rrr!*!$b!#3"36rr`#3!q!
!N!8'rrm!N!2`!*!&#2rr!*!$q`#3"3Rrr`!!!3B!N!A)rrm!!!-1!*!&"Irr!!!
$(!#3%!2`rrm!N!08!*!%$e"bEfTPBh3J9Q9bFfP[EQa!:
cDd03,Q-!N"BI'2l1!3%!N!N#!!)!!#YL$&*%DA0V3e!ZFR0bB`#3%amBrAX"!3#
3#30!!J!!$QJ06@&M5'9KC'9bFcBi5`#3%UZmEmN"!3#3#34!!J!!#r-*3646G(9
QCLjS!*!@Ul((UJ!"!*!*"3!#!!!VBJP54'PcDd03,QJ!N"BI'2lH!3%!N![%!!)
!AJ#3!`3!!4pG!!!$(!#3!`%!N!3*8N4TFfY$8#jM!*!C#3#3"3%I'2l1!*!$"+Z
aakS!N!-$Ula[b3#3!`8I'2lH!&!!AJ"R!!%!!3#3#3%!N!3-8N4TFfY$8#jbFh*
M!*!F!KmBrAX!N!5VXB"J!!%!N!-B!!US8!!%!G)"d`%Z!*!)!A3"9*c!!!!"9*e
i!95GF!&8R@crr`&8RB#U9DT9UP@U93#3"a!"9*c!!*!$r`#3"c`"9*c!Ira!"N)
'3`C$KN2'3iC$"N)'3!CrrMrqIrarrRrqIrjrrRrqIrjrrRrqIrjrrMrq!*!(2!&
8R-!!N"%#!*!'J!#3(L3"9*c!!*!A5!#3"a!"9*c!!!J!N!NB!95F`!&I5U!"AdU
3!'4[G`#3"IlY[Ud!N!B%"J!!#eS!N!0A!!!%4J!!"a3!N!B$(!#3"`N!N"4&Cd9
Z!*!$!3#3!`ErN!3!N!454'PcD`"&D3#3!`)!N!0+!*!$)!#3!aC19J!!FJ"J*#"
m3)8GN82X!!!3-4!!X$!3!'F1%$J"G3*!!)"Q"(!!B!a536""F!@a`'A8F!&1ANj
eM9*%DA0V3e"0B@0%CAB!!%9d!*!$!3!"!*!$%!#3"%9T!*!$"!!!!4`!N!0b!!!
"GNj@rqT)ja!J*'i!#$BZ!!a`!A)%3HlrqdK!-!'J8A!"FJ9"l[rV5%!`!D"45'l
rl+Kd,`USFbm+-!0@3$m!5'lrm%KZrra)E[rbUBd[,[rm##i!!2rlCJ4`!'!#F!%
r!+PM,`S`!eT!2`")E[r`5'lrr%KZrr+TM5mZrr`),J!"rrYR#!JZ!!$rqfF%F!"
J!R!"2`#TBbmZrr`),J!!rrYQ"(!!B!3`2!$r2`#TA5m+-!0H3$m!5'lrm%KZrra
)E[rbUBd[,[rm%#lrq`*!!!0R#!JZ!!$rkfB%F!"J!R!"2`#TBbmZrr`3,[rl!N!
!!fB'-$`!rf!#F!!r!+PG,blrl+Kc60m%#%jH6R@08N4TFfY$8&9`C'&dC3!!4@N
!N!0'!*!$j!!!!@B!!!6k6PErrR!"FJ4"l[rr5%!`!D"4F!&b"8(Zrrj)3$!"S&%
`,J!+N!"Z!!aA3'F+98"R+P9!Ce4JFK!Zrrm#3!!"C`J#,J!1rrpJB"!Zrrm#3!!
2!%!!!4e!rrpJ6K!Zrrm#3!!"CN33,[rr!N!!!QF)!Li!$IrrB$)3,[rr!N!!$`"
!!!)G32rrB#!3,[rr!N!!!fF@%#lrrJ*!!!&R"N)ZrrjJ"Kem!!(rrR!"FJ4"l[r
r5%!`!D"5F!&b"8(Zrrj)3$!"S&)r,J!-,bi!'%kX!!"1ANjeM9*%DA0V3e")DA4
%CAB!!%@"!*!$"!!"!*!$cJ#3"%9Y!*!$5!#3!`2rN!2b!!!)*3)a0M*&DJ#3!dN
!N!25!!!#5!!!##919[r`51FH-$`Z!"Sk,J!@*Qi!$#4Z!!JQ#dkX!!!S!$!'$%!
!#')!!)c33$!l!!C1q`!#!")!C!"-!)!!@!"B!&J!J!"3$$N!9d#&(CYQ*"em!!,
rm"ej3)8GR2ra(AP!K4fGrr*)E[r`3UG#Td+RUBYJ$%KX!!"#Td+R3UHTLhB$B$"
1V!!!*J"J+$m&,`T1V!!!A%pJ(#m+,`X[,J!32bi!&$m&2bi!'$m'6U`!!%r[!"3
J"-'-,d-!4%cI$(K1AL"I6qm!&%l3K'eKD@i!N!0&J3#3!dB!!3#3!ki!N!4&J3#
3!`3!!3#3!j)!N!4&J3#3!`)!!3#3!iB!N!4&G!#3!dJ!!3#3!hB!N!4&J3#3!dS
!!3#3!a`!N!4&D&0C68J!!!0`!*!$%3#3&3%!N!F@!*!$"!#3!fi!N!-)!*!$QJ#
3!a`!!!%%!*!$+J!!!6S!N!-d!!!"23#3!cB!!!&crj!%!!!"G!!"!*!$!`#3!`X
!N!8"!!%!N!B"GJ#3!a!!!!)L!*!$(J!!!N8!N!-X!!!#T3#3!c)!!!+k!*!$0J!
!!Y!!N!0-!!!$#`#3!f)!!!0&!*!$H!!!!i%!N!1@!!!$cJ#3!ki!!!3-!*!$a!!
!"%B!N!2N!!!%M!#3!ri!!!6M!!!""!!!"2IrN!3!!!6i!!J!N!-&rj!$rJ#3"3S
!N!0!!*!$#`#3"3-!N!0"!*!$"`!#rj!$k`#3!d)!N!-(!!,rN!2l!*!$3`#3!`X
!![q3!r!!N!0%rj!$q`!#rj!$mJ#3!am!N!0R!!,rN!2m!*!$4Iq3!ri!![q3!q`
!!3#3"J9a!*!$"!!!"ES!N!-5!!!&h3#3!b!!!!Am!*!$0J!!"Ld!N!0)!!!'B3#
3!eJ!!!D1!*!$@J!!"Ui!N!0N!!!'bJ#3!hB!!!Er!*!$KJ!!"c)!N!1)!!!(8!#
3!j)!!!GU!*!$SJ!!"ii!N!1S!!!(ZJ#3!lB!!!IH!*!$a!!!"ri!N!23!!!))[q
3"!!!##-!"3#3!dF!N!-,!3)!N!-+!*!$3!#3!`X"!J#3!``!N!-&rj!$rJ%#!*!
$'!#3!d%!N!-(!!,rN!2q!*!$3J#3!`F!![q3"!!"!*!'#-)!N!-B!!!)a!#3!aS
!!!N$!*!$)!!!#5`!N!0'!!!*8!#3!e!!!!QC!*!$9J!!#Di!N!0H!!!*j!#3!fB
!!!SD!*!$FJ!!#MX!N!1!!!!+GJ#3!i3!!!UJ!*!$M!!!#[F!N!18!!!,(3#3!jJ
!!!Xh!*!$Y!!!#pm!N!1i!!!,p!#3!l`!!!`"rj!%!!!-!J!+!*!$5`#3!`X!N!8
'!*!$4`#3!`X"!J#3!aJ!N!0!!*!$#`#3"38!N!0-!*!$#`%#!*!$&!#3!dhrN!2
a!3)!N!-3!*!$8`#3!f3!N!8,!*!$"Iq3!ri!N!8+!*!$92q3!qm!![q3!r!!N!0
9!*!$!`#3"33!N!0@!*!$!`#3"3-!!Iq3"!#3!`B!N!-"!*!$"`!#rj!$q`#3!`d
!N!-)!!3!N!-1!*!$#`#3"`m!N!-,!*!$!J#3!a!!N!-,!*!$"!#3!a%!N!-,!*!
$"J!#rj!$r!#3!`N!N!-1!!-!N!-+!*!$CJ#3"`X!N!-,!*!$"!#3!`crN!2l!*!
$"J!#rj!$q3#3!a3!N!-+!!)!N!-9!*!$#`#3"aErN!2l!*!$!J!!rj!$qJ!#rj!
$q3!"rj!$p`#3!`J!N!-"!*!$"J!#rj!$q!#3!aN!N!-)!!%!N!-Drj!$p`#3"3,
rN!2f!*!$(3#3!`3!!J#3!ai!N!-,!*!((`#3!`X!N!-#!!$rN!2c!!%!N!0U!!,
rN!2d!*!$-J#3!c3!$3#3!c2rN!2c!*!(02q3!r-!N!-%!*!$0Iq3!r-!N!-)!*!
$0[q3!r-!N!--!*!$0rq3!r-!N!-3!*!$12q3!r-!N!-8!*!$1Iq3!r-!N!-B!*!
$1[q3!r-!N!-F!*!$1rq3!r-!N!-J!*!$22q3!r-!N!-N!*!$2Iq3!r-!N!-S!*!
$2[q3!r-!N!-X!*!$2rq3!r-!N!-`!!$rN!2e!!(rN!2d!!,rN!2p!*!$"J#3!f`
!'J#3!`F!N!-,!*!(#2q3!r`!N!-#!*!$%[q3!rX!N!-3!*!$%rq3!rS!N!-B!*!
$&rq3!rS!N!-F!*!$'2q3!rJ!N!-J!*!$'rq3!rJ!N!-S!*!$(2q3!rB!N!-`!*!
$)2q3!rB!N!-d!*!$)3#3!`X!N!-i!*!$)[q3!rJ!N!-k!*!$)`#3!`X!N!0#!*!
$*!#3!`X!N!0%!*!$*3#3!`B!N!0'!*!$*J#3!`F!N!0(!*!$*`#3!`X!N!0)!*!
$+!#3!`X!N!0+!*!$+3#3!`-!N!0-!*!$+J#3!`-!N!03!*!$+`#3!`-!N!08!*!
$,!#3!`X!N!0B!*!$,3#3!`X!N!0D!*!$,J#3!fF!N!0F!*!$,`#3!fF!N!0J!*!
$-!#3!fF!N!0N!*!$-Iq3!r8!N!0S!!$rN!2q!!(rN!2p!!(rN!2b!*!$!`#3!`%
!N!-'!!,rN!2`!*!$6J#3!a!!"3#3!dm!N!-+!*!(5`#3!`)!N!-#!*!$8!#3!`)
!N!-'!*!$8Iq3!rB!N!-+!*!$8J#3!`S!N!-1!!$rN!2a!!(rN!2`!!(rN!2[!*!
$%!#3!`%!N!-'!%*54'PcDe0TC`!"FP*%DA0V3e"0B@0%CAB!!@PT!!%p8N4TFfY
$8&9`C'&dC3!!q@0`4'PKE'pR!!"M4h*KCP"[FR3!!V&NCACTBf8!!%e`Eh*d3QP
dF`!#*N*TG%eKF!!!Xf*KFf9"C'4b!!"qFQph3RPdCA-!!LYLEh9ZC(-!!(p5C@0
d!!-[G'p`!!!-E'9QG!!#)Q*[G(4[E3!"eR*TCfKd!!!NF'pbG&*PBh3!!M"fDA0
5Cfi!!Jp5C@GTEfi!!d&bCfj6DATP!!21FQGZ3N*[H!!$T'0XDA"5Cfi!!CPLDe"
KG!!$UP"KG(4PFQi!!f&`BA3!!a4QD@aX8'&d!!(!F'j-Ef-!!D43EfPZG!!"GRB
!!@KS!!+VF'j6DATP!!)CF'j0Ef4P!!(rF'j3BA3!!4G`EPCTF`!#hR4i4QpZG!!
#9A4i4Q&MC3!#Z@CTE'aPFJ!#-A4i6@pNC3!#ih4i8fPkC3!$Zh0`4AKdFQ%!!ep
QCd0[E'pb!!-iBQY$Efa[FJ!$[@0[E(*#DA3!!XC`BA46G(*PG'0S!!0dF'PM8f&
fC3!$SA*REP0KGQ8!!!a`Efaj8f&fC3!"-QGbB@C3FQpMF`!$)e&%8(*[Bh-!!%G
dCAKd8(*[B`!!M@aTEQ93FQpM!!#jFQ9MG&"bEf-!!3jb8Q9MG&"bEf-!!*&[GQ&
X8(*[B`!$)@&bBe"bEf-!!2"`Efaj8(*[B`!$JA*REP"bEf-!!+TLDA4c8(*[B`!
$lQ0[E@ePER43FQpM!!)lG(K0C@&c8(*[B`!#j'GPG&"TBe"bEf-!!R&`GA43D@0
3FQpM!!"[ER9Y5A4PEA-!!f*bB@d!!i9cG'&bG(9`!!"[G(P`C3!"FR)!!-ecBAC
P8'pbG!!"KP*%DA0V3e")DA4%CAB!!+"TG'9Y!!2p3$Bf!!#cE@&TEJ!!4e0PG%0
eFR*PER4"0!!$5fePFh0KCf8!!$jMF&"bDACKG'9@B@`!!'adD'9&GQ9ZG!!$T89
fC@jd8Q9MEh*N!!$CGfKKG!!!8hGSC@i!!8phD'9bC3!",'e[C'PQD@9bF`!!c@0
NCAC6G'pbB@GP9Q&XG@8!!`9bB@e6DATP!!&kEfaN363!!qTbCA3![UZkk`#323%
!&!%"!*!%8N4TFfY6D@F!!J!"!"J!N!8@8N4TFfY$8%eKBd4PGJ!!!3!B!*!%!AC
54'PcDd039A"NBA4P!!!"!"J!N!3%qP*%DA0V3e")DA4%CAB!!!%!%!!"!!!)*@e
KD@i!#!!!!AG$2!!!!4i!!!%18%CXF`#3"!&h3c3!!!)X!*!$a&"-Fh3!N!S"(!#
3!`*38f9Rrrm!N!NF!!!"!&"6C@F!!3#3#!2`!!!1U'pLDQ3IA3#3#"+B!*!$VQ*
bGh-IA3!![)!!!!%!N!-%h!!!!p`!N!2L!*!$!@%!N!3"B3#3"!&K!*!%!@%!N!3
"B3#3!`G54'PcDd03!J#3!de08&*0680$!3!!D!#!!*!&4J!!68e38Ne03d-"!!"
S!)!!N",E(Vjb!!!6[J!!"Ei!!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#3"!&K!*!
%!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#3"!&K!*!%!@%!N!3"B3#3"!&K!*!%!@%
!N!3"B3#3"!&K!*!%!@%!N!3"B3#3"!&K!*!%!@%!N!3#!!-!N!0+!!%!#3C0Efj
KBfm!N"`%!#J!#J(#!S!!+!!+!F)#J!#3%!%!N!3#!*!&+!!%!3$rr`#3#2rr!C!
&!*!%(J%"!*!)QCN!N!8`!!8!N!F06@&M5'9KC'9bFcBi5`#3(!S!!J#3#a3!"!#
3#!%!N!`-!!3"!!!"!!%"!*!'[!!%!!%,4eFJ8Np0)%4TFfX!N$4bC(0VBf4PGJ#
35'0NCAE`)!#3"j`!pJ%m!G`"!*!$#l`!!#YL!*!0"`!#!*!)"`!#!*!(!J3!!J%
(4(*[F'aPG!#3q3%'8fpcG@eT!*$l#J!%!*!+!3#3!`6F!!!$h!#3!q)"E*Qm%Pi
!N!-F!0)!!R"bC@B!#J!DF&CPFJ#3!jj69&)M!*!$UJ!!rrm!N!-'!*!&!Irr!*!
$@J#3"3,rr`#3!iB!N!8(rrm!N!1k!*!&!rrr!*!$b!#3"36rr`#3!q!!N!8&rrm
!N!2`!*!&"[rr!!!"X!#3"3Mrr`!!!EX!N!8*rrm!!!('!*!&b2rr!!!$cJ#3%!2
`rrm!N!08!*!%$e"bEfTPBh3J9Q9bFfP[EQj#:

View File

@ -1,7 +1,7 @@
(This file must be converted with BinHex 4.0)
:$&*%DA0V3e!ZFR0bB`"bFh*M8P0&4#'!!*!'#KKA[J#3"!%!N!-)j3!!"q8!!!%
c8dP8C90*9%`"!*!'"BR#!3!,!90*9'96594-!J!-8N4TFfY$8#jbFh*M9`)!N!0
bFh*M8P0&4#'!!*!$J!!!FR0bBe*6483KJ!#3!i!!N",E(530!*!'#KK6594P8dP
:$&*%DA0V3e!ZFR0bB`"bFh*M8P0&4#'!!*!'#IBH$3#3"!%!N!-)i3!!"q%!!!%
98dP8C90*9%`"!*!'"BR#!3!,!90*9'96594-!J!-8N4TFfY$8#jbFh*M3!)!N!0
bFh*M8P0&4#'!!*`!J!!!FR0bBe*6483KJ!#F!)!!N",E(530!*!'#IC6594P8dP
86!B!N!B&NB)"!!X"8dP8CA"KG@cr!*!'"CY#!3!,!90*9'9cD'aL!3#3"J@5JJ%
!#`&6594PFfKXBJ)!N!B&Ni)#!!X"8dP8CA0SE')$!*!'"C@#"!!,!90*9'9cD'a
L"!#3"J@CJJ"!!*!$#J!"rrm!9`#G!8)!N!1!!*"3rj!)q)L3"SriMZMZMZMZMrq
@ -20,12 +20,12 @@ d*h-J9fpbDh0SEh!0)*!68Np0)%4TFfXJ8f9dG'PZCh-!N!B$!3F!)`%R`!)!J!#
LEfpd)(0jFh4PE5"QFQpY)&*265"NDA0V,J#3"NS!A!"F!6d&$Ne[G@jd)&*265"
NDA0V!*!&@!"[!'3"2SJT6@peER3JC'PcDb"hD'9Z)'*[Eh4TEQFJCR*[E5"[G'K
PFL"NFQPfC5i!N!CT!&`!H`%p"3p&EQ&LE'8J8N&0)'4TFfX!N!Ch!'m!J`%qL#T
"E'a[Gb"hFQPdD@jR)(4[)&*265"NDA0V,L!a0Ne#)&*"65"bCA%RC#i!N!@-!&`
"E'a[Gb"hFQPdD@jR)(4[)&*265"NDA0V,L"H-%e#)&*"65"bCA%RC#i!N!@-!&`
!Q!%pL#C$D'&ZCf9c)(GTE'`JG'&VC5"PCQCPBh3JB@CdCA)JFQ9LEfpd,J#3"5F
!A!!S!6h!!J#"!*!&L!"F!)N"2F!#!)%!N!B"!*!$#18!!!IP!!!"-`&P,X33L!#
3!a`"'J!,ER*MG!#3!f*TBh-d!*!$EQPMFb-!N!0k5801)`#3!iC'8N9'!*!$NN*
14%`!N!1HD@0X0!#3!kT35808!!%!YQeKBfJ!N!21FQ4cD`#3!pT%594-!*!$jMa
%4Mi!N!2bm#$rr`#3#2!Jrrm!N!-1!*!%m#$rr`#3!j)!N!6`)2rr)!!!eJ#3"2!
Jrrm!!!2H!*!%m#$rr`!!!qN!N!6`)2rr!!!"fJ#3"B$rr`!!"!N!N!@"rrm!!!6
3!*!%m#$rr`!!"-J!N!S&)3#3"2!Jrrm!!!BP!*!&J!!2!!!(i3&P-"J16hGZCA)
JFQ9cEh9bBf8*4'&dB5"'Eh*V)b)!:
!A!!S!6h!!J#"!*!&L!"F!)N"2F!#!)%!!!%!N!-)i3!!"q%!!!%9!8dc$")!N!3
F!3B!#QjbBh3!N!0DD@0c0!#3!fCTBh-M!*!$FNP$6L-!N!0q4P*&4J#3!iT#6N4
-!*!$PQPME$3!N!1L8%P$9!!"!+jYB@0S!*!$aR*NFfX!N!254%P86!#3!pl`)2r
r!*!%!8db#2!Jrrm!N!-1!8db$2!Jrrm!N!15!8db%2!JrrmJ!!$@!8db&2!Jrrm
!!!2H!8db(2!Jrrm!!!2T!8dd"2!Jrrm!!!(D!8dcp!#!rrm!!!3*!*!&JIrr!!!
%d!#3"2!Jrrm!!!6)!8db'!#3"J8K!8ddE2!Jrrm!!!BP!8dd5!j2GfjPFL"bCA0
[GA*MCDml:

Binary file not shown.