summaryrefslogtreecommitdiff
path: root/encoding.js
blob: 263ca88a8fb3704d0bcdf123db7e6fce173fc40c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
function decode_charsets( str, encoding ) {
  if( encoding == "iso-2022-jp" ) {
    return decode_jis( str );
  } else if( encoding == "gb2312" ) {
    return decode_gb2312( str );
  }

  var map = encodings[encoding] || enc_8859_1;
  var outchars = [];

  for( var i=0; i< str.length; ++i ) {
    var append = str.charCodeAt(i) & 0xff;
    if( append >= 128 && map[ append - 128 ] ) {
      append = map[ append - 128 ] & 0xffff;
    }
    outchars.push( String.fromCharCode( append ) );
  }

  var outstring = outchars.join( '' );

  if( encoding == "utf8" || encoding == "utf-8" ) {
    return decodeURIComponent( escape( outstring ) );
  } else if ( encoding == "ibm864" ) {
    return outstring.replace( "%", String.fromCharCode( 0x66a ) );
  }

  return outstring;
}

function decode_quotedprintable( str ) {
  var lines = str.replace( /_/g, " ").split( "=" );
  var outstring = [ lines[0] ];
  for( var i=1; i< lines.length; ++i ) {
    if( lines[i].charCodeAt(1) == 10 ) {
      outstring.push( lines[i].substring( 2 ) );
    } else {
      outstring.push( String.fromCharCode( parseInt( lines[i].substring(0,2), 16 ) ), lines[i].substring( 2 ) )
    }
  }
  return outstring.join( '' );
}

function dec(x) {
  if (x>=65 && x<=90 ) return x - 65;
  if (x>=97 && x<=122) return x - 97 + 26;
  if (x>=48 && x<=57 ) return x - 48 + 26 + 26;
  switch (x) {
  case 43: return 62;
  case 47: return 63;
  default: return -1;
  }
}

function decode_base64( str ) {
  var tmp = 0, bits = 0;
  var outstring = [];

  for( var i=0; i<str.length; ++i) {
    var x = str.charCodeAt(i);
    var a = dec( x & 0xff );
    if(a<0) {
      return outstring.join( '' );
    }
    tmp=(tmp<<6)|a; bits+=6;
    if (bits >= 8) {
      outstring.push( String.fromCharCode( 0xff & ( tmp >> (bits -= 8) ) ) );
    }
  }
  return outstring.join( '' );
}

function decode_header( line ) {
  while( 1 ) {
    var enc_word = line.match( /=\?(\S+)\?(Q|B)\?(\S+)\?=/ );
    var dec_word;
    if( enc_word == null ) {
      break;
    }
           
    dec_word = enc_word[2] == 'Q' ? decode_quotedprintable( enc_word[3] ) : decode_base64( enc_word[3] );
    line = line.replace( /=\?\S+\?(?:Q|B)\?\S+\?=/, decode_charsets( dec_word, enc_word[1].toLowerCase() ) );
  } 

  return line;
}

var enc_8859_1=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,];
var enc_8859_2=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,260,728,321,,317,346,,,352,350,356,377,,381,379,,261,731,322,,318,347,711,,353,351,357,378,733,382,380,340,,,258,,313,262,,268,,280,,282,,,270,272,323,327,,,336,,,344,366,,368,,,354,,341,,,259,,314,263,,269,,281,,283,,,271,273,324,328,,,337,,,345,367,,369,,,355,729];
var enc_8859_3=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,294,728,,,-3,292,,,304,350,286,308,,-3,379,,295,,,,,293,,,305,351,287,309,,-3,380,,,,-3,,266,264,,,,,,,,,,-3,,,,,288,,,284,,,,,364,348,,,,,-3,,267,265,,,,,,,,,,-3,,,,,289,,,285,,,,,365,349,729];
var enc_8859_4=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,260,312,342,,296,315,,,352,274,290,358,,381,,,261,731,343,,297,316,711,,353,275,291,359,330,382,331,256,,,,,,,302,268,,280,,278,,,298,272,325,332,310,,,,,,370,,,,360,362,,257,,,,,,,303,269,,281,,279,,,299,273,326,333,311,,,,,,371,,,,361,363,729];
var enc_8859_5=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119];
var enc_8859_6=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-3,-3,-3,,-3,-3,-3,-3,-3,-3,-3,1548,,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,1563,-3,-3,-3,1567,-3,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,-3,-3,-3,-3,-3,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618];
var enc_8859_7=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8216,8217,,8364,8367,,,,,890,,,,-3,8213,,,,,900,901,902,,904,905,906,,908,,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,-3,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974];
var enc_8859_8=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-3,,,,,,,,,215,,,,,,,,,,,,,,,,247,,,,,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,-3,-3,8206,8207];
var enc_8859_9=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,286,,,,,,,,,,,,,304,350,,,,,,,,,,,,,,,,,,287,,,,,,,,,,,,,305,351,];
var enc_8859_10=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,260,274,290,298,296,310,,315,272,352,358,381,,362,330,,261,275,291,299,297,311,,316,273,353,359,382,8213,363,331,256,,,,,,,302,268,,280,,278,,,,,325,332,,,,,360,,370,,,,,,,257,,,,,,,303,269,,281,,279,,,,,326,333,,,,,361,,371,,,,,,312];
var enc_8859_11=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,-3,-3,-3,-3,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675];
var enc_8859_13=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8221,,,,8222,,,216,,342,,,,,198,,,,,8220,,,,248,,343,,,,,230,260,302,256,262,,,280,274,268,,377,278,290,310,298,315,352,323,325,,332,,,,370,321,346,362,,379,381,,261,303,257,263,,,281,275,269,,378,279,291,311,299,316,353,324,326,,333,,,,371,322,347,363,,380,382,8217];
var enc_8859_14=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,7682,7683,,266,267,7690,,7808,,7810,7691,7922,,,376,7710,7711,288,289,7744,7745,,7766,7809,7767,7811,7776,7923,7812,7813,7777,,,,,,,,,,,,,,,,,372,,,,,,,7786,,,,,,,374,,,,,,,,,,,,,,,,,,373,,,,,,,7787,,,,,,,375,];
var enc_8859_15=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8364,,352,,353,,,,,,,,,,,,381,,,,382,,,,338,339,376,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,];
var enc_8859_16=[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,260,261,321,8364,8222,352,,353,,536,,377,,378,379,,,268,322,381,8221,,,382,269,537,,338,339,376,380,,,,258,,262,,,,,,,,,,,272,323,,,,336,,346,368,,,,,280,538,,,,,259,,263,,,,,,,,,,,273,324,,,,337,,347,369,,,,,281,539,];
var enc_CP037=[216,97,98,99,100,101,102,103,104,105,171,187,240,253,254,177,176,106,107,108,109,110,111,112,113,114,170,186,230,184,198,164,181,126,115,116,117,118,119,120,121,122,161,191,208,221,222,174,94,163,165,183,169,167,,188,189,190,91,93,175,168,180,215,123,65,66,67,68,69,70,71,72,73,173,244,246,242,243,245,125,74,75,76,77,78,79,80,81,82,185,251,252,249,250,255,92,247,83,84,85,86,87,88,89,90,178,212,214,210,211,213,48,49,50,51,52,53,54,55,56,57,179,219,220,217,218,159];
var enc_CP1026=[216,97,98,99,100,101,102,103,104,105,171,187,125,96,166,177,176,106,107,108,109,110,111,112,113,114,170,186,230,184,198,164,181,246,115,116,117,118,119,120,121,122,161,191,93,36,64,174,162,163,165,183,169,167,,188,189,190,172,124,175,168,180,215,231,65,66,67,68,69,70,71,72,73,173,244,126,242,243,245,287,74,75,76,77,78,79,80,81,82,185,251,92,249,250,255,252,247,83,84,85,86,87,88,89,90,178,212,35,210,211,213,48,49,50,51,52,53,54,55,56,57,179,219,34,217,218,159];
var enc_CP1250=[8364,-3,8218,-3,8222,8230,8224,8225,-3,8240,352,8249,346,356,381,377,-3,8216,8217,8220,8221,8226,8211,8212,-3,8482,353,8250,347,357,382,378,,711,728,321,,260,,,,,350,,,,,379,,,731,322,,,,,,261,351,,317,733,318,380,340,,,258,,313,262,,268,,280,,282,,,270,272,323,327,,,336,,,344,366,,368,,,354,,341,,,259,,314,263,,269,,281,,283,,,271,273,324,328,,,337,,,345,367,,369,,,355,729];
var enc_CP1251=[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,-3,8482,1113,8250,1114,1116,1115,1119,,1038,1118,1032,,1168,,,1025,,1028,,,,,1031,,,1030,1110,1169,,,,1105,8470,1108,,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103];
var enc_CP1252=[8364,-3,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,-3,381,-3,-3,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,-3,382,376,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,];
var enc_CP1253=[8364,-3,8218,402,8222,8230,8224,8225,-3,8240,-3,8249,-3,-3,-3,-3,-3,8216,8217,8220,8221,8226,8211,8212,-3,8482,-3,8250,-3,-3,-3,-3,,901,902,,,,,,,,-3,,,,,8213,,,,,900,,,,904,905,906,,908,,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,-3,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974];
var enc_CP1254=[8364,-3,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,-3,-3,-3,-3,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,-3,-3,376,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,286,,,,,,,,,,,,,304,350,,,,,,,,,,,,,,,,,,287,,,,,,,,,,,,,305,351,];
var enc_CP1255=[8364,-3,8218,402,8222,8230,8224,8225,710,8240,-3,8249,-3,-3,-3,-3,-3,8216,8217,8220,8221,8226,8211,8212,732,8482,-3,8250,-3,-3,-3,-3,,,,,8362,,,,,,215,,,,,,,,,,,,,,,,247,,,,,,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,-3,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,-3,-3,-3,-3,-3,-3,-3,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,-3,-3,8206,8207];
var enc_CP1256=[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,,1548,,,,,,,,,1726,,,,,,,,,,,,,,,,1563,,,,,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,,1591,1592,1593,1594,1600,1601,1602,1603,,1604,,1605,1606,1607,1608,,,,,,1609,1610,,,1611,1612,1613,1614,,1615,1616,,1617,,1618,,,8206,8207,1746];
var enc_CP1257=[8364,-3,8218,-3,8222,8230,8224,8225,-3,8240,-3,8249,-3,168,711,184,-3,8216,8217,8220,8221,8226,8211,8212,-3,8482,-3,8250,-3,175,731,-3,,-3,,,,-3,,,216,,342,,,,,198,,,,,,,,,248,,343,,,,,230,260,302,256,262,,,280,274,268,,377,278,290,310,298,315,352,323,325,,332,,,,370,321,346,362,,379,381,,261,303,257,263,,,281,275,269,,378,279,291,311,299,316,353,324,326,,333,,,,371,322,347,363,,380,382,729];
var enc_CP1258=[8364,-3,8218,402,8222,8230,8224,8225,710,8240,-3,8249,338,-3,-3,-3,-3,8216,8217,8220,8221,8226,8211,8212,732,8482,-3,8250,339,-3,-3,376,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,258,,,,,,,,,768,,,,272,,777,,,416,,,,,,,,431,771,,,,,259,,,,,,,,,769,,,,273,,803,,,417,,,,,,,,432,8363,];
var enc_CP437=[199,252,233,226,228,224,229,231,234,235,232,239,238,236,196,197,201,230,198,244,246,242,251,249,255,214,220,162,163,165,8359,402,225,237,243,250,241,209,170,186,191,8976,172,189,188,161,171,187,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745,8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160];
var enc_CP500=[216,97,98,99,100,101,102,103,104,105,171,187,240,253,254,177,176,106,107,108,109,110,111,112,113,114,170,186,230,184,198,164,181,126,115,116,117,118,119,120,121,122,161,191,208,221,222,174,162,163,165,183,169,167,,188,189,190,172,124,175,168,180,215,123,65,66,67,68,69,70,71,72,73,173,244,246,242,243,245,125,74,75,76,77,78,79,80,81,82,185,251,252,249,250,255,92,247,83,84,85,86,87,88,89,90,178,212,214,210,211,213,48,49,50,51,52,53,54,55,56,57,179,219,220,217,218,159,];
var enc_CP737=[913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,962,964,965,966,967,968,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,969,940,941,942,970,943,972,973,971,974,902,904,905,906,908,910,911,177,8805,8804,938,939,247,8776,176,8729,183,8730,8319,178,9632,160];
var enc_CP775=[262,252,233,257,228,291,229,263,322,275,342,343,299,377,196,197,201,230,198,333,246,290,162,346,347,214,220,248,163,216,215,164,256,298,243,379,380,378,8221,166,169,174,172,189,188,321,171,187,9617,9618,9619,9474,9508,260,268,280,278,9571,9553,9559,9565,302,352,9488,9492,9524,9516,9500,9472,9532,370,362,9562,9556,9577,9574,9568,9552,9580,381,261,269,281,279,303,353,371,363,382,9496,9484,9608,9604,9612,9616,9600,211,223,332,323,245,213,181,324,310,311,315,316,326,274,325,8217,173,177,8220,190,182,167,247,8222,176,8729,183,185,179,178,9632,160];
var enc_CP850=[199,252,233,226,228,224,229,231,234,235,232,239,238,236,196,197,201,230,198,244,246,242,251,249,255,214,220,248,163,216,215,402,225,237,243,250,241,209,170,186,191,174,172,189,188,161,171,187,9617,9618,9619,9474,9508,193,194,192,169,9571,9553,9559,9565,162,165,9488,9492,9524,9516,9500,9472,9532,227,195,9562,9556,9577,9574,9568,9552,9580,164,240,208,202,203,200,305,205,206,207,9496,9484,9608,9604,166,204,9600,211,223,212,210,245,213,181,254,222,218,219,217,253,221,175,180,173,177,8215,190,182,167,247,184,176,168,183,185,179,178,9632,160];
var enc_CP852=[199,252,233,226,228,367,263,231,322,235,336,337,238,377,196,262,201,313,314,244,246,317,318,346,347,214,220,356,357,321,215,269,225,237,243,250,260,261,381,382,280,281,172,378,268,351,171,187,9617,9618,9619,9474,9508,193,194,282,350,9571,9553,9559,9565,379,380,9488,9492,9524,9516,9500,9472,9532,258,259,9562,9556,9577,9574,9568,9552,9580,164,273,272,270,203,271,327,205,206,283,9496,9484,9608,9604,354,366,9600,211,223,212,323,324,328,352,353,340,218,341,368,253,221,355,180,173,733,731,711,728,167,247,184,176,168,729,369,344,345,9632,160];
var enc_CP855=[1106,1026,1107,1027,1105,1025,1108,1028,1109,1029,1110,1030,1111,1031,1112,1032,1113,1033,1114,1034,1115,1035,1116,1036,1118,1038,1119,1039,1102,1070,1098,1066,1072,1040,1073,1041,1094,1062,1076,1044,1077,1045,1092,1060,1075,1043,171,187,9617,9618,9619,9474,9508,1093,1061,1080,1048,9571,9553,9559,9565,1081,1049,9488,9492,9524,9516,9500,9472,9532,1082,1050,9562,9556,9577,9574,9568,9552,9580,164,1083,1051,1084,1052,1085,1053,1086,1054,1087,9496,9484,9608,9604,1055,1103,9600,1071,1088,1056,1089,1057,1090,1058,1091,1059,1078,1046,1074,1042,1100,1068,8470,173,1099,1067,1079,1047,1096,1064,1101,1069,1097,1065,1095,1063,167,9632,160];
var enc_CP857=[199,252,233,226,228,224,229,231,234,235,232,239,238,305,196,197,201,230,198,244,246,242,251,249,304,214,220,248,163,216,350,351,225,237,243,250,241,209,286,287,191,174,172,189,188,161,171,187,9617,9618,9619,9474,9508,193,194,192,169,9571,9553,9559,9565,162,165,9488,9492,9524,9516,9500,9472,9532,227,195,9562,9556,9577,9574,9568,9552,9580,164,186,170,202,203,200,-3,205,206,207,9496,9484,9608,9604,166,204,9600,211,223,212,210,245,213,181,-3,215,218,219,217,,255,175,180,173,177,-3,190,182,167,247,184,176,168,183,185,179,178,9632,160];
var enc_CP860=[199,252,233,226,227,224,193,231,234,202,232,205,212,236,195,194,201,192,200,244,245,242,218,249,204,213,220,162,163,217,8359,211,225,237,243,250,241,209,170,186,191,210,172,189,188,161,171,187,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745,8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160];
var enc_CP861=[199,252,233,226,228,224,229,231,234,235,232,208,240,222,196,197,201,230,198,244,246,254,251,221,253,214,220,248,163,216,8359,402,225,237,243,250,193,205,211,218,191,8976,172,189,188,161,171,187,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745,8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160];
var enc_CP862=[1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,162,163,165,8359,402,225,237,243,250,241,209,170,186,191,8976,172,189,188,161,171,187,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745,8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160];
var enc_CP863=[199,252,233,226,194,224,182,231,234,235,232,239,238,8215,192,167,201,200,202,244,203,207,251,249,164,212,220,162,163,217,219,402,166,180,243,250,168,184,179,175,206,8976,172,189,188,190,171,187,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745,8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160];
var enc_CP864=[176,183,8729,8730,9618,9472,9474,9532,9508,9516,9500,9524,9488,9484,9492,9496,946,8734,966,177,189,188,8776,171,187,65271,65272,-3,-3,65275,65276,-3,,173,65154,,,65156,-3,-3,65166,65167,65173,65177,1548,65181,65185,65189,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,65233,1563,65201,65205,65209,1567,162,65152,65153,65155,65157,65226,65163,65165,65169,65171,65175,65179,65183,65187,65191,65193,65195,65197,65199,65203,65207,65211,65215,65217,65221,65227,65231,166,172,247,215,65225,1600,65235,65239,65243,65247,65251,65255,65259,65261,65263,65267,65213,65228,65230,65229,65249,65149,1617,65253,65257,65260,65264,65266,65232,65237,65269,65270,65245,65241,65265,9632,];
var enc_CP865=[199,252,233,226,228,224,229,231,234,235,232,239,238,236,196,197,201,230,198,244,246,242,251,249,255,214,220,248,163,216,8359,402,225,237,243,250,241,209,170,186,191,8976,172,189,188,161,171,164,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745,8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160];
var enc_CP866=[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160];
var enc_CP869=[-3,-3,-3,-3,-3,-3,902,-3,183,172,166,8216,8217,904,8213,905,906,938,908,-3,-3,910,939,169,911,178,179,940,163,941,942,943,970,912,972,973,913,914,915,916,917,918,919,189,920,921,171,187,9617,9618,9619,9474,9508,922,923,924,925,9571,9553,9559,9565,926,927,9488,9492,9524,9516,9500,9472,9532,928,929,9562,9556,9577,9574,9568,9552,9580,931,932,933,934,935,936,937,945,946,947,9496,9484,9608,9604,948,949,9600,950,951,952,953,954,955,956,957,958,959,960,961,963,962,964,900,173,177,965,966,967,167,968,901,176,168,969,971,944,974,9632,160];
var enc_CP874=[8364,-3,-3,-3,-3,8230,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,8216,8217,8220,8221,8226,8211,8212,-3,-3,-3,-3,-3,-3,-3,-3,,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,-3,-3,-3,-3,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675];
var enc_CP875=[901,97,98,99,100,101,102,103,104,105,945,946,947,948,949,950,176,106,107,108,109,110,111,112,113,114,951,952,953,954,955,956,180,126,115,116,117,118,119,120,121,122,957,958,959,960,961,963,163,940,941,942,970,943,972,973,971,974,962,964,965,966,967,968,123,65,66,67,68,69,70,71,72,73,173,969,912,944,8216,8213,125,74,75,76,77,78,79,80,81,82,177,189,26,903,8217,166,92,26,83,84,85,86,87,88,89,90,178,167,26,26,171,172,48,49,50,51,52,53,54,55,56,57,179,169,26,26,187,159];
var enc_koi8_r=[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066];
var enc_koi8_u=[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,9565,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066];

var encodings = {
  "iso8859":enc_8859_1,"iso8859_1":enc_8859_1,"utf8":enc_8859_1,"utf-8":enc_8859_1,"iso-8859-1":enc_8859_1,
  "iso-8859-2":enc_8859_2,"iso-8859-3":enc_8859_3,"iso-8859-4":enc_8859_4,"iso-8859-5":enc_8859_5,"iso-8859-6":enc_8859_6,
  "iso-8859-7":enc_8859_7,"iso-8859-8":enc_8859_8,"iso-8859-9":enc_8859_9,"iso-8859-10":enc_8859_10,"iso-8859-11":enc_8859_11,
  "iso-8859-13":enc_8859_13,"iso-8859-14":enc_8859_14,"iso-8859-15":enc_8859_15,"iso-8859-16":enc_8859_16,
  "windows-1250":enc_CP1250,"windows-1251":enc_CP1251,"windows-1252":enc_CP1252,"windows-1253":enc_CP1253,
  "windows-1254":enc_CP1254,"windows-1255":enc_CP1255,"windows-1256":enc_CP1256,"windows-1257":enc_CP1257,"windows-1258":enc_CP1258,
  "koi8-r":enc_koi8_r,"koi8-u":enc_koi8_u,
  "ibm437":enc_CP437,"ibm737":enc_CP737,"ibm775":enc_CP775,"ibm850":enc_CP850,"ibm852":enc_CP852,"ibm855":enc_CP855,"ibm857":enc_CP857,
  "ibm860":enc_CP860,"ibm861":enc_CP861,"ibm862":enc_CP862,"ibm863":enc_CP863,"ibm864":enc_CP864,"ibm865":enc_CP865,"ibm866":enc_CP866,
  "cp869": enc_CP869,"cp-gr": enc_CP869,"ibm869":enc_CP869,"windows-874": enc_CP874,"cp874":enc_CP874,"ibm874":enc_CP874,
  "cp037": enc_CP037,"cp500": enc_CP500,"cp875":enc_CP875,"cp1026":enc_CP1026
};