ELECTRONIC TAPE WRITING MACHINE
Appendix Cross-Reference This application contains an appendix A of computer software used for microcomputers 810 and 848 herein.
Technical Field This invention relates to the general field of printing or typing equipment involving the precise positioning of adjacent characters. Specifically, this invention is embodied in a system which produces a continuous tape bearing such characters having spacing determined by the apparatus.
Cross Reference This application hereby incorporates by reference the disclosures of our co-pending applications filed on even date herewith with the following titles:
Precision Tape Feed and Guide Mechanism, S.N.
Print Disk Positioning System, S.N.
Printing Mechanism, S.N. Ribbon Cassette, S.N.
Tape Cassette with Supply Indicator, S.N.
Background of the Invention Printing of characters on a continuous transfer media or tape has made a tremendous improvement in the ability to create commercial art products because of the increased speed and accuracy of the machines which produce the tape. One such machine is shown in U.S. Patent 3,834,507 issued to Bradshaw. Because of the particular requirements of the commercial art industry, extreme accuracy is required with respect to
the horizontal placement of the characters. Furthermore, a successful printing machine must be able to switch from one type font and type size to another and still be able to adjust the spacing for each size and font. In prior systems, such as that in the above cited patent, the intercharacter spacing was accomplished by physical movement of the carrier tape after printing so that the tape was movable both left and right until the next adjacent character could be located in the appropriate position. Such physical movements require complicated mechanisms and are subject to wear and misalignment. The present invention solves some of the problems of the prior art by providing an apparatus and method for producing successive adjacent characters which the desired intercharacter spacing for a variety of fonts while moving the tape in only a single direction and with a minimum of mechanical components.
Summary of the Invention The invention is generally directed to an electronic tape writing machine and method for tape writing including means for inputting character and control codes to a central processing unit, means for processing such codes to produce signals capable of operating a printing station having a printing device and a tape feed which can produce a succession of kerned characters on the tape, said processing means including means for detecting the type size of characters to be printed and determining a standard character width from a table, scaling the standard width from the table to the detected character size, means for determining whether the preceeding detected character and the present character are a kernable combination
by accessing an intercharacter spacing table having all kernable combinations and their appropriate kerned intercharacter spacing, means for substituting the normal intercharacter spacing for that character size with the appropriate kerned intercharacter spacing if the character is kernable, and means for transmitting printing and tape command instructions to the print station to produce a series of characters having the appropriate intercharacter spacing. Although some specific embodiments of the present invention have been shown, those skilled in the art will preceive modifications which can be made without departing from the spirit of the invention. Therefore, it is intended that the scope of the present invention be dictated by the appended claims rather than by the description of the embodiment.
Brief Description of the Drawings FIGURE 1 is an environmental view of a preferred printing system employing the present invention; FIGURE 2 is a bottom plan view of a print disk;
FIGURE 3 is a schematic block diagram of the main circuitry in the preferred embodiment of the present invention; FIGURE 4 is a schematic block diagram of the keyboard section of the circuitry;
FIGURE 5 is a flow-chart of the overall process of the preferred embodiment of the present invention; FIGURE 6 is a flow-chart of a portion of the process shown in FIGURE 5 relating to the start sequence of the apparatus;
FIGURE 7 is a flow-graph of a portion of the process shown in FIGURE 5 relating to reading data;
FIGURE 8 is a flow-chart of a part of the process shown in FIGURE 5, this portion relating to processing of data;
FIGURE 9 is a flow-chart of a portion of the process shown in FIGURE 5, this portion relating to printing of characters;
FIGURE 10 is a flow-chart showing a portion of the process shown in FIGURE 5, this portion relating to character spacing; and FIGURE 11 is a flow-chart of a portion of the process shown in FIGURE 5, this portion relating to text editing.
Detailed Description of the Preferred Embodiment The main circuit of this preferred embodiment is shown in block diagram form in FIGURE 1 wherein the main microprocessor 810 (in this case an Intel 8031) has a plurality of inputs 812 and outputs 814 which are shown as "black boxes" since they are easily replaced by a variety of circuits which accomplish the required interfacing. The component 835 in the box with broken lines is an Intel 8155. The actual mechanical components to which the interfaces are connected at their opened end is shown in our co-pending applications mentioned in the Cross-Reference section herein. Each relevant port is indicated by the manufacturer's or other standard code with an indication of the number of data lines if not entirely obvious.
Of the various inputs, a low paper sensor interface 816 is optionally available to read a signal from the tape cassette indicating a minimum amount of tape available. The home position sensor interface 818 is capable of receiving a signal from the apparatus in our application PRINT DISK POSITIONING SYSTEM at sensor
67 therein. In general, interface 818 will sense the fact that the printing element, of whatever type, is at its home position.
Bar code sensor interface 820 likewise senses a particular location on the printing element, in this case the beginning of the bar code sector as could be indicated by element 31 on the above identified copending application. The bar code sensor detects a bar code on the printing element or print disk which tells the microprocessor 810 the type font and point size as will be explained hereinafter. The bar code sensor also aligns the disk with the most used character ("E") in the print station. Hammer stop sensor interface 822 is preferably used to return an impact printing device to its home position, in this case the hammer stop sensor is sensor 218 shown in FIGURE 8 of our co-pending application entitled PRINTING MECHANISM.
Expand/condense switch 824 can be provided by BCD (3 bit) contact which operates the expand/condense portion of the microprocessor as explained hereinafter.
Serial interface and multiplexer circuit 826 has an input 828 from a serial keyboard as shown in FIGURE 2 or from an RS232-C serial data line 830 the multiplexer selects which of the two inputs will be applied to the microprocessor.
A power on/off and reset control is provided as indicated by numeral 832.
On the output side, a memory bus connects the microcomputer 810 to a program and space table ROM 834 which includes the operating program and the various character widths and intercharacter spacing tables as will be explained hereinafter. A buffer ram 836 provides storage for characters input prior to printing.
The step or motor drive interface 838 receives signals from the microcomputer to drive the track and
sector motors on the print disk positioner 18 also shown in our co-pending application PRINT DISK POSITIONING SYSTEM and the paper and ribbon motor drive 26, 27 also described in our co-pending application PRECISION TAPE FEED AND GUIDE MECHANISM.
The print motor drive interface 840 provides a signal to the print motor which operates a hammer, such as hammer 140 in FIGURE 4 of our co-pending application entitled PRINTING MECHANISM. Paper cutter drive interface 842 provides a signal which activates paper cutter 28 shown in FIGURE 1.
FIGURE 4 shows a schematic block diagram for the keyboard input which appears as numeral 828 on FIGURE 3. A matrix keyboard 844 provides a signal to a keyboard controller 846 which in turn produces an ASCII output to the keyboard microcomputer 848, which in this case is an Intel 8039. A program ROM 850 provides the programming for the microcomputer 848 and information regarding the keyboard layout. A display drive interface 852 connects a microcomputer 848 to dot-matrix display 854 which holds up to 16 characters at a time. The output from the entire keyboard system is made available for serial interface 854 and, as explained earlier via 828 is transmsitted to the main microcomputer 810.
FIGURE 5 shows a flow-graph of the overall operation of the invention in the preferred embodiment. Several of the blocks in this graph are expanded in further drawings hereinafter. Beginning at the top, the start sequence indicates the initialization of the system and is explained in detail in FIGURE 6. The second step is the get data block which draws information from the keyboard. This is explained in detail in FIGURE 7. The data is then processed as shown in
FIGURE 8 and if the data is an edit command, the machine is switched to an edit mode and the edit function is performed by the edit data block as indicated in detail in FIGURE 11. When the edit function is completed, the system is recycled. If the data is not of an edit command type, the data is printed by the print station after processing through a series of steps as indicated in FIGURE 9.
FIGURE 6 represents the start sequence block in FIGURE 5 except it is expanded to show detail. In the start sequence, the system is initialized where all buffers are cleared, etc. The disk is then located to its home position which is determined by information from the home position sensor 818 (FIGURE 3). The home position is preferably where the disk is in its upper most position (withdrawn from the print head) and located at the beginning edge of the bar code sector. It is preferable to have a black or dark colored disk with the bar code sector 31 (FIGURE 2) being light in color with dark bars. The disk is rotated to locate the label (or bar code sector) as indicated above.
The disk is then rotated to read the bar code by an optical sensor located on the printing station just below the disk. The information from the bar code is transmitted to the microcomputer 810 by the bar code sensor 820 and the bar code is compared with information in ROM 834 to determine if that particular font is in the software table. If it is not, an alarm sounds. It it is, the microcomputer reads the point size for that particular type and locates the table address for that font in memory. That information is then displayed on the dot-matrix display 854 (FIGURE 4) in the form of font type and point size as a double check for the user of the machine. This disk is then brought to the home position once more (by using the
trailing edge 31a of the bar code region 31) which is generally with the letter "E" proximate the print head, since it is the most commonly used letter, and the print hammer is also brought to the home position which is retracted from the anvil.
The disk is then moved to the index track and is mechanically ready for printing. A semaphore, which is a counter and indicator, is cleared and all pointers are reset. The system then goes to the next process, namely GET DATA as indicated in detail in FIGURE 7. The computer first checks whether there is any data present in the buffer, usually coming from an earlier keystroke. If there is none, the system jumps to exit this portion of the process and continues as indicated in FIGURE 5. Otherwise, the buffer is checked for fullness and if full, an alarm is sounded and the attempted input is rejected.
If the buffer is not filled, the data is read from the buffer and echoed back to the keyboard dot-matrix display 854. The data is then stored in a buffer and the pointer therefore and semaphore are also incremented.
Turning to FIGURE 8, PROCESS DATA, the value of the semaphore is checked. If it is a zero, the system exits the process data portion since there is no data. If it is other than zero, the buffer is read and a read pointer is incremented. The semaphore is decremented by one and the data is tested to determine whether it is an edit type command or a character command. If it is an edit command, and the semaphore is zero, the process enters the edit mode as explained in detail in FIGURE 11. If the data is an edit character and the semaphore is not equal to zero, meaning the buffer has at least one character in it, the edit command is refused and the system exits this portion of
the process. In effect, it is not possible to activate from the keyboard the edit command, in an attempt to switch to edit mode, when there are printable characters in the buffer. It is necessary to wait for the buffer to be emptied by printing the characters before entering the edit mode.
If the data is not an edit character, it is therefore a printable character and it will be printed in the print data step as explained in detail in FIGURE 9.
Finally, the last data element or character is stored in a "last" register for use later in the kerning process.
Turning to FIGURE 9, the print data process, the data is compared with information in ROM to determine whether it is a printable character for that particular print disk since a few characters may not be present on some disks for different languages, etc. If it is not a printable character, the print process is skipped entirely and the program exits to the next step in the overall flow-chart shown in FIGURE 5. If it is a printable character, and is not a space, the descriptors for the character are taken from ROM which gives the location of the character by track and sector of the disk. A calculation is made of how many motor steps is necessary to reach the particular track and sector and that information is stored temporarily until printing takes place. The next step involves adjustment of the spacing and this is explained in detail in FIGURE 10.
Spacing is adjusted in several ways. First by accomodating the width of the character by advancing the tape and ribbon sufficiently to print without over-striking the previous character, secondly calculating the intercharacter spacing and kerning the character to
bring certain letters closer together to give a "type set" look, and thirdly the entire spacing process is expandable or condensible in adjustable proportion to spread out or contract the overall sequence of letters. The spacing adjustments are explained in
FIGURE 10. The first step is to read from memory the point size of the type and to retrieve from ROM the character width from a generalized spacing table in ROM prepared for a 10-point type. Because the print disk employed may be larger or smaller than 10-point, the print width provided from the character width table must be scaled up or down in accordance with the actual print disk. This is a mathematical calculation. The scaled value then represents the number of steps corresponding to the actual print width for that point type size.
The next question is whether the characters are kernable. In kerning, only certain combinations of characters may be adjusted. Those combinations are stored in ROM and by comparing the current character and the "last character" which is stored at a special address, it can be determined whether this combination is kernable. If not, the kerning process is skipped but, if it is kernable, a table provides the degree of kerning, i.e. the amount of space to be added or removed between characters is added to the previously calculated spacing and a new intercharacter spacing is arrived at.
If the expand/condense switch 824 (FIGURE 3) is activated, the spacing is then expanded by a proportional amount depending on the adjustment of the switch, perhaps 10, 20 or 30%. The spacing is then multiplied by the expansion or contraction factor and the spacing is proportionally altered.
Returning to FIGURE 9, the paper tape and ribbon are actually incremented by their respective stepper motors the desired number of spaces between the particular character. If the character turned out to be a space, the print portion is exited since no printing takes place. On the other hand, if it is a printable character, the print hammer is activated and the program is finished until the operator touches another key which restarts the entire process. Returning to FIGURE 5, if the data inputted at the keyboard turned out to be an edit command, and there was no data in the buffer, (semaphore = zero) the machine would be set to an edit mode and data would not go directly to the printer. The edit mode is illustrated in FIGURE 11 and corresponds generally to a word processing machine. The microprocessor checks for the presence of data and ensures that it is not an exit or quit command. If it is some editing command, then the pointer in the buffer is incremented, decremented or otherwise adjusted to manipulate the data as shown in the flow-graph. If the buffer is full, an alarm is sounded since no further data can be stored and printing must take place. If the buffer is not full, the data is stored pointer is incremented and the display and the information is echoed to the display so the operator can see the exact structure of what is in the buffer. Of course, once the editing process is completed, the data flows back to the process as shown in FIGURE 5 and the print is adjusted as per the print data process explained above. Thus, it is possible to type a number of characters, perhaps 256, into the buffer, make the necessary changes and then cause the system to print.
APPENDIX A
: 100010007598527588D0758920758DCCD28ED20096 : 10002000C292758130C2D4D2D3D2B4D2B574001288 :1000300007AE24FCFDFEFFC2D312059D7428120733 : 10004000B9D2D3E4F8F97AFF7B20D293D28EC2D30F : 10005000E4F8FC7B4075813075740430B30A900776 : i00060000A1206A3D29280FE9006FA1206A3C200DC : 100070000201404D45524C494E20582E30342C2020 : 10008000312F31362F38342C204259204C2E462E19 : 10009000204D43474F55525459434F5059524947A9 : 1000A00048542028432920313938342C20564152D5 : 1000B0004954524F4E4943532053595354454D537D :1000C00020494E432E20414C4C20574F524C442047 : 1000D00052494748545320524553455256454420AF : 1000E000003ED2D3C2D4C2A0389833BA0005D29217 : 1000F00002011EC298E599B40206BAFF21020869FE : 10010000B40F0302011E5006B40D1302010EF2E2F9 : 100110003099FDC299F5991ABA0002D29208C2D359 : 1001200022D2D3C2D4C2A0BAFF0302013D0AC292B6 : 10013000E3C2D31202A6D2D3C2A0E3FB09C2D322E8 : 1001400011DF312130FA0606060E06090506060AB1 : 100150000606060606060606060606060A0606053C : 10016000090606060606E9602E740F5FC4D2D34F57 : 1001700090014693FF020186EA601C74F05FD2D3BF
: 100180004E90014693FEEEC44FC8C0E0E87801D21D
: 10019000A0F2D0E0F8C2D3229001A6B4190374FFF4 : 1001A0002240FB239322FF00FF01FF02FF03FF0415 :1001B000FF05FF06FF07FF08FF09FF0AFF0BFF0C03 : 1001C000FF0DFF0EFF0FFF10FF11FF12FF13FF14B3 : 1001D000FF15FF16FF17FF18FF19911AD01BCF1C30 :1001E000CE1DCC1ECB1F1020C5214D22DE23C624E8 :1001F000C725C226DB27D928DA29C32AC12B5E2CC2 : 100200004C2D4B2EC42F42304F315332513352347F : 1002100053355436353756385739D73AC03BD33C07 :10022000C83DD43ED83F944067414A424643634468 : 10023000404561464947644865495A4A5C4B454CCC :10024000624D664E424F5F505951445243534154A0 : 1002500047555D5660575B584859585A8F5BCD5C7F : 100260008E5D905E935F9260A0613A6286639CS4FB : 1002700080659A6689679D689E698B6A966B856CB6 : 100230009B6D9F6E826F98708C7184728373817482 : 10029000877597769977957888798D7AD27BC97C9E : 1002A000D17DCA7ED57FFE30B30A90070A1206A31D :1002B000029230FE1207BF74001207B9EEB40D0689 : 1002C0001205310202F62430402CBE200779007AB4 : 1002D000000202ESEE3198B4FF030202FBFA1202BB : 1002E000FCEA12031C12034BB220030202F6742820 : 1002F0001207B912053474281207B9227F0054C0BE :100300002323F9E47804243D08D9FBCBF4047004DA : 10031000EB02031A2B4003F4040FF922CFC4CF548D : 100320003FFA6004E428DAFDCCF4047004EC020324 : 10033000372C4003F4040FFA749C2A500A6AF404A0 : 1003400024C8FAEFE401FFEFC4FF22C2D5BE200328 : 100350000203561203B8D2D3EBC2D312043FF912F0 :10036000052574221203A4E4494A602F1204F8BE42 :10037000200302038C12051A3178E9700F20D5068C
: 10038000D2D5EA12068E12040402038E7488120378 : 10039000A4E9600119EA60011A80CC1205257422D3 :1003A0001203A42285E08C758A00C28DD28C208D28 : 1003B0000411DF80F9C28C22E9600D78107D1031C4 : 1003C000661203C971A4D9F722E860030203D7E9D2 : 1003D00024EF500974E6229003F39318229003E36C : 1003E000E9931D22B9BABBBCBEC1C5C9CDD1D5D90F :1003F000DDE1E4E5E5E4E3E2E1DFDCD8D4CCC8C448 : 10040000C0BCB9B8E86003020412EA24EF500974D2 : 10041000C02290042E93182290041EEA931D228974 : 100420008A8C8F93979CA1A6ABB0B5B9BCBEBFBF59 : 10043000BEBCBAB6B1ACA3A49C9894903C8988D262 : 10044000D3C2A0C201EB85708285718393C2D3D2DF :10045000A06064C0E0EE9320E70620E61502047B6E : 1004600020E618D0E0C0E020E71130E60ED201020D :10047000047BD0E0C0E030E702D201D0E0543F126C : 1004800007D2C0E09004B8E57375F008A42582F5A2 : 100490008250020583E4200102740493C0E07404D6 : 1004A000B57405D0E00204B1E57493F5F0D0E02511 : 1004B000F0F5F0D0E025F02200FFFFFF010102037C : 1004C00001FEFEFF0201020301FEFEFF0201020423 : 1004D00002FDFEFF0301030402FCFDFF040203050D : 1004E00003FBFDFE0302050704FAFCFD0E030609F1 : 1004F00004F9FBFD0705080BB90003020519D2D367 : 10050000ED441090014693FDEDC44CD2A0C8C0E06C : 10051000C87802F2D0E0F8C2D322B9000302053352 : 10052000D2D3BD060CD2D3EC441090014693FC808C : 10053000D7C2D3227805E471A4D8FCC2907832E403 : 10125400071A471A412056A208D0302055512056A73 : 10055000D80302057511DF20B4EDD290E471A471C7 :10056000A471A471A471A4C28C22758C00758A0038 :10057000D28CC28D229006DAD2901206A3D292803B :10053000FE740071A4793891F8749871A4D9F8C2A6 :10059000917908B125E471A4D9F9D2912279207F0B :1005A0000031663178748071A4D9F679FF7F11200B :1005B000B5123166748071A4D9F59006CA1206A3EB :1005C000D29280FE7DC87A087F113178743071A490 :1005D000DD0A90072A1206A3D29280FE3096E7DA4F :1005E000E97F007AC83178743071A430960CDAF55E :1005F00090071A1206A3D29230FEE47D08C37A0504 :10060000C0E03178743071A4309601D3DAF4D0E0D0 :1006100033DDEAF570F575E47D03C37A05C0E0319A :1006200078743071A4309601D3DAF4D0E033DDEA87 :10063000F573120845E57575F00CA4C3246AF582BC :10064000E5F03407F583780C1206A5E57375F00420 :10065000A4248EF582E5F03407F5θ378041206A50C :100860007AFF748071A4DAFAB1347A3220980A31B2 :1006700078743071A4DAF5A1BA796D7F0078107DB5 :1006800010316871C971A4D9F891F8B12522B4204E :100690000D500BC313FD500104F824F040047810F2 :1006A0007D102278107D004002D292ED933099FDAA :1006B000C299F5990DD8F4C2922220202020202042 :1006C000202020202020202020204449534B204E51 :1006D0004F54204C4F43415445442048414D4D45D3 :1006E000522050524F424C454D2053544F50204BB6
: 1006F000455920505245535345444D45524C494E5F :1007000020312E30205245414459204F5554204F1E :100710004620504150455221£12043414E4E4F54D6 :1007200020524541442043415244434845434B20D5 : 1007300049462043415244204F48205052494E5489 :100740002054494D4553202D3E20204D45524C49C3 : 100750004E204544495420202020464F4E54204EE0 : 100760004ES420494E2046494C4548454 542E3E :10077000204D45442E2048454C56542E2 4C4492 : 100780002E2048454C56542E204C49542E202038BB : 100790005054313050543132505431345054313837 : 1007A0005054323450543330505433365054D2A015 : 1007B0007800C0E0740FF2D0E0D2A07803F222D229 : 1007C000A078007403F27803E2F45407F5747428F7 : 1007D00080DC9007DD75F008A425739322000000EB : 1007E00000000000000101010102020304020202F4 : 1007F0000304050607020304040507090B030405A7 : 1008000006070A0C0E04050607090C0F1205060759 : 10081000080B0E12160607080A0D11151906080A0C : 100820000B0E13181D07090B0D10161B20080A0CC0 : 100830000E12181E24090B0D0F141A21280A0C0E73 :1008400011161D242BE57023F58275830CE493F5B6 :1008500071740193F57074FFB5710DB5700A90074E : 100860005A1206A3D29280FE22D2D4C2D3D20078EA : 10087000017B017C00C2A0740012095BC2D4C3904A : 10088000074A1206A3D2D4740812095BC312096383 : 10089000B40B03020ACDB40103020AD5B403030268 : 1008A0000ADDB41003020AE5B41103020AEDB40A2A : 1008B00003020AB9B40203020010B40003020AAC36 :1008C000B40F03020A18B40E03020A5EB404030252 : 1008D000097DB409030209D1B40803020931B40C3B : 1008E00003020912C0E0B80007D0E012096B809C37 : 1008F000EBB510040B020902BC11Ø28ØECBCØØØ233 :1009000080E7D0E012095BF2BC000302090F1C086B : 10091000018CEBB5100512096B018CBC0007E212CB : 10092000095B08018CBC110008740012035B1C01E6 : 100930008CBB010302093AB8000512096B018CBC9B : 100940001107E212095B18018C740812095B0CBCDS : 10095000110618E860E480EA18018C3099FDC2390C : 10096000F599223098FDC298E599227410C0E0E410 : 10097000D2921470FBD0E01470F3C292227D01E495 :10098000315BC2D4D39006BA1206A3D2D47C0078CD : 1009900001E8B513030209C9E2315BC2D41202A611 : 1009A000C2A0D2D4C2D3E2F50B0S3098E43163B4CC : 1009B00006DFC2D49006EA1206A3D2D43183B4058E : 1009C0000280CEB402FG020010316B1DCD70D00152 : 1009D0008C7400315B7C00780190073AC2D4120617 : 1009E000A3D2D43163315B120A03540F75F00AA409 : 1009F000FD3163315B120A03540F2DB40002018CE8 :100A0000FD217FB43A08316BD0E0D0E080C350F5CE : 100A1000B42F0280F140EF22BB0104316B01SCBB8B : 100A2000FF0280F7BC000280F2BC110280EDBC1018 : 100A30000F7408315B7420315B740C315B315B1CCB : 100A4000120A4F740E315B3163315BF208018CAADC : 100A500010EBF9F81SE2F319E8B512F80B22BB0114
:100A600004316B018CBC000280F7BC110280F2E8FB : 100A7000B5130280EC400280E8120A9CBB0103021D : 100A800006BA740F315BEC2814B51303020A8650B2 : 100A900005F9E3020A987420315B018CAA10A910B1 : 100AA0001B09E3F208E9B513F8AS1222E4315B74DC : 100AB000207A10315BDAFC016FC2D4D2A0E41207B5 : 100AC000B91205811207BFD2D4C2A0018C78289038 : 100AD0000B0E020AF27821900B36020AF2781C9073 : 100AE0000B57020AF27837900B73020AF2782B30B8 : 100 AF0000B AAE493C082C083C2D41202A6D2D4C28D : 10080000D3E4D083D08293F50BA3D8E6018C45546F : 100B10004F53524C43555947422E2D2230313233D8 : 100B20003435363738395A514A584B562C50574677 : 100B30004D4448494E4165746F73726C63757967B3 : 100B4000626A717A5D5B5E1A605F40786B7870777F : 100B5000666D6468696E613B2B262A2F2124253D32 : 100B60007C7E1F1E5C1D1C1B7D7B3C3E7F233A3F11 : 100B700028292754434520515549434B2042524F7C : 100B8000574E20484F58204A554D5053204F5643FA : 100B90005220544845204C415A5920444F472E205A : 100BA00030313233343536373839746865207175F1 : 100BB00069636B2062726F776E20666F78206A754A : 100BC0006D7073206F76657220746865206CE17A31 :050BD0007920846F674D : 060C00000C300D000D80C8
: 100C80000000000000000000000000000000000064 : 100C90000000000000000000000000070909050630 : 100CA000080204080E0A07020303030702070E03F7 : 100CB000060406060606060E06060206070707060B : 100CC000098707070706060807020507C608070879 : 100CD00006080707460746480746070307030308B1 : 100CE00002060606060604060E06030602090E06B2 : 100CF00008060406040605080605050303030706A1 : 100D000000000000000000000000000000000000E3 : 100D100000000000000000000000000709090506AF : 100D200008020408060A0702030303070207020376 : 100D3000060406060E06060E06060202070707065A : 100D40000937070707060608070E0507C6080708F8 : 100050000608070746074643074607030703030830 : 100D60000206060606060406060203060209060631 : 100D70000606040604060508060505030303070620 : 100D80000000000000000000000000000000000063 : 100D9000000000000000000000000007090905062F : 100DA00008020408060A07020303030702070203F6 : 100DB00005040505050505050505020207070706E3 : 100DC000098605050605050706020506C407060689 : 100DD00005060505460546490645060307030308BB : 100DE00002060606060604060602020602000607B1
:02000000245380
:0C000700C5AAF8AB14203420FBA8FA9323 : 10015000D5BFF055C5BF109ACFA5B820B910BAC702
: 10016000FAA3A01A182960801F25D5FF3772 3763D
: 1001700073247564BAFA967AA4A507967FA4 BB8DF
: 10013000302308DA963E2330D0C68C1024AD230C91
: 10019000DA969DF0D31 FC6 ADF007 A024 AD230EDA8A
: 1001 A00096A444A5230FD A96AB64A584A5D523F0C5
: 1001B0005FAF37F26A86B9246A8A209ADF866A09B5
: 1001C000AE230F5FAF246A20215354494157412089.
:0701D0004E494C52454D2041
: 10002000D523F962FF7266525E324B123D263523AC
: 10003000F85FAF0466BC0323014FAF0466362D6CB8 :100040006623024FAFBA80BC060466EC66FA9726B8
: 1000500052A767AABC06E66623044FAF0466EC66A7 : 10008000E62D23084FAFFFF2ABD2A5B2859279BD02 : 100070000623104FAF9A7F04ABEDAB23204FAFBDEB : 1000B00001BB0904ABEDABEB8B049B97FE67AEF6AF : 10009000959A7F04978A80BD0604AB23404FAF8AB0 :0D00A00080BD0604ABEDAB23804FAFC583E0
: 1001000000050A0F14191E23282D32373C41464B97
: 1001100050555A5F64696E73787D82878C91969B87
: 10012000CCB830F0A885531F17DF9631FCF231248C
: 100130003295FF031FA8F0AD531FA32D47530E7731
:0301400043E0B3E6
:0601E000F0F2F4F6F8FA5B
:0C01F00044D064D084D0A4D0C4D0E4D0AB
: 1002D0008A10B2059AFEB6DABDA0FDA3B6DF379040
: 1002E00047901DEEDA8A019AFDFF07908A02EFF22D :0502F000BF109AEF832E
: 1003D0008A10BE059AFEB6DDFDC6DDBDA0FDA3B642 : 1003E000E2379047901DEEDD8A019AFDFF07908A63 :0803F00002EFF5BF109A2F8344
: 1004D0008A10BE059AFEBSDABDA0FDA3B6DF37903E : 1004E00047901DEEDA8A013AFDFF07908A02EFF22B :0504F000BF109AEF832C
: 1005D0008A10BE059AFEB6DABDA0FDA3B6DF37303D : 1005E00047901DEEDA8A019AFDFF07908A022FF22A :0505F000BF109AEF832B
: 1006D0008A108E059AFEB6DABDA0FDA3BSDF37903C : 1006E00047901DEEDA8A019AFDFF07908A02EFF229 :0506F000BF109AEF832A
: 1007D0008A10BE059AFEB6DABDA0FDA3B6DF37903B : 1007E00047901DEEDA8A019AFDFF07908A02EFF228 : 0507F000BF109AEF8329 : 05024100C0FE82000276
: 100282008888080000555F05C000600040E4440013 :0E0292006040E44402020402046199404EA060 : 100300000000000000000D00C000C0C0000808F63A : 10031000F6060E0E040F22EE8EA850A148A29807F4 : 10032000A38402000C0080000609400A00000906B0 : 10033000004A606FA0E0A0000640E44410020020E4 : 10034000000000404A4400010000002040204080A4 : 10035000B6D9E840E0101F00E8009399A5448498C0 : 10036000D92A40A462F242800EDCDDAA0060183910
: 100370006A4C24898A0C02849699A644A49589869D : 1003800044C60006000000100600A000609040A0D7 : 10039000006666060000906000A040808B84408468 :10040000929BA664E0272A670868F999064EA4368D :1004100099E000A0F999060EE09F99E944048F88BD : 10042000E844049699E240640F00EF44E4903F0082 :10043000E00012E928000E0F06E9000A1F11E10092 : 10044000000F04EF08E84F20EF40E09699E600E047 :100450008F88E444a4968BE700C28FA8E544A49477 : 1004600099A244A4388F08E0001E11EE00E00E015E :10047000CE02C21E12EE60E06960A940A043438827 : 100480006080B9D9294080FF99E90E004020804062 : 100490002099F90F00EE020402040411110100007A : 10050000804000800070772300605F55E2006052F9 : 100510005565000052556F00E07277620040008719 :1005200000E40460774600604F44E30060501F0021 :10053000600010E12000062F50E06000901F00E0F6 :100540000047436360604744630060525562006047 : 100550006766600040608647006070400446007156 : 1005600077440020405600E0001611660060060146 : 10057000460242161266206005020506063433461E : 1005800000605557050204009600A400000F00A06B :1005900000900600A0040400088808060F40EAAA9C : 10070000434F5059524347485420284329203139F2 : 1007100038342C205641524954324F4E43435320AD : 1007200053595354454D5320494E432C20414C4C72 : 1007300020574F524C442052494748545320524569 : 070740005345525645442EBB : 1002A500B830F0A8D31F96AF24AD232FD896B62427 : 1002B500ADB9301118F8370331A92320201829C149 : 0302C50024AD20C8E9C724ADF7 : 1003A500B830F0A8D31F96AF24AD2330D896B62425 : 1003B500ADA5B524ADA5F803E0C6C8A9B820F018C9 :0903C50020E9C4B820FAA024AD1F :1004A500B830F0A8D31F96B318B910FA44C1233059 : 1004B500D896B2C8FAB91044C7FAA02807B830A024 :0204C50024AD64 :0C05A500B8