%!PS-Adobe-2.0 %%BeginResource: font lsunr00 %!PS-AdobeFont-1.1: LucidaSansUnicode00 0.9 %%CreationDate: 1994 Jun 04 09:53:35 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((C) 1991, 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((C) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 00) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode00 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 100 /0064 put dup 101 /0065 put dup 102 /0066 put dup 103 /0067 put dup 104 /0068 put dup 105 /0069 put dup 106 /006a put dup 107 /006b put dup 108 /006c put dup 109 /006d put dup 110 /006e put dup 111 /006f put dup 112 /0070 put dup 113 /0071 put dup 114 /0072 put dup 115 /0073 put dup 116 /0074 put dup 117 /0075 put dup 118 /0076 put dup 119 /0077 put dup 120 /0078 put dup 121 /0079 put dup 122 /007a put dup 123 /007b put dup 124 /007c put dup 125 /007d put dup 126 /007e put dup 163 /00a3 put dup 167 /00a7 put dup 169 /00a9 put dup 173 /00ad put dup 174 /00ae put dup 176 /00b0 put dup 177 /00b1 put dup 180 /00b4 put dup 181 /00b5 put dup 182 /00b6 put dup 185 /00b9 put dup 186 /00ba put dup 188 /00bc put dup 189 /00bd put dup 191 /00bf put dup 198 /00c6 put dup 215 /00d7 put dup 223 /00df put dup 231 /00e7 put dup 233 /00e9 put dup 237 /00ed put dup 239 /00ef put dup 241 /00f1 put dup 247 /00f7 put dup 252 /00fc put dup 32 /0020 put dup 33 /0021 put dup 34 /0022 put dup 35 /0023 put dup 36 /0024 put dup 37 /0025 put dup 38 /0026 put dup 40 /0028 put dup 41 /0029 put dup 42 /002a put dup 43 /002b put dup 44 /002c put dup 45 /002d put dup 46 /002e put dup 47 /002f put dup 48 /0030 put dup 49 /0031 put dup 50 /0032 put dup 51 /0033 put dup 52 /0034 put dup 53 /0035 put dup 54 /0036 put dup 55 /0037 put dup 56 /0038 put dup 57 /0039 put dup 58 /003a put dup 59 /003b put dup 60 /003c put dup 61 /003d put dup 62 /003e put dup 63 /003f put dup 65 /0041 put dup 66 /0042 put dup 67 /0043 put dup 68 /0044 put dup 69 /0045 put dup 70 /0046 put dup 71 /0047 put dup 72 /0048 put dup 73 /0049 put dup 74 /004a put dup 75 /004b put dup 76 /004c put dup 77 /004d put dup 78 /004e put dup 79 /004f put dup 80 /0050 put dup 81 /0051 put dup 82 /0052 put dup 83 /0053 put dup 84 /0054 put dup 85 /0055 put dup 86 /0056 put dup 87 /0057 put dup 88 /0058 put dup 89 /0059 put dup 90 /005a put dup 91 /005b put dup 92 /005c put dup 93 /005d put dup 95 /005f put dup 96 /0060 put dup 97 /0061 put dup 98 /0062 put dup 99 /0063 put readonly def /FontBBox{-90 -211 977 1005}readonly def %/UniqueID 5054500 def currentdict end currentfile eexec AF9D569DD6A39B9A08931526FD86DA1F3D52F6A6E9A3C2A341616BA8AD4A6BBA6A84F4F691C60D 64B463C6D1B3A432634AAC416FAE1067039D940A82A692DB189D5719DA649D309E36853E1F767A 0DF1C424DA3E9D8E6B45B659E31B0A03BB7747FB2945268D0805A130347C7455FA73121BA001A8 5BFFF1847B8FBAE1B61BA76AB61D750F7BCDB1EE8E4B4E95657E783B2230A68A5A62E9E39EA352 7B3E832C6BF769697C2B18F29596B8A56AC9532224A452AE7A77A33DC5D437BAD5B4C1B9DD7680 FE4456B59A798F584F7913B3A790F3E5F9559505B80A36CDE0A4D46A595E942D798E6F6311B3E3 613059010E0C594BA804C9FA8EED254427D021628C6A59FA5C10314D3143AA329B9E1E767CADFB B864C70BE2EB0FA96FBDCC2EB1B44783431EE1CDCADC68DF65C29B4AB7C198BAA625A3736F6240 46E72FAE8F379B391393A007E9F796065FC622322C782111E2EE7B73FC09C5852F35A75CA296FB ADBC77E83C2378DAE017DC93437EDA4E1473D256C7AA433FAFF90BFF104C39847FB6076D559B8A 4D05AC2A35837CF7949567F37638F1FF869CA022F28979DC7AA611BCACFFE95AA23CBFB86C9719 BBD5738FB6D86326F1B0A84EFA79C80BDC618F42DFAB8B232211332E1D793A6C4CA71DE2D7DBE1 5806FB210EA36FCE5FA253B9C507225A5581765AA21DB9E1739AA6063F3F7F11D72E65C3F9A83E 71C8DFC9B9E13C0CCA25836D4233D10595ED053201C745C989878BC0457410C29FED3273550E0E C93F30B6E5994D0DE950C82E70299AB82D97B0EC11EE5CFD3A5311B0B9623C7CF73BCCE4D33436 655812E9BC69045B581B2BACE84DEBD480A8652676ABDB2976168954DCD745B42F92F25CC2A4B0 58AF8D1F0BFFC280B7FECF0593655FEDBE41135D72874467035351F424E92C9E4F628501066322 AE5896C2CC8C5AD9EE9C4E2076DF548DEF8A6ADAAEC8F05CBBB8882BE5DEBB3976FDD20539F0ED C5F331CADFFF8B1E1ACC3E0DE2DE0628766105E7EE97E55E66E2585DD7412749CCA828C3CB355F 716E5F447857D298C1383EDD389C2C09F3094A09F90652D5913EEBBFB16547FF31DBB8C0F43480 6C96524DB4F2D96F6A32856DC62FB350D208B4462521EA9578695E7F8A31FDAFC065535AB32B28 4F808767213AD4B89C02E59E3F2BD114BC411E4A9B58F97102E7ACB9310EE2AD2EAEE87E1702E4 3E00854C35156E731478402285AB23B0049A74381C2355F35511C7D966B2EE653CD8A3D7D6505E 80A4BD2C96B451354DD9323C30C9894A60CE614D0B091D3A03A5EDA4BB127F255FF706AD6E6827 9123CEF7396D89B5E5A968B4A4C0F4B0C227D1EE676801922A3CE24F2602569AF11ED43F17E2F4 6669AEBD1F6B9E53C76043E1CD9DACDBB3B6B87F949372C03E9A5C80FABBF2E7767880B7064D05 AE2D717B6A189D0C9F8DBC981EBEFD9A031C7592EFA0C08FD8BCD2FA1210881D95D6ECD9E72096 5ACE2A9462EB9C3504315CFE8C6B5362B833CE52BC726DCB3450CEB73E42E667B9D86D0F985A35 CAFF807F4DFAF156AFDCB999DBA61476BF4CCE49C6D8A8B7D2A3FC07EE8346E30F68FEF7774273 6E55BA23311F85C7FAD9D9AA1EB17E14C45033BEE8D3093AEE9E706133FA94413F30F723568255 498A071D76C10D12536425A7185DB60BDECAF6BFD0BE58F418D0E62FDA7B846BDD490EA7CEAD05 E1BB9A4DF66E13758858B80F6C7216D8D606E92BC93576A1FB3604D9FBD78656FDF64328AD9466 3CFABAB19A0636518FF61E62591661FBFD264B90156E24941177A42A0E5315F6168A93B96E27DF 2E7451F382C2C83241AC2B5F52A2C9453D3E207EBBEB3881FF237E9135E1D9191E1FBE5E606C60 43726A6783CD4414D26F8F95B260FAE60262DE148545079C80C962D5D7BDE2A77A814CDD4ED901 D28D4D5C4324DF7F7AA6B832B6F5E0E129F471A12373F0D97037FD695F921E0CAD8963372E8DC7 F3AA5E004E1F5980BA9825774BB2DD511B6A9D5A0C7E7885E39E3B5497EF466C52B7DD4CF4AD74 6E62FE4B1E082811AA45D6483725D0EE18C9C6BB988C036913682EAC4645EF90AD5FC24BC78778 DDDD48EC8F1E64525AB9B1EFE0CDFABCC6A17BDACC1B3B1929FB2FA1DB85991FFE1B92B7999C99 1BD3AC17B8A44E11DD954BEBFF002A0562EEDBC507DD0FF13ABADBC8E5676F5F951D1B32B725DE FB33219FF4DAE8298887E415434BE4012D1A294F807CF53248AA137591B532B573F41732216B12 685CB4B612B782E010644CB813A31AC4A25038A17FA0872E515BB2C119DEE59829927FBE20902D 18CF2F33E18DC0AC2108789FA1D1F61553184FC185A3BC3BA6985449149A08E4484F33EA950C18 B0148B6DA2EF0E2F1BE218CBEDFD4A4E9A53235840A8E8DD1A757D8F48DE07C687E5F35EF237DB EA582FFC92EAC5A8E4D9C1F048B037FDE46770B073B161333AD5E0DC09187DD0D9FF2CAFEFDCBD 00F3FF4642B63703F6B4CA2A479BE5145E3EA90359F4BE67F1EF0EC07F997A7A63797EAC98E3D0 C64F1EBEC99C7C436EF655ACF76DE5201A5B3F5CF58F0116008DF241D370E616E8FF10BC551606 F041FF641B4C8FA9274BC3FDE69602B2BD58D1428B119607AB28B30393C0BE4E33E5EE1059C9BC 1AC92B4AD1C7D1C71FB44429D8F8042F0A7ADEDE040F13D0C13F9BD92D3BE4E77E446DC8D57FCF C704F6EB8D438EFA72F74835DC24E853B3B1178904F0484AED543B57FC8ABFFF4253AFA2C93C66 C2144FF1777A1E3A40D1D023BCBE24557DAE5D76DAE6FC7063E11A5DD52B0060501E84AE0E66ED 7522828C15045CE72B548B59A3D7DFC3CF6779B4A6D4891B95CD4C6613C9390DD953FA58FE97D8 A545177EC9EDB59770B4B67111A1FEA9E74A61B360D9C19100440F8A69386EC3878C732DA58580 3A177AEFF85BFB5D112C37ADF7604BAB387F08243B2FEC24DAF9F95BB75A678DAA7AB277D933AC 0362E4DD5E6E4194DE873932EC10013B68CD0D1CF5298816E6B195372FAE49A5F9F722C30EDDBB 088E0F1F7D8A5D6386B8E3219125A8ED2A4D534761DEC9DA916FF875E13E309F2F2C925F28ED5E B792A290F05B7732D217A1CF9577C0107889C456924AB91BFB728E4C4A0E70412DA721CA4B1A30 189BE4414AEE3AB1943C0349ED437C91796EB8616D3CCBE148CD21B0DF7ED5720F18496100119C 2995490D7B60C994E93D874AB352A813604AA9A83D9388F758B7F479F9F6EFDBA983FA6DA07E7D 4F80E64E68634D9D811F3A0088BA46040577B89C7E147CF96C4A999CA1899799FA56F401645A97 DFF68155332EE3F23F3865B6DE715F1AB687A696878C9821E029E3D867BDC50322A0C90081E3B4 3BA1E889C277DEDA5ECB0CBE16F8FD562B82F22DA851CA5AC51EF3051382E9706A2F6F14CE6897 4292ECA605ACCBAB5071ED68BB05BDDE20C04E0007A8EF46D69FA79540C53E34C29F3CB68E9329 8472F6D89EF77A28A18B334278836F65E88255F1FD3A3D031A22BBC607E7BDEB1D00AF60D5E024 7E971B8965728CB1CAD6B5853F4F66448031312AFF8E56B01BB8D50F3A1060A18ADB1FA8F84C69 399BE117B98430CF63288BA1950ABE0CEC051B66A7EBCC7A3FC793589A4C52EDBD1A71ABE49916 10496FC6C346C376D3B061B00BE7B4A659D21A2C0FFD3FBEE485EDB7BEE599E5248DC5FCD89632 61BE192134BFF9C9709E76A567A0F7B5773870EEBE07E3630175BFD8C5520B2AAF6DD2D7C3FAEF 2E3F52318A7AD6E05847D76ED22D021BFDAAB041B16F2AE08FF86DE08FD998D61DE2D0EA477E46 6E963EE5EB69F69E30113F0D65683C37CDA865CF92EC5FFA54DBB6798738D38DD7898BC7C26AF6 939EFF47B1A3DEE6B5E38505EE05A0F671EF8917A434D92EBDD8F6820ED3A2F24199D47745D393 9259A5D856E1AA9EBA0292EEFAFF75F709ADCDA0D6453C3550DB28BFA22549BD2A282E8B9F2367 FCF20AACF9E7B725D0ED0498695F3A2DD76389BE8A99B603CFB0FEE3C5642BD02670108226BA9B A90B90B1D660C552307E3D388661A20C5F42C3CFF5D0E0F6DA69792E8FB4C83AB821D0F7D80F23 93BCAACBBE56E8095466F7BF8B0504B72734DEF119DC32DD63F1BCA3A66A5F6DB5BC221F4927C2 B08601F89D71E754481CD1B3B8E5EC8E9A22F5AD8CF45039FB8912A2E4EBC638743D7614BCB41A 49D162291E70BD656EF7F54BCA72BFC633984F1B15B4145F13D08B255B77A357C15B8A5DB04C3A 95827DAD0B0A302577C12F66389E4E40040EB52AD36552A592C47614A9035E7CDC4BDA55645F8F 72F10287EB7682F17034B836B44F111B786B8A6A47023EC1C950A4B0636C28E1753781C9C0B206 5DE58A47D2E7B1AD71D8DBD36E72DE625B5F52B9DB0F9679FC4B61005A112E9AA717504C71CC0F F50CE8E96DFE3AF6613CD4A3B4645ECC5F495E3DFBC1EC17575457EF39A0D4709221F2F1E14FAD ACF7FA5CCF662DD341477170FB291B706D76CE78C3CC90CD36A45BD04704DFB2B251CD9B1B69E6 B9DB3E9739DE8B2CD9DE63E61ABCB8581AD13493468EE995EE668DBE6AF6809F9529595D67DA56 DC7335876F36499EBB7226FDB9876A7D0D43159E77F0AE36B55033A11156C3F757FBBA38177D24 88EFD1BD9D8F69ABDD365989CEFD521F60BC9005D8C40942B43FC6DB8088842BE8A7B567420A80 9AC76E7BA77D5EFC8D9A2FCDD1A565EB580207A250621E27E51685A0C650323B4D2101810F6C89 E5D312BAEDAD3097F87C6064BA138681D3192C219ADA66AD2B0C679C8B00078597B2DE46F5A040 91F8C34813C07AC64B2F5FBF0EF52B16AA1EE9B9ADE71108DC9D47D587585A933CAA161CE586AC E30BA582A5CE8728991B10AE2012C2291B7DCEAF72E0299FF49F5ED495773656908F04F697ADF9 32AA61E6D90A87BB0F0311AF737E9F72C501CF1AB4DDF4392FB9F3E71F859D45F32EDF329F4856 C12ED2DB6FA3631B3731D5FB2DB79E193BB8BE75B85722E6CD85C35C05C2998BC6B854BFF76A39 B1A51ABD3304ED453AA413E6F6329B651FD13C0751886DE4553E0B79441FFECB81839626868715 0DF0FBBD53F7861647CAC9C633B9FF63BCB644D124F2420A7FE6EE7EFED293C9D53983617F2500 6CDF86C74694A20569BBC5DE7616333432C0FD525029E612858F5BF27D1FE06931A5AD37675162 2AE14BA10E2702CB896CC5A5164A287AE3771036AB2EC7F50B20576E73C151580E0D0884277FBE 9D2FBC52DDC0EC22A07138C692108A6C637ACA40D1881027E23BECFF6C54A50DAF7A79B5CB4BDF AE35CD587F46B14B3A89A50487F8A6E20EE48099B44F459E48D65FB393D2874E4BF7544FC325F5 B04FDFC0ABF2D6B8B6870A617D344AE093C4412007061670E6913B5581A0EE53B3D8C2D75E9560 101D4C217EC44BE71F866F0F40D1DC7296ED313ECBFF60CA3A05D45E51E32D9E75ED31F1905DC0 4F4AF2A29600172249D0B8B5B42D99A546A9C45704A35711637ABD7A64BF4D417564ED0BBBC7F2 093F6C7F87A770F6B6A655DCBC13FB4CC24FAEC848549CE2415301BF6BF234405946330E2964AF A37702223D1466A780720F39FE966AC1023866246F7E25BE2A1E0C009708DB2724E13770A8817D 6F27A095BED4C33648173F0DD8C627F405ABD3CA636EF8A9E77CC67D20E51721CA655704BFEC27 564A69E6193E5E3AB1814FBD3BE29D72836BF85C85F4555FDF3908E6BED58E0927BA45AD4434F8 D15C510FA5CD1311F7DBB20CAACE0D88535C58309CC82CA5E6ABA2E0DCC4503149E52572A0F8C6 7ECE6B8145C85E5F211F341AC1450EEF4D1102CA184DABD5CF00049F7BE76FA793893F2873A237 FEFE245F059AC85956B5A603DB8871BCF4DF3665364525E7B539A6A4F2C59473908121FEA5DA8F F5E4A4FBAE0C602130400E1D9D1185703F20895806C2DFE6E47408347CAEF151C730783FB6BA38 9EDEA18F865240ED604D0B6F5850CD18FEB63AD0A3ED46A933DE64C9571C7F15393AA81577A0BA 6A227ACA16DB43307E76C10FC630E6550079E7E5609FACF8DD84376AC186DE2E1CF84847C4E2D8 C58385EFCA099E81B6435D8DFA6775BFD76C527DA6CE32B6326944FB6970D2787190CB0572AB6C 531EA63DD1F6BD5F7732CC7BC7751DB30874EBD006978CBDE960BFBBD8C2D115C26E7CCBA2C802 131AAABC284699B18989BE8D548F30389BB0DED8FC122A1433EA61D074415882143D865E28A9D7 8E59E47EC5EF1E2C5151279BFF1D77ACAB907F7DE9514A71B21C129480FE708B9AEA442EB1DDC5 59574095F57BB3750DA4521BD298A19CBABAC650FEA7D9DDD40DFA7999D0CC79DCACD517E391E9 2EC65FE3A64CB5BDE1A203E53D73C994D53215EDA4EF8BD06658AA94EDE4DB65719A0903035679 B7E08BFA7C40E9AFC3ECC0A243C79D920B2F87C75430F2490362FAF9FF23E3880E7ADA9F3DB155 6E00470C2FBB131F539600D21238CACD785964F533C80A39605C9AAFA6438B11F72D9148455E9D 88A43178089337070A47297BE223B93CA175DAC0EA3CACA4A9BB07954449A1F9A8F5DC084602A6 2DB0D098D3EB9D967CEC1B247134B47DC120C03B66FD26FE2647C48433BB994310137C95B02FD9 54B450FF00B194F0C5A0A8623B1101B5F32589CE81BB1EE3045F4C78AD26A9C5868AFF70DF6179 F2A72599892518A45C54689AFDD92A5E21F47CFF3AA8636F82B33D9716DE11C3297C403B5E2708 D9AAA7DADDB484F6719DB1A07F42C0BF6532352BBB529478F0F08AA86E554A2C8ACB4D261C0358 CDC56FB9FB160F9CE9C7DDD0CDEAACD1FC38D9066AA1B50E26079452FA515EBB70F3F5EFE3DBE9 791161BC643D1BB3147C9A0B0563EA94F930201780DC3E97164C369C62D75F4BA3FCB116215771 0C7B87C4A42BAD8EE7AD49877F9AB41BBE69730A4FA1F83F4DF48F40AA6E8891D61F1E2F5B5AB7 6E85BCDB7DB8A8D7F3E1C5628A51246896D923DE53B1B297CC8E37E0C46A6B42F616CFCF17B74E DDA896D6075C4D60166F05F30DE0CF48A3BA092A0D2A694D01457C46089B7F573CA6A7499BDE06 098699CF1F28CF849D2716140669C98949A551A227BDDB5594F205BFB0F0379CCDC1B53472C335 7834C37292EF98DF1A5B42F2E8EC82381AEBFF1CD435499D35A59EB295CF563A574FEB6F8CFD09 D9C2E2138F486226EF089654BA218706E643BCA601DA71B7A2670A15B25523D7925D1E7BEC264B 9D5D47F30A9D36CEE25E5CBE2DB3D6E1566AE8067DA2718ACC991B618578F490DFB3B2F9F2E482 3CC80AB2B8BF562A6E5212A2A2F2604C0894D1DBE14FE9D7222E7F3AFD49D5B2344BB34CCB0007 0246A8A3A04DB4866BD9823E0C21C8C226BCBAEB92372AB547B8FCFAAF03AEDD70D2207840D6DD 0F833F8C19DB2CA2BA4F271712E2C617E84F34CC15078F9A8972E17B8CDDB1D059C53F7E34F975 1DD035E00F744D2EE8178B33B6E684E6D55186C9F2FE95F9964FB13CB7D83968F06BA14A62BB43 18A5830514BC532CE55995E1CD3C939ABAB0D211B1BFA806A353E325A73BF75601E817265F6B08 A43BCD7AE47648436A1B5285823F234601924C473B761B1C057D4C174BA653D5B0E7186B99577C 2F353E7AF1CC395EAE45B1595CA37FF9328AC2EFA8560952054F76A72D7CD91AA018B85EE553AA 532C2BCBCD412F349DFF5C37A1339AAD0F4957DCD5EC6833060E93914447483B2A2D9041621980 83838093C798878E5D558F7B51A9626F982115EEDC2039E3C583F264EAB8321AB228868F221E8F 4F9EFE1E760903FE51F98AB321D1347CFF719F4EC83B91E010961CA4F26B7BB7D4C769FD636A4A 1931EBB2668FD9FD1DADBDB6DC61AAD03C0077AAA035608BB2F6855593CDD133AC28523C100D99 C98A26C29C0A610AA270C03375AC0B9E7F7F265612B34C4DA3EE925B6BC8A98257986AD2AB4BAB B31D5E387984D102043BCD2F908573DF0D5BA1C1A59FBF2411A820DA0A6E69D1C19096580701B6 D8E814BFFC91F8068DE5D1A8C601010A53393AE554E003AE1592FA5FE0609961DCEF7D944F5857 64F66C20281424DC4BDED24291DEB386AE9C3DB43133E91401F528017AFAA530EB2736D3B6CE7B CB1E0C5A6DD5690AEF3465BA0836D2A68D6F3C5958843F4299B8B2728116952F62815C71B483F7 631338CE3FD626CC22C9256AC95D88B2F4659864B022A0BA75127BD9F4876E0251A2E707FA37E4 D5D5AEAA0EEDB18F5584B9FFDC9386C46D1D19B0419EDD812FB9FD83D531248CD1F6A4DB702135 9C13D1629EB05CEB121CDA5944020CAF186AF94EEE6EFF48023EDFE205E749942482DE061BC86F 58FB8289435ECE461AB84B09D342138561C2B4B2496022DD57C8253CE557FCEE1905C16A01F5B8 BA4E7F7D5006D434CF962ECE76E5C269A7243C826C0B7CCB5CB36088AA99BF3F3A7377A76779B6 9ECEA4A83BD4713D12BF424373B399EC0A99CF5D8AF7D5A86A390A80AEA33CBBB202E0A8BBB72B 1D685B2ED32EBA11840D0C9CE80F61BF2228924DC196B9C40F81D124044BE6DF12564AA1EBF652 41AF0DAEA563735BA4E8151F3C9820273E79DD4E10E5989BD0F291DA773C3DAC91FDBBFF6EDE1A 5D5FAC03DBABB5C2E97BFEECC08B2701C72ED14C9CA5040B9FC61A08800C5137DC617398405004 BC3FE46672BBE3342CEB1F9750CD7F4E057E098ACFA0A441C460886FD630EBF90A327DCC2E2635 9DF000FD24E56CC30E31BBAF1391B89504712D09C867D7E68A965E57F854507D7294C9671F38FA 9B768EAAD52137CEA03A35C82BCCFAE056DFC1214ED21EC9F5DD4555C642C2FF167EEA4EA07CF6 A97BB9042097B1AFBFB6FE69E09C2C419E6AC38372B92590ACD39A83C84EF9AA7DF861950F5354 046E90AF64F28B6D38CE89D602CEF86B1A47DE38E31AB242864D7BAC0EE07878CC2F30A23FFE05 B055E4EB475BE2035B6F3FE1573FFDE9A7960CE3180AD3FBDA2BA62215BD4C964DF7FA9B7D8A0F B32A8C36B1678E7297212BA6B5B72B1B0B9ED8C5F9390984240B3C77A137D4EE6ABFD66FD2BDFD 57CD46185487419C70C2754008A24C064D506D8FEE86DC8FA6B5AED30C3662766B8E4C7A0E205B EF87BFB1DDF81B236AD601F4C1B25DB98B211C1BD85BB8026F6EF5EB14901240787EB10779A7DF C70E02E2066E516BE60C726BA4E0CAE1C327A762BD30800C7F584E2796AB6A0E80AC5500498962 52B1AE178A2FD57E0A72758E794E455E1C78696634C09077DBE2233BB4FE9FD3C428506105F32A 68A9DE914C10D7D3562F0E70C12963E7FA5EAA2AC08A384995139D4EFF7AC6A1425929DA25DA7E 11E40FA431C268CC157D3A2E7420923D546B22C8CA59ACE87633D5D6FB804A1569BAE93C004668 A1EEE0DE42DD0A78FEA435A7D9C84A95952F78E626AABCCFF3752171730177C9AC44378EA69012 2F1364640C4F200D885A85737080FB67E7D1BE9614D4A5A2F538C137E92FFD914CF587F03084ED 745B868102E34FB9BC2380012264F1DE610B218B84448BCDAEA37C9627A6F8B94406D069BDE191 1E23A4AF49D64233A965F0253ED2071E61FD937A1B1B501A43021C580EDF1A1E92D27ACE0605D7 3A868177423EBB55F178963EA9A4FF3F9F11DC1F4F938E36B04DBEC953F585A9180DF530906CDD 046D5758F792BF3AEC670EFC402596BAF8F4A3052B9C586A3E17302922D66E6FFD813480D83D4F 7245224718D31E2006A72DBBB1CE84901F69F07C5EF3554CB22A979BEDDA37E0B2E635707937F4 526896CA654964ADFE8CEAEB0DC5AC4A039B7C4C641CE8C8D9908E9BE1BD78C77E272F9811895E 4F8DCF94CBC0B826AFE5C1692937737713CA4F7A5FB901FD7DB797B0DD9C6EA4F82FEE8E843C0D 799B552E44193298AFEE0BBBE7CA2F6759C891331B5C97AD2DFB0E2CC1BF99589B7E4619A715F8 AB5C88BDAA1032D90B4CC5A2B4CEE7470E56E86D4B58F74CBF8D519739BE55381B75B3C8FF1F39 45D5669B0C9F068551C7CF0F5C227F4401EB8FDC9105233154943A10C479AC9826D6366B03A775 2CA00488AA04CDAF8B1E0DF8CBACB678A26415414D1F15D0F46FDC5A379D5EFC53DB57CD66AC73 D274626739D9260F078EAA529693B112392FC5DC3F025DCCE34858856D61A86355F8A74427B073 3B6AC1C2A32B1D3FFD6402798AA093391253CC3D65595148994485CD6A74271FE71093552BD0E0 6E4BD8A55685FF784C530D186B923AEFE16250F3330789BF632F9A1AE789ECD4F8DD6055C3E7E5 40F0193CA768EE69C37B8E51C4CEC1D1A7B12ECF6F65DA9EADC0B3B77D22084CA3E48CF0BB2E48 37DA5D58F4F2795BFF4F62C2F520AE173A098E6F1E5ADCBD2BB3A1D26363F8F645B809A8AD40B7 EA90DE4A9A26BE11FA203A55B144161881665D6D1D74263AB371C31FC70F9D8AFD287C0B87BD65 DE2B3DA8E13669ABF4501ACE58D9CA150F30B23388AE9BFD053976B223E9B37D226200AF4D7697 840FFA9EBC087A72EBB45D3D1FB5EA3E3E882BEB4F9B702DCF69DA879D72BEF2377FAB6094314A 0673364D4165950458321F9190989C00595C4AB4AE76C246D26B088F29965200103D17C6104BB6 E95802B4068C0D24F610532AAA2267D6A36183A5CDAB42140ECE4E0A8EDAFAB4BDF8EC6D706CE0 562235124F1564DF380549FD931F3FF4616F24E9FEDFB3C757570E60D56D1F3568E575A35A9E5A F59CA70D9D0CF142A3F50A396807EBCD83E58AF06A4EA165730CDDA6E363B2B1F0B060645782F3 70E717D38A3BF1552AB327AE0F9A155E15925A64D0AE25D00C5FF977BF824955926D8CD2072C8E 41591597E6907300DEB999F06449CF393A8C0A04EC6A9430BDA18F680E6B9CE7A438320224C47C FF64783FFF47F55CFD836B93163BE2C4D9E16C0D38E0249FB1AF2E6D951C89302C7163031AB84A F4A2ABD01EF9AE342F5284390AE12EEB1FFFD93B281162F01AC4C4FE90A4E5A53D27802A647496 94138C6D66079312FC04FCA387A5939556C12130FB04FB892EEC36C7470EEEC2739378F96B6392 2668A33A7F868518F380DC0E91CE2C90484DA50B6954FD6AE5B7A10578932220D075042D762CEE 4AEEE034A4637CDBF7298069DD2FE8D74265ABD5E4BCEAB81425516A38442053CD3AF67E80A50A E9213D7B4AC2C62E22A73DF69F8BD5E0C6AC8C688DA644EF6E20210919ADD9D69FDB4D5DA26B06 10E8DB9748BA445FF931E3146E5937EBADE4C7FC61303004AC549C1900F5CF8E1AB0D63F13CD7C 5EB22E21E9FFC31AEDDCEAEB76CB869253111EF1CFB6D8162DA3E59D77F44000B96386C046861D B1FA14BCB2C07B5B373312468AD8D73BB483429A22A27BBB62FD087A0F8FBBE23CE21F3F49EDE5 F0A329993AD337C393F1332BD534750579A3E72D194B04EBC430594D4E181AF8FA60618E1502F9 3172E26B55E5AAE989BBCC48374E8C6906A34BFCE114C2B2B4ACEF9BD7F8CD81A44F855F15CA88 BE8A56AD1BF77EFAA5BC81C97B8F29F878F9091D651D5903E3F60D25EA1D97B6025FDBE181246F 05262E430FD57ADE69286353EDCB572069E25BCA99F3FE8744ED8297D933BD7B5F5687BC5DF1FB 584B8207EEDB38FC95BC6036342B012CDBDCE4F565B6D6DAE2EDA1B4F40B054DE50043D7AC9C3A C0DD32F1AC2D38D0230231C17D2EA583F5740A47CCFD0FAB920FE1A49914C663D8CCAA9B1C0672 055483B762DFF0493E0D46643BA4458DAF364512A3C72ED1AF38DD00FFE18592E96DF318B7C96A 2FE3543688CF50562159576FC9D051B6BFCD32A80FDD537F2A88DD9061CCBF832819F09570308A 10065010DB72AE096D02A61092961094C1E383712FBBB58FB322ABCD0CFE77B98D9C584AD5C9DF 53EDB81949D310679E2D28A2D8B347434BF71445EB9F9F1A2C61B6BC16EEC4C1522AE46C5E9984 1206FFEBC27388D4952FE629644F6AB7733C457CF939C324DF0C4FFBC5E7BECF655B1F09670D17 421CFE6C9A0FF4C4D7342E8CA177A602E7FB93DCD456151A8208C332541869298A0EA29A787931 906B0EF099CA32F975496AB342130F34C92CC5A863029E030B66D3626C88F4887CF5A8A92AA750 E5660AD03EA55D69EDF466D4AEE45067D5496FF91F26BCDA766476CFDE111F227FC7ACF6FBE1F3 22038A92031650E9B813AF16A37B4095F039DF57791D3F8242C2C409B37D045001C74BB740E2BA 0D29CE658C65510AFB0D899C651DFC01752F9425D5B152436B04D5DF36DF03F11E141FE994BB0C B0B7E37D5ED5981FF91DC25335A480ACDB25C48C20EE40F66F5B482A626A4D0DD2689D862F302C E5421DED7429235723092734BC73D00F56419927120414CF8659CD1F964128BB6FC105A7E090F1 A2093CDB77BD1C04C723E0F1C5F60BE70AAE29BF0713F86C58DE426819D22390DC1D985F2FF86C 08EF83F2E9AFB3A62EF4958945FE270950418D0B26206545CCD081E4DD18C9661BC8CBB4C2AD15 1F71D6BDFD16F8FC0E239DA5D19E8C2DC980C367B7EA589A5278901D913600A2AE6728589CA00C 44957816D98775D86D9F11C086A95601730EC4DAB3306ACAA840599A785E4AEC4C0B45D14800C8 0EA12E04F69836CA05D79543A7D7043DDE89BD573A8A937E27DDB89267C30731E20402901F9042 675860C2C1EEA408F35561E73301F5DD52591A59FFC7684A1FB9228A3CCD6D321FBAFD05718411 DCDC2ABB7A588C8FB14D916993B5FBC01409652E5818F2211C86FC21FE154B464206B642B12564 A6F4A8F4FD5ABB6F48E959FD1BDB8C413B2D6E12EE5286A805117A97E3829DC83F431AAE03A6A9 3C97DD6640E4EAE56AFB44C1892D3E531FBBC7C1ECEE90583A72F6CFD618CC01E0DE8733D38568 2600AF19FA2E08FF0C29EAFBE912C289E57F0C315AE24445F1A5AB2F492FA7A38A4886FC0035A2 7E793BEA877210F272D16771C90B5BD86267F889D3A25546DA863A100005511CED9C95A1E2AACE E762E6501DF03F146719D3581365260811105609E56239B54D7AD1F0AAB6C7C168C7DCCF3CB30D 06080F32E815CFE2784FAAC58AEAE4F22D72CFCA289BE03F9B2DFD27FB1E2D27572A7400303398 47AD06137695C113E8C2DFC0BAB9A3ACD2A856D9E7927FEAAE009B6F0CB84F76A488CFD5205AF1 DC4313B6E4179B1370695509FEE3E64A9AC425A043E434ADED0E5985B293669D09968D0AA231E1 B2F617CDE5DF2A681B2054EC1FE239E95EE1A11823F73713F9CD4AF03E13A78C2442B6AF16360B 01E8CE7DAD91717567BEAC799962F00A3509E24E4C4882124006B252F9A4C88071629A9C2B7104 6483958A3D0FEC7F0A48FFD5E98F3C49B0FF8BFDF5824DA3605980B4D72A8902ABB0E0F52636A1 06605CB90404E57B49596690E4B0591751D5630148B140AD0D2EA236764B131CE42AC418D3EA2E 2DFD09FF17D979E54C6194DEE059501718A14F86ADE2E231842ABAB8A6634C0C31C3C125048D6A 0E96A2BD785D51591B79E2022D49F2EC9BD874FC2FD52A7DCF644F124215C7B9D3DBE9919BF9D2 138F0C75AC93F48C7F125973BBC8EEEE34502A62986FB8CAAA8242E499A85E43387264D3982838 791590583BC2D74F1D1E3A4F4723457077D8E538BEB749D35F44F37B86A26C90951CD56A0E5086 74E42A1EC33FA88A47C248B2D9783D4D788082B89368D73F2EA3131A0C78DF9CB707A0F65F3AC9 3CC6E81866BBA0D87902E04CB3DDE252CF76344C2A2EE70C9260BA8C4DEA508D5B267A9E852C75 79C062478C9F224D6CD544047E6643753F6B9D387EFF69E37E8EB61E6C50BF6CC93845070FAA36 72EFFDF8F0EFC7EEE9D42594D1786BC7F3280FCADE5027ABFDB83E6E8A72C457BD6B2739D263F3 27C5E0BD130514D98A5FC840558E85017D289816B13C0BA1FCC6ACEB5DDCA6B7F4EE30D1D7E617 3D9B14A16F330E9D32BE3CE1B92F18D2878A2C3CCD52B2103B082454C60724EC75B08D187E01D9 EE3286D69B9EAD4D8D35AA8BAE3639B7E36556E1BC86143C1BABD3D05B4CFBD918C4171B3CDA77 A1C49679016AB674530416738945967896E405A3A7A451F43B14E7BB3BED0CE014188779610F21 E869A79245AEEDF2D01CFBEA80B9295AF35A7085E4019F499820420BC15E5D3D8450AC979E4499 A894699D154648A74C6443EA53C851E67F80721930FE61C346207F2715F3E20418A9F58E4C12CE 9ADFE14DE865DB21085783B011BF1CCB2C3335A55B61DF50486A9465BA7BA85373E10F7AC3202C 15806C98F7A8215A89DA4424D4B16A5E352AFFA05A58E5A6B0ACED834D87E7EACDEDD65CBF741C 9EBEFDB86AC1975BB61AE096239597DD08156D26E218A61C1B69C71953447BB7CA6C055F2637E0 B2E320C1EDD20B7B4E43DEB395DA221CC17F237B81098232567F591977CBAC8678870E1A1850D5 C019E56069F11037B2C983E61BDB9778C50BBC9FFC6CC1CACAEB4FD3B4CC131BEEDB3C486D68E0 69303A06E1653DF35D6421F93F05DFE32BB953E0EF723CAFBED7DD829B2D469CDC9F6FC1FB6F89 4BBD9785FB48F1A89DC2E1208192BB44E7F3DE2D632830894A57B950C7112D76AE978454E0D666 3F97E8FC2225293977FB65D46A5A64B2BD75DD681D4B5AA39202CE5E6846B872482765F1086FE4 6200918A34A9C0375CA555FF25C70F075530965858942F0BEBC9CCDFA2515D198479BCE058BC5A 98E014F017D5239CFA21C5801B13619642DB5DD9A2A16FAF1C7348135BC59E31450FE5824201C3 99E397C49DFAF1E8ED16054FE187A136E5A838976A48A1AD1AFF50776E953287C5C026CF2070AB 8DF13E926E668353197C0DAAFB3BCD64D391E8DA10AA80C798A914D219D0AC05A00D4FED72885F 408293D9E9D952E47CB8CA81F3797350D50EC0B74E526825DABD3D7DBDFBAF7AF4781D11C82D54 05AA18F1BD75F7FC6C2B135F34EB3B29599B7600912F23680F5190B6D9B06D619B26F1D086D122 51305AABC2BF2282FAEE69718201523BC2877A640EF5FE8A68E1358BC8C0A185C304D9986A6E31 FFFCCB726D2BA189FBCA9C699994DC51F65653BBFBE170C39203C4BCEA90E07FC0F45D0E788D45 09948A4AEF90C62CB4D5126AA30D655A817288039460D3E8A0450B6F3860727224957DEACEBA94 86994D34743A32EBDD7D0E20A3E318F5288B5AE38428D3071D5DA2D3D612F23617AC4CD5EE84BC 8BCF391C4AA0B721FA25AFE0705091FDC0ED96094B19CE0C8716F70EEC15579C95E4754C394895 EBD7D83FA8B9DD8B7134E6989D3B51C47600F053EBC134795BAB7C2B7121698284E9313C442E65 C1821476436FED31A80A8220F02B781A3D19BE6E483699F7E809B1AAA0FA13DABDE873C7DA491C 02499F9275DE49A900DC3D624FD28F4F1F88654CECDE505D7E3E449DABB1417FC03F3E0EF42F71 0F952C7DA729B45BDAC3F766F512984FF02A178D289954D7FEEFDFD6571A8A36EC673504F0D737 FD41CD8384B06842BC686EC6B4F3B47E4BA7532649FD57373EBA8FFAC961981C381F2B1C731709 A9F210E7928F13185B3D0195965330D0F4DD1CD09E008DA25C067735261E4CC2C66D3FB1822E44 7C2E3C15E815DEB88D2DE9390B179D4EDFEA55E78AB2B0CF12FEB75967D857A604075FD20ADDF2 8BCF12C46347463A7BCFF3ED8ADF441ECB3F17F799B3ACDE848CCA5B920A2087EAED1302C2F000 CB9396EB83598F891ACD25763F567BA9E5F3C4916C62D8DC5FB3EE188F40EABA66F51AD59F7256 DC4977C9408808781A5B790AA26FE9E3EB1118D535A76E6445DC5EC4554A4C1A06FD082C8C1D4D 29B3CD4F77CFA9356E7F055EA5062151B272CB8A036DD5F891E4DE82FBC877D9816F4AC9EA007E D58201808D17C5B7C0780161607EE88B6640780D23870D34892956B561B0C1910F3B1CC8261FC4 17C49A520D7AEB3239B7DB86BC800FD1014AAAAE84DA78F2FABDA841E82F102913C89687FB94D4 3112FFCFAD37D49D2532F9DC3506F54CEBF3D3D5AB4F32D96A801CDCEDC7D9002019EC48DFEFFD 62F7879D0C9FB2CEF3BFF219A397877377AA2B970ACAB8361CDDBC1F38C5F7D9397E2272751DA2 CD98CC97479CEC135A2496048FD8050FFA680BAE058CA5264E738D1699826FB12A96A6D328CC03 19F501CF5AAC51A62E6F587FB2DD98881D69FED686B64D92FFC5B1AC2C957EE5F86CC9E5BFAE3E 73E6507C5809A576A59268341EB5E3F863A69F0C805A98696A5D764E714C478B544F0095BCB352 7D00C34A67EFE6D156EBA4AF22AD493F7EE841A8489818047663C145DC04BEE4F472544C9A2018 2147E184BFC894362E366A757B586FCF92248DDF8B29BEE94B4444400B1764EAEF6CC8110F1371 D34CC38A939748CBE0226C110DB1C67EC241F07953B61C683642706930266E07309655962648F2 5E981598930F3EE4EC0F75614F777742D6CC0AEE86D7D5111D11D5077297B5358425E660A296D8 3832D37985D710E0F9EDA67875EDA4B75457A9573E3DFFE441029ABE0494EBCDC90C789186F0B2 97F90ACA2D3BE84610AF07E347FB7694FA4E216A2386CBD1EBE70967A82014E8503E2E97AAC71D 60DAE00B786A95B8428F7726BA74BB3752F56894D4813D0434D0026F1703DCB3631D69082B5D74 46AF8B5660688DD97DDB83540E2A69D4F994FD94413CA5AB52325439224E0906128187180E42E9 7324CC2AEB60E5B327CA998AFA49854A59841C5C50E4159242BEC79D2E5BDF9373CCC510B3FC38 204BB02BF88DF702FE5F2CD11123C390C6EEA79F7F1C4A294A9137926957D70C47D7EED1047079 ECCD09C2BDB154A95A4F5BFC6CB708409E3E1A0DDB421F3E26BDBC0126212425D68F3218DA415C 0B03792A561B6B6E02D84C83534866A8B4397D485FA947E66839BA118BE6475A8EF384E597B99A C24B83ABC9890BDBC7946F07C43535A9C0C53C6BBEBD25E85D7DBF87394FDAE324BD1CB4288B89 31D3BF747EB89B356B3A11F07585EFA4E4349A40B409AE651D68E611122D21D9DE3425EA845568 43A0E9D638B1C24E55992D6EB5D7A36A8035B9AAF0D8D71FAB9A3C20BFE5FC381E6E353C8529AD 44920C2B8A1D4DCC09FA6DDAC7C540D24FB55D8EB38C883431FF49DC1DA22445A6CB438E6DED85 699290D3EEF81BCBA53D977C0B32B2E478CEEB7126FA359D4EA3C8EF1D0F6C3AF075B2E94FCD5A ACD0531FF179735D94672A55C1D1FFC3842BB13CCC3E4C81B706A6830A1E502E954BA2F6D57CB7 777CAE7EBE73ED1FEFB88F4E27DE15A052185CF9DEEEE665F38703AA7AF90B0971628BDF8BB1FB 21A30C3CAF7495425150F6E53A58F11BB6CDF949066CAC1352B7460D33FDB76287A7C55C9123AE 5A2773E720509A9F3D391553BED505C28E8A68EAB0C4231BA858934FDD38C725D340F21FE656D0 002F6571A99FCD9AF5150DA9B55D796F9F30F4D10A7E82DF3B55462BE4EEE3F22D484275D60F04 D3B1C83AAC019C0C46B68A1A3357A65A22A36CF319F53637DA1AEC7C0AA003E75491C0CA77BB7A DD734E0BB7AA3A30ED0E228080FF71B952DD328D938638738697F06831826400DB73D6E2B260FF 00EB6130B3868D3C204EFB65A2F00CF5BB2CE4B464E5EED55E7CE33A1702D272069C2B291212AE 0F7A0D3BB7B82DC5FF2565E40B0963FFB9ABDE6DFE0A5EE3BBA96A3CD74D4E9035849C7ED677F6 84319FBEBA5A5B1B2B9230994B2EB643B9F395096B46A7BDE84230662B72077FC96409F1B237BE CF8CD53F27F690B101799B9FEC896A52609FB368DDEDF466AB17CED2E756D2A9026D4D26E303A2 CA619F746C281A9A6AEA0E08CD0D1A7AD1F9CF7C6EC91A35AFCD6A1F59815A702558305398B0A1 4A5AD71B085B9B10325C732D229A9C98D8AB35E99B31CCC4DB44852E5BA6DCBE8F759F54B3C10C BC761C1E576A38A788BF5CF46D68F8427E2ADB16E23A8744039F78F637BEC3D8F6D239185E9381 82475AC85FB8112CA4806D13455EE4A903CE5C7C7D5A8BF0949D70740ED6EFD38866D4645028C0 5F16836C9EE77E775626BD67AD61EF9F6D7B72680564715641E460E09A741F30777FF1CAFC8B43 664F96D15E4F218B04D462C8D8AA91B55765927B41CCF8B79F89D4C95FE5A6B55E943516C8C674 0F43D3681FF8962A0ABC7BAC47B06DA27FE8B1FBA3039595F52CA33845C1A7966308C006D6F828 108603B42229012F5366B77C654AA8CF6980FAA68A1796A1C9DD3C8C01D144CE40C669634B2FF2 946907DF407A2C5F577D3785623CAEA75F5D18E2B3B91D595CE8BAC2EC742ED54F17D4F912E115 4A6866A5E3DD49EE48B407FAF34441502C6AAEE95DC123EA266C27F6924A44263AD1238FBC0C88 22114FFD6FC5A178F22D993639DFDE16B1652881F7A015AC88722193BFDF10DC1C372916234F11 591016A8B5C2055934EF10C079DC83BBCF396DD19C7E9E112F94A871ACCE631683A8C886E4E10F 218A7AD93B0F4F83B8418C0984EC0EFC3ACE47E7583F801D1B514FE3FCB6D4ABE5B6C3783F3026 502212E265243963F6F57656ED205CEC6A8881F37B1FCFD2BBFC09D1608CA43EEE74229369A215 1A916D40B2650E823BFAFFB9338BB43369CD38F0A351E320DB42BD62A6B1A53E0AF4E0BA92DA1B D5DCE62194D041500173E02835DC3C5A43467258A4340C1B6DB48B612D54110D70FBC038E947F1 80ECCB983D2204567BC2E256C6AE46CE9C13E6B576E2C9FA5A00840A61D078C80C1C7405A6CB66 BC23CBAF1C5CDDE62CD32A84D587BB2B3828B088C56831E6C073AA50AB4CF27FC74547554C491C DAC152BF20AE1E14E31A7EB4C45A11DFBA32CC6B4D47488B950A43B12AB7DF7BFF07005FB64503 D00EBB085706EF3AA04110C671306F763273E16BC75323AEE529DF5EED8CD07BED8A635376AA88 602674B619B086C8B46339FCC077399CDE9F054D50AB2EDC80BC73DE4332CA8F8FF3D4A2B2D461 3BD0B29C7DF001FD3B7CBB4666DA2175252E7E55910DFE6706CF744CB7C24CCE4CFD4F35D0E0DB FA1C336240743562FD040687693DC43397B012390833FF786416BE97C2B8E16897C3EF5765C988 7CA6DD1A3A5B2CD07507AD852A7D694F2FB9E1B8EF8D0581EE6C80094FFD048A1623048C4D4DAC AEC1303516A43F08736C003246885184E73D8C0312242C33F33C5FDD86B4B952F86B8008FAB05B 38C697BAD2F87115E88C90B3F70E53BF6CF95E50A39FB028681746DA3431DA246E7423E8F400E5 659141F09EA274219F1D99EEDC203B1D8B9696F66EE89643B6412ED2C3F41CB9385C30EA9332A4 5CB359E2739612D7FCECA55C2BFDC4230E5CF89E7021F4220C22B6913F69ACC5F65D7374214EB5 1EB691C53D0B1F590F458A4D4A385D7826659C77EA21504A7EFB22758ECA0497D059437D70CD94 05DE2EA6BC506686D07434C6024273B49C009169E31F4B719429CBABC11473EB70F07DC2372D11 BB2C146DFA378825C0F2857BBE54EFFFB74FEACEAF15ED6DA597FFDE9377697C0E472B7500B9C1 6097BC50F38651D40CE96C50C9A6236860A8BF8F469F83162324B5296C50D430BD211D8BD0E4EF 0101D6F67DA8C348861E85B35A2A4992D6A4930AD1D26C6BC5CBB999F83C727D5CE551B98C9043 D10A648D8FCD959C9D1F83812CDA60FFA8F8C3F88FE8536CC3FABAF59C5C174580B98D38971623 6284CB20F900D8B793D37EF566A87963445862BA4EFA880102C87F608F0CE734212B0324FB2D2A 083AFC582CA20B744DC01BE3862057D746811E95687D06388705421C1B8DB69218A2A706D3CBA7 8A449B344AF0F64DEBB4FEEAAD2C873A42B2A934F93C0BEF487B33DB2570723194651C204F1201 56E09CEA13151E7E49703A3124DF500E780CBC62DF36502D2E6F5C57CFD1210850A2D35AA40A55 603D3E56591E33E7722A282D6A8E1674495E12E348954B7CD0F4A4E4DAC080824795188D8A478B 243EC611CE5901A9BBEB76EB041AD162619EDF1D3D83ED07F1152401D2D5A03E6C784D6514EB89 6ABA990FFAE09BF057B912A27DD2092CBF5157C904DA4B566114A37A7D9AD0C0D717EFB6C4AECF EDA8D6971897E7D0FB1E685AE00CFA46F11B4820B31EE99098EAA2505E531BD1B07F41D550FEE1 16F49073A12E482E9194C3C5D914AA944EB0A857AE2B5647A2C9519AABEE5ED6F356852C5F14DD 0852271FDDAA5F229AA7151D9ECFBC4861D5E89AB66747272FB6B8D49ED0709EEE054CD07BB917 606BB005B6B2FA4B114536EB0708C08B5D7CCF46EC19038D93EC063DC3DBF39B25EB301B4CAED5 05AC18AE74A0AE4494AE38736B19FC4E6B10227CB30940BF72A4704066D1D02626EF650C112A7F 8B8EF4074748BC08CB9DF80A0393793BED309D6DF2DE1F3D8765D992044122AB317749A3F96D1C E8CC520555B4C2352A4FC4D92947B60F13B9D5B7A5B47AEF0363A31CD9D35DC0F34A051E369400 D2AB68DA7BE1F1A374084B5522A6BF862579AC6F9F45D1F29E7CED5041DF262CEC4D529CCDF8A8 3A18572D65E59582F8D75236897347892D9FD0DEA75BABD0C31AF5D690394B228E835EBC6A5F05 AF40BBC6B35F8EB3C9F76AE440CB1A2E88A4F27510F67CBFC15DC29D82BF07796F6D8F793C34B5 D308D8764E9EED3EDF5D328FB1955CDD0719BEC23077A5080A88E9C95C705AFCF13C85DC533B77 6A15AE7DBC452BD2A75451CD7FE36C2B24B9044DFD9784D6B55D79BD164EDBDF735E6C486C9C9F C5A3462212B66C2E8B3C1DC01357B02DFCB8AC883E7EC27F519001E5E8397D81BE41EBA7BEB413 5A36C4E9DDD08D27C9A5B9AEF67090AC69F122DA5DF10A086ED8EA0C0A8D8060ABC76E7878AFD4 7444B134EDA8D78E2271374C7510658B16A9C5C4833581BB7EF970F9A6A4F09B238EFE5A8B433E A5162C9851F74F75EEBB1A4D57B0EA29FABFAF4D2D7D8AA8BC4132BCFC9F0EC7E841288BD234E0 6F910BCB4456C7ADE4182C459D3D366E2CF72BC6A633E830DFD85900C3696A11D2C6B79A822880 F3560DF7B51A37FC186C48BB55F1B91DFC8622D193C48438CADD95022B3269A389C2E60C9C2800 82C096FDDA6DA3FE1BF8369F4FBB5AF739485B83BA055AEC9DB88C23DB6C5F751966D482434721 91E85857517308281CB32C386755A1159B1ADD7181405CA3D686ACF18566BBE1860CC3D4DD979A D6125C6A796D9C5B9B19D03E01DC7C0502F8F7E330A87F8AB8DCA128F914DBE36434DCA8B164DE 558C9F3A7B39C07135CDBAF5C6A6AA5B21972EE56521C7C21456BF9D462BD8EC6F838A006ED0A2 84EB344C819791B014BCE095A6558B5294506EEFE6D51C935165FA4D0344498941A5E42116BD4E C9B9F72F4AA2FF794981FA5C9F5FDE59F62427BF17BB7F0B2AE94786CA197383A6965214895558 6540A4DC1071767E23310C3BD9877835098912B16EC2AC50EADF2035EB7A4BA2F48F028414ECBE 0352BD409792DC1B9780A10BEF8357130C201917FF4956437DCD2E35CD0B5629AA37EF7DBD6E9D 057CBE21442DB22F3B9CE9064289CC8A3882A6934C1C7C3542739E1D56848CDD2D03701578FEA9 AE283D393AAFB58D5A93A16B5FEF33772AA47EBCD4A33B06A2CEC3B45C553B5A63B1A33EC16FEA A152B1D248C207924A12FD27D871175591D93E23EF5108534FC75C455311EE8E3F2AB408A2FAAD 738DAB33BF98A3396CC6D5C3816B65E58D8EDC18C72CDB15540F6D62926F496FF4107A52154233 FD73427D3C00C4455A67705300681ACD21931C665E9462BCC800D25A31A6BE61519FA3487E6721 6BB21B579396CEB620B65FEE8FDC9CAB02CC5D5C8CFF9A284274A26F7C5BCEEC6834176F63A1A2 7A674025A61FDA661584C04D5C80F4DAF73A5362F67FB8064D5079406EC0D115A79F292C893EC6 0BC24FF533153275E178AEEE1D0C2C84D28D23DF028FD364FB2F9C13141098CAFF49C322A9D8AE D0E5F195FDB307B0D27D89EA917346AA73BCC436120E711FD36092AD7CBBFEFEA3C6F371D0D29E AA047229A12836CC4F3E1FE539338D4FA9E15E2CA242B768FB35A7E76756DC1EF247E49FD40438 19F917F93DA4D40156E3AB93E5580B56BEBBC1899C2E3BB68CDC5B70642788FA475E1F0C71A532 739F4EB3C85FFDAE230FE92143B8FF8DFC928F9F72B97701C2A5844BEA5D263FF3DFB11AF92B65 E5846A68EC81F9EF7DDEE362121AAC5DF1B0C29C6C32247ECB52A9725F65BDCCFFD0EE535C8C77 A02E44E274988827C05FF6C78112BA5AE29DD7AF086ACDEF0372B198E0303A257386315392DEC5 7C0BBF78A04AA1FF28F927FF6B0AC8A76A22B56CA963B779E2081CF3925391C9027AB0C5533EAE 1B22843F0AC72C2964456B56D8BEED6A3C76D6A675488C43471401ED4502351451C1CA0A46E380 D41E370D2BC703ED34B8682FAD0E9EA71E4A5CEF5890795E2B5B09FECC763FBB40B6B2E8D07383 CDD0B084612AD2266A4083DCC3A159426D3420B81B1041C5EE4120C925C1A952EE6DFD759908E8 E1CC882C12DEC431C4F66EC3B5F3CCAC728208F1F841E477A276ACA2F42AB5399F762B9C70E728 39D284531908AC8EE939BD049BBBA6BAF1C536E40DDA2412FD9A6EECAC2600C49E10092E73B91B 670AE675217BA39A808ABB34E535F5CF9A202417CA625121DFD6F4434155BA437EA16D0B6B05CC BB3B161785B3856136A5288C4D14F406361CEB32410BBC3252ED6497690D49A3A89C40A16F66AC 8F9D80411BCE174F5D57BC07968164BCA4AFF626B6F675BE9F438B461D2A35EE1C1F559096BB04 2E174AACC03CE5C68667F8A59D2B2B7DEA85040EDF8F3175A14BA3596064EDC67058EAE7F60BEE 1759694129264973E259053A70FDFC27E708A8A1D40B451061101C6DEA814F7C9318067E561132 B57DCB9C67F7DAB6C5FAFB9DF7B6B53D45B8D43F66469DE6831A40A5DA32A33D5FDF9A3F266A34 6E4A2E9D52F68599DB0138C3B08436C0DBA0A553F6133672860345B77353BF9EFA3FCC80E49D8D F84F85F1A99F23BF470A9314DA381370BEC348A37EE4517D3372D33E528F137A787CA9956E9BBC C8446E71CFBDC6D92B241AEA8A62B77F40A630F5E72F623C18C9B499DCF511FF19C40E53768925 8C9C933CACD974680F6E443BBF3CF00356A498C63A56F68843FE5BEF635A4A671874A33133D525 E632A10F62A36120E5BB9C2216FE80DDAE94CB7540669FD0BC404D361BFD34EA879E50A44D4071 949AFC3CB4A4E4181CC30DF9DF63A6A30B38EAFDF30158A1CB45F2E433FA4DC62763B6CEB411E2 442124F95DF503C4FBAEEBAE7681532B9E5936716F6D585F51B9871321D5B7FA5BF4704B0A536E 78D00372CADBFA191E5E3CE0AEEACE1D6586E9D11A0FE37C9824977FF1E6F95019930510137ADC C4A4F4C4ABDF76CBD32FB977534DB8F49EF673AC29C1A559A1EEC69F0EE5A42A24D20327CFCD0A BC278473031C3F2CBB34BA6E424D990AEC6C756293821C5D439D4C8F54319C4BEF22EE740DE2E9 3BDF51B15FAC6E469A01C1B5C5690D16F9754A8A3094E751FCE11000F991C566C7C1B8CBE772EC 80B2A751F829A4058A28110013AF4A3DF7DD7124DFF0F728A25EF78F78EF33A97373DE68D38DCF D1E29CBF549011A71ED451B1E7EDA255A14975FF44F1CB448B71B09E82E8DD5EF75716A6E32620 658D229108B8209287C2CAD6346F0E8BBF1EB99BFE8952C4080AFCB21F58DCDE2E73B02428D2DF 7B29C43DC1DF324A73F480685198F8006C996958AFFF6A55B459DB50FF2A33EF43E31923518FEC 28598D092D8205300026E04907332830823CDE60D062E0BA04CE7C801775012B4835AEA56FBA80 21097BA760632CF097A0D4B94B5BDCBC2E61EFAECC791FD7202B00E678D6B76F891B918F63D494 72BC7C5EEF4BAA30ECC71B5DF6315A71095F9E769DD0887C4314AEA236A8EADD9DB780411C0733 7E337744BDA802DE4906C3F98E644C638E4C86D5F2A7B2C17DACB10DEFBEDF030A580AC847C0AA 56D4D4B30B513BBDC1105978412EC2C36DA5E4F1EACDAE3426DD48898DF1DF0B0BB91C3343B487 14EDAC8BAA025AFD729DEB9FC96432DDC0D782D226726368B516E8F266855D7D02472D605AB245 084B55FA61A0CAD04FCFA9623DDCBE109B2AFBB69955809E2989B5453793032D1EF7D7D8BD4E10 1456DE181A8D7DA06EFE2644F184928270400D29EA969154136D1E810386835E2A3161A3074BDA 1DDA9B028910927B84B44C52DA2E3F0CC9033A1ED31743FF1D04D281DF1D62735083E0AABED00D C0090B1453FA60E5D16AFB16A02DC028A418F357951710B45948D06CE7BDD0BECBF3BC2B9CE44B 6E47DE415A655F6D78DFC36995DF01D28BB52F750FE557FD2A82E36C7B6D9CEE9DE4326D69E261 74FCF2D3F78C7F68EED0374D80929FBB08419C9D2D7F55D1AF8C3639DCADA1C7DFEFB7CC17D807 3614A1084659277FF822BA6DABC3371D600A14120DADCE7A1F29257ADEA32DE6186D1E2FB54ED4 B9BEC1F268B90656B224757015C35355841698967587305949A7158490FCE4F1BCCC2A83DA26D0 F1D7A9912F8462722A58F5D0A7A4DB48F527B1AC5763E6B45A41830E1ADCB09E0F336CB97CF239 9513DFE02BA8334B6A7EC74C0F3B0BCC61382B69D062304DF98B09F1E13291C97274CA134CFF86 CC2A823BB8A1BEA31B8A25F843B15273D0F1BEB8C18B3A2E2027334A27B5EFC4CB0068C79E5CFB AEE391D8BE2C4CA0F8A630710AB09C18C0DFEDE175ECAF12063631E9B25C6C9FBC3D49873002DE 6262BCEE73E4716DC30D610EE5402597F514903E5EEDD8A75E5A6FA117A21144AB5B338C1D4B35 9210169EA0726B14D99E48834DB5D15691FD9095FBE699C46C7E6EF3790F6005C05561E053800A B8E261C17CDF355646A1BF29414D666FAA5C1EC43903DD04678CD1B5097513C0C69EDCFA5D71F1 D3E540EDD11D4B72ECA6C590A57A41EF5CDBB09DEB1FDD6C823E10EAB9E6B9EF02F4045696D615 AF4E01796C2856F376F42940CFE098D303C741D0257EC3CBD7FF2D33ABAFE8DCEBFAE575ADDE66 CAE813A0451E5825AD0234D045630711BBC3853D130544E0B0E787218107450078D6F380303DA4 DE2A39A9A689AC4337D255477A7D0ECFB746E129F779D1F45F86F7F0E141923AD062E6FFC4134B 6B15B2811DDE5902AD397044466318B4356DACB9C6DF0CA786D3D81EAB52975D5C6E34D32B28CB 608D91A4833D5D35A777AB115290A4BFC8EBD24846736B0997FF9D5DC471AC673984AC8E8BA510 95442EF37C5791C650C3A50A2907E0447A6513359D001FBF3EEB4720167AE69D2A6E2F8D068DCA BDCF141A61A956AF4BE6DF3EA929843344F2E38951B9EE4D38D2E51A195842E61436C77E7D953C AB3FB8144AFDC371B0DDE968AB88493C15585570F7DE881A1724C0CB6E8A3433E6E85320ADC362 734A1C81C1EF9CEF1B863A803F96B5F1F61A05D61B9992E99BE5A52A58 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr03 %!PS-AdobeFont-1.1: LucidaSansUnicode03 0.9 %%CreationDate: 1994 Jun 04 09:58:17 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 03) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode03 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 148 /0394 put dup 154 /039a put dup 166 /03a6 put dup 173 /03ad put dup 177 /03b1 put dup 178 /03b2 put dup 180 /03b4 put dup 181 /03b5 put dup 183 /03b7 put dup 186 /03ba put dup 187 /03bb put dup 188 /03bc put dup 192 /03c0 put dup 193 /03c1 put dup 195 /03c3 put dup 196 /03c4 put dup 199 /03c7 put dup 204 /03cc put readonly def /FontBBox{-615 -440 726 1024}readonly def %/UniqueID 5054503 def currentdict end currentfile eexec E98AC76D0B9811AF896A7D2786CFE5F8CE68EC0023DC2681A7AF04C897A42BE5FCFE91943239A1 3AEB5296C6852464267094E08A45F9BE1C443CDAE11667C6CF7AB42711A6CCF9077E8A2D8CBC30 9D38A0BE6B8A865AA6D108DC56579ABCEA85FD25326DB34A8A3B77A5424AE4100C2EB6804EA369 AE0896E47334E66BEF4DCFA3CE9DCF8BA26773A39C77A33652D76918EA4BC304D746DEA74382B2 CD2A6283142BD4605E129465DA84867CDB60E18F858C99578A3DD3BACCE03A8A6990C27D045C3F D9C8550A2552A64F9F431169CC4AC1B9B275DD9E6D5F3DF5C70E8F657DA036CF63E714A17DA9FA AF96888F242FF964672AB6D9CC68989DB538723337304795EE327BAB72CEBBFAB6A376093EC250 7E6CC4E11275DB4AD7283811195AE1AF7C8235D220FAB9F10C43D291F873D989F30F3E2BD37AFF E5D4DB432C168C065D446F0B3D58981E981E9FE5CB773EE40AB01241EA403188FEF5B1AAE43FAE 7DFBDE6A367FC7D6F418E569D7CC7B3D20FCBF2687397122164A647041D12714798560ABEB8867 B266991761555A15A26569EB0FBD0137EAA54C1EE6010F0793B0896AE1CDCAFDA76DFFD032108D FBE81D02FF87E094C0012FDF048557854A7951C19C117397A81FD4C8F2D32D5AD9EB1E49580125 3BB1516DFADDB20EB7142443A1A133A5474EC8EA29103BE5554C41ECAFF76786FCD0FEE4971FCB 646F02BC421A7E4D1E5E0010A9079D17364753074ACD18630A5C6ECA43EC7C53C4B1A5DD0BEE88 9201FC8DFD39CD0C81863BD765FE7C8CA2A69D992034D8B8B9C3486D26DA6AADB594B6EE99959A 445C809D1D3EBA95FF9429FB957EAF9B9C7E3D814B25CAC10658218FE2993828ABD4C0A7650362 981E23E95B851A8CFA68B80D4DF911F9BF21343BD3E61DCFA86F20E96219FA1B9713677BE05602 A6EF36F450877DABB0E42F2DC22538C31B680915A634C6D34464C3EFFCD75E60B73428ABA3832A F9426BDC82D30589727058692220D02B5D64DA3F8F06BB80D08B77A455702FA9F2A3822698E02C DBAB8BF4E63E39D377C60853E3B8F7B12AF04BEB45AB27036BBDCF6C58A80E3B3A61563E026C72 4CD6E7C407B7404F301E7B1AB0EB210E41CD5148396089023AE9401C80831E627EDABFD4E30E18 EAE2DE1884D7A3813D343CD12F9B13D935199CD744F53273DE6FCF7B0F6105BEA2176D26B9E3BE 794AB2120BF13BDA3E056EF6D06F8E219B54E3FED9A7CD767C428375E40351E73663A739B3E77D FA3F36125473E7FA6FBF4A99A69AE1DBB03CFC5C71D2D941A15C1DA9C399EC307DA5D75C8B02FB 448BA23DB70233E83964B29CDD5101B404F505D6C8462A37DC5DA7AFF8145444ACD627E8933F24 7EE0163AB6CF596E882A8B123A102953DB3D0394840A2977DE544DA405D8299B2AD3253C188EEA F07D57FCA1FB375B9BBD397E1A500DB415964E518B2E2FF27A3480B58E320EE8AD0B76BAA2635F 3632B6AFC2358A3A332B773848742A11E957ABB886B3CFFA93999A478821EDA9FDD823EC8818B7 2BC26EF0ECDD2EE498D92638D2BC8E19A283C571CA8C886A8F8E647DEC4D6424FE9CCA8308390F 78F361486C56B9C039B14F76EC5BCD8472F4E6FF566368D5FB7A55FA0E887E9CADC5044391FFA2 21C598CC9E2CED7907F736F0EB8F12348D64EBCA0672BB8F1E651BBE785A09A34223663975B48F 90481DBA40982C8857DA5EFF13E9F5BCFADE13F02C4C5D4308CB09D6588A7BA7A2E1A4774701CD 65C7274D0E2F92AA0CA4A2FFE596733E61BD589D9B5E84835254D8F22DABCCCCE8D4760E13BC4D 6E85BCE03DFE296055EAC95B3523018DF17E8166ED03A23E1A7EEA0AF8C65F219A8F5D7C6F3253 7160E12174798BFB8AF179C70A8E43C167E1DDF34E47F46543CCB7991B65A2FFC11F4917964CDD C539C2E51E503998401540F23FD6A52F81F6792F2B97EABE2A74B9F58FF2C891E320DEE3ABD153 FA43F9B456414F8207600AE3DB5283BA7A0F18FC16C58766C58EC1AD813E77BEBAF90FD8D6F55B 25615FE74761320733B58B545D584826E81F2849E1875490F15B774A3A863A20BE5A2EFEEC6F9D 337E5133329C0D4E8FB4758FF97DF0C97127FBB5F4C768439C8B9F7DF2BF3EA516C268FDA3A305 BC2485ADB785E24A4BEE9AA3E7C82D3994C19249A3AD713FDC5B5C981A18E3D35AF4CE2A349C22 E8923619B85E3D3E4B314A1BA051A506824368F4CAAE420FCF9CBAD8B9AB38463229750C31FD8E B4042D8174F9C94830855B547B95210E59A601A076BEDBF121DFCF34440F65E46365871F3BDDFF 74232CA8267CE9864E4C4CF8D3A0AE94E57FBB2335AA4EF757CE11F554D8BE69EAD58004BE02A3 B6B8CE3F5C5CD23013BD57D15D447512FF69A9CD5914A73144D71F06550E93695F0F6CDE77C1F2 59AB5BCAE03478C9B172B792B16EBAC0F44F97C39FBA333F9BAC6123506028FA93F2ED96F88F81 8A3EAD11809C5A5F4FBBB62C25C9C5B68B82C1C9734DF1989B00553BBCDED535F6224E2F74E18A 29CE4568C3A6B0CF980AA1F7CA1F396D2DF27D4A6C8B9E104B5CEE96CC4CB4399EB2D17269B64B F50A3A0576EA17F41207717A2367094EC5D35DFEBA9D1E0AEEE710FA0E2297C91AD8D002E6C0A6 FD46D5D123BA55B2595D9AE0C0C730966B1BBE3F464379167D8A7B817782DA4EAD919BE0BD1D8C 61FDA8124098009B17BD4F4A0C189ED085CED24F05A10ECB9D96F2CDED8B5D8F10A4BA62D33F94 FF1FEBC20C9E64A7DB41218FEDFBCF94DA4F16CFAAAC9ADB9D24DC1958BA67D52F9625126D3F34 4C7AE7634B21608049D7D30D302E95726FA7CC91B445FCFE464D6E1D79389404F0A28F8DF0D27B AEA1C69B435B2CBC979580A2175B43F0CB739E86D778EFFB25D9C316903B82274ED9AB9E1ECBD4 03EA7EE377A11A8EC6A8F9599879878C704B25D4A5523F759D09FE3655FEFAFD834F9AA8C75C07 4697A890A38839FFBD754AD936EF8088D20629BCC0A9DDAFD5400D0C596391640FCF4A8F5A1155 A383F32ADB70FD8E5AFA66484B1B6895B6F2A7859537C2088DEFF14169DAFFDF1E0ABDDC646682 324828259958699EB1B21B7638E3CBFECDB9544F3BE2F00636906BC83568FE854E62D5BD752A38 084421CEC5E659D7A9BDE211E643950843A0159D6834A2258933F8C001C67B073E9C9BF7D8EB68 BF061B1966866465C8F7E1D2DC98F39F3A9A0096D62314636CED9B4E2E09225760A78B1C58A1C8 2BF342F7940F6FC838F4618898C313CCE6311DAFBA75B344143736C7EAE29D4DBAA4B56BB3781D D2DCC86BE5A4C4DE100BA03E4B133A239B7F6C3ACD1C4B4FC59CACE546E74591C12BF7497F908E BBFE7160563BB47FEEB502E3B5B21EF579E375BF8B29ED72640EEBD2BB10FA2B1C30ED5EB0A089 46EDCDDD233DBB94E95FB0012CF8BF944B683DBB52C90A08E5D53B2197FD4FBE9AEEF3245D6B9A 295445C148C20C597CB2F705512F3EBE2CA9A63E1B479A49DF54AA5F052283ED369865676C7470 1D7F3D4745944506AB5B2FB450300BC1AE7B0F9B0A3F1BC5499A53962C4143455DB5B3C554FADB AA6FE569A1321DC010E5484EFEC85CD8CE23C89C87D1AA2982880C56109F596DCA8258FFE48384 1B2672711BA606DA73552081C55D0DCA31460F3C81D4A8EBC7C55A487F2C08A986403E209E52B1 A38AB94F399D667720959DC10F9675BBBCA8BE368C3DBE8A3C82224DA3B977B0ECC13EA85F775C 1BAA1EDCD9E1C52E2169A10098B56C74E2597E5BBCDC693E27BD947033700DFFBA4D2BE22C8C0A CB0D4CB909EBFBEFD2F66FD53157E4BD02E8D027A060BFB1452FCDF79ED71245F021D29A21D16A 8D8F2D0B53DE50B6E98715D2042E2C46B7C3D77640170993596EB481FE6A6DCFB6FF046147C68E 241E62DD123B598D408FDA25A5FF8553B44FF1620FABA4610F905C7EEB946CD6A09D5EA961FDB7 9AD3EBF9836DEB52B4E93C4F1A1C89140272C4955908203C803C5803161AFB2C9B3510CE607F9E 2BB8AF8BD19B38D38F7942446DA9A92770333F8FDEA61394C4C1110CD91E95D3C4FAA33841D79D F1CA42B0115ECDED6CFDD92D36A2EEC3A2904C354206B987EBA4AD69DD6B5C7A45B96106593C15 F89796CB639575DAD7D277E09D347A4159EC19A8D881E6EE3E9093B51E9D9B1CAA1F0809EDC2EE 206F733C1B11C4292F75D0F37B25706AAE5E7900726478DAE756A7F59B4D0580D2FBC839D6F31E 086CF751F1017CD84AEFDA2D318835DFB74C02B01FB151D72C4A84D0BB976A2C35ECEC00CFB83D EBD59C29F54F229E087C1C6E6D7F72F32685E2AF4D4353499C399F2438D18FF0E011A0532CE68F F5B644C3D68754CA5BA2D48E0E23C80EC34F43468281AA347664D916F56E97B9F0E17A894DE514 9800C5C7B78EDE6A882D5180EF9F51ADA5E3B511B07A89CE1680963DC3848182BDFAF361D9A893 830547B3FCD4E412838E214A872EEA88FDE6298B15BB69FF9627EB37C27F89071F9DA74F4D6C06 37669C6C09BB543518AF798DC1B1A10E2D53D24C3A5B1A485D6B8179DDDEDC7B82D610766BC80F A1B2C3D3A4FEA53933A6FF83E85DBABA6F5EB94FC23EE28BA710427842803E0F375331FA1EC106 8C396CCE31A8D68B1A7A0EC87CC082A501F711E93B9FE3DFFDD8906566B7B25A260D1C64D6746F 80A2D323058BDA6BD4122F0C04B39A4FA271E7B75A1D8FF82782540193902C88CBD99E55B33245 069BDA735E4991447209892CA9BCF5802D44A09BE99EA64ED4EA1FA39B7AE10D8B47ECEDA33D80 F8BB0684F289746D5D2DCCCE59D4E6F48D8F7EAA81129BC47BAD6E74F4ED9B3032156B302AD7E5 C2F79E5A0A9DC77FB986BB46F4039152EF22331FB70C5AC047EC864F5EA5EBFDE11B5EC4081CD5 FCDAF37B47C5CC8AEC7CBF21939F89C998AD080B530E969D39607B30B5E4474206902CDED411E1 261FA85AA8CADAAFE9C8D0CA713066ACBCF385F4CD377194D26BBD5918096A3ED2C287A058725D BCEF5D6D2A0EA6300BEEF77AE3C6CC068649D077A38CA6884BA08B9523E51DBE0DE61CF651B7F1 27C93CF9A756A521276CDF6ED0FA7F4F559BEC19DD8252CB5409CD25F20D73D53375CA25DE2CAE C1D980C6C0B99D20E3713741A86003237A291A0815FA13865649B802C08B28312C61A95910F8EE BB51351AD5D919FB238D9BCB5C0653A14258C6899E22FF0FAE8B81804F3112C598D1C2F8860063 C751F39CF1B7ACF3DE9E9B6F6FCFA55A59D5516C173C90B491ABBC65EB3D93B416597F22825D32 22D9E6F5F7B993127288D3ABB7E966C9F2FA0E0A7A5B794D72FCEB0CCBE9A201041FE2338BF9BE 6241012E1E255327CCDF5FD1B0AF10626DC35C269A6E5EBCC697761374898384AF1B00BDF33A88 E7B9628C9A44435BCA110B57227D9BC9D8BF6C2F205A62E189E683E50EFD1F09C38E62B4B12426 2982074470A4CE35EA939B558BFD24593996AB198A669393B749AED33991D833F85DA040A04379 57CE47FE19E30AD150D7EBF3D9FB521ECB0D3C1DD75D45C180619E0131BF9636AD108C6F7F0F73 0937E3C8A4F788EE09F3E4A23078A79F386A7F638286AC0045F9D52E8D5AAFB1D4EE7BAE0B27EB 6FEBE7D6336241930DC406A45F261FBACAF975B7C4EA25E3751FD1806332CEA37442F99EB2BF69 C87C649F93C5EF9DB13584690078CF7BCA17543DA5F867C550FB219C8581F3DA4DB0BE951C4932 D3B65056CFC178183EA34389B3D28661979F1328A326783AC6CD34144EBB33CDDD58EE8A9A7DAC E4AC91FE1532310F9B36B17F3CC79E6878488AB43045BC5B95397CE872D1429ACCCA5D99953C63 028959839EFEC3F0A8E3052E4EB41E673F0FA73B9F82261CB6965C621ADD6DD858D7B2A8415C11 BD9C51FF31D1F90332E076977C6461288A644D66ABD8E295AECEA2F37DAFC4F096FC0AF34938A9 2C1E5D94A438319FEC694EE5E4ED1AE5C1FA82DDDA55C394C73CE39F18137370ADE011C4FF7213 95A444A57EFCBA18 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr04 %!PS-AdobeFont-1.1: LucidaSansUnicode04 0.9 %%CreationDate: 1994 Jun 04 09:58:28 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 04) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode04 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 57 /0439 put dup 74 /044a put dup 76 /044c put dup 79 /044f put dup 81 /0451 put readonly def /FontBBox{-90 -211 1024 940}readonly def %/UniqueID 5054504 def currentdict end currentfile eexec B947A691BCC86A8714868C4E8EAA6693E50213672FA40A24C1BFEB6B454C65D97FE3C8875CB7FF DB41FCDA8653D373718784E1CA8C2E52026C505028CDB223EDE069E4FBEE2F9866016FCF3C439B BB0802FAB586D7AFD17C75C2C867DC859619612A4199CCFFD6C8BFADBAAD892A6C666D828BC33F 4F4247E844052898BE31C94D164ED8D032C6F943D6ED98C08911A23F5A44886EF9C56C418B6902 CF632ABE9998ED7354C01793652E9AFF38B16675570C3F14DD18F4E0EA8F81EBA3B5A2EA1A6A75 2852B45D9DA70764044BA4537DB8B3E88BFED459F70BDD5F881C906573D7E01AA459D103FD3D95 D2C0D6CFC9AA56C9706482A513FCF9B41E612B7F6A70EB084A6F9D7BA73BC196B39EAC357B521B E3232A0CEC9DDF61F6A57661275C3E20359577BC2124313A4BD33BB79B2760F11A0CA7BF9AA8E6 83EC1146B0B2074D70789306AFDE9BC65D8998C6C6B28D89E7CF52E057C9E40738983F55D859CD 0D719713B944F82DB6F8364CE44A194C0B4E6E987C2A392DAAC78285ED9C29C1DF8F23842C6AD7 F2C362923E2E3C896F4759020EEE519DD5BE0603F7ADE8A7908B806799345CC450EF767993D072 238A614D5DBE33015C181CD4377871A633824D0DEABDA62756476A2E12BAF3A891001FFB69FEFB D921533AE16743B926BDDFF77BEE342CD2AE8AEDCBCA8F90A10779CC9BF24974B4956DA4895299 542E68FD9F5134EB2855709D7F684998BF878869A32DB0C6BBBE28B5AF1C1007AD68807513BDC5 583819F8A5C8FA338B6CEE5D696B0BE6AD4C132E8CD0F3A0FA8DBB22BEB7F21AC6EA9D2CE4BA7E F4A1D55FA87B7A57DF56D478B444FA969F3CA003267F1B45E69BE9210906D363A62731EEF97540 E5372A27983ADC774AD984B795695D3B164AC04CDF48FDD5697A3F855E53189B795887549A79DC 69AE4EE9B7DFC5732BEE8F9FDAD6008C6EC06BA5695492152EFB8C2A2BAD3D44EEC08617AE17EC B22CEFB1122BF202A212F998882C2F653D56F2D0737FFCF84E0D52DE3CFA539954AE718331109A 30267B8CF12669EB05BA116D01F8F01472F466D26400B7CC841BBE94EFF2C95B36C695AA91FE51 E2B1DD43A459E31E01017DB6D44ABA40FDECBA6FAAFF5D2E83219DEA8777A845F6E4F586E73B42 FB7116974F95E2BC2FDF85FD5C561AC5582BE899C9E85FDA05D02898659522A38B4F497F16F534 CB8E4EED100844CF77E70A0C9C6C18C99124155AF1BC7F67952DADF6FB324B9F70859BBFA5D191 D51D024897422139DD5CB41591085BCB8A9655A43A7BDD93D78C55859F075E58B5DCAC83BB00CB 815BE032EE24398C06F8F578B49CD897740A4DA7E6DA7DD7508EDEBBE1CC0AAFBE06F570987512 0A1B016A82C5E1C27E48B4CDD5F2884A5AC18AB5536A145A7A83EB4AAA9971865EB69EFAE5EA41 5A9CEBF4DD21A7C173D5BC38DB8E5C2A6EE01B504A3FA492A889B67F9E27298149153FE446F040 B7E2C781059C65967C51E23B261136557B76D675A79A006AD83F9E0A531C6EC6BAFFF9B02788A8 35AD5EA6C7F8CC684C252AA2E7CD05C0ED81B8BCA7D4C9A0485DE412915310EF3F8303F5F4E222 769DABE6CC59CBA5036F3B6B1881971217CBDAEB1ADDA602EECECA4EEC033A1485FC32A9F34C57 994BE283205ECFE0B241FC56D225AC40984DEA53961B7D43BC47F7D4011AEDB3E3D824881173B0 6107D6C34915364BA13D09B64F088504766072E48BECB0258F002BCB476AF40B5565393CEA08D8 0B86330541D0015DCFF19A3FF11DD0DEA1E164295C22677DCCA2E69987C4DB4273ACD833F1E8A2 90C7C7E83154E97FBDB5B28103DD17BC8187A0F82B0BEE9031F45A869161510B16EC14EEE4A90E 4B0CFF0722D40B3A54EB15AA16C4A9EB4747B76F3EB24093BCD34AB43651603328086709CAB4CA DC987A0F15AEE2EB086532438092DA0DB860C994D5E3892618A1D6D536BD6E1267C1B79D2B038E C3EAC72BF37A07F8338FF4ED00A2C096F2C6DB26E71F13E023D25D3F3E547AB07E837DE246E0FA 73356D30EB9E8C83D2A08745B3A238D1FB9F18CA32E2CDC93884D4B1F87854BBE7593C45B8F7AE BC916EC39500AAC2522595A0593F2B95ACE4EFD4A016D6D6D1172AC47EA3C92AE915608F20F0BE A10E875F9DDF6E0EFA32C3EE7965F34AB6CB670453DFE936D4D1CD77E44A1E01B81749EE49A4FC 7759CB1E0D30CC814E6AB9B51FF675A22577A3DD8025E04CCEA149E717FBCC8C424196B35D1924 3C562D1FAE2E2DF182ADD0AA15FBABCAE89D91A363D3691CD9E2C6EC022C34C1D5A6F0EDD6189B 59561647A60F07E60202401959224E551F14C940667AE193924A0A83F4F85D071AF94C79056CAA B4BF0453F2EFE718C7925B7D150F810156BC31CDBD19548B4365E214CC8DE2357368A8429A9D80 6C2CF8AB10BB393455B8EC83DAD41021DD2C3C8BBD19F7F086C7D4AB0E773F9624CDFA6FE0BCA5 1A581C845241710AE04EA754034710C1ACE81F3693F17A4144C886ACAA69D797DC781402C297AB 5D83D4CF37794E7186404A8597FA96FF43DDA263AE1E5BB13132DBC7A899B7E29136D8ADA59BE2 F9FF6DB733B428A2D4BC94024D03210C67A9DD92FFFCF7DD20DE16564FFD28F5BBAD8FC6FFB08B 8EA5C8183331931769777C502E4DD4348DBF937560C37168C6FB31D04483E204D23C51F74BA204 8409709D3B387CF7ADC611C68BB8DCC51ABAF46F4557D9A7D39472775F17F7D57FE5BE656B7178 54306B9D35A6ADBEA90A4CB0B4196045B01BCC454395C6DCCD91DF342E853E390D0A060A587673 6A7713D1BBB7EBF6BD15680DBD6996E69BE0A25DE4358BAA6FFFF20AB9FAAD1F62A773A51FBB25 9DCD63271013026CC59090452EFD867D24C4B87B30C8B338408836B68D9F5BA5444C5AB5075D38 1A8FE2FC68F3E307710A68163554EBE7002D15D5E5A8DD662195CFF998B7826FB58345A0C932B5 E3505C5A7174A649668910C3493DC2BDD0635275431DDD1304699B371FE983FAB90976279ACA40 6777877762511873E042A65E5F0D3CD63B692D22364A208B555EA28963348D2C2DE3BD025E54DF 656FC7749C9406325C809B36EF3CF9BFE641783D6B82DCFCF63482D2E82BB4DB6599D1771B6DF4 FCFB7803B5853A371CAFF56A1A6F7060AAED31347807AC7D0114BD90CFBDF64C0A0BE6D2A18883 CB9577A8480062E6849942CFAF4290F2BEFCD4B7A212F88B6ED02A82F4134C66609096E11258E4 6E9EC209B58597889F3B86F66D5678CD1F0A0260BA8305EE6B038842FC4244767E615E15626773 1006379D908D8048E94ADB70CEB5E6762763E8744D8CBE771B01BF51EAEEF378EFC38233FCE953 1ACC4F8FEB18E3164C7C834F7A253C0EA5CDD0A541A0E8A263EC6CE7810D311D45C018CF88579A 60864FAB0D4D6E8DE5D2D77639AA944DF27C99067D4FBAA626BD61B36F4DC0CFEFC52DD1EE665E FD87E73F791D95BF9368072D720A8E7069C9C9FA65D22B0C401115D19458883F4B37E631D6B532 8C7E5A10B6E3F9407FB6AB8DB7D25BD0D682B197EE8C55663AA50B6B20DA99B489F8BF5F091949 16DDF7781E5E437C208BD4C68F2DA4B4913C69DE358E9E8750F8AE45D8F0958F30FB7AC997B253 C255CDB46054EE7CE90EE8C3B0379EDE79009F6952DD0C29A682813B283A18E11ABA75DDB8985F F81377EF1420C3F93832DA217576D9871815CF0FAAD815FAA4B8D93862E0F7FE9424A40186E933 81DE8FAC067BFED22ED9A8D6794FD76B97270E30ECECB34C4CCEC5C8681BDD66DE14679A85468D 2C7952A33C265FB2650B1D8DC32E867A98354E21F5E644688285315034BEA5C8981C9B36502C87 4A3F87B5BF5BD1E3241B4056D848F46BE457752DAB938CBA20A7A8643C99E8A0719D9FF7422FC9 1F25BDC284D1F0664C6EA1900938848BCCFEBF2BC4A0E37DE2DB48C5311F7BB5FCE22C3948F8C1 AB83B98945A1FD7F8812CBCF8852F20D26B70D94D04E4C3B3593BE0716B016630E43C349B56F9F C17A9D19172C4E1220F97A7B350DD592CE9E8DD5481A3A0733B95C58241B333586198F375F1F7A FCB84E33878056472D0153459A5AAEB4F264AE38CEF24CEBA2A32970E642820E9708B137180739 0755DB1F6E830A73DF803365B93F815A330E307828F3FFE89B1051EF80466E3F2BC7C5D703D5AB 10F0411C20E72745A13167759657C8F68457BE6C9EAEFAF4C689839179432E36200EC7C492EF2F 76AF90BBF8333DE26D91EC67F32425B3655D2AB080D6F62AE8CF99002BDA6D369529CA0110265A E93FAA293D3E5CE6121C899FA575DAFAA8293DD6BEB7F8F5356B7076B38EF4E4DB70F004EB1FCF F2501A24FC75A3BAACA7E6D0706FDEB788C4FDFCA642536036F90E65F6BD876DB2519DF5085C17 E5474B454FECA74BF0F3684698585397E3E04847A1700307B25D00A2543C5F5AC662798C2BCEA5 1A56A0D92E1D376E01898FAF604AE6C3861592CE3CCAD063C628E15C2F459A6399556F582DB160 0C8C1C55FA94E64AE5754715B007AFE6E024AD0E96218E777E90794820DCE4FF8C0F936EDF0C55 2808CB0DFDA4EAD0F1FB144651891982DF671D9EDF47798A24AA5F0B33E9CF63AD8AD4F3440CE3 76B4C47499FC93F8277F3D22457B98F956C39C53D177F0CCBBB529A36055AA4EEC626A7EEED64D 646ED1FD0C3685CF4E2DE42693E7E212343B83FD75AC33DEFB9D16A1771D6D3622998E556C0AB7 F2D811339E89330348FBA8AE94EAD8B18BAE18CA3683225EBED1A4DF9EDD2FCCC34E74822966D1 D5F71D2346AB76CC3D0AAFFA3E3D57CEC007C9D892C5A82809976719F964186D3279D79B4B5AC1 F0333EBB8742D25644A962D02EC011FDFD7455120BF41418D4FD6313066DBFE5A0BEEDC59ECA8F 8D1FEE9199848433A584EB5347173D726A521859A91EDA4E2D73EE7E8C51339B86305C63E35E86 B4FF303B8B1075999B68513497249C62ECA2736FF6958EC66FB78AFA10532913ED98C1E13420FE 18C9884E3DA3ADAEBEB2AFFC5800668A2AE2752BD30945BD58C75EB522F869CD640B1BBD982833 F92EE830EBB96507F4762E3138243417FD2C4738FFB542D1B2A29CDBCCF9F3CEDF879CEA7CAAC2 570C352F4E4CF19D069FBE80F9AB796AF8F419EFAB203B930625C4FA2435D0760067D328A5641D 834A56E35ACDB03751B97727E4553057FBD08C1236E45C424368A7B1550A4ED7A5E6270190C60D F2E025A2E24392AC419DD2FCC5D85696A0B2468E1995C3AFDAE38058FA85E54DCFFCF687707847 39FC137FDF9D6BDB97E38642A6E6DBAE8B2E599069634AFA5FCB9DFD01A00F7174EBEACA58E0A3 29B88239CD746022D2B10A8BC3CC15CE973353C01D98D8B2D5AC9253CA5ACA59AF6324B5C69A7D A13E28170A4077709CE7B4B77B407898085D371E0F9207BB42ED043D8579D57F81156EE847D962 FBD8412ABEEA9B941AFC7B39A51391D02695C8FA95C775F8CA84DD46B2A28D1735C2C5228FF7B9 29AE385AA61818C2E9568A4F23F8E890583E7DDAAC4F48875429CAC2D54714D179355590FA42D8 160CEBDCF44BC348271FBDD219EB95D1153075C82383339334D05F741D7CF5F12F85DCE3A25BAD 6D518F3B13A0DEE4DB2CDEE3D284A8DF2F7B1C9D07E8D7F9D47D6BD6088591A9E089EA2BEF5B83 CAAB3EC766B469DF9640DFBB4C32E505EE2A01EBF2E7155729D1B9E205711A74010C6BAC48F73A 4CCDB21FD55BBA48ACF5E5126CE38ADAAD6DBF3EA6297C56EC9CCB98766DA4C76DD8542BDD1596 BBD288C262E48A15C27690644918944E039E9012C08E62A63495BC5C6E82285885A2E830DE725F A7C746BCD0F333AA0DACB4D044CF8DA68EB5A1DD7B657715562D0D3F3F94F0B642C06BAF360191 193F6ED4ED5F781AA5AE2DC7E9A6B73B182092BD5ABA6AF79E638152F7747E5938ED28D9C7D894 A5762C519DD6620CECC58B2D583D38B63584172CCE9E4D5B3737422ABB778B2B85E9F6C80D3CF5 FCBEE03C2C66613A8C5FFD6E5C2A4377472AAB0F1B93E7564657CEF1BA61C10849686BA4176116 FEA3C5F3F89C492C1CEAA310E9A8578B7C5439355A 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr20 %!PS-AdobeFont-1.1: LucidaSansUnicode20 0.9 %%CreationDate: 1994 Jun 04 10:00:12 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 20) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode20 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 19 /2013 put dup 20 /2014 put dup 24 /2018 put dup 25 /2019 put dup 32 /2020 put dup 33 /2021 put dup 34 /2022 put readonly def /FontBBox{-615 -440 726 1024}readonly def %/UniqueID 5054520 def currentdict end currentfile eexec B43A59C23D31312E42BFF7A8FFD888C8118609E66724952B45D5A38971EEAF7AEAD27731404947 E5D485EF2185B7B28FEE76585E49D85250EB800DB5DBEF09999B470F9167BB8A81B88DCF399612 0C5E5C13C786349E7F44E018DDA185A7327A13F55575F00A7B68BA5390314FFC1BE676564A478B 1A253C30B407F07FEC8E3E3C46BC787775A409E084B26786F0856006E38AEB9E71FD27672DD999 15E5FF51153CD2575D5A841791BBB0DAC82FC347B4323CDA6FA02627CF6F313D71FC7B56A6F4AB 9D45D4EBBA4FF9F13323865378F1240393DF17083189EA6A560B78F670F31187E21DD2282A40C4 EC215B6E053C952A419363825F8074AA1F2791D599B236931ECA38548DF42AF21A0B93299C7A6B CD562A5D47894A3F2BB10DE3513E0101686157DCCFE12025B2F62AB48BC56966D41430446797CB 34EAD92D70125D12FD83DD10713076729FC32F58FCE51BAAA5865AD74B16825913B821284679E5 9C71C2DAF711C0E0D4E82BD5FCAD13D14E69C0C9E8DCE7F05D2A5B1F4B724498D405664EDC7CCB CCDA84490522BB752CB6BB095A3AFA53A75A04E8B6446C38CE1F543231B8E7A462CC128403A30A 1553F8AD4952935A99E6781121623F4DCA70C680758A89F19FA860DDB7A02B71B4265E4EFE5CFF F0871888F3C17034282B2250FA41A8529AD3CB49FC2F94FEDDFBED06ADB863F82168180A185578 755D4D43CBDF4D1FA47B05871CDF84694574CB0634E35C47C9B4BF695B573F8DE08A555F0A2DF2 2774590AA572463F9E2FB1510BBCA5E8F6ADC8217855D4F1D5C837C3CDBC31E1CB6F52CC6D0D65 05E59AD73924E4EB1B37E9C433BF0ADAC35CE1832DACF7FE538E921DA937CE895F565305535EB8 17575E443932C9896F7D11431F8ED21EEED56E490E157FF33BAD34EEBF76042168A86077AAF03B A2173A795A37E0BCE53179C645E8C12C0FCBE7C33CC1AF08C58567B83B602E468A8E635F0811B7 6F8E4318EAF2CC3C5DF01FD2A95662F00029F54AC7C8FC2B999CB46D6AE8D3FB1DC657C6E961C9 F870BC5692211F2C244EF9CCF84C65D013425D119F60FD2131271C5FC6CBFFCAE54064DE267BBF 3E03F44C47BD24364273AE3D94C9C818825440FEA0E06CCCAB1CE6C411628FD565E8C78B039371 F4F6618EDF8BBB15197285A8379DD1DE9B0AE8C580C44EC9A7A74DC4A4496A4868355BD28FD537 38C81C8060FC059EBABC9B8F14F65C347E47EBB861DFED01318BF955010A0ED66DAC569E6794F4 3425476951FA9D84A48D7F9075B0A197936EBABE6B9D3513B542E1646A0D32995AAE08FD77921C 79F575F40B8E813B330F1AA029FE6439D7505B9DC9210D43BA9CE32E3A14EF467C870B182ED37C 654DAEF47A595E363AD0BB939085DCEC7155829BBE1E1A47F1F2A4F3432E34EC91C1C85514D35E ACE265943CD46A79D4226BAB3BF354A04F0E182B759835B9FE8F76F505057869CAE56BA3350712 EB5103078544D804DFEA9DDAB528DD4939273645933425C0F64F7AC4E5D3B01D5D76CD95C65756 B48FF39634475BA737AFADF17FBF3CD5AD0E88F6356CF06EED43EFEF9B5433EB1600D38D203D51 A1099E2E20641DBAEC087D771323611E50B960C1B20EC7B1BC71697768A088D806400AB4CECC04 67AEE799328421391BA370FF34C617F15105260632A8C0F4B22E792247E390B1F564C6FE227B85 5A962A6E06E6F565D8D54F9887042237617FB78CCE75B0AEE938B1FF3F0362D6BC139C871D1BFF B8AA0877F9D3F0DB55ECEE0AFE6871E01F204332718A0EFC66EF197523FCAF46898F32C1B324C6 DFF22FD9BDB4DA9D95D5D2208CA9D67C6C13B3A3BCAE8AABF40EB224AB9CBA55204458FC526DD3 8380F3F432EE69266C02ED0086DC8D6053AB3D3330D436B04DBAD95818B0A5025CEF13C378A9D7 2B6C775ACB4833AD3570D1E76BD359A5A8EC9C4F0938F7240A1B663AA366A4FCF3C102DFB0FC07 994E668F503A0E28CBD1CFC49041562DA2249B608712EFC10C9A35E0FD9B346864E6AF644F07BE 325FC4E08F81E9E8A6DE438D3ED64F05A57D3693F770C2E139ACEAB73366F56A94422EB50F6670 9032FAB1F7ED83D150A8D26B45D8B59BF720D04C4E283A647065EC0CC0D55D9FD7C6502EE3DBE3 E785F49966E1099CE4596EA2F1CAFD038E882F05CD9628F74A9A09A5DE677704A12CD82A95BF7F 01A5147536FFC7EEABA0D288DF1A9C9B639350A266C42500696B7E925174AE15CDD011119E8288 7EDF23F0AC7EEA78E38104C00BACCED03A7785D88FEA2B4A3EC5DA4ED2D0357EEB43C4278CAEAB 5BE44EC6C777B67FF30140A391A66CF1B47778BC0D9BF6804E78DAEAFCF1C3F67760C94ACDC930 94E68CC33121CAB7A1FA79E8E14276CC001A8D31333FC78721C8368034B418756A9EB23D1F7104 43326DF928CFB2E1F9246CCF09F5D21537213B798D2B72893A8285EDCD48509C022EDB3E0943A8 AAE2FF11AD8B6EC442F30DE19215EC6BCED82C345467DF50276F8123BC061EB2ADAFA6CDECD1C5 5C529BD9B1ECE353EE7A58BDFFEA47EC30FF94FDEB0E465B7A45EC795797DE00F78E180B73B3A6 F5B3F35BD80882003053F618940DB675D846095F63E90CC77B5022E963CC39915CF3B95F8F5A45 4419ABFDAE6087C4EAB799A8A5F1CD7A234A2407A2C08DF813227CCE6DA56F6D1B081278C6E046 96CD90F917C7AEEEA3032A1A13993079F3C41DCA1FF2B300BEE78A8D9512736DE4DF75CEBDDC58 33F8D1555590AC92FBA63E2D59B80EE8DEC88CF78435CB4CA57D702DD144893C3279DADF5C6164 70EA7FFF87FE66F510ADE5B32019709CE6D9BBEA02F2BA243975E7800839D904DC09C2306A292B B812F8CC973D40810ECA109BDE38961FC2678BC1CD377E2FEEB43E2072B38621801D5ADA0A92A6 5F37C7FA277ABBBF372D08B834C737DDFD16B51190DD3043040B9C060A1828742BCF814CA98EA3 77DB2DAA1B027BDE291293D8CFC3DC73A75BBB4BDE3CD80FDA05E46A2CE0B003663A2003FAE55B 0535A681672F7D8FC966834DEC4DFE56D3286FF86C10630F9EB91BB731A9C2AFDDD4F1554C4728 4D68FE4A486EEDE086A565929B97FF763B31B5CE48678860215F768CEE265E157F1A44C3092FD0 48239B140F2F8801D05B76FC9EB969BB6EBA6D472F1C016B94012127975E20FE911529090CCCEF 4C980611502E8641568824AA0F18FC3CBC5C2C46DF4A310A1961427A7785EDC75D0DC93FD03C26 43FFE864A91F4F285FFFB5C74803081A71AD441522F4C5DDDEB96BF5A7080BDB57A22AE8DD9310 02D940551006B0863C4274D0090A9C2EA9516F291F4A833772CE2F0CCF7A92AE08BC02CDA5B434 3D8E61C1F1ED39A3614BFE3BBD2BE7C9C3A64F1F7FFDAFF51D3FA0357F672316BA9810A620911C 06393D472F8BFAEF9AC09A031C3A1A33816A77A6C5EA88AF4D4303EC449982D05ACA3481807F2F 0775C87DA047792078D7FD735623D86C37274CB49235A22D01AF43791078E4AE92AADB3EF71EBB 7C96F303E70F1E3F7569471C6A0FC9B9C59E4DC141FBE2752F6717F4A7C8CB5D47EDE806D835D2 8F48927CA3A3C38B1E5310A47943668646946991FD87BDF723BA535A587EC98F9CC86A15F3AF79 625C5E9A1570412BD515DBC288A9DC3E4194A2031707D47E54A1FFB73099356BBF4C67A22A71BE AB39619759800E4F9F4B558457CFD32E456D546BD2542B3F493A2FEB432FC1511587E4F5C0BCE6 3BD4CA268846F13233A6D3E22CD92BD8E19627B71EAC34CB56125C86CB4168194ED4E45FC6B759 5887FCEA79676EADACAC6F0A35B30B63E61C51DC92E4FD960EAA2105ADE6C4E551FB59E0381ED8 90AD55857073689ADAAFFD1D27AF7E9BCCD8078D62E2299E35EE4255817A3E7CBF4C142AC2F10F A5486FCB20EA7E6281F6FB7F91DF0A48B0547EE2133AC09C1E0700039CDA77281121975D84864B FB24A6F6E05F5E801FF02B04A8FAE6F682E7C9A705B0A6CAFD3A84698528921856038137A3D111 30602F28D61D26533FAC142D5A6F0D7C918D16BF3C1CA65109ABBED3BD897C8BFA4490545552D4 B15F6264FFF4B02CD60970D6D8F35A18295A2AEBAC056F768F29526958DC1E717FD5D6504E303D 1C36802BFAEC578F5E3F0D1BE9FF5B65B3AF6DD63FBE07432BD1EE72BD24C27C5CCAC3B95FECA0 AEDCB55933140D1041DE9F2AFA2ED9F3D4BE5D7D0C7F325AE26CB1FECC40CCD6A4085515A11F62 26 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr21 %!PS-AdobeFont-1.1: LucidaSansUnicode21 0.9 %%CreationDate: 1994 Jun 04 10:04:24 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 21) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode21 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 144 /2190 put dup 145 /2191 put dup 146 /2192 put dup 147 /2193 put dup 34 /2122 put dup 49 /2131 put readonly def /FontBBox{-30 -325 1384 883}readonly def %/UniqueID 5054521 def currentdict end currentfile eexec 8CECFA711B4939E41CA045BB7E8765272CCE317ABEAF2B07E70D992D651C41DC23B029563922C0 95FE85170451329EEA8C7BF7A2726EDA9D9C6D097F0F7FB11AE93E80BF8DFEB2012E3B9F49A227 13E573A8BAB0BD7AA774AFAA41B97C6C70A3BF84A0B468C41B70D35F1310A4BCF2B97287E2FBF9 4A30663A4DBB485672BB54D8FEAEFDE594B3B73220D0C873C546C40B5138841E9803A47402513E 8FF4F9343A0E92A13A04C27921E3EAAB23C355AB06A42C0BC5CEF70BAF6D687B5C79B5360DD42D B2C878AC8DF4228BB74DD81C6FEFF53A36279510E983BDCD1A8145830308160030F770C3DE994A 4DE01ACD31F1D76E3094B43F3316267B62B6D653546469CBD35DC8B1541372AACED3750E498938 970666D8B36D41627069EF1511128034B8A364FACEF8068FB8A2F7F3209E5A769AF14C3E7F044F 6892F9009EEACF40CA1AEC6F322861CD38A8CE6A110A5C348EC2CB376E5110065918A03C02835B E3E89B986010D70284A334D6725965CD86C1F4937315B5BFA1D7E584988077138480F1B72F2870 2477850CB729C71006FBA750B4989EC757A808D51431556B673A084E350A74279AB2E9C638F7D5 B6BE1D50118747D01A6F3250CB9F204E3B03CC46DEC9821867B2334D2593522BE05CD30CA6B75D DE85222B64269B1DA310838E5962A391BC8197808B9D11B877A50D431C25870F7043983E965CF5 0F5BA07DA4DD39F97069868D506F035C0DE343F7F5C12587B2B05CE2ADE6822C6C0739A54D5DAC 415135137E8341C4D37F7D4534BD8FCE1DEBBAA3C378C9C9CC083F3A892EB7E44144F118680E0B 2A94BE914FAED74B80747D013961C682A0C3A3F55AE7496F7A15786BB0AEA5B1079668EAED2527 9F744F8FD112A6C33DF4E1500520910769D69C8F4D659322035993A3CD70CAA65F9DAF1485DA40 CBD374802317B409FB464C03C8A46831DE7B04E924B9D8F5C5239CF99DFB7176B2A01C1A31AF6A D7EE0115C6CF9EB2AEC83901795A91D4563F32399E1AEB65ADE7B8248571668410AC1D86F71918 70B0FF9C844CB7E6352B01A2C169E37513CF7C37D131B042AE6584F1ECC680AF5AEFC74D2C3309 12C36CBA7D88E4D44C77EBD7377674DBCD9FADA92577843CB5B1C0CCCA0A9CC3BE2A8F4CFEE1DD ECA543A7967806B9F65C5337403864168AD5EED97FF91EA2A00BC4480D96D09080029CF4BE6975 B34B40182DA9DE77D82BBAE0007448F08DD19A443C3EDB130AA1E36D2DE61D809BB3508EB12237 E460F68508290E1DF4E45B652B0A2EA82DED7F3A5A05E9F6FE3CD1E8FE988B7258E81A243DA0A9 B677C368D33AA67DCD8BED50A86331179CD2A6AF65E164A925258D5DD67704B2F3D7B3A9797DB4 E5092122646EF94DE3FDB3548D60702ECE17FCEFAA298D9825EFB4CB96C20E5AE933A4F9E7FD4A D8BB4FFA426366AA9EC6DD84689F24BD858212C0D745D674D513DC4C07C37D9733ECE1D7F7059B EEEFBEA12DB1F8F21F6DB88EA763511B1CB80089383350F0EEF474F70276C7B44D075B21862115 1C4C8CE0303FDC81D848F74CFA94CB2D2F61FB99B92DFBC6CECC15955A790C62B3DA7654CB95FC 9EB2544F05AB69475FC405C3F0F1E80EEA5F82EE0B3E47937556C7E14CFEF5A58ECD7B975E519F CA80763297F483FE24B96F09BB0C6ACE0753EF674B62B6F7C2A301BC1F8C7D2A84CB9DBC68AFF0 7ED80EDB570861D23430D1A30653E5580B9B9902AAD063F04A700E801964927CF9943A074D8FAE A48CB417EF69C589EF625E46A55472A0A2B3CF9C7CAC86764E06ADFDBA7AC08812B171C4ED089F 3FD3086F97D6B96299E47EC1BC98C8320ADF7DAA7D384A128693DEC73675CD0C185BB260668E38 9A35204FA0838F70D1AE5DC74957D9EA2E2C3088D660580C20D51B212B6CC83D9003260FA4873E 0B88A4DA8EEC5AF1DBAE1C0D1454746F9014753E3CAA9C8AF20D97E949D8685D5D9130BF1A9F79 57569B17DBAB5AF2F08737E9A046C0BBAA1238D2A72504B9131401B96606AC9230CACF736151D7 E1F79E7E4F42F625AB66F02FDA6C31C497B1C2A2A0C4DAA420B59D647495B306723195DBF74F72 FEA3B0BD8C2A16E95B442FDF0B39CF601FAE4BB5AC9C85C1042A6C54C44B60B3A44D741E788165 2126A8235FB58650ADCBB265C349F5A93543A4F765C97225C9566D7C4DCCC6779E05D9827F8C00 D78D582BBC77E25C3A170C469A268B483BC3153D851FFED8A1911B6864655255515363D8DBFFB8 0C02180CB399D92C242F0F450766B5D7D29F59B5D7B47633C87A1B46EB3322715BE04BDB99E126 650DF431A9E8DF486C8C63F5F0D26DC24B9DED300D3107A814E4A01BE93CCB3694A99887C4F1A3 46DFEE064D27CA5D5899AD2F8B3915E304C8A4121A26C1B7B8B81B9841982F6ACCD03F249A138E 0F836D0F533153FCC8B3B4CEF39802D66A0EF0CE76F8E2C03D880FC4F44C1FDEDF0C50971507C0 7202C26CB4C0C1EBAE4AF043F2893D4B15B183B5B60DA901252BC6DE8D8DBCD54B418C088D7D07 3084C0809EA621F31EC5DE23374C5A4AFC2AAABE30A0CD14CF07914839804BC88A7340BED9C24E 48B93770745A08B2FD64AF52D5194D57FDCFF6ADCCB3A553343FFB2F82212E5152EC91D9F19F93 7839782E3A8FEED1128568C5D39AEF3638592F8321A7513B6C361D56EAD81E2ADC3DACE11B7B50 73EA40B36A9E042BDFE78E30EC5059549BF9D1BD29722E6FE3E3CDF81029F81E66C887B55A6E3A 96826166A1FD6D27B7B3B5D72046373492434088F7634CB45301F885909D249C2680E5B1AF7F1A 5C1A7997730E94D8A0C643937B284C0FE0EA447965A8942E882C20833C9EEA28D063C6B5C52F06 D9580E5387B9C87945B1990EF0537A00BDE28C42C08321C0730A04AB9A0DB8435F250E10FBD8F1 B70FF91E4B795BB353AB3DA14F7FD8B61AD2AF4CEF5775B16BEFF8E3198558F77036CEE8F21556 BB24BB44437966855114167168A2F45CB4CE1CC31FA04E39FE5F4F07A21D878DD4D833F2905E4A 541F26B1599463BAE2BACEDDA6A25569E27003BD478232E627892502ACAAEF3E61B56139542D1C 6D6A6B3873EEC2EF0BA2CB21AA0148F449697C43D3CE159B01827618C1E9A835186C2EEEFF0EBD C22D9250307D280706754476A9B24E141B88294CC88634E1690C5482E5232EC7F174256999DF02 FE1FAFA59C4369C41B8E9BA66699575035718309DC3409EF68CF0768E8A2AE0E5BBA760F3EB926 DD09D37641808114AA91761DBDF3D2BC64A42DABD5010465BD47597A69B1F88DB579B7A47563B4 9BA22E69D7294A81042FC2A57781D8FBB5E87E77539498BEFAFD98E3C1C761EE5E7B635AE93BCD E9479904AB3B3BB64EDB0C80CC2B04BD9295E208340BF65D55353BF8472EBC77 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr22 %!PS-AdobeFont-1.1: LucidaSansUnicode22 0.9 %%CreationDate: 1994 Jun 04 10:23:13 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 22) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode22 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 100 /2264 put dup 102 /2266 put dup 103 /2267 put dup 130 /2282 put dup 131 /2283 put dup 134 /2286 put dup 135 /2287 put dup 41 /2229 put dup 42 /222a put dup 43 /222b put dup 67 /2243 put dup 96 /2260 put dup 97 /2261 put dup 23 /2217 put dup 25 /2219 put dup 26 /221a put dup 29 /221d put dup 30 /221e put dup 2 /2202 put dup 5 /2205 put dup 7 /2207 put readonly def /FontBBox{84 -166 1060 898}readonly def %/UniqueID 5054522 def currentdict end currentfile eexec EC18885AF58F29AEFACAEEA59037C942D5A3FAB833BA43EA181148D28AB4B88B44CA4ACA1F92DC 003EAE53A624731252861B743FB223E6A26B5EA4CA4237504F6A6CCA326B9405AB85D95ADAAE82 22B5F340DF4D35E0A2CB80190E539D9C09EC6DE84EDF6E6DC6E40089958D58B17EC7357C0EB84A 61C5A04AB034973BD320598296F9A79CA937F8946E59DDE543CC946C528E3106DEBF61B81D7A8A 69AC62FC23908A8A656B8518CB8FDAF8A2B57C3C7D4B644754586A739AFE94AAA7B685E0B09EF2 C30BFEE0F183A420766F0BE21197DEF2C56A4BA47A2AC88C0687DCBA5494D19D543C8D7F43E8F8 67EF76E2E818ED425C61EB7D3EB50B1174995ACA71352D8218D3734BDE02F4A95E232BD4AD9845 09AAC48D0F388BD9ED89E3DB5276D12DB11621AD67DEB0F7CF2046A95D6147BD77893BD999663C 6BB6206F86C9E5BF1B7296EA35C677788DD9627D6385B6903C83B27CB461AB230B86435838C33F A32A0B5DF678E7A5414A11E4BCFF1098BA6A3A6C70AEC03193BF8E08C1F703E2B0470B171CC9C9 CFBBC16B532F551E32A6EBB545F8F16B4DFD5945ABF67BAD9AED02092F99DABD828C674A246A3B 50B6CFEC2542399D397121C09D60CD1F679CB805E385F3D63FCEC624B93BDA066709C669C50BD3 261D4A143B81F83AC3AD4052FA424782F1C8985A783C1BDAB4303948E6BA2C6F1645D1AAEF161F AA605149EBCE77F37B904041DCA83C92CC102FEA932313FCF28C23DA1D3F876F612EA30006CC36 B9376696E6D3C74AC6D5E39653C03434CEB58C958FFE72BE74DCFD7921BD8D29CB9B5D9462CB1E 6CA793A7E2A7F1ABA296877AD19BAB0AA44F0916866DAAEEB3DD86474882FD901F4FE785121720 80BB24A21D83C909FFD3ACBED7C3F97E8D434B4B3DBCC83A954037319D24198CC1B14695178CFB 18CC1F530CAEF7C5C845403B52E2A5CE0B7F158B8C4904B2EAEC08C9BA7AD693405E918356E7D5 1E87E2857B18EABB71256596245BFB5D3F3E547AB1355106CD33AEADDCC870BEEC170FAED7884C 82DB23EB4B99C4E856B81773093BF2B625D38475AFDCFCD02468EB11B035E4950C2E909EF0AC96 2C6C41D25D43C5653AE66D718013E922561CB88101CCA5E70905BC6D48B80C177F552BDC9BB31E D51DED3C0D40BC161A86C06F8FADC8449AA647EA6A83D9A5AB66E8CC4B5C705375CFE9AA94C1C5 6AC04BE22C68860DC51566D69AA649F97B43E557EE45E73B23EE06F851860CE6C29CFFFC95F561 165AFF73E18A9DE0A1660754A311DAF53146BBB751053D424E32E8600B50303AD1A7D9E663580A BB54114C9BF9E2850BCF12B5428A4CB8E458B16BEB43751E68BE952B34A8064CEF61452FF56537 EF56D18A3A3A3081029B7027600A1DC1199772F97102E7FB28DBF3A941729599B0F24A565C1BCB 62FEC5ED752428920BC1C60C08ECD8EB86AEF841364B00168456006B406FE14F1D4F338B142CFC 42BA7DDCCC92233212EC5B35E205372291B4FCA126E5FE8F6D4C8A37017DE0463D7261E98813E5 8B1FBF38993879ED183A30C569DB75D9644B0C6D237F76D760C3D77C7569FF8A1CCD752AD9FC87 3078022F6A3B1D749DB363097597C2CEF08CF19BBBBA4DC2AEEAC4312E9851639DF6FA9E2893B4 3366E631AC15951644702A58B7FF164C8D4137052A3CE699438B9B5FE2228DFD6B0931C6149B18 6B9F57F9D780BAA7835331B10EC5D837B9257044B3CCF8AE4590B23796C7A712C6F188E20DFA22 1ADDDC895EBEF28DDC6FE7C1086AB26B878DA3A1ABEF1E7EAD344CD7CBFA752F7C274E8E9C970D 744186961EE5717BD0F50B67144FD576F6B668CA608436053ECBE116CDE462509A48DA90D66105 ADE07641CCE083FDD6F161CDD59145E8514CC0BF34FB77B657A287EFF963E63DE600FB15BA6A17 87E63D3208F5BB859E650092902715185D69A11C6F73DE088D60DBBB98E70ED4B7C5D4CA9B2AAB BA91E81E20CBF4716D603416B399B856C46729D4AA83330CB528859DC68CD028CAEBF9FBBCCB5D 50CCF2D3323000855669842544A61CA55FC4209AF3D6187100C47F2681D3BB823F09D3DEDDFD89 C87B17BE0B0A0D14E75370C6D2CAB809BBE932E6718945D6933EBB8A24FD507906BC651216119E CEC5B916BCA6459AED96417AEEEFEBC4E71D76DC5B17A37B8945A83946E64B21AF0D42282B0E25 A3DDC555E709C80C5C8CDC5E1AD62B89A7CC1E1AEC962FEED653010E2FEF56EB5A14F810AEFE27 16F0A27E7EDC63A7D2E1C6AD410E22E35C8C923EFC2554355092DDA8113F6D9D5B5BEF54C824A5 1D7F5CA2CCD4321F9C3A6EC8320F9A577610C902B70B6B0EE5BD381D9A7C6B722BB55EA06DFB77 DCFE84A0397C8FB3BA4917521A88B43F9F12F81571C39ABE049D54405B96D0BBFFFDEDD0E90C3D D6B26D82D797C6B31B7FEC4BB0B51B2E8357C5CA8A6181536CC13498F7EF383B98281756F3D25D 6961D477191F00452FE9EBAB94EFCE0C958A415B7A8B0AEF3F072A3DAC3B6F1BC974CE0DC92A08 00EF65EDABF91DDCE2931A6B6CDB9B46E106EEBB1017E487E4AC078243A8441422FD61BE99A8F1 022CA7C9B86AC24E4101F46614E20749FA065C9F9EF8AB8D45DCB5632F7E5579A4EB5C44588E0E AB91E0FA25868A585ED5364804118B2EEADD52301644AB6AF821BD6E5A78E3BD4701D7211B4929 1EB22DA0301F61F69379F1319ECF14C6ADCF574657B6BA459E6FE012A1C6CF198250A7A9BBA055 06215E6558DEC8CFAF5F342975B444F98782CC674EF5E03DFDF803C5645F303E229448E57E3891 37A4703A784AE802B6D730C82E7A5981DC29B586174FB22E854CBBE4C359D27BEAAA684866AECC 6F33F9C1E0CDB2F97E32F7DE1C74CBE941D21EBB079CCAD9F45BB6C976331CCB1AE84BD12DDD0C 0245E24C556BD9DF805DDEAB76BB5B82A148CDFB8C17F97B70114107A41812EE10D16366444BFF E6EC7BB9FE286ACF78FC1C50369FA2E0E9BB26BEBD3112F8715651DDC05482809C0348B8834AD5 F8594197582B9FA1318E4908A108A08BF0163B419D0B20BEC4402E2B1E96F18552DD6FE45B9759 FCB8EE6A64B9D901173B3BB5D36EA3074C8065D37A7B0E01884A59841C5C208D924D8436AE36B5 F7EE7EBBD690EAB5AE9897B43B6F46549B6B41CFC6A5EFEB53A6E1EF8D9DF28E78D3186158D4D6 1C10AAB0C85FB5A9CC43535D2E458090AA80AA75F39B0AD1C02E3C103269E8A40E60832AA2B160 B78BF08BF2DB06C8D55C768055DB5F52D1F24A2599EF1F412DB23121BC8BABC1933CD43B0A5908 77246FD36AB18D0F0452325E5F1FD495499C754D3EFD68D948DE856774E476660F91577FA68756 CF17936C23246504495C072341C8AF8E7E4BAA8A5D7CAD373D9599F52A4D88C2F5DEB65A2B9C5B 6914C569F8CFF9164725C261EEC2AAE3C88A26BFE1B6327DF1EEF827562BBF37E8106729B5CCCF C0F1011864574E4D0E5B3CEA70B562F03BDDA49B107521F192D36ABC6ADA755456175EC9ABBBE1 E550C412239EC97662338E92253BBFC7D142570A6F22E212C8DECAC66B4AAAD9DF4BB681BCA16B 29B7FA623C47FF37905F923C0143AE479FADC0E27E8FA15B461509D847F02876975C6B3B33F490 A4820F9C43D3F0115C6157211CFF4B13696BE005FD45481C9E496B078389E01815B78C9402841C 45B721355653E4B64C5F226D114DC02ACCDE11E588DF5A7889B8670F1C9F40A5DB89A7C8E901A2 8EBFD43B24A5DB9B2F864C6A45F9DD7DA926DA86DBE5E2EC9FA04004862A5903F6A5F372303738 B42D7FC4A35941157DB85F26C8D11099545E57B0AAA49DE793C778B8E75F45CF566B54BD1DDD7D 17E3621418F09A96A4EA2D20AE83D88E45C0B083E0CB9F3D5FB7D704581BE82E3D242B3EA6A7A9 29B3B8AF7F5D20CD8303E7EE1CDD637E3DBDFA0B876A2E7B7106AB66779F1ECE9AB75E4C2083C7 C97B246EF9B67937CFE4DA2FD95A5E12D019AEB10A8B1F609F2426F53CE3A6573B8A13392D762B B2A97FF2B9ACD94ACBEA9A46D6F0F2C464145BC6AC740A19DCE03904FB928F29053493D4CA10E1 351458BCE3B003C4BD38C891559E363DB4F6189F4925E314F77E7900DB5285C87EF4E2C55B9A12 CBDA6762604F98B6D2209BC928DDDA85C5B5AB12876AE7D6864E8A242EB1251D6FD05F8F088A80 FCF304F598F9FB6AD997C8A5481BF577FA4F61B2B742FAF0BC932E886A961B060E6320C3D49D62 7C04EB0295A7DF9F8AF5F2BA6FB64AB76F685781460B35B7C510E3867DC0DC41179A1E8BC5BDB9 5DC54721AA06B8C2119A8617674BD10F0687B07D56DFD63AAD41DF660F600DFCD91DC80645C4F1 3FAA4A6C4B240863F6508A81EDF8B867C948EB7D3A7753A4731AF75F0C05DE4680CE216E04C8FC 49BC1CF193589EA6A33C25BC5B7155D4E34A43B49A8C37733AFDD714774E9E70FC22B40D6C9192 D073E2E9731FA2B80ADE7D40ADC5FE1ACC52952159137FA5B30A7EA95C39A5B6CA9F6F1B3598B2 90EC820457E11DB827E3D458C2E682BC1FB6B5E74817246B4FB47DF7DE1CDB835A849078BF71A9 7711EB1F74791E797B3E73FCDAB725C5898D5188BAE77432AC20087EF62211EAFBA46B91B295E0 8FD9D4C98C1331E4A1D7206A60F03EFD2E8925ACD1082FDDA8B2B6980B960C9D03BC754AB0FFF3 EB6E92F8A6D41954CCC7A6598CCA897057141F0ADDFED6F802994D00EFC0771E4B5CC79CED9844 E2CF890AC9F70AA4567102ABCC67C084AB818076D3134089E623CDB5CEF16E6AC89A1EC34BBC2D ACF87E3D7EDBC5A2FE1774FE6B5BB78FC53425D364919E8F086D07ED1ECA919F003A1C5C05B914 02086AC63F3546A34F2F99C88140F4C51096B72169B413043C366BA7BA2E5D1DE570FC1EC6CBDF 03658EE0AB3C1144FE15F8E89FF354E00261483F366BBA154DAF5E6D910F1D40F7DB4BBCF8D82F 4BEAB925EA8B0F5761B1517A2BFDD400E6B6B9605034688A7148596AA8F25B97772979B49AF56D 28B10146125B19AFC56881CA4BD579D649D104CF443E94B186FBFA0F29538D8AAC4EA3C1774A7A 64226D033869F1D821E98B9C9C1393FF35EC9A962BB8BFD3D8D062C086234D6F14D9AE028C2957 5114905FA35B368C44BFA14DE4E73A4D6C1A119B79A6E3EBB915C9D48D3FAEC3EF31B7AE39217A 21B66FBA853E750000D395A9BE87E78CD91F390C5919766CF31E45EFE678577ADB5931CF5553AF 54F9A0E9BE0428EACD715F7D20C3D75D20810C4C0D96BB10C14B557C201B954841501341827C1A 30DA27C34A5A4CAEAFF4A3ABA566249EB82BFB367EF41635B2E27133C0BC4BF6EE280401B00B48 87EE78B50E524A9526E442E2EB566F3ACABF1C60C65F60075C434367C67DA4AE42B1462BBB0AE3 9C83123BEB32327FA66C18409CAEA447B8F504FBFB2CA2EB0448691CBC3C1826AD55697611E310 BA84B3133D1240BA430B08010BBB0DD02A84FECA352324CBCC9AE188CD9213C2D513745D868C4A 6A0C995D7B455034DDC41A8ED06752805DE487375C69DD746D7F8940101EA49871A4B28AD792A5 69E76930C32568A9ECA82892B44E111ED0806BDFFF59EDD79B5BB11F82CB7EA201524E6D6D8343 C3EF568F33A450F8A25128218CEB810B4D4566547F2F0A0640D7F4C8623945E5755BB7B6B48272 96AF202D9F4B17A2B4CD03D961B5728C04E275E037E49FE8A29A89972D0061055357A40DFB5019 D0959C44E231D6AB8C6FCC8E24F5291E4B9C082AB5F7D58CCF25 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr25 %!PS-AdobeFont-1.1: LucidaSansUnicode25 0.9 %%CreationDate: 1994 Jun 04 10:42:59 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 25) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode25 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 161 /25a1 put dup 202 /25ca put dup 203 /25cb put dup 230 /25e6 put readonly def /FontBBox{-26 -236 1026 815}readonly def %/UniqueID 5054525 def currentdict end currentfile eexec 8A630409A330FC5FE1ED7CD3C975467DE475D113569CAA8B923FA3C5A4A5DBA1B426534896777D FEC0CD780FDE4F4A4B37CBF69BAFE9D7B1674F09E7B60ECB1F741B6EDD9AF78B9450C77EB98488 7838A9B1EFEC7714CB963DC0D2D7FC90DF439E7B2FD67B771E742DC7E7DB927415569E8F7DC363 784A57FC7AC7182B65E2B2B985E0344DA414383767D69F0072B82FF65429A625F418B9554E3934 A06F03727E3C9839A4E576E2351D0253B74FAC9084AF6E67133A5537926A8C80589A37F8ADA04B 5C2AC1126AA5CCBF23226508D011D14D13C6FFAC13BC42FFC82A696C06889B21F1453BDA33C3AC FF81DDCE02738FAE387DF215DFF6FF74471B4EB78EA8C9F24AD655490C27E6059414A56A52A9FA E82AC778F1210142A0F9051E5AE4B9E361B1FB91CA17F95CE918651919C7A235BECD1E676D582D 643C13D5912E896FAC77994450E36EB321BDB157BC6DB7FBD0EE4B0C1A420C2645ED9595D2D21E F387557875DF6A9D774DAF42CA703FAA6377C62B435A83666621A7C4E578421D8C68899952954B E992C6F613EC3AF8C2F4EC93A4AC5D7860448117BA2B6A968239B7DCC4036B4B1FBAECC17CAB89 BAAAC5D4362C3CE32E00409A6AB9B231767C1A27514E9AAD74C32EB9F6C0DBB6F839A28BCBF862 D183D1247828DA457DAC59A0CC0CA4153457F0DF3B5D6FCC06BCBB0B5919DA74CEB11DDF706F15 B342B26D610DA0137ADF11F3BDDB3189C9DA0F0E870986F86C61CCE3AE60F771B65DD2E920BD6A 5094FD2A12AB3A59052BAF45248C006D431F5B04C9071F925A7F52C1271E7FD3A7F9B60FAFAD56 8D8CEA6BE39066D98313C932A77140F1658FAD3B32F7418CA0FDF48BDF17F3AE6F095D34C707C4 9F50C3DFC3148BEB942A63A5619B94218BA5C1F63F66ADE29E1396CCF7CF7CA97788D73D4671D7 BB0CAE1B8E13CE410F2172B2445CFEC734F53A6EF3D3412C37908D22E3E80C817EAC0955CE2752 E9B2327A08895A254ED18976E194E85CFF852770A56665EBAC4EAF1F6808F6288AA2776F813D6D F089F25B21698D10A5C00522210F606F890760441B0871F31A4C0718527B68541A0314D67354BB 834F4FCD365DB2379468671DF697122B66E999BBA6B2A5A6D95E26FEB0E6AA3B4590D5B0C8F4F7 AF1CB7FDB904F10E8817F7045238C813053CB2096EE5DAC923CC9AB2DB9FAE17B2BA08CA49DB7D 71ED0072A402793C51EE08DC09FC9C27F2E15254CCF9FEDB998F0E3B12C60BAE7CBC550A59BEF7 CDE1159E1D6FA72E0026BE03299D851776F57069E9178CA0C53CBF939792BCA7CE52A3A90CA729 91180F917F1E21FFDC2E306595ECD95BE6323E539FC73511C7FE237C873A60B4B4E06C49C39C1C D1CEB9EDAB2891F30BBE64EE95C27487325C07F8F83B2C0CF8B394C3D0ADA55E4B4541A917B23C 6181480F95544F2DBCE9F22F40DC467F300234CCBFD55A919A7B4D7EF74D0C60E83F2627BD5471 97A31EF7AB8E8C27A2EC8CC90B846212BB79CFBA9DD702DD627CFB9FABF73790BBF5AA82450017 4E144A95706851EA88D454A80554853D7EDA089C97BD99805AD58EA333836351E1A6FFBF3F270E E36B9A8A5C98FB53B9B77AF49F3330416708C3F8C9623899CAA72E8812C963AFB98FBDB4596F18 32EE5FF6F6AC53B618EFDA664A090C1778C5D340CC2425184EF1AF9C6A7BC52167584CF057F737 006496131A33D19C40B00B4A728904CCF6669F1AC17E354B71B9D6BFB322CFC1DD2E3D66C97FA5 7886ED6A5455AB1AE8D51393C52D017C5586EB16FAD517AA4F76B7F0E3913C235A5986A767FDBD BF04B397E7150F9CB9EE84BC53E65CEF2E4CF91C0C819D7A4860E35092E3EBF647B323331C5497 A980FA0E95D21A0AB2D89ABF677FBBBE1811983D6BE163609EFA447878A6B9ED22479CEF8C9D19 E8683D22DDA81461371B0D4A2F993B9ED149E14BBACAD0AED92C0B180E46DBB02F8F658A470ABB 3688C09C52006DE3A6264E0F33E92B1C6F69FE0148CB284DF2283638D396E5F8C8C7FB2A531350 F49ED6E90498D2C30B6D48BE680B04C6CBAF4B2F92347AE886270B5753D12FE54A8CB0EA003022 0143DA37757BCB85E0664D61384FAB84DDDA0468702C397BA2A52098181BCC26ECF597DE542CB8 B1A0F199032BA329EF8185D97C9B536BEBDB7A9588D9EE830804F0245FF142D4BCBFA74E1D2AC6 BFB24ADE82B947BFCF2AE083638301E0D52D0838548B9B935B52BC5F3B2FD8AEDA7AC6A0F44803 0CB7E258BDA85320A3D6D3EACB188956D3FC231708134DE6EBE2A296EB0F07AF58E5FC366472B5 03FA40D0156FCA4320BC906DB75250AF4C55B9DF5410EF3ED0DE8A7DAA82A8762F456BBF97BC78 3849A1C9E1E9A7EF154084EDFB53FAB120D5F4A68AD4D83442E7F6ED51F251793E1F5D7504C874 388E61CA7F9120C55228EBE6EE837BA371361407776E82796F5CAE390FB05E2FF92984F15170EB 89296050D3B5CA30D0ADCD59B9D666643FB69C43B2818F03F0BF529A5E68FD043DB7DEE7EA3C34 0FDAF3598037C8C0F8657F16EAD01930DFB8A633572D6DAC96CC22EABF4361A4EA443E55102E45 C2A7443BC2DB4883B1BFAA58343FAAA48E347109B9F5D306E450E0423320763CAC8F4B48177C85 11F6703A383803215E520AF7CA6C449C4906FCE3695117888844DEA4A505372010A0E130FDF705 A37E1DBC59691D785D37D40E737AC708881A603BC0D97730526138BF428D951AA75579D159E612 F847418C23DD120FBAB2CBBFEDF9BC3B972CD59132C313D84F5CE45B0740BA7ED8086165203068 689FE81C9CB701D205C815A8E4BF2C341D264017ED02602ACD5F6576CA7606E51B3EB22CF7AFCC 3C466B69801149AF48A8E012CC75559041B984640EC5F8043A14D70ED3AF1AF7395213E13AA79E A3BFE238CDA1C40BCD49A006252ABC5B19EFDD78BCDB02987FAE 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsi %!PS-AdobeFont-1.1: LucidaSans-Italic 1.001 %%CreationDate: 1993 Aug 11 21:10:09 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (1.001) readonly def /Notice ((c) 1992 Bigelow & Holmes Inc. Pat. Des. 289,421. All rights reserved.) readonly def /Notice ((c) 1992 by Y&Y Inc. All Rights Reserved.) readonly def /FullName (Lucida Sans Italic) readonly def /FamilyName (LucidaSans) readonly def /Weight (Normal) readonly def /ItalicAngle -11.3 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSans-Italic def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 54 /Aditi put dup 39 /Alessio put dup 41 /Ali put dup 43 /Alois put dup 173 /Ammar put dup 47 /Andre put dup 49 /Andrzej put dup 51 /Angelika put dup 53 /Anton put dup 55 /Ari put dup 33 /Arne put dup 59 /Art put dup 61 /Ayman put dup 63 /Barry put dup 65 /Bent put dup 67 /Blair put dup 69 /Bonnie put dup 71 /Brian put dup 73 /Burkhard put dup 75 /Castor put dup 77 /Charles put dup 79 /Chi put dup 81 /Christian put dup 83 /Christoph put dup 85 /Chuck put dup 87 /Clovis put dup 96 /Curt put dup 89 /Cyrus put dup 234 /Glen put dup 189 /Heinz put dup 56 /Jacqueline put dup 57 /Jagannatha put dup 58 /Jan put dup 60 /Jason put dup 32 /Jeff put dup 62 /Jerzy put dup 34 /Jim put dup 64 /Jiri put dup 36 /Joe put dup 66 /Joel put dup 38 /Johan put dup 68 /John put dup 40 /Johnnie put dup 70 /Jon put dup 42 /Jonas put dup 72 /Jonathan put dup 44 /Jorgen put dup 74 /Jose put dup 46 /Josh put dup 76 /Juan put dup 48 /Justin put dup 78 /Kamal put dup 50 /Karl put dup 80 /Karlheinz put dup 52 /Kaspar put dup 82 /Kees put dup 84 /Keith put dup 86 /Kenchi put dup 88 /Kettleson put dup 90 /Kieran put dup 92 /Koen put dup 98 /Lalu put dup 100 /Leon put dup 102 /Louis put dup 104 /Luc put dup 106 /Lunjin put dup 110 /Malka put dup 112 /Manuel put dup 108 /Marcy put dup 114 /Mariusz put dup 116 /Martin put dup 118 /Masahiro put dup 120 /Matt put dup 122 /Maurizio put dup 126 /Michael put dup 177 /Murad put dup 91 /Robert put dup 93 /Robin put dup 95 /Rod put dup 97 /Roger put dup 99 /Ron put dup 101 /Rudi put dup 103 /Russell put dup 105 /Sam put dup 107 /Sami put dup 109 /Sanjay put dup 111 /Saroj put dup 113 /Saul put dup 115 /Saulius put dup 117 /Scott put dup 119 /Sean put dup 121 /Sebastian put dup 215 /Wilfred put dup 45 /Will put readonly def /FontBBox{-250 -211 1099 967}readonly def %/UniqueID 5029007 def currentdict end currentfile eexec AE40F8585C2492B57FC8C19373E315912C0135F3613C38B98FEFD06419749A2EF936D049568E91 2C3B4814601E6F1C68E63168C5EFE4A12F1C972A88E59D27C31A2A9C0BA365B6FE3266DE7CD0F1 1D5F0698C11E8C1D4F1056410F924EFF7F265CD09F63373FFF21407562BFA055B1BFA359C5890A 384338F55437BCB13EF47EA2FEB34874DAE99A2A8CDF087F076588CEF4F5F52D27F99CA2FCACC3 B00B2DAB26EBD6CCED97C1076E2E38C1C7179AF884D34E5981F3B13BFBED7B35D318515DCB2A38 02E5402628ABCA3D4BC1F4808D32312ACCEBEC95EEAC23DBDFC3788D91B5D781933BA1E7A9E7BF 693D5DA7A9281F1C6A7C34E8D6A8145895DE4B6AFA59BC2F66198E226DC29A066BA02F4739FEF4 FC344E81EDB55226B5E16AF7282FAE761F3D9F253D76D6442D5CC7CA3043F7B37D5A34A905ADAF 242097EEDA53782431445078C0B35090520B01B437F01D891573DF402A427CECEC5386F1603BEF 05EEB7DD5FB545BE8042FDC2656F47C7ABD12DF9DBA59693E4F9A554FE067AD8157D2BF1EFB7B9 1C54F92B27DB8FE4AF1572A8E3131A5FC251FC8F3D5918C30B18337CF3CEB9AAC264E467F9C4E1 3BDF64763DF9650B0F6A3FF6092F2241B1DD69076E3878B875564E5EA253BBA208DEAF32B48D82 CA70B0D8FE5181B29362D1603FCD82116B2FCC77931D0E121CDC23CA762E8C9EF47EF6780EC5AB D9CB39BF6BA8F4D191F9AAB5965691C4346624EF1559E151378A8EC69A126FE29F5BFEF6162653 B55AA546E4779E7E60288C059D2DD6FAE507F6E01DB910D52D10EEA2762D59A01C2F1FA458466C 07AA5A0980968990E18D71F0AA71BBD17CEEAFF025A16913D1BA4D5974D6258BA0D1F934656B65 19A3AD2375DA469B27BC108F919BE01C833BB6CC59AFFA34F976382579EC5253B4610F9143318C 050160C7002E29656B29874C5BC27700C912C7B00C1F62458775BEAF10C5A2858456FD04C5B6E5 B790085D9F584195CC9BE74E7DEBDC57D5084C3CF8168D7B194D57EED9F72AFE24EB78A7CED489 AB96EE6F2CE148C3C8CBC466AA2B35B36842CB48476D303A7717C4369F803A4FF311D53F1A0044 B5A3B423AB2D6F361D233CED47B79D579DC4BBF97AE7E6849CE72B35CA881B4680F073C4942FB1 04B110CD36C12B7FAFB9F8F03EF419A1A5CFAD1D28F13EF057C795F53737018583F52474008775 5141099E0C46D3A7F65540A05DEFF5A0A1C68096CC39FA13354863897E93F98B98E2C53A693C2D 57AF95936FA23B61A55E26214D5B2337C4488BD6DC93DDA298FD77A80625C917D9D432EC1AE92F DF42E184BCC2400C51465244F338DAD00BF384DC5910AE26F964CBB75F091609E73A3A96D8D07D BBC4DB58148E2064C50B5EBDA56DFDA7679C10EDC505D6816B86241997582D77385E0AFD164AE4 5333A18BC4FB8CF818CEF97158CED9628B78B6C28BE08E747739F924A7CC9C9EC72FD12FD5BCF3 2D200E0FAF7D7C8F007C84EB868C2118F0A159DF0435C4F9E432F5F7DB3766CEB23939415E3709 B1E5E14996C0B7123EC993739ACBCF6B28BE7628D11843B2AAD85AED50C9D82B5151EABE73505F 3A1C103B7F02C0429A32F3376C13863C347BC07472F6CB82B39EA37525A46B95F9387E654F8076 EEFDB79193E97C16A69EF102ED96F180F44586ECB46F45611BB4FA173B4C8DE27E2C4AC2BD3E91 8441E44FF42D13F9C119778806FFE56B8ACBDD4537C981571639C5D9D5522C822DE5F29B426B83 74E02DE01D2A2B30281676D4593C5356214C5C6D3FC679395E0A838A447B2BC803218F97AA6C92 EE62D3600680CC93187A2D8DC3D7616F4928CBC3E8C42BC5536D00A0F1D3FB114EEB9DA1B5FD89 50EF78BB34E7AAAAC3AD105D960B3AA743CB487AE7D000E14C5BD14A2250AF406174ADF67A0BE6 7D62771A8D6283F574F314FCE1FB41B80275B825066BF711A982E58E8F34657DB15E29B20B5EEF 6EE8ED0BAB63458DAAB556CFFE712851DA37303784F656309ECAAA93185643264ED4B7B6E05829 67E94B9311A2636F0D6F18BF83E5FE28C81DADA7046E5D485B6A9754F679F2851C5C3F4071153F C25F09DB849C09E9CC34A96E0DDE7BF692895D4B6678A1FBA8DF90522086D5C64715DE5FC26F16 B954EDB7C3A0A72F1278341A1018286562228E2EEA26EE8EE340CB332B43CA68C65A2D57FEB45D 0BF8EC6092219E7EF9CC649834D297EAF3B5FB00F2F83399311AC5FABC8761A13575B0C4D917BA 0AA75C78AC3AB78AFC746CFD5FEB2B91073F2FD8D4C2A3A490C94BED5131622DA474A860B312AC 4675661BDF91D076228D148270253325F12147C5A7FB25FAD15732E43004A70F095EE3AD448D9E 336CF44C4D55CFC772C92E15CEEC2F56A002A6E1670ABBB074DBE0CA55BE5D1FE65F5A9FF90E1A F4A4B5455B9F3A82502C4D860468B7E7E91A77FC043C44E19211A96D8EDDEDE29FAAF156AF6C71 CA2D0D26A7AA68A2A0864BC236E3B410485D7CF2A51C3FD22A147E3E44E723CCE629A3E67F5321 6BF328C2BE130CF9C05260E4E5FBE73D9C2032BEA5AEE7B0ABCFD2F6D9874B77D3B61AFDB4B300 55A0033C9EC86962E50CEF67EDEEA31C093B3A429D9AC37D58056FB739B64FD22BEAF7955D1A12 4E1F5F81C2FCDD89432C15ED61285B1D300C10714167D1D4DF9C7B0646BD825805B7E6F21ED4A2 06974B556EE6306C84FCB475F4F242C440A41B67B543BFCC178DEF4E58B739ADF0E14D4D0137B4 F48BC39918599A70DF1F0DE49F6527D25ED35B5901B2EACB584E8F29DE5CCE15AC1E31D4A14F43 CB2BE1150D22AD419EED486AABCEAC25F01BFDFDBAE2E3E4C899B3291897A638B4420960CF7AC2 F08236D1D7747AF87A207081CACBF00A0994C2F98EB90AA3F4211EEED6A0425C6BC0CA31DBC6C9 DE03E02A5AA192F0187C822AE022AB776CB891E95BB90BB89C07D34A38911A34BA591D78B7DE83 6BDC01BA45F0A66D735E317B06AF7EE6E817E98FB776EBEAEE6B8AD56FF5DE1134B7EF55D87F21 057F1248CD06932F6DC349D2E9B1DE0B81E300625E370770C548B89FDA0AA4F8B7373426A4C8BC 200F54CF2A587DD11ECF76E2E324591FCA3817DAA9B3FE117C826F5B53F24C722F766F73903C58 A81A2067F7A3E8544B64E26BFBAA0AF6FB10EE8D4E99C49CAB1B397E0AFFA566B007330EE54DAB AF0C044E8FF8CBCFBD70A372C5050F02AAEE6E2A648771A199A8290BAF6ED4AD485DACFA5A4937 CCCA8B4D03FE96D7CBC7C60E6E95B53BDA2597C66168D3564D1BC6617033688510AAE0F6DBB16E 192CBE34F5E0364233AD2A2D0043703A48EE02E2B4576645BEAF3D44622983407461F2E700F3DD 51DD10BF742D645F22700223960637361E88D79EA8EC0084F5F20D0BA3EB94A7B5EEDDE499A39C 1D621945DFB5937A31BEEDB0E2DE8395EAEEEC4A912825EE2D30E06A351862C9F02711D38F63C7 4BAD03D267BCA956F029F2BD396A577000AAB31B00B004D7DD5F6102D7FE0BB8443AD768BD6051 CBB0F6C74FE866A2628789EB0E2044F2EA6F0D1686BCF0BB7F245AA757A20EFD93268FC1E140DA 35E759443BFEB681CA8B10244B4E395F3E9A151A5A3D74293E5EC0A2C2D2DF37132705FED78742 8C5E876F567D1CB77F7338F70B3FE5AD1F7D9D6AE6AEDED983B638C5B1F6284BBB8911387C2CBE 51B92657EC57F3F28F9F71BFE582DE883F2F24A3E1BE90D5DB001E7B69968AA2B8564940A2B3C8 3EECE73D1DF1A51672429FC169488D329D8AE41E0D7E557F6678C6E36EB1877DA3B7AAB89EDDF1 54AF743BB2FB8F4EA0AF7E8761F3EEF6794FE66A5494E74F7428EC2D47149F05B8E3CC934C46B3 8739D1BEA64A39C4AF8CC42187FAE682546468FE3C68521D074555FE83FB96B018489EB12C7437 9EB97E53BE86318E53494DA7F214B9EEF02B1843DEE3D3B7FD4F94986F310FAAD236BF55E7137F 8B35712AD6C103FFC59F05AC12629D2CB39940395C9683B49D80D0548A17D45A422F9BC0F02112 DE3AB03E5CC55DF670637BE7E4F0ECEC9B324CC26C16DA89550D80C609134B14E9C5575662A309 783794C673B64C3C62932C64D9D9F560CCBDB7BB6DDB1A0D67A6C1D09AB7BD60348F91107F65A1 3EC3149656CDA201356CC2AEB313A97E203C8037C9D5C5A70A50DBEB91E8E4B54EF9BF8DCCC033 23F8AAE82CB2B60737C52832DA384B02AD2A1D80EEB88AB6ACED1B44AE582B9CAB881E44AF4392 D29F81A30B430463A0D48D26ADD6D7896EADE1C0E82DA83E28F414BB24086566EBA2BAFF475CFA 123D905A8A307E135DAAC8735B833005EE356EE627C6B3544DFED3D62F25E88429C244288ECB83 6733096E71F85E602FB5A77E7807381D0F3805E29716B21D21AFA3BDE43C3EAE43D33082F2F14F 72CABDFA02022D3146A2AB88719998C6EF1984A5891EA63E47C995F5C484D8F3854A79AF856F57 54E9DBBE35668176F67FB1ACB5238423D2E1396E7A4241574033C78F342D11F97D8CA238312129 0D467F2A371BA35E52024740F82CD91A23525EF0597B06A1CE57C7D568B25A96EA0E62756F5E07 1A63F9D2C22E1C3806B2F150A57E5ECAF61A999E3573E613F94591FC4B0B8F4BDBC7D2619E800D A2CD525EA0B722CC25C26C740265774CAB6C3CF110C6A1C7BB9F0A2EA2D03CC8C483DFBBEEE0AE 831A31706F790C0F695B926C89081ED62B5D5E1F02F405DC455751D87BF06CC05147D56CDB03E2 16E4EF39CA3E976F786DEDB9CB0FFC98E3B115E4BFF4BD63C2BF6D577971ED3FD5525448558DCF C4D40E681C9FBBD650712C69FA78EEDFF970ABA0BDB69E33A8DDF3A08BC0E4DB8909A2DDB35096 4FA94F03284532ACE8C62E8E0C5FC06EF66266944FBE4C6C239CB66A4445BF6E50E1221F8C9BA3 2F11E198D306F31DFF8C9CAA5AEEAAB08B30F0ECBCE3CC3329AA58B1F165F151362BE3646EF3BE 6120E2B618135127192D4CBC77CBD03A83F6717133B61DA06E2118AEF126FCEDA71A426B6801C6 C70AE8192EA70C6276EE360B9D89388C37D075644A5009E4450B3E6F88697DE0C0A2E6A1FE58A0 72422BD671FA241FE11788AE83F63AF4114D06702D251FEC634E562CE367948521FBA53344D5D6 18B0A9A2C5E013F8C790BD5DE8AD289DE859768CB488D06F45DB114FE12B2BA3FCD88099F955CE 2A3ED377192307CECB2E7227DB751776DAA54BA17F5E7137E1AA1F1B6DFFE782F715FF29E0C370 76BFF950438DC7B7222A67238157D769C27F48CD9E39AFC1B0AAE6E670E20E982506FA564ACD52 9D108F72E9A615C61907F00F6DC9B3FED3D99380B99242A53027A154891DB04C3ED328DC4B188D 9080BDB06D9513098D1C8A69D844320CD494DA7DCA8FE6B008D0DF6B3121599E951AE22A9EE37F DEA7A4092509F1743505DAD2B07E1DAB21D84038115C10B5EACCC9C96C62A111AEA09B3259BDA6 20202DED8FC1BBE20A8CB09E7C77055A9D0BD7D5F39B8F065B290900603EA23896CE2E7438E6CF 63BB8435EFA37FA35A2588519FC79533D3A1C1B376EC7BBE92388C3F3248C5239C4D21730DBAD6 65A7785867BB355EDAC969FED613A52354E97501D56909BAFA0F87258B068CAF0907464B498861 1D3E7E80E645F7AEA5DCBA04CE122C7A47007A73E725DE31C475A57988CE41BE7D1FE972A589F8 D9CDE0977492E07457698B8E9E184A70EE761583058AC50884A880936F001D53D182CF9605E588 92910AB45E3C752B6D266CAF22397BAFF1591976B6DEA208495EF675876E92ACFBEC1887245048 30F05659B2E73E8E049647F4F28F529684085CB30EE66FA5929774E49C15875493F661B77F0C4D 6391EFE5A0D384BFCB2FC1820130E2E519C3715CFF2AC4B8A74E81C368C55FB5782ADB9BF9644E 2FD416320DD3C6CBEC64A992B3FB79991E62F129D5187763E7C7D8473F963F43F0D70A8EB508B4 970A1572835201AE91F48B7FC35D0D12E7015CBD6DE0677D715E0BF94F1F9D3242F8600EB2B4A9 590BA94CE6D342D9342057E69E0B71175B475F9F9FC8CDF962690867B6B962989D94B7CE670CFE 23D28E1197AD6C118DAE3CA2BF62FFBF5A6D03C7E1D85199908F9DAB1709E1A3FA4C1D18535AE9 5306E0641C9C328886C72C91B49B498202C8B72EDD5C7F5DDF178584A24E6A89DC9EF5437EBED1 CFD46ACFAB9678F27F4BB80279CDB62D9A23761E70ACF40ABEB38BB3242FBC012B8AD563073BC3 240C6AE167A56B084DABE9096EF07C38BA3E6D380E2A1D1CDED670305CF0EA1D070E5FB8574D30 8598EEBFB0C6FC907E25108902BBAD331F177EC95717078B97EDFF258F55793FAB9EDDC508FFC4 719F491D791F5D8487FD5A31992A1E6E4DF7C82AA1BEF383C2F74ED7163AB6DE334D48A11520BE 2B47FA5C0B07FCEE735F63CCAA25507A78971012EC943DC2D1607B3F44DE13882DF23070BC066F F74646DF196E1688D7350D7672F93691FD5950AD7ECE2FBD6D4B1CD777C88DFFCB90B57F9C829B A0C9F061F7DCC650CEA49D70B440B84276E432FE47D7D4D67C241F8097469638E4F5076A65FF5A 15FBE8690B4F6788E843753F6D961043BD8C7908EC2A2EB795AD2955DDB8CD9B6A8BCB3C2BC673 0A24CBCC79F15D44A6AD0CA0856E661EB07890BD79E93FCAF93AF80BD1BDF915B799C9118DE981 496A963B4A9498E11893F19446FD9AAE7E4B4FACA51601F5C54D46E7DA49750FE88F420E9D7325 DEB5A6B091469240AD0DB4537A46E71595FF598BDE54972860305F59F593CBCB7B0B26130CCE19 E0B553E8D52B1953AA0E463D49A01B3B2B588044D423418A58665DC05B5AAFC47E264985934F03 C358035E5E4DADDE030060BC07E7F0526FBEEE7FBD26CA50111E8BE27FC021214AA7BC8518E51D 93934E23270DBEED1246F623EF50C9B12A3A79FD2425DDAA17B4375FBC51A1FD8A7A456441C5F5 C8DCE1A112C00058434E3250B841ACCFFFE4EE5CE4E8DCAD1DA76C39CA24EEF79A2297B70D6AEC 75B3179FBFA7A4D90B4522A0F4243D14FFBD028961211739790B55947C4DC63F0DB959A3AFC7C5 65D672D80422330AAB64D51993BCD2A34FDD8B1848F5C400BF5236188C683BCFE47412108B59EF 41B7465B020FFA6A9BE53269B4F8AB5FE2A9373C3AC12A740EFD72228AC156A999C6079687FE52 19BA162C917DE80869339BC76A9D7DEF6224AAB13F1E17BB4FBE9722B94DC84256529932A33391 D085A85A4DECAB06978B9166F075B51DACD371F172D428081AE1826645F9A461C257A46BAEC29D D6848025FB7C6F027D67A89EB217AA9879DCE693729D36171F815C3C6967F8DDD4A0EBDCDABA1B AE3C7901A071501004DAA11EBF4E6B20242EB6C4932403A6FBC9C190C8BB789CB3C3F2DB0CEC69 1FA2A1632F625FC6A1E91CDD863CE75338CE56B6F8863D77FC57B211D413F75B2F7C16F5392015 C33B55B49BA91C9EBDD5AECBF97D80FFF1B84488FB259623C858B14BB3D78215185A866576F34A 0E259D58C750992B67B0900001AE2CB8184419C9BEEA52ED099057805F53B7FBAFE7BF2FFCB3F9 7571A88C794B5AF35DF67BCB66CC21536AD69F860DA40C66AA8F6DC6E52A9C0CF052BAB6708EA0 0ACEBE8A2D3FDD21CEE891EE4B905F72845B3BAE8591A20D99EC177C44528F56A09111A498160D 9EFF65D62BDFD201B608B578E9E052EC257CBE33662040ADF68209F5E7876E1BFB861E21405F5D 5D3A2F684C07F20223E26B289CC7256B10D699637E5A15F409ADE71779032310DB5FB5C98CE037 89EAFF598241368500C76315D8E3FBE028F587237B1A4E71BF0B52C181AAE9B88754ABBE054185 A035D118630FF66EB5A48C47949779276B5AC20699F3A33ACB5F9510263670B25A7E3E92666F3C 0EE6AFF2CCC733780A0D98569B4E08254D9D88DEDAC4F50EB1FE9CBF8588E301FED58E36336167 7F47386A37B86186D0A0A4627C2BD0C956DF9C0C9209F3275BCD65869D14B94943DCB3A2FA8B5B D7434CC1265F7CDA7D86300A5E033AD24468ACC1809460A8DC4231B5409909F865C6CAF7A2D998 3BC3ED0BD15585A43C6598D8D3103547170067B51D0638150669DB52C1E371B6391D2311E5265C 6FDF27951111A7524A304E865898634CB768EE72B812A99DFDEBA1C284A0FC95442921B8DC7280 2EF144335923FE114747EB3CF24FC652DA97A25C2C92ACCFDD15E82144500A6BC1B2F79FF4F722 E06450D2E6335839962111DCBDB1094FA2D3E817EABAD4DB131F01E453ED5CCB794316E5D259E2 7A0625D1B5827706503B0F67BF168DEA99FFC9AD1C6CBBBAC271BF0B92745C422F9BA22A2D2F36 A0964C052062EC7AF373244D8A49F60EB8C2881906FCC197BC9510125DC61628C8C1B29BBE00DD 343075F33AD0AEF24F32B0F2EDF873401A60CE8A8B6176ACB9C1A395C8861BA36322DC7DC85796 6C8C77F815477C820716F965B1E1F0AE5129A01DF4507E0E04B5168FA3566AF291F084CB65D0FC E86EDE9EC19EFA7CF75C9749CF4B5BE79083E8FB7508A51C5800D546FB14D4D8B5191C598BA5B4 82E8A0C17F77CE96EDA3179A4A5613C9235758699EF8E2B4682F920A70CEF54FDF59101C5135EC 3FEC9998660F8D9620B755F45A6A9FF807519A5548EE4BB55CBA5FE6D407499AD47707606DDDE6 32D7AD1A58FC63F97357F4F5C63E4622BF4017B0CD757D554390F27123D17494630A756CA2F1A1 A872F8C09BA62F76E5910578DCD4AB4B0DF33F6BF4DB1237EF65E5FA97C593C90728B12FB17407 FD681A44EF78E14918E7B0530705A1B8F27495B3029252DA7A3934F7209D8BA8442FAC0EA0C03D 08623347C4B17B249B91E3FB30FF88DFB190AA14276D7A878D6711BB273FD611E15D13541CEB1B B6B059985449B7A63C8C425A57AF00293AE85AB3FCA9B709FA60C55EB6AAA639EBCEF4847DA4EB F28A235000471D355202F948B24C9283FD0C9C9E3AAF88735E3769B7D60A9410B61C9D62AA5425 9E43AAC9208A794D56886F983EB006ECB5084CDC8295D1EC0F52B12AD4BDDC14E672450D2BB481 420AF2E5836683F31FB7ABEEB5FFE9D5E1AE551D3A6E123ABBB141BF313E5D4ECAF00A12C441AF E36DE60877FDAE8D255DD1F8BB0C0DEBAF10EDAB4CD2C79B4ED1CDE61E57D12B389C541A8A1823 53637D9C1A48CE343C88CB15AC45CC54EE6895C685F89691D09AC4216FDDAD8549D164E8BCF101 1C2D97B3F1DEA3D7C0EE3049860A949D8A558553D5E8FB358C8D2F31A1DF90BAC093E7AB45DCAB 9E9D4A36B5ADE3C696921C3545E6BD29587068B57A79DACD07C50610EEF8D16BF0CDDB6CB0F459 8EE921AE8764247A771F63A3E8F39B072DF066C1229948CCD60B26C2FA9FC8467F09762BCD38BC 3C5A17EBF085DF652CDBC0386E5F8F908C6EEB9E8B35FCF8BF69177FE9002592F93733D3502725 1035E29E2E4A2C17FF86B5E884ECF851CE8D1CF2E667D9F9FA62EA5C29858EE46647F77FEBD6B6 071C827470A97888B53EDF69920EE368044F9DCDEAD7D40D21D44A90C44CEBA90B64D800B6F083 5EB84A3D66BE4F6B1B173B8AF1D0CFE9D11FA65CA2AE847EFEF063BC4400D508C49C220BE19F9B 14A6E76E2D65E54DE811D104FBC001508ED53A71E6965FEB07423F4846BA0F0C70518D2D9377C6 FAB46993572179E9A0D75EA6F67C5B7FEDF1B756C882DF1010549DA4B6519E9CA28C56053BAD1A 9EF5D0428F2CF9355320B70ECFEE125C9B752E2D30C6E259F9A44FD44BB45CE8F66C3AB6C27DC6 E2A8919A2214220E0E5ADCF6C885966647797B9AEDFDDDDA5726F45F407034327F70C388B6EBA3 5227ED48CC572516A3FF067B4F7707DB59CAE2B37663CFBA1E7128B43A2F1BBC209BBA10D71D53 14A31B03E68F68A9A97F32C14205D4E998359039CD08D21B0B4A01FA2CB7FA8B28DB40F23B1301 2D1664F42D084CD6D49588BF294EECB7C2CF18B65106BC49DA160DB79A63A9A7194C9F2F79F2A4 F97EFA10698F291334E8B4F74C9D948F557C25C4FBC798ADA8A53B9B0E6DD4BA50968F5A5707A3 A6428BC7CC56704534463F5031272BB5C08DD6F4033FD1B5E1A395316AD330599EDC4E021EB125 7BF081AC55857A913DFCAF39F66A1ED2289A57AB6CDE8A2F56D11157569484BF6EF26B04C7CA9F C821FC46B9F13CA07AC0D90FAD8AC2866BA8DA0D67B908A01387E54F9F9DDEF25F50A1DD65717A 3533023CE04038271DAC6CB401D3F692266712D3E380970368A34962C60646B12D129745C961F1 F6E17FA854630F7FFA9E030A0C2D6001692E71495AD7492FD65912BBE636050F85DE19D51F2722 E8FEA3C931541C9C370626163C528C1A3C0E587C7275806D08892C2618D0CB66B6AB37EB96EE34 26274E9E4A036C57AE33B1C7D50BC5E2BA42BE0F14D32F02F77375087BEA2D3D44366E13F9CDB2 096459878D802A151789E54C21E09FDC98C6A3567B7F6EF03E7E67228998E1F893ADCD0EE49F95 22FFBA193A8BC1D5A2A43FA75300C4C72A1E388A792586B3716979DB9679BD3779EC4D9F427F18 E4017D87C0B8C44460FE64C1A591875E589CB9A4818341FE9FF1E515F6D510685338514684D90B A40FD68AA77BE2F5D5536772A6232B386CEE391C88D1796CD076A2133474F9B1506B446F61D138 E5CE584D113BDE06EAE89D82F1AF25B78891766CB386332EFC60A57352BC96B42905C0072DDC23 61F20E89BA1DF2EFC1C18FB071CF04396A45293E44FE656A19F3AE3A5635560763D03B6039EAC4 605AC30D4E3B1A68AC6CD68B00D694399B9527F13D81099DA664919A3D15C3E6DEF460134A1736 B1FD53DDBD20C248D0832074C2A22802B7405EB6D33D864D97B78252BEAE3BF9BA5DDFC4CA077D 806289B7ACCCA239E6603C7D2BA41B7DC820F86D1F8530604D7E3F8A1239081D7FBF9FF9C2D9ED 4D672417853364CAF9F010CF08E4E060038A67E70EC743AB7FD3BFD62E7C209B0281F592700E1E CD0B18F65DF4947D24B2D9FA6C645348495864F66008BFE85089E6442856D0DFF9B27648A793B2 22E98EF332692C08FFB08A7AFCF9EE4DC33343F8FC0B2BF5F59EA5FF484EEC4D0903A7DE30447B F6159C922C3691A97C2308CC2B32683A72B3CB14023E76410345781F0949E918D47481630EB60F 891D13EA3AA81DA60DA50E67D0DD63E6823DC1375FC60738B633996A10B16BAC8CBF574732679C B238B9BB0C1507515558A5E1419A17DAF43BEA11E31A9F10AA8DF17DD9BD9EFEC13EF6F6D1B47E CE37F8D45D2817B5CAECBE38D45BDE09604146FDA57CC7E0814AC69558F170A7AC2F8DA6A5C7DF 485C1E16BB96C3E1DA2EBC5D76630A99A007AEB8F680F2A10182EE55A0ECBD17267F6A0E4AB5D5 4E062DDDA4DEE9506528043578853DE1CE8ACDE68938EFFE8283419D9A779BBC39221379BA2767 DE78BFECCEA814269A456AEC28CADA35B7A1F5DF89D57F9FE64B2818EFEDB506B1CBDE22F9E706 54A84DF0C0124124646EBAF633E054D704305B2723EE6848011985DCC11CB1DA81ABEB7CD5450E 31C218B45C3556B7D1DCD47D4BEA4E3FFC5930037B2664ECCFAD1204D8CDD7289BFA1B2F4BC59E B586883A9E8757EBB0525A53EB83996963ED8DF4760CC16B542BB7C60FE6C0F3A18E18B26EFFC6 CB96792CF2C2113E04C8E64335082EDB3FBD78DE0F1D61B55EBABDFD44786416F0AF593379728C FF15973618B201D872628100BA908908A978EF091A126505221F6C52E7096CFCF13710DA707347 308943095A0222411C858DC7BAA314EC1107CF9C7C699EE623981946E79B70177FE70BEEC2624A 928FBAF73B1CC7D65A6E76387EF3812177BA0914BAEBCC99564A2A26710129E23899D8822DF447 06AFECAAD63168BC96BB879D418D3A26C214E4F26E186ED9B645F9023013086767A5276DCE1B81 031D6F08055D5898C6C1DF53CF9695F0B1DDAAB78BB824B2EDCB8D726B2F477289C16AB9E85013 1E1E23221929D95E17F4011D2126D783C1363403D650D426D642AF6928AC7A017E2D36A60CE6E9 7EC189432627B4BB14B94E2F46D4ADA823DFD6093F9ECC8F01FE148E59C11AAA4417EBC801B0C8 D8B380A4922D9AA366BA64BEAC25DE3BB50E5EEFC4E0AA8E8D6E7D664FE249F01058D5CAAA8C3C AAC732A1507B9F84AE531A3F5A6CA32C812EC23E31F3F491F21835F655ADFD42E6387D03C500B1 D924D99572BC8F362BDB56FB6962800DDEBA947659674DB719E4CA9CA2CA8BB36E28CBECFB9EF8 16EC9B0AB6B464B959DFFD30F564E6C7480B72A5BE58B2B1527BF6967F08F929D98378B2D18AB6 2A73010C9FF49CAEF7C76CAA65695F1FEDFCE05A487CBE6CA689F4B095BDBA432E349816190CE4 BD03D7246F73B5A6BCA12E262BCCBA77E25C3A19241202EF50A600D21D16E8CFFA05EBB85E65B0 E3AE69730D4D3EF79A0525BFAD3659DDEC3F536BFF0EEA6693A683BF9259E098B1CB8EC38B1DC6 AD3B20DDBB88E1863ED1DF64A2452977A1C70CFAE0AC206977526D2EF4885561EDE9C0642D6524 12A2BCFF8B37DBA2D31079C4AC6B9CF26518BABF3639D9169FACEC29E42DA1F0AE2EE290FC0F35 149E0EC8807C70C4EBAFB12CA44B7DE7D95608DDBAFAEB476E98836E317187715C1F07C3719EB2 0560EB5B241932106C464D074EBF0B4B6EC4E86CAB3C00357D406EA833652D729D32069140817E F7F906E8650CAE88FABE5545CFE266F4966FCFD8F83DEED5C086876952F0D024108B42E06D4DB0 89EF77802BB2DEC90966D331F6E34D92675DAB18FA3334DF9918806BE5058BA582F35B2D742EDC F4FF8BA830F0C86148C235788EFC15400E08ADC57D6ECE093E1F7711590DA9D30017B730774052 6937D9A8A4756ACCB0A6BD2888CE2295658A9B534B88EE43DF464BA3AF64CE2504814D2B065B85 0DC705049E0B346D007B43AFC18028D4E9539EBC7CD14737CC1B7F10F2CB000A7F219DF60B449A 12D21E16E8789B7B8F67C354574B6CB5E0B6B612D9C5D5B0AE7D87342AB404E967494718582FA7 D32CE4D6A81A1C9EAF3EAB6060DFBA250685BABE46B4FF3BCC701AFA8A868F7029B38F3568834A 8C34EB0E6DF3D67334FD0E4838075286331AB693179C65BA5087988383D3D5EC5E0AE7BDC99BFB C358BA2AA274A4521E286CC6052A5C477696C5578D5608267CCB164694974BE93AE7E35F389F2B AC6B7980E61C29B1DD2D15B42195E795B00D2B89E6C4BEC4379413B11B939A1528C56006ECC994 7E4F14E3D60F7400FEE32D77798FF6383B3319C6F92E494BF73A90083F986CE5F2105C0E801027 57AFBBFFAF368A20EBBCC6516B79682D8B70A23D8DF3A2BBE4EE081D4ADF70847F95DDAEC10B35 13B069B9A6E50FDE25E3458050F568625F680D3DAB2FCD3B7007109358EF6428756F742C90118F E443EFD7E6D879CD082F73B0B95E230C06C67DA5CC8DB4792EB274FD596DCE8C966F84B54FCB14 8B57141947461BCC69A012B50DE3667F6DD9F0FC7706525BF5EABB07164BB07B9C973B5D31D0A2 2CC99E37697A6D14B6F4EE4745329EAC6A5DE7BCEF1B10DEEB46DA4AE14BB82CBABC31040987E1 74EA49EE6F543DBDA0063B6C1042EB379F610DB5C0D4263CFC08A9C5604B7FE2345E775EFF6BC3 5C581500BCFFD98E23665B2115CFE33A184BBE1DB4EF955F409074512F61A37827DB751757E284 A23C89932BA251ECCEE545B6DDC98246970B17C12FC7F9237E6D00E8187F7F45E048307688EE64 2FA6CABEA56C1D8C1FB31E0B0B95D7DAFC1BE2E90F933A44AF03E94BA2DCE76D358C2D7A2216C5 E95788A6BDC9350135621D59F52FC74BC96D94F93E6E63123B4F56326413974495E822DE96FC05 315EFDDFEB919FB2A36BFD8580D6A21D11515EC7835082359F3D0B2F79901FD6CC2AC41E2D7B9C 412A49C9D7B8FD6EFA11517821643349EE9FDD5A6F4D55F440CB7284726C6DD45E84049F8931CD 570388CDD6DD5F7AA0323533EEA3DA70FF0AA8BC42F3B129D0AFEDFD840FBAF2CBC35FF45B8656 BDDAC912ADA0A3C2EE447684AD4A0DADF205A419E583D57D352B30356D611E5E8B67538E2AB612 787177B8C8CAE9A3F63E58913E026E2BDBCD9CDF272AB9B181BE3CD650AFAF3FB9D6E07D32F915 4852862C3F7DB6748FC834C868619A4E7823733CA044DBE48F642944A087FAC70432D01392A52A 3FA0D1C54EBA4662AC8DE38827B17CF644C2987ED7E57D436E4A88B29A1C91F454A4637CA5424D 11B82D1137D58867A9BA363CA0E07C005DFEB038136D4FDFD5AF85F48E58E50D2AAEDC886A4B22 CE2DBFBFD24F4A05A3A9FCA87A95A871BF8D6237C8C63E618FA4DBC9E15ABB677EB7F1706B1C9B 125D4F5E39A168A989FC53D34F45C24A52292627E11F64A7BE21E5A61D4D8F8C9F7DC3B0E139FA 1E7EACB8BE224E679A29DD3B44FB9B29220EDEE3FF41E88D15C914E9E2EA6FBD1D409753D69FB3 ABF266FA7991E82B74C7C73BA7DEA82B0A0CFBD6291B4DFFA1D68306D24B50906A3EE87A0C3A17 3ED5A1F983138E7BD4381E1B21AEC00F72873F4EA6C622118F37619F6A451DBC52D2BA704DA804 17298BB1CD70A5FE38163F83ED96C2D5EC1CF2DC8CFDC9C1A8C2EC735ABBC1851C1A3270714B88 ED8E2FB5A0469A18EB27C0B191169E37D71D62D6FE06E23B18B4DFC93F8E220DFEC3B57F34657B 0BCEB41F10C0DECED95960DD664C499BC607614D97C60CD7794807F2D509B6589EE4241E4349C9 33A94C3F1E58FC40D320CFC31153BCB12F7CAE903D829E8B2300F41DE6D21B5BCED26673042B60 3403B1918E2A57662FA77A21D16EAB58C3C81243EBC05D6922C843EAADC9DA99B83AE09FA329F6 A6F0B5BA44AB4C1FE88B63BFA4D629EE411CB1EF26ABAA16264204637182774F1AB200C7E20057 17E5168F766E790C248C4A38B93F5F9B5C07E612D72077C36688A597DAE740D04171E33FF960E4 4C1E795C1C813E39BE2C0365341D1EC946BD30DC8BCBED7F9B4AFED3283B263155414CAF138365 2C1935E75541A553121B7FEE8293ACCAC906EBABB343B875E4774387FD8DE4557830B2A8CFA3C8 4B734F4AD5094754B96AB12E977DDC29F8E43697F737E52A6D9DD9A2D8840906B4ABE9C246F684 10C38B404FA6251A2E8A31E2126D11929B73ABBC01ACE04A84FF25A8F7F1AE3A9C8FC04C2FF867 5A41EB0453373722415563EC07A9DF738F7E8E9423DB8A09DC6714472982ED98165984C99F885C 9E9941F2A64D10BF1936C749019845FE5C5DEDF1C057837AE0C6BEE3072C0ECC044B5A33D4AEF5 3506438F750804B696AAD17897036057E77A0BD7E02F2918CE13A48FED56C55FA447B0F32F47C5 2AA0F53F03F6334E6C484AF42F265EAD25088232BC109B4AA86A475BC11FB22FEE50F92FB4C4B5 01DBBE211228D5C14ABA48B56E59A34C813016D43817AF1B707D09BBCA2B20F3B3C90058EF7E56 DDD4004F8754EBF0A16DBA018F8195FFBFD5668D4D21E7B6AF279A08A17D081811D2C34DA41E91 3399F6F3B4BE23879972BBA56C65F6612606DD000A6C857F8F283E6008281E5D18828EBC6BCA53 29977E4C792E468DEDA9BC087DD8B4FCC6D9279BCC069B5B7544585FB305EA3516268FFE6A3F91 CB25909A61EF71B0016EF040365D193CCA29409EAD1AF569DC290514A10980B94D6E8C609728B4 A35E97299E3DD1EC28764A71AEDD26C6D76F5276139EF13F052403F529713702E5B1089BAA4390 78F4D5B1B2FA80FE3CB11B14BC466434BA54F839B8A9C887B769FB59463D0D50DAF8C71FA0A9F4 0E73AF18FB6C7312FD51D0EB70027ED4A546232410E7D29A156A2291E29F6137FB42525BEFC6DB 3049AFAF2357A8ED9CED95CF7E33FE3845883E35632507F3BEE56533E42DF08FA0183CDCCE22CA 7E06D568D08D161560D106E22E9C9576ABE08ECA90A62510C2811D7CC28730D2BE9A1642052647 394F4CD2A4A93ACC984C954F0E8C57670C08CF0D21D46E08925ACE4665D9D724EDC75EE0392322 E9381632D8C287BCEF09E84D42E3BC345DEB24C2AD0C68FF094E07D32685866270DC457391BF08 15A73D64540C28A7BC178F9A8EEBFF4C4478924B72FE21D51ACE32EF43C0D3628AE353B74FC36A 7267FC679DCB875BDFC77821233B30F41A6E1EFDBCAEE3B4319BBE29D253624E48201DD2EA2498 34F67D2F111BF268942F6842939365C8E2BC3330F0243CD1AC7C5B62B7F0A2FBFCD0965AA10627 73634020A2C7C364CDC14EA24B500CBF4A8C79B01D6DF55DB738CBE3B978111D65DB99A78CD0AE 43619F2E28BD444DEB85A7B585B19C594940C45870E21D4B1B110028A4F3A60C951A0884D57E28 D5E26E0E928619000D5CFF442D019097C45DB01BE693F6528A00120A14845923BCB81F27BBEEBC 15A9FF9124371E485BF4AA8B51B2DA49DE8C2E5F4F1D909B2731B2B14B287D921949115891AFDC 2E9424E11D6A6E01800002B41B60F7AF908FFA016E775C82582A4C15F47F941ABA8889891F9441 F2C850A29185D4B2B68CCF46C38ADFBF046CB7BCF9B610379E95CD8D2F68ACB47107225ACDC6B1 2DD0A72F291E27199399F916370B1F7D6F4EC7D0109EEABE3191393C7D6446F86F10EEAD7F9D79 B5AB0C053768EDBE0E0F211F306507510E589686D29D226E55D9F07696A144BB4A6400647A8743 ED136D3C5DA6B183D0AF2B565D9D9C345EAE5B63BABA6867BED519CFD46CE594AF18AB49DA423F 0C781EAC2BFCA83F4B11B431C1DFF69E12287098A487BA099786DE0906EB2806278912B958D9D0 CC168D6246251F550445413478B8A460A24FA8D80A0924253985753DA56A30920BB237E4521C2A 78B4E79A256EB66A4B2061F4B71B421D85223FCC8DB4FED0C3A4C4918FDEDC558C57850A62917A 0E57EA5C771D64A137E17D12F1C5EC08FDB94D1232B090127259DF02581C2584754EEA872D88EE 7E583D13C54D278DCB5D6AAC44F68E76186133A3EAC6AC3D22FFDE29D0EE251495A96DD973AA89 867C6BF4A1B71B0956F32CA07D796A19A2B64CAEAC3B04AEE03E943B6FE66EE9840DDC086E8C80 A0849F14992530B74EE8C58CA3F4E765A7A097D98D45DC90C48A3F6262E9999BC34EBF07D5DBE8 7185B7CC1BE34DB8D09856E84A5B9B30C01CAD5E72034433045BBC57DE1DB1186BA78C08B6B224 07FA803CFFF1CAB082856810D5639AF9E8653470B3FC95E1CF8FD80DBBB597FEA6A4E3CF584AFB 4A88D02C1EA61B65FB0CC7A96EF09AD692D035EEF27EB3BF2967364A42DF2D7565C61400B0E338 168B81E69C07FCD2CE5B20526A707F36786C0C6D53B7E4567D41DF6435B4DCF13256B7E802441E 4C86A0A329EA7293B1A5FA8D532FD0F529A2CA7CBF0F667C784826A1891E8FB93564158B14EB52 7AFD02156785CB4089DCAA8056EC101F85FCA80333A89AD17EB94C100BDD0552006139C9496EDD FFE06E4D10C1258BC6912C5889D3D9108622BE978F52E855729C691DAFCB358169154A78659CEE C855C995B334280BF279955835BD13DF6AD0066702C7B2A7804A223947A5F8528F0E2A962F76FF 2B41655FCEFD02F3F6F8D848D60B65399746806A9A4E671F62FD3A46A8766E6F94422B84E9E3CC 3F1ECFF2C86FD88EAB7C5665743F5F7E26F34864C701B57625A79CDCD1BAA2A43F482FAE42F9B9 4BDBAA91ADCE7780AD209D2C19994574B9BBB132169B488E6BA22ED05C971D2CC5A9A0262844B2 1698BA297412019CD7F6C796944202C89B7D7B188DCEB11C91F90F0A338F62F636B759924BD999 B488C61DDAECC4B68E0104D51C9B8E38354AAA61EBB5B53A10F5798C3E755662C2F92523CE4710 14B322D56181A39DB9073EF5CF6C99028C66A48DCD259DA4A9CA17375AC33C1AA56235BF1A57E7 B3872799CCF1AE0534C5EC3AAA96128DAC5592C6A3AEF6AC4EC77F1CBFE1F7CBEAED6935913164 C7CBAAE272A953ECFD2F9B95E63968190066A66DE5F87CDBB126AB5B806DB3E8F0665952D051A3 DF91F4BBC261BAB836F921DFB0E6132283C40B9BE25DBA4DB5E9561658D735F4E7C635BA312C55 A499A10352BAEA349607623649CBBD0AEEF6DFD9F436CA20A9A887A13C8B1E40064BC2B5E8F788 887C4D1B853C40D74E4E759D417421FFFF7B2ABFF74E70FF8446E268C784BE7BF93CF20D3B085B B4136068A30E1471895FD2345E05BB57D5C32F1EE6C3A288D1BFECA8276D35139876240E36DAA2 99C18AB7A45DEEBC470F8DAFCE5884FA632F11845C1B28A3B39D820CD09B24ABE6BDF342A90D1B E453764A959A0766C1F1B6F72579977F6BAF22C2620C22D16E52C78220AED5E5B0F977E69BB95C A44F67FCFBA74F292773BBF4590773FAFC9632855223B640F8B5F3B991685215F92F1751EBA738 5C09B7CAA12A617A4BA5497747AF13918DDD1AD89085AA3510443E8CD9B799F325AE43863E7F02 CBEEC80A79A785DA41FAD2572E57A19F9A8DDBD1A12004F41158077B0B9D67E9CC4F9F10C29502 50C74CEDA126664FC366E6C8E5D6C8DA0E935D68DAC7BEFFB648FC6215145ABA587DCC95F2A0BC 5E187C70FB879E6F75FEFB9FF1A09D4BE80EB65AF18BD7CF9ECA28F44E49BE391D4A95633B1329 06A003D3879D1DA13717502851178B791137E3B8D7954BFB34E55B27FB430027D6A836C5773184 C9384BC708991D81665F7D94803EE28BA76CD43DA908B279C772A4249E88DFC85A10849607DF1B CA4D481614518C59017B1079ABDD1FF4A5FDAF8053A6225CED3FBE6F61A3404C797A61DD6845B4 261B7BADCD7FBA647562514F72C0B2EF4077DA86BA5A71E192B2F4E7D9CDFDC1BC990F4A295CED BE13590B98608C1B1A5F8E2A1690A4153B9304F5A32C764E0B05BA8CFE4907E39E33D69C4C424E 6BE32F2C298286EC2C7EE5D6C1B825DE78BA87F2E4FD59985FEFA23933832A4E61A21617B519B2 9360D57CCC21A685DD415048A06C2C8F34A3C98498CF74CDEFD3E5A595140F52F02B47A34202E9 2C07EF8E790186E56920F5967BFDE5DD6E2462DDCE6ADB38FCC059E189F8DA70A8687940CF9D80 98FFAD9D7929487A9191C250ECFF0A90012E0FE9F902F78A2C146ED6E5420C00DD89F7415F2573 3B5146D271A89598EEA4005DB32FD27DFA0E293423E4D433DD78A31910988D75F2726B3B8A7719 EBD40A889AB7E38216F1301D6FB53363240E1A07C2ADE47B26D4B6B438FA69786A582C72855A76 77E6C51555F39F3EFB53C79905BCDB3CD88D3A5801F971BC8809BF73D384B53C1E03D65CC34039 2A7A564270526CBD6F9FBA7871BDDE6D9BE23C38D5E53B51CFE4EF588E519148ECA0649AAC1E1A 2606EFFB8EC97C9E64D46E9BB5DAE9BB73CFA6A9CCA578DB26ACEEB662D020F9D2F163B877AE89 746A4B63040082385DF1C5BEC77350F9F5EA41F5941C90EAB5700820C0C29AB8371180F30BF009 5D7CEF5446D549D0931961B246DA8F1C3535F8967D64FD070B625904D7D7DD6E31B9E410CF3D5B DBB7B6D6473771B85F8E2924CA2F4D8DDFB2DB3D3E4CD46FC27C65F7058E8F908DAFA540BF2726 A5A1A66DE298D6EB770FDD4C2EB07F3C81F190712C2C5253379D518A931097A96866C1D73AF6D3 587202857D0A83D2A526D281B42AD8A29E5084228C527AAC631E85E9FBE26AB60F14D94FEF2E3B 9A24EFF6DB66998C5E2D36966A11AF147CD293723A5F2F34625F6AC2C4FB51D0F851AA5B4B54CA E1C8002ECE653890BBC684E4D4EF528BF815BA9B3DAC3A6EF34EE74BCEBD75F35F370363879C6A F67E849750D4953A880081DA1B64582E8D790C288B65DC1B69BBCB0630C77ABFDE5A40E0630D90 F542F09AAAAFD8BFC57BCB9BBED422602DE45CB377C2E634B47AA83CFAAA35E3C869C0819E6E0E 1CA918941B15F66E9552672110FACBB538E8FB8A7CE8AEB2FF61EA94E098B89062FE76EF53C6E8 2CCDA0E8A19BCA2B33F4671BD38C0DE622522CE84ACC4114473F10554F8B13AF6E50A8F7443EFD AFEF23430F4C2AFC9188ED069E25647C5D89D657E5C570A27A4EE5981E1D9D317CC90F5B25695E 9E1B914773FD447A91E76E5E87E6613127CA54E8AFA17052094F6467438B369C8549E5A0A59B04 D32B5A0B02FAB315F25CD4C7E16FCFF78544D88D983EF7C49AE1DDD72275759ADAFF6F206B563A 5912AA256CFCB35CE30CAFCFA481301F6A25F673A8B90E9795B2981601BA88400DD247AF468011 8C698A366B875A8631AF3A5B4CEA30F1B98870C096B0285AD22D2AE0C3E7C2600BBE9DB96A9A40 96BCB3275481F63EC41789444E088A98C3564F22C7CC1D5D343EE6E3494E46C99B1546AD0FC7A6 561C239B5D233450A80A13F4DB163FED87BFD98FAEBA9178CFABD4B5828EE864403949429940E9 BF97455B4B10F6FD8720930BE10E639F7173B460F56701B5D4AC799A794C9CA075D34829B98461 0FA438749B33EB9FEC2BBC2A2D354DCAED8F46CDB103EF0F64670EB7FE92FFFD4734BCC9F5B68E CBCB0BFF982FC7558774F9814B00802B4147A50F96E52FD1E107E1BBC7CD878D9BB194A3280DE8 0D3BEF8FD0CE0FBEE8919B8E6A9C8A45FA2DD71197AB8F15E122B6D96347181D1363A190CAC8FD 84EDEBE0752BD3EB0312C7EC7864E68CD0962B3AC5B919CA24A3F3B75729AC6578254974D749E0 9E460263EFF0F666129514DA59329972C02FBC41C2965D3F2C7AD1B834D210EAAB5FE5B50DF9C6 E16A3DD52EB2A3E703364958B977060CCEF91334232C9E71E27C03A1DE128CFB721881902A1C27 5FF14F0FD65AEA05A3A58241E874E6222596AB117144C5255EA57322E49F07A7DE465C39DF690A 6A9836B10E035928E05AD103954B6BAFCEC520D364A7E4FFA27EDB5299F47ADD3009FF45463D38 8A3C8571B21DC64DD8CF7028BDFEB4F66D105BACD33DB5E8A00363B47B9D348AA1611C059205EA 3B5897658160F069213875205D4979EA1A1F93F196A322B6ACFA8545EBA221B363A4F6C32C5FC5 FCB4E4DB0E2D103AAE01AC84FF8B1BF81D05CEDCA5A356981AED6A5F4A5978ED737CEE2B686275 2612B63BB055641ADE4F9DFCE2BE94F9B593BA495A1351626702E648B62E781885ED4770A45940 FB25E5C4DCF2CA34BCE72693C063D1F130D728D7D04729E8005CB872D264AB8EE6D125962DD6BD 27C0BD80247AE1DF710BFA28C8A5E32CD34E45D60AF37EACBF49682A1A76B15ED787E1E6371B5D D56DB046DC21B5DD9463996A4D805135A4971B8C187AAD32C422087D8FB8B46B5B472BDAA9AAE6 85C6C08431BE762313E443A37812D19F535AA285DBA7041997EA73498D5630D24F727335289DAC BDAB419E8B044E45D08B45B24134B5BAC9CF14D48DE6AB4705607E8B7ACFA9772C1F4E86A35383 FC11C4AA84A7C734915A2A5EE0C630268C6DC794DD6164C9D28C33E6208266D51ECD5FAC58C455 ABE4DD2E28AE428BBA827C18F347127E07E9E14BDF6FF4555E4E6C79697073F5D01927422FB534 7E854223D6932003F6F7F2B6BE4FBBAA65F2AF984012ADBDFE1DD4AEA80E3CD859BBF018084B8C 0E6D3E4B81B9F2023F818BFCAB27AB55D3930F03EDDF80D2274FB6BDCBD888ABEE7B9C3AACA6A7 70FEB66CF346D7545537531AC4FA6DE2AE0B5F0751CB10EDCC047527117F0974A8E0E48413155F B8E15D487942B6AEB71989CD74C88AC77809E1415C14A5BD4776A2593692BAFB9D3F8B398D9C0E 1DF346BB9A75915575B2ED1F1EAE8BA4DE510ED7F5E795314D5E5FEA572DDE48FC742F6318CD26 4DEF0C83C92032465C5209ACC826D2CC9507097A18679C44329E25C87D98AC7A007B4795FA3F14 E93993E927358E2E5142E7FB9CB2E62C0AA0C494768014DC0FCF8BFA1B299CB788B74A660CC404 F661DCF070C900E4E418C0ECEF6BB7A7572C2A632A9FB4F18C963FAD73B5A0C863ACF3203489D1 EDE5AFF38D67FEDE75F17AFE06F9130700BD092A55129DA2CED26CF10C5C088FCF82B192AF54FB BE884D701A15D71F21099303F9204D0CEE6CE1CD4491FB5B0285EC589C17079AA6599ED30377F6 7538636C92BD6D49B53C1671DDA036FB4A9251BDDDF41383F818F332AED33E010C642605051FB6 5F1E68DDB634644026B08ECE7608AF5AD2F648E32B6DC1ED202F02E12B31E008790FF62B097F9C C871A36A23737F8DB0EACCC75740CEDD89EBF1D1619BC558D35FC49FACF0C4696F577674879B35 DA2342F894FBC85F7EE7F4796B680D12ECD8E344D5FBA7F5E56FE4D5C138309CABC4871D81134E C07D9825556F78F74C9239BAC7365767761577FDF31609C5C884CD95571410856CB2A87CE42BD8 9F92B8AFADFEB5BA618BA10396AC6B31A4E87C2B89B521FA100D8622F39C80190749C5E9C26F9D 1040F6B90D2D380BED092EEA62D6BBD648B1021719799FCF210C5EF3BAE4D44C4D798D6529238B 5BA06D3C9F9AE5367CBB81993C19F9286E690DE1345FFDDAFF9FE36E 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsd %!PS-AdobeFont-1.1: LucidaSans-Demi 1.001 %%CreationDate: 1993 Aug 11 21:10:03 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (1.001) readonly def /Notice ((c) 1992 Bigelow & Holmes Inc. All rights reserved. ) readonly def /Notice ((c) 1992 by Y&Y Inc. All Rights Reserved.) readonly def /FullName (Lucida Sans Demibold) readonly def /FamilyName (LucidaSans) readonly def /Weight (Demibold) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSans-Demi def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 54 /Aditi put dup 39 /Alessio put dup 41 /Ali put dup 47 /Andre put dup 49 /Andrzej put dup 51 /Angelika put dup 53 /Anton put dup 55 /Ari put dup 65 /Bent put dup 67 /Blair put dup 69 /Bonnie put dup 71 /Brian put dup 73 /Burkhard put dup 75 /Castor put dup 77 /Charles put dup 79 /Chi put dup 81 /Christian put dup 83 /Christoph put dup 85 /Chuck put dup 87 /Clovis put dup 89 /Cyrus put dup 189 /Heinz put dup 56 /Jacqueline put dup 57 /Jagannatha put dup 58 /Jan put dup 32 /Jeff put dup 66 /Joel put dup 38 /Johan put dup 68 /John put dup 40 /Johnnie put dup 70 /Jon put dup 72 /Jonathan put dup 44 /Jorgen put dup 74 /Jose put dup 46 /Josh put dup 76 /Juan put dup 48 /Justin put dup 78 /Kamal put dup 50 /Karl put dup 80 /Karlheinz put dup 52 /Kaspar put dup 82 /Kees put dup 84 /Keith put dup 86 /Kenchi put dup 88 /Kettleson put dup 90 /Kieran put dup 98 /Lalu put dup 100 /Leon put dup 102 /Louis put dup 104 /Luc put dup 106 /Lunjin put dup 110 /Malka put dup 112 /Manuel put dup 108 /Marcy put dup 114 /Mariusz put dup 116 /Martin put dup 118 /Masahiro put dup 120 /Matt put dup 122 /Maurizio put dup 121 /Sebastian put dup 97 /Roger put dup 99 /Ron put dup 101 /Rudi put dup 103 /Russell put dup 45 /Will put dup 105 /Sam put dup 107 /Sami put dup 109 /Sanjay put dup 111 /Saroj put dup 113 /Saul put dup 115 /Saulius put dup 117 /Scott put dup 119 /Sean put readonly def /FontBBox{-309 -205 1151 967}readonly def %/UniqueID 5029006 def currentdict end currentfile eexec AE40F8585C2492B57FC8C19373E315912C02C4E404DE7D857CFC574863562CE335405BDCD8F11F 96FF6E8F1C7B7081B95AEE4E19EF19E210EB377985E3A9C4049662C57E12D3250AA62F97535698 C97032B09BB86FAED093CD2338831E8859F00CB0C108EB8E6EF582C1A64E00289B62C4DD3C7ABE 9D68E37629997DAA1BD0F494A609A153E01C0FC558EC2510717C5F3C0D1704E13894839A500B55 234B67E33C3EE5A6E7E905C23EECF0D7320E431F93A893DD533D15A7D941B043EA7698B0BAAC30 D437917A0AB35CB6E43354D38151D2BCAB7D2B5C7EB260C888CD713A2960FB2E510299FADCF020 C4A535A0791F9B9DA4A3D25C989EB20DD198AAF09029DE3109374D40071EB6255A9B872322B00C EE340A09F572634C77960BD50BFCC684BA77A4D15CEB51519C9728E8A3D90555B3EAF8C342A020 6282A97EDAA25BB74F1AE6F862477A7AEAF1A2743843460B3EA6653A0E7348D33FEEDBDED3D45D 85CF2AA51168B0647C1DE8B3C9A78C2EA43726659F3E8EDBC6A899F644DC2932A855CF3F64B115 B46D556E5D9985D389F7F250B017F690E2D057D6C651FD591D0186F44E4E72137572BB6C02B816 DD19473CAF196D22DD8C2CDC3EAB84CAA908B1895059B7CF29D716DE195A6561EDE1D69FBB65D7 CC82A9A4661DF15F693EE6E383D7B8204B693A7B0660686A66F634FB881D0DCB0309DCC421EFC2 F0AEACC7EBDC0D36B4B23BE86EC1BF92CA08E7F7FE75A9573149F4DF5B0FF2E3F1B7152EE18AA4 4C79B6B5B8ADF21B9D463241D00B8D0B1E4C53E374EAECD2370C762B7B6BEFF36ADA6C616B9395 16561AB36577ED5709D2AB556D6828CFE3312375F8352709005A1AB5889D6EE142AFA34C135FF6 A16327F64BA637F66BBEA267A0CF74E93C5FA0BC0025041987825AFB1AE5BBA228C40BC35EAE0B 620B9E90510DBD9762195207113830727F293787D784CC8B3096AAE08DAA086D3F2D02742EACB3 7D210FD447B489559EF0641DAD182D275B4CFA7311FA695AFBC9B689CBE20DEC441EBD2D6CA829 F3C9D7A5F0BD06082A0348E70A97A463340BFE7B8A183D6E01735C49361731501A6BE18C334DED 5FDD2E20E0DC11010983CA608F9A6AF1E2C5887707CD4E1EB02F38BDE030DD8E0DB7D9B39470D9 993CB97420EED3C2238E2D9C5558794D1EA89D7DD24C8E426BA238743695FA0908AFB11012C071 2ECFD83A269452B1DBE37E142A6A45E05E4D3FBFEDA1B8D3B3A8D165F24B8ECC37EAF5F56DAAF2 2FB1E178D15C742CB146B41265017FD85A6EB653C0F69DE9EE0D5C488D1E9FCD5516F6B8721DCB DF10E9A94F678124D6668A291B25A3E898923040749ED3458B9DDD204B196470F18DB90B3B0B0B 62F4979942FAA9F1FC00D98E345560CEA1D8C89CF7BC141ED12696AB78BC44B2483E3B5FDD8F8A 257B81175F5ECADB194647FD147826560D21CC2C1E619079C5E03D47E85014CE98E7AA57F32B97 0F7211D7FA44C26FC12A0BD6F12604B8F3EEBD1DCB0E8959857A5EB5FBAEF277ECD1AC6B564658 A547C9306B51C96E76D46D4878C5B0CA4ED3EA9800F9797A4B5D18D91244C74DAC07C659F3656D 2C2D9B3CC8B2F6FAFA22E74782D61492462936DCABA1363C51EBF7EEE92BA72A7A8E27C733D488 C9363C086AAA51C07577851640AA5232FD80E70934CEF2CE74F5158DA22C7411989672133BEE50 558A852537938BED9A34115416DB0E62A0CF53C5857C7280605EDB2DFAFE3B15A82F64A2C541BF 83903E3381468B8EB372547B548AE62E16131D0E4ACBF1575E3F609835D9DF46FED02D58C0C3E1 804DA0DFB55F6335B910691A3F5E3709B83F3B9FA35771DA4266BD8ABA9FE7F42F5A877D6A4457 BFC547DB8988CA6E77E04FF7845E90E7B72CCADE8A5A14E594E27BBB993E4F73FF91CFE0306C23 A8E6B352A0DFFCBFF83E4D9E6F7C0F05EC7EEE1DA737E4E1B5B70243083FF2EAE5F5F88AE7F040 E7D8CF58D7AD5A2B25B626B4B5525377CA40EA542236128AA40E592421D0D871A37C34FB45DBD6 A45451B15298530EA0E1DC851C212BA010685A92B1F805547CC57D62DD2D7CD4156C420D073AEB CF0CDBFECAA3AFFCA3F1B1B4F817DE41535B77504E891DF0CB42AEE39CA3E37E1B5F787D467CB7 306304950015AA42A53A340AD1D7CD32F2C0D2A7EA8A7297BD0FAB1B2FD027D0FCEF35DC8A32BC DEDCA3F3702008ABC82389A0F12F70859E5F4126A88CA4FAC548C2515A46A3FCFC3E958575CCF2 30858E0465CF6D43D41973057077BF986E4DCB3078CC14096CE6279C919082DC237A9610589B29 E9DC232CA680CC17DB5C545BE9418CBF16AE837E02681BFC873CF630D9044524A9F4373DF78A7E EC5881CECB664A92123639D62758235DF94C854A740A4D38859C9386E1431C5152331D71AE0812 CB23884FAEFD580C53552DB1D51BE03559E7129A8642AA14132AED38CC4357259257698DD96624 76589CD1AF7D72A53A8BA78A6E2737AADE9D3D880140C3907D1C20F6819A0F6465686B6D30A4F5 04E0488F5C8CE701D2096B45BF447743BB1D981E52C65BF78CB8F4D4BB5E1E4B0E3F48CFB19D29 9A4210F36A2FD8557AE2AA0477683FDAC64590A3E6ADEB3E3C24DEE4ED90D8A3EFBC3ADB61346B 6E167CD20F60FD028CF251CBEAF221F423505126973808297125312ADE2F0337C0079BA876BE4F 94D9F38EE5165BA3BF025C012EF13CC89451C63D943AA2D0C40083036AAE18197E87AEAA4E6A4C 678BD07DC68D87C2B18A5BF0B371789D216183C02DCAE89A8BF26C15B6A3ACB23F406D77AD9869 B02E9DA376F0F2299767CAB7DCD0D8330D96A43A1D70EEBD80362872616E3176C3B6CA44B5A8BC 9C0171B08FDCC575ED942B90C55470C69C3DDB7FC6CDBDCE4911418054C7C723F1CAC9646CACCD 23F594B344129B30F7569104989A986099901CB110CC535E57D6AA8CA80FE75C4A208A7B5E39F4 019D8D8A515C0AAF8AEC711A55C6C0DAA0F17C34C3066683AD4AA6A7D3EC57F20D32E15EDCA57D 61FCC7C8F8AD61260B574593CDDC128AD465C59A785983857898D437017360192FF44E19998358 6453672475B760A3F8F6003D3EFA6D22505EE7A12ACBDBEA47B63E5E3540968AEE5B6E7FA8774F B5410F44F9090E880D2B6E7E7E6A7D1D4D717B144D8A7E4DB66CDD5998BE26621B9F4D7C719223 B7A5AF8EB116AA03C6AF30FE61E32A62B4969B4429D0D101889F1BDE8EEF0662FC4D64C06665DB D474E811F87D31BF576271A7A3E52F7990BD79E96C3B4A936E2B1FBFFD2D31509CF7F5BC739F4B 7C0216B5AE0FD8AD25FCE86B33A4D22B2D616C96AE155DBDCD095A77AF84EDC4B7979B078C563F 8588CD016B3C08695D31C8EAF1D497C01A9737F6C1AA4626BA952175B6B898FA389E9493A8DF87 8D4A1C38C0CAEA89B225567AABA00DAA5B6F3E038C0F3198E8B5CCA6302646EB464F062D4BBC8F A8446418626319018C9C8CA08B1C42D0714AE74E49CB33A09CCFCF7A208D1B7212C255AE7701E4 E01D7E5EDACC772C8DE238B4DCE0C3D6A1C7D55FA9819A3570718A6732AD4746A71DACEF94E459 0269025736DB98D2F053305C27D30D50DBACD697EA875932778F2A544C9460A942DE2DDA61AAB2 109FF6363A5EE7E6E336394B882557F7E13F3D740ABFB291290AA5585922FDC27873A8B29525DB ECFE5A994BCC926A5A4B34C49210279F8763281A5D91816D974BC5F22847D68DCB911D265F7B02 FBAADB2E96FB0E46DBA70031B7D7A4BB32711C127FEB546F52C1FA36C7993D40EE93C0D4915B12 FEB19EA6972A3651FDD1DB039B1507600477877D43AF8F23B4D41284F50621DE3902A3BFE3BDAE B057C127605869A6FF573334D00AC079DECA898EC5E7C28CB76B23A617DCA022313B449518FA4E 3556B2335E4A45A8C61121293C3BAA23BE8ACFC53658B3617458168B3F5FDC321715AF886021E4 AF9187E2FF6CCC09AF7FDD019556DF58061AC74581BADCA856650460E5B45C9DCCE4B4CCD18DE6 5AE71D2B3D4F472FD56B46DE9126E08DA99B91A758BD9A94E28A8D951262F220111C3301972A7F 49CA8615AA7E7BA61171300F8E66A9BA949FAC666EAA23720CA825DE4D0F6A9ABFFF233187791C E57E3EFC5FDE95D277D13CA6112D5934D6E27C07B614971D3AD7FD74CF08B4CAC94F1DE512019B CF2400998F207B27277C42562C7EAADE4D090D8261C818DDDC65F65CC793E5A479F1E03E3942DE EEDBEA85B103FE2BC309C6B16D87804C85900E39F51E96276D9BC9F62825D42D1EAEE49694D61F AD59AD71A3EA6E53CB0C06E7916F0FA7A3BC0DA39E224ADF4F23EF2A15A4E0A56D9E38D4D7454E CDF3E8D010A6950975E1967E54F4C63018731DDCCF5F6DA12B4D2AD4A228473E49F6EC799D1967 B7F333ABB650B2B573F24B755BB71607D20FE142C5653358714EDEEB94D1862B435C877C80C1DF 7B02B148E8800CA3A1957207854011A7EA1AE2B831F2ACE4D56F9A2CECCAA4BDA65C6CF8CA936A 05FB76383900D5CF4CF85DA2F2D4E0E10C43B2FE280CC15C75349B170E87909E7113C3AE32E62B 584D7D350D1097EB7161C2DDA01D1CE66B622D041228C3A93F6FD48048ED070EAA88B5AE5751B1 9034DB79FBD58D16639930CDC92B93F439EF6E900FCEDE677D1CA321B93FEC8C22B6563A069710 54DBF7D60967EEF580203D0D4294A16C912B06252B97ADBBEA61CC04F9305A249E88B95ECD4AF7 1F6331BB6DDBB4608CA1548E270CB79FD972293B9EF8DB393898198E0ECAE14C92293506C39170 5CB3B0526B95E3BE6B8D3323D30D1A8933CC0C558C70D22736BEDDEFD0E5DE972D2BF42EE9E340 0F64CA97D4AF620384797F9E17BB831776A38A03E6C719917AAD65B3FE3850EAE611B9ABF47678 D750C0E55CDFCF90E7902A8AD5F0CFBA8125F9C35A49BF4332CC5BB1AF7E6601046E9DB0AFB3B0 F047A17F1E3346F5B3C4E4817A6E75753A3A66FF2F6226B57788DC7C5FE3352A6DE50E7E44723E B4268EB179EB916BCB57F3C7330323B554C5DF750B5B84563DB7248137E312AF17D2BFCFED3E7F 09323553E04E4049B05E4F8C546D198FCF51CAF6D3ED424FC973C3391D9B190E1ECAFF617B6E26 B1F2638FB32391EC52B27D0C353B9E7085B810276FA4728E699E50BB54274130A2B290F8B2E49F 5DCDF560B56DE2A43B41ECB94FD8F4238771D8B55712DD101FAB9A58E4319E58200776583C35D6 0EF2D7181170411BD45A5C2967D7F19487E8C2B17A5483E90316EE7F6ADE0C11AB7355BC66E021 2BCD832EE4AD4DDDC4AD33DB5358CA406876B077CD8D4CB77D1DDFEED860DA562615F51A54F596 C474DF3C2D253EEB1E9B85352211F2F627927893E9F59E70CD59B2163E35D0C72AEB17EE83CF1E F47FD6ACCAC3667E5E297DEE0E7F88644054E99E90DAFF89448641620EB4D165D629A9B59A0561 A144A1CDA31FA7C64E9003B9F66C880793D1A968FDA68159508B61D90C52DA56A5EFBB937D03EC C3F56B7C4E58CC65ABA31D9EFA6F49D3739ED898D2B2FD941180BAB89F6BEBFA09F2AAA3F543B8 447C15E372EC5683C81B987D492F6FEE10317F2C5FD884F813C4E281B5A7D120C24D1C7844CDAA 5CFA497E5760A150E0D22A548AAB3DDFD13429A2CE12526162A66C45B38824E56D4CD47B6FBBD3 3D66795ACC5DCCD1AB9BA0C3D6E2AC6A8E0D14DBB9F693CAC9F3FF65BCB714253A607DC2B25B15 1A7B07690DEB14C2829AE2D043812BDB6881EDBF658C21FBB5DAC05326BD8683B2506ACF3B637E 055E94B6141C24EA1BD6CD7437CB2713700EE829254EF783A926E2768B06545FE263663F79CA3F D4E9C750BA92F6CB2CC44B03D679750FD68524246F4C63CAA44F8C0976EC39F782131014D136FB 96E441F9DF8DA9BE84D7A59497AF90656B9F308BE1B909E51AFE8396CD977B2BD9D6B1D248C594 4B3F0DF9042614F333B91C3511DCBFBD6DEB5D5F323B7F021DB863F63DE2DC9A1774CB6598DF80 011AEBDEAC09EFA9E1644FA39165747C88C8EA6B4AF1897B34E805BE0F0F89FE2B9F71F4236058 E5FEA48B32CECA6C5C4DABD7A2EDE43E477CB3760628DCD2B64E03ECBD3D28D9A13445ACC39C3E 540D0185230D1E89750D1C3DFB6DE4DC9A258156FB559870A29F057121419228AC452A0907E683 74F58C6DAB6DFD46FD4B7B7417A3539F5F2DD26F8FDD1723B6C4030D86C352190716EB980791CF 2426A868B756255AC3CE719D37C81D8BEECC143B623880C1AC8530698369322B6309C672FAF6F6 0C8BB5E787447A61E79877B8405C652A5A71F85B222F724EB406A8E5451B8AB3448121430B4ED3 34299EBF820709C1519E35803396B3DC845302F716DECFF7B34E53E60EEB0C30AFD9862749DA7C 335475A5D432D4161BEEA5D72A3772B499539CB672E9ECB32CE919DB201E20EFF2555B71B569BF CF8B902564763EE7D559D5AA9870837679E4718BE751759A9BACCC51A9061196BE327510BA4865 ECD5B2A3593234E0E6D198DB19D2EA74A437BA555CD8FE70BA380B852858881E83A44FDC32FCEC 52BE9A0EE93ED500F8BD0C660D0894034FAA09B92BA8517CD3D294D16EA7F0D038BFF2B744FFE1 2817B83C7F0DE337F0527433A982B6B43569C18D8D882BC722603FD1A9BABDB464230FA2B0C9E9 13A47D30EDF69AEB8D6737658718321A34A8D5CD33FDABDBE65A9E9DEDCA6F80ECF455DFC6A80E 28687F23D4ECD8D8FF396567EFA09929F748CE124D08360CE3637BCDD08D1A9D54EFA80EE56CA6 43360FEFA5E987845150CCDBC23E5EFE2E3E2F571C1CD5F838EB1884BC39387CF19A0B4CAB69F6 829987C0FB8634BF8F8424E649F9CFCD769E96A040B1CC46EBBA3B17886302C2C98D02ACF9ECC2 0D6495C1A80E2018B1267BDE4D82C9AEC7E284BB825E6E500F85E5554E9E55E7657947879BD719 81582946A1D6F0D70B878B5E280E49C23D3C5F176E43E1878F82210FD465F347B37041FA8FC749 20A45B3D73E71EF44F50CECFA9590BA94CE6D34CCD4FC878DCBCAF0CF713F4AF5F54FBFF508C42 DC97117CC92442E180E4B2307A2FF364E89BC538501A2E3526C77EC08E8B211DDF42042633C978 8EDD3A24389AA1690ED0715F531173163A95E36E87554924FCE4879941C50214A485A26C04960D FBD7A03B9AFCE70866723375086C6DDCB249AE3EEA17CB1BCEA611FF44364DAE6371AC79652C50 0EDC774B75B790B204C9479F3CE3030F6288D1E2C2F9F083F990F217DD42AEB8A95933E7A318D7 CF6656D9C57DEBDEAFF6D532CF206F4BFBA0EC53913CE7D9E2BC72F5BECDC0CCB313131688D769 12FE09419536C188F34C840608A17BA22DC57A7DE9B758E05C3800A8BCA77F95C0842094377A16 B80DACDAD77A3B65651CDF7F7C4550F1214DC47D6E88C006AC5D5066C3AEB2012F2E0C39A055FB BF174FAAC6A9A28D2434E03874446E15DCE7ACE5D7BE7050390186125F0435D4024DF4B5C25B16 719B3240ECE2B00C53EF9091E1043313BC83FB1128F19DD592BDC748E1172069E61AE8A05B6FA2 73CD67F68AA8F783E90D042C630811A8A71C0E22A6142B17D6C2F443F27ACF59C6F4474014DCC7 FE9257ECA7B4C46470DAC7540C34A03B7FC1AA96D6B48179D28A0BFDDC35BBAF155BBB5DD8D40C 2F3CFA7719E0BC7832EED6A37702223D1466A8B4FAB31D2D91AFEA30194B9DC756EA0931A28D92 8B68C0E09F7940A1BFB8817CEBBB0A5A4E65CD9170014C9577F321AD444420BC7522D91672DD1E E7517AB30B7DFF7436C75999DBAB0F7B3A7D452173F9FC066EA136998AB8D3A46AF5CB99ADE3EF F0213AD487A7C50A07E25B5363F2C3E47B79961BC58B4FBC206F8C17D4897A26101714848ECF2C D7219D372F38188AE6657CA5A9D5140B832533226677A992CBD205BD8A7EEB8618B6D2DCE91AF1 8401EBF19DB900BCAB2C7146A0832A3AED3755B8906C9A0AC65CE2FE44E3DF2F68A75FD285A1DE 60FC073205DE3B4BA9ACB0E06C29D5818F55A9DD737F2069BAABC52FD9B3F386127B9DC32B24FE 9F39921778FFFC702300C1FC92E3809379FAD3189B34D98EC371F9FAD6763C81B424B0E8339934 9282C1204BA70499E24CE718B2010FC17458D8208492EE56F9DE924FD848705969B622BB0F2481 6BD0FF48BF235DD71BD6F61C38B6294AEE8676AFCD9B8564E36EA6A95C4876872B94C615DC0994 D522CEEC5B7CA9ECFE9DA4A70613537A1FFDDCB26A909A0C8512796F70FCE357472476F30C9D7C AA718917065C69D2EC1EA9620982EB4B869035E7183A71A910212F18BBCEB054B9BC7419E45ECF 2E0C600F865B44538AEA23950B5E4010BD45921CA12C0C1968C65EB900ECE26C5AF8D29D31346E A2CA571A9E40938D85D4483DD894907ACD68738986D864190CE11362E7C50346473639BF4BEF9B 81160FDEEA602FCE03FA4ED3FC5CEEBD50F3576CDCD4F21408A2D80E265D5D607CF00CF15388F2 C6EC9A1B47C77DCAE2E4F2F978508923FB4AF9CE6C8BD1941F66866465D9826879918CD49BBB89 9A0B12CDA6A069B9944666479515F2B7E39F94202D4B369FAA1887EF5BF5304E8C2B2BF291D6B1 4E656EEBD98A422438DC43124E73DED0C86F71F98AC1DEC79E65C71AE390A9D7BA0A2A5AE8EDD5 5D22DF7FEC889A8953ABC0B0BB9898FAC1CD7B25263F7AB9DE276B20203ED2F2F43E7D52E442EA 02EA9BD77721C48D819AF6A522481180B75C940780AEF72D451D556A9B6781C45369984390B393 A873A2E0ABAA5D91DF10A1A29E7AF13F74FC678716FAAD7523B721B2B9C0C46C358887D0A7F655 40E317B0F9B6359CB0C7FD951F28FD77D33160CF072D79559B31687A19AE294FE3CE1E9D30B083 F955672E43D601A8FED9C7FB8C735C681B612B327D3806794D061C3C95AF819B08515A2D60E536 D3DAB7BF64E37758CC9209777C62677547E065E20B74175EA87DD3836D107D867805AA0D7A913C E8201BF1BB8AA51657E08999788761B3C5747F40511D58798397D64512FFC2BE814C776B9EBB54 9E4F5A3CBE75D920B2BE77CC141D1D26ACDD762BAD54CA7C37EA9BB718059948E6DD2C404BA4F5 08AB7634D7F7CD84A3C6A1881026AF15EE46DCB249436A9EC02E96D88AB19180FC2D01742ED7F0 2D7684B698AD17273CFA4164688C5B411D9E43DCA5806223040AF23ED0534A1E9D922380EEA882 A5B861CADBE7637EFD6064E56107BD6237EBEEB8DA25B11BDF0A02569374B70F09818E9A8A0F6E F9267967EB87CFB403D57215869D265E58194178AD151C0F774C726A2619B08515D3FF9D9ECDF1 4A7A40F43A154D499086B62D82BA643A2742C2F9420D73D7137C20C5C9F9CBAB60278E6909F8C9 AD368E6CA36624FDDE2E1F9DC3A76681FDC202A09CCD9FA7904BD49F29C645AE4B4BDE9433D44A D304FA982F5BD914F42A77EE7C4338435F8312EBDE34BF5F8D805ED362C6A99440A641DDB01CB0 CAB5E911A0E5A2935F340AE81B91592BED1B4272CC03247B1F27AB2E9B23CF77D3DD021B907460 F8A877545C42AC468B68586F0066342AC40F497397DE037EC5F5C517146A72CFEFEC3675C88146 52AA1A648DD3194BE106291289E0A0170FE7C1F0616A12E78E8FE112B7B2F60A623F49836F3FC8 CFE47E820E9911C19AB297882D2311F41D76452CC9DD6F6F95B0520BA3EB394C15189F9DE9573B 85C09AF740EA834A5EEE27A0400F1E3A6B5F86D0C69F8FA26C7BDE10DABAAB8F7B3EB7071A72D0 A21D82F17485DA6AD12BE8668D39CE0B6A4BC7B59A9D8D6A47A15F62D2B41283E9F23C35D2865E 10BFB2603A607E5246775F67A41E2EEC5683A709D02C92F4D021E07649C4C60A5F0E98D44CD83E A34297942AEC4D397C4672E5ED5E1FB1CC51F3B6CC7E8FD0128D7935B05872A6B8D76F5154BB3F 17A4EB5BA0437DF785A63009C1D8084FAA7EB5145E5BDD31E9984DCC2ED1711A2FCA3725445AE8 C78BB1C692F2FCAD9556C68E7C9196541B9A4F2465D16B4205E345D096E8E5B172CDB1E784B228 0D22A28813998F653A4D47B5346C636D7C22CEBF2DBF433A8790FAE8989A18C674BDB566FFAA7A CCDF631AE4B1B2C876E45B911CF9F4B9D7BFCDD2684553B1CC0F3BEC3624E44F023BA223E83EF1 40D0E6D506E11ADB79C0DCDEED41894073B75A931D0DF6AA89078910D35E6F65B956AD74F939A4 B30DA755CC42918F3E6B748F066E891F0A158DDB4FFDEAACC6E71A9AE04DDBAF899F796A80F6DC 02703C64BC7E021BC292A9684305D59CEB84F579B0BDB215E4FE8399DD885C8337A6ED127AB50F E2B562EAFD20C841E7E5DD1DF6993F4E60B59C6FB2B8660ED942D360C5DC9D48A9ED8D9A08BB4B 8F7D51AA81D0F6B5C63E3633EB4A8DD8EE07E99ED5A455B6D5021D91C154AA57807357D477BF2D 626D54E365DED3AA67230CD8FE70C51E3EBBEF88FC014AD287EE77170EA9E47828271235BAA930 087CD8749F3528C7C60AF3EFA55DA68C6D3B166ECC7B0A88E4077EB2C93BC5894EF84D9BACB493 203015DA8CD9EF106CFD123E8057AEEA2454C9651D312E4F6CB7CD12BDC1DBB475A1DC725A21DB FB24F55AC85BA2F07531B23ECC411FB2B0DA6B7379F3BDED7DF2F412A016E9905865ABA4274EE3 1D932014FFD8836B8CD636568CF0BD2A7B7D4F51D716BCDC50D56936A297C0E7807674BCDA480A 1DD90412EDFEB4F18016E5A5EBEF885D3D33E2D925831343B0CDD184AD9D9779F0F50805894776 3DBFE9EED1AFE3FF0DE7D8691104B4155821FCEFF8D0BA9F35DE1C39B063394E2F76B0245555AD 78965B301411E1D93B5D7C2284848B3CA29776059D9AA4CD2AEE88CC0007376C6EDEADA2DD1CA3 F5293EE8E2C9B0F1A8F5EE9D009C63589CD0A7003B7911C254B780C8545203165601845624AA95 2519CB7F1A1CC004B84458A19C7EE68FB249930A268BA05F34C08FA72BA4E4E6919EE667DC762D F206E8BD03D6A1996887DE81640A2BCEA4052FCAECEA52900A9296A4A399F7ED0C3D7D3852A897 9F339D42D32911E6E119BCA337B7F09F2BC74BDE2B71113C439397481A8A5AB3EEE1EF9A2DD798 E9CA52E836034C536C07CD377259B9B72FE7FE68A1FCB8D4707B223AA693CCEED0AB7D97FDF90D 84DEE522697C071AE0EF306ACBC192AB9A9FA397E6CCB97F42FBA37818A844FA045AD2BCE7AD5F 0731590C7A26AB951EF94059198AEEDBDD869096FEDF9EA55D22C23EB6E4ABDD469B3155CB9451 04C51EA9717EC395B7BB64E2E4AF5D31AB85876028BC78E0CD3BDBDE214CE56F5687B3009DAB8B 0AC6D75B13752782F56C590AC4FAAEB6DA1462988BD69173190F7A486077BB49CBF5FFF612B0C9 57474F5401B8B1E8F240EC3F20808DCA2F9F2D810A07498297DA66D9AF329991DAC432BAB46C01 F1B17BF8DC6FFF54F40397026ED09977520A41BEB1411F9334E8CAA93E5CBEE598A88A01B25601 8E529F173153A67AACDE4A8296BFCC5B88E6E20B29D083889C18B4D38418B12F8F3514FC95130C 58A0891AAF8A9C4457603EC6FFD26F0E1B957E783D4F309F4B654980C22D29CB8646C104621282 BB301829676E5F3D07F090E172F9A74E9E36103D3E7FD4D7AF0F6AFABCB9A21250BD6E07A1AB03 66719B2AE6B8B98B6782AC722DCCD0DDE69FE9E39293130A206E9CFD64184A589C4893C03375B7 D7094CAA426EB2DA5FF79C2DE45F5893EE2AEA388A2AADBAE87FF70B629F304AB0D81D41F44352 1FC0BCB558119C9FECF5C9EA1A876A0A06610CCD279BCCF198AA606A2F4554880BB1BE38A91B55 48D503EE76A3ADA011EF1B31F25B3A6FFC1A6C6544431CD1E1DCC06789C88584FD1878D3F5F565 3B6FBB4B5B4795779F976252E9F3F09A482F9C8DF00B5EDAD6F0BDCB811E622A4FAC70FC0D6F6E 37625FC077D143C6AF7E76280B45F241C2FB62951447F84012AD8401C0BB7B794709B48BA3FEA5 D85AB7D9875320A13BE8934E8FBC8B353DCE93A16979FE3A97D0E9A8B5D1F7DF52C6C18F60AC87 C8B17DC80235023652ECA4275A901D9468AA7766128FA157DD051060A62CA5EE8235E79CD8D5D2 B651066E2D8481A717EC08FF985BCC2B4B5D4BAD6408B0557285903F26BB6698710CEF6102230D 042EEFD6069623A5003CCBB8B71F6FCA85A88347DD13459AEB84EB4802ED2ED98D02494CC9CEE7 FF5FF87319C591C72CBC3F43DC7DEE2BCD0E96DF6EE42949CAC9A7B7CFEAB55D3473DFC3724105 81D8C7CE893A1C374D933FC9CFDF462481D98FCA27085AFDCE8CF359E127DCC1EED7B558FC6980 813EFE260620D7A7BAD331651C09B2C7F5EA13A7D095368B1453C7E14E6F6F4C99CEA3F3F51256 77A448D040F2D496616C86D2F6774F2307163FF9C0AB8AC88B20A6023E60A2C8B63E1BCB6F59A4 2D24C107DEF5875E7EA1062646DAC43CCE029F56E91A49B0BC6873D1796DDF7A0117ECC41DD4DC 792B5B97077E2AB5492876A547074A73D404CBA4B5C0FA1938349B7C156FEA5952AF7DAB0002CF 84A92D63E38C0ECAF31FAA2B2A033A3D382C3A4416F554E4E00100D122B2D75AF0BE42C42C7B1B 4E515B81F4EE8D3F9C39796A63506223415C2A55FFA26EB9E28ED5EBCDC5D2E83A3B27DFC8B6BA 8DE74DAEC630AE7BB6DDB12A42C1F666A05EB18665EFC68FCE7DE3820485FE9159E35EB35E2932 62FCF5712BFFEDBC974E5990BAD0D64D820564F54324323B31ACF948B3A27F4AC397A958864268 5F86D44EA685BE3CBF1DC01C293397B8E3E457F619D8B6A85E75D838219CCBABADF23C0E4434A7 787DC52DB315BAE832819F2973F11C045A4662F51256BE3967C3231CF42AC7DD045786B27E377A A42DAA473A697EFE962CEBF368F10E0F3AC73EBDDBA259ED770D8E43F8B39175BCFACFD1E31DB3 88950902A66926774EFA8EDF9649BD8AAC64702EA9ACF5717B5C91B4C150EA2A98CD128235B6D2 645FED4EB709C91D4F71F2E3B6B971A378A7B3499773293D47B59AE87AA1F3220CCC3022066508 5965385DE8031B42CBB2A2A0FCB9A038AE2BB898991A476373CE559ADF3263F47D6C103112A5CC E3EDA9EEE4C24079F0EC6F88E9AD54D1629606C97F6EF26ED0225718AFAEAF1A21C712315C03C6 9B019D238C17AB4FDD0A52E840E28C6D83D6DBC7F04051CD5F8A61654B3037FDD8388C222A55EA 4A423F99635EBE452DB660388127204288A88BA9E08B6C31F92960CB9B7557CD754A3400D48F1F 33EB9C6E820BA19A66FAD15A086EEDCEC0386DDE30E8FD98B3A63EAD8AA52656EAEBF9D3995C08 083CB2901C8C04E8CDDFA28F89FA371822652E71531782D1388AE97BC059278DCB3DF5D175DB21 FC34D07B6D3DD38F44E6BA13133D6E2D54033C4A77F0A4B282069477761F5DE689F4EA7F734BB4 5C0C3AD0198A5C9F9AB087A38A0F47BB85CFCA1DA6E818ACB5B1D9B322EA1A67681427A2E92A5A 72E27208D406D2F24CD583EB914DB7615EA17B0F471DE94AB404502DA4CC394ECE88024B6AE998 CC7FF2D1383E183DD4562ED30BCC8BB6ECE442449BBD57E546AE5E6993E2993A9E0E49784366D2 6A0D3A301F81AD2413F564C4F36F7F8CB3F01E1BC0609F9B6CA4051E30485865768C9CDFFCBC7E 8E5A91904F43024638C4D70994F32D75845F9F865E9037491E7AA0877ACEDA00AED81E74122F94 BB270ADAB594F5055D2B856F9615F1EDF02AE54BEFF75D33F53589F82AA67139C454ECD8077C8F 53509A3151A7EF94E80BF03F881A0553D321B41CEF83350CE9B40F8CD187D37F9B0C0D7537D498 BBF7ECE55A8F58FBECCCD0A67EB9D86889EAC4E61CD90C40992344C0D79FD1C8ED6D7272B48406 81B99C5A06266FD81B0904D89F1CE6CD26D9844358263E5385CAD345FFD28000BD449B1391BEAF FEB2E5EE56A63637690F48105EE0102E398868DE9D2CB1246234605FB2A5165085370E4EF4481A DD0BC5214BAB5055AEF44E54A56E884F96CD9DEB53F44D2BB3D29839F3780655909B8F5968B491 83E5D0978A1D3EF4A15D97EA1D3F1B16FFCEAE52E18F34BA676F2D478A5CE9EF0EBFFA5E0E8DBA AF563359E5B0E1FA0A861DAF2F664F78B338999DE20CBA9DD87A91C7FD06E12F3FDDA8EA27F945 DEA14960910D04FDE66293A8BFDECBCA8F5D1267CCD28B5161C89CEAFCE617CE08496BB3DE963D 34AF77B9BF7533C46F910A673D6DBC905C11D166B26809AF418B3A8CC243E92F7680B1B02A56F3 355FB37EBD6F1CF721BB8B55199F04707C9947CF0747A124D6136C18091F700C1DAD3F30CADD8C AB54C79ACFDFD261A443C3221174F869DC157F61E198A69E6267C9B48E78E907CE5FE7FD4B53EB 9189094E0EC33829F7C27C6AE1CC732C3D191D522CDFAAD023A181FD7B5694F0A65FCC20F51570 95EA8DB3323E2DD26FC06CDCE01EB98A5ABCF0DF84F3A14DD67EDC748193627EB51C8F6692D45D C830F3EF7C823BE662184B79F6B523D75ABB3E83F0BD78369669A26728BE6B6709A835C3299A54 25D05DDCA7CB954F4B325CB2E5E6C28C50C59EB0163915521956EED1A2B2DB82B22F7A1B9E9CC9 F40044CED31C72E9E85B0244EAEE92EE90CBB3A8620A53F805E9A20A6A0FBD52DE2E75ADDBEB97 3C3A794EF204C634F464E0725FD33E8146D31A976D305EEFEEF70DACCA2BE227A1689BF53D61AB CA013B235A2E921FAE0BE489107B223E99209B7CAC5355A33F2F8C04996D075E18007DAA3C1319 EA66E669C4198838FAAC9903B074510749D671308C9BCE1D173D6C296AF100581E501106717F9C 59E3A29537A16D376D9BA8DA51C3FCAB70B0D0F61445AC05758F1B579DCF0B5CAC6738FC4C47E3 6F5A3A27AC9F19045BE6B3D5482E2D30962C3141E12AC96D59E6D43448F85D1999A39827C3DF8A 933571A6585DB257603471CE0C77950F8A7D3C25FD60888A26F6CD77281BFC5F4A72394ACCB7C6 A9894B6015226109D1B043004363DCB6CBE56449917861747F1828E6DB19F835E328524A69464B 60DE76F08CA1FEBA7DD75D78778CF64F0050E225DB6A44C785592459BF38CC075ED97583AF0E17 EC67B74D752E580533F98000A39CAA0A3DEEA46B89D864E22115A084F97B5B0D3A050AB3ADD338 080096BE5A156EA956947EA2B1BE6C357BB1901DE7FCDF02D78B647E1FEC144FF3C8A7711A894A 1E7D849A60E0860EBB256E15C5C995951308CF30F1A87E8D3E678421B7537199E27270B4755DB5 536CACC90C4772CE0CAAE1780BC54ABE0C3BF2627B64451DEEB875362F3B47E95577A80CEA03B3 C6284BD3623306A66907C6EE6F4E16617783DDFE3AB55448F80A97E8D5CE6B73493B8426DD163B 96978D8052FFCFF0B0CD91F1D366FFF67514F92F6B1FEE64C3C023EF905C2830BA7BB7CDDD8532 F18CD1BC5EEDD4E57FCF043625483C58AFFFE5EE5159F1707BA49760CF3D6900B2A6C9B64EED82 ADA8F0B96D7BD624A1AD4B3DF0118E86B98B46D72A0744FC895ED2248618E6A349C51A44A89C6C BEC27E525FEA388BF4A52D963AD520CF9A768B8E1BC6345EB434013BD9FCF6FC5A309CF7953DF4 E6A92DF3FBEF92FB1A4A7FC4AACA0B95F070E908AAAF4738227375A3FEA047E3B4823BA8FA26A1 F497936F94ACBF1920E2C18099F154F2D74E50A5FA623B2048920B7E0AF9446EED9C8D4B737AAD 85515672B6AF1543E5AF733C178FF90B89B6EB1E92162EAA240B158A78652680F3509F9C1BB21D EE46DD3B39A2D17029BC29E260AB570B29B02624F152F6D56DD4F2FE3DBB352A3CFC4AC0534F45 E31ABEB8C099BC8B7B829F6C7D2DA0C2B9D58E22A8A8BF73D9EB1CA278086FC1FAF212EFA755D2 96C938CB7EE5AA4E007EADC88E7205FA0874D44B769CA1E0D757968A39FCF4F553C14DCD9B34FC 5246D3595625943439F4F876FB6A52EBFA06056850F5C92D434FE017FB3D4B0E9022B2CD28C3EB 95F084EE99911CE955B5B93196BCBB65C2699A0C942A998F785A59B43C8F8DD87BBA6107854FDD 70B3763161AC79C7CFF4FA36EACDDABEA6F5CE84567AF95E389F9C2CE9E972B540391F167369AB CECA3C3D9967D41DDE6F455445D686B3B8223C6E8727BE334A73EFD62477DA3D89DE65F3EBF81C 4DACFC5CB89587AC9267B8670AAEC340FBD51971A3323B17978E110745B84C5E6FCD74E132BFE2 19BA1D812A645002FE8827DDEE54546099B47E82F3935006F0B44E174B675CAF24A8FA4CE10017 0F34E1914F3222DD851F0A874650A14866DD1EFEC6A2D97969F4E3DAB9D449AC50B5E4524BB5AB 96932237FA7896A5284F85E592B01D20C761D35BA83B4945F5608F30A77A84D918B6847516F96C F351874BF52EFFF38ACCE88174634AB0338A377E99BC3136A0600362EDFF0E1D42F8C5F984ADF4 AEA2463EC1B3DAE2A6CF86CCC2AA846C7EF31653605619C7D0573D27F914DBE344E5C11B697154 347E09F54C4108A1D71FA878E4B07D35FE056DFBA2D7B99C8F01134CEEAD849AAD3AF0CB60505D 519AFC82A4BF5B342575B774D88173F1BCF2D914026D3413FF187F9C8FCE3709CF0F7E9A793483 876A4FD3F0A29DD8DB7F470E88DFEC249A91BACCAA65AE26EFBC9CBD550A935741A5501021B9AE 064596C775BE5967FDFD3FC595EC5CEC2F185EDCF11492E76C8EB22CF5C91BB63E9AE2649D8A5B CC7A47943E40E3B473EB5E792919F03F09688B71ABC0B0E2CF64E1DD286236360F7EC828CECDE7 64CBEDB243828139AC4C72378B3EAE67D43CDCFB95DFE17DDEB6C2354FB8C52ADC0A666C40E2A0 4FBCD8C01936F04F1A983B68462205765CC6E782A2F459C040958CD16D8AACA06E1A7BF14BA6FF D570675A54E431B2D2CE78D008F082693123D18E1C3D27171DE5940F63C3FA5480E80B5727F684 EBC48DEF479E345D2C9003481AE5A7FE20A1EB0CB422FD2BA07A3208901CA8D782DA95F0A6DE2C CA3DE689C498A10CB8E5AF0A2203C5C147BC17BA14B4C59A34B9351321EFB281494423D0B784E1 622E2F3EE7591A23113B3B90D34D824549B3A0B513B8BFBAADA9E1C4879251BCA93E6C40A8731D 19B411F1FA3C3F3BCEB63F5B9B8E868D4F0B966AA867EB2D4C301FE6A1D35159B4B7BAF8227D6F F7A86BBD70178E4EF798799F4B43E296A889120BE0828EC211A38BF5A5AAC3C00494B0AEE6ADC1 B8FF56733A3FAF015E6BA38FA59DB63FB3C9BA355E5F2A555903E4A22F2D1F26AA89C21A623DC0 F0D8AD654C3FBC752FF21C16321F5027B4353F6C12FD340D272C2D4F30ECC9B58DC4A42F71B954 B2764E077E0CEF1FDEBA5A6A8FE14F3AF0122C0918DAF87B157BE507BBB50DA1F208534607D906 D45CA3444CE68FCCE04739262BA5B3B0DC0FAEADD86FC94FF14548C98592F91F89948A173B76B0 8D2F3F845DD251F09AFE656F69D115157309D537E4F663CAFFDA726A5C62DF8EDE1EEC7916F86E CEF600BA02901BC5A56086478A867024C58A4D8A631736FEA04F09C9DCB4B3EEF89A0C5767B3EB 8B0C2E5D08974638E79EB2CFDB509E0948BC42E1A9A29DDB09BD44BF28186C3C5AD4629D7B1396 610782E464BC4EC12B2C484F01250BCBBECCEE474F25DA98AC82583467B62D51689EE98AD2FCB1 AA13D44BC1CEE4CFEF34D37FB8789AF5BFA59D05D15449332B46347A7CD1F0791D48BD563BA6A0 876C8B00496E3947C0ECF78782945109BD9306030CBF511C2B4FC1E28868EED9E2039002C98F20 43828EBEC486919082BE71A7CA278361D0EB9DD7E21AE9CA80EFA147DCE160ACCD39924F45A821 D89721CEAC542ECD09E76ADD11FB1710804C63B1268FBC89CEFD28314D9D3AFC26FAA897B3B7E8 C882C4125D3DF9A67E2DE27A0245D4FD9075DE5D7FCBC8E48125D8BEC3972FFE5F8ADEFF1258C7 5506691E5DA81359C24A978EAE086E7E885D8151A515F15A475FDB038946F7D369644279C2186D ACD69FFD922EEB5397F5C3196548CE35D6E35C4DE6D95BE566665E4E0EE11EA43CFB9D0133B5E9 D2A6656AE1861C158AAA97C48DD426205842BBDFAA90DA4D5EB11EF29C24898D9FE9B29B2AB913 2A774418F0190C3D0FA29755168BFB149E0066DFD3BAD7FC405B28A27B2DFB2A356CF6F86ABFC2 18C7E164F6F0D6D4CBE011E77EE8A045A1D1134E115D730D944CF34248C1020E15955661DFB6A1 687CB54FAD1AD759B7EB209E6A78B4F3B4F049258E799B6FF7243B26B573D2B26AFCBC36324E2E 9AAF7206D3680EFE913A6E9F4CC8CC7FE5FDBE60D262D378A123D8BA928CDD6651999854F3ACF5 126C00179347DBDB34954378AE5A08A690A98413115809C95A6142A662DDB89BA25B6026064A6B A7D85963FB4D10C0BA1BCF3E73CD597D99C4CA47CEF4692A0EA5DC89C2A92DE5630EF15819840F 10FD394BA987AE798BE15A61AC464345E203B06A3ADD25E1607F9C750887F5E7ED7F2A12109914 542CD396392738C7B7A7DAF58A7823414D648CDA083CAF2133CBC0318CB11464411F85B8FC813B 4D07757D3989E1E5E063F2D8E07E50BCF85811766CD79210C6AAFAF085C74BFA3DA37B45386A6D C83DDCFE3DDBA6B3F999F91406D35374E60CF88F2920208C1D2A162CCA6B27984D905F3C271524 1FBA18949B6684E3433019D3C8B45E454C18485E54A74D196AAF9636E85D179E1B5F0544D09BE1 8855F32091CFE26A425F114C556B995935F821D811E0E5CCF779764DE6EC47256481B25EDCB409 E7A1FD2D72D6B5DD56EC9D4474CD5A9660972D366649D840986AACAA04765435F4EFA7C513A10B 1B67FBB112BBD10490B0BDCF5E5BD4F80787E43895D4EAFC807CF18103A4EE315EC4B71BBB6022 FEB88DE20D8C7E0244B95015DDD03CB93417A691CED38B37C27BD1C510EC50E2D82C5ABD32D24C 29C30888A2E889D0EFC93945681CA613478CBBB222810C4E4478915E598628BAD3A8E31402C1F3 4653671CAFFAA244053AB7174E8576085F90019E0DE486014A115F88DD9DB9B10E91F129DD5A6D 00AA208459CFC5A7A2BD1095DF24BE5DCBCDE96D79E90871084AE04C1DA8DC2459FA0E191FBFFD EA46B20240E40B6467A2455C72427B119BBB07C5725B823C112E734A09D07970748F0D0D969B75 1BAF2451D346FC2C56122EDDB88287B1042B9F24C933F541492D0683DE0B0325AAE667521F66A3 27C863F4AF7F4A937F7BEA60B5299FA5D170F9413A2E6EF5EF70484C0D861EE719126A942E0262 52279876430581F0AF1841719DA6E4D8C3B932837FBDAA3FE08C18E1C89AF300E3AD7DF34FB439 9BE9A757C830E18699450B98B49EED738C09084CA5E06DEF86BC58359DD0D203FFB11EFEB043E3 7B184DA9B71C1AB17A9709FFD273432A34B3D924CB2F29BF5DF84596AD447A049E3A451131D660 57FA9D4C24BF824D43DADBA7D1B2926C9CA62D8AA8C29FB2D00B0EAB7322873FA5F9E2963EF721 6BEDB2D97548F6C40E233B25CB3785258D0E7FC096ACBC0FABACC39DE29BC0E770474A541D87AF 69D3B8E9BFF00AF11DAF9DE908EF674079C7975D7443F30FE21E02B73FF15FD44C619EAA8B9BAA 889266458C136A3A92E7979EB53A04EB00 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lbtr %!PS-AdobeFont-1.1: LucidaTypewriter 1.001 %%CreationDate: 1994 Nov 12 10:47:10 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (1.001) readonly def /Notice ((c) 1993, 1994 Bigelow & Homes Inc. Pat. Des. 289,422. All Rights Reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All Rights Reserved.) readonly def /FullName (Lucida Typewriter) readonly def /FamilyName (LucidaTypewriter) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaTypewriter def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 54 /Aditi put dup 35 /Ahmed put dup 37 /Alasdair put dup 39 /Alessio put dup 41 /Ali put dup 43 /Alois put dup 173 /Ammar put dup 47 /Andre put dup 49 /Andrzej put dup 51 /Angelika put dup 53 /Anton put dup 55 /Ari put dup 33 /Arne put dup 59 /Art put dup 61 /Ayman put dup 63 /Barry put dup 65 /Bent put dup 67 /Blair put dup 69 /Bonnie put dup 71 /Brian put dup 73 /Burkhard put dup 75 /Castor put dup 77 /Charles put dup 79 /Chi put dup 81 /Christian put dup 83 /Christoph put dup 85 /Chuck put dup 87 /Clovis put dup 96 /Curt put dup 89 /Cyrus put dup 187 /Don put dup 255 /George put dup 189 /Heinz put dup 179 /Hong put dup 178 /Ivan put dup 56 /Jacqueline put dup 57 /Jagannatha put dup 58 /Jan put dup 60 /Jason put dup 32 /Jeff put dup 62 /Jerzy put dup 34 /Jim put dup 64 /Jiri put dup 36 /Joe put dup 66 /Joel put dup 38 /Johan put dup 68 /John put dup 40 /Johnnie put dup 70 /Jon put dup 42 /Jonas put dup 72 /Jonathan put dup 44 /Jorgen put dup 74 /Jose put dup 46 /Josh put dup 76 /Juan put dup 48 /Justin put dup 78 /Kamal put dup 50 /Karl put dup 80 /Karlheinz put dup 52 /Kaspar put dup 82 /Kees put dup 84 /Keith put dup 86 /Kenchi put dup 252 /Kendall put dup 88 /Kettleson put dup 90 /Kieran put dup 92 /Koen put dup 94 /Kristian put dup 98 /Lalu put dup 100 /Leon put dup 102 /Louis put dup 104 /Luc put dup 106 /Lunjin put dup 110 /Malka put dup 112 /Manuel put dup 108 /Marcy put dup 114 /Mariusz put dup 116 /Martin put dup 118 /Masahiro put dup 120 /Matt put dup 122 /Maurizio put dup 124 /Max put dup 126 /Michael put dup 177 /Murad put dup 91 /Robert put dup 93 /Robin put dup 95 /Rod put dup 97 /Roger put dup 99 /Ron put dup 101 /Rudi put dup 103 /Russell put dup 105 /Sam put dup 107 /Sami put dup 109 /Sanjay put dup 111 /Saroj put dup 113 /Saul put dup 115 /Saulius put dup 117 /Scott put dup 119 /Sean put dup 121 /Sebastian put dup 123 /Shuichi put dup 125 /Stan put dup 163 /Stefan put dup 171 /Surendar put dup 188 /Vladimir put dup 45 /Will put dup 247 /Waldo put dup 215 /Wilfred put readonly def /FontBBox{0 -211 743 940}readonly def %/UniqueID 5054489 def currentdict end currentfile eexec AD776B2EBF901A49F071BF30E3DCFAC47FA0F916EC503FFC9EFF58A2E5E6ABC78B442C3E49096A 372F9AAE7622C3ECBD02783028DD91D32C0749B44F46D712056235A4901EE1E3989B3DC1451624 40AF8B496D8B010216C5D0E3D6D7F34AED88500CEE93E2A4889C2FC011056B0222BA09F5697B86 A1350BEA78ACFDFDB589C8D82923F5F8AD8C1480A7D7EE8ABF2004A86A75BE914F200B220B02DC E0C7FDAF4B89502B119D1FBD3035453DDB3DC564DD8289E85D637884AFEAAF7C6FF38A32C70EF5 C1B638CB40003001895712A251C27020F3B8D9166E77E2A69E1FF83886E0BE4327AC9142301CA3 F4DB60613570C39367B465BD2E11A593DC63EDCC1810C1F5EDBF099DE46A7BC166F52311BE4A2C DFFAB7110560972AD364AE5170A11FEF4E1FC57E896F7B0FE2389F3BE19EB48DB67AC766314064 174EF2E1412F25E41CF45CB6990732C755064FABE454F1B1D5EA703331A09A7A9AF323557024F3 7B24CB30C52216514E014870A174249B7B1C05638083915C9B633E3FA00DBA2DCCAD433B078A91 E405EFD2CF75CEB10E524FD95A2BBFF9EEDDFE3016F6C2D3E901B81B723E4F422A0B1442A0E63C CC52A0E72EDB5035D945A2FA1441886E56D2B10A7B5950BAB79A9653CD37F0AF255B3850E1ADE0 9CFF282133A2E30770C76618F58007FC51C72485EA377798C5C8A00DAB46815939973C8FDEBBC3 7B5C966BEFCE797755B7E73A5E55CC69BDAB56C7E658C86B8FF147630B6D222993D3AC6AD4542C 078835BECCF377ECA61A10F66C41ED8379C2FCC2A5380AC1CCA64D05CB08109D76CB1901D00BD5 4761978C3481B305877CEBCD436944FB66AF914A1C8D2D125DB01ACAFDA9A8F71BA3CC83FB11B1 6ACFFDE43513DF984167288E886247E02501210DD81ED939D5D18EE3EB3644D5EF61D2BE58B7C8 106045C8A3684AABBF8EA6EEE01208F99F865E297A03B426EB16D44B34467735A1FECECEA719CB F2E24F2A15395A18EC4F6A3990D9EAC78BF523D5911AF11C3EAC620D859B0B642984658A94897D 4BA3F1F622F2DFB6861BC85CEED6172393058E882721A9B3D2E00437CF7FB8DA4D1EC8CB1217E1 697149B23FB1BAE92A7E0FEDA0374AF59FF5CD141426C498D2749C85FA6E6E2DD07EE3FFDCEE86 DC3F0225A5EF81DAB98FA26C89B1B020F884D485893B5EFD6019A149D82925F3DD9694A1058065 EE57C94BD63E5DCEF57F5C3C850419EAC7C4BC2FB81A7D0BC322CB0F88943A6F507A2FE460EEEF A17DBA7B0E7493890299AE86ACE258EE4C7EBC2C9713406E365A5B30FB045AE0163723667C9322 B05319D528C8C67AAEF79A6C34459311764B75BC63AB5165F831F1857F6B1D6801E39931FAD9F8 8B61B304696763D30C0B58313D31CC287EED59C97397E8C0A748426DB6C0B7C4CA57A43E7E27A9 A123734DC7EA137F307B9C9074B908E53E60F99E98CA0DE14A5D61967727709E1CB009EC9CD98E 9D796CF35B7B1FF2536FF8CD9E1C24B7CDC0E89DC29BEB398CB420DEC645001D90D59C7A5B5E33 20425FCCFAA23ED880C41BB82A8CADDCB8B5BDB1D57F414F380BBC00B6A8B9591B25AEEEC69B64 D671A078F39369EDA9E5C9FED9D179AC25F37A4E4D1E438B180B24D851812E407B242F932D9D07 EE2E42BAF2FE9EFD338345C15F1C8329E91644DB1EA96E6F45871D8EAFF292286D7A70281381F5 82CF13F5F987F423463C2DB96A23D3D9CEF5B4636A092BA8FC7C97AB42BADB4DE493C0B0A54C81 82650C094D0B4591A2891949270492240334842911DFD640AEB2B5CB036BEEF59CEAAE37AEEB4F 4CB45AAEDEBE062358058A0D697972BB11E9F30ECBEAE599E404C7BC4C93FC3C2A604CF7F9183A 96962D3D0F03FEBF8D7A171E9537EDB0F8769AD1A442BBEE6F003B87F9EC0C4DCAB4C1BE74EF54 73FAD92638E347980505361CA70D6A28EB18E83ACCBC73C481D4B81F62EC2FB250696E436A8788 2728E8E960E09A330121492079CD349F5C8FDF0CE6824495FB17A3A97D7C031F9E8B50D10234D3 C02792AF0C0BBAB393968B49EDF5BD4F84D83DDB9500A9EAE7EEDDA7CEDFC2A6B3B71F885487B3 31028361BDA2334E83820C7E73A67B200F8E08B742DC3BFFF6E363AA1EA72DB7CEA77826A5D024 68C8B19EFF5F8ADEFF5235AE6AA50F43C5F2EB56AFA58470FB2CE038D35DF1FDB5135B8CAA9F3E F27BACD9D828623636044D161009F558132A6B6DF4AE9CA3EA9DCF94D961D7CB962C4EA67E887F B9D7A3C5F91166D41C8427A1E0C8BA49C21E968D52B92BD7E7B1F5B1800A27F3F7321E3D200B77 98D3F4B0AC1A396BE11D0C919F55CD8AF1406321E8EEF169B785AB38BA5AA61A5EB09A9F312697 92D98DE98AE49A1308A5706738125DE51C98AA3AFBBB10124FFCE47F72BA6A1E5D96FB5BD8F989 D1AB41DA7C2C71FD1C02CE697C81A0512182ECA66EC14CC8E473378FA9EB3927BC9EA91B1BBA8E 0C70BA78B1F7DB3124246AA9E4E349421623DC408D756578B11218BE2D6B613186D1D094179200 8960A7F1B266D7C4DABF9081725EF2E5806AE27E5D8E81CC7B98C9CDF8D319208DD7A75C2B0B1A 7C13DE5CA9912EF40371D9F415840ED99AC446E1EC958001243B0C39641846EE67E79217DC6AF3 02891C024119B55AE58D14B28B68225733BFDA7BC4D54EC2EC58AEF027BD34EDDDE2336EA8B34C 63EAACC4D255340CEB8166FBDA86587E207C06C6F804C366822435388ADD4BDCA7E345DA3C3912 16C19BD9F424C5C5596E3D1BF1C6601D5967942070320981295BECA7EACAA9017B29EE70538768 5DAA8B31D815A53E446EEEB107B369B824C97D5730A4D28ADDB131FA243225A69DB5CC61C9CB21 018510F1930F3AF2AE3987D5110BED80CD8B6BF24998AC07DFB9C648B0BDE300DA8853FCBC3C4E C47181B1665670E4809D03B0FEC298D1E22937C45159BF0E1C3278D727E40CD00A3DAB814D16C0 453C20F343C8767778E20C3E12A9C0F30CF38F782C91B678FA8B73FAF9AB8337EBC636E05518DA 74C57B6696BAF384BC34CF1F50DC361C2E745A9906DD87BB93310DAEA23BCD0AA967E8C062EE03 F573B67C6DBA52C3C78E4A6BC9A879A97924F26EA053CB90F1AE4968BEB209B7496B99E7102390 4591EA1246F12A2B401C36C3D585A3C3E42E95316D7B3BB95509256DBECBFCFA8182EE874AA624 B74C146E164A7509867514349FC6ED41A0EA7375C81E58CAE6AFC5524E4506458FDFF6B6F94A50 18BB41CB3BFFA90AC6A605B372714552AC2CABD4BBB9400485A50E1122F69011BEFD2EA53EF4B5 4DF3481CDB4F97F8BBB549612C3EEF4E860143EB2FAD42E5B9D5913E53DAE0B3468B191C8ED4E2 4B5E8CED287E7012FA0D16B8019EB890D9A8BAA01629B0CEA69402973EFDC1618CA995505606DE DD18D0474B4E08F7FFE947C323A138F944A950734A4586FE82A08B7C2967E67BC975B875A2AAE5 05935906A0484CC6C2478EF1EC03E885D86CEBBE5101101C11B7B8165E132D2B427B8583BCFC89 85A7BBD5B56D12F8C11796232B430613A8B4540BF45C97B6067A74BBFBF64851305257D1BEC901 238A7303E12BA887117301DF80559342A4B551F8189E9DDBC5251D2D384831269A092ED1971292 2396105767405896450A1F07F6B660F4BFD98369836EC514D418E4ACD93095A6AA2C44D0912217 F48B92A5D7CA170A6293B0A4139BBBB39131E2B6F5CCFACB550AD74DCD4D466AD9AF69A409D09F 5ACE8C98851C20E19E4D44B1DB30905B9BE08AC52E0A1548793C591CE0E29DD2B102756822B36C 6E4BC505003DEE549BBAA843BA5EFF252F0A5E4CF14D1EA86F46ADDB6EF52427E0B6E2861583D0 885196B68E53D9B72793100CBAF160F7ABAD3A8E2887D078E7F78FDB1437F0A58A20C7E300ABA8 031E30B35D34628DF6E8A9689F2C5A779D51D6B673F38730E2C28CD4822168D037138B5DFA7A66 4318B681D41864AF487BDAC6E635996D21C5EF1D16BE5CAF809C6E34AA787121164292ACFFA289 15A115A11700B26B0BECD9B05A4CE538438BF67209443B4ADAB5BBC40F9F354A90CE53F0C24AC1 F2C37FBB9022B23FC9111E292ABA30410005355D49B56D38F4C33C37F8A891A88B2F51957420EA E5D22618FEFFB7C1A6436E75E4E6F4F8B3B847D4CA12D3D925A3F1F66EB6D87B19A53042FC860D 2A57D2B2967F001F6B56DABED79E82D33107FAD1F46172D4EF1A52FFBAB95A33180B0AEBECB34B BFA4DD57AD85FCC81833CECA2A9D4667923A57CF8CEA991565051E3BD29DC4CAAF8B8DFBF3A76C 8EDAD02C5F5EEEC19D462EB48758B2440329F43A38CC21D68D26FC54179ECF102F15AD9AB1DA75 046419CD4B0FE0BB79C77A72CB9583EB321C978C8F68A3568C52CF0A85C938A8065D18DFAC5C2B FDC4659C10A237F09B924DDE6B6E09EFB77C158F9DC22E6310ACAB98218FFB6D547ED3D5590541 AD5862078A9CB34C2BB08B4C3E620E0802E99DD0572B36E7B7B9DB269FBAD73F7A49F711E2F790 2C0F15494D642FD63010E3F1B5240ED79B617A655D5FBBB5EACD66B85F02C54023640DF5150BF9 88B62D82E068EA4E35824FA098321F86B68DFDEEB8F575B85AA76ACFD6FE55B40D2B141DCC1B65 DDDAAA3E790F6B0B491E80DE0277D25D48DEAB2D8E48A004C36665468CBE3BA496C57596AB679D C80E9F744FBE8041D3AD6F077CF65B0612F180E8403CB8D58BDF46FA5615F5BAE1AFE3959FD4A3 EB1743ACC7DE83ABB701E949613BA573A67B4E9C816348078B2F857609582E5F144BE599EE4B15 85A08F81174FFDBCD8AC2258B7FF161EB3A1849054B66934DD76DE536680E3AA92EAF1985D5B56 C68B693A3EC10AB0FFB2B88609E8870670D2AACBA8B20E9FC5ECA607D3D90167453BB172484A55 141AD585EF5173AEF115B5BD89B653246AF9C2FE922A8F56B78E797C497318FCACD97E8F33627F 579C8D1254166906EB06F96DD5003DB43878316E2EC4109E8FCBFA4B978AA15701BB16D633C2B6 502F6566AA3869B9C94AB303617C3787C7CC6CBA808FE9C4E67725672D654E075657CD646E26A5 82C68B47CE90C154A51CA289747585668A5A2D4D73D97E730FDA8F9B648B685B409A742AEAFAA2 A818D0897970766B186FAB6836899A1091CD3B9503533334293ED15CF42143C13CE2D05A6EAA2E D1D12A3DAF28F9178B9448E4EC2A8FF6CADBFBEEE028AEC622D3CBA1118E92C98C4B303F8588A2 3012067D2E1481E68B4ADCD6594737FB2206763B5023A0148BA31A165DE5384C63480CAF82E59C 28A133A775A6E7E3A5A17CB8D9D6A3C9F3E638F67CE5D58926932DA3A9DEA6ED2CB7B5BBF07C6E CA417769D07B64A534906E5CB96DEC73E8093209CD2A85120F6E3216B5171B4BA67F2538785907 BF3B8A912CD7E6362E528AC47FC14F2832924FB512259CCE6B650AC1730C5E531AA826D86CB8A9 D9AD673294D4F1D3CFDF738BE5BC6C9401A164C6E7850794ED6587D592F44D409855639AB72C01 6C55878BCBE20DEC3D4C15B0C0D47EEE44D6A4E91AA1C297D25A44378636BE4EB6517BD486DE12 950F53AF60D94F28419AE67BC2316E26BA82ADA180577C6CE2A56FDF0C1EA9B9CA2EF55A95125F D667870226ED5D780A34EB34F468460EBFB8152024F200E40C6D42D5C5513E163C02B82C42FBF2 E4433B60344D3EBEA637C78F734FF3321E743437F5AD1B92429B46ABBDE8E115AEE2904B3F3FE2 369679466A59EC0433FDB261E8B2F227CEA66E4C57DF67F92284F0332A4F4E46431F282EF59975 C430121C5E833A8174095118BCF0CEC899EBA8313C3690E85225F5212ECE4BB82902B0C662D78C 37747BE77B81F47C24F088F5F94A18BA923E54DDF65B9DDF5E9D64E4D8B086BB808CA791A0E8DC 2DBBA31CD58D21489EB64B11560AF93796A8E1E206DC7C15F4310FE985E47A929F76A6BC154FF4 2C07B6F96E03F1D6BEB10A0E053C8C7DF0692929D1B62A3074DCAC64B1A6821FD25F6B434BB016 E3CB58286848D04B8E743C400D477FA5F2130352AB8932CBFDFB9FB5C6C6A6EE9DDBA6DC41589A 89D5F223DEBECC40BBFE5CB5E5DA18A511450C6A679D10FBF99F6A391B11189B921246FDF6F552 5083A1361F6B232E1F5A25F5E1D0DFDB1B812BA87143407C8ECABC78E5C7AA0531293AC7909A8F 7E27C5A87099723739C93CC4F955995D664D4D043D5F4B27028D336A03313A6BFD8A4E1F4023DE 1AA5A0F7EFAAC52FF9378BB890ED9B29F50DBBB920676A54FDAD07963E2846D3733B7417BA5334 5F57F1372E89F4020DC6A0AB9035328B0DF0DF71110C2A452D2702488A229B54FEE6845814C21F 764007C8E119CF84454F608C91E1797DB85D9B8210BA1F7A7CD12B2A8AD55DAA18CF2042F4857E D37C2ACDB63984DABCCC6BDF6A119C464C7D6EC30CB2E4620948B1B7BEA3A2DD88B15EFA953B3B 69C2A624A0CAEAEF17915ED4389D1217080B7F7D91887E055A86A6B287490DAD12D6165A0243A7 A64587BD329E130F8E522D6570E59A33595672C7110FA2B8DDA2EC48F45671492804DAE5DB40A5 42E21C27D2A5F2C37F00E871C3087613F11C6249EB926A0463D0486C5D5919A0A6A556D27A6AC6 0E6065AE76BCCFCC3525732DF91F7C0F24A09A8C2053C231348BAEEB93395AD4DF4AF7A99DB0CA 9CB512D3D71496A74CD776A68E38B90673300A297F6A244CCD0341112F42CB9955DA3980C15BD9 68A2B0DDACE0A835ECCEF41E8CF4EDCB493B59882F812BC4D85694E508FC0CAA2AFDE8C0B21F2E A861F1620F6D01DFAF25B3ED11A7753395F97FBCBBD1E3AECC00B5940A6651BBFAB3556F720081 8AB5744975F71644FD46B060CF74147238B6ADC1E9FAFCBB3C2D2A3F92FD4C141C520978A992EF 90B23EE6178602D2ADCD143E49C6BD72D24C3581F7F1A76E9122B4D8C9DFA3FA94D3CABE5F84DC BDD90ED86A2E6D8C63EF7177AE85AEDE1A594DBC3C249A7B108AFCC6C75A502EE3CA0E733808AE ED05CD0B95431DF8AFCBE86D9EA04971A1ADC6558B5B82E5BC3F98AF6DC4401B04A4D39335C7D8 13DA80152ACDBF6498B99B3E314D18981340A1117D206368E4F2BE11F46911B33BD6FE35B0109E 5B294F59D3F025FEA5C2834ACFF2BE105AB95BAF201BC50A4D98B85C970AF3E39E0B05D15DF28D 0A18E82FCC16D85BAC813A9501A10F4CDFD022905FA5B10C8763361BFC4CB0FCE8654062C0002D AADE193096D10973533795666EEE0AE8B7BC76D60B1713769DAB8AEAFE36A6E6786DCF15A1A890 7C4DF6D252A5CCE68B28B6F564060A53FCC5E39E97FF61DCDA09DB31BAC530C8F5B999B1FC4E36 A2906088897488081D74802A693DED16DCF651F62C15EDD2BC721619F848EBDCF226DFC535A526 C3247E225CB344AAAFE6A954E89B8330A9F5B05961B5A7D362CCD2268D993EDCEBFD46C2944C91 7F004CD27CAC0F142366D8F2419CA77C36770355CAB1C3BBAEDBD7F4D0150C4BEA551AAE4CF898 E5962B6579F5B13A3CAD2EC25AD7AA6015D07028BE165BD40F27A9B33FD805B8F42326CF94589B 29249E4859A8D0F306E3BCB3A7EC3298904B0CC87E913B90149C765A43CC39144D523D6B26A509 E00236093EE99B3513AC69DC5A2941F1E48A71B213559621E5BE6A641D943FE3A13FFD796F2BB1 A6C452A24E4B9864FBD9A9B5331DFBC5DCAAFF5EC6232F15E9412BC2230E8394F5C0F92244FE91 8043D83E3790475F6B35673F695244CB303D708E8E92731C657D81C7A28EB491FD849179BD0886 E72E47F1B4C34B465B4B0A212D57DD804C7CDF5814B1E6B87C9ACB9C74E1EAD3C4B8889EA4F25A 0CE27AF6F91593F0DA3F55C15C9EC3CDA8D6BEB60FA0D8CFDD2C34C1B0143C36A80B3F77E9E4CA CD42068746943063788129B9B10DD969706035C3FB7971E9A56EF6FB3A0B4ADD1D977E014E1417 ED81B819435C8D8002AF809C6A252FCF5F17BFBC747BB7E604C9328F353016B85A69F468164401 67563700E8EF94313BBFCEC58B3FA6C89C0F79AAA61537DCE0B489ADF40540989FB040E2FFC535 0B85D9C011A94B7A806482E02C1038F47D392BE62F7A192CA4659D8F0A17F1D53DBE33A6749125 CB64549F2DF8FC0283E48713E166A6401D1DB6193DA6F4DFA2AA7430EBFDE3DB993A6C8B58132F 3D57AB5E466566ABB13D5C29BA2262F3F6F574D275CDCD653E1F8F824F516B1C688CE97C14FF3E BAB81F8FBF0A6F64648BBE7F5AD5C331614E5CFF13CEA871D865F4F788E4ADE8984BD939AB33E5 17121276461DD3125F3B56CA87900CB449B6497FA6D4F5FB859038374D5BE0AD2A34B1ACC9479D 5530AE8EF469891C174F8860837F7A22F72590CB8309079CDE324BC60787EC690F901A69FAE187 2B6D4D4576F06F5CC37495D0C72A45AD47D2F6CD216FAE7981E4859B5845FBCFCB61829A6BC8A8 E7A9A0F53C020767B5AABE20CFBF2504BE5BC7D32DE9B56BB1F0C48330635D3E72E4913CB1BE01 28C6BD47FEBED891A3FAD8BBD5F916B466E974F9CB2B3129B29DF1F5FBC7B2BF2AB8B2769C12E0 435ED3208EB20E9657200806391492BB1E5899EE594DDAD170A0A61BB6A1D0581D685C80CC2F9C 5E5AF62ADFAB656A33D22F7A572FD25DEBBFEC4B36242F8D77D18A0CBDE2FA03CB8E9394B9CD88 D63CAB57E79081650E58E4BCD0E5A878CE4621251A287C64035BBEAA80881D504C75032F89280B FBFC4991241167BEBA653AF5EAE9B1A3280A58B9C4C59B2FC47659FD1F42D37DB5470E46D2ACB5 62A1D0DA3F4EC9DBEC40635018A141152BDC88F33E79C6DA6DD616BF689E052C0464B62A1E61A3 E58CC805DEE666FE4B4F0096D6D682384A2E95FFD0B542AEF848E1B54056BAEECE36F0C62099F0 4E0AEBC007352614E0349A18A2614FD3998C9907BBDB681C74DC3A24E5C002EB64AEFF55CB6EDB 44CA80E99DF02F8A7B1016824AD38FE7264BDAC41E848CC7B7B38B0C50FE417455BE9AE00F0F8F 79B0A5F492C89CDD1D18F6FAC750437A96608C131AAF7A9C5BC0D3110CCBC25B19C7F1E3906C27 8935A398909D2EE97723CE0207E9CB29807CB9F8ADFA813900D190DD0CC8E3CA457E8CD392441B B800B2B30D034ED66518D487F4F3C33DE3FAC0F88D9A6A597379C2500A6954EF80302912AC116A 74A520C2E40AAC299B78F63879F31E2A8429B13DAF83428B12DB5AEEE33E1150A0FF4174DCCBF3 9610D0BB68DDEE4AC044123B208F3D37A5CA6A646DBB821975DA03DEDBC42714949104033A4C31 0FE6BF0B70F922EFF8C51CA42B1CE7FC496B43E2DDB4B20AE6373972105DFA5843E9A64F63342E 36B154E1575BA26998878A96CBC9A34B2E07188D6E1E8E69FA557DB604BCFFAE3675E237D97F5D EF4C8D2257AD409B239F1D9519F9B718C27B998D69EC2B5321F97AFEDD8F7466E64F45A0843594 7B35221BDF77146E4E33F08935C37F0FFD44D506D8382536365FB3972C455A6EAF0761A03A85EC EC2E8D0FD1FBF0BD829F18874C7C25D8F0ED087F9859136919DD52AC3AE08A7D848E5EB11CEB54 2BF71B537DFA59D6E081574AF536813DF6D9B8B31B83BFD52DDEC2D7D833621EE2608619F0A61F CAFF7EC32F2B0727B24937644F40DE81F6D86FC17A3417392B04448A5EC54C0B0BB1B60F38767A 508ECB5B30113246F3A3066310BE7A115CD9D35EF4133A4110B10D62EF3077CBBC8A3C64E5566C 19BBA49AD10E1D5D11BD5A31DC8ED59EE62CC19143533502D580237950FE90B7ED3803F662A522 A3DF2BD026CEAE7D614EB0EB2D29681934DCF9AB2E6124A18FEFA62F2F478B87E2764C59C2EFF8 946D326860363543F0392CB582F6AB173AF2FF031E77C939597381F724D242E49D323CF0BD1023 74B67D028C331B64DB4642946C72E82092A4890A5491130E312ED47DCB238161CFCF412BF7738E 81B3AABB3CA492B716F92BC684615519BB513526C06FD5BAB6F196807D675DA47A7AD0216B7BB1 35C9EFBA46313A9A7D3E40A5B7E6436114846D1032A163305534DDD10DFBBABB912B1E18882A47 5154FD2A0FB33F1E4AA97827FAAD01CD51F62E492AFCF3B870B5B90AF7CE345F99D07F134A790D 312A7FF00B01DF37741A5E2B98DC2CCEE6BAB34978374CF1CE2F83F03ABA437790E0BA33A0124C 2C8F4A13F3F0D00383141A952242B2129A0B96A45B1CC13255B3118991293700BDDB4E29BC913D 0A3B44D9E5F7FCE6D153EF4FF3824FA229F841EF6DE46E113C9B602A298868AFDD1825CEB017DD D59F67ABD724D8ECC9261BF90C413BB4818D060CE5FE0B0EA9CBB65850E5FA181E9713FDA06800 FFE7C53D9EB62B222ABD8E12EB6E149CCA7713C5639ED530A30DD12D69E271782458E53CC14DB7 5B053E7D61DE9E231A78C2391DC18EE092A5F76CD61AE5B7894B78CD378E0FBF8056701D4990DE 1EF0F36E918D98CD907F624E654836F18A579C7BFB23DE3AA9D59229C3FB1A4B857D9EFBD289AD 0FFC27B6EB42148E7AF8A802C99B14ACE59B52A111DBEC97EC5BFB0F970C9B27AD6231D66F1744 74207E935CD40B5D3787D85B46D4C33AFF9DD5029A0172118C624DA5307F9FA33C256FDA460479 205650A52F5591A14027695126E5AE946A7BAF34835CAC37560EA030B3DD2B06A6DFFA0D02F634 E344CDB5260D84FC6338DAD799DAF44C46E4C4DA1854160E76FBCC0916A3EBDE474E358E9E8B32 8F1223DF95A0F1F8CCF619FBA607F0276C5373C293BC4C4D653893B83F3583D9BA549F8D229DB9 44D7B4B835F97197608BEB526AFD58416980C3C8ACA1080C09797DA0A24B185C793636A15FB82C E003906B613CA3D16DF1D7C51033480123FCED0205AE45BE3DBD332DB88D0BDCBB4DB845AC13A4 215B94ECFFA4D4E88B4BC5093770D5DB8FD7B87E8E4FA0E58F651270701EE92A3B287644F56B40 97237BAD7453C25D29B293ACDD4A295284480A3E19DD134E77498E16512ECB44D77EB24D6C35EC 4586D9B73B2F60FA1F758FA86378485C37D595ECE1B0FD80D64CEE30B7F5A51A724E72E18A9B22 AECA8129067304660294A309E9797F8BBE2402581F43D8636648EE6675C4D30A8B50DFE587FC41 E5C04B4430C58AD44F57C8F6AAFD4750AEAE51BD4715838D8BFE522C6F17ACAE809C3C39F50D72 CBADA2547CD9D0DE80980C53D9ED68E73214037B8A8E365BB3DDF7350A2D1B9AF3ED802436D1EC 75C60C3617995E3AB7B8469915D80285E99BEAB6BB88A9B5A388D7D7CB950E7DBC168885FC5173 4FAD3CABD91109104F52525316943C6E16ACD17CAE128D81C0D98357B0B806ACB460A5E7F5F7B2 385060402CAE0CDAF70188977249C809CD4C6B133ED8447B926E1A30D4FCD0968FD3FD45B50F6E BA94E72E87D4BC7ADA4DCC3D6DA0F31517EA9DD89F6751F707980CA84CF406F7A786AD8E4377D7 5506A96F7293999800C1A59CD813F18398A4094D7426E250BD21F87DC58C094BC00A567541BDE3 D17E1BB01C4AAD986D1E79CC4B29234A28A6A323C0FB98B530012E523AFDA4915851952149B238 CCA18B8F974BAF6CCB738D05B6BB1FCB0825FC1920C4E3AE8A1DB3B7C02991A543AFC9D38DDC1A 563793DEC85BF313F6CC40A1C8BBC09580E54EA3CF1E399F8EDB969290A3203D86D67327E567F8 ED390542AABB07A0DA177C3C6B44F5BFBEFB181DBCD1753C6712A6D7835A64B36922173FEEAE67 735FB82A09CBF309246D104DF7B14AD6A6A87DF431004EE72FE7887929F4DB593B0A113F176409 E69892A4EC6CF250F984F2CC2904C788FC7FB9B164B7C3AAF3B9BF5EB17108C52EED49E5E43D16 F94ABBF85F784008958557FF8DA38DC55BB43D6F8671BD2764A9F276C2A039FE5179D23455BD55 539DEA38921C66C7E19EE407CFA868E9CEC0694D756EBD5B9EBDFE6D18D5E9E33433C886B24CA0 B0F131746FA8FFD23D427828A4998D0776549AB2B4F5B610F07AED694655A7152740A275DE60AC BD7811F31203F32D071761E74D0B34BBD8158DC1282ED895F803B7FD689D429C9A2C32B30E098A A790D6247386B89F03310DE4665C3AE77665D885E456B655846956CA33E3A702F79A9695CE7510 329536FB24143DB109D0E858CB20B3056078F0C151419BF06BBB871F925ECC7B4131E54A935645 D4E00EF0EA720ED493E6731508EFF11B81D9A4DDDBBAC935DFDD1B798BA0E34B0D5695233933E7 8C0C9C1DAB44C7BEE45543C3C310C452FCE97964D2B635C5433318FA367D20DDB9DC8CDCEFE0B1 1DDBBA2D7A7010375EE581C7FFE97F89BB91E3FF1624F0EF5FE27CF9A027BC8D1939F91D88A873 5861127EB0CFD88300D3B821DDE0B54B62762466790A949B2DB6372C75732E87F54CE4F05325D2 0643A2F8388DE10E1C4CBFDA85A70F7551CC8A8F088FD46483446E0BE03BDE1B5F2B23D9B99EEF D4641BD0EE2AE3310B0CC0AE418D0C6797840CC5BFC4F54F0D6AF8DC1AAF3DF297D3955ABAC771 214ED10BC9E88A4CEFBE6E07EDF9F7A2F52C144086C13071F24CE826D468098707090EBC28BBCE 12E0AED14488B547A70EB783D97C98CEBF55858B924F0DB6754B3CF833EBB5EC487046A6C3BAE3 AF59F61B699782A6109E0D7544846F4383C849A917ED1750A8F5813F552C231A3E5954F57C8EF4 D02BC790A6DC865F77B78D920D274C2276F9DE3887540C460B1A6029419B9EE6B88FE29204CD4F 62321824A8B72FEF463400CA6A83C2CF8E161C76058CEBB021216ED92B4D889A9CEAE5619E0CE7 DE0B6927577AF0DC385FDD45EB6F116778E91BC1EBB2B6027FC5D39F8A233D27BF581DB38D31F4 20AF47E77AFC2D67A7FE90A10F0D6AF0816BEB7CE905FF00E5C2DA7CEC75EFC3A170495999AFCB 7A9781375C03C495FC9CDD90F9783CFF0926D795F155CE64AF0817726FCBE7BFF6566FA1A1DED6 D4D6C2395E7DC3DDE9484A2FFFE1C67EDD9D8741E17D526079ADA966C5F17105235C7A5E09B82D 1752B97568029925A6E25DD461063227613F02B66AC5DDE9B4018E253263CFB3EEB717BCE0F8FD 36B0EDF5D82D2DB2DF28F72B13D148F741379D7C31443DD9C452B3F5A8889C93F15957064DA4C8 BD8D3032D94A3133695934D299CA4303797B6A49932A1B672A72DDE67106E2BE984CE7E6BAAD36 396AE3EBAFBC268105DCC191E2773ACCBD92A3D32EAF57721C0EF3E34744AE1ADFD9C56669A08C C7E95C1908D43B569D82CFD4CBD7A41D841D10C107E00CE93F033C7449B78660FBF82D157601F6 A9C721C3FC1264A86363B5A151F63C8B646E2D7E5D44C3DD46CBAE571FF53A9F4064540768148C B69B9752D1E99EACDE8BD201373708BF20C689BDE479A0D11DEDA4243E6D0ECD265294C079C7BF 427F12C737CE72238894FAF3571DC588143F2C86EABF4512C63672D5211514D72120ED97AE70E2 FE4291903259BA3521EF94C9D13C5A614AAC9BF14514761F5D3678F4F96DD8B0A20AC00EBB9A43 235A571280B34341E5761EEA38808C7485C6B9D15B72BA4A0281A517FD2E5E660EF9EB5BEEBD43 2D537F8E3E2FD2BC8D221CB3C6E578B1627EF869CAE922CC154B38D2239A7FBC8D85727C1D533D C71E873CF062F0DB2AD29763A482B6A601EFCC9BF9214E9B270BD9633BAD41C2308A02B94E860E 9B74808796488497C3658F3F33CC29EB099CE42B134AB7A5E168013C64F056375DC95FFFCE9AAA 7813C498FF43DDA22D5186F6E7B3AAEA39A72A5C0EEB95A0CB79539FF14FD409F7D357FB06629C D99C5F277996778C7FD19E776CDC015FB37A29AABFF21ACF0BB36A0F8F7D6758F4AFA31FE61F95 10905BE91866BCF1B92CC5638BF90CEDE72FB7F46FB1892F4F4E965DE76D6162C515195A39FBF5 1A7299F01D20021720B8046FF10A5D5185B217BE8B62874281AF2007EAEA8C41911DB195B8C3E1 BF0E466CE3F398A111A03958BAF0707BBF153C1E4F966E4645795126C6912828923BB3952C5099 C0FF6855AFAB944B776511C96B77A9E0459FC52749F0AD982077A227792126507426736F2965AC BEDCD7938A0E27351E5CBBEC3E331BC2568679E1823DBDCFDE6E46E999604924084D583696F05E D161CF7CAE7A56A31A7EB0BDF8F5883A5825597227619EE45655F15CADDD3100604877F7221866 A27520BA9F4C72A5B7A1B45549C599BECDA8D24BF7504ED6032981AD5EB25E7DCEF6B0E7295F01 0C881F0B0B28C39CBF0708B8F96AFF3A0193AED2DFD8AC7E6F4D85F2EE21971A670C010857737D 4D3C1CC4D1EA8FEEA7756D34FA95B2BE2A27E5864A4183F75861F2EA00D050F04D6C48113EDD40 75A78C5C64E41B437AB8FD6E12C5A25ECA76816702CEEC2B3FE8DE398A130CC49330BDEFB0D76D 047E035448A59484D48D18EFC534328A8556858D4B45CC05377B8140598AFA383939E4A7F73561 68C7B016D012C37B405D4523A1DB884F005A2572A039847C7C065B8B92DDC9BC1E803692A39CC0 0A49CDF0AD24168154D03BFD56E1EADFE29E556B52FD11CF838378E4E4FEAD5243456648DBED06 2A47FA57542E137A9E035569D068F08E43DC4031D85925DEC164FF91F8C207692E8DADBAED305D D38FB4952C61F50F9E4E4CBDE408A16801732F3EFD6F2D600CFAD6F691BD36279AD251D991F24D 18DA3168749E8469A9A39F2106B98701956F265C3DA4081278A3366118DAC644DD5B4B5DBCF7B6 EF6AB84D9C41350B18320C0FFEE0B5C26AEAE1A6028093337FDB82EC40105175175CC19A7884A0 B07DC34C349177DD4BCDC16323E36197073F1D6447BAA0A45F0DE7453E6891AF0FE2D21C26D9BE 37454F2F83F6E974DFBB014511275360A9FDBF6CB77510C92A45C0C1FF6A004F854FDD323CA4EA 45EF334B4BD189F1131FFA7B4C7FBE315DD788FF2D89DC3804ACC9D689816A22E39BA45AA98AAD 6971FFD22B5CF38794385EA00AE18FEA562E0AD2688CF6176E1FF4CF8910ABE1C4E98F59750C26 9858AD2B32E717C29D97878953F729AE13B3403F997593542639DEEACE7BB88D45B6C4FCDBBAFA 3B18BC0F085B25A87B16BBD084EE088FDBF6D62F4E65052E374F2DC012DF690E23C6A00A5E8760 B2B2A213FA8D0B31E08070741FD2D8752274CD71B1CF566890113EA34518457B1778DC1CA38345 78502A62CF4CF563252B3ECF554D477283CBE6AA7A434A279AB71B2CF20765F5B197592C681FE4 6ABC6115B49D776B1CD457A3335FB3B61B4258EB77327688686072B7906B2D8016C5FB12A626D7 E8B2590CDF574F3A410D75FDECE4BE7DDBAD69EDA08F44B73D6F7C92B97C67201FA2AD698D058C EB7AE6C88B699207669D68FAEBAC5E75905B9688707B199F516E944056C2CBE773CC95BCE59D82 AA93DF52227D477CC2345EA8F1A2CB96A00D186F3A02C30FC0330EDACC404ABCCE86F0462784B9 7C1F55A03C4ED89C79C0BD3A0AF3B19259963CE966F654D7D4EF9B9093B27526E5C09A084F3C9F DDF3C8F261A5720DFEE14B6B198D8F0CEA0CCCC7B70CE185F0B65B0B4E5CE79898A8E3DBEBF65E A2A7F82EFD92AA7EB65AABAC5A3CEE49070E78D5C591409756EB4A706DE5192D13083C4A10BBCE 3A818990406945A4036CAB65E3F53A54E6992866E130F01DBADC1F15751256DFCB408DCC671CA0 731A01A6457CB40B4A04BBB0BF77C8B655ABD484705AD31CBB88CDDC3C599B35B86D3C4BB8B8E6 7751A095E43C9B9228C58A920E48D679DEAA88DEEC58F7B5573DE4D7C7288BA9F0A5899D1E6588 557ECAA123CF7D504406BB03F580FE02A2E88FA32F9A824B5A895CE8EB1BC271FF2702FA463454 717D37672DF5C7F78561F889EB0E57984A96E1430B26E27BAEFFA17AAB5FB94A890AF8FB57AEF2 4FE880121E0B31708F1AE9B09DBE64B26A5EBFBE42A4BBC0C3ADEC0A14CF7496AA53263D4889B0 929645EC2B8C5144A4D76FDEDE6345B1407F990C5D7644B21C0D827AEA7D4E8D4D17311099A703 689B2F68A9EFE15696C589BC02FAC8F5CD6FF68964EB222EE012E28A490614BA93405E4F2798EA 0E8A8B5EED8D7C554737ECD26CCFF16F50C8AF2373E8688DCC297269C2836E4FED50EABA465EF6 908DF9F55DA80A501E0165DBEE8E3F9FCE4F6B9C31AD5505E71AD3D7FFE6EAA9D764B965FC163A B0ABF7DFEE391546EB78C79466886C7393D4036FA247E9C4DEC84FE72D4B5AFC6D7FE58714C70A AC3799C4B419D3701267915677FBD571073B70D68F141651A59ABF8B6483E216F90117879A34CA 43BFA857B831DFE321C2FAFB887131B607D2B9AE7F0290705C254716161DB40AA383006A8B74A5 767DEDEF5D60711B5A9E45D63A6EBDB15740AA04BAAE078FAD7FDCB9D26AE3DBB66ECBD9D7E641 D064B881BF5190FB31EECBF3659036FC145D8BF0DFB325A78F0B3723ED8DD2A967BF916A90A92C 32292F3330D3F1FA1F31CD6AF9373D12A1EDFA00EE7A4859BB6F6D4D6F6F7F944ACDE744E3D6DD CD646F83539F983B1C70BD94E1FF6CD3E072F06DF4193676388C95A3E4E3D07ECD40FB6928AC52 CBCCF63B71B47DF4567E19E0840D6452494EC3883F6144E5791853B0EBF93D6DDDF15B3C8AA14D 8A20E191DE9ABEB1ADF7B19B3B688961F0B86E215451E4DD52BA655B00D1495BF08660AA5CE7F7 134698F4C73B97103D1074220946455466FDC08FFC63A1C97D60E0B931E94A6A559BAF54574696 D5F5460FB18B3213144F42F1AA8D5FEC8361A6E401A82454C897403E82DEED2B65E6E50CC603DC 34BEF5E2EF0F2FC24421E5DF012640D1C6E5C87F2CC8A3997362E27463CE29C903A5B32863321C 55B8540DC3DDAB6892FF114F3EF72647A3525119AED1A65DBC779358C5AF9F3AEDB5AE85085CF8 9F55C71EE44D229C122DE658C83290BD82FC39F044163EB56F841A9E568D50493B535837415A12 7D618BE80156E1AF95AC39BE234ACA11CFE3744A8AF714724C04359EC8729BBEA07EB8908FC41D 4E5D045D2261A9E20C66A161F98584A2FD1AA56473A0287082ABF956B6F34C0AC3D6139C00020C A13C7CDC60F1F1778CAB99930BF104139967B728C75120BB7FC3625513C7F992CAE757EEAC275B 7172522F0E178F4EB6F862080D0494FCC5F159DA45FEDD5C7A19064BF1EC59531E973A9846C5A2 F8BD12B34B0152021D6C41F7226BE7DD8876AEFE003A4DD181EC983284F8855F9535318246A668 196BACDC3A71CCBB1BDA4547168F0624CB896CF96E7629EC8D1BD11530E5E8D5568D77D9DCAC00 ADB7021BD4BF6FC3E1F178C51E67781337D7D3AC1A09ECA650B8278FF569501CBB021B2C8C9ED1 C9A23380D3CA67ED0E27A41929FD835DB776103C8CBE4498470C2ADA09AAD19EA5D781C3D5132E 8C343AFC91E36ABD78327AF6A4F589F146E702BBF6A6C3EA6F720B5052FA18E4BCCDD1A7B8C7A0 E654A9883396E6442EDCF3ECB05C55B0895C130ECD3B9544A3FAEB5ADA3F5CE8C5FF342D2DA291 2E9FA59276DB5418BC5B065FCE1ABD42FF3238894BF00C86C52030258449D995943259F600B1BB 8F63809E2D84425DB00AF60E9E8AE791E5ACB6D3E5C7FC9023144DF022F86FFFB37D30899ED2D9 FA1A5CA5E442170A2BF817985767EEA87C4F57B8E19681F607EBAA22860C8C549738FE95D85F4D 2027CF0F99F31985FC568EAF856FFFC056B118EAAF09E8982C0DFE550FDD8652F3D94CA70DE411 00C17F820E4A7A2217619B20FC0303AF62BFF042764382147169272BE9769043C3D41F9A246A01 C4C63FC7DC2FD62306EE813196D620F584B007BCA0286A39E296B210F64F684CFB2F9CCCA5B74E 950D35A1F18B19A26940674DF66392255091A6A6ECE640DD8142F5CBEF4A7810FD8175C9833539 A34A911E0BDF64DBFFC534EE22CA6229D62B7A95DCACC46D3989BCC85749B248523AD44ABFE05B E796126E6745E1DD1653FB938612FCF0C877566CA9F686823F4D069234EC7E3826D0080C32615A 88423A09651A9F3EE6A9DCC95646FB0E7E24C7C3372C6D6CDF1375CB4EB1440FE95C5C7FE435B7 290E78ABCC143A9C015B410A8555271833A466D49AC0611340731580BD29F73A2DCDBCBAA6E07B 643DCF9B18613A6652B655A2167CBB1CCB0FA71534BB0759873FF5B4CDEE677AFA1059E1F4519E EFC1BEF079A9C04D13842F516B096D3D281533502C4023E13C25C59C662340A45B6874B5C9F08A 08BE03B7C35FE00ED31BBFC5119463F2FB1165D22F117A04F27FCB5F0949BFAD0E882703755454 B629821B7EB4B048FBBC21E1390620EDFDE83B894FFB434632EB7B4B21647D4C9660E7213902E3 E2B6AF6181D797F2551513F3529E6C7679712CBF72F2437CD4685E117AD8C2D61A28132170427D 398392C7A27EBA6C244C6BD7700969004D52395FFCE11000B07A7093714F781E353BBC152F2EA5 B275818DA2E9FD5C04F63B23EF722257EAB81FB2AB97C5B8BF455B2AFE648C895A6D38BE154683 831704144F5D8FD68BBC0A96165E27F262804140E34A7C7361CDCDD5F14BA4A45EB7BDFFFF91BD 7429BFC9775BAD532BD4DAB6F7FFE85CBD60FA6D0B138CE116058504803D0F449ACA8C380A7829 A0ED3623A5EE64BB34A345A8720C7B57B1A7C18560A5E56A5DC8C553B58A73762FB04036217CD6 081F8227F61556BE59FF02C0DEA3639D44A6C3C97F921CA96752FB9B9D28597873AE2AE2C38D46 A2AF40DBC3DB23A297503A5579998B0DB6B93D1AA1ED3BF5BCC480D0CD9688135FDD40A3E487B9 A4005AAED374C2E9E036BAAB288AC862726F3FAB60D38B5BB135799A3BE5F4470903445D3A66C8 24256158426369C70439148F4701DDC2F6F6F77559DE968F0305C42B43E665F7E8DCC6D72F055F 038616F9C030A9AF1A06E6036E72640D11962CD4A622A9DCD07C8EBAF060BEB846F25C1ED28835 C28059C5C1FD4987CDBAC09780B5AC782964DBBEC7F776B5DB51B44E3817BFF658D2DC37C4291F E1778D7B964E22AFC5EDDBB03538567378B7F62E806422EAD35C9F6F82046E7E79BFD6FAF3E7E0 A52C63DD5E8C0A838B3969022987DCB7377E15BAC7B1525EA24C666E0C69508881C204BB515233 C9B6FFB3F0B4EE37D12EDE6E192B1A17A7F6699FD6C1E87F03C2D8AC0B9DEC767234A2E7C32016 D3AD9A8015F489BEDA95EC6400EA9DB2CB8626FA253A718FF13FF0E013A172E06C3E5591C15715 C60C30795CAAAB098B52CE441EB71F2063ABBE3DD3558B7F07DB17F49C24A7861589ECD8E825EC 797ABE3521B5924F53045230CF94C34F5BD6F197E008F3BC38401B3AA6BAA7EFF54F1F926677CC FC0E77D5EA05B218213737DB84C21AA724E05F37896667FA8EF4E3899727DDD936BE2F8E64ADBA CA74032C2FF23805D1E6029E7B305F0CD7259865D7271444A5886B5C76CE0DF62429164E844F2E 95880B6BECDBB0BD005229964442A20AE582DF5F3735885E217E4C399535B965047A892BE0985F 6C1EA35B95457414038746316BC93CF4C776AA50650E617A6F0DCC586D3F4CBC19F6043DD04915 F0CE9EA31EFF2F8D36268A044EF15BCA63FC5AE91D7DB0879FE5AA9A3D51BDA3160658ECEFC447 CD2C9A848D1DB4BB48D277EC154B52297EBD188B2B7ABA0E4B840831E1B9B647AF654E1BB08D0A 64446A3BB49FB7F19E8FD8E9084C8B8C93924EFDFD9A9458A4F3B4F1D948B123681DEE542CA97D 6A5857A3E47622A6C6B2EC09768705223894BD7867242D819277C5DB24DCCE8DA6062199482923 4F17F56BB1A0C2A2E099BEAA6D94942AF9706FA6A1D0C67560BD1E3861F8FFD465CE6C48AEC2C1 F762BFD3D4A68B8B25D0FFAE02376B34DC1BAD9B39DAD6FAB6491002A1E6796BE978DC1DC62EA3 9D708671DC9CFE4F757CCCE4DD7F1B0ED59EBF5EF3DCE61C4AA16DD6411B68E8A9CE4FF6AD85E6 F98CE16CE25A8405801669678204CDB7305BD7A29469C539BE2348B8AC412DC95EACA3012D3D96 A3BA334FF4E16EDB9115B83AFD66192142423BDA32D8A76277A763C373217BE75370C5813FD53D E7DCE0807C087DDE87E029F0211CA9F1B1A67E72D7922388A6C84B3C6E3D44B192B0B7588A7DED 100C04F87780F070DDFEF41C90EFC0E0BB8F3692F7D360BA180E1D4579FC1AC671454E413A8613 F40F9CDA8AEFEC06CE40F1DF6FAEBFAEB57AAF73898F869C6BD165B9A3A60C5942A48292B5805E 01897F3DC17253668A774D13E23C5D5D90BB6B8F60E89875B353A8FE0D03ECEC140EBB2B3BE613 907F32DE8F445CFDC60272E5EBC753BC2ED4CBEC34588879870277190FCFBEAAA6D81759C2CE36 6CE0EED2B8915F93BD1ABBA0613DD9E2EE93633EF81F4B36C29F4A24847104ACEC56CA46416884 462AE9C21D1A21D20125B71DC52D38989FBAF0A0A6EC1068E7C963B2B6894326A5E70AE420214F EDAB638988110066D741B301760451CEA275988C2270532D4A78712F28922011D564F12928B4BB 9484657DC0F2378F07A139C75843624CE599A261AFC6192D58F89F36556AFE32531138FA46B505 54898E65B82883BE97CC02B92B7C7D1979F799720345EE930BE3CBC3BA01CDC2311147AA768202 A59BD84F601A5FBF6F882DA51E7644D7B734D89555FFDECED4BD2B14DB3D3C57E0403680796446 3DC5C9D6427B591A00A82E2EE4DB81D533D52857A250E579F9C9D45109F06862E64564B5E18615 4B6AFF5AA065792AAD0D38340C26A0B7C7E4DC7F054A850C0BA6EC8F66535E5CE1758160CF83B3 CD1D0F7EFDA4B0D11E679C74386C2234505F7FB083578BE4D43C4922330EEFE114DAF7C58C0AB8 7E4F6C6511A1B311FB9FC645FD7199015B5491584D2E135C573206A96EC49B6F0BD7428755A69C 9D1DAE3978F70CF6F2B518C74B81908258509FC96282AAB0DEE885CD5D66B5A91BBBF74B08142A 827DA25A4F0FBC4E1BDB4952556B04F32DB3A8CE6873DA2EE081E81DC1D3C429BD76E62986CCBE D21F956E4F45F869E0E00FBFD1B17011439E6E0196C8A7726A96186634E51951B5DC1CC4F96850 9AF5DB930D892EA290C70EDCC65DD905D6AF9221AF3C6EE64E01FC3A37EB358A759DDE53CDDC74 B6937F1DA36B00174481A40AD8B6E9BA2F9BA1A15D80C560BF4A3CAB972DD12B2890C3BDEB06EB FE05BAB7E2BCDAFC641643B67D553AD78D5CC498B43A458C06E9A428307498EB76BD7096F2DEBD 2905AB09BC0E748239D90663C26A3FAA9347C32D44BEEA2DDECCA24825DD2A154E8A82282F4122 96D11C6E0CA8F28CCD52A3E0A9B442838BD6FE90A931C8A462A97759CC9EE21B47C44B2032E5B4 083750CA3483E688F67FBE91EAC9199D49963060712314618A725457FB71945C535BCD330A9D8D 850EA0EB723BE0A00F2C3A8E6C80660F59A84DE34A52F00725C945521ACFFFCE8FA1CBC2CA9F9C C98AB2987C636CFB83DB46B4B3A7F1CF4EECF6E08A3B94229B54CB34272829C4BC264E303DFA2B 170D5E7A66A7EE3C463502D5425AB0739F1DFF5FE9B751975E4379569580B641C7296DFEA54E7A 99A9478583A0D8DE565575DB2CD00B35D2BF82A5597F4134CD3F7A201C80DA9AF49EB8D9D049C2 5869843331F140753DAAF303592715A35751B4597F458F5BD9A894D8E2173E03C85853515E3D71 CDB51E7000279E462386A1DBAC817073DDD29CB89F211CD5FCEB9657C107041E605DDBBB7275F8 B084FBB48A233D826F9D3079F56BEA088092B8156B4C38ECCBAE22EDF9135E5E2DE147EAF1D562 2735F9FC9C5124149AEE31FD4B35CBBD848E81605EF9B89C0E116E4394195122D3F5D28A60CCD3 19A85D7EF24CFEA5AA946B8EE737786DFD5A6B2C1100F3F2DCABDEBC012CBC19AD314198536720 37233DA6D3B6AB83458179190D11FC866BD3343C9CB85381BBFE2226D612BCE91D13226F4AA348 C48D5F05D927518E5587BF7EEAE0B2E40F6D2F5847B25832970681DCDDE5A3DAB4E305DC7CCF1D 817F07975F4575D97355347E3AA2DA7A8B230B81673ABF1052EEE2F524D5330975E811FC32AF0F E8538EF37B67EDE2F2D521F45AEE885D379835E820C8EFFDDD7E3E381BF267E32E9E6DC40A1D36 D0068A698B970C492B79D5AE4C645286631FF56704053F81474FD546FC9498CDE9176F7483F9F1 7FF8654B0EAFC6352FF7070D969C8F7005389B7F465EF1B6C0A1329A2B18F577586CF4B9427D48 886B0AC61575474C87A37340B7EFC0090F3E489505EF51BA12B1394144F3895AABC6916DFA5C6A 4E8D07D3E351853A2E0370688E5E6000F5B751AFB8821C4C25DE80A9640ECC48B99E05C94E4932 D120A4893E85CC91CDFB5A7218C972A482914E5401ACFE7BFF59B4D8D5E5F563AEAE5E34B052A7 2ED5ED7854C32C20C933D68992DEAAD311F6DE5C03DD24B878F536560A2F43E5FC70452A39C7B0 AE56A0A559607EDC991BE7F571857A7F55FEDC84C679B9BE89401F504805BDDCC9CAA625B2111B C4815AC79A78AAEA643466199721879697A341639ED003B5FA52331D3A2AE25D8F20EACCBAF791 D62421A00937BFDDF444EB59D2F460AAFDF8BE9F82D5FD1D48F6712B908E5FA81345A567C18705 6944C722C55A0D418ABB1BC622EEC5D416F6F52BC188DD51405215AD6B75B04DBF4BC6D85F0618 FA111126E41351C3F7B0667F8FC08ED06342B2DB6201A1A63AB018B2FE5FD760366A9A420F56A6 C61B835F9AB9F385A81430F867146C8B01784534CC959126389D1CAFE10E3AF40DBE594B6B9219 8F50D9759E60519DE8AB4CC0224ED624A3AA9FC95AAFD676706448A9F05BF008095121314FD044 A3A350ABFD1CCCD5EB18DBD2EA71C3DB2F37066021E39F4E77CB1B155D05CE1FA00C8A59FF39A3 A16891235A599F95F9A62E6EE47839135A0750A2CB528F11EC47F0D4D3BA828501C9B76FDFE178 21F11814DEFDE3AB561ADA314060D7112BC8BF02E92793A3D864B83AEA78F8D49DF9AB07AC0762 229534C0288FBC00662E53035A037B1C9745195CFAB54D22032A16E7AE0B971CAC5A67FF0EDE11 E265B88805314BC7563CF177BABB367618A27734611D7B662DA407911EF2FEC47D74C482F7DF82 3960081466CECBF4BA94FC5AC8C9F91AC151FB1ECB78BA5D5607A1D59D34C18C83000F8507AB1F 1C44347FCA2BC27087A28F0F3B24BDD8E7A0DDCF782CBCED5DDA4565308E10062145895A9C437C CAED86458890311EDCDE2109233BF9ABCEF0535080D7C5A76D6E3BCE8210C7E89FB95E63CD8A76 FEA978AF5000DFE7C0E659B902503758736C6DB295B9368EE50F5F8CF3E200456B5B2087219150 294871F7B980800E59A5DE5973AB9ED52F7DBC7C433FD0E099D3E3EEF6DF7D77E40D1C8B34C117 588ADBBD7A29AB4805A87C13CE93A65854DFDA87321ECF7D34E72C193365B632B455F8A2916BD1 E63441A633D144C254E3FD89FE2884840146B4C992A07BE6A0FCEEB6AE9B0234D234645D73C064 EAFEDA1EB7A9DE6661D31226A6F54BC9510DF6F64F7200CEC5EAF90357716E7C246D47C04E0906 98C5F6AC446DC6107E6342FE8B746C0FFA058FBBCA0730CFB20A367ED10661670C1618A4D467DC 2A7E87894DE0D5392B3F0DE6582901693C28568D2253D514A3FACD1B063B02A5F8A19C1D6DFBAE CC79435F694E914014DEFC5553A5984993154997E63768DD7BC462BDF6D1A8B28DF568B22FF460 087163AEEC37F0BDDBBA4C30322AD71922AC802DD491207E6A6C255F50EEB0C492EC86AFED9040 B068671FE4A1E66AF15D3D976C7267F3EEE19462487772087ABF36700B4821D2DB5193BBEFCE82 BF67F7034972A708E93C55E0F7A52EAEE47E68FDC6F1BC49B9370F28DAE122D13CB2CBCB55933F A27291003E862FB0C7E20A0F979DFD8BA918322F6CD597809F9E05DD210F7996F314B65F54FD7B F453F15CCBEB2CD5E53535261E696EB73F2698D1159076D0EAE35FFB1FB53F98808ED2325B2CC7 9D90772C15273EE50294AC931626EC573BED7CCE2D713328962528EE0F00FADB1C1ED8B302F24A 40F9A22D1D6411EC669670ADF93C4C67D8520109FDE9F64CB0382842C88845267528F57AB7E408 9EDE614E79799D08D3D01378AE9D42D7601D821C9C5BFB77EEFF37B634D2698BDC11CB60192B6B 4FFDEE834EDEA99CCCB760D3E7548E6810FE300596C246AE56DCC6BA8132AE3779ECD5ECFA6963 F9B5C4B9AD8B6C480BB184FE31EF0F8DD3ADAA96AFBFA250FCBFEB529239AD2A524B3C8AA1C2C2 7ED016E8EE24B355BA84D1D0AC6AF00B0A230578609A3F09639D2CA7175710FE9D455A58A6982B 7B7FCA52BB5490FBAA064D1C506C9598D88B5CB330C97F434BD1EF060ADC21B9F6ED9FB7A7E604 20FA1B481881C73B1DEEDA0A7E197B8D38EEE68CD8D442D083772FE2BA1F1C07A57D5B67BD8230 80BF438089A4D6C311D421F5F16C35B3207649CC0433AEE4987E3AB5698D55309B5F5C8B95332C 77157E3309EDB4954613428AE9DA6686799ABCE483FCFA8C060F0614995E01FD14A6189AB61A0F 7AC9465BE297F053E85AAD0EFD921502269D01FA6D5ADAD672F3D48C5D4EDEEA65E53E03A24AA9 E78660AFF7942E7F23E3754582CB2976FB65997FF35582FF83FE9BF43CE5CA20AE5EB62CA819D9 B63ABE39EA3A13AC163F64A55B4E840B12FEED5BF447E3CA1FD61E6FB51D6F7B3176F697491217 306EC21CC462AEFA069C9432AFAFDE4D586D5EF8DD4E49882CD701C4F4FBDBF42E370AE7F332AB E22DDB2FA70D17B0E053BD6332A1B51840A6C18760A46EDB9C8933039C8B724FBA4C4D62B98876 71F94505D1242067281063F91A7DE032FCE95DA4B54C32B46B762CC927667306101A7186DA78BB BFF306C62708B92D76D2225B1FACC18157268623387B5D80FF9E394E3DB68D5404AE3CAF3A8654 7704EEE75E7BCBC9A96610D96E96C0CEC85785FC7D54BF035D0E03E6B1ACE9691D7DD71B607B9D C37DC020E9B5D4216AA991C5022AC52A4637FCA79DC21DC1FCBD5BA4B28B591F69CEFD0D99E35F C568550A5E11B32BD59BE83149B82FC840C99267AA84AF41FC56D1C4F7F6365B65DBED15163D55 9A95630AF5005C7FEF23EE87208AAE88AB3CA22FEAF682088FB1F2F78027FDED141D161183FD67 5E16ECE34A9664C1373C2793C35080519D0BBE2D9B98BEF67D2716B4036A25274B4370AD209164 BEAC0BFFBCC3F6B2956AEF76143644485280FD50462B63F324A992F3A5B187321107BEC7A301C0 4338312EA32DCABA2C13A6ADA387B668A45743B4D7C02F2BFFC69F49AFB429434EA529B04EB8B7 4596D90FE74AE32F57CEC0433922B00236C189FFCD8A1FDD896CCC957DFA2EEABB23BD8E5A428F FDC06F4F75C3222DC161472687547B173F632D15BACE92A07A0A71DCCE2B8EB739EFFEA173E57C 4DF651FA936221DABBDB3B8AE5C30D595C33DCFC485EF2721743A6957E26A79A97EFD24BE5AC7F D6792166AD1F09A8590F5871E74B2215E9012BF05DC89BEF6A2FFBA06BC619A08B14D6679877A1 10165E943223B0DDC672C591F26D6C865B78B59703C3C977FFD605CB241C35FA1FD928A4A4F11C 052EA00B2FC0CEAD4BD9041899EE135DE98A260518AC927508ADD78D7A6D8049C88B42241D25CA 5DF0550706C3671B2DB3D848C3B94CC77D7FC2D157E37B8D4780B6B7F3B04502F3167D8D5B99A4 6B63151FA7FC1FE52BD66ACF20DB58A7A092623E63FF6F7C7D0001AB09059A5CB6D79504900589 A349E8D19E76F6FBEA194D18CB6526691C7B66E219092FCB73A4F7807E6BFD82510687A50BFA3C EEB4F8818B11A8B9F7B71676C5B44078996994DA808DC39D3CB6A66B476FA2ED6390B7181A591D 171DE548152A5CC5B71F5F9DCED5B648AEF57E2B3644909577EA607E49C8D0105DB7FC57FA1A2D E0105EADBF35AA385C972F9CF07D379454FBFB1EAC4B573498C10B2E98C3FB6F1483A123237B96 0BAA3A3CDC0E9327F0FCABF72E8AC7DB04E22CDAA0F6EE108564565AEAC4A4DA8328F30AA878DD B35D6AB16FC49D928066ED24C583434447AFBE2E4D22848A516862207480EAF650624943925E0C 351A6407ABE0BF04E36C87BE715B11FE53B8A13AB4669B7B2238D0B295D60028D1111A5AFE23AC E77C59415C466042B93790A8055FD8C39B262848BBCEE84DA425462871EA73BFC927DC4DAF9336 E13B1BC99887E8C1D8721311B5396209A634F3A1F91D51EB7B28F0A827A50688ED60370F6BF3EC A867BB995B125BAB4203DE9E26DFC0D3D8E91D3E749AA0407C6A74C86E98FDF8A314B201E1EE0C 98015360074379F70367DE7CEE75864C9789533ECEBE1323C12261A8622C5666C932177CFDCACD 2D494F1741EC983E51CE4E3A63AE6FD282DA64A32CC3B2F55549080C7A190BFDD2C2393C675DE4 90C79A325DCC04D14E0445C218AAFA0E54A305A889DBE613D4F28FB08253892A0D673908479B87 E9D8E13F467B7F9EBCD8E5E16D7CD3358C71CECCD08C6B8ACA8525657D37560BF2221F91258EF4 E6B70118BD1CB1F4EB421C4C32C76437340EA398E22351CEA31D250E46F946D44D97C2B3DE06F8 D8003381600E2E2C28AFBADC25DC94224AFAD0D7D951609BB2478C476085C01AA601F3AFFED544 F251D5A49BD263D64F4FEFB0803F162BD5FE1082FA2949BA8987AFFA1D9A7A4EF28BFCAFFD3311 0E1A1A2A22C76734DF6CC30E3C4662DFAFB32DF55DB12D138148435A6F7ADB4ACC4F4124EF772A A63D5F65490E9763FFD66C6153F5B0FEF1A307D6A9753102CE51DA88E2EF7275FFFD2A7B4F81E9 DF549938193AB7A58D5C237D669ACF27DFA35744F7622F8D54B5B54AA31D9403841D4C5D193D87 E60622E18C2D7E333AD4CB2DB27DEE813D9902D17DD0F2D3BDC8B340DFE9C8D34B993CC2CC91BD 47B4861809902E11197967922FC625989AC6F4BA0D48166F3F4B6C6C47D3B9A932F3D47A8613F3 6329406BF5ADEE519002394FB288D3A8AC3DCD5C37270AC7F5C5CDE46BE5C2A103FD468FEBC0F5 180143DB4312076FB062CE88DC373B5F120C591B9C09B9E3E1B26F52A48339AE70F729BA02977A B60666637D9FF9287DB4CC52BD5C7B2D4F038E5C927B97B54F611396E2211514A8684A02D5DB1F DE728DB58AE1BB7253740349771118D2D33211D2ED7BBEB97BB4776666F6A2AC7B54A1E2DB79D2 A9DE31745745CB39BDEE3E7CF425C27F86CFA89F825A09F9C7027E8DF7A773497690F328D22FF5 A5CB2821623A570C29D03081E9DCE770F3E7F5B7377A1BC3F52B383EA0CB1C1BDC00E67AE90F72 9DC77450407C0A9D0ECB2CE16C91CC3C7D487457800654F86BA7A8E26A25B78204CC7F58BBF69C 5C406BA012563A4379506C28A39538F9A5D57BD197443A02A9D3C67149D654FF12FC6E05612981 7F7236BF90FA626FB91D49C48D824248EABD764EB3C20634D56BDC2E170A814567D278F7AFB96B F6AEF216C0B42AAF85AE299752C50E6D2963FA5DB384FD110868D43DA804FDB9D0CA26BBC8CD72 EFAC451FBAF4BB0B44C675DD4E0B4AD8D6149DAE44DC4EC36942CE1876C8602E3F97CD6E18BD0B 5BCCF7B1773619FC8AC3B3D4958F71E5D2C631C6B17EEE7ADCBA30CA0E30B538249113223FA987 4D4B294563B9F42D9D259374F28A8D8A654F26D7BFD8667CCBC43F75B61C2F5CF8D7E06642E93D 76554642B7666B7905D6859F79DC080CB5574D03A072DB0D47AB82461DF6638C77234A3F97428F D2FC973687786BCF1D2F65AABAF55C257914247AEA0B3AF17A867C0CF1E5A6883D68680343CC5F 3604DC8E1E7A9DAB9CFA316A14D4CF7A3A60CA56E947AE632762B2303C0EDAF9B3AA206191730D 18B522FCD29D036AA4E6540F6A0DA836638A2EACE334B232199F61B357B10F4322A1F58F249101 CB1399E5E60483F12A6008F8FFB52709F34136D93902FE367A01419F79A4D4DEDBBAE63741526D 3D9EB7BFB4332C1775E2F0A05A4D7B203C2816F30081A67440D09D1FF94DDB3B7BB91B63703581 A696ECEB393963FA9199AB61A3F449061E048FA2C1F91897C5A60A4D30D0C276DE88EA143BA4FC 545FFC8F0B0950A38AAD126D73DA6BBDBDB480C3AFF4D2C7657A33652D5728E1866DB82B8F1A8A 72235DAB477C38ECFCCD0CDBB77D30A0436FDDC1D70426C0C5B408A4ADD039CC2B5750B7BB5E07 CC56039DB7FF3298151718E167CD482E88AE498B2D89C79C572FCE5ECEA3BBFE5603FD7AF6F4DF 2C06BD8EF8501B52E8CBFB5481CA45CBAE44D87D455DFB6F030FBC0938EDFF80592B68390452F2 42584D9C529BBAA2615F9A493BDB3C4BCD99422B69FB658ADA813AE39E447151F9312A005AB210 D9FFB508C7A036BFA34C7264CFC1B92929C7CD892CD8BE48D388545B8CE7A79F70D0F1B852625D F331D75342E9EC57219DE4E61BFFEB066D82DC6256892E89B25BCE034F7F6FF09D7DC8ABBC8739 3B70FDAB372D2FDFC51902A6E7FBE5DF3F41A91DAFA35D9A99A18DCD9E9D9050CA9D6FD417C9B8 DE3C0648F8458BA2E0ABCEE10E759C97F019D1A1C8E1CC9EC8A6680C2566F42E478EB1F5706435 16EBAF85E4F9E972BA3FA6D20B8BD1734229563A1ADA6D4D1857257EB760050F4FD997090653CA 7771430101EEE3BCA1EA8E5F230F1B54E25A50458A1F7EBC35AEC36A88E4E345EF4CD9F97978EC E8F3C53ABD56FD3DB6C71206DEB0058509F24D0EB4C68BCFAD5A773EFD04F5472984000960F67E 261B9152A176B230EB447633653ED0CBD3F50B214773DB454E89625BE27B7B75C93330E1F782BE EA101988B04AEF3601BA7FE868F614035647349D97F9F1AA598FD808885D91F5E24FE348015E46 D80FCC9E62 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %!PS-Adobe-2.0 %%Version: 0.1 %%Creator: troff, Plan 9 edition %%Pages: (atend) %%EndComments % % Version 3.3.2 prologue for troff files. % /#copies 1 store /aspectratio 1 def /formsperpage 1 def /landscape false def /linewidth .3 def /magnification 1 def /margin 0 def /orientation 0 def /resolution 720 def /rotation 1 def /xoffset 0 def /yoffset 0 def /roundpage true def /useclippath true def /pagebbox [0 0 612 792] def /R /Times-Roman def /I /Times-Italic def /B /Times-Bold def /BI /Times-BoldItalic def /H /Helvetica def /HI /Helvetica-Oblique def /HB /Helvetica-Bold def /HX /Helvetica-BoldOblique def /CW /Courier def /CO /Courier def /CI /Courier-Oblique def /CB /Courier-Bold def /CX /Courier-BoldOblique def /PA /Palatino-Roman def /PI /Palatino-Italic def /PB /Palatino-Bold def /PX /Palatino-BoldItalic def /Hr /Helvetica-Narrow def /Hi /Helvetica-Narrow-Oblique def /Hb /Helvetica-Narrow-Bold def /Hx /Helvetica-Narrow-BoldOblique def /KR /Bookman-Light def /KI /Bookman-LightItalic def /KB /Bookman-Demi def /KX /Bookman-DemiItalic def /AR /AvantGarde-Book def /AI /AvantGarde-BookOblique def /AB /AvantGarde-Demi def /AX /AvantGarde-DemiOblique def /NR /NewCenturySchlbk-Roman def /NI /NewCenturySchlbk-Italic def /NB /NewCenturySchlbk-Bold def /NX /NewCenturySchlbk-BoldItalic def /ZD /ZapfDingbats def /ZI /ZapfChancery-MediumItalic def /S /S def /S1 /S1 def /GR /Symbol def /inch {72 mul} bind def /min {2 copy gt {exch} if pop} bind def /setup { counttomark 2 idiv {def} repeat pop landscape {/orientation 90 orientation add def} if /scaling 72 resolution div def linewidth setlinewidth 1 setlinecap pagedimensions xcenter ycenter translate orientation rotation mul rotate width 2 div neg height 2 div translate xoffset inch yoffset inch neg translate margin 2 div dup neg translate magnification dup aspectratio mul scale scaling scaling scale addmetrics 0 0 moveto } def /pagedimensions { useclippath userdict /gotpagebbox known not and { /pagebbox [clippath pathbbox newpath] def roundpage currentdict /roundpagebbox known and {roundpagebbox} if } if pagebbox aload pop 4 -1 roll exch 4 1 roll 4 copy landscape {4 2 roll} if sub /width exch def sub /height exch def add 2 div /xcenter exch def add 2 div /ycenter exch def userdict /gotpagebbox true put } def /addmetrics { /Symbol /S null Sdefs cf /Times-Roman /S1 StandardEncoding dup length array copy S1defs cf } def /pagesetup { /page exch def currentdict /pagedict known currentdict page known and { page load pagedict exch get cvx exec } if } def /decodingdefs [ {counttomark 2 idiv {y moveto show} repeat} {neg /y exch def counttomark 2 idiv {y moveto show} repeat} {neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat} {neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat} {counttomark 2 idiv {y moveto show} repeat} {neg setfunnytext} ] def /setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def /w {neg moveto show} bind def /m {neg dup /y exch def moveto} bind def /done {/lastpage where {pop lastpage} if} def /f { dup /font exch def findfont exch dup /ptsize exch def scaling div dup /size exch def scalefont setfont linewidth ptsize mul scaling 10 mul div setlinewidth /spacewidth ( ) stringwidth pop def } bind def /changefont { /fontheight exch def /fontslant exch def currentfont [ 1 0 fontheight ptsize div fontslant sin mul fontslant cos div fontheight ptsize div 0 0 ] makefont setfont } bind def /sf {f} bind def /cf { dup length 2 idiv /entries exch def /chtab exch def /newencoding exch def /newfont exch def findfont dup length 1 add dict /newdict exch def {1 index /FID ne {newdict 3 1 roll put}{pop pop} ifelse} forall newencoding type /arraytype eq {newdict /Encoding newencoding put} if newdict /Metrics entries dict put newdict /Metrics get begin chtab aload pop 1 1 entries {pop def} for newfont newdict definefont pop end } bind def % % A few arrays used to adjust reference points and character widths in some % of the printer resident fonts. If square roots are too high try changing % the lines describing /radical and /radicalex to, % % /radical [0 -75 550 0] % /radicalex [-50 -75 500 0] % % Move braceleftbt a bit - default PostScript character is off a bit. % /Sdefs [ /bracketlefttp [201 500] /bracketleftbt [201 500] /bracketrighttp [-81 380] /bracketrightbt [-83 380] /braceleftbt [203 490] /bracketrightex [220 -125 500 0] /radical [0 0 550 0] /radicalex [-50 0 500 0] /parenleftex [-20 -170 0 0] /integral [100 -50 500 0] /infinity [10 -75 730 0] ] def /S1defs [ /underscore [0 80 500 0] /endash [7 90 650 0] ] def % % Version 3.3.2 drawing procedures for dpost. Automatically pulled in when % needed. % /inpath false def /savematrix matrix def /Dl { inpath {neg lineto pop pop} {newpath neg moveto neg lineto stroke} ifelse } bind def /De { /y1 exch 2 div def /x1 exch 2 div def /savematrix savematrix currentmatrix def neg exch x1 add exch translate x1 y1 scale 0 0 1 0 360 inpath {1 0 moveto arc savematrix setmatrix} {newpath arc savematrix setmatrix stroke} ifelse } bind def /Da { /dy2 exch def /dx2 exch def /dy1 exch def /dx1 exch def dy1 add neg exch dx1 add exch dx1 dx1 mul dy1 dy1 mul add sqrt dy1 dx1 neg atan dy2 neg dx2 atan inpath {arc} {newpath arc stroke} ifelse } bind def /DA { /dy2 exch def /dx2 exch def /dy1 exch def /dx1 exch def dy1 add neg exch dx1 add exch dx1 dx1 mul dy1 dy1 mul add sqrt dy1 dx1 neg atan dy2 neg dx2 atan inpath {arcn} {newpath arcn stroke} ifelse } bind def /Ds { /y2 exch def /x2 exch def /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 5 x1 mul add 6 div y0 5 y1 mul add -6 div x2 5 x1 mul add 6 div y2 5 y1 mul add -6 div x1 x2 add 2 div y1 y2 add -2 div inpath {curveto} {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke} ifelse } bind def % % Tries to round clipping path dimensions, as stored in array pagebbox, so they % match one of the known sizes in the papersizes array. Lower left coordinates % are always set to 0. % /roundpagebbox { 7 dict begin /papersizes [8.5 inch 11 inch 14 inch 17 inch] def /mappapersize { /val exch def /slop .5 inch def /diff slop def /j 0 def 0 1 papersizes length 1 sub { /i exch def papersizes i get val sub abs dup diff le {/diff exch def /j i def} {pop} ifelse } for diff slop lt {papersizes j get} {val} ifelse } def pagebbox 0 0 put pagebbox 1 0 put pagebbox dup 2 get mappapersize 2 exch put pagebbox dup 3 get mappapersize 3 exch put end } bind def %%EndProlog %%BeginSetup mark % % Encoding vector and redefinition of findfont for the ISO Latin1 standard. % The 18 characters missing from ROM based fonts on older printers are noted % below. % /ISOLatin1Encoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent /sterling /currency /yen /brokenbar % missing /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree % missing /plusminus % missing /twosuperior % missing /threesuperior % missing /acute /mu % missing /paragraph /periodcentered /cedilla /onesuperior % missing /ordmasculine /guillemotright /onequarter % missing /onehalf % missing /threequarters % missing /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth % missing /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply % missing /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute % missing /Thorn % missing /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth % missing /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide % missing /oslash /ugrave /uacute /ucircumflex /udieresis /yacute % missing /thorn % missing /ydieresis ] def /NewFontDirectory FontDirectory maxlength dict def % % Apparently no guarantee findfont is defined in systemdict so the obvious % % systemdict /findfont get exec % % can generate an error. So far the only exception is a VT600 (version 48.0). % userdict /@RealFindfont known not { userdict begin /@RealFindfont systemdict begin /findfont load end def end } if /findfont { dup NewFontDirectory exch known not { dup %dup systemdict /findfont get exec % not always in systemdict dup userdict /@RealFindfont get exec dup /Encoding get StandardEncoding eq { dup length dict begin {1 index /FID ne {def}{pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end /DummyFontName exch definefont } if NewFontDirectory 3 1 roll put } if NewFontDirectory exch get } bind def %%Patch from lp %%EndPatch from lp setup %%EndSetup %%Page: 1 1 /saveobj save def mark 1 pagesetup 12 /LucidaSans-Demi f (The) 2255 1230 w (Text Editor) 2526 1230 w 12 /LucidaTypewriter f (sam) 3247 1230 w 10 /LucidaSans-Italic f (Rob Pike) 2674 1470 w (rob@plan9.bell-labs.com) 2266 1590 w (ABSTRACT) 2626 2030 w 10 /LucidaTypewriter f (Sam) 1080 2326 w 10 /LucidaSansUnicode00 f (is) 1337 2326 w (an) 1458 2326 w (interactive) 1616 2326 w (multi-file) 2162 2326 w (text) 2662 2326 w (editor) 2894 2326 w (intended) 3222 2326 w (for) 3692 2326 w (bitmap) 3873 2326 w (displays.) 4255 2326 w (A) 1080 2446 w (textual) 1197 2446 w (command) 1582 2446 w (language) 2108 2446 w (supplements) 2599 2446 w (the) 3269 2446 w (mouse-driven,) 3471 2446 w (cut-and-) 4234 2446 w (paste) 1080 2566 w (interface) 1380 2566 w (to) 1842 2566 w (make) 1978 2566 w (complex) 2279 2566 w (or) 2732 2566 w (repetitive) 2873 2566 w (editing) 3368 2566 w (tasks) 3745 2566 w (easy) 4036 2566 w (to) 4289 2566 w (spec\255) 4426 2566 w (ify.) 1080 2686 w (The) 1301 2686 w (language) 1521 2686 w (is) 2003 2686 w (characterized) 2122 2686 w (by) 2815 2686 w (the) 2969 2686 w (composition) 3163 2686 w (of) 3799 2686 w (regular) 3935 2686 w (expres\255) 4319 2686 w (sions) 1080 2806 w (to) 1368 2806 w (describe) 1500 2806 w (the) 1944 2806 w (structure) 2133 2806 w (of) 2605 2806 w (the) 2737 2806 w (text) 2927 2806 w (being) 3153 2806 w (modified.) 3460 2806 w (The) 3990 2806 w (treatment) 4206 2806 w (of) 1080 2926 w (files) 1211 2926 w (as) 1446 2926 w (a) 1585 2926 w (database, with changes logged as atomic transactions, guides) 1673 2926 w (the) 1080 3046 w (implementation) 1280 3046 w (and) 2087 3046 w (makes) 2312 3046 w (a) 2670 3046 w (general) 2771 3046 w 10 /LucidaSansUnicode20 f (\030) 3178 3046 w 10 /LucidaSansUnicode00 f (undo) 3210 3046 w 10 /LucidaSansUnicode20 f (\031) 3458 3046 w 10 /LucidaSansUnicode00 f (mechanism) 3536 3046 w (straightfor\255) 4134 3046 w (ward.) 1080 3166 w 10 /LucidaTypewriter f (Sam) 1330 3322 w 10 /LucidaSansUnicode00 f (is) 1630 3322 w (implemented) 1794 3322 w (as) 2515 3322 w (two) 2705 3322 w (processes) 2965 3322 w (connected) 3531 3322 w (by) 4115 3322 w (a) 4315 3322 w (low-) 4455 3322 w (bandwidth) 1080 3442 w (stream,) 1642 3442 w (one) 2058 3442 w (process) 2288 3442 w (handling) 2712 3442 w (the) 3186 3442 w (display) 3391 3442 w (and) 3783 3442 w (the) 4013 3442 w (other) 4218 3442 w (the) 4525 3442 w (editing) 1080 3562 w (algorithms.) 1453 3562 w (Therefore) 2072 3562 w (it) 2580 3562 w (can) 2681 3562 w (run) 2884 3562 w (with) 3084 3562 w (the) 3324 3562 w (display) 3514 3562 w (process) 3891 3562 w (in) 4300 3562 w (a) 4427 3562 w (bit\255) 4518 3562 w (map) 1080 3682 w (terminal) 1340 3682 w (and) 1791 3682 w (the) 2020 3682 w (editor) 2224 3682 w (on) 2560 3682 w (a) 2732 3682 w (local) 2836 3682 w (host,) 3110 3682 w (with) 3401 3682 w (both) 3654 3682 w (processes) 3925 3682 w (on) 4454 3682 w (a) 4625 3682 w (bitmap-equipped) 1080 3802 w (host,) 1982 3802 w (or) 2274 3802 w (with) 2426 3802 w (the) 2681 3802 w (display) 2886 3802 w (process) 3278 3802 w (in) 3702 3802 w (the) 3843 3802 w (terminal) 4048 3802 w (and) 4500 3802 w (the) 1080 3922 w (editor) 1282 3922 w (in) 1616 3922 w (a) 1754 3922 w (remote) 1855 3922 w (host.) 2245 3922 w (By) 2566 3922 w (suppressing) 2722 3922 w (the) 3359 3922 w (display) 3560 3922 w (process,) 3948 3922 w (it) 4400 3922 w (can) 4512 3922 w (even run without a bitmap terminal.) 1080 4042 w (This) 1330 4198 w (paper) 1574 4198 w (is) 1891 4198 w (reprinted) 2011 4198 w (from) 2499 4198 w (Software) 2771 4198 w 10 /LucidaSansUnicode20 f (\024) 3189 4198 w 10 /LucidaSansUnicode00 f (Practice) 3289 4198 w (and) 3704 4198 w (Experience,) 3924 4198 w (Vol) 4525 4198 w (17,) 1080 4318 w (number) 1279 4318 w (11,) 1697 4318 w (pp.) 1896 4318 w (813-845,) 2095 4318 w (November) 2604 4318 w (1987.) 3140 4318 w (The) 3496 4318 w (paper) 3717 4318 w (has) 4035 4318 w (not) 4243 4318 w (been) 4443 4318 w (updated) 1080 4438 w (for) 1524 4438 w (the) 1709 4438 w (Plan) 1910 4438 w (9) 2157 4438 w (manuals.) 2266 4438 w (Although) 2783 4438 w 10 /LucidaTypewriter f (Sam) 3273 4438 w 10 /LucidaSansUnicode00 f (has) 3535 4438 w (not) 3749 4438 w (changed) 3955 4438 w (much) 4412 4438 w (since) 1080 4558 w (the) 1363 4558 w (paper) 1552 4558 w (was) 1864 4558 w (written,) 2081 4558 w (the) 2486 4558 w (system) 2675 4558 w (around) 3049 4558 w (it) 3427 4558 w (certainly) 3527 4558 w (has.) 3973 4558 w (Nonethe\255) 4239 4558 w (less,) 1080 4678 w (the) 1338 4678 w (description) 1532 4678 w (here) 2114 4678 w (still) 2369 4678 w (stands) 2584 4678 w (as) 2943 4678 w (the) 3089 4678 w (best) 3284 4678 w (introduction) 3531 4678 w (to) 4166 4678 w (the) 4304 4678 w (edi\255) 4499 4678 w (tor.) 1080 4798 w 10 /LucidaSans-Demi f (Introduction) 720 5158 w 10 /LucidaTypewriter f (Sam) 720 5314 w 10 /LucidaSansUnicode00 f (is an) 968 5314 w (interactive) 1230 5314 w (text) 1768 5314 w (editor) 1992 5314 w (that) 2312 5314 w (combines) 2536 5314 w (cut-and-paste) 3035 5314 w (interactive) 3776 5314 w (editing) 4314 5314 w (with) 4685 5314 w (an) 4923 5314 w (unusual) 720 5434 w (command) 1137 5434 w (language) 1649 5434 w (based) 2126 5434 w (on) 2447 5434 w (the) 2603 5434 w (composition) 2791 5434 w (of) 3422 5434 w (regular) 3553 5434 w (expressions.) 3932 5434 w (It) 4611 5434 w (is) 4710 5434 w (writ\255) 4823 5434 w (ten) 720 5554 w (as) 917 5554 w (two) 1065 5554 w (programs:) 1283 5554 w (one,) 1825 5554 w (the) 2079 5554 w 10 /LucidaSansUnicode20 f (\030) 2277 5554 w 10 /LucidaSansUnicode00 f (host) 2309 5554 w (part,) 2563 5554 w 10 /LucidaSansUnicode20 f (\031) 2791 5554 w 10 /LucidaSansUnicode00 f (runs) 2866 5554 w (on) 3125 5554 w (a) 3291 5554 w (UNIX) 3389 5554 w (system) 3667 5554 w (and) 4050 5554 w (implements) 4273 5554 w (the) 4885 5554 w (command) 720 5674 w (language) 1244 5674 w (and) 1733 5674 w (provides) 1959 5674 w (file) 2420 5674 w (access;) 2616 5674 w (the) 3008 5674 w (other,) 3208 5674 w (the) 3542 5674 w 10 /LucidaSansUnicode20 f (\030) 3742 5674 w 10 /LucidaSansUnicode00 f (terminal) 3774 5674 w (part,) 4221 5674 w 10 /LucidaSansUnicode20 f (\031) 4449 5674 w 10 /LucidaSansUnicode00 f (runs) 4526 5674 w (asyn\255) 4787 5674 w (chronously) 720 5794 w (on) 1285 5794 w (a) 1441 5794 w (machine) 1529 5794 w (with) 1970 5794 w (a) 2208 5794 w (mouse) 2297 5794 w (and) 2654 5794 w (bitmap) 2868 5794 w (display) 3242 5794 w (and) 3618 5794 w (supports) 3832 5794 w (the) 4295 5794 w (display) 4484 5794 w (and) 4860 5794 w (interactive) 720 5914 w (editing.) 1266 5914 w (The) 1709 5914 w (host) 1931 5914 w (part) 2183 5914 w (may) 2419 5914 w (be) 2659 5914 w (even) 2818 5914 w (run) 3084 5914 w (in) 3289 5914 w (isolation) 3420 5914 w (on) 3874 5914 w (an) 4037 5914 w (ordinary) 4194 5914 w (terminal) 4638 5914 w (to) 720 6034 w (edit) 865 6034 w (text) 1097 6034 w (using) 1335 6034 w (the) 1648 6034 w (command) 1850 6034 w (language,) 2376 6034 w (much) 2899 6034 w (like) 3215 6034 w (a) 3435 6034 w (traditional) 3538 6034 w (line) 4084 6034 w (editor,) 4308 6034 w (without) 4675 6034 w (assistance) 720 6154 w (from) 1256 6154 w (a) 1526 6154 w (mouse) 1618 6154 w (or) 1978 6154 w (display.) 2117 6154 w (Most) 2560 6154 w (often,) 2832 6154 w (the) 3154 6154 w (terminal) 3346 6154 w (part) 3785 6154 w (runs) 4018 6154 w (on) 4271 6154 w (a) 4431 6154 w (Blit) 4523 6154 w 6 /LucidaSansUnicode00 f (1) 4676 6104 w 10 /LucidaSansUnicode00 f (termi\255) 4751 6154 w (nal) 720 6274 w (\(actually) 911 6274 w (on) 1359 6274 w (a) 1527 6274 w (Teletype) 1627 6274 w (DMD) 2084 6274 w (5620,) 2365 6274 w (the) 2694 6274 w (production) 2894 6274 w (version) 3469 6274 w (of) 3867 6274 w (the) 4011 6274 w (Blit\),) 4212 6274 w (whose) 4476 6274 w (host) 4829 6274 w (connection) 720 6394 w (is) 1291 6394 w (an) 1410 6394 w (ordinary) 1566 6394 w (9600) 2009 6394 w (bps) 2300 6394 w (RS232) 2516 6394 w (link;) 2861 6394 w (on) 3110 6394 w (the) 3272 6394 w (SUN) 3466 6394 w (computer) 3702 6394 w (the) 4204 6394 w (host) 4397 6394 w (and) 4646 6394 w (dis\255) 4864 6394 w (play processes run on a single machine, connected by a pipe.) 720 6514 w 10 /LucidaTypewriter f (Sam) 970 6670 w 10 /LucidaSansUnicode00 f (edits) 1224 6670 w (uninterpreted) 1498 6670 w (ASCII) 2201 6670 w (text.) 2489 6670 w (It) 2782 6670 w (has) 2886 6670 w (no) 3092 6670 w (facilities) 3253 6670 w (for) 3694 6670 w (multiple) 3871 6670 w (fonts,) 4307 6670 w (graphics) 4626 6670 w (or) 720 6790 w (tables,) 861 6790 w (unlike) 1222 6790 w (MacWrite,) 1556 6790 w 6 /LucidaSansUnicode00 f (2) 2029 6740 w 10 /LucidaSansUnicode00 f (Bravo,) 2105 6790 w 6 /LucidaSansUnicode00 f (3) 2404 6740 w 10 /LucidaSansUnicode00 f (Tioga) 2480 6790 w 6 /LucidaSansUnicode00 f (4) 2750 6740 w 10 /LucidaSansUnicode00 f (or) 2826 6790 w (Lara.) 2966 6790 w 6 /LucidaSansUnicode00 f (5) 3202 6740 w 10 /LucidaSansUnicode00 f (Also) 3278 6790 w (unlike) 3526 6790 w (them,) 3860 6790 w (it) 4178 6790 w (has) 4282 6790 w (a) 4488 6790 w (rich) 4581 6790 w (com\255) 4802 6790 w (mand) 720 6910 w (language.) 1058 6910 w (\(Throughout) 1630 6910 w (this) 2301 6910 w (paper,) 2545 6910 w (the) 2920 6910 w (phrase) 3141 6910 w 10 /LucidaSans-Italic f (command) 3535 6910 w (language) 4078 6910 w 10 /LucidaSansUnicode00 f (refers) 4594 6910 w (to) 4942 6910 w (textual) 720 7030 w (commands;) 1111 7030 w (commands) 1726 7030 w (activated) 2308 7030 w (from) 2796 7030 w (the) 3081 7030 w (mouse) 3289 7030 w (form) 3665 7030 w (the) 3950 7030 w 10 /LucidaSans-Italic f (mouse) 4158 7030 w (language.) 4525 7030 w 10 /LucidaSansUnicode00 f (\)) 5007 7030 w 10 /LucidaTypewriter f (Sam) 720 7150 w 10 /LucidaSansUnicode00 f (developed) 975 7150 w (as) 1513 7150 w (an) 1658 7150 w (editor) 1814 7150 w (for) 2140 7150 w (use) 2318 7150 w (by) 2526 7150 w (programmers,) 2680 7150 w (and) 3408 7150 w (tries) 3627 7150 w (to) 3880 7150 w (join) 4017 7150 w (the) 4238 7150 w (styles) 4432 7150 w (of) 4747 7150 w (the) 4885 7150 w (UNIX) 720 7270 w (text) 1013 7270 w (editor) 1262 7270 w 10 /LucidaTypewriter f (ed) 1607 7270 w 6 /LucidaSansUnicode00 f (6,7) 1751 7220 w 10 /LucidaSansUnicode00 f (with) 1904 7270 w (that) 2167 7270 w (of) 2416 7270 w (interactive) 2572 7270 w (cut-and-paste) 3134 7270 w (editors) 3899 7270 w (by) 4294 7270 w (providing) 4466 7270 w (a) 4985 7270 w cleartomark showpage saveobj restore %%EndPage: 1 1 %%Page: 2 2 /saveobj save def mark 2 pagesetup 10 /LucidaSansUnicode00 f (\255 2 \255) 2783 480 w (comfortable) 720 840 w (mouse-driven) 1368 840 w (interface) 2116 840 w (to) 2604 840 w (a) 2766 840 w (program) 2885 840 w (with) 3366 840 w (a) 3636 840 w (solid) 3756 840 w (command) 4054 840 w (language) 4597 840 w (driven) 720 960 w (by) 1057 960 w (regular) 1205 960 w (expressions.) 1584 960 w (The) 2263 960 w (command) 2477 960 w (language) 2988 960 w (developed) 3464 960 w (more) 3996 960 w (than) 4280 960 w (the) 4529 960 w (mouse) 4717 960 w (language,) 720 1080 w (and) 1234 1080 w (acquired) 1453 1080 w (a) 1912 1080 w (notation) 2006 1080 w (for) 2450 1080 w (describing) 2629 1080 w (the) 3176 1080 w (structure) 3371 1080 w (of) 3849 1080 w (files) 3987 1080 w (more) 4229 1080 w (richly) 4520 1080 w (than) 4824 1080 w (as a sequence of lines, using a dataflow-like syntax for specifying changes.) 720 1200 w (The) 970 1356 w (interactive) 1186 1356 w (style) 1726 1356 w (was) 1986 1356 w (influenced) 2205 1356 w (by) 2748 1356 w 10 /LucidaTypewriter f (jim) 2899 1356 w 10 /LucidaSansUnicode00 f (,) 3115 1356 w 6 /LucidaSansUnicode00 f (1) 3147 1306 w 10 /LucidaSansUnicode00 f (an) 3221 1356 w (early) 3374 1356 w (cut-and-paste) 3643 1356 w (editor) 4387 1356 w (for) 4710 1356 w (the) 4885 1356 w (Blit,) 720 1476 w (and) 940 1476 w (by) 1155 1476 w 10 /LucidaTypewriter f (mux) 1305 1476 w 10 /LucidaSansUnicode00 f (,) 1521 1476 w 6 /LucidaSansUnicode00 f (8) 1553 1426 w 10 /LucidaSansUnicode00 f (the) 1626 1476 w (Blit) 1816 1476 w (window) 2003 1476 w (system.) 2406 1476 w 10 /LucidaTypewriter f (Mux) 2844 1476 w 10 /LucidaSansUnicode00 f (merges) 3094 1476 w (the) 3487 1476 w (original) 3676 1476 w (Blit) 4078 1476 w (window) 4265 1476 w (system,) 4668 1476 w 10 /LucidaTypewriter f (mpx) 720 1596 w 10 /LucidaSansUnicode00 f (,) 936 1596 w 6 /LucidaSansUnicode00 f (1) 968 1546 w 10 /LucidaSansUnicode00 f (with) 1040 1596 w (cut-and-paste) 1279 1596 w (editing,) 2021 1596 w (forming) 2426 1596 w (something) 2846 1596 w (like) 3394 1596 w (a) 3601 1596 w (multiplexed) 3691 1596 w (version) 4304 1596 w (of) 4691 1596 w 10 /LucidaTypewriter f (jim) 4824 1596 w 10 /LucidaSansUnicode00 f (that edits the output of \(and input to\) command sessions rather than files.) 720 1716 w (The) 970 1872 w (first) 1189 1872 w (part) 1422 1872 w (of) 1656 1872 w (this) 1792 1872 w (paper) 2009 1872 w (describes) 2325 1872 w (the) 2824 1872 w (command) 3018 1872 w (language,) 3535 1872 w (then) 4049 1872 w (the) 4305 1872 w (mouse) 4499 1872 w (lan\255) 4861 1872 w (guage,) 720 1992 w (and) 1091 1992 w (explains) 1313 1992 w (how) 1761 1992 w (they) 2003 1992 w (interact.) 2252 1992 w (That) 2726 1992 w (is) 2985 1992 w (followed) 3107 1992 w (by) 3562 1992 w (a) 3719 1992 w (description) 3816 1992 w (of) 4401 1992 w (the) 4541 1992 w (imple\255) 4737 1992 w (mentation,) 720 2112 w (first) 1285 2112 w (of) 1522 2112 w (the) 1662 2112 w (host) 1859 2112 w (part,) 2112 2112 w (then) 2382 2112 w (of) 2641 2112 w (the) 2781 2112 w (terminal) 2978 2112 w (part.) 3422 2112 w (A) 3724 2112 w (principle) 3835 2112 w (that) 4300 2112 w (influenced) 4533 2112 w (the) 720 2232 w (design) 917 2232 w (of) 1282 2232 w 10 /LucidaTypewriter f (sam) 1422 2232 w 10 /LucidaSansUnicode00 f (is) 1680 2232 w (that) 1801 2232 w (it) 2033 2232 w (should) 2140 2232 w (have) 2509 2232 w (no) 2775 2232 w (explicit) 2939 2232 w (limits,) 3335 2232 w (such) 3676 2232 w (as) 3943 2232 w (upper) 4090 2232 w (limits) 4416 2232 w (on) 4725 2232 w (file) 4889 2232 w (size) 720 2352 w (or) 946 2352 w (line) 1081 2352 w (length.) 1290 2352 w (A) 1695 2352 w (secondary) 1797 2352 w (consideration) 2322 2352 w (is) 3013 2352 w (that) 3126 2352 w (it) 3350 2352 w (be) 3449 2352 w (efficient.) 3601 2352 w (To) 4092 2352 w (honor) 4249 2352 w (these) 4569 2352 w (two) 4865 2352 w (goals) 720 2472 w (together) 1012 2472 w (requires) 1457 2472 w (a) 1889 2472 w (method) 1977 2472 w (for) 2382 2472 w (efficiently) 2554 2472 w (manipulating) 3062 2472 w (huge) 3733 2472 w (strings) 4008 2472 w (\(files\)) 4374 2472 w (without) 4675 2472 w (breaking) 720 2592 w (them) 1185 2592 w (into) 1472 2592 w (lines,) 1700 2592 w (perhaps) 1998 2592 w (while) 2428 2592 w (making) 2720 2592 w (thousands) 3118 2592 w (of) 3661 2592 w (changes) 3798 2592 w (under) 4236 2592 w (control) 4560 2592 w (of) 4942 2592 w (the) 720 2712 w (command) 924 2712 w (language.) 1451 2712 w 10 /LucidaTypewriter f (Sam) 2007 2712 w 10 /LucidaSansUnicode20 f (\031) 2223 2712 w 10 /LucidaSansUnicode00 f (s) 2255 2712 w (method) 2355 2712 w (is) 2776 2712 w (to) 2905 2712 w (treat) 3051 2712 w (the) 3325 2712 w (file) 3528 2712 w (as) 3727 2712 w (a) 3881 2712 w (transaction) 3984 2712 w (database,) 4573 2712 w (implementing) 720 2832 w (changes) 1441 2832 w (as) 1890 2832 w (atomic) 2046 2832 w (updates.) 2422 2832 w (These) 2923 2832 w (updates) 3261 2832 w (may) 3698 2832 w (be) 3949 2832 w (unwound) 4119 2832 w (easily) 4619 2832 w (to) 4942 2832 w 10 /LucidaSansUnicode20 f (\030) 720 2952 w 10 /LucidaSansUnicode00 f (undo) 752 2952 w 10 /LucidaSansUnicode20 f (\031) 1000 2952 w 10 /LucidaSansUnicode00 f (changes.) 1083 2952 w (Efficiency) 1597 2952 w (is) 2106 2952 w (achieved) 2237 2952 w (through) 2712 2952 w (a) 3150 2952 w (collection) 3256 2952 w (of) 3773 2952 w (caches) 3922 2952 w (that) 4299 2952 w (minimizes) 4541 2952 w (disc) 720 3072 w (traffic) 965 3072 w (and) 1303 3072 w (data) 1534 3072 w (motion,) 1795 3072 w (both) 2221 3072 w (within) 2495 3072 w (the) 2843 3072 w (two) 3050 3072 w (parts) 3277 3072 w (of) 3576 3072 w (the) 3726 3072 w (program) 3933 3072 w (and) 4401 3072 w (between) 4633 3072 w (them.) 720 3192 w (The) 970 3348 w (terminal) 1186 3348 w (part) 1623 3348 w (of) 1854 3348 w 10 /LucidaTypewriter f (sam) 1988 3348 w 10 /LucidaSansUnicode00 f (is) 2240 3348 w (fairly) 2356 3348 w (straightforward.) 2635 3348 w (More) 3484 3348 w (interesting) 3764 3348 w (is) 4322 3348 w (how) 4438 3348 w (the) 4674 3348 w (two) 4865 3348 w (halves) 720 3468 w (of) 1070 3468 w (the) 1213 3468 w (editor) 1413 3468 w (stay) 1745 3468 w (synchronized) 1985 3468 w (when) 2677 3468 w (either) 2979 3468 w (half) 3305 3468 w (may) 3533 3468 w (initiate) 3778 3468 w (a) 4156 3468 w (change.) 4255 3468 w (This) 4711 3468 w (is) 4960 3468 w (achieved) 720 3588 w (through) 1179 3588 w (a) 1601 3588 w (data) 1691 3588 w (structure) 1936 3588 w (that) 2409 3588 w (organizes) 2635 3588 w (the) 3144 3588 w (communications) 3334 3588 w (and) 4167 3588 w (is) 4383 3588 w (maintained) 4499 3588 w (in parallel by both halves.) 720 3708 w (The) 970 3864 w (last) 1188 3864 w (part) 1397 3864 w (of) 1631 3864 w (the) 1767 3864 w (paper) 1960 3864 w (chronicles) 2276 3864 w (the) 2807 3864 w (writing) 3000 3864 w (of) 3375 3864 w 10 /LucidaTypewriter f (sam) 3511 3864 w 10 /LucidaSansUnicode00 f (and) 3765 3864 w (discusses) 3983 3864 w (the) 4486 3864 w (lessons) 4679 3864 w (that were learned through its development and use.) 720 3984 w (The) 970 4140 w (paper) 1193 4140 w (is) 1513 4140 w (long,) 1635 4140 w (but) 1923 4140 w (is) 2127 4140 w (composed) 2249 4140 w (largely) 2791 4140 w (of) 3158 4140 w (two) 3299 4140 w (papers) 3517 4140 w (of) 3889 4140 w (reasonable) 4030 4140 w (length:) 4602 4140 w (a) 4985 4140 w (description) 720 4260 w (of) 1306 4260 w (the) 1447 4260 w (user) 1645 4260 w (interface) 1898 4260 w (of) 2365 4260 w 10 /LucidaTypewriter f (sam) 2506 4260 w 10 /LucidaSansUnicode00 f (and) 2765 4260 w (a) 2988 4260 w (discussion) 3086 4260 w (of) 3639 4260 w (its) 3780 4260 w (implementation.) 3939 4260 w (They) 4807 4260 w (are) 720 4380 w (combined) 913 4380 w (because) 1433 4380 w (the) 1869 4380 w (implementation) 2066 4380 w (is) 2870 4380 w (strongly) 2992 4380 w (influenced) 3429 4380 w (by) 3978 4380 w (the) 4135 4380 w (user) 4332 4380 w (interface,) 4584 4380 w (and vice versa.) 720 4500 w 10 /LucidaSans-Demi f (The Interface) 720 4740 w 10 /LucidaTypewriter f (Sam) 720 4896 w 10 /LucidaSansUnicode00 f (is a text editor for multiple files.) 968 4896 w (File names may be provided when it is invoked:) 2608 4896 w 9 /LucidaTypewriter f (sam) 920 5066 w (file1) 1180 5066 w (file2) 1570 5066 w (...) 1960 5066 w 10 /LucidaSansUnicode00 f (and) 720 5246 w (there) 949 5246 w (are) 1250 5246 w (commands) 1451 5246 w (to) 2029 5246 w (add) 2176 5246 w (new) 2406 5246 w (files) 2650 5246 w (and) 2902 5246 w (discard) 3132 5246 w (unneeded) 3535 5246 w (ones.) 4065 5246 w (Files) 4409 5246 w (are) 4678 5246 w (not) 4880 5246 w (read) 720 5366 w (until) 975 5366 w (necessary) 1234 5366 w (to) 1749 5366 w (complete) 1887 5366 w (some) 2373 5366 w (command.) 2674 5366 w (Editing) 3256 5366 w (operations) 3632 5366 w (apply) 4188 5366 w (to) 4489 5366 w (an) 4626 5366 w (inter\255) 4782 5366 w (nal) 720 5486 w (copy) 907 5486 w (made) 1175 5486 w (when) 1483 5486 w (the) 1781 5486 w (file) 1977 5486 w (is) 2169 5486 w (read;) 2290 5486 w (the) 2578 5486 w (UNIX) 2774 5486 w (file) 3050 5486 w (associated) 3243 5486 w (with) 3794 5486 w (the) 4041 5486 w (copy) 4238 5486 w (is) 4507 5486 w (changed) 4629 5486 w (only) 720 5606 w (by) 957 5606 w (an) 1105 5606 w (explicit) 1255 5606 w (command.) 1643 5606 w (To simplify the discussion, the internal copy is here called) 2217 5606 w (a) 720 5726 w 10 /LucidaSans-Italic f (file) 807 5726 w 10 /LucidaSansUnicode00 f (, while the disc-resident original is called a) 956 5726 w 10 /LucidaSans-Italic f (disc file.) 3085 5726 w 10 /LucidaTypewriter f (Sam) 970 5882 w 10 /LucidaSansUnicode00 f (is) 1222 5882 w (usually) 1338 5882 w (connected) 1715 5882 w (to) 2251 5882 w (a) 2386 5882 w (bitmap) 2478 5882 w (display) 2855 5882 w (that) 3234 5882 w (presents) 3462 5882 w (a) 3916 5882 w (cut-and-paste) 4008 5882 w (editor) 4753 5882 w (driven) 720 6002 w (by) 1062 6002 w (the) 1216 6002 w (mouse.) 1410 6002 w (In) 1836 6002 w (this) 1966 6002 w (mode,) 2183 6002 w (the) 2526 6002 w (command) 2719 6002 w (language) 3235 6002 w (is) 3716 6002 w (still) 3834 6002 w (available:) 4047 6002 w (text) 4540 6002 w (typed) 4769 6002 w (in) 720 6122 w (a) 844 6122 w (special) 932 6122 w (window,) 1299 6122 w (called) 1734 6122 w (the) 2051 6122 w 10 /LucidaTypewriter f (sam) 2240 6122 w 10 /LucidaSans-Italic f (window,) 2490 6122 w 10 /LucidaSansUnicode00 f (is) 2921 6122 w (interpreted) 3035 6122 w (as) 3610 6122 w (commands) 3750 6122 w (to) 4313 6122 w (be) 4445 6122 w (executed) 4598 6122 w (in) 720 6242 w (the) 858 6242 w (current) 1060 6242 w (file.) 1457 6242 w (Cut-and-paste) 1718 6242 w (editing) 2490 6242 w (may) 2874 6242 w (be) 3120 6242 w (used) 3285 6242 w (in) 3563 6242 w (any) 3700 6242 w (window) 3915 6242 w 10 /LucidaSansUnicode20 f (\024) 4330 6242 w 10 /LucidaSansUnicode00 f (even) 4476 6242 w (in) 4748 6242 w (the) 4885 6242 w 10 /LucidaTypewriter f (sam) 720 6362 w 10 /LucidaSansUnicode00 f (window) 970 6362 w (to) 1373 6362 w (construct) 1505 6362 w (commands.) 1992 6362 w (The) 2619 6362 w (other) 2835 6362 w (mode) 3127 6362 w (of) 3435 6362 w (operation,) 3568 6362 w (invoked) 4100 6362 w (by) 4516 6362 w (starting) 4666 6362 w 10 /LucidaTypewriter f (sam) 720 6482 w 10 /LucidaSansUnicode00 f (with) 972 6482 w (the) 1213 6482 w (option) 1404 6482 w 10 /LucidaTypewriter f (-d) 1753 6482 w 10 /LucidaSansUnicode00 f (\(for) 1933 6482 w 10 /LucidaSansUnicode20 f (\030) 2141 6482 w 10 /LucidaSansUnicode00 f (no) 2173 6482 w (download) 2332 6482 w 10 /LucidaSansUnicode20 f (\031) 2803 6482 w 10 /LucidaSansUnicode00 f (\),) 2835 6482 w (does) 2936 6482 w (not) 3203 6482 w (use) 3399 6482 w (the) 3604 6482 w (mouse) 3795 6482 w (or) 4154 6482 w (bitmap) 4291 6482 w (display,) 4666 6482 w (but) 720 6602 w (still) 922 6602 w (permits) 1137 6602 w (editing) 1547 6602 w (using) 1925 6602 w (the) 2231 6602 w (textual) 2426 6602 w (command) 2804 6602 w (language,) 3323 6602 w (even) 3839 6602 w (on) 4106 6602 w (an) 4270 6602 w (ordinary) 4428 6602 w (ter\255) 4873 6602 w (minal, interactively or from a script.) 720 6722 w (The) 970 6878 w (following) 1194 6878 w (sections) 1684 6878 w (describe) 2125 6878 w (first) 2578 6878 w (the) 2816 6878 w (command) 3014 6878 w (language) 3536 6878 w (\(under) 4023 6878 w 10 /LucidaTypewriter f (sam -d) 4384 6878 w 10 /LucidaSansUnicode00 f (and) 4860 6878 w (in) 720 6998 w (the) 862 6998 w 10 /LucidaTypewriter f (sam) 1068 6998 w 10 /LucidaSansUnicode00 f (window\),) 1335 6998 w (and) 1820 6998 w (then) 2051 6998 w (the) 2319 6998 w (mouse) 2525 6998 w (interface.) 2898 6998 w (These) 3436 6998 w (two) 3774 6998 w (languages) 3999 6998 w (are) 4543 6998 w (nearly) 4745 6998 w (independent, but connect through the) 720 7118 w 10 /LucidaSans-Italic f (current text,) 2605 7118 w 10 /LucidaSansUnicode00 f (described below.) 3245 7118 w cleartomark showpage saveobj restore %%EndPage: 2 2 %%Page: 3 3 /saveobj save def mark 3 pagesetup 10 /LucidaSansUnicode00 f (\255 3 \255) 2783 480 w 10 /LucidaSans-Demi f (The Command Language) 720 840 w 10 /LucidaSansUnicode00 f (A) 720 996 w (file) 836 996 w (consists) 1034 996 w (of) 1474 996 w (its) 1619 996 w (contents,) 1783 996 w (which) 2279 996 w (are) 2607 996 w (an) 2806 996 w (array) 2970 996 w (of) 3261 996 w (characters) 3407 996 w (\(that) 3955 996 w (is,) 4227 996 w (a) 4387 996 w (string\);) 4490 996 w (the) 4885 996 w 10 /LucidaSans-Italic f (name) 720 1116 w 10 /LucidaSansUnicode00 f (of) 1023 1116 w (the) 1155 1116 w (associated) 1344 1116 w (disc) 1887 1116 w (file;) 2115 1116 w (the) 2332 1116 w 10 /LucidaSans-Italic f (modified) 2521 1116 w (bit) 2975 1116 w 10 /LucidaSansUnicode00 f (that) 3136 1116 w (states) 3360 1116 w (whether) 3680 1116 w (the) 4104 1116 w (contents) 4292 1116 w (match) 4742 1116 w (those) 720 1236 w (of) 1021 1236 w (the) 1153 1236 w (disc) 1342 1236 w (file;) 1571 1236 w (and) 1789 1236 w (a) 2004 1236 w (substring) 2094 1236 w (of) 2587 1236 w (the) 2720 1236 w (contents,) 2910 1236 w (called) 3394 1236 w (the) 3712 1236 w 10 /LucidaSans-Italic f (current) 3902 1236 w (text) 4298 1236 w 10 /LucidaSansUnicode00 f (or) 4516 1236 w 10 /LucidaSans-Italic f (dot) 4653 1236 w 10 /LucidaSansUnicode00 f (\(see) 4844 1236 w (Figures) 720 1356 w (1) 1116 1356 w (and) 1220 1356 w (2\).) 1441 1356 w (If) 1642 1356 w (the) 1749 1356 w (current) 1945 1356 w (text) 2336 1356 w (is) 2568 1356 w (a) 2689 1356 w (null) 2785 1356 w (string,) 3008 1356 w (dot) 3363 1356 w (falls) 3565 1356 w (between) 3807 1356 w (characters.) 4255 1356 w (The) 4859 1356 w 10 /LucidaSans-Italic f (value) 720 1476 w 10 /LucidaSansUnicode00 f (of) 1017 1476 w (dot) 1153 1476 w (is) 1352 1476 w (the) 1471 1476 w (location) 1665 1476 w (of) 2089 1476 w (the) 2226 1476 w (current) 2420 1476 w (text;) 2809 1476 w (the) 3071 1476 w 10 /LucidaSans-Italic f (contents) 3265 1476 w 10 /LucidaSansUnicode00 f (of) 3713 1476 w (dot) 3850 1476 w (are) 4050 1476 w (the) 4241 1476 w (characters) 4435 1476 w (it) 4974 1476 w (contains.) 720 1596 w 10 /LucidaTypewriter f (Sam) 1235 1596 w 10 /LucidaSansUnicode00 f (imparts) 1494 1596 w (to) 1906 1596 w (the) 2047 1596 w (text) 2244 1596 w (no) 2477 1596 w (two-dimensional) 2642 1596 w (interpretation) 3507 1596 w (such) 4215 1596 w (as) 4483 1596 w (columns) 4631 1596 w (or) 720 1716 w (fields;) 856 1716 w (text) 1187 1716 w (is) 1412 1716 w (always) 1526 1716 w (one-dimensional.) 1879 1716 w (Even) 2804 1716 w (the) 3062 1716 w (idea) 3251 1716 w (of) 3488 1716 w (a) 3620 1716 w 10 /LucidaSansUnicode20 f (\030) 3709 1716 w 10 /LucidaSansUnicode00 f (line) 3741 1716 w 10 /LucidaSansUnicode20 f (\031) 3917 1716 w 10 /LucidaSansUnicode00 f (of) 3983 1716 w (text) 4116 1716 w (as) 4342 1716 w (understood) 4483 1716 w (by) 720 1836 w (most) 876 1836 w (UNIX) 1159 1836 w (programs) 1435 1836 w 10 /LucidaSansUnicode20 f (\024) 1943 1836 w 10 /LucidaSansUnicode00 f (a) 2084 1836 w (sequence) 2180 1836 w (of) 2678 1836 w (characters) 2817 1836 w (terminated) 3358 1836 w (by) 3928 1836 w (a) 4084 1836 w (newline) 4180 1836 w (character) 4591 1836 w 10 /LucidaSansUnicode20 f (\024) 720 1956 w 10 /LucidaSansUnicode00 f (is only weakly supported.) 852 1956 w (The) 970 2112 w 10 /LucidaSans-Italic f (current) 1197 2112 w (file) 1604 2112 w 10 /LucidaSansUnicode00 f (is) 1799 2112 w (the) 1925 2112 w (file) 2126 2112 w (to) 2323 2112 w (which) 2467 2112 w (editing) 2794 2112 w (commands) 3179 2112 w (refer.) 3755 2112 w (The) 4097 2112 w (current) 4325 2112 w (text) 4722 2112 w (is) 4960 2112 w (therefore) 720 2232 w (dot) 1208 2232 w (in) 1410 2232 w (the) 1542 2232 w (current) 1738 2232 w (file.) 2129 2232 w (If) 2385 2232 w (a) 2492 2232 w (command) 2588 2232 w (doesn) 3107 2232 w 10 /LucidaSansUnicode20 f (\031) 3400 2232 w 10 /LucidaSansUnicode00 f (t) 3432 2232 w (explicitly) 3509 2232 w (name) 3985 2232 w (a) 4291 2232 w (particular) 4386 2232 w (file) 4889 2232 w (or) 720 2352 w (piece) 855 2352 w (of) 1143 2352 w (text,) 1274 2352 w (the) 1530 2352 w (command) 1718 2352 w (is) 2229 2352 w (assumed) 2342 2352 w (to) 2806 2352 w (apply) 2937 2352 w (to) 3233 2352 w (the) 3365 2352 w (current) 3554 2352 w (text.) 3938 2352 w (For) 4227 2352 w (the) 4417 2352 w (moment,) 4606 2352 w (ignore the presence of multiple files and consider editing a single file.) 720 2472 w cleartomark saveobj restore %ps_include: begin save /ed {exch def} def {} /showpage ed {} /copypage ed {} /erasepage ed {} /letter ed currentdict /findfont known systemdict /findfont known and { /findfont systemdict /findfont get def } if 36 dict dup /PS-include-dict-dw ed begin /context ed count array astore /o-stack ed %ps_include: variables begin /llx 23 def /lly 241 def /urx 587.48 def /ury 550.6 def /w 0 def /o 0 def /s 0 def /cx 2880 def /cy -3972 def /sx 4320 def /sy 2520 def /ax .5 def /ay .5 def /rot 0 def %ps_include: variables end {llx lly urx ury} /bbox ed {newpath 2 index exch 2 index exch dup 6 index exch moveto 3 {lineto} repeat closepath} /boxpath ed {dup mul exch dup mul add sqrt} /len ed {2 copy gt {exch} if pop} /min ed {2 copy lt {exch} if pop} /max ed {transform round exch round exch A itransform} /nice ed {6 array} /n ed n defaultmatrix n currentmatrix n invertmatrix n concatmatrix /A ed urx llx sub 0 A dtransform len /Sx ed 0 ury lly sub A dtransform len /Sy ed llx urx add 2 div lly ury add 2 div A transform /Cy ed /Cx ed rot dup sin abs /S ed cos abs /C ed Sx S mul Sy C mul add /H ed Sx C mul Sy S mul add /W ed sy H div /Scaley ed sx W div /Scalex ed s 0 eq {Scalex Scaley min dup /Scalex ed /Scaley ed} if sx Scalex W mul sub 0 max ax 0.5 sub mul cx add /cx ed sy Scaley H mul sub 0 max ay 0.5 sub mul cy add /cy ed urx llx sub 0 A dtransform exch atan rot exch sub /rot ed n currentmatrix initgraphics setmatrix cx cy translate Scalex Scaley scale rot rotate Cx neg Cy neg translate A concat bbox boxpath clip newpath w 0 ne {gsave bbox boxpath 1 setgray fill grestore} if end gsave %ps_include: inclusion begin %!PS-Adobe-2.0 %%Version: 3.3.2 %%DocumentFonts: (atend) %%Pages: (atend) %%EndComments %%EndProlog %%BeginSetup mark %%Patch from lp %%EndPatch from lp /picstr 98 string def 23 241 translate 564.48 309.60 scale 784 430 1 [784 0 0 -430 0 430] {currentfile picstr readhexstring pop} image 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 02001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfffffffe7fffffffe227ff0feffffffffffffff3ff87ff11ffcffffffff fffffffe7fe7ffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffde01ffffe7fffffffe227fe7f9f833900fffffef3ff3e0711ffcffdffff1 e0fffffe7fe7ffe7f3e0ffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfcfffffe7fffffffe233fe7f3f3b39e7fffffcf9ff3e7311ffcff9fffe9 ce7fffffffe7ffc7e3ce7fffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfcfe3ffe4f879cfff773f80f3e7f3de7f0e73019fc0673bbffc8e03ffe9 ce7ff3907f07ffa7d3ce7fffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfcfe3ffe27339cfff779fe7e7e7f25e7e6673cfcff3e73bbffc479fffd9 ce7ff3de7e67ff67b3fe7fffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfcfe3ffe7279cdfff779fe7e7e7f25e7ce737cfcff3e73bbffce79fffd9 ce7ff25e7ce7ffe7f3fe7fffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02ffdfcfffffe7279c3fffffcfe7e7e7f25e7ce70fcfe7f3e67ffffce79fffb9 ce7ff25e7ce7ffe7f3fcffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fcfffffe7279f7fffffcfe7e7e7f93e7c07dfcfe7f3e0fffffce79fff80 ce7ff25e7ce7ffe7f3f9ffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fcfffffe7279e1fffffe7e7e7e7f93e7cff87cff3f3e7fffffce79fff80 ce7ff93e7ce7ffe7f3f3ffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fcfe3ffe7279d9fffffe7e7e7e7f93e7cff67cff3f3e7fffffce79ffff9 ce7ff93e7ce7ffe7f3e7ffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fcfe3ffe67339cffffff3e7e7f3b93e7e6673cff9f3e7fffffce79ffff9 ce7ff93e7e47ffe7f3c07fffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fcfe3ffe0f879cffffff381f3f8393e7f0e73e1f9c0e7fffffce7c3ffe0 e0fff9300f27ff81c0c07fffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889ffffffffffffffffffff9fff3fffffffffffffffcffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221ffffffffffffffffffff9fff9fffffffffffffffcffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889ffffffffffffffffffffffffeffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffe7fffffffe227ff0feffffffffffffff3ff87ff11ffcffffffff fffffffe7fe7fffffffffffcfffcffffffffffffffffffefffffffffffffffff fffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffff ff81 02221e07ffffe7fffffffe227fe7f9f833903fffffff3ff3e0711ffcffdffff1 e0fffffe7fe7ff83c1fffffcff7cfffffffffffffeffff9c03ffffffffffff3e 0fffff00ffffffffff3fffffffffffffffffffffffffffffffffffffffffffff ff81 02889e73ffffe7fffffffe233fe7f3f3b3939fffffff9ff3e7311ffcff9fffe9 ce7fffffffe7ff399cfffffffe7cfffffffffffffcffff3f9ffffffffffffe3c e7ffffe7ffffffffff9fffffffffffffffffffffffffffffffffffffffffffff ff81 02221e73e3ffe4f879cfff773f80f3e7f3d39e0f07279fc0673bbffc8e03ffe9 ce7ff3907f07ff399cffe720f80c8fffff9cfff0701fff3f9fffe1ffe73cfd3c ffffffe7fff87ff9cf9fffffffffffffffffffffffffffffffffffffffffffff ff81 02889e73e3ffe27339cfff779fe7e7e7f2539ce67313cff3e73bbffc479fffd9 ce7ff3de7e67ff399cffe7bcfe7c47ffff9effe73cfffe7f9fffccffe73cfb3c ffffffe7fff33ff9cfcfffffffffffffffffffffffffffffffffffffffffffff ff81 02221e77e3ffe7279cdfff779fe7e7e7f253bfe67f39cff3e73bbffce79fffd9 ce7ff25e7ce7ff399cffe4bcfe7ce7ffff92ffff3cfffe7f9fff9cfff37cff3c ffffffe7ffe73ff9efcfffffffffffffffffffffffffffffffffffffffffffff ff81 02889e0fffffe7279c3fffffcfe7e7e7f2507fe63f39e7f3e67ffffce79fffb9 ce7ff25e7ce7ff819cffe4bcfe7ce7ffff92ffff3cfffe7f9fff9cfff0e01f3c 0fffffe7ffe73ffccfcfffffffffffffffffffffffffffffffffffffffffffff ff81 02221e67ffffe7279f7fffffcfe7e7e7f9333e070739e7f3e0fffffce79fff80 ce7ff25e7ce7fff99cffe4bcfe7ce7ffff92fff03cfffe7f9fff80fffde01f3c e7ffffe7ffe03ffcdfcfffffffffffffffffffffffffffffffffffffffffffff ff81 02889e67ffffe7279e1fffffe7e7e7e7f9333ce7e339f3f3e7fffffce79fff80 ce7ff93e7ce7fff99cfff27cfe7ce7ffffc9ffe73cfffe7f9fff9ffff87cff3c e7ffffe7ffe7fffcdfcfffffffffffffffffffffffffffffffffffffffffffff ff81 02221e73e3ffe7279d9fffffe7e7e7e7f9339ce7f339f3f3e7fffffce79ffff9 ce7ff93e7ce7fff99cfff27cfe7ce7ffc7c9ffe73cfffe7f9fc79ff1f67cff3c e78fffe7f1e7fc7e3fcfffffffffffffffffffffffffffffffffffffffffffff ff81 02889e73e3ffe67339cffffff3e7e7f3b9339cc67333f9f3e7fffffce79ffff9 ce7ff93e7e47ff399cfff27cfe7ce7ffc7c9ffe63cfffe7f9fc7ccf1e73cff3c e78fffe7f1f33c7e3fcfffffffffffffffffffffffffffffffffffffffffffff ff81 02221e71e3ffe0f879cffffff381f3f839338e270707f9c0e7fffffce7c3ffe0 e0fff9300f27ff83c1fff2601f0ce7ffc7c9fff13e1fff3f9fc7e1f1e73ffc0e 0f8fffe7f1f87c7f3f9fffffffffffffffffffffffffffffffffffffffffffff ff81 02889ffffffffffffffffffff9fff3ffffffffffff3ffcffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffff3fffffffffffffffff ffcfffffffffffff7f9fffffffffffffffffffffffffffffffffffffffffffff ff81 02221ffffffffffffffffffff9fff9ffffffffffff3ffcffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffff9fffffffffffffffff ffcffffffffffffe7f3fffffffffffffffffffffffffffffffffffffffffffff ff81 02889ffffffffffffffffffffffffeffffffffffff3fffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffff ff9ffffffffffffc7effffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889e0fe7ffffffff0fffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fcfe7fffffffe7fffffffff807fffffffbfffff03ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fcffffffffffe7ffffffffff3ffffffff3fffff39ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fcf07c8f87ff80c670e5bfff3fffc3ffc070fff39ffe73fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fcfe7c4733ffe7e066601fff3fff99fff3e67ff39ffe7bfffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fcfe7ce673ffe7e64f249fff3fff39fff3cf3ff3bffe4bfffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fcfe7ce673ffe7e7cf249fff3fff39fff3cf3ff07ffe4bfffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fcfe7ce603ffe7e7cf249fff3fff01fff3cf3ff33ffe4bfffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fcfe7ce67fffe7e7cf249fff3fff3ffff3cf3ff33fff27fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02221fcfe7ce67fffe7e7cf249fff3f8f3ffff3cf3ff39f1f27fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff81 02889fcfe7ce733ffe7e7e6649fff3f8f99fff3e67ff39f1f27fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffff ff81 02221e0100ce787ff81c1f0e49fff3f8fc3fff870fff38f1f27fffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffff80000000800000ffffffffffffffffffffffffffffffffffffffffffff ff81 02221c00000000001fffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff3f80000001800000ffffffffffffffffffffffffffffffffffffffffffff ff81 02889c00000000001fff87ffffffffffffffffffffcfffcfffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff0f80078c67f00000ffffffffffffffffffffffffffffffffffffffffffff ff81 02221c00000000001fff3fffffffffc0ffffffffffcfffcffdfffc1f8fffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff1f800ccc61800000ffffffffffffffffffffffffffffffffffffffffffff ff81 02889c00000000001fff3fffffffffce7fffffffffffffcff9fff9cf4fffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff3f8018cc61800000ffffffffffffffffffffffffffffffffffffffffffff ff81 02221c7c73398f0c7ffc0633872dffce7ffe1ffe320fe0c8e03ff9cf4fffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7d80180c61800000ffffffffffffffffffffffffffffffffffffffffffff ff81 02889cc63f1f998c3fff3f033300ffce7ffccfff03cfccc479ffffcecfffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffff980180c61800000ffffffffffffffffffffffffffffffffffffffffffff ff81 02221c063319b0cdbfff3f327924ffcefff9cfff33cf9cce79ffffcecfffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffef080180c61800000ffffffffffffffffffffffffffffffffffffffffffff ff81 02889c06301830cdbfff3f3e7924ffc1fff9cfff3fcf9cce79ffff9dcfffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffce080180c61800000ffffffffffffffffffffffffffffffffffffffffffff ff81 02221c7e301830cdbfff3f3e7924ffccfff80fff3fcf9cce79ffff3c07ffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff8c0000ccee1800000ffffffffffffffffffffffffffffffffffffffffffff ff81 02889cc6301830c6dfff3f3e7924ffccfff9ffff3fcf9cce79fffe7c07ffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fff08000078760f00000ffffffffffffffffffffffffffffffffffffffffffff ff81 02221cc6301830c6dfff3f3e7924ffce7c79ffff3fcf9cce79fffcffcfffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe00000000000000000ffffffffffffffffffffffffffffffffffffffffffff ff81 02889cce30181986dfff3f3f3324ffce7c7ccfff3fcfc8ce79fff80fcfffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffc10000000000000000ffffffffffffffffffffffffffffffffffffffffffff ff81 02221c767c3e0f06dffc0e0f8724ffce3c7e1ffe0e01e4ce7c3ff80f07ffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ff837ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ff81 02889c00000000001ffffffffffffffffffffffffffffcffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffc77ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ff81 02221c00000000001fffffffffffffffffffffffffff9cffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffef7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ff81 02889c00000000001fffffffffffffffffffffffffffc1ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fffffffff7ffffeffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffe7ffffeffffffffffffffffffffffffffffffffffffffffffff ff81 02889f3ffffffffcffffff9fffffc47ffffffcffffffffc47ffffe7ffe7fffff fffffffffffffffffcfffffe1ff83fffffffffffffffffffffffffffffffffff ffff7fc9f078380f0ffeffffffffffffffffffffffffffffffffffffffffffff ff81 02221f3ffffffffcffffff9fffffc47dfffffcfffffff7c47ffffe7fbe7fffff ffffffff7ffffffffcfffffcffff3ffffff7ffffffffffffffffffffffffffff ffff7fc4e7339e7e67feffffffffffffffffffffffffffffffffffffffffffff ff81 02889f3fffffffffffffffffffffc479fffffcffffffe7c47fffffff3e7fffff fffffffe7ffffffffcfffffcffff3fffffe7ffffffffffffffffffffffffffff ffff7fce7f33fe7ce7feffffffffffffffffffffffffffffffffffffffffffff ff81 02221f27c3ce7fe0f91ce41f83ffeee0387ffc8f0f8380eefff3907c0647ffff ce7ff8380fff8723e0fff0f01fff3f078380fff07198ce1e73ffffffffffffff ffff7fce7f31fe7ce7feffffffffffffffffffffffffffffffffffffffffffff ff81 02889f1399ce7ffcf88ce79f39ffeef9f33ffc466739e7eefff3de7f3e23ffff cf7ff39e7fff3311ccffe67cffff3e7339e7ffe7381c0cce7bffffffffffffff ffff7fce70383e7c07feffffffffffffffffffffffffffffffffffffffffffff ff81 02221f393ce6fffcf9ccf79f3fffeef9e79ffce4f33fe7eefff25e7f3e73ffff c97fff9e7ffe73399cffcf3cffff3ff33fe7ffff399cc9e64bffffffffffffff ffff7fce673f1e7cfffeffffffffffffffffffffffffffffffffffffffffffff ff81 02889f393ce1fffcf9ce679f1ffffff9e79ffce4f31fe7fffff25e7f3e73ffff c97fff9e7ffe73399cffcf3cffff3ff31fe7ffff39fcf9e64bffffffffffffff ffff7fce673f9e7cfffeffffffffffffffffffffffffffffffffffffffffffff ff81 02221f393cfbfffcf9ce6f9f83fffff9e79ffce4f383e7fffff25e7f3e73ffff c97ff81e7ffe03399cffcf3cffff3f0383e7fff039fcf9e64bffffffffffffff ffff7fcce6339e7e67feffffffffffffffffffffffffffffffffffffffffffff ff81 02889f393cf0fffcf9ce6f9ff1fffff9e79ffce4f3f1e7fffff93e7f3e73ffff e4fff39e7ffe7f399cffcf3cffff3e73f1e7ffe739fcf9e727ffffffffffffff ffff7fc1f1383f0f0ffeffffffffffffffffffffffffffffffffffffffffffff ff81 02221f393cecfffcf9cf1f9ff9fffff9e79ffce4f3f9e7fffff93e7f3e73ffe3 e4fff39e7ffe7f399cffcf3cffff3e73f9e7ffe739fcf9e727ffffffffffffff ffff7fcffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ff81 02889f3399ce7ffcf9cf1f9f39fffff9f33ffce66739e7fffff93e7f3e73ffe3 e4fff31e7fff3339c8ffe67cffff3e6339e7ffe639fcfccf27ffffffffffffff ffff7fcffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ff81 02221f07c3ce7fe019cf1c0383fffffc387ffce70f83f0fffff9300f8673ffe3 e4fff89f0fff8739e4fff0f03ff8071383f0fff130783e1f27ffffffffffffff ffff7fcffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fffffffffff87feffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fffffffffff3ffeffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fffffffffff3ffeffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fe0e47838cc07feffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fce62339c0f3ffeffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fcfe73f9ccf3ffeffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fc7e73f9cff3ffeffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fe0e7381cff3ffeffffffffffffffffffffffffffffffffffffffffffff ff81 02221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffc67339cff3ffeffffffffffffffffffffffffffffffffffffffffffff ff81 02889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffe67339cff3ffeffffffffffffffffffffffffffffffffffffffffffff ff81 02001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fce67331cff3ffeffffffffffffffffffffffffffffffffffffffffffff ff81 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00007fe0e738983c0ffe00000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00007ffffffffffffffe00000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00007ffffffffffffffe00000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00007ffffffffffffffe00000000000000000000000000000000000000000000 0001 0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffc1fffffcffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fff9fffffcffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffffffffe1e7ffffffffff3ffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fff9fffffcffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffcfe7fff03fffff3ffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fff9f87c3ce7ffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffffffffcffffff03ffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fff9f3399cefffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffff0107f077fff9383f87fffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fff9e793ccdfffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffffffffcfe7e677fff89f3f33fffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fff9e793ccbfffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffcfe7ce71fff9cf3e73fffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fff9e793cc3fffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fff80fffffcfe7ce7c7ff9cf3e7ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fff9e793cc9fffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fff80fffffcfe7ce7f3ff9cf3e7ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fff9e793cccfffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffffffffcfe7ce7f3ff9cf3e7ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fff9f3399ce7ffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffff1fffcfe7ce7f3c79cf3e7ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffc0387c3ce7ffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffff1fffcfe7e4673c799f3f33fffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffff1fff0300f2707c78380787fffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffe7ffff9fffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffffffce7ffff9fffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffffffffffffe0fffff9fffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffefffffffefffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffcfffffffe7ffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ff9cb7399cf3ffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ff3ffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ff3c03399cf9ffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ff3c1c6633879cfffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fe7c9339cdfcffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fe79ce0703339efffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fc7c9339c3fc7feffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fe7fce67327992fffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fe7c9339f7fcffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fcffce7f3e7992fffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ff3c9339e1f9ffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fcfc0e7f3e7992fffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ff9c9339d9f3ffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f9f9ce7f3e79c9fffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffcc93119ce7ffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f9f9ce7f3e79c9fffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffec93899cefffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f3f98e7f3f33c9fffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f3fc4c1e0f87c9fffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7ffffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fe7fffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fe7fffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fcffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7fcf07198ce1e73effffffffffffffffffffffffffffffffffffffffffff ffe1 0e221dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7f9e7381c0cce7beffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7f9ff399cc9e64beffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7f3ff39fcf9e64beffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7f3f039fcf9e64beffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7e7e739fcf9e727effffffffffffffffffffffffffffffffffffffffffff ffe1 0e889dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7e7e739fcf9e727effffffffffffffffffffffffffffffffffffffffffff ffe1 0e221dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7cfe639fcfccf27effffffffffffffffffffffffffffffffffffffffffff ffe1 0e889dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff7cff130783e1f27effffffffffffffffffffffffffffffffffffffffffff ffe1 0e221dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff79fffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff79fffffffffffffeffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221dffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 00000000000000000000000000000000000000000000077fef81fffff3ffffff fceec00c0303e633f060300060060fc77ffe7feffff8f07fffff3ff3fff3f9f0 7fffff3fdf3fffffffffffffffdfff80e07ff01c1f8ffffffffffffffe000000 0001 0ffffffffffffffffffffffffffffffffffffffffffff77fef9ffffff3ffffff fcee600c060626330000300030060c677ffe7fcffff4e73ffffffff3ffe3f1e7 3fffffff9f3fffffffffffffff9fff80e07ff019cf4ffffffffffffffeffffff ffe1 0ffffffffffffffffffffffffffffffffffffffffffff77fef9ff1fff27c3ce7 fc44603f860c061303e0301e301fcc622ffe4701fff4e73ff9c83f83ffd3e9e7 3ff9c83e0323ffffe4739ffe0e03fffeefffffd9cf4ffffffffffffffeffffff ffe1 0e001ffffffffffffffffffffffffffffffffffffffff77fef9ff1fff1399ce7 fc44300c0c0c06d30060303318060c622ffe23cfffece73ff9ef3f33ffb3d9ff 3ff9ef3f9f11ffffe233dffce79ffffcefffff99cecffffffffffffffeffffff ffe1 0e889ffffffffffffffffffffffffffffcffffe7fffff77fef9ff1fff393ce6f fc44300c0c0c06d30060306318060c622ffe73cfffece73ff92f3e73fff3f9ff 3ff92f3f9f39ffffe7325fffe79ffff9e3ffff39cecffffffffffffffeffffff ffe1 0e221fffffffffffffffbffffffffffffcffffe7fffff77fef83fffff393ce1f fc00180c0c0c06d3e06030630c060cc00ffe73cfffdce73ff92f3e73fff3f9fe 7ff92f3f9f39ffffe7325fffe79ffff3f8fffe79cdcffffffffffffffeffffff ffe1 0e889fffffffffffffff3fffffffffffffffffe7fffff77fef9ffffff393cfbf fc00180c0c0c03630060307f0c060f800ffe73cfffc0673ff92f3e73fff3f9fc fff92f3f9f39ffffe7325ffe079fffe7fe7ffcf9cc07fffffffffffffeffffff ffe1 0e221f19e1f0673c3c1c0707ffc1ffe720f91f070f39f77fef9ffffff393cf0f fc000c0c0c0c03630060306006060c000ffe73cfffc0673ffc9f3e73fff3f9f9 fffc9f3f9f39ffffe7393ffce79fffe7fe7ffcf9cc07fffffffffffffeffffff ffe1 0e889f81cce6673999cf3e73ff9cffe7bcf88e66673df77fef9ff1fff393cecf fc000c0c0c0c03630060306006060c000ffe73cffffce73ffc9f3e73fff3f9f3 fffc9f3f9f39fff1e7393ffce79fffcffe78f9f9cfcffffffffffffffeffffff ffe1 0e221f999cce673399ff3e7ffffcffe4bcf9cce4f325f77fef9ff1fff3399ce7 fc00060c0c0623630060303303060c000ffe73cffffce73ffc9f3f23fff3f9e0 3ffc9f3f9f39fff1e7393ffcc79fffcfce78f9f9cfcffffffffffffffeffffff ffe1 0e889f9f9cce673398ff3e3ffffcffe4bcf9cce4f325f77fef9ff1fff07c3ce7 fc00063f0603e36303fdfe1e031f8c000ffe73e1fff0707ffc980793ffc0e060 3ffc9807c339fff1e7393ffe27c3ffcfe0f8f9fc1f07fffffffffffffeffffff ffe1 0e221f9f80ce67301c1f3f07ffc0ffe4bcf9cce4f325f77fefffffffffffffff fc0003000600000000000000018000000fffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffcfffffffffffffffffffffeffffff ffe1 0e889f9f9fce6733ff8f3fe3ff9cfff27cf9cce4f393f77fefffffffffffffff fc0003000300000000000000018000000fffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffcfffffffffffffffffffffeffffff ffe1 0e221f9f9fce6733ffcf3ff3ff9cfff27cf9cce4f393f77fefffffffffffffff fc0000000080000000000000000000000fffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffff9fffffffffffffffffffffeffffff ffe1 0e889f9fcce4623999cf3e73ff98fff27cf9ce466793f77fefffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221f07e1f2713c3c1f8707ffc4fff26019cf270f93f77fefffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889ffffffe7ffffffffffffffffffffffffffffffff77fefffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221ffffffe7ffffffffffffffffffffffffffffffff77fefffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889ffffffe7ffffffffffffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221ffffffffffffffffffffffffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889ffffffffffffffffffffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fffe0ce7ffffffffffffffffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fffcece7ffffffffffffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fff9fcf7ff23e1ce7fffffffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fff9fc97ff11cccf7fffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fff9fc97ff399cc97fffffffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fff9fc97ff399cc97fffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fff9fe4fff3980c97fffffffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fff9fe4fff399fe4ffffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fc79fe4fff399fe4fffc7fffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fc7cee4fff39cce4fffc7fffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fc7e0e4fff39e1e4fffc7fffffffffffffffffff7222f07f3ffffffff87 fffffffffffffffffffffffffffff3ffff87c3ffffffffffff0f87ffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fffffffffffffffffffe7fffffffffffffffffff7088fe7f3ffffffff3f ffffffffe0f83fffffffefffffe733ffff3f9fffffffe07ffe7f3fffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fffffffffffffffffffe7fffffffffffffffffff7222fe7ffffffffff3f ffffffffe6739fffffffcfffffe733ffff3f9fffffffe73ffe7f3fffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fffffffffffffffffffcffffffffffffffffffff7088fe783e47c3ffc06 33872dffe7339ffc8fff01c3ffe23279cc0603c38cffe733980c078719ffe0ff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221ffffffffffffffffffffffffffffffffffffffff7222fe7f3e2399fff3f 033300ffe73f9ffc47ffcf99ffe23139cf3f9f99c0ffe7339e7f3f3381ffce7f fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889ffffffffffffffffffffffffffffffffffffffff7088fe7f3e7339fff3f 327924ffe73f9ffce7ffcf3cffe93399cf3f9f39ccffe7739e7f3e7399ffcfff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fffe0ce7ffffffffffffffffffffffffffffffff7222fe7f3e7339fff3f 3e7924ffe73f3ffce7ffcf3cffe93399cf3f9f39cfffe0f39e7f3e739fffc7ff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fffcece7ffffffffffffffffffffffffffffffff7088fe7f3e7301fff3f 3e7924ffe73e7ffce7ffcf3cffe93399cf3f9f01cfffe7739e7f3e039fffe0ff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fff9fcf7ff01e1c670f39fffffffffffffffffff7222fe7f3e733ffff3f 3e7924ffe73cfffce7ffcf3cffe93399cf3f9f3fcfffe7339e7f3e7f9ffffc7f fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fff9fc97fff9cce066739fffffffffffffffffff7088fe7f3e733ffff3f 3e7924ffe739fe3ce7ffcf3cffef3399cf3f9f3fcff1e7339e7f3e7f9fe3fe7f fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fff9fc97fff39ce64f39bfffffffffffffffffff7222fe7f3e7399fff3f 3f3324ffe6701e3ce7ffcf99ffef33388f3f9f99cff1e7311e7f3f339fe3ce7f fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fff9fc97ffe79ce7cf387fffffffffffffffffff7088f0080673c3ffc0e 0f8724ffe0f01e3ce7ffe1c3ffef307c4c0e07c383f1e078981c0f8707e3e0ff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fff9fe4fffcf80e7cf3effffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fff9fe4fff9f9fe7cf3c3fffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fc79fe4fff3f9fe7cf3b3fffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889fc7cee4fff3fcce7e6739fffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221fc7e0e4fff01e1c1f0f39fffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889ffffffffffffffffffffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221ffffffffffffffffffffffffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889ffffffffffffffffffffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221ffffffffffffffffffffffffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889ffffffffffffffffffffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221ffffffffffffffffffffffffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889ffffffffffffffffffffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221f878cfffffffffffffffffffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889f33c0fffffffffffffffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221e79ccfffffffffffffffffffffffffffffffffff7222fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889e79cffffffffffffffffffffffffffffffffffff7088fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221e79cffffffffffffffffffffffffffffffffffff7000fffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889e79cffffffffffffffffffffffffffffffffffff7ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e221e79cffffffffffffffffffffffffffffffffffff7ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffff ffe1 0e889f33cffffffffffffffffffffffffffffffffffff0000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000ffffff ffe1 0e221f8783ffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffffffffe7fffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffe0ce7ffffffffe7fffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffcece7ffffffffe7fffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fff9fcf7ff19e1e0e478393f0ffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fff9fc97ff81ccce6233989e67fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfff9fc97ff999ccfe73f99cce7fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0effdfff9fc97ff9f9cc7e73f99cce7fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fff9fe4fff9f80e0e73819cc07fffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fff9fe4fff9f9ffc673399ccfffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fc79fe4fff9f9ffe673399ccffffc7fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fc7cee4fff9fccce6733199e67ffc7fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fc7e0e4fff07e1e0e738983f0fffc7fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffff9ffffffe7fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffff9ffffffe7fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffff9ffffffcffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fcffffffff3fffffffffffffffff3ffffffffffffffffffffffffffffff fffffe1fffffffffffcfffffffffffffff07fffffffffffffffffffffffffffc fffffffffff9fff9ffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fcff7fffff3fffffffffffffffdf3ffffffffffffffffffffffffffffff fffffcfffffffffff7cfffffffffffffffe7fffffffffffffffff7fffffffffc fffffffffff9fef9ffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffe7fffff3fffffffffffffff9f3ffffffffffffffffffffffffffffff fffffcffffffffffe7cfffffffffffffffe7ffffffffffffffffe7fffffffffc fffffffffffffcf9ffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221e0f80fff8723c1c8f83c3c1ffe0323e1ffcb7879ce0f87ffe1ce63383c3 c67ff018ce1cb7ff80c8f87ff9ce0e7383e7fff07198ce1e73ff80e1fff83ffc 9f0f39ffce41f0191fffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fcfe7fff33119cc4733999cfff9f11ccffc03339cce733ffccce7033999 e07ffcfc0ccc03ffe7c4733ff9cce67339e7ffe7381c0cce7bffe7ccfff39ffc 4e6739ffcf79fcf88fffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fcfe7ffe7339fcce673399ffff9f399cffc92799ccfe73ff9cce7333f3c e67ffcfcc9e493ffe7ce673ff9ccfe73f9e7ffff399cc9e64bffe79e7fff9ffc e4f39bffc979fcf9cfffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fcfe7ffe7f39fcce673398ffff9f399cffc92799cc7e73ff9fce73f1f3c e7fffcfcf9e493ffe7ce673ff9cc7e73f9e7ffff39fcf9e64bffe79e7fff9ffc e4f387ffc979fcf9cfffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fcfe7ffe7f39c0ce67301c1fff9f3980ffc92799ce0e03ff9fce73f833c e7fffcfcf9e493ffe7ce603ff9ce0e7381e7fff039fcf9e64bffe79e7ff81ffc e4f3efffc979fcf9cfffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fcfe7ffe7f399cce6733ff8fff9f399fffc92799cfc67fff9fce73ff13c e7fffcfcf9e493ffe7ce67fff9cfc67339e7ffe739fcf9e727ffe79e7ff39ffc e4f3c3ffe4f9fcf9cfffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fcfe7ffe7f399cce6733ffcfff9f399fffc92799cfe67fff9fce73ff93c e7fffcfcf9e493ffe7ce67fff9cfe67339e7ffe739fcf9e727ffe79e7ff39ffc e4f3b3ffe4f9fcf9cfffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fcfe7fff333998ce723999cfff9f39ccffc933388ce733ffccc473f3999 e7fffcfcfccc93ffe7ce733ff88ce62331e7ffe639fcfccf27ffe7ccfff31ffc ce6739ffe4f9fcf9cfffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221e01f0fff8739c4ce793c3c1fffc339e1ffc9387c4e0f87ffe1e260f83c3 c1fff0383e1c93fff0ce787ffc4e0f138900fff130783e1f27fff0e1fff89ffc 1f0f39ffe4c03e19cfffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffffffffff3ffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffffffffffffffe73ffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffff07ffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffff0783fffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffffffffffe7f3fffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffffe7f3fffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f83ffe0cb783e7f3fff838cc670f39fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f39ffce40339e7f3fff39c0e06673dfffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ff9ffcfc93f9e7f3ffff9cce64f325fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ff9ffc7c93f9e7f3ffff9cfe7cf325fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f81ffe0c9381e7f3fff81cfe7cf325fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f39fffc49339e7f3fff39cfe7cf393fffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f39fffe49339e7f3fff39cfe7cf393e3fffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f31ffce49331e7f3fff31cfe7e6793e3fffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f89ffe0c938900807ff8983c1f0f93e3fffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 000000000000001fffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffff3fe7fffffffffffffffffffffff3fffffffffffffffffffff fffffff9ffffffffffffff3fffffffffcffffe79ffffffffffffffffffc00003 006000000000001ffffffffffffffffff07fffff3fffffffffffffffffffffff ffe1 0e221f03fffffdf3fe7ffffffff7fffdffffffffdf3fffffffffffffffffffff fffffff9ffffffffffffff3fff7fffffcffffe79ffffffbfffffffffffc00003 006010000000001ffffffffff7fffffffe7fffff3fffffffffffffffffffffff ffe1 0e889fcffffff9f3ffffffffffe7fff9ffffffff9f3fffffffffffffffffffff fffffff9ffffffffffffff3ffe7ffffffffffe7fffffff3fffffffffffc00003 000030000000001fffffffffe7fffffffe7fffff3fffffffffffffffffffffff ffe1 0e221fcf91ffe032307e0fff8380e0e03c3ffffe0323e1ffcb7879ce0f87ff2d e0e73ff93f0fff39c1f0f83ff80e1ffe0f91f041fc3c1c0787ffc1c8ffc7c733 63e0fe731f1ccc7ffc6787c380e0e47c1e7f0fff279cffffffffffffffffffff ffe1 0e889fcf88fff9f11e7ce7ff39e7ce79f99fffff9f11ccffc03339cce733ff00 ce673ff89e67ff399ce6733ffe7ccfffcf88e679f999cf3f33ff9cc47fcc63f3 b060303f318fcc7ffe073399e7ce62399e7e67ff139cffffffffffffffffffff ffe1 0e221fcf9cfff9f39e7cffff3fe7fe79f39fffff9f399cffc92799ccfe73ff24 fe67bff9cce7ff399fce673ffe79e7ffcf9cce79f39fcf3e73fffcce7fc06333 18603033018ccc3ffe667339e7fe67339e7ce7ff399effffffffffffffffffff ffe1 0e889fcf9cfff9f39e7c7fff1fe7fe79f39fffff9f399cffc92799cc7e73ff24 fe733ff9cce7ff398fce673ffe79e7ffcf9cce79f3ffcf3e73fffcce7fc06303 18603030018c067ffe7e733fe7fe67339e7ce7ff39ccffffffffffffffffffff ffe1 0e221fcf9cfff9f39e7e0fff83e7e079f01fffff9f3980ffc92799ce0e03ff24 e0737ff9cc07ff39c1c0673ffe79e7ffcf9cce79f3fc0f3e03ffc0ce7fc7e303 186030301f8c065ffe7e033fe7e067339e7c07ff39cdffffffffffffffffffff ffe1 0e889fcf9cfff9f39e7fc7fff1e7ce79f3ffffff9f399fffc92799cfc67fff24 ce737ff9ccffff39f8cfe73ffe79e7ffcf9cce79f3f9cf3e7fff9cce7fcc6303 18603030318c065ffe7e7f3fe7ce67339e7cffff39cdffffffffffffffffffff ffe1 0e221fcf9cfff9f39e7fe7fff9e7ce79f3fe3fff9f399fffc92799cfe67fff24 ce78fff9ccffff39fccfe73ffe79e7ffcf9cce79f3f9cf3e7fff9cce7fcc6303 18603030318c039ffe7e7f3fe7ce67339e7cffff39e3ffffffffffffffffffff ffe1 0e889fcf9cfff9f39e7ce7ff39e7cc79f99e3fff9f39ccffc933388ce733ff24 cc78fff99e67ff119ce6723ffe7ccfffcf9ce479f9998f3f33ff98ce7fcce303 30603030338c039ffe7f3399e7cc67391e7e67ff33e3ffffffffffffffffffff ffe1 0e221f039cfffc33900e0fff83f0e27c3c3e3fffc339e1ffc9387c4e0f87ff24 e27cfff83f0fff89c1f0f93fff0e1ffe019cf2403c3c4f8787ffc4ce7fc767c3 e3fc1e7c1d9f019ffc1f87c3f0e2673c900f0fff07f3ffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffff3fffffffffffffffffffffffffff fffdffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 000000000000011fffffffffffffffff9ffffffffff7ffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffff3fffffffffffffffffffffffffff fff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 000000000000031ffffffffffffffff39fffffffffe7ffffffffffffffffffff ffe1 0e889ffffffffffffffffffffffffffffffe7fffffffffffffffffffffffffff fff1ffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000 000000000000071ffffffffffffffff83fffffffffc7ffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffffe7fffffff9fffffffffffffffffffffffffffffffffffff fffffffffffffffffffe7ffffff83ffffffff3ffffffff3ffffffffffffff9ff fffffffffffffffe7fffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffffffffffe7fffffff9ffffdfeffffffff83fffffdffffffffffffff fffffffffffffffffffe7fffffff3ffffffff3ffffffff3fdffffffbfffef9ff fffffffffffffffe7fbfffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffff9ffff9fcffffffff39fffff9ffffffffffffff fffffffffffffffffffe7fffffff3fffffffffffffffffff9ffffff3fffcf9ff ffffffffffffffffff3fffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f278cf0f078307c8f83ff93ce60301c3c8fff39ffe0e03ffc3c8f87ffe1 e1e3323e1c67ff8391f07ff19e1f3f8783c183e47c1ff83e03ffc1c07ff0191f 0fff8793c9f0f8307c0787ffe1e1e3323e1c67ffffffffffffffffffffffffff ffe1 0e889f13c0e667339e7c4733ff89ce79fcf99c47fff9ffce79fff99c4733ffcc ccf0311cce07ff3988e67ff81ccf3f33399cf3e2399fff3f9fff9cf3fffcf88e 67ff3389c4e6739e7f3f33ffccccf0311cce07ffffffffffffffffffffffffff ffe1 0e221f39ccce67f3fe7ce673ff9cce79fcf3cce7fff9fffe79fff3cce673ff9c 9e733399ce67fff99cce7ff999cf3e73f99ff3e7339fff3f9ffffcf3fffcf9cc e7fe799cce4f33fe7f3e73ff9c9e733399ce67ffffffffffffffffffffffffff ffe1 0e889f39cfce63f1fe7ce673ff9cce79fcf3cce7ffc7fffe79fff3cce673ff9f 9e73f399ce7ffff99cce7ff9f9cf3e73f98ff3e7339fff3f9ffffcf3fffcf9cc e7fe799cce4f31fe7f3e73ff9f9e73f399ce7fffffffffffffffffffffffffff ffe1 0e221f39cfc070783e7ce673ff9cce79fcf3cce7fff9ffe079fff3cce603ff9f 9e73f3980e7fff819cce7ff9f80f3e0381c1f3e7339fff3f9fffc0f3fffcf9cc 07fe799cce4f383e7f3e03ff9f9e73f3980e7fffffffffffffffffffffffffff ffe1 0e889f39cfcffe3f1e7ce673ff9cce79fcf3cce7fff9ffce79fff3cce67fff9f 9e73f399fe7fff399cce7ff9f9ff3e7f39f8f3e7339fff3f9fff9cf3fffcf9cc fffe799cce4f3f1e7f3e7fff9f9e73f399fe7fffffffffffffffffffffffffff ffe1 0e221f39cfcfff3f9e7ce673ff9cce79fcf3cce7fff9ffce79fff3cce67fff9f 9e73f399fe7fff399cce7ff9f9ff3e7f39fcf3e7339fff3f9fff9cf3fffcf9cc fffe799cce4f3f9e7f3e7fff9f9e73f399fe7f8fffffffffffffffffffffffff ffe1 0e889f33cfe667339e7ce723ff99c479fcf99ce7ff39ffcc79fff99ce733ffcc ccf3f39cce7fff319ce47ff9fccf3f33319cf3e7391fff3f9fff98f3fffcf9ce 67ff3399cce6739e7f3f33ffccccf3f39cce7f8fffffffffffffffffffffffff ffe1 0e221f0783f0f078300ce793ff83e27c3e1c3ce7ff83ffe27c3ffc3ce787ffe1 e1e0f39e1c1fff899cf27ff07e18078789c180673c9ff807c3ffc4f87ffe19cf 0fff8783c1f0f8300f8787ffe1e1e0f39e1c1f8fffffffffffffffffffffffff ffe1 0e889f3ffffffffffffffff3ffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffff9fffffffffffffffffffff ffffff9fcfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f3ffffffffffffffe73ffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffff39fffffffffffffffffffff ffffff9fcfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f3fffffffffffffff07ffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffff83fffffffffffffffffffff ffffff9fcfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffffffffffffffffff9fffffffc1fffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f39fffffffffffffffffffffff9ffffffbf9fffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f39ffffffffffffffffffffffffffffff3f9fffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f11c3c6787ffe1e1e4739e1c8c1fc391c079f39ffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f1199e0733ffcccce2339ccc479f9988f3f9f39ffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f493ce6673ff9c9e6733d9cce79f399cf3f9f3dffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f493ce7e73ff9f9e673999cce79f399cf3f9f99ffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f493ce7e03ff9f9e6739b80ce79f019cf3f9f9bffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f493ce7e7fff9f9e6739b9fce79f3f9cf3f9f9bffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f793ce7e7fff9f9e673c79fce79f3f9cf3f9fc7e3ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f7999e7f33ffcccce73c7ccce79f999cf3f9fc7e3ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f79c3c1f87ffe1e1e73c7e1ce403c39cf8403e7e3ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffeff3ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffcff3ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffff8fe7ffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f3fffffffffffffffffffffffffffffff3fffff07fffff3fffffffe0fe7 ffe7ffffcfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f3ffffbfdffffffff07ffffffffffffff3fffffe7fffff3ffffffffcfe7 ffe7ffffcfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f3ffff3f9fffffffe73ffffffffffffffffffffe7fffff3ffffffffcfff ffe7ffffcfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f279cc06038791ffe73ff2de0e73ffc183cb727e7ce7ff27e1fff87cf07 f0e73c3e0fffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f139cf3f9f3388ffff3ff00ce673ff9cf3c0313e7ce7ff13ccfff33cfe7 e667799ccfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f399cf3f9e799cffff3ff24fe67bff9ff3c9339e7cf7ff399cffe73cfe7 ce66f399cfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f399cf3f9e799cfff8fff24fe733ff8ff3c9339e7e67ff399cffe7fcfe7 cfe5f399cfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f399cf3f9e799cffff3ff24e0737ffc1f3c9339e7e6fff3980ffe7fcfe7 cfe1f019cfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f399cf3f9e799cffff3ff24ce737fff8f3c9339e7e6fff399fffe7fcfe7 cfe4f3f9cfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f399cf3f9e799cffff3ff24ce78ffffcf3c9339e7f1fff399fffe7fcfe7 cfe673f9cf1fffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f3388f3f9f339cffe73ff24cc78fff9cf3c9333e7f1fff33ccfff33cfe7 e667399c8f1fffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f07c4f87c3879cfff07ff24e27cfffc1804930700f9fff07e1fff860100 f0e73c3e4f1fffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffffffffffffffffffdffffffffff3ffffbffffffffffffffff ffffffffff9fffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffffffffffffffffffffffff9ffffffffff3ffff3ffffffffffffffff ffffffffff9fffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffffffffffffffffff1ffffffffff3fffe3ffffffffffffffff ffffffffff3fffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fff9fffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fff9fffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fff9fffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f3991f0e33c39cc9f0f23ffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f3d88e6703999cc4e6711ffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f259cce733399cce4f339ffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f259cce73f399cce4f339ffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f259cc073f019cce4f339ffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f939ccff3f3f9cce4f339ffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f939ccff3f3f9cce4f339ffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889f939ce673f9988cce6739ffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221f939cf0e0fc3c4c1f0f39ffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffffffcffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221ffffffffffffffcffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889ffffffffffffffcffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e221fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e889fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0e001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffe1 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0001 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffff showpage %%BoundingBox: 23 241 587.48 550.60 %ps_include: inclusion end grestore PS-include-dict-dw begin o 0 ne {gsave A defaultmatrix /A ed llx lly nice urx ury nice initgraphics 0.1 setlinewidth boxpath stroke grestore} if clear o-stack aload pop context end restore %ps_include: end /saveobj save def mark 8 /LucidaSans-Italic f (Figure) 720 5332 w (1.) 994 5332 w (A) 1099 5332 w (typical) 1183 5332 w 8 /LucidaTypewriter f (sam) 1470 5332 w 8 /LucidaSans-Italic f (screen,) 1673 5332 w (with) 1979 5332 w (the) 2173 5332 w (editing) 2324 5332 w (menu) 2619 5332 w (presented.) 2864 5332 w (The) 3326 5332 w 8 /LucidaTypewriter f (sam) 3497 5332 w 8 /LucidaSans-Italic f (\(command) 3700 5332 w (language\)) 4137 5332 w (window) 4553 5332 w (is) 4875 5332 w (in) 4967 5332 w (the) 720 5432 w (middle,) 869 5432 w (with) 1182 5432 w (file) 1374 5432 w (windows) 1519 5432 w (above) 1877 5432 w (and) 2133 5432 w (below.) 2308 5432 w (\(The) 2609 5432 w (user) 2804 5432 w (interface) 3000 5432 w (makes) 3371 5432 w (it) 3647 5432 w (easy) 3726 5432 w (to) 3926 5432 w (create) 4028 5432 w (these) 4295 5432 w (abutting) 4524 5432 w (win\255) 4880 5432 w (dows.\)) 720 5532 w (The) 1026 5532 w (partially) 1200 5532 w (obscured) 1560 5532 w (window) 1945 5532 w (is) 2269 5532 w (a) 2363 5532 w (third) 2444 5532 w (file) 2666 5532 w (window.) 2816 5532 w (The) 3192 5532 w (uppermost) 3366 5532 w (window) 3816 5532 w (is) 4141 5532 w (that) 4236 5532 w (to) 4428 5532 w (which) 4537 5532 w (typing) 4795 5532 w (and) 720 5632 w (mouse) 895 5632 w (operations) 1173 5632 w (apply,) 1612 5632 w (as) 1879 5632 w (indicated) 1994 5632 w (by) 2376 5632 w (its) 2496 5632 w (heavy) 2615 5632 w (border.) 2869 5632 w (Each) 3209 5632 w (window) 3418 5632 w (has) 3736 5632 w (its) 3900 5632 w (current) 4018 5632 w (text) 4332 5632 w (highlighted) 4503 5632 w (in) 4967 5632 w (reverse) 720 5732 w (video.) 1033 5732 w (The) 1317 5732 w 8 /LucidaTypewriter f (sam) 1488 5732 w 8 /LucidaSans-Italic f (window's) 1691 5732 w (current) 2078 5732 w (text) 2396 5732 w (is) 2571 5732 w (the) 2663 5732 w (null) 2815 5732 w (string) 2991 5732 w (on) 3250 5732 w (the) 3376 5732 w (last) 3528 5732 w (visible) 3699 5732 w (line,) 3971 5732 w (indicated) 4165 5732 w (by) 4550 5732 w (a) 4673 5732 w (vertical) 4752 5732 w (bar.) 720 5832 w (See) 934 5832 w (also) 1088 5832 w (Figure) 1271 5832 w (2.) 1542 5832 w 10 /LucidaSansUnicode00 f (Commands) 970 6108 w (have) 1574 6108 w (one-letter) 1857 6108 w (names.) 2408 6108 w (Except) 2847 6108 w (for) 3227 6108 w (non-editing) 3424 6108 w (commands) 4063 6108 w (such) 4650 6108 w (as) 4934 6108 w (writing) 720 6228 w (the) 1094 6228 w (file) 1286 6228 w (to) 1474 6228 w (disc,) 1609 6228 w (most) 1872 6228 w (commands) 2151 6228 w (make) 2717 6228 w (some) 3016 6228 w (change) 3314 6228 w (to) 3699 6228 w (the) 3834 6228 w (text) 4025 6228 w (in) 4252 6228 w (dot) 4379 6228 w (and) 4576 6228 w (leave) 4792 6228 w (dot) 720 6348 w (set) 929 6348 w (to) 1121 6348 w (the) 1267 6348 w (text) 1470 6348 w (resulting) 1709 6348 w (from) 2186 6348 w (the) 2466 6348 w (change.) 2669 6348 w (For) 3129 6348 w (example,) 3333 6348 w (the) 3827 6348 w (delete) 4031 6348 w (command,) 4377 6348 w 10 /LucidaTypewriter f (d) 4936 6348 w 10 /LucidaSansUnicode00 f (,) 5008 6348 w (deletes) 720 6468 w (the) 1106 6468 w (text) 1299 6468 w (in) 1528 6468 w (dot,) 1657 6468 w (replacing) 1888 6468 w (it) 2374 6468 w (by) 2478 6468 w (the) 2631 6468 w (null) 2824 6468 w (string) 3044 6468 w (and) 3364 6468 w (setting) 3582 6468 w (dot) 3954 6468 w (to) 4153 6468 w (the) 4289 6468 w (result.) 4482 6468 w (The) 4859 6468 w (change) 720 6588 w (command,) 1106 6588 w 10 /LucidaTypewriter f (c) 1654 6588 w 10 /LucidaSansUnicode00 f (,) 1726 6588 w (replaces) 1796 6588 w (dot) 2236 6588 w (by) 2435 6588 w (text) 2588 6588 w (delimited) 2817 6588 w (by) 3310 6588 w (an) 3463 6588 w (arbitrary) 3619 6588 w (punctuation) 4072 6588 w (charac\255) 4692 6588 w (ter, conventionally a slash.) 720 6708 w (Thus,) 2079 6708 w 9 /LucidaTypewriter f (c/Peter/) 920 6878 w 10 /LucidaSansUnicode00 f (replaces the text in dot by the string) 720 7058 w 10 /LucidaTypewriter f (Peter) 2528 7058 w 10 /LucidaSansUnicode00 f (.) 2888 7058 w (Similarly,) 2984 7058 w cleartomark showpage saveobj restore %%EndPage: 3 3 %%Page: 4 4 /saveobj save def mark 4 pagesetup 10 /LucidaSansUnicode00 f (\255 4 \255) 2783 480 w 9 /LucidaTypewriter f (a/Peter/) 920 830 w 10 /LucidaSansUnicode00 f (\(append\) adds the string after dot, and) 720 1010 w 9 /LucidaTypewriter f (i/Peter/) 920 1180 w 10 /LucidaSansUnicode00 f (\(insert\) inserts before dot.) 720 1360 w (All three leave dot set to the new text,) 2056 1360 w 10 /LucidaTypewriter f (Peter) 3947 1360 w 10 /LucidaSansUnicode00 f (.) 4307 1360 w (Newlines) 970 1516 w (are) 1437 1516 w (part) 1622 1516 w (of) 1851 1516 w (the) 1982 1516 w (syntax) 2170 1516 w (of) 2522 1516 w (commands:) 2654 1516 w (the) 3249 1516 w (newline) 3438 1516 w (character) 3843 1516 w (lexically) 4326 1516 w (termi\255) 4751 1516 w (nates) 720 1636 w (a) 1025 1636 w (command.) 1124 1636 w (Within) 1710 1636 w (the) 2059 1636 w (inserted) 2258 1636 w (text,) 2697 1636 w (however,) 2964 1636 w (newlines) 3445 1636 w (are) 3911 1636 w (never) 4106 1636 w (implicit.) 4416 1636 w (But) 4883 1636 w (since) 720 1756 w (it) 1006 1756 w (is) 1109 1756 w (often) 1226 1756 w (convenient) 1516 1756 w (to) 2081 1756 w (insert) 2216 1756 w (multiple) 2529 1756 w (lines) 2964 1756 w (of) 3228 1756 w (text,) 3363 1756 w 10 /LucidaTypewriter f (sam) 3623 1756 w 10 /LucidaSansUnicode00 f (has) 3876 1756 w (a) 4081 1756 w (special) 4173 1756 w (syntax) 4545 1756 w (for) 4901 1756 w (that case:) 720 1876 w 9 /LucidaTypewriter f (a) 920 2046 w (some) 920 2156 w (lines) 1245 2156 w (of) 1635 2156 w (text) 1830 2156 w (to) 920 2266 w (be) 1115 2266 w (inserted) 1310 2266 w (in) 1895 2266 w (the) 2090 2266 w (file,) 2350 2266 w (terminated) 920 2376 w (by) 1635 2376 w (a) 1830 2376 w (period) 1960 2376 w (on) 920 2486 w (a) 1115 2486 w (line) 1245 2486 w (by) 1570 2486 w (itself) 1765 2486 w (.) 920 2596 w 10 /LucidaSansUnicode00 f (In the one-line syntax, a newline character may be specified by a C-like escape, so) 720 2776 w 9 /LucidaTypewriter f (c/\\n/) 920 2946 w 10 /LucidaSansUnicode00 f (replaces dot by a single newline character.) 720 3126 w 10 /LucidaTypewriter f (Sam) 970 3282 w 10 /LucidaSansUnicode00 f (also has a substitute command,) 1218 3282 w 10 /LucidaTypewriter f (s) 2792 3282 w 10 /LucidaSansUnicode00 f (:) 2864 3282 w 9 /LucidaTypewriter f (s/) 920 3452 w 9 /LucidaSans-Italic f (expression) 1050 3452 w 9 /LucidaTypewriter f (/) 1514 3452 w 9 /LucidaSans-Italic f (replacement) 1579 3452 w 9 /LucidaTypewriter f (/) 2121 3452 w 10 /LucidaSansUnicode00 f (substitutes) 720 3632 w (the) 1300 3632 w (replacement) 1499 3632 w (text) 2142 3632 w (for) 2377 3632 w (the) 2560 3632 w (first) 2759 3632 w (match,) 2998 3632 w (in) 3372 3632 w (dot,) 3507 3632 w (of) 3744 3632 w (the) 3886 3632 w (regular) 4086 3632 w (expression.) 4477 3632 w (Thus, if dot is the string) 720 3752 w 10 /LucidaTypewriter f (Peter) 1926 3752 w 10 /LucidaSansUnicode00 f (, the command) 2286 3752 w 9 /LucidaTypewriter f (s/t/st/) 920 3922 w 10 /LucidaSansUnicode00 f (changes it to) 720 4102 w 10 /LucidaTypewriter f (Pester) 1380 4102 w 10 /LucidaSansUnicode00 f (.) 1812 4102 w (In) 1909 4102 w (general,) 2033 4102 w 10 /LucidaTypewriter f (s) 2459 4102 w 10 /LucidaSansUnicode00 f (is) 2564 4102 w (unnecessary,) 2677 4102 w (but) 3341 4102 w (it) 3536 4102 w (was) 3635 4102 w (inherited) 3851 4102 w (from) 4319 4102 w 10 /LucidaTypewriter f (ed) 4584 4102 w 10 /LucidaSansUnicode00 f (and) 4761 4102 w (it) 4974 4102 w (has) 720 4222 w (some) 942 4222 w (convenient) 1256 4222 w (variations.) 1837 4222 w (For) 2426 4222 w (instance,) 2635 4222 w (the) 3123 4222 w (replacement) 3331 4222 w (text) 3983 4222 w (may) 4227 4222 w (include) 4480 4222 w (the) 4885 4222 w (matched text, specified by) 720 4342 w 10 /LucidaTypewriter f (&) 2038 4342 w 10 /LucidaSansUnicode00 f (:) 2110 4342 w 9 /LucidaTypewriter f (s/Peter/Oh,) 920 4512 w (&,) 1700 4512 w (&,) 1895 4512 w (&,) 2090 4512 w (&!/) 2285 4512 w 10 /LucidaSansUnicode00 f (There are also three commands that apply programs to text:) 970 4728 w 9 /LucidaTypewriter f (<) 920 4898 w 9 /LucidaSans-Italic f (UNIX) 1050 4898 w (program) 1290 4898 w 10 /LucidaSansUnicode00 f (replaces dot by the output of the UNIX program.) 720 5078 w (Similarly, the) 3131 5078 w 10 /LucidaTypewriter f (>) 3793 5078 w 10 /LucidaSansUnicode00 f (command runs the pro\255) 3897 5078 w (gram with dot as its standard input, and) 720 5198 w 10 /LucidaTypewriter f (|) 2708 5198 w 10 /LucidaSansUnicode00 f (does both.) 2812 5198 w (For example,) 3394 5198 w 9 /LucidaTypewriter f (|) 920 5368 w (sort) 1050 5368 w 10 /LucidaSansUnicode00 f (replaces) 720 5548 w (dot) 1160 5548 w (by) 1359 5548 w (the) 1512 5548 w (result) 1705 5548 w (of) 2019 5548 w (applying) 2155 5548 w (the) 2608 5548 w (standard) 2802 5548 w (sorting) 3268 5548 w (utility) 3650 5548 w (to) 3964 5548 w (it.) 4101 5548 w (Again,) 4270 5548 w (newlines) 4618 5548 w (have) 720 5668 w (no) 983 5668 w (special) 1144 5668 w (significance) 1515 5668 w (for) 2126 5668 w (these) 2302 5668 w 10 /LucidaTypewriter f (sam) 2601 5668 w 10 /LucidaSansUnicode00 f (commands.) 2854 5668 w (The) 3484 5668 w (text) 3702 5668 w (acted) 3930 5668 w (upon) 4229 5668 w (and) 4514 5668 w (result\255) 4731 5668 w (ing) 720 5788 w (from) 908 5788 w (these) 1175 5788 w (commands) 1472 5788 w (is) 2036 5788 w (not) 2151 5788 w (necessarily) 2347 5788 w (bounded) 2916 5788 w (by) 3382 5788 w (newlines,) 3533 5788 w (although) 4023 5788 w (for) 4489 5788 w (connec\255) 4664 5788 w (tion with UNIX programs, newlines may be necessary to obey conventions.) 720 5908 w (One) 970 6064 w (more) 1200 6064 w (command:) 1485 6064 w 10 /LucidaTypewriter f (p) 2029 6064 w 10 /LucidaSansUnicode00 f (prints) 2135 6064 w (the) 2452 6064 w (contents) 2641 6064 w (of) 3092 6064 w (dot.) 3224 6064 w (Table) 3483 6064 w (I) 3783 6064 w (summarizes) 3846 6064 w 10 /LucidaTypewriter f (sam) 4468 6064 w 10 /LucidaSansUnicode20 f (\031) 4684 6064 w 10 /LucidaSansUnicode00 f (s) 4716 6064 w (com\255) 4802 6064 w (mands.) 720 6184 w (The) 970 6340 w (value) 1188 6340 w (of) 1479 6340 w (dot) 1614 6340 w (may) 1812 6340 w (be) 2049 6340 w (changed) 2205 6340 w (by) 2653 6340 w (specifying) 2805 6340 w (an) 3334 6340 w 10 /LucidaSans-Italic f (address) 3489 6340 w 10 /LucidaSansUnicode00 f (for) 3909 6340 w (the) 4086 6340 w (command.) 4279 6340 w (The) 4859 6340 w (simplest address is a line number:) 720 6460 w 9 /LucidaTypewriter f (3) 920 6630 w 10 /LucidaSansUnicode00 f (refers to the third line of the file, so) 720 6810 w 9 /LucidaTypewriter f (3d) 920 6980 w 10 /LucidaSansUnicode00 f (deletes) 720 7160 w (the) 1109 7160 w (third) 1305 7160 w (line) 1578 7160 w (of) 1795 7160 w (the) 1934 7160 w (file,) 2130 7160 w (and) 2354 7160 w (implicitly) 2575 7160 w (renumbers) 3058 7160 w (the) 3625 7160 w (lines) 3822 7160 w (so) 4091 7160 w (the) 4245 7160 w (old) 4442 7160 w (line) 4637 7160 w (4) 4855 7160 w (is) 4960 7160 w (now) 720 7280 w (numbered) 964 7280 w (3.) 1504 7280 w (\(This) 1675 7280 w (is) 1957 7280 w (one) 2081 7280 w (of) 2304 7280 w (the) 2446 7280 w (few) 2645 7280 w (places) 2859 7280 w (where) 3208 7280 w 10 /LucidaTypewriter f (sam) 3543 7280 w 10 /LucidaSansUnicode00 f (deals) 3802 7280 w (with) 4099 7280 w (lines) 4347 7280 w (directly.\)) 4617 7280 w cleartomark showpage saveobj restore %%EndPage: 4 4 %%Page: 5 5 /saveobj save def mark 5 pagesetup 10 /LucidaSansUnicode00 f (\255 5 \255) 2783 480 w (Table I.) 2323 900 w 10 /LucidaTypewriter f (Sam) 2714 900 w 10 /LucidaSansUnicode00 f (commands) 2962 900 w 10 /S f (_) 720 968 w (_______________________________________________________________________________________) 744 968 w 10 /LucidaSansUnicode00 f (Text commands) 720 1136 w 10 /S f (_) 720 1204 w (_______________________________________________________________________________________) 744 1204 w 10 /LucidaTypewriter f (a/) 720 1372 w 10 /LucidaSans-Italic f (text) 864 1372 w 10 /LucidaTypewriter f (/) 1047 1372 w 10 /LucidaSansUnicode00 f (Append text after dot) 1993 1372 w 10 /LucidaTypewriter f (c/) 720 1492 w 10 /LucidaSans-Italic f (text) 864 1492 w 10 /LucidaTypewriter f (/) 1047 1492 w 10 /LucidaSansUnicode00 f (Change text in dot) 1993 1492 w 10 /LucidaTypewriter f (i/) 720 1612 w 10 /LucidaSans-Italic f (text) 864 1612 w 10 /LucidaTypewriter f (/) 1047 1612 w 10 /LucidaSansUnicode00 f (Insert text before dot) 1993 1612 w 10 /LucidaTypewriter f (d) 720 1732 w 10 /LucidaSansUnicode00 f (Delete text in dot) 1993 1732 w 10 /LucidaTypewriter f (s/) 720 1852 w 10 /LucidaSans-Italic f (regexp) 864 1852 w 10 /LucidaTypewriter f (/) 1194 1852 w 10 /LucidaSans-Italic f (text) 1266 1852 w 10 /LucidaTypewriter f (/) 1449 1852 w 10 /LucidaSansUnicode00 f (Substitute text for match of regular expression in dot) 1993 1852 w 10 /LucidaTypewriter f (m) 720 1972 w 10 /LucidaSans-Italic f (address) 864 1972 w 10 /LucidaSansUnicode00 f (Move text in dot after address) 1993 1972 w 10 /LucidaTypewriter f (t) 720 2092 w 10 /LucidaSans-Italic f (address) 864 2092 w 10 /LucidaSansUnicode00 f (Copy text in dot after address) 1993 2092 w 10 /S f (_) 720 2160 w (_______________________________________________________________________________________) 744 2160 w 10 /LucidaSansUnicode00 f (Display commands) 720 2328 w 10 /S f (_) 720 2396 w (_______________________________________________________________________________________) 744 2396 w 10 /LucidaTypewriter f (p) 720 2540 w 10 /LucidaSansUnicode00 f (Print contents of dot) 1993 2540 w 10 /LucidaTypewriter f (=) 720 2660 w 10 /LucidaSansUnicode00 f (Print value \(line numbers and character numbers\) of dot) 1993 2660 w 10 /S f (_) 720 2728 w (_______________________________________________________________________________________) 744 2728 w 10 /LucidaSansUnicode00 f (File commands) 720 2896 w 10 /S f (_) 720 2964 w (_______________________________________________________________________________________) 744 2964 w 10 /LucidaTypewriter f (b) 720 3108 w 10 /LucidaSans-Italic f (file-list) 864 3108 w 10 /LucidaSansUnicode00 f (Set current file to first file in list that) 1993 3108 w 10 /LucidaTypewriter f (sam) 3801 3108 w 10 /LucidaSansUnicode00 f (has in menu) 4049 3108 w 10 /LucidaTypewriter f (B) 720 3228 w 10 /LucidaSans-Italic f (file-list) 864 3228 w 10 /LucidaSansUnicode00 f (Same as) 1993 3228 w 10 /LucidaTypewriter f (b) 2421 3228 w 10 /LucidaSansUnicode00 f (, but load new files) 2493 3228 w 10 /LucidaTypewriter f (n) 720 3348 w 10 /LucidaSansUnicode00 f (Print menu lines of all files) 1993 3348 w 10 /LucidaTypewriter f (D) 720 3468 w 10 /LucidaSans-Italic f (file-list) 864 3468 w 10 /LucidaSansUnicode00 f (Delete named files from) 1993 3468 w 10 /LucidaTypewriter f (sam) 3193 3468 w 10 /S f (_) 720 3536 w (_______________________________________________________________________________________) 744 3536 w 10 /LucidaSansUnicode00 f (I/O commands) 720 3704 w 10 /S f (_) 720 3772 w (_______________________________________________________________________________________) 744 3772 w 10 /LucidaTypewriter f (e) 720 3916 w 10 /LucidaSans-Italic f (filename) 864 3916 w 10 /LucidaSansUnicode00 f (Replace file with named disc file) 1993 3916 w 10 /LucidaTypewriter f (r) 720 4036 w 10 /LucidaSans-Italic f (filename) 864 4036 w 10 /LucidaSansUnicode00 f (Replace dot by contents of named disc file) 1993 4036 w 10 /LucidaTypewriter f (w) 720 4156 w 10 /LucidaSans-Italic f (filename) 864 4156 w 10 /LucidaSansUnicode00 f (Write file to named disc file) 1993 4156 w 10 /LucidaTypewriter f (f) 720 4276 w 10 /LucidaSans-Italic f (filename) 864 4276 w 10 /LucidaSansUnicode00 f (Set file name and print new menu line) 1993 4276 w 10 /LucidaTypewriter f (<) 720 4396 w 10 /LucidaSans-Italic f (UNIX-command) 864 4396 w 10 /LucidaSansUnicode00 f (Replace dot by standard output of command) 1993 4396 w 10 /LucidaTypewriter f (>) 720 4516 w 10 /LucidaSans-Italic f (UNIX-command) 864 4516 w 10 /LucidaSansUnicode00 f (Send dot to standard input of command) 1993 4516 w 10 /LucidaTypewriter f (|) 720 4636 w 10 /LucidaSans-Italic f (UNIX-command) 864 4636 w 10 /LucidaSansUnicode00 f (Replace dot by result of command applied to dot) 1993 4636 w 10 /LucidaTypewriter f (!) 720 4756 w 10 /LucidaSans-Italic f (UNIX-command) 864 4756 w 10 /LucidaSansUnicode00 f (Run the command) 1993 4756 w 10 /S f (_) 720 4824 w (_______________________________________________________________________________________) 744 4824 w 10 /LucidaSansUnicode00 f (Loops and conditionals) 720 4992 w 10 /S f (_) 720 5060 w (_______________________________________________________________________________________) 744 5060 w 10 /LucidaTypewriter f (x/) 720 5204 w 10 /LucidaSans-Italic f (regexp) 864 5204 w 10 /LucidaTypewriter f (/) 1194 5204 w 10 /LucidaSans-Italic f (command) 1338 5204 w 10 /LucidaSansUnicode00 f (For each match of regexp, set dot and run command) 1993 5204 w 10 /LucidaTypewriter f (y/) 720 5324 w 10 /LucidaSans-Italic f (regexp) 864 5324 w 10 /LucidaTypewriter f (/) 1194 5324 w 10 /LucidaSans-Italic f (command) 1338 5324 w 10 /LucidaSansUnicode00 f (Between adjacent matches of regexp, set dot and run command) 1993 5324 w 10 /LucidaTypewriter f (X/) 720 5444 w 10 /LucidaSans-Italic f (regexp) 864 5444 w 10 /LucidaTypewriter f (/) 1194 5444 w 10 /LucidaSans-Italic f (command) 1338 5444 w 10 /LucidaSansUnicode00 f (Run command in each file whose menu line matches regexp) 1993 5444 w 10 /LucidaTypewriter f (Y/) 720 5564 w 10 /LucidaSans-Italic f (regexp) 864 5564 w 10 /LucidaTypewriter f (/) 1194 5564 w 10 /LucidaSans-Italic f (command) 1338 5564 w 10 /LucidaSansUnicode00 f (Run command in each file whose menu line does not match) 1993 5564 w 10 /LucidaTypewriter f (g/) 720 5684 w 10 /LucidaSans-Italic f (regexp) 864 5684 w 10 /LucidaTypewriter f (/) 1194 5684 w 10 /LucidaSans-Italic f (command) 1338 5684 w 10 /LucidaSansUnicode00 f (If dot contains a match of regexp, run command) 1993 5684 w 10 /LucidaTypewriter f (v/) 720 5804 w 10 /LucidaSans-Italic f (regexp) 864 5804 w 10 /LucidaTypewriter f (/) 1194 5804 w 10 /LucidaSans-Italic f (command) 1338 5804 w 10 /LucidaSansUnicode00 f (If dot does not contain a match of regexp, run command) 1993 5804 w 10 /S f (_) 720 5872 w (_______________________________________________________________________________________) 744 5872 w 10 /LucidaSansUnicode00 f (Miscellany) 720 6040 w 10 /S f (_) 720 6108 w (_______________________________________________________________________________________) 744 6108 w 10 /LucidaTypewriter f (k) 720 6252 w 10 /LucidaSansUnicode00 f (Set address mark to value of dot) 1993 6252 w 10 /LucidaTypewriter f (q) 720 6372 w 10 /LucidaSansUnicode00 f (Quit) 1993 6372 w 10 /LucidaTypewriter f (u) 720 6492 w 10 /LucidaSans-Italic f (n) 864 6492 w 10 /LucidaSansUnicode00 f (Undo last) 1993 6492 w 10 /LucidaSans-Italic f (n) 2484 6492 w 10 /LucidaSansUnicode00 f (\(default 1\) changes) 2578 6492 w 10 /LucidaTypewriter f ({ }) 720 6612 w 10 /LucidaSansUnicode00 f (Braces group commands) 1993 6612 w 10 /S f (_) 720 6668 w (_______________________________________________________________________________________) 744 6668 w cleartomark showpage saveobj restore %%EndPage: 5 5 %%Page: 6 6 /saveobj save def mark 6 pagesetup 10 /LucidaSansUnicode00 f (\255 6 \255) 2783 480 w (Line) 720 840 w 10 /LucidaTypewriter f (0) 960 840 w 10 /LucidaSansUnicode00 f (is) 1072 840 w (the) 1193 840 w (null) 1389 840 w (string) 1612 840 w (at) 1935 840 w (the) 2068 840 w (beginning) 2264 840 w (of) 2792 840 w (the) 2931 840 w (file.) 3127 840 w (If) 3383 840 w (a) 3490 840 w (command) 3586 840 w (consists) 4105 840 w (of) 4539 840 w (only) 4678 840 w (an) 4923 840 w (address,) 720 960 w (a) 1166 960 w 10 /LucidaTypewriter f (p) 1255 960 w 10 /LucidaSansUnicode00 f (command) 1361 960 w (is) 1873 960 w (assumed,) 1987 960 w (so) 2484 960 w (typing) 2630 960 w (an) 2969 960 w (unadorned) 3120 960 w 10 /LucidaTypewriter f (3) 3679 960 w 10 /LucidaSansUnicode00 f (prints) 3785 960 w (line) 4102 960 w (3) 4311 960 w (on) 4407 960 w (the) 4563 960 w (termi\255) 4751 960 w (nal.) 720 1080 w (There) 973 1080 w (are) 1294 1080 w (a) 1490 1080 w (couple) 1589 1080 w (of) 1955 1080 w (other) 2097 1080 w (basic) 2398 1080 w (addresses:) 2691 1080 w (a) 3254 1080 w (period) 3353 1080 w (addresses) 3710 1080 w (dot) 4241 1080 w (itself;) 4446 1080 w (and) 4761 1080 w (a) 4985 1080 w (dollar sign \() 720 1200 w 10 /LucidaTypewriter f ($) 1299 1200 w 10 /LucidaSansUnicode00 f (\) addresses the null string at the end of the file.) 1371 1200 w (An) 970 1356 w (address) 1138 1356 w (is) 1555 1356 w (always) 1672 1356 w (a) 2028 1356 w (single) 2120 1356 w (substring) 2446 1356 w (of) 2942 1356 w (the) 3078 1356 w (file.) 3271 1356 w (Thus,) 3524 1356 w (the) 3832 1356 w (address) 4025 1356 w 10 /LucidaTypewriter f (3) 4443 1356 w 10 /LucidaSansUnicode00 f (addresses) 4553 1356 w (the) 720 1476 w (characters) 914 1476 w (after) 1453 1476 w (the) 1718 1476 w (second) 1912 1476 w (newline) 2295 1476 w (of) 2705 1476 w (the) 2842 1476 w (file) 3036 1476 w (through) 3226 1476 w (the) 3652 1476 w (third) 3846 1476 w (newline) 4117 1476 w (of) 4527 1476 w (the) 4664 1476 w (file.) 4857 1476 w (A) 720 1596 w 10 /LucidaSans-Italic f (compound address) 821 1596 w 10 /LucidaSansUnicode00 f (is constructed by the comma operator) 1770 1596 w 9 /LucidaSans-Italic f (address1) 920 1766 w 9 /LucidaTypewriter f (,) 1321 1766 w 9 /LucidaSans-Italic f (address2) 1386 1766 w 10 /LucidaSansUnicode00 f (and) 720 1946 w (addresses) 945 1946 w (the) 1477 1946 w (substring) 1677 1946 w (of) 2181 1946 w (the) 2325 1946 w (file) 2526 1946 w (from) 2723 1946 w (the) 3001 1946 w (beginning) 3202 1946 w (of) 3735 1946 w 10 /LucidaSans-Italic f (address1) 3879 1946 w 10 /LucidaSansUnicode00 f (to) 4370 1946 w (the) 4514 1946 w (end) 4715 1946 w (of) 4942 1946 w 10 /LucidaSans-Italic f (address2) 720 2066 w 10 /LucidaSansUnicode00 f (.) 1165 2066 w (For) 1272 2066 w (example,) 1471 2066 w (the) 1959 2066 w (command) 2157 2066 w 10 /LucidaTypewriter f (3,5p) 2677 2066 w 10 /LucidaSansUnicode00 f (prints) 3007 2066 w (the) 3332 2066 w (third) 3529 2066 w (through) 3803 2066 w (fifth) 4232 2066 w (lines) 4476 2066 w (of) 4745 2066 w (the) 4885 2066 w (file and) 720 2186 w 10 /LucidaTypewriter f (.,$d) 1115 2186 w 10 /LucidaSansUnicode00 f (deletes the text from the beginning of dot to the end of the file.) 1435 2186 w (These) 970 2342 w (addresses) 1307 2342 w (are) 1843 2342 w (all) 2044 2342 w (absolute) 2206 2342 w (positions) 2670 2342 w (in) 3164 2342 w (the) 3305 2342 w (file,) 3510 2342 w (but) 3743 2342 w 10 /LucidaTypewriter f (sam) 3955 2342 w 10 /LucidaSansUnicode00 f (also) 4221 2342 w (has) 4467 2342 w (relative) 4685 2342 w (addresses, indicated by) 720 2462 w 10 /LucidaTypewriter f (+) 1895 2462 w 10 /LucidaSansUnicode00 f (or) 1999 2462 w 10 /LucidaTypewriter f (-) 2133 2462 w 10 /LucidaSansUnicode00 f (.) 2205 2462 w (For example,) 2301 2462 w 9 /LucidaTypewriter f ($-3) 920 2632 w 10 /LucidaSansUnicode00 f (is the third line before the end of the file and) 720 2812 w 9 /LucidaTypewriter f (.+1) 920 2982 w 10 /LucidaSansUnicode00 f (is) 720 3162 w (the) 839 3162 w (line) 1033 3162 w (after) 1248 3162 w (dot.) 1513 3162 w (If) 1777 3162 w (no) 1882 3162 w (address) 2044 3162 w (appears) 2463 3162 w (to) 2887 3162 w (the) 3025 3162 w (left) 3220 3162 w (of) 3419 3162 w (the) 3557 3162 w 10 /LucidaTypewriter f (+) 3752 3162 w 10 /LucidaSansUnicode00 f (or) 3864 3162 w 10 /LucidaTypewriter f (-) 4006 3162 w 10 /LucidaSansUnicode00 f (,) 4078 3162 w (dot) 4150 3162 w (is) 4351 3162 w (assumed;) 4471 3162 w (if) 4974 3162 w (nothing) 720 3282 w (appears) 1132 3282 w (to) 1553 3282 w (the) 1688 3282 w (right,) 1880 3282 w 10 /LucidaTypewriter f (1) 2180 3282 w 10 /LucidaSansUnicode00 f (is) 2289 3282 w (assumed.) 2405 3282 w (Therefore,) 2936 3282 w 10 /LucidaTypewriter f (.+1) 3477 3282 w 10 /LucidaSansUnicode00 f (may) 3729 3282 w (be) 3965 3282 w (abbreviated) 4120 3282 w (to) 4726 3282 w (just) 4860 3282 w (a plus sign.) 720 3402 w (The) 970 3558 w 10 /LucidaTypewriter f (+) 1191 3558 w 10 /LucidaSansUnicode00 f (operator) 1304 3558 w (acts) 1760 3558 w (relative) 1995 3558 w (to) 2391 3558 w (the) 2530 3558 w (end) 2726 3558 w (of) 2948 3558 w (its) 3087 3558 w (first) 3245 3558 w (argument,) 3481 3558 w (while) 4022 3558 w (the) 4316 3558 w 10 /LucidaTypewriter f (-) 4512 3558 w 10 /LucidaSansUnicode00 f (operator) 4625 3558 w (acts) 720 3678 w (relative) 947 3678 w (to the beginning.) 1335 3678 w (Thus) 2235 3678 w 10 /LucidaTypewriter f (.+1) 2505 3678 w 10 /LucidaSansUnicode00 f (addresses the first line after dot,) 2753 3678 w 10 /LucidaTypewriter f (.-) 4377 3678 w 10 /LucidaSansUnicode00 f (addresses) 4553 3678 w (the) 720 3798 w (first) 914 3798 w (line) 1148 3798 w (before) 1363 3798 w (dot,) 1717 3798 w (and) 1950 3798 w 10 /LucidaTypewriter f (+-) 2170 3798 w 10 /LucidaSansUnicode00 f (refers) 2354 3798 w (to) 2676 3798 w (the) 2814 3798 w (line) 3009 3798 w (containing) 3225 3798 w (the) 3775 3798 w (end) 3970 3798 w (of) 4191 3798 w (dot.) 4329 3798 w (\(Dot) 4594 3798 w (may) 4840 3798 w (span) 720 3918 w (multiple) 998 3918 w (lines,) 1443 3918 w (and) 1749 3918 w 10 /LucidaTypewriter f (+) 1976 3918 w 10 /LucidaSansUnicode00 f (selects) 2095 3918 w (the) 2473 3918 w (line) 2675 3918 w (after) 2898 3918 w (the) 3171 3918 w (end) 3373 3918 w (of) 3601 3918 w (dot,) 3746 3918 w (then) 3985 3918 w 10 /LucidaTypewriter f (-) 4248 3918 w 10 /LucidaSansUnicode00 f (backs) 4366 3918 w (up) 4690 3918 w (one) 4861 3918 w (line.\)) 720 4038 w (The final type of address is a regular expression, which addresses the text matched) 970 4194 w (by the expression.) 720 4314 w (The expression is enclosed in slashes, as in) 1681 4314 w 9 /LucidaTypewriter f (/) 920 4484 w 9 /LucidaSans-Italic f (expression) 985 4484 w 9 /LucidaTypewriter f (/) 1449 4484 w 10 /LucidaSansUnicode00 f (The) 720 4664 w (expressions) 939 4664 w (are) 1559 4664 w (the) 1749 4664 w (same) 1942 4664 w (as) 2235 4664 w (those) 2379 4664 w (in) 2684 4664 w (the) 2813 4664 w (UNIX) 3006 4664 w (program) 3279 4664 w 10 /LucidaTypewriter f (egrep) 3733 4664 w 10 /LucidaSansUnicode00 f (,) 4093 4664 w 6 /LucidaSansUnicode00 f (6,7) 4125 4614 w 10 /LucidaSansUnicode00 f (and) 4258 4664 w (include) 4476 4664 w (clo\255) 4866 4664 w (sures,) 720 4784 w (alternations,) 1058 4784 w (and) 1710 4784 w (so) 1935 4784 w (on.) 2092 4784 w (They) 2324 4784 w (find) 2602 4784 w (the) 2838 4784 w 10 /LucidaSans-Italic f (leftmost) 3038 4784 w (longest) 3478 4784 w 10 /LucidaSansUnicode00 f (string) 3872 4784 w (that) 4199 4784 w (matches) 4435 4784 w (the) 4885 4784 w (expression,) 720 4904 w (that) 1330 4904 w (is,) 1568 4904 w (the) 1727 4904 w (first) 1929 4904 w (match) 2171 4904 w (after) 2516 4904 w (the) 2789 4904 w (point) 2991 4904 w (where) 3291 4904 w (the) 3631 4904 w (search) 3834 4904 w (is) 4198 4904 w (started,) 4326 4904 w (and) 4746 4904 w (if) 4974 4904 w (more) 720 5024 w (than) 1027 5024 w (one) 1299 5024 w (match) 1534 5024 w (begins) 1888 5024 w (at) 2267 5024 w (the) 2415 5024 w (same) 2625 5024 w (spot,) 2935 5024 w (the) 3234 5024 w (longest) 3444 5024 w (such) 3857 5024 w (match.) 4138 5024 w (\(I) 4555 5024 w (assume) 4672 5024 w (familiarity with the syntax for regular expressions in UNIX programs.) 720 5144 w 6 /LucidaSansUnicode00 f (9) 4064 5094 w 10 /LucidaSansUnicode00 f (\) For example,) 4102 5144 w 9 /LucidaTypewriter f (/x/) 920 5314 w 10 /LucidaSansUnicode00 f (matches the next) 720 5494 w 10 /LucidaTypewriter f (x) 1592 5494 w 10 /LucidaSansUnicode00 f (character in the file,) 1696 5494 w 9 /LucidaTypewriter f (/xx*/) 920 5664 w 10 /LucidaSansUnicode00 f (matches the next run of one or more) 720 5844 w 10 /LucidaTypewriter f (x) 2547 5844 w 10 /LucidaSansUnicode20 f (\031) 2619 5844 w 10 /LucidaSansUnicode00 f (s, and) 2651 5844 w 9 /LucidaTypewriter f (/x|Peter/) 920 6014 w 10 /LucidaSansUnicode00 f (matches) 720 6194 w (the) 1171 6194 w (next) 1373 6194 w 10 /LucidaTypewriter f (x) 1636 6194 w 10 /LucidaSansUnicode00 f (or) 1755 6194 w 10 /LucidaTypewriter f (Peter) 1904 6194 w 10 /LucidaSansUnicode00 f (.) 2264 6194 w (For) 2375 6194 w (compatibility) 2578 6194 w (with) 3253 6194 w (other) 3505 6194 w (UNIX) 3809 6194 w (programs,) 4091 6194 w (the) 4637 6194 w 10 /LucidaSansUnicode20 f (\030) 4839 6194 w 10 /LucidaSansUnicode00 f (any) 4871 6194 w (character) 720 6314 w 10 /LucidaSansUnicode20 f (\031) 1169 6314 w 10 /LucidaSansUnicode00 f (operator, a period, does not match a newline, so) 1233 6314 w 9 /LucidaTypewriter f (/.*/) 920 6484 w 10 /LucidaSansUnicode00 f (matches) 720 6664 w (the) 1166 6664 w (text) 1362 6664 w (from) 1594 6664 w (dot) 1867 6664 w (to) 2069 6664 w (the) 2208 6664 w (end) 2405 6664 w (of) 2628 6664 w (the) 2768 6664 w (line,) 2965 6664 w (but) 3215 6664 w (excludes) 3419 6664 w (the) 3890 6664 w (newline) 4087 6664 w (and) 4500 6664 w (so) 4722 6664 w (will) 4876 6664 w (not match across the line boundary.) 720 6784 w (Regular) 970 6940 w (expressions) 1389 6940 w (are) 2022 6940 w (always) 2225 6940 w (relative) 2595 6940 w (addresses.) 3001 6940 w (The) 3603 6940 w (direction) 3835 6940 w (is) 4315 6940 w (forwards) 4447 6940 w (by) 4925 6940 w (default,) 720 7060 w (so) 1150 7060 w 10 /LucidaTypewriter f (/Peter/) 1321 7060 w 10 /LucidaSansUnicode00 f (is) 1884 7060 w (really) 2023 7060 w (an) 2344 7060 w (abbreviation) 2520 7060 w (for) 3182 7060 w 10 /LucidaTypewriter f (+/Peter/) 3380 7060 w 10 /LucidaSansUnicode00 f (.) 3956 7060 w (The) 4079 7060 w (search) 4319 7060 w (can) 4694 7060 w (be) 4921 7060 w (reversed with a minus sign, so) 720 7180 w cleartomark showpage saveobj restore %%EndPage: 6 6 %%Page: 7 7 /saveobj save def mark 7 pagesetup 10 /LucidaSansUnicode00 f (\255 7 \255) 2783 480 w 9 /LucidaTypewriter f (-/Peter/) 920 830 w 10 /LucidaSansUnicode00 f (finds) 720 1010 w (the) 999 1010 w (first) 1191 1010 w 10 /LucidaTypewriter f (Peter) 1423 1010 w 10 /LucidaSansUnicode00 f (before) 1820 1010 w (dot.) 2171 1010 w (Regular) 2433 1010 w (expressions) 2838 1010 w (may) 3457 1010 w (be) 3695 1010 w (used) 3852 1010 w (with) 4122 1010 w (other) 4365 1010 w (address) 4660 1010 w (forms,) 720 1130 w (so) 1069 1130 w 10 /LucidaTypewriter f (0+/Peter/) 1215 1130 w 10 /LucidaSansUnicode00 f (finds) 1897 1130 w (the) 2173 1130 w (first) 2362 1130 w 10 /LucidaTypewriter f (Peter) 2590 1130 w 10 /LucidaSansUnicode00 f (in) 2983 1130 w (the) 3107 1130 w (file) 3295 1130 w (and) 3479 1130 w 10 /LucidaTypewriter f ($-/Peter/) 3692 1130 w 10 /LucidaSansUnicode00 f (finds) 4373 1130 w (the) 4648 1130 w (last.) 4836 1130 w (Table II summarizes) 720 1250 w 10 /LucidaTypewriter f (sam) 1728 1250 w 10 /LucidaSansUnicode20 f (\031) 1944 1250 w 10 /LucidaSansUnicode00 f (s addresses.) 1976 1250 w (Table II.) 2302 1430 w 10 /LucidaTypewriter f (Sam) 2722 1430 w 10 /LucidaSansUnicode00 f (addresses) 2970 1430 w 10 /S f (_) 886 1498 w (_______________________________________________________________________________) 923 1498 w 10 /LucidaSansUnicode00 f (Simple addresses) 886 1666 w 10 /S f (_) 886 1734 w (_______________________________________________________________________________) 923 1734 w 10 /LucidaTypewriter f (#) 886 1878 w 10 /LucidaSans-Italic f (n) 958 1878 w 10 /LucidaSansUnicode00 f (The empty string after character) 2089 1878 w 10 /LucidaSans-Italic f (n) 3688 1878 w (n) 886 1998 w 10 /LucidaSansUnicode00 f (Line) 2089 1998 w 10 /LucidaSans-Italic f (n) 2321 1998 w 10 /LucidaSansUnicode00 f (.) 2383 1998 w 10 /LucidaTypewriter f (/) 886 2118 w 10 /LucidaSans-Italic f (regexp) 958 2118 w 10 /LucidaTypewriter f (/) 1288 2118 w 10 /LucidaSansUnicode00 f (The first following match of the regular expression) 2089 2118 w 10 /LucidaTypewriter f (-/) 886 2238 w 10 /LucidaSans-Italic f (regexp) 1030 2238 w 10 /LucidaTypewriter f (/) 1360 2238 w 10 /LucidaSansUnicode00 f (The first previous match of the regular expression) 2089 2238 w 10 /LucidaTypewriter f ($) 886 2358 w 10 /LucidaSansUnicode00 f (The null string at the end of the file) 2089 2358 w 10 /LucidaTypewriter f (.) 886 2478 w 10 /LucidaSansUnicode00 f (Dot) 2089 2478 w 10 /LucidaTypewriter f (') 886 2598 w 10 /LucidaSansUnicode00 f (The address mark, set by) 2089 2598 w 10 /LucidaTypewriter f (k) 3348 2598 w 10 /LucidaSansUnicode00 f (command) 3452 2598 w 10 /LucidaTypewriter f (") 886 2718 w 10 /LucidaSans-Italic f (regexp) 958 2718 w 10 /LucidaTypewriter f (") 1288 2718 w 10 /LucidaSansUnicode00 f (Dot in the file whose menu line matches regexp) 2089 2718 w 10 /S f (_) 886 2786 w (_______________________________________________________________________________) 923 2786 w 10 /LucidaSansUnicode00 f (Compound addresses) 886 2954 w 10 /S f (_) 886 3022 w (_______________________________________________________________________________) 923 3022 w 10 /LucidaSans-Italic f (a1) 886 3166 w 10 /LucidaTypewriter f (+) 1010 3166 w 10 /LucidaSans-Italic f (a2) 1082 3166 w 10 /LucidaSansUnicode00 f (The address) 2089 3166 w 10 /LucidaSans-Italic f (a2) 2714 3166 w 10 /LucidaSansUnicode00 f (evaluated starting at right of) 2870 3166 w 10 /LucidaSans-Italic f (a1) 4290 3166 w (a1) 886 3286 w 10 /LucidaTypewriter f (-) 1010 3286 w 10 /LucidaSans-Italic f (a2) 1082 3286 w (a2) 2089 3286 w 10 /LucidaSansUnicode00 f (evaluated in the reverse direction starting at left of) 2245 3286 w 10 /LucidaSans-Italic f (a1) 4749 3286 w (a1) 886 3406 w 10 /LucidaTypewriter f (,) 1010 3406 w 10 /LucidaSans-Italic f (a2) 1082 3406 w 10 /LucidaSansUnicode00 f (From the left of) 2089 3406 w 10 /LucidaSans-Italic f (a1) 2878 3406 w 10 /LucidaSansUnicode00 f (to the right of) 3034 3406 w 10 /LucidaSans-Italic f (a2) 3744 3406 w 10 /LucidaSansUnicode00 f (\(default) 3900 3406 w 10 /LucidaTypewriter f (0,$) 4304 3406 w 10 /LucidaSansUnicode00 f (\)) 4520 3406 w 10 /LucidaSans-Italic f (a1) 886 3526 w 10 /LucidaTypewriter f (;) 1010 3526 w 10 /LucidaSans-Italic f (a2) 1082 3526 w 10 /LucidaSansUnicode00 f (Like) 2089 3526 w 10 /LucidaTypewriter f (,) 2317 3526 w 10 /LucidaSansUnicode00 f (but sets dot after evaluating) 2421 3526 w 10 /LucidaSans-Italic f (a1) 3824 3526 w 10 /S f (_) 886 3594 w (_______________________________________________________________________________) 923 3594 w 10 /LucidaSansUnicode00 f (The) 1439 3762 w (operators) 1654 3762 w 10 /LucidaTypewriter f (+) 2154 3762 w 10 /LucidaSansUnicode00 f (and) 2260 3762 w 10 /LucidaTypewriter f (-) 2474 3762 w 10 /LucidaSansUnicode00 f (are) 2580 3762 w (high) 2766 3762 w (precedence,) 3015 3762 w (while) 3637 3762 w 10 /LucidaTypewriter f (,) 3925 3762 w 10 /LucidaSansUnicode00 f (and) 4032 3762 w 10 /LucidaTypewriter f (;) 4247 3762 w 10 /LucidaSansUnicode00 f (are) 1439 3882 w (low) 1626 3882 w (precedence.) 1828 3882 w (In) 2482 3882 w (both) 2607 3882 w 10 /LucidaTypewriter f (+) 2864 3882 w 10 /LucidaSansUnicode00 f (and) 2970 3882 w 10 /LucidaTypewriter f (-) 3184 3882 w 10 /LucidaSansUnicode00 f (forms,) 3290 3882 w 10 /LucidaSans-Italic f (a2) 3639 3882 w 10 /LucidaSansUnicode00 f (defaults) 3797 3882 w (to) 4221 3882 w (1) 1439 4002 w (and) 1537 4002 w 10 /LucidaSans-Italic f (a1) 1752 4002 w 10 /LucidaSansUnicode00 f (defaults) 1911 4002 w (to) 2336 4002 w (dot.) 2469 4002 w (If) 2729 4002 w (both) 2830 4002 w 10 /LucidaSans-Italic f (a1) 3089 4002 w 10 /LucidaSansUnicode00 f (and) 3249 4002 w 10 /LucidaSans-Italic f (a2) 3465 4002 w 10 /LucidaSansUnicode00 f (are) 3625 4002 w (present,) 3813 4002 w 10 /LucidaTypewriter f (+) 4247 4002 w 10 /LucidaSansUnicode00 f (may be elided.) 1439 4122 w 10 /S f (_) 886 4202 w (_______________________________________________________________________________) 923 4202 w 10 /LucidaSansUnicode00 f (The language discussed so far will not seem novel to people who use UNIX) 970 4538 w (text) 4635 4538 w (edi\255) 4859 4538 w (tors) 720 4658 w (such) 964 4658 w (as) 1244 4658 w 10 /LucidaTypewriter f (ed) 1403 4658 w 10 /LucidaSansUnicode00 f (or) 1600 4658 w 10 /LucidaTypewriter f (vi) 1755 4658 w 10 /LucidaSansUnicode00 f (.) 1899 4658 w 6 /LucidaSansUnicode00 f (9) 1931 4608 w 10 /LucidaSansUnicode00 f (Moreover,) 2022 4658 w (the) 2561 4658 w (kinds) 2769 4658 w (of) 3085 4658 w (editing) 3236 4658 w (operations) 3627 4658 w (these) 4196 4658 w (commands) 4511 4658 w (allow,) 720 4778 w (with) 1036 4778 w (the) 1274 4778 w (exception) 1462 4778 w (of) 1971 4778 w (regular) 2102 4778 w (expressions) 2481 4778 w (and) 3097 4778 w (line) 3311 4778 w (numbers,) 3521 4778 w (are) 4015 4778 w (clearly) 4201 4778 w (more) 4548 4778 w (con\255) 4833 4778 w (veniently) 720 4898 w (handled) 1209 4898 w (by) 1653 4898 w (a) 1822 4898 w (mouse-based) 1930 4898 w (interface.) 2652 4898 w (Indeed,) 3193 4898 w 10 /LucidaTypewriter f (sam) 3607 4898 w 10 /LucidaSansUnicode20 f (\031) 3823 4898 w 10 /LucidaSansUnicode00 f (s) 3855 4898 w (mouse) 3959 4898 w (language) 4335 4898 w (\(dis\255) 4831 4898 w (cussed) 720 5018 w (at) 1098 5018 w (length) 1234 5018 w (below\)) 1586 5018 w (is) 1949 5018 w (the) 2073 5018 w (means) 2272 5018 w (by) 2633 5018 w (which) 2792 5018 w (simple) 3117 5018 w (changes) 3482 5018 w (are) 3926 5018 w (usually) 4123 5018 w (made.) 4508 5018 w (For) 4884 5018 w (large) 720 5138 w (or) 1013 5138 w (repetitive) 1165 5138 w (changes,) 1671 5138 w (however,) 2152 5138 w (a) 2639 5138 w (textual) 2743 5138 w (language) 3129 5138 w (outperforms) 3621 5138 w (a) 4273 5138 w (manual) 4377 5138 w (inter\255) 4782 5138 w (face.) 720 5258 w (Imagine) 970 5414 w (that,) 1411 5414 w (instead) 1689 5414 w (of) 2097 5414 w (deleting) 2250 5414 w (just) 2699 5414 w (one) 2934 5414 w (occurrence) 3168 5414 w (of) 3756 5414 w (the) 3910 5414 w (string) 4121 5414 w 10 /LucidaTypewriter f (Peter) 4459 5414 w 10 /LucidaSansUnicode00 f (,) 4819 5414 w (we) 4907 5414 w (wanted) 720 5534 w (to) 1114 5534 w (eliminate) 1256 5534 w (every) 1746 5534 w 10 /LucidaTypewriter f (Peter) 2047 5534 w 10 /LucidaSansUnicode00 f (.) 2407 5534 w (What) 2515 5534 w 10 /LucidaSansUnicode20 f (\031) 2755 5534 w 10 /LucidaSansUnicode00 f (s) 2787 5534 w (needed) 2882 5534 w (is) 3282 5534 w (an) 3406 5534 w (iterator) 3567 5534 w (that) 3968 5534 w (runs) 4203 5534 w (a) 4463 5534 w (command) 4562 5534 w (for each occurrence of some text.) 720 5654 w 10 /LucidaTypewriter f (Sam) 2421 5654 w 10 /LucidaSansUnicode20 f (\031) 2637 5654 w 10 /LucidaSansUnicode00 f (s iterator is called) 2669 5654 w 10 /LucidaTypewriter f (x) 3568 5654 w 10 /LucidaSansUnicode00 f (, for extract:) 3640 5654 w 9 /LucidaTypewriter f (x/) 920 5824 w 9 /LucidaSans-Italic f (expression) 1050 5824 w 9 /LucidaTypewriter f (/) 1514 5824 w 9 /LucidaSans-Italic f (command) 1644 5824 w 10 /LucidaSansUnicode00 f (finds) 720 6004 w (all) 1002 6004 w (matches) 1155 6004 w (in) 1600 6004 w (dot) 1731 6004 w (of) 1932 6004 w (the) 2070 6004 w (specified) 2265 6004 w (expression,) 2740 6004 w (and) 3343 6004 w (for) 3563 6004 w (each) 3742 6004 w (such) 4006 6004 w (match,) 4272 6004 w (sets) 4643 6004 w (dot) 4879 6004 w (to the text matched and runs the command.) 720 6124 w (So to delete all the) 2930 6124 w 10 /LucidaTypewriter f (Peters:) 3868 6124 w 9 /LucidaTypewriter f (0,$) 920 6294 w (x/Peter/) 1180 6294 w (d) 1765 6294 w 10 /LucidaSansUnicode00 f (\(Blanks) 720 6474 w (in) 1115 6474 w (these) 1255 6474 w (examples) 1566 6474 w (are) 2079 6474 w (to) 2280 6474 w (improve) 2427 6474 w (readability;) 2871 6474 w 10 /LucidaTypewriter f (sam) 3461 6474 w 10 /LucidaSansUnicode00 f (neither) 3726 6474 w (requires) 4119 6474 w (nor) 4568 6474 w (inter\255) 4782 6474 w (prets) 720 6594 w (them.\)) 1013 6594 w (This) 1403 6594 w (searches) 1653 6594 w (the) 2121 6594 w (entire) 2321 6594 w (file) 2647 6594 w (\() 2843 6594 w 10 /LucidaTypewriter f (0,$) 2876 6594 w 10 /LucidaSansUnicode00 f (\)) 3092 6594 w (for) 3170 6594 w (occurrences) 3354 6594 w (of) 3981 6594 w (the) 4123 6594 w (string) 4322 6594 w 10 /LucidaTypewriter f (Peter) 4648 6594 w 10 /LucidaSansUnicode00 f (,) 5008 6594 w (and runs the) 720 6714 w 10 /LucidaTypewriter f (d) 1367 6714 w 10 /LucidaSansUnicode00 f (command with dot set to each such occurrence.) 1471 6714 w (\(By) 3860 6714 w (contrast,) 4036 6714 w (the) 4496 6714 w (compa\255) 4684 6714 w (rable) 720 6834 w 10 /LucidaTypewriter f (ed) 1023 6834 w 10 /LucidaSansUnicode00 f (command) 1226 6834 w (would) 1763 6834 w (delete) 2114 6834 w (all) 2470 6834 w 10 /LucidaSans-Italic f (lines) 2642 6834 w 10 /LucidaSansUnicode00 f (containing) 2923 6834 w 10 /LucidaTypewriter f (Peter) 3492 6834 w 10 /LucidaSansUnicode00 f (;) 3852 6834 w 10 /LucidaTypewriter f (sam) 3943 6834 w 10 /LucidaSansUnicode00 f (deletes) 4217 6834 w (only) 4623 6834 w (the) 4885 6834 w 10 /LucidaTypewriter f (Peters) 720 6954 w 10 /LucidaSansUnicode00 f (.\)) 1152 6954 w (The) 1307 6954 w (address) 1547 6954 w 10 /LucidaTypewriter f (0,$) 1986 6954 w 10 /LucidaSansUnicode00 f (is) 2261 6954 w (commonly) 2400 6954 w (used,) 2961 6954 w (and) 3284 6954 w (may) 3523 6954 w (be) 3782 6954 w (abbreviated) 3960 6954 w (to) 4589 6954 w (just) 4746 6954 w (a) 4985 6954 w (comma.) 720 7074 w (As another example,) 1169 7074 w cleartomark showpage saveobj restore %%EndPage: 7 7 %%Page: 8 8 /saveobj save def mark 8 pagesetup 10 /LucidaSansUnicode00 f (\255 8 \255) 2783 480 w 9 /LucidaTypewriter f (,) 920 830 w (x/Peter/) 1050 830 w (p) 1635 830 w 10 /LucidaSansUnicode00 f (prints) 720 1010 w (a) 1045 1010 w (list) 1142 1010 w (of) 1330 1010 w 10 /LucidaTypewriter f (Peters,) 1470 1010 w 10 /LucidaSansUnicode00 f (one) 2016 1010 w (for) 2237 1010 w (each) 2419 1010 w (appearance) 2686 1010 w (in) 3286 1010 w (the) 3420 1010 w (file,) 3618 1010 w (with) 3844 1010 w (no) 4092 1010 w (intervening) 4258 1010 w (text) 4849 1010 w (\(not even newlines to separate the instances\).) 720 1130 w (Of) 970 1286 w (course,) 1123 1286 w (the) 1515 1286 w (text) 1708 1286 w (extracted) 1937 1286 w (by) 2432 1286 w 10 /LucidaTypewriter f (x) 2585 1286 w 10 /LucidaSansUnicode00 f (may) 2695 1286 w (be) 2933 1286 w (selected) 3090 1286 w (by) 3527 1286 w (a) 3680 1286 w (regular) 3773 1286 w (expression,) 4157 1286 w (which) 4759 1286 w (complicates) 720 1406 w (deciding) 1344 1406 w (what) 1807 1406 w (set) 2086 1406 w (of) 2278 1406 w (matches) 2424 1406 w (is) 2877 1406 w (chosen) 3004 1406 w 10 /LucidaSansUnicode20 f (\024) 3394 1406 w 10 /LucidaSansUnicode00 f (matches) 3541 1406 w (may) 3993 1406 w (overlap.) 4240 1406 w (This) 4708 1406 w (is) 4960 1406 w (resolved) 720 1526 w (by) 1194 1526 w (generating) 1374 1526 w (the) 1961 1526 w (matches) 2181 1526 w (starting) 2651 1526 w (from) 3090 1526 w (the) 3388 1526 w (beginning) 3609 1526 w (of) 4162 1526 w (dot) 4326 1526 w (using) 4553 1526 w (the) 4885 1526 w (leftmost-longest) 720 1646 w (rule,) 1576 1646 w (and) 1835 1646 w (searching) 2054 1646 w (for) 2562 1646 w (each) 2740 1646 w (match) 3003 1646 w (starting) 3340 1646 w (from) 3753 1646 w (the) 4024 1646 w (end) 4218 1646 w (of) 4437 1646 w (the) 4573 1646 w (previ\255) 4766 1646 w (ous) 720 1766 w (one.) 930 1766 w (Regular) 1209 1766 w (expressions) 1613 1766 w (may) 2231 1766 w (also) 2467 1766 w (match) 2699 1766 w (null) 3033 1766 w (strings,) 3251 1766 w (but) 3652 1766 w (a) 3850 1766 w (null) 3942 1766 w (match) 4161 1766 w (adjacent) 4496 1766 w (to) 4942 1766 w (a non-null match is never selected; at least one character must intervene.) 720 1886 w (For example,) 4366 1886 w 9 /LucidaTypewriter f (,) 920 2056 w (c/AAA/) 1050 2056 w (x/B*/) 920 2166 w (c/-/) 1310 2166 w (,) 920 2276 w (p) 1050 2276 w 10 /LucidaSansUnicode00 f (produces as output) 720 2456 w 9 /LucidaTypewriter f (-A-A-A-) 920 2626 w 10 /LucidaSansUnicode00 f (because the pattern) 720 2806 w 10 /LucidaTypewriter f (B*) 1716 2806 w 10 /LucidaSansUnicode00 f (matches the null strings separating the) 1892 2806 w 10 /LucidaTypewriter f (A) 3825 2806 w 10 /LucidaSansUnicode20 f (\031) 3897 2806 w 10 /LucidaSansUnicode00 f (s.) 3929 2806 w (The) 970 2962 w 10 /LucidaTypewriter f (x) 1188 2962 w 10 /LucidaSansUnicode00 f (command) 1297 2962 w (has) 1812 2962 w (a) 2017 2962 w (complement,) 2109 2962 w 10 /LucidaTypewriter f (y) 2779 2962 w 10 /LucidaSansUnicode00 f (,) 2851 2962 w (with) 2920 2962 w (similar) 3162 2962 w (syntax,) 3526 2962 w (that) 3913 2962 w (executes) 4141 2962 w (the) 4609 2962 w (com\255) 4802 2962 w (mand with dot set to the text) 720 3082 w 10 /LucidaSans-Italic f (between) 2171 3082 w 10 /LucidaSansUnicode00 f (the matches of the expression.) 2601 3082 w (For example,) 4169 3082 w 9 /LucidaTypewriter f (,) 920 3252 w (c/AAA/) 1050 3252 w (y/A/) 920 3362 w (c/-/) 1245 3362 w (,) 920 3472 w (p) 1050 3472 w 10 /LucidaSansUnicode00 f (produces the same result as the example above.) 720 3652 w (The) 970 3808 w 10 /LucidaTypewriter f (x) 1189 3808 w 10 /LucidaSansUnicode00 f (and) 1299 3808 w 10 /LucidaTypewriter f (y) 1517 3808 w 10 /LucidaSansUnicode00 f (commands) 1627 3808 w (are) 2194 3808 w (looping) 2384 3808 w (constructs,) 2789 3808 w (and) 3363 3808 w 10 /LucidaTypewriter f (sam) 3581 3808 w 10 /LucidaSansUnicode00 f (has) 3836 3808 w (a) 4043 3808 w (pair) 4137 3808 w (of) 4364 3808 w (conditional) 4501 3808 w (commands to go with them.) 720 3928 w (They have similar syntax:) 2147 3928 w 9 /LucidaTypewriter f (g/) 920 4098 w 9 /LucidaSans-Italic f (expression) 1050 4098 w 9 /LucidaTypewriter f (/) 1514 4098 w 9 /LucidaSans-Italic f (command) 1644 4098 w 10 /LucidaSansUnicode00 f (\(guard\)) 720 4278 w (runs) 1105 4278 w (the) 1357 4278 w (command) 1548 4278 w (exactly) 2062 4278 w (once) 2439 4278 w (if) 2705 4278 w (dot) 2807 4278 w (contains) 3004 4278 w (a) 3449 4278 w (match) 3541 4278 w (of) 3876 4278 w (the) 4011 4278 w (expression.) 4203 4278 w (This) 4835 4278 w (is) 720 4398 w (different) 842 4398 w (from) 1302 4398 w 10 /LucidaTypewriter f (x) 1576 4398 w 10 /LucidaSansUnicode00 f (,) 1648 4398 w (which) 1722 4398 w (runs) 2045 4398 w (the) 2303 4398 w (command) 2500 4398 w (for) 3020 4398 w 10 /LucidaSans-Italic f (each) 3201 4398 w 10 /LucidaSansUnicode00 f (match:) 3469 4398 w 10 /LucidaTypewriter f (x) 3841 4398 w 10 /LucidaSansUnicode00 f (loops;) 3955 4398 w 10 /LucidaTypewriter f (g) 4294 4398 w 10 /LucidaSansUnicode00 f (merely) 4408 4398 w (tests,) 4776 4398 w (without changing the value of dot.) 720 4518 w (Thus,) 2454 4518 w 9 /LucidaTypewriter f (,) 920 4688 w (x/Peter/) 1050 4688 w (d) 1635 4688 w 10 /LucidaSansUnicode00 f (deletes all occurrences of) 720 4868 w 10 /LucidaTypewriter f (Peter) 1990 4868 w 10 /LucidaSansUnicode00 f (, but) 2350 4868 w 9 /LucidaTypewriter f (,) 920 5038 w (g/Peter/) 1050 5038 w (d) 1635 5038 w 10 /LucidaSansUnicode00 f (deletes) 720 5218 w (the) 1104 5218 w (whole) 1295 5218 w (file) 1616 5218 w (\(reduces) 1803 5218 w (it) 2252 5218 w (to) 2354 5218 w (a) 2488 5218 w (null) 2579 5218 w (string\)) 2797 5218 w (if) 3148 5218 w 10 /LucidaTypewriter f (Peter) 3250 5218 w 10 /LucidaSansUnicode00 f (occurs) 3646 5218 w (anywhere) 3999 5218 w (in) 4497 5218 w (the) 4625 5218 w (text.) 4817 5218 w (The) 720 5338 w (complementary) 946 5338 w (conditional) 1740 5338 w (is) 2324 5338 w 10 /LucidaTypewriter f (v) 2449 5338 w 10 /LucidaSansUnicode00 f (,) 2521 5338 w (which) 2598 5338 w (runs) 2924 5338 w (the) 3185 5338 w (command) 3385 5338 w (if) 3907 5338 w (there) 4017 5338 w (is) 4313 5338 w 10 /LucidaSans-Italic f (no) 4437 5338 w 10 /LucidaSansUnicode00 f (match) 4600 5338 w (of) 4942 5338 w (the expression.) 720 5458 w (These) 970 5614 w (control-structure-like) 1328 5614 w (commands) 2466 5614 w (may) 3065 5614 w (be) 3336 5614 w (composed) 3526 5614 w (to) 4096 5614 w (construct) 4265 5614 w (more) 4789 5614 w (involved) 720 5734 w (operations.) 1173 5734 w (For) 1802 5734 w (example,) 2007 5734 w (to) 2501 5734 w (print) 2648 5734 w (those) 2929 5734 w (lines) 3245 5734 w (of) 3521 5734 w (text) 3668 5734 w (that) 3908 5734 w (contain) 4148 5734 w (the) 4554 5734 w (string) 4758 5734 w 10 /LucidaTypewriter f (Peter) 720 5854 w 10 /LucidaSansUnicode00 f (:) 1080 5854 w 9 /LucidaTypewriter f (,) 920 6024 w (x/.*\\n/) 1050 6024 w (g/Peter/) 1570 6024 w (p) 2155 6024 w 10 /LucidaSansUnicode00 f (The) 720 6204 w 10 /LucidaTypewriter f (x) 940 6204 w 10 /LucidaSansUnicode00 f (breaks) 1051 6204 w (the) 1414 6204 w (file) 1608 6204 w (into) 1798 6204 w (lines,) 2026 6204 w (the) 2324 6204 w 10 /LucidaTypewriter f (g) 2518 6204 w 10 /LucidaSansUnicode00 f (selects) 2629 6204 w (those) 2999 6204 w (lines) 3305 6204 w (containing) 3571 6204 w 10 /LucidaTypewriter f (Peter) 4121 6204 w 10 /LucidaSansUnicode00 f (,) 4481 6204 w (and) 4553 6204 w (the) 4773 6204 w 10 /LucidaTypewriter f (p) 4968 6204 w 10 /LucidaSansUnicode00 f (prints) 720 6324 w (them.) 1046 6324 w (This) 1401 6324 w (command) 1649 6324 w (gives) 2170 6324 w (an) 2463 6324 w (address) 2623 6324 w (for) 3046 6324 w (the) 3228 6324 w 10 /LucidaTypewriter f (x) 3426 6324 w 10 /LucidaSansUnicode00 f (command) 3541 6324 w (\(the) 4062 6324 w (whole) 4293 6324 w (file\),) 4620 6324 w (but) 4878 6324 w (because) 720 6444 w 10 /LucidaTypewriter f (g) 1151 6444 w 10 /LucidaSansUnicode00 f (does) 1260 6444 w (not) 1528 6444 w (have) 1725 6444 w (an) 1987 6444 w (explicit) 2141 6444 w (address,) 2533 6444 w (it) 2983 6444 w (applies) 3087 6444 w (to) 3471 6444 w (the) 3607 6444 w (value) 3800 6444 w (of) 4092 6444 w (dot) 4228 6444 w (produced) 4427 6444 w (by) 4925 6444 w (the) 720 6564 w 10 /LucidaTypewriter f (x) 911 6564 w 10 /LucidaSansUnicode00 f (command,) 1018 6564 w (that) 1563 6564 w (is,) 1789 6564 w (to) 1936 6564 w (each) 2069 6564 w (line.) 2328 6564 w (All) 2603 6564 w (commands) 2765 6564 w (in) 3329 6564 w 10 /LucidaTypewriter f (sam) 3455 6564 w 10 /LucidaSansUnicode00 f (except) 3706 6564 w (for) 4065 6564 w (the) 4239 6564 w (command) 4429 6564 w (to) 4942 6564 w (write a file to disc use dot for the default address.) 720 6684 w (Composition may be continued indefinitely.) 970 6840 w 9 /LucidaTypewriter f (,) 920 7010 w (x/.*\\n/) 1050 7010 w (g/Peter/) 1570 7010 w (v/SaltPeter/) 2155 7010 w (p) 3000 7010 w 10 /LucidaSansUnicode00 f (prints those lines containing) 720 7190 w 10 /LucidaTypewriter f (Peter) 2135 7190 w 10 /LucidaSansUnicode00 f (but) 2527 7190 w 10 /LucidaSans-Italic f (not) 2721 7190 w 10 /LucidaSansUnicode00 f (those containing) 2910 7190 w 10 /LucidaTypewriter f (SaltPeter) 3751 7190 w 10 /LucidaSansUnicode00 f (.) 4399 7190 w cleartomark showpage saveobj restore %%EndPage: 8 8 %%Page: 9 9 /saveobj save def mark 9 pagesetup 10 /LucidaSansUnicode00 f (\255 9 \255) 2783 480 w 10 /LucidaSans-Demi f (Structural Regular Expressions) 720 840 w 10 /LucidaSansUnicode00 f (Unlike) 720 996 w (other) 1077 996 w (UNIX) 1388 996 w (text) 1677 996 w (editors,) 1922 996 w (including) 2346 996 w (the) 2849 996 w (non-interactive) 3059 996 w (ones) 3862 996 w (such) 4147 996 w (as) 4428 996 w 10 /LucidaTypewriter f (sed) 4589 996 w 10 /LucidaSansUnicode00 f (and) 4860 996 w 10 /LucidaTypewriter f (awk) 720 1116 w 10 /LucidaSansUnicode00 f (,) 936 1116 w 6 /LucidaSansUnicode00 f (7) 968 1066 w 10 /LucidaTypewriter f (sam) 1052 1116 w 10 /LucidaSansUnicode00 f (is) 1314 1116 w (good) 1440 1116 w (for) 1733 1116 w (manipulating) 1918 1116 w (files) 2601 1116 w (with) 2848 1116 w (multi-line) 3098 1116 w 10 /LucidaSansUnicode20 f (\030) 3627 1116 w 10 /LucidaSansUnicode00 f (records.) 3659 1116 w 10 /LucidaSansUnicode20 f (\031) 4055 1116 w 10 /LucidaSansUnicode00 f (An) 4164 1116 w (example) 4340 1116 w (is) 4798 1116 w (an) 4923 1116 w (on-line phone book composed of records, separated by blank lines, of the form) 720 1236 w 9 /LucidaTypewriter f (Herbert) 920 1406 w (Tic) 1440 1406 w (44) 920 1516 w (Turnip) 1115 1516 w (Ave.,) 1570 1516 w (Endive,) 1960 1516 w (NJ) 2480 1516 w (201-5555642) 920 1626 w (Norbert) 920 1846 w (Twinge) 1440 1846 w (16) 920 1956 w (Potato) 1115 1956 w (St.,) 1570 1956 w (Cabbagetown,) 1895 1956 w (NJ) 2740 1956 w (201-5553145) 920 2066 w (...) 920 2286 w 10 /LucidaSansUnicode00 f (The format may be encoded as a regular expression:) 720 2466 w 9 /LucidaTypewriter f (\(.+\\n\)+) 920 2636 w 10 /LucidaSansUnicode00 f (that) 720 2816 w (is,) 957 2816 w (a) 1115 2816 w (sequence) 1216 2816 w (of) 1719 2816 w (one) 1863 2816 w (or) 2089 2816 w (more) 2238 2816 w (non-blank) 2536 2816 w (lines.) 3093 2816 w (The) 3431 2816 w (command) 3659 2816 w (to) 4184 2816 w (print) 4329 2816 w (Mr.) 4608 2816 w (Tic) 4814 2816 w 10 /LucidaSansUnicode20 f (\031) 4957 2816 w 10 /LucidaSansUnicode00 f (s) 4989 2816 w (entire record is then) 720 2936 w 9 /LucidaTypewriter f (,) 920 3106 w (x/\(.+\\n\)+/) 1050 3106 w (g/^Herbert) 1765 3106 w (Tic$/) 2480 3106 w (p) 2870 3106 w 10 /LucidaSansUnicode00 f (and that to extract just the phone number is) 720 3286 w 9 /LucidaTypewriter f (,) 920 3456 w (x/\(.+\\n\)+/) 1050 3456 w (g/^Herbert) 1765 3456 w (Tic$/) 2480 3456 w (x/^[0-9]*-[0-9]*\\n/) 2870 3456 w (p) 4170 3456 w 10 /LucidaSansUnicode00 f (The) 720 3636 w (latter) 941 3636 w (command) 1236 3636 w (breaks) 1754 3636 w (the) 2118 3636 w (file) 2313 3636 w (into) 2504 3636 w (records,) 2733 3636 w (chooses) 3169 3636 w (Mr.) 3602 3636 w (Tic) 3802 3636 w 10 /LucidaSansUnicode20 f (\031) 3945 3636 w 10 /LucidaSansUnicode00 f (s) 3977 3636 w (record,) 4069 3636 w (extracts) 4455 3636 w (the) 4885 3636 w (phone number from the record, and finally prints the number.) 720 3756 w (A) 970 3912 w (more) 1073 3912 w (involved) 1358 3912 w (problem) 1796 3912 w (is) 2236 3912 w (that) 2350 3912 w (of) 2575 3912 w (renaming) 2707 3912 w (a) 3201 3912 w (particular) 3290 3912 w (variable,) 3787 3912 w (say) 4233 3912 w 10 /LucidaTypewriter f (n) 4426 3912 w 10 /LucidaSansUnicode00 f (,) 4498 3912 w (to) 4565 3912 w 10 /LucidaTypewriter f (num) 4698 3912 w 10 /LucidaSansUnicode00 f (in) 4949 3912 w (a C program.) 720 4032 w (The obvious first attempt,) 1420 4032 w 9 /LucidaTypewriter f (,) 920 4202 w (x/n/) 1050 4202 w (c/num/) 1375 4202 w 10 /LucidaSansUnicode00 f (is) 720 4382 w (badly) 847 4382 w (flawed:) 1156 4382 w (it) 1552 4382 w (changes) 1665 4382 w (not) 2111 4382 w (only) 2318 4382 w (the) 2569 4382 w (variable) 2771 4382 w 10 /LucidaTypewriter f (n) 3198 4382 w 10 /LucidaSansUnicode00 f (but) 3317 4382 w (any) 3526 4382 w (letter) 3742 4382 w 10 /LucidaTypewriter f (n) 4045 4382 w 10 /LucidaSansUnicode00 f (that) 4164 4382 w (appears.) 4402 4382 w (We) 4898 4382 w (need to extract all the variables, and select those that match) 720 4502 w 10 /LucidaTypewriter f (n) 3692 4502 w 10 /LucidaSansUnicode00 f (and only) 3796 4502 w 10 /LucidaTypewriter f (n) 4244 4502 w 10 /LucidaSansUnicode00 f (:) 4316 4502 w 9 /LucidaTypewriter f (,) 920 4672 w (x/[A-Za-z_][A-Za-z_0-9]*/) 1050 4672 w (g/n/) 2740 4672 w (v/../) 3065 4672 w (c/num/) 3455 4672 w 10 /LucidaSansUnicode00 f (The) 720 4852 w (pattern) 942 4852 w 10 /LucidaTypewriter f ([A-Za-z_][A-Za-z_0-9]*) 1334 4852 w 10 /LucidaSansUnicode00 f (matches) 2959 4852 w (C) 3405 4852 w (identifiers.) 3515 4852 w (Next) 4110 4852 w 10 /LucidaTypewriter f (g/n/) 4379 4852 w 10 /LucidaSansUnicode00 f (selects) 4709 4852 w (those) 720 4972 w (containing) 1026 4972 w (an) 1575 4972 w 10 /LucidaTypewriter f (n) 1731 4972 w 10 /LucidaSansUnicode00 f (.) 1803 4972 w (Then) 1906 4972 w 10 /LucidaTypewriter f (v/../) 2188 4972 w 10 /LucidaSansUnicode00 f (rejects) 2587 4972 w (those) 2947 4972 w (containing) 3252 4972 w (two) 3800 4972 w (\(or) 4013 4972 w (more\)) 4186 4972 w (characters,) 4508 4972 w (and) 720 5092 w (finally) 940 5092 w 10 /LucidaTypewriter f (c/num/) 1273 5092 w 10 /LucidaSansUnicode00 f (changes) 1745 5092 w (the) 2185 5092 w (remainder) 2381 5092 w (\(identifiers) 2918 5092 w 10 /LucidaTypewriter f (n) 3482 5092 w 10 /LucidaSansUnicode00 f (\)) 3554 5092 w (to) 3628 5092 w 10 /LucidaTypewriter f (num) 3767 5092 w 10 /LucidaSansUnicode00 f (.) 3983 5092 w (This) 4088 5092 w (version) 4334 5092 w (clearly) 4727 5092 w (works) 720 5212 w (much) 1053 5212 w (better,) 1366 5212 w (but) 1733 5212 w (there) 1940 5212 w (may) 2237 5212 w (still) 2482 5212 w (be) 2702 5212 w (problems.) 2865 5212 w (For) 3430 5212 w (example,) 3630 5212 w (in) 4119 5212 w (C) 4254 5212 w (character) 4367 5212 w (and) 4860 5212 w (string) 720 5332 w (constants,) 1046 5332 w (the) 1589 5332 w (sequence) 1788 5332 w 10 /LucidaTypewriter f (\\n) 2289 5332 w 10 /LucidaSansUnicode00 f (is) 2478 5332 w (interpreted) 2603 5332 w (as) 3189 5332 w (a) 3340 5332 w (newline) 3440 5332 w (character,) 3856 5332 w (and) 4382 5332 w (we) 4607 5332 w (don) 4785 5332 w 10 /LucidaSansUnicode20 f (\031) 4971 5332 w 10 /LucidaSansUnicode00 f (t) 5003 5332 w (want to change it to) 720 5452 w 10 /LucidaTypewriter f (\\num.) 1721 5452 w 10 /LucidaSansUnicode00 f (This problem can be forestalled with a) 2113 5452 w 10 /LucidaTypewriter f (y) 4010 5452 w 10 /LucidaSansUnicode00 f (command:) 4114 5452 w 9 /LucidaTypewriter f (,) 920 5622 w (y/\\\\n/) 1050 5622 w (x/[A-Za-z_][A-Za-z_0-9]*/) 1505 5622 w (g/n/) 3195 5622 w (v/../) 3520 5622 w (c/num/) 3910 5622 w 10 /LucidaSansUnicode00 f (\(the) 720 5802 w (second) 943 5802 w 10 /LucidaTypewriter f (\\) 1322 5802 w 10 /LucidaSansUnicode00 f (is) 1429 5802 w (necessary) 1544 5802 w (because) 2054 5802 w (of) 2483 5802 w (lexical) 2616 5802 w (conventions) 2961 5802 w (in) 3580 5802 w (regular) 3706 5802 w (expressions\),) 4087 5802 w (or) 4769 5802 w (we) 4907 5802 w (could even reject character constants and strings outright:) 720 5922 w 9 /LucidaTypewriter f (,y/'[^']*'/) 720 6092 w (y/"[^"]*"/) 1500 6092 w (x/[A-Za-z_][A-Za-z_0-9]*/) 2215 6092 w (g/n/) 3905 6092 w (v/../) 4230 6092 w (c/num/) 4620 6092 w 10 /LucidaSansUnicode00 f (The) 720 6272 w 10 /LucidaTypewriter f (y) 937 6272 w 10 /LucidaSansUnicode00 f (commands) 1045 6272 w (in) 1610 6272 w (this) 1737 6272 w (version) 1952 6272 w (exclude) 2341 6272 w (from) 2756 6272 w (consideration) 3025 6272 w (all) 3720 6272 w (character) 3870 6272 w (constants) 4356 6272 w (and) 4860 6272 w (strings.) 720 6392 w (The) 1162 6392 w (only) 1388 6392 w (remaining) 1637 6392 w (problem) 2171 6392 w (is) 2622 6392 w (to) 2747 6392 w (deal) 2890 6392 w (with) 3137 6392 w (the) 3386 6392 w (possible) 3585 6392 w (occurrence) 4032 6392 w (of) 4608 6392 w 10 /LucidaTypewriter f (\\') 4750 6392 w 10 /LucidaSansUnicode00 f (or) 4938 6392 w 10 /LucidaTypewriter f (\\") 720 6512 w 10 /LucidaSansUnicode00 f (within these sequences, but it) 896 6512 w 10 /LucidaSansUnicode20 f (\031) 2350 6512 w 10 /LucidaSansUnicode00 f (s easy to see how to resolve this difficulty.) 2382 6512 w (The) 970 6668 w (point) 1195 6668 w (of) 1492 6668 w (these) 1635 6668 w (composed) 1942 6668 w (commands) 2486 6668 w (is) 3060 6668 w (successive) 3185 6668 w (refinement.) 3740 6668 w (A) 4378 6668 w (simple) 4492 6668 w (ver\255) 4858 6668 w (sion) 720 6788 w (of) 962 6788 w (the) 1099 6788 w (command) 1293 6788 w (is) 1810 6788 w (tried,) 1928 6788 w (and) 2224 6788 w (if) 2442 6788 w (it) 2546 6788 w 10 /LucidaSansUnicode20 f (\031) 2612 6788 w 10 /LucidaSansUnicode00 f (s) 2644 6788 w (not) 2733 6788 w (good) 2931 6788 w (enough,) 3216 6788 w (it) 3651 6788 w (can) 3755 6788 w (be) 3961 6788 w (honed) 4118 6788 w (by) 4460 6788 w (adding) 4613 6788 w (a) 4985 6788 w (clause) 720 6908 w (or) 1058 6908 w (two.) 1194 6908 w (\(Mistakes) 1467 6908 w (can) 1957 6908 w (be) 2159 6908 w (undone;) 2312 6908 w (see) 2744 6908 w (below.) 2941 6908 w (Also,) 3325 6908 w (the) 3601 6908 w (mouse) 3790 6908 w (language) 4148 6908 w (makes) 4626 6908 w (it) 4974 6908 w (unnecessary) 720 7028 w (to) 1357 7028 w (retype) 1493 7028 w (the) 1836 7028 w (command) 2029 7028 w (each) 2545 7028 w (time.\)) 2807 7028 w (The) 3156 7028 w (resulting) 3374 7028 w (chains) 3840 7028 w (of) 4187 7028 w (commands) 4322 7028 w (are) 4888 7028 w (somewhat) 720 7148 w (reminiscent) 1262 7148 w (of) 1879 7148 w (shell) 2027 7148 w (pipelines.) 2305 7148 w 6 /LucidaSansUnicode00 f (7) 2775 7098 w 10 /LucidaSansUnicode00 f (Unlike) 2864 7148 w (pipelines,) 3218 7148 w (though,) 3739 7148 w (which) 4168 7148 w (pass) 4500 7148 w (along) 4771 7148 w (modified) 720 7268 w 10 /LucidaSans-Italic f (data) 1197 7268 w 10 /LucidaSansUnicode00 f (,) 1418 7268 w 10 /LucidaTypewriter f (sam) 1496 7268 w 10 /LucidaSansUnicode00 f (commands) 1758 7268 w (pass) 2333 7268 w (a) 2599 7268 w 10 /LucidaSans-Italic f (view) 2700 7268 w 10 /LucidaSansUnicode00 f (of) 2960 7268 w (the) 3103 7268 w (data.) 3303 7268 w (The) 3622 7268 w (text) 3848 7268 w (at) 4084 7268 w (each) 4221 7268 w (step) 4490 7268 w (of) 4742 7268 w (the) 4885 7268 w cleartomark showpage saveobj restore %%EndPage: 9 9 %%Page: 10 10 /saveobj save def mark 10 pagesetup 10 /LucidaSansUnicode00 f (\255 10 \255) 2752 480 w (command) 720 840 w (is) 1244 840 w (the) 1370 840 w (same,) 1571 840 w (but) 1904 840 w (which) 2112 840 w (pieces) 2439 840 w (are) 2791 840 w (selected) 2989 840 w (is) 3434 840 w (refined) 3560 840 w (step) 3950 840 w (by) 4203 840 w (step) 4365 840 w (until) 4619 840 w (the) 4885 840 w (correct) 720 960 w (piece) 1097 960 w (is) 1391 960 w (available) 1510 960 w (to) 1972 960 w (the) 2109 960 w (final) 2303 960 w (step) 2554 960 w (of) 2800 960 w (the) 2936 960 w (command) 3129 960 w (line,) 3645 960 w (which) 3891 960 w (ultimately) 4210 960 w (makes) 4727 960 w (the change.) 720 1080 w (In) 970 1236 w (other) 1100 1236 w (UNIX) 1396 1236 w (programs,) 1670 1236 w (regular) 2209 1236 w (expressions) 2595 1236 w (are) 3217 1236 w (used) 3409 1236 w (only) 3681 1236 w (for) 3925 1236 w (selection,) 4104 1236 w (as) 4608 1236 w (in) 4754 1236 w (the) 4885 1236 w 10 /LucidaTypewriter f (sam) 720 1356 w (g) 969 1356 w 10 /LucidaSansUnicode00 f (command,) 1074 1356 w (never for extraction as in the) 1617 1356 w 10 /LucidaTypewriter f (x) 3057 1356 w 10 /LucidaSansUnicode00 f (or) 3161 1356 w 10 /LucidaTypewriter f (y) 3295 1356 w 10 /LucidaSansUnicode00 f (command.) 3399 1356 w (For example, patterns) 3973 1356 w (in) 720 1476 w 10 /LucidaTypewriter f (awk) 850 1476 w 6 /LucidaSansUnicode00 f (7) 1066 1426 w 10 /LucidaSansUnicode00 f (are) 1143 1476 w (used) 1335 1476 w (to) 1607 1476 w (select) 1745 1476 w (lines) 2065 1476 w (to) 2332 1476 w (be) 2470 1476 w (operated) 2629 1476 w (on,) 3101 1476 w (but) 3296 1476 w (cannot) 3498 1476 w (be) 3866 1476 w (used) 4025 1476 w (to) 4297 1476 w (describe) 4435 1476 w (the) 4885 1476 w (format) 720 1596 w (of) 1079 1596 w (the) 1212 1596 w (input) 1402 1596 w (text,) 1690 1596 w (or) 1948 1596 w (to) 2085 1596 w (handle) 2218 1596 w (newline-free) 2580 1596 w (text.) 3234 1596 w (The) 3524 1596 w (use) 3740 1596 w (of) 3944 1596 w (regular) 4077 1596 w (expressions) 4458 1596 w (to) 720 1716 w (describe) 864 1716 w (the) 1320 1716 w (structure) 1521 1716 w (of) 2005 1716 w (a) 2149 1716 w (piece) 2250 1716 w (of) 2551 1716 w (text) 2695 1716 w (rather) 2932 1716 w (than) 3270 1716 w (its) 3532 1716 w (contents,) 3695 1716 w (as) 4190 1716 w (in) 4343 1716 w (the) 4481 1716 w 10 /LucidaTypewriter f (x) 4683 1716 w 10 /LucidaSansUnicode00 f (com\255) 4802 1716 w (mand,) 720 1836 w (has) 1107 1836 w (been) 1357 1836 w (given) 1676 1836 w (a) 2019 1836 w (name:) 2156 1836 w 10 /LucidaSans-Italic f (structural) 2535 1836 w (regular) 3101 1836 w (expressions.) 3544 1836 w 10 /LucidaSansUnicode00 f (When) 4253 1836 w (they) 4600 1836 w (are) 4888 1836 w (composed,) 720 1956 w (as) 1315 1956 w (in) 1485 1956 w (the) 1640 1956 w (above) 1860 1956 w (example,) 2212 1956 w (they) 2722 1956 w (are) 2994 1956 w (pleasantly) 3211 1956 w (expressive.) 3765 1956 w (Their) 4410 1956 w (use) 4726 1956 w (is) 4960 1956 w (discussed at greater length elsewhere.) 720 2076 w 6 /LucidaSansUnicode00 f (10) 2589 2026 w 10 /LucidaSans-Demi f (Multiple files) 720 2352 w 10 /LucidaTypewriter f (Sam) 720 2508 w 10 /LucidaSansUnicode00 f (has a few other commands, mostly relating to input and output.) 968 2508 w 9 /LucidaTypewriter f (e) 920 2678 w (discfilename) 1050 2678 w 10 /LucidaSansUnicode00 f (replaces the contents and name of the current file with those of the named disc file;) 720 2858 w 9 /LucidaTypewriter f (w) 920 3028 w (discfilename) 1050 3028 w 10 /LucidaSansUnicode00 f (writes the contents to the named disc file; and) 720 3208 w 9 /LucidaTypewriter f (r) 920 3378 w (discfilename) 1050 3378 w 10 /LucidaSansUnicode00 f (replaces) 720 3558 w (dot) 1159 3558 w (with) 1357 3558 w (the) 1599 3558 w (contents) 1791 3558 w (of) 2245 3558 w (the) 2380 3558 w (named) 2572 3558 w (disc) 2938 3558 w (file.) 3169 3558 w (All) 3421 3558 w (these) 3586 3558 w (commands) 3886 3558 w (use) 4453 3558 w (the) 4660 3558 w (cur\255) 4853 3558 w (rent file) 720 3678 w 10 /LucidaSansUnicode20 f (\031) 1099 3678 w 10 /LucidaSansUnicode00 f (s name if none is specified.) 1131 3678 w (Finally,) 2526 3678 w 9 /LucidaTypewriter f (f) 920 3848 w (discfilename) 1050 3848 w 10 /LucidaSansUnicode00 f (changes the name associated with the file and displays the result:) 720 4028 w 9 /LucidaTypewriter f ('-.) 920 4198 w (discfilename) 1180 4198 w 10 /LucidaSansUnicode00 f (This) 720 4378 w (output) 966 4378 w (is) 1329 4378 w (called) 1450 4378 w (the) 1774 4378 w (file) 1970 4378 w 10 /LucidaSansUnicode20 f (\031) 2121 4378 w 10 /LucidaSansUnicode00 f (s) 2153 4378 w 10 /LucidaSans-Italic f (menu) 2245 4378 w (line,) 2556 4378 w 10 /LucidaSansUnicode00 f (because) 2802 4378 w (it) 3237 4378 w (is) 3344 4378 w (the) 3465 4378 w (contents) 3661 4378 w (of) 4119 4378 w (the) 4258 4378 w (file) 4455 4378 w 10 /LucidaSansUnicode20 f (\031) 4606 4378 w 10 /LucidaSansUnicode00 f (s) 4638 4378 w (line) 4731 4378 w (in) 4949 4378 w (the) 720 4498 w (button) 930 4498 w (3) 1307 4498 w (menu) 1425 4498 w (\(described) 1753 4498 w (in) 2313 4498 w (the) 2458 4498 w (next) 2667 4498 w (section\).) 2937 4498 w (The) 3435 4498 w (first) 3670 4498 w (three) 3919 4498 w (characters) 4225 4498 w (are) 4779 4498 w (a) 4985 4498 w (concise) 720 4618 w (notation) 1141 4618 w (for) 1605 4618 w (the) 1804 4618 w (state) 2019 4618 w (of) 2315 4618 w (the) 2473 4618 w (file.) 2688 4618 w (The) 2963 4618 w (apostrophe) 3204 4618 w (signifies) 3814 4618 w (that) 4280 4618 w (the) 4532 4618 w (file) 4748 4618 w (is) 4960 4618 w (modified.) 720 4738 w (The) 1261 4738 w (minus) 1488 4738 w (sign) 1831 4738 w (indicates) 2081 4738 w (the) 2560 4738 w (number) 2761 4738 w (of) 3184 4738 w (windows) 3328 4738 w (open) 3793 4738 w (on) 4080 4738 w (the) 4248 4738 w (file) 4448 4738 w (\(see) 4644 4738 w (the) 4885 4738 w (next) 720 4858 w (section\):) 979 4858 w 10 /LucidaTypewriter f (-) 1434 4858 w 10 /LucidaSansUnicode00 f (means) 1549 4858 w (none,) 1909 4858 w 10 /LucidaTypewriter f (+) 2225 4858 w 10 /LucidaSansUnicode00 f (means) 2340 4858 w (one,) 2701 4858 w (and) 2956 4858 w 10 /LucidaTypewriter f (*) 3180 4858 w 10 /LucidaSansUnicode00 f (means) 3296 4858 w (more) 3657 4858 w (than) 3952 4858 w (one.) 4212 4858 w (Finally,) 4499 4858 w (the) 4885 4858 w (period) 720 4978 w (indicates) 1072 4978 w (that) 1544 4978 w (this) 1774 4978 w (is) 1992 4978 w (the) 2111 4978 w (current) 2305 4978 w (file.) 2694 4978 w (These) 2948 4978 w (characters) 3275 4978 w (are) 3814 4978 w (useful) 4004 4978 w (for) 4339 4978 w (controlling) 4516 4978 w (the) 720 5098 w 10 /LucidaTypewriter f (X) 907 5098 w 10 /LucidaSansUnicode00 f (command, described shortly.) 1011 5098 w 10 /LucidaTypewriter f (Sam) 970 5254 w 10 /LucidaSansUnicode00 f (may be started with a set of disc files \(such) 1218 5254 w (as) 3355 5254 w (all) 3494 5254 w (the) 3640 5254 w (source) 3828 5254 w (for) 4183 5254 w (a) 4355 5254 w (program\)) 4443 5254 w (by) 4925 5254 w (invoking) 720 5374 w (it) 1169 5374 w (with) 1269 5374 w (a) 1508 5374 w (list) 1597 5374 w (of) 1777 5374 w (file) 1909 5374 w (names) 2094 5374 w (as) 2445 5374 w (arguments,) 2585 5374 w (and) 3170 5374 w (more) 3384 5374 w (may) 3669 5374 w (be) 3903 5374 w (added) 4056 5374 w (or) 4389 5374 w (deleted) 4524 5374 w (on) 4917 5374 w (demand.) 720 5494 w 9 /LucidaTypewriter f (B) 920 5664 w (discfile1) 1050 5664 w (discfile2) 1700 5664 w (...) 2350 5664 w 10 /LucidaSansUnicode00 f (adds the named files to) 720 5844 w 10 /LucidaTypewriter f (sam) 1896 5844 w 10 /LucidaSansUnicode20 f (\031) 2112 5844 w 10 /LucidaSansUnicode00 f (s list, and) 2144 5844 w 9 /LucidaTypewriter f (D) 920 6014 w (discfile1) 1050 6014 w (discfile2) 1700 6014 w (...) 2350 6014 w 10 /LucidaSansUnicode00 f (removes) 720 6194 w (them) 1168 6194 w (from) 1454 6194 w 10 /LucidaTypewriter f (sam) 1724 6194 w 10 /LucidaSansUnicode20 f (\031) 1940 6194 w 10 /LucidaSansUnicode00 f (s) 1972 6194 w (memory) 2061 6194 w (\(without) 2495 6194 w (effect) 2931 6194 w (on) 3243 6194 w (associated) 3404 6194 w (disc) 3951 6194 w (files\).) 4183 6194 w (Both) 4521 6194 w (these) 4778 6194 w (commands) 720 6314 w (have) 1288 6314 w (a) 1552 6314 w (syntax) 1646 6314 w (for) 2003 6314 w (using) 2181 6314 w (the) 2486 6314 w (shell) 2680 6314 w 6 /LucidaSansUnicode00 f (7) 2907 6264 w 10 /LucidaSansUnicode00 f (\(the) 2984 6314 w (UNIX) 3211 6314 w (command) 3485 6314 w (interpreter\)) 4002 6314 w (to) 4593 6314 w (gener\255) 4730 6314 w (ate the lists:) 720 6434 w 9 /LucidaTypewriter f (B) 920 6604 w () 4680 1596 w 10 /LucidaSansUnicode00 f (exchanges) 720 1716 w (snarf) 1277 1716 w (buffers) 1564 1716 w (with) 1952 1716 w (the) 2198 1716 w (window) 2394 1716 w (system) 2804 1716 w (in) 3185 1716 w (which) 3317 1716 w 10 /LucidaTypewriter f (sam) 3639 1716 w 10 /LucidaSansUnicode00 f (is) 3896 1716 w (running.) 4017 1716 w (Finally,) 4502 1716 w (the) 4885 1716 w (last) 720 1836 w (regular) 940 1836 w (expression) 1334 1836 w (used) 1913 1836 w (appears) 2193 1836 w (as) 2625 1836 w (a) 2779 1836 w (menu) 2882 1836 w (entry) 3203 1836 w (to) 3499 1836 w (search) 3645 1836 w (forward) 4009 1836 w (for) 4432 1836 w (the) 4620 1836 w (next) 4824 1836 w (occurrence of a match for the expression.) 720 1956 w cleartomark saveobj restore %ps_include: begin save /ed {exch def} def {} /showpage ed {} /copypage ed {} /erasepage ed {} /letter ed currentdict /findfont known systemdict /findfont known and { /findfont systemdict /findfont get def } if 36 dict dup /PS-include-dict-dw ed begin /context ed count array astore /o-stack ed %ps_include: variables begin /llx 268 def /lly 352 def /urx 342.16 def /ury 438.4 def /w 0 def /o 0 def /s 0 def /cx 2880 def /cy -2628 def /sx 4320 def /sy 864 def /ax .5 def /ay .5 def /rot 0 def %ps_include: variables end {llx lly urx ury} /bbox ed {newpath 2 index exch 2 index exch dup 6 index exch moveto 3 {lineto} repeat closepath} /boxpath ed {dup mul exch dup mul add sqrt} /len ed {2 copy gt {exch} if pop} /min ed {2 copy lt {exch} if pop} /max ed {transform round exch round exch A itransform} /nice ed {6 array} /n ed n defaultmatrix n currentmatrix n invertmatrix n concatmatrix /A ed urx llx sub 0 A dtransform len /Sx ed 0 ury lly sub A dtransform len /Sy ed llx urx add 2 div lly ury add 2 div A transform /Cy ed /Cx ed rot dup sin abs /S ed cos abs /C ed Sx S mul Sy C mul add /H ed Sx C mul Sy S mul add /W ed sy H div /Scaley ed sx W div /Scalex ed s 0 eq {Scalex Scaley min dup /Scalex ed /Scaley ed} if sx Scalex W mul sub 0 max ax 0.5 sub mul cx add /cx ed sy Scaley H mul sub 0 max ay 0.5 sub mul cy add /cy ed urx llx sub 0 A dtransform exch atan rot exch sub /rot ed n currentmatrix initgraphics setmatrix cx cy translate Scalex Scaley scale rot rotate Cx neg Cy neg translate A concat bbox boxpath clip newpath w 0 ne {gsave bbox boxpath 1 setgray fill grestore} if end gsave %ps_include: inclusion begin %!PS /picstr 13 string def 268 352 translate 74.16 86.40 scale 103 120 1 [103 0 0 -120 0 120] {currentfile picstr readhexstring pop} image ffffffffffffffffffffffffff ffffffffffffffffffffffffff ffffffffffffffffffffffffff ffffffffffffffffffffffffff ffffffffffffffffffffffffff f800000000000000000001ffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffdfffffffdffff fbfffffffffff9fffffffdffff fbffffffe1ce603ffffffdffff fbffffffccce79fffffffdffff fbffffff9cce79fffffffdffff fbffffff9fce79fffffffdffff fbffffff9fce79fffffffdffff fbffffff9fce79fffffffdffff fbffffff9fce79fffffffdffff fbffffffccc479fffffffdffff fbffffffe1e27c3ffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffdfffffffdffff fbfffffffffff9fffffffdffff fbffff27c1e0e03c3ffffdffff fbffff139cce79f99ffffdffff fbffff39fccff9f39ffffdffff fbffff39fcc7f9f39ffffdffff fbffff39c0e0f9f01ffffdffff fbffff399cfc79f3fffffdffff fbffff399cfe79f3fffffdffff fbffff3398ce79f99ffffdffff fbffff07c4e0fc3c3ffffdffff fbffff3ffffffffffffffdffff fbffff3ffffffffffffffdffff fbffff3ffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffe1ffffdffff fbfffffffffffffcfffffdffff fbfffffffffffffcfffffdffff fbffff8391e0e3301ffffdffff fbffff3988ce703cfffffdffff fbffff3f9cfe733cfffffdffff fbffff1f9cfe73fcfffffdffff fbffff839ce073fcfffffdffff fbfffff19cce73fcfffffdffff fbfffff99cce73fcfffffdffff fbffff399ccc73fcfffffdffff fbffff839ce260f03ffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffff07fffff3ffffffdffff fbfffffe7fffff3ffffffdffff fbfffffe7fffff3ffffffdffff fbfffffe7e1f0f39fffffdffff fbfffffe7cce673bfffffdffff fbfffffe79e4f337fffffdffff fbfffffe79e4f32ffffffdffff fbfffffe79e4f30ffffffdffff fbfffffe79e4f327fffffdffff fbfffffe79e4f333fffffdffff fbfffffe7cce6739fffffdffff fbfffff00e1f0f39fffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff fbfffffbfffffffbfffffdffff fbfffff3fffffff9fffffdffff fbffffe72dce673cfffffdffff fbffffcf00ce673e7ffffdffff fbffff9f24ce737f3ffffdffff fbffff1f24ce70ff1ffffdffff fbffff9f24ce7dff3ffffdffff fbffffcf24ce787e7ffffdffff fbffffe724ce767cfffffdffff fbfffff324c46739fffffdffff fbfffffb24e2673bfffffdffff fbfffffffffffffffffffdffff fbfffffffffffffffffffdffff f800000000000000000001ffff f800000000000000000001ffff f800c04000030000200001ffff f800c18000030000180001ffff f8018300000180000c0001ffff f801830000c180dc0c0c01ffff f803060000c0c0ee060c01ffff f803060000c0c0c6060c01ffff f806060007f860c6067f81ffff f806060007f860c6067f81ffff f80c060000c030c6060c01ffff f80c0601c0c030c6060c01ffff f8180601c0c018c6060c01ffff f8180301c00018c60c001e0fff f830030000000c000c001e3fff f830018000000c0018001effff f80000400000000020001e7fff ffffffffffffffffffffe03fff ffffffffffffffffffffe41fff ffffffffffffffffffffe60fff ffffffffffffffffffffef07ff ffffffffffffffffffffef83ff ffffffffffffffffffffffc1ff ffffffffffffffffffffffe0ff fffffffffffffffffffffff07f fffffffffffffffffffffff83f fffffffffffffffffffffffc1f fffffffffffffffffffffffe3f ffffffffffffffffffffffff7f ffffffffffffffffffffffffff ffffffffffffffffffffffffff ffffffffffffffffffffffffff ffffffffffffffffffffffffff ffffffffffffffffffffffffff showpage %%BoundingBox: 268 352 342.16 438.40 %ps_include: inclusion end grestore PS-include-dict-dw begin o 0 ne {gsave A defaultmatrix /A ed llx lly nice urx ury nice initgraphics 0.1 setlinewidth boxpath stroke grestore} if clear o-stack aload pop context end restore %ps_include: end /saveobj save def mark 8 /LucidaSans-Italic f (Figure) 720 3160 w (4.) 998 3160 w (The) 1107 3160 w (menu) 1282 3160 w (on) 1531 3160 w (button) 1661 3160 w (2.) 1950 3160 w (The) 2086 3160 w (bottom) 2262 3160 w (entry) 2571 3160 w (tracks) 2809 3160 w (the) 3085 3160 w (most) 3241 3160 w (recently) 3464 3160 w (used) 3807 3160 w (regular) 4021 3160 w (expression,) 4344 3160 w (which) 4815 3160 w (may) 720 3260 w (be) 913 3260 w (literal) 1030 3260 w (text.) 1284 3260 w 10 /LucidaSansUnicode00 f (The) 970 3536 w (relationship) 1216 3536 w (between) 1856 3536 w (the) 2328 3536 w (command) 2548 3536 w (language) 3091 3536 w (and) 3599 3536 w (the) 3844 3536 w (mouse) 4064 3536 w (language) 4452 3536 w (is) 4960 3536 w (entirely) 720 3656 w (due) 1129 3656 w (to) 1357 3656 w (the) 1502 3656 w (equality) 1704 3656 w (of) 2134 3656 w (dot) 2279 3656 w (and) 2487 3656 w (the) 2714 3656 w (selected) 2916 3656 w (text) 3362 3656 w (chosen) 3599 3656 w (with) 3988 3656 w (button) 4239 3656 w (1) 4607 3656 w (on) 4716 3656 w (the) 4885 3656 w (mouse.) 720 3776 w (For example, to make a set of changes in a C subroutine, dot can be) 1139 3776 w (set) 4496 3776 w (by) 4673 3776 w (dou\255) 4821 3776 w (ble) 720 3896 w (clicking) 915 3896 w (on) 1333 3896 w (the) 1503 3896 w (left) 1705 3896 w (brace) 1911 3896 w (that) 2224 3896 w (begins) 2462 3896 w (the) 2832 3896 w (subroutine,) 3034 3896 w (which) 3637 3896 w (sets) 3965 3896 w (dot) 4207 3896 w (for) 4415 3896 w (the) 4601 3896 w (com\255) 4802 3896 w (mand) 720 4016 w (language.) 1039 4016 w (An) 1592 4016 w (address-free) 1769 4016 w (command) 2443 4016 w (then) 2967 4016 w (typed) 3230 4016 w (in) 3548 4016 w (the) 3686 4016 w 10 /LucidaTypewriter f (sam) 3888 4016 w 10 /LucidaSansUnicode00 f (window) 4151 4016 w (will) 4567 4016 w (apply) 4778 4016 w (only) 720 4136 w (to) 962 4136 w (the) 1097 4136 w (text) 1289 4136 w (between) 1517 4136 w (the) 1961 4136 w (opening) 2153 4136 w (and) 2585 4136 w (closing) 2802 4136 w (braces) 3184 4136 w (of) 3538 4136 w (the) 3673 4136 w (function.) 3865 4136 w (The) 4367 4136 w (idea) 4585 4136 w (is) 4825 4136 w (to) 4942 4136 w (select) 720 4256 w (what) 1041 4256 w (you) 1313 4256 w (want,) 1530 4256 w (and) 1835 4256 w (then) 2057 4256 w (say) 2316 4256 w (what) 2516 4256 w (you) 2789 4256 w (want) 3006 4256 w (to) 3279 4256 w (do) 3419 4256 w (with) 3585 4256 w (it,) 3832 4256 w (whether) 3972 4256 w (invoked) 4405 4256 w (by) 4828 4256 w (a) 4985 4256 w (menu) 720 4376 w (selection) 1032 4376 w (or) 1503 4376 w (by) 1644 4376 w (a) 1798 4376 w (typed) 1892 4376 w (command.) 2202 4376 w (And) 2783 4376 w (of) 3016 4376 w (course,) 3153 4376 w (the) 3546 4376 w (value) 3740 4376 w (of) 4033 4376 w (dot) 4170 4376 w (is) 4369 4376 w (highlighted) 4487 4376 w (on) 720 4496 w (the) 889 4496 w (display) 1090 4496 w (after) 1478 4496 w (the) 1750 4496 w (command) 1951 4496 w (completes.) 2476 4496 w (This) 3084 4496 w (relationship) 3336 4496 w (between) 3958 4496 w (mouse) 4412 4496 w (inter\255) 4782 4496 w (face) 720 4616 w (and) 974 4616 w (command) 1208 4616 w (language) 1740 4616 w (is) 2237 4616 w (clumsy) 2371 4616 w (to) 2763 4616 w (explain,) 2915 4616 w (but) 3356 4616 w (comfortable,) 3572 4616 w (even) 4242 4616 w (natural,) 4522 4616 w (in) 4949 4616 w (practice.) 720 4736 w 10 /LucidaSans-Demi f (The Implementation) 720 4976 w 10 /LucidaSansUnicode00 f (The) 720 5132 w (next) 946 5132 w (few) 1207 5132 w (sections) 1422 5132 w (describe) 1865 5132 w (how) 2320 5132 w 10 /LucidaTypewriter f (sam) 2565 5132 w 10 /LucidaSansUnicode00 f (is) 2826 5132 w (put) 2951 5132 w (together,) 3159 5132 w (first) 3649 5132 w (the) 3890 5132 w (host) 4091 5132 w (part,) 4348 5132 w (then) 4622 5132 w (the) 4885 5132 w (inter-component) 720 5252 w (communication,) 1583 5252 w (then) 2395 5252 w (the) 2646 5252 w (terminal) 2835 5252 w (part.) 3271 5252 w (After) 3565 5252 w (explaining) 3839 5252 w (how) 4381 5252 w (the) 4614 5252 w (com\255) 4802 5252 w (mand) 720 5372 w (language) 1029 5372 w (is) 1508 5372 w (implemented,) 1624 5372 w (the) 2329 5372 w (discussion) 2520 5372 w (follows) 3066 5372 w (\(roughly\)) 3447 5372 w (the) 3918 5372 w (path) 4110 5372 w (of) 4364 5372 w (a) 4499 5372 w (character) 4591 5372 w (from) 720 5492 w (the) 1002 5492 w (temporary) 1207 5492 w (file) 1756 5492 w (on) 1957 5492 w (disc) 2130 5492 w (to) 2374 5492 w (the) 2522 5492 w (screen.) 2727 5492 w (The) 3158 5492 w (presentation) 3389 5492 w (centers) 4049 5492 w (on) 4453 5492 w (the) 4626 5492 w (data) 4830 5492 w (structures,) 720 5612 w (because) 1281 5612 w (that) 1715 5612 w (is) 1946 5612 w (how) 2067 5612 w (the) 2308 5612 w (program) 2504 5612 w (was) 2961 5612 w (designed) 3185 5612 w (and) 3668 5612 w (because) 3889 5612 w (the) 4324 5612 w (algorithms) 4520 5612 w (are easy to provide, given the right data structures.) 720 5732 w 10 /LucidaSans-Demi f (Parsing and execution) 720 5972 w 10 /LucidaSansUnicode00 f (The) 720 6128 w (command) 951 6128 w (language) 1479 6128 w (is) 1972 6128 w (interpreted) 2102 6128 w (by) 2693 6128 w (parsing) 2859 6128 w (each) 3273 6128 w (command) 3548 6128 w (with) 4077 6128 w (a) 4333 6128 w (table-driven) 4439 6128 w (recursive) 720 6248 w (descent) 1195 6248 w (parser,) 1607 6248 w (and) 1982 6248 w (when) 2198 6248 w (a) 2491 6248 w (complete) 2582 6248 w (command) 3064 6248 w (is) 3578 6248 w (assembled,) 3694 6248 w (invoking) 4279 6248 w (a) 4730 6248 w (top-) 4821 6248 w (down) 720 6368 w (executor.) 1019 6368 w (Most) 1544 6368 w (editors) 1815 6368 w (instead) 2189 6368 w (employ) 2578 6368 w (a) 2969 6368 w (simple) 3061 6368 w (character-at-a-time) 3419 6368 w (lexical) 4441 6368 w (scan\255) 4788 6368 w (ner.) 720 6488 w (Use) 976 6488 w (of) 1185 6488 w (a) 1316 6488 w (parser) 1404 6488 w (makes) 1744 6488 w (it) 2090 6488 w (easy) 2189 6488 w (and unambiguous to detect when a command is com\255) 2436 6488 w (plete,) 720 6608 w (which) 1051 6608 w (has) 1390 6608 w (two) 1616 6608 w (advantages.) 1849 6608 w (First,) 2519 6608 w (escape) 2821 6608 w (conventions) 3211 6608 w (such) 3853 6608 w (as) 4137 6608 w (backslashes) 4301 6608 w (to) 4942 6608 w (quote) 720 6728 w (multiple-line) 1057 6728 w (commands) 1747 6728 w (are) 2334 6728 w (unnecessary;) 2544 6728 w (if) 3265 6728 w (the) 3389 6728 w (command) 3602 6728 w (isn) 4138 6728 w 10 /LucidaSansUnicode20 f (\031) 4280 6728 w 10 /LucidaSansUnicode00 f (t) 4312 6728 w (finished,) 4407 6728 w (the) 4885 6728 w (parser) 720 6848 w (keeps) 1064 6848 w (reading.) 1385 6848 w (For) 1854 6848 w (example,) 2047 6848 w (a) 2529 6848 w (multiple-line) 2621 6848 w (append) 3290 6848 w (driven) 3689 6848 w (by) 4029 6848 w (an) 4181 6848 w 10 /LucidaTypewriter f (x) 4335 6848 w 10 /LucidaSansUnicode00 f (command) 4444 6848 w (is) 4960 6848 w (straightforward:) 720 6968 w cleartomark showpage saveobj restore %%EndPage: 14 14 %%Page: 15 15 /saveobj save def mark 15 pagesetup 10 /LucidaSansUnicode00 f (\255 15 \255) 2752 480 w 9 /LucidaTypewriter f (x/.*\\n/) 920 830 w (g/Peter/) 1440 830 w (a) 2025 830 w (one) 920 940 w (line) 1180 940 w (about) 1505 940 w (Peter) 1895 940 w (another) 920 1050 w (line) 1440 1050 w (about) 1765 1050 w (Peter) 2155 1050 w (.) 920 1160 w 10 /LucidaSansUnicode00 f (Other UNIX editors would require a backslash after all but the last line.) 720 1340 w (The other advantage is specific to the two-process) 970 1496 w (structure) 3469 1496 w (of) 3940 1496 w 10 /LucidaTypewriter f (sam) 4071 1496 w 10 /LucidaSansUnicode00 f (.) 4287 1496 w (The) 4384 1496 w (host) 4598 1496 w (pro\255) 4842 1496 w (cess) 720 1616 w (must) 977 1616 w (decide) 1268 1616 w (when) 1634 1616 w (a) 1939 1616 w (command) 2042 1616 w (is) 2568 1616 w (completed) 2696 1616 w (so) 3253 1616 w (the) 3413 1616 w (command) 3615 1616 w (interpreter) 4140 1616 w (can) 4706 1616 w (be) 4921 1616 w (called.) 720 1736 w (This) 1115 1736 w (problem) 1368 1736 w (is) 1822 1736 w (easily) 1950 1736 w (resolved) 2271 1736 w (by) 2729 1736 w (having) 2893 1736 w (the) 3264 1736 w (lexical) 3468 1736 w (analyzer) 3827 1736 w (read) 4283 1736 w (the) 4547 1736 w (single) 4751 1736 w (stream) 720 1856 w (of) 1090 1856 w (events) 1225 1856 w (from) 1576 1856 w (the) 1845 1856 w (terminal,) 2037 1856 w (directly) 2508 1856 w (executing) 2902 1856 w (all) 3414 1856 w (typing) 3563 1856 w (and) 3904 1856 w (mouse) 4120 1856 w (commands,) 4479 1856 w (but) 720 1976 w (passing) 920 1976 w (to) 1331 1976 w (the) 1467 1976 w (parser) 1660 1976 w (characters) 2005 1976 w (typed) 2543 1976 w (to) 2852 1976 w (the) 2989 1976 w 10 /LucidaTypewriter f (sam) 3183 1976 w 10 /LucidaSansUnicode00 f (command) 3438 1976 w (window.) 3955 1976 w (This) 4427 1976 w (scheme) 4671 1976 w (is) 720 2096 w (slightly) 843 2096 w (complicated) 1237 2096 w (by) 1868 2096 w (the) 2026 2096 w (availability) 2224 2096 w (of) 2781 2096 w (cut-and-paste) 2921 2096 w (editing) 3671 2096 w (in) 4051 2096 w (the) 4184 2096 w 10 /LucidaTypewriter f (sam) 4381 2096 w 10 /LucidaSansUnicode00 f (window,) 4639 2096 w (but that difficulty is resolved by) 720 2216 w (applying) 2296 2216 w (the) 2744 2216 w (rules) 2932 2216 w (used) 3204 2216 w (in) 3469 2216 w 10 /LucidaTypewriter f (mux) 3593 2216 w 10 /LucidaSansUnicode00 f (:) 3809 2216 w (when) 3874 2216 w (a) 4164 2216 w (newline) 4252 2216 w (is) 4656 2216 w (typed) 4769 2216 w (to) 720 2336 w (the) 866 2336 w 10 /LucidaTypewriter f (sam) 1069 2336 w 10 /LucidaSansUnicode00 f (window,) 1332 2336 w (all) 1780 2336 w (text) 1940 2336 w (between) 2178 2336 w (the) 2632 2336 w (newline) 2834 2336 w (and) 3252 2336 w (the) 3479 2336 w (previously) 3681 2336 w (typed) 4224 2336 w (newline) 4542 2336 w (is) 4960 2336 w (made) 720 2456 w (available) 1029 2456 w (to) 1494 2456 w (the) 1634 2456 w (parser.) 1831 2456 w (This) 2244 2456 w (permits) 2491 2456 w (arbitrary) 2903 2456 w (editing) 3359 2456 w (to) 3739 2456 w (be) 3879 2456 w (done) 4040 2456 w (to) 4324 2456 w (a) 4464 2456 w (command) 4562 2456 w (before typing newline and thereby requesting execution.) 720 2576 w (The) 970 2732 w (parser) 1190 2732 w (is) 1536 2732 w (driven) 1655 2732 w (by) 1997 2732 w (a) 2151 2732 w (table) 2245 2732 w (because) 2524 2732 w (the) 2957 2732 w (syntax) 3151 2732 w (of) 3508 2732 w (addresses) 3645 2732 w (and) 4171 2732 w (commands) 4391 2732 w (is) 4960 2732 w (regular) 720 2852 w (enough) 1121 2852 w (to) 1541 2852 w (be) 1694 2852 w (encoded) 1868 2852 w (compactly.) 2335 2852 w (There) 2945 2852 w (are) 3277 2852 w (few) 3483 2852 w (special) 3707 2852 w (cases,) 4095 2852 w (such) 4445 2852 w (as) 4725 2852 w (the) 4885 2852 w (replacement) 720 2972 w (text) 1383 2972 w (in) 1638 2972 w (a) 1793 2972 w (substitution,) 1912 2972 w (so) 2589 2972 w (the) 2765 2972 w (syntax) 2984 2972 w (of) 3366 2972 w (almost) 3528 2972 w (all) 3918 2972 w (commands) 4095 2972 w (can) 4688 2972 w (be) 4921 2972 w (encoded) 720 3092 w (with) 1174 3092 w (a) 1421 3092 w (few) 1518 3092 w (flags.) 1730 3092 w (These) 2070 3092 w (include) 2400 3092 w (whether) 2794 3092 w (the) 3227 3092 w (command) 3424 3092 w (allows) 3944 3092 w (an) 4288 3092 w (address) 4447 3092 w (\(for) 4868 3092 w (example,) 720 3212 w 10 /LucidaTypewriter f (e) 1204 3212 w 10 /LucidaSansUnicode00 f (does) 1315 3212 w (not\),) 1585 3212 w (whether) 1849 3212 w (it) 2279 3212 w (takes) 2384 3212 w (a) 2680 3212 w (regular) 2774 3212 w (expression) 3159 3212 w (\(as) 3729 3212 w (in) 3907 3212 w 10 /LucidaTypewriter f (x) 4037 3212 w 10 /LucidaSansUnicode00 f (and) 4148 3212 w 10 /LucidaTypewriter f (s) 4367 3212 w 10 /LucidaSansUnicode00 f (\),) 4439 3212 w (whether) 4543 3212 w (it) 4974 3212 w (takes) 720 3332 w (replacement) 1014 3332 w (text) 1650 3332 w (\(as) 1878 3332 w (in) 2054 3332 w 10 /LucidaTypewriter f (c) 2182 3332 w 10 /LucidaSansUnicode00 f (or) 2291 3332 w 10 /LucidaTypewriter f (i) 2430 3332 w 10 /LucidaSansUnicode00 f (\),) 2502 3332 w (which) 2604 3332 w (may) 2922 3332 w (be) 3158 3332 w (multi-line,) 3313 3332 w (and) 3865 3332 w (so) 4081 3332 w (on.) 4229 3332 w (The) 4452 3332 w (internal) 4669 3332 w (syntax) 720 3452 w (of) 1074 3452 w (regular) 1208 3452 w (expressions) 1591 3452 w (is) 2210 3452 w (handled) 2327 3452 w (by) 2754 3452 w (a) 2906 3452 w (separate) 2998 3452 w (parser;) 3449 3452 w (a) 3825 3452 w (regular) 3917 3452 w (expression) 4300 3452 w (is) 4868 3452 w (a) 4985 3452 w (leaf) 720 3572 w (of) 930 3572 w (the) 1061 3572 w (command parse tree.) 1249 3572 w (Regular expressions are discussed fully in the next sec\255) 2343 3572 w (tion.) 720 3692 w (The) 970 3848 w (parser) 1194 3848 w (table) 1544 3848 w (also) 1828 3848 w (has) 2068 3848 w (information) 2280 3848 w (about) 2891 3848 w (defaults,) 3213 3848 w (so) 3679 3848 w (the) 3835 3848 w (interpreter) 4034 3848 w (is) 4597 3848 w (always) 4721 3848 w (called) 720 3968 w (with) 1042 3968 w (a) 1286 3968 w (complete) 1380 3968 w (tree.) 1865 3968 w (For) 2158 3968 w (example,) 2353 3968 w (the) 2837 3968 w (parser) 3031 3968 w (fills) 3377 3968 w (in) 3591 3968 w (the) 3721 3968 w (implicit) 3915 3968 w 10 /LucidaTypewriter f (0) 4314 3968 w 10 /LucidaSansUnicode00 f (and) 4425 3968 w 10 /LucidaTypewriter f ($) 4644 3968 w 10 /LucidaSansUnicode00 f (in) 4755 3968 w (the) 4885 3968 w (abbreviated) 720 4088 w (address) 1328 4088 w 10 /LucidaTypewriter f (,) 1746 4088 w 10 /LucidaSansUnicode00 f (\(comma\),) 1856 4088 w (inserts) 2345 4088 w (a) 2710 4088 w 10 /LucidaTypewriter f (+) 2803 4088 w 10 /LucidaSansUnicode00 f (to) 2913 4088 w (the) 3049 4088 w (left) 3242 4088 w (of) 3439 4088 w (an) 3575 4088 w (unadorned) 3730 4088 w (regular) 4294 4088 w (expres\255) 4679 4088 w (sion) 720 4208 w (in) 967 4208 w (an) 1102 4208 w (address,) 1263 4208 w (and) 1719 4208 w (provides) 1943 4208 w (the) 2403 4208 w (usual) 2602 4208 w (default) 2905 4208 w (address) 3287 4208 w 10 /LucidaTypewriter f (.) 3710 4208 w 10 /LucidaSansUnicode00 f (\(dot\)) 3825 4208 w (for) 4095 4208 w (commands) 4277 4208 w (that) 4849 4208 w (expect an address but are not given one.) 720 4328 w (Once) 970 4484 w (a) 1252 4484 w (complete) 1342 4484 w (command) 1823 4484 w (is) 2336 4484 w (parsed,) 2452 4484 w (the) 2849 4484 w (evaluation) 3040 4484 w (is) 3574 4484 w (easy.) 3690 4484 w (The) 4004 4484 w (address) 4221 4484 w (is) 4637 4484 w (evalu\255) 4753 4484 w (ated) 720 4604 w (left-to-right) 967 4604 w (starting) 1606 4604 w (from) 2015 4604 w (the) 2282 4604 w (value) 2472 4604 w (of) 2761 4604 w (dot,) 2894 4604 w (with) 3122 4604 w (a) 3362 4604 w (mostly) 3452 4604 w (ordinary) 3810 4604 w (expression) 4249 4604 w (eval\255) 4815 4604 w (uator.) 720 4724 w (Addresses,) 1074 4724 w (like) 1641 4724 w (many) 1847 4724 w (of) 2143 4724 w (the) 2275 4724 w (data) 2464 4724 w (structures) 2708 4724 w (in) 3231 4724 w 10 /LucidaTypewriter f (sam) 3356 4724 w 10 /LucidaSansUnicode00 f (,) 3572 4724 w (are) 3638 4724 w (held) 3824 4724 w (in) 4068 4724 w (a) 4193 4724 w (C) 4283 4724 w (structure) 4387 4724 w (and) 4860 4724 w (passed around by value:) 720 4844 w 9 /LucidaTypewriter f (typedef) 920 5014 w (long) 1440 5014 w (Posn;) 1765 5014 w (/*) 2350 5014 w (Position) 2545 5014 w (in) 3130 5014 w (a) 3325 5014 w (file) 3455 5014 w (*/) 3780 5014 w (typedef) 920 5124 w (struct) 1440 5124 w (Range{) 1895 5124 w (Posn) 1440 5234 w (p1,) 1960 5234 w (p2;) 2220 5234 w (}Range;) 920 5344 w (typedef) 920 5454 w (struct) 1440 5454 w (Address{) 1895 5454 w (Range) 1440 5564 w (r;) 1960 5564 w (File) 1440 5674 w (*f;) 1960 5674 w (}Address;) 920 5784 w 10 /LucidaSansUnicode00 f (An) 720 5964 w (address) 895 5964 w (is) 1319 5964 w (encoded) 1443 5964 w (as) 1899 5964 w (a) 2049 5964 w (substring) 2148 5964 w (\(character) 2650 5964 w (positions) 3176 5964 w 10 /LucidaTypewriter f (p1) 3664 5964 w 10 /LucidaSansUnicode00 f (to) 3852 5964 w 10 /LucidaTypewriter f (p2) 3994 5964 w 10 /LucidaSansUnicode00 f (\)) 4138 5964 w (in) 4215 5964 w (a) 4350 5964 w (file) 4449 5964 w 10 /LucidaTypewriter f (f) 4645 5964 w 10 /LucidaSansUnicode00 f (.) 4717 5964 w (\(The) 4826 5964 w (data type) 720 6084 w 10 /LucidaTypewriter f (File) 1202 6084 w 10 /LucidaSansUnicode00 f (is described in detail below.\)) 1522 6084 w (The) 970 6240 w (address) 1197 6240 w (interpreter) 1623 6240 w (is) 2188 6240 w (an) 2314 6240 w 10 /LucidaTypewriter f (Address) 2477 6240 w 10 /LucidaSansUnicode00 f (-valued) 2981 6240 w (function) 3402 6240 w (that) 3849 6240 w (traverses) 4086 6240 w (the) 4572 6240 w (parse) 4774 6240 w (tree describing an address \(the parse tree for the address has type) 720 6360 w 10 /LucidaTypewriter f (Addrtree) 3992 6360 w 10 /LucidaSansUnicode00 f (\):) 4568 6360 w cleartomark showpage saveobj restore %%EndPage: 15 15 %%Page: 16 16 /saveobj save def mark 16 pagesetup 10 /LucidaSansUnicode00 f (\255 16 \255) 2752 480 w 9 /LucidaTypewriter f (Address) 920 830 w (address\(ap,) 920 940 w (a,) 1700 940 w (sign\)) 1895 940 w (Addrtree) 1440 1050 w (*ap;) 2025 1050 w (Address) 1440 1160 w (a;) 1960 1160 w (int) 1440 1270 w (sign;) 1700 1270 w ({) 920 1380 w (Address) 1440 1490 w (a2;) 1960 1490 w (do) 1440 1600 w (switch\(ap->type\){) 1960 1710 w (case) 1960 1820 w ('.':) 2285 1820 w (a=a.f->dot;) 2480 1930 w (break;) 2480 2040 w (case) 1960 2150 w ('$':) 2285 2150 w (a.r.p1=a.r.p2=a.f->nbytes;) 2480 2260 w (break;) 2480 2370 w (case) 1960 2480 w ('"':) 2285 2480 w (a=matchfile\(a,) 2480 2590 w (ap->aregexp\)->dot;) 3455 2590 w (break;) 2480 2700 w (case) 1960 2810 w (',':) 2285 2810 w (a2=address\(ap->right,) 2480 2920 w (a,) 3910 2920 w (0\);) 4105 2920 w (a=address\(ap->left,) 2480 3030 w (a,) 3780 3030 w (0\);) 3975 3030 w (if\(a.f!=a2.f) 2480 3140 w (||) 3325 3140 w (a2.r.p2right\)!=0\);) 1440 3800 w (return) 1440 3910 w (a;) 1895 3910 w (}) 920 4020 w 10 /LucidaSansUnicode00 f (Throughout,) 970 4236 w (errors) 1615 4236 w (are) 1947 4236 w (handled) 2140 4236 w (by) 2571 4236 w (a) 2727 4236 w (non-local) 2823 4236 w 10 /LucidaTypewriter f (goto) 3332 4236 w 10 /LucidaSansUnicode00 f (\(a) 3661 4236 w 10 /LucidaTypewriter f (setjmp/longjmp) 3790 4236 w 10 /LucidaSansUnicode00 f (in) 4839 4236 w (C) 4971 4236 w (terminology\)) 720 4356 w (hidden) 1380 4356 w (in) 1759 4356 w (a) 1894 4356 w (routine) 1993 4356 w (called) 2385 4356 w 10 /LucidaTypewriter f (error) 2712 4356 w 10 /LucidaSansUnicode00 f (that) 3115 4356 w (immediately) 3349 4356 w (aborts) 3984 4356 w (the) 4335 4356 w (execution,) 4533 4356 w (retracts) 720 4476 w (any) 1124 4476 w (partially) 1328 4476 w (made) 1753 4476 w (changes) 2055 4476 w (\(see) 2489 4476 w (the) 2720 4476 w (section) 2910 4476 w (below) 3293 4476 w (on) 3615 4476 w 10 /LucidaSansUnicode20 f (\030) 3774 4476 w 10 /LucidaSansUnicode00 f (undoing) 3806 4476 w 10 /LucidaSansUnicode20 f (\031) 4207 4476 w 10 /LucidaSansUnicode00 f (\),) 4239 4476 w (and) 4340 4476 w (returns) 4556 4476 w (to) 4942 4476 w (the) 720 4596 w (top) 926 4596 w (level) 1138 4596 w (of) 1411 4596 w (the) 1560 4596 w (parser.) 1766 4596 w (The) 2188 4596 w (argument) 2420 4596 w (to) 2939 4596 w 10 /LucidaTypewriter f (error) 3088 4596 w 10 /LucidaSansUnicode00 f (is) 3499 4596 w (an) 3630 4596 w (enumeration) 3797 4596 w (type) 4461 4596 w (that) 4719 4596 w (is) 4960 4596 w (translated) 720 4716 w (to) 1255 4716 w (a) 1402 4716 w (terse) 1506 4716 w (but) 1796 4716 w (possibly) 2007 4716 w (helpful) 2455 4716 w (message) 2842 4716 w (such) 3315 4716 w (as) 3590 4716 w 10 /LucidaSansUnicode20 f (\030) 3745 4716 w 10 /LucidaSansUnicode00 f (?addresses) 3777 4716 w (out) 4356 4716 w (of) 4566 4716 w (order.) 4714 4716 w 10 /LucidaSansUnicode20 f (\031) 5008 4716 w 10 /LucidaSansUnicode00 f (Very) 720 4836 w (common) 982 4836 w (messages) 1451 4836 w (are) 1974 4836 w (kept) 2174 4836 w (short;) 2436 4836 w (for) 2768 4836 w (example) 2955 4836 w (the) 3416 4836 w (message) 3619 4836 w (for) 4090 4836 w (a) 4276 4836 w (failed) 4378 4836 w (regular) 4694 4836 w (expression search is ) 720 4956 w 10 /LucidaSansUnicode20 f (\030) 1743 4956 w 10 /LucidaSansUnicode00 f (?search.) 1775 4956 w 10 /LucidaSansUnicode20 f (\031) 2165 4956 w 10 /LucidaSansUnicode00 f (Character) 970 5112 w (addresses) 1478 5112 w (such) 2006 5112 w (as) 2273 5112 w 10 /LucidaTypewriter f (#3) 2420 5112 w 10 /LucidaSansUnicode00 f (are) 2605 5112 w (trivial) 2798 5112 w (to) 3111 5112 w (implement,) 3250 5112 w (as) 3841 5112 w (the) 3988 5112 w 10 /LucidaTypewriter f (File) 4184 5112 w 10 /LucidaSansUnicode00 f (data) 4513 5112 w (struc\255) 4765 5112 w (ture) 720 5232 w (is) 956 5232 w (accessible) 1076 5232 w (by) 1608 5232 w (character) 1763 5232 w (number.) 2252 5232 w (However,) 2733 5232 w 10 /LucidaTypewriter f (sam) 3222 5232 w 10 /LucidaSansUnicode00 f (keeps) 3477 5232 w (no) 3800 5232 w (information) 3962 5232 w (about) 4568 5232 w (the) 4885 5232 w (position) 720 5352 w (of) 1151 5352 w (newlines) 1287 5352 w 10 /LucidaSansUnicode20 f (\024) 1747 5352 w 10 /LucidaSansUnicode00 f (it) 1885 5352 w (is) 1989 5352 w (too) 2107 5352 w (expensive) 2305 5352 w (to) 2830 5352 w (track) 2967 5352 w (dynamically) 3248 5352 w 10 /LucidaSansUnicode20 f (\024) 3857 5352 w 10 /LucidaSansUnicode00 f (so) 3996 5352 w (line) 4147 5352 w (addresses) 4362 5352 w (are) 4888 5352 w (computed) 720 5472 w (by) 1240 5472 w (reading) 1389 5472 w (the) 1791 5472 w (file,) 1979 5472 w (counting) 2195 5472 w (newlines.) 2654 5472 w (Except) 3173 5472 w (in) 3528 5472 w (very) 3652 5472 w (large) 3886 5472 w (files,) 4162 5472 w (this) 4429 5472 w (has) 4641 5472 w (pro\255) 4842 5472 w (ven) 720 5592 w (acceptable:) 926 5592 w (file) 1510 5592 w (access) 1698 5592 w (is) 2050 5592 w (fast) 2167 5592 w (enough) 2384 5592 w (to) 2786 5592 w (make) 2921 5592 w (the) 3220 5592 w (technique) 3412 5592 w (practical,) 3927 5592 w (and) 4407 5592 w (lines) 4624 5592 w (are) 4888 5592 w (not central to the structure of the command language.) 720 5712 w (The) 970 5868 w (command) 1207 5868 w (interpreter,) 1741 5868 w (called) 2348 5868 w 10 /LucidaTypewriter f (cmdexec) 2687 5868 w 10 /LucidaSansUnicode00 f (,) 3191 5868 w (is) 3279 5868 w (also) 3415 5868 w (straightforward.) 3667 5868 w (The) 4536 5868 w (parse) 4774 5868 w (table) 720 5988 w (includes) 1024 5988 w (a) 1491 5988 w (function) 1610 5988 w (to) 2075 5988 w (call) 2237 5988 w (to) 2464 5988 w (interpret) 2625 5988 w (a) 3110 5988 w (particular) 3228 5988 w (command.) 3754 5988 w (That) 4359 5988 w (function) 4639 5988 w (receives) 720 6108 w (as) 1154 6108 w (arguments) 1302 6108 w (the) 1863 6108 w (calculated) 2060 6108 w (address) 2590 6108 w (for) 3012 6108 w (the) 3193 6108 w (command) 3390 6108 w (and) 3910 6108 w (the) 4132 6108 w (command) 4329 6108 w (tree) 4850 6108 w (\(of) 720 6228 w (type) 893 6228 w 10 /LucidaTypewriter f (Cmdtree) 1143 6228 w 10 /LucidaSansUnicode00 f (\),) 1647 6228 w (which) 1754 6228 w (may) 2077 6228 w (contain) 2319 6228 w (information) 2718 6228 w (such) 3327 6228 w (as) 3594 6228 w (the) 3741 6228 w (subtree) 3937 6228 w (for) 4344 6228 w (compound) 4524 6228 w (commands.) 720 6348 w (Here, for example, is the function for the) 1345 6348 w 10 /LucidaTypewriter f (g) 3374 6348 w 10 /LucidaSansUnicode00 f (and) 3478 6348 w 10 /LucidaTypewriter f (v) 3690 6348 w 10 /LucidaSansUnicode00 f (commands:) 3794 6348 w cleartomark showpage saveobj restore %%EndPage: 16 16 %%Page: 17 17 /saveobj save def mark 17 pagesetup 10 /LucidaSansUnicode00 f (\255 17 \255) 2752 480 w 9 /LucidaTypewriter f (int) 920 830 w (g_cmd\(a,) 920 940 w (cp\)) 1505 940 w (Address) 1440 1050 w (a;) 1960 1050 w (Cmdtree) 1440 1160 w (*cp;) 1960 1160 w ({) 920 1270 w (compile\(cp->regexp\);) 1440 1380 w (if\(execute\(a.f,) 1440 1490 w (a.r.p1,) 2480 1490 w (a.r.p2\)!=\(cp->cmdchar=='v'\)\){) 3000 1490 w (a.f->dot=a;) 1960 1600 w (return) 1960 1710 w (cmdexec\(a,) 2415 1710 w (cp->subcmd\);) 3130 1710 w (}) 1440 1820 w (return) 1440 1930 w (TRUE;) 1895 1930 w (/*) 2480 1930 w (cause) 2675 1930 w (execution) 3065 1930 w (to) 3715 1930 w (continue) 3910 1930 w (*/) 4495 1930 w (}) 920 2040 w 10 /LucidaSansUnicode00 f (\() 720 2220 w 10 /LucidaTypewriter f (Compile) 753 2220 w 10 /LucidaSansUnicode00 f (and) 1289 2220 w 10 /LucidaTypewriter f (execute) 1501 2220 w 10 /LucidaSansUnicode00 f (are part of the) 2037 2220 w (regular) 2767 2220 w (expression) 3146 2220 w (code,) 3710 2220 w (described) 4006 2220 w (in) 4512 2220 w (the) 4636 2220 w (next) 4824 2220 w (section.\)) 720 2340 w (Because) 1209 2340 w (the) 1643 2340 w (parser) 1843 2340 w (and) 2195 2340 w (the) 2420 2340 w 10 /LucidaTypewriter f (File) 2620 2340 w 10 /LucidaSansUnicode00 f (data) 2953 2340 w (structure) 3208 2340 w (do) 3690 2340 w (most) 3858 2340 w (of) 4144 2340 w (the) 4286 2340 w (work,) 4485 2340 w (most) 4798 2340 w (commands are similarly brief.) 720 2460 w 10 /LucidaSans-Demi f (Regular expressions) 720 2700 w 10 /LucidaSansUnicode00 f (The) 720 2856 w (regular) 939 2856 w (expression) 1323 2856 w (code) 1892 2856 w (in) 2161 2856 w 10 /LucidaTypewriter f (sam) 2290 2856 w 10 /LucidaSansUnicode00 f (is) 2544 2856 w (an) 2662 2856 w (interpreted,) 2817 2856 w (rather) 3428 2856 w (than) 3758 2856 w (compiled) 4012 2856 w (on-the-fly,) 4496 2856 w (implementation) 720 2976 w (of) 1547 2976 w (Thompson) 1710 2976 w 10 /LucidaSansUnicode20 f (\031) 2226 2976 w 10 /LucidaSansUnicode00 f (s) 2258 2976 w (non-deterministic) 2374 2976 w (finite) 3316 2976 w (automaton) 3631 2976 w (algorithm.) 4218 2976 w 6 /LucidaSansUnicode00 f (12) 4719 2926 w 10 /LucidaSansUnicode00 f (The) 4859 2976 w (syntax) 720 3096 w (and) 1076 3096 w (semantics) 1295 3096 w (of) 1819 3096 w (the) 1956 3096 w (expressions) 2150 3096 w (are) 2771 3096 w (as) 2962 3096 w (in) 3107 3096 w (the) 3237 3096 w (UNIX) 3431 3096 w (program) 3705 3096 w 10 /LucidaTypewriter f (egrep) 4160 3096 w 10 /LucidaSansUnicode00 f (,) 4520 3096 w (including) 4591 3096 w (alternation,) 720 3216 w (closures,) 1310 3216 w (character) 1778 3216 w (classes,) 2261 3216 w (and) 2671 3216 w (so) 2885 3216 w (on.) 3031 3216 w (The) 3252 3216 w (only) 3467 3216 w (changes) 3705 3216 w (in) 4138 3216 w (the) 4263 3216 w (notation) 4451 3216 w (are) 4888 3216 w (two) 720 3336 w (additions:) 928 3336 w 10 /LucidaTypewriter f (\\n) 1443 3336 w 10 /LucidaSansUnicode00 f (is) 1620 3336 w (translated) 1734 3336 w (to,) 2254 3336 w (and) 2418 3336 w (matches,) 2632 3336 w (a) 3103 3336 w (newline) 3192 3336 w (character,) 3597 3336 w (and) 4112 3336 w 10 /LucidaTypewriter f (@) 4326 3336 w 10 /LucidaSansUnicode00 f (matches) 4432 3336 w (any) 4871 3336 w (character.) 720 3456 w (In) 1286 3456 w 10 /LucidaTypewriter f (egrep) 1430 3456 w 10 /LucidaSansUnicode00 f (,) 1790 3456 w (the) 1875 3456 w (character) 2082 3456 w 10 /LucidaTypewriter f (.) 2583 3456 w 10 /LucidaSansUnicode00 f (matches) 2707 3456 w (any) 3164 3456 w (character) 3385 3456 w (except) 3886 3456 w (newline,) 4262 3456 w (and) 4717 3456 w (in) 4949 3456 w 10 /LucidaTypewriter f (sam) 720 3576 w 10 /LucidaSansUnicode00 f (the) 980 3576 w (same) 1179 3576 w (rule) 1478 3576 w (seemed) 1710 3576 w (safest,) 2129 3576 w (to) 2492 3576 w (prevent) 2634 3576 w (idioms) 3045 3576 w (like) 3415 3576 w 10 /LucidaTypewriter f (.*) 3631 3576 w 10 /LucidaSansUnicode00 f (from) 3819 3576 w (spanning) 4095 3576 w (newlines.) 4586 3576 w 10 /LucidaTypewriter f (Egrep) 720 3696 w 10 /LucidaSansUnicode00 f (expressions) 1117 3696 w (are) 1736 3696 w (arguably) 1924 3696 w (too) 2379 3696 w (complicated) 2574 3696 w (for) 3198 3696 w (an) 3373 3696 w (interactive) 3526 3696 w (editor) 4067 3696 w 10 /LucidaSansUnicode20 f (\024) 4390 3696 w 10 /LucidaSansUnicode00 f (certainly) 4526 3696 w (it) 4974 3696 w (would) 720 3816 w (make) 1059 3816 w (sense) 1368 3816 w (if) 1691 3816 w (all) 1804 3816 w (the) 1964 3816 w (special) 2166 3816 w (characters) 2547 3816 w (were) 3094 3816 w (two-character) 3371 3816 w (sequences,) 4101 3816 w (so) 4689 3816 w (that) 4849 3816 w (most) 720 3936 w (of) 998 3936 w (the) 1132 3936 w (punctuation) 1323 3936 w (characters) 1940 3936 w (wouldn) 2476 3936 w 10 /LucidaSansUnicode20 f (\031) 2830 3936 w 10 /LucidaSansUnicode00 f (t) 2862 3936 w (have) 2935 3936 w (peculiar) 3196 3936 w (meanings) 3618 3936 w 10 /LucidaSansUnicode20 f (\024) 4124 3936 w 10 /LucidaSansUnicode00 f (but) 4259 3936 w (for) 4456 3936 w (an) 4630 3936 w (inter\255) 4782 3936 w (esting) 720 4056 w (command) 1060 4056 w (language,) 1581 4056 w (full) 2099 4056 w (regular) 2299 4056 w (expressions) 2688 4056 w (are) 3313 4056 w (necessary,) 3508 4056 w (and) 4058 4056 w 10 /LucidaTypewriter f (egrep) 4282 4056 w 10 /LucidaSansUnicode00 f (defines) 4686 4056 w (the) 720 4176 w (full) 921 4176 w (regular) 1124 4176 w (expression) 1516 4176 w (syntax) 2093 4176 w (for) 2457 4176 w (UNIX) 2642 4176 w (programs.) 2923 4176 w (Also,) 3500 4176 w (it) 3788 4176 w (seemed) 3900 4176 w (superfluous) 4321 4176 w (to) 4942 4176 w (define) 720 4296 w (a) 1056 4296 w (new) 1144 4296 w (syntax,) 1372 4296 w (since) 1755 4296 w (various) 2037 4296 w (UNIX) 2421 4296 w (programs) 2689 4296 w (\() 3189 4296 w 10 /LucidaTypewriter f (ed) 3222 4296 w 10 /LucidaSansUnicode00 f (,) 3366 4296 w 10 /LucidaTypewriter f (egrep) 3431 4296 w 10 /LucidaSansUnicode00 f (and) 3824 4296 w 10 /LucidaTypewriter f (vi) 4037 4296 w 10 /LucidaSansUnicode00 f (\)) 4181 4296 w (define) 4248 4296 w (too) 4585 4296 w (many) 4778 4296 w (already.) 720 4416 w (The) 970 4572 w (expressions) 1188 4572 w (are) 1807 4572 w (compiled) 1996 4572 w (by) 2479 4572 w (a) 2632 4572 w (routine,) 2725 4572 w 10 /LucidaTypewriter f (compile) 3143 4572 w 10 /LucidaSansUnicode00 f (,) 3647 4572 w (that) 3717 4572 w (generates) 3946 4572 w (the) 4460 4572 w (descrip\255) 4653 4572 w (tion) 720 4692 w (of) 951 4692 w (the) 1091 4692 w (non-deterministic) 1288 4692 w (finite) 2207 4692 w (state) 2499 4692 w (machine.) 2776 4692 w (A) 3289 4692 w (second) 3399 4692 w (routine,) 3784 4692 w 10 /LucidaTypewriter f (execute) 4205 4692 w 10 /LucidaSansUnicode00 f (,) 4709 4692 w (inter\255) 4782 4692 w (prets) 720 4812 w (the) 1012 4812 w (machine) 1211 4812 w (to) 1663 4812 w (generate) 1805 4812 w (the) 2274 4812 w (leftmost-longest) 2473 4812 w (match) 3334 4812 w (of) 3676 4812 w (the) 3819 4812 w (expression) 4019 4812 w (in) 4595 4812 w (a) 4731 4812 w (sub\255) 4831 4812 w (string) 720 4932 w (of) 1042 4932 w (the) 1180 4932 w (file.) 1375 4932 w (The) 1630 4932 w (algorithm) 1851 4932 w (is) 2360 4932 w (described) 2479 4932 w (elsewhere.) 2991 4932 w 6 /LucidaSansUnicode00 f (12,13) 3507 4882 w 10 /LucidaTypewriter f (Execute) 3717 4932 w 10 /LucidaSansUnicode00 f (reports) 4260 4932 w (whether) 4649 4932 w (a) 720 5052 w (match) 840 5052 w (was) 1203 5052 w (found,) 1451 5052 w (and) 1833 5052 w (sets) 2078 5052 w (a) 2338 5052 w (global) 2458 5052 w (variable,) 2823 5052 w (of) 3301 5052 w (type) 3465 5052 w 10 /LucidaTypewriter f (Range) 3739 5052 w 10 /LucidaSansUnicode00 f (,) 4099 5052 w (to) 4197 5052 w (the) 4361 5052 w (substring) 4582 5052 w (matched.) 720 5172 w (A) 970 5328 w (trick) 1083 5328 w (is) 1343 5328 w (required) 1467 5328 w (to) 1922 5328 w (evaluate) 2064 5328 w (the) 2510 5328 w (expression) 2709 5328 w (in) 3284 5328 w (reverse,) 3419 5328 w (such) 3848 5328 w (as) 4118 5328 w (when) 4269 5328 w (searching) 4571 5328 w (backwards for an expression.) 720 5448 w (For example,) 2213 5448 w 9 /LucidaTypewriter f (-/P.*r/) 920 5618 w 10 /LucidaSansUnicode00 f (looks) 720 5798 w (backwards) 1021 5798 w (through) 1576 5798 w (the) 2004 5798 w (file) 2200 5798 w (for) 2392 5798 w (a) 2572 5798 w (match) 2668 5798 w (of) 3007 5798 w (the) 3146 5798 w (expression.) 3342 5798 w (The) 3979 5798 w (expression,) 4202 5798 w (how\255) 4807 5798 w (ever,) 720 5918 w (is) 992 5918 w (defined) 1107 5918 w (for) 1507 5918 w (a) 1680 5918 w (forward) 1769 5918 w (search.) 2178 5918 w (The) 2592 5918 w (solution) 2807 5918 w (is) 3233 5918 w (to) 3347 5918 w (construct) 3479 5918 w (a) 3966 5918 w (machine) 4055 5918 w (identical) 4497 5918 w (to) 4942 5918 w (the) 720 6038 w (machine) 908 6038 w (for) 1349 6038 w (a) 1521 6038 w (forward) 1609 6038 w (search) 2017 6038 w (except) 2366 6038 w (for) 2723 6038 w (a) 2895 6038 w (reversal) 2983 6038 w (of) 3397 6038 w (all) 3528 6038 w (the) 3674 6038 w (concatenation) 3862 6038 w (operators) 4574 6038 w (\(the) 720 6158 w (other) 950 6158 w (operators) 1249 6158 w (are) 1757 6158 w (symmetric) 1951 6158 w (under) 2496 6158 w (direction) 2822 6158 w (reversal\),) 3293 6158 w (to) 3780 6158 w (exchange) 3919 6158 w (the) 4425 6158 w (meaning) 4621 6158 w (of) 720 6278 w (the) 852 6278 w (operators) 1041 6278 w 10 /LucidaTypewriter f (^) 1541 6278 w 10 /LucidaSansUnicode00 f (and) 1647 6278 w 10 /LucidaTypewriter f ($) 1861 6278 w 10 /LucidaSansUnicode00 f (,) 1933 6278 w (and) 1999 6278 w (then) 2213 6278 w (to) 2464 6278 w (read) 2596 6278 w (the) 2845 6278 w (file) 3034 6278 w (backwards,) 3219 6278 w (looking) 3800 6278 w (for) 4197 6278 w (the) 4371 6278 w (usual) 4561 6278 w (ear\255) 4855 6278 w (liest longest match.) 720 6398 w 10 /LucidaTypewriter f (Execute) 970 6554 w 10 /LucidaSansUnicode00 f (generates) 1521 6554 w (only) 2044 6554 w (one) 2295 6554 w (match) 2521 6554 w (each) 2866 6554 w (time) 3137 6554 w (it) 3399 6554 w (is) 3512 6554 w (called.) 3639 6554 w (To) 4033 6554 w (interpret) 4204 6554 w (looping) 4673 6554 w (constructs) 720 6674 w (such) 1269 6674 w (as) 1540 6674 w (the) 1691 6674 w 10 /LucidaTypewriter f (x) 1891 6674 w 10 /LucidaSansUnicode00 f (command,) 2008 6674 w 10 /LucidaTypewriter f (sam) 2563 6674 w 10 /LucidaSansUnicode00 f (must) 2824 6674 w (therefore) 3112 6674 w (synchronize) 3604 6674 w (between) 4232 6674 w (calls) 4683 6674 w (of) 4942 6674 w 10 /LucidaTypewriter f (execute) 720 6794 w 10 /LucidaSansUnicode00 f (to) 1260 6794 w (avoid) 1395 6794 w (problems) 1692 6794 w (with) 2186 6794 w (null) 2428 6794 w (matches.) 2647 6794 w (For) 3153 6794 w (example,) 3346 6794 w (even) 3828 6794 w (given) 4091 6794 w (the) 4389 6794 w (leftmost-) 4581 6794 w (longest) 720 6914 w (rule,) 1120 6914 w (the) 1382 6914 w (expression) 1578 6914 w 10 /LucidaTypewriter f (a*) 2150 6914 w 10 /LucidaSansUnicode00 f (matches) 2335 6914 w (three) 2781 6914 w (times) 3074 6914 w (in) 3381 6914 w (the) 3513 6914 w (string) 3709 6914 w 10 /LucidaTypewriter f (ab) 4032 6914 w 10 /LucidaSansUnicode00 f (\(the) 4217 6914 w (character) 4446 6914 w 10 /LucidaTypewriter f (a) 4936 6914 w 10 /LucidaSansUnicode00 f (,) 5008 6914 w (the) 720 7034 w (null) 914 7034 w (string) 1135 7034 w (between) 1456 7034 w (the) 1902 7034 w 10 /LucidaTypewriter f (a) 2096 7034 w 10 /LucidaSansUnicode00 f (and) 2207 7034 w 10 /LucidaTypewriter f (b) 2426 7034 w 10 /LucidaSansUnicode00 f (,) 2498 7034 w (and) 2569 7034 w (the) 2788 7034 w (final) 2982 7034 w (null) 3234 7034 w (string\).) 3456 7034 w (After) 3875 7034 w (returning) 4155 7034 w (a) 4647 7034 w (match) 4742 7034 w (for) 720 7154 w (the) 917 7154 w 10 /LucidaTypewriter f (a) 1130 7154 w 10 /LucidaSansUnicode00 f (,) 1202 7154 w 10 /LucidaTypewriter f (sam) 1292 7154 w 10 /LucidaSansUnicode00 f (must) 1566 7154 w (not) 1866 7154 w (match) 2083 7154 w (the) 2438 7154 w (null) 2650 7154 w (string) 2889 7154 w (before) 3228 7154 w (the) 3599 7154 w 10 /LucidaTypewriter f (b) 3811 7154 w 10 /LucidaSansUnicode00 f (.) 3883 7154 w (The) 4004 7154 w (algorithm) 4242 7154 w (starts) 4768 7154 w 10 /LucidaTypewriter f (execute) 720 7274 w 10 /LucidaSansUnicode00 f (at) 1259 7274 w (the) 1386 7274 w (end) 1576 7274 w (of) 1792 7274 w (its) 1925 7274 w (previous) 2077 7274 w (match,) 2527 7274 w (and) 2892 7274 w (if) 3107 7274 w (the) 3209 7274 w (match) 3400 7274 w (it) 3734 7274 w (returns) 3836 7274 w (is) 4222 7274 w (null) 4338 7274 w (and) 4556 7274 w (abuts) 4772 7274 w cleartomark showpage saveobj restore %%EndPage: 17 17 %%Page: 18 18 /saveobj save def mark 18 pagesetup 10 /LucidaSansUnicode00 f (\255 18 \255) 2752 480 w (the previous match, rejects the match and advances the initial position one character.) 720 840 w 10 /LucidaSans-Demi f (Memory allocation) 720 1080 w 10 /LucidaSansUnicode00 f (The) 720 1236 w (C) 946 1236 w (language) 1060 1236 w (has) 1548 1236 w (no) 1761 1236 w (memory) 1929 1236 w (allocation) 2370 1236 w (primitives,) 2884 1236 w (although) 3441 1236 w (a) 3916 1236 w (standard) 4016 1236 w (library) 4488 1236 w (rou\255) 4843 1236 w (tine,) 720 1356 w 10 /LucidaTypewriter f (malloc) 977 1356 w 10 /LucidaSansUnicode00 f (,) 1409 1356 w (provides) 1482 1356 w (adequate) 1938 1356 w (service) 2425 1356 w (for) 2801 1356 w (simple) 2980 1356 w (programs.) 3341 1356 w (For) 3912 1356 w (specific) 4108 1356 w (uses,) 4515 1356 w (how\255) 4807 1356 w (ever,) 720 1476 w (it) 991 1476 w (can) 1091 1476 w (be) 1293 1476 w (better) 1446 1476 w (to) 1770 1476 w (write) 1902 1476 w (a) 2176 1476 w (custom) 2265 1476 w (allocator.) 2654 1476 w (The) 3172 1476 w (allocator) 3388 1476 w (\(or) 3842 1476 w (rather,) 4012 1476 w (pair) 4371 1476 w (of) 4594 1476 w (alloca\255) 4727 1476 w (tors\)) 720 1596 w (described) 1008 1596 w (here) 1546 1596 w (work) 1826 1596 w (in) 2128 1596 w (both) 2283 1596 w (the) 2570 1596 w (terminal) 2789 1596 w (and) 3255 1596 w (host) 3499 1596 w (parts) 3774 1596 w (of) 4085 1596 w 10 /LucidaTypewriter f (sam) 4247 1596 w 10 /LucidaSansUnicode00 f (.) 4463 1596 w (They) 4591 1596 w (are) 4888 1596 w (designed) 720 1716 w (for) 1202 1716 w (efficient) 1381 1716 w (manipulation) 1815 1716 w (of) 2493 1716 w (strings,) 2632 1716 w (which) 3038 1716 w (are) 3360 1716 w (allocated) 3553 1716 w (and) 4030 1716 w (freed) 4251 1716 w (frequently) 4545 1716 w (and) 720 1836 w (vary) 943 1836 w (in) 1186 1836 w (length) 1320 1836 w (from) 1671 1836 w (essentially) 1946 1836 w (zero) 2496 1836 w (to) 2754 1836 w (32) 2895 1836 w (Kbytes) 3064 1836 w (\(very) 3431 1836 w (large) 3707 1836 w (strings) 3992 1836 w (are) 4367 1836 w (written) 4561 1836 w (to) 4942 1836 w (disc\).) 720 1956 w (More) 1066 1956 w (important,) 1365 1956 w (strings) 1930 1956 w (may) 2318 1956 w (be) 2573 1956 w (large) 2747 1956 w (and) 3045 1956 w (change) 3280 1956 w (size) 3683 1956 w (often,) 3931 1956 w (so) 4271 1956 w (to) 4438 1956 w (minimize) 4592 1956 w (memory) 720 2076 w (usage) 1164 2076 w (it) 1498 2076 w (is) 1612 2076 w (helpful) 1740 2076 w (to) 2126 2076 w (reclaim) 2272 2076 w (and) 2674 2076 w (to) 2902 2076 w (coalesce) 3048 2076 w (the) 3505 2076 w (unused) 3707 2076 w (portions) 4110 2076 w (of) 4562 2076 w (strings) 4707 2076 w (when they are truncated.) 720 2196 w (Objects) 970 2352 w (to) 1379 2352 w (be) 1520 2352 w (allocated) 1682 2352 w (in) 2161 2352 w 10 /LucidaTypewriter f (sam) 2295 2352 w 10 /LucidaSansUnicode00 f (are) 2554 2352 w (of) 2749 2352 w (two) 2890 2352 w (flavors:) 3108 2352 w (the) 3509 2352 w (first) 3707 2352 w (is) 3945 2352 w (C) 4068 2352 w 10 /LucidaTypewriter f (structs) 4180 2352 w 10 /LucidaSansUnicode00 f (,) 4684 2352 w (which) 4759 2352 w (are) 720 2472 w (small) 913 2472 w (and) 1211 2472 w (often) 1432 2472 w (addressed) 1726 2472 w (by) 2265 2472 w (pointer) 2420 2472 w (variables;) 2809 2472 w (the) 3312 2472 w (second) 3507 2472 w (is) 3891 2472 w (variable-sized) 4011 2472 w (arrays) 4745 2472 w (of) 720 2592 w (characters) 856 2592 w (or) 1394 2592 w (integers) 1534 2592 w (whose) 1966 2592 w (base) 2311 2592 w (pointer) 2574 2592 w (is) 2961 2592 w (always) 3079 2592 w (used) 3436 2592 w (to) 3706 2592 w (access) 3842 2592 w (them.) 4195 2592 w (The) 4545 2592 w (mem\255) 4765 2592 w (ory) 720 2712 w (allocator) 919 2712 w (in) 1383 2712 w 10 /LucidaTypewriter f (sam) 1519 2712 w 10 /LucidaSansUnicode00 f (is) 1780 2712 w (therefore) 1905 2712 w (in) 2397 2712 w (two) 2532 2712 w (parts:) 2751 2712 w (first,) 3074 2712 w (a) 3345 2712 w (traditional) 3444 2712 w (first-fit) 3986 2712 w (allocator) 4386 2712 w (that) 4849 2712 w (provides) 720 2832 w (fixed) 1174 2832 w (storage) 1458 2832 w (for) 1859 2832 w 10 /LucidaTypewriter f (structs) 2036 2832 w 10 /LucidaSansUnicode00 f (;) 2540 2832 w (and) 2610 2832 w (second,) 2828 2832 w (a) 3242 2832 w (garbage-compacting) 3336 2832 w (allocator) 4391 2832 w (that) 4849 2832 w (reduces) 720 2952 w (storage) 1141 2952 w (overhead) 1545 2952 w (for) 2032 2952 w (variable-sized) 2212 2952 w (objects,) 2947 2952 w (at) 3369 2952 w (the) 3502 2952 w (cost) 3698 2952 w (of) 3939 2952 w (some) 4078 2952 w (bookkeeping.) 4379 2952 w (The) 720 3072 w (two) 969 3072 w (types) 1212 3072 w (of) 1539 3072 w (objects) 1705 3072 w (are) 2122 3072 w (allocated) 2342 3072 w (from) 2846 3072 w (adjoining) 3147 3072 w (arenas,) 3669 3072 w (with) 4090 3072 w (the) 4364 3072 w (garbage-) 4588 3072 w (compacting) 720 3192 w (allocator) 1329 3192 w (controlling) 1793 3192 w (the) 2362 3192 w (arena) 2561 3192 w (with) 2874 3192 w (higher) 3123 3192 w (addresses.) 3479 3192 w (Separating) 4074 3192 w (into) 4632 3192 w (two) 4865 3192 w (arenas) 720 3312 w (simplifies) 1094 3312 w (compaction) 1616 3312 w (and) 2234 3312 w (prevents) 2469 3312 w (fragmentation) 2942 3312 w (due) 3684 3312 w (to) 3920 3312 w (immovable) 4073 3312 w (objects.) 4659 3312 w (The) 720 3432 w (access) 954 3432 w (rules) 1322 3432 w (for) 1614 3432 w (garbage-compactable) 1806 3432 w (objects) 2925 3432 w (\(discussed) 3327 3432 w (in) 3890 3432 w (the) 4034 3432 w (next) 4242 3432 w (paragraph\)) 4510 3432 w (allow) 720 3552 w (them) 1031 3552 w (to) 1339 3552 w (be) 1497 3552 w (relocated,) 1676 3552 w (so) 2217 3552 w (when) 2389 3552 w (the) 2706 3552 w (first-fit) 2921 3552 w (arena) 3337 3552 w (needs) 3666 3552 w (space,) 4015 3552 w (it) 4384 3552 w (moves) 4511 3552 w (the) 4885 3552 w (garbage-compacted) 720 3672 w (arena) 1740 3672 w (to) 2047 3672 w (higher) 2183 3672 w (addresses) 2533 3672 w (to) 3058 3672 w (make) 3194 3672 w (room.) 3494 3672 w (Storage) 3852 3672 w (is) 4256 3672 w (therefore) 4374 3672 w (cre\255) 4859 3672 w (ated) 720 3792 w (only) 965 3792 w (at) 1203 3792 w (successively) 1329 3792 w (higher) 1954 3792 w (addresses,) 2300 3792 w (either) 2853 3792 w (when) 3169 3792 w (more) 3461 3792 w (garbage-compacted) 3747 3792 w (space) 4764 3792 w (is needed or when the first-fit arena pushes up the other arena.) 720 3912 w (Objects) 970 4068 w (that) 1371 4068 w (may) 1598 4068 w (be) 1834 4068 w (compacted) 1989 4068 w (declare) 2555 4068 w (to) 2942 4068 w (the) 3076 4068 w (allocator) 3267 4068 w (a) 3722 4068 w (cell) 3813 4068 w (that) 4014 4068 w (is) 4241 4068 w (guaranteed) 4357 4068 w (to) 4942 4068 w (be) 720 4188 w (the) 884 4188 w (sole) 1084 4188 w (repository) 1326 4188 w (of) 1863 4188 w (the) 2006 4188 w (address) 2206 4188 w (of) 2631 4188 w (the) 2774 4188 w (object) 2974 4188 w (whenever) 3317 4188 w (a) 3824 4188 w (compaction) 3923 4188 w (can) 4530 4188 w (occur.) 4742 4188 w (The) 720 4308 w (compactor) 946 4308 w (can) 1504 4308 w (then) 1717 4308 w (update) 1979 4308 w (the) 2360 4308 w (address) 2560 4308 w (when) 2985 4308 w (the) 3287 4308 w (object) 3488 4308 w (is) 3832 4308 w (moved.) 3958 4308 w (For) 4393 4308 w (example,) 4595 4308 w (the implementation of type) 720 4428 w 10 /LucidaTypewriter f (List) 2071 4428 w 10 /LucidaSansUnicode00 f (\(really a variable-length array\) is:) 2391 4428 w 9 /LucidaTypewriter f (typedef) 920 4598 w (struct) 1440 4598 w (List{) 1895 4598 w (int) 1440 4708 w (nused;) 1960 4708 w (long) 1440 4818 w (*ptr;) 1960 4818 w (}List;) 920 4928 w 10 /LucidaSansUnicode00 f (The) 720 5108 w 10 /LucidaTypewriter f (ptr) 945 5108 w 10 /LucidaSansUnicode00 f (cell) 1205 5108 w (must) 1414 5108 w (always) 1701 5108 w (be) 2064 5108 w (used) 2228 5108 w (directly,) 2505 5108 w (and) 2940 5108 w (never) 3165 5108 w (copied.) 3477 5108 w (When) 3909 5108 w (a) 4220 5108 w 10 /LucidaTypewriter f (List) 4320 5108 w 10 /LucidaSansUnicode00 f (is) 4653 5108 w (to) 4778 5108 w (be) 4921 5108 w (created) 720 5228 w (the) 1112 5228 w 10 /LucidaTypewriter f (List) 1300 5228 w 10 /LucidaSansUnicode00 f (structure) 1621 5228 w (is) 2092 5228 w (allocated) 2205 5228 w (in) 2674 5228 w (the) 2798 5228 w (ordinary) 2986 5228 w (first-fit arena and its) 3423 5228 w 10 /LucidaTypewriter f (ptr) 4473 5228 w 10 /LucidaSansUnicode00 f (is allo\255) 4721 5228 w (cated) 720 5348 w (in) 1018 5348 w (the) 1145 5348 w (garbage-compacted) 1336 5348 w (arena.) 2354 5348 w (A) 2723 5348 w (similar) 2828 5348 w (data) 3191 5348 w (type) 3437 5348 w (for) 3681 5348 w (strings,) 3856 5348 w (called) 4257 5348 w 10 /LucidaTypewriter f (String) 4576 5348 w 10 /LucidaSansUnicode00 f (,) 5008 5348 w (stores variable-length character arrays of up to 32767 elements.) 720 5468 w (A) 970 5624 w (related) 1075 5624 w (matter) 1448 5624 w (of) 1803 5624 w (programming) 1937 5624 w (style:) 2635 5624 w 10 /LucidaTypewriter f (sam) 2928 5624 w 10 /LucidaSansUnicode00 f (frequently) 3180 5624 w (passes) 3712 5624 w (structures) 4076 5624 w (by) 4602 5624 w (value,) 4754 5624 w (which) 720 5744 w (simplifies) 1048 5744 w (the) 1562 5744 w (code.) 1764 5744 w (Traditionally,) 2106 5744 w (C) 2790 5744 w (programs) 2906 5744 w (have) 3420 5744 w (passed) 3692 5744 w (structures) 4078 5744 w (by) 4614 5744 w (refer\255) 4776 5744 w (ence,) 720 5864 w (but) 1022 5864 w (implicit) 1229 5864 w (allocation) 1634 5864 w (on) 2148 5864 w (the) 2316 5864 w (stack) 2516 5864 w (is) 2813 5864 w (easier) 2938 5864 w (to) 3271 5864 w (use.) 3414 5864 w (Structure) 3693 5864 w (passing) 4180 5864 w (is) 4599 5864 w (a) 4725 5864 w (rela\255) 4826 5864 w (tively) 720 5984 w (new) 1012 5984 w (feature) 1244 5984 w (of) 1625 5984 w (C) 1760 5984 w (\(it) 1866 5984 w (is) 2002 5984 w (not) 2119 5984 w (in) 2315 5984 w (the) 2442 5984 w (standard) 2633 5984 w (reference) 3096 5984 w (manual) 3588 5984 w (for) 3980 5984 w (C) 4155 5984 w 6 /LucidaSansUnicode00 f (14) 4224 5934 w 10 /LucidaSansUnicode00 f (\),) 4300 5984 w (and) 4401 5984 w (is) 4617 5984 w (poorly) 4733 5984 w (supported in most) 720 6104 w (commercial) 1647 6104 w (C) 2239 6104 w (compilers.) 2341 6104 w (It) 2912 6104 w 10 /LucidaSansUnicode20 f (\031) 2978 6104 w 10 /LucidaSansUnicode00 f (s) 3010 6104 w (convenient) 3094 6104 w (and) 3655 6104 w (expressive,) 3868 6104 w (though,) 4449 6104 w (and) 4860 6104 w (simplifies) 720 6224 w (memory) 1244 6224 w (management) 1696 6224 w (by) 2383 6224 w (avoiding) 2554 6224 w (the) 3023 6224 w (allocator) 3234 6224 w (altogether) 3709 6224 w (and) 4261 6224 w (eliminating) 4497 6224 w (pointer aliases.) 720 6344 w 10 /LucidaSans-Demi f (Data structures for manipulating files) 720 6584 w 10 /LucidaSansUnicode00 f (Experience) 720 6740 w (with) 1289 6740 w 10 /LucidaTypewriter f (jim) 1534 6740 w 10 /LucidaSansUnicode00 f (showed) 1790 6740 w (that) 2200 6740 w (the) 2431 6740 w (requirements) 2626 6740 w (of) 3313 6740 w (the) 3451 6740 w (file) 3646 6740 w (data) 3837 6740 w (structure) 4088 6740 w (were) 4567 6740 w (few,) 4838 6740 w (but) 720 6860 w (strict.) 926 6860 w (First,) 1279 6860 w (files) 1566 6860 w (need) 1811 6860 w (to) 2091 6860 w (be) 2232 6860 w (read) 2394 6860 w (and) 2652 6860 w (written) 2875 6860 w (quickly;) 3257 6860 w (adding) 3676 6860 w (a) 4053 6860 w (fresh) 4151 6860 w (file) 4441 6860 w (must) 4635 6860 w (be) 4921 6860 w (painless.) 720 6980 w (Second,) 1221 6980 w (the) 1641 6980 w (implementation) 1837 6980 w (must) 2640 6980 w (place) 2925 6980 w (no) 3221 6980 w (arbitrary) 3386 6980 w (upper) 3842 6980 w (limit) 4169 6980 w (on) 4428 6980 w (the) 4593 6980 w (num\255) 4790 6980 w (ber) 720 7100 w (or) 915 7100 w (sizes) 1052 7100 w (of) 1331 7100 w (files.) 1464 7100 w (\(It) 1765 7100 w (should) 1899 7100 w (be) 2261 7100 w (practical) 2414 7100 w (to) 2859 7100 w (edit) 2991 7100 w (many) 3210 7100 w (files,) 3506 7100 w (and) 3774 7100 w (files) 3988 7100 w (up) 4224 7100 w (to) 4383 7100 w (megabytes) 4515 7100 w (in) 720 7220 w (length) 846 7220 w (should) 1189 7220 w (be) 1552 7220 w (handled) 1707 7220 w (gracefully.\)) 2133 7220 w (This) 2740 7220 w (implies) 2981 7220 w (that) 3367 7220 w (files) 3594 7220 w (be) 3832 7220 w (stored) 3987 7220 w (on) 4332 7220 w (disc,) 4491 7220 w (not) 4753 7220 w (in) 4949 7220 w cleartomark showpage saveobj restore %%EndPage: 18 18 %%Page: 19 19 /saveobj save def mark 19 pagesetup 10 /LucidaSansUnicode00 f (\255 19 \255) 2752 480 w (main) 720 840 w (memory.) 997 840 w (\(Aficionados) 1495 840 w (of) 2134 840 w (virtual) 2270 840 w (memory) 2613 840 w (may) 3046 840 w (argue) 3283 840 w (otherwise,) 3596 840 w (but) 4135 840 w (the) 4334 840 w (implemen\255) 4526 840 w (tation) 720 960 w (of) 1040 960 w (virtual) 1177 960 w (memory) 1521 960 w (in) 1956 960 w (our) 2086 960 w (system) 2289 960 w (is) 2668 960 w (not) 2787 960 w (something) 2986 960 w (to) 3538 960 w (depend) 3676 960 w (on) 4079 960 w (for) 4242 960 w (good) 4421 960 w (perfor\255) 4708 960 w (mance.\)) 720 1080 w (Third,) 1189 1080 w (changes) 1534 1080 w (to) 1988 1080 w (files) 2141 1080 w (need) 2398 1080 w (be) 2690 1080 w (made) 2864 1080 w (by) 3186 1080 w (only) 3356 1080 w (two) 3615 1080 w (primitives:) 3845 1080 w (deletion) 4412 1080 w (and) 4860 1080 w (insertion.) 720 1200 w (These) 1250 1200 w (are) 1576 1200 w (inverses) 1766 1200 w (of) 2202 1200 w (each) 2338 1200 w (other,) 2600 1200 w (which) 2927 1200 w (simplifies) 3247 1200 w (the) 3753 1200 w (implementation) 3947 1200 w (of) 4748 1200 w (the) 4885 1200 w (undo) 720 1320 w (operation.) 1006 1320 w (Finally,) 1573 1320 w (it) 1953 1320 w (must) 2057 1320 w (be) 2338 1320 w (easy) 2495 1320 w (and) 2747 1320 w (efficient) 2965 1320 w (to) 3397 1320 w (access) 3532 1320 w (the) 3884 1320 w (file,) 4076 1320 w (either) 4296 1320 w (forwards) 4614 1320 w (or backwards, a byte at a time.) 720 1440 w (The) 970 1596 w 10 /LucidaTypewriter f (File) 1199 1596 w 10 /LucidaSansUnicode00 f (data) 1535 1596 w (type) 1793 1596 w (is) 2049 1596 w (constructed) 2177 1596 w (from) 2797 1596 w (three) 3077 1596 w (simpler) 3377 1596 w (data) 3788 1596 w (structures) 4047 1596 w (that) 4585 1596 w (hold) 4825 1596 w (arrays) 720 1716 w (of) 1048 1716 w (characters.) 1179 1716 w (Each) 1776 1716 w (of) 2031 1716 w (these) 2162 1716 w (types has an insertion and deletion operator, and the) 2457 1716 w (insertion and deletion operators of the) 720 1836 w 10 /LucidaTypewriter f (File) 2632 1836 w 10 /LucidaSansUnicode00 f (type itself are constructed from them.) 2952 1836 w (The) 970 1992 w (simplest) 1192 1992 w (type) 1642 1992 w (is) 1891 1992 w (the) 2012 1992 w 10 /LucidaTypewriter f (String) 2208 1992 w 10 /LucidaSansUnicode00 f (,) 2640 1992 w (which) 2713 1992 w (is) 3035 1992 w (used) 3156 1992 w (to) 3429 1992 w (hold) 3568 1992 w (strings) 3824 1992 w (in) 4198 1992 w (main) 4331 1992 w (memory.) 4612 1992 w (The) 720 2112 w (code) 940 2112 w (that) 1210 2112 w (manages) 1440 2112 w 10 /LucidaTypewriter f (Strings) 1913 2112 w 10 /LucidaSansUnicode00 f (guarantees) 2456 2112 w (that) 3032 2112 w (they) 3262 2112 w (will) 3508 2112 w (never) 3711 2112 w (be) 4017 2112 w (longer) 4175 2112 w (than) 4525 2112 w (some) 4779 2112 w (moderate) 720 2232 w (size,) 1217 2232 w (and) 1477 2232 w (in) 1692 2232 w (practice) 1818 2232 w (they) 2236 2232 w (are) 2478 2232 w (rarely) 2665 2232 w (larger) 2974 2232 w (than) 3293 2232 w (8) 3544 2232 w (Kbytes.) 3642 2232 w 10 /LucidaTypewriter f (Strings) 4065 2232 w 10 /LucidaSansUnicode00 f (have) 4604 2232 w (two) 4865 2232 w (purposes:) 720 2352 w (they) 1240 2352 w (hold) 1487 2352 w (short) 1742 2352 w (strings) 2034 2352 w (like) 2407 2352 w (file) 2618 2352 w (names) 2808 2352 w (with) 3164 2352 w (little) 3408 2352 w (overhead,) 3664 2352 w (and) 4181 2352 w (because) 4400 2352 w (they) 4833 2352 w (are) 720 2472 w (deliberately) 909 2472 w (small,) 1512 2472 w (they) 1838 2472 w (are) 2082 2472 w (efficient) 2272 2472 w (to) 2704 2472 w (modify.) 2840 2472 w (They) 3277 2472 w (are) 3548 2472 w (therefore) 3738 2472 w (used) 4223 2472 w (as) 4493 2472 w (the) 4637 2472 w (data) 4830 2472 w (structure for in-memory caches.) 720 2592 w (The) 970 2748 w (disc) 1188 2748 w (copy) 1419 2748 w (of) 1683 2748 w (the) 1818 2748 w (file) 2010 2748 w (is) 2198 2748 w (managed) 2315 2748 w (by) 2798 2748 w (a) 2950 2748 w (data) 3042 2748 w (structure) 3289 2748 w (called) 3764 2748 w (a) 4084 2748 w 10 /LucidaTypewriter f (Disc) 4177 2748 w 10 /LucidaSansUnicode00 f (,) 4465 2748 w (which) 4535 2748 w (cor\255) 4854 2748 w (responds) 720 2868 w (to) 1203 2868 w (a) 1336 2868 w (temporary) 1426 2868 w (file.) 1960 2868 w (A) 2210 2868 w 10 /LucidaTypewriter f (Disc) 2314 2868 w 10 /LucidaSansUnicode00 f (has) 2637 2868 w (no) 2840 2868 w (storage) 2998 2868 w (in) 3395 2868 w (main) 3520 2868 w (memory) 3793 2868 w (other) 4223 2868 w (than) 4514 2868 w (book\255) 4764 2868 w (keeping information; the actual data being held is all on the) 720 2988 w (disc.) 3665 2988 w (To) 3956 2988 w (reduce) 4113 2988 w (the) 4475 2988 w (number) 4663 2988 w (of) 720 3108 w (open) 872 3108 w (files) 1167 3108 w (needed,) 1422 3108 w 10 /LucidaTypewriter f (sam) 1863 3108 w 10 /LucidaSansUnicode00 f (opens) 2132 3108 w (a) 2478 3108 w (dozen) 2586 3108 w (temporary) 2938 3108 w (UNIX) 3490 3108 w (files) 3778 3108 w (and) 4033 3108 w (multiplexes) 4266 3108 w (the) 4885 3108 w 10 /LucidaTypewriter f (Discs) 720 3228 w 10 /LucidaSansUnicode00 f (upon) 1128 3228 w (them.) 1424 3228 w (This) 1784 3228 w (permits) 2037 3228 w (many) 2455 3228 w (files) 2765 3228 w (to) 3015 3228 w (be) 3161 3228 w (edited;) 3328 3228 w (the) 3712 3228 w (entire) 3915 3228 w 10 /LucidaTypewriter f (sam) 4245 3228 w 10 /LucidaSansUnicode00 f (source) 4510 3228 w (\(48) 4881 3228 w (files\)) 720 3348 w (may) 997 3348 w (be) 1239 3348 w (edited) 1400 3348 w (comfortably) 1746 3348 w (with) 2368 3348 w (a) 2615 3348 w (single) 2712 3348 w (instance) 3043 3348 w (of) 3488 3348 w 10 /LucidaTypewriter f (sam) 3628 3348 w 10 /LucidaSansUnicode00 f (.) 3844 3348 w (Allocating) 3950 3348 w (one) 4476 3348 w (tempo\255) 4697 3348 w (rary) 720 3468 w (file) 959 3468 w (per) 1160 3468 w 10 /LucidaTypewriter f (Disc) 1370 3468 w 10 /LucidaSansUnicode00 f (would) 1708 3468 w (strain) 2050 3468 w (the) 2376 3468 w (operating) 2582 3468 w (system) 3099 3468 w 10 /LucidaSansUnicode20 f (\031) 3439 3468 w 10 /LucidaSansUnicode00 f (s) 3471 3468 w (limit) 3573 3468 w (on) 3841 3468 w (the) 4015 3468 w (number) 4221 3468 w (of) 4649 3468 w (open) 4798 3468 w (files.) 720 3588 w (Also,) 1041 3588 w (spreading) 1338 3588 w (the) 1875 3588 w (traffic) 2085 3588 w (among) 2426 3588 w (temporary) 2813 3588 w (files) 3366 3588 w (keeps) 3622 3588 w (the) 3960 3588 w (files) 4169 3588 w (shorter,) 4425 3588 w (and) 4860 3588 w (shorter files are more efficiently implemented by the UNIX I/O subsystem.) 720 3708 w (A) 970 3864 w 10 /LucidaTypewriter f (Disc) 1078 3864 w 10 /LucidaSansUnicode00 f (is) 1405 3864 w (an) 1524 3864 w (array) 1680 3864 w (of) 1964 3864 w (fixed-length) 2102 3864 w (blocks,) 2754 3864 w (each) 3139 3864 w (of) 3403 3864 w (which) 3541 3864 w (contains) 3862 3864 w (between) 4310 3864 w (1) 4757 3864 w (and) 4860 3864 w (4096) 720 3984 w (characters) 1013 3984 w (of) 1554 3984 w (active) 1693 3984 w (data.) 2013 3984 w (\(The) 2327 3984 w (block) 2581 3984 w (size) 2883 3984 w (of) 3116 3984 w (our) 3254 3984 w (UNIX) 3458 3984 w (file) 3733 3984 w (system) 3924 3984 w (is) 4304 3984 w (4096) 4424 3984 w (bytes.\)) 4716 3984 w (The) 720 4104 w (block) 935 4104 w (addresses) 1231 4104 w (within) 1752 4104 w (the) 2082 4104 w (temporary) 2271 4104 w (file) 2804 4104 w (and) 2989 4104 w (the) 3203 4104 w (length) 3392 4104 w (of) 3734 4104 w (each) 3866 4104 w (block) 4124 4104 w (are) 4420 4104 w (stored) 4606 4104 w (in) 4949 4104 w (a) 720 4224 w 10 /LucidaTypewriter f (List) 818 4224 w 10 /LucidaSansUnicode00 f (.) 1106 4224 w (When) 1213 4224 w (changes) 1522 4224 w (are) 1964 4224 w (made) 2159 4224 w (the) 2469 4224 w (live) 2666 4224 w (part) 2874 4224 w (of) 3112 4224 w (blocks) 3252 4224 w (may) 3607 4224 w (change) 3849 4224 w (size.) 4239 4224 w (Blocks) 4538 4224 w (are) 4888 4224 w (created) 720 4344 w (and) 1116 4344 w (coalesced) 1333 4344 w (when) 1843 4344 w (necessary) 2137 4344 w (to) 2649 4344 w (try) 2785 4344 w (to) 2953 4344 w (keep) 3089 4344 w (the) 3360 4344 w (sizes) 3553 4344 w (between) 3835 4344 w (2048) 4280 4344 w (and) 4570 4344 w (4096) 4788 4344 w (bytes.) 720 4464 w (An) 1079 4464 w (actively) 1246 4464 w (changing) 1643 4464 w (part) 2124 4464 w (of) 2356 4464 w (the) 2489 4464 w 10 /LucidaTypewriter f (Disc) 2679 4464 w 10 /LucidaSansUnicode00 f (therefore) 3002 4464 w (typically) 3484 4464 w (has) 3916 4464 w (about) 4119 4464 w (a) 4432 4464 w (kilobyte) 4522 4464 w (of) 4942 4464 w (slop) 720 4584 w (that) 962 4584 w (can) 1191 4584 w (be) 1397 4584 w (inserted) 1554 4584 w (or) 1987 4584 w (deleted) 2127 4584 w (without) 2525 4584 w (changing) 2928 4584 w (more) 3411 4584 w (than) 3700 4584 w (one) 3954 4584 w (block) 4172 4584 w (or) 4473 4584 w (affecting) 4614 4584 w (the) 720 4704 w (block) 909 4704 w (order.) 1205 4704 w (When) 1565 4704 w (an) 1865 4704 w (insertion) 2016 4704 w (would) 2478 4704 w (overflow) 2804 4704 w (a) 3252 4704 w (block,) 3341 4704 w (the) 3669 4704 w (block) 3858 4704 w (is) 4154 4704 w (split,) 4268 4704 w (a) 4543 4704 w (new) 4632 4704 w (one) 4861 4704 w (is) 720 4824 w (allocated) 855 4824 w (to) 1346 4824 w (receive) 1499 4824 w (the) 1895 4824 w (overflow,) 2105 4824 w (and) 2606 4824 w (the) 2841 4824 w (memory-resident) 3051 4824 w (list) 3955 4824 w (of) 4156 4824 w (blocks) 4309 4824 w (is) 4678 4824 w (rear\255) 4814 4824 w (ranged to reflect the insertion of the new block.) 720 4944 w (Obviously, going to the disc for every modification to the file is prohibitively) 970 5100 w (expen\255) 4709 5100 w (sive.) 720 5220 w (The) 1014 5220 w (data) 1237 5220 w (type) 1489 5220 w 10 /LucidaTypewriter f (Buffer) 1739 5220 w 10 /LucidaSansUnicode00 f (consists) 2213 5220 w (of) 2648 5220 w (a) 2788 5220 w 10 /LucidaTypewriter f (Disc) 2885 5220 w 10 /LucidaSansUnicode00 f (to) 3215 5220 w (hold) 3355 5220 w (the) 3612 5220 w (data) 3808 5220 w (and) 4059 5220 w (a) 4280 5220 w 10 /LucidaTypewriter f (String) 4376 5220 w 10 /LucidaSansUnicode00 f (that) 4849 5220 w (acts) 720 5340 w (as) 951 5340 w (a) 1094 5340 w (cache.) 1186 5340 w (This) 1562 5340 w (is) 1804 5340 w (the) 1921 5340 w (first) 2113 5340 w (of) 2345 5340 w (a) 2481 5340 w (series) 2574 5340 w (of) 2896 5340 w (caches) 3032 5340 w (throughout) 3396 5340 w (the) 3981 5340 w (data) 4174 5340 w (structures) 4422 5340 w (in) 4949 5340 w 10 /LucidaTypewriter f (sam.) 720 5460 w 10 /LucidaSansUnicode00 f (The) 1057 5460 w (caches) 1287 5460 w (not) 1662 5460 w (only) 1871 5460 w (improve) 2124 5460 w (performance,) 2568 5460 w (they) 3265 5460 w (provide) 3520 5460 w (a) 3933 5460 w (way) 4036 5460 w (to) 4268 5460 w (organize) 4414 5460 w (the) 4885 5460 w (flow) 720 5580 w (of) 975 5580 w (data,) 1124 5580 w (particularly) 1417 5580 w (in) 2012 5580 w (the) 2154 5580 w (communication) 2360 5580 w (between) 3157 5580 w (the) 3615 5580 w (host) 3822 5580 w (and) 4085 5580 w (terminal.) 4317 5580 w (This) 4835 5580 w (idea is developed below, in the section on communications.) 720 5700 w (To) 970 5856 w (reduce) 1144 5856 w (disc) 1523 5856 w (traffic,) 1767 5856 w (changes) 2136 5856 w (to) 2585 5856 w (a) 2733 5856 w 10 /LucidaTypewriter f (Buffer) 2838 5856 w 10 /LucidaSansUnicode00 f (are) 3320 5856 w (mediated) 3522 5856 w (by) 4024 5856 w (a) 4189 5856 w (variable-length) 4294 5856 w (string,) 720 5976 w (in) 1084 5976 w (memory,) 1225 5976 w (that) 1703 5976 w (acts) 1944 5976 w (as) 2188 5976 w (a) 2344 5976 w (cache.) 2449 5976 w (When) 2838 5976 w (an) 3154 5976 w (insertion) 3321 5976 w (or) 3799 5976 w (deletion) 3951 5976 w (is) 4393 5976 w (made) 4522 5976 w (to) 4838 5976 w (a) 4985 5976 w 10 /LucidaTypewriter f (Buffer) 720 6096 w 10 /LucidaSansUnicode00 f (,) 1152 6096 w (if) 1234 6096 w (the) 1350 6096 w (change) 1555 6096 w (can) 1953 6096 w (be) 2171 6096 w (accommodated) 2340 6096 w (by) 3130 6096 w (the) 3296 6096 w (cache,) 3502 6096 w (it) 3860 6096 w (is) 3977 6096 w (done) 4108 6096 w (there.) 4401 6096 w (If) 4768 6096 w (the) 4885 6096 w (cache) 720 6216 w (becomes) 1033 6216 w (bigger) 1502 6216 w (than) 1853 6216 w (a) 2107 6216 w (block) 2200 6216 w (because) 2500 6216 w (of) 2932 6216 w (an) 3068 6216 w (insertion,) 3223 6216 w (some) 3721 6216 w (of) 4019 6216 w (it) 4154 6216 w (is) 4257 6216 w (written) 4374 6216 w (to) 4750 6216 w (the) 4885 6216 w 10 /LucidaTypewriter f (Disc) 720 6336 w 10 /LucidaSansUnicode00 f (and) 1040 6336 w (deleted) 1253 6336 w (from) 1646 6336 w (the) 1911 6336 w (cache.) 2099 6336 w (If) 2471 6336 w (the) 2570 6336 w (change) 2758 6336 w (does) 3139 6336 w (not) 3403 6336 w (intersect) 3596 6336 w (the) 4049 6336 w (cache,) 4237 6336 w (the) 4577 6336 w (cache) 4765 6336 w (is) 720 6456 w (flushed.) 838 6456 w (The) 1300 6456 w (cache) 1519 6456 w (is) 1832 6456 w (only) 1950 6456 w (loaded) 2192 6456 w (at) 2557 6456 w (the) 2687 6456 w (new) 2880 6456 w (position) 3113 6456 w (if) 3544 6456 w (the) 3647 6456 w (change) 3839 6456 w (is) 4224 6456 w (smaller) 4341 6456 w (than) 4732 6456 w (a) 4985 6456 w (block;) 720 6576 w (otherwise,) 1048 6576 w (it) 1584 6576 w (is) 1684 6576 w (sent) 1799 6576 w (directly) 2040 6576 w (to) 2433 6576 w (the) 2566 6576 w 10 /LucidaTypewriter f (Disc) 2756 6576 w 10 /LucidaSansUnicode00 f (.) 3044 6576 w (This) 3143 6576 w (is) 3383 6576 w (because) 3498 6576 w (large) 3927 6576 w (changes) 4205 6576 w (are) 4639 6576 w (typi\255) 4826 6576 w (cally sequential, whereupon the next change is unlikely to overlap the current one.) 720 6696 w (A) 970 6852 w 10 /LucidaTypewriter f (File) 1079 6852 w 10 /LucidaSansUnicode00 f (comprises) 1407 6852 w (a) 1943 6852 w 10 /LucidaTypewriter f (String) 2038 6852 w 10 /LucidaSansUnicode00 f (to) 2510 6852 w (hold) 2648 6852 w (the) 2903 6852 w (file) 3098 6852 w (name) 3289 6852 w (and) 3596 6852 w (some) 3817 6852 w (ancillary) 4119 6852 w (data) 4563 6852 w (such) 4814 6852 w (as) 720 6972 w (dot) 876 6972 w (and) 1087 6972 w (the) 1317 6972 w (modified) 1522 6972 w (bit.) 2003 6972 w (The) 2246 6972 w (most) 2477 6972 w (important) 2768 6972 w (components,) 3295 6972 w (though,) 3973 6972 w (are) 4400 6972 w (a) 4601 6972 w (pair) 4705 6972 w (of) 4942 6972 w 10 /LucidaTypewriter f (Buffers) 720 7092 w 10 /LucidaSansUnicode00 f (,) 1224 7092 w (one) 1294 7092 w (called) 1511 7092 w (the) 1832 7092 w (transcript) 2025 7092 w (and) 2530 7092 w (the) 2748 7092 w (other) 2941 7092 w (the) 3236 7092 w (contents.) 3430 7092 w (Their) 3950 7092 w (use) 4240 7092 w (is) 4448 7092 w (described) 4567 7092 w (in the next section.) 720 7212 w cleartomark showpage saveobj restore %%EndPage: 19 19 %%Page: 20 20 /saveobj save def mark 20 pagesetup 10 /LucidaSansUnicode00 f (\255 20 \255) 2752 480 w (The) 970 840 w (overall) 1191 840 w (structure) 1554 840 w (is) 2032 840 w (shown) 2152 840 w (in) 2506 840 w (Figure) 2638 840 w (5.) 2983 840 w (Although) 3151 840 w (it) 3636 840 w (may) 3743 840 w (seem) 3984 840 w (that) 4281 840 w (the) 4513 840 w (data) 4709 840 w (is) 4960 840 w (touched) 720 960 w (many) 1163 960 w (times) 1476 960 w (on) 1793 960 w (its) 1967 960 w (way) 2135 960 w (from) 2370 960 w (the) 2653 960 w 10 /LucidaTypewriter f (Disc) 2859 960 w 10 /LucidaSansUnicode00 f (,) 3147 960 w (it) 3230 960 w (is) 3346 960 w (read) 3476 960 w (\(by) 3741 960 w (one) 3939 960 w (UNIX) 4168 960 w (system) 4453 960 w (call\)) 4843 960 w (directly) 720 1080 w (into) 1130 1080 w (the) 1372 1080 w (cache) 1580 1080 w (of) 1908 1080 w (the) 2059 1080 w (associated) 2267 1080 w 10 /LucidaTypewriter f (Buffer) 2829 1080 w 10 /LucidaSansUnicode00 f (;) 3261 1080 w (no) 3346 1080 w (extra) 3522 1080 w (copy) 3825 1080 w (is) 4105 1080 w (done.) 4238 1080 w (Similarly,) 4597 1080 w (when) 720 1200 w (flushing) 1012 1200 w (the) 1441 1200 w (cache,) 1631 1200 w (the) 1973 1200 w (text) 2163 1200 w (is) 2389 1200 w (written) 2504 1200 w (directly) 2878 1200 w (from) 3271 1200 w (the) 3538 1200 w (cache) 3728 1200 w (to) 4038 1200 w (disc.) 4170 1200 w (Most) 4462 1200 w (opera\255) 4731 1200 w (tions) 720 1320 w (act) 1002 1320 w (directly) 1187 1320 w (on) 1587 1320 w (the) 1752 1320 w (text) 1950 1320 w (in) 2184 1320 w (the) 2318 1320 w (cache.) 2516 1320 w (A) 2898 1320 w (principle) 3010 1320 w (applied) 3476 1320 w (throughout) 3877 1320 w 10 /LucidaTypewriter f (sam) 4467 1320 w 10 /LucidaSansUnicode00 f (is) 4726 1320 w (that) 4849 1320 w (the) 720 1440 w (fewer) 908 1440 w (times) 1208 1440 w (the) 1507 1440 w (data) 1695 1440 w (is) 1938 1440 w (copied,) 2051 1440 w (the) 2439 1440 w (faster) 2627 1440 w (the) 2937 1440 w (program) 3125 1440 w (will) 3574 1440 w (run) 3771 1440 w (\(see) 3969 1440 w (also) 4198 1440 w (the) 4427 1440 w (paper by) 4615 1440 w (Waite) 720 1560 w 6 /LucidaSansUnicode00 f (15) 983 1510 w 10 /LucidaSansUnicode00 f (\).) 1059 1560 w 2908 2931 2908 2643 Dl 2908 2643 3541 2643 Dl 3542 2643 3542 2931 Dl 3542 2931 2909 2931 Dl 10 /LucidaTypewriter f (Disc) 3081 2807 w 2908 3334 2908 3046 Dl 2908 3046 3541 3046 Dl 3542 3046 3542 3334 Dl 3542 3334 2909 3334 Dl 10 /LucidaSansUnicode00 f (temp. file) 2993 3210 w 3225 3046 3225 2931 Dl 1584 2931 1584 2643 Dl 1584 2643 2217 2643 Dl 2217 2643 2217 2931 Dl 2217 2931 1584 2931 Dl 10 /LucidaTypewriter f (Disc) 1756 2807 w 1584 3334 1584 3046 Dl 1584 3046 2217 3046 Dl 2217 3046 2217 3334 Dl 2217 3334 1584 3334 Dl 10 /LucidaSansUnicode00 f (temp. file) 1668 3210 w 1900 3046 1900 2931 Dl 1584 2470 1584 2182 Dl 1584 2182 2217 2182 Dl 2217 2182 2217 2470 Dl 2217 2470 1584 2470 Dl 10 /LucidaTypewriter f (Buffer) 1684 2286 w 10 /LucidaSansUnicode00 f (\(transcript\)) 1634 2406 w 2332 2470 2332 2182 Dl 2332 2182 2850 2182 Dl 2851 2182 2851 2470 Dl 2851 2470 2333 2470 Dl 10 /LucidaTypewriter f (String) 2376 2286 w 10 /LucidaSansUnicode00 f (\(cache\)) 2422 2406 w 2332 2326 2217 2326 Dl 2908 2470 2908 2182 Dl 2908 2182 3541 2182 Dl 3542 2182 3542 2470 Dl 3542 2470 2909 2470 Dl 10 /LucidaTypewriter f (Buffer) 3009 2286 w 10 /LucidaSansUnicode00 f (\(contents\)) 2984 2406 w 3657 2470 3657 2182 Dl 3657 2182 4175 2182 Dl 4176 2182 4176 2470 Dl 4176 2470 3658 2470 Dl 10 /LucidaTypewriter f (String) 3700 2286 w 10 /LucidaSansUnicode00 f (\(cache\)) 3746 2406 w 3657 2326 3542 2326 Dl 2124 2010 2124 1722 Dl 2124 1722 2930 1722 Dl 2930 1722 2930 2010 Dl 2930 2010 2124 2010 Dl 10 /LucidaTypewriter f (File) 2383 1886 w 1900 2643 1900 2471 Dl 3225 2643 3225 2471 Dl 1900 2182 1900 2096 Dl 1900 2096 2260 2096 Dl 2260 2096 2260 2010 Dl 3225 2182 3225 2096 Dl 3225 2096 2793 2096 Dl 2793 2096 2793 2010 Dl 8 /LucidaSans-Italic f (Figure) 720 3512 w (5.) 995 3512 w (File) 1101 3512 w (data) 1262 3512 w (structures.) 1469 3512 w (The) 1947 3512 w (temporary) 2119 3512 w (files) 2559 3512 w (are) 2746 3512 w (stored) 2906 3512 w (in) 3181 3512 w (the) 3285 3512 w (standard) 3438 3512 w (repository) 3822 3512 w (for) 4248 3512 w (such) 4393 3512 w (files) 4603 3512 w (on) 4791 3512 w (the) 4918 3512 w (host) 720 3612 w (system.) 911 3612 w 10 /LucidaSansUnicode00 f (The) 970 3888 w (contents) 1195 3888 w (of) 1656 3888 w (a) 1798 3888 w 10 /LucidaTypewriter f (File) 1897 3888 w 10 /LucidaSansUnicode00 f (are) 2229 3888 w (accessed) 2425 3888 w (by) 2903 3888 w (a) 3062 3888 w (routine) 3162 3888 w (that) 3555 3888 w (copies) 3791 3888 w (to) 4147 3888 w (a) 4290 3888 w (buffer) 4390 3888 w (a) 4731 3888 w (sub\255) 4831 3888 w (string) 720 4008 w (of) 1038 4008 w (a) 1172 4008 w (file) 1263 4008 w (starting) 1450 4008 w (at) 1859 4008 w (a) 1986 4008 w (specified) 2076 4008 w (offset.) 2546 4008 w (To) 2924 4008 w (read) 3083 4008 w (a) 3333 4008 w (byte) 3423 4008 w (at) 3666 4008 w (a) 3793 4008 w (time,) 3883 4008 w (a) 4165 4008 w (per-) 4255 4008 w 10 /LucidaTypewriter f (File) 4473 4008 w 10 /LucidaSansUnicode00 f (array) 4796 4008 w (is) 720 4128 w (loaded) 836 4128 w (starting) 1199 4128 w (from) 1609 4128 w (a) 1877 4128 w (specified) 1968 4128 w (initial) 2439 4128 w (position,) 2745 4128 w (and) 3206 4128 w (bytes) 3422 4128 w (may) 3717 4128 w (then) 3954 4128 w (be) 4208 4128 w (read) 4364 4128 w (from) 4616 4128 w (the) 4885 4128 w (array.) 720 4248 w (The) 1082 4248 w (implementation) 1317 4248 w (is) 2133 4248 w (done) 2267 4248 w (by) 2563 4248 w (a) 2732 4248 w (macro) 2841 4248 w (similar) 3196 4248 w (to) 3577 4248 w (the) 3729 4248 w (C) 3937 4248 w (standard) 4059 4248 w (I/O) 4539 4248 w 10 /LucidaTypewriter f (getc) 4752 4248 w 10 /LucidaSansUnicode00 f (macro.) 720 4368 w 6 /LucidaSansUnicode00 f (14) 1053 4318 w 10 /LucidaSansUnicode00 f (Because) 1163 4368 w (the) 1586 4368 w (reading) 1775 4368 w (may) 2178 4368 w (be) 2413 4368 w (done) 2567 4368 w (at) 2844 4368 w (any) 2971 4368 w (address,) 3175 4368 w (a) 3622 4368 w (minor) 3712 4368 w (change) 4033 4368 w (to) 4416 4368 w (the) 4549 4368 w (macro) 4739 4368 w (allows the file to be read backwards.) 720 4488 w (This array is read-only; there is no) 2562 4488 w 10 /LucidaTypewriter f (putc) 4279 4488 w 10 /LucidaSansUnicode00 f (.) 4567 4488 w 10 /LucidaSans-Demi f (Doing and undoing) 720 4728 w 10 /LucidaTypewriter f (Sam) 720 4884 w 10 /LucidaSansUnicode00 f (has) 984 4884 w (an) 1200 4884 w (unusual) 1365 4884 w (method) 1796 4884 w (for) 2216 4884 w (managing) 2403 4884 w (changes) 2931 4884 w (to) 3378 4884 w (files.) 3525 4884 w (The) 3840 4884 w (command) 4070 4884 w (language) 4597 4884 w (makes) 720 5004 w (it) 1066 5004 w (easy) 1165 5004 w (to) 1412 5004 w (specify) 1543 5004 w (multiple) 1915 5004 w (variable-length) 2346 5004 w (changes) 3125 5004 w (to) 3557 5004 w (a file millions of bytes long,) 3688 5004 w (and) 720 5124 w (such) 946 5124 w (changes) 1218 5124 w (must) 1663 5124 w (be) 1952 5124 w (made) 2117 5124 w (efficiently) 2430 5124 w (if) 2951 5124 w (the) 3063 5124 w (editor) 3264 5124 w (is) 3597 5124 w (to) 3723 5124 w (be) 3867 5124 w (practical.) 4032 5124 w (The) 4553 5124 w (usual) 4781 5124 w (techniques) 720 5244 w (for) 1304 5244 w (inserting) 1498 5244 w (and) 1981 5244 w (deleting) 2215 5244 w (strings) 2663 5244 w (are) 3050 5244 w (inadequate) 3256 5244 w (under) 3848 5244 w (these) 4186 5244 w (conditions.) 4502 5244 w (The) 720 5364 w 10 /LucidaTypewriter f (Buffer) 953 5364 w 10 /LucidaSansUnicode00 f (and) 1437 5364 w 10 /LucidaTypewriter f (Disc) 1669 5364 w 10 /LucidaSansUnicode00 f (data) 2009 5364 w (structures) 2271 5364 w (are) 2812 5364 w (designed) 3016 5364 w (for) 3510 5364 w (efficient) 3701 5364 w (random) 4147 5364 w (access) 4574 5364 w (to) 4942 5364 w (long) 720 5484 w (strings,) 972 5484 w (but) 1375 5484 w (care) 1575 5484 w (must) 1816 5484 w (be) 2097 5484 w (taken) 2254 5484 w (to) 2560 5484 w (avoid) 2695 5484 w (super-linear) 2992 5484 w (behavior) 3632 5484 w (when) 4088 5484 w (making) 4382 5484 w (many) 4778 5484 w (changes simultaneously.) 720 5604 w 10 /LucidaTypewriter f (Sam) 970 5760 w 10 /LucidaSansUnicode00 f (uses) 1221 5760 w (a) 1476 5760 w (two-pass) 1566 5760 w (algorithm) 2054 5760 w (for) 2558 5760 w (making) 2732 5760 w (changes,) 3126 5760 w (and) 3592 5760 w (treats) 3807 5760 w (each) 4119 5760 w (file) 4378 5760 w (as) 4564 5760 w (a) 4706 5760 w (data\255) 4797 5760 w (base) 720 5880 w (against) 992 5880 w (which) 1390 5880 w (transactions) 1718 5880 w (are) 2357 5880 w (registered.) 2555 5880 w (Changes) 3157 5880 w (are) 3620 5880 w (not) 3818 5880 w (made) 4024 5880 w (directly) 4337 5880 w (to) 4741 5880 w (the) 4885 5880 w (contents.) 720 6000 w (Instead,) 1238 6000 w (when) 1660 6000 w (a) 1954 6000 w (command) 2046 6000 w (is) 2561 6000 w (started,) 2678 6000 w (a) 3087 6000 w 10 /LucidaSansUnicode20 f (\030) 3179 6000 w 10 /LucidaSansUnicode00 f (mark) 3211 6000 w 10 /LucidaSansUnicode20 f (\031) 3458 6000 w 10 /LucidaSansUnicode00 f (containing) 3527 6000 w (a) 4075 6000 w (sequence) 4168 6000 w (number) 4663 6000 w (is) 720 6120 w (placed) 842 6120 w (in) 1201 6120 w (the) 1334 6120 w (transcript) 1531 6120 w 10 /LucidaTypewriter f (Buffer) 2040 6120 w 10 /LucidaSansUnicode00 f (,) 2472 6120 w (and) 2546 6120 w (each) 2767 6120 w (change) 3032 6120 w (made) 3421 6120 w (to) 3729 6120 w (the) 3868 6120 w (file,) 4064 6120 w (either) 4288 6120 w (an) 4610 6120 w (inser\255) 4768 6120 w (tion) 720 6240 w (or) 949 6240 w (deletion) 1091 6240 w (or) 1524 6240 w (a) 1666 6240 w (change) 1761 6240 w (to) 2149 6240 w (the) 2287 6240 w (file) 2482 6240 w (name,) 2673 6240 w (is) 3011 6240 w (appended) 3131 6240 w (to) 3652 6240 w (the) 3790 6240 w (end) 3985 6240 w (of) 4206 6240 w (the) 4345 6240 w (transcript.) 4541 6240 w (When) 720 6360 w (the) 1030 6360 w (command) 1228 6360 w (is) 1749 6360 w (complete,) 1872 6360 w (the) 2393 6360 w (transcript) 2591 6360 w (is) 3101 6360 w (rewound) 3224 6360 w (to) 3689 6360 w (the) 3830 6360 w (mark) 4028 6360 w (and) 4318 6360 w (applied) 4541 6360 w (to) 4942 6360 w (the contents.) 720 6480 w (One) 970 6636 w (reason) 1217 6636 w (for) 1594 6636 w (separating) 1784 6636 w (evaluation) 2346 6636 w (from) 2895 6636 w (application) 3179 6636 w (in) 3765 6636 w (this) 3908 6636 w (way) 4139 6636 w (is) 4375 6636 w (to) 4507 6636 w (simplify) 4657 6636 w (tracking) 720 6756 w (the) 1161 6756 w (addresses) 1362 6756 w (of) 1895 6756 w (changes) 2039 6756 w (made) 2484 6756 w (in) 2797 6756 w (the) 2934 6756 w (middle) 3135 6756 w (of) 3513 6756 w (a) 3656 6756 w (long) 3756 6756 w (sequence.) 4015 6756 w (The) 4581 6756 w (two-) 4807 6756 w (pass) 720 6876 w (algorithm) 993 6876 w (also) 1515 6876 w (allows) 1764 6876 w (all) 2119 6876 w (changes) 2285 6876 w (to) 2738 6876 w (apply) 2890 6876 w (to) 3206 6876 w (the) 3358 6876 w 10 /LucidaSans-Italic f (original) 3567 6876 w 10 /LucidaSansUnicode00 f (data:) 3997 6876 w (no) 4293 6876 w (change) 4470 6876 w (can) 4872 6876 w (affect) 720 6996 w (another) 1031 6996 w (change) 1443 6996 w (made) 1829 6996 w (in) 2134 6996 w (the) 2263 6996 w (same) 2456 6996 w (command.) 2749 6996 w (This) 3328 6996 w (is) 3570 6996 w (particularly) 3687 6996 w (important) 4268 6996 w (when) 4783 6996 w (evaluating) 720 7116 w (an) 1263 7116 w 10 /LucidaTypewriter f (x) 1424 7116 w 10 /LucidaSansUnicode00 f (command) 1540 7116 w (because) 2062 7116 w (it) 2500 7116 w (prevents) 2610 7116 w (regular) 3072 7116 w (expression) 3462 7116 w (matches) 4037 7116 w (from) 4487 7116 w (stum\255) 4764 7116 w (bling) 720 7236 w (over) 1024 7236 w (changes) 1293 7236 w (made) 1751 7236 w (earlier) 2077 7236 w (in) 2443 7236 w (the) 2593 7236 w (execution.) 2807 7236 w (Also,) 3405 7236 w (the) 3706 7236 w (two-pass) 3920 7236 w (algorithm) 4432 7236 w (is) 4960 7236 w cleartomark showpage saveobj restore %%EndPage: 20 20 %%Page: 21 21 /saveobj save def mark 21 pagesetup 10 /LucidaSansUnicode00 f (\255 21 \255) 2752 480 w (cleaner) 720 840 w (than) 1103 840 w (the) 1352 840 w (way) 1540 840 w (other) 1757 840 w (UNIX) 2047 840 w (editors) 2315 840 w (allow) 2686 840 w (changes) 2970 840 w (to) 3402 840 w (affect) 3534 840 w (each) 3841 840 w (other;) 4099 840 w (for) 4422 840 w (example,) 4595 840 w 10 /LucidaTypewriter f (ed) 720 960 w 10 /LucidaSansUnicode20 f (\031) 864 960 w 10 /LucidaSansUnicode00 f (s) 896 960 w (idioms) 985 960 w (to) 1349 960 w (do) 1485 960 w (things) 1647 960 w (like) 1988 960 w (delete) 2198 960 w (every) 2533 960 w (other) 2827 960 w (line) 3121 960 w (depend) 3334 960 w (critically) 3734 960 w (on) 4174 960 w (the) 4334 960 w (implemen\255) 4526 960 w (tation.) 720 1080 w (Instead,) 1110 1080 w 10 /LucidaTypewriter f (sam) 1540 1080 w 10 /LucidaSansUnicode20 f (\031) 1756 1080 w 10 /LucidaSansUnicode00 f (s) 1788 1080 w (simple) 1884 1080 w (model,) 2250 1080 w (in) 2629 1080 w (which) 2765 1080 w (all) 3092 1080 w (changes) 3251 1080 w (in) 3696 1080 w (a) 3833 1080 w (command) 3934 1080 w (occur) 4458 1080 w (effec\255) 4770 1080 w (tively simultaneously, is easy to explain and to understand.) 720 1200 w (The) 970 1356 w (records) 1189 1356 w (in) 1591 1356 w (the) 1720 1356 w (transcript) 1913 1356 w (are) 2418 1356 w (of) 2608 1356 w (the) 2744 1356 w (form) 2937 1356 w 10 /LucidaSansUnicode20 f (\030\030) 3208 1356 w 10 /LucidaSansUnicode00 f (delete) 3272 1356 w (substring) 3608 1356 w (from) 4105 1356 w (locations) 4376 1356 w (123) 4851 1356 w (to) 720 1476 w (456) 863 1476 w 10 /LucidaSansUnicode20 f (\031\031) 1052 1476 w 10 /LucidaSansUnicode00 f (and) 1161 1476 w 10 /LucidaSansUnicode20 f (\030\030) 1386 1476 w 10 /LucidaSansUnicode00 f (insert) 1450 1476 w (11) 1771 1476 w (characters) 1942 1476 w 10 /LucidaSansUnicode20 f (\030) 2487 1476 w 10 /LucidaSansUnicode00 f (hello) 2519 1476 w (there) 2801 1476 w 10 /LucidaSansUnicode20 f (\031) 3053 1476 w 10 /LucidaSansUnicode00 f (at) 3130 1476 w (location) 3267 1476 w (789.) 3697 1476 w 10 /LucidaSansUnicode20 f (\031\031) 3918 1476 w 10 /LucidaSansUnicode00 f (\(It) 4059 1476 w (is) 4203 1476 w (an) 4328 1476 w (error) 4490 1476 w (if) 4775 1476 w (the) 4885 1476 w (changes are not at monotonically greater positions through the file.\)) 720 1596 w (While) 4108 1596 w (the) 4403 1596 w (update) 4591 1596 w (is) 4960 1596 w (occurring,) 720 1716 w (these) 1251 1716 w (numbers) 1552 1716 w (must) 2019 1716 w (be) 2301 1716 w (offset) 2459 1716 w (by) 2777 1716 w (earlier) 2930 1716 w (changes,) 3275 1716 w (but) 3744 1716 w (that) 3944 1716 w (is) 4173 1716 w (straightforward) 4291 1716 w (and) 720 1836 w (local) 938 1836 w (to) 1201 1836 w (the) 1337 1836 w (update) 1530 1836 w (routine;) 1904 1836 w (moreover,) 2322 1836 w (all) 2853 1836 w (the) 3004 1836 w (numbers) 3197 1836 w (have) 3663 1836 w (been) 3926 1836 w (computed) 4201 1836 w (before) 4726 1836 w (the first is examined.) 720 1956 w (Treating) 970 2112 w (the) 1410 2112 w (file) 1600 2112 w (as) 1786 2112 w (a) 1927 2112 w (transaction) 2017 2112 w (system) 2593 2112 w (has) 2968 2112 w (another) 3171 2112 w (advantage:) 3580 2112 w (undo) 4144 2112 w (is) 4427 2112 w (trivial.) 4542 2112 w (All) 4913 2112 w (it) 720 2232 w (takes) 830 2232 w (is) 1131 2232 w (to) 1255 2232 w (invert) 1396 2232 w (the) 1716 2232 w (transcript) 1914 2232 w (after) 2424 2232 w (it) 2693 2232 w (has) 2802 2232 w (been) 3013 2232 w (implemented,) 3293 2232 w (converting) 4005 2232 w (insertions) 4561 2232 w (into) 720 2352 w (deletions) 958 2352 w (and) 1451 2352 w (vice) 1680 2352 w (versa,) 1917 2352 w (and) 2253 2352 w (saving) 2482 2352 w (them) 2842 2352 w (in) 3139 2352 w (a) 3279 2352 w (holding) 3383 2352 w 10 /LucidaTypewriter f (Buffer) 3800 2352 w 10 /LucidaSansUnicode00 f (.) 4232 2352 w (The) 4345 2352 w 10 /LucidaSansUnicode20 f (\030) 4575 2352 w 10 /LucidaSansUnicode00 f (do) 4607 2352 w 10 /LucidaSansUnicode20 f (\031) 4731 2352 w 10 /LucidaSansUnicode00 f (tran\255) 4812 2352 w (script) 720 2472 w (can) 1028 2472 w (then) 1232 2472 w (be) 1485 2472 w (deleted) 1640 2472 w (from) 2035 2472 w (the) 2302 2472 w (transcript) 2492 2472 w 10 /LucidaTypewriter f (Buffer) 2994 2472 w 10 /LucidaSansUnicode00 f (and) 3461 2472 w (replaced) 3676 2472 w (by) 4125 2472 w (the) 4275 2472 w 10 /LucidaSansUnicode20 f (\030) 4465 2472 w 10 /LucidaSansUnicode00 f (undo) 4497 2472 w 10 /LucidaSansUnicode20 f (\031) 4745 2472 w 10 /LucidaSansUnicode00 f (tran\255) 4812 2472 w (script.) 720 2592 w (If) 1097 2592 w (an) 1204 2592 w (undo) 1362 2592 w (is) 1651 2592 w (requested,) 1772 2592 w (the) 2330 2592 w (transcript) 2526 2592 w (is) 3034 2592 w (rewound) 3155 2592 w (and) 3618 2592 w (the) 3839 2592 w (undo) 4035 2592 w (transcript) 4325 2592 w (exe\255) 4834 2592 w (cuted.) 720 2712 w (Because) 1087 2712 w (the) 1510 2712 w (transcript) 1699 2712 w 10 /LucidaTypewriter f (Buffer) 2200 2712 w 10 /LucidaSansUnicode00 f (is) 2666 2712 w (not) 2780 2712 w (truncated) 2974 2712 w (after) 3472 2712 w (each) 3732 2712 w (command,) 3990 2712 w (it) 4534 2712 w (accumu\255) 4633 2712 w (lates) 720 2832 w (successive) 982 2832 w (changes.) 1526 2832 w (A) 2023 2832 w (sequence) 2126 2832 w (of) 2617 2832 w (undo) 2749 2832 w (commands) 3031 2832 w (can) 3594 2832 w (therefore) 3796 2832 w (back) 4277 2832 w (up) 4539 2832 w (the) 4699 2832 w (file) 4889 2832 w (arbitrarily,) 720 2952 w (which) 1277 2952 w (is) 1611 2952 w (more) 1744 2952 w (helpful) 2048 2952 w (than) 2439 2952 w (the) 2708 2952 w (more) 2916 2952 w (commonly) 3219 2952 w (implemented) 3773 2952 w (self-inverse) 4462 2952 w (form) 720 3072 w (of) 992 3072 w (undo.) 1130 3072 w (\() 1482 3072 w 10 /LucidaTypewriter f (Sam) 1515 3072 w 10 /LucidaSansUnicode00 f (provides) 1771 3072 w (no) 2227 3072 w (way) 2390 3072 w (to) 2614 3072 w (undo) 2753 3072 w (an) 3042 3072 w (undo,) 3200 3072 w (but) 3521 3072 w (if) 3724 3072 w (it) 3831 3072 w (were) 3938 3072 w (desired,) 4209 3072 w (it) 4641 3072 w (would) 4748 3072 w (be) 720 3192 w (easy) 885 3192 w (to) 1145 3192 w (provide) 1289 3192 w (by) 1700 3192 w (re-interpreting) 1861 3192 w (the) 2636 3192 w 10 /LucidaSansUnicode20 f (\030) 2836 3192 w 10 /LucidaSansUnicode00 f (do) 2868 3192 w 10 /LucidaSansUnicode20 f (\031) 2992 3192 w 10 /LucidaSansUnicode00 f (transcript.\)) 3069 3192 w (Each) 3678 3192 w (mark) 3945 3192 w (in) 4237 3192 w (the) 4373 3192 w (transcript) 4573 3192 w (contains) 720 3312 w (a) 1167 3312 w (sequence) 1261 3312 w (number) 1757 3312 w (and) 2173 3312 w (the) 2392 3312 w (offset) 2586 3312 w (into) 2904 3312 w (the) 3133 3312 w (transcript) 3328 3312 w (of) 3835 3312 w (the) 3973 3312 w (previous) 4168 3312 w (mark,) 4623 3312 w (to) 4942 3312 w (aid) 720 3432 w (in unwinding the transcript.) 900 3432 w (Marks also contain the value of dot and the modified bit) 2313 3432 w (so) 720 3552 w (these) 865 3552 w (can) 1160 3552 w (be) 1361 3552 w (restored) 1513 3552 w (easily.) 1952 3552 w (Undoing) 2321 3552 w (multiple) 2762 3552 w (files) 3193 3552 w (is) 3428 3552 w (easy;) 3541 3552 w (it) 3821 3552 w (merely) 3921 3552 w (demands) 4282 3552 w (undo\255) 4759 3552 w (ing all files whose latest change has the same sequence number as the current file.) 720 3672 w (Another) 970 3828 w (benefit) 1393 3828 w (of) 1768 3828 w (having) 1901 3828 w (a) 2258 3828 w (transcript) 2348 3828 w (is) 2851 3828 w (that) 2967 3828 w (errors) 3194 3828 w (encountered) 3521 3828 w (in) 4164 3828 w (the) 4291 3828 w (middle) 4482 3828 w (of) 4851 3828 w (a) 4985 3828 w (complicated) 720 3948 w (command) 1353 3948 w (need) 1876 3948 w (not) 2158 3948 w (leave) 2363 3948 w (the) 2656 3948 w (files) 2856 3948 w (in) 3103 3948 w (an) 3239 3948 w (intermediate) 3401 3948 w (state.) 4060 3948 w (By) 4405 3948 w (rewinding) 4559 3948 w (the) 720 4068 w (transcript) 910 4068 w (to) 1412 4068 w (the) 1545 4068 w (mark) 1735 4068 w (beginning) 2018 4068 w (the) 2541 4068 w (command,) 2732 4068 w (the) 3278 4068 w (partial) 3469 4068 w (command) 3814 4068 w (can) 4328 4068 w (be) 4532 4068 w (trivially) 4687 4068 w (undone.) 720 4188 w (When) 970 4344 w (the) 1277 4344 w (update) 1473 4344 w (algorithm) 1850 4344 w (was) 2360 4344 w (first) 2584 4344 w (implemented,) 2820 4344 w (it) 3530 4344 w (was) 3637 4344 w (unacceptably) 3861 4344 w (slow,) 4539 4344 w (so) 4831 4344 w (a) 4985 4344 w (cache) 720 4464 w (was) 1030 4464 w (added) 1248 4464 w (to) 1583 4464 w (coalesce) 1716 4464 w (nearby) 2161 4464 w (changes,) 2524 4464 w (replacing) 2989 4464 w (multiple) 3471 4464 w (small) 3903 4464 w (changes) 4194 4464 w (by) 4627 4464 w (a) 4776 4464 w (sin\255) 4865 4464 w (gle) 720 4584 w (larger) 916 4584 w (one.) 1249 4584 w (This) 1541 4584 w (reduced) 1795 4584 w (the) 2236 4584 w (number) 2440 4584 w (of) 2866 4584 w (insertions) 3013 4584 w (into) 3541 4584 w (the) 3780 4584 w (transaction) 3985 4584 w 10 /LucidaTypewriter f (Buffer) 4576 4584 w 10 /LucidaSansUnicode00 f (,) 5008 4584 w (and) 720 4704 w (made) 948 4704 w (a) 1263 4704 w (dramatic) 1366 4704 w (improvement) 1837 4704 w (in) 2527 4704 w (performance,) 2665 4704 w (but) 3360 4704 w (made) 3569 4704 w (it) 3883 4704 w (impossible) 3996 4704 w (to) 4568 4704 w (handle) 4713 4704 w (changes) 720 4824 w (in) 1159 4824 w (non-monotonic) 1290 4824 w (order) 2090 4824 w (in) 2392 4824 w (the) 2523 4824 w (file;) 2718 4824 w (the) 2941 4824 w (caching) 3136 4824 w (method) 3548 4824 w (only) 3960 4824 w (works) 4205 4824 w (if) 4534 4824 w (changes) 4641 4824 w (don) 720 4944 w 10 /LucidaSansUnicode20 f (\031) 906 4944 w 10 /LucidaSansUnicode00 f (t) 938 4944 w (overlap.) 1013 4944 w (Before) 1472 4944 w (the) 1819 4944 w (cache) 2012 4944 w (was) 2325 4944 w (added,) 2545 4944 w (the) 2914 4944 w (transaction) 3106 4944 w (could) 3684 4944 w (in) 3987 4944 w (principle) 4115 4944 w (be) 4575 4944 w (sorted) 4731 4944 w (if) 720 5064 w (the) 829 5064 w (changes) 1027 5064 w (were) 1469 5064 w (out) 1742 5064 w (of) 1945 5064 w (order,) 2086 5064 w (although) 2423 5064 w (this) 2896 5064 w (was) 3118 5064 w (never) 3344 5064 w (done.) 3654 5064 w (The) 4004 5064 w (current) 4229 5064 w (status) 4623 5064 w (is) 4960 5064 w (therefore) 720 5184 w (acceptable) 1212 5184 w (performance) 1773 5184 w (with) 2433 5184 w (a) 2682 5184 w (minor) 2781 5184 w (restriction) 3111 5184 w (on) 3650 5184 w (global) 3817 5184 w (changes,) 4160 5184 w (which) 4635 5184 w (is) 4960 5184 w (sometimes, but rarely, an annoyance.) 720 5304 w (The) 970 5460 w (update) 1184 5460 w (algorithm) 1553 5460 w (obviously) 2055 5460 w (paws) 2548 5460 w (the) 2828 5460 w (data) 3017 5460 w (more) 3261 5460 w (than) 3546 5460 w (simpler) 3796 5460 w (algorithms,) 4192 5460 w (but) 4778 5460 w (it) 4974 5460 w (is) 720 5580 w (not) 844 5580 w (prohibitively) 1048 5580 w (expensive;) 1695 5580 w (the) 2257 5580 w (caches) 2456 5580 w (help.) 2825 5580 w (\(The) 3142 5580 w (principle) 3399 5580 w (of) 3865 5580 w (avoiding) 4006 5580 w (copying) 4462 5580 w (the) 4885 5580 w (data) 720 5700 w (is) 978 5700 w (still) 1106 5700 w (honored) 1329 5700 w (here,) 1783 5700 w (although) 2078 5700 w (not) 2556 5700 w (as) 2764 5700 w (piously:) 2918 5700 w (the) 3345 5700 w (data) 3548 5700 w (is) 3807 5700 w (moved) 3936 5700 w (from) 4310 5700 w (contents) 4591 5700 w 10 /LucidaSansUnicode20 f (\031) 5008 5700 w 10 /LucidaSansUnicode00 f (cache) 720 5820 w (to) 1033 5820 w (the) 1169 5820 w (transcript) 1362 5820 w 10 /LucidaSansUnicode20 f (\031) 1829 5820 w 10 /LucidaSansUnicode00 f (s) 1861 5820 w (all) 1950 5820 w (at) 2100 5820 w (once) 2229 5820 w (and) 2496 5820 w (through) 2713 5820 w (only) 3137 5820 w (one) 3378 5820 w (internal) 3594 5820 w (buffer.\)) 4002 5820 w (Performance) 4432 5820 w (figures) 720 5940 w (confirm) 1102 5940 w (the) 1520 5940 w (efficiency.) 1719 5940 w (To) 2287 5940 w (read) 2455 5940 w (from) 2714 5940 w (a) 2990 5940 w (dead) 3089 5940 w (start) 3371 5940 w (a) 3637 5940 w (hundred) 3737 5940 w (kilobyte) 4191 5940 w (file) 4621 5940 w (on) 4817 5940 w (a) 4985 5940 w (VAX-11/750) 720 6060 w (takes) 1376 6060 w (1.4) 1666 6060 w (seconds) 1857 6060 w (of) 2285 6060 w (user) 2416 6060 w (time,) 2659 6060 w (2.5) 2939 6060 w (seconds of system time, and 5 seconds) 3130 6060 w (of real) 720 6180 w (time.) 1064 6180 w (Reading) 1376 6180 w (the) 1799 6180 w (same) 1987 6180 w (file) 2275 6180 w (in) 2459 6180 w 10 /LucidaTypewriter f (ed) 2583 6180 w 10 /LucidaSansUnicode00 f (takes) 2760 6180 w (6.0) 3050 6180 w (seconds) 3241 6180 w (of) 3669 6180 w (user) 3800 6180 w (time,) 4043 6180 w (1.7) 4323 6180 w (seconds) 4514 6180 w (of) 4942 6180 w (system) 720 6300 w (time,) 1104 6300 w (and) 1395 6300 w (8) 1619 6300 w (seconds) 1726 6300 w (of) 2165 6300 w (real) 2306 6300 w (time.) 2530 6300 w 10 /LucidaTypewriter f (Sam) 2852 6300 w 10 /LucidaSansUnicode00 f (uses) 3111 6300 w (about) 3374 6300 w (half) 3695 6300 w (the) 3921 6300 w (CPU) 4119 6300 w (time.) 4355 6300 w (A) 4677 6300 w (more) 4789 6300 w (interesting) 720 6420 w (example) 1278 6420 w (is) 1727 6420 w (the) 1843 6420 w (one) 2034 6420 w (stated) 2249 6420 w (above:) 2584 6420 w (inserting) 2939 6420 w (a) 3404 6420 w (character) 3495 6420 w (between) 3980 6420 w (every) 4423 6420 w (pair) 4717 6420 w (of) 4942 6420 w (characters in the file.) 720 6540 w (The) 1809 6540 w 10 /LucidaTypewriter f (sam) 2022 6540 w 10 /LucidaSansUnicode00 f (command is) 2270 6540 w 9 /LucidaTypewriter f (,y/@/) 920 6710 w (a/x/) 1310 6710 w 10 /LucidaSansUnicode00 f (and) 720 6890 w (takes) 934 6890 w (3) 1225 6890 w (CPU) 1322 6890 w (seconds) 1549 6890 w (per) 1978 6890 w (kilobyte) 2172 6890 w (of) 2591 6890 w (input) 2723 6890 w (file,) 3010 6890 w (of) 3227 6890 w (which) 3359 6890 w (about) 3674 6890 w (a) 3986 6890 w (third) 4075 6890 w (is) 4341 6890 w (spent) 4455 6890 w (in) 4759 6890 w (the) 4885 6890 w (regular) 720 7010 w (expression) 1111 7010 w (code.) 1687 7010 w (This) 2027 7010 w (translates) 2277 7010 w (to) 2796 7010 w (about) 2939 7010 w (500) 3262 7010 w (changes) 3496 7010 w (per) 3939 7010 w (second.) 4143 7010 w 10 /LucidaTypewriter f (Ed) 4595 7010 w 10 /LucidaSansUnicode00 f (takes) 4783 7010 w (1.5) 720 7130 w (seconds) 913 7130 w (per) 1343 7130 w (kilobyte) 1539 7130 w (to) 1960 7130 w (make) 2094 7130 w (a) 2392 7130 w (similar) 2483 7130 w (change) 2846 7130 w (\(ignoring) 3230 7130 w (newlines\),) 3707 7130 w (but) 4230 7130 w (cannot) 4428 7130 w (undo) 4792 7130 w (it.) 720 7250 w (The) 899 7250 w (same) 1129 7250 w (example) 1433 7250 w (in) 1895 7250 w 10 /LucidaTypewriter f (ex) 2035 7250 w 10 /LucidaSansUnicode00 f (,) 2179 7250 w 6 /LucidaSansUnicode00 f (9) 2211 7200 w 10 /LucidaSansUnicode00 f (a) 2298 7250 w (variant) 2402 7250 w (of) 2782 7250 w 10 /LucidaTypewriter f (ed) 2929 7250 w 10 /LucidaSansUnicode00 f (done) 3122 7250 w (at) 3413 7250 w (the) 3554 7250 w (University) 3758 7250 w (of) 4285 7250 w (California) 4432 7250 w (at) 4948 7250 w cleartomark showpage saveobj restore %%EndPage: 21 21 %%Page: 22 22 /saveobj save def mark 22 pagesetup 10 /LucidaSansUnicode00 f (\255 22 \255) 2752 480 w (Berkeley,) 720 840 w (which) 1193 840 w (allows) 1509 840 w (one) 1846 840 w (level) 2060 840 w (of) 2317 840 w (undoing,) 2450 840 w (again) 2918 840 w (takes) 3216 840 w (3) 3508 840 w (seconds.) 3606 840 w (In) 4100 840 w (summary,) 4226 840 w 10 /LucidaTypewriter f (sam) 4741 840 w 10 /LucidaSansUnicode20 f (\031) 4957 840 w 10 /LucidaSansUnicode00 f (s) 4989 840 w (performance) 720 960 w (is) 1386 960 w (comparable) 1516 960 w (to) 2132 960 w (that) 2279 960 w (of) 2519 960 w (other) 2666 960 w (UNIX) 2972 960 w (editors,) 3256 960 w (although) 3675 960 w (it) 4154 960 w (solves) 4269 960 w (a) 4618 960 w (harder) 4722 960 w (problem.) 720 1080 w 10 /LucidaSans-Demi f (Communications) 720 1320 w 10 /LucidaSansUnicode00 f (The) 720 1476 w (discussion) 948 1476 w (so) 1505 1476 w (far) 1664 1476 w (has) 1844 1476 w (described) 2059 1476 w (the) 2579 1476 w (implementation) 2781 1476 w (of) 3591 1476 w (the) 3737 1476 w (host) 3940 1476 w (part) 4199 1476 w (of) 4443 1476 w 10 /LucidaTypewriter f (sam) 4589 1476 w 10 /LucidaSansUnicode00 f (;) 4805 1476 w (the) 4885 1476 w (next) 720 1596 w (few) 1001 1596 w (sections) 1236 1596 w (explain) 1699 1596 w (how) 2119 1596 w (a) 2384 1596 w (machine) 2504 1596 w (with) 2977 1596 w (mouse) 3247 1596 w (and) 3635 1596 w (bitmap) 3879 1596 w (display) 4283 1596 w (can) 4689 1596 w (be) 4921 1596 w (engaged) 720 1716 w (to) 1182 1716 w (improve) 1326 1716 w (interaction.) 1767 1716 w 10 /LucidaTypewriter f (Sam) 2397 1716 w 10 /LucidaSansUnicode00 f (is) 2659 1716 w (not) 2785 1716 w (the) 2992 1716 w (first) 3194 1716 w (editor) 3436 1716 w (to) 3770 1716 w (be) 3915 1716 w (written) 4081 1716 w (as) 4467 1716 w (two) 4620 1716 w (pro\255) 4842 1716 w (cesses,) 720 1836 w 6 /LucidaSansUnicode00 f (16) 1068 1786 w 10 /LucidaSansUnicode00 f (but its implementation has some unusual aspects.) 1176 1836 w (There) 970 1992 w (are) 1284 1992 w (several) 1472 1992 w (ways) 1848 1992 w 10 /LucidaTypewriter f (sam) 2119 1992 w 10 /LucidaSansUnicode20 f (\031) 2335 1992 w 10 /LucidaSansUnicode00 f (s) 2367 1992 w (host) 2454 1992 w (and) 2701 1992 w (terminal) 2917 1992 w (parts) 3355 1992 w (may) 3638 1992 w (be) 3874 1992 w (connected.) 4029 1992 w (The) 4628 1992 w (first) 4845 1992 w (and) 720 2112 w (simplest) 935 2112 w (is) 1379 2112 w (to) 1494 2112 w (forgo) 1627 2112 w (the) 1924 2112 w (terminal) 2114 2112 w (part) 2551 2112 w (and) 2782 2112 w (use) 2997 2112 w (the) 3201 2112 w (host) 3391 2112 w (part) 3637 2112 w 10 /LucidaSansUnicode20 f (\031) 3833 2112 w 10 /LucidaSansUnicode00 f (s) 3865 2112 w (command) 3951 2112 w (language) 4464 2112 w (to) 4942 2112 w (edit) 720 2232 w (text) 950 2232 w (on) 1186 2232 w (an) 1354 2232 w (ordinary) 1516 2232 w (terminal.) 1966 2232 w (This) 2478 2232 w (mode) 2729 2232 w (is) 3048 2232 w (invoked) 3174 2232 w (by) 3601 2232 w (starting) 3762 2232 w 10 /LucidaTypewriter f (sam) 4182 2232 w 10 /LucidaSansUnicode00 f (with) 4444 2232 w (the) 4695 2232 w 10 /LucidaTypewriter f (-d) 4896 2232 w 10 /LucidaSansUnicode00 f (option.) 720 2352 w (With) 1138 2352 w (no) 1393 2352 w (options,) 1557 2352 w 10 /LucidaTypewriter f (sam) 1994 2352 w 10 /LucidaSansUnicode00 f (runs) 2251 2352 w (separate) 2507 2352 w (host) 2961 2352 w (and) 3212 2352 w (terminal) 3432 2352 w (programs,) 3874 2352 w (communicat\255) 4413 2352 w (ing) 720 2472 w (with) 907 2472 w (a) 1146 2472 w (message) 1235 2472 w (protocol) 1693 2472 w (over) 2131 2472 w (the) 2375 2472 w (physical) 2564 2472 w (connection) 2990 2472 w (that) 3556 2472 w (joins) 3781 2472 w (them.) 4048 2472 w (Typically,) 4395 2472 w (the) 4885 2472 w (connection) 720 2592 w (is) 1285 2592 w (an) 1398 2592 w (RS-232) 1548 2592 w (link) 1945 2592 w (between) 2156 2592 w (a) 2596 2592 w (Blit) 2684 2592 w (\(the) 2870 2592 w (prototypical) 3091 2592 w (display) 3703 2592 w (for) 4078 2592 w 10 /LucidaTypewriter f (sam) 4249 2592 w 10 /LucidaSansUnicode00 f (\) and a host) 4465 2592 w (running) 720 2712 w (the) 1137 2712 w (Ninth) 1329 2712 w (Edition) 1630 2712 w (of) 2002 2712 w (the) 2137 2712 w (UNIX) 2329 2712 w (operating) 2601 2712 w (system.) 3104 2712 w 6 /LucidaSansUnicode00 f (8) 3476 2662 w 10 /LucidaSansUnicode00 f (\(This) 3551 2712 w (is) 3826 2712 w (the) 3943 2712 w (version) 4135 2712 w (of) 4524 2712 w (the) 4660 2712 w (sys\255) 4853 2712 w (tem) 720 2832 w (used) 955 2832 w (in) 1236 2832 w (the) 1376 2832 w (Computing) 1580 2832 w (Sciences) 2167 2832 w (Research) 2626 2832 w (Center) 3110 2832 w (at) 3480 2832 w (AT&T) 3621 2832 w (Bell) 3935 2832 w (Laboratories) 4156 2832 w ([now) 4807 2832 w (Lucent) 720 2952 w (Technologies,) 1079 2952 w (Bell) 1792 2952 w (Labs],) 2002 2952 w (where) 2327 2952 w (I) 2657 2952 w (work.) 2724 2952 w (Its) 3063 2952 w (relevant) 3218 2952 w (aspects) 3645 2952 w (are) 4048 2952 w (discussed) 4239 2952 w (in) 4755 2952 w (the) 4885 2952 w (Blit) 720 3072 w (paper.) 914 3072 w 6 /LucidaSansUnicode00 f (1) 1224 3022 w 10 /LucidaSansUnicode00 f (\)) 1262 3072 w (The) 1336 3072 w (implementation) 1558 3072 w (of) 2361 3072 w 10 /LucidaTypewriter f (sam) 2500 3072 w 10 /LucidaSansUnicode00 f (for) 2757 3072 w (the) 2937 3072 w (SUN) 3133 3072 w (computer) 3371 3072 w (runs) 3876 3072 w (both) 4133 3072 w (processes) 4396 3072 w (on) 4917 3072 w (the same machine and connects them by a pipe.) 720 3192 w (The) 970 3348 w (low) 1193 3348 w (bandwidth) 1402 3348 w (of) 1955 3348 w (an) 2095 3348 w (RS-232) 2254 3348 w (link) 2660 3348 w (necessitated) 2880 3348 w (the) 3526 3348 w (split) 3724 3348 w (between) 3976 3348 w (the) 4426 3348 w (two) 4624 3348 w (pro\255) 4842 3348 w (grams.) 720 3468 w (The) 1120 3468 w (division) 1335 3468 w (is) 1745 3468 w (a) 1859 3468 w (mixed) 1948 3468 w (blessing:) 2284 3468 w (a) 2753 3468 w (program) 2842 3468 w (in) 3292 3468 w (two) 3416 3468 w (parts) 3624 3468 w (is) 3904 3468 w (much) 4017 3468 w (harder) 4318 3468 w (to) 4669 3468 w (write) 4800 3468 w (and) 720 3588 w (to) 937 3588 w (debug) 1072 3588 w (than) 1416 3588 w (a) 1670 3588 w (self-contained) 1763 3588 w (one,) 2508 3588 w (but) 2757 3588 w (the) 2957 3588 w (split) 3150 3588 w (makes) 3397 3588 w (several) 3748 3588 w (unusual) 4126 3588 w (configura\255) 4547 3588 w (tions) 720 3708 w (possible.) 1008 3708 w (The) 1523 3708 w (terminal) 1752 3708 w (may) 2202 3708 w (be) 2450 3708 w (physically) 2617 3708 w (separated) 3138 3708 w (from) 3663 3708 w (the) 3942 3708 w (host,) 4144 3708 w (allowing) 4434 3708 w (the) 4885 3708 w (conveniences) 720 3828 w (of) 1404 3828 w (a) 1537 3828 w (mouse) 1627 3828 w (and) 1985 3828 w (bitmap) 2200 3828 w (display) 2575 3828 w (to) 2952 3828 w (be) 3085 3828 w (taken) 3239 3828 w (home) 3542 3828 w (while) 3849 3828 w (leaving) 4138 3828 w (the) 4519 3828 w (files) 4710 3828 w (at) 4948 3828 w (work.) 720 3948 w (It is also possible to run the host part on a remote machine:) 1053 3948 w 9 /LucidaTypewriter f (sam) 920 4118 w (-r) 1180 4118 w (host) 1375 4118 w 10 /LucidaSansUnicode00 f (connects) 720 4298 w (to) 1190 4298 w (the) 1327 4298 w (terminal) 1521 4298 w (in) 1962 4298 w (the) 2092 4298 w (usual) 2286 4298 w (way,) 2584 4298 w (and) 2839 4298 w (then) 3058 4298 w (makes) 3314 4298 w (a) 3666 4298 w (call) 3761 4298 w (across) 3965 4298 w (the) 4315 4298 w (network) 4510 4298 w (to) 4942 4298 w (establish) 720 4418 w (the) 1187 4418 w (host) 1376 4418 w (part) 1621 4418 w (of) 1850 4418 w 10 /LucidaTypewriter f (sam) 1981 4418 w 10 /LucidaSansUnicode00 f (on) 2230 4418 w (the) 2386 4418 w (named) 2574 4418 w (machine.) 2936 4418 w (Finally,) 3441 4418 w (it) 3816 4418 w (cross-connects) 3915 4418 w (the) 4692 4418 w (I/O) 4880 4418 w (to) 720 4538 w (join) 859 4538 w (the) 1082 4538 w (two) 1278 4538 w (parts.) 1494 4538 w (This) 1846 4538 w (allows) 2092 4538 w 10 /LucidaTypewriter f (sam) 2435 4538 w 10 /LucidaSansUnicode00 f (to) 2692 4538 w (be) 2831 4538 w (run) 2991 4538 w (on) 3197 4538 w (machines) 3361 4538 w (that) 3861 4538 w (do) 4093 4538 w (not) 4258 4538 w (support) 4459 4538 w (bit\255) 4878 4538 w (map) 720 4658 w (displays;) 970 4658 w (for) 1434 4658 w (example,) 1612 4658 w 10 /LucidaTypewriter f (sam) 2096 4658 w 10 /LucidaSansUnicode00 f (is) 2351 4658 w (the) 2470 4658 w (editor) 2664 4658 w (of) 2990 4658 w (choice) 3127 4658 w (on) 3476 4658 w (our) 3638 4658 w (Cray) 3841 4658 w (X-MP/24.) 4097 4658 w 10 /LucidaTypewriter f (Sam) 4641 4658 w (-r) 4896 4658 w 10 /LucidaSansUnicode00 f (involves) 720 4778 w 10 /LucidaSans-Italic f (three) 1159 4778 w 10 /LucidaSansUnicode00 f (machines:) 1460 4778 w (the) 1998 4778 w (remote) 2200 4778 w (host,) 2591 4778 w (the) 2881 4778 w (terminal,) 3083 4778 w (and) 3564 4778 w (the) 3791 4778 w (local) 3993 4778 w (host.) 4265 4778 w (The) 4587 4778 w (local) 4815 4778 w (host) 720 4898 w 10 /LucidaSansUnicode20 f (\031) 931 4898 w 10 /LucidaSansUnicode00 f (s job is simple but vital: it passes the data between the remote host and terminal.) 963 4898 w (The) 970 5054 w (host) 1204 5054 w (and) 1468 5054 w (terminal) 1701 5054 w (exchange) 2156 5054 w (messages) 2674 5054 w (asynchronously) 3203 5054 w (\(rather) 4009 5054 w (than,) 4388 5054 w (say,) 4690 5054 w (as) 4934 5054 w (remote) 720 5174 w (procedure) 1104 5174 w (calls\)) 1638 5174 w (but) 1926 5174 w (there) 2127 5174 w (is) 2418 5174 w (no) 2537 5174 w (error) 2699 5174 w (detection) 2978 5174 w (or) 3469 5174 w (correction) 3610 5174 w (because,) 4139 5174 w (whatever) 4604 5174 w (the) 720 5294 w (configuration,) 926 5294 w (the) 1658 5294 w (connection) 1865 5294 w (is) 2449 5294 w (reliable.) 2581 5294 w (Because) 3055 5294 w (the) 3496 5294 w (terminal) 3703 5294 w (handles) 4157 5294 w (mundane) 4587 5294 w (interaction) 720 5414 w (tasks) 1286 5414 w (such) 1584 5414 w (as) 1855 5414 w (popping) 2006 5414 w (up) 2454 5414 w (menus) 2624 5414 w (and) 2993 5414 w (interpreting) 3218 5414 w (the) 3838 5414 w (responses,) 4038 5414 w (the) 4607 5414 w (mes\255) 4807 5414 w (sages) 720 5534 w (are) 1035 5534 w (about) 1227 5534 w (data,) 1545 5534 w (not) 1827 5534 w (actions.) 2027 5534 w (For) 2477 5534 w (example,) 2673 5534 w (the) 3158 5534 w (host) 3353 5534 w (knows) 3604 5534 w (nothing) 3953 5534 w (about) 4369 5534 w (what) 4688 5534 w (is) 4960 5534 w (displayed) 720 5654 w (on) 1221 5654 w (the) 1384 5654 w (screen,) 1579 5654 w (and) 1968 5654 w (when) 2188 5654 w (the) 2485 5654 w (user) 2680 5654 w (types) 2930 5654 w (a) 3229 5654 w (character,) 3324 5654 w (the) 3845 5654 w (message) 4040 5654 w (sent) 4503 5654 w (to) 4748 5654 w (the) 4885 5654 w (host) 720 5774 w (says) 964 5774 w 10 /LucidaSansUnicode20 f (\030\030) 1206 5774 w 10 /LucidaSansUnicode00 f (insert) 1270 5774 w (a) 1579 5774 w (one-byte) 1667 5774 w (string) 2145 5774 w (at) 2460 5774 w (location) 2585 5774 w (123) 3003 5774 w (in) 3225 5774 w (file) 3349 5774 w (7,) 3533 5774 w 10 /LucidaSansUnicode20 f (\031\031) 3628 5774 w 10 /LucidaSansUnicode00 f (not) 3725 5774 w 10 /LucidaSansUnicode20 f (\030\030) 3918 5774 w 10 /LucidaSansUnicode00 f (a) 3982 5774 w (character) 4070 5774 w (was) 4552 5774 w (typed) 4769 5774 w (at) 720 5894 w (the) 865 5894 w (current) 1073 5894 w (position) 1476 5894 w (in) 1922 5894 w (the) 2066 5894 w (current) 2274 5894 w (file.) 2677 5894 w 10 /LucidaSansUnicode20 f (\031\031) 2860 5894 w 10 /LucidaSansUnicode00 f (In) 3009 5894 w (other) 3153 5894 w (words,) 3463 5894 w (the) 3841 5894 w (messages) 4049 5894 w (look) 4577 5894 w (very) 4839 5894 w (much like the transaction records in the transcripts.) 720 6014 w (Either) 970 6170 w (the) 1291 6170 w (host) 1489 6170 w (or) 1743 6170 w (terminal) 1888 6170 w (part) 2333 6170 w (of) 2572 6170 w 10 /LucidaTypewriter f (sam) 2713 6170 w 10 /LucidaSansUnicode00 f (may) 2972 6170 w (initiate) 3215 6170 w (a) 3592 6170 w (change) 3690 6170 w (to) 4081 6170 w (a) 4222 6170 w (file.) 4320 6170 w (The) 4578 6170 w (com\255) 4802 6170 w (mand) 720 6290 w (language) 1029 6290 w (operates) 1508 6290 w (on) 1964 6290 w (the) 2123 6290 w (host,) 2314 6290 w (while) 2593 6290 w (typing) 2882 6290 w (and) 3223 6290 w (some) 3439 6290 w (mouse) 3736 6290 w (operations) 4095 6290 w (are) 4647 6290 w (exe\255) 4834 6290 w (cuted) 720 6410 w (directly) 1029 6410 w (in) 1427 6410 w (the) 1558 6410 w (terminal) 1753 6410 w (to) 2195 6410 w (optimize) 2333 6410 w (response.) 2798 6410 w (Changes) 3343 6410 w (initiated) 3800 6410 w (by) 4238 6410 w (the) 4394 6410 w (host) 4590 6410 w (pro\255) 4842 6410 w (gram) 720 6530 w (must) 1021 6530 w (be) 1314 6530 w (transmitted) 1483 6530 w (to) 2094 6530 w (the) 2241 6530 w (terminal,) 2445 6530 w (and) 2928 6530 w (vice) 3157 6530 w (versa.) 3394 6530 w (\(A) 3762 6530 w (token) 3913 6530 w (is) 4236 6530 w (exchanged) 4365 6530 w (to) 4942 6530 w (determine) 720 6650 w (which) 1265 6650 w (end) 1598 6650 w (is) 1831 6650 w (in) 1963 6650 w (control,) 2106 6650 w (which) 2532 6650 w (means) 2865 6650 w (that) 3234 6650 w (characters) 3477 6650 w (typed) 4029 6650 w (while) 4353 6650 w (a) 4659 6650 w (time-) 4767 6650 w (consuming) 720 6770 w (command) 1299 6770 w (runs) 1823 6770 w (must) 2084 6770 w (be) 2372 6770 w (buffered) 2536 6770 w (and) 2996 6770 w (do) 3221 6770 w (not) 3390 6770 w (appear) 3595 6770 w (until) 3973 6770 w (the) 4237 6770 w (command) 4437 6770 w (is) 4960 6770 w (complete.\)) 720 6890 w (To) 1317 6890 w (maintain) 1495 6890 w (consistent) 1971 6890 w (information,) 2522 6890 w (the) 3176 6890 w (host) 3386 6890 w (and) 3652 6890 w (terminal) 3887 6890 w (track) 4344 6890 w (changes) 4641 6890 w (through) 720 7010 w (a) 1146 7010 w (per-file) 1240 7010 w (data) 1648 7010 w (structure) 1897 7010 w (that) 2374 7010 w (records) 2604 7010 w (what) 3007 7010 w (portions) 3277 7010 w (of) 3721 7010 w (the) 3857 7010 w (file) 4050 7010 w (the) 4239 7010 w (terminal) 4432 7010 w (has) 4872 7010 w (received.) 720 7130 w (The) 1229 7130 w (data) 1451 7130 w (structure,) 1703 7130 w (called) 2215 7130 w (a) 2540 7130 w 10 /LucidaTypewriter f (Rasp) 2637 7130 w 10 /LucidaSansUnicode00 f (\(a) 2967 7130 w (weak) 3097 7130 w (pun:) 3385 7130 w (it) 3646 7130 w 10 /LucidaSansUnicode20 f (\031) 3712 7130 w 10 /LucidaSansUnicode00 f (s) 3744 7130 w (a) 3837 7130 w (file) 3934 7130 w (with) 4127 7130 w (holes\)) 4374 7130 w (is) 4708 7130 w (held) 4830 7130 w (and) 720 7250 w (updated) 933 7250 w (by) 1365 7250 w (both) 1513 7250 w (the host and terminal.) 1769 7250 w (A) 2909 7250 w 10 /LucidaTypewriter f (Rasp) 3010 7250 w 10 /LucidaSansUnicode00 f (is a list of) 3330 7250 w 10 /LucidaTypewriter f (Strings) 3837 7250 w 10 /LucidaSansUnicode00 f (holding those) 4373 7250 w cleartomark showpage saveobj restore %%EndPage: 22 22 %%Page: 23 23 /saveobj save def mark 23 pagesetup 10 /LucidaSansUnicode00 f (\255 23 \255) 2752 480 w (parts) 720 840 w (of) 1008 840 w (the) 1147 840 w (file) 1343 840 w (known) 1535 840 w (to) 1897 840 w (the) 2037 840 w (terminal,) 2234 840 w (separated) 2710 840 w (by) 3229 840 w (counts) 3386 840 w (of) 3752 840 w (the) 3892 840 w (number) 4089 840 w (of) 4508 840 w (bytes) 4648 840 w (in) 4949 840 w (the) 720 960 w (interstices.) 923 960 w (Of) 1535 960 w (course,) 1698 960 w (the) 2100 960 w (host) 2302 960 w (doesn) 2560 960 w 10 /LucidaSansUnicode20 f (\031) 2853 960 w 10 /LucidaSansUnicode00 f (t) 2885 960 w (keep) 2969 960 w (a) 3249 960 w (separate) 3351 960 w (copy) 3812 960 w (of) 4086 960 w (the) 4231 960 w (data) 4433 960 w (\(it) 4690 960 w (only) 4836 960 w (needs the lengths of the various pieces\), but the structure is the same on both ends.) 720 1080 w (The) 970 1236 w 10 /LucidaTypewriter f (Rasp) 1183 1236 w 10 /LucidaSansUnicode00 f (in the terminal doubles) 1503 1236 w (as) 2665 1236 w (a) 2804 1236 w (cache.) 2892 1236 w (Since) 3264 1236 w (the) 3549 1236 w (terminal) 3737 1236 w (keeps) 4172 1236 w (the) 4489 1236 w (text) 4677 1236 w (for) 4901 1236 w (portions) 720 1356 w (of) 1161 1356 w (the) 1295 1356 w (file) 1485 1356 w (it) 1671 1356 w (has) 1772 1356 w (displayed,) 1975 1356 w (it) 2503 1356 w (need) 2604 1356 w (not) 2876 1356 w (request) 3071 1356 w (data) 3472 1356 w (from) 3717 1356 w (the) 3984 1356 w (host) 4174 1356 w (when) 4420 1356 w (revisit\255) 4712 1356 w (ing) 720 1476 w (old) 907 1476 w (parts) 1094 1476 w (of) 1375 1476 w (the) 1507 1476 w (file) 1696 1476 w (or) 1881 1476 w (redrawing) 2017 1476 w (obscured) 2537 1476 w (windows,) 3019 1476 w (which) 3505 1476 w (speeds) 3820 1476 w (things) 4194 1476 w (up) 4531 1476 w (consid\255) 4690 1476 w (erably over low-speed links.) 720 1596 w (It) 970 1752 w 10 /LucidaSansUnicode20 f (\031) 1036 1752 w 10 /LucidaSansUnicode00 f (s) 1068 1752 w (trivial) 1157 1752 w (for) 1468 1752 w (the) 1646 1752 w (terminal) 1840 1752 w (to) 2281 1752 w (maintain) 2418 1752 w (its) 2879 1752 w 10 /LucidaTypewriter f (Rasp) 3035 1752 w 10 /LucidaSansUnicode00 f (,) 3323 1752 w (because) 3394 1752 w (all) 3827 1752 w (changes) 3979 1752 w (made) 4417 1752 w (on) 4723 1752 w (the) 4885 1752 w (terminal) 720 1872 w (apply) 1162 1872 w (to) 1464 1872 w (parts) 1602 1872 w (of) 1889 1872 w (the) 2027 1872 w (file) 2222 1872 w (already) 2413 1872 w (loaded) 2804 1872 w (there.) 3171 1872 w (Changes) 3527 1872 w (made) 3984 1872 w (by) 4290 1872 w (the) 4444 1872 w (host) 4638 1872 w (are) 4888 1872 w (compared) 720 1992 w (against) 1250 1992 w (the) 1648 1992 w 10 /LucidaTypewriter f (Rasp) 1850 1992 w 10 /LucidaSansUnicode00 f (during) 2185 1992 w (the) 2552 1992 w (update) 2755 1992 w (sequence) 3139 1992 w (after) 3644 1992 w (each) 3918 1992 w (command.) 4190 1992 w (Small) 4780 1992 w (changes) 720 2112 w (to) 1168 2112 w (pieces) 1315 2112 w (of) 1669 2112 w (the) 1815 2112 w (file) 2018 2112 w (loaded) 2217 2112 w (in) 2592 2112 w (the) 2731 2112 w (terminal) 2934 2112 w (are) 3384 2112 w (sent) 3584 2112 w (in) 3838 2112 w (their) 3977 2112 w (entirety.) 4250 2112 w (Larger) 4732 2112 w (changes,) 720 2232 w (and) 1192 2232 w (changes) 1413 2232 w (that) 1853 2232 w (fall) 2085 2232 w (entirely) 2276 2232 w (in) 2679 2232 w (the) 2811 2232 w (holes,) 3007 2232 w (are) 3340 2232 w (transmitted) 3534 2232 w (as) 4137 2232 w (messages) 4285 2232 w (with\255) 4802 2232 w (out) 720 2352 w (literal) 931 2352 w (data:) 1258 2352 w (only) 1551 2352 w (the) 1806 2352 w (lengths) 2012 2352 w (of) 2422 2352 w (the) 2571 2352 w (deleted) 2777 2352 w (and) 3187 2352 w (inserted) 3417 2352 w (strings) 3862 2352 w (are) 4245 2352 w (transmitted.) 4447 2352 w (When) 720 2472 w (a) 1024 2472 w (command) 1117 2472 w (is) 1633 2472 w (completed,) 1751 2472 w (the) 2330 2472 w (terminal) 2523 2472 w (examines) 2963 2472 w (its) 3464 2472 w (visible) 3620 2472 w (windows) 3968 2472 w (to) 4427 2472 w (see) 4564 2472 w (if) 4766 2472 w (any) 4871 2472 w (holes) 720 2592 w (in) 1017 2592 w (their) 1146 2592 w 10 /LucidaTypewriter f (Rasps) 1409 2592 w 10 /LucidaSansUnicode00 f (intersect) 1807 2592 w (the) 2265 2592 w (visible) 2458 2592 w (portion) 2805 2592 w (of) 3197 2592 w (the) 3333 2592 w (file.) 3526 2592 w (It) 3779 2592 w (then) 3883 2592 w (requests) 4137 2592 w (the) 4591 2592 w (miss\255) 4783 2592 w (ing) 720 2712 w (data) 907 2712 w (from) 1151 2712 w (the) 1417 2712 w (host,) 1606 2712 w (along) 1883 2712 w (with) 2186 2712 w (up) 2425 2712 w (to) 2584 2712 w (512) 2716 2712 w (bytes) 2939 2712 w (of) 3232 2712 w (surrounding) 3364 2712 w (data,) 3994 2712 w (to) 4270 2712 w (minimize) 4402 2712 w (the) 4885 2712 w (number) 720 2832 w (of) 1136 2832 w (messages) 1273 2832 w (when) 1787 2832 w (visiting) 2083 2832 w (a) 2472 2832 w (new) 2565 2832 w (portion) 2798 2832 w (of) 3190 2832 w (the) 3326 2832 w (file.) 3519 2832 w (This) 3772 2832 w (technique) 4015 2832 w (provides) 4531 2832 w (a) 4985 2832 w (kind) 720 2952 w (of) 975 2952 w (two-level) 1116 2952 w (lazy) 1614 2952 w (evaluation) 1850 2952 w (for) 2391 2952 w (the) 2573 2952 w (terminal.) 2771 2952 w (The) 3281 2952 w (first) 3506 2952 w (level) 3745 2952 w (sends) 4011 2952 w (a) 4338 2952 w (minimum) 4437 2952 w (of) 4942 2952 w (information) 720 3072 w (about) 1326 3072 w (parts) 1643 3072 w (of) 1929 3072 w (the) 2066 3072 w (file) 2260 3072 w (not) 2450 3072 w (being) 2648 3072 w (edited) 2958 3072 w (interactively;) 3300 3072 w (the) 3956 3072 w (second) 4149 3072 w (level) 4531 3072 w (waits) 4791 3072 w (until) 720 3192 w (a) 974 3192 w (change) 1064 3192 w (is) 1447 3192 w (displayed) 1562 3192 w (before) 2058 3192 w (transmitting) 2407 3192 w (the) 3037 3192 w (new) 3227 3192 w (data.) 3457 3192 w (Of) 3767 3192 w (course,) 3918 3192 w (performance) 4308 3192 w (is) 4960 3192 w (also) 720 3312 w (helped) 965 3312 w (by) 1343 3312 w (having) 1507 3312 w (the) 1878 3312 w (terminal) 2082 3312 w (respond) 2533 3312 w (immediately) 2979 3312 w (to) 3620 3312 w (typing) 3767 3312 w (and) 4120 3312 w (simple) 4348 3312 w (mouse) 4717 3312 w (requests.) 720 3432 w (Except) 1237 3432 w (for) 1595 3432 w (small) 1770 3432 w (changes) 2063 3432 w (to) 2498 3432 w (active) 2632 3432 w (pieces) 2948 3432 w (of) 3290 3432 w (the) 3425 3432 w (file,) 3617 3432 w (which) 3837 3432 w (are) 4155 3432 w (transmitted) 4344 3432 w (to) 4942 3432 w (the) 720 3552 w (terminal) 912 3552 w (without) 1351 3552 w (negotiation,) 1753 3552 w (the) 2373 3552 w (terminal) 2565 3552 w (is) 3004 3552 w (wholly) 3121 3552 w (responsible) 3468 3552 w (for) 4067 3552 w (deciding) 4242 3552 w (what) 4693 3552 w (is) 4960 3552 w (displayed; the host uses the) 720 3672 w 10 /LucidaTypewriter f (Rasp) 2114 3672 w 10 /LucidaSansUnicode00 f (only to tell the terminal what might be relevant.) 2434 3672 w (When) 970 3828 w (a) 1269 3828 w (change) 1357 3828 w (is) 1738 3828 w (initiated) 1851 3828 w (by) 2281 3828 w (the) 2429 3828 w (host,) 2617 3828 w (the) 2893 3828 w (messages) 3081 3828 w (to) 3589 3828 w (the) 3720 3828 w (terminal) 3908 3828 w (describing) 4344 3828 w (the) 4885 3828 w (change) 720 3948 w (are) 1115 3948 w (generated) 1314 3948 w (by) 1849 3948 w (the) 2011 3948 w (routine) 2213 3948 w (that) 2608 3948 w (applies) 2845 3948 w (the) 3237 3948 w (transcript) 3438 3948 w (of) 3951 3948 w (the) 4095 3948 w (changes) 4296 3948 w (to) 4741 3948 w (the) 4885 3948 w (contents) 720 4068 w (of) 1174 4068 w (the) 1309 4068 w 10 /LucidaTypewriter f (File) 1501 4068 w 10 /LucidaSansUnicode00 f (.) 1789 4068 w (Since) 1890 4068 w (changes) 2179 4068 w (are) 2615 4068 w (undone) 2804 4068 w (by) 3208 4068 w (the) 3361 4068 w (same) 3554 4068 w (update) 3847 4068 w (routine,) 4221 4068 w (undoing) 4639 4068 w (requires) 720 4188 w (no) 1160 4188 w (extra) 1324 4188 w (code) 1615 4188 w (in) 1887 4188 w (the) 2019 4188 w (communications;) 2215 4188 w (the) 3085 4188 w (usual) 3280 4188 w (messages) 3579 4188 w (describing) 4094 4188 w (changes) 4641 4188 w (to the file are sufficient to back up the screen image.) 720 4308 w (The) 970 4464 w 10 /LucidaTypewriter f (Rasp) 1184 4464 w 10 /LucidaSansUnicode00 f (is) 1505 4464 w (a) 1618 4464 w (particularly) 1706 4464 w (good) 2283 4464 w (example) 2563 4464 w (of) 3009 4464 w (the) 3140 4464 w (way) 3328 4464 w (caches) 3545 4464 w (are) 3905 4464 w (used) 4091 4464 w (in) 4357 4464 w 10 /LucidaTypewriter f (sam) 4482 4464 w 10 /LucidaSansUnicode00 f (.) 4698 4464 w (First,) 4796 4464 w (it) 720 4584 w (facilitates) 835 4584 w (access) 1350 4584 w (to) 1714 4584 w (the) 1861 4584 w (active) 2064 4584 w (portion) 2392 4584 w (of) 2794 4584 w (the) 2940 4584 w (text) 3143 4584 w (by) 3382 4584 w (placing) 3545 4584 w (the) 3944 4584 w (busy) 4147 4584 w (text) 4423 4584 w (in) 4662 4584 w (main) 4801 4584 w (memory.) 720 4704 w (In) 1215 4704 w (so) 1341 4704 w (doing,) 1488 4704 w (it) 1832 4704 w (provides) 1933 4704 w (efficient) 2384 4704 w (access) 2813 4704 w (to) 3163 4704 w (a) 3296 4704 w (large) 3387 4704 w (data) 3666 4704 w (structure) 3912 4704 w (that) 4386 4704 w (does) 4613 4704 w (not) 4880 4704 w (fit) 720 4824 w (in) 858 4824 w (memory.) 984 4824 w (Since) 1479 4824 w (the) 1766 4824 w (form) 1955 4824 w (of) 2221 4824 w (data) 2353 4824 w (is) 2597 4824 w (to) 2711 4824 w (be) 2843 4824 w (imposed) 2996 4824 w (by) 3446 4824 w (the) 3595 4824 w (user,) 3784 4824 w (not) 4060 4824 w (by) 4254 4824 w (the) 4403 4824 w (program,) 4592 4824 w (and) 720 4944 w (because) 944 4944 w (characters) 1382 4944 w (will) 1926 4944 w (frequently) 2134 4944 w (be) 2673 4944 w (scanned) 2836 4944 w (sequentially,) 3280 4944 w (files) 3937 4944 w (are) 4183 4944 w (stored) 4379 4944 w (as) 4732 4944 w (flat) 4882 4944 w (objects.) 720 5064 w (Caches help keep performance good and linear when working with such data.) 1165 5064 w (Second,) 970 5220 w (the) 1386 5220 w 10 /LucidaTypewriter f (Rasp) 1578 5220 w 10 /LucidaSansUnicode00 f (and) 1903 5220 w (several) 2120 5220 w (of) 2497 5220 w (the) 2632 5220 w (other) 2824 5220 w (caches) 3119 5220 w (have) 3483 5220 w (some) 3746 5220 w 10 /LucidaSans-Italic f (read-ahead;) 4045 5220 w 10 /LucidaSansUnicode00 f (that) 4699 5220 w (is,) 4928 5220 w (the) 720 5340 w (cache) 924 5340 w (is) 1248 5340 w (loaded) 1377 5340 w (with) 1753 5340 w (more) 2006 5340 w (information) 2305 5340 w (than) 2920 5340 w (is) 3184 5340 w (needed) 3312 5340 w (for) 3716 5340 w (the) 3903 5340 w (job) 4106 5340 w (immediately) 4308 5340 w (at) 4948 5340 w (hand.) 720 5460 w (When) 1079 5460 w (manipulating) 1398 5460 w (linear) 2089 5460 w (structures,) 2414 5460 w (the) 2989 5460 w (accesses) 3198 5460 w (are) 3674 5460 w (usually) 3880 5460 w (sequential,) 4274 5460 w (and) 4860 5460 w (read-ahead) 720 5580 w (can) 1323 5580 w (significantly) 1530 5580 w (reduce) 2154 5580 w (the) 2522 5580 w (average) 2716 5580 w (time) 3132 5580 w (to) 3386 5580 w (access) 3522 5580 w (the) 3875 5580 w (next) 4068 5580 w (element) 4322 5580 w (of) 4749 5580 w (the) 4885 5580 w (object.) 720 5700 w (Sequential) 1122 5700 w (access) 1665 5700 w (is) 2020 5700 w (a) 2140 5700 w (common) 2235 5700 w (mode) 2697 5700 w (for) 3011 5700 w (people) 3191 5700 w (as) 3560 5700 w (well) 3707 5700 w (as) 3939 5700 w (programs;) 4086 5700 w (consider) 4626 5700 w (scrolling through a document while looking for something.) 720 5820 w (Finally,) 970 5976 w (like) 1345 5976 w (any) 1550 5976 w (good) 1753 5976 w (data) 2034 5976 w (structure,) 2278 5976 w (the) 2782 5976 w (cache) 2971 5976 w (guides) 3280 5976 w (the) 3637 5976 w (algorithm,) 3826 5976 w (or) 4361 5976 w (at) 4497 5976 w (least) 4623 5976 w (the) 4885 5976 w (implementation.) 720 6096 w (The) 1620 6096 w 10 /LucidaTypewriter f (Rasp) 1875 6096 w 10 /LucidaSansUnicode00 f (was) 2237 6096 w (actually) 2494 6096 w (invented) 2938 6096 w (to) 3429 6096 w (control) 3600 6096 w (the) 4015 6096 w (communications) 4243 6096 w (between) 720 6216 w (the) 1165 6216 w (host) 1358 6216 w (and) 1607 6216 w (terminal) 1825 6216 w (parts,) 2265 6216 w (but) 2582 6216 w (I) 2782 6216 w (realized) 2849 6216 w (very) 3273 6216 w (early) 3513 6216 w (that) 3785 6216 w (it) 4015 6216 w (was) 4120 6216 w (also) 4342 6216 w (a) 4577 6216 w (form) 4671 6216 w (of) 4942 6216 w (cache.) 720 6336 w (Other) 1092 6336 w (caches) 1399 6336 w (were) 1758 6336 w (more) 2021 6336 w (explicitly) 2305 6336 w (intended) 2774 6336 w (to) 3235 6336 w (serve) 3366 6336 w (a) 3655 6336 w (double) 3743 6336 w (purpose: for exam\255) 4110 6336 w (ple,) 720 6456 w (the) 937 6456 w (caches) 1129 6456 w (in) 1492 6456 w 10 /LucidaTypewriter f (Files) 1620 6456 w 10 /LucidaSansUnicode00 f (that) 2017 6456 w (coalesce) 2245 6456 w (updates) 2692 6456 w (not) 3116 6456 w (only) 3313 6456 w (reduce) 3554 6456 w (traffic) 3920 6456 w (to) 4244 6456 w (the) 4380 6456 w (transcript) 4573 6456 w (and) 720 6576 w (contents) 933 6576 w 10 /LucidaTypewriter f (Buffers) 1383 6576 w 10 /LucidaSansUnicode00 f (,) 1887 6576 w (they) 1952 6576 w (also) 2192 6576 w (clump) 2421 6576 w (screen) 2752 6576 w (updates) 3102 6576 w (so) 3522 6576 w (that) 3667 6576 w (complicated changes to) 3891 6576 w (the) 720 6696 w (screen) 908 6696 w (are) 1258 6696 w (achieved) 1443 6696 w (in) 1900 6696 w (just) 2024 6696 w (a) 2237 6696 w (few) 2326 6696 w (messages) 2530 6696 w (to) 3039 6696 w (the) 3171 6696 w (terminal.) 3360 6696 w (This) 3860 6696 w (saved) 4099 6696 w (me) 4410 6696 w (consider\255) 4593 6696 w (able) 720 6816 w (work:) 956 6816 w (I) 1258 6816 w (did) 1320 6816 w (not) 1508 6816 w (need) 1701 6816 w (to) 1971 6816 w (write) 2102 6816 w (special) 2375 6816 w (code) 2742 6816 w (to) 3006 6816 w (optimize the message traffic to the ter\255) 3137 6816 w (minal.) 720 6936 w (Caches) 1094 6936 w (pay) 1480 6936 w (off) 1692 6936 w (in) 1869 6936 w (surprising) 2002 6936 w (ways.) 2535 6936 w (Also,) 2877 6936 w (they) 3162 6936 w (tend) 3412 6936 w (to) 3673 6936 w (be) 3814 6936 w (independent,) 3976 6936 w (so) 4660 6936 w (their) 4815 6936 w (performance improvements are multiplicative.) 720 7056 w cleartomark showpage saveobj restore %%EndPage: 23 23 %%Page: 24 24 /saveobj save def mark 24 pagesetup 10 /LucidaSansUnicode00 f (\255 24 \255) 2752 480 w 10 /LucidaSans-Demi f (Data structures in the terminal) 720 840 w 10 /LucidaSansUnicode00 f (The) 720 996 w (terminal) 936 996 w 10 /LucidaSansUnicode20 f (\031) 1338 996 w 10 /LucidaSansUnicode00 f (s) 1370 996 w (job) 1456 996 w (is) 1646 996 w (to) 1762 996 w (display) 1896 996 w (and) 2274 996 w (to) 2490 996 w (maintain) 2624 996 w (a) 3082 996 w (consistent) 3173 996 w (image) 3706 996 w (of) 4037 996 w (pieces) 4171 996 w (of) 4513 996 w (the) 4647 996 w (files) 4838 996 w (being) 720 1116 w (edited.) 1037 1116 w (Because) 1450 1116 w (the) 1883 1116 w (text) 2082 1116 w (is) 2317 1116 w (always) 2441 1116 w (in) 2804 1116 w (memory,) 2939 1116 w (the) 3411 1116 w (data) 3610 1116 w (structures) 3864 1116 w (are) 4397 1116 w (consider\255) 4593 1116 w (ably simpler than those in the host part.) 720 1236 w 10 /LucidaTypewriter f (Sam) 970 1392 w 10 /LucidaSansUnicode00 f (typically) 1238 1392 w (has) 1687 1392 w (far) 1907 1392 w (more) 2092 1392 w (windows) 2395 1392 w (than) 2867 1392 w (does) 3136 1392 w 10 /LucidaTypewriter f (mux) 3420 1392 w 10 /LucidaSansUnicode00 f (,) 3636 1392 w (the) 3721 1392 w (window) 3929 1392 w (system) 4351 1392 w (within) 4744 1392 w (which) 720 1512 w (its) 1048 1512 w (Blit) 1212 1512 w (implementation) 1412 1512 w (runs.) 2221 1512 w 10 /LucidaTypewriter f (Mux) 2548 1512 w 10 /LucidaSansUnicode00 f (has) 2811 1512 w (a) 3026 1512 w (fairly) 3128 1512 w (small) 3418 1512 w (number) 3721 1512 w (of) 4144 1512 w (asynchronously) 4288 1512 w (updated) 720 1632 w (windows;) 1163 1632 w 10 /LucidaTypewriter f (sam) 1659 1632 w 10 /LucidaSansUnicode00 f (needs) 1919 1632 w (a) 2251 1632 w (large) 2350 1632 w (number) 2637 1632 w (of) 3058 1632 w (synchronously) 3200 1632 w (updated) 3941 1632 w (windows) 4384 1632 w (that) 4849 1632 w (are) 720 1752 w (usually) 921 1752 w (static) 1310 1752 w (and) 1619 1752 w (often) 1848 1752 w (fully) 2150 1752 w (obscured.) 2408 1752 w (The) 2969 1752 w (different) 3199 1752 w (tradeoffs) 3666 1752 w (guided) 4153 1752 w 10 /LucidaTypewriter f (sam) 4537 1752 w 10 /LucidaSansUnicode00 f (away) 4801 1752 w (from) 720 1872 w (the) 1017 1872 w (memory-intensive) 1237 1872 w (implementation) 2190 1872 w (of) 3017 1872 w (windows,) 3180 1872 w (called) 3697 1872 w 10 /LucidaTypewriter f (Layers) 4045 1872 w 10 /LucidaSansUnicode00 f (,) 4477 1872 w 6 /LucidaSansUnicode00 f (17) 4509 1822 w 10 /LucidaSansUnicode00 f (used) 4651 1872 w (in) 4949 1872 w 10 /LucidaTypewriter f (mux.) 720 1992 w 10 /LucidaSansUnicode00 f (Rather) 1049 1992 w (than) 1404 1992 w (depending) 1661 1992 w (on) 2218 1992 w (a) 2382 1992 w (complete) 2478 1992 w (bitmap) 2965 1992 w (image) 3346 1992 w (of) 3681 1992 w (the) 3819 1992 w (display) 4014 1992 w (for) 4396 1992 w (each) 4575 1992 w (win\255) 4839 1992 w (dow,) 720 2112 w 10 /LucidaTypewriter f (sam) 998 2112 w 10 /LucidaSansUnicode00 f (regenerates) 1260 2112 w (the) 1879 2112 w (image) 2080 2112 w (from) 2421 2112 w (its) 2699 2112 w (in-memory) 2862 2112 w (text) 3453 2112 w (\(stored) 3690 2112 w (in) 4078 2112 w (the) 4215 2112 w 10 /LucidaTypewriter f (Rasp) 4416 2112 w 10 /LucidaSansUnicode00 f (\)) 4704 2112 w (when) 4783 2112 w (necessary,) 720 2232 w (although) 1271 2232 w (it) 1745 2232 w (will) 1855 2232 w (use) 2063 2232 w (such) 2276 2232 w (an) 2546 2232 w (image) 2707 2232 w (if) 3045 2232 w (it) 3154 2232 w (is) 3263 2232 w (available.) 3386 2232 w (Like) 3916 2232 w 10 /LucidaTypewriter f (Layers) 4155 2232 w 10 /LucidaSansUnicode00 f (,) 4587 2232 w (though,) 4662 2232 w 10 /LucidaTypewriter f (sam) 720 2352 w 10 /LucidaSansUnicode00 f (uses) 993 2352 w (the) 1270 2352 w (screen) 1482 2352 w (bitmap) 1856 2352 w (as) 2253 2352 w (active) 2416 2352 w (storage) 2753 2352 w (in) 3173 2352 w (which) 3321 2352 w (to) 3659 2352 w (update) 3814 2352 w (the) 4208 2352 w (image) 4421 2352 w (using) 4774 2352 w 10 /LucidaTypewriter f (bitblt) 720 2472 w 10 /LucidaSansUnicode00 f (.) 1152 2472 w 6 /LucidaSansUnicode00 f (18,19) 1184 2422 w 10 /LucidaSansUnicode00 f (The) 1392 2472 w (resulting) 1610 2472 w (organization,) 2076 2472 w (pictured) 2756 2472 w (in) 3195 2472 w (Figure) 3323 2472 w (6,) 3664 2472 w (has) 3795 2472 w (a) 3999 2472 w (global) 4090 2472 w (array) 4425 2472 w (of) 4705 2472 w (win\255) 4839 2472 w (dows,) 720 2592 w (called) 1043 2592 w 10 /LucidaTypewriter f (Flayers) 1365 2592 w 10 /LucidaSansUnicode00 f (,) 1869 2592 w (each) 1940 2592 w (of) 2203 2592 w (which) 2340 2592 w (holds) 2660 2592 w (an) 2965 2592 w (image) 3122 2592 w (of) 3457 2592 w (a) 3595 2592 w (piece) 3690 2592 w (of) 3985 2592 w (text) 4123 2592 w (held) 4354 2592 w (in) 4604 2592 w (a) 4735 2592 w (data) 4830 2592 w (structure) 720 2712 w (called) 1192 2712 w (a) 1509 2712 w 10 /LucidaTypewriter f (Frame) 1598 2712 w 10 /LucidaSansUnicode00 f (,) 1958 2712 w (which) 2024 2712 w (in) 2339 2712 w (turn) 2463 2712 w (represents) 2698 2712 w (a) 3245 2712 w (rectangular) 3333 2712 w (window) 3917 2712 w (full) 4319 2712 w (of) 4509 2712 w (text) 4640 2712 w (dis\255) 4864 2712 w (played) 720 2832 w (in) 1085 2832 w (some) 1223 2832 w 10 /LucidaTypewriter f (Bitmap) 1531 2832 w 10 /LucidaSansUnicode00 f (.) 1963 2832 w (Each) 2074 2832 w 10 /LucidaTypewriter f (Flayer) 2343 2832 w 10 /LucidaSansUnicode00 f (appears) 2822 2832 w (in) 3253 2832 w (a) 3391 2832 w (global) 3493 2832 w (list) 3839 2832 w (that) 4032 2832 w (orders) 4270 2832 w (them) 4631 2832 w (all) 4927 2832 w (front-to-back) 720 2952 w (on) 1439 2952 w (the) 1602 2952 w (display,) 1797 2952 w (and) 2211 2952 w (simultaneously) 2430 2952 w (as) 3198 2952 w (an) 3343 2952 w (element) 3499 2952 w (of) 3927 2952 w (a) 4064 2952 w (per-file) 4158 2952 w (array) 4566 2952 w (that) 4849 2952 w (holds) 720 3072 w (all) 1026 3072 w (the) 1179 3072 w (open) 1374 3072 w (windows) 1656 3072 w (for) 2116 3072 w (that) 2295 3072 w (file.) 2526 3072 w (The) 2782 3072 w (complement) 3004 3072 w (in) 3646 3072 w (the) 3778 3072 w (terminal) 3974 3072 w (of) 4417 3072 w (the) 4556 3072 w 10 /LucidaTypewriter f (File) 4752 3072 w 10 /LucidaSansUnicode00 f (on the host is called a) 720 3192 w 10 /LucidaTypewriter f (Text) 1819 3192 w 10 /LucidaSansUnicode00 f (; each connects its) 2107 3192 w 10 /LucidaTypewriter f (Flayers) 3039 3192 w 10 /LucidaSansUnicode00 f (to the associated) 3575 3192 w 10 /LucidaTypewriter f (Rasp) 4433 3192 w 10 /LucidaSansUnicode00 f (.) 4721 3192 w 1842 3678 1842 3390 Dl 1842 3390 2648 3390 Dl 2649 3390 2649 3678 Dl 2649 3678 1843 3678 Dl 10 /LucidaTypewriter f (Text) 2102 3554 w 2764 3678 2764 3390 Dl 2764 3390 3412 3390 Dl 3412 3390 3412 3678 Dl 3412 3678 2764 3678 Dl (Rasp) 2944 3554 w 2649 3534 2764 3534 Dl 3412 3534 3584 3534 Dl 3513 3552 3585 3534 Dl 3513 3516 3585 3534 Dl 10 /LucidaSansUnicode00 f (to host) 3685 3554 w 2246 3678 2246 3793 Dl 2246 3793 2030 3793 Dl 2030 3793 2030 4009 Dl 2030 4009 2145 4009 Dl 2145 4153 2145 3865 Dl 2145 3865 2685 3865 Dl 2685 3865 2685 4153 Dl 2685 4153 2145 4153 Dl 10 /LucidaTypewriter f (Flayer) 2199 4029 w 2685 4153 2685 3865 Dl 2685 3865 3225 3865 Dl 3225 3865 3225 4153 Dl 3225 4153 2685 4153 Dl 3225 4153 3225 3865 Dl 3225 3865 3765 3865 Dl 3765 3865 3765 4153 Dl 3765 4153 3225 4153 Dl 3765 4153 3765 3865 Dl 3765 3865 4305 3865 Dl 4305 3865 4305 4153 Dl 4305 4153 3765 4153 Dl (...) 3927 4029 w (...) 2847 4490 w 2145 4614 2145 4326 Dl 2145 4326 2685 4326 Dl 2685 4326 2685 4614 Dl 2685 4614 2145 4614 Dl (Frame) 2235 4490 w 2415 4153 2415 4325 Dl 2955 4153 2955 4325 Dl 3495 4153 3495 4325 Dl 4035 4153 4035 4325 Dl 1454 4614 1454 4326 Dl 1454 4326 1943 4326 Dl 1943 4326 1943 4614 Dl 1943 4614 1454 4614 Dl (Bitmap) 1482 4430 w 10 /LucidaSansUnicode00 f (\(cache\)) 1528 4550 w 1943 4470 2144 4470 Dl 2415 4614 2415 4729 Dl 2415 4729 2055 4729 Dl 2055 4729 2055 4945 Dl 2055 4945 2170 4945 Dl 2170 5089 2170 4801 Dl 2170 4801 2494 4801 Dl 2494 4801 2494 5089 Dl 2494 5089 2170 5089 Dl 10 /LucidaTypewriter f (Box) 2224 4965 w 2494 5089 2494 4801 Dl 2494 4801 2818 4801 Dl 2818 4801 2818 5089 Dl 2818 5089 2494 5089 Dl 2818 5089 2818 4801 Dl 2818 4801 3142 4801 Dl 3142 4801 3142 5089 Dl 3142 5089 2818 5089 Dl 3142 5089 3142 4801 Dl 3142 4801 3466 4801 Dl 3466 4801 3466 5089 Dl 3466 5089 3142 5089 Dl (...) 3196 4965 w 8 /LucidaSans-Italic f (Figure) 720 5267 w (6.) 1011 5267 w (Data) 1133 5267 w (structures) 1366 5267 w (in) 1808 5267 w (the) 1927 5267 w (terminal.) 2095 5267 w 8 /LucidaTypewriter f (Flayers) 2522 5267 w 8 /LucidaSans-Italic f (are) 2974 5267 w (also) 3149 5267 w (linked) 3352 5267 w (together) 3632 5267 w (into) 4006 5267 w (a) 4202 5267 w (front-to-back) 4298 5267 w (list.) 4899 5267 w 8 /LucidaTypewriter f (Boxes) 720 5367 w 8 /LucidaSans-Italic f (are) 1036 5367 w (discussed) 1191 5367 w (in) 1587 5367 w (the) 1686 5367 w (next) 1834 5367 w (section.) 2025 5367 w 10 /LucidaSansUnicode00 f (The) 970 5643 w 10 /LucidaTypewriter f (Bitmap) 1191 5643 w 10 /LucidaSansUnicode00 f (for) 1663 5643 w (a) 1842 5643 w 10 /LucidaTypewriter f (Frame) 1937 5643 w 10 /LucidaSansUnicode00 f (contains) 2337 5643 w (the) 2785 5643 w (image) 2980 5643 w (of) 3315 5643 w (the) 3454 5643 w (text.) 3650 5643 w (For) 3946 5643 w (a) 4143 5643 w (fully) 4239 5643 w (visible) 4489 5643 w (win\255) 4839 5643 w (dow,) 720 5763 w (the) 989 5763 w 10 /LucidaTypewriter f (Bitmap) 1180 5763 w 10 /LucidaSansUnicode00 f (will) 1648 5763 w (be) 1848 5763 w (the) 2003 5763 w (screen) 2194 5763 w (\(or) 2547 5763 w (at) 2718 5763 w (least) 2846 5763 w (the) 3110 5763 w 10 /LucidaTypewriter f (Layer) 3300 5763 w 10 /LucidaSansUnicode00 f (in) 3695 5763 w (which) 3821 5763 w 10 /LucidaTypewriter f (sam) 4137 5763 w 10 /LucidaSansUnicode00 f (is) 4388 5763 w (being) 4503 5763 w (run\),) 4810 5763 w (while) 720 5883 w (for) 1015 5883 w (partially) 1196 5883 w (obscured) 1628 5883 w (windows) 2119 5883 w (the) 2582 5883 w 10 /LucidaTypewriter f (Bitmap) 2780 5883 w 10 /LucidaSansUnicode00 f (will) 3255 5883 w (be) 3462 5883 w (off-screen.) 3624 5883 w (If) 4241 5883 w (the) 4350 5883 w (window) 4548 5883 w (is) 4960 5883 w (fully obscured, the) 720 6003 w 10 /LucidaTypewriter f (Bitmap) 1660 6003 w 10 /LucidaSansUnicode00 f (will be null.) 2124 6003 w (The) 970 6159 w 10 /LucidaTypewriter f (Bitmap) 1186 6159 w 10 /LucidaSansUnicode00 f (is) 1653 6159 w (a) 1768 6159 w (kind) 1858 6159 w (of) 2105 6159 w (cache.) 2238 6159 w (When) 2612 6159 w (making) 2913 6159 w (changes) 3307 6159 w (to) 3741 6159 w (the) 3874 6159 w (display,) 4064 6159 w (most) 4473 6159 w (of) 4751 6159 w (the) 4885 6159 w (original) 720 6279 w (image) 1129 6279 w (will) 1465 6279 w (look) 1669 6279 w (the) 1918 6279 w (same) 2113 6279 w (in) 2408 6279 w (the) 2539 6279 w (final) 2734 6279 w (image,) 2986 6279 w (and) 3353 6279 w (the) 3573 6279 w (update) 3768 6279 w (algorithms) 4144 6279 w (exploit) 4704 6279 w (this.) 720 6399 w (The) 1032 6399 w 10 /LucidaTypewriter f (Frame) 1282 6399 w 10 /LucidaSansUnicode00 f (software) 1711 6399 w (updates) 2196 6399 w (the) 2653 6399 w (image) 2878 6399 w (in) 3243 6399 w (the) 3404 6399 w 10 /LucidaTypewriter f (Bitmap) 3629 6399 w 10 /LucidaSansUnicode00 f (incrementally;) 4131 6399 w (the) 4885 6399 w 10 /LucidaTypewriter f (Bitmap) 720 6519 w 10 /LucidaSansUnicode00 f (is) 1201 6519 w (not) 1330 6519 w (just) 1539 6519 w (an) 1768 6519 w (image,) 1934 6519 w (it) 2310 6519 w (is) 2425 6519 w (a) 2554 6519 w (data) 2658 6519 w (structure.) 2917 6519 w 6 /LucidaSansUnicode00 f (18,19) 3387 6469 w 10 /LucidaSansUnicode00 f (The) 3606 6519 w (job) 3835 6519 w (of) 4037 6519 w (the) 4183 6519 w (software) 4386 6519 w (that) 4849 6519 w (updates) 720 6639 w (the) 1145 6639 w (display) 1339 6639 w (is) 1720 6639 w (therefore) 1839 6639 w (to) 2325 6639 w (use) 2462 6639 w (as) 2670 6639 w (much) 2815 6639 w (as) 3122 6639 w (possible) 3267 6639 w (of) 3709 6639 w (the) 3846 6639 w (existing) 4040 6639 w (image) 4466 6639 w (\(con\255) 4800 6639 w (verting) 720 6759 w (the) 1131 6759 w (text) 1358 6759 w (from) 1621 6759 w (ASCII) 1925 6759 w (characters) 2247 6759 w (to) 2819 6759 w (pixels) 2988 6759 w (is) 3348 6759 w (expensive\)) 3499 6759 w (in) 4089 6759 w (a) 4251 6759 w (sort) 4377 6759 w (of) 4638 6759 w (two-) 4807 6759 w (dimensional) 720 6879 w (string) 1348 6879 w (insertion) 1668 6879 w (algorithm.) 2134 6879 w (The) 2705 6879 w (details) 2925 6879 w (of) 3284 6879 w (this) 3421 6879 w (process) 3639 6879 w (are) 4052 6879 w (described) 4243 6879 w (in) 4755 6879 w (the) 4885 6879 w (next section.) 720 6999 w cleartomark showpage saveobj restore %%EndPage: 24 24 %%Page: 25 25 /saveobj save def mark 25 pagesetup 10 /LucidaSansUnicode00 f (\255 25 \255) 2752 480 w (The) 970 840 w 10 /LucidaTypewriter f (Frame) 1200 840 w 10 /LucidaSansUnicode00 f (software) 1609 840 w (has) 2073 840 w (no) 2290 840 w (code) 2462 840 w (to) 2742 840 w (support) 2889 840 w (overlapping) 3316 840 w (windows;) 3939 840 w (its) 4441 840 w (job) 4608 840 w (is) 4812 840 w (to) 4942 840 w (keep) 720 960 w (a) 986 960 w (single) 1074 960 w 10 /LucidaTypewriter f (Bitmap) 1396 960 w 10 /LucidaSansUnicode00 f (up) 1861 960 w (to) 2019 960 w (date.) 2150 960 w (It) 2458 960 w (falls) 2557 960 w (to) 2791 960 w (the) 2922 960 w 10 /LucidaTypewriter f (Flayer) 3110 960 w 10 /LucidaSansUnicode00 f (software to multiplex the vari\255) 3575 960 w (ous) 720 1080 w 10 /LucidaTypewriter f (Bitmaps) 936 1080 w 10 /LucidaSansUnicode00 f (onto) 1482 1080 w (the) 1745 1080 w (screen.) 1942 1080 w (The) 2365 1080 w (problem) 2589 1080 w (of) 3038 1080 w (maintaining) 3179 1080 w (overlapping) 3797 1080 w 10 /LucidaTypewriter f (Flayers) 4413 1080 w 10 /LucidaSansUnicode00 f (is) 4960 1080 w (easier) 720 1200 w (than) 1057 1200 w (for) 1322 1200 w 10 /LucidaTypewriter f (Layers) 1510 1200 w 6 /LucidaSansUnicode00 f (17) 1942 1150 w 10 /LucidaSansUnicode00 f (because) 2066 1200 w (changes) 2508 1200 w (are) 2955 1200 w (made) 3155 1200 w (synchronously) 3470 1200 w (and) 4215 1200 w (because) 4443 1200 w (the) 4885 1200 w (contents) 720 1320 w (of) 1181 1320 w (the) 1323 1320 w (window) 1522 1320 w (can) 1935 1320 w (be) 2148 1320 w (reconstructed) 2312 1320 w (from) 3026 1320 w (the) 3303 1320 w (data) 3503 1320 w (stored) 3758 1320 w (in) 4112 1320 w (the) 4248 1320 w 10 /LucidaTypewriter f (Frame) 4448 1320 w 10 /LucidaSansUnicode00 f (;) 4808 1320 w (the) 4885 1320 w 10 /LucidaTypewriter f (Layers) 720 1440 w 10 /LucidaSansUnicode00 f (software) 1195 1440 w (makes) 1653 1440 w (no) 2008 1440 w (such) 2173 1440 w (assumptions.) 2441 1440 w (In) 3162 1440 w 10 /LucidaTypewriter f (sam) 3295 1440 w 10 /LucidaSansUnicode00 f (,) 3511 1440 w (the) 3585 1440 w (window) 3782 1440 w (being) 4193 1440 w (changed) 4507 1440 w (is) 4960 1440 w (almost) 720 1560 w (always) 1091 1560 w (fully) 1455 1560 w (visible,) 1709 1560 w (because) 2095 1560 w (the) 2534 1560 w (current) 2734 1560 w (window) 3129 1560 w (is) 3543 1560 w (always) 3668 1560 w (fully) 4032 1560 w (visible,) 4286 1560 w (by) 4672 1560 w (con\255) 4833 1560 w (struction.) 720 1680 w (However,) 1260 1680 w (when) 1754 1680 w (multi-file) 2056 1680 w (changes) 2560 1680 w (are) 3004 1680 w (being) 3200 1680 w (made,) 3516 1680 w (or) 3859 1680 w (when) 4005 1680 w (more) 4306 1680 w (than) 4601 1680 w (one) 4861 1680 w (window is open on a file, it may be necessary to update partially obscured windows.) 720 1800 w (There) 970 1956 w (are) 1285 1956 w (three) 1474 1956 w (cases:) 1763 1956 w (the) 2096 1956 w (window) 2288 1956 w (is) 2695 1956 w (fully) 2813 1956 w (visible,) 3060 1956 w (invisible) 3439 1956 w (\(fully) 3877 1956 w (obscured\),) 4157 1956 w (or) 4708 1956 w (par\255) 4848 1956 w (tially) 720 2076 w (visible.) 997 2076 w (If) 1416 2076 w (fully) 1528 2076 w (visible,) 1783 2076 w (the) 2169 2076 w 10 /LucidaTypewriter f (Bitmap) 2369 2076 w 10 /LucidaSansUnicode00 f (is) 2846 2076 w (part) 2971 2076 w (of) 3212 2076 w (the) 3355 2076 w (screen,) 3555 2076 w (so) 3949 2076 w (when) 4106 2076 w (the) 4408 2076 w 10 /LucidaTypewriter f (Flayer) 4608 2076 w 10 /LucidaSansUnicode00 f (update) 720 2196 w (routine) 1098 2196 w (calls) 1488 2196 w (the) 1745 2196 w 10 /LucidaTypewriter f (Frame) 1942 2196 w 10 /LucidaSansUnicode00 f (update) 2344 2196 w (routine,) 2722 2196 w (the) 3144 2196 w (screen) 3341 2196 w (will) 3700 2196 w (be) 3906 2196 w (updated) 4067 2196 w (directly.) 4509 2196 w (If) 4974 2196 w (the) 720 2316 w (window) 918 2316 w (is) 1330 2316 w (invisible,) 1453 2316 w (there) 1928 2316 w (is) 2223 2316 w (no) 2346 2316 w (associated) 2512 2316 w 10 /LucidaTypewriter f (Bitmap) 3064 2316 w 10 /LucidaSansUnicode00 f (,) 3496 2316 w (and) 3571 2316 w (all) 3793 2316 w (that) 3948 2316 w (is) 4181 2316 w (necessary) 4303 2316 w (is) 4820 2316 w (to) 4942 2316 w (update) 720 2436 w (the) 1095 2436 w 10 /LucidaTypewriter f (Frame) 1290 2436 w 10 /LucidaSansUnicode00 f (data) 1690 2436 w (structure,) 1940 2436 w (not) 2450 2436 w (the) 2650 2436 w (image.) 2845 2436 w (If) 3244 2436 w (the) 3350 2436 w (window) 3545 2436 w (is) 3954 2436 w (partially) 4074 2436 w (visible,) 4504 2436 w (the) 4885 2436 w 10 /LucidaTypewriter f (Frame) 720 2556 w 10 /LucidaSansUnicode00 f (routine) 1132 2556 w (is) 1531 2556 w (called) 1662 2556 w (to) 1996 2556 w (update) 2145 2556 w (the) 2532 2556 w (image) 2738 2556 w (in) 3084 2556 w (the) 3226 2556 w (off-screen) 3432 2556 w 10 /LucidaTypewriter f (Bitmap) 3993 2556 w 10 /LucidaSansUnicode00 f (,) 4425 2556 w (which) 4508 2556 w (may) 4840 2556 w (require) 720 2676 w (regenerating) 1108 2676 w (it) 1767 2676 w (from) 1873 2676 w (the) 2145 2676 w (text) 2340 2676 w (of) 2571 2676 w (the) 2709 2676 w (window.) 2904 2676 w (The) 3377 2676 w 10 /LucidaTypewriter f (Flayer) 3598 2676 w 10 /LucidaSansUnicode00 f (code) 4070 2676 w (then) 4341 2676 w (clips) 4598 2676 w (this) 4861 2676 w 10 /LucidaTypewriter f (Bitmap) 720 2796 w 10 /LucidaSansUnicode00 f (against) 1195 2796 w (the) 1589 2796 w 10 /LucidaTypewriter f (Bitmaps) 1787 2796 w 10 /LucidaSansUnicode00 f (of) 2334 2796 w (all) 2475 2796 w 10 /LucidaTypewriter f (Frames) 2631 2796 w 10 /LucidaSansUnicode00 f (in) 3106 2796 w (front) 3240 2796 w (of) 3521 2796 w (the) 3662 2796 w 10 /LucidaTypewriter f (Frame) 3860 2796 w 10 /LucidaSansUnicode00 f (being) 4263 2796 w (modified,) 4577 2796 w (and the remainder is copied to the display.) 720 2916 w (This) 970 3072 w (is) 1212 3072 w (much) 1329 3072 w (faster) 1634 3072 w (than) 1949 3072 w (recreating) 2203 3072 w (the) 2731 3072 w (image) 2924 3072 w (off-screen) 3257 3072 w (for) 3805 3072 w (every) 3982 3072 w (change,) 4277 3072 w (or) 4695 3072 w (clip\255) 4835 3072 w (ping) 720 3192 w (all) 975 3192 w (the) 1127 3192 w (changes) 1321 3192 w (made) 1759 3192 w (to) 2065 3192 w (the) 2202 3192 w (image) 2396 3192 w (during) 2730 3192 w (its) 3088 3192 w (update.) 3244 3192 w (Unfortunately,) 3683 3192 w (these) 4414 3192 w (caches) 4714 3192 w (can) 720 3312 w (also) 934 3312 w (consume) 1176 3312 w (prohibitive) 1658 3312 w (amounts) 2226 3312 w (of) 2693 3312 w (memory,) 2837 3312 w (so) 3311 3312 w (they) 3469 3312 w (are) 3722 3312 w (freed) 3920 3312 w (fairly) 4220 3312 w (liberally) 4510 3312 w 10 /LucidaSansUnicode20 f (\024) 4940 3312 w 10 /LucidaSansUnicode00 f (after) 720 3432 w (every) 989 3432 w (change) 1289 3432 w (to) 1680 3432 w (the) 1820 3432 w (front-to-back) 2017 3432 w (order) 2738 3432 w (of) 3042 3432 w (the) 3182 3432 w 10 /LucidaTypewriter f (Flayers) 3379 3432 w 10 /LucidaSansUnicode00 f (.) 3883 3432 w (The) 3989 3432 w (result) 4212 3432 w (is) 4530 3432 w (that) 4652 3432 w (the) 4885 3432 w (off-screen) 720 3552 w 10 /LucidaTypewriter f (Bitmaps) 1264 3552 w 10 /LucidaSansUnicode00 f (exist) 1802 3552 w (only) 2070 3552 w (while) 2308 3552 w (multi-window) 2595 3552 w (changes) 3306 3552 w (are) 3740 3552 w (occurring,) 3927 3552 w (which) 4454 3552 w (is) 4770 3552 w (the) 4885 3552 w (only time the performance improvement they provide is needed.) 720 3672 w (Also, the user interface) 3913 3672 w (causes) 720 3792 w (fully-obscured) 1080 3792 w (windows) 1829 3792 w (to) 2283 3792 w (be) 2416 3792 w (the) 2570 3792 w (easiest) 2760 3792 w (to) 3130 3792 w (make) 3263 3792 w 10 /LucidaSansUnicode20 f (\024) 3560 3792 w 10 /LucidaSansUnicode00 f (creating) 3695 3792 w (a) 4123 3792 w (canonically) 4213 3792 w (sized) 4784 3792 w (and) 720 3912 w (placed) 943 3912 w (window) 1303 3912 w (requires) 1715 3912 w (only) 2157 3912 w (a) 2403 3912 w (button) 2500 3912 w (click) 2864 3912 w 10 /LucidaSansUnicode20 f (\024) 3124 3912 w 10 /LucidaSansUnicode00 f (which) 3266 3912 w (reduces) 3589 3912 w (the) 4011 3912 w (need) 4208 3912 w (for) 4487 3912 w (caching) 4668 3912 w (still further.) 720 4032 w 10 /LucidaSans-Demi f (Screen update) 720 4308 w 10 /LucidaSansUnicode00 f (Only two low-level primitives are needed for incremental update:) 720 4464 w 10 /LucidaTypewriter f (bitblt) 3918 4464 w 10 /LucidaSansUnicode00 f (,) 4350 4464 w (which) 4415 4464 w (copies) 4729 4464 w (rectangles) 720 4584 w (of) 1267 4584 w (pixels,) 1412 4584 w (and) 1780 4584 w 10 /LucidaTypewriter f (string) 2007 4584 w 10 /LucidaSansUnicode00 f (\(which) 2486 4584 w (in) 2847 4584 w (turn) 2985 4584 w (calls) 3234 4584 w 10 /LucidaTypewriter f (bitblt) 3496 4584 w 10 /LucidaSansUnicode00 f (\),) 3928 4584 w (which) 4039 4584 w (draws) 4366 4584 w (a) 4699 4584 w (null-) 4800 4584 w (terminated) 720 4704 w (character) 1289 4704 w (string) 1778 4704 w (in) 2100 4704 w (a) 2231 4704 w 10 /LucidaTypewriter f (Bitmap) 2326 4704 w 10 /LucidaSansUnicode00 f (.) 2758 4704 w (A) 2862 4704 w 10 /LucidaTypewriter f (Frame) 2972 4704 w 10 /LucidaSansUnicode00 f (contains) 3373 4704 w (a) 3822 4704 w (list) 3918 4704 w (of) 4105 4704 w 10 /LucidaTypewriter f (Boxes) 4244 4704 w 10 /LucidaSansUnicode00 f (,) 4604 4704 w (each) 4677 4704 w (of) 4942 4704 w (which) 720 4824 w (defines) 1037 4824 w (a) 1427 4824 w (horizontal) 1518 4824 w (strip) 2048 4824 w (of) 2305 4824 w (text) 2439 4824 w (in) 2665 4824 w (the) 2791 4824 w (window) 2981 4824 w (\(see) 3385 4824 w (Figure) 3616 4824 w (7\).) 3955 4824 w (A) 4150 4824 w 10 /LucidaTypewriter f (Box) 4254 4824 w 10 /LucidaSansUnicode00 f (has) 4505 4824 w (a) 4708 4824 w (char\255) 4798 4824 w (acter) 720 4944 w (string) 998 4944 w 10 /LucidaTypewriter f (str) 1318 4944 w 10 /LucidaSansUnicode00 f (,) 1534 4944 w (and) 1604 4944 w (a) 1822 4944 w 10 /LucidaTypewriter f (Rectangle) 1915 4944 w (rect) 2601 4944 w 10 /LucidaSansUnicode00 f (that) 2927 4944 w (defines) 3156 4944 w (the) 3548 4944 w (location) 3741 4944 w (of) 4164 4944 w (the) 4301 4944 w (strip) 4495 4944 w (in) 4755 4944 w (the) 4885 4944 w (window.) 720 5064 w (\(The) 1200 5064 w (text) 1460 5064 w (in) 1697 5064 w 10 /LucidaTypewriter f (str) 1834 5064 w 10 /LucidaSansUnicode00 f (is) 2096 5064 w (stored) 2222 5064 w (in) 2577 5064 w (the) 2714 5064 w 10 /LucidaTypewriter f (Box) 2915 5064 w 10 /LucidaSansUnicode00 f (separately) 3177 5064 w (from) 3718 5064 w (the) 3996 5064 w 10 /LucidaTypewriter f (Rasp) 4197 5064 w 10 /LucidaSansUnicode00 f (associated) 4531 5064 w (with) 720 5184 w (the) 958 5184 w (window) 1147 5184 w 10 /LucidaSansUnicode20 f (\031) 1516 5184 w 10 /LucidaSansUnicode00 f (s) 1548 5184 w (file,) 1633 5184 w (so) 1850 5184 w 10 /LucidaTypewriter f (Boxes) 1996 5184 w 10 /LucidaSansUnicode00 f (are) 2390 5184 w (self-contained.\)) 2576 5184 w (The) 3414 5184 w (invariant) 3629 5184 w (is) 4085 5184 w (that) 4199 5184 w (the) 4424 5184 w (image) 4613 5184 w (of) 4942 5184 w (the) 720 5304 w 10 /LucidaTypewriter f (Box) 908 5304 w 10 /LucidaSansUnicode00 f (can) 1157 5304 w (be) 1358 5304 w (reproduced) 1510 5304 w (by) 2100 5304 w (calling) 2248 5304 w 10 /LucidaTypewriter f (string) 2598 5304 w 10 /LucidaSansUnicode00 f (with) 3063 5304 w (argument) 3301 5304 w 10 /LucidaTypewriter f (str) 3802 5304 w 10 /LucidaSansUnicode00 f (to draw the string in) 4050 5304 w 10 /LucidaTypewriter f (rect) 720 5424 w 10 /LucidaSansUnicode00 f (,) 1008 5424 w (and) 1077 5424 w (the) 1294 5424 w (resulting) 1486 5424 w (picture) 1952 5424 w (fits) 2328 5424 w (perfectly) 2519 5424 w (within) 2978 5424 w 10 /LucidaTypewriter f (rect) 3311 5424 w 10 /LucidaSansUnicode00 f (.) 3599 5424 w (In) 3700 5424 w (other) 3829 5424 w (words,) 4124 5424 w (the) 4487 5424 w 10 /LucidaTypewriter f (Boxes) 4680 5424 w 10 /LucidaSansUnicode00 f (define) 720 5544 w (the) 1071 5544 w (tiling) 1274 5544 w (of) 1570 5544 w (the) 1716 5544 w (window.) 1919 5544 w (The) 2400 5544 w (tiling) 2629 5544 w (may) 2925 5544 w (be) 3173 5544 w (complicated) 3340 5544 w (by) 3975 5544 w (long) 4137 5544 w (lines) 4398 5544 w (of) 4672 5544 w (text,) 4817 5544 w (which) 720 5664 w (are) 1038 5664 w (folded) 1227 5664 w (onto) 1573 5664 w (the) 1832 5664 w (next) 2025 5664 w (line.) 2279 5664 w (Some) 2557 5664 w (editors) 2859 5664 w (use) 3235 5664 w (horizontal) 3442 5664 w (scrolling) 3974 5664 w (to) 4427 5664 w (avoid) 4563 5664 w (this) 4861 5664 w (complication,) 720 5784 w (but) 1416 5784 w (to) 1621 5784 w (be) 1762 5784 w (comfortable) 1924 5784 w (this) 2551 5784 w (technique) 2773 5784 w (requires) 3294 5784 w (that) 3735 5784 w (lines) 3968 5784 w (not) 4237 5784 w (be) 4439 5784 w 10 /LucidaSans-Italic f (too) 4600 5784 w 10 /LucidaSansUnicode00 f (long;) 4794 5784 w 10 /LucidaTypewriter f (sam) 720 5904 w 10 /LucidaSansUnicode00 f (has) 976 5904 w (no) 1185 5904 w (such) 1349 5904 w (restriction.) 1616 5904 w (Also,) 2216 5904 w (and) 2499 5904 w (perhaps) 2720 5904 w (more) 3152 5904 w (importantly,) 3444 5904 w (UNIX) 4076 5904 w (programs) 4352 5904 w (and) 4860 5904 w (terminals traditionally fold long lines to make their contents fully visible.) 720 6024 w (Two) 970 6180 w (special) 1212 6180 w (kinds) 1587 6180 w (of) 1891 6180 w 10 /LucidaTypewriter f (Boxes) 2030 6180 w 10 /LucidaSansUnicode00 f (contain) 2431 6180 w (a) 2829 6180 w (single) 2925 6180 w (character:) 3256 6180 w (either) 3779 6180 w (a) 4102 6180 w (newline) 4199 6180 w (or) 4612 6180 w (a) 4756 6180 w (tab.) 4853 6180 w (Newlines) 720 6300 w (and) 1192 6300 w (tabs) 1410 6300 w (are) 1654 6300 w (white) 1844 6300 w (space.) 2143 6300 w (A) 2521 6300 w (newline) 2628 6300 w 10 /LucidaTypewriter f (Box) 3037 6300 w 10 /LucidaSansUnicode00 f (always) 3291 6300 w (extends) 3648 6300 w (to) 4072 6300 w (the) 4208 6300 w (right) 4400 6300 w (edge) 4668 6300 w (of) 4942 6300 w (the) 720 6420 w (window,) 912 6420 w (forcing) 1350 6420 w (the) 1730 6420 w (following) 1922 6420 w 10 /LucidaTypewriter f (Box) 2406 6420 w 10 /LucidaSansUnicode00 f (to) 2659 6420 w (the) 2794 6420 w (next) 2986 6420 w (line.) 3240 6420 w (The) 3518 6420 w (width) 3737 6420 w (of) 4043 6420 w (a) 4179 6420 w (tab) 4272 6420 w (depends) 4465 6420 w (on) 4917 6420 w (where) 720 6540 w (it) 1052 6540 w (is) 1158 6540 w (located:) 1278 6540 w (it) 1702 6540 w (forces) 1808 6540 w (the) 2145 6540 w (next) 2340 6540 w 10 /LucidaTypewriter f (Box) 2596 6540 w 10 /LucidaSansUnicode00 f (to) 2852 6540 w (begin) 2990 6540 w (at) 3302 6540 w (a) 3434 6540 w (tab) 3529 6540 w (location.) 3724 6540 w (Tabs) 4213 6540 w (also) 4485 6540 w (have) 4721 6540 w (a) 4985 6540 w (minimum) 720 6660 w (width) 1215 6660 w (equivalent) 1517 6660 w (to) 2052 6660 w (a) 2184 6660 w (blank) 2273 6660 w (\(blanks) 2575 6660 w (are) 2961 6660 w (drawn) 3148 6660 w (by) 3481 6660 w 10 /LucidaTypewriter f (string) 3631 6660 w 10 /LucidaSansUnicode00 f (and) 4098 6660 w (are) 4313 6660 w (not) 4500 6660 w (treated) 4695 6660 w (specially\); newlines have a minimum width of zero.) 720 6780 w (The) 970 6936 w (update) 1195 6936 w (algorithms) 1575 6936 w (always) 2139 6936 w (use) 2502 6936 w (the) 2715 6936 w 10 /LucidaTypewriter f (Bitmap) 2914 6936 w 10 /LucidaSansUnicode00 f (image) 3390 6936 w (of) 3729 6936 w (the) 3871 6936 w (text) 4070 6936 w (\(either) 4305 6936 w (the) 4664 6936 w (dis\255) 4864 6936 w (play) 720 7056 w (or) 962 7056 w (cache) 1107 7056 w 10 /LucidaTypewriter f (Bitmap) 1425 7056 w 10 /LucidaSansUnicode00 f (\);) 1857 7056 w (they) 1965 7056 w (never) 2215 7056 w (examine) 2525 7056 w (the) 2980 7056 w (characters) 3178 7056 w (within) 3721 7056 w (a) 4060 7056 w 10 /LucidaTypewriter f (Box) 4158 7056 w 10 /LucidaSansUnicode00 f (except) 4417 7056 w (when) 4783 7056 w (the) 720 7176 w 10 /LucidaTypewriter f (Box) 918 7176 w 10 /LucidaSansUnicode00 f (needs) 1177 7176 w (to) 1508 7176 w (be) 1650 7176 w (split) 1813 7176 w (in) 2066 7176 w (two.) 2201 7176 w (Before) 2484 7176 w (a) 2837 7176 w (change,) 2936 7176 w (the) 3360 7176 w (window) 3559 7176 w (consists) 3972 7176 w (of) 4409 7176 w (a) 4551 7176 w (tiling) 4650 7176 w (of) 4942 7176 w 10 /LucidaTypewriter f (Boxes) 720 7296 w 10 /LucidaSansUnicode00 f (;) 1080 7296 w (after) 1183 7296 w (the) 1480 7296 w (change) 1706 7296 w (the) 2125 7296 w (window) 2351 7296 w (is) 2791 7296 w (tiled) 2942 7296 w (differently.) 3227 7296 w (The) 3861 7296 w (update) 4113 7296 w (algorithms) 4520 7296 w cleartomark showpage saveobj restore %%EndPage: 25 25 %%Page: 26 26 /saveobj save def mark 26 pagesetup 10 /LucidaSansUnicode00 f (\255 26 \255) 2752 480 w 929 990 929 882 Dl 929 882 1505 882 Dl 1505 882 1505 990 Dl 1505 990 929 990 Dl 1505 990 1505 882 Dl 1505 882 2700 882 Dl 2700 882 2700 990 Dl 2700 990 1505 990 Dl 8 /LucidaTypewriter f (for\(i=0;) 1522 956 w (i