َGUYUTL      1X‏x2t>س:b‎ث¯Oح ‎!ے?¯ح&‎ح…حف!نةح؛بف!ةح؛ب!ةF#N#ح!–ةحىبہح ‎يA:t!بحہüآçü2ثح‹بآçü:ثحأüآçü*بé!بüتي°!‏ت5:ث*üتحزü 	"üت:‏ت· لة>·ةفfفnفVف^فFفNإهص(ح‎رلءبإ	ë	ëءح‎ة~<بV#^#N#ه	محلêة PPPPًًًًًًًً````````accdacccnaccdacdzc{b`feb`op`b`feb`ej`igh`|`qr`igh`|``y``j```e`st`j```e`u`w`i`klm`|```}i`klm`|`v`x`	PRESENTSGUY'S UTILITIES V 1.0BY GUY COUSINEAU^1992
AJM SOFTWAREےêةàْ#" ` |‚؛¢؛‚(‏£(‏ب‏ت€6x·ب#6 ûةy·(آ>حB> حB>حB+®إصهحKü0ûُح¨üٌلرءةُإصه‏ 0ح9üِح3üح®حKü0ح1‏ ح1‏ت€لرءٌةےے8|‏ّü‏ے‏üّ?ے?ذ

     I  - Disk Doctor

    II  - Indexer

    III - Directory Sorter



Select Program to run and press
appropriate Smart Key    I - View Catalog
   II - Do BackupNo Files No EOS Directory MOREto exitPressRETURN toSorting DirectorySeparate UPPER & lowerIntermix UPPER & lowerFormatيEيCfأçü       Initializing Media          InvaliGUY'S UTIL.پUھے BOOT       گDIRECTORY  طGUYUTL    ط’dummy      ط’DOCTOR    ط’dummy      ط’INDEX     ط’dummy      ط’SORTER    ط		’ReadmeDOC1Hذ &&ReadmeDOC2HذF

ReadmeDOC3HذP€BLOCKS LEFT[E         (‏£(‏ب‏ت€6x·ب#6 ûةy·(آ>حB> حB>حB+®إصهحKü0ûُح¨üٌلرءةُإصه‏ 0ح9üِح3üح®حKü0ح1‏ ح1‏ت€لرءٌةےے8|‏ّü‏ے‏üّ?ے?ذ

     I  - Disk Doctor

    II  - Indexer

    III - Directory Sorter



Select Program to run and press
appropriate Smart Key    I - View Catalog
   II - Do BackupNo Files No EOS Directory MOREto exitPressRETURN toSorting DirectorySeparate UPPER & lowerIntermix UPPER & lowerFormatيEيCfأçü       Initializing Media          InvaliيEيCf1پd    GUY'S UTILITIES  V 1.0     
    Copyright AJM Software
Border colour->Normal->Inverse->x± û ّح1zح£حN!‍ح‡ح1‏تê‏پ(
‏‚(‏ƒ(0ê!ىب
ي°:ّ2ب1ےےأgب!ùب
ي°:2ب1ےےأgب!ب
ي°:2ب1ےےأgب‏DOCTOR    INDEX     SORTER    	:ZOأ ‎:cث'ث'ث'ث'W:d²!@أ&‎:oW:nث'ث'ث'ث'²!Pأ&‎حطحœ!ح‡ح™!,%صzS_>حBح®رةح!z!tحbه!B"”ل~‏بحB#ِ¯>€2Pة>¯2}· >ذ:}·ب:¥‏‡‡‡إصه!€8ح&‎:¦‏‡‡‡!پ8ح&‎لرءة>أBح1‏((‏(/‏£(+‏ب‏ت€حBw#ل‏|<B¹¥¹­B<ےےےےےےےے??ےےےےہہààًًّّüü‏‏ےےےےدد‡‡ےےےے‏‏üü‡??ےےہہ€€ےےےےًü‏‏ےےےےے€€€ےےےےے€€€€€€€€€€€€€€€ےے??‏‏üüًًّّààہہ€€پپأأççَUQQ€€ہہààےےےے‏‏üًd drive selection    حح ‎ہح ‎!>ح)‎!@>ح)‎!>ح)‎!8>ح)‎!€8¯ح)‎8!پح‎€8!™ح‎حح5> !هح&‎ح8‎له€ح‎لح6üح£ح¨üة     SORTER    	:ZOأ ‎:cث'ث'ث'ث'W:d²!@أ&‎:oW:nث'ث'ث'ث'²!Pأ&‎حطحœ!ح‡ح™!,%صzS_>حBح®رةح!z!tحbه!B"”ل~‏بحB#ِ¯>€2Pة>¯2}· >ذ:}·ب:¥‏‡‡‡إصه!€8ح&‎:¦‏‡‡‡!پ8ح&‎لرءة>أBح1‏((‏(/‏£(+‏ب‏ت€حBw#ل‏ےَDOCTOR1X‏x2tيA:b‎ث¯Oح ‎!ے?¯ح&‎ح…حف! تحyةف!ءةحyة!غةF#N#ح!Uتح«ةہح ‎يA:t!بحہüآçü2¼ثحJةآçü:¼ثحأüآçü>سyسBح»ب0حèبٍحِب>سy·(G!>‎"!"*بé·*†€&يR( !„~îUw¾ îUw¾ ً!€&"†7ة·ة!ةإ?ي°ءةy!·بسB"†=‏ے ِة>
سيC€ي°>س*€é"€*‚é·يR(î>س*€Sت·يR غ!€xي°خ*بé!ب¸ثي°!؛ث5:¼ث*¸ثحزü 	"¸ث:؛ث· لة>·ةفfفnفVف^فFفNإهص(ح‎رلءبإ	ë	ëءح‎ة~<بV#^#N#ه	محلêاة PPPPًًًًًًًًPPPPPPPPaccdacccnaccdacdzc{b`feb`op`حƒوُحOٌُحٌوئگ'خ@'أگُ:‍·ُح‌!sحˆٌؤ ٌة!7Pحنح !ûح‹ح‌!<صzS_>حگح»رةحl!@!:ح !pحˆ!ه!؟!JحOه!گ"کل~‏بحگ#ِ¯>€2‍ة‏aط‏{ذو_ة>¯2¼· >ذ
>·ب:¥‏‡‡‡إصه!€8ح&‎:¦‏‡‡‡!پ8ح&‎لرءة>أگ:/üO>ڈيy>يy>گيy!مم+}´ ù>ںيyةحo‏((‏(/‏£(+‏ب‏ت‍حگw#ل‏(‏£(‏ب‏ت‍6x·ب#6 ûةy·(آ>حگ> حگ>حگ+®حo‏ت‍‏ت‍‏ةحˆإصهحKü0ûُح¨üٌلرءةحo‏ذ‏ طُحOٌُإصه‏ 0ح9üِح3üح»حKü0
حo‏ ح\لرءٌةحگإُ:i·ءxءبإصهُوO:i‏(yحfüحîٌلرءةغ@و 7>ےخةحâ< ْyس@ةف!ٹهحDISK DOCTORپUھے BOOT       طDIRECTORY  طDOCTOR    طˆBLOCKS LEFT
–x·بbkإے6ي°ءُةح‏ب"إةص!دحˆح¯رح×ُهح°لٌة
<و!Wحƒ~إُحTüءxء هةإإص>·ؤ¯2Wرء
ء!‡‏تˆ!‌‏تˆ![·تˆ!qأˆ
<‏ ¯ة:!³·تˆ!ہ=تˆ!حأˆإصهT¯!cح·لرءة"ٍيCهيCùيCيCِص!حگفلف~E·(‏8>2To&+حگحcy2V:TG¯ئ'ü=2Uة:2
¯*T&ح© ûةفهل~#‏ ْ++ةف!¯ه!T"Hلإصyض'8ف÷ُ:T¸8ٌئ'(Gفüرء7ةٌرء·ةه!)"q"“لح)ف~‏B &ف~‏O ف~‏O ف~‏T ح)0	ف~و(َ7ة·ةح;!±ح‹ح^!نحˆح‚	حNحWح\(‏پج2‏‚جفح;¯7يSG
يKإ!حگ¯2¬
2ء
2،
2>
يEيCfيs­1­حRح ‎ہح ‎!>ح)‎!@>ح)‎!>ح)‎!8>ح)‎!€8¯ح)‎8!ح‎€8!ح‎حپحھ> !هح&‎ح8‎له€ح‎لح6üح¨ü*Xِحع·يB "Xِ"Yِ¯2s1­ح°ح;!ٌح‹حlح‚	
حN	حچحo‏(Y‏(U‏ƒتك‏‚ت£‏پ(‏…ج2‏†جپ‏„جyت¯ح¤حcعح;ح !vحˆ!ژحlُح‌ٌ‏ت‍و_‏Nآ‏أحني{­أçüے·يR0ûx·(Oy· > أگ>0€أگ¯2wإه!؟¯
>>>2wحOإه!گ"A"G`i'ح,èح,dح,
ح,EحCلءةحO> حگحگح¯ح­أ°حO!¯7هحل‏بë!‏ب‏ (÷ض0ط‏
ذ))))حƒèحO!¯7هحل‏بë!‏ب‏ (÷ض0ط‏
ذDM))	)b`feb`ej`igh`|`qr`igh`|``y``j```e`st`j```e`u`w`i`klm`|```}i`klm`|`v`x`	PRESENTSDISK DOCTOR V 1.4BY  GUY COUSINEAU^1987
AJM SOFTWAREے¦تàْ#" ` |‚؛¢؛‚|<B¹¥¹­B<ےےےےےےےے??ےےےےہہààًًّّüü‏‏ےےےےدد‡‡ےےےے‏‏üü‡??ےےہہ€€ےےےےًü‏‏ےےےےے€€€ےےےےے€€€€€€€€€€€€€€€ےے??‏‏üüًًّّààہہ€€پپأأççَUQQ€€ہہààےےےے‏‏üًOصإفهل~W#~‏(z‏ شگً‏ y‏8x‏8> حگùz‏ شگx‏8> حگùءرلةح ص!صحˆح‌ح€رُ!µحˆٌ‏ت‍‏ةُ>ے2sٌة>·بح;ح !Yحˆح‌حoو_‏Nة}´ب:هحل>‚W+يه!ه!
"µل}´ب:
هحل>‚W+}´ةح ‎>!Pح&‎!؛حˆحéحoُحRحھٌحو_ضAت‍ضبض	 ا<ةه!ِüه!َü"ل!"إُصëPYحَüرءxءبإُصهحˆg.¥ 	|ث?ث?ث?ث?إُ:‍·ءxءُح6ح6ح6ح ٌُW>!ظےي± ù"حˆحإُحOءٌإج‌ٌلرءxء Œة…oذ$ةُحTüل>Dہحکذ‎6‎~·ٍک‏›(ٌî€>fہ.ً|¥} /‎¦ہ7ةح !kحˆح‌ح	"›ي[ديR"éيSهC¯7صح!aرص)ي°¯;hي°:هo&رح£ ûةحlح‚!‰حˆح*
ح¯ح‌
حo‏ت‍‏گتت
‏(9‏ج±	‏ جv	‏¢ج‚	‏¬جء	‏®جع	‏¦جâ	‏¤جح	‏£ج‰	‏،ج£	‏€ج"
‏	جj	³ح°أ£¯2ء
:¬
/2¬
ة:،
ضو2،
¯ة:،
ئٍ:ء
· :،
=ح{	:¬
·ہ:ء
/2ء
ةح–	:ء
·ہ:،
<ت¯2ء
:،
ئوx2،
¯ة:>
=‏8C*إ|µ(6+x:>
<‏8**إ#¯ُëح	¯ëهيRل8+"إحO¯7يKإ!حگٌ2>
!¯7·(G€‎"G
ح*
¯2ء
2،
ة!éحˆ
يKإحWح_!حW
ّةإف!ف~O‏ 8‏8>.صفهرف#ح‹رyوًئ0‏:8ئح‹yوئ0‏:8ئح‹#إءة>ُث?ث?ث?‚W>·(
ٌوئƒ_أOٌو‡ƒ_>·تOأOح !“حlُح‌ٌو_‏Y ;ح)ف^فV*إ·يRفuفuفtفt:أ‍ح|ي:!‏ط! :·ب!@=ب!ذةيK´7حI!ح|يK²7حI»>·(!ح|يK²7حI!3"²ح•0‍##"¢~‏8>GO#~‏ 8$‏€0 ô!.ح|*¢A#~‏  ¹(Oح؟ٌ>/ح؟ح،ء!¯7"¢!«;"ھ!ه#"¢¯يRلذ·(¾ و#ُ*¢+7ة WP file  Binary file ; Shape Table with# Fast Load Program ; ASCII  shapes at SPCTABERRNUMREM 	گANALYZING MEDIUM         PRINT DATA

     I -

    II -

   III - Line Length:

    IV - Left Margin:

     V -

    VI -Printing to Screen       to ADAM Printer to Other PrinterUse Form-Fe>
2>ح,>2>y‏ط> حگح#هح¯ح€لw#6أ°!ٹإصه!ؤحˆلرحOح¯حح°ءةح—فuح—}حw‏0ٍ}فwح—}حw‏ 0ٍ}فwأjإGوًOپOxوپءةح‏بM:V¹ذOةح‏بفuفtفuفtأjح‏بفuفtأjح‏بفuفtأjy·(:U¹0:VO¯ةفnفf"إy2à
أقح;!üح‹ح^!Vحˆح‚حّح 		حNح‌	
حچ:دئ0ح‹ح\(‏پج)‏‚جc‏ƒجپؤحF(§حح¶أ‍:د<‏8>2د2رئ€2–ةح;!؟ح‹ح^ح¯!ïحˆح‚:ح<:ح<:	ح<:
ح<:ح<:ح<	حN	حچحOح\(+‏پجI‏‚جm‏ٹجx‏ƒج–‏‹ج،‏„ج[‏INITIALIZE MEDIUM

     I - Volume:
    II - Directory Size 1K

 SOURCE:
   III -InitializeيEيCfأçü      Initializing Disk      FIRST DIR  پUھے BOOT       طDIRECTORY  طBLOCKS LEFT‍

 Directory Entry

      I - Name:
     II - Attributes:
              locked:
       write protect:
        read protect:
           user file:
         system file:
             deleted:
       exec. protect:
         blocks left:
        - Starts at :   حR	ح’ح\ب‏پجh‏‚ج.‏ƒج¢‏„جث‏…جE‏†ج‹¸>/2/ة:/!4·تˆ!Bأˆ:S<‏8¯2Sة>!·تˆ=!ُتˆ!
أˆ><‏8¯2iة:i·!آتˆ=!ستˆ!نأˆ>/2Œة:Œ·!dتˆ!Pأˆإ:أP‏(`‏P(„‏`(x2أ¯ءةإح[ءة:×<و2×ةإح_ءةحثح‰>ح¹ح;!6حˆإ>ح؟حI!¯7حگ!¯¼آ2<2¾>2—*¯7ي[±7=½8G(¼ B» ?`=¼ 9{‏ 42—2<:´7‏8G!·7~##¾8(ô>5!"²ح•0-2<>#!¯7(~‏ 8‏€0‏(‏(‏ 
#و2¾¯2—>·("=!إ(=!ر(	=!ل(!ُح|#F#~·(ghé>·(4!ح|!."²ح•0#~‏€0‏ 8 ¹ #ïح؟#é>/ح؟ح،غءح	·يBآù>
ث?G:،
0ئ€<فw <فp2s¯Oإح;!ٍح‹ءح^!‰حˆح‚ح)إح[ح!ح2فNفFإحTفNفFل	رص>»0فثF فههإKح)ءلفuفtفلحTفNفFحTفNفFحTف~حف~حف~حءح\ُحٌ(K‏گتî)ص‏€ت‡‏ تش‏¢تك‏¬تغ‏®تèرإص‏پتٍ‏‚تn‏ƒتک‏„ت°‏…تآ‏†تGرءأ)حrؤ¯2sأ‍صحO> حگùرأ‏ف~ثحZثwحZثoحZثgحZث_حZثWحZثOحZثGُُصحOرٌ>Y >Nحگٌةحjح^!‰حˆإف~€رص!زحˆرy‏€(ث!صحqحo‏(E‏(A‏ت‍‏ (×‏¢(ح¦‏Y ف~±	‏N ×y/ف¦فw،حZرص!زحˆرث9y· µ°ر!زحˆءةحjفهلy‏8eds      Pause at End of PageContinuous Printing Single-spacedDouble-spacedNear-Letter QualityDraft Quality      PICA->PELITE->MCONDON->NLQON->x1NLQOFF->x0

 DEFAULT SETUP

 Screen Colors:
     I - Border:
    II - Normal Char:
   sII - Normal Bkgrnd:
   III - Inverse Char:
  sIII - Inverse Bkgrnd:
    IV - Cursor Colour:

 Source:
     V -
    VI -TransBlackMdGrnLtGrnDkBluLtBluDkRedCyan MdRedLtRedDkYelLtYelDkGrnMagenGrey WhiteSave Changes

 …ج2‏†جپأ”!¦حˆح\‏ƒ(‏„(‏پ(‏‚ èxحأy‡o‡…!ڈحƒأˆ:<و2:Oأ ‎:<و2!ƒ8أ&‎:<و2	:<و2:W:²!@أ&‎:<و2	:<و2:W:²!Pأ&‎ُإصه‏(?‏ ش¹‏ج¹‏ Sح¹>
ح¹:/·(>
ح¹:S·((:/·(:i·y2ï(	‏= ح?‏8ح\¯2ï:×·(ُG> ح¹ùٌ><2)O:أ¹ >أألرءٌة:ï·(4:S·ب‏ حo‏ت‍‏ ٌة:i‏(:ïG>BگG>
ح¹ù>ح¹>Gُ>
ح¹ùٌ2ïة¯2ï:i‏ہه:أ!~‏Q8
!Œ‏a8!›ح¼:Œ·!¸(!©ح¼لة~·ب‏ذG#~حئùةح;!Gحˆح^!·حˆح‚	حt	ح5
حءحص	    BLK
    III - Length    :       BLK
     IV - Used      :       BLK
      V -   in last :       BYT
     VI - Date      :   /  /When Done Copy Length > current file? 

 READ BLOCK

     I -

    II - Block Number:Read Block #:       Sector #:

 00
 08
 10
 18
 20
 28
 30
 38
 40
 48
 50
 58
 60
 68
 70
 78Tape Drive 1 / A / D1Tape Drive 2 / B / D2Disk Drive 1 / C / D5Disk Drive 2 / D / D6Single-sidedDouble-sidedQuad Density         UNKNOWN ERROR               b`feb`ej`igh`|`qr`igh`|``y``j```e`st`j```e`u`w`i`klm`|```}i`klm`|`v`x`	PRESENTSFILE INDEX  V 1.0BY  GUY COUSINEAU^1987
AJM SOFTWAREے¥تàْ#" ` |‚؛¢؛‚|<B¹¥¹­B<ےےےےےےےے??ےےےےہہààًًّّüü‏‏ےےےےدد‡‡ےےےے‏‏üü‡??ےےہہ€€ےےےےًü‏‏ےےےےے€€€ےےےےے€€€€€€€€€€€€€€€ےے??‏‏üüًًّّààہہ€€پپأأççَUQQ€€ہہààےےےے‏‏üًt Catalog
    II - Read Block
   III - Analyze Medium
    IV - Change Default Setup

 Source:
     V -
    VI -   Bad EOS Directory    Init Directory (Y/N)?  SAVE TO:  I - Tape 1
          II - Tape 2
         III - Disk 1
          IV - Disk 28|‏ذژچŒ‹ٹ‰†…„ƒ‚پ«ھ©¨‌œ›ڑک€B / D2Disk Drive 1 / C / D5Disk Drive 2 / D / D6Single-sidedDouble-sidedQuad Density         UNKNOWN ERROR               َINDEX1X‏x2tيA:b‎ث¯Oح ‎!ے?¯ح&‎ح…حف!ںتحxةف!ہةحxة!عةF#N#ح!Tتحھةہح ‎يA:t!بحہüآçü2»ثحIةآçü:»ثحأüآçü>سyسBح؛ب0حçبٍحُب>سy·(G!>‎"!"*
بé·*†€&يR( !„~îUw¾ îUw¾ ً!€&"†7ة·ة!ةإ?ي°ءةy!·بسB"†=‏ے ِة>
سيC€ي°>س*€é"€*‚é·يR(î>س*€Sت·يR غ!€xي°خ*
بé!
ب·ثي°!¹ث5:»ث*·ثحزü 	"·ث:¹ث· لة>·ةفfفnفVف^فFفNإهص(ح‎رلءبإ	ë	ëءح‎ة~<بV#^#N#ه	محلêئة PPPPًًًًًًًً````````accdacccnaccdacdzc{b`feb`op`     CRC ERROR             MISSING BLOCK, ADJUST MEDIA           MISSING MEDIA                 MISSING DRIVE                 WRITE PROTECTED                  DRIVE ERROR                Ignore Abort or Retry     
          (I, A or R)                 DISK DOCTOR V 1.0       
    Copyright AJM Software
PressRETURN toESCAPE to Exit Save Changes? (Y/N)? <=                               
                               
                                     Check Drive(s)       

     I - EdiFILE INDEX پUھے BOOT       گDIRECTORY  طINDEX     ط‡BLOCKS LEFT™     CRC ERROR             MISSING BLOCK, ADJUST MEDIA           MISSING MEDIA                 MISSING DRIVE                 ààDû û؟à؟ْ›؟àôٌ›؟à B9êےے               Ignore Abort or Retry     
          (I, A or R)                 DISK DOCTOR V 1.0       
    Copyright AJM Software
PressRETURN toESCAPE to Exit Save Changes? (Y/N)? <=                               
                               
                                     Check Drive(s)       

     I - EdiيEيCfيs1ح(ح(ح³ح(ح ‎ہح ‎!>ح)‎!@>ح)‎!>ح)‎!8>ح)‎!€8¯ح)‎8!ح‎€8!#ح‎حâح> !هح&‎ح8‎له€ح‎لح6üح¨ü*Xِحع·يB "Xِ"Yِ!¤ب"R:|ٌ‏ٍ !çري°2ˆ
!5"U¯292§2¶2·1حïح‌!3حـحخحس	ح±
ح‡
	ح ح•‏تè‏تè‏ƒت‏‚تّ‏پ(%‏Œجن
‏…جX
‏چجt
‏†ج0‏„ت¾‏“ت7‏’ت8±>· ¬ح‌!?حـحس:§‏Pزخ!·يRعخهءحBح|حً8ح(حè!حظحهح…حسAحءض8ض0¯Oإ>·(حI><2§OحI!ء	"¶هءحEح-ح…أFحè!0حظح•حه>ے29أرح#حîحهي{أçü5*U·يح‌:ح‌:	ح‌:
ح‌:ح‌:&ح‌	ح±
ح±ح…(&‏پجھ‏‚جخ‏ٹجظ‏ƒج÷‏‹ج‏„ج¼‏…جX
أے
ح|xح»	أن
![حظح…‏ƒب‏„ب‏پب‏‚ ëة‡o‡…!Nح%
أظ:<و2:Oأ ‎:&<و2&!ƒ8أ&‎:<و2	:<و2:W:²!@أ&‎:<و2	:<و2:W:²!Pأ&‎:1!‏·تظ!éأظ>/21ة>¯2s5*U·يR|µتره!Uحظحî!îحM6A#6x·(#6 û>2ْ>·ت8حï!{حظح|Gإحًءز#:"¸ت#فnفf"
ل¯يR<0ûO|µ !yهفnفf·يB8`فu+فt,*
	فu'فt(فqفpفqفpلفuفtفp)فp)فهر!صëي°ر!îO ف~‏O ف~‏T ح¾0	ف~و(َ7ة·ةے·يR0ûx·(Oy· > أ¦>0€أ¦¯
>>>2eح±إه!¦":"@`i'ح%èح%dح%
ح%Eح<لءةُ:´·ُحه!رحظٌؤèٌةح#حè!sحـحه!“+صzS_>ح¦حْرةحخ!¸!²!آح±~·بح¦#÷¯>€2´ة>¯2û· >ذ
>·ب:¥‏‡‡‡إصه!€8ح&‎:¦‏‡‡‡!پ8ح&‎لرءة>أ¦!ے!:/üO>گيyٹيAيa>ں”يy+}´ ٍ>ںيyةح…ب‏(‏£(ح¦w#ى‏(‏£(y·(ق>ح¦> ح¦>ح¦+تح•‏تر‏تر‏ةإصهحKü0ûُح¨üٌلرءةُإصه‏ 0ح9üِح3üحْحKü0
ح•‏ ح…لرءٌةح¦إُ:و·ءxءبإصهُوO:و‏(yحfüحٌلرءةغ@و 7>k Drive 1 / C / D5Disk Drive 2 / D / D6         UNKNOWN ERROR                    CRC ERROR             MISSING BLOCK, ADJUST MEDIA           MISSING MEDIA                 MISSING DRIVE                 WRITE PROTECTED                  DRIVE ERROR                Ignore Abort or Retry     
          (I, A or R)                   PRINT DATA

     I -

    II -

   III - Line Length:

    IV - Left Margin:

     V -

    VI -Printto Screen       to ADAM Printer to Other PrinterUse Form-Feedظ!âأظ>/2		ة:		·!_تظ!Kأظإ:@	P‏(`‏P(„‏`(x2@	¯ءةإحIءة:S	<و2S	ةإحMءة}´ب:هحء	ل>‚W+ي}´ب:هح»	ل>‚W+يح ‎>!Pح&‎!	حظح(ح•ُح³حح…ٌو_ضAترضبض	 ا<ةه!ِüه!َü"س	لإُصëPYحَüرءxءبإُصهح*
g.¥ 	|ث?ث?ث?ث?إُ:´·ءxءُحèٌُW¯!(ےي± ùحظح€	ُءٌإجهٌلرءxء ¥ة…oذ$ةُحTüل>Dہح:
ذ‎6‎~·ٍ:
‏›(ٌî€>fہ.ً|¥} /‎¦ہ7ة
<و!ح%
~إُحTüءxء هة:ˆ
·ب:çم<‏
8¯2çم¯ة>·ب(:= !ظحظيKçمأM!أظإإص>·ؤ…¯2؛
رء
ء!‎‏تظ!‏تظ!»·تظ!رأظح‌!ˆحـحہ!®حظحسحî:R|µتر!"حظ*U>ےw5¯يRë!)ث| ه¯يRل8ôث<ثث<ثه¯يBء0حIح(أرإ>.ح¦5صل	ëيCٹهصصه¾ #ّلر04صهصهîي°رلهي°ر!îي°لر¯يB8ë¯يBë5¯هيBل0¼رل	ë	ëه*U¯يRل0§ءث8ث¯!يB8‰ةy2":§ض&0üئ&ث?ُ‚Wٌ>0<2‌يSکح±ح¾فهر!·‏(‏ 0ô‏0ùح¦w#èأm> ح¦w#÷!ڈ6>¹بح¾ف~ثW(!ڈ4ëي[Uفهل~‏(#ِأmُ> üٌُ> ٌ‏a(‏h :1· أإ!¶ي°يSUء¤إصهح‰لرءةص!حZ	فلف~E·(‏8>2¶o&+حZ	حًy2"¯ئ'ü=ةف!إصyض'8ف÷ُ:¶¸8ٌئ'(Gفüرء7ةٌ·رءةح¾ف~‏B &ف~‏ي°5o&حm	*¶&حm	ح(أرحè!<حظح•حهأرلأر NO ROOM ON THIS MEDIUM New Index File: File to merge with:  Saving File

 DEFAULT SETUP

 Screen Colors:
     I - Border:
    II - Normal Char:
   sII - Normal Bkgrnd:
   III - Inverse Char:
  sIII - Inverse Bkgrnd:
    IV - Cursor Colour:

 Source:
     V -TransBlackMdGrnLtGrnDkBluLtBluDkRedCyan MdRedLtRedDkYelLtYelDkGrnMagenGrey WhiteSave ChangesTape Drive 1 / A / D1Tape Drive 2 / B / D2Hard Drive           Disےخةحّ< ْyس@ة5*U·يR|µترصهحHح…ح>ح>لرح>+|µ ِح•أرُإصه‏(<‏ شد‏ Uحد>
حد:¬·(>
حد:ذ·(*:à<O:¬·(:و·y2à(	‏= ح»‏8ح…¯2à:S	·(ُG> حدùٌ><2¥O:@	¹ >أBلرءٌة:à·(2:ذ·ب‏ ح•‏تر‏ ٌة:و‏(>BگG>
حدù>حد>·(
Gُ>
حدùٌ2àة¯2à:و‏ہه:@	!ت‏Q8
!ط‏a8!çح9:		·!(!ُح9لة~·ب‏ذG#~حـùةح‌!Jحظحہ!؛حظحس	حٌ	ح²
ح>	حQ		حد	ح	ح…ب‏پجه‏‚ج«‏ƒج	‏„جG	‏…جآ‏†ج	¸>/2¬ة:¬!/·تظ!=أظ:ذ<‏8¯2ذة>!·تظ=!َتظ!أظ><‏8¯2وة:و·!ہتظ=!رتs     Pause at Page End  Continuous PrintingSingle-spacedDouble-spacedNear-Letter QualityDraft Quality          INDEXING UTILITY V 1.0     
    Copyright AJM Software
PressRETURN toESCAPE to Exit                               
                               
                               

     I - Read Disk
    II - Sort Data
   III - Print Data
    IV - Clear Ram
   SIV - Change Default Setup

 Source:
     V -
                   
    VI -   SV - Volume  Ignore Backup filesInَDIRSORT	1X‏x2t>س:b‎ث¯Oح ‎!ے?¯ح&‎ح…حف!àةحµبف!‎بحµب!ةF#N#ح!‘ةحçبہح ‎يA:t!بحہüآçü2üتح†بآçü:üتحأüآçü*بé!بّتي°!ْت5:üت*ّتحزü 	"ّت:ْت· لة>·ةفfفnفVف^فFفNإهص(ح‎رلءبإ	ë	ëءح‎ة~<بV#^#N#ه	محلêة PPPPًًًًًًًً````````accdacccnaccdacdzc{b`feb`op`b`feb`ej`igh`|`qr`igh`|``y``j```e`st`j```e`u`w`i`klm`|```}i`klm`|`v`x`	PRESENTSDIRECTORY SORTER V 1.0BY GUY COUSINEAU^1991
AJM SOFTWAREےوةàْ#" ` |‚؛¢؛‚|<B•حِ1X‏أçü!إصه!ح¢لرحzحہحُحءٌءةحئ‏بM:2¹ذOةحfحو:=W:?؛ع;!¾ح¢ح‰!ح¢!bح¢!0ح¶حأ:2‏89:?<(3حآبحآب>؛0î:=W:>‚W:?؛بح؛!ح¢أ·!وأ¢ح
y·بح¶فث~(ص>*حٹرفهلحأx2><ة!د.ے:2=¹(ح¶ف~و îq#éx2?6ة!د.:=حTxحTNةحِ‎^‎Vفsفr*"0·يRفuفt‎هرفهلإي°bk6 ي°ءy22:$26:!2$0*0ح،:62$ة:7·بحکأحفبG‎!‎~‏ے(O‎هإحyء‎ل(طص‎رمإح|ح حًلAفه‎!ر‎هح‎ل0±‎~‏ے(ھ‎هOصح¶رفث¾ح9‎لص‎رفهس¯27:-·(:+· =حّح :5G:4¸ت»هDIR-SORT   پUھے ‘BOOT       گDIRECTORY  طDIRSORT   ط		‘BLOCKS LEFT•clude Backup files    NOT EOS   Sorting files NO MORE ROOM  DISKS    FILES      FREE   SAVE TO:  I - Tape 1
          II - Tape 2
         III - Disk 1
          IV - Disk 2 PICA->PELITE->MCONDON->NLQON->x1NLQOFF->x08|‏ذPGMENDيEيCf1ـd    DIRECTORY SORTER V 1.0     
    Copyright AJM Software
Border colour->Normal->Inverse->x± û ّح÷10حءحf!qح¥	
حuحn‏ت€ص‏‚ت6‏پ(ر‏ƒجَف¯2<2=2>ححِ8 حfح؛!ïح¢ح·حn‏(£‏تخح<ح
حn‏(ڈ‏(‹‏(‡²ص‏”ت‏‚ت6رنص‏پت2	رçص‏¬(!‏®ہ:=ئW:?؛8z2=إح<ءx2<ة:=·(ُض0ه¯â!8ح¢:2Gح¶فث‏:*·(!=(فهل~#‏ ْ++~‏`8فثضفثV(فث¾د!÷ّp×ي°حزب‎!÷إفه‎هف~‏((‎~‏(ف~و_‎¾(8‎لفل‎فه‎ه×ف#‎#ر‎لفل‎هر!د.·يRDM!ء.خ.ي¸ف~و_‎wف#‎#ٍء‎q¹¥¹­B<ےےےےےےےے??ےےےےہہààًًّّüü‏‏ےےےےدد‡‡ےےےے‏‏üü‡??ےےہہ€€ےےےےًü‏‏ےےےےے€€€ےےےےے€€€€€€€€€€€€€€€ےے??‏‏üüًًّّààہہ€€پپأأççَUQQ€€ہہààےےےے‏‏üًصإحًفnفf"*"H"8ءرل>·ةإHح¬فهلءذهصëإي°ءرل>ے277ةهصفهلرصإي°ء‎لفلفn‎uفf‎t‎^‎V‎s‎rفuفtي[8ë·يRفuفtة:4¸(<ح¶ح·!حح¢حأف^فVيSفnفf"*ي[8ë·يR8حE¯<ةحfح؛!°ح¢حnح·¯ة:2¹بح¶¯فث~(ًة‏8ثبهو!…حTFلة ·ب@=بذةإصه00!ِحHلرءةح÷إصه:!26:$2!!ًH3حH:62!لرءة"„يCsيC‹يC•يCˆص!حفلف~E‏8>20·بo&+ح ûحِy22:0G¯ئ'ü=21ةح÷H*3&ح  ûةف!Hه!3ف!0ه!0"صلإصyض'8ف÷ُ:0¸8ٌئ'(Gفüرء7ةٌرء·ةه!¬ه!¶""&ڈيy>يy>گيy!مم+}´ ù>ںيyةحn‏((‏(/‏£(+‏ب‏ت€حڈw#ل‏(‏£(‏ب‏ت€6x·ب#6 ûةy·(آ>حڈ> حڈ>حڈ+®إصهحKü0ûُح¨üٌلرءةحn‏ذ‏ طُحzٌُإصه‏ 0ح9üِح3üحجحKü0حn‏ حn‏ت€لرءٌةف!هحz!ڈ"é"ے""صإفهل~W#~‏(z‏ شڈً‏ y‏8x‏8> حڈùz‏ شڈx‏8> حڈùءرلة¯2.2ح؛ص!گح¢ح·حرُ!pح¢ٌ‏ت€‏ة:·ج ح$>ے2ح؛!6ح¢*يKحتيC"}´بح†سحE¯2ح†أ·ح÷ح؛!Vح¢يKح+يCHيS!"$:,·(!>=(*·يBيC"ةي[:·(=2ح‹حيS وةه*}´((+"لهح‹:!طحü:*!}‏ت¢!“:ٌ·ت¢!«أ¢>/2	!أ:	·ت¢!عأ¢حf!Rح¥¯2:ح‰!ہح¢ح¶إحtحن	حُ	فNفFحmفNفFحmفNفFحmفNفFحmف~حقف~حقف~حقءحnُحNٌ‏ب‏ت€‏ب?	ص‏€ت+‏ (h‏¢(o‏¬(g‏®(pرإà	ءأ?	صحz> حڈùرأأف~ثح$
ثwح$
ثoح$
ثgح$
ث_ح$
ثWح$
ثOح$
ثGُُصحzرٌ>Y >Nحڈٌةy·(:1¹0:2O¯ةحf!Tح¥ح‰!~ح¢حœ:!ث(حقô	حu	حد	ح™حn‏ب‏ت€‏(‏پجق‏‚ج¹‏ƒج‘آحN:"·>(>2Hح(•حNح؛:!‏8?!"-!H6هT]ي°!4ح¢حtإH:!ح÷ء:-¹ èو„ ÷ح¶و(	>=2 حة*؛گهلي²ي²ي²ي²¯ح«7ة:µو!ڈحT~2zحq>ے2*؛گي³ي³ي³ي³>0ح­ح؟ح¶و(ء:=2 نة·*·	$يB8ù		¯يB8<ù	G}ح­{ح­zح­xِِ@ُ>گپOٌيyةُ>گپOٌيxةح¶îPوز ُةُإصصهح0 هë!9ي°#~#ورùëرصw7ةءءءءءل#é!أ‏F(!ش‏و¾(ًْے7ب·ةُحء>Dذ~0ü‏(‏7(
ُ>< ٌ·ةٌ6~·ٍ>‏›(ُî€>fہًx،y /ه	¦لہ7ةح؛!ûح¢ح· حميC-`iي[a{ثے2(يR"{يSwCHصح´!ٌرص+ي°Lhي°:wo&رحڑ ûةx·بbkإے6ي°ءُةص!ٹح¢حہرح°ُهحءلٌ‏ة:@‏8 :„<# :„2!pwلةه! :#¾> =2-لة:ZOأ ‎:cث'ث'ث'ث'W:d²!@أ&‎:oW:nث'ث'ث'ث'²!Pأ&‎ے·يR0ûx·(Oy· > أڈ>0€أڈ¯
>>>2گحzإه!ڈ"e"k`i'حPèحPdحP
حPEحgلءةحz!Hهحل‏بë!‏ب‏ (÷ض0ط‏
ذDM))	)حTوُحzٌُحىٌوئگ'خ@'أڈ:-·ب:.·ہح؛!vح¢ح·حn‏ت€‏ت€>ے2.*:-·ب:.·بح؛!–ح¢ح·حn‏ت€‏ت€¯2.ُ:‌·ُح·!.ح¢ٌؤ؛ٌةحِح؛!ح¥ح·!,+صzS_>حڈحجرةح—!!!حzه!ڈ"²ل~‏بحڈ#ِ¯>€2‌ة>¯2;· >ذ:;·ب:¥‏‡‡‡إصه!€8ح&‎:¦‏‡‡‡!پ8ح&‎لرءة>أڈ:/üO>لح¶ف~‏B &ف~‏O ف~‏O ف~‏T ح¶0	ف~و(َ7ة·ةحf!ٌح¥ح—حœحn‏ب‏ت€‏پجm‏‚جQ
‏ƒج-:!· خحَة¯2ٌحf!صح¥ح‰!Œح¢حœ:*‏ :!ث(حخ:$ثؤخحu
حoحلح÷ح"	حn‏ب‏ت€‏(‏پجَ‏‚جî‏ƒجخ‏„جً‏…ج	‌:!ث((G:$¸ !حûحNح؛!×ح¢ح·!َح¢أmح:	·>(>_2¸2ٍحN:*‏(:ٌ·ؤ‹¯=2+ححHحfحvأmححِ0فNفF حمi`"#حميB8يC!""حyأmحN:!ُG:$¸ُ ح؛!vح¢ح·حn‏ت€‏ت€:$2!ح>Oح¶فه‎لحٌ ح؛!–ح¢ح·حn‏ت€‏ت€ٌ2!ة>/2ٌة:$ضً 2ٌإحـيKيCءل+}´ رةلة}´ب:!هحüل>‚W+}´ة>$!–بo&HيKح‘ح  ّ*:,·ب= !b$·يRي[يR|µبيSهإح4ـيKيCءح‘:$طح÷ل+}´ قةصصحmرةه!!ه!$"¬ل}´ب:$هح÷ل>‚W+}´ةإ>حح:!–ح¢حnُح7حٌء‏ت€‏ت€حNو_ضAت€ضبض	 ا<ة!—!Y"إُصحYgرءxءطإُص|و 	|ث?ث?ث?ث?إُ:‌·ءxءُح؛ٌُW>!µےي± ùح¢ح¼ُءٌإج·ٌرءxء ¯ة…oذ$ةيC·يS؛2µ·ْقإح®0%:µح0ءï:µح0~·ٍ“6~0ü·(67ةءةيC·يS؛2µ·ْ.¯24>>72إ>!ُصهحثلرءذxثAہ>ے24xحُ¯24ٌة>ے2:µو!ڈحT~2zحq> ح­ح¶:.¸ â!ôح¢ح©:/·(. حميC-!ح¢حtإحشء:-¹ î:.¸ è:!‏>0:"‏>8>(>2a2cححûأQ
هإح¼ءل(ءلإُإه!ح¢لءٌ=ة://2/ة:/·!تآ¢!كأ¢:!·(	خْHأ÷ي[&حئي[(حئص!…ي°ل6ة:!· >إحمء>ُصئ-حٹ>>حڈرٌHحü!H>هي،صؤrر·(بx± ًة:!·آ^>2!ح^>2!ح^¯2!ةحf!چح¥ح‰!وح¢حœ:!ث(حَôح½	حu		حدح§حn‏ب‏ت€‏(‏پج‏‚ج¶‏ƒجَ‏„ج¹حz®ح(‘حNح^†إ:aOحxءة:a<‏	8>2a2cثے2(ث؟ة:*‏(·> <2*ة!J:*·ت¢!`=ت¢!vأ¢ه!-:+¦ح¢
<‏8¯!™حT~· ,!™~#‏0ْإهح"&ل~ح"(ء!A~#¾8~حi¯ةُ>ح؛ٌ·ٍ\و!…حT~أ؛‏ذض!AحT~ح؛=ةإ$إ!صإحءر
·ءٍ•!ھوئ02¼أ¢·!وت¢‏0!زئ-2فأ¢!¾>1(<2ةأ¢!
·ب‏ذ
<‏8¯<أ؛"!!~!‏ز¢!ْ
·ت¢!=ت¢!"أ¢Press any key to continue...$H$ےے8|‏ّü‏ے‏üّ?ے?ذ Directory of 

     I - Show Directory

    II - Backup Functions


 Source:
   III -    I - View Catalog
   II - Do BackupNo Files No EOS Directoryي°حـ!… ـ_ي°حح ‎ہح ‎!>ح)‎!@>ح)‎!>ح)‎!8>ح)‎!€8¯ح)‎8!Eح‎€8!]ح‎حح7> !هح&‎ح8‎له€ح‎لح6üحءح¨ü*Xِحع·يB "Xِ"Yِ¯2 حN  2>ًHحY!H~2ˆ#~2}#~ح­#~2 !H…ي°¯ح«!@6>حl >حl >حl >حl !$ 6>حl >حl !™>O·(G>ًw#<û:@·(
GپO>w#<û>·(6#(6#¯wy2„: =2 :#=2#حَحîة>Uح­>ھح­ح¶‏Uہح¶‏ھةهُحرل_>ً¢{(و‏ب4ةحSـ!ط>سBKي°>سحSـë>سKـأحSـAـ>سأ!طDMي°>س¯سBة¯*>يR<0ûسB}<<وüg.ة>سxسB·*†€&يR(/!„ FUNCTIONS

   I - Sorted Backup

  II - Format Media

 III - Initialize Media

 Directory Entry

          Name:
          Attributes
         locked file:
     write protected:
      read protected:
           user file:
         system file:
        deleted file:
     execute protect:
         blocks left:
          Starts at :
    Reserved Length :
        Used Length :
 Used in last block :
          Date      :   -  -When DoneWith Verification   With NO Verification        Formي°حـ!… ـ_ي°حح ‎ہح ‎!>ح)‎!@>ح)‎!>ح)‎!8>ح)‎!€8¯ح)‎8!Eح‎€8!]ح‎حح7> !هح&‎ح8‎له€ح‎لح6üحءح¨ü*Xِحع·يB "Xِ"Yِ¯2 حN  2>ًHحY!H~2ˆ#~2}#~ح­#~2 !H…ي°¯ح«!@6>حl >حl >حl >حl !$ 6>حl >حl !™>O·(G>ًw#<û:@·(
GپO>w#<û>·(6#(6#¯wy2„: =2 :#=2#حَحîة>Uح­>ھح­ح¶‏Uہح¶‏ھةهُحرل_>ً¢{(و‏ب4ةحSـ!ط>سBKي°>سحSـë>سKـأحSـAـ>سأ!طDMي°>س¯سBة¯*>يR<0ûسB}<<وüg.ة>سxسB·*†€&يR(/!„-sided (160K)Double-sided (320K)Quad Density (720K)        Reading Source                 Writing Target                  Insert Target                  Insert Source                  UNKNOWN ERROR                    CRC ERROR             MISSING BLOCK, ADJUST MEDIA           MISSING MEDIA                 MISSING DRIVE                 WRITE PROTECTED                  DRIVE ERROR               Ignore, Abort or Retry     
          (I, A or R)              Invalid drive selection    !ن ـ MOREto exitPressRETURN toESCAPE to Exit                               
                               
                                       Check Drive(s)         Target Media Full...AbortingCopying

 SORTED BACKUP

 Source:
    I -

 Target:
   II -

Options:

  III -

   IV -

    V -Sorting DirectoryCopy All Files       Exclude Deleted FilesExcl. Del. & Backup  BackupDo Not Clear Target DirClear Target Directory Separate UPPER & lowerIntermix UPPER & lower

      BACKUP~îUw¾  îUw¾  ï!€&"†!{ـxي°Gأx!·(
سB"†=‏ے ِ>سx·(>‎$"ة>
سيC€ي°*€>سéBLOCK, ADJUST MEDIA           MISSING MEDIA                 MISSING DRIVE                 WRITE PROTECTED                  DRIVE ERROR               Ignore, Abort or Retry     
          (I, A or R)              Invalid drive selection    !ن ـatting Disk               Verifying  Block                Formatting Tape        

 FORMAT

     I -
    II -
   III -FormatHخْ

 INITIALIZE MEDIA

     I - Volume:
    II - Directory Size: 1K
   III -
    IV -InitializeيEيCfأçü       Initializing Media      FIRST DIR  ƒUھے@BOOT       گDIRECTORY  طBLOCKS LEFTùHard Drive Volume 0Tape Drive 1       Disk Drive 1       Disk Drives 1 and 2Single‚Nےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے                                   DISK DOCTOR                            COPYRIGHT AJM SOFTWARE  This program is copyrighted and it is illegal to give or sell copies without  the approval of the author.  You should, however, make a backup of tour copy of DISK      DOCTOR, and pull the reset switch.  A title screen will appear and will       remain while the program is being loaded.  After a few seconds, a menu screen will appear:            I     Edit Directory          II    Read Block         III    Analyze Medium          IV    Change Default Setup         source:          V     Disk Drive 1 / C / D5          VI    Single density  Remove the system disk at this point, it is no longer required.  The last 2   entries denote th it is recommendable to work from a     backup copy, even when working with damaged disks.  The program has the       following features:          Analysis of disk or tape contents        Echo REM statements from programs        Blank out damaged directories        Initializing up to 6K of directory        Compatibility with single/double/quad density        Modification of directory entries        Simultaneous viewing of disk contents        Automatic marking of end-of-file        Forward refee          appropriate Smart Key.  From any level of menu, pressing <ESCAPE> will back up one level.  Pressing   <ESCAPE> from the opening menu above will exit the program.                  THE PROGRAM WILL WRITE TO DISK IN ONLY 2 CASES:                    When you ask to INIT a bad EOS directory            When you ask to save changes after an editing session  The program will only write to the directory block(s) of the medium.  Since   it is possible to INIT up to 6K of directory, usetandard         protection features (except write protect tabs).  It is essential to          carefully read all instructions, especially those on directory structure      before using Disk Doctor.  Address any questions about the program to:                         Guy Cousineau                        1059 Hindley Avenue                        OTTAWA Canada                        K2B 5L9                                      MENU  To start the utility, simply turn your ADAM on, insert yhe        program using any media copy utility, and store it in a safe place.  This utility is similar in many respects to FILEMANAGER which is a            comprehensive disk and file management system.  If you are familiar with      FILEMANAGER, it should be relatively easy to use this utility.  Disk Doctor   has only one purpose in mind:  help rebuild damaged EOS directories.  It has  been carefully designed to be error free, smooth flowing, and user friendly.  Since it does write to disks or tapes,e default setting for editing operations.  The drive is      shown as 'C' as is sometimes referred to in programs, and also by the 'D5'    designation used by SMARTBASIC.  To change this selection, simply press Smart Key V.  To change from single/double/quad density, press Smart Key VI.  Disk  Doctor will run from either disk drive or either tape drive; the source drive selection will skip over any drives that are missing or inactive.  Note that many option settings can be toggled simply by pressing threncing directory entries  The Program will NOT reformat disks or tapes, or repair damaged               tracks/sectors.  It will only be helpful if the Directory or CATALOG of the   medium has been trashed and the rest of the medium still contains valid       programs/files.  Because of the way that Disk Doctor calculates allocation    blocks, it should not be used for routine catalog editing functions.  Use     FILEMANAGER for that.  WARNING:  This utility will write to disks or tapes ignoring srs should be careful not to  overwrite data blocks.                                 EDIT DIRECTORY  This function is selected with Smart Key I from the opening menu.  It should  be used after obtaining a printout of the medium analysis.  You should NOT    start with READ BLOCK since it defeats the following check.  Each time EDIT CATALOG is entered, the entire directory (up to 6K) is read    into memory and remains until the next restart.  All directory information is available throughout the  Note that this    entry is calculated when EDIT DIRECTORY is selected from the    menu and it is not affected by editing.   -<ESCAPE> aborts to main menu.   -<RETURN> returns to menu after checking for save option.   -<WILD> sends you to READ BLOCK.  Note that this function will assign    the start block of the file currently being edited to the read block    routine.  This makes it easy to examine the current file from the start    in order to determine the end-of-file.  Consult the directory strze.  As a    further protection, it will not be possible to change the medium to INIT.  If you have made an error, press <ESCAPE> and change the drive from the main     menu.  It is advisable to INIT only 1K of directory and modify the size later; the   INIT option actually writes to all directory blocks.  INIT will write a       standard Header with VOLUME BOOT DIRECTORY and BLOCKS LEFT.  The rest of the  directory will be filled with 1's (not 0's), to set the BLOCKS LEFT attribute in all positions.   Set Attributes:  cursor up and down and press 'y/n' to toggle    the bits.  Pressing <CR> will exit this function.  See the    DIRECTORY STRUCTURE section for more details on attributes.     The start Block is shown but cannot be modified.  It will be    calculated automatically by DISK DOCTOR for all entries.  It is    therefore essential to properly set the 2 length bytes. III Set Reserved Length:  tells the directory the maximum size of    the file.  Setting the reserved length will also setr.                             EDIT DIRECTORY FUNCTIONS  EDIT DIRECTORY displays one directory entry at a time and use the following   function keys:    -<UP> <DOWN> to move forward or back one entry.  You cannot move back    before entry 0 or the past the last possible entry in the directory.   -<HOME UP> moves to entry 0.   -<HOME DOWN> moves to the BLOCKS LEFT entry (if found)   -<HOME> lets you select the entry number to go to.  It won't    let you advance past the BLOCKS LEFT entry. session.  The first time you edit a damaged          directory, you will probably get the following message:                               Bad EOS Directory                             INIT medium  (Y/N)? Be absolutely sure that you have the correct disk in the correct drive before you answer yes to this option -- you don't want to INIT the Disk Doctor       system disk!  You will be provided with an INIT menu selection screen from    which you can select the volume name, disk size, and directory siucture    information in the last section of this manual.  You should NOT enter    read block from the VOLUME entry or any other that will assign an    illegal block number to the read block function. EDIT FUNCTIONS  I  Change name:  may be up to 11 characters for entry 0 (VOLUME)    or 10 characters for a file name.  After 10 characters are    entered or a <CR>, the cursor will move over and wait for a    file type (A a H h); just press a key for the file type, don't    follow with <CR>. II The EDIT DIRECTORY function is self correcting to save on calculations:   Next file start is calculated as previous_file_start + previous_file_length.  This is essential for full compatibility.   Setting file length also sets used length.  Used length must be set after if it is to be different.  Note that it is essential to correctly set both the reserved_length and the used_length.  The user is not allowed to change the Start Block of a file; it is always     calculated by Disk Docto the used    length.  Used length must be set after if it is to be smaller.    DISK DOCTOR will not check if it is bigger.  Be careful! IV  Set used length.  This is the actual size of the file in 'K'.  V  Set used length in last block.  This is used to determine the    end-of-file. VI  Set Date in YY/MM/DD format with ranges from 0-99, 0-12, 0-31.    Zero values are allowed for special purposes and there is no    check for valid day-month selection.                                  II esume the editing  at the last file.  Note that the SAVE CHANGES option is only available from   the Edit Catalog routine and it is essential to re-enter this way.  To cancel the current changes or log in a new disk, return to the main menu and press   Smart Key I.  It is advisable to save changes after every few entries to      prevent accidental loss.                                III ANALYZE MEDIUM  This feature of the program will be invaluable in decoding the files on your  disks or tapes. beginning of next line     <HOME> top of sector     <HOME UP> previous sector.  If at sector 0, sector 7 of the previous    block is displayed.     <HOME DOWN> next sector.  If at sector 7, sector 0 of the next block    is displayed.     <CONTROL-UP> previous block.  Will not go beyond 0.     <CONTROL DOWN> next block.  Will not advance beyond disk size.     <WILD-CARD> returns to Edit Catalog with the current cursor position    in memory.  If you say yes, the current file size and usecommendable to take a paper copy of the analysis and use it with functions I and II.  You will    get a 3 page printout for single-sided disks.  Use the Smart Keys to select   the type of printer and the type of page end (<FF> or wait).  Note that       form-feed on the ADAM printer will send multiple line feeds.  Consult the     printer setup options at the end of this manual The printout will list each block starting at 2.  Consult the next page for   explanations of the analysis.  The following partiaharacters and values above 7FH will be    represented with a '.'.  This will make it easier to look for ASCII data in   Binary files.  Unlike FILEMANAGER, Disk Doctor will not show any inverse      video characters. Read block should also be used if you accidently get bounced to the main menu by pressing <ESC> from either read block or edit catalog.  Choosing function  I will re-read the directory and destroy all editing done since the last      save. Instead, chose function II, then press WILD-CARD to rREAD BLOCK  Read Block can be entered from the menu with Smart Key II or by the WILD-CARD key in Edit Catalog.  While in read block, the current file marker is         preserved and will be restored when WILD-CARD is pressed again. Read block    does not allow any disk writing.  It is only used to verify file types and to determine the end_of_file.  It uses the following function keys:     UDLR move around the sector being displayed.     <TAB> toggles between the ASCII and HEX section     <CR>  It will distinguish between Word Processing files, Binary    data files, shape tables, fast loaded programs, and ASCII files.  In          addition, it will search all ASCII files and fast loaded programs for REM     statements. If you have taken the precaution of writing REM statements at the start and end of your programs, most of the hard work will take care of       itself. Pressing Smart Key III from the opening menu selects this function. You will be prompted for printer/screen options.  It is red_in_last_block    will be transferred to the directory entry. Note that a BLOCK consist of 8 128-byte sectors numbered from 0 to 7.  To     'read' through a file, press <HOME DOWN> until you get to the end-of-file. To jump ahead or back several blocks, press <ESCAPE> and Smart Key II from the   edit block menu.  Enter a decimal number and press <CR> twice to read in the  selected block. Many ASCII characters cannot be shown on the console and may clutter up the   display.  For this reason, control cl list will show its use:  002  WP file 003  ASCII 004  ASCII 005  Fast Load Program REM POKER/REM deal hand/REM evaluate/ 006  Binary file REM players move/ 007  Binary file REM POKER/ 008  Binary file at 30000 009  Fast Load Program 010  Binary file 011  ASCII 012  ASCII REM move up/REM move down/ 013  ASCII REM 014  ASCII REM calculate/REM jump/ 015  ASCII 016  Shape Table at 29000 with 36 shapes 017  Binary file 018  Binary file 019  Fast Load Program A considerable amount of infoF-FILE.  You will have to    do that manually. B1        Fast Load Program    This is an 'H' type program created by TURBOLOAD, FAST LOAD, CRUNCH,    and other similar utilities.  It is easily recognized by looking for    the variable commands (SPC TAB ERRNUM) in the first block of the binary    file. B2        Shape Table at aaaaa with nn shapes    If further analysis suggest data consistent with shape table definitions,    the above line will be shown with the load address and the presumed   is   some sort of 'H' data file at block 8 and it is definitely 1K long loading at 30000.  We are sure because there is a fast load program in the next block    (note that FAST LOAD is the most reliable interpretation).  The Fast Load     Program in block 9 appears to be 1 or 2 K long; we forgot to put REM          statements in that one.  From 11 to 15 is hard to tell, there may be several  files or programs but we are sure that there is at least one program because  of the REM statements.  The rest is eastries.  Despite its limitations, the    interpretation is correct most of the time. B3        Binary file at aaaaa     If the analysis does not reveal a fast load program or a shape    table, then the load address only is shown.  Note again that this    interpretation is not totally reliable. The load address is shown    only in the first block of binary files.  A binary data file    containing many ones and zeroes might confuse the analysis. C        ASCII    Whenever the first 40 bytes of aesponding block of the disk:  the first ASCII    byte of the file will be in sector 2 byte 3 (one page header plus    3 bytes of pre-header). B        Binary File    If the first three bytes of a block are 01 00 01 then the file is    presumed to be another 'type H' and the following checks are performed.    Note that Binary is also the default file type.  Binary file by itself    only means that no other data type was recognized.  Note also that the    analysis has no way of determining the END-Ormation is available even from this printout.    We know, for example that the first file is probably a word processing file   with a maximum length of 3K.  It is possible that it is only 1 or 2 K and is  followed by a short BASIC program or an ASCII data file.  We know for sure    that there is and 'H' type BASIC program starting at block 5, and it is a     POKER program.  We also see the last REM statement (actually the start of the program) in block 7 marking the end of the program in that block.  There     number    of shapes.  Note that there are a variety of binary data files which      would    be interpreted as shape tables:  1,0,1,1,2,3,4,5,6,7,8,9,10... for        example    would be incorrectly interpreted as a shape table at 513 with 3 shapes.    It would be evident from the load address that this information is    erroneous.  If you are dealing with a disk of your own programs, you    will probably remember things like shape table sizes and load addresses    and quickly spot the correct eny since this section is all ASCII --   we'll use READ BLOCK to decode the text.  From block 16 to probably 18, we    have a shape table.  Note that there is no load address shown at 17 or 18, so those blocks did not contain binary file headers -- the file must be 3K long.                          MEDIUM ANALYSIS INFORMATION A        WP File    If the first three bytes of a block are 00 01 00 then the file is    presumed to be in SMARTWRITER format.  This can be verified by    looking at that corr block are composed of ASCII characters    including <CR> <FF> ^D, this analysis is reported.  It will happen    under 4 conditions:         -'A' file type with ASCII data or ASCII BASIC program        -Subsequent blocks of a Smartwriter file        -Long ASCII data imbeded in binary data file        -Long REM, DATA, or PRINT statements in Fast Load programs     Note the first 2 occurrences are most common and can usually be trusted.     The ASCII file check can fail in 3 instances:           ^     ^   ^   ^    ^      file type   - -/ | |    |     |   |   |    |      end-of-name - - -/ |    |     |   |   |    |      attributes  - - - -/    |     |   |   |    |      start block - - - - - - /     |   |   |    |      reserved size - - - - - - - - /   |   |    |      used size - - - - - - - - - - - - /   |    |      used in last block  - - - - - - - - - /    |      date  - - - - - - - - - - - - - - - - - - -/ The file name is limited to 10 characters.  The program will let you enter   rder, character, and    cursor colours.      The default setup also allows you to change the source drive and    specification.  Note that these changes will be in effect whenever    you re-boot Disk Doctor; it is therefore a good idea to set the    drive type to the configuration of your system.      To make changes that will affect only the current session, press    ESCAPE after your selections.  For permanent changes, press <CR>:    You will be prompted for a destination drive.  Check whaThe file type is located just before the   end-of- name.  All data from the end-of-name to position 11 is ignored and    does not need to be blanked out.                        DIRECTORY STRUCTURE (continued) The attributes byte is a series of bits that identify access to the file: BIT            Meaning  7--LOCKED:     This bit is affected by BASIC's LOCK and UNLOCK                functions which prevent a file from being deleted.                Using EDIT CATALOG, a file can be deleted whees the amount of directory information          required. Each directory entry is 26 bytes long, which allows a total of 39 entries per 'K' of directory.  Both the EOS and DISK DOCTOR automatically handle the few  extra bytes at the end of each block for Directories of more than 1K.  Each   file entry has the following format:  0                   1                   2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 |    file name     | | | |       |   |   |   |     |                     ^ ^ ^  -Fewer than 40 bytes used in last block of file        -Imbeded control characters in PRINT or REM statements        -Special characters in WP files like super/sub script                                   CHANGE DEFAULT SETUP          Pressing Smart Key IV from the main menu allows you to change    display colours and the default drive for operations.  From the    setup menu, press the appropriate Smart Keys and see the colours    change as you go along.  You can set the bo ILLEGAL characters as file names, check your user manual for legal            characters. The file name is followed with the type; its maximum position (10) is shown   above.  Disk Doctor will correctly place the type.  Enter a name and press    <CR>, the cursor moves over and waits for a file type byte (a A h H), or any  other character.  Again, you are allowed to use special file types. The file type is followed by a CHR$(3) which is the signal to the EOS that    the end-of-name has been reached.  t drive    your Disk Doctor system disk is in and press the appropriate SMart    Key.                                      DIRECTORY STRUCTURE  Before using Disk Doctor, it is a good idea to be familiar with the EOS       directory structure.  Whether using tapes or disks, the EOS treats the media  as a sequential device.  This means that all 'files' are written to           contiguous blocks.  While this approach does not take full advantage of       available disk space, it reducther                locked or not by setting the deleted bit. 6--WRITE PROTECT:  This bit prevents appending or deleting a file                This bit cannot be set from BASIC. 5--READ PROTECT:  This bit prevents the OPENing, READing CLOSEing,                and LOADing, of files from BASIC or SmartWriter.                It can be useful for protecting programs or data                that will be loaded in via READ BLOCK. 4--USER FILE:  This bit must be set if the file is to be shown by the       tually     read in.  All information past the USED IN LAST BLOCK pointer will be         ignored. The last 3 bytes of a directory entry are reserved for a creation date. There is a date in the EOS which appears to be the birth date of one of the         programmers in 3 BCD numbers YY-MM-DD.  There is no function in BASIC,        SmartWriter, SmartFiler, or any other COLECO software that I know of that     makes use of this date.  You may reset the system date by poking directly in  the EOS and all files                used elsewhere by an active file, or you may confuse the EOS. 1--EXECUTE PROTECT:  This bit prevents UNLOCKing a file but will not                prevent LOCKing.  Any file LOCKed while this bit is                set will not be UNLOCKable using conventional means. 0--BLOCKS LEFT BIT:  If this bit is set, all other information is                ignored along with all directory entries following it.                See BLOCKS LEFT ENTRY for more information. The START BLOCK bytes iden  passed by the INIT function in BASIC.  Since the volume name does not need a  file type, this entry may be up to 11 characters.  The attribute byte         consists of 80H + the number of K reserved for DIRECTORY (see DIRECTORY).     This value may be set by placing a 'Y' in the PERMANENT PROTECT bit and       setting the appropriate number of low-end bits (usually 1).  The Next 4 bytes are 55H AAH 00H FFH; these are simply a series of check bytes for a valid     directory and Edit Catalog will report thiry for proper management. The USED SIZE bytes show the actual length of the file.  When a small file is placed in a big HOLE, these bytes tell the EOS how many K of file to load in  when getting the file. The USED IN LAST BLOCK bytes are needed since the EOS does not use an END-OF- FILE marker in ASCII files.  When a file is saved, its exact length is        computed and the 'remainder' placed in these 2 bytes.  The EOS will know when re-loading the file, exactly how many bytes of the last block to ac         CATALOG command.  It can however be overridden by setting                bit 3.  Regardless, setting the user bit allows normal                opening, closing, renaming, etc. 3--SYSTEM FILE:  Setting this bit disables the listing of the                file by normal DIRECTORY or CATALOG functions.                It has no other effect on file operations. 2--DELETED FILE:  A file may be un-deleted by resetting this bit.                Make sure, however, that the same file name has not been created today will have today's date.  Furthermore,     jumping to Smartwriter with a JP_WP instruction will also preserve the system date.                           SPECIAL DIRECTORY ENTRIES  There are four special entries which look like just like file entries but are used by the EOS to work with the directory and MEDIUM.         VOLUME The Volume entry is set by default to FIRST DIR.  This is the name that will  be reported by BASIC when a CATALOG command is issued.  It is also the name tify the start of the file on the media. It uses 4  bytes which are placed in registers BCDE to address, in theory, a drive of    over 4000 MEG. The RESERVED SIZE bytes show the size of the file originally placed in the    HOLE.  A smaller file may reside in the same hole later, but it will always   occupy the same amount of disk space.  A reserved size may be up to 65535K    since 2 bytes are used for this data.  Note that START BLOCK + RESERVED SIZE  must equal the START BLOCK of the next directory ents as a start block of 43605.  Bytes 17 and 18 reflect the size of the medium, 255 for tapes, 160 for disks.  The  other bytes are non-significant and usually zero except for the date which    may or may not be filled in.          BOOT This entry tells the directory how many K have been reserved for a BOOT       block. It points by default to Block 0 with a length of 1K and 1024 bytes     used.  The exact use of this entry is unclear since all EOS media have this   entry filled out in the same way.  rmation is    damaged, then a few minor adjustments may be required.  Check    VOLUME BOOT DIRECTORY and BLOCKS LEFT.  Damage to some of these    entries may invalidate the directory. 2c  If the first block is not recognized as a directory, you will    be asked whether or not to INIT the medium.  Always answer 'N' to    this question the first time through.  You will be placed in EDIT    CATALOG mode with whatever information was read in. Proceed as in    2b. 2d  If there is no valid directory .  To change  a directory from 1 to 2 K, both these entries must be modified.          BLOCKS LEFT The Blocks left entry indicates the end of the disk or tape.  Although it is  handled slightly differently by BASIC and BASIC II, it only requires 3        parameters:     Setting the SYSTEM FILE and BLOCKS LEFT bit in the attributes    regardless of the file name.  BASIC II does not even bother    writing BLOCKS LEFT in the name.     Setting the start block as for any other entry as the sum ofNALYZE    MEDIUM. 3   In any case where Directory information is missing, ANALYZE    MEDIUM (function III) may help you rebuild.  The first step is to    select printer options;  it is well worth the wait as the    information supplied will be invaluable later on.                          USING DISK DOCTOR (continued)   4   Once the VOLUME BOOT DIRECTORY entries have been properly set,    you can proceed to rebuild.  Start at the directory entry and set    the reserved_length to the cd select EDIT CATALOG (Function I). 2a  If the Directory reads in OK, then you probably just had a bad    block read or other erratic problem.  Press Smart Key II (change    attributes) and simply press <CR> to change nothing.  This makes    Disk Doctor think that you have made a change.  Now Press <CR>    again to exit and answer 'Y' to the save question.  Sometimes this    is all that is needed.  Try to read the disk again from BASIC or    WP. 2b  If the Directory Reads OK and some of the infoSMARTBASIC and other systems reserve       another entry in the directory for a BASICPGM file which is read and loaded   from the BOOT block.  The entry should not, however, be modified.          DIRECTORY This entry tells the EOS the size of the directory by the 'size used'         information.  All other data in this entry appears to be insignificant but    should not be changed, just in case.  Note that the VOLUME entry also has a   directory size, but it only indicates the maximum directory sizeinformation, press <ESC> and    select READ BLOCK.  Scan through the first few blocks to    check for valid 2 or more blocks of directory, for an EOS disk,    and any other valuable information about the medium before you    erase what is there. 2e  Re-select EDIT CATALOG.  This time answer 'Y' to the INIT    question.  Unless you are absolutely sure, you should always INIT    a 1K Directory.  You may indeed have a 2K Directory of which only    the first K is damaged.  After the INIT, proceed to A    previous-file-start and previous-file-size.     Setting the reserved-size by subtracting the start block from    DISK SIZE.  If Blocks Left starts at 100, the size should be    set to 60 for a single sided disk (not 59).                                  HOW TO USE DISK DOCTOR   1   Start with a medium that has a bad directory:  one that    results in an I/O error when you try to get a CATALOG from BASIC    or one that Smart Writer refuses to read. 2   Boot Disk Doctor anorrect directory size.  Then press the    down arrow key to check the first file entry. 4a  Press WILD-CARD and switch to READ BLOCK at the start of the    file.  Go through the file (press HOME-DOWN) and set the cursor    where you think the end of the file is.  Then Press WILD-CARD    again; answer 'Y' to the save question.  This automatically    calculates the file length and the size used in the last block. 4b  Fill in the presumed file name, file type, and attribute. In    most cases just s    There may have been some extraneous bytes at the end of the file    which trashed your BASIC.                                HINTS AND SUGGESTIONS   There are some special situations which may run you into some difficulty. I   will try to outline some of the scenarios, but it would be difficult to       imagine all the possibilities.  After you have lost a disk due to some error  or hardware failure, any amount of information which can be recovered is a    bonus.  Don't expect to get  several blocks of the medium may    contain invalid or incomplete files, especially if you have    KRUNCHED the directory and re-arranged the files on the medium to    recover space. 5   Review all your work, especially if you have changed any    reserved_length bytes or if you have used the go-to-entry (HOME)    function.  The automatic recalculation of the directory is done as    you scroll through the list.  Check the start block of each file    to make sure it is still properly set by consultng of file size.  As a general rule,    setting the file size bigger than it should be is not a major    problem as it will overwrite parts of the bottom of the stack when    loaded in.  Setting the file size too low or much too high is    disastrous.  Adjust your file size up or down by about 1 sector    (128 bytes) until you can at least get the program to load.  Then,    save an ASCII version of the program before testing it.     I have reached entry 39 (the last one) in my directory and still n't want    to mess with your original medium until you have recovered as many    files as possible. 7   Boot BASIC and start working with the FAST LOAD PROGRAMS if    any.  It is usually better to abort the programs as soon as they    start running with a ^C.  List the programs to see if they appear    to be all there, and run them to see if they work correctly.  If    the program LISTs ok but does not work, save it in ASCII format    (on another medium), re-boot BASIC and try the ASCII version.etting the USER FILE bit to YES and the others to    NO will be sufficient. 4c  Repeat the above procedure for all files, assigning a unique    name to each file including dummy names for those files that you    can't figure out.  If you get to a block that is full of E5's, you    have certainly reached the end of the used space on the medium. E5    is the value written to every block of disks by the Format    Program.  Tapes on the other hand are filled with zeroes.    Remember also that the lasteverything back.     My Disk information seems to be there but I am unable to write to    the directory block.  This might be caused by a spike which has    destroyed that block of the disk.  Use a selective media copy    utility like FILEMANAGER to copy from block 2 to the end of the    media to another disk, INIT the other disk, and proceed to analyze    and rebuild a directory for the new media.     FAST LOAD PROGRAMS crash into FATAL SYSTEM ERROR.  This is usually    caused by improper settiing the MEDIUM    ANALYSIS information or by pressing WILD_CARD to see the block.    Don't forget to press <CR> from the Edit Catalog screen to save    the changes. 6   Go to Smart Writer and load in all the 'A' files and the 'H' word    processing files (you can't load the other 'H' files in WP).  Check    the end of the files to see if they have been correctly placed. If    there is extraneous information at the end, simply remove it and    re-save the file, preferably to another medium.  You do   have more files to recover.  This may happen if you have used a    CRUNCH program to repack directory entries and recover unused disk    space.  The files that you are now trying to read may either be    incomplete or older versions of programs which have been updated.    The other possibility is the small holes left by frequent    directory usage.  You may also have created dummy entries which as far    as you are concerned are garbage but were needed to keep the    directory intact (see reservedme you save the drafts of the      program, each file will be unique.       Put a REM statement at line 65535 of your program, again      with the program name.  When you run across this line in      READ BLOCK mode, you will know exactly where your program      ends.  Be sure to use the first occurrence of the REM      statement. Note that FAST LOAD programs are stored top down      and that your REM statement at the beginning of the program      will mark the end of the file.       Waste a fel.  If a line number is followed    by a smaller line number, the new line will replace the old one.    In some cases this may not be a problem, but it is often    disastrous if the next line happens to be a leftover from another    program that used to be stored in that block.     My Program loads ok and lists ok but does not work after loading a    binary data file.  This is almost always due to resetting a data    file's length greater than it was before.  Check your LOMEM or    HIMEM settings       obvious when scanning through the file where the end is.      Do not look at any ASCII data in sector 0 and 1 of the      first block of a WP file. All that area is reserved for      headers, margins, tabs, etc.  The file starts at byte 3 of      sector 2. This may seem to be a lot of work, but why not protect yourself.  If you go   through the trouble of writing a program, it must be because you want to keep it.  It is also a good idea to keep a WORK DISK on which you have only        prototys the most recent one.  Note that repeated    SAVEs of a BASIC program will create 3 files, an 'A' file, an 'a'    file, and a deleted 'a' file.  You may get even more each time the    file size increased by 1K.  Some of the following suggestions may    help you avoid problems in the future:       Put a REM statement at line 0 of your programs (both ASCII      and FAST LOAD).  This one will include program name,      version number, and creation date.  If you change the      version number each ti-size used-size). Make that garbage    part of the previous entry by setting the reserved length to the    sum of the 2 entries and setting the used length to the length of    the first file.     My ASCII BASIC program is missing some lines.  If you are missing    lines at the end, you have likely set your length too short.  If    the missing lines seem erratic, the file length may be too long.    Re-load the file from SmartWriter and read it through again.  The    line numbers should be sequentiaw bytes in DATA files to write the name of the      program that they belong to or the function of the file.      even if it is a Machine Language Code file, add a few ASCII      data bytes after the RET instruction at the end.  Programs      that routinely write to data files should start by writing      the name of the file and also write a visible end-of-file      marker.       Word Processing files present less of a problem, especially      if they are letters, reports, etc.  It should be veryalong with the load address and length of the file.    Overwriting the LOMEM setting almost always results in destroying    variable commands.  Try a PRINT FRE(0) or PRINT TAB(10);"?".  If    these don't work, you have written to a RAM area below the LOMEM    setting.                            HINTS AND SUGGESTIONS (continued)       I can't figure out which data file belongs with which program.    Sorry, I can't help you there.  Neither can I tell you which    version of a program ipes of programs.  Once they are debugged, they can be moved to another medium.  Using this approach will cut down on your losses if one of your      prototypes decides to start writing to disk at random.                                 PRINTER SETUP      Disk Doctor, like FILEMANAGER, is configured to be compatible with    other printers hooked up through the EVE, CENTRONICS, or other    similar interface.  There are default sequences for horizontal    pitch and letter quality; if they don't wohe author.  You should,         however, make a backup of the program using any media copy         utility, and store it in a safe place.          File indexer provides a handy vehicle for reading, sorting,         and printing directories for standard EOS disks.  It is also         capable of producing a disk file.  Unless your EOS library is         very large, all your disk directories will fit in memory and         can be sorted in just a few seconds (not minutes).  Print out         a list ofength of the sequence (maximum of 7) and it is followed by    the control/escape sequence.  Patch in the changes as required and    save them to your system disk.      Note that all sequences are padded with nulls for additional    safety.  The routine that sends the sequences exits when it    encounters a null or when the length of sequence is reached.  For    full compatibility, all sequences should be preceded with a    correct length byte.  ISK DOCTOR, and pull the reset switch.  A title         screen will appear and will remain briefly while the program         is being loaded.  After a few seconds, a menu screen will         appear:            I        Read Disk          II       Sort DATA         III       Print DATA          IV       Clear Ram          V        Change Default Setup         source:          VI       Disk Drive 1 / C / D5         sVI       Include Back Up Files           Remove the system disk at this po‚Nےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے ?5i                                            FILE INDEXER                            COPYRIGHT AJM SOFTWARE           This program is copyrighted and it is illegal to give or sell         copies without the approval of trk with your printer,    use a block editor to patch in the changes on your system disk.      Look at block 11 you should see the following data           PICA->     10 pitch sequence         ELITE->    12 pitch sequence         CONDON->   16.5 or condensed setting         NLQOFF->   Draft mode         NLQON->    Near Letter Quality mode      Each of these pointers denotes the start of the control sequences    sent to the printer for the functions indicated.  The first byte    is the l programs for reference, give it to your friends for         swapping, or create a disk file on which you can add         descriptions with SMARTWRITER.            Address any questions about the program to:                         Guy Cousineau                        1059 Hindley Avenue                        OTTAWA Canada                        K2B 5L9                                      MENU           To start the utility, simply turn your ADAM on, insert your         copy of Dtify the start of the file on the media. It uses 4  bytes which are placed in registers BCDE to address, in theory, a drive of    over 4000 MEG. The RESERVED SIZE bytes show the size of the file originally placed in the    HOLE.  A smaller file may reside in the same hole later, but it will always   occupy the same amount of disk space.  A reserved size may be up to 65535K    since 2 bytes are used for this data.  Note that START BLOCK + RESERVED SIZE  must equal the START BLOCK of the next directory entint, it is no longer         required.  The source entry denotes the default drive for         reading driectories.  The drive is shown as 'C' as is         sometimes refered to in programs, and also by the 'D5'         designation used by SMARTBASIC.  To change this selection,         simply press Smart Key VI.  Indexer will run from either disk         drive or either tape drive; the source drive selection will         skip over any drives that are missing or inactive.          The Clear RAM fun    remind you that that disk has already been read.  You will         also see statistical information at the top (disks read,         files, and free space).  Insert another disk and press any         key to read another; MAKE SURE YOU CHANGE DISK or the same         directory will be read over and over again.  The indexer has         no features to remove duplicate entries.          When you are finished reading directories, or if you want to         read from another drive, press <ESC>.  This d                          NAMING YOUR DISKS          For any indexing program to work, we need reference names or         numbers.  If you have FILEMEANGER or other similar directory         editing utility, you should find it easy to select and give         names to your disks and tapes.  If you don't, you may have to         INIT fresh disks with new names and then transfer files to         the new disks.          Disks should be grouped in general categories (Utilities,         Games, Financee and         continue reading.          If you run out of free memory, which is very unlikely, this         phase is aborted and you are returned to the main menu.                                        SORTING AND PRINTING AND SAVING          If you want a hardcopy directory by disk name, press SMART         KEY III.  Note that you will get a 1 column listing with the         disk name echoed on the right.          For an alphabetical list, press SMART KEYR would be relatively useless.                               READING DIRECTORIES          Before reading in any disks (or tapes), decide if you         want to include back-up files; these are the lower case         'a' and 'h' file types.  Press SHIFT VI to toggle this         option.          After selecting which drive to use for indexing, insert a         disk/tape in the drive and press SMART KEY I.  This places         you in READ MODE.  The name of the volume will be reported to     ction is used to re-start the program.  If         you have made an error (read in the wrong type of disk or the         same one twice) return to the main menu, press SMART KEY IV,         and start over.          Note that many option settings can be toggled simply by         pressing the appropriate Smart Key.           From any level of menu, pressing <ESCAPE> will back up one         level.  Pressing <ESCAPE> from the opening menu above will         exit the program.         oes not abort,         it simply returns to the main menu.  Now you can select         another drive, insert a source medium and press SMART KEY I         to read some more.  Note this time that the display of titles         is not updated.  The previously read disks are still in         memory, however.          If indexer cannot recognize an EOS directory a warning         message will appear at the bottom of the screen:  "NOT EOS".         Press a key to clear the error, insert another disk/tap, Mathematics, Graphics, etc) and perhaps         appended with a number.  Keep in mind the 11 character limit         for volume names.  EG:          GAMES01         MATH01         FINANCE-I       GRAPHICS-1         GAMES02         MATH02         FINANCE-II      GRAPHICS-2          If you INIT your disks with these names, the index listing         will be useful since it will list programs alphabetically         along with the disk name.  Having several programs on disks         called FIRST DI II.  A wait message         will appear..... sort done.  It all takes place very quickly.         You may then proceed with printing the alphabetical list.         Note that upper and lower case letters are treated as         diferent.  If you use a bit of discipline in your programs,         this can work to your advantage.  I use UPPERCASE letters for         my programs, and lowercase for data files, documentation,         etc.  This makes it easy to spot the programs at the start of         theNTRONICS, or         other similar interface.  There are default sequences for         horizontal pitch and letter quality; if they don't work with         your printer, use a block editor to patch in the changes on         your system disk.           Look at block 20 you should see the following data           PICA->     10 pitch sequence         ELITE->    12 pitch sequence         CONDON->   16.5 or condensed setting         NLQOFF->   Draft mode         NLQON->    Near Letter Quality mand search for programs.  If you want, you can use         SMARTWRITER to add additional comments and descriptions of         your programs.  This can become your catalog of programs that         you can exchange with your friends.  I hope you're not         trading copyrighted material like INDEXER.                                                 CHANGE DEFAULT SETUP             Pressing Smart Key V from the main menu allows you to change         disrs a null or when the length of sequence is reached.         For full compatibility, all sequences should be preceded with         a correct length byte.  [?4i                          HOW TO USE DISK DOCTOR   1   Start with a medium that has a bad directory:  one that    results in an I/O error when you try to get a CATALOG from BASIC    or one that Smart Writer refuses to read. 2   Boot Disk Doctor an          To make changes that will affect only the current session,         press ESCAPE after your selections.  For permanent changes,         press <CR>: You will be prompted for a destination drive.         Check what drive your INDEXER system disk is in and press the         appropriate Smart Key.                                       PRINTER SETUP           INDEXER, like FILEMANAGER, is configured to be compatible         with other printers hooked up through the EVE, CE list.          To save a permanent copy, press the STORE/GET KEY.  You will         be prompted for a file name:  be sure that your 'save disk'         is in the default drive(this is the one used to read) before         you enter a file name.  INDEXER will then create an 'A' type         file.  The reason an 'H' type word processing file is not         created is to allow reading of the data file from BASIC.         Have fun building your own retrieval program which can open a         data file ode           Each of these pointers denotes the start of the control         sequences sent to the printer for the functions indicated.         The first byte is the length of the sequence (maximum of 7)         and it is followed by the control/escape sequence.  Patch in         the changes as required and save them to your system disk.           Note that all sequences are padded with nulls for additional         safety.  The routine that sends the sequences exits when it         encounteplay colours and the default drive for operations.  From         the setup menu, press the appropriate Smart Keys and see the         colours change as you go along.  You can set the border,         character, and cursor colours.           The default setup also allows you to change the source drive         specification.  Note that these changes will be in effect         whenever you re-boot INDEXER; it is therefore a good idea to         set the drive type to the configuration of your system. ‚Oےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے                              DIRECTORY SORTER                           COPYRIGHT AJM SOFTWARE                  This program is copyrighted and it is illegal to give or sell                 copies without the approval of the author.  You shouldyou have the         correct medium in place prior to copying.  Select the proper drive with smart  key III and press smart key I.  Once the directory is displayed, you can       press smart key I again to view directory entries one by one.  In this mode,   use the up and down arrow keys to view entries, and press <RETURN> to end the  viewing.                                  BACKUP FUNCTIONS The backup screen is entered by pressing smart key II.  You are then           presented with 3 optionimprove                 visual access.  It has been carefully designed to be error                 free, smooth flowing, and user friendly.  Since it does write                 to disks or tapes, you should be very careful in selecting                 source and target media, and when performing media swaps.            Address any questions about the program to:                         Guy Cousineau                        1059 Hindley Street                        OTTAWA Canada             eously. To format a disk or tape, simply select the drive or drives to be formatted,   the size of the drive(s) and whether you want the format to be verified or     not.  When your choices are made, press RETURN.  The program will ask you to   check your drive(s) and then off you go.  ESCAPE or CONTROL-C at the Check     Drive(s) prompt will abort the format process. All formatted disks or tapes receive the volume name "FIRST DIR".  Tapes and   single-sided disk drives will be given a 1 block directo the      program, was loaded, it scanned the ADAM NET for the presence of disk and      tape drives.  It also checked for the presence of a hard drive controller.     As you press smart key III, you will see the various mediums it has found.     If any are missing, ensure that the devices are powered up and reboot          DIRECTORY SORTER.  From any level of menu, pressing <ESCAPE> or CONTROL-C will back up one level  or abort entirely.  Function I allows you to view a directory to be sure that ,                 however, make a backup of the program using any media copy                 utility, and store it in a safe place.                  Directory Sorter is similar in many respects to FILEMANAGER                 which is a comprehensive disk and file management system.  If                 you are familiar with FILEMANAGER, it should be relatively                 easy to use this utility.  Directory Sorter has only one                 purpose in mind:  Sorting files alphabetically to s:         I       Sorted Backup        II      Format Medium        III     Initialize Medium The last 2 options are included for your convenience.  There is nothing more   frustrating than starting a backup operation and then finding out that you     have no formatted disks handy.  The FORMAT function will format disks and tapes.  For tapes, all the program   does is write a new directory to the tape, as well as blanking the rest of     the tape.  You can also format in 2 disk drives simultan           K2B 5L9                                      MENU  To start the utility, simply turn your ADAM on, insert your copy of DIRECTORY  SORTER, and pull the reset switch.  A title screen will appear and will        remain while the program is being loaded.  After a few seconds, a menu screen  will appear:            I     Show Directory          II    Sorted Backup         source:          III   Disk Drive 1  Remove the system disk at this point, it is no longer required.  Whenry.  Double-sided      disk drives will be given a 2 block directory while quad disk drives get a 3   block directory.  If you want your media to have a different volume name or    directory size, use the Initialize function after formatting.  When setting    the directory size, however, remember that DIRECTORY SORTER like FILEMANAGER,  can handle a maximum of 255 files.  Thus you should limit your directories to  a 6K maximum.  The INITIALIZE MEDIA function creates an empty directory on the selected d         directory on the medium by deleting all entries after VOLUME, BOOT          and DIRECTORY; thus any existing VOLUME name will be retained.           Since DIRECTORY SORT does not adjust for media size, you should          ensure that the directory is accurate prior to making the backup;          use INIT from the previous menu.  V - Upper/Lower case selection         You have the option of intermixing or separating UPPERCASE and          lowercase file names.  Press V to toggle this optionetting is used to determine the volume size     of the medium being initialized.  Tapes are     assumed to be 256K.  For disks though, this     setting is very important since EOS makes extensive     use of the volume size entry.                                 SORTED BACKUP This function is called BACKUP since indeed it creates a backup of the         original medium.  Since the sorted version will likely be more useful to you,  the original may become the backup and the copy will be put to dupper and      lower case will be treated as equal for sorting purposes.  The files are       copied to the target medium in their alphabetical sequence. I have often found it hard to decipher files from other people's medium.       Although there is no protocol for naming files, I propose the following:         UPPERCASE       (A)     executable programs     (LOAD-RUN)        UPPERCASE       (H)     executable programs     (BRUN)        lowercase       (A)     data files              (OPEN-READ)  III- Select type of backup         Copy ALL files         Exclude deleted files (preferred option)         Exclude deleted and backup files ( the lower case 'a' and 'h' files)  IV - Clear Target Directory         Press to choose yes or no for this function.  When CLEAR is OFF          files are simply appended to the current directory on the target.          When CLEAR is ON, the target directory is deleted prior to copying          any files.  Note that this function simply resets the current isk  or tape.  It has no effect of the non-directory blocks of the disk or tape.    You can use this function to prepare a target medium for your backups.                           INIT SMART KEY FUNCTIONS  I - Edit Volume Name   - You can enter up to an 11 character volume name.   - Any combination of ascii characters is permitted, including spaces.  II- Set Directory Size   - Press smart key II to set from 1K to a maximum of 8K III- Set Drive to Initialize  IV- Set Media Size   - This s.  See the         usage notes on the next page for more information.                                 HOW BACKUP WORKS The sorted backup function builds a table entry for each of the selected       files which consists of the files selected on the menu (exclude deleted or     backup files).  The file names are sorted in ASCII order which means that      numbers come first, followed by UPPERCASE names and lowercase names.  If you   select the INTERMIX option with smart key V in the backup menu, aily use.      The BACKUP screen has several options; be sure to set them carefully prior to  proceeding:  I - Source medium         Set this to the drive for which you want to sort the directory.       II- Target medium         Set this to the drive which will receive the sorted files.          Copying to the same drive is ok; a swap flag will be automatically          set; you will be prompted to insert source and target as required.          Do NOT attempt to copy files on to the same medium!       lowerdata       (H)     binary data files       (BLOAD)        lowercase       (H)     smartwriter files        lowerDOC        (H)     smartwriter documentation files If you use this approach, DIRECTORY SORT (with the separate option) will       place all executable programs in the top portion of your directory.  The tail  end of the directory will contain data and documentation files.  Furthermore,  the adoption of this protocol will help understand file names in a directory.  e.g.        GAMEy and     work on a backup copy to avoid damage to your original system disk. to some of these    entries may invalidate the directory. 2c  If the first block is not recognized as a directory, you will    be asked whether or not to INIT the medium.  Always answer 'N' to    this question the first time through.  You will be placed in EDIT    CATALOG mode with whatever information was read in. Proceed as in    2b. 2d  If there is no valid directory  They are not intermixed with the files on the  target.  If you wish to pick out certain files from one medium, or mix files   from several medium on to a new one, start by selectively copying files using  FILEMANAGER or equivalent to create a medium which has only the files you      want.  Then use the DIRECTORY SORTER to create another sorted medium. The source and destination drive can be the same.  In those cases, you will    be prompted to swap SOURCE and TARGET as required.  Although the utility caههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههs which will be acceptable on various types of screens.  If you   want to change the colours, you can use a disk editor to examine BLOCK 1 of    the system disk.  After the copyright notice, you should see 3 data pointers:     border colour->.normal colour->..inverse colour->.. The border colour is followed by a single byte from 0 to 15.  The normal and   inverse colours are 2 bytes each; the first is the SET (on) colour and the     second is the CLEAR (off) colour.  Please change these bytes carefull            (A)     LOAD and RUN this program        GAME            (H)     BRUN this program        gamedata        (A)     used by GAME to READ data        gameml          (H)     machine language routine used by GAME        gamesp          (H)     SPRITE data used by GAME        gamedata        (H)     binary data use by GAME        gameDOC         (H)     SMARTWRITER DOC file for GAME If you choose the DO NOT CLEAR TARGET option, files are just appended to the   end of the existing directory. ههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههn   access HARD DRIVE partitions, it will not allow you to copy to the same        partition.  If you wish to sort the files on your hard drive, start by MOVING  them to another (empty) partition and SORT them back to the original one.  It  will obviously be helpful if you have reserved an EMPTY hard drive partition   as a work buffer. In order to make full use of available memory and expanded memory, DIRECTORY   SORTER does not let you change the default screen colours.  We have tried to   choose colourےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے