# ***************************************************************************
# *
# *   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 34B0011C.RPMAP100 and 011C34B0.TPMAP100
#
<code_set_name>               "ibm-284_P100-1995"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x3F
<icu:charsetFamily>           "EBCDIC"
<icu:alias>                   "ibm-284_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> \xBB |0
<U0022> \x7F |0
<U0023> \x69 |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
<U005B> \x4A |0
<U005C> \xE0 |0
<U005D> \x5A |0
<U005E> \xBA |0
<U005F> \x6D |0
<U0060> \x79 |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
<U007B> \xC0 |0
<U007C> \x4F |0
<U007D> \xD0 |0
<U007E> \xBD |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
<U00A1> \xAA |0
<U00A2> \xB0 |0
<U00A3> \xB1 |0
<U00A4> \x9F |0
<U00A5> \xB2 |0
<U00A6> \x49 |0
<U00A7> \xB5 |0
<U00A8> \xA1 |0
<U00A9> \xB4 |0
<U00AA> \x9A |0
<U00AB> \x8A |0
<U00AC> \x5F |0
<U00AD> \xCA |0
<U00AE> \xAF |0
<U00AF> \xBC |0
<U00B0> \x90 |0
<U00B1> \x8F |0
<U00B2> \xEA |0
<U00B3> \xFA |0
<U00B4> \xBE |0
<U00B5> \xA0 |0
<U00B6> \xB6 |0
<U00B7> \xB3 |0
<U00B8> \x9D |0
<U00B9> \xDA |0
<U00BA> \x9B |0
<U00BB> \x8B |0
<U00BC> \xB7 |0
<U00BD> \xB8 |0
<U00BE> \xB9 |0
<U00BF> \xAB |0
<U00C0> \x64 |0
<U00C1> \x65 |0
<U00C2> \x62 |0
<U00C3> \x66 |0
<U00C4> \x63 |0
<U00C5> \x67 |0
<U00C6> \x9E |0
<U00C7> \x68 |0
<U00C8> \x74 |0
<U00C9> \x71 |0
<U00CA> \x72 |0
<U00CB> \x73 |0
<U00CC> \x78 |0
<U00CD> \x75 |0
<U00CE> \x76 |0
<U00CF> \x77 |0
<U00D0> \xAC |0
<U00D1> \x7B |0
<U00D2> \xED |0
<U00D3> \xEE |0
<U00D4> \xEB |0
<U00D5> \xEF |0
<U00D6> \xEC |0
<U00D7> \xBF |0
<U00D8> \x80 |0
<U00D9> \xFD |0
<U00DA> \xFE |0
<U00DB> \xFB |0
<U00DC> \xFC |0
<U00DD> \xAD |0
<U00DE> \xAE |0
<U00DF> \x59 |0
<U00E0> \x44 |0
<U00E1> \x45 |0
<U00E2> \x42 |0
<U00E3> \x46 |0
<U00E4> \x43 |0
<U00E5> \x47 |0
<U00E6> \x9C |0
<U00E7> \x48 |0
<U00E8> \x54 |0
<U00E9> \x51 |0
<U00EA> \x52 |0
<U00EB> \x53 |0
<U00EC> \x58 |0
<U00ED> \x55 |0
<U00EE> \x56 |0
<U00EF> \x57 |0
<U00F0> \x8C |0
<U00F1> \x6A |0
<U00F2> \xCD |0
<U00F3> \xCE |0
<U00F4> \xCB |0
<U00F5> \xCF |0
<U00F6> \xCC |0
<U00F7> \xE1 |0
<U00F8> \x70 |0
<U00F9> \xDD |0
<U00FA> \xDE |0
<U00FB> \xDB |0
<U00FC> \xDC |0
<U00FD> \x8D |0
<U00FE> \x8E |0
<U00FF> \xDF |0
<U0110> \xAC |1
<U203E> \xBC |1
<UFF01> \xBB |1
<UFF02> \x7F |1
<UFF03> \x69 |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
<UFF3B> \x4A |1
<UFF3C> \xE0 |1
<UFF3D> \x5A |1
<UFF3E> \xBA |1
<UFF3F> \x6D |1
<UFF40> \x79 |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
<UFF5B> \xC0 |1
<UFF5C> \x4F |1
<UFF5D> \xD0 |1
<UFF5E> \xBD |1
END CHARMAP
