# ***************************************************************************
# *
# *   Copyright (C) 1995-2002, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# ***************************************************************************
#
# File created by rptp2ucm (compiled on Dec  3 2002)
# from source files 34B001A4.RXMAP120 and 01A434B0.TXMAP110
#
<code_set_name>               "ibm-420_X120-1999"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x3F
<icu:charsetFamily>           "EBCDIC"
<icu:alias>                   "ibm-420_STD"

CHARMAP
<U0000> \x00 |0
<U0001> \x01 |0
<U0002> \x02 |0
<U0003> \x03 |0
<U0004> \x37 |0
<U0005> \x2D |0
<U0006> \x2E |0
<U0007> \x2F |0
<U0008> \x16 |0
<U0009> \x05 |0
<U000A> \x25 |0
<U000B> \x0B |0
<U000C> \x0C |0
<U000D> \x0D |0
<U000E> \x0E |0
<U000F> \x0F |0
<U0010> \x10 |0
<U0011> \x11 |0
<U0012> \x12 |0
<U0013> \x13 |0
<U0014> \x3C |0
<U0015> \x3D |0
<U0016> \x32 |0
<U0017> \x26 |0
<U0018> \x18 |0
<U0019> \x19 |0
<U001A> \x3F |0
<U001B> \x27 |0
<U001C> \x1C |0
<U001D> \x1D |0
<U001E> \x1E |0
<U001F> \x1F |0
<U0020> \x40 |0
<U0021> \x5A |0
<U0022> \x7F |0
<U0023> \x7B |0
<U0024> \x5B |0
<U0025> \x6C |0
<U0026> \x50 |0
<U0027> \x7D |0
<U0028> \x4D |0
<U0029> \x5D |0
<U002A> \x5C |0
<U002B> \x4E |0
<U002C> \x6B |0
<U002D> \x60 |0
<U002E> \x4B |0
<U002F> \x61 |0
<U0030> \xF0 |0
<U0031> \xF1 |0
<U0032> \xF2 |0
<U0033> \xF3 |0
<U0034> \xF4 |0
<U0035> \xF5 |0
<U0036> \xF6 |0
<U0037> \xF7 |0
<U0038> \xF8 |0
<U0039> \xF9 |0
<U003A> \x7A |0
<U003B> \x5E |0
<U003C> \x4C |0
<U003D> \x7E |0
<U003E> \x6E |0
<U003F> \x6F |0
<U0040> \x7C |0
<U0041> \xC1 |0
<U0042> \xC2 |0
<U0043> \xC3 |0
<U0044> \xC4 |0
<U0045> \xC5 |0
<U0046> \xC6 |0
<U0047> \xC7 |0
<U0048> \xC8 |0
<U0049> \xC9 |0
<U004A> \xD1 |0
<U004B> \xD2 |0
<U004C> \xD3 |0
<U004D> \xD4 |0
<U004E> \xD5 |0
<U004F> \xD6 |0
<U0050> \xD7 |0
<U0051> \xD8 |0
<U0052> \xD9 |0
<U0053> \xE2 |0
<U0054> \xE3 |0
<U0055> \xE4 |0
<U0056> \xE5 |0
<U0057> \xE6 |0
<U0058> \xE7 |0
<U0059> \xE8 |0
<U005A> \xE9 |0
<U005F> \x6D |0
<U0061> \x81 |0
<U0062> \x82 |0
<U0063> \x83 |0
<U0064> \x84 |0
<U0065> \x85 |0
<U0066> \x86 |0
<U0067> \x87 |0
<U0068> \x88 |0
<U0069> \x89 |0
<U006A> \x91 |0
<U006B> \x92 |0
<U006C> \x93 |0
<U006D> \x94 |0
<U006E> \x95 |0
<U006F> \x96 |0
<U0070> \x97 |0
<U0071> \x98 |0
<U0072> \x99 |0
<U0073> \xA2 |0
<U0074> \xA3 |0
<U0075> \xA4 |0
<U0076> \xA5 |0
<U0077> \xA6 |0
<U0078> \xA7 |0
<U0079> \xA8 |0
<U007A> \xA9 |0
<U007C> \x4F |0
<U007F> \x07 |0
<U0080> \x20 |0
<U0081> \x21 |0
<U0082> \x22 |0
<U0083> \x23 |0
<U0084> \x24 |0
<U0085> \x15 |0
<U0086> \x06 |0
<U0087> \x17 |0
<U0088> \x28 |0
<U0089> \x29 |0
<U008A> \x2A |0
<U008B> \x2B |0
<U008C> \x2C |0
<U008D> \x09 |0
<U008E> \x0A |0
<U008F> \x1B |0
<U0090> \x30 |0
<U0091> \x31 |0
<U0092> \x1A |0
<U0093> \x33 |0
<U0094> \x34 |0
<U0095> \x35 |0
<U0096> \x36 |0
<U0097> \x08 |0
<U0098> \x38 |0
<U0099> \x39 |0
<U009A> \x3A |0
<U009B> \x3B |0
<U009C> \x04 |0
<U009D> \x14 |0
<U009E> \x3E |0
<U009F> \xFF |0
<U00A0> \x41 |0
<U00A2> \x4A |0
<U00A6> \x6A |0
<U00AC> \x5F |0
<U00AD> \xCA |0
<U00D7> \xE0 |0
<U00F7> \xA1 |0
<U060C> \x79 |0
<U061B> \xC0 |0
<U061F> \xD0 |0
<U0621> \x46 |0
<U0622> \x47 |0
<U0623> \x49 |0
<U0624> \x52 |0
<U0625> \x56 |1
<U0626> \x55 |0
<U0627> \x56 |0
<U0628> \x58 |0
<U0629> \x62 |0
<U062A> \x63 |0
<U062B> \x65 |0
<U062C> \x67 |0
<U062D> \x69 |0
<U062E> \x71 |0
<U062F> \x73 |0
<U0630> \x74 |0
<U0631> \x75 |0
<U0632> \x76 |0
<U0633> \x77 |0
<U0634> \x80 |0
<U0635> \x8B |0
<U0636> \x8D |0
<U0637> \x8F |0
<U0638> \x90 |0
<U0639> \x9A |0
<U063A> \x9E |0
<U0640> \x44 |0
<U0641> \xAB |0
<U0642> \xAD |0
<U0643> \xAF |0
<U0644> \xB1 |0
<U0645> \xBB |0
<U0646> \xBD |0
<U0647> \xBF |0
<U0648> \xCF |0
<U0649> \xDA |0
<U064A> \xDC |0
<U0651> \x42 |0
<U0660> \xDF |0
<U0661> \xEA |0
<U0662> \xEB |0
<U0663> \xED |0
<U0664> \xEE |0
<U0665> \xEF |0
<U0666> \xFB |0
<U0667> \xFC |0
<U0668> \xFD |0
<U0669> \xFE |0
<U066A> \x6C |1
<U066B> \x6B |1
<U066C> \x4B |1
<U066D> \x5C |1
<U200B> \x45 |0
<UFE70> \x40 |1
<UFE71> \x44 |1
<UFE72> \x40 |1
<UFE74> \x40 |1
<UFE76> \x40 |1
<UFE77> \x44 |1
<UFE78> \x40 |1
<UFE79> \x44 |1
<UFE7A> \x40 |1
<UFE7B> \x44 |1
<UFE7C> \x42 |1
<UFE7D> \x43 |0
<UFE7E> \x40 |1
<UFE7F> \x44 |1
<UFE80> \x46 |1
<UFE81> \x47 |1
<UFE82> \x48 |0
<UFE83> \x49 |1
<UFE84> \x51 |0
<UFE85> \x52 |1
<UFE86> \x52 |1
<UFE87> \x56 |1
<UFE88> \x57 |1
<UFE89> \x55 |1
<UFE8A> \x55 |1
<UFE8B> \x55 |1
<UFE8C> \x55 |1
<UFE8D> \x56 |1
<UFE8E> \x57 |0
<UFE8F> \x58 |1
<UFE90> \x58 |1
<UFE91> \x59 |0
<UFE92> \x59 |1
<UFE93> \x62 |1
<UFE94> \x62 |1
<UFE95> \x63 |1
<UFE96> \x63 |1
<UFE97> \x64 |0
<UFE98> \x64 |1
<UFE99> \x65 |1
<UFE9A> \x65 |1
<UFE9B> \x66 |0
<UFE9C> \x66 |1
<UFE9D> \x67 |1
<UFE9E> \x67 |1
<UFE9F> \x68 |0
<UFEA0> \x68 |1
<UFEA1> \x69 |1
<UFEA2> \x69 |1
<UFEA3> \x70 |0
<UFEA4> \x70 |1
<UFEA5> \x71 |1
<UFEA6> \x71 |1
<UFEA7> \x72 |0
<UFEA8> \x72 |1
<UFEA9> \x73 |1
<UFEAA> \x73 |1
<UFEAB> \x74 |1
<UFEAC> \x74 |1
<UFEAD> \x75 |1
<UFEAE> \x75 |1
<UFEAF> \x76 |1
<UFEB0> \x76 |1
<UFEB1> \x77 |1
<UFEB2> \x77 |1
<UFEB3> \x78 |0
<UFEB4> \x78 |1
<UFEB5> \x80 |1
<UFEB6> \x80 |1
<UFEB7> \x8A |0
<UFEB8> \x8A |1
<UFEB9> \x8B |1
<UFEBA> \x8B |1
<UFEBB> \x8C |0
<UFEBC> \x8C |1
<UFEBD> \x8D |1
<UFEBE> \x8D |1
<UFEBF> \x8E |0
<UFEC0> \x8E |1
<UFEC1> \x8F |1
<UFEC2> \x8F |1
<UFEC3> \x8F |1
<UFEC4> \x8F |1
<UFEC5> \x90 |1
<UFEC6> \x90 |1
<UFEC7> \x90 |1
<UFEC8> \x90 |1
<UFEC9> \x9A |1
<UFECA> \x9B |0
<UFECB> \x9C |0
<UFECC> \x9D |0
<UFECD> \x9E |1
<UFECE> \x9F |0
<UFECF> \xA0 |0
<UFED0> \xAA |0
<UFED1> \xAB |1
<UFED2> \xAB |1
<UFED3> \xAC |0
<UFED4> \xAC |1
<UFED5> \xAD |1
<UFED6> \xAD |1
<UFED7> \xAE |0
<UFED8> \xAE |1
<UFED9> \xAF |1
<UFEDA> \xAF |1
<UFEDB> \xB0 |0
<UFEDC> \xB0 |1
<UFEDD> \xB1 |1
<UFEDE> \xB1 |1
<UFEDF> \xBA |0
<UFEE0> \xBA |1
<UFEE1> \xBB |1
<UFEE2> \xBB |1
<UFEE3> \xBC |0
<UFEE4> \xBC |1
<UFEE5> \xBD |1
<UFEE6> \xBD |1
<UFEE7> \xBE |0
<UFEE8> \xBE |1
<UFEE9> \xBF |1
<UFEEA> \xBF |1
<UFEEB> \xCB |0
<UFEEC> \xCD |0
<UFEED> \xCF |1
<UFEEE> \xCF |1
<UFEEF> \xDA |1
<UFEF0> \xDB |0
<UFEF1> \xDC |1
<UFEF2> \xDD |0
<UFEF3> \xDE |0
<UFEF4> \xDE |1
<UFEF5> \xB2 |0
<UFEF6> \xB3 |0
<UFEF7> \xB4 |0
<UFEF8> \xB5 |0
<UFEF9> \xB8 |1
<UFEFA> \xB9 |1
<UFEFB> \xB8 |0
<UFEFC> \xB9 |0
<UFF01> \x5A |1
<UFF02> \x7F |1
<UFF03> \x7B |1
<UFF04> \x5B |1
<UFF05> \x6C |1
<UFF06> \x50 |1
<UFF07> \x7D |1
<UFF08> \x4D |1
<UFF09> \x5D |1
<UFF0A> \x5C |1
<UFF0B> \x4E |1
<UFF0C> \x6B |1
<UFF0D> \x60 |1
<UFF0E> \x4B |1
<UFF0F> \x61 |1
<UFF10> \xF0 |1
<UFF11> \xF1 |1
<UFF12> \xF2 |1
<UFF13> \xF3 |1
<UFF14> \xF4 |1
<UFF15> \xF5 |1
<UFF16> \xF6 |1
<UFF17> \xF7 |1
<UFF18> \xF8 |1
<UFF19> \xF9 |1
<UFF1A> \x7A |1
<UFF1B> \x5E |1
<UFF1C> \x4C |1
<UFF1D> \x7E |1
<UFF1E> \x6E |1
<UFF1F> \x6F |1
<UFF20> \x7C |1
<UFF21> \xC1 |1
<UFF22> \xC2 |1
<UFF23> \xC3 |1
<UFF24> \xC4 |1
<UFF25> \xC5 |1
<UFF26> \xC6 |1
<UFF27> \xC7 |1
<UFF28> \xC8 |1
<UFF29> \xC9 |1
<UFF2A> \xD1 |1
<UFF2B> \xD2 |1
<UFF2C> \xD3 |1
<UFF2D> \xD4 |1
<UFF2E> \xD5 |1
<UFF2F> \xD6 |1
<UFF30> \xD7 |1
<UFF31> \xD8 |1
<UFF32> \xD9 |1
<UFF33> \xE2 |1
<UFF34> \xE3 |1
<UFF35> \xE4 |1
<UFF36> \xE5 |1
<UFF37> \xE6 |1
<UFF38> \xE7 |1
<UFF39> \xE8 |1
<UFF3A> \xE9 |1
<UFF3F> \x6D |1
<UFF41> \x81 |1
<UFF42> \x82 |1
<UFF43> \x83 |1
<UFF44> \x84 |1
<UFF45> \x85 |1
<UFF46> \x86 |1
<UFF47> \x87 |1
<UFF48> \x88 |1
<UFF49> \x89 |1
<UFF4A> \x91 |1
<UFF4B> \x92 |1
<UFF4C> \x93 |1
<UFF4D> \x94 |1
<UFF4E> \x95 |1
<UFF4F> \x96 |1
<UFF50> \x97 |1
<UFF51> \x98 |1
<UFF52> \x99 |1
<UFF53> \xA2 |1
<UFF54> \xA3 |1
<UFF55> \xA4 |1
<UFF56> \xA5 |1
<UFF57> \xA6 |1
<UFF58> \xA7 |1
<UFF59> \xA8 |1
<UFF5A> \xA9 |1
<UFF5C> \x4F |1
END CHARMAP
