332 lines
14 KiB
Groff
332 lines
14 KiB
Groff
|
||
DISK MUNCHER 1.1
|
||
|
||
THE ULTIMATE IN FAST COPIERS
|
||
|
||
|
||
WRITTEN BY
|
||
|
||
THE STACK
|
||
|
||
|
||
DOCUMENTATION BY:
|
||
|
||
THE INSPECTOR
|
||
|
||
|
||
ANOTHER GREAT PROGRAM BROUGHT TO YOU BY
|
||
|
||
CORRUPT COMPUTING
|
||
|
||
|
||
|
||
DISK MUNCHER IS PROBABLY THE FASTEST COPIER AVAILABLE FOR THE APPLE
|
||
COMPUTER. (THERE MIGHT BE COPIERS THAT SACRIFICE RELIABILITY FOR
|
||
SPEED, AND ARE THUS FASTER.) DISK MUNCHER CAN COPY A DISK IN LESS THEN
|
||
30 SECONDS WITH INIT! (ON A 48K SYSTEM). IF YOUR SYSTEM HAS MORE
|
||
MEMORY ADDED THRU ADDITIONAL RAM CARDS, DISK MUNCHER WILL BE ABLE TO
|
||
COPY A DISK IN EVEN LESS TIME! WHILE DISK MUNCHER IS EXTREMELY FAST
|
||
AND RELIABLE, IT IS DESIGNED WITH THE USER IN MIND. DISK MUNCHER HAS
|
||
SUCH USER FRIENDLY OPTIONS AS A CATALOG FUNCTION WITH DISK MAP, WRITE
|
||
VERIFY, SAVE-ABLE CONFIGURATION, STATUS INDICATORS AMONG OTHERS.
|
||
|
||
BEFORE YOU CAN EVEN BEGIN TO USE DISK MUNCHER, YOU WILL NEED TO KNOW A
|
||
FEW BASIC THINGS ABOUT HOW DISK MUNCHER REFERS TO YOUR DISK DRIVES.
|
||
THE SOURCE DISK IS THE DISK YOU ARE COPYING FROM (USUALLY SLOT 6,
|
||
DRIVE 1) AND THE TARGET DISK IS THE DISK YOU ARE COPYING TO (USUALLY
|
||
SLOT 6, DRIVE 2). THE VALUES FOR SOURCE AND TARGET CAN BE CHANGED, BUT
|
||
WE WILL DISCUSS THAT LATER. NOW ON TO USING DISK MUNCHER.
|
||
|
||
TO START DISK MUNCHER ALL YOU NEED TO DO IS TYPE "BRUN DISK MUNCHER
|
||
1.1" FROM DOS. ONCE DISK MUNCHER IS LOADED IN, IT WILL DISPLAY THIS
|
||
MENU:
|
||
|
||
[1] CATALOG SOURCE DISK
|
||
|
||
[2] CATALOG TARGET DISK
|
||
|
||
[3] COPY DISK
|
||
|
||
[4] BOOT DISK
|
||
|
||
|
||
SINCE THE FIRST AND SECOND OPTIONS ARE ALMOST IDENTICAL WE WILL BE
|
||
DISCUSSING THEM FIRST. WHEN YOU PRESS EITHER THE '1' OR '2' KEYS, DISK
|
||
MUNCHER WILL CATALOG WHAT EVER DISK IS IN THE DRIVE DESIGNATED AS
|
||
SOURCE OR TARGET. AFTER THE SCREEN IS FULL, DISK MUNCHER WILL ASK YOU
|
||
"PRESS ANY KEY TO CONTINUE". AFTER YOU PRESS A KEY, DISK MUNCHER WILL
|
||
CLEAR THE SCREEN, AND DISPLAY MORE FILES. THIS PROCESS WILL CONTINUE
|
||
UNTIL ALL THE FILES ARE DISPLAYED. AFTER ALL THE FILES ARE DISPLAYED,
|
||
DISK MUNCHER WILL ASK YOU TO "PRESS ANY KEY TO SEE MAP". IT WILL THEN
|
||
CLEAR THE SCREEN, AND DISPLAY A MAP OF WHAT SECTORS ARE FREE AND WHAT
|
||
SECTORS ARE USED ON YOUR DISK. FREE SECTORS ARE DESIGNATED BY A SPACE,
|
||
AND USED SECTORS ARE DESIGNATED BY A PLUS SIGN. THE CATALOG WITH DISK
|
||
MAP IS THE ONE FUNCTION OF DISK MUNCHER THAT SETS IT APART FROM ALL
|
||
OTHER "FAST" COPIERS. IT ALLOWS YOU TO DETERMINE WHAT DISK YOU ARE
|
||
COPYING FROM AND WHAT DISK YOU ARE COPYING TO, IF THERE IS NO LABEL ON
|
||
THE DISK, AND YOU CAN DO IT WITHOUT EVER LEAVING DISK MUNCHER!. NOTE:
|
||
SOME DISKS DO NOT HAVE A CATALOG OR DISK MAP, OR THE DISK MAP MAY
|
||
APPEAR GARBLED. IF YOU ARE UNABLE TO TELL WHAT IS ON THE DISK FROM
|
||
THE LABEL OR BECAUSE OF ONE OF THESE CONDITIONS, YOU ARE ADVISED TO
|
||
"BOOT" THE DISK TO TRY TO DETERMINE WHAT IT CONTAINS.
|
||
|
||
NOW THAT YOU KNOW HOW TO CATALOG A DISK, WHY DON'T WE LEARN HOW DO USE
|
||
THE ACTUAL COPIER!
|
||
|
||
WHEN YOU PRESS "3" TO COPY A DISK, THE SCREEN WILL CLEAR AND WILL BE
|
||
DIVIDED INTO TWO SEPARATE SECTIONS. THE LEFT SECTION CONTAINS ALL
|
||
MESSAGES, WHAT SLOT AND DRIVE THE SOURCE AND TARGET DISKS ARE IN, AND
|
||
ALL INFORMATION ABOUT RAM CARDS. THE RIGHT SIDE OF THE SCREEN IS A
|
||
STATUS AREA. IT SHOWS WHAT MODE THE COPIER IS IN, AND WHAT TRACK DISK
|
||
MUNCHER IS CURRENTLY COPYING. WHENEVER DISK MUNCHER IS ACCESSING THE
|
||
DISK IN COPY MODE, IT WILL DISPLAY A "STATUS MARKER" NEXT TO THE TRACK
|
||
IT IS ON. THIS IS A LIST OF WHAT THE DIFFERENT STATUS MARKERS
|
||
REPRESENT:
|
||
|
||
|
||
INVERSE R - READING FROM CURRENT TRACK
|
||
INVERSE W - WRITING TO CURRENT TRACK
|
||
INVERSE V - VERIFY WRITE TO CURRENT TRACK
|
||
NORMAL R - READ ERROR
|
||
NORMAL W - WRITE ERROR
|
||
|
||
BESIDES THE NORMAL STATUS INFORMATION, THERE IS ONE SUBTLE, BUT NONE
|
||
THE LESS IMPORTANT INDICATOR. YOU WILL NOTICE A SPACE REVOLVING AROUND
|
||
EACH OF THE SECTIONS. WHETHER THIS SPACE IS REVOLVING CLOCK-WISE OR
|
||
COUNTER CLOCK-WISE DETERMINES WHETHER THE WRITE VERIFY IS ON OR OFF.
|
||
IF THE SPACE IS REVOLVING CLOCK-WISE, THE VERIFY IS OFF, IF THE SPACE
|
||
IS REVOLVING COUNTER CLOCK-WISE, THE VERIFY IS ON.
|
||
|
||
|
||
AFTER DISK MUNCHER DISPLAYS THIS INFORMATION, IT WILL TELL YOU:
|
||
"<RETURN> BEGINS COPY, SPACE BAR CHANGES OPTIONS". AT THIS PROMPT, YOU
|
||
CAN PRESS RETURN, SPACE BAR , OR CTRL-V. CTRL-V TOGGLES THE WRITE
|
||
VERIFY ON OR OFF. IF YOU PRESS RETURN, DISK MUNCHER WILL BEGIN COPYING
|
||
THE DISK. (NOTE: IF YOU ARE USING A ONE DRIVE SYSTEM IT WILL PROMPT TO
|
||
YOU INSERT THE SOURCE DISK AND PRESS RETURN. YOU WILL HAVE TO SWAP
|
||
BETWEEN THE SOURCE AND TARGET DISK. DISK MUNCHER WILL PROMPT YOU WHEN
|
||
TO CHANGE DISKS.) WARNING!: DUE TO THE FACT THAT IT IS VERY EASY TO
|
||
PUT THE WRONG DISK IN THE DRIVE, YOU ARE ADVISED TO PUT A
|
||
WRITE-PROTECT TAB ON THE SOURCE DISK TO PREVENT ACCIDENTAL ERASURE.
|
||
|
||
IF YOU PRESS SPACE BAR TO CHANGE OPTIONS, DISK MUNCHER WILL MOVE THE
|
||
CURSOR TO THE SLOT OF THE SOURCE DRIVE. YOU CAN ENTER A NUMBER HERE
|
||
BETWEEN 1 AND 7. AFTER ENTERING THE SLOT NUMBER, DISK MUNCHER WILL
|
||
MOVE THE CURSOR TO THE DRIVE NUMBER. HERE YOU MAY ENTER EITHER A 1 OR
|
||
2. AFTER ENTERING THE INFORMATION FOR THE SOURCE DISK, DISK MUNCHER
|
||
WILL MOVE THE CURSOR TO THE TARGET DISK INFORMATION SECTION. THE
|
||
ENTERING CRITERIA FOR THE TARGET DISK IS THE SAME AS THE SOURCE DISK.
|
||
NOTE: IF YOU ARE ONE OF THE UNFORTUNATE FEW PEOPLE THAT ONLY HAVE ONE
|
||
DRIVE, YOU SHOULD ENTER THE SAME SLOT AND DRIVE ( USUALLY SLOT 6,
|
||
DRIVE 1) FOR SOURCE AND TARGET DISKS. AFTER ENTERING THE INFORMATION
|
||
ABOUT YOUR DISK DRIVES, DISK MUNCHER WILL MOVE THE CURSOR TO THE RAM
|
||
CARD SECTION. THE PROGRAM CAN USE UP TO 4 RAM CARDS IN DIFFERENT
|
||
SLOTS. DISK MUNCHER WILL ONLY RECOGNIZE STANDARD 16K CARDS, MOST 32K
|
||
CARDS, AND RAM CARDS THAT BANK SELECT IN THE SAME FORMAT AS LEGEND AND
|
||
SATURN CARDS DO. (IF YOU DO NOT KNOW HOW YOUR RAM CARD BANK SELECTS,
|
||
TRY ENTERING IT'S SLOT NUMBER ANYWAY. DISK MUNCHER WILL IGNORE YOU IF
|
||
THE RAM CARD IS NOT A LEGEND OR SATURN TYPE CARD.) NOTE: DISK MUNCHER
|
||
WILL NOT RECOGNIZE OR USE ANY RAM CARDS DESIGNED SPECIFICALLY FOR THE
|
||
APPLE IIE. BECAUSE OF THE SPECIAL WAY THAT DISK MUNCHER COPIES A DISK,
|
||
YOU WILL NEED AT LEAST 224K IN ADDITIONAL RAM CARDS TO COPY A WHOLE
|
||
DISK INTO A RAM CARD (IF YOU ARE LUCKY ENOUGH TO HAVE THAT MUCH
|
||
ADDITIONAL RAM, DISK MUNCHER WILL ALLOW YOU TO COPY A DISK ONCE
|
||
NORMALLY USING THE RAM CARD, THEN COPY THE SAME DISK AGAIN AND AGAIN,
|
||
USING THE RAM CARD AS A BUFFER). WHEN YOU ENTER THE SLOT OF YOUR RAM
|
||
CARD, DISK MUNCHER WILL SCAN THAT SLOT TO DETERMINE HOW BIG THE CARD
|
||
IS, AND WHETHER IT IS A LEGEND, SATURN, 16K, OR 32K CARD, BECAUSE OF
|
||
THIS IF YOU ENTER THE SLOT OF A CARD THAT IS NOT A RAM CARD,
|
||
UNPREDICTABLE THINGS MIGHT HAPPEN TO YOUR CARD (I.E. A CLOCK CARD
|
||
COULD HAVE IT'S TIME CHANGED, ETC...). NOTE: DISK MUNCHER WILL
|
||
AUTOMATICALLY SEARCH SLOT 0 FOR A RAM CARD. YOU SHOULD ENTER THE SLOTS
|
||
FOR ALL YOUR RAM CARDS. WHEN YOU ARE DONE ENTERING, PRESS SPACE BAR,
|
||
AND DISK MUNCHER WILL RETURN YOU TO "INSERT DISKS" PROMPT. NOTE: TO
|
||
LEARN HOW TO SAVE THIS CONFIGURATION, SO THAT YOU DON'T HAVE TO TYPE
|
||
ALL THE INFORMATION IN EACH TIME YOU WISH TO USE DISK MUNCHER, SEE
|
||
APPENDIX C.
|
||
|
||
|
||
YOU HAVE NOW LEARNED HOW TO COPY A DISK, AND CHANGE THE OPTIONS. THE
|
||
ONLY THING LEFT TO TELL YOU ABOUT HOW TO EXIT FROM DISK MUNCHER.
|
||
EXITING FROM DISK MUNCHER IS VERY SIMPLE, ALL YOU HAVE OT DO IS SELECT
|
||
OPTION 4 FROM THE MAIN MENU. AFTER YOU SELECT OPTION 4, DISK MUNCHER
|
||
WILL CLEAR THE SCREEN, AND ASK YOU TO "VERIFY BOOT" YOU SHOULD THEN
|
||
PUT THE DISK IN THE DRIVE YOU WISH TO BOOT AND PRESS Y FOR YES I DO
|
||
WANT TO EXIT, OR N FOR "NO IT WAS A MISTAKE! I WANT TO GO BACK!"
|
||
|
||
APPENDIX A - SAVING THE CONFIGURATION
|
||
|
||
THERE ARE TWO TYPES OF CONFIGURATIONS FOR DISK MUNCHER, THE USER
|
||
CONFIGURATION, AND THE RESET CONFIGURATION. IN ORDER TO SAVE A
|
||
CONFIGURATION, YOU WILL NEED TO KNOW HOW TO ENTER THE MONITOR, CHANGE
|
||
BYTES, AND RE-SAVE A BINARY PROGRAM OUT TO DISK. IF YOU HAVE ANY
|
||
DOUBTS ABOUT THIS PROCEDURE, DON'T DO IT! YOU COULD DESTROY YOUR COPY
|
||
OF DISK MUNCHER.
|
||
|
||
TO BEGIN WITH YOU WILL NEED TO "BLOAD" DISK MUNCHER FROM DISK. THIS
|
||
CAN BE ACCOMPLISHED WITH THE "BLOAD DISK MUNCHER 1.1" COMMAND FROM
|
||
DOS. AFTER DISK MUNCHER IS LOADED IN, ENTER THE MONITOR WITH THE
|
||
"CALL-151" COMMAND FROM BASIC. THIS IS A LIST OF THE ADDRESSES IN DISK
|
||
MUNCHER THAT CORRESPOND TO THE DIFFERENT DEFAULT VALUES FOR THE USER
|
||
CONFIGURATION:
|
||
|
||
LOCATIONS OPTION
|
||
-----------------------------------------------------------------
|
||
|
||
$1000 SOURCE SLOT TIMES 16 + SOURCE DRIVE I.E. $1000=$61
|
||
$1001 TARGET SLOT TIMES 16 + TARGET DRIVE I.E. $1001=$62
|
||
$1002 SLOT OF RAM CARD 1 TIMES 16.
|
||
$1003 SLOT OF RAM CARD 2 TIMES 16.
|
||
$1004 SLOT OF RAM CARD 3 TIMES 16.
|
||
$1005 SLOT OF RAM CARD 4 TIMES 16.
|
||
$1006 VERIFY ON/OFF ($00=OFF,$FF=ON)
|
||
$1007 FUTURE EXPANSION.
|
||
|
||
AFTER YOU HAVE ENTERED YOUR RAM CARD SLOTS IN THE BYTES, YOU HAVE TO
|
||
FILL THE REMAINING RAM CARD LOCATIONS LOCATIONS WITH $A0'S (SPACES).
|
||
LOCATIONS $1008-$100F ARE THE RESET CONFIGURATION SECTION. THE FORMAT
|
||
FOR RESET CONFIGURATION IS THE SAME AS THE USER CONFIGURATION.
|
||
|
||
AFTER YOU HAVE ENTERED ALL THE INFORMATION YOU CAN RETURN TO DOS BY
|
||
TYPING "3D0G". ALL YOU HAVE LEFT TO DO IS "BSAVE" DISK MUNCHER BACK
|
||
OUT TO DISK. THIS CAN BE ACCOMPLISHED WITH THE "BSAVE DISK MUNCHER
|
||
1.1,A$800,L$11DF" COMMAND. THEN EVERY TIME YOU WANT TO USE DISK
|
||
MUNCHER YOU WILL JUST BRUN IT AS USUAL, AND THE USER CONFIGURATION
|
||
WILL BE ACTIVE. IF YOU WISH TO USE THE RESET CONFIGURATION YOU CAN
|
||
PRESS CTRL-R. YOU CAN THEN SWITCH BACK TO THE USER CONFIGURATION BY
|
||
PRESSING CTRL-C.
|
||
|
||
|
||
IF YOU HAVE TWO DIFFERENT COMPUTERS THAT YOU USE DISK MUNCHER ON, YOU
|
||
COULD CHANGE BOTH THE USER AND RESET CONFIGURATIONS. THIS WOULD ALLOW
|
||
YOU TO USE THE USER CONFIGURATION FOR ONE COMPUTER AND THE RESET
|
||
CONFIGURATION FOR THE OTHER.
|
||
|
||
APPENDIX B - STORY AND PRINCIPLE BEHIND DISK MUNCHER
|
||
|
||
WHEN WE (THE STACK AND MYSELF) FIRST SAW THE "FAST" COPIERS WE THOUGHT
|
||
THEY WERE GREAT, BUT THEY LACKED ONE MAJOR FEATURE: YOU COULDN'T
|
||
CATALOG A DISK FROM WITHIN THEIR PROGRAM! SO WE DECIDED TO WRITE OUR
|
||
OWN "FAST" COPIER. WHEN WE WERE IN THE PLANNING STAGES, THE STACK IN
|
||
ONE OF HIS BRAIN STORMS (THE SAME ONES THAT GAVE YOU THE ROTATING
|
||
SPACE, AND THE ZOOM SCREEN CLEAR) DECIDED THAT HE COULD MAKE A FASTER
|
||
COPIER. WELL THE PRODUCT OF THAT IDEA WAS DISK MUNCHER.
|
||
|
||
THE PRINCIPLE BEHIND ALL THIS IS A LITTLE COMPLICATED, AND THIS
|
||
EXPLANATION IS JUST THE BACKGROUND AND BASICS BEHIND IT. ON A DISK
|
||
INFORMATION IS STORE IN NIBBLES. EACH NIBBLE IS ONLY SIX BITS LONG.
|
||
NORMALLY, DOS READS THE NIBBLES IN AND CONVERTS THEM TO EIGHT BIT
|
||
FORMAT. WELL THIS IS JUST FINE AND DANDY, BUT IT TAKES A WHILE TO
|
||
CONVERT THE NIBBLES, SO THE STACK DECIDED HE WOULD JUST READ THE
|
||
NIBBLES AND WRITE THEM BACK OUT WITH OUT CONVERTING THEM. THIS CAN
|
||
SAVE A LOT OF TIME WHEN YOU ARE COPYING A WHOLE DISK AND MAKES IT SO
|
||
THAT THE DISK DOES NOT HAVE TO BE INITED. BECAUSE THE 6 BIT NIBBLES
|
||
TAKE UP MORE ROOM IN MEMORY THAN A 8 BIT BYTE, IT TAKES MORE MEMORY TO
|
||
READ A TRACK, THUS THE REQUIRED 224K+ FOR READING IN THE WHOLE DISK.
|
||
|
||
APPENDIX C - TECHNICAL STUFF
|
||
|
||
THIS SECTION CONTAINS INFORMATION USEFUL TO THE EXPERICENED
|
||
PROGRAMER.
|
||
|
||
IF BY SOME UNFORESEEN CIRCUMSTANCE YOUR DRIVE HAS THE HEAD VIOLENTLY
|
||
MOVED (LIKE DROPPING IT OUT THE WINDOW OR SOMETHING LIKE THAT) YOU CAN
|
||
RECALIBRATE IT WITH THE ! AND " COMMANDS. THESE COMMANDS WILL
|
||
RECALIBRATE THE SOURCE AND TARGET DRIVES RESPECTIVELY.
|
||
|
||
ONE OTHER INTERESTING THING YOU MIGHT WANT TO KNOW. THE TRACK MOVE
|
||
DELAY TABLE IS STORED AT $1200. IF YOU HAVE A DRIVE THAT CAN SEEK THE
|
||
HEAD FASTER THAN NORMAL, THIS MIGHT BE USEFUL.
|
||
|
||
APPENDIX D - DIFFERENCES BETWEEN VERSION 1.0 AND VERSION 1.1
|
||
|
||
THE MAJOR DIFFERENCE BETWEEN VERSION 1.0 AND VERSION 1.1 IS THE READ
|
||
AND WRITE VERIFY. THERE ARE OTHER MINOR DIFFERENCES, LIKE THE FACT
|
||
THAT DISK MUNCHER DOESN'T RECALIBRATE THE HEAD AFTER THE FIRST TIME.
|
||
ANOTHER FEATURE ADDED IS EASY ACCESS TO THE TRACK MOVE DELAY TABLE.
|
||
OVER ALL THERE IS NOT MUCH DIFFERENCE BETWEEN VERSION 1.0 AND 1.1
|
||
|
||
WELL THAT IS JUST ABOUT ALL THERE IS TO DISK MUNCHER.
|
||
-----------------------------------------------------------------
|
||
|
||
UPCOMING PROJECTS AND PROGRAMS:
|
||
|
||
THE NEWEST MEMBER OF CORRUPT COMPUTING, THE TECHNICOLOR PIRATE, IS
|
||
ALMOST DONE WITH A VERY INTERESTING AND UNIQUE PROGRAM: SHAPE HUNTER.
|
||
THIS IS A PROGRAM THAT WILL ALLOW YOU TO USE AN NMI TO INTERRUPT A
|
||
GAME, AND SAVE IT FOR LATER PLAY, OR EVEN EDIT THE SHAPES AND PICTURES
|
||
IN THE GAME. THIS IS ONE OF THE MOST IMPRESSIVE PROJECTS CORRUPT
|
||
COMPUTING HAS EVER UNDERTAKEN.
|
||
|
||
STILL IN THE PLANNING STAGES IS A PROGRAM PACKER/UNPACKER, A MODULAR
|
||
DOS, A RAM DISK PROGRAM THAT WILL ALLOW YOU TO USE ANY RAM CARD BY ANY
|
||
COMPANY AS A RAM DISK, AND A SHAPE HUNTER UTILITIES DISK. ALSO IN THE
|
||
PLANNING STAGES IS A CORRUPT COMPUTING NEWSLETTER. IT WILL INCLUDE A
|
||
MAJOR ARTICLE ON HOW THE DISK DRIVE WORKS, AND A COMPLETE
|
||
INTERPRETATION OF THE P6 AND P6A PROMS.
|
||
|
||
WELL THAT IS JUST ABOUT IT FOR NOW.
|
||
|
||
-----------------------------------------------------------------
|
||
|
||
A WORD TO THE WISE.
|
||
|
||
CORRUPT COMPUTING HAS MAINTAINED A REPUTATION FOR WRITING GOOD
|
||
PROGRAMS AND DISTRIBUTING THEM TO THE USER AT NO OR VERY LITTLE COST.
|
||
BUT IF PEOPLE BEGIN TO ABUSE THIS SERVICE BY TRYING TO SELL OUR
|
||
PROGRAMS, OR REQUESTING A ACCESS FEE (WITHOUT OUR KNOWLEDGE) FOR THE
|
||
PRIVILEGE OF DOWNLOADING OUR PROGRAMS, THIS SERVICE WILL BE
|
||
DISCONTINUED. YOU HAVE BEEN WARNED!
|
||
|
||
THANK YOU VERY MUCH FOR YOUR COOPERATION.
|
||
|
||
-----------------------------------------------------------------
|
||
|
||
IF YOU HAVE ANY QUESTIONS, COMMENTS, OR CONCERNS, PLEASE DIRECT THEM
|
||
TO EITHER THE INSPECTOR OR THE STACK ON "THE CORRUPT COMMUNICATIONS
|
||
BULLETIN BOARD". 313-453-9183 - 24HRS.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|