diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /library/cpp/charset | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'library/cpp/charset')
-rw-r--r-- | library/cpp/charset/README.md | 10 | ||||
-rw-r--r-- | library/cpp/charset/ci_string.cpp | 42 | ||||
-rw-r--r-- | library/cpp/charset/ci_string.h | 280 | ||||
-rw-r--r-- | library/cpp/charset/ci_string_ut.cpp | 23 | ||||
-rw-r--r-- | library/cpp/charset/codepage.cpp | 511 | ||||
-rw-r--r-- | library/cpp/charset/codepage.h | 324 | ||||
-rw-r--r-- | library/cpp/charset/codepage_ut.cpp | 424 | ||||
-rw-r--r-- | library/cpp/charset/cp_encrec.cpp | 54 | ||||
-rw-r--r-- | library/cpp/charset/doccodes.cpp | 1 | ||||
-rw-r--r-- | library/cpp/charset/doccodes.h | 129 | ||||
-rw-r--r-- | library/cpp/charset/generated/cp_data.cpp | 3788 | ||||
-rw-r--r-- | library/cpp/charset/generated/encrec_data.cpp | 15082 | ||||
-rw-r--r-- | library/cpp/charset/iconv.cpp | 94 | ||||
-rw-r--r-- | library/cpp/charset/iconv.h | 136 | ||||
-rw-r--r-- | library/cpp/charset/iconv_ut.cpp | 87 | ||||
-rw-r--r-- | library/cpp/charset/recyr.hh | 164 | ||||
-rw-r--r-- | library/cpp/charset/recyr_int.hh | 336 | ||||
-rw-r--r-- | library/cpp/charset/ut/ya.make | 12 | ||||
-rw-r--r-- | library/cpp/charset/wide.cpp | 18 | ||||
-rw-r--r-- | library/cpp/charset/wide.h | 306 | ||||
-rw-r--r-- | library/cpp/charset/wide_ut.cpp | 399 | ||||
-rw-r--r-- | library/cpp/charset/ya.make | 22 |
22 files changed, 22242 insertions, 0 deletions
diff --git a/library/cpp/charset/README.md b/library/cpp/charset/README.md new file mode 100644 index 0000000000..9a257e3b4d --- /dev/null +++ b/library/cpp/charset/README.md @@ -0,0 +1,10 @@ +Здесь представлены функции и enum'ы для работы с кодировками. + +Наиболее полезные конструкции этой библиотеки: +1. [`enum ECharset`](https://a.yandex-team.ru/arc/trunk/arcadia/library/cpp/charset/doccodes.h) - перечень кодировок, которые умеет определять [детектор кодировок](https://a.yandex-team.ru/arc/trunk/arcadia/kernel/recshell/recshell.h?rev=8268697#L56). +2. [Функция](https://a.yandex-team.ru/arc/trunk/arcadia/library/cpp/charset/recyr.hh?rev=r6888372#L137) `inline TString Recode(ECharset from, ECharset to, const TString& in)` для преобразования кодировок. +3. [Функция](https://a.yandex-team.ru/arc/trunk/arcadia/library/cpp/charset/wide.h?rev=r6888372#L277) `inline TUtf16String UTF8ToWide(const char* text, size_t len, const CodePage& cp)`, пытающаяся построить широкую строку из UTF-8, а если не получается - с помощью кодировки `cp`. + +3. [Класс `TCiString`](https://a.yandex-team.ru/arc/trunk/arcadia/library/cpp/charset/ci_string.h) - аналог `TString`, но использующий case-insensitive-компаратор и хеш и поддерживающий разные кодировки. + +В комплекте есть ещё много функций для работы со старой однобайтной Yandex-кодировкой. Не рекомендуется к использованию. Для преобразования из UTF-8 в `TUtf16String` и для работы с Unicode используйте функции из [arcadia/util/charset](https://a.yandex-team.ru/arc/trunk/arcadia/util/charset). diff --git a/library/cpp/charset/ci_string.cpp b/library/cpp/charset/ci_string.cpp new file mode 100644 index 0000000000..634b05ec68 --- /dev/null +++ b/library/cpp/charset/ci_string.cpp @@ -0,0 +1,42 @@ +#include "ci_string.h" +#include "wide.h" + +int TCiString::compare(const TCiString& s1, const TCiString& s2, const CodePage& cp) { + return cp.stricmp(s1.data(), s2.data()); +} + +int TCiString::compare(const char* p, const TCiString& s2, const CodePage& cp) { + return cp.stricmp(p, s2.data()); +} + +int TCiString::compare(const TCiString& s1, const char* p, const CodePage& cp) { + return cp.stricmp(s1.data(), p); +} + +int TCiString::compare(const TStringBuf& p1, const TStringBuf& p2, const CodePage& cp) { + int rv = cp.strnicmp(p1.data(), p2.data(), Min(p1.size(), p2.size())); + return rv ? rv : p1.size() < p2.size() ? -1 : p1.size() == p2.size() ? 0 : 1; +} + +bool TCiString::is_prefix(const TStringBuf& what, const TStringBuf& of, const CodePage& cp) { + size_t len = what.size(); + return len <= of.size() && cp.strnicmp(what.data(), of.data(), len) == 0; +} + +bool TCiString::is_suffix(const TStringBuf& what, const TStringBuf& of, const CodePage& cp) { + size_t len = what.size(); + size_t slen = of.size(); + return (len <= slen) && (0 == cp.strnicmp(what.data(), of.data() + slen - len, len)); +} + +size_t TCiString::hashVal(const char* s, size_t len, const CodePage& cp) { + size_t h = len; + for (; /* (*s) && */ len--; ++s) + h = 5 * h + cp.ToLower(*s); + return h; +} + +template <> +void Out<TCiString>(IOutputStream& o, const TCiString& p) { + o.Write(p.data(), p.size()); +} diff --git a/library/cpp/charset/ci_string.h b/library/cpp/charset/ci_string.h new file mode 100644 index 0000000000..edf24c1b6f --- /dev/null +++ b/library/cpp/charset/ci_string.h @@ -0,0 +1,280 @@ +#pragma once + +#include "codepage.h" + +#include <util/generic/string.h> +#include <util/str_stl.h> + +// Same as TString but uses CASE INSENSITIVE comparator and hash. Use with care. +class TCiString: public TString { +public: + TCiString() { + } + + TCiString(const TString& s) + : TString(s) + { + } + + TCiString(const TString& s, size_t pos, size_t n) + : TString(s, pos, n) + { + } + + TCiString(const char* pc) + : TString(pc) + { + } + + TCiString(const char* pc, size_t n) + : TString(pc, n) + { + } + + TCiString(const char* pc, size_t pos, size_t n) + : TString(pc, pos, n) + { + } + + TCiString(size_t n, char c) + : TString(n, c) + { + } + + TCiString(const TUninitialized& uninitialized) + : TString(uninitialized) + { + } + + TCiString(const char* b, const char* e) + : TString(b, e) + { + } + + explicit TCiString(const TStringBuf& s) + : TString(s) + { + } + + // ~~~ Comparison ~~~ : FAMILY0(int, compare) + static int compare(const TCiString& s1, const TCiString& s2, const CodePage& cp = csYandex); + static int compare(const char* p, const TCiString& s2, const CodePage& cp = csYandex); + static int compare(const TCiString& s1, const char* p, const CodePage& cp = csYandex); + static int compare(const TStringBuf& p1, const TStringBuf& p2, const CodePage& cp = csYandex); + + // TODO: implement properly in TString via enum ECaseSensitivity + static bool is_prefix(const TStringBuf& what, const TStringBuf& of, const CodePage& cp = csYandex); + static bool is_suffix(const TStringBuf& what, const TStringBuf& of, const CodePage& cp = csYandex); + + bool StartsWith(const TStringBuf& s, const CodePage& cp = csYandex) const { + return is_prefix(s, *this, cp); + } + + bool EndsWith(const TStringBuf& s, const CodePage& cp = csYandex) const { + return is_suffix(s, *this, cp); + } + + friend bool operator==(const TCiString& s1, const TCiString& s2) { + return TCiString::compare(s1, s2) == 0; + } + + friend bool operator==(const TCiString& s, const char* pc) { + return TCiString::compare(s, pc) == 0; + } + + friend bool operator==(const char* pc, const TCiString& s) { + return TCiString::compare(pc, s) == 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator==(const TCiString& s, const TStringBase<TDerived2, TChar, TTraits2>& pc) { + return TCiString::compare(s, pc) == 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator==(const TStringBase<TDerived2, TChar, TTraits2>& pc, const TCiString& s) { + return TCiString::compare(pc, s) == 0; + } + + friend bool operator!=(const TCiString& s1, const TCiString& s2) { + return TCiString::compare(s1, s2) != 0; + } + + friend bool operator!=(const TCiString& s, const char* pc) { + return TCiString::compare(s, pc) != 0; + } + + friend bool operator!=(const char* pc, const TCiString& s) { + return TCiString::compare(pc, s) != 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator!=(const TCiString& s, const TStringBase<TDerived2, TChar, TTraits2>& pc) { + return TCiString::compare(s, pc) != 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator!=(const TStringBase<TDerived2, TChar, TTraits2>& pc, const TCiString& s) { + return TCiString::compare(pc, s) != 0; + } + + friend bool operator<(const TCiString& s1, const TCiString& s2) { + return TCiString::compare(s1, s2) < 0; + } + + friend bool operator<(const TCiString& s, const char* pc) { + return TCiString::compare(s, pc) < 0; + } + + friend bool operator<(const char* pc, const TCiString& s) { + return TCiString::compare(pc, s) < 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator<(const TCiString& s, const TStringBase<TDerived2, TChar, TTraits2>& pc) { + return TCiString::compare(s, pc) < 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator<(const TStringBase<TDerived2, TChar, TTraits2>& pc, const TCiString& s) { + return TCiString::compare(pc, s) < 0; + } + + friend bool operator<=(const TCiString& s1, const TCiString& s2) { + return TCiString::compare(s1, s2) <= 0; + } + + friend bool operator<=(const TCiString& s, const char* pc) { + return TCiString::compare(s, pc) <= 0; + } + + friend bool operator<=(const char* pc, const TCiString& s) { + return TCiString::compare(pc, s) <= 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator<=(const TCiString& s, const TStringBase<TDerived2, TChar, TTraits2>& pc) { + return TCiString::compare(s, pc) <= 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator<=(const TStringBase<TDerived2, TChar, TTraits2>& pc, const TCiString& s) { + return TCiString::compare(pc, s) <= 0; + } + + friend bool operator>(const TCiString& s1, const TCiString& s2) { + return TCiString::compare(s1, s2) > 0; + } + + friend bool operator>(const TCiString& s, const char* pc) { + return TCiString::compare(s, pc) > 0; + } + + friend bool operator>(const char* pc, const TCiString& s) { + return TCiString::compare(pc, s) > 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator>(const TCiString& s, const TStringBase<TDerived2, TChar, TTraits2>& pc) noexcept { + return TCiString::compare(s, pc) > 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator>(const TStringBase<TDerived2, TChar, TTraits2>& pc, const TCiString& s) noexcept { + return TCiString::compare(pc, s) > 0; + } + + friend bool operator>=(const TCiString& s1, const TCiString& s2) { + return TCiString::compare(s1, s2) >= 0; + } + + friend bool operator>=(const TCiString& s, const char* pc) { + return TCiString::compare(s, pc) >= 0; + } + + friend bool operator>=(const char* pc, const TCiString& s) { + return TCiString::compare(pc, s) >= 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator>=(const TCiString& s, const TStringBase<TDerived2, TChar, TTraits2>& pc) { + return TCiString::compare(s, pc) >= 0; + } + + template <typename TDerived2, typename TTraits2> + friend bool operator>=(const TStringBase<TDerived2, TChar, TTraits2>& pc, const TCiString& s) { + return TCiString::compare(pc, s) >= 0; + } + + static size_t hashVal(const char* pc, size_t len, const CodePage& cp = csYandex); + + size_t hash() const { + return TCiString::hashVal(data(), length()); + } +}; + +struct ci_hash { + inline size_t operator()(const char* s) const { + return TCiString::hashVal(s, strlen(s)); + } + inline size_t operator()(const TStringBuf& s) const { + return TCiString::hashVal(s.data(), s.size()); + } +}; + +struct ci_hash32 { // not the same as ci_hash under 64-bit + inline ui32 operator()(const char* s) const { + return (ui32)TCiString::hashVal(s, strlen(s)); + } +}; + +//template <class T> struct hash; + +template <> +struct hash<TCiString>: public ci_hash { +}; + +template <class T> +struct TCIHash { +}; + +template <> +struct TCIHash<const char*> { + inline size_t operator()(const TStringBuf& s) const { + return TCiString::hashVal(s.data(), s.size()); + } +}; + +template <> +struct TCIHash<TStringBuf> { + inline size_t operator()(const TStringBuf& s) const { + return TCiString::hashVal(s.data(), s.size()); + } +}; + +template <> +struct TCIHash<TString> { + inline size_t operator()(const TString& s) const { + return TCiString::hashVal(s.data(), s.size()); + } +}; + +struct ci_less { + inline bool operator()(const char* x, const char* y) const { + return csYandex.stricmp(x, y) < 0; + } +}; + +struct ci_equal_to { + inline bool operator()(const char* x, const char* y) const { + return csYandex.stricmp(x, y) == 0; + } + // this implementation is not suitable for strings with zero characters inside, sorry + bool operator()(const TStringBuf& x, const TStringBuf& y) const { + return x.size() == y.size() && csYandex.strnicmp(x.data(), y.data(), y.size()) == 0; + } +}; + +template <> +struct TEqualTo<TCiString>: public ci_equal_to { +}; diff --git a/library/cpp/charset/ci_string_ut.cpp b/library/cpp/charset/ci_string_ut.cpp new file mode 100644 index 0000000000..3d2a53d5fe --- /dev/null +++ b/library/cpp/charset/ci_string_ut.cpp @@ -0,0 +1,23 @@ +#include "ci_string.h" + +#include <util/generic/hash.h> +#include <util/generic/string_ut.h> + +class TCaseStringTest: public TTestBase, private TStringTestImpl<TCiString, TTestData<char>> { +public: + void TestSpecial() { + TCiString ss = Data._0123456(); // type 'TCiString' is used as is + size_t hash_val = ComputeHash(ss); + UNIT_ASSERT(hash_val == 1489244); + } + +public: + UNIT_TEST_SUITE(TCaseStringTest); + UNIT_TEST(TestOperators); + UNIT_TEST(TestOperatorsCI); + + UNIT_TEST(TestSpecial); + UNIT_TEST_SUITE_END(); +}; + +UNIT_TEST_SUITE_REGISTRATION(TCaseStringTest); diff --git a/library/cpp/charset/codepage.cpp b/library/cpp/charset/codepage.cpp new file mode 100644 index 0000000000..0431bef31b --- /dev/null +++ b/library/cpp/charset/codepage.cpp @@ -0,0 +1,511 @@ +#include "ci_string.h" +#include "wide.h" +#include "recyr.hh" +#include "codepage.h" + +#include <util/string/cast.h> +#include <util/string/subst.h> +#include <util/string/util.h> +#include <util/system/hi_lo.h> +#include <util/system/yassert.h> +#include <util/generic/hash.h> +#include <util/generic/string.h> +#include <util/generic/vector.h> +#include <util/generic/hash_set.h> +#include <util/generic/singleton.h> +#include <util/generic/yexception.h> +#include <util/memory/pool.h> + +#include <cstring> + +#include <ctype.h> + +using namespace NCodepagePrivate; + +void Recoder::Create(const CodePage& source, const CodePage& target) { + const Encoder* wideTarget = &EncoderByCharset(target.CPEnum); + Create(source, wideTarget); +} +void Recoder::Create(const CodePage& page, wchar32 (*mapfunc)(wchar32)) { + const Encoder* widePage = &EncoderByCharset(page.CPEnum); + Create(page, widePage, mapfunc); +} + +template <class T, class T1> +static inline T1 Apply(T b, T e, T1 to, const Recoder& mapper) { + while (b != e) { + *to++ = mapper.Table[(unsigned char)*b++]; + } + + return to; +} + +template <class T, class T1> +static inline T1 Apply(T b, T1 to, const Recoder& mapper) { + while (*b != 0) { + *to++ = mapper.Table[(unsigned char)*b++]; + } + + return to; +} + +char* CodePage::ToLower(const char* b, const char* e, char* to) const { + return Apply(b, e, to, TCodePageData::rcdr_to_lower[CPEnum]); +} +char* CodePage::ToLower(const char* b, char* to) const { + return Apply(b, to, TCodePageData::rcdr_to_lower[CPEnum]); +} + +char* CodePage::ToUpper(const char* b, const char* e, char* to) const { + return Apply(b, e, to, TCodePageData::rcdr_to_upper[CPEnum]); +} +char* CodePage::ToUpper(const char* b, char* to) const { + return Apply(b, to, TCodePageData::rcdr_to_upper[CPEnum]); +} + +int CodePage::stricmp(const char* dst, const char* src) const { + unsigned char f, l; + do { + f = ToLower(*dst++); + l = ToLower(*src++); + } while (f && (f == l)); + return f - l; +} + +int CodePage::strnicmp(const char* dst, const char* src, size_t len) const { + unsigned char f, l; + if (len) { + do { + f = ToLower(*dst++); + l = ToLower(*src++); + } while (--len && f && (f == l)); + return f - l; + } + return 0; +} + +static const CodePage UNSUPPORTED_CODEPAGE = { + CODES_UNSUPPORTED, + { + "unsupported", + }, + {}, + nullptr, +}; + +static const CodePage UNKNOWN_CODEPAGE = { + CODES_UNKNOWN, + { + "unknown", + }, + {}, + nullptr, +}; + +void NCodepagePrivate::TCodepagesMap::SetData(const CodePage* cp) { + Y_ASSERT(cp); + int code = static_cast<int>(cp->CPEnum) + DataShift; + + Y_ASSERT(code >= 0 && code < DataSize); + Y_ASSERT(Data[code] == nullptr); + + Data[code] = cp; +} + +NCodepagePrivate::TCodepagesMap::TCodepagesMap() { + memset(Data, 0, sizeof(const CodePage*) * DataSize); + SetData(&UNSUPPORTED_CODEPAGE); + SetData(&UNKNOWN_CODEPAGE); + + for (size_t i = 0; i != CODES_MAX; ++i) { + SetData(TCodePageData::AllCodePages[i]); + } +} + +const NCodepagePrivate::TCodepagesMap& NCodepagePrivate::TCodepagesMap::Instance() { + return *Singleton<NCodepagePrivate::TCodepagesMap>(); +} + +class TCodePageHash { +private: + using TData = THashMap<TStringBuf, ECharset, ci_hash, ci_equal_to>; + + TData Data; + TMemoryPool Pool; + +private: + inline void AddNameWithCheck(const TString& name, ECharset code) { + if (Data.find(name.c_str()) == Data.end()) { + Data.insert(TData::value_type(Pool.Append(name.data(), name.size() + 1), code)); + } else { + Y_ASSERT(Data.find(name.c_str())->second == code); + } + } + + inline void AddName(const TString& name, ECharset code) { + AddNameWithCheck(name, code); + + TString temp = name; + RemoveAll(temp, '-'); + RemoveAll(temp, '_'); + AddNameWithCheck(temp, code); + + temp = name; + SubstGlobal(temp, '-', '_'); + AddNameWithCheck(temp, code); + + temp = name; + SubstGlobal(temp, '_', '-'); + AddNameWithCheck(temp, code); + } + +public: + inline TCodePageHash() + : Pool(20 * 1024) /* Currently used: 17KB. */ + { + TString xPrefix = "x-"; + const char* name; + + for (size_t i = 0; i != CODES_MAX; ++i) { + ECharset e = static_cast<ECharset>(i); + const CodePage* page = Singleton<NCodepagePrivate::TCodepagesMap>()->GetPrivate(e); + + AddName(ToString(static_cast<int>(i)), e); + + for (size_t j = 0; (name = page->Names[j]) != nullptr && name[0]; ++j) { + AddName(name, e); + + AddName(xPrefix + name, e); + } + } + } + + inline ECharset CharsetByName(TStringBuf name) { + if (!name) + return CODES_UNKNOWN; + + TData::const_iterator it = Data.find(name); + if (it == Data.end()) + return CODES_UNKNOWN; + + return it->second; + } +}; + +ECharset CharsetByName(TStringBuf name) { + return Singleton<TCodePageHash>()->CharsetByName(name); +} + +ECharset CharsetByNameOrDie(TStringBuf name) { + ECharset result = CharsetByName(name); + if (result == CODES_UNKNOWN) + ythrow yexception() << "CharsetByNameOrDie: unknown charset '" << name << "'"; + return result; +} + +template <typename TxChar> +static inline RECODE_RESULT utf8_read_rune_from_unknown_plane(TxChar& rune, size_t& rune_len, const TxChar* s, const TxChar* end) { + if ((*s & 0xFF00) != 0xF000) { + rune_len = 1; + rune = *s; + return RECODE_OK; + } + + rune_len = 0; + + size_t _len = UTF8RuneLen((unsigned char)(*s)); + if (s + _len > end) + return RECODE_EOINPUT; //[EOINPUT] + if (_len == 0) + return RECODE_BROKENSYMBOL; //[BROKENSYMBOL] in first byte + + wchar32 _rune = (ui8)(*s++); //[00000000 0XXXXXXX] + if (_len > 1) { + _rune &= UTF8LeadByteMask(_len); + wchar32 ch = *s++; + if ((ch & 0xFFC0) != 0xF080) + return RECODE_BROKENSYMBOL; //[BROKENSYMBOL] in second byte + _rune <<= 6; + _rune |= ch & 0x3F; //[00000XXX XXYYYYYY] + if (_len > 2) { + ch = *s++; + if ((ch & 0xFFC0) != 0xF080) + return RECODE_BROKENSYMBOL; //[BROKENSYMBOL] in third byte + _rune <<= 6; + _rune |= ch & 0x3F; //[XXXXYYYY YYZZZZZZ] + if (_len > 3) { + ch = *s; + if ((ch & 0xFFC0) != 0xF080) + return RECODE_BROKENSYMBOL; //[BROKENSYMBOL] in fourth byte + _rune <<= 6; + _rune |= ch & 0x3F; //[XXXYY YYYYZZZZ ZZQQQQQQ] + } + } + } + rune_len = _len; + if (_rune > Max<TxChar>()) + rune = ' '; // maybe put sequence + else + rune = TxChar(_rune); + return RECODE_OK; +} + +template <typename TxChar> +void DoDecodeUnknownPlane(TxChar* str, TxChar*& ee, const ECharset enc) { + TxChar* e = ee; + if (SingleByteCodepage(enc)) { + const CodePage* cp = CodePageByCharset(enc); + for (TxChar* s = str; s < e; s++) { + if (Hi8(Lo16(*s)) == 0xF0) + *s = (TxChar)cp->unicode[Lo8(Lo16(*s))]; // NOT mb compliant + } + } else if (enc == CODES_UTF8) { + TxChar* s; + TxChar* d; + + for (s = d = str; s < e;) { + size_t l = 0; + + if (utf8_read_rune_from_unknown_plane(*d, l, s, e) == RECODE_OK) { + d++, s += l; + } else { + *d++ = BROKEN_RUNE; + ++s; + } + } + e = d; + } else if (enc == CODES_UNKNOWN) { + for (TxChar* s = str; s < e; s++) { + if (Hi8(Lo16(*s)) == 0xF0) + *s = Lo8(Lo16(*s)); + } + } else { + Y_ASSERT(!SingleByteCodepage(enc)); + + TxChar* s = str; + TxChar* d = str; + + TVector<char> buf; + + size_t read = 0; + size_t written = 0; + for (; s < e; ++s) { + if (Hi8(Lo16(*s)) == 0xF0) { + buf.push_back(Lo8(Lo16(*s))); + } else { + if (!buf.empty()) { + if (RecodeToUnicode(enc, buf.data(), d, buf.size(), e - d, read, written) == RECODE_OK) { + Y_ASSERT(read == buf.size()); + d += written; + } else { // just copying broken symbols + Y_ASSERT(buf.size() <= static_cast<size_t>(e - d)); + Copy(buf.data(), buf.size(), d); + d += buf.size(); + } + buf.clear(); + } + *d++ = *s; + } + } + } + ee = e; +} + +void DecodeUnknownPlane(wchar16* str, wchar16*& ee, const ECharset enc) { + DoDecodeUnknownPlane(str, ee, enc); +} +void DecodeUnknownPlane(wchar32* str, wchar32*& ee, const ECharset enc) { + DoDecodeUnknownPlane(str, ee, enc); +} + +namespace { + class THashSetType: public THashSet<TString> { + public: + inline void Add(const TString& s) { + insert(s); + } + + inline bool Has(const TString& s) const noexcept { + return find(s) != end(); + } + }; +} + +class TWindowsPrefixesHashSet: public THashSetType { +public: + inline TWindowsPrefixesHashSet() { + Add("win"); + Add("wincp"); + Add("window"); + Add("windowcp"); + Add("windows"); + Add("windowscp"); + Add("ansi"); + Add("ansicp"); + } +}; + +class TCpPrefixesHashSet: public THashSetType { +public: + inline TCpPrefixesHashSet() { + Add("microsoft"); + Add("microsoftcp"); + Add("cp"); + } +}; + +class TIsoPrefixesHashSet: public THashSetType { +public: + inline TIsoPrefixesHashSet() { + Add("iso"); + Add("isolatin"); + Add("latin"); + } +}; + +class TLatinToIsoHash: public THashMap<const char*, TString, ci_hash, ci_equal_to> { +public: + inline TLatinToIsoHash() { + insert(value_type("latin1", "iso-8859-1")); + insert(value_type("latin2", "iso-8859-2")); + insert(value_type("latin3", "iso-8859-3")); + insert(value_type("latin4", "iso-8859-4")); + insert(value_type("latin5", "iso-8859-9")); + insert(value_type("latin6", "iso-8859-10")); + insert(value_type("latin7", "iso-8859-13")); + insert(value_type("latin8", "iso-8859-14")); + insert(value_type("latin9", "iso-8859-15")); + insert(value_type("latin10", "iso-8859-16")); + } +}; + +static inline void NormalizeEncodingPrefixes(TString& enc) { + size_t preflen = enc.find_first_of("0123456789"); + if (preflen == TString::npos) + return; + + TString prefix = enc.substr(0, preflen); + for (size_t i = 0; i < prefix.length(); ++i) { + if (prefix[i] == '-') { + prefix.remove(i--); + } + } + + if (Singleton<TWindowsPrefixesHashSet>()->Has(prefix)) { + enc.remove(0, preflen); + enc.prepend("windows-"); + return; + } + + if (Singleton<TCpPrefixesHashSet>()->Has(prefix)) { + if (enc.length() > preflen + 3 && !strncmp(enc.c_str() + preflen, "125", 3) && isdigit(enc[preflen + 3])) { + enc.remove(0, preflen); + enc.prepend("windows-"); + return; + } + enc.remove(0, preflen); + enc.prepend("cp"); + return; + } + + if (Singleton<TIsoPrefixesHashSet>()->Has(prefix)) { + if (enc.length() == preflen + 1 || enc.length() == preflen + 2) { + TString enccopy = enc.substr(preflen); + enccopy.prepend("latin"); + const TLatinToIsoHash* latinhash = Singleton<TLatinToIsoHash>(); + TLatinToIsoHash::const_iterator it = latinhash->find(enccopy.data()); + if (it != latinhash->end()) + enc.assign(it->second); + return; + } else if (enc.length() > preflen + 5 && enc[preflen] == '8') { + enc.remove(0, preflen); + enc.prepend("iso-"); + return; + } + } +} + +class TEncodingNamesHashSet: public THashSetType { +public: + TEncodingNamesHashSet() { + Add("iso-8859-1"); + Add("iso-8859-2"); + Add("iso-8859-3"); + Add("iso-8859-4"); + Add("iso-8859-5"); + Add("iso-8859-6"); + Add("iso-8859-7"); + Add("iso-8859-8"); + Add("iso-8859-8-i"); + Add("iso-8859-9"); + Add("iso-8859-10"); + Add("iso-8859-11"); + Add("iso-8859-12"); + Add("iso-8859-13"); + Add("iso-8859-14"); + Add("iso-8859-15"); + Add("windows-1250"); + Add("windows-1251"); + Add("windows-1252"); + Add("windows-1253"); + Add("windows-1254"); + Add("windows-1255"); + Add("windows-1256"); + Add("windows-1257"); + Add("windows-1258"); + Add("windows-874"); + Add("iso-2022-jp"); + Add("euc-jp"); + Add("shift-jis"); + Add("shiftjis"); + Add("iso-2022-kr"); + Add("euc-kr"); + Add("gb-2312"); + Add("gb2312"); + Add("gb-18030"); + Add("gb18030"); + Add("gbk"); + Add("big5"); + Add("tis-620"); + Add("tis620"); + } +}; + +ECharset EncodingHintByName(const char* encname) { + if (!encname) + return CODES_UNKNOWN; // safety check + + // Common trouble: spurious "charset=" in the encoding name + if (!strnicmp(encname, "charset=", 8)) { + encname += 8; + } + + // Strip everything up to the first alphanumeric, and after the last one + while (*encname && !isalnum(*encname)) + ++encname; + + if (!*encname) + return CODES_UNKNOWN; + + const char* lastpos = encname + strlen(encname) - 1; + while (lastpos > encname && !isalnum(*lastpos)) + --lastpos; + + // Do some normalization + TString enc(encname, lastpos - encname + 1); + enc.to_lower(); + for (char* p = enc.begin(); p != enc.end(); ++p) { + if (*p == ' ' || *p == '=' || *p == '_') + *p = '-'; + } + + NormalizeEncodingPrefixes(enc); + + ECharset hint = CharsetByName(enc.c_str()); + if (hint != CODES_UNKNOWN) + return hint; + + if (Singleton<TEncodingNamesHashSet>()->Has(enc)) + return CODES_UNSUPPORTED; + return CODES_UNKNOWN; +} diff --git a/library/cpp/charset/codepage.h b/library/cpp/charset/codepage.h new file mode 100644 index 0000000000..30a02a4610 --- /dev/null +++ b/library/cpp/charset/codepage.h @@ -0,0 +1,324 @@ +#pragma once + +#include "doccodes.h" + +#include <util/charset/recode_result.h> +#include <util/charset/unidata.h> // all wchar32 functions +#include <util/charset/utf8.h> +#include <util/generic/string.h> +#include <util/generic/ylimits.h> +#include <util/generic/yexception.h> +#include <util/system/yassert.h> +#include <util/system/defaults.h> + +#include <cctype> + +struct CodePage; +struct Recoder; +struct Encoder; + +/*****************************************************************\ +* struct CodePage * +\*****************************************************************/ +struct CodePage { + ECharset CPEnum; // int MIBEnum; + const char* Names[30]; // name[0] -- preferred mime-name + wchar32 unicode[256]; + const char* DefaultChar; //[CCL_NUM] + + bool IsLower(unsigned char ch) const { + return ::IsLower(unicode[ch]); + } + bool IsUpper(unsigned char ch) const { + return ::IsUpper(unicode[ch]); + } + bool IsAlpha(unsigned char ch) const { + return ::IsAlpha(unicode[ch]); + } + bool IsDigit(unsigned char ch) const { + return ::IsDigit(unicode[ch]); + } + bool IsXdigit(unsigned char ch) const { + return ::IsXdigit(unicode[ch]); + } + bool IsAlnum(unsigned char ch) const { + return ::IsAlnum(unicode[ch]); + } + bool IsSpace(unsigned char ch) const { + return ::IsSpace(unicode[ch]); + } + bool IsPunct(unsigned char ch) const { + return ::IsPunct(unicode[ch]); + } + bool IsCntrl(unsigned char ch) const { + return ::IsCntrl(unicode[ch]); + } + bool IsGraph(unsigned char ch) const { + return ::IsGraph(unicode[ch]); + } + bool IsPrint(unsigned char ch) const { + return ::IsPrint(unicode[ch]); + } + bool IsComposed(unsigned char ch) const { + return ::IsComposed(unicode[ch]); + } + + // return pointer to char after the last char + char* ToLower(const char* begin, const char* end, char* to) const; + char* ToLower(const char* begin, char* to) const; + + // return pointer to char after the last char + char* ToUpper(const char* begin, const char* end, char* to) const; + char* ToUpper(const char* begin, char* to) const; + + int stricmp(const char* s1, const char* s2) const; + int strnicmp(const char* s1, const char* s2, size_t len) const; + + inline unsigned char ToUpper(unsigned char ch) const; + inline unsigned char ToLower(unsigned char ch) const; + inline unsigned char ToTitle(unsigned char ch) const; + + inline int ToDigit(unsigned char ch) const { + return ::ToDigit(unicode[ch]); + } + + static void Initialize(); + + inline bool SingleByteCodepage() const { + return DefaultChar != nullptr; + } + inline bool NativeCodepage() const { + return SingleByteCodepage() || CPEnum == CODES_UTF8; + } +}; + +class TCodePageHash; + +namespace NCodepagePrivate { + class TCodepagesMap { + private: + static const int DataShift = 2; + static const int DataSize = CODES_MAX + DataShift; + const CodePage* Data[DataSize]; + + private: + inline const CodePage* GetPrivate(ECharset e) const { + Y_ASSERT(e + DataShift >= 0 && e + DataShift < DataSize); + return Data[e + DataShift]; + } + + void SetData(const CodePage* cp); + + public: + TCodepagesMap(); + + inline const CodePage* Get(ECharset e) const { + const CodePage* res = GetPrivate(e); + if (!res->SingleByteCodepage()) { + ythrow yexception() << "CodePage (" << (int)e << ") structure can only be used for single byte encodings"; + } + + return res; + } + + inline bool SingleByteCodepage(ECharset e) const { + return GetPrivate(e)->SingleByteCodepage(); + } + inline bool NativeCodepage(ECharset e) const { + return GetPrivate(e)->NativeCodepage(); + } + inline const char* NameByCharset(ECharset e) const { + return GetPrivate(e)->Names[0]; + } + + static const TCodepagesMap& Instance(); + + friend class ::TCodePageHash; + }; + + inline bool NativeCodepage(ECharset e) { + return ::NCodepagePrivate::TCodepagesMap::Instance().NativeCodepage(e); + } +} + +inline bool SingleByteCodepage(ECharset e) { + return ::NCodepagePrivate::TCodepagesMap::Instance().SingleByteCodepage(e); +} + +inline bool ValidCodepage(ECharset e) { + return e >= 0 && e < CODES_MAX; +} + +inline const CodePage* CodePageByCharset(ECharset e) { + return ::NCodepagePrivate::TCodepagesMap::Instance().Get(e); +} + +ECharset CharsetByName(TStringBuf name); + +// Same as CharsetByName, but throws yexception() if name is invalid +ECharset CharsetByNameOrDie(TStringBuf name); + +inline ECharset CharsetByCodePage(const CodePage* CP) { + return CP->CPEnum; +} + +inline const char* NameByCharset(ECharset e) { + return ::NCodepagePrivate::TCodepagesMap::Instance().NameByCharset(e); +} + +inline const char* NameByCharsetSafe(ECharset e) { + if (CODES_UNKNOWN < e && e < CODES_MAX) + return ::NCodepagePrivate::TCodepagesMap::Instance().NameByCharset(e); + else + ythrow yexception() << "unknown encoding: " << (int)e; +} + +inline const char* NameByCodePage(const CodePage* CP) { + return CP->Names[0]; +} + +inline const CodePage* CodePageByName(const char* name) { + ECharset code = CharsetByName(name); + if (code == CODES_UNKNOWN) + return nullptr; + + return CodePageByCharset(code); +} + +ECharset EncodingHintByName(const char* name); + +/*****************************************************************\ +* struct Encoder * +\*****************************************************************/ +struct Encoder { + char* Table[256]; + const char* DefaultChar; + + inline char Code(wchar32 ch) const { + if (ch > 0xFFFF) + return 0; + return (unsigned char)Table[(ch >> 8) & 255][ch & 255]; + } + + inline char Tr(wchar32 ch) const { + char code = Code(ch); + if (code == 0 && ch != 0) + code = DefaultChar[NUnicode::CharType(ch)]; + Y_ASSERT(code != 0 || ch == 0); + return code; + } + + inline unsigned char operator[](wchar32 ch) const { + return Tr(ch); + } + + void Tr(const wchar32* in, char* out, size_t len) const; + void Tr(const wchar32* in, char* out) const; + char* DefaultPlane; +}; + +/*****************************************************************\ +* struct Recoder * +\*****************************************************************/ +struct Recoder { + unsigned char Table[257]; + + void Create(const CodePage& source, const CodePage& target); + void Create(const CodePage& source, const Encoder* wideTarget); + + void Create(const CodePage& page, wchar32 (*mapper)(wchar32)); + void Create(const CodePage& page, const Encoder* widePage, wchar32 (*mapper)(wchar32)); + + inline unsigned char Tr(unsigned char c) const { + return Table[c]; + } + inline unsigned char operator[](unsigned char c) const { + return Table[c]; + } + void Tr(const char* in, char* out, size_t len) const; + void Tr(const char* in, char* out) const; + void Tr(char* in_out, size_t len) const; + void Tr(char* in_out) const; +}; + +extern const struct Encoder& WideCharToYandex; + +const Encoder& EncoderByCharset(ECharset enc); + +namespace NCodepagePrivate { + class TCodePageData { + private: + static const CodePage* const AllCodePages[]; + + static const Recoder rcdr_to_yandex[]; + static const Recoder rcdr_from_yandex[]; + static const Recoder rcdr_to_lower[]; + static const Recoder rcdr_to_upper[]; + static const Recoder rcdr_to_title[]; + + static const Encoder* const EncodeTo[]; + + friend struct ::CodePage; + friend class TCodepagesMap; + friend RECODE_RESULT _recodeToYandex(ECharset, const char*, char*, size_t, size_t, size_t&, size_t&); + friend RECODE_RESULT _recodeFromYandex(ECharset, const char*, char*, size_t, size_t, size_t&, size_t&); + friend const Encoder& ::EncoderByCharset(ECharset enc); + }; +} + +inline const Encoder& EncoderByCharset(ECharset enc) { + if (!SingleByteCodepage(enc)) { + ythrow yexception() << "Encoder structure can only be used for single byte encodings"; + } + + return *NCodepagePrivate::TCodePageData::EncodeTo[enc]; +} + +inline unsigned char CodePage::ToUpper(unsigned char ch) const { + return NCodepagePrivate::TCodePageData::rcdr_to_upper[CPEnum].Table[ch]; +} +inline unsigned char CodePage::ToLower(unsigned char ch) const { + return NCodepagePrivate::TCodePageData::rcdr_to_lower[CPEnum].Table[ch]; +} +inline unsigned char CodePage::ToTitle(unsigned char ch) const { + return NCodepagePrivate::TCodePageData::rcdr_to_title[CPEnum].Table[ch]; +} + +extern const CodePage& csYandex; + +/// these functions change (lowers) [end] position in case of utf-8 +/// null character is NOT assumed or written at [*end] +void DecodeUnknownPlane(wchar16* start, wchar16*& end, const ECharset enc4unk); +void DecodeUnknownPlane(wchar32* start, wchar32*& end, const ECharset enc4unk); + +inline void ToLower(char* s, size_t n, const CodePage& cp = csYandex) { + char* const e = s + n; + for (; s != e; ++s) + *s = cp.ToLower(*s); +} + +inline void ToUpper(char* s, size_t n, const CodePage& cp = csYandex) { + char* const e = s + n; + for (; s != e; ++s) + *s = cp.ToUpper(*s); +} + +inline TString ToLower(TString s, const CodePage& cp, size_t pos = 0, size_t n = TString::npos) { + s.Transform([&cp](size_t, char c) { return cp.ToLower(c); }, pos, n); + return s; +} + +inline TString ToUpper(TString s, const CodePage& cp, size_t pos = 0, size_t n = TString::npos) { + s.Transform([&cp](size_t, char c) { return cp.ToUpper(c); }, pos, n); + return s; +} + +inline TString ToTitle(TString s, const CodePage& cp, size_t pos = 0, size_t n = TString::npos) { + s.Transform( + [pos, &cp](size_t i, char c) { + return i == pos ? cp.ToTitle(c) : cp.ToLower(c); + }, + pos, + n); + return s; +} diff --git a/library/cpp/charset/codepage_ut.cpp b/library/cpp/charset/codepage_ut.cpp new file mode 100644 index 0000000000..c3ac3ac478 --- /dev/null +++ b/library/cpp/charset/codepage_ut.cpp @@ -0,0 +1,424 @@ +#include "codepage.h" +#include "recyr.hh" +#include "wide.h" + +#include <library/cpp/testing/unittest/registar.h> + +#include <util/charset/utf8.h> +#include <util/system/yassert.h> + +#if defined(_MSC_VER) +#pragma warning(disable : 4309) /*truncation of constant value*/ +#endif + +namespace { + const char yandexUpperCase[] = + "\x81\x82\x83\x84\x85\x86\x87" + "\x8E" + "\xA1\xA2\xA3\xA4\xA5\xA6" + "\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF" + "\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF" + "\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF"; + + const char yandexLowerCase[] = + "\x91\x92\x93\x94\x95\x96\x97" + "\x9E" + "\xB1\xB2\xB3\xB4\xB5\xB6" + "\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF" + "\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF" + "\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"; +} + +class TCodepageTest: public TTestBase { +private: + UNIT_TEST_SUITE(TCodepageTest); + UNIT_TEST(TestUTF); + UNIT_TEST(TestUTFFromUnknownPlane); + UNIT_TEST(TestBrokenMultibyte); + UNIT_TEST(TestSurrogatePairs); + UNIT_TEST(TestEncodingHints); + UNIT_TEST(TestToLower); + UNIT_TEST(TestToUpper); + UNIT_TEST(TestUpperLower); + UNIT_TEST(TestBrokenRune); + UNIT_TEST(TestCanEncode); + UNIT_TEST_SUITE_END(); + +public: + void TestUTF(); + void TestUTFFromUnknownPlane(); + void TestBrokenMultibyte(); + void TestSurrogatePairs(); + void TestEncodingHints(); + void TestToLower(); + void TestToUpper(); + + void TestCanEncode(); + + inline void TestUpperLower() { + const CodePage* cp = CodePageByCharset(CODES_ASCII); + char tmp[100]; + + TStringBuf s = "abcde"; + + TStringBuf upper(tmp, cp->ToUpper(s.begin(), s.end(), tmp)); + UNIT_ASSERT_VALUES_EQUAL(upper, TStringBuf("ABCDE")); + + TStringBuf lower(tmp, cp->ToLower(upper.begin(), upper.end(), tmp)); + UNIT_ASSERT_VALUES_EQUAL(lower, TStringBuf("abcde")); + } + + void TestBrokenRune() { + UNIT_ASSERT_VALUES_EQUAL(BROKEN_RUNE, 0xFFFDu); + } +}; + +UNIT_TEST_SUITE_REGISTRATION(TCodepageTest); + +void TCodepageTest::TestUTF() { + for (wchar32 i = 0; i <= 0x10FFFF; i++) { + unsigned char buffer[32]; + Zero(buffer); + size_t rune_len; + size_t ref_len = 0; + + if (i < 0x80) + ref_len = 1; + else if (i < 0x800) + ref_len = 2; + else if (i < 0x10000) + ref_len = 3; + else + ref_len = 4; + + RECODE_RESULT res = SafeWriteUTF8Char(i, rune_len, buffer, buffer + 32); + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(rune_len == ref_len); + + res = SafeWriteUTF8Char(i, rune_len, buffer, buffer + ref_len - 1); + UNIT_ASSERT(res == RECODE_EOOUTPUT); + + wchar32 rune; + res = SafeReadUTF8Char(rune, rune_len, buffer, buffer + 32); + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(rune == i); + UNIT_ASSERT(rune_len == ref_len); + + res = SafeReadUTF8Char(rune, rune_len, buffer, buffer + ref_len - 1); + UNIT_ASSERT(res == RECODE_EOINPUT); + + if (ref_len > 1) { + res = SafeReadUTF8Char(rune, rune_len, buffer + 1, buffer + ref_len); + UNIT_ASSERT(res == RECODE_BROKENSYMBOL); + + buffer[1] |= 0xC0; + res = SafeReadUTF8Char(rune, rune_len, buffer, buffer + ref_len); + UNIT_ASSERT(res == RECODE_BROKENSYMBOL); + + buffer[1] &= 0x3F; + res = SafeReadUTF8Char(rune, rune_len, buffer, buffer + ref_len); + UNIT_ASSERT(res == RECODE_BROKENSYMBOL); + } + } + const char* badStrings[] = { + "\xfe", + "\xff", + "\xcc\xc0", + "\xf4\x90\x80\x80", + //overlong: + "\xfe\xfe\xff\xff", + "\xc0\xaf", + "\xe0\x80\xaf", + "\xf0\x80\x80\xaf", + "\xf8\x80\x80\x80\xaf", + "\xfc\x80\x80\x80\x80\xaf", + "\xc1\xbf", + "\xe0\x9f\xbf", + "\xf0\x8f\xbf\xbf", + "\xf8\x87\xbf\xbf\xbf", + "\xfc\x83\xbf\xbf\xbf\xbf", + "\xc0\x80", + "\xe0\x80\x80", + "\xf0\x80\x80\x80", + "\xf8\x80\x80\x80\x80", + "\xfc\x80\x80\x80\x80\x80", + //UTF-16 surrogate (not covered): + //"\xed\xa0\x80", + //"\xed\xad\xbf", + //"\xed\xae\x80", + //"\xed\xaf\xbf", + //"\xed\xb0\x80", + //"\xed\xbe\x80", + //"\xed\xbf\xbf", + }; + for (size_t i = 0; i < Y_ARRAY_SIZE(badStrings); ++i) { + wchar32 rune; + const ui8* p = (const ui8*)badStrings[i]; + size_t len; + RECODE_RESULT res = SafeReadUTF8Char(rune, len, p, p + strlen(badStrings[i])); + UNIT_ASSERT(res == RECODE_BROKENSYMBOL); + } +} + +void TCodepageTest::TestBrokenMultibyte() { + const ECharset cp = CODES_EUC_JP; + + const char sampletext[] = {'\xe3'}; + wchar32 recodeResult[100]; + + size_t nwritten = 0; + size_t nread = 0; + + RECODE_RESULT res = RecodeToUnicode(cp, sampletext, recodeResult, Y_ARRAY_SIZE(sampletext), Y_ARRAY_SIZE(recodeResult), nread, nwritten); + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(nread == 1); + UNIT_ASSERT(nwritten == 0); + + const char bigSample[] = {'\xC3', '\x87', '\xC3', '\x8E', '\xC2', '\xB0', '\xC3', '\x85', '\xC3', '\x85', '\xC3', '\xB8'}; + res = RecodeToUnicode(cp, bigSample, recodeResult, Y_ARRAY_SIZE(bigSample), Y_ARRAY_SIZE(recodeResult), nread, nwritten); + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(nread == Y_ARRAY_SIZE(bigSample)); +} + +void TCodepageTest::TestUTFFromUnknownPlane() { + static const wchar32 sampletext[] = {0x61, 0x62, 0x63, 0x20, + 0x430, 0x431, 0x432, 0x20, + 0x1001, 0x1002, 0x1003, 0x20, + 0x10001, 0x10002, 0x10003}; + + static const size_t BUFFER_SIZE = 1024; + char bytebuffer[BUFFER_SIZE]; + + size_t readchars = 0; + size_t writtenbytes = 0; + size_t samplelen = Y_ARRAY_SIZE(sampletext); + + RECODE_RESULT res = RecodeFromUnicode(CODES_UTF8, sampletext, bytebuffer, samplelen, BUFFER_SIZE, readchars, writtenbytes); + + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(samplelen == readchars); + + size_t writtenbytes2 = 0; + char bytebuffer2[BUFFER_SIZE]; + for (size_t i = 0; i != samplelen; ++i) { + size_t nwr = 0; + const int res = RecodeFromUnicode(CODES_UTF8, sampletext[i], bytebuffer2 + writtenbytes2, BUFFER_SIZE - writtenbytes2, nwr); + UNIT_ASSERT_VALUES_EQUAL(res, int(RECODE_OK)); + writtenbytes2 += nwr; + UNIT_ASSERT(BUFFER_SIZE > writtenbytes2); + } + UNIT_ASSERT_VALUES_EQUAL(TStringBuf(bytebuffer, writtenbytes), TStringBuf(bytebuffer2, writtenbytes2)); + + wchar32 charbuffer[BUFFER_SIZE]; + size_t readbytes = 0; + size_t writtenchars = 0; + + res = RecodeToUnicode(CODES_UNKNOWNPLANE, bytebuffer, charbuffer, writtenbytes, BUFFER_SIZE, readbytes, writtenchars); + + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(readbytes == writtenbytes); + + wchar32* charbufferend = charbuffer + writtenchars; + DecodeUnknownPlane(charbuffer, charbufferend, CODES_UTF8); + + UNIT_ASSERT(charbufferend == charbuffer + samplelen); + for (size_t i = 0; i < samplelen; ++i) + UNIT_ASSERT(sampletext[i] == charbuffer[i]); + + // Now, concatenate the thing with an explicit character and retest + res = RecodeToUnicode(CODES_UNKNOWNPLANE, bytebuffer, charbuffer, writtenbytes, BUFFER_SIZE, readbytes, writtenchars); + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(readbytes == writtenbytes); + + charbuffer[writtenchars] = 0x1234; + + size_t morewrittenchars = 0; + res = RecodeToUnicode(CODES_UNKNOWNPLANE, bytebuffer, charbuffer + writtenchars + 1, writtenbytes, BUFFER_SIZE, readbytes, morewrittenchars); + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(readbytes == writtenbytes); + UNIT_ASSERT(writtenchars == morewrittenchars); + + charbuffer[2 * writtenchars + 1] = 0x5678; + + charbufferend = charbuffer + 2 * writtenchars + 2; + DecodeUnknownPlane(charbuffer, charbufferend, CODES_UTF8); + + UNIT_ASSERT(charbufferend == charbuffer + 2 * samplelen + 2); + for (size_t i = 0; i < samplelen; ++i) { + UNIT_ASSERT(sampletext[i] == charbuffer[i]); + UNIT_ASSERT(sampletext[i] == charbuffer[samplelen + 1 + i]); + } + UNIT_ASSERT(0x1234 == charbuffer[samplelen]); + UNIT_ASSERT(0x5678 == charbuffer[2 * samplelen + 1]); + + // test TChar version + // bytebuffer of len writtenbytes contains sampletext of len samplelen chars in utf8 + TUtf16String wtr = CharToWide(TStringBuf(bytebuffer, writtenbytes), CODES_UNKNOWNPLANE); + TChar* strend = wtr.begin() + wtr.size(); + DecodeUnknownPlane(wtr.begin(), strend, CODES_UTF8); + wtr.resize(strend - wtr.data(), 'Q'); + UNIT_ASSERT_VALUES_EQUAL(wtr.size(), samplelen); + for (size_t i = 0; i < wtr.size(); ++i) { + if (sampletext[i] >= 0x10000) { + UNIT_ASSERT_VALUES_EQUAL(wtr[i], ' '); + } else { + UNIT_ASSERT_VALUES_EQUAL(wtr[i], sampletext[i]); + } + } +} + +static void TestSurrogates(const char* str, const wchar16* wide, size_t wideSize) { + size_t sSize = strlen(str); + size_t wSize = sSize * 2; + TArrayHolder<wchar16> w(new wchar16[wSize]); + + size_t read = 0; + size_t written = 0; + RECODE_RESULT res = RecodeToUnicode(CODES_UTF8, str, w.Get(), sSize, wSize, read, written); + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(read == sSize); + UNIT_ASSERT(written == wideSize); + UNIT_ASSERT(!memcmp(w.Get(), wide, wideSize)); + + TArrayHolder<char> s(new char[sSize]); + res = RecodeFromUnicode(CODES_UTF8, w.Get(), s.Get(), wideSize, sSize, read, written); + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(read == wideSize); + UNIT_ASSERT(written == sSize); + UNIT_ASSERT(!memcmp(s.Get(), str, sSize)); +} + +void TCodepageTest::TestSurrogatePairs() { + const char* utf8NonBMP = "\xf4\x80\x89\x84\xf4\x80\x89\x87\xf4\x80\x88\xba"; + wchar16 wNonBMPDummy[] = {0xDBC0, 0xDE44, 0xDBC0, 0xDE47, 0xDBC0, 0xDE3A}; + TestSurrogates(utf8NonBMP, wNonBMPDummy, Y_ARRAY_SIZE(wNonBMPDummy)); + + const char* utf8NonBMP2 = "ab\xf4\x80\x89\x87n"; + wchar16 wNonBMPDummy2[] = {'a', 'b', 0xDBC0, 0xDE47, 'n'}; + TestSurrogates(utf8NonBMP2, wNonBMPDummy2, Y_ARRAY_SIZE(wNonBMPDummy2)); +} + +void TCodepageTest::TestEncodingHints() { + UNIT_ASSERT(CODES_WIN == EncodingHintByName("windows-1251")); + UNIT_ASSERT(CODES_WIN == EncodingHintByName("Windows1251")); + UNIT_ASSERT(CODES_WIN == EncodingHintByName("WIN1251")); + UNIT_ASSERT(CODES_WIN == EncodingHintByName("window-cp1251")); + UNIT_ASSERT(CODES_WIN == EncodingHintByName("!!!CP1251???")); + UNIT_ASSERT(CODES_WIN == EncodingHintByName("'ansi-cp1251;'")); + UNIT_ASSERT(CODES_WIN == EncodingHintByName("charset=Microsoft-CP1251;")); + + UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("iso-8859-2")); + UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("iso-2")); + UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("iso-latin-2")); + UNIT_ASSERT(CODES_ISO_EAST == EncodingHintByName("charset=\"Latin2\";")); + + UNIT_ASSERT(CODES_UNKNOWN == EncodingHintByName("widow1251")); + UNIT_ASSERT(CODES_UNKNOWN == EncodingHintByName("default")); + UNIT_ASSERT(CODES_UNKNOWN == EncodingHintByName("$phpcharset")); + + UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("ShiftJIS")); + UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("Shift_JIS")); + UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("Big5")); + UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("euc-kr")); + UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("EUC-JP")); + UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("charset='Shift_JIS';;")); + UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("ISO-2022-KR")); + UNIT_ASSERT(CODES_UNSUPPORTED != EncodingHintByName("ISO-2022-jp")); +} + +void TCodepageTest::TestToLower() { + TTempBuf buf; + char* data = buf.Data(); + const size_t n = Y_ARRAY_SIZE(yandexUpperCase); // including NTS + memcpy(data, yandexUpperCase, n); + ToLower(data, n - 1); + UNIT_ASSERT(strcmp(data, yandexLowerCase) == 0); +} + +void TCodepageTest::TestToUpper() { + TTempBuf buf; + char* data = buf.Data(); + const size_t n = Y_ARRAY_SIZE(yandexLowerCase); // including NTS + memcpy(data, yandexLowerCase, n); + ToUpper(data, n - 1); + UNIT_ASSERT(strcmp(data, yandexUpperCase) == 0); +} + +static void TestCanEncodeEmpty() { + TWtringBuf empty; + UNIT_ASSERT(CanBeEncoded(empty, CODES_WIN)); + UNIT_ASSERT(CanBeEncoded(empty, CODES_YANDEX)); + UNIT_ASSERT(CanBeEncoded(empty, CODES_UTF8)); +} + +static void TestCanEncodeEach(const TWtringBuf& text, ECharset encoding, bool expectedResult) { + // char by char + for (size_t i = 0; i < text.size(); ++i) { + if (CanBeEncoded(text.SubStr(i, 1), encoding) != expectedResult) + ythrow yexception() << "assertion failed: encoding " << NameByCharset(encoding) + << " on '" << text.SubStr(i, 1) << "' (expected " << expectedResult << ")"; + } + // whole text + UNIT_ASSERT_EQUAL(CanBeEncoded(text, encoding), expectedResult); +} + +void TCodepageTest::TestCanEncode() { + TestCanEncodeEmpty(); + + const TUtf16String lat = u"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"; + TestCanEncodeEach(lat, CODES_WIN, true); + TestCanEncodeEach(lat, CODES_YANDEX, true); + TestCanEncodeEach(lat, CODES_UTF8, true); + + const TUtf16String rus = u"АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя"; + TestCanEncodeEach(rus, CODES_WIN, true); + TestCanEncodeEach(rus, CODES_YANDEX, true); + TestCanEncodeEach(rus, CODES_UTF8, true); + + const TUtf16String ukr = u"ҐґЄєІіЇї"; + TestCanEncodeEach(ukr, CODES_WIN, true); + TestCanEncodeEach(ukr, CODES_YANDEX, true); + TestCanEncodeEach(ukr, CODES_UTF8, true); + + const TUtf16String pol = u"ĄĆĘŁŃÓŚŹŻąćęłńóśźż"; + TestCanEncodeEach(pol, CODES_WIN, false); + TestCanEncodeEach(pol, CODES_YANDEX, true); + TestCanEncodeEach(pol, CODES_UTF_16BE, true); + + const TUtf16String ger = u"ÄäÖöÜüß"; + TestCanEncodeEach(ger, CODES_WIN, false); + TestCanEncodeEach(ger, CODES_YANDEX, true); + TestCanEncodeEach(ger, CODES_UTF_16LE, true); + + const TUtf16String fra1 = u"éàèùâêîôûëïç"; // supported in yandex cp + const TUtf16String fra2 = u"ÉÀÈÙÂÊÎÔÛËÏŸÿÇ"; + const TUtf16String fra3 = u"Æ挜"; + TestCanEncodeEach(fra1 + fra2 + fra3, CODES_WIN, false); + TestCanEncodeEach(fra1, CODES_YANDEX, true); + TestCanEncodeEach(fra2 + fra3, CODES_YANDEX, false); + TestCanEncodeEach(fra1 + fra2 + fra3, CODES_UTF8, true); + + const TUtf16String kaz = u"ӘәҒғҚқҢңӨөҰұҮүҺһ"; + TestCanEncodeEach(kaz, CODES_WIN, false); + TestCanEncodeEach(kaz, CODES_YANDEX, false); + TestCanEncodeEach(kaz, CODES_UTF8, true); + TestCanEncodeEach(kaz, CODES_KAZWIN, true); + + const TUtf16String tur1 = u"ĞİŞğş"; + const TUtf16String tur = tur1 + u"ı"; + TestCanEncodeEach(tur, CODES_WIN, false); + TestCanEncodeEach(tur, CODES_YANDEX, false); + TestCanEncodeEach(tur, CODES_UTF8, true); + + const TUtf16String chi = u"新隶体新隸體"; + TestCanEncodeEach(chi, CODES_WIN, false); + TestCanEncodeEach(chi, CODES_YANDEX, false); + TestCanEncodeEach(chi, CODES_UTF8, true); + TestCanEncodeEach(chi, CODES_UTF_16LE, true); + + const TUtf16String jap = u"漢字仮字交じり文"; + TestCanEncodeEach(jap, CODES_WIN, false); + TestCanEncodeEach(jap, CODES_YANDEX, false); + TestCanEncodeEach(jap, CODES_UTF8, true); + TestCanEncodeEach(jap, CODES_UTF_16BE, true); +} diff --git a/library/cpp/charset/cp_encrec.cpp b/library/cpp/charset/cp_encrec.cpp new file mode 100644 index 0000000000..1334afaa90 --- /dev/null +++ b/library/cpp/charset/cp_encrec.cpp @@ -0,0 +1,54 @@ +#include "codepage.h" + +#include <util/string/cast.h> +#include <util/stream/output.h> + +void Encoder::Tr(const wchar32* in, char* out, size_t len) const { + while (len--) + *out++ = Tr(*in++); +} + +void Encoder::Tr(const wchar32* in, char* out) const { + do { + *out++ = Tr(*in); + } while (*in++); +} + +void Recoder::Create(const CodePage& source, const Encoder* wideTarget) { + for (size_t i = 0; i != 256; ++i) { + Table[i] = wideTarget->Tr(source.unicode[i]); + Y_ASSERT(Table[i] != 0 || i == 0); + } +} + +void Recoder::Create(const CodePage& page, const Encoder* widePage, wchar32 (*mapfunc)(wchar32)) { + for (size_t i = 0; i != 256; ++i) { + char c = widePage->Code((*mapfunc)(page.unicode[i])); + Table[i] = (c == 0 && i != 0) ? (unsigned char)i : (unsigned char)c; + } +} + +void Recoder::Tr(const char* in, char* out, size_t len) const { + while (len--) + *out++ = Table[(unsigned char)*in++]; +} + +void Recoder::Tr(const char* in, char* out) const { + do { + *out++ = Table[(unsigned char)*in]; + } while (*in++); +} + +void Recoder::Tr(char* in_out, size_t len) const { + while (len--) { + *in_out = Table[(unsigned char)*in_out]; + in_out++; + } +} + +void Recoder::Tr(char* in_out) const { + // assuming that '\0' <--> '\0' + do { + *in_out = Table[(unsigned char)*in_out]; + } while (*in_out++); +} diff --git a/library/cpp/charset/doccodes.cpp b/library/cpp/charset/doccodes.cpp new file mode 100644 index 0000000000..1fc17a3275 --- /dev/null +++ b/library/cpp/charset/doccodes.cpp @@ -0,0 +1 @@ +#include "doccodes.h" diff --git a/library/cpp/charset/doccodes.h b/library/cpp/charset/doccodes.h new file mode 100644 index 0000000000..75c87adf9e --- /dev/null +++ b/library/cpp/charset/doccodes.h @@ -0,0 +1,129 @@ +#pragma once + +enum ECharset { + CODES_UNSUPPORTED = -2, // valid but unsupported encoding + CODES_UNKNOWN = -1, // invalid or unspecified encoding + CODES_WIN, // [ 0] WINDOWS_1251 Windows + CODES_KOI8, // [ 1] KOI8_U Koi8-u + CODES_ALT, // [ 2] IBM_866 MS DOS, alternative + CODES_MAC, // [ 3] MAC_CYRILLIC Macintosh + CODES_MAIN, // [ 4] ISO_LATIN_CYRILLIC Main + CODES_ASCII, // [ 5] WINDOWS_1252 Latin 1 + CODES_RESERVED_3, // reserved code: use it for new encodings before adding them to the end of the list + CODES_WIN_EAST, // [ 7] WINDOWS_1250 WIN PL + CODES_ISO_EAST, // [ 8] ISO_8859_2 ISO PL + // our superset of subset of windows-1251 + CODES_YANDEX, // [ 9] YANDEX + CODES_UTF_16BE, // [10] UTF_16BE + CODES_UTF_16LE, // [11] UTF_16LE + // missing standard codepages + CODES_IBM855, // [12] IBM_855 + CODES_UTF8, // [13] UTF8 + CODES_UNKNOWNPLANE, // [14] Unrecognized characters are mapped into the PUA: U+F000..U+F0FF + + CODES_KAZWIN, // [15] WINDOWS_1251_K Kazakh version of Windows-1251 + CODES_TATWIN, // [16] WINDOWS_1251_T Tatarian version of Windows-1251 + CODES_ARMSCII, // [17] Armenian ASCII + CODES_GEO_ITA, // [18] Academy of Sciences Georgian + CODES_GEO_PS, // [19] Georgian Parliament + CODES_ISO_8859_3, // [20] Latin-3: Turkish, Maltese and Esperanto + CODES_ISO_8859_4, // [21] Latin-4: Estonian, Latvian, Lithuanian, Greenlandic, Sami + CODES_ISO_8859_6, // [22] Latin/Arabic: Arabic + CODES_ISO_8859_7, // [23] Latin/Greek: Greek + CODES_ISO_8859_8, // [24] Latin/Hebrew: Hebrew + CODES_ISO_8859_9, // [25] Latin-5 or Turkish: Turkish + CODES_ISO_8859_13, // [26] Latin-7 or Baltic Rim: Baltic languages + CODES_ISO_8859_15, // [27] Latin-9: Western European languages + CODES_ISO_8859_16, // [28] Latin-10: South-Eastern European languages + CODES_WINDOWS_1253, // [29] for Greek + CODES_WINDOWS_1254, // [30] for Turkish + CODES_WINDOWS_1255, // [31] for Hebrew + CODES_WINDOWS_1256, // [32] for Arabic + CODES_WINDOWS_1257, // [33] for Estonian, Latvian and Lithuanian + + // these codes are all the other 8bit codes known by libiconv + // they follow in alphanumeric order + CODES_CP1046, + CODES_CP1124, + CODES_CP1125, + CODES_CP1129, + CODES_CP1131, + CODES_CP1133, + CODES_CP1161, // [40] + CODES_CP1162, + CODES_CP1163, + CODES_CP1258, + CODES_CP437, + CODES_CP737, + CODES_CP775, + CODES_CP850, + CODES_CP852, + CODES_CP853, + CODES_CP856, // [50] + CODES_CP857, + CODES_CP858, + CODES_CP860, + CODES_CP861, + CODES_CP862, + CODES_CP863, + CODES_CP864, + CODES_CP865, + CODES_CP869, + CODES_CP874, // [60] + CODES_CP922, + CODES_HP_ROMAN8, + CODES_ISO646_CN, + CODES_ISO646_JP, + CODES_ISO8859_10, + CODES_ISO8859_11, + CODES_ISO8859_14, + CODES_JISX0201, + CODES_KOI8_T, + CODES_MAC_ARABIC, // [70] + CODES_MAC_CENTRALEUROPE, + CODES_MAC_CROATIAN, + CODES_MAC_GREEK, + CODES_MAC_HEBREW, + CODES_MAC_ICELAND, + CODES_MAC_ROMANIA, + CODES_MAC_ROMAN, + CODES_MAC_THAI, + CODES_MAC_TURKISH, + CODES_RESERVED_2, // [80] reserved code: use it for new encodings before adding them to the end of the list + CODES_MULELAO, + CODES_NEXTSTEP, + CODES_PT154, + CODES_RISCOS_LATIN1, + CODES_RK1048, + CODES_TCVN, + CODES_TDS565, + CODES_TIS620, + CODES_VISCII, + + // libiconv multibyte codepages + CODES_BIG5, // [90] + CODES_BIG5_HKSCS, + CODES_BIG5_HKSCS_1999, + CODES_BIG5_HKSCS_2001, + CODES_CP932, + CODES_CP936, + CODES_CP949, + CODES_CP950, + CODES_EUC_CN, + CODES_EUC_JP, + CODES_EUC_KR, // [100] + CODES_EUC_TW, + CODES_GB18030, + CODES_GBK, + CODES_HZ, + CODES_ISO_2022_CN, + CODES_ISO_2022_CN_EXT, + CODES_ISO_2022_JP, + CODES_ISO_2022_JP_1, + CODES_ISO_2022_JP_2, + CODES_ISO_2022_KR, // [110] + CODES_JOHAB, + CODES_SHIFT_JIS, + + CODES_MAX +}; diff --git a/library/cpp/charset/generated/cp_data.cpp b/library/cpp/charset/generated/cp_data.cpp new file mode 100644 index 0000000000..202362c596 --- /dev/null +++ b/library/cpp/charset/generated/cp_data.cpp @@ -0,0 +1,3788 @@ +#include <library/cpp/charset/codepage.h> + +extern const char defchars[][DEFCHAR_BUF]; + +static const CodePage CODES_ALT_CODE_PAGE = { + CODES_ALT, + {"IBM866", "csIBM866", "cp866", "866", "dos-866", "alt", "windows-866",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, + 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + 0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040E, 0x045E, + 0x00B0, 0x2219, 0x00B7, 0x221A, 0x2116, 0x00A4, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ARMSCII_CODE_PAGE = { + CODES_ARMSCII, + {"armscii",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x0530, 0x0587, 0x0589, 0x0029, 0x0028, 0x00BB, 0x00AB, + 0x2014, 0x002E, 0x055D, 0x002C, 0x002D, 0x058A, 0x2026, 0x055C, + 0x055B, 0x055E, 0x0531, 0x0561, 0x0532, 0x0562, 0x0533, 0x0563, + 0x0534, 0x0564, 0x0535, 0x0565, 0x0536, 0x0566, 0x0537, 0x0567, + 0x0538, 0x0568, 0x0539, 0x0569, 0x053A, 0x056A, 0x053B, 0x056B, + 0x053C, 0x056C, 0x053D, 0x056D, 0x053E, 0x056E, 0x053F, 0x056F, + 0x0540, 0x0570, 0x0541, 0x0571, 0x0542, 0x0572, 0x0543, 0x0573, + 0x0544, 0x0574, 0x0545, 0x0575, 0x0546, 0x0576, 0x0547, 0x0577, + 0x0548, 0x0578, 0x0549, 0x0579, 0x054A, 0x057A, 0x054B, 0x057B, + 0x054C, 0x057C, 0x054D, 0x057D, 0x054E, 0x057E, 0x054F, 0x057F, + 0x0550, 0x0580, 0x0551, 0x0581, 0x0552, 0x0582, 0x0553, 0x0583, + 0x0554, 0x0584, 0x0555, 0x0585, 0x0556, 0x0586, 0x055A, 0xFFFD, + }, + defchars[0], +}; // generated from armscii.txt + +static const CodePage CODES_ASCII_CODE_PAGE = { + CODES_ASCII, + {"windows-1252", "cp1252", "1252", "US-ASCII", "ASCII", "csASCII", "ANSI_X3.4-1968", "ANSI_X3.4-1986", "IBM367", "cp367", "367", "iso-ir-100", "IBM819", "cp819", "819", "latin1", "l1", "ISOLatin1", "csISOLatin1", "ISO-8859-1", "ISO_8859-1", "ISO_8859-1:1987", "iso-ir-6", "iso_646.irv:1991", "ISO646-US", "US",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x20AC, 0xFFFD, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, + 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0xFFFD, 0x017D, 0xFFFD, + 0xFFFD, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0xFFFD, 0x017E, 0x0178, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, + 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_BIG5_CODE_PAGE = { + CODES_BIG5, + {"BIG5", "BIGFIVE", "CN-BIG5", "CSBIG5",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_BIG5_HKSCS_CODE_PAGE = { + CODES_BIG5_HKSCS, + {"BIG5-HKSCS", "BIG5-HKSCS:2004",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_BIG5_HKSCS_1999_CODE_PAGE = { + CODES_BIG5_HKSCS_1999, + {"BIG5-HKSCS:1999",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_BIG5_HKSCS_2001_CODE_PAGE = { + CODES_BIG5_HKSCS_2001, + {"BIG5-HKSCS:2001",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_CP1046_CODE_PAGE = { + CODES_CP1046, + {"CP1046", "windows-1046",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0xFE88, 0x00D7, 0x00F7, 0xF8F6, 0xF8F5, 0xF8F4, 0xF8F7, 0xFE71, + 0x0088, 0x25A0, 0x2502, 0x2500, 0x2510, 0x250C, 0x2514, 0x2518, + 0xFE79, 0xFE7B, 0xFE7D, 0xFE7F, 0xFE77, 0xFE8A, 0xFEF0, 0xFEF3, + 0xFEF2, 0xFECE, 0xFECF, 0xFED0, 0xFEF6, 0xFEF8, 0xFEFA, 0xFEFC, + 0x00A0, 0xF8FA, 0xF8F9, 0xF8F8, 0x00A4, 0xF8FB, 0xFE8B, 0xFE91, + 0xFE97, 0xFE9B, 0xFE9F, 0xFEA3, 0x060C, 0x00AD, 0xFEA7, 0xFEB3, + 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667, + 0x0668, 0x0669, 0xFEB7, 0x061B, 0xFEBB, 0xFEBF, 0xFECA, 0x061F, + 0xFECB, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, + 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F, + 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637, + 0xFEC7, 0x0639, 0x063A, 0xFECC, 0xFE82, 0xFE84, 0xFE8E, 0xFED3, + 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647, + 0x0648, 0x0649, 0x064A, 0x064B, 0x064C, 0x064D, 0x064E, 0x064F, + 0x0650, 0x0651, 0x0652, 0xFED7, 0xFEDB, 0xFEDF, 0xF8FC, 0xFEF5, + 0xFEF7, 0xFEF9, 0xFEFB, 0xFEE3, 0xFEE7, 0xFEEC, 0xFEE9, 0xFFFD, + }, + defchars[0], +}; // generated from cp1046.txt + +static const CodePage CODES_CP1124_CODE_PAGE = { + CODES_CP1124, + {"CP1124", "windows-1124",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0401, 0x0402, 0x0490, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x00AD, 0x040E, 0x040F, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + 0x2116, 0x0451, 0x0452, 0x0491, 0x0454, 0x0455, 0x0456, 0x0457, + 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x00A7, 0x045E, 0x045F, + }, + defchars[0], +}; // generated from cp1124.txt + +static const CodePage CODES_CP1125_CODE_PAGE = { + CODES_CP1125, + {"CP1125", "windows-1125",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, + 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + 0x0401, 0x0451, 0x0490, 0x0491, 0x0404, 0x0454, 0x0406, 0x0456, + 0x0407, 0x0457, 0x00B7, 0x221A, 0x2116, 0x00A4, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from cp1125.txt + +static const CodePage CODES_CP1129_CODE_PAGE = { + CODES_CP1129, + {"CP1129", "windows-1129",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x0153, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0178, 0x00B5, 0x00B6, 0x00B7, + 0x0152, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x00C0, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x00C5, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x0300, 0x00CD, 0x00CE, 0x00CF, + 0x0110, 0x00D1, 0x0309, 0x00D3, 0x00D4, 0x01A0, 0x00D6, 0x00D7, + 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x01AF, 0x0303, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0301, 0x00ED, 0x00EE, 0x00EF, + 0x0111, 0x00F1, 0x0323, 0x00F3, 0x00F4, 0x01A1, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x01B0, 0x20AB, 0x00FF, + }, + defchars[0], +}; // generated from cp1129.txt + +static const CodePage CODES_CP1131_CODE_PAGE = { + CODES_CP1131, + {"CP1131", "windows-1131",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, + 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + 0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040E, 0x045E, + 0x0406, 0x0456, 0x00B7, 0x00A4, 0x0490, 0x0491, 0x2219, 0x00A0, + }, + defchars[0], +}; // generated from cp1131.txt + +static const CodePage CODES_CP1133_CODE_PAGE = { + CODES_CP1133, + {"CP1133", "IBM-CP1133", "windows-1133",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0E81, 0x0E82, 0x0E84, 0x0E87, 0x0E88, 0x0EAA, 0x0E8A, + 0x0E8D, 0x0E94, 0x0E95, 0x0E96, 0x0E97, 0x0E99, 0x0E9A, 0x0E9B, + 0x0E9C, 0x0E9D, 0x0E9E, 0x0E9F, 0x0EA1, 0x0EA2, 0x0EA3, 0x0EA5, + 0x0EA7, 0x0EAB, 0x0EAD, 0x0EAE, 0xFFFD, 0xFFFD, 0xFFFD, 0x0EAF, + 0x0EB0, 0x0EB2, 0x0EB3, 0x0EB4, 0x0EB5, 0x0EB6, 0x0EB7, 0x0EB8, + 0x0EB9, 0x0EBC, 0x0EB1, 0x0EBB, 0x0EBD, 0xFFFD, 0xFFFD, 0xFFFD, + 0x0EC0, 0x0EC1, 0x0EC2, 0x0EC3, 0x0EC4, 0x0EC8, 0x0EC9, 0x0ECA, + 0x0ECB, 0x0ECC, 0x0ECD, 0x0EC6, 0xFFFD, 0x0EDC, 0x0EDD, 0x20AD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0x0ED0, 0x0ED1, 0x0ED2, 0x0ED3, 0x0ED4, 0x0ED5, 0x0ED6, 0x0ED7, + 0x0ED8, 0x0ED9, 0xFFFD, 0xFFFD, 0x00A2, 0x00AC, 0x00A6, 0xFFFD, + }, + defchars[0], +}; // generated from cp1133.txt + +static const CodePage CODES_CP1161_CODE_PAGE = { + CODES_CP1161, + {"CP1161", "windows-1161",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0x0E48, 0x0E01, 0x0E02, 0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07, + 0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F, + 0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14, 0x0E15, 0x0E16, 0x0E17, + 0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F, + 0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, + 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, + 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, + 0x0E38, 0x0E39, 0x0E3A, 0x0E49, 0x0E4A, 0x0E4B, 0x20AC, 0x0E3F, + 0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47, + 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F, + 0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57, + 0x0E58, 0x0E59, 0x0E5A, 0x0E5B, 0x00A2, 0x00AC, 0x00A6, 0x00A0, + }, + defchars[0], +}; // generated from cp1161.txt + +static const CodePage CODES_CP1162_CODE_PAGE = { + CODES_CP1162, + {"CP1162", "windows-1162",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x20AC, 0x0081, 0x0082, 0x0083, 0x0084, 0x2026, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0E01, 0x0E02, 0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07, + 0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F, + 0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14, 0x0E15, 0x0E16, 0x0E17, + 0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F, + 0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, + 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, + 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, + 0x0E38, 0x0E39, 0x0E3A, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x0E3F, + 0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47, + 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F, + 0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57, + 0x0E58, 0x0E59, 0x0E5A, 0x0E5B, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from cp1162.txt + +static const CodePage CODES_CP1163_CODE_PAGE = { + CODES_CP1163, + {"CP1163", "windows-1163",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AC, 0x00A5, 0x00A6, 0x00A7, + 0x0153, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0178, 0x00B5, 0x00B6, 0x00B7, + 0x0152, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x00C0, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x00C5, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x0300, 0x00CD, 0x00CE, 0x00CF, + 0x0110, 0x00D1, 0x0309, 0x00D3, 0x00D4, 0x01A0, 0x00D6, 0x00D7, + 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x01AF, 0x0303, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0301, 0x00ED, 0x00EE, 0x00EF, + 0x0111, 0x00F1, 0x0323, 0x00F3, 0x00F4, 0x01A1, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x01B0, 0x20AB, 0x00FF, + }, + defchars[0], +}; // generated from cp1163.txt + +static const CodePage CODES_CP1258_CODE_PAGE = { + CODES_CP1258, + {"CP1258", "windows-1258",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x20AC, 0xFFFD, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, + 0x02C6, 0x2030, 0xFFFD, 0x2039, 0x0152, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x02DC, 0x2122, 0xFFFD, 0x203A, 0x0153, 0xFFFD, 0xFFFD, 0x0178, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x00C0, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x00C5, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x0300, 0x00CD, 0x00CE, 0x00CF, + 0x0110, 0x00D1, 0x0309, 0x00D3, 0x00D4, 0x01A0, 0x00D6, 0x00D7, + 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x01AF, 0x0303, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0301, 0x00ED, 0x00EE, 0x00EF, + 0x0111, 0x00F1, 0x0323, 0x00F3, 0x00F4, 0x01A1, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x01B0, 0x20AB, 0x00FF, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP437_CODE_PAGE = { + CODES_CP437, + {"CP437", "windows-437",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, + 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, + 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, + 0x00FF, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192, + 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, + 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, + 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, + 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, + 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, + 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP737_CODE_PAGE = { + CODES_CP737, + {"CP737", "windows-737",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, + 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, + 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, + 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, + 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, + 0x03C1, 0x03C3, 0x03C2, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, + 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x03C9, 0x03AC, 0x03AD, 0x03AE, 0x03CA, 0x03AF, 0x03CC, 0x03CD, + 0x03CB, 0x03CE, 0x0386, 0x0388, 0x0389, 0x038A, 0x038C, 0x038E, + 0x038F, 0x00B1, 0x2265, 0x2264, 0x03AA, 0x03AB, 0x00F7, 0x2248, + 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP775_CODE_PAGE = { + CODES_CP775, + {"CP775", "windows-775",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0106, 0x00FC, 0x00E9, 0x0101, 0x00E4, 0x0123, 0x00E5, 0x0107, + 0x0142, 0x0113, 0x0156, 0x0157, 0x012B, 0x0179, 0x00C4, 0x00C5, + 0x00C9, 0x00E6, 0x00C6, 0x014D, 0x00F6, 0x0122, 0x00A2, 0x015A, + 0x015B, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x00A4, + 0x0100, 0x012A, 0x00F3, 0x017B, 0x017C, 0x017A, 0x201D, 0x00A6, + 0x00A9, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x0141, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0104, 0x010C, 0x0118, + 0x0116, 0x2563, 0x2551, 0x2557, 0x255D, 0x012E, 0x0160, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0172, 0x016A, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x017D, + 0x0105, 0x010D, 0x0119, 0x0117, 0x012F, 0x0161, 0x0173, 0x016B, + 0x017E, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x00D3, 0x00DF, 0x014C, 0x0143, 0x00F5, 0x00D5, 0x00B5, 0x0144, + 0x0136, 0x0137, 0x013B, 0x013C, 0x0146, 0x0112, 0x0145, 0x2019, + 0x00AD, 0x00B1, 0x201C, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x201E, + 0x00B0, 0x2219, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP850_CODE_PAGE = { + CODES_CP850, + {"CP850", "IBM850", "850", "CSPC850MULTILINGUAL", "windows-850",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, + 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, + 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, + 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192, + 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, + 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, + 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, + 0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x0131, 0x00CD, 0x00CE, + 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, + 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE, + 0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4, + 0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, + 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP852_CODE_PAGE = { + CODES_CP852, + {"CP852", "windows-852",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x016F, 0x0107, 0x00E7, + 0x0142, 0x00EB, 0x0150, 0x0151, 0x00EE, 0x0179, 0x00C4, 0x0106, + 0x00C9, 0x0139, 0x013A, 0x00F4, 0x00F6, 0x013D, 0x013E, 0x015A, + 0x015B, 0x00D6, 0x00DC, 0x0164, 0x0165, 0x0141, 0x00D7, 0x010D, + 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x0104, 0x0105, 0x017D, 0x017E, + 0x0118, 0x0119, 0x00AC, 0x017A, 0x010C, 0x015F, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x011A, + 0x015E, 0x2563, 0x2551, 0x2557, 0x255D, 0x017B, 0x017C, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0102, 0x0103, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, + 0x0111, 0x0110, 0x010E, 0x00CB, 0x010F, 0x0147, 0x00CD, 0x00CE, + 0x011B, 0x2518, 0x250C, 0x2588, 0x2584, 0x0162, 0x016E, 0x2580, + 0x00D3, 0x00DF, 0x00D4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161, + 0x0154, 0x00DA, 0x0155, 0x0170, 0x00FD, 0x00DD, 0x0163, 0x00B4, + 0x00AD, 0x02DD, 0x02DB, 0x02C7, 0x02D8, 0x00A7, 0x00F7, 0x00B8, + 0x00B0, 0x00A8, 0x02D9, 0x0171, 0x0158, 0x0159, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP853_CODE_PAGE = { + CODES_CP853, + {"CP853", "windows-853",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x0109, 0x00E7, + 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x0108, + 0x00C9, 0x010B, 0x010A, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, + 0x0130, 0x00D6, 0x00DC, 0x011D, 0x00A3, 0x011C, 0x00D7, 0x0135, + 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x011E, 0x011F, + 0x0124, 0x0125, 0xFFFD, 0x00BD, 0x0134, 0x015F, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, + 0x015E, 0x2563, 0x2551, 0x2557, 0x255D, 0x017B, 0x017C, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x015C, 0x015D, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, + 0xFFFD, 0xFFFD, 0x00CA, 0x00CB, 0x00C8, 0x0131, 0x00CD, 0x00CE, + 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0xFFFD, 0x00CC, 0x2580, + 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x0120, 0x0121, 0x00B5, 0x0126, + 0x0127, 0x00DA, 0x00DB, 0x00D9, 0x016C, 0x016D, 0xFFFD, 0x00B4, + 0x00AD, 0xFFFD, 0x2113, 0x0149, 0x02D8, 0x00A7, 0x00F7, 0x00B8, + 0x00B0, 0x00A8, 0x02D9, 0xFFFD, 0x00B3, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from cp853.txt + +static const CodePage CODES_CP856_CODE_PAGE = { + CODES_CP856, + {"CP856", "windows-856",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, + 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, + 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, + 0x05E8, 0x05E9, 0x05EA, 0xFFFD, 0x00A3, 0xFFFD, 0x00D7, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0xFFFD, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0xFFFD, 0xFFFD, 0xFFFD, + 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0xFFFD, 0xFFFD, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0xFFFD, 0x2580, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x00B5, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x00AF, 0x00B4, + 0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, + 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP857_CODE_PAGE = { + CODES_CP857, + {"CP857", "windows-857",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, + 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x0131, 0x00C4, 0x00C5, + 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, + 0x0130, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x015E, 0x015F, + 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x011E, 0x011F, + 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, + 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, + 0x00BA, 0x00AA, 0x00CA, 0x00CB, 0x00C8, 0xFFFD, 0x00CD, 0x00CE, + 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, + 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0xFFFD, + 0x00D7, 0x00DA, 0x00DB, 0x00D9, 0x00EC, 0x00FF, 0x00AF, 0x00B4, + 0x00AD, 0x00B1, 0xFFFD, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, + 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP858_CODE_PAGE = { + CODES_CP858, + {"CP858", "windows-858",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, + 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, + 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, + 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192, + 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, + 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0, + 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, + 0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x20AC, 0x00CD, 0x00CE, + 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580, + 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE, + 0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4, + 0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8, + 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from cp858.txt + +static const CodePage CODES_CP860_CODE_PAGE = { + CODES_CP860, + {"CP860", "windows-860",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E3, 0x00E0, 0x00C1, 0x00E7, + 0x00EA, 0x00CA, 0x00E8, 0x00CD, 0x00D4, 0x00EC, 0x00C3, 0x00C2, + 0x00C9, 0x00C0, 0x00C8, 0x00F4, 0x00F5, 0x00F2, 0x00DA, 0x00F9, + 0x00CC, 0x00D5, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x20A7, 0x00D3, + 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, + 0x00BF, 0x00D2, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, + 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, + 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, + 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, + 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP861_CODE_PAGE = { + CODES_CP861, + {"CP861", "windows-861",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, + 0x00EA, 0x00EB, 0x00E8, 0x00D0, 0x00F0, 0x00DE, 0x00C4, 0x00C5, + 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00FE, 0x00FB, 0x00DD, + 0x00FD, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, + 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00C1, 0x00CD, 0x00D3, 0x00DA, + 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, + 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, + 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, + 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, + 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP862_CODE_PAGE = { + CODES_CP862, + {"CP862", "IBM862", "862", "CSPC862LATINHEBREW", "windows-862",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, + 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, + 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, + 0x05E8, 0x05E9, 0x05EA, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192, + 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, + 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, + 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, + 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, + 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, + 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP863_CODE_PAGE = { + CODES_CP863, + {"CP863", "windows-863",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00C2, 0x00E0, 0x00B6, 0x00E7, + 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x2017, 0x00C0, 0x00A7, + 0x00C9, 0x00C8, 0x00CA, 0x00F4, 0x00CB, 0x00CF, 0x00FB, 0x00F9, + 0x00A4, 0x00D4, 0x00DC, 0x00A2, 0x00A3, 0x00D9, 0x00DB, 0x0192, + 0x00A6, 0x00B4, 0x00F3, 0x00FA, 0x00A8, 0x00B8, 0x00B3, 0x00AF, + 0x00CE, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00BE, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, + 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, + 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, + 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, + 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP864_CODE_PAGE = { + CODES_CP864, + {"CP864", "windows-864",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x066A, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00B0, 0x00B7, 0x2219, 0x221A, 0x2592, 0x2500, 0x2502, 0x253C, + 0x2524, 0x252C, 0x251C, 0x2534, 0x2510, 0x250C, 0x2514, 0x2518, + 0x03B2, 0x221E, 0x03C6, 0x00B1, 0x00BD, 0x00BC, 0x2248, 0x00AB, + 0x00BB, 0xFEF7, 0xFEF8, 0xFFFD, 0xFFFD, 0xFEFB, 0xFEFC, 0xFFFD, + 0x00A0, 0x00AD, 0xFE82, 0x00A3, 0x00A4, 0xFE84, 0xFFFD, 0xFFFD, + 0xFE8E, 0xFE8F, 0xFE95, 0xFE99, 0x060C, 0xFE9D, 0xFEA1, 0xFEA5, + 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667, + 0x0668, 0x0669, 0xFED1, 0x061B, 0xFEB1, 0xFEB5, 0xFEB9, 0x061F, + 0x00A2, 0xFE80, 0xFE81, 0xFE83, 0xFE85, 0xFECA, 0xFE8B, 0xFE8D, + 0xFE91, 0xFE93, 0xFE97, 0xFE9B, 0xFE9F, 0xFEA3, 0xFEA7, 0xFEA9, + 0xFEAB, 0xFEAD, 0xFEAF, 0xFEB3, 0xFEB7, 0xFEBB, 0xFEBF, 0xFEC1, + 0xFEC5, 0xFECB, 0xFECF, 0x00A6, 0x00AC, 0x00F7, 0x00D7, 0xFEC9, + 0x0640, 0xFED3, 0xFED7, 0xFEDB, 0xFEDF, 0xFEE3, 0xFEE7, 0xFEEB, + 0xFEED, 0xFEEF, 0xFEF3, 0xFEBD, 0xFECC, 0xFECE, 0xFECD, 0xFEE1, + 0xFE7D, 0x0651, 0xFEE5, 0xFEE9, 0xFEEC, 0xFEF0, 0xFEF2, 0xFED0, + 0xFED5, 0xFEF5, 0xFEF6, 0xFEDD, 0xFED9, 0xFEF1, 0x25A0, 0xFFFD, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP865_CODE_PAGE = { + CODES_CP865, + {"CP865", "windows-865",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7, + 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5, + 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9, + 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x20A7, 0x0192, + 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA, + 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00A4, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B, + 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4, + 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229, + 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248, + 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP869_CODE_PAGE = { + CODES_CP869, + {"CP869", "windows-869",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x0386, 0xFFFD, + 0x00B7, 0x00AC, 0x00A6, 0x2018, 0x2019, 0x0388, 0x2015, 0x0389, + 0x038A, 0x03AA, 0x038C, 0xFFFD, 0xFFFD, 0x038E, 0x03AB, 0x00A9, + 0x038F, 0x00B2, 0x00B3, 0x03AC, 0x00A3, 0x03AD, 0x03AE, 0x03AF, + 0x03CA, 0x0390, 0x03CC, 0x03CD, 0x0391, 0x0392, 0x0393, 0x0394, + 0x0395, 0x0396, 0x0397, 0x00BD, 0x0398, 0x0399, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039A, 0x039B, 0x039C, + 0x039D, 0x2563, 0x2551, 0x2557, 0x255D, 0x039E, 0x039F, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x03A0, 0x03A1, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x03A3, + 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x03B1, 0x03B2, + 0x03B3, 0x2518, 0x250C, 0x2588, 0x2584, 0x03B4, 0x03B5, 0x2580, + 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, + 0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C2, 0x03C4, 0x0384, + 0x00AD, 0x00B1, 0x03C5, 0x03C6, 0x03C7, 0x00A7, 0x03C8, 0x0385, + 0x00B0, 0x00A8, 0x03C9, 0x03CB, 0x03B0, 0x03CE, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP874_CODE_PAGE = { + CODES_CP874, + {"CP874", "windows-874",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x20AC, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x2026, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0x00A0, 0x0E01, 0x0E02, 0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07, + 0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F, + 0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14, 0x0E15, 0x0E16, 0x0E17, + 0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F, + 0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, + 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, + 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, + 0x0E38, 0x0E39, 0x0E3A, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x0E3F, + 0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47, + 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F, + 0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57, + 0x0E58, 0x0E59, 0x0E5A, 0x0E5B, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_CP922_CODE_PAGE = { + CODES_CP922, + {"CP922", "windows-922",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x203E, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0x0160, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, + 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x017D, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x0161, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x017E, 0x00FF, + }, + defchars[0], +}; // generated from cp922.txt + +static const CodePage CODES_CP932_CODE_PAGE = { + CODES_CP932, + {"CP932",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_CP936_CODE_PAGE = { + CODES_CP936, + {"CP936",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_CP949_CODE_PAGE = { + CODES_CP949, + {"CP949", "UHC",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_CP950_CODE_PAGE = { + CODES_CP950, + {"CP950",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_EUC_CN_CODE_PAGE = { + CODES_EUC_CN, + {"EUC-CN", "CN-GB", "GB2312", "CSGB2312",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_EUC_JP_CODE_PAGE = { + CODES_EUC_JP, + {"EUC-JP", "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE", "CSEUCPKDFMTJAPANESE",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_EUC_KR_CODE_PAGE = { + CODES_EUC_KR, + {"EUC-KR", "ISO-IR-149", "KOREAN", "KSC_5601", "KS_C_5601-1987", "KS_C_5601-1989", "CSEUCKR", "CSKSC56011987",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_EUC_TW_CODE_PAGE = { + CODES_EUC_TW, + {"EUC-TW", "CSEUCTW",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_GB18030_CODE_PAGE = { + CODES_GB18030, + {"GB18030",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_GBK_CODE_PAGE = { + CODES_GBK, + {"GBK",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_GEO_ITA_CODE_PAGE = { + CODES_GEO_ITA, + {"geo-ita",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, + 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0x008D, 0x008E, 0x008F, + 0x0090, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x009D, 0x009E, 0x0178, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x10D0, 0x10D1, 0x10D2, 0x10D3, 0x10D4, 0x10D5, 0x10D6, 0x10D7, + 0x10D8, 0x10D9, 0x10DA, 0x10DB, 0x10DC, 0x10DD, 0x10DE, 0x10DF, + 0x10E0, 0x10E1, 0x10E2, 0x10E3, 0x10E4, 0x10E5, 0x10E6, 0x10E7, + 0x10E8, 0x10E9, 0x10EA, 0x10EB, 0x10EC, 0x10ED, 0x10EE, 0x10EF, + 0x10F0, 0x10F1, 0x10F2, 0x10F3, 0x10F4, 0x10F5, 0x10F6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, + }, + defchars[0], +}; // generated from geo-ita.txt + +static const CodePage CODES_GEO_PS_CODE_PAGE = { + CODES_GEO_PS, + {"geo-ps",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, + 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0x008D, 0x008E, 0x008F, + 0x0090, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x009D, 0x009E, 0x0178, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x10D0, 0x10D1, 0x10D2, 0x10D3, 0x10D4, 0x10D5, 0x10D6, 0x10F1, + 0x10D7, 0x10D8, 0x10D9, 0x10DA, 0x10DB, 0x10DC, 0x10F2, 0x10DD, + 0x10DE, 0x10DF, 0x10E0, 0x10E1, 0x10E2, 0x10F3, 0x10E3, 0x10E4, + 0x10E5, 0x10E6, 0x10E7, 0x10E8, 0x10E9, 0x10EA, 0x10EB, 0x10EC, + 0x10ED, 0x10EE, 0x10F4, 0x10EF, 0x10F0, 0x10F5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, + }, + defchars[0], +}; // generated from geo-ps.txt + +static const CodePage CODES_HP_ROMAN8_CODE_PAGE = { + CODES_HP_ROMAN8, + {"HP_ROMAN8", "HP-ROMAN8", "ROMAN8", "R8", "CSHPROMAN8",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x00C0, 0x00C2, 0x00C8, 0x00CA, 0x00CB, 0x00CE, 0x00CF, + 0x00B4, 0x02CB, 0x02C6, 0x00A8, 0x02DC, 0x00D9, 0x00DB, 0x20A4, + 0x00AF, 0x00DD, 0x00FD, 0x00B0, 0x00C7, 0x00E7, 0x00D1, 0x00F1, + 0x00A1, 0x00BF, 0x00A4, 0x00A3, 0x00A5, 0x00A7, 0x0192, 0x00A2, + 0x00E2, 0x00EA, 0x00F4, 0x00FB, 0x00E1, 0x00E9, 0x00F3, 0x00FA, + 0x00E0, 0x00E8, 0x00F2, 0x00F9, 0x00E4, 0x00EB, 0x00F6, 0x00FC, + 0x00C5, 0x00EE, 0x00D8, 0x00C6, 0x00E5, 0x00ED, 0x00F8, 0x00E6, + 0x00C4, 0x00EC, 0x00D6, 0x00DC, 0x00C9, 0x00EF, 0x00DF, 0x00D4, + 0x00C1, 0x00C3, 0x00E3, 0x00D0, 0x00F0, 0x00CD, 0x00CC, 0x00D3, + 0x00D2, 0x00D5, 0x00F5, 0x0160, 0x0161, 0x00DA, 0x0178, 0x00FF, + 0x00DE, 0x00FE, 0x00B7, 0x00B5, 0x00B6, 0x00BE, 0x2014, 0x00BC, + 0x00BD, 0x00AA, 0x00BA, 0x00AB, 0x25A0, 0x00BB, 0x00B1, 0xFFFD, + }, + defchars[0], +}; // generated from hp_roman8.txt + +static const CodePage CODES_HZ_CODE_PAGE = { + CODES_HZ, + {"HZ", "HZ-GB-2312",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_IBM855_CODE_PAGE = { + CODES_IBM855, + {"IBM855", "csIBM855", "cp855", "855", "dos-855", "windows-855",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404, + 0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408, + 0x0459, 0x0409, 0x045A, 0x040A, 0x045B, 0x040B, 0x045C, 0x040C, + 0x045E, 0x040E, 0x045F, 0x040F, 0x044E, 0x042E, 0x044A, 0x042A, + 0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414, + 0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438, + 0x0418, 0x2563, 0x2551, 0x2557, 0x255D, 0x0439, 0x0419, 0x2510, + 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x043A, 0x041A, + 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4, + 0x043B, 0x041B, 0x043C, 0x041C, 0x043D, 0x041D, 0x043E, 0x041E, + 0x043F, 0x2518, 0x250C, 0x2588, 0x2584, 0x041F, 0x044F, 0x2580, + 0x042F, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443, + 0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044C, 0x042C, 0x2116, + 0x00AD, 0x044B, 0x042B, 0x0437, 0x0417, 0x0448, 0x0428, 0x044D, + 0x042D, 0x0449, 0x0429, 0x0447, 0x0427, 0x00A7, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO646_CN_CODE_PAGE = { + CODES_ISO646_CN, + {"ISO646_CN", "GB_1988-80", "ISO646-CN", "ISO-IR-57", "CN", "CSISO57GB1988",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00A5, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x203E, 0x007F, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from iso646_cn.txt + +static const CodePage CODES_ISO646_JP_CODE_PAGE = { + CODES_ISO646_JP, + {"ISO646_JP", "JIS_C6220-1969-RO", "ISO646-JP", "ISO-IR-14", "JP", "CSISO14JISC6220RO",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x00A5, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x203E, 0x007F, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from iso646_jp.txt + +static const CodePage CODES_ISO8859_10_CODE_PAGE = { + CODES_ISO8859_10, + {"ISO8859_10", "ISO-8859-10", "ISO_8859-10", "ISO_8859-10:1992", "ISO-IR-157", "LATIN6", "L6", "CSISOLATIN6", "ISO8859-10",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0104, 0x0112, 0x0122, 0x012A, 0x0128, 0x0136, 0x00A7, + 0x013B, 0x0110, 0x0160, 0x0166, 0x017D, 0x00AD, 0x016A, 0x014A, + 0x00B0, 0x0105, 0x0113, 0x0123, 0x012B, 0x0129, 0x0137, 0x00B7, + 0x013C, 0x0111, 0x0161, 0x0167, 0x017E, 0x2015, 0x016B, 0x014B, + 0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E, + 0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x00CF, + 0x00D0, 0x0145, 0x014C, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x0168, + 0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, + 0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F, + 0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x00EF, + 0x00F0, 0x0146, 0x014D, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x0169, + 0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x0138, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO8859_11_CODE_PAGE = { + CODES_ISO8859_11, + {"ISO8859_11", "ISO-8859-11", "ISO_8859-11", "ISO8859-11",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0E01, 0x0E02, 0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07, + 0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F, + 0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14, 0x0E15, 0x0E16, 0x0E17, + 0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F, + 0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, + 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, + 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, + 0x0E38, 0x0E39, 0x0E3A, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x0E3F, + 0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47, + 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F, + 0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57, + 0x0E58, 0x0E59, 0x0E5A, 0x0E5B, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO8859_14_CODE_PAGE = { + CODES_ISO8859_14, + {"ISO8859_14", "ISO-8859-14", "ISO_8859-14", "ISO_8859-14:1998", "ISO-IR-199", "LATIN8", "L8", "ISO-CELTIC", "ISO8859-14",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x1E02, 0x1E03, 0x00A3, 0x010A, 0x010B, 0x1E0A, 0x00A7, + 0x1E80, 0x00A9, 0x1E82, 0x1E0B, 0x1EF2, 0x00AD, 0x00AE, 0x0178, + 0x1E1E, 0x1E1F, 0x0120, 0x0121, 0x1E40, 0x1E41, 0x00B6, 0x1E56, + 0x1E81, 0x1E57, 0x1E83, 0x1E60, 0x1EF3, 0x1E84, 0x1E85, 0x1E61, + 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0x0174, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x1E6A, + 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x0176, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x0175, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x1E6B, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x0177, 0x00FF, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO_2022_CN_CODE_PAGE = { + CODES_ISO_2022_CN, + {"ISO-2022-CN", "CSISO2022CN",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_ISO_2022_CN_EXT_CODE_PAGE = { + CODES_ISO_2022_CN_EXT, + {"ISO-2022-CN-EXT",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_ISO_2022_JP_CODE_PAGE = { + CODES_ISO_2022_JP, + {"ISO-2022-JP", "CPISO2022JP",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_ISO_2022_JP_1_CODE_PAGE = { + CODES_ISO_2022_JP_1, + {"ISO-2022-JP-1",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_ISO_2022_JP_2_CODE_PAGE = { + CODES_ISO_2022_JP_2, + {"ISO-2022-JP-2", "CPISO2022JP2",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_ISO_2022_KR_CODE_PAGE = { + CODES_ISO_2022_KR, + {"ISO-2022-KR", "CSISO2022KR",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_ISO_8859_13_CODE_PAGE = { + CODES_ISO_8859_13, + {"iso-8859-13",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x201D, 0x00A2, 0x00A3, 0x00A4, 0x201E, 0x00A6, 0x00A7, + 0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x201C, 0x00B5, 0x00B6, 0x00B7, + 0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6, + 0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, + 0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B, + 0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7, + 0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF, + 0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, + 0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C, + 0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7, + 0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x2019, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO_8859_15_CODE_PAGE = { + CODES_ISO_8859_15, + {"iso-8859-15",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AC, 0x00A5, 0x0160, 0x00A7, + 0x0161, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x017D, 0x00B5, 0x00B6, 0x00B7, + 0x017E, 0x00B9, 0x00BA, 0x00BB, 0x0152, 0x0153, 0x0178, 0x00BF, + 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, + 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO_8859_16_CODE_PAGE = { + CODES_ISO_8859_16, + {"iso-8859-16",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0104, 0x0105, 0x0141, 0x20AC, 0x201E, 0x0160, 0x00A7, + 0x0161, 0x00A9, 0x0218, 0x00AB, 0x0179, 0x00AD, 0x017A, 0x017B, + 0x00B0, 0x00B1, 0x010C, 0x0142, 0x017D, 0x201D, 0x00B6, 0x00B7, + 0x017E, 0x010D, 0x0219, 0x00BB, 0x0152, 0x0153, 0x0178, 0x017C, + 0x00C0, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0106, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0x0110, 0x0143, 0x00D2, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x015A, + 0x0170, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0118, 0x021A, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x0107, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x0111, 0x0144, 0x00F2, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x015B, + 0x0171, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0119, 0x021B, 0x00FF, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO_8859_3_CODE_PAGE = { + CODES_ISO_8859_3, + {"iso-8859-3",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0126, 0x02D8, 0x00A3, 0x00A4, 0xFFFD, 0x0124, 0x00A7, + 0x00A8, 0x0130, 0x015E, 0x011E, 0x0134, 0x00AD, 0xFFFD, 0x017B, + 0x00B0, 0x0127, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x0125, 0x00B7, + 0x00B8, 0x0131, 0x015F, 0x011F, 0x0135, 0x00BD, 0xFFFD, 0x017C, + 0x00C0, 0x00C1, 0x00C2, 0xFFFD, 0x00C4, 0x010A, 0x0108, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0xFFFD, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x0120, 0x00D6, 0x00D7, + 0x011C, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x016C, 0x015C, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0xFFFD, 0x00E4, 0x010B, 0x0109, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0xFFFD, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x0121, 0x00F6, 0x00F7, + 0x011D, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x016D, 0x015D, 0x02D9, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO_8859_4_CODE_PAGE = { + CODES_ISO_8859_4, + {"iso-8859-4",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0104, 0x0138, 0x0156, 0x00A4, 0x0128, 0x013B, 0x00A7, + 0x00A8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00AD, 0x017D, 0x00AF, + 0x00B0, 0x0105, 0x02DB, 0x0157, 0x00B4, 0x0129, 0x013C, 0x02C7, + 0x00B8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014A, 0x017E, 0x014B, + 0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E, + 0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x012A, + 0x0110, 0x0145, 0x014C, 0x0136, 0x00D4, 0x00D5, 0x00D6, 0x00D7, + 0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x0168, 0x016A, 0x00DF, + 0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F, + 0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x012B, + 0x0111, 0x0146, 0x014D, 0x0137, 0x00F4, 0x00F5, 0x00F6, 0x00F7, + 0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x0169, 0x016B, 0x02D9, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO_8859_6_CODE_PAGE = { + CODES_ISO_8859_6, + {"iso-8859-6", "cp708",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x2502, 0x2524, 0x00E9, 0x00E2, 0x2561, 0x00E0, 0x2562, 0x00E7, + 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x2556, 0x2555, 0x2563, + 0x2551, 0x2557, 0x255D, 0x00F4, 0x255C, 0x255B, 0x00FB, 0x00F9, + 0x2510, 0x2514, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x2534, 0x252C, 0x251C, 0x00A4, 0x2500, 0x253C, 0x255E, + 0x255F, 0x255A, 0x2554, 0x2569, 0x060C, 0x2566, 0x00AB, 0x00BB, + 0x2591, 0x2592, 0x2593, 0x2560, 0x2550, 0x256C, 0x2567, 0x2568, + 0x2564, 0x2565, 0x2559, 0x061B, 0x2558, 0x2552, 0x2553, 0x061F, + 0x256B, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, + 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F, + 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637, + 0x0638, 0x0639, 0x063A, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580, + 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647, + 0x0648, 0x0649, 0x064A, 0x064B, 0x064C, 0x064D, 0x064E, 0x064F, + 0x0650, 0x0651, 0x0652, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x256A, 0x2518, 0x250C, 0x00B5, 0x00A3, 0x25A0, 0x00A0, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO_8859_7_CODE_PAGE = { + CODES_ISO_8859_7, + {"iso-8859-7",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x2018, 0x2019, 0x00A3, 0x20AC, 0x20AF, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x037A, 0x00AB, 0x00AC, 0x00AD, 0xFFFD, 0x2015, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x0385, 0x0386, 0x00B7, + 0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F, + 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, + 0x03A0, 0x03A1, 0xFFFD, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, + 0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, + 0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, + 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, + 0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, + 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0xFFFD, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO_8859_8_CODE_PAGE = { + CODES_ISO_8859_8, + {"iso-8859-8", "iso-8859-8-i",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0xFFFD, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00D7, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00F7, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x2017, + 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, + 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, + 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, + 0x05E8, 0x05E9, 0x05EA, 0xFFFD, 0xFFFD, 0x200E, 0x200F, 0xFFFD, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO_8859_9_CODE_PAGE = { + CODES_ISO_8859_9, + {"iso-8859-9",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, + 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_ISO_EAST_CODE_PAGE = { + CODES_ISO_EAST, + {"iso-2", "iso_8859-2", "iso-8859-2", "iso-east", "ISO8859_2", "ISO_8859-2:1987", "ISO-IR-101", "LATIN2", "L2", "CSISOLATIN2", "ISO8859-2",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0104, 0x02D8, 0x0141, 0x00A4, 0x013D, 0x015A, 0x00A7, + 0x00A8, 0x0160, 0x015E, 0x0164, 0x0179, 0x00AD, 0x017D, 0x017B, + 0x00B0, 0x0105, 0x02DB, 0x0142, 0x00B4, 0x013E, 0x015B, 0x02C7, + 0x00B8, 0x0161, 0x015F, 0x0165, 0x017A, 0x02DD, 0x017E, 0x017C, + 0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7, + 0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E, + 0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7, + 0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF, + 0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7, + 0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F, + 0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7, + 0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_JISX0201_CODE_PAGE = { + CODES_JISX0201, + {"JISX0201", "JIS_X0201", "JISX0201-1976", "X0201", "CSHALFWIDTHKATAKANA",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x00A5, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x203E, 0x007F, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFF61, 0xFF62, 0xFF63, 0xFF64, 0xFF65, 0xFF66, 0xFF67, + 0xFF68, 0xFF69, 0xFF6A, 0xFF6B, 0xFF6C, 0xFF6D, 0xFF6E, 0xFF6F, + 0xFF70, 0xFF71, 0xFF72, 0xFF73, 0xFF74, 0xFF75, 0xFF76, 0xFF77, + 0xFF78, 0xFF79, 0xFF7A, 0xFF7B, 0xFF7C, 0xFF7D, 0xFF7E, 0xFF7F, + 0xFF80, 0xFF81, 0xFF82, 0xFF83, 0xFF84, 0xFF85, 0xFF86, 0xFF87, + 0xFF88, 0xFF89, 0xFF8A, 0xFF8B, 0xFF8C, 0xFF8D, 0xFF8E, 0xFF8F, + 0xFF90, 0xFF91, 0xFF92, 0xFF93, 0xFF94, 0xFF95, 0xFF96, 0xFF97, + 0xFF98, 0xFF99, 0xFF9A, 0xFF9B, 0xFF9C, 0xFF9D, 0xFF9E, 0xFF9F, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from jisx0201.txt + +static const CodePage CODES_JOHAB_CODE_PAGE = { + CODES_JOHAB, + {"JOHAB", "CP1361",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_KAZWIN_CODE_PAGE = { + CODES_KAZWIN, + {"windows-1251-k", "cp1251k", "1251k", "kazwin",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x04B0, 0x0492, 0x201A, 0x0493, 0x201E, 0x2026, 0x2020, 0x2021, + 0x20AC, 0x2030, 0x04E8, 0x2039, 0x04A2, 0x049A, 0x04BA, 0x04AE, + 0x04B1, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x0098, 0x2122, 0x04E9, 0x203A, 0x04A3, 0x049B, 0x04BB, 0x04AF, + 0x00A0, 0x040E, 0x045E, 0x0496, 0x00A4, 0x04B2, 0x00A6, 0x00A7, + 0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407, + 0x00B0, 0x00B1, 0x0406, 0x0456, 0x04B3, 0x00B5, 0x00B6, 0x00B7, + 0x0451, 0x2116, 0x0454, 0x00BB, 0x0497, 0x04D8, 0x04D9, 0x0457, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + }, + defchars[0], +}; // generated from cp1251-kaz.txt + +static const CodePage CODES_KOI8_CODE_PAGE = { + CODES_KOI8, + {"KOI8-U", "csKOI8R", "KOI8-RU", "csKOI8RU", "KOI8-R", "csKOI8U", "koi",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524, + 0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590, + 0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219, 0x221A, 0x2248, + 0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7, + 0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457, + 0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x0491, 0x255D, 0x255E, + 0x255F, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407, + 0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x0490, 0x256C, 0x00A9, + 0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, + 0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, + 0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, + 0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_KOI8_T_CODE_PAGE = { + CODES_KOI8_T, + {"KOI8_T", "KOI8-T",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x049B, 0x0493, 0x201A, 0x0492, 0x201E, 0x2026, 0x2020, 0x2021, + 0xFFFD, 0x2030, 0x04B3, 0x2039, 0x04B2, 0x04B7, 0x04B6, 0xFFFD, + 0x049A, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0xFFFD, 0x2122, 0xFFFD, 0x203A, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x04EF, 0x04EE, 0x0451, 0x00A4, 0x04E3, 0x00A6, 0x00A7, + 0xFFFD, 0xFFFD, 0xFFFD, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0xFFFD, + 0x00B0, 0x00B1, 0x00B2, 0x0401, 0xFFFD, 0x04E2, 0x00B6, 0x00B7, + 0xFFFD, 0x2116, 0xFFFD, 0x00BB, 0xFFFD, 0xFFFD, 0xFFFD, 0x00A9, + 0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, + 0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, + 0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, + 0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A, + }, + defchars[0], +}; // generated from koi8_t.txt + +static const CodePage CODES_MAC_CODE_PAGE = { + CODES_MAC, + {"MacCyrillic", "MacRussian", "mac", "windows-10007", "MAC_UKRAINE", "MACUKRAINE", "windows-10017",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x2020, 0x00B0, 0x0490, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x0406, + 0x00AE, 0x00A9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453, + 0x221E, 0x00B1, 0x2264, 0x2265, 0x0456, 0x00B5, 0x0491, 0x0408, + 0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040A, 0x045A, + 0x0458, 0x0405, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, + 0x00BB, 0x2026, 0x00A0, 0x040B, 0x045B, 0x040C, 0x045C, 0x0455, + 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x201E, + 0x040E, 0x045E, 0x040F, 0x045F, 0x2116, 0x0401, 0x0451, 0x044F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x20AC, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAC_ARABIC_CODE_PAGE = { + CODES_MAC_ARABIC, + {"MAC_ARABIC", "MACARABIC", "windows-10004",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C4, 0x00A0, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, + 0x00E0, 0x00E2, 0x00E4, 0x06BA, 0x00AB, 0x00E7, 0x00E9, 0x00E8, + 0x00EA, 0x00EB, 0x00ED, 0x2026, 0x00EE, 0x00EF, 0x00F1, 0x00F3, + 0x00BB, 0x00F4, 0x00F6, 0x00F7, 0x00FA, 0x00F9, 0x00FB, 0x00FC, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x066A, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x060C, 0x002D, 0x002E, 0x002F, + 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667, + 0x0668, 0x0669, 0x003A, 0x061B, 0x003C, 0x003D, 0x003E, 0x061F, + 0x274A, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, + 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F, + 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637, + 0x0638, 0x0639, 0x063A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647, + 0x0648, 0x0649, 0x064A, 0x064B, 0x064C, 0x064D, 0x064E, 0x064F, + 0x0650, 0x0651, 0x0652, 0x067E, 0x0679, 0x0686, 0x06D5, 0x06A4, + 0x06AF, 0x0688, 0x0691, 0x007B, 0x007C, 0x007D, 0x0698, 0x06D2, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAC_CENTRALEUROPE_CODE_PAGE = { + CODES_MAC_CENTRALEUROPE, + {"MAC_CENTRALEUROPE", "MACCENTRALEUROPE", "windows-10029",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C4, 0x0100, 0x0101, 0x00C9, 0x0104, 0x00D6, 0x00DC, 0x00E1, + 0x0105, 0x010C, 0x00E4, 0x010D, 0x0106, 0x0107, 0x00E9, 0x0179, + 0x017A, 0x010E, 0x00ED, 0x010F, 0x0112, 0x0113, 0x0116, 0x00F3, + 0x0117, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x011A, 0x011B, 0x00FC, + 0x2020, 0x00B0, 0x0118, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, + 0x00AE, 0x00A9, 0x2122, 0x0119, 0x00A8, 0x2260, 0x0123, 0x012E, + 0x012F, 0x012A, 0x2264, 0x2265, 0x012B, 0x0136, 0x2202, 0x2211, + 0x0142, 0x013B, 0x013C, 0x013D, 0x013E, 0x0139, 0x013A, 0x0145, + 0x0146, 0x0143, 0x00AC, 0x221A, 0x0144, 0x0147, 0x2206, 0x00AB, + 0x00BB, 0x2026, 0x00A0, 0x0148, 0x0150, 0x00D5, 0x0151, 0x014C, + 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, + 0x014D, 0x0154, 0x0155, 0x0158, 0x2039, 0x203A, 0x0159, 0x0156, + 0x0157, 0x0160, 0x201A, 0x201E, 0x0161, 0x015A, 0x015B, 0x00C1, + 0x0164, 0x0165, 0x00CD, 0x017D, 0x017E, 0x016A, 0x00D3, 0x00D4, + 0x016B, 0x016E, 0x00DA, 0x016F, 0x0170, 0x0171, 0x0172, 0x0173, + 0x00DD, 0x00FD, 0x0137, 0x017B, 0x0141, 0x017C, 0x0122, 0x02C7, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAC_CROATIAN_CODE_PAGE = { + CODES_MAC_CROATIAN, + {"MAC_CROATIAN", "MACCROATIAN", "windows-10082",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, + 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, + 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, + 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, + 0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, + 0x00AE, 0x0160, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x017D, 0x00D8, + 0x221E, 0x00B1, 0x2264, 0x2265, 0x2206, 0x00B5, 0x2202, 0x2211, + 0x220F, 0x0161, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x017E, 0x00F8, + 0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x0106, 0x00AB, + 0x010C, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, + 0x0110, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, + 0xF8FF, 0x00A9, 0x2044, 0x20AC, 0x2039, 0x203A, 0x00C6, 0x00BB, + 0x2013, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x0107, 0x00C1, + 0x010D, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, + 0x0111, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, + 0x00AF, 0x03C0, 0x00CB, 0x02DA, 0x00B8, 0x00CA, 0x00E6, 0x02C7, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAC_GREEK_CODE_PAGE = { + CODES_MAC_GREEK, + {"MAC_GREEK", "MACGREEK", "windows-10006",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C4, 0x00B9, 0x00B2, 0x00C9, 0x00B3, 0x00D6, 0x00DC, 0x0385, + 0x00E0, 0x00E2, 0x00E4, 0x0384, 0x00A8, 0x00E7, 0x00E9, 0x00E8, + 0x00EA, 0x00EB, 0x00A3, 0x2122, 0x00EE, 0x00EF, 0x2022, 0x00BD, + 0x2030, 0x00F4, 0x00F6, 0x00A6, 0x20AC, 0x00F9, 0x00FB, 0x00FC, + 0x2020, 0x0393, 0x0394, 0x0398, 0x039B, 0x039E, 0x03A0, 0x00DF, + 0x00AE, 0x00A9, 0x03A3, 0x03AA, 0x00A7, 0x2260, 0x00B0, 0x00B7, + 0x0391, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x0392, 0x0395, 0x0396, + 0x0397, 0x0399, 0x039A, 0x039C, 0x03A6, 0x03AB, 0x03A8, 0x03A9, + 0x03AC, 0x039D, 0x00AC, 0x039F, 0x03A1, 0x2248, 0x03A4, 0x00AB, + 0x00BB, 0x2026, 0x00A0, 0x03A5, 0x03A7, 0x0386, 0x0388, 0x0153, + 0x2013, 0x2015, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x0389, + 0x038A, 0x038C, 0x038E, 0x03AD, 0x03AE, 0x03AF, 0x03CC, 0x038F, + 0x03CD, 0x03B1, 0x03B2, 0x03C8, 0x03B4, 0x03B5, 0x03C6, 0x03B3, + 0x03B7, 0x03B9, 0x03BE, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BF, + 0x03C0, 0x03CE, 0x03C1, 0x03C3, 0x03C4, 0x03B8, 0x03C9, 0x03C2, + 0x03C7, 0x03C5, 0x03B6, 0x03CA, 0x03CB, 0x0390, 0x03B0, 0x00AD, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAC_HEBREW_CODE_PAGE = { + CODES_MAC_HEBREW, + {"MAC_HEBREW", "MACHEBREW", "windows-10005",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C4, 0xFB1F, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, + 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, + 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, + 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x20AA, 0x0027, + 0x0029, 0x0028, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x05DC, 0x201E, 0xF89B, 0xF89C, 0xF89D, 0xF89E, 0x05BC, 0xFB4B, + 0xFB35, 0x2026, 0x00A0, 0x05B8, 0x05B7, 0x05B5, 0x05B6, 0x05B4, + 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0xFB2A, 0xFB2B, + 0x05BF, 0x05B0, 0x05B2, 0x05B1, 0x05BB, 0x05B9, 0x05B8, 0x05B3, + 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, + 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, + 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, + 0x05E8, 0x05E9, 0x05EA, 0x007D, 0x005D, 0x007B, 0x005B, 0x007C, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAC_ICELAND_CODE_PAGE = { + CODES_MAC_ICELAND, + {"MAC_ICELAND", "MACICELAND", "windows-10079",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, + 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, + 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, + 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, + 0x00DD, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, + 0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, + 0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, + 0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, + 0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, + 0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, + 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, + 0x00FF, 0x0178, 0x2044, 0x20AC, 0x00D0, 0x00F0, 0x00DE, 0x00FE, + 0x00FD, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, + 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, + 0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, + 0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAC_ROMAN_CODE_PAGE = { + CODES_MAC_ROMAN, + {"MAC_ROMAN", "MACROMAN", "MACINTOSH", "CSMACINTOSH", "windows-10000",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, + 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, + 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, + 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, + 0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, + 0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, + 0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, + 0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, + 0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, + 0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, + 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, + 0x00FF, 0x0178, 0x2044, 0x20AC, 0x2039, 0x203A, 0xFB01, 0xFB02, + 0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, + 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, + 0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, + 0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAC_ROMANIA_CODE_PAGE = { + CODES_MAC_ROMANIA, + {"MAC_ROMANIA", "MACROMANIA", "windows-10010",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, + 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, + 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, + 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, + 0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, + 0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x0102, 0x0218, + 0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, + 0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x0103, 0x0219, + 0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, + 0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, + 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, + 0x00FF, 0x0178, 0x2044, 0x20AC, 0x2039, 0x203A, 0x021A, 0x021B, + 0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, + 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, + 0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0x0131, 0x02C6, 0x02DC, + 0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAC_THAI_CODE_PAGE = { + CODES_MAC_THAI, + {"MAC_THAI", "MACTHAI", "windows-10021",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00AB, 0x00BB, 0x2026, 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, + 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x201C, 0x201D, 0x0E4D, + 0xFFFD, 0x2022, 0x0E31, 0x0E47, 0x0E34, 0x0E35, 0x0E36, 0x0E37, + 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x2018, 0x2019, 0xFFFD, + 0x00A0, 0x0E01, 0x0E02, 0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07, + 0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F, + 0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14, 0x0E15, 0x0E16, 0x0E17, + 0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F, + 0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, + 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, + 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, + 0x0E38, 0x0E39, 0x0E3A, 0x2060, 0x200B, 0x2013, 0x2014, 0x0E3F, + 0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47, + 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x2122, 0x0E4F, + 0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57, + 0x0E58, 0x0E59, 0x00AE, 0x00A9, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAC_TURKISH_CODE_PAGE = { + CODES_MAC_TURKISH, + {"MAC_TURKISH", "MACTURKISH", "windows-10081",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C4, 0x00C5, 0x00C7, 0x00C9, 0x00D1, 0x00D6, 0x00DC, 0x00E1, + 0x00E0, 0x00E2, 0x00E4, 0x00E3, 0x00E5, 0x00E7, 0x00E9, 0x00E8, + 0x00EA, 0x00EB, 0x00ED, 0x00EC, 0x00EE, 0x00EF, 0x00F1, 0x00F3, + 0x00F2, 0x00F4, 0x00F6, 0x00F5, 0x00FA, 0x00F9, 0x00FB, 0x00FC, + 0x2020, 0x00B0, 0x00A2, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x00DF, + 0x00AE, 0x00A9, 0x2122, 0x00B4, 0x00A8, 0x2260, 0x00C6, 0x00D8, + 0x221E, 0x00B1, 0x2264, 0x2265, 0x00A5, 0x00B5, 0x2202, 0x2211, + 0x220F, 0x03C0, 0x222B, 0x00AA, 0x00BA, 0x03A9, 0x00E6, 0x00F8, + 0x00BF, 0x00A1, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, + 0x00BB, 0x2026, 0x00A0, 0x00C0, 0x00C3, 0x00D5, 0x0152, 0x0153, + 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x25CA, + 0x00FF, 0x0178, 0x011E, 0x011F, 0x0130, 0x0131, 0x015E, 0x015F, + 0x2021, 0x00B7, 0x201A, 0x201E, 0x2030, 0x00C2, 0x00CA, 0x00C1, + 0x00CB, 0x00C8, 0x00CD, 0x00CE, 0x00CF, 0x00CC, 0x00D3, 0x00D4, + 0xF8FF, 0x00D2, 0x00DA, 0x00DB, 0x00D9, 0xF8A0, 0x02C6, 0x02DC, + 0x00AF, 0x02D8, 0x02D9, 0x02DA, 0x00B8, 0x02DD, 0x02DB, 0x02C7, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MAIN_CODE_PAGE = { + CODES_MAIN, + {"ISO-8859-5", "ISOLatinCyrillic", "csISOLatinCyrillic", "iso-ir-144", "cyrillic", "ISO_8859-5", "ISO_8859-5:1988", "iso", "ISO8859_5", "ISO8859-5",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x00AD, 0x040E, 0x040F, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + 0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, + 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x00A7, 0x045E, 0x045F, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_MULELAO_CODE_PAGE = { + CODES_MULELAO, + {"MULELAO", "MULELAO-1",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F, + 0x00A0, 0x0E81, 0x0E82, 0xFFFD, 0x0E84, 0xFFFD, 0xFFFD, 0x0E87, + 0x0E88, 0xFFFD, 0x0E8A, 0xFFFD, 0xFFFD, 0x0E8D, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x0E94, 0x0E95, 0x0E96, 0x0E97, + 0xFFFD, 0x0E99, 0x0E9A, 0x0E9B, 0x0E9C, 0x0E9D, 0x0E9E, 0x0E9F, + 0xFFFD, 0x0EA1, 0x0EA2, 0x0EA3, 0xFFFD, 0x0EA5, 0xFFFD, 0x0EA7, + 0xFFFD, 0xFFFD, 0x0EAA, 0x0EAB, 0xFFFD, 0x0EAD, 0x0EAE, 0x0EAF, + 0x0EB0, 0x0EB1, 0x0EB2, 0x0EB3, 0x0EB4, 0x0EB5, 0x0EB6, 0x0EB7, + 0x0EB8, 0x0EB9, 0xFFFD, 0x0EBB, 0x0EBC, 0x0EBD, 0xFFFD, 0xFFFD, + 0x0EC0, 0x0EC1, 0x0EC2, 0x0EC3, 0x0EC4, 0xFFFD, 0x0EC6, 0xFFFD, + 0x0EC8, 0x0EC9, 0x0ECA, 0x0ECB, 0x0ECC, 0x0ECD, 0xFFFD, 0xFFFD, + 0x0ED0, 0x0ED1, 0x0ED2, 0x0ED3, 0x0ED4, 0x0ED5, 0x0ED6, 0x0ED7, + 0x0ED8, 0x0ED9, 0xFFFD, 0xFFFD, 0x0EDC, 0x0EDD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from mulelao.txt + +static const CodePage CODES_NEXTSTEP_CODE_PAGE = { + CODES_NEXTSTEP, + {"NEXTSTEP",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00A0, 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D9, + 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00B5, 0x00D7, 0x00F7, + 0x00A9, 0x00A1, 0x00A2, 0x00A3, 0x2044, 0x00A5, 0x0192, 0x00A7, + 0x00A4, 0x2019, 0x201C, 0x00AB, 0x2039, 0x203A, 0xFB01, 0xFB02, + 0x00AE, 0x2013, 0x2020, 0x2021, 0x00B7, 0x00A6, 0x00B6, 0x2022, + 0x201A, 0x201E, 0x201D, 0x00BB, 0x2026, 0x2030, 0x00AC, 0x00BF, + 0x00B9, 0x02CB, 0x00B4, 0x02C6, 0x02DC, 0x00AF, 0x02D8, 0x02D9, + 0x00A8, 0x00B2, 0x02DA, 0x00B8, 0x00B3, 0x02DD, 0x02DB, 0x02C7, + 0x2014, 0x00B1, 0x00BC, 0x00BD, 0x00BE, 0x00E0, 0x00E1, 0x00E2, + 0x00E3, 0x00E4, 0x00E5, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, + 0x00EC, 0x00C6, 0x00ED, 0x00AA, 0x00EE, 0x00EF, 0x00F0, 0x00F1, + 0x0141, 0x00D8, 0x0152, 0x00BA, 0x00F2, 0x00F3, 0x00F4, 0x00F5, + 0x00F6, 0x00E6, 0x00F9, 0x00FA, 0x00FB, 0x0131, 0x00FC, 0x00FD, + 0x0142, 0x00F8, 0x0153, 0x00DF, 0x00FE, 0x00FF, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_PT154_CODE_PAGE = { + CODES_PT154, + {"PT154", "PTCP154", "CP154", "CYRILLIC-ASIAN", "CSPTCP154",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0496, 0x0492, 0x04EE, 0x0493, 0x201E, 0x2026, 0x04B6, 0x04AE, + 0x04B2, 0x04AF, 0x04A0, 0x04E2, 0x04A2, 0x049A, 0x04BA, 0x04B8, + 0x0497, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x04B3, 0x04B7, 0x04A1, 0x04E3, 0x04A3, 0x049B, 0x04BB, 0x04B9, + 0x00A0, 0x040E, 0x045E, 0x0408, 0x04E8, 0x0498, 0x04B0, 0x00A7, + 0x0401, 0x00A9, 0x04D8, 0x00AB, 0x00AC, 0x04EF, 0x00AE, 0x049C, + 0x00B0, 0x04B1, 0x0406, 0x0456, 0x0499, 0x04E9, 0x00B6, 0x00B7, + 0x0451, 0x2116, 0x04D9, 0x00BB, 0x0458, 0x04AA, 0x04AB, 0x049D, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + }, + defchars[0], +}; // generated from pt154.txt + +static const CodePage CODES_RESERVED_2_CODE_PAGE = { + CODES_RESERVED_2, + {"reserved2",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x2020, 0x00B0, 0x0490, 0x00A3, 0x00A7, 0x2022, 0x00B6, 0x0406, + 0x00AE, 0x00A9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453, + 0x221E, 0x00B1, 0x2264, 0x2265, 0x0456, 0x00B5, 0x0491, 0x0408, + 0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040A, 0x045A, + 0x0458, 0x0405, 0x00AC, 0x221A, 0x0192, 0x2248, 0x2206, 0x00AB, + 0x00BB, 0x2026, 0x00A0, 0x040B, 0x045B, 0x040C, 0x045C, 0x0455, + 0x2013, 0x2014, 0x201C, 0x201D, 0x2018, 0x2019, 0x00F7, 0x201E, + 0x040E, 0x045E, 0x040F, 0x045F, 0x2116, 0x0401, 0x0451, 0x044F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x20AC, + }, + defchars[0], +}; // generated from reserved.txt + +static const CodePage CODES_RESERVED_3_CODE_PAGE = { + CODES_RESERVED_3, + {"reserved3",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from reserved.txt + +static const CodePage CODES_RISCOS_LATIN1_CODE_PAGE = { + CODES_RISCOS_LATIN1, + {"RISCOS-LATIN1", "RISCOS_LATIN1",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x221A, 0x0174, 0x0175, 0x0083, 0x2573, 0x0176, 0x0177, 0x0087, + 0x21E6, 0x21E8, 0x21E9, 0x21E7, 0x2026, 0x2122, 0x2030, 0x2022, + 0x2018, 0x2019, 0x2039, 0x203A, 0x201C, 0x201D, 0x201E, 0x2013, + 0x2014, 0x2212, 0x0152, 0x0153, 0x2020, 0x2021, 0xFB01, 0xFB02, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, + 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, + }, + defchars[0], +}; // generated from riscos_latin1.txt + +static const CodePage CODES_RK1048_CODE_PAGE = { + CODES_RK1048, + {"RK1048", "STRK1048-2002", "KZ-1048", "CSKZ1048",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021, + 0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x049A, 0x04BA, 0x040F, + 0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0xFFFD, 0x2122, 0x0459, 0x203A, 0x045A, 0x049B, 0x04BB, 0x045F, + 0x00A0, 0x04B0, 0x04B1, 0x04D8, 0x00A4, 0x04E8, 0x00A6, 0x00A7, + 0x0401, 0x00A9, 0x0492, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x04AE, + 0x00B0, 0x00B1, 0x0406, 0x0456, 0x04E9, 0x00B5, 0x00B6, 0x00B7, + 0x0451, 0x2116, 0x0493, 0x00BB, 0x04D9, 0x04A2, 0x04A3, 0x04AF, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + }, + defchars[0], +}; // generated from rk1048.txt + +static const CodePage CODES_SHIFT_JIS_CODE_PAGE = { + CODES_SHIFT_JIS, + {"SHIFT_JIS", "MS_KANJI", "SJIS", "CSSHIFTJIS",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_TATWIN_CODE_PAGE = { + CODES_TATWIN, + {"windows-1251-t", "cp1251t", "1251t", "tatwin",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x04D8, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021, + 0x20AC, 0x2030, 0x04E8, 0x2039, 0x04AE, 0x0496, 0x04A2, 0x04BA, + 0x04D9, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x0098, 0x2122, 0x04E9, 0x203A, 0x04AF, 0x0497, 0x04A3, 0x04BB, + 0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7, + 0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407, + 0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7, + 0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + }, + defchars[0], +}; // generated from cp1251-tat.txt + +static const CodePage CODES_TCVN_CODE_PAGE = { + CODES_TCVN, + {"TCVN", "TCVN-5712", "TCVN5712-1", "TCVN5712-1:1993",}, + { + 0x0000, 0x00DA, 0x1EE4, 0x0003, 0x1EEA, 0x1EEC, 0x1EEE, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x1EE8, 0x1EF0, 0x1EF2, 0x1EF6, 0x1EF8, 0x00DD, 0x1EF4, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x00C0, 0x1EA2, 0x00C3, 0x00C1, 0x1EA0, 0x1EB6, 0x1EAC, 0x00C8, + 0x1EBA, 0x1EBC, 0x00C9, 0x1EB8, 0x1EC6, 0x00CC, 0x1EC8, 0x0128, + 0x00CD, 0x1ECA, 0x00D2, 0x1ECE, 0x00D5, 0x00D3, 0x1ECC, 0x1ED8, + 0x1EDC, 0x1EDE, 0x1EE0, 0x1EDA, 0x1EE2, 0x00D9, 0x1EE6, 0x0168, + 0x00A0, 0x0102, 0x00C2, 0x00CA, 0x00D4, 0x01A0, 0x01AF, 0x0110, + 0x0103, 0x00E2, 0x00EA, 0x00F4, 0x01A1, 0x01B0, 0x0111, 0x1EB0, + 0x0300, 0x0309, 0x0303, 0x0301, 0x0323, 0x00E0, 0x1EA3, 0x00E3, + 0x00E1, 0x1EA1, 0x1EB2, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EAF, 0x1EB4, + 0x1EAE, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EA4, 0x1EC0, 0x1EB7, 0x1EA7, + 0x1EA9, 0x1EAB, 0x1EA5, 0x1EAD, 0x00E8, 0x1EC2, 0x1EBB, 0x1EBD, + 0x00E9, 0x1EB9, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EBF, 0x1EC7, 0x00EC, + 0x1EC9, 0x1EC4, 0x1EBE, 0x1ED2, 0x0129, 0x00ED, 0x1ECB, 0x00F2, + 0x1ED4, 0x1ECF, 0x00F5, 0x00F3, 0x1ECD, 0x1ED3, 0x1ED5, 0x1ED7, + 0x1ED1, 0x1ED9, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EDB, 0x1EE3, 0x00F9, + 0x1ED6, 0x1EE7, 0x0169, 0x00FA, 0x1EE5, 0x1EEB, 0x1EED, 0x1EEF, + 0x1EE9, 0x1EF1, 0x1EF3, 0x1EF7, 0x1EF9, 0x00FD, 0x1EF5, 0x1ED0, + }, + defchars[0], +}; // generated from tcvn.txt + +static const CodePage CODES_TDS565_CODE_PAGE = { + CODES_TDS565, + {"TDS565",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x00C7, 0x0044, 0x0045, 0x00C4, 0x0046, + 0x0047, 0x0048, 0x0049, 0x004A, 0x017D, 0x004B, 0x004C, 0x004D, + 0x004E, 0x0147, 0x004F, 0x00D6, 0x0050, 0x0052, 0x0053, 0x015E, + 0x0054, 0x0055, 0x00DC, 0x0057, 0x0059, 0x00DD, 0x005A, 0x005F, + 0x2116, 0x0061, 0x0062, 0x00E7, 0x0064, 0x0065, 0x00E4, 0x0066, + 0x0067, 0x0068, 0x0069, 0x006A, 0x017E, 0x006B, 0x006C, 0x006D, + 0x006E, 0x0148, 0x006F, 0x00F6, 0x0070, 0x0072, 0x0073, 0x015F, + 0x0074, 0x0075, 0x00FC, 0x0077, 0x0079, 0x00FD, 0x007A, 0x007F, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from tds565.txt + +static const CodePage CODES_TIS620_CODE_PAGE = { + CODES_TIS620, + {"TIS620", "TIS-620", "TIS620-0", "TIS620.2529-1", "TIS620.2533-0", "TIS620.2533-1", "ISO-IR-166",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x0E01, 0x0E02, 0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07, + 0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F, + 0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14, 0x0E15, 0x0E16, 0x0E17, + 0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F, + 0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, + 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, + 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, + 0x0E38, 0x0E39, 0x0E3A, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0x0E3F, + 0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47, + 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F, + 0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57, + 0x0E58, 0x0E59, 0x0E5A, 0x0E5B, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + }, + defchars[0], +}; // generated from tis620.txt + +static const CodePage CODES_UNKNOWNPLANE_CODE_PAGE = { + CODES_UNKNOWNPLANE, + {"unknownplane", "unknown-plane",}, + { + 0x0000, 0xF001, 0xF002, 0xF003, 0xF004, 0xF005, 0xF006, 0xF007, + 0xF008, 0xF009, 0xF00A, 0xF00B, 0xF00C, 0xF00D, 0xF00E, 0xF00F, + 0xF010, 0xF011, 0xF012, 0xF013, 0xF014, 0xF015, 0xF016, 0xF017, + 0xF018, 0xF019, 0xF01A, 0xF01B, 0xF01C, 0xF01D, 0xF01E, 0xF01F, + 0xF020, 0xF021, 0xF022, 0xF023, 0xF024, 0xF025, 0xF026, 0xF027, + 0xF028, 0xF029, 0xF02A, 0xF02B, 0xF02C, 0xF02D, 0xF02E, 0xF02F, + 0xF030, 0xF031, 0xF032, 0xF033, 0xF034, 0xF035, 0xF036, 0xF037, + 0xF038, 0xF039, 0xF03A, 0xF03B, 0xF03C, 0xF03D, 0xF03E, 0xF03F, + 0xF040, 0xF041, 0xF042, 0xF043, 0xF044, 0xF045, 0xF046, 0xF047, + 0xF048, 0xF049, 0xF04A, 0xF04B, 0xF04C, 0xF04D, 0xF04E, 0xF04F, + 0xF050, 0xF051, 0xF052, 0xF053, 0xF054, 0xF055, 0xF056, 0xF057, + 0xF058, 0xF059, 0xF05A, 0xF05B, 0xF05C, 0xF05D, 0xF05E, 0xF05F, + 0xF060, 0xF061, 0xF062, 0xF063, 0xF064, 0xF065, 0xF066, 0xF067, + 0xF068, 0xF069, 0xF06A, 0xF06B, 0xF06C, 0xF06D, 0xF06E, 0xF06F, + 0xF070, 0xF071, 0xF072, 0xF073, 0xF074, 0xF075, 0xF076, 0xF077, + 0xF078, 0xF079, 0xF07A, 0xF07B, 0xF07C, 0xF07D, 0xF07E, 0xF07F, + 0xF080, 0xF081, 0xF082, 0xF083, 0xF084, 0xF085, 0xF086, 0xF087, + 0xF088, 0xF089, 0xF08A, 0xF08B, 0xF08C, 0xF08D, 0xF08E, 0xF08F, + 0xF090, 0xF091, 0xF092, 0xF093, 0xF094, 0xF095, 0xF096, 0xF097, + 0xF098, 0xF099, 0xF09A, 0xF09B, 0xF09C, 0xF09D, 0xF09E, 0xF09F, + 0xF0A0, 0xF0A1, 0xF0A2, 0xF0A3, 0xF0A4, 0xF0A5, 0xF0A6, 0xF0A7, + 0xF0A8, 0xF0A9, 0xF0AA, 0xF0AB, 0xF0AC, 0xF0AD, 0xF0AE, 0xF0AF, + 0xF0B0, 0xF0B1, 0xF0B2, 0xF0B3, 0xF0B4, 0xF0B5, 0xF0B6, 0xF0B7, + 0xF0B8, 0xF0B9, 0xF0BA, 0xF0BB, 0xF0BC, 0xF0BD, 0xF0BE, 0xF0BF, + 0xF0C0, 0xF0C1, 0xF0C2, 0xF0C3, 0xF0C4, 0xF0C5, 0xF0C6, 0xF0C7, + 0xF0C8, 0xF0C9, 0xF0CA, 0xF0CB, 0xF0CC, 0xF0CD, 0xF0CE, 0xF0CF, + 0xF0D0, 0xF0D1, 0xF0D2, 0xF0D3, 0xF0D4, 0xF0D5, 0xF0D6, 0xF0D7, + 0xF0D8, 0xF0D9, 0xF0DA, 0xF0DB, 0xF0DC, 0xF0DD, 0xF0DE, 0xF0DF, + 0xF0E0, 0xF0E1, 0xF0E2, 0xF0E3, 0xF0E4, 0xF0E5, 0xF0E6, 0xF0E7, + 0xF0E8, 0xF0E9, 0xF0EA, 0xF0EB, 0xF0EC, 0xF0ED, 0xF0EE, 0xF0EF, + 0xF0F0, 0xF0F1, 0xF0F2, 0xF0F3, 0xF0F4, 0xF0F5, 0xF0F6, 0xF0F7, + 0xF0F8, 0xF0F9, 0xF0FA, 0xF0FB, 0xF0FC, 0xF0FD, 0xF0FE, 0xF0FF, + }, + defchars[0], +}; // generated from unknown.txt + +static const CodePage CODES_UTF8_CODE_PAGE = { + CODES_UTF8, + {"utf-8",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_UTF_16BE_CODE_PAGE = { + CODES_UTF_16BE, + {"UTF-16BE",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_UTF_16LE_CODE_PAGE = { + CODES_UTF_16LE, + {"UTF-16LE", "UTF-16",}, + {}, + nullptr, +}; // generated from multibyte.txt + +static const CodePage CODES_VISCII_CODE_PAGE = { + CODES_VISCII, + {"VISCII", "VISCII1.1-1", "CSVISCII",}, + { + 0x0000, 0x0001, 0x1EB2, 0x0003, 0x0004, 0x1EB4, 0x1EAA, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x1EF6, 0x0015, 0x0016, 0x0017, + 0x0018, 0x1EF8, 0x001A, 0x001B, 0x001C, 0x001D, 0x1EF4, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x1EA0, 0x1EAE, 0x1EB0, 0x1EB6, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAC, + 0x1EBC, 0x1EB8, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1ED0, + 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EE2, 0x1EDA, 0x1EDC, 0x1EDE, + 0x1ECA, 0x1ECE, 0x1ECC, 0x1EC8, 0x1EE6, 0x0168, 0x1EE4, 0x1EF2, + 0x00D5, 0x1EAF, 0x1EB1, 0x1EB7, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAD, + 0x1EBD, 0x1EB9, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1ED1, + 0x1ED3, 0x1ED5, 0x1ED7, 0x1EE0, 0x01A0, 0x1ED9, 0x1EDD, 0x1EDF, + 0x1ECB, 0x1EF0, 0x1EE8, 0x1EEA, 0x1EEC, 0x01A1, 0x1EDB, 0x01AF, + 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x1EA2, 0x0102, 0x1EB3, 0x1EB5, + 0x00C8, 0x00C9, 0x00CA, 0x1EBA, 0x00CC, 0x00CD, 0x0128, 0x1EF3, + 0x0110, 0x1EE9, 0x00D2, 0x00D3, 0x00D4, 0x1EA1, 0x1EF7, 0x1EEB, + 0x1EED, 0x00D9, 0x00DA, 0x1EF9, 0x1EF5, 0x00DD, 0x1EE1, 0x01B0, + 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x1EA3, 0x0103, 0x1EEF, 0x1EAB, + 0x00E8, 0x00E9, 0x00EA, 0x1EBB, 0x00EC, 0x00ED, 0x0129, 0x1EC9, + 0x0111, 0x1EF1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x1ECF, 0x1ECD, + 0x1EE5, 0x00F9, 0x00FA, 0x0169, 0x1EE7, 0x00FD, 0x1EE3, 0x1EEE, + }, + defchars[0], +}; // generated from viscii.txt + +static const CodePage CODES_WIN_CODE_PAGE = { + CODES_WIN, + {"windows-1251", "cp1251", "1251", "win",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021, + 0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F, + 0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0xFFFD, 0x2122, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F, + 0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7, + 0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407, + 0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7, + 0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_WINDOWS_1253_CODE_PAGE = { + CODES_WINDOWS_1253, + {"windows-1253",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x20AC, 0xFFFD, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, + 0xFFFD, 0x2030, 0xFFFD, 0x2039, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0xFFFD, 0x2122, 0xFFFD, 0x203A, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0x00A0, 0x0385, 0x0386, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0xFFFD, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x2015, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x00B5, 0x00B6, 0x00B7, + 0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F, + 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, + 0x03A0, 0x03A1, 0xFFFD, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, + 0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF, + 0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, + 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, + 0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, + 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0xFFFD, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_WINDOWS_1254_CODE_PAGE = { + CODES_WINDOWS_1254, + {"windows-1254",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x20AC, 0xFFFD, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, + 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0xFFFD, 0xFFFD, 0x0178, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, + 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, + 0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, + 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF, + 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, + 0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, + 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_WINDOWS_1255_CODE_PAGE = { + CODES_WINDOWS_1255, + {"windows-1255",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x20AC, 0xFFFD, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, + 0x02C6, 0x2030, 0xFFFD, 0x2039, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0xFFFD, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x02DC, 0x2122, 0xFFFD, 0x203A, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AA, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x00D7, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x00F7, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, + 0x05B0, 0x05B1, 0x05B2, 0x05B3, 0x05B4, 0x05B5, 0x05B6, 0x05B7, + 0x05B8, 0x05B9, 0xFFFD, 0x05BB, 0x05BC, 0x05BD, 0x05BE, 0x05BF, + 0x05C0, 0x05C1, 0x05C2, 0x05C3, 0x05F0, 0x05F1, 0x05F2, 0x05F3, + 0x05F4, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, 0xFFFD, + 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, + 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF, + 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, + 0x05E8, 0x05E9, 0x05EA, 0xFFFD, 0xFFFD, 0x200E, 0x200F, 0xFFFD, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_WINDOWS_1256_CODE_PAGE = { + CODES_WINDOWS_1256, + {"windows-1256",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x20AC, 0x067E, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, + 0x02C6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688, + 0x06AF, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0x06A9, 0x2122, 0x0691, 0x203A, 0x0153, 0x200C, 0x200D, 0x06BA, + 0x00A0, 0x060C, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x06BE, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x00B9, 0x061B, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x061F, + 0x06C1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, + 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F, + 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00D7, + 0x0637, 0x0638, 0x0639, 0x063A, 0x0640, 0x0641, 0x0642, 0x0643, + 0x00E0, 0x0644, 0x00E2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00E7, + 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0649, 0x064A, 0x00EE, 0x00EF, + 0x064B, 0x064C, 0x064D, 0x064E, 0x00F4, 0x064F, 0x0650, 0x00F7, + 0x0651, 0x00F9, 0x0652, 0x00FB, 0x00FC, 0x200E, 0x200F, 0x06D2, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_WINDOWS_1257_CODE_PAGE = { + CODES_WINDOWS_1257, + {"windows-1257",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x20AC, 0xFFFD, 0x201A, 0xFFFD, 0x201E, 0x2026, 0x2020, 0x2021, + 0xFFFD, 0x2030, 0xFFFD, 0x2039, 0xFFFD, 0x00A8, 0x02C7, 0x00B8, + 0xFFFD, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0xFFFD, 0x2122, 0xFFFD, 0x203A, 0xFFFD, 0x00AF, 0x02DB, 0xFFFD, + 0x00A0, 0xFFFD, 0x00A2, 0x00A3, 0x00A4, 0xFFFD, 0x00A6, 0x00A7, + 0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6, + 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6, + 0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, + 0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B, + 0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7, + 0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF, + 0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, + 0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C, + 0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7, + 0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x02D9, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_WIN_EAST_CODE_PAGE = { + CODES_WIN_EAST, + {"windows-1250", "cp1250", "1250", "win-east",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x20AC, 0xFFFD, 0x201A, 0xFFFD, 0x201E, 0x2026, 0x2020, 0x2021, + 0xFFFD, 0x2030, 0x0160, 0x2039, 0x015A, 0x0164, 0x017D, 0x0179, + 0xFFFD, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0xFFFD, 0x2122, 0x0161, 0x203A, 0x015B, 0x0165, 0x017E, 0x017A, + 0x00A0, 0x02C7, 0x02D8, 0x0141, 0x00A4, 0x0104, 0x00A6, 0x00A7, + 0x00A8, 0x00A9, 0x015E, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x017B, + 0x00B0, 0x00B1, 0x02DB, 0x0142, 0x00B4, 0x00B5, 0x00B6, 0x00B7, + 0x00B8, 0x0105, 0x015F, 0x00BB, 0x013D, 0x02DD, 0x013E, 0x017C, + 0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7, + 0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E, + 0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7, + 0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF, + 0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7, + 0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F, + 0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7, + 0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9, + }, + defchars[0], +}; // generated from listing.txt + +static const CodePage CODES_YANDEX_CODE_PAGE = { + CODES_YANDEX, + {"yandex",}, + { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, + 0x0301, 0x00C4, 0x00D6, 0x00DC, 0x0104, 0x0106, 0x0118, 0x0141, + 0x00E0, 0x00E2, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x0490, 0x00AD, + 0x00DF, 0x00E4, 0x00F6, 0x00FC, 0x0105, 0x0107, 0x0119, 0x0142, + 0x00EB, 0x00EE, 0x00EF, 0x00F4, 0x00F9, 0x00FB, 0x0491, 0x92CF, + 0x00A0, 0x0143, 0x00D3, 0x015A, 0x017B, 0x0179, 0x046C, 0x00A7, + 0x0401, 0x0462, 0x0472, 0x0474, 0x040E, 0x0406, 0x0404, 0x0407, + 0x00B0, 0x0144, 0x00F3, 0x015B, 0x017C, 0x017A, 0x046D, 0x2116, + 0x0451, 0x0463, 0x0473, 0x0475, 0x045E, 0x0456, 0x0454, 0x0457, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, + }, + defchars[1], +}; // generated from yandex.txt + +const char defchars[][DEFCHAR_BUF] = { + {"\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077"}, // generated from ascii_dc.txt + {"\077\xA6\xB6\xA6\055\xB6\x9F\x9F\x9F\x9F\x9F\x9F\x9F\200\200\200\071\130\077\071\040\040\n\n\x1A\x1A\x1A\x1A\x1A\x1A\x1A\077\077\055\055\050\042\051\042\042\042\137\052\042\056\055\055\075\055\044\140\xB0\047\047\047\047\047"}, // generated from yandex_dc.txt +}; + +const CodePage* const NCodepagePrivate::TCodePageData::AllCodePages[] = { + &CODES_ALT_CODE_PAGE, + &CODES_ARMSCII_CODE_PAGE, + &CODES_ASCII_CODE_PAGE, + &CODES_BIG5_CODE_PAGE, + &CODES_BIG5_HKSCS_CODE_PAGE, + &CODES_BIG5_HKSCS_1999_CODE_PAGE, + &CODES_BIG5_HKSCS_2001_CODE_PAGE, + &CODES_CP1046_CODE_PAGE, + &CODES_CP1124_CODE_PAGE, + &CODES_CP1125_CODE_PAGE, + &CODES_CP1129_CODE_PAGE, + &CODES_CP1131_CODE_PAGE, + &CODES_CP1133_CODE_PAGE, + &CODES_CP1161_CODE_PAGE, + &CODES_CP1162_CODE_PAGE, + &CODES_CP1163_CODE_PAGE, + &CODES_CP1258_CODE_PAGE, + &CODES_CP437_CODE_PAGE, + &CODES_CP737_CODE_PAGE, + &CODES_CP775_CODE_PAGE, + &CODES_CP850_CODE_PAGE, + &CODES_CP852_CODE_PAGE, + &CODES_CP853_CODE_PAGE, + &CODES_CP856_CODE_PAGE, + &CODES_CP857_CODE_PAGE, + &CODES_CP858_CODE_PAGE, + &CODES_CP860_CODE_PAGE, + &CODES_CP861_CODE_PAGE, + &CODES_CP862_CODE_PAGE, + &CODES_CP863_CODE_PAGE, + &CODES_CP864_CODE_PAGE, + &CODES_CP865_CODE_PAGE, + &CODES_CP869_CODE_PAGE, + &CODES_CP874_CODE_PAGE, + &CODES_CP922_CODE_PAGE, + &CODES_CP932_CODE_PAGE, + &CODES_CP936_CODE_PAGE, + &CODES_CP949_CODE_PAGE, + &CODES_CP950_CODE_PAGE, + &CODES_EUC_CN_CODE_PAGE, + &CODES_EUC_JP_CODE_PAGE, + &CODES_EUC_KR_CODE_PAGE, + &CODES_EUC_TW_CODE_PAGE, + &CODES_GB18030_CODE_PAGE, + &CODES_GBK_CODE_PAGE, + &CODES_GEO_ITA_CODE_PAGE, + &CODES_GEO_PS_CODE_PAGE, + &CODES_HP_ROMAN8_CODE_PAGE, + &CODES_HZ_CODE_PAGE, + &CODES_IBM855_CODE_PAGE, + &CODES_ISO646_CN_CODE_PAGE, + &CODES_ISO646_JP_CODE_PAGE, + &CODES_ISO8859_10_CODE_PAGE, + &CODES_ISO8859_11_CODE_PAGE, + &CODES_ISO8859_14_CODE_PAGE, + &CODES_ISO_2022_CN_CODE_PAGE, + &CODES_ISO_2022_CN_EXT_CODE_PAGE, + &CODES_ISO_2022_JP_CODE_PAGE, + &CODES_ISO_2022_JP_1_CODE_PAGE, + &CODES_ISO_2022_JP_2_CODE_PAGE, + &CODES_ISO_2022_KR_CODE_PAGE, + &CODES_ISO_8859_13_CODE_PAGE, + &CODES_ISO_8859_15_CODE_PAGE, + &CODES_ISO_8859_16_CODE_PAGE, + &CODES_ISO_8859_3_CODE_PAGE, + &CODES_ISO_8859_4_CODE_PAGE, + &CODES_ISO_8859_6_CODE_PAGE, + &CODES_ISO_8859_7_CODE_PAGE, + &CODES_ISO_8859_8_CODE_PAGE, + &CODES_ISO_8859_9_CODE_PAGE, + &CODES_ISO_EAST_CODE_PAGE, + &CODES_JISX0201_CODE_PAGE, + &CODES_JOHAB_CODE_PAGE, + &CODES_KAZWIN_CODE_PAGE, + &CODES_KOI8_CODE_PAGE, + &CODES_KOI8_T_CODE_PAGE, + &CODES_MAC_CODE_PAGE, + &CODES_MAC_ARABIC_CODE_PAGE, + &CODES_MAC_CENTRALEUROPE_CODE_PAGE, + &CODES_MAC_CROATIAN_CODE_PAGE, + &CODES_MAC_GREEK_CODE_PAGE, + &CODES_MAC_HEBREW_CODE_PAGE, + &CODES_MAC_ICELAND_CODE_PAGE, + &CODES_MAC_ROMAN_CODE_PAGE, + &CODES_MAC_ROMANIA_CODE_PAGE, + &CODES_MAC_THAI_CODE_PAGE, + &CODES_MAC_TURKISH_CODE_PAGE, + &CODES_MAIN_CODE_PAGE, + &CODES_MULELAO_CODE_PAGE, + &CODES_NEXTSTEP_CODE_PAGE, + &CODES_PT154_CODE_PAGE, + &CODES_RESERVED_2_CODE_PAGE, + &CODES_RESERVED_3_CODE_PAGE, + &CODES_RISCOS_LATIN1_CODE_PAGE, + &CODES_RK1048_CODE_PAGE, + &CODES_SHIFT_JIS_CODE_PAGE, + &CODES_TATWIN_CODE_PAGE, + &CODES_TCVN_CODE_PAGE, + &CODES_TDS565_CODE_PAGE, + &CODES_TIS620_CODE_PAGE, + &CODES_UNKNOWNPLANE_CODE_PAGE, + &CODES_UTF8_CODE_PAGE, + &CODES_UTF_16BE_CODE_PAGE, + &CODES_UTF_16LE_CODE_PAGE, + &CODES_VISCII_CODE_PAGE, + &CODES_WIN_CODE_PAGE, + &CODES_WINDOWS_1253_CODE_PAGE, + &CODES_WINDOWS_1254_CODE_PAGE, + &CODES_WINDOWS_1255_CODE_PAGE, + &CODES_WINDOWS_1256_CODE_PAGE, + &CODES_WINDOWS_1257_CODE_PAGE, + &CODES_WIN_EAST_CODE_PAGE, + &CODES_YANDEX_CODE_PAGE, +}; + +const CodePage& csYandex = CODES_YANDEX_CODE_PAGE; diff --git a/library/cpp/charset/generated/encrec_data.cpp b/library/cpp/charset/generated/encrec_data.cpp new file mode 100644 index 0000000000..c1a8579dac --- /dev/null +++ b/library/cpp/charset/generated/encrec_data.cpp @@ -0,0 +1,15082 @@ +#include <library/cpp/charset/codepage.h> +#include <library/cpp/charset/wide.h> + +extern const char defchars[][DEFCHAR_BUF]; +static const char PP_00[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P00 (char*)PP_00 +static const char PP_01[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\000\000\244\000\246\247\000\251\000\253\254\255\256\000\260\261\000\000" + "\000\265\266\267\000\000\000\273\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P01 (char*)PP_01 +static const char PP_02[257] = + "\000\250\200\201\252\275\262\257\243\212\214\216\215\000\241\217\300\301" + "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323" + "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\000\270\220\203\272\276\263\277\274\232" + "\234\236\235\000\242\237\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\245\264\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P02 (char*)PP_02 +static const char PP_03[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\226\227\000\000\000\221\222\202\000\223\224\204\000\206\207\225\000" + "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000" + "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P03 (char*)PP_03 +static const char PP_04[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\271\000\000\000\000\000\000\000\000\000\000\000\231\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P04 (char*)PP_04 +static const char PP_05[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\232\000" + "\000\000\000\000\000\000\000\277\000\000\000\000\000\000\234\000\235\000" + "\000\000\000\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000" + "\000\000\000\000"; +#define P05 (char*)PP_05 +static const char PP_06[257] = + "\000\263\000\000\264\000\266\267\000\000\000\000\000\000\000\000\341\342" + "\367\347\344\345\366\372\351\352\353\354\355\356\357\360\362\363\364\365" + "\346\350\343\376\373\375\377\371\370\374\340\361\301\302\327\307\304\305" + "\326\332\311\312\313\314\315\316\317\320\322\323\324\325\306\310\303\336" + "\333\335\337\331\330\334\300\321\000\243\000\000\244\000\246\247\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\275\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P06 (char*)PP_06 +static const char PP_07[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\225\226\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\227\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\230\231\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P07 (char*)PP_07 +static const char PP_08[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\223\233\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P08 (char*)PP_08 +static const char PP_09[257] = + "\200\000\201\000\000\000\000\000\000\000\000\000\202\000\000\000\203\000" + "\000\000\204\000\000\000\205\000\000\000\206\000\000\000\000\000\000\000" + "\207\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\211\000" + "\000\000\000\000\000\000\212\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\240\241\242\000\245\000\000\250\251\252" + "\253\254\000\256\257\260\261\262\000\265\000\000\270\271\272\273\274\000" + "\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\213\000\000\000\214\000\000\000\215\000\000\000\216\000\000\000" + "\217\220\221\222\000\000\000\000\000\000\000\000\000\000\000\000\224\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P09 (char*)PP_09 +static const char PP_10[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\000\000\375\000\000\000\000\000\000\000\000\000\000\000\370\000\000\000" + "\000\000\000\372\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P10 (char*)PP_10 +static const char PP_11[257] = + "\000\360\000\000\362\000\000\364\000\000\000\000\000\000\366\000\200\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223" + "\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245" + "\246\247\250\251\252\253\254\255\256\257\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\000\361\000\000\363\000\000\365\000\000" + "\000\000\000\000\367\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P11 (char*)PP_11 +static const char PP_12[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\374\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P12 (char*)PP_12 +static const char PP_13[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\371\373\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P13 (char*)PP_13 +static const char PP_14[257] = + "\304\000\263\000\000\000\000\000\000\000\000\000\332\000\000\000\277\000" + "\000\000\300\000\000\000\331\000\000\000\303\000\000\000\000\000\000\000" + "\264\000\000\000\000\000\000\000\302\000\000\000\000\000\000\000\301\000" + "\000\000\000\000\000\000\305\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\315\272\325\326\311\270\267\273\324\323" + "\310\276\275\274\306\307\314\265\266\271\321\322\313\317\320\312\330\327" + "\316\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\337\000\000\000\334\000\000\000\333\000\000\000\335\000\000\000" + "\336\260\261\262\000\000\000\000\000\000\000\000\000\000\000\000\376\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P14 (char*)PP_14 +static const char PP_15[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312\000" + "\000\243\000\000\000\244\000\251\000\307\302\000\250\000\241\261\000\000" + "\000\265\246\000\000\000\000\310\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\326\000\000\000\000" + "\000\000\000\000"; +#define P15 (char*)PP_15 +static const char PP_16[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\304\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P16 (char*)PP_16 +static const char PP_17[257] = + "\000\335\253\256\270\301\247\272\267\274\276\313\315\000\330\332\200\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223" + "\224\225\226\227\230\231\232\233\234\235\236\237\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\337\000\336\254\257\271\317\264\273\300\275" + "\277\314\316\000\331\333\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\242\266\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P17 (char*)PP_17 +static const char PP_18[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\320\321\000\000\000\324\325\000\000\322\323\327\000\240\000\245\000" + "\000\000\311\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\377\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P18 (char*)PP_18 +static const char PP_19[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\334\000\000\000\000\000\000\000\000\000\000\000\252\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P19 (char*)PP_19 +static const char PP_20[257] = + "\000\000\000\000\000\000\306\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\303\000\000\000\260\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\305\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\255\000\000\000\262\263\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P20 (char*)PP_20 +static const char PP_21[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\000\000\000\000\000\375\000\000\000\000\000\255\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P21 (char*)PP_21 +static const char PP_22[257] = + "\000\241\242\243\244\245\246\247\250\251\252\253\254\000\256\257\260\261" + "\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325" + "\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\000\361\362\363\364\365\366\367\370\371" + "\372\373\374\000\376\377\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P22 (char*)PP_22 +static const char PP_23[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\360\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P23 (char*)PP_23 +static const char PP_24[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"; +#define P24 (char*)PP_24 +static const char PP_25[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\214\234\000\000\000\000\000\000" + "\000\000\000\000\000\000\212\232\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\216" + "\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P25 (char*)PP_25 +static const char PP_26[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P26 (char*)PP_26 +static const char PP_27[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\226\227\000\000\000\221\222\202\000\223\224\204\000\206\207\225\000" + "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000" + "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P27 (char*)PP_27 +static const char PP_28[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\231\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P28 (char*)PP_28 +static const char PP_29[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P29 (char*)PP_29 +static const char PP_30[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\000\000\244\000\246\247\250\251\000\253\254\255\256\000\260\261\000\000" + "\264\265\266\267\270\000\000\273\000\000\000\000\000\301\302\000\304\000" + "\000\307\000\311\000\313\000\315\316\000\000\000\000\323\324\000\326\327" + "\000\000\332\000\334\335\000\337\000\341\342\000\344\000\000\347\000\351" + "\000\353\000\355\356\000\000\000\000\363\364\000\366\367\000\000\372\000" + "\374\375\000\000"; +#define P30 (char*)PP_30 +static const char PP_31[257] = + "\000\000\303\343\245\271\306\346\000\000\000\000\310\350\317\357\320\360" + "\000\000\000\000\000\000\312\352\314\354\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\305\345\000\000\274\276\000\000\243\263\321\361\000\000\322" + "\362\000\000\000\000\000\000\000\325\365\000\000\300\340\000\000\330\370" + "\214\234\000\000\252\272\212\232\336\376\215\235\000\000\000\000\000\000" + "\000\000\331\371\333\373\000\000\000\000\000\000\000\217\237\257\277\216" + "\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P31 (char*)PP_31 +static const char PP_32[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\242\377\000\262\000\275\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P32 (char*)PP_32 +static const char PP_33[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\000\000\244\000\000\247\250\000\000\000\000\255\000\000\260\000\000\000" + "\264\000\000\000\270\000\000\000\000\000\000\000\000\301\302\000\304\000" + "\000\307\000\311\000\313\000\315\316\000\000\000\000\323\324\000\326\327" + "\000\000\332\000\334\335\000\337\000\341\342\000\344\000\000\347\000\351" + "\000\353\000\355\356\000\000\000\000\363\364\000\366\367\000\000\372\000" + "\374\375\000\000"; +#define P33 (char*)PP_33 +static const char PP_34[257] = + "\000\000\303\343\241\261\306\346\000\000\000\000\310\350\317\357\320\360" + "\000\000\000\000\000\000\312\352\314\354\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\305\345\000\000\245\265\000\000\243\263\321\361\000\000\322" + "\362\000\000\000\000\000\000\000\325\365\000\000\300\340\000\000\330\370" + "\246\266\000\000\252\272\251\271\336\376\253\273\000\000\000\000\000\000" + "\000\000\331\371\333\373\000\000\000\000\000\000\000\254\274\257\277\256" + "\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P34 (char*)PP_34 +static const char PP_35[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\267\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\242\377\000\262\000\275\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P35 (char*)PP_35 +static const char PP_36[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\000\000\000\000\000\247\000\000\141\000\000\217\000\000\260\000\062\063" + "\000\000\000\000\000\061\157\000\061\061\063\000\101\101\101\101\201\101" + "\000\103\105\105\105\105\111\111\111\111\000\116\117\242\117\117\202\000" + "\000\125\125\125\203\131\000\220\210\141\211\141\221\141\000\212\213\214" + "\215\230\151\151\231\232\000\156\157\262\233\157\222\000\000\234\165\235" + "\223\171\000\171"; +#define P36 (char*)PP_36 +static const char PP_37[257] = + "\101\141\101\141\204\224\205\225\103\143\103\143\103\143\104\144\000\000" + "\105\145\105\145\105\145\206\226\105\145\107\147\107\147\107\147\107\147" + "\110\150\000\000\111\151\111\151\111\151\111\151\111\000\111\151\112\152" + "\113\153\000\114\154\114\154\114\154\114\154\207\227\241\261\116\156\116" + "\156\000\000\000\117\157\117\157\117\157\000\000\122\162\122\162\122\162" + "\243\263\123\163\123\163\123\163\124\164\124\164\000\000\125\165\125\165" + "\125\165\125\165\125\165\125\165\127\167\131\171\131\245\265\244\264\132" + "\172\163\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\117\157" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\125\165\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\104\104" + "\144\114\114\154\116\116\156\101\141\111\151\117\157\125\165\125\165\125" + "\165\125\165\125\165\000\101\141\101\141\000\000\000\000\107\147\113\153" + "\117\157\117\157\000\000\152\104\104\144\107\147\000\000\116\156\101\141" + "\000\000\000\000"; +#define P37 (char*)PP_37 +static const char PP_38[257] = + "\101\141\101\141\105\145\105\145\111\151\111\151\117\157\117\157\122\162" + "\122\162\125\165\125\165\123\163\124\164\000\000\110\150\000\000\000\000" + "\000\000\101\141\105\145\117\157\117\157\117\157\117\157\131\171\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\150\000\152\162" + "\000\000\000\167\171\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\154\163\170\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P38 (char*)PP_38 +static const char PP_39[257] = + "\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P39 (char*)PP_39 +static const char PP_40[257] = + "\305\250\000\303\256\000\255\257\000\000\000\000\312\310\254\000\300\301" + "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323" + "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\345\270\000\343\276\000\275\277\000\000" + "\000\000\352\350\274\000\000\000\251\271\000\000\000\000\000\000\000\000" + "\246\266\000\000\000\000\252\272\253\273\253\273\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\216\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\306\346\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\300\340\300\340\000\000\305\345" + "\000\000\000\000\306\346\307\347\000\000\310\350\310\350\316\356\000\000" + "\000\000\335\375\323\363\323\363\323\363\327\367\000\000\333\373\000\000" + "\000\000\000\000"; +#define P40 (char*)PP_40 +static const char PP_41[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\101\000\102\000\104\105\000\107\110\111" + "\112\113\114\115\116\000\117\000\120\122\124\125\127\141\000\000\000\142" + "\144\145\000\000\000\147\000\153\155\000\157\000\000\000\160\164\165\000" + "\000\166\000\000\000\000\000\000\151\162\165\166\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\355\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\000\146\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P41 (char*)PP_41 +static const char PP_42[257] = + "\101\141\102\142\102\142\102\142\103\143\104\144\104\144\104\144\104\144" + "\104\144\105\145\105\145\105\145\105\145\105\145\106\146\107\147\110\150" + "\110\150\110\150\110\150\110\150\111\151\111\151\113\153\113\153\113\153" + "\114\154\114\154\114\154\114\154\115\155\115\155\115\155\116\156\116\156" + "\116\156\116\156\117\157\117\157\117\157\117\157\120\160\120\160\122\162" + "\122\162\122\162\122\162\123\163\123\163\123\163\123\163\123\163\124\164" + "\124\164\124\164\124\164\125\165\125\165\125\165\125\165\125\165\126\166" + "\126\166\127\167\127\167\127\167\127\167\127\167\130\170\130\170\131\171" + "\132\172\132\172\132\172\150\164\167\171\141\163\000\000\000\000\101\141" + "\101\141\101\141\101\141\101\141\101\141\101\141\101\141\101\141\101\141" + "\101\141\101\141\105\145\105\145\105\145\105\145\105\145\105\145\105\145" + "\105\145\111\151\111\151\117\157\117\157\117\157\117\157\117\157\117\157" + "\117\157\117\157\117\157\117\157\117\157\117\157\125\165\125\165\125\165" + "\125\165\125\165\125\165\125\165\131\171\131\171\131\171\131\171\000\000" + "\000\000\000\000"; +#define P42 (char*)PP_42 +static const char PP_43[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\060\151\000\000\064\065\066\067\070\071\000\000\000\000" + "\000\156\060\061\062\063\064\065\066\067\070\071\000\000\000\000\000\000" + "\141\145\157\170\000\150\153\154\155\156\160\163\164\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P43 (char*)PP_43 +static const char PP_44[257] = + "\000\000\103\000\000\000\000\000\000\000\147\110\110\110\150\000\111\111" + "\114\154\000\116\267\000\000\120\121\122\122\122\000\000\000\000\000\000" + "\132\000\000\000\132\000\113\101\102\103\000\145\105\106\000\115\157\000" + "\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\104\144\145" + "\151\152\000\000\000\000\000\000\061\061\061\061\062\061\062\063\064\061" + "\065\061\063\065\067\061\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\060\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P44 (char*)PP_44 +static const char PP_45[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\061\062\063\064\065\066\067\070\071\061\061\061" + "\061\061\061\061\061\061\061\062\061\062\063\064\065\066\067\070\071\061" + "\061\061\061\061\061\061\061\061\061\062\061\062\063\064\065\066\067\070" + "\071\061\061\061\061\061\061\061\061\061\061\062\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\060\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P45 (char*)PP_45 +static const char PP_46[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\152\126" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P46 (char*)PP_46 +static const char PP_47[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\062\062\062\062\062\062\062\062\062" + "\063\063\063\063\063\063\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\063\063\063" + "\063\064\064\064\064\064\064\064\064\064\064\065\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P47 (char*)PP_47 +static const char PP_48[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P48 (char*)PP_48 +static const char PP_49[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\372\374\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P49 (char*)PP_49 +static const char PP_50[257] = + "\146\146\146\146\146\163\163\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P50 (char*)PP_50 +static const char PP_51[257] = + "\000\000\042\000\000\000\000\047\000\000\000\000\000\000\000\000\060\061" + "\062\063\064\065\066\067\070\071\000\000\000\000\000\000\000\101\102\103" + "\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125" + "\126\127\130\131\132\000\000\000\000\000\000\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P51 (char*)PP_51 +static const char PP_52[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\000\000\317\000\000\375\000\000\000\256\000\360\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\257\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P52 (char*)PP_52 +static const char PP_53[257] = + "\000\205\201\203\207\211\213\215\217\221\223\225\227\000\231\233\241\243" + "\354\255\247\251\352\364\270\276\307\321\323\325\327\335\342\344\346\350" + "\253\266\245\374\366\372\237\362\356\370\235\340\240\242\353\254\246\250" + "\351\363\267\275\306\320\322\324\326\330\341\343\345\347\252\265\244\373" + "\365\371\236\361\355\367\234\336\000\204\200\202\206\210\212\214\216\220" + "\222\224\226\000\230\232\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P53 (char*)PP_53 +static const char PP_54[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\357\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P54 (char*)PP_54 +static const char PP_55[257] = + "\304\000\263\000\000\000\000\000\000\000\000\000\332\000\000\000\277\000" + "\000\000\300\000\000\000\331\000\000\000\303\000\000\000\000\000\000\000" + "\264\000\000\000\000\000\000\000\302\000\000\000\000\000\000\000\301\000" + "\000\000\000\000\000\000\305\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\315\272\000\000\311\000\000\273\000\000" + "\310\000\000\274\000\000\314\000\000\271\000\000\313\000\000\312\000\000" + "\316\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\337\000\000\000\334\000\000\000\333\000\000\000\000\000\000\000" + "\000\260\261\262\000\000\000\000\000\000\000\000\000\000\000\000\376\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P55 (char*)PP_55 +static const char PP_56[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"; +#define P56 (char*)PP_56 +static const char PP_57[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\230\000\000\000\000\000\000\000\240\000" + "\000\000\244\000\246\247\000\251\000\253\254\255\256\000\260\261\000\000" + "\000\265\266\267\000\000\000\273\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P57 (char*)PP_57 +static const char PP_58[257] = + "\000\250\000\000\252\000\262\257\000\000\000\000\000\000\241\000\300\301" + "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323" + "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\000\270\000\000\272\000\263\277\000\000" + "\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\201\203\000\000\243\274\000\000\215\235\000\000\000\000\000\000" + "\214\234\000\000\000\000\000\000\000\000\000\000\217\237\200\220\245\264" + "\000\000\000\000\000\000\216\236\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\275\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\212\232" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P58 (char*)PP_58 +static const char PP_59[257] = + "\000\250\000\201\252\275\262\257\243\000\000\000\000\000\241\000\300\301" + "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323" + "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\000\270\000\203\272\276\263\277\274\000" + "\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\245\264\000\000\000\000\215\235\000\000\000\000\000\000\000\000\000\000" + "\216\236\000\000\000\000\000\000\000\000\000\000\214\234\000\000\000\000" + "\000\000\000\000\000\000\217\237\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\200\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\212\232" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P59 (char*)PP_59 +static const char PP_60[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\247\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\246\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P60 (char*)PP_60 +static const char PP_61[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\241\262\264\266\270\272" + "\274\276\300\302\304\306\310\312\314\316\320\322\324\326\330\332\334\336" + "\340\342\344\346\350\352\354\356\360\362\364\366\370\372\374\000\000\000" + "\376\260\257\252\261\000\000\263\265\267\271\273\275\277\301\303\305\307" + "\311\313\315\317\321\323\325\327\331\333\335\337\341\343\345\347\351\353" + "\355\357\361\363\365\367\371\373\375\242\000\243\255\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P61 (char*)PP_61 +static const char PP_62[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\256\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P62 (char*)PP_62 +static const char PP_63[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\000\000\000\000\000\000\000\000\000\000\000\215\216\217" + "\220\000\000\000\000\000\000\000\000\000\000\000\000\235\236\000\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"; +#define P63 (char*)PP_63 +static const char PP_64[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\214\234\000\000\000\000\000\000" + "\000\000\000\000\000\000\212\232\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P64 (char*)PP_64 +static const char PP_65[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\300\301\302\303\304\305\306\307" + "\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331" + "\332\333\334\335\336\337\340\341\342\343\344\345\346\000\000\000\000\000" + "\000\000\000\000"; +#define P65 (char*)PP_65 +static const char PP_66[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\226\227\000\000\000\221\222\202\000\223\224\204\000\206\207\225\000" + "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000" + "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P66 (char*)PP_66 +static const char PP_67[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\000\000\000\000\000\000\000\000\000\000\000\215\216\217" + "\220\000\000\000\000\000\000\000\000\000\000\000\000\235\236\000\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"; +#define P67 (char*)PP_67 +static const char PP_68[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\300\301\302\303\304\305\306\310" + "\311\312\313\314\315\317\320\321\322\323\324\326\327\330\331\332\333\334" + "\335\336\337\340\341\343\344\307\316\325\342\345\000\000\000\000\000\000" + "\000\000\000\000"; +#define P68 (char*)PP_68 +static const char PP_69[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\000\243\244\000\000\247\250\000\000\000\000\255\000\000\260\000\262\263" + "\264\265\000\267\270\000\000\000\000\275\000\000\300\301\302\000\304\000" + "\000\307\310\311\312\313\314\315\316\317\000\321\322\323\324\000\326\327" + "\000\331\332\333\334\000\000\337\340\341\342\000\344\000\000\347\350\351" + "\352\353\354\355\356\357\000\361\362\363\364\000\366\367\000\371\372\373" + "\374\000\000\000"; +#define P69 (char*)PP_69 +static const char PP_70[257] = + "\000\000\000\000\000\000\000\000\306\346\305\345\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\330\370\253\273\325\365\000\000" + "\246\266\241\261\000\000\000\000\000\000\000\000\251\271\000\000\254\274" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\336\376\252\272\000\000\000\000\000\000\000\000\000\000\000\000" + "\335\375\000\000\000\000\000\000\000\000\000\000\000\000\000\257\277\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P70 (char*)PP_70 +static const char PP_71[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\242\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P71 (char*)PP_71 +static const char PP_72[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\000\000\244\000\000\247\250\000\000\000\000\255\000\257\260\000\000\000" + "\264\000\000\000\270\000\000\000\000\000\000\000\000\301\302\303\304\305" + "\306\000\000\311\000\313\000\315\316\000\000\000\000\000\324\325\326\327" + "\330\000\332\333\334\000\000\337\000\341\342\343\344\345\346\000\000\351" + "\000\353\000\355\356\000\000\000\000\000\364\365\366\367\370\000\372\373" + "\374\000\000\000"; +#define P72 (char*)PP_72 +static const char PP_73[257] = + "\300\340\000\000\241\261\000\000\000\000\000\000\310\350\000\000\320\360" + "\252\272\000\000\314\354\312\352\000\000\000\000\000\000\000\000\253\273" + "\000\000\000\000\245\265\317\357\000\000\307\347\000\000\000\000\000\000" + "\323\363\242\000\000\246\266\000\000\000\000\000\000\000\000\321\361\000" + "\000\000\275\277\322\362\000\000\000\000\000\000\000\000\243\263\000\000" + "\000\000\000\000\000\000\251\271\000\000\000\000\254\274\335\375\336\376" + "\000\000\000\000\000\000\331\371\000\000\000\000\000\000\000\000\000\256" + "\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P73 (char*)PP_73 +static const char PP_74[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\267\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\377\000\262\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P74 (char*)PP_74 +static const char PP_75[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\232\233\234\235\236\237\240\000" + "\000\375\244\000\000\000\000\000\000\256\000\000\000\000\000\000\000\000" + "\000\374\000\000\000\000\000\257\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\205\000\203\000\000\000\000\207\212\202" + "\210\211\000\000\214\213\000\000\000\000\223\000\000\000\000\227\000\226" + "\000\000\000\000"; +#define P75 (char*)PP_75 +static const char PP_76[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\254\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\273\000\000\000\277\000\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325" + "\326\327\330\331\332\000\000\000\000\000\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\360\361\362\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P76 (char*)PP_76 +static const char PP_77[257] = + "\245\000\200\000\000\000\000\000\000\000\000\000\373\000\000\000\230\000" + "\000\000\231\000\000\000\372\000\000\000\243\000\000\000\000\000\000\000" + "\201\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\241\000" + "\000\000\000\000\000\000\246\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\264\220\275\276\252\216\215\221\274\272" + "\251\225\224\222\247\250\263\204\206\217\270\271\255\266\267\253\371\300" + "\265\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\337\000\000\000\334\000\000\000\333\000\000\000\335\000\000\000" + "\336\260\261\262\000\000\000\000\000\000\000\000\000\000\000\000\376\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P77 (char*)PP_77 +static const char PP_78[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\000\243\000\000\246\247\250\251\000\253\254\255\000\000\260\261\262\263" + "\000\000\000\267\000\000\000\273\000\275\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P78 (char*)PP_78 +static const char PP_79[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000" + "\000\000\000\000\000\000\264\265\266\000\270\271\272\000\274\000\276\277" + "\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321" + "\000\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343" + "\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365" + "\366\367\370\371\372\373\374\375\376\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P79 (char*)PP_79 +static const char PP_80[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\257\000\000\241\242\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\244\000\000\245\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P80 (char*)PP_80 +static const char PP_81[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\242\243\244\245\246\247\250\251\000\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\000\273\274\275\276\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\272\000\000\000\000" + "\000\000\000\000"; +#define P81 (char*)PP_81 +static const char PP_82[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371" + "\372\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P82 (char*)PP_82 +static const char PP_83[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\375\376\000\000" + "\000\000\000\000\000\337\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P83 (char*)PP_83 +static const char PP_84[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\000\321\322\323\324\325\326\327" + "\330\331\332\333\334\000\000\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\000\361\362\363\364\365\366\367\370\371\372\373" + "\374\000\000\377"; +#define P84 (char*)PP_84 +static const char PP_85[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\320\360\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\335\375\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\336\376\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P85 (char*)PP_85 +static const char PP_86[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\242\243\244\000\246\247\000\251\000\253\254\255\256\000\260\261\262\263" + "\000\265\266\267\000\271\000\273\274\275\276\000\000\000\000\000\304\305" + "\257\000\000\311\000\000\000\000\000\000\000\000\000\323\000\325\326\327" + "\250\000\000\000\334\000\000\337\000\000\000\000\344\345\277\000\000\351" + "\000\000\000\000\000\000\000\000\000\363\000\365\366\367\270\000\000\000" + "\374\000\000\000"; +#define P86 (char*)PP_86 +static const char PP_87[257] = + "\302\342\000\000\300\340\303\343\000\000\000\000\310\350\000\000\000\000" + "\307\347\000\000\313\353\306\346\000\000\000\000\000\000\000\000\314\354" + "\000\000\000\000\000\000\316\356\000\000\301\341\000\000\000\000\000\000" + "\315\355\000\000\000\317\357\000\000\000\000\331\371\321\361\322\362\000" + "\000\000\000\000\324\364\000\000\000\000\000\000\000\000\252\272\000\000" + "\332\372\000\000\000\000\320\360\000\000\000\000\000\000\000\000\333\373" + "\000\000\000\000\000\000\330\370\000\000\000\000\000\312\352\335\375\336" + "\376\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P87 (char*)PP_87 +static const char PP_88[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\377\000\000\264\241\245\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P88 (char*)PP_88 +static const char PP_89[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\000\245\000\247\000\251\252\253\254\255\256\257\260\261\262\263" + "\000\265\266\267\000\271\272\273\000\000\000\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"; +#define P89 (char*)PP_89 +static const char PP_90[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\274\275\000\000\000\000\000\000" + "\000\000\000\000\000\000\246\250\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\276\000\000\000\000\264" + "\270\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P90 (char*)PP_90 +static const char PP_91[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P91 (char*)PP_91 +static const char PP_92[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\000\000\000\000\000\247\000\251\000\253\000\255\000\000\260\261\000\000" + "\000\000\266\267\000\000\000\273\000\000\000\000\300\301\302\000\304\000" + "\306\307\310\311\312\313\314\315\316\317\000\000\322\323\324\000\326\000" + "\000\331\332\333\334\000\000\337\340\341\342\000\344\000\346\347\350\351" + "\352\353\354\355\356\357\000\000\362\363\364\000\366\000\000\371\372\373" + "\374\000\000\377"; +#define P92 (char*)PP_92 +static const char PP_93[257] = + "\000\000\303\343\241\242\305\345\000\000\000\000\262\271\000\000\320\360" + "\000\000\000\000\000\000\335\375\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\243\263\321\361\000\000\000" + "\000\000\000\000\000\000\000\000\325\365\274\275\000\000\000\000\000\000" + "\327\367\000\000\000\000\246\250\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\330\370\000\000\000\000\000\000\276\254\256\257\277\264" + "\270\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P93 (char*)PP_93 +static const char PP_94[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\252\272\336\376\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P94 (char*)PP_94 +static const char PP_95[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\265\245\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P95 (char*)PP_95 +static const char PP_96[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\000\243\244\245\246\247\250\251\000\253\254\255\256\000\260\261\262\263" + "\000\265\266\267\000\000\000\273\000\275\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P96 (char*)PP_96 +static const char PP_97[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P97 (char*)PP_97 +static const char PP_98[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\264\241\242\000\270\271\272\000\274\000\276\277" + "\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321" + "\000\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343" + "\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365" + "\366\367\370\371\372\373\374\375\376\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P98 (char*)PP_98 +static const char PP_99[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\226\227\257\000\000\221\222\202\000\223\224\204\000\206\207\225\000" + "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000" + "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P99 (char*)PP_99 +static const char PP_100[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\000\321\322\323\324\325\326\327" + "\330\331\332\333\334\000\000\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\000\361\362\363\364\365\366\367\370\371\372\373" + "\374\000\000\377"; +#define P100 (char*)PP_100 +static const char PP_101[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\320\360\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\335\375\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\214\234\000\000\000\000\000\000" + "\000\000\000\000\336\376\212\232\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P101 (char*)PP_101 +static const char PP_102[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\241" + "\242\243\000\245\246\247\250\251\000\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\000\273\274\275\276\277\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\272\000\000\000\000" + "\000\000\000\000"; +#define P102 (char*)PP_102 +static const char PP_103[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\300\301\302\303" + "\304\305\306\307\310\311\000\313\314\315\316\317\320\321\322\323\000\000" + "\000\000\000\000\000\000\000\000\000\000\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371" + "\372\000\000\000\000\000\324\325\326\327\330\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P103 (char*)PP_103 +static const char PP_104[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\375\376\000\000" + "\000\226\227\000\000\000\221\222\202\000\223\224\204\000\206\207\225\000" + "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000" + "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\244\000\200\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P104 (char*)PP_104 +static const char PP_105[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\242\243\244\245\246\247\250\251\000\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\000\273\274\275\276\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\327" + "\000\000\000\000\000\000\000\000\340\000\342\000\000\000\000\347\350\351" + "\352\353\000\000\356\357\000\000\000\000\364\000\000\367\000\371\000\373" + "\374\000\000\000"; +#define P105 (char*)PP_105 +static const char PP_106[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\214\234\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P106 (char*)PP_106 +static const char PP_107[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P107 (char*)PP_107 +static const char PP_108[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\272\000\000\000\277\000\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325" + "\326\330\331\332\333\000\000\000\000\000\334\335\336\337\341\343\344\345" + "\346\354\355\360\361\362\363\365\366\370\372\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\212\000\000\000\000" + "\201\000\000\000\000\000\000\000\215\000\217\000\000\000\000\000\000\000" + "\000\232\000\000\000\000\000\000\216\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\230\000\000\000\000\000\220\000\000\000\000" + "\000\000\000\000\000\000\237\000\000\000\252\000\000\300\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\377\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P108 (char*)PP_108 +static const char PP_109[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\235\236\375\376\000\000" + "\000\226\227\000\000\000\221\222\202\000\223\224\204\000\206\207\225\000" + "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000" + "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P109 (char*)PP_109 +static const char PP_110[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\242\243\244\000\246\247\215\251\000\253\254\255\256\235\260\261\262\263" + "\264\265\266\267\217\271\000\273\274\275\276\000\000\000\000\000\304\305" + "\257\000\000\311\000\000\000\000\000\000\000\000\000\323\000\325\326\327" + "\250\000\000\000\334\000\000\337\000\000\000\000\344\345\277\000\000\351" + "\000\000\000\000\000\000\000\000\000\363\000\365\366\367\270\000\000\000" + "\374\000\000\000"; +#define P110 (char*)PP_110 +static const char PP_111[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\377\000\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P111 (char*)PP_111 +static const char PP_112[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\000\000\244\000\000\000\000\000\000\000\000\255\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000" + "\000\000\000\000"; +#define P112 (char*)PP_112 +static const char PP_113[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\254\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\273\000\000\000\277\000\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325" + "\326\327\000\331\332\000\000\000\000\000\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\360\361\362\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\260\261\262\263\264\265\266\267\270\271\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P113 (char*)PP_113 +static const char PP_114[257] = + "\213\000\212\000\000\000\000\000\000\000\000\000\215\000\000\000\214\000" + "\000\000\216\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P114 (char*)PP_114 +static const char PP_115[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\205\204\203\206\243\242\241\245" + "\366\000\000\000"; +#define P115 (char*)PP_115 +static const char PP_116[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\207\000\000\000\000\000\224\000\220\000\221\000\222" + "\000\223\000\000\334\000\335\000\000\000\200\000\225\246\000\000\336\000" + "\000\247\000\000\000\000\000\250\000\000\000\251\000\000\000\252\000\000" + "\000\253\000\000\000\256\000\000\000\000\000\000\000\000\000\000\000\257" + "\000\000\000\272\000\000\000\274\000\000\000\275\000\000\000\000\000\000" + "\000\330\000\000\276\300\333\000\231\232\233\000\000\337\000\000\000\363" + "\000\000\000\364\000\000\000\365\000\000\000\373\000\000\000\374\000\376" + "\000\000\375\000\000\000\226\000\230\227\000\367\234\370\235\371\236\372" + "\237\000\000\000"; +#define P116 (char*)PP_116 +static const char PP_117[257] = + "\000\241\242\000\244\245\246\247\250\251\252\253\254\000\256\257\260\261" + "\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325" + "\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\000\361\362\000\364\365\366\367\370\371" + "\372\373\374\000\376\377\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\243\363\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P117 (char*)PP_117 +static const char PP_118[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\000\000\375\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\372\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P118 (char*)PP_118 +static const char PP_119[257] = + "\000\360\000\000\364\000\366\370\000\000\000\000\000\000\000\000\200\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223" + "\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245" + "\246\247\250\251\252\253\254\255\256\257\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\000\361\000\000\365\000\367\371\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\362\363\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P119 (char*)PP_119 +static const char PP_120[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\373\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P120 (char*)PP_120 +static const char PP_121[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\000\251\252\253\254\255\256\257\260\261\262\263" + "\000\265\266\267\000\271\272\273\274\275\276\277\300\301\302\000\304\305" + "\306\307\310\311\312\313\000\315\316\317\000\321\000\323\324\000\326\327" + "\330\331\332\333\334\000\000\337\340\341\342\000\344\345\346\347\350\351" + "\352\353\000\355\356\357\000\361\000\363\364\000\366\367\370\371\372\373" + "\374\000\000\377"; +#define P121 (char*)PP_121 +static const char PP_122[257] = + "\000\000\303\343\000\000\000\000\000\000\000\000\000\000\000\000\320\360" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\270\250\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\264\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\325\365" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\335\375\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P122 (char*)PP_122 +static const char PP_123[257] = + "\314\354\000\336\000\000\000\000\000\322\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\362" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P123 (char*)PP_123 +static const char PP_124[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\376\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P124 (char*)PP_124 +static const char PP_125[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\000\000\373\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\372\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P125 (char*)PP_125 +static const char PP_126[257] = + "\000\360\000\000\362\000\370\364\000\000\000\000\000\000\366\000\200\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223" + "\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245" + "\246\247\250\251\252\253\254\255\256\257\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\000\361\000\000\363\000\371\365\000\000" + "\000\000\000\000\367\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\374\375\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P126 (char*)PP_126 +static const char PP_127[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\376\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P127 (char*)PP_127 +static const char PP_128[257] = + "\304\000\263\000\000\000\000\000\000\000\000\000\332\000\000\000\277\000" + "\000\000\300\000\000\000\331\000\000\000\303\000\000\000\000\000\000\000" + "\264\000\000\000\000\000\000\000\302\000\000\000\000\000\000\000\301\000" + "\000\000\000\000\000\000\305\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\315\272\325\326\311\270\267\273\324\323" + "\310\276\275\274\306\307\314\265\266\271\321\322\313\317\320\312\330\327" + "\316\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\337\000\000\000\334\000\000\000\333\000\000\000\335\000\000\000" + "\336\260\261\262\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P128 (char*)PP_128 +static const char PP_129[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\374\000\000\000\376\000\000\000\000\000\375\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P129 (char*)PP_129 +static const char PP_130[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\241\242\000\243\000\000\244\245\000\247\000\000\250\000\000" + "\000\000\000\000\251\252\253\254\000\255\256\257\260\261\262\263\000\264" + "\265\266\000\267\000\270\000\000\246\271\000\272\273\277\300\312\301\302" + "\303\304\305\306\307\310\000\313\311\314\000\000\320\321\322\323\324\000" + "\333\000\325\326\327\330\331\332\000\000\360\361\362\363\364\365\366\367" + "\370\371\000\000\335\336\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P130 (char*)PP_130 +static const char PP_131[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\337\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P131 (char*)PP_131 +static const char PP_132[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\374\000\000\000\376\000\000\000\000\000\375\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P132 (char*)PP_132 +static const char PP_133[257] = + "\000\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261" + "\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325" + "\326\327\330\331\332\000\000\000\000\337\340\341\342\343\344\345\346\347" + "\240\333\334\335\354\355\356\357\360\361\362\363\364\365\366\367\370\371" + "\372\373\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P133 (char*)PP_133 +static const char PP_134[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\336\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P134 (char*)PP_134 +static const char PP_135[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\201\202\203\204\000\206\207\210\211\212\213\214\215\216\217" + "\220\000\000\000\000\000\000\000\230\231\232\233\234\235\236\237\240\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P135 (char*)PP_135 +static const char PP_136[257] = + "\000\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261" + "\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325" + "\326\327\330\331\332\000\000\000\000\337\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371" + "\372\373\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P136 (char*)PP_136 +static const char PP_137[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\226\227\000\000\000\221\222\000\000\223\224\000\000\000\000\225\000" + "\000\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P137 (char*)PP_137 +static const char PP_138[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\000\245\246\247\000\251\252\253\254\255\256\257\260\261\262\263" + "\000\265\266\267\000\271\272\273\274\275\276\277\300\301\302\000\304\305" + "\306\307\310\311\312\313\000\315\316\317\000\321\000\323\324\000\326\327" + "\330\331\332\333\334\000\000\337\340\341\342\000\344\345\346\347\350\351" + "\352\353\000\355\356\357\000\361\000\363\364\000\366\367\370\371\372\373" + "\374\000\000\377"; +#define P138 (char*)PP_138 +static const char PP_139[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\376\244\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P139 (char*)PP_139 +static const char PP_140[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\000\304\305" + "\306\307\310\311\312\313\000\315\316\317\000\321\000\323\324\000\326\327" + "\330\331\332\333\334\000\000\337\340\341\342\000\344\345\346\347\350\351" + "\352\353\000\355\356\357\000\361\000\363\364\000\366\367\370\371\372\373" + "\374\000\000\377"; +#define P140 (char*)PP_140 +static const char PP_141[257] = + "\000\000\303\343\000\000\000\000\000\000\000\000\000\000\000\000\320\360" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\214\234\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\325\365" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\335\375\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P141 (char*)PP_141 +static const char PP_142[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\226\227\000\000\000\221\222\202\000\223\224\204\000\206\207\225\000" + "\000\000\205\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000" + "\000\000\000\213\233\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\376\200\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P142 (char*)PP_142 +static const char PP_143[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\255" + "\233\234\000\235\000\000\000\000\246\256\252\000\000\000\370\361\375\000" + "\000\346\000\372\000\000\247\257\254\253\000\250\000\000\000\000\216\217" + "\222\200\000\220\000\000\000\000\000\000\000\245\000\000\000\000\231\000" + "\000\000\000\000\232\000\000\341\205\240\203\000\204\206\221\207\212\202" + "\210\211\215\241\214\213\000\244\225\242\223\000\224\366\000\227\243\226" + "\201\000\000\230"; +#define P143 (char*)PP_143 +static const char PP_144[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P144 (char*)PP_144 +static const char PP_145[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\342\000\000\000\000\351\000\000\000\000\000\000\000\000\000" + "\000\344\000\000\350\000\000\352\000\000\000\000\000\000\000\340\000\000" + "\353\356\000\000\000\000\000\000\000\000\000\000\343\000\000\345\347\000" + "\355\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P145 (char*)PP_145 +static const char PP_146[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\374\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\236\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P146 (char*)PP_146 +static const char PP_147[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\371\373\000\000\000\354\000\000\000\000\000" + "\000\000\000\000\000\357\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\367\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\360\000\000\363\362\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P147 (char*)PP_147 +static const char PP_148[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\251\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\364\365\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P148 (char*)PP_148 +static const char PP_149[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\370\361\375\000" + "\000\000\000\372\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\366\000\000\000\000" + "\000\000\000\000"; +#define P149 (char*)PP_149 +static const char PP_150[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\352\000\353\354\355\000\356\000\357\360" + "\000\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220" + "\000\221\222\223\224\225\226\227\364\365\341\342\343\345\000\230\231\232" + "\233\234\235\236\237\240\241\242\243\244\245\246\247\250\252\251\253\254" + "\255\256\257\340\344\350\346\347\351\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P150 (char*)PP_150 +static const char PP_151[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\374\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P151 (char*)PP_151 +static const char PP_152[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\371\373\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\367\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\363\362\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P152 (char*)PP_152 +static const char PP_153[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\226\234\237\000\247\365\000\250\000\256\252\360\251\000\370\361\375\374" + "\000\346\364\372\000\373\000\257\254\253\363\000\000\000\000\000\216\217" + "\222\000\000\220\000\000\000\000\000\000\000\000\000\340\000\345\231\236" + "\235\000\000\000\232\000\000\341\000\000\000\000\204\206\221\000\000\202" + "\000\000\000\000\000\000\000\000\000\242\000\344\224\366\233\000\000\000" + "\201\000\000\000"; +#define P153 (char*)PP_153 +static const char PP_154[257] = + "\240\203\000\000\265\320\200\207\000\000\000\000\266\321\000\000\000\000" + "\355\211\000\000\270\323\267\322\000\000\000\000\000\000\000\000\225\205" + "\000\000\000\000\000\000\241\214\000\000\275\324\000\000\000\000\000\000" + "\350\351\000\000\000\352\353\000\000\000\000\255\210\343\347\356\354\000" + "\000\000\000\000\342\223\000\000\000\000\000\000\000\000\212\213\000\000" + "\227\230\000\000\000\000\276\325\000\000\000\000\000\000\000\000\307\327" + "\000\000\000\000\000\000\306\326\000\000\000\000\000\215\245\243\244\317" + "\330\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P154 (char*)PP_154 +static const char PP_155[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\357\000\000\362\246\367\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P155 (char*)PP_155 +static const char PP_156[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\371\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P156 (char*)PP_156 +static const char PP_157[257] = + "\304\000\263\000\000\000\000\000\000\000\000\000\332\000\000\000\277\000" + "\000\000\300\000\000\000\331\000\000\000\303\000\000\000\000\000\000\000" + "\264\000\000\000\000\000\000\000\302\000\000\000\000\000\000\000\301\000" + "\000\000\000\000\000\000\305\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\315\272\000\000\311\000\000\273\000\000" + "\310\000\000\274\000\000\314\000\000\271\000\000\313\000\000\312\000\000" + "\316\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\337\000\000\000\334\000\000\000\333\000\000\000\335\000\000\000" + "\336\260\261\262\000\000\000\000\000\000\000\000\000\000\000\000\376\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P157 (char*)PP_157 +static const char PP_158[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\255" + "\275\234\317\276\335\365\371\270\246\256\252\360\251\356\370\361\375\374" + "\357\346\364\372\367\373\247\257\254\253\363\250\267\265\266\307\216\217" + "\222\200\324\220\322\323\336\326\327\330\321\245\343\340\342\345\231\236" + "\235\353\351\352\232\355\350\341\205\240\203\306\204\206\221\207\212\202" + "\210\211\215\241\214\213\320\244\225\242\223\344\224\366\233\227\243\226" + "\201\354\347\230"; +#define P158 (char*)PP_158 +static const char PP_159[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\325\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P159 (char*)PP_159 +static const char PP_160[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\362\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P160 (char*)PP_160 +static const char PP_161[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\000\000\317\000\000\365\371\000\000\256\252\360\000\000\370\000\000\000" + "\357\000\000\000\367\000\000\257\000\000\000\000\000\265\266\000\216\000" + "\000\200\000\220\000\323\000\326\327\000\000\000\000\340\342\000\231\236" + "\000\000\351\000\232\355\000\341\000\240\203\000\204\000\000\207\000\202" + "\000\211\000\241\214\000\000\000\000\242\223\000\224\366\000\000\243\000" + "\201\354\000\000"; +#define P161 (char*)PP_161 +static const char PP_162[257] = + "\000\000\306\307\244\245\217\206\000\000\000\000\254\237\322\324\321\320" + "\000\000\000\000\000\000\250\251\267\330\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\221\222\000\000\225\226\000\000\235\210\343\344\000\000\325" + "\345\000\000\000\000\000\000\000\212\213\000\000\350\352\000\000\374\375" + "\227\230\000\000\270\255\346\347\335\356\233\234\000\000\000\000\000\000" + "\000\000\336\205\353\373\000\000\000\000\000\000\000\215\253\275\276\246" + "\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P162 (char*)PP_162 +static const char PP_163[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\363\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\364\372\000\362\000\361\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P163 (char*)PP_163 +static const char PP_164[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\000\234\317\000\000\365\371\000\000\256\000\360\000\000\370\000\375\374" + "\357\346\000\000\367\000\000\257\000\253\000\000\267\265\266\000\216\000" + "\000\200\324\220\322\323\336\326\327\330\000\245\343\340\342\000\231\236" + "\000\353\351\352\232\000\000\341\205\240\203\000\204\000\000\207\212\202" + "\210\211\215\241\214\213\000\244\225\242\223\000\224\366\000\227\243\226" + "\201\000\000\000"; +#define P164 (char*)PP_164 +static const char PP_165[257] = + "\000\000\000\000\000\000\000\000\217\206\222\221\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\235\233\246\247\344\345\000\000" + "\250\251\347\350\000\000\000\000\000\000\000\000\230\325\000\000\254\237" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\363\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\306\307\270\255\000\000\000\000\000\000\000\000\000\000\000\000" + "\354\355\000\000\000\000\000\000\000\000\000\000\000\000\000\275\276\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P165 (char*)PP_165 +static const char PP_166[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\364\372\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P166 (char*)PP_166 +static const char PP_167[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\362\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P167 (char*)PP_167 +static const char PP_168[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\275\234\317\276\335\365\371\270\000\256\252\360\251\356\370\361\375\374" + "\357\346\364\372\367\373\000\257\254\253\363\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\236" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\366\000\000\000\000" + "\000\000\000\000"; +#define P168 (char*)PP_168 +static const char PP_169[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\200\201\202\203\204\205\206\207" + "\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231" + "\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P169 (char*)PP_169 +static const char PP_170[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\255" + "\275\234\317\276\335\365\371\270\321\256\252\360\251\356\370\361\375\374" + "\357\346\364\372\367\373\320\257\254\253\363\250\267\265\266\307\216\217" + "\222\200\324\220\322\323\336\326\327\330\000\245\343\340\342\345\231\350" + "\235\353\351\352\232\000\000\341\205\240\203\306\204\206\221\207\212\202" + "\210\211\354\241\214\213\000\244\225\242\223\344\224\366\233\227\243\226" + "\201\000\000\355"; +#define P170 (char*)PP_170 +static const char PP_171[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\246\247\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\230\215\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\236\237\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P171 (char*)PP_171 +static const char PP_172[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\362\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\325\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P172 (char*)PP_172 +static const char PP_173[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\255" + "\233\234\000\000\000\000\000\000\246\256\252\000\000\000\370\361\375\000" + "\000\346\000\372\000\000\247\257\254\253\000\250\221\206\217\216\000\000" + "\000\200\222\220\211\000\230\213\000\000\000\245\251\237\214\231\000\000" + "\000\235\226\000\232\000\000\341\205\240\203\204\000\000\000\207\212\202" + "\210\000\215\241\000\000\000\244\225\242\223\224\000\366\000\227\243\000" + "\201\000\000\000"; +#define P173 (char*)PP_173 +static const char PP_174[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\364\365\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P174 (char*)PP_174 +static const char PP_175[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\255" + "\000\234\000\000\000\000\000\000\000\256\252\000\000\000\370\361\375\000" + "\000\346\000\372\000\000\000\257\254\253\000\250\000\244\000\000\216\217" + "\222\200\000\220\000\000\000\245\000\000\213\000\000\246\000\000\231\000" + "\235\000\247\000\232\227\215\341\205\240\203\000\204\206\221\207\212\202" + "\210\211\000\241\000\000\214\000\000\242\223\000\224\366\233\000\243\226" + "\201\230\225\000"; +#define P175 (char*)PP_175 +static const char PP_176[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\255" + "\233\234\000\235\000\000\000\000\246\256\252\000\000\000\370\361\375\000" + "\000\346\000\372\000\000\247\257\254\253\000\250\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\341\000\240\000\000\000\000\000\000\000\000" + "\000\000\000\241\000\000\000\244\000\242\000\000\000\366\000\000\243\000" + "\000\000\000\000"; +#define P176 (char*)PP_176 +static const char PP_177[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\233\234\230\000\240\217\244\000\000\256\252\000\000\247\370\361\375\246" + "\241\346\206\372\245\000\000\257\254\253\255\000\216\000\204\000\000\000" + "\000\200\221\220\222\224\000\000\250\225\000\000\000\000\231\000\000\000" + "\000\235\000\236\232\000\000\341\205\000\203\000\000\000\000\207\212\202" + "\210\211\000\000\214\213\000\000\000\242\223\000\000\366\000\227\243\226" + "\201\000\000\000"; +#define P177 (char*)PP_177 +static const char PP_178[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\374\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P178 (char*)PP_178 +static const char PP_179[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\000\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\300\243\244\000\333\000\000\000\000\227\334\241\000\000\200\223\000\000" + "\000\000\000\201\000\000\000\230\225\224\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\336" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\335\000\000\000\000" + "\000\000\000\000"; +#define P179 (char*)PP_179 +static const char PP_180[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P180 (char*)PP_180 +static const char PP_181[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\254\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\273\000\000\000\277\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\340\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\361\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\260\261\262\263\264\265\266\267\270\271\045\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P181 (char*)PP_181 +static const char PP_182[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\202\203\000\000\000\221\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P182 (char*)PP_182 +static const char PP_183[257] = + "\205\000\206\000\000\000\000\000\000\000\000\000\215\000\000\000\214\000" + "\000\000\216\000\000\000\217\000\000\000\212\000\000\000\000\000\000\000" + "\210\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\213\000" + "\000\000\000\000\000\000\207\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\204\000\000\000\000\000\000\000\000\000\000\000\000\000\376\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P183 (char*)PP_183 +static const char PP_184[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\360" + "\000\000\301\302\242\303\245\304\000\000\000\000\000\306\000\307\250\251" + "\000\310\000\311\000\252\000\312\000\253\000\313\000\255\000\314\000\256" + "\000\315\000\257\000\316\000\317\000\320\000\321\000\322\000\274\000\323" + "\000\275\000\324\000\276\000\325\000\353\000\326\000\327\000\000\000\330" + "\000\000\000\337\305\331\354\356\355\332\367\272\000\341\000\370\000\342" + "\000\374\000\343\000\373\000\344\000\357\000\345\000\362\000\346\000\363" + "\000\347\364\350\000\351\365\375\366\352\000\371\372\231\232\000\000\235" + "\236\000\000\000"; +#define P184 (char*)PP_184 +static const char PP_185[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\255" + "\000\234\257\000\000\000\000\000\246\256\252\000\000\000\370\361\375\000" + "\000\346\000\372\000\000\247\000\254\253\000\250\000\000\000\000\216\217" + "\222\200\000\220\000\000\000\000\000\000\000\245\000\000\000\000\231\000" + "\235\000\000\000\232\000\000\341\205\240\203\000\204\206\221\207\212\202" + "\210\211\215\241\214\213\000\244\225\242\223\000\224\366\233\227\243\226" + "\201\000\000\230"; +#define P185 (char*)PP_185 +static const char PP_186[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\000" + "\000\234\000\000\212\365\371\227\000\256\211\360\000\000\370\361\231\232" + "\000\000\000\210\000\000\000\257\000\253\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P186 (char*)PP_186 +static const char PP_187[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\357\367\206\000\215\217\220\000\222\000\225\230" + "\241\244\245\246\247\250\251\252\254\255\265\266\267\270\275\276\306\307" + "\000\317\320\321\322\323\324\325\221\226\233\235\236\237\374\326\327\330" + "\335\336\340\341\342\343\344\345\346\347\350\351\352\353\355\354\356\362" + "\363\364\366\372\240\373\242\243\375\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P187 (char*)PP_187 +static const char PP_188[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\216\000\000\213\214\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P188 (char*)PP_188 +static const char PP_189[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P189 (char*)PP_189 +static const char PP_190[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\000\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\000\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\000\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\000\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\000\377"; +#define P190 (char*)PP_190 +static const char PP_191[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\320\360\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\336" + "\376\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P191 (char*)PP_191 +static const char PP_192[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\257\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P192 (char*)PP_192 +static const char PP_193[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\270" + "\277\273\272\274\000\275\253\000\371\373\000\000\000\260\263\376\000\000" + "\250\363\364\362\000\000\372\375\367\370\365\271\241\340\242\341\330\320" + "\323\264\243\334\244\245\346\345\246\247\343\266\350\347\337\351\332\000" + "\322\255\355\256\333\261\360\336\310\304\300\342\314\324\327\265\311\305" + "\301\315\331\325\321\335\344\267\312\306\302\352\316\000\326\313\307\303" + "\317\262\361\357"; +#define P193 (char*)PP_193 +static const char PP_194[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\353\354\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\356\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P194 (char*)PP_194 +static const char PP_195[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\252\000\000\000\000\251\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P195 (char*)PP_195 +static const char PP_196[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\366\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\257\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P196 (char*)PP_196 +static const char PP_197[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\374\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P197 (char*)PP_197 +static const char PP_198[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\000\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\044\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P198 (char*)PP_198 +static const char PP_199[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\176\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P199 (char*)PP_199 +static const char PP_200[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\000\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P200 (char*)PP_200 +static const char PP_201[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\000\000\000\000\000\247\000\000\000\000\000\255\000\000\260\000\000\000" + "\000\000\000\267\000\000\000\000\000\000\000\000\000\301\302\303\304\305" + "\306\000\000\311\000\313\000\315\316\317\320\000\000\323\324\325\326\000" + "\330\000\332\333\334\335\336\337\000\341\342\343\344\345\346\000\000\351" + "\000\353\000\355\356\357\360\000\000\363\364\365\366\000\370\000\372\373" + "\374\375\376\000"; +#define P201 (char*)PP_201 +static const char PP_202[257] = + "\300\340\000\000\241\261\000\000\000\000\000\000\310\350\000\000\251\271" + "\242\262\000\000\314\354\312\352\000\000\000\000\000\000\000\000\243\263" + "\000\000\000\000\245\265\244\264\000\000\307\347\000\000\000\000\000\000" + "\246\266\377\000\000\250\270\000\000\000\000\000\000\000\000\321\361\000" + "\000\000\257\277\322\362\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\252\272\000\000\000\000\253\273\327\367\256\276" + "\000\000\000\000\000\000\331\371\000\000\000\000\000\000\000\000\000\254" + "\274\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P202 (char*)PP_202 +static const char PP_203[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\275\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P203 (char*)PP_203 +static const char PP_204[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P204 (char*)PP_204 +static const char PP_205[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\000" + "\000\243\000\000\000\247\000\251\000\000\000\255\256\000\000\000\000\000" + "\000\000\266\000\000\000\000\000\000\000\000\000\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\000\321\322\323\324\325\326\000" + "\330\331\332\333\334\335\000\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\000\361\362\363\364\365\366\000\370\371\372\373" + "\374\375\000\377"; +#define P205 (char*)PP_205 +static const char PP_206[257] = + "\000\000\000\000\000\000\000\000\000\000\244\245\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\262\263\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\320\360\336\376\257\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P206 (char*)PP_206 +static const char PP_207[257] = + "\000\000\241\242\000\000\000\000\000\000\246\253\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\260\261\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\264\265\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\267\271\000\000" + "\000\000\000\000\000\000\273\277\000\000\000\000\000\000\000\000\327\367" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\250\270\252\272\275\276\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\254\274\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P207 (char*)PP_207 +static const char PP_208[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\241\242\243\244\245\246\247\250\251\252\253" + "\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275" + "\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317" + "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P208 (char*)PP_208 +static const char PP_209[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\244\000\246\247\000\277\000\253\254\255\256\000\260\261\262\000" + "\000\000\266\267\000\000\000\273\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P209 (char*)PP_209 +static const char PP_210[257] = + "\000\263\000\000\000\000\000\000\000\000\000\000\000\000\000\000\341\342" + "\367\347\344\345\366\372\351\352\353\354\355\356\357\360\362\363\364\365" + "\346\350\343\376\373\375\377\371\370\374\340\361\301\302\327\307\304\305" + "\326\332\311\312\313\314\315\316\317\320\322\323\324\325\306\310\303\336" + "\333\335\337\331\330\334\300\321\000\243\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\203\201\000\000\000\000\000\000\220\200\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\214\212" + "\000\000\216\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\265\245\000\000\000\000\000\000" + "\000\000\000\000\242\241\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P210 (char*)PP_210 +static const char PP_211[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000" + "\000\000\000\000\000\000\000\000\000\214\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\230\000\000\000\000\000\000\000\000\200\000" + "\000\202\000\203\000\000\000\000\000\000\000\204\000\000\000\000\205\000" + "\000\000\000\000\206\000\000\000\210\207\211\000\212\000\000\215\217\216" + "\220\221\000\222\224\225\000\226\000\227\231\000\232\233\000\235\234\236" + "\237\000\000\000"; +#define P211 (char*)PP_211 +static const char PP_212[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\254\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\273\000\000\000\277\000\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325" + "\326\327\330\331\332\000\000\000\000\000\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\360\361\362\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\260\261\262\263\264\265\266\267\270\271\245\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\364\000\000\000\000" + "\363\000\000\000\000\000\000\000\365\000\371\000\000\000\000\000\000\000" + "\000\372\000\000\000\000\000\000\376\000\000\000\000\000\000\000\000\000" + "\000\000\367\000\000\000\000\000\000\000\000\000\000\370\000\000\000\000" + "\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\377\000\000\366\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P212 (char*)PP_212 +static const char PP_213[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\223\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P213 (char*)PP_213 +static const char PP_214[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\300\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P214 (char*)PP_214 +static const char PP_215[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312\000" + "\000\243\000\000\000\244\254\251\000\307\302\000\250\000\241\000\000\000" + "\000\000\246\000\000\000\000\310\000\000\000\000\000\347\000\000\200\000" + "\000\000\000\203\000\000\000\352\000\000\000\000\000\356\357\315\205\000" + "\000\000\362\000\206\370\000\247\000\207\000\000\212\000\000\000\000\216" + "\000\000\000\222\000\000\000\000\000\227\231\233\232\326\000\000\234\000" + "\237\371\000\000"; +#define P215 (char*)PP_215 +static const char PP_216[257] = + "\201\202\000\000\204\210\214\215\000\000\000\000\211\213\221\223\000\000" + "\224\225\000\000\226\230\242\253\235\236\000\000\000\000\000\000\376\256" + "\000\000\000\000\000\000\261\264\000\000\257\260\000\000\000\000\000\000" + "\265\372\000\275\276\271\272\273\274\000\000\374\270\301\304\277\300\305" + "\313\000\000\000\317\330\000\000\314\316\000\000\331\332\337\340\333\336" + "\345\346\000\000\000\000\341\344\000\000\350\351\000\000\000\000\355\360" + "\000\000\361\363\364\365\366\367\000\000\000\000\000\217\220\373\375\353" + "\354\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P216 (char*)PP_216 +static const char PP_217[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P217 (char*)PP_217 +static const char PP_218[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\320\321\000\000\000\324\325\342\000\322\323\343\000\240\000\245\000" + "\000\000\311\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\334\335\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P218 (char*)PP_218 +static const char PP_219[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P219 (char*)PP_219 +static const char PP_220[257] = + "\000\000\266\000\000\000\306\000\000\000\000\000\000\000\000\000\000\267" + "\000\000\000\000\000\000\000\000\303\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\255\000\000\000\262\263\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P220 (char*)PP_220 +static const char PP_221[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\327\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P221 (char*)PP_221 +static const char PP_222[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312\301" + "\242\243\000\000\000\244\254\331\273\307\302\000\250\370\241\261\000\000" + "\253\265\246\341\374\000\274\337\000\000\000\300\313\347\345\314\200\201" + "\336\202\351\203\375\372\355\352\353\354\000\204\361\356\357\315\205\000" + "\257\364\362\363\206\000\000\247\210\207\211\213\212\214\376\215\217\216" + "\220\221\223\222\224\225\000\226\230\227\231\233\232\326\277\235\234\236" + "\237\000\000\000"; +#define P222 (char*)PP_222 +static const char PP_223[257] = + "\000\000\000\000\000\000\306\346\000\000\000\000\310\350\000\000\320\360" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\365\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\316\317\000\000\000\000\000\000" + "\000\000\000\000\000\000\251\271\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\256" + "\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\304\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P223 (char*)PP_223 +static const char PP_224[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\366\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\373\000\367\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P224 (char*)PP_224 +static const char PP_225[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\275\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\371\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P225 (char*)PP_225 +static const char PP_226[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\340\321\000\000\000\324\325\342\000\322\323\343\000\240\000\245\000" + "\000\000\311\000\000\000\000\000\000\000\000\000\344\000\000\000\000\000" + "\000\000\000\334\335\000\000\000\000\000\000\000\000\000\332\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\333\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P226 (char*)PP_226 +static const char PP_227[257] = + "\000\000\266\000\000\000\264\000\000\000\000\000\000\000\000\270\000\267" + "\000\000\000\000\000\000\000\000\303\000\000\000\260\000\000\000\000\000" + "\000\000\000\000\000\000\000\272\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\305\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\255\000\000\000\262\263\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P227 (char*)PP_227 +static const char PP_228[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\330"; +#define P228 (char*)PP_228 +static const char PP_229[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312\000" + "\000\222\000\264\233\254\214\251\000\307\302\377\250\000\256\261\202\204" + "\000\000\000\257\000\201\000\310\000\227\000\000\000\000\000\000\200\000" + "\000\000\000\203\000\000\000\000\000\000\000\000\000\000\000\000\205\000" + "\000\000\000\000\206\000\000\247\210\000\211\000\212\000\000\215\217\216" + "\220\221\000\000\224\225\000\000\000\000\231\000\232\326\000\235\000\236" + "\237\000\000\000"; +#define P229 (char*)PP_229 +static const char PP_230[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\317\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P230 (char*)PP_230 +static const char PP_231[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\213\207\315\000\316\327\330\000\331\000\332\337" + "\375\260\265\241\242\266\267\270\243\271\272\244\273\301\245\303\246\304" + "\000\252\306\313\274\314\276\277\253\275\300\333\334\335\376\341\342\347" + "\344\345\372\350\365\351\353\354\355\356\352\357\360\362\367\363\364\371" + "\346\370\343\366\373\374\336\340\361\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P231 (char*)PP_231 +static const char PP_232[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\320\000\321\000\000\324\325\000\000\322\323\000\000\240\000\226\000" + "\000\000\311\000\000\000\000\000\000\000\000\000\230\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\234\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P232 (char*)PP_232 +static const char PP_233[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\223\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P233 (char*)PP_233 +static const char PP_234[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\305\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\255\000\000\000\262\263\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P234 (char*)PP_234 +static const char PP_235[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000" + "\000\202\000\203\000\000\000\000\000\000\000\204\000\000\000\000\205\000" + "\000\000\000\000\206\000\000\000\210\207\211\213\212\214\000\215\217\216" + "\220\221\223\222\224\225\000\226\230\227\231\233\232\000\000\235\234\236" + "\237\000\000\000"; +#define P235 (char*)PP_235 +static const char PP_236[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\331\333\332\337" + "\317\315\316\314\313\335\000\334\306\000\000\330\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\340\341\342\343\344\345\346\347" + "\350\351\352\353\300\355\356\357\360\361\362\363\364\365\366\367\370\371" + "\372\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P236 (char*)PP_236 +static const char PP_237[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\320\321\000\000\000\324\325\000\000\322\323\301\000\000\000\000\000" + "\000\000\311\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\246\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P237 (char*)PP_237 +static const char PP_238[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\302\303\304\305\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P238 (char*)PP_238 +static const char PP_239[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\000" + "\000\000\000\000\000\000\326\327\000\000\000\000\000\000\000\000\000\310" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\307\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P239 (char*)PP_239 +static const char PP_240[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312\301" + "\242\243\000\264\000\244\254\251\273\307\302\000\250\370\241\261\000\000" + "\253\265\246\341\374\000\274\310\000\000\000\300\313\347\345\314\200\201" + "\256\202\351\203\346\350\355\352\353\354\334\204\361\356\357\315\205\000" + "\257\364\362\363\206\240\336\247\210\207\211\213\212\214\276\215\217\216" + "\220\221\223\222\224\225\335\226\230\227\231\233\232\326\277\235\234\236" + "\237\340\337\330"; +#define P240 (char*)PP_240 +static const char PP_241[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\365\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\316\317\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\331\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\304\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P241 (char*)PP_241 +static const char PP_242[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\366\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\371\372\373\376\367\375\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P242 (char*)PP_242 +static const char PP_243[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\275\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\271\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P243 (char*)PP_243 +static const char PP_244[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\320\321\000\000\000\324\325\342\000\322\323\343\000\000\000\245\000" + "\000\000\311\000\000\000\000\000\000\000\000\000\344\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\332\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\333\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P244 (char*)PP_244 +static const char PP_245[257] = + "\000\000\266\000\000\000\306\000\000\000\000\000\000\000\000\270\000\267" + "\000\000\000\000\000\000\000\000\303\000\000\000\260\000\000\000\000\000" + "\000\000\000\000\000\000\000\272\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\305\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\255\000\000\000\262\263\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P245 (char*)PP_245 +static const char PP_246[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\360"; +#define P246 (char*)PP_246 +static const char PP_247[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312\301" + "\242\243\000\264\000\244\254\251\273\307\302\000\250\370\241\261\000\000" + "\253\265\246\341\374\000\274\310\000\000\000\300\313\347\345\314\200\201" + "\000\202\351\203\346\350\355\352\353\354\000\204\361\356\357\315\205\000" + "\000\364\362\363\206\000\000\247\210\207\211\213\212\214\000\215\217\216" + "\220\221\223\222\224\225\000\226\230\227\231\233\232\326\000\235\234\236" + "\237\000\000\330"; +#define P247 (char*)PP_247 +static const char PP_248[257] = + "\000\000\256\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\365\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\316\317\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\331\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\304\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P248 (char*)PP_248 +static const char PP_249[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\257\277\336\337\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\366\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\371\372\373\376\367\375\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P249 (char*)PP_249 +static const char PP_250[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\320\321\000\000\000\324\325\342\000\322\323\343\000\240\340\245\000" + "\000\000\311\000\000\000\000\000\000\000\000\000\344\000\000\000\000\000" + "\000\000\000\334\335\000\000\000\000\000\000\000\000\000\332\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\333\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P250 (char*)PP_250 +static const char PP_251[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\312\301" + "\242\243\000\264\000\244\254\251\273\307\302\000\250\370\241\261\000\000" + "\253\265\246\341\374\000\274\310\000\000\000\300\313\347\345\314\200\201" + "\256\202\351\203\346\350\355\352\353\354\000\204\361\356\357\315\205\000" + "\257\364\362\363\206\000\000\247\210\207\211\213\212\214\276\215\217\216" + "\220\221\223\222\224\225\000\226\230\227\231\233\232\326\277\235\234\236" + "\237\000\000\330"; +#define P251 (char*)PP_251 +static const char PP_252[257] = + "\000\336\337\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P252 (char*)PP_252 +static const char PP_253[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\000\000\000\000\000\000\000\373\000\200\000\000\372\000\000\000\000\000" + "\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P253 (char*)PP_253 +static const char PP_254[257] = + "\000\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261" + "\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\222\322\323\224\225" + "\226\227\330\331\332\000\000\000\000\337\340\341\342\343\344\345\346\223" + "\203\204\205\206\207\217\000\357\360\361\362\363\364\365\366\367\370\371" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P254 (char*)PP_254 +static const char PP_255[257] = + "\000\000\000\000\000\000\000\000\000\000\000\334\000\000\000\000\000\000" + "\000\335\336\000\000\000\235\236\000\000\215\216\000\000\000\000\221\000" + "\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\333\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P255 (char*)PP_255 +static const char PP_256[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\356\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P256 (char*)PP_256 +static const char PP_257[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\332\333\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\334\335\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\316\317\000\000\000\000\000\000" + "\000\000\000\000\336\337\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\331\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\304\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P257 (char*)PP_257 +static const char PP_258[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\320\321\000\000\000\324\325\342\000\322\323\343\000\240\340\245\000" + "\000\000\311\000\000\000\000\000\000\000\000\000\344\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P258 (char*)PP_258 +static const char PP_259[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\365\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\360"; +#define P259 (char*)PP_259 +static const char PP_260[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\241\242\000\244\000\000\247\250\000\252\000\000\255\000\000" + "\000\000\000\000\264\265\266\267\000\271\272\273\274\275\276\277\000\301" + "\302\303\000\305\000\307\000\000\312\313\000\315\316\317\320\321\322\323" + "\324\325\326\327\330\331\000\333\334\335\000\000\340\341\342\343\344\000" + "\346\000\350\351\352\353\354\355\000\000\360\361\362\363\364\365\366\367" + "\370\371\000\000\374\375\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P260 (char*)PP_260 +static const char PP_261[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\241" + "\242\243\250\245\265\247\310\240\343\253\276\000\260\305\000\321\311\314" + "\302\235\266\264\313\300\353\273\322\323\324\277\201\202\203\204\205\206" + "\341\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\236" + "\351\227\230\231\232\233\234\373\325\326\327\330\331\332\361\333\334\335" + "\336\337\340\342\344\345\346\347\354\355\356\357\360\237\371\362\363\364" + "\366\367\374\375"; +#define P261 (char*)PP_261 +static const char PP_262[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\365\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\350\370\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\352\372\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P262 (char*)PP_262 +static const char PP_263[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\303\317\000\000\000\301\000\000\000\000\000\000\000\000\000\000\000\000" + "\306\307\312\316\304\315\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P263 (char*)PP_263 +static const char PP_264[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\261\320\000\000\000\000\251\270\000\252\272\271\000\262\263\267\000" + "\000\000\274\000\000\000\000\000\000\000\000\000\275\000\000\000\000\000" + "\000\000\000\254\255\000\000\000\000\000\000\000\000\000\244\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P264 (char*)PP_264 +static const char PP_265[257] = + "\000\256\257\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P265 (char*)PP_265 +static const char PP_266[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\000\000\000\000\000\247\000\251\000\253\254\000\256\000\260\000\000\000" + "\000\000\266\267\000\000\000\273\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P266 (char*)PP_266 +static const char PP_267[257] = + "\000\250\000\000\000\000\262\000\243\000\000\000\000\000\241\000\300\301" + "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323" + "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\000\270\000\000\000\000\263\000\274\000" + "\000\000\000\000\242\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\201\203\000\000\200\220\245\264\215\235\257\277\000\000\212\232" + "\214\234\000\000\000\000\000\000\275\276\000\000\207\211\246\261\210\230" + "\000\000\206\231\217\237\216\236\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\252\272\000\000\000\000\000\000\000\000\213\233\000\000\000\000\244\265" + "\000\000\000\000\202\255\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P267 (char*)PP_267 +static const char PP_268[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\226\227\000\000\000\221\222\000\000\223\224\204\000\000\000\225\000" + "\000\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P268 (char*)PP_268 +static const char PP_269[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\271\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P269 (char*)PP_269 +static const char PP_270[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\203\000\000\000\207\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"; +#define P270 (char*)PP_270 +static const char PP_271[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\232\233\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\201\202\205\206\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P271 (char*)PP_271 +static const char PP_272[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\227\230\000\000\000\220\221\000\000\224\225\226\000\234\235\217\000" + "\000\000\214\000\000\000\000\000\000\000\000\000\216\000\000\000\000\000" + "\000\000\000\222\223\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P272 (char*)PP_272 +static const char PP_273[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\215\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\210\213\211\212" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P273 (char*)PP_273 +static const char PP_274[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\231\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P274 (char*)PP_274 +static const char PP_275[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\204\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P275 (char*)PP_275 +static const char PP_276[257] = + "\000\236\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P276 (char*)PP_276 +static const char PP_277[257] = + "\000\250\200\201\000\000\262\000\000\212\214\000\000\000\000\217\300\301" + "\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323" + "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\000\270\220\203\000\000\263\000\000\232" + "\234\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\252\272\000\000\000\000\000\000\215\235\000\000\000\000\000\000" + "\275\276\000\000\000\000\000\000\000\000\000\000\257\277\241\242\000\000" + "\000\000\000\000\000\000\216\236\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\243\274\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\264" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P277 (char*)PP_277 +static const char PP_278[257] = + "\000\000\000\003\000\000\000\007\010\011\012\013\014\015\016\017\020\000" + "\000\000\000\000\000\000\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\200\203\242\202\000\000" + "\000\000\207\212\243\000\215\220\000\000\000\000\222\225\244\224\000\000" + "\000\235\001\000\000\026\000\000\265\270\251\267\000\000\000\000\314\320" + "\252\000\327\335\000\000\000\000\337\343\253\342\000\000\000\357\363\000" + "\000\375\000\000"; +#define P278 (char*)PP_278 +static const char PP_279[257] = + "\000\000\241\250\000\000\000\000\000\000\000\000\000\000\000\000\247\256" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\217\334\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\362\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\254" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\246\255\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P279 (char*)PP_279 +static const char PP_280[257] = + "\260\263\000\262\000\000\000\000\000\261\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\264" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P280 (char*)PP_280 +static const char PP_281[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\204\271" + "\201\266\304\312\301\307\302\310\303\311\206\313\300\276\257\273\272\274" + "\277\275\205\306\213\321\210\316\211\317\332\325\305\322\315\323\331\324" + "\214\326\216\330\221\336\226\344\223\341\377\350\333\345\340\346\360\347" + "\227\351\233\355\230\352\231\353\232\354\234\356\002\364\236\361\021\370" + "\004\365\005\366\006\367\022\371\023\372\027\376\024\373\025\374\000\000" + "\000\000\000\000"; +#define P281 (char*)PP_281 +static const char PP_282[257] = + "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\000\104\105\107\110" + "\111\112\113\115\116\117\120\122\124\000\125\126\130\131\000\133\000\134" + "\136\000\000\000\000\137\000\141\142\000\144\145\147\150\151\152\153\155" + "\156\157\160\162\164\000\165\166\170\171\000\173\000\174\176\000\000\000" + "\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\106\000" + "\000\103\000\000\000\000\000\000\000\000\000\000\000\000\000\000\123\000" + "\000\000\000\000\132\135\000\000\000\000\000\000\146\000\000\143\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\163\000\000\000\000\000" + "\172\175\000\000"; +#define P282 (char*)PP_282 +static const char PP_283[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\121" + "\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\127\167\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\114" + "\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P283 (char*)PP_283 +static const char PP_284[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P284 (char*)PP_284 +static const char PP_285[257] = + "\000\001\000\003\004\000\000\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\000\025\026\027\030\000\032\033\034\035\000\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\300\301\302\303\000\000" + "\000\000\310\311\312\000\314\315\000\000\000\000\322\323\324\240\000\000" + "\000\331\332\000\000\335\000\000\340\341\342\343\000\000\000\000\350\351" + "\352\000\354\355\000\000\000\000\362\363\364\365\000\000\000\371\372\000" + "\000\375\000\000"; +#define P285 (char*)PP_285 +static const char PP_286[257] = + "\000\000\305\345\000\000\000\000\000\000\000\000\000\000\000\000\320\360" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\316\356\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235\373\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\264\275" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\277\337\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000"; +#define P286 (char*)PP_286 +static const char PP_287[257] = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\325" + "\304\344\204\244\205\245\206\246\006\347\207\247\201\241\202\242\002\306" + "\005\307\203\243\211\251\313\353\210\250\212\252\213\253\214\254\215\255" + "\216\256\233\357\230\270\232\367\231\366\217\257\220\260\221\261\222\262" + "\223\265\225\276\226\266\227\267\263\336\224\376\236\370\234\374\272\321" + "\273\327\274\330\377\346\271\361\237\317\036\334\024\326\031\333\000\000" + "\000\000\000\000"; +#define P287 (char*)PP_287 + +static const Encoder encoder_00 = { //windows-1251 + { + P01, P00, P00, P00, P02, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P03, P04, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_01 = { //KOI8-U + { + P05, P00, P00, P00, P06, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P07, P08, P00, P09, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_02 = { //IBM866 + { + P10, P00, P00, P00, P11, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P12, P13, P00, P00, P14, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_03 = { //MacCyrillic + { + P15, P16, P00, P00, P17, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P18, P19, P20, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_04 = { //ISO-8859-5 + { + P21, P00, P00, P00, P22, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P23, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_05 = { //windows-1252 + { + P24, P25, P26, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P27, P28, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_06 = { //reserved3 + { + P29, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_07 = { //windows-1250 + { + P30, P31, P32, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P27, P28, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_08 = { //iso-2 + { + P33, P34, P35, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_09 = { //yandex + { + P36, P37, P38, P39, P40, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P41, P42, P00, + P43, P44, P00, P00, P45, P00, P00, P00, + P00, P00, P00, P00, P46, P00, P00, P00, + P00, P00, P47, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P48, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P49, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P50, P00, P00, P00, P51, + }, + defchars[1], + P00, +}; + +static const Encoder encoder_12 = { //IBM855 + { + P52, P00, P00, P00, P53, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P54, P00, P00, P00, P55, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_14 = { //unknownplane + { + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P56, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_15 = { //windows-1251-k + { + P57, P00, P00, P00, P58, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P03, P04, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_16 = { //windows-1251-t + { + P57, P00, P00, P00, P59, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P03, P04, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_17 = { //armscii + { + P60, P00, P00, P00, P00, P61, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P62, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_18 = { //geo-ita + { + P63, P64, P26, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P65, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P66, P28, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_19 = { //geo-ps + { + P67, P64, P26, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P68, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P66, P28, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_20 = { //iso-8859-3 + { + P69, P70, P71, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_21 = { //iso-8859-4 + { + P72, P73, P74, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_22 = { //iso-8859-6 + { + P75, P00, P00, P00, P00, P00, P76, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P77, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_23 = { //iso-8859-7 + { + P78, P00, P00, P79, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P80, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_24 = { //iso-8859-8 + { + P81, P00, P00, P00, P00, P82, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P83, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_25 = { //iso-8859-9 + { + P84, P85, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_26 = { //iso-8859-13 + { + P86, P87, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P88, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_27 = { //iso-8859-15 + { + P89, P90, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P91, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_28 = { //iso-8859-16 + { + P92, P93, P94, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P95, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_29 = { //windows-1253 + { + P96, P97, P00, P98, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P99, P28, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_30 = { //windows-1254 + { + P100, P101, P26, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P27, P28, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_31 = { //windows-1255 + { + P102, P97, P26, P00, P00, P103, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P104, P28, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_32 = { //windows-1256 + { + P105, P106, P107, P00, P00, P00, P108, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P109, P28, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_33 = { //windows-1257 + { + P110, P87, P111, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P27, P28, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_34 = { //CP1046 + { + P112, P00, P00, P00, P00, P00, P113, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P114, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P115, P00, P00, P00, P00, P00, P116, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_35 = { //CP1124 + { + P21, P00, P00, P00, P117, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P23, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_36 = { //CP1125 + { + P118, P00, P00, P00, P119, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P12, P120, P00, P00, P14, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_37 = { //CP1129 + { + P121, P122, P00, P123, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P124, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_38 = { //CP1131 + { + P125, P00, P00, P00, P126, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P127, P00, P00, P128, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_39 = { //CP1133 + { + P129, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P130, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P131, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_40 = { //CP1161 + { + P132, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P133, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P134, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_41 = { //CP1162 + { + P135, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P136, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P137, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_42 = { //CP1163 + { + P138, P122, P00, P123, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P139, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_43 = { //CP1258 + { + P140, P141, P26, P123, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P142, P28, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_44 = { //CP437 + { + P143, P144, P00, P145, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P146, P00, P147, P148, P00, P14, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_45 = { //CP737 + { + P149, P00, P00, P150, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P151, P00, P152, P00, P00, P14, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_46 = { //CP775 + { + P153, P154, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P155, P00, P156, P00, P00, P157, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_47 = { //CP850 + { + P158, P159, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P160, P00, P00, P00, P00, P55, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_48 = { //CP852 + { + P161, P162, P163, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P55, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_49 = { //CP853 + { + P164, P165, P166, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P167, P00, P00, P00, P55, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_50 = { //CP856 + { + P168, P00, P00, P00, P00, P169, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P160, P00, P00, P00, P00, P55, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_51 = { //CP857 + { + P170, P171, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P55, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_52 = { //CP858 + { + P158, P144, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P172, P00, P00, P00, P00, P55, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_53 = { //CP860 + { + P173, P00, P00, P145, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P146, P00, P147, P174, P00, P14, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_54 = { //CP861 + { + P175, P144, P00, P145, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P146, P00, P147, P148, P00, P14, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_55 = { //CP862 + { + P176, P144, P00, P145, P00, P169, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P146, P00, P147, P148, P00, P14, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_56 = { //CP863 + { + P177, P144, P00, P145, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P178, P00, P147, P148, P00, P14, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_57 = { //CP864 + { + P179, P00, P00, P180, P00, P00, P181, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P182, P00, P00, P183, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P184, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_58 = { //CP865 + { + P185, P144, P00, P145, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P146, P00, P147, P148, P00, P14, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_59 = { //CP869 + { + P186, P00, P00, P187, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P188, P00, P00, P00, P00, P55, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_60 = { //CP874 + { + P189, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P136, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P137, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_61 = { //CP922 + { + P190, P191, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P192, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_62 = { //HP_ROMAN8 + { + P193, P194, P195, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P196, P00, P00, P00, P00, P197, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_63 = { //ISO646_CN + { + P198, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P199, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_64 = { //ISO646_JP + { + P200, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P199, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_65 = { //ISO8859_10 + { + P201, P202, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P203, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_66 = { //ISO8859_11 + { + P204, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P136, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_67 = { //ISO8859_14 + { + P205, P206, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P207, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_68 = { //JISX0201 + { + P200, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P199, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P208, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_69 = { //KOI8_T + { + P209, P00, P00, P00, P210, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P66, P04, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_70 = { //MAC_ARABIC + { + P211, P00, P00, P00, P00, P00, P212, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P213, P00, P00, P00, P00, P00, P00, P214, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_71 = { //MAC_CENTRALEUROPE + { + P215, P216, P217, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P218, P219, P220, P00, P00, P221, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_72 = { //MAC_CROATIAN + { + P222, P223, P224, P225, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P226, P219, P227, P00, P00, P221, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P228, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_73 = { //MAC_GREEK + { + P229, P230, P00, P231, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P232, P233, P234, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_74 = { //MAC_HEBREW + { + P235, P00, P00, P00, P00, P236, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P237, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P238, P00, P00, P239, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_75 = { //MAC_ICELAND + { + P240, P241, P242, P243, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P244, P219, P245, P00, P00, P221, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P246, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_76 = { //MAC_ROMANIA + { + P247, P248, P249, P243, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P250, P219, P245, P00, P00, P221, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P246, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_77 = { //MAC_ROMAN + { + P251, P241, P242, P243, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P250, P219, P245, P00, P00, P221, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P246, P00, P00, P252, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_78 = { //MAC_THAI + { + P253, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P254, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P255, P256, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_79 = { //MAC_TURKISH + { + P251, P257, P242, P243, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P258, P219, P245, P00, P00, P221, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P259, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_80 = { //reserved2 + { + P15, P16, P00, P00, P17, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P18, P19, P20, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_81 = { //MULELAO + { + P204, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P260, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_82 = { //NEXTSTEP + { + P261, P262, P263, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P264, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P265, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_83 = { //PT154 + { + P266, P00, P00, P00, P267, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P268, P269, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_84 = { //RISCOS-LATIN1 + { + P270, P271, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P272, P273, P274, P00, P00, P275, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P276, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_85 = { //RK1048 + { + P01, P00, P00, P00, P277, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P03, P04, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_86 = { //TCVN + { + P278, P279, P00, P280, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P281, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_87 = { //TDS565 + { + P282, P283, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P284, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_88 = { //TIS620 + { + P29, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P136, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +static const Encoder encoder_89 = { //VISCII + { + P285, P286, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P287, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + P00, P00, P00, P00, P00, P00, P00, P00, + }, + defchars[0], + P00, +}; + +const Encoder* const NCodepagePrivate::TCodePageData::EncodeTo[] = { + &encoder_00, + &encoder_01, + &encoder_02, + &encoder_03, + &encoder_04, + &encoder_05, + &encoder_06, + &encoder_07, + &encoder_08, + &encoder_09, + nullptr, + nullptr, + &encoder_12, + nullptr, + &encoder_14, + &encoder_15, + &encoder_16, + &encoder_17, + &encoder_18, + &encoder_19, + &encoder_20, + &encoder_21, + &encoder_22, + &encoder_23, + &encoder_24, + &encoder_25, + &encoder_26, + &encoder_27, + &encoder_28, + &encoder_29, + &encoder_30, + &encoder_31, + &encoder_32, + &encoder_33, + &encoder_34, + &encoder_35, + &encoder_36, + &encoder_37, + &encoder_38, + &encoder_39, + &encoder_40, + &encoder_41, + &encoder_42, + &encoder_43, + &encoder_44, + &encoder_45, + &encoder_46, + &encoder_47, + &encoder_48, + &encoder_49, + &encoder_50, + &encoder_51, + &encoder_52, + &encoder_53, + &encoder_54, + &encoder_55, + &encoder_56, + &encoder_57, + &encoder_58, + &encoder_59, + &encoder_60, + &encoder_61, + &encoder_62, + &encoder_63, + &encoder_64, + &encoder_65, + &encoder_66, + &encoder_67, + &encoder_68, + &encoder_69, + &encoder_70, + &encoder_71, + &encoder_72, + &encoder_73, + &encoder_74, + &encoder_75, + &encoder_76, + &encoder_77, + &encoder_78, + &encoder_79, + &encoder_80, + &encoder_81, + &encoder_82, + &encoder_83, + &encoder_84, + &encoder_85, + &encoder_86, + &encoder_87, + &encoder_88, + &encoder_89, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, + nullptr, +}; + +const struct Encoder &WideCharToYandex = encoder_09; + +const Recoder NCodepagePrivate::TCodePageData::rcdr_to_yandex[] = { +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\246\303\047\343\042\056\052\052\044\052\246\042\246\312\246\246" + "\266\047\047\042\042\052\055\055\260\260\266\042\266\352\266\266\240\254" + "\274\246\044\216\260\247\250\260\256\042\075\217\260\257\260\075\255\275" + "\236\266\052\055\270\267\276\042\266\246\266\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\075\260\075\075\075\075\075\240\075\260\062\055\075\260\260" + "\260\270\276\260\275\277\260\260\260\260\260\236\260\260\260\260\260\250" + "\256\260\255\257\260\260\260\260\260\216\260\260\376\340\341\366\344\345" + "\364\343\365\350\351\352\353\354\355\356\357\377\360\361\362\363\346\342" + "\374\373\347\370\375\371\367\372\336\300\301\326\304\305\324\303\325\310" + "\311\312\313\314\315\316\317\337\320\321\322\323\306\302\334\333\307\330" + "\335\331\327\332"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317" + "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341" + "\342\343\344\345\346\347\350\351\352\353\354\355\356\357\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\360\361\362\363\364\365\366\367\370\371" + "\372\373\374\375\376\377\250\270\256\276\257\277\254\274\260\075\055\075" + "\267\044\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317" + "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\052\260" + "\216\044\247\052\052\255\260\260\260\246\266\075\303\343\075\075\075\075" + "\275\266\236\246\256\276\257\277\246\266\246\266\266\246\075\075\266\075" + "\075\042\042\056\240\246\266\312\352\266\055\055\042\042\047\047\075\042" + "\254\274\246\266\267\250\270\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\044"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\250" + "\246\303\256\246\255\257\246\246\246\246\312\217\254\246\300\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325" + "\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371" + "\372\373\374\375\376\377\267\270\266\343\276\266\275\277\266\266\266\266" + "\352\247\274\266"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\044\260\047\266\042\056\052\052\266\052\123\042\246\260\132\260" + "\260\047\047\042\042\052\055\055\140\260\163\042\266\260\172\131\240\052" + "\044\044\044\044\260\247\140\260\141\042\075\217\260\140\260\075\062\063" + "\140\266\052\055\140\061\157\042\061\061\063\052\101\101\101\101\201\101" + "\246\103\105\105\105\105\111\111\111\111\246\116\117\242\117\117\202\075" + "\246\125\125\125\203\131\246\220\210\141\211\141\221\141\266\212\213\214" + "\215\230\151\151\231\232\266\156\157\262\233\157\222\075\266\234\165\235" + "\223\171\266\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\044\260\047\260\042\056\052\052\260\052\123\042\243\124\132\245" + "\260\047\047\042\042\052\055\055\260\260\163\042\263\164\172\265\240\055" + "\140\207\044\204\260\247\140\260\123\042\075\217\260\244\260\075\140\227" + "\140\266\052\055\140\224\163\042\114\140\154\264\122\101\101\101\201\114" + "\205\103\103\105\206\105\105\111\111\104\246\241\116\242\117\117\202\075" + "\122\125\125\125\203\131\124\220\162\141\211\141\221\154\225\212\143\214" + "\226\230\145\151\231\144\266\261\156\262\233\157\222\075\162\165\165\165" + "\223\171\164\140"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\204" + "\140\207\044\114\243\247\140\123\123\124\245\217\132\244\260\224\140\227" + "\140\154\263\055\140\163\163\164\265\140\172\264\122\101\101\101\201\114" + "\205\103\103\105\206\105\105\111\111\104\246\241\116\242\117\117\202\075" + "\122\125\125\125\203\131\124\220\162\141\211\141\221\154\225\212\143\214" + "\226\230\145\151\231\144\266\261\156\262\233\157\222\075\162\165\165\165" + "\223\171\164\140"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{},}, +{{},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\266\246\343\303\270\250\276\256\266\246\275\255\277\257\266\246" + "\266\246\266\246\266\246\352\312\274\254\266\246\376\336\372\332\340\300" + "\341\301\366\326\344\304\345\305\364\324\343\303\042\042\260\260\260\260" + "\260\365\325\350\310\260\260\260\260\351\311\260\260\260\260\260\260\260" + "\352\312\260\260\260\260\260\260\260\044\353\313\354\314\355\315\356\316" + "\357\260\260\260\260\317\377\260\337\360\320\361\321\362\322\363\323\346" + "\306\342\302\374\334\267\217\373\333\347\307\370\330\375\335\371\331\367" + "\327\247\260\240"},}, +{{},}, +{{"\000\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\246\246\047\266\042\056\052\052\044\052\246\042\246\246\246\246" + "\266\047\047\042\042\052\055\055\032\260\266\042\266\266\266\266\240\254" + "\274\246\044\246\260\247\250\260\256\042\075\217\260\257\260\075\255\275" + "\266\266\052\055\270\267\276\042\266\246\266\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\246\303\047\343\042\056\052\052\044\052\246\042\246\246\246\246" + "\266\047\047\042\042\052\055\055\032\260\266\042\266\266\266\266\240\254" + "\274\246\044\216\260\247\250\260\256\042\075\217\260\257\260\075\255\275" + "\236\266\052\055\270\267\276\042\266\246\266\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\077" + "\266\056\051\050\042\042\055\056\052\054\055\055\056\052\052\052\246\266" + "\246\266\246\266\246\266\246\266\246\266\246\266\246\266\246\266\246\266" + "\246\266\246\266\246\266\246\266\246\266\246\266\246\266\246\266\246\266" + "\246\266\246\266\246\266\246\266\246\266\246\266\246\266\246\266\246\266" + "\246\266\246\266\246\266\246\266\246\266\246\266\246\266\246\266\246\266" + "\246\266\052\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\047\266\042\056\052\052\266\052\123\042\246\032\032\032" + "\032\047\047\042\042\052\055\055\140\260\163\042\266\032\032\131\240\052" + "\044\044\044\044\260\247\140\260\141\042\075\217\260\140\260\075\062\063" + "\140\266\052\055\140\061\157\042\061\061\063\052\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\212\213\214" + "\215\230\151\151\231\232\266\156\157\262\233\157\222\075\266\234\165\235" + "\223\171\266\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\047\266\042\056\052\052\266\052\123\042\246\032\032\032" + "\032\047\047\042\042\052\055\055\140\260\163\042\266\032\032\131\240\052" + "\044\044\044\044\260\247\140\260\141\042\075\217\260\140\260\075\062\063" + "\140\266\052\055\140\061\157\042\061\061\063\052\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\266\212\213\214" + "\215\230\151\151\231\232\266\156\157\262\233\157\222\075\266\234\165\235" + "\223\171\266\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\246" + "\140\044\044\260\110\247\140\111\123\107\112\217\260\244\260\266\062\063" + "\140\266\150\055\140\266\163\147\152\061\260\264\101\101\101\260\201\103" + "\103\103\105\105\105\105\111\111\111\111\260\116\117\242\117\107\202\075" + "\107\125\125\125\203\125\123\220\210\141\211\260\221\143\143\212\213\214" + "\215\230\151\151\231\232\260\156\157\262\233\147\222\075\147\234\165\235" + "\223\165\163\140"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\204" + "\266\122\044\111\114\247\140\123\105\107\246\217\132\140\260\224\140\162" + "\140\151\154\055\140\163\145\147\266\246\172\266\101\101\101\101\201\101" + "\246\111\103\105\206\105\105\111\111\111\246\116\117\113\117\117\202\075" + "\246\125\125\125\203\125\125\220\141\141\211\141\221\141\266\151\143\214" + "\226\230\145\151\231\151\266\156\157\153\233\157\222\075\266\165\165\235" + "\223\165\165\140"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\260\260\214\211\260\210\260\212\215\230\213\232\231\260\260\260" + "\260\260\260\233\260\260\235\234\260\260\032\032\032\032\032\032\240\260" + "\260\260\044\260\260\260\260\260\260\260\056\260\042\042\260\260\260\260" + "\260\260\260\260\260\260\260\056\260\260\260\056\260\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\260\260\260\260\260\055\237\237\237\237\237\237\237\237\237" + "\237\200\200\200\200\200\200\200\200\260\260\260\260\260\260\260\260\260" + "\266\044\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\047" + "\047\044\044\044\260\247\140\260\055\042\075\217\260\055\260\075\062\063" + "\140\140\246\055\246\246\246\042\246\061\246\246\266\246\246\246\246\246" + "\246\246\246\246\246\246\246\246\246\246\246\246\260\246\246\246\246\246" + "\246\246\246\246\266\266\266\266\266\266\266\266\266\266\266\266\266\266" + "\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266" + "\266\266\266\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\260" + "\044\044\044\044\260\247\140\260\075\042\075\217\260\140\260\075\062\063" + "\140\266\052\055\140\061\075\042\061\061\063\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\052\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\260" + "\260\032\032\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\052" + "\044\044\044\044\260\247\140\260\141\042\075\217\260\140\260\075\062\063" + "\140\266\052\055\140\061\157\042\061\061\063\052\101\101\101\101\201\101" + "\246\103\105\105\105\105\111\111\111\111\107\116\117\242\117\117\202\075" + "\246\125\125\125\203\111\123\220\210\141\211\141\221\141\266\212\213\214" + "\215\230\151\151\231\232\147\156\157\262\233\157\222\075\266\234\165\235" + "\223\266\163\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\042" + "\044\044\044\042\260\247\246\260\122\042\075\217\260\246\260\075\062\063" + "\042\266\052\055\266\061\162\042\061\061\063\266\204\111\101\205\201\101" + "\206\105\103\105\245\105\107\113\111\114\123\241\116\242\117\117\202\075" + "\125\207\243\125\203\244\132\220\224\151\141\225\221\141\226\145\143\214" + "\265\145\147\153\151\154\163\261\156\262\157\157\222\075\165\227\263\165" + "\223\264\172\047"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\052" + "\044\044\044\044\123\247\163\260\141\042\075\217\260\140\260\075\062\063" + "\132\266\052\055\172\061\157\042\246\266\131\052\101\101\101\101\201\101" + "\246\103\105\105\105\105\111\111\111\111\246\116\117\242\117\117\202\075" + "\246\125\125\125\203\131\246\220\210\141\211\141\221\141\266\212\213\214" + "\215\230\151\151\231\232\266\156\157\262\233\157\222\075\266\234\165\235" + "\223\171\266\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\204" + "\224\207\044\042\123\247\163\260\123\042\245\217\265\244\260\075\103\227" + "\132\042\052\055\172\143\163\042\246\266\131\264\101\101\101\101\201\205" + "\246\103\105\105\105\105\111\111\111\111\246\241\117\242\117\117\202\243" + "\125\125\125\125\203\206\124\220\210\141\211\141\221\225\266\212\213\214" + "\215\230\151\151\231\232\266\261\157\262\233\157\222\263\165\234\165\235" + "\223\226\164\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\044\260\047\266\042\056\052\052\260\052\260\042\260\260\260\260" + "\260\047\047\042\042\052\055\055\260\260\260\042\260\260\260\260\240\140" + "\246\044\044\044\260\247\140\260\260\042\075\217\260\055\260\075\062\063" + "\140\266\052\055\246\246\246\042\246\061\246\246\266\246\246\246\246\246" + "\246\246\246\246\246\246\246\246\246\246\246\246\260\246\246\246\246\246" + "\246\246\246\246\266\266\266\266\266\266\266\266\266\266\266\266\266\266" + "\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266" + "\266\266\266\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\044\260\047\266\042\056\052\052\266\052\123\042\246\260\260\260" + "\260\047\047\042\042\052\055\055\140\260\163\042\266\260\260\131\240\052" + "\044\044\044\044\260\247\140\260\141\042\075\217\260\140\260\075\062\063" + "\140\266\052\055\140\061\157\042\061\061\063\052\101\101\101\101\201\101" + "\246\103\105\105\105\105\111\111\111\111\107\116\117\242\117\117\202\075" + "\246\125\125\125\203\111\123\220\210\141\211\141\221\141\266\212\213\214" + "\215\230\151\151\231\232\147\156\157\262\233\157\222\075\266\234\165\235" + "\223\266\163\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\044\260\047\266\042\056\052\052\266\052\260\042\260\260\260\260" + "\260\047\047\042\042\052\055\055\140\260\260\042\260\260\260\260\240\052" + "\044\044\044\044\260\247\140\260\075\042\075\217\260\140\260\075\062\063" + "\140\266\052\055\140\061\075\042\061\061\063\052\200\200\200\200\200\200" + "\200\200\200\200\260\200\200\200\055\200\052\200\200\052\237\237\237\052" + "\052\260\260\260\260\260\260\260\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\260" + "\260\032\032\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\044\237\047\266\042\056\052\052\266\052\237\042\246\237\237\237" + "\237\047\047\042\042\052\055\055\237\260\237\042\266\032\032\237\240\056" + "\044\044\044\044\260\247\140\260\237\042\075\217\260\140\260\075\062\063" + "\140\266\052\055\140\061\056\042\061\061\063\056\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\075" + "\237\237\237\237\055\237\237\237\210\237\211\237\237\237\237\212\213\214" + "\215\230\237\237\231\232\200\200\200\200\233\200\200\075\200\234\200\235" + "\223\032\032\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\044\260\047\260\042\056\052\052\260\052\260\042\260\140\055\140" + "\260\047\047\042\042\052\055\055\260\260\260\042\260\140\140\260\240\260" + "\044\044\044\260\260\247\246\260\122\042\075\217\260\246\260\075\062\063" + "\140\266\052\055\266\061\162\042\061\061\063\266\204\111\101\205\201\101" + "\206\105\103\105\245\105\107\113\111\114\123\241\116\242\117\117\202\075" + "\125\207\243\125\203\244\132\220\224\151\141\225\221\141\226\145\143\214" + "\265\145\147\153\151\154\163\261\156\262\157\157\222\075\165\227\263\165" + "\223\264\172\140"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\237\075\075\077\077\077\077\237\032\260\260\260\260\260\260\260" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\240\077" + "\077\077\044\077\237\237\237\237\237\237\056\217\237\237\071\071\071\071" + "\071\071\071\071\071\071\237\056\237\237\237\056\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\055\237\237\237\237\237\237\237\237\237" + "\237\200\200\200\200\200\200\200\200\237\237\237\077\237\237\237\237\237" + "\237\237\237\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\250" + "\246\216\256\246\255\257\246\246\246\246\312\217\254\246\300\301\302\303" + "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325" + "\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347" + "\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371" + "\372\373\374\375\376\377\267\270\266\236\276\266\275\277\266\266\266\266" + "\352\247\274\266"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317" + "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341" + "\342\343\344\345\346\347\350\351\352\353\354\355\356\357\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\360\361\362\363\364\365\366\367\370\371" + "\372\373\374\375\376\377\250\270\216\236\256\276\255\275\257\277\055\075" + "\267\044\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\052" + "\044\044\044\044\260\247\266\260\141\042\075\217\260\140\260\075\062\063" + "\131\266\052\055\246\061\157\042\061\061\063\052\101\101\101\101\201\101" + "\246\103\105\105\105\105\200\111\111\111\246\116\200\242\117\117\202\075" + "\246\125\125\125\203\125\200\220\210\141\211\141\221\141\266\212\213\214" + "\215\230\200\151\231\232\266\156\200\262\233\157\222\075\266\234\165\235" + "\223\165\044\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317" + "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341" + "\342\343\344\345\346\347\350\351\352\353\354\355\356\357\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\360\361\362\363\364\365\366\367\370\371" + "\372\373\374\375\376\377\250\270\256\276\257\277\254\274\255\275\055\044" + "\216\236\075\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\260\260\260\237\237\237\237\200\200\200" + "\200\200\200\200\200\200\237\260\260\260\237\237\237\237\237\200\200\200" + "\200\200\200\055\260\237\237\044\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\071\071\071\071\071\071\071\071\071\071\260\260" + "\044\075\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\200\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\200\237\237\200\200\200\200" + "\200\200\200\200\200\200\044\044\237\237\237\237\237\237\055\200\200\200" + "\200\200\200\200\200\052\071\071\071\071\071\071\071\071\071\071\052\052" + "\044\075\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\044\032\032\032\032\056\032\032\032\032\032\032\032\032\032\032" + "\032\047\047\042\042\052\055\055\032\032\032\032\032\032\032\032\240\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\200\237\237\200\200\200\200" + "\200\200\200\260\260\260\260\044\237\237\237\237\237\237\055\200\200\200" + "\200\200\200\200\200\052\071\071\071\071\071\071\071\071\071\071\052\052" + "\260\260\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\052" + "\044\044\044\044\260\247\266\260\141\042\075\217\260\140\260\075\062\063" + "\131\266\052\055\246\061\157\042\061\061\063\052\101\101\101\101\201\101" + "\246\103\105\105\105\105\200\111\111\111\246\116\200\242\117\117\202\075" + "\246\125\125\125\203\125\200\220\210\141\211\141\221\141\266\212\213\214" + "\215\230\200\151\231\232\266\156\200\262\233\157\222\075\266\234\165\235" + "\223\165\044\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\044\260\047\266\042\056\052\052\266\052\260\042\246\260\260\260" + "\260\047\047\042\042\052\055\055\140\260\260\042\266\260\260\131\240\052" + "\044\044\044\044\260\247\140\260\141\042\075\217\260\140\260\075\062\063" + "\140\266\052\055\140\061\157\042\061\061\063\052\101\101\101\101\201\101" + "\246\103\105\105\105\105\200\111\111\111\246\116\200\242\117\117\202\075" + "\246\125\125\125\203\125\200\220\210\141\211\141\221\141\266\212\213\214" + "\215\230\200\151\231\232\266\156\200\262\233\157\222\075\266\234\165\235" + "\223\165\044\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\103\223\214\211\221\210\141\212\215\230\213\232\231\151\201\101" + "\105\266\246\233\222\157\235\234\171\202\203\044\044\044\044\266\141\151" + "\262\165\156\116\141\157\052\260\075\061\061\052\042\042\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\266\220\246\266\246\266\266\266\246\246" + "\246\266\075\266\266\075\075\075\075\075\075\075\075\075\260\075\055\075" + "\156\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\246\246\246\246\246\246\246\246\246\246\246\246\246\246\246\246" + "\246\246\246\246\246\246\246\246\266\266\266\266\266\266\266\266\266\266" + "\266\266\266\266\266\266\266\266\266\266\266\266\266\266\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\266\266\266\266\266\266\266\266\266\266" + "\246\246\246\246\246\246\246\075\075\075\246\246\075\075\260\075\055\075" + "\156\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\205\223\214\141\221\147\141\225\227\145\122\162\151\245\201\101" + "\105\266\246\157\222\107\044\243\263\202\203\266\044\246\075\044\101\111" + "\262\244\264\265\042\260\260\260\075\061\061\207\042\042\260\260\260\260" + "\260\204\103\206\105\260\260\260\260\111\123\260\260\260\260\260\260\260" + "\125\125\260\260\260\260\260\260\260\132\224\143\226\145\151\163\165\165" + "\172\260\260\260\260\260\260\260\242\220\117\241\157\117\266\261\113\153" + "\114\154\156\105\116\047\217\075\042\063\052\247\075\042\260\075\055\061" + "\063\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\103\223\214\211\221\210\141\212\215\230\213\232\231\151\201\101" + "\105\266\246\233\222\157\235\234\171\202\203\266\044\246\075\266\141\151" + "\262\165\156\116\141\157\052\260\075\061\061\052\042\042\260\260\260\260" + "\260\101\101\101\260\260\260\260\260\044\044\260\260\260\260\260\260\260" + "\141\101\260\260\260\260\260\260\260\044\266\246\105\105\105\266\111\111" + "\111\260\260\260\260\260\111\260\242\220\117\117\157\117\266\266\246\125" + "\125\125\171\131\140\140\217\075\052\063\052\247\075\140\260\140\055\061" + "\063\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\103\223\214\211\221\165\225\212\227\230\117\157\231\245\201\205" + "\105\114\154\233\222\114\154\243\263\202\203\124\164\207\075\143\141\151" + "\262\165\204\224\132\172\206\226\075\265\103\163\042\042\260\260\260\260" + "\260\101\101\105\123\260\260\260\260\244\264\260\260\260\260\260\260\260" + "\101\141\260\260\260\260\260\260\260\044\266\246\104\105\144\116\111\111" + "\145\260\260\260\260\124\125\260\242\220\117\241\261\156\123\163\122\125" + "\162\125\171\131\164\140\217\140\140\055\140\247\075\140\260\140\140\165" + "\122\162\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\103\223\214\211\221\210\143\212\215\230\213\232\231\151\201\103" + "\105\143\103\233\222\157\235\234\111\202\203\147\044\107\075\152\141\151" + "\262\165\156\116\107\147\110\150\260\061\112\163\042\042\260\260\260\260" + "\260\101\101\101\123\260\260\260\260\244\264\260\260\260\260\260\260\260" + "\123\163\260\260\260\260\260\260\260\044\260\260\105\105\105\266\111\111" + "\111\260\260\260\260\260\111\260\242\220\117\117\107\147\266\246\266\125" + "\125\125\125\165\260\140\217\260\154\266\140\247\075\140\260\140\140\260" + "\063\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\260\044\260\075\260\260\260" + "\260\260\260\260\260\260\260\260\075\061\061\260\042\042\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\044\044\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\044\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\266\260\260\260" + "\260\260\260\260\140\140\217\075\052\063\052\247\075\140\260\140\055\061" + "\063\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\103\223\214\211\221\210\141\212\215\230\213\232\231\266\201\101" + "\105\266\246\233\222\157\235\234\111\202\203\266\044\246\123\163\141\151" + "\262\165\156\116\107\147\052\260\075\061\061\052\042\042\260\260\260\260" + "\260\101\101\101\260\260\260\260\260\044\044\260\260\260\260\260\260\260" + "\141\101\260\260\260\260\260\260\260\044\157\141\105\105\105\260\111\111" + "\111\260\260\260\260\260\111\260\242\220\117\117\157\117\266\260\075\125" + "\125\125\151\171\140\140\217\075\260\063\052\247\075\140\260\140\055\061" + "\063\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\103\223\214\211\221\210\141\212\215\230\213\232\231\151\201\101" + "\105\266\246\233\222\157\235\234\171\202\203\266\044\246\075\266\141\151" + "\262\165\156\116\141\157\052\260\075\061\061\052\042\042\260\260\260\260" + "\260\101\101\101\260\260\260\260\260\044\044\260\260\260\260\260\260\260" + "\141\101\260\260\260\260\260\260\260\044\266\246\105\105\105\044\111\111" + "\111\260\260\260\260\260\111\260\242\220\117\117\157\117\266\266\246\125" + "\125\125\171\131\140\140\217\075\052\063\052\247\075\140\260\140\055\061" + "\063\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\103\223\214\211\141\210\101\212\215\105\213\111\117\151\101\101" + "\105\101\105\233\157\157\125\234\111\117\203\044\044\125\044\242\141\151" + "\262\165\156\116\141\157\052\117\075\061\061\052\042\042\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\266\220\246\266\246\266\266\266\246\246" + "\246\266\075\266\266\075\075\075\075\075\075\075\075\075\260\075\055\075" + "\156\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\103\223\214\211\221\210\141\212\215\230\213\246\266\246\201\101" + "\105\266\246\233\222\266\235\131\171\202\203\266\044\246\044\266\141\151" + "\262\165\101\111\242\125\052\260\075\061\061\052\042\042\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\266\220\246\266\246\266\266\266\246\246" + "\246\266\075\266\266\075\075\075\075\075\075\075\075\075\260\075\055\075" + "\156\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\044\044\044\044\266\141\151" + "\262\165\156\116\141\157\052\260\075\061\061\052\042\042\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\266\220\246\266\246\266\266\266\246\246" + "\246\266\075\266\266\075\075\075\075\075\075\075\075\075\260\075\055\075" + "\156\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\103\223\214\211\101\210\052\212\215\230\213\232\231\052\101\247" + "\105\105\105\233\105\111\235\234\044\117\203\044\044\125\125\266\260\140" + "\262\165\140\140\063\140\111\260\075\061\061\063\042\042\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\266\220\246\266\246\266\266\266\246\246" + "\246\266\075\266\266\075\075\075\075\075\075\075\075\075\260\075\055\075" + "\156\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\052\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\260\055\075\075\260\260\260\260\260\260\260\260\260\260\260\260" + "\266\075\266\075\061\061\075\042\042\237\237\260\260\237\237\260\240\217" + "\237\044\044\237\260\260\237\237\237\237\056\237\237\237\071\071\071\071" + "\071\071\071\071\071\071\237\056\237\237\237\056\044\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\260\075\075\075\237\055\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\200\237\237\237\237\237\237\237\237\237\237" + "\237\237\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\103\223\214\211\221\210\141\212\215\230\213\232\231\151\201\101" + "\105\266\246\233\222\157\235\234\171\202\203\266\044\246\044\266\141\151" + "\262\165\156\116\141\157\052\260\075\061\061\052\042\044\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\266\220\246\266\246\266\266\266\246\246" + "\246\266\075\266\266\075\075\075\075\075\075\075\075\075\260\075\055\075" + "\156\062\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\260\260\260\260\260\260\246\260\055\075\260\047\047\246\055\246" + "\246\246\246\260\260\246\246\260\246\062\063\266\044\266\266\266\266\266" + "\266\266\246\246\246\246\246\246\246\061\246\246\042\042\260\260\260\260" + "\260\246\246\246\246\260\260\260\260\246\246\260\260\260\260\260\260\260" + "\246\246\260\260\260\260\260\260\260\246\246\246\246\246\246\246\266\266" + "\266\260\260\260\260\266\266\260\266\266\266\266\266\266\266\266\266\266" + "\266\266\266\266\266\140\217\075\266\266\266\247\266\140\260\140\266\266" + "\266\266\260\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\044\260\260\260\260\056\260\260\260\260\260\260\260\260\260\260" + "\260\047\047\042\042\052\055\055\260\260\260\260\260\260\260\260\240\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\200\237\237\200\200\200\200" + "\200\200\200\260\260\260\260\044\237\237\237\237\237\237\055\200\200\200" + "\200\200\200\200\200\052\071\071\071\071\071\071\071\071\071\071\052\052" + "\260\260\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\052" + "\044\044\044\044\260\247\140\260\141\042\075\217\260\052\260\075\062\063" + "\140\266\052\055\140\061\157\042\061\061\063\052\101\101\101\101\201\101" + "\246\103\105\105\105\105\111\111\111\111\123\116\117\242\117\117\202\075" + "\246\125\125\125\203\131\132\220\210\141\211\141\221\141\266\212\213\214" + "\215\230\151\151\231\232\163\156\157\262\233\157\222\075\266\234\165\235" + "\223\171\172\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\101" + "\101\105\105\105\111\111\140\266\266\140\140\125\125\044\140\131\171\260" + "\103\212\116\156\052\052\044\044\044\247\266\044\211\215\233\235\141\214" + "\262\165\210\213\157\234\221\230\222\223\101\231\246\246\141\151\266\266" + "\201\151\202\203\105\232\220\117\101\101\141\246\266\111\111\242\117\117" + "\157\123\163\125\131\171\246\266\055\266\052\063\055\061\061\141\157\042" + "\260\042\075\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\052\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\044\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\052\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\204" + "\105\107\111\111\113\247\114\246\123\246\132\217\125\246\260\224\145\147" + "\151\151\153\055\154\266\163\266\172\055\165\266\101\101\101\101\201\101" + "\246\111\103\105\206\105\105\111\111\111\246\116\117\242\117\117\202\125" + "\246\125\125\125\203\131\246\220\141\141\211\141\221\141\266\151\143\214" + "\226\230\145\151\231\232\266\156\157\262\233\157\222\165\266\165\165\235" + "\223\171\266\266"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\200\237\237\200\200\200\200" + "\200\200\200\260\260\260\260\044\237\237\237\237\237\237\055\200\200\200" + "\200\200\200\200\200\052\071\071\071\071\071\071\071\071\071\071\052\052" + "\260\260\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\102" + "\142\044\103\143\104\247\127\260\127\144\131\217\260\131\106\146\107\147" + "\115\155\052\120\167\160\167\123\171\127\167\163\101\101\101\101\201\101" + "\246\103\105\105\105\105\111\111\111\111\127\116\117\242\117\117\202\124" + "\246\125\125\125\203\131\131\220\210\141\211\141\221\141\266\212\213\214" + "\215\230\151\151\231\232\167\156\157\262\233\157\222\164\266\234\165\235" + "\223\171\171\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\044\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\052\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\056" + "\042\042\056\055\237\237\237\237\237\237\237\237\237\237\055\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\055\055\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\266\266\047\246\042\056\052\052\260\052\266\042\246\266\246\260" + "\246\047\047\042\042\052\055\055\260\260\260\042\260\260\260\260\260\363" + "\323\270\044\350\260\247\260\260\260\042\075\217\260\260\260\075\062\250" + "\260\310\052\055\260\267\260\042\260\260\260\260\376\340\341\366\344\345" + "\364\343\365\350\351\352\353\354\355\356\357\377\360\361\362\363\346\342" + "\374\373\347\370\375\371\367\372\336\300\301\326\304\305\324\303\325\310" + "\311\312\313\314\315\316\317\337\320\321\322\323\306\302\334\333\307\330" + "\335\331\327\332"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\201\240\103\105\116\202\203\141\210\211\221\237\042\212\214\213" + "\215\230\151\056\231\232\156\262\042\233\222\075\165\234\235\223\040\041" + "\042\043\044\052\046\047\050\051\052\053\056\055\056\057\071\071\071\071" + "\071\071\071\071\071\071\072\056\074\075\076\056\260\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\133\134\135\136\137\055\237\237\237\237\237\237\237\237\237" + "\237\200\200\200\200\200\200\200\200\237\237\237\237\237\237\237\237\173" + "\174\175\237\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\201\101\141\105\204\202\203\141\224\103\221\143\205\225\214\245" + "\265\104\151\144\105\145\105\262\145\233\222\157\165\105\145\223\052\260" + "\206\044\247\052\052\220\260\260\260\226\140\075\147\111\151\111\075\075" + "\151\113\075\075\227\114\154\114\154\114\154\116\156\241\075\075\261\116" + "\075\042\042\056\240\156\117\117\157\117\055\055\042\042\047\047\075\260" + "\157\122\162\122\042\042\162\122\162\123\047\042\163\243\263\101\124\164" + "\111\132\172\125\242\117\165\125\125\165\125\165\125\165\131\171\153\244" + "\207\264\107\055"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\201\101\103\105\116\202\203\141\210\211\221\141\141\212\214\213" + "\215\230\151\151\231\232\156\262\157\233\222\157\165\234\235\223\052\260" + "\044\044\247\052\052\220\260\123\260\140\140\075\132\246\075\075\075\075" + "\075\266\075\075\075\163\075\141\157\246\172\266\052\052\075\075\266\075" + "\205\042\103\056\240\101\101\117\246\266\246\055\042\042\047\047\075\260" + "\077\260\075\044\042\042\246\042\055\055\047\042\052\101\225\101\143\105" + "\111\111\111\111\242\117\266\117\125\125\125\266\266\140\140\266\105\140" + "\140\105\266\055"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\201\061\062\105\063\202\203\140\210\211\221\140\140\212\214\213" + "\215\230\044\260\231\232\052\061\052\233\222\260\044\234\235\223\052\246" + "\246\246\246\246\246\220\260\260\246\246\247\075\260\055\246\075\075\075" + "\044\246\246\246\246\246\246\246\246\246\246\246\266\246\075\246\246\075" + "\246\042\042\056\240\246\246\246\246\266\055\055\042\042\047\047\075\246" + "\246\246\246\266\266\266\266\246\266\266\266\266\266\266\266\266\266\266" + "\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266\266" + "\266\266\266\217"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\201\237\103\105\116\202\203\141\210\211\221\141\141\212\214\213" + "\215\230\151\151\231\232\156\262\157\233\222\157\165\234\235\223\040\041" + "\042\043\044\045\044\047\051\050\052\053\054\055\056\057\060\061\062\063" + "\064\065\066\067\070\071\072\073\074\075\076\077\237\042\077\077\077\077" + "\200\237\237\056\240\200\200\200\200\200\055\055\042\042\047\047\237\237" + "\200\200\200\200\200\200\200\200\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\175" + "\135\173\133\174"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\201\101\103\105\116\202\203\141\210\211\221\141\141\212\214\213" + "\215\230\151\151\231\232\156\262\157\233\222\157\165\234\235\223\131\260" + "\044\044\247\052\052\220\260\260\260\140\140\075\246\246\075\075\075\075" + "\044\266\075\075\075\266\075\141\157\246\266\266\052\052\075\075\266\075" + "\075\042\042\056\240\101\101\117\246\266\055\055\042\042\047\047\075\260" + "\171\131\075\044\246\266\246\266\171\055\047\042\052\101\105\101\105\105" + "\111\111\111\111\242\117\077\117\125\125\125\266\266\140\140\140\140\140" + "\140\140\140\055"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\201\101\103\105\116\202\203\141\210\211\221\141\141\212\214\213" + "\215\230\151\151\231\232\156\262\157\233\222\157\165\234\235\223\052\260" + "\044\044\247\052\052\220\260\260\260\140\140\075\101\123\075\075\075\075" + "\044\266\075\075\075\266\075\141\157\246\141\163\052\052\075\075\266\075" + "\075\042\042\056\240\101\101\117\246\266\055\055\042\042\047\047\075\260" + "\171\131\075\044\042\042\124\164\052\055\047\042\052\101\105\101\105\105" + "\111\111\111\111\242\117\077\117\125\125\125\266\266\140\140\140\140\140" + "\140\140\140\055"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\201\101\103\105\116\202\203\141\210\211\221\141\141\212\214\213" + "\215\230\151\151\231\232\156\262\157\233\222\157\165\234\235\223\052\260" + "\044\044\247\052\052\220\260\260\260\140\140\075\246\246\075\075\075\075" + "\044\266\075\075\075\266\075\141\157\246\266\266\052\052\075\075\266\075" + "\075\042\042\056\240\101\101\117\246\266\055\055\042\042\047\047\075\260" + "\171\131\075\044\042\042\146\146\052\055\047\042\052\101\105\101\105\105" + "\111\111\111\111\242\117\077\117\125\125\125\266\266\140\140\140\140\140" + "\140\140\140\055"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\042\042\056\200\200\200\200\200\200\200\200\200\200\042\042\200" + "\260\052\200\200\200\200\200\200\200\200\200\200\200\047\047\260\240\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\200\237\237\200\200\200\200" + "\200\200\200\032\040\055\055\044\237\237\237\237\237\237\055\200\200\200" + "\200\200\200\200\260\052\071\071\071\071\071\071\071\071\071\071\260\260" + "\260\260\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\201\101\103\105\116\202\203\141\210\211\221\141\141\212\214\213" + "\215\230\151\151\231\232\156\262\157\233\222\157\165\234\235\223\052\260" + "\044\044\247\052\052\220\260\260\260\140\140\075\246\246\075\075\075\075" + "\044\266\075\075\075\266\075\141\157\246\266\266\052\052\075\075\266\075" + "\075\042\042\056\240\101\101\117\246\266\055\055\042\042\047\047\075\260" + "\171\131\107\147\111\266\123\163\052\055\047\042\052\101\105\101\105\105" + "\111\111\111\111\242\117\077\117\125\125\125\077\266\140\140\140\140\140" + "\140\140\140\055"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317" + "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\052\260" + "\216\044\247\052\052\255\260\260\260\246\266\075\303\343\075\075\075\075" + "\275\266\236\246\256\276\257\277\246\266\246\266\266\246\075\075\266\075" + "\075\042\042\056\240\246\266\312\352\266\055\055\042\042\047\047\075\042" + "\254\274\246\266\267\250\270\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\044"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032" + "\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\032\240\237" + "\237\260\237\260\260\237\237\260\237\260\260\237\260\260\260\260\260\260" + "\237\237\237\237\260\237\237\237\237\237\237\237\260\237\237\237\260\237" + "\260\237\260\260\237\237\260\237\237\237\237\200\237\237\200\200\200\200" + "\200\200\260\200\200\237\260\260\237\237\237\237\237\260\055\260\200\200" + "\200\200\200\200\260\260\071\071\071\071\071\071\071\071\071\071\260\260" + "\237\237\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\240\101\101\101\101\201\101\103\105\105\105\105\111\111\111\111" + "\246\116\117\242\117\117\202\125\125\125\203\131\246\266\075\075\260\052" + "\044\044\075\044\266\247\044\047\042\042\042\042\146\146\260\055\052\052" + "\055\260\052\052\047\042\042\042\056\052\075\052\061\266\140\266\140\140" + "\140\140\140\062\140\140\063\140\140\055\055\075\061\061\063\210\141\211" + "\141\221\141\212\213\214\215\230\151\246\151\141\231\232\266\156\207\246" + "\246\157\157\262\233\157\222\266\234\165\235\266\223\171\227\266\266\220" + "\266\171\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\246\246\323\266\042\056\246\246\246\266\246\310\246\246\246\246" + "\266\047\047\042\042\052\055\055\266\266\266\350\266\266\266\266\240\254" + "\274\246\246\246\246\247\250\260\246\042\075\363\260\246\260\266\255\275" + "\266\266\052\055\270\267\266\042\266\246\266\266\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\075\127\167\032\260\131\171\032\260\260\260\260\056\260\052\052" + "\047\047\042\042\042\042\042\055\055\055\246\266\052\052\146\146\240\052" + "\044\044\044\044\260\247\140\260\141\042\075\217\260\140\260\075\062\063" + "\140\266\052\055\140\061\157\042\061\061\063\052\101\101\101\101\201\101" + "\246\103\105\105\105\105\111\111\111\111\246\116\117\242\117\117\202\075" + "\246\125\125\125\203\131\246\220\210\141\211\141\221\141\266\212\213\214" + "\215\230\151\151\231\232\266\156\157\262\233\157\222\075\266\234\165\235" + "\223\171\266\171"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\246\303\047\343\042\056\052\052\044\052\246\042\246\246\246\246" + "\266\047\047\042\042\052\055\055\260\260\266\042\266\266\266\266\240\246" + "\266\246\044\246\260\247\250\260\246\042\075\217\260\246\260\075\255\275" + "\266\266\052\055\270\267\266\042\266\246\266\266\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\125\125\003\125\125\125\007\010\011\012\013\014\015\016\017\020\125" + "\125\131\131\131\131\131\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\101\101\101\101\101\101\101\105\105\105\105\105\105\111\111\111" + "\111\111\117\117\117\242\117\117\117\117\117\117\117\125\125\125\240\101" + "\101\105\117\117\125\246\141\211\215\233\157\165\266\101\200\200\200\200" + "\200\210\141\141\141\141\101\141\141\141\141\101\101\101\101\101\101\105" + "\141\141\141\141\141\141\213\105\145\145\214\145\145\145\145\145\145\151" + "\151\105\105\117\151\151\151\157\117\157\157\262\157\157\157\157\157\157" + "\157\157\157\157\157\234\117\165\165\165\165\165\165\165\165\165\171\171" + "\171\171\171\117"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\201\106" + "\107\110\111\112\132\113\114\115\116\116\117\202\120\122\123\123\124\125" + "\203\127\131\131\132\137\267\141\142\212\144\145\221\146\147\150\151\152" + "\172\153\154\155\156\156\157\222\160\162\163\163\164\165\223\167\171\171" + "\172\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260" + "\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\260\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237" + "\237\237\237\237\237\237\237\237\237\237\237\200\237\237\200\200\200\200" + "\200\200\200\260\260\260\260\044\237\237\237\237\237\237\055\200\200\200" + "\200\200\200\200\200\052\071\071\071\071\071\071\071\071\071\071\052\052" + "\260\260\260\260"},}, +{{"\000\001\101\003\004\101\101\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\131\025\026\027\030\131\032\033\034\035\131\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\101\101\101\101\101\101\101\101\105\105\105\105\105\105\105\117" + "\117\117\117\117\117\117\117\117\111\117\117\111\125\125\125\131\117\141" + "\141\141\141\141\141\141\145\145\145\145\145\145\145\157\157\157\157\117" + "\117\157\157\157\151\125\125\125\125\157\157\125\101\101\101\101\101\101" + "\141\141\105\105\105\105\111\111\111\171\246\165\117\242\117\141\171\165" + "\165\125\125\171\171\131\157\165\210\141\211\141\141\141\165\141\213\214" + "\215\145\151\151\151\151\266\165\157\262\233\157\157\157\165\234\165\165" + "\165\171\157\125"},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +}; + +const Recoder NCodepagePrivate::TCodePageData::rcdr_from_yandex[] = { +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\245\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\264\077\240\077" + "\077\077\077\077\077\247\250\077\077\077\241\262\252\257\260\077\077\077" + "\077\077\077\271\270\077\077\077\242\263\272\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\275\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255\077\232\077" + "\077\077\077\077\077\077\263\077\077\077\077\266\264\267\234\077\077\077" + "\077\077\077\077\243\077\077\077\077\246\244\247\341\342\367\347\344\345" + "\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376" + "\373\375\377\371\370\374\340\361\301\302\327\307\304\305\326\332\311\312" + "\313\314\315\316\317\320\322\323\324\325\306\310\303\336\333\335\337\331" + "\330\334\300\321"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\377\077" + "\077\077\077\077\077\077\360\077\077\077\366\077\362\364\370\077\077\077" + "\077\077\077\374\361\077\077\077\367\077\363\365\200\201\202\203\204\205" + "\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227" + "\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251" + "\252\253\254\255\256\257\340\341\342\343\344\345\346\347\350\351\352\353" + "\354\355\356\357"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\266\077\312\077" + "\077\077\077\077\077\244\335\077\077\077\330\247\270\272\241\077\077\077" + "\077\077\077\334\336\077\077\077\331\264\271\273\200\201\202\203\204\205" + "\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227" + "\230\231\232\233\234\235\236\237\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\375\241\077\077\077\256\246\244\247\077\077\077\077" + "\077\077\077\360\361\077\077\077\376\366\364\367\260\261\262\263\264\265" + "\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307" + "\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331" + "\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353" + "\354\355\356\357"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\245\306\312\243\077\342\347\077\351\077\077\255" + "\337\344\366\374\271\346\352\263\353\356\077\364\077\077\077\077\240\321" + "\323\214\257\217\077\247\077\077\077\077\077\077\077\077\260\361\363\234" + "\277\237\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\241\306\312\243\077\342\347\077\351\077\077\255" + "\337\344\366\374\261\346\352\263\353\356\077\364\077\077\077\077\240\321" + "\323\246\257\254\077\247\077\077\077\077\077\077\077\077\260\361\363\266" + "\277\274\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{},}, +{{},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\360" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\377\077" + "\077\077\077\077\077\375\205\077\077\077\231\213\207\215\077\077\077\077" + "\077\077\077\357\204\077\077\077\230\212\206\214\241\243\354\255\247\251" + "\352\364\270\276\307\321\323\325\327\335\342\344\346\350\253\266\245\374" + "\366\372\237\362\356\370\235\340\240\242\353\254\246\250\351\363\267\275" + "\306\320\322\324\326\330\341\343\345\347\252\265\244\373\365\371\236\361" + "\355\367\234\336"},}, +{{},}, +{{"\000\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\247\250\077\077\077\241\262\252\257\260\077\077\077" + "\077\077\077\271\270\077\077\077\242\263\272\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\245\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\264\077\240\077" + "\077\077\077\077\077\247\250\077\077\077\241\262\252\257\260\077\077\077" + "\077\077\077\271\270\077\077\077\242\263\272\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\347\350\351\352\077\255" + "\077\077\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\077\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\347\350\351\352\077\255" + "\077\077\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\077\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\257\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\277\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\241\077\312\077\077\342\077\077\351\077\077\255" + "\337\344\366\374\261\077\352\077\353\356\077\364\077\373\077\077\240\077" + "\077\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\205\203\207\212\202\210\077\077" + "\077\077\077\077\077\077\077\077\211\214\213\223\227\226\077\077\240\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\300\303\306\331\077\077\077\077\351\077\077\255" + "\337\344\366\374\340\343\346\371\077\077\077\077\077\077\077\077\240\321" + "\323\332\335\312\077\247\077\077\077\077\077\077\077\077\260\361\363\372" + "\375\352\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\241\305\335\243\340\342\347\350\351\352\077\255" + "\337\344\366\374\242\345\375\263\353\356\357\364\371\373\077\077\240\321" + "\323\327\257\254\077\247\077\077\077\077\077\077\077\077\260\361\363\367" + "\277\256\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\340\342\347\350\351\352\077\255" + "\077\077\077\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\077\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\300\303\306\331\077\077\077\077\351\077\077\255" + "\337\344\366\374\340\343\346\371\077\077\077\077\077\077\077\077\240\321" + "\323\332\335\312\077\247\077\077\077\077\077\077\077\077\260\361\363\372" + "\375\352\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\243\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\363\077\240\077" + "\077\077\077\077\077\375\241\077\077\077\256\246\244\247\077\077\077\077" + "\077\077\077\360\361\077\077\077\376\366\364\367\260\261\262\263\264\265" + "\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307" + "\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331" + "\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353" + "\354\355\356\357"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\362\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\363\077\377\077" + "\077\077\077\077\077\077\360\077\077\077\077\366\364\370\077\077\077\077" + "\077\077\077\374\361\077\077\077\077\367\365\371\200\201\202\203\204\205" + "\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227" + "\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251" + "\252\253\254\255\256\257\340\341\342\343\344\345\346\347\350\351\352\353" + "\354\355\356\357"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\354\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\374\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\375\077\377\077" + "\077\077\077\077\077\077\360\077\077\077\366\370\362\364\077\077\077\077" + "\077\077\077\077\361\077\077\077\367\371\363\365\200\201\202\203\204\205" + "\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227" + "\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251" + "\252\253\254\255\256\257\340\341\342\343\344\345\346\347\350\351\352\353" + "\354\355\356\357"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\377\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\354\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\354\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\216\231\232\077\077\077\077\205\203\207\212\202\210\077\077" + "\341\204\224\201\077\077\077\077\211\214\213\223\227\226\077\077\377\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\370\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\377\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\370\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\216\231\232\265\200\267\255\077\077\077\077\202\077\077\360" + "\341\204\224\201\320\207\322\210\077\077\077\077\077\077\077\077\377\343" + "\340\227\243\215\077\365\077\077\077\077\077\077\077\077\370\347\242\230" + "\244\245\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\216\231\232\077\077\077\077\205\203\207\212\202\210\077\360" + "\341\204\224\201\077\077\077\077\211\214\213\223\227\226\077\077\377\077" + "\340\077\077\077\077\365\077\077\077\077\077\077\077\077\370\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\216\231\232\244\217\250\235\077\203\207\077\202\077\077\360" + "\341\204\224\201\245\206\251\210\211\214\077\223\077\077\077\077\377\343" + "\340\227\275\215\077\365\077\077\077\077\077\077\077\077\370\344\242\230" + "\276\253\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\216\231\232\077\077\077\077\205\203\207\212\202\210\077\360" + "\341\204\224\201\077\077\077\077\211\214\213\223\227\226\077\077\377\077" + "\340\077\275\077\077\365\077\077\077\077\077\077\077\077\370\077\242\077" + "\276\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\360" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\377\077" + "\077\077\077\077\077\365\077\077\077\077\077\077\077\077\370\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\216\231\232\077\077\077\077\205\203\207\212\202\210\077\360" + "\341\204\224\201\077\077\077\077\211\214\213\223\227\226\077\077\377\077" + "\340\077\077\077\077\365\077\077\077\077\077\077\077\077\370\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\216\231\232\077\077\077\077\205\203\207\212\202\210\077\360" + "\341\204\224\201\077\077\077\077\211\214\213\223\227\226\077\077\377\077" + "\340\077\077\077\077\365\077\077\077\077\077\077\077\077\370\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\232\077\077\077\077\205\203\207\212\202\210\077\077" + "\341\077\077\201\077\077\077\077\077\077\077\223\227\077\077\077\377\077" + "\237\077\077\077\077\077\077\077\077\077\077\077\077\077\370\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\216\231\232\077\077\077\077\205\203\207\212\202\210\077\077" + "\341\204\224\201\077\077\077\077\211\077\077\223\077\226\077\077\377\077" + "\246\077\077\077\077\077\077\077\077\077\077\077\077\077\370\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\341\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\377\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\370\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\232\077\077\077\077\205\203\207\212\202\210\077\077" + "\341\077\077\201\077\077\077\077\211\214\213\223\227\226\077\077\377\077" + "\077\077\077\077\077\217\077\077\077\077\077\077\077\077\370\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\077\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\241" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\200\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\216\231\232\077\077\077\077\205\203\207\212\202\210\077\077" + "\341\204\224\201\077\077\077\077\211\214\213\223\227\226\077\077\377\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\370\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\360" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\377\077" + "\077\077\077\077\077\365\077\077\077\077\077\077\077\077\370\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\330\332\333\077\077\077\077\310\300\265\311\305\301\077\077" + "\336\314\316\317\077\077\077\077\315\321\335\302\313\303\077\077\240\077" + "\347\077\077\077\077\275\077\077\077\077\077\077\077\077\263\077\306\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\077\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\077\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\077\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\077\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\241\077\312\077\077\342\077\077\351\077\077\255" + "\337\344\366\374\261\077\352\077\353\356\357\364\077\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\077\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\077\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\077\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\247\263\077\077\077\077\077\077\077\260\077\077\077" + "\077\077\077\271\243\077\077\077\077\077\077\077\341\342\367\347\344\345" + "\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376" + "\373\375\377\371\370\374\340\361\301\302\327\307\304\305\326\332\311\312" + "\313\314\315\316\317\320\322\323\324\325\306\310\303\336\333\335\337\331" + "\330\334\300\321"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\200\205\206\077\077\077\077\210\211\215\217\216\220\077\077" + "\077\212\232\237\077\077\077\077\221\224\225\231\235\236\077\077\201\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\227\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\200\205\206\204\214\242\374\077\077\077\077\216\077\077\077" + "\247\212\232\237\210\215\253\270\077\077\077\231\077\077\077\077\312\301" + "\356\345\373\217\077\244\077\077\077\077\077\077\077\077\241\304\227\346" + "\375\220\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\200\205\206\077\306\077\077\210\211\215\217\216\220\077\077" + "\247\212\232\237\077\346\077\077\221\224\225\231\235\236\077\077\312\077" + "\356\077\077\077\077\244\077\077\077\077\077\077\077\077\241\077\227\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\200\205\206\077\077\077\077\210\211\215\217\216\220\077\377" + "\247\212\232\237\077\077\077\077\221\224\225\231\235\236\077\077\312\077" + "\077\077\077\077\077\254\077\077\077\077\077\077\077\077\256\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\200\205\206\077\077\077\077\210\211\215\217\216\220\077\077" + "\077\212\232\237\077\077\077\077\221\224\225\231\235\236\077\077\312\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\227\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\200\205\206\077\077\077\077\210\211\215\217\216\220\077\077" + "\247\212\232\237\077\077\077\077\221\224\225\231\235\236\077\077\312\077" + "\356\077\077\077\077\244\077\077\077\077\077\077\077\077\241\077\227\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\200\205\206\077\077\077\077\210\211\215\217\216\220\077\077" + "\247\212\232\237\077\077\077\077\221\224\225\231\235\236\077\077\312\077" + "\356\077\077\077\077\244\077\077\077\077\077\077\077\077\241\077\227\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\200\205\206\077\077\077\077\210\211\215\217\216\220\077\077" + "\247\212\232\237\077\077\077\077\221\224\225\231\235\236\077\077\312\077" + "\356\077\077\077\077\244\077\077\077\077\077\077\077\077\241\077\227\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\200\205\206\077\077\077\077\210\211\215\217\216\220\077\077" + "\247\212\232\237\077\077\077\077\221\224\225\231\235\236\077\077\312\077" + "\356\077\077\077\077\244\077\077\077\077\077\077\077\077\241\077\227\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\242\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\266\077\312\077" + "\077\077\077\077\077\244\335\077\077\077\330\247\270\272\241\077\077\077" + "\077\077\077\334\336\077\077\077\331\264\271\273\200\201\202\203\204\205" + "\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227" + "\230\231\232\233\234\235\236\237\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\205\226\232\077\077\077\350\325\327\333\334\335\336\077\077" + "\373\331\360\366\077\077\077\370\337\344\345\356\362\364\077\077\200\077" + "\223\077\077\077\077\247\077\077\077\077\077\077\077\077\077\077\355\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\247\250\077\077\077\241\262\077\077\260\077\077\077" + "\077\077\077\271\270\077\077\077\242\263\077\077\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\304\326\334\077\077\077\077\340\342\347\350\351\352\077\255" + "\337\344\366\374\077\077\077\077\353\356\357\364\371\373\077\077\240\077" + "\323\077\077\077\077\247\077\077\077\077\077\077\077\077\260\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\255" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\240\077" + "\077\077\077\077\077\247\250\077\077\077\077\262\077\077\260\077\077\077" + "\077\077\077\271\270\077\077\077\077\263\077\077\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\077\077\003\077\077\077\007\010\011\012\013\014\015\016\017\020\077" + "\077\077\077\077\077\077\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\263\077\077\077\077\077\077\077\265\251\077\314\320\252\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\253\357\077\077\077\240\077" + "\225\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\343\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\077\104\105\107\110" + "\111\112\113\115\116\117\120\122\124\077\125\126\130\131\077\133\077\134" + "\136\077\077\077\077\137\077\141\142\077\144\145\147\150\151\152\153\155" + "\156\157\160\162\164\077\165\166\170\171\077\173\077\174\176\077\077\077" + "\077\177\077\106\123\132\077\077\077\077\077\077\143\077\077\077\077\077" + "\077\146\163\172\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\140\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{"\000\001\077\003\004\077\077\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\077\025\026\027\030\077\032\033\034\035\077\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\077\077\077\077\077\077\077\077\340\342\077\350\351\352\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\364\371\077\077\077\077\077" + "\323\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\363\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077" + "\077\077\077\077"},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +}; + +const Recoder NCodepagePrivate::TCodePageData::rcdr_to_lower[] = { +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\220\203\202\203\204\205\206\207\210\211\232\213\234\235\236\237" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242" + "\242\274\244\264\246\247\270\251\272\253\254\255\256\277\260\261\263\263" + "\264\265\266\267\270\271\272\273\274\276\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\243" + "\244\265\246\247\270\271\272\273\274\255\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257" + "\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\361\361\363\363\365\365\367\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357" + "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\337\240\241" + "\266\243\244\245\246\264\250\251\252\254\254\255\257\257\260\261\262\263" + "\264\265\266\300\271\271\273\273\275\275\277\277\300\317\302\303\304\305" + "\306\307\310\311\312\314\314\316\316\317\320\321\322\323\324\325\326\327" + "\331\331\333\333\334\336\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\361" + "\362\363\364\365\366\367\370\371\372\373\374\255\376\377\320\321\322\323" + "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\232\213\234\215\236\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\377\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\232\213\234\235\236\237" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\263\244\271\246\247\250\251\272\253\254\255\256\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\276\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\261" + "\242\263\244\265\266\247\250\271\272\273\274\255\276\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\221\222\223\224\225\226\227\210\211\212\213\214\215\236\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\261" + "\262\263\264\265\266\247\270\271\272\273\274\275\276\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{},}, +{{},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\200\202\202\204\204\206\206\210\210\212\212\214\214\216\216" + "\220\220\222\222\224\224\226\226\230\230\232\232\234\234\236\236\240\240" + "\242\242\244\244\246\246\250\250\252\252\254\254\256\257\260\261\262\263" + "\264\265\265\267\267\271\272\273\274\275\275\277\300\301\302\303\304\305" + "\306\306\310\311\312\313\314\315\316\317\320\320\322\322\324\324\326\326" + "\330\331\332\333\334\330\336\337\336\341\341\343\343\345\345\347\347\351" + "\351\353\353\355\355\357\360\361\361\363\363\365\365\367\367\371\371\373" + "\373\375\376\377"},}, +{{},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\220\203\202\203\204\205\206\207\210\211\232\213\234\235\236\237" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242" + "\242\274\244\264\246\247\270\251\272\253\254\255\256\277\260\261\263\263" + "\264\265\266\267\270\271\272\273\274\276\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\220\203\202\203\204\205\206\207\210\211\232\213\234\235\236\237" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242" + "\242\274\244\264\246\247\270\251\272\253\254\255\256\277\260\261\263\263" + "\264\265\266\267\270\271\272\273\274\276\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\051\050\246\247\250\056\252\054\055\255\256\257\260\261\263\263" + "\265\265\267\267\271\271\273\273\275\275\277\277\301\301\303\303\305\305" + "\307\307\311\311\313\313\315\315\317\317\321\321\323\323\325\325\327\327" + "\331\331\333\333\335\335\337\337\341\341\343\343\345\345\347\347\351\351" + "\353\353\355\355\357\357\361\361\363\363\365\365\367\367\371\371\373\373" + "\375\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\232\213\234\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\377\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\232\213\234\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\377\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\261" + "\242\243\244\245\266\247\250\151\272\273\274\255\256\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\303\344\345" + "\346\347\350\351\352\353\354\355\356\357\320\361\362\363\364\365\366\327" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\261" + "\242\263\244\265\266\247\250\271\272\273\274\255\276\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\277\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\334\267\335\336\337\273\374\275\375\376\300\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\322\363\364\365\366\367" + "\370\371\372\373\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\151\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\270\251\272\253\254\255\256\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\250\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\270\265\266\267\270\271\272\273\275\275\377\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242" + "\242\263\244\245\250\247\250\251\272\253\256\255\256\277\260\261\271\263" + "\270\265\266\267\270\271\272\273\275\275\377\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\334\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\335\336\337\273\374\275\375\376\300\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\322\363\364\365\366\367" + "\370\371\372\373\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\232\213\234\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\377\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\151\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\234\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\270\251\272\253\254\255\256\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\361" + "\362\363\364\365\366\367\370\371\372\373\374\255\376\377\320\321\322\323" + "\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257" + "\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\361\361\363\363\365\365\367\367\371\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\377\265\266\267\250\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\314\355\356\357\360\361\322\363\364\365\366\327" + "\370\371\372\373\374\375\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257" + "\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\361\361\363\363\365\365\367\367\371\371\372\373" + "\375\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\240\333" + "\334\335\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\377\265\266\267\250\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\314\355\356\357\360\361\322\363\364\365\366\327" + "\370\371\372\373\374\375\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\234\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\377\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\314\355\356\357\360\361\322\363\364\365\366\327" + "\370\371\372\373\374\375\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\204\205\206\207\210\211\212\213\214\215\204\206" + "\202\221\221\223\224\225\226\227\230\224\201\233\234\235\236\237\240\241" + "\242\243\244\244\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\347\355\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247" + "\250\251\253\254\255\256\257\340\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\341\342\343\345\346\347\351\361\362\363\344\350\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\204\205\206\207\210\211\213\213\214\245\204\206" + "\202\221\221\223\224\205\226\230\230\224\201\233\234\233\236\237\203\214" + "\242\244\244\245\246\247\250\251\252\253\254\210\256\257\260\261\262\263" + "\264\320\321\322\323\271\272\273\274\324\325\277\300\301\302\303\304\305" + "\326\327\310\311\312\313\314\315\316\330\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\242\341\223\347\344\344\346\347\351\351" + "\353\353\354\211\354\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\204\205\206\207\210\211\212\213\214\215\204\206" + "\202\221\221\223\224\225\226\227\230\224\201\233\234\233\236\237\240\241" + "\242\243\244\244\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\240\203\205\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\306\310\311\312\313\314\315\316\317\320\320\210\211\212\325\241\214" + "\213\331\332\333\334\335\215\337\242\341\223\225\344\344\346\347\347\243" + "\226\227\354\354\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\204\205\206\207\210\211\213\213\214\253\204\206" + "\202\222\222\223\224\226\226\230\230\224\201\234\234\210\236\237\240\241" + "\242\243\245\245\247\247\251\251\252\253\237\255\256\257\260\261\262\263" + "\264\240\203\330\255\271\272\273\274\276\276\277\300\301\302\303\304\305" + "\307\307\310\311\312\313\314\315\316\317\320\320\324\211\324\345\241\214" + "\330\331\332\333\334\356\205\337\242\341\223\344\344\345\347\347\352\243" + "\352\373\354\354\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\375\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\204\205\206\207\210\211\212\213\214\215\204\206" + "\202\221\221\223\224\225\226\227\151\224\201\233\234\233\236\237\240\241" + "\242\243\244\244\247\247\251\251\252\253\237\255\256\257\260\261\262\263" + "\264\240\203\205\255\271\272\273\274\276\276\277\300\301\302\303\304\305" + "\307\307\310\311\312\313\314\315\316\317\320\321\210\211\212\325\241\214" + "\213\331\332\333\334\335\215\337\242\341\223\225\345\345\346\350\350\243" + "\226\227\355\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\204\205\206\207\210\211\212\213\214\215\204\206" + "\202\221\221\223\224\225\226\227\151\224\201\233\234\233\237\237\240\241" + "\242\243\244\244\247\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\240\203\205\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\306\310\311\312\313\314\315\316\317\320\321\210\211\212\325\241\214" + "\213\331\332\333\334\335\354\337\242\341\223\225\344\344\346\347\350\243" + "\226\227\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\204\205\206\207\210\211\212\213\214\215\204\206" + "\202\221\221\223\224\225\226\227\230\224\201\233\234\233\236\237\240\241" + "\242\243\244\244\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\240\203\205\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\306\310\311\312\313\314\315\316\317\320\320\210\211\212\325\241\214" + "\213\331\332\333\334\335\215\337\242\341\223\225\344\344\346\347\347\243" + "\226\227\354\354\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\204\205\240\207\210\210\212\241\223\215\204\203" + "\202\205\212\223\224\225\243\227\215\224\201\233\234\227\236\242\240\241" + "\242\243\244\244\246\247\250\225\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\347\355\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\204\205\206\207\210\211\212\214\214\225\204\206" + "\202\221\221\223\224\225\226\230\230\224\201\233\234\233\236\237\240\241" + "\242\243\240\241\242\243\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\347\355\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\244\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\347\355\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\203\205\206\207\210\211\212\213\214\215\205\217" + "\202\212\210\223\211\213\226\227\230\223\201\233\234\227\226\237\240\241" + "\242\243\244\245\246\247\214\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\347\355\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\207\201\202\203\204\205\206\207\210\211\212\213\214\215\204\206" + "\202\221\221\223\224\225\226\227\230\224\201\233\234\233\236\237\240\241" + "\242\243\244\244\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\347\355\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\233\207\210\211\212\213\214\235\216\236" + "\237\240\242\223\224\243\373\227\375\231\232\233\234\235\236\237\240\241" + "\242\243\326\327\330\335\336\340\341\253\342\343\256\257\260\261\262\263" + "\264\344\345\346\347\271\272\273\274\350\351\277\300\301\302\303\304\305" + "\352\353\310\311\312\313\314\315\316\354\356\362\363\364\366\372\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\310" + "\300\311\301\315\321\335\250\251\252\253\254\313\303\257\260\262\262\263" + "\265\265\267\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\324\321\326\327\324\325\326\327" + "\314\331\316\317\305\335\336\302\304\342\342\344\344\325\331\306\312\352" + "\352\354\354\307\357\357\361\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\261" + "\262\263\264\265\266\247\270\271\272\273\274\255\276\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242" + "\242\243\245\245\253\247\270\251\272\253\274\255\256\377\261\261\263\263" + "\265\265\266\271\270\271\272\277\274\276\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\212\215\215\217" + "\200\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\243" + "\264\245\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\212\201\215\216\226\232\237\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\040\041" + "\042\043\044\245\046\047\050\051\052\053\254\055\056\057\260\261\262\263" + "\264\265\266\267\270\271\072\273\074\075\076\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\133\134\135\136\137\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\173" + "\174\175\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\212\202\202\216\210\232\237\207\210\213\212\213\215\215\216\220" + "\220\223\222\223\225\225\230\227\230\231\232\233\234\236\236\237\240\241" + "\253\243\244\245\246\247\250\251\252\253\254\255\256\260\260\264\262\263" + "\264\372\266\267\270\272\272\274\274\276\276\300\300\304\302\303\304\313" + "\306\307\310\311\312\313\316\233\316\330\320\321\322\323\324\325\326\327" + "\330\332\332\336\334\335\336\340\340\344\342\343\344\346\346\207\351\351" + "\222\354\354\360\227\231\360\363\234\363\365\365\367\367\371\371\372\375" + "\270\375\256\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\212\214\215\216\226\232\237\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\271\252\253\254\255\276\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\346\307\350\311\312\210\213\233\317\317\360\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\376\337\340\341\342\343\344\211\346\207\350\217" + "\222\224\225\223\227\231\360\230\234\236\235\365\366\367\370\371\221\373" + "\374\220\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\212\201\202\216\204\232\237\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\347" + "\344\365\354\352\360\247\250\251\363\373\254\255\256\257\341\261\262\263" + "\264\342\345\372\350\351\353\355\346\374\343\366\300\356\302\357\362\305" + "\364\307\310\311\312\371\370\300\333\317\320\321\322\323\324\325\326\334" + "\335\336\340\333\334\335\336\361\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\212\201\215\216\226\232\237\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\040\041" + "\042\043\044\045\246\047\051\050\052\053\054\055\056\057\060\061\062\063" + "\064\065\066\067\070\071\072\073\074\075\076\077\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\313\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\300\355\356\357\360\361\362\363\364\365\366\367\370\371\372\175" + "\135\173\133\174"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\212\214\215\216\226\232\237\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\340\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\276\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\210\213\233\317\317\320\321\322\323\324\325\326\327" + "\330\330\332\333\335\335\337\337\340\341\342\343\344\211\220\207\221\217" + "\222\224\225\223\227\231\360\230\234\236\235\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\212\214\215\216\226\232\237\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\276\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\210\213\233\317\317\320\321\322\323\324\325\326\327" + "\330\330\332\333\334\335\337\337\340\341\342\343\344\211\220\207\221\217" + "\222\224\225\223\227\231\360\230\234\236\235\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\212\214\215\216\226\232\237\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\276\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\210\213\233\317\317\320\321\322\323\324\325\326\327" + "\330\330\332\333\334\335\336\337\340\341\342\343\344\211\220\207\221\217" + "\222\224\225\223\227\231\360\230\234\236\235\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\203\204\205\206\207\215\216\217" + "\220\221\222\223\224\225\226\227\203\204\205\206\207\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\222\322\323\224\225\226\227" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\223\203\204" + "\205\206\207\217\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\212\214\215\216\226\232\237\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\276\277\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\210\213\233\317\317\320\321\322\323\324\325\326\327" + "\330\330\333\333\151\335\337\337\340\341\342\343\344\211\220\207\221\217" + "\222\224\225\223\227\231\360\230\234\236\235\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357" + "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\337\240\241" + "\266\243\244\245\246\264\250\251\252\254\254\255\257\257\260\261\262\263" + "\264\265\266\300\271\271\273\273\275\275\277\277\300\317\302\303\304\305" + "\306\307\310\311\312\314\314\316\316\317\320\321\322\323\324\325\326\327" + "\331\331\333\333\334\336\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\325\326\327\330\331\332\333\334\335\336\337\340\342\344\345" + "\346\347\354\355\356\357\360\362\363\364\366\367\374\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\361\342\343\344\345\346\347\370\371" + "\372\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\220\203\255\203\204\205\231\211\230\211\232\233\234\235\236\237" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242" + "\242\274\265\264\261\247\270\251\272\253\254\255\256\277\260\261\263\263" + "\264\265\266\267\270\271\272\273\274\276\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\202\202\203\204\206\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\233\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\327" + "\370\371\372\373\374\375\376\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\220\203\202\203\204\205\206\207\210\211\232\213\234\235\236\237" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242" + "\242\274\244\264\246\247\270\251\272\253\254\255\256\277\260\261\263\263" + "\264\265\266\267\270\271\272\273\274\276\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\363\364\003\365\366\367\007\010\011\012\013\014\015\016\017\020\370" + "\371\372\373\374\375\376\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\265\266\267\270\271\306\313\314\316\317\320\321\326\327\330\334" + "\335\336\337\341\342\343\344\351\352\353\354\355\356\357\361\362\240\250" + "\251\252\253\254\255\256\250\251\252\253\254\255\256\273\260\261\262\263" + "\264\265\266\267\270\271\274\273\274\275\276\275\276\307\310\311\312\322" + "\306\307\310\311\312\313\314\323\316\317\320\321\322\323\324\325\326\327" + "\330\324\325\345\334\335\336\337\346\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\347\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\350"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\173\174\175\176\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\306\003\004\307\347\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\326\025\026\027\030\333\032\033\034\035\334\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\141\142\143\144\145\146\147" + "\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171" + "\172\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\325\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257" + "\260\261\262\265\376\276\266\267\270\366\367\357\374\373\370\317\365\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\336" + "\275\265\266\267\270\361\321\327\330\275\276\337\340\341\342\343\344\345" + "\306\307\350\351\352\353\354\355\356\317\360\321\362\363\364\325\326\327" + "\330\371\372\333\334\375\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\346"},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +}; + +const Recoder NCodepagePrivate::TCodePageData::rcdr_to_upper[] = { +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217" + "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262" + "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\263\264\245\266\267\250\251\252\253\254\275\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\200\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\220\221\222\223\224\225\226\227\230\231" + "\232\233\234\235\236\237\360\360\362\362\364\364\366\366\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\253\255\256\256\260\261\262\263" + "\247\265\242\267\270\270\272\272\274\274\276\276\267\301\302\303\304\305" + "\306\307\310\311\312\313\313\315\315\301\320\321\322\323\324\325\326\327" + "\330\330\332\332\334\335\335\237\200\201\202\203\204\205\206\207\210\211" + "\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233" + "\234\235\236\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\260\261\262\263\264\265\266\267" + "\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\360\241\242\243\244\245\246\247\250\251\252\253" + "\254\375\256\257"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\216\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\243" + "\264\265\266\267\270\245\252\273\274\275\274\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\262\243" + "\264\245\246\267\270\251\252\253\254\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\101\101\103\105\105\105\216\217" + "\220\201\202\203\204\205\206\207\105\111\111\117\125\125\216\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\242\243" + "\244\245\246\267\250\251\252\253\254\255\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{},}, +{{},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\201\201\203\203\205\205\207\207\211\211\213\213\215\215\217\217" + "\221\221\223\223\225\225\227\227\231\231\233\233\235\235\237\237\241\241" + "\243\243\245\245\247\247\251\251\253\253\255\255\256\257\260\261\262\263" + "\264\266\266\270\270\271\272\273\274\276\276\277\300\301\302\303\304\305" + "\307\307\310\311\312\313\314\315\316\317\321\321\323\323\325\325\327\327" + "\335\331\332\333\334\335\340\337\340\342\342\344\344\346\346\350\350\352" + "\352\354\354\356\356\357\360\362\362\364\364\366\366\370\370\372\372\374" + "\374\375\376\377"},}, +{{},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217" + "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262" + "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217" + "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262" + "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\051\050\246\247\250\056\252\054\055\255\256\257\260\261\262\262" + "\264\264\266\266\270\270\272\272\274\274\276\276\300\300\302\302\304\304" + "\306\306\310\310\312\312\314\314\316\316\320\320\322\322\324\324\326\326" + "\330\330\332\332\334\334\336\336\340\340\342\342\344\344\346\346\350\350" + "\352\352\354\354\356\356\360\360\362\362\364\364\366\366\370\370\372\372" + "\374\374\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\262\263" + "\264\265\246\267\270\111\252\253\254\275\276\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\343\304\305\306\307\310\311" + "\312\313\314\315\316\317\360\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\262\243" + "\264\245\246\267\270\251\252\253\254\275\256\275\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\266\270\271\272\340\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\323\323\324\325\326\327\330\331\332\333" + "\274\276\277\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\111\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\250\271\252\273\274\275\276\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\246\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\264\271\272\273\274\274\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\276"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\241\243\244\245\246\247\246\251\252\253\254\255\254\257\260\261\262\243" + "\264\265\266\267\264\262\252\273\274\274\276\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\276"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\314\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\242\270\271\272\340\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\323\323\324\325\326\327\330\331\332\333" + "\274\276\277\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\111\336\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\214\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\250\271\252\273\274\275\276\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\260\261\262\263\264\265\266\267" + "\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\360\241\242\243\244\245\246\247\250\251\252\253" + "\254\375\256\257"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\200\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\220\221\222\223\224\225\226\227\230\231" + "\232\233\234\235\236\237\360\360\362\362\364\364\366\366\370\370\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\270\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\354\315\316\317\320\321\362\323\324\325\326\367\330\331\332\333" + "\334\335\376\264"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\200\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\220\221\222\223\224\225\226\227\230\231" + "\232\233\234\235\236\237\360\360\362\362\364\364\366\366\370\370\372\373" + "\374\374\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\240\333" + "\334\335\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\270\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\354\315\316\317\320\321\362\323\324\325\326\367\330\331\332\333" + "\334\335\376\264"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\214\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\354\315\316\317\320\321\362\323\324\325\326\367\330\331\332\333" + "\334\335\376\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\203\216\205\217\200\210\211\212\213\214\215\216\217" + "\220\222\222\223\231\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\200\201\202\203\204\205\206\207\210\211" + "\212\213\214\215\216\217\220\221\221\222\223\224\225\226\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\227\352\353\354\364\355\356\357\365\360" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\240\216\225\217\200\255\355\212\212\241\215\216\217" + "\220\222\222\342\231\225\226\227\227\231\232\235\234\235\236\237\240\241" + "\340\243\243\215\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\265\266\267\270\275\276\306\307" + "\317\331\332\333\334\335\336\337\340\341\342\343\345\345\346\343\350\350" + "\352\352\356\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\266\216\267\217\200\322\323\324\330\327\336\216\217" + "\220\222\222\342\231\343\352\353\230\231\232\235\234\235\236\237\265\326" + "\340\351\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\307\307\310\311\312\313\314\315\316\317\321\321\322\323\324\111\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\350\350\351" + "\352\353\355\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\266\216\336\217\200\235\323\212\212\327\215\216\217" + "\220\221\221\342\231\225\225\227\227\231\232\233\233\235\236\254\265\326" + "\340\351\244\244\246\246\250\250\252\215\254\270\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\275\277\300\301\302\303\304\305" + "\306\306\310\311\312\313\314\315\316\317\321\321\322\323\322\325\326\327" + "\267\331\332\333\334\335\336\337\340\341\342\343\343\325\346\346\350\351" + "\350\353\355\355\335\357\360\361\362\363\364\365\366\367\370\371\372\353" + "\374\374\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\266\216\267\217\200\322\323\324\330\327\336\216\217" + "\220\222\222\342\231\343\352\353\230\231\232\235\234\235\236\254\265\326" + "\340\351\245\245\246\246\250\250\252\253\254\270\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\275\277\300\301\302\303\304\305" + "\306\306\310\311\312\313\314\315\316\317\320\321\322\323\324\111\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\347\351" + "\352\353\354\354\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\266\216\267\217\200\322\323\324\330\327\111\216\217" + "\220\222\222\342\231\343\352\353\230\231\232\235\234\235\236\236\265\326" + "\340\351\245\245\246\246\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\307\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\347\350\351" + "\352\353\336\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\266\216\267\217\200\322\323\324\330\327\336\216\217" + "\220\222\222\342\231\343\352\353\230\231\232\235\234\235\236\237\265\326" + "\340\351\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\307\307\310\311\312\313\314\315\316\317\321\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\350\350\351" + "\352\353\355\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\217\216\221\206\200\211\211\222\213\214\230\216\217" + "\220\221\222\214\231\251\226\235\230\231\232\233\234\235\236\237\206\213" + "\237\226\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\203\216\205\217\200\210\211\212\213\213\215\216\217" + "\220\222\222\223\231\215\226\227\227\231\232\235\234\235\236\237\244\245" + "\246\247\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\204\204\216\206\200\222\224\221\225\250\215\216\217" + "\220\221\222\231\224\225\236\235\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\203\216\205\217\200\210\211\212\213\214\215\216\217" + "\220\222\222\223\231\225\226\227\230\231\232\235\234\235\236\237\240\241" + "\242\243\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\206\234\215\217\220\221\241" + "\222\225\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\244\245" + "\246\331\332\333\334\247\250\337\251\252\254\255\265\266\267\270\275\276" + "\306\307\317\317\320\357\360\361\321\322\323\365\324\367\370\371\325\226" + "\374\230\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\261\263" + "\264\264\266\266\270\271\272\273\274\275\276\277\242\244\337\256\340\334" + "\347\355\241\243\350\255\330\245\332\333\320\246\322\323\320\345\322\323" + "\330\346\332\333\334\247\336\337\340\341\341\343\343\345\346\347\350\351" + "\351\353\353\355\356\356\360\360\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\242\243" + "\244\245\246\267\250\251\252\253\254\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\241\243\244\244\246\247\250\251\252\246\254\255\256\257\260\260\262\262" + "\264\264\266\267\250\267\252\273\254\275\275\273\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\257"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\220\203\202\203\204\205\206\207\210\211\214\213\214\216\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242" + "\242\263\244\265\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\200\213\214\202\203\217" + "\220\221\222\223\224\225\204\227\230\231\205\233\234\235\236\206\040\041" + "\042\043\044\245\046\047\050\051\052\053\254\055\056\057\260\261\262\263" + "\264\265\266\267\270\271\072\273\074\075\076\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\133\134\135\136\137\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\173" + "\174\175\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\201\203\204\205\206\347\204\211\200\211\214\214\203\217" + "\217\221\352\221\224\224\226\356\226\357\205\315\362\235\235\206\240\241" + "\242\243\244\245\246\247\250\251\252\242\254\255\376\257\257\261\262\263" + "\261\265\266\267\374\271\271\273\273\275\275\277\277\301\302\303\301\305" + "\306\307\310\311\312\305\314\315\314\317\320\321\322\323\324\325\326\327" + "\317\331\331\333\334\335\333\337\337\341\342\343\341\345\345\347\350\350" + "\352\353\353\355\356\357\355\361\362\361\364\364\366\366\370\370\265\373" + "\374\373\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\347\313\345\200\314\201\202\203\351" + "\375\372\352\355\353\354\204\356\361\357\205\315\362\364\363\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\251\272\273\274\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\316\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\306\347\310\351" + "\352\353\354\355\356\357\320\361\362\363\364\111\366\367\370\371\372\373" + "\374\375\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\200\213\214\215\203\217" + "\220\221\222\223\224\225\226\227\230\231\205\233\234\235\236\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\315\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\316\327\330\331\337\332\260\265\276\242\266\274\241\270\271" + "\245\272\244\273\301\303\246\337\304\252\306\243\277\252\314\313\267\253" + "\275\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\200\213\214\202\203\217" + "\220\221\222\223\224\225\204\227\230\231\205\233\234\235\236\206\040\041" + "\042\043\044\045\246\047\051\050\052\053\054\055\056\057\060\061\062\063" + "\064\065\066\067\070\071\072\073\074\075\076\077\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\313\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\300\355\356\357\360\361\362\363\364\365\366\367\370\371\372\175" + "\135\173\133\174"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\347\313\345\200\314\201\202\203\351" + "\346\350\352\355\353\354\204\356\361\357\205\315\362\364\363\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\316\320\321\322\323\324\325\326\327" + "\331\331\332\333\334\334\336\336\240\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\111\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\347\313\345\200\314\201\202\203\351" + "\346\350\352\355\353\354\204\356\361\357\205\315\362\364\363\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\316\320\321\322\323\324\325\326\327" + "\331\331\332\333\334\335\336\336\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\111\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\347\313\345\200\314\201\202\203\351" + "\346\350\352\355\353\354\204\356\361\357\205\315\362\364\363\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\316\320\321\322\323\324\325\326\327" + "\331\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\111\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\203\204\205\206\207\215\216\217" + "\220\221\222\223\224\225\226\227\203\204\205\206\207\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\222\322\323\224\225\226\227" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\223\203\204" + "\205\206\207\217\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\347\313\345\200\314\201\202\203\351" + "\346\350\352\355\353\354\204\356\361\357\205\315\362\364\363\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\316\320\321\322\323\324\325\326\327" + "\331\331\332\332\334\111\336\336\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\253\255\256\256\260\261\262\263" + "\247\265\242\267\270\270\272\272\274\274\276\276\267\301\302\303\304\305" + "\306\307\310\311\312\313\313\315\315\301\320\321\322\323\324\325\326\327" + "\330\330\332\332\334\335\335\237\200\201\202\203\204\205\206\207\210\211" + "\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233" + "\234\235\236\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\201\202\203" + "\204\205\206\207\210\211\212\213\214\341\215\343\216\217\220\221\350\351" + "\352\353\222\223\224\225\226\341\227\230\231\111\232\233\350\351\352\373" + "\234\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\207\212\213\214\215\216\217" + "\200\221\222\223\224\225\226\227\210\206\212\213\214\215\216\217\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\202\256\257\260\246\262\262" + "\245\244\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\201\203\204\205\205\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\232\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217" + "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262" + "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\241\242\243\244\245\246\247\257\260\261\262\263" + "\264\200\201\202\203\204\272\257\272\277\300\277\300\301\302\303\304\305" + "\205\301\302\303\304\206\207\315\210\211\212\213\305\315\331\332\214\215" + "\216\331\332\333\217\220\221\222\340\223\224\225\226\333\340\360\377\227" + "\230\231\232\233\234\235\360\236\237\001\002\004\005\006\021\022\023\024" + "\025\026\027\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135" + "\136\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\263" + "\264\223\226\227\230\271\272\273\274\264\225\277\300\301\302\303\304\305" + "\002\005\310\311\312\313\314\315\316\237\320\272\322\323\324\200\024\273" + "\274\331\332\031\036\335\263\277\300\301\302\303\304\305\377\006\310\311" + "\312\313\314\315\316\233\320\271\322\323\324\240\231\232\236\331\332\235" + "\234\335\224\377"},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +}; + +const Recoder NCodepagePrivate::TCodePageData::rcdr_to_title[] = { +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217" + "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262" + "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\263\264\245\266\267\250\251\252\253\254\275\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\200\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\220\221\222\223\224\225\226\227\230\231" + "\232\233\234\235\236\237\360\360\362\362\364\364\366\366\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\253\255\256\256\260\261\262\263" + "\247\265\242\267\270\270\272\272\274\274\276\276\267\301\302\303\304\305" + "\306\307\310\311\312\313\313\315\315\301\320\321\322\323\324\325\326\327" + "\330\330\332\332\334\335\335\237\200\201\202\203\204\205\206\207\210\211" + "\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233" + "\234\235\236\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\260\261\262\263\264\265\266\267" + "\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\360\241\242\243\244\245\246\247\250\251\252\253" + "\254\375\256\257"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\216\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\243" + "\264\265\266\267\270\245\252\273\274\275\274\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\262\243" + "\264\245\246\267\270\251\252\253\254\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\101\101\103\105\105\105\216\217" + "\220\201\202\203\204\205\206\207\105\111\111\117\125\125\216\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\242\243" + "\244\245\246\267\250\251\252\253\254\255\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{},}, +{{},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\201\201\203\203\205\205\207\207\211\211\213\213\215\215\217\217" + "\221\221\223\223\225\225\227\227\231\231\233\233\235\235\237\237\241\241" + "\243\243\245\245\247\247\251\251\253\253\255\255\256\257\260\261\262\263" + "\264\266\266\270\270\271\272\273\274\276\276\277\300\301\302\303\304\305" + "\307\307\310\311\312\313\314\315\316\317\321\321\323\323\325\325\327\327" + "\335\331\332\333\334\335\340\337\340\342\342\344\344\346\346\350\350\352" + "\352\354\354\356\356\357\360\362\362\364\364\366\366\370\370\372\372\374" + "\374\375\376\377"},}, +{{},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153" + "\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217" + "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262" + "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217" + "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262" + "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\051\050\246\247\250\056\252\054\055\255\256\257\260\261\262\262" + "\264\264\266\266\270\270\272\272\274\274\276\276\300\300\302\302\304\304" + "\306\306\310\310\312\312\314\314\316\316\320\320\322\322\324\324\326\326" + "\330\330\332\332\334\334\336\336\340\340\342\342\344\344\346\346\350\350" + "\352\352\354\354\356\356\360\360\362\362\364\364\366\366\370\370\372\372" + "\374\374\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\262\263" + "\264\265\246\267\270\111\252\253\254\275\276\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\343\304\305\306\307\310\311" + "\312\313\314\315\316\317\360\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\262\243" + "\264\245\246\267\270\251\252\253\254\275\256\275\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\240"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\266\270\271\272\340\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\323\323\324\325\326\327\330\331\332\333" + "\274\276\277\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\111\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\250\271\252\273\274\275\276\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\246\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\264\271\272\273\274\274\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\276"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\241\243\244\245\246\247\246\251\252\253\254\255\254\257\260\261\262\243" + "\264\265\266\267\264\262\252\273\274\274\276\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\276"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\314\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\242\270\271\272\340\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\323\323\324\325\326\327\330\331\332\333" + "\274\276\277\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\212\233\214\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\111\336\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\214\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\250\271\252\273\274\275\276\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\260\261\262\263\264\265\266\267" + "\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\360\241\242\243\244\245\246\247\250\251\252\253" + "\254\375\256\257"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\200\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\220\221\222\223\224\225\226\227\230\231" + "\232\233\234\235\236\237\360\360\362\362\364\364\366\366\370\370\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\270\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\354\315\316\317\320\321\362\323\324\325\326\367\330\331\332\333" + "\334\335\376\264"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\200\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\220\221\222\223\224\225\226\227\230\231" + "\232\233\234\235\236\237\360\360\362\362\364\364\366\366\370\370\372\373" + "\374\374\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\240\333" + "\334\335\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\270\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\354\315\316\317\320\321\362\323\324\325\326\367\330\331\332\333" + "\334\335\376\264"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\214\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\354\315\316\317\320\321\362\323\324\325\326\367\330\331\332\333" + "\334\335\376\237"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\203\216\205\217\200\210\211\212\213\214\215\216\217" + "\220\222\222\223\231\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\200\201\202\203\204\205\206\207\210\211" + "\212\213\214\215\216\217\220\221\221\222\223\224\225\226\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\227\352\353\354\364\355\356\357\365\360" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\240\216\225\217\200\255\355\212\212\241\215\216\217" + "\220\222\222\342\231\225\226\227\227\231\232\235\234\235\236\237\240\241" + "\340\243\243\215\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\265\266\267\270\275\276\306\307" + "\317\331\332\333\334\335\336\337\340\341\342\343\345\345\346\343\350\350" + "\352\352\356\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\266\216\267\217\200\322\323\324\330\327\336\216\217" + "\220\222\222\342\231\343\352\353\230\231\232\235\234\235\236\237\265\326" + "\340\351\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\307\307\310\311\312\313\314\315\316\317\321\321\322\323\324\111\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\350\350\351" + "\352\353\355\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\266\216\336\217\200\235\323\212\212\327\215\216\217" + "\220\221\221\342\231\225\225\227\227\231\232\233\233\235\236\254\265\326" + "\340\351\244\244\246\246\250\250\252\215\254\270\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\275\277\300\301\302\303\304\305" + "\306\306\310\311\312\313\314\315\316\317\321\321\322\323\322\325\326\327" + "\267\331\332\333\334\335\336\337\340\341\342\343\343\325\346\346\350\351" + "\350\353\355\355\335\357\360\361\362\363\364\365\366\367\370\371\372\353" + "\374\374\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\266\216\267\217\200\322\323\324\330\327\336\216\217" + "\220\222\222\342\231\343\352\353\230\231\232\235\234\235\236\254\265\326" + "\340\351\245\245\246\246\250\250\252\253\254\270\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\275\277\300\301\302\303\304\305" + "\306\306\310\311\312\313\314\315\316\317\320\321\322\323\324\111\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\347\351" + "\352\353\354\354\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\266\216\267\217\200\322\323\324\330\327\111\216\217" + "\220\222\222\342\231\343\352\353\230\231\232\235\234\235\236\236\265\326" + "\340\351\245\245\246\246\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\307\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\347\350\351" + "\352\353\336\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\266\216\267\217\200\322\323\324\330\327\336\216\217" + "\220\222\222\342\231\343\352\353\230\231\232\235\234\235\236\237\265\326" + "\340\351\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\307\307\310\311\312\313\314\315\316\317\321\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\345\345\346\350\350\351" + "\352\353\355\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\217\216\221\206\200\211\211\222\213\214\230\216\217" + "\220\221\222\214\231\251\226\235\230\231\232\233\234\235\236\237\206\213" + "\237\226\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\203\216\205\217\200\210\211\212\213\213\215\216\217" + "\220\222\222\223\231\215\226\227\227\231\232\235\234\235\236\237\244\245" + "\246\247\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\204\204\216\206\200\222\224\221\225\250\215\216\217" + "\220\221\222\231\224\225\236\235\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\232\220\203\216\205\217\200\210\211\212\213\214\215\216\217" + "\220\222\222\223\231\225\226\227\230\231\232\235\234\235\236\237\240\241" + "\242\243\245\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\344\346\347\350\351" + "\352\353\354\350\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\206\234\215\217\220\221\241" + "\222\225\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\244\245" + "\246\331\332\333\334\247\250\337\251\252\254\255\265\266\267\270\275\276" + "\306\307\317\317\320\357\360\361\321\322\323\365\324\367\370\371\325\226" + "\374\230\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\261\263" + "\264\264\266\266\270\271\272\273\274\275\276\277\242\244\337\256\340\334" + "\347\355\241\243\350\255\330\245\332\333\320\246\322\323\320\345\322\323" + "\330\346\332\333\334\247\336\337\340\341\341\343\343\345\346\347\350\351" + "\351\353\353\355\356\356\360\360\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\241\242\243" + "\244\245\246\267\250\251\252\253\254\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\241\243\244\244\246\247\250\251\252\246\254\255\256\257\260\260\262\262" + "\264\264\266\267\250\267\252\273\254\275\275\273\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\257"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\220\203\202\203\204\205\206\207\210\211\214\213\214\216\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\242" + "\242\263\244\265\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\340\341\342\343\344\345" + "\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367" + "\370\371\372\373\374\375\376\377\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\200\213\214\202\203\217" + "\220\221\222\223\224\225\204\227\230\231\205\233\234\235\236\206\040\041" + "\042\043\044\245\046\047\050\051\052\053\254\055\056\057\260\261\262\263" + "\264\265\266\267\270\271\072\273\074\075\076\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\133\134\135\136\137\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\173" + "\174\175\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\201\203\204\205\206\347\204\211\200\211\214\214\203\217" + "\217\221\352\221\224\224\226\356\226\357\205\315\362\235\235\206\240\241" + "\242\243\244\245\246\247\250\251\252\242\254\255\376\257\257\261\262\263" + "\261\265\266\267\374\271\271\273\273\275\275\277\277\301\302\303\301\305" + "\306\307\310\311\312\305\314\315\314\317\320\321\322\323\324\325\326\327" + "\317\331\331\333\334\335\333\337\337\341\342\343\341\345\345\347\350\350" + "\352\353\353\355\356\357\355\361\362\361\364\364\366\366\370\370\265\373" + "\374\373\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\347\313\345\200\314\201\202\203\351" + "\375\372\352\355\353\354\204\356\361\357\205\315\362\364\363\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\251\272\273\274\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\316\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\306\347\310\351" + "\352\353\354\355\356\357\320\361\362\363\364\111\366\367\370\371\372\373" + "\374\375\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\200\213\214\215\203\217" + "\220\221\222\223\224\225\226\227\230\231\205\233\234\235\236\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\315\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\316\327\330\331\337\332\260\265\276\242\266\274\241\270\271" + "\245\272\244\273\301\303\246\337\304\252\306\243\277\252\314\313\267\253" + "\275\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\200\213\214\202\203\217" + "\220\221\222\223\224\225\204\227\230\231\205\233\234\235\236\206\040\041" + "\042\043\044\045\246\047\051\050\052\053\054\055\056\057\060\061\062\063" + "\064\065\066\067\070\071\072\073\074\075\076\077\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\313\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\300\355\356\357\360\361\362\363\364\365\366\367\370\371\372\175" + "\135\173\133\174"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\347\313\345\200\314\201\202\203\351" + "\346\350\352\355\353\354\204\356\361\357\205\315\362\364\363\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\316\320\321\322\323\324\325\326\327" + "\331\331\332\333\334\334\336\336\240\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\111\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\347\313\345\200\314\201\202\203\351" + "\346\350\352\355\353\354\204\356\361\357\205\315\362\364\363\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\316\320\321\322\323\324\325\326\327" + "\331\331\332\333\334\335\336\336\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\111\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\347\313\345\200\314\201\202\203\351" + "\346\350\352\355\353\354\204\356\361\357\205\315\362\364\363\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\316\320\321\322\323\324\325\326\327" + "\331\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\111\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\203\204\205\206\207\215\216\217" + "\220\221\222\223\224\225\226\227\203\204\205\206\207\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\222\322\323\224\225\226\227" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\223\203\204" + "\205\206\207\217\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\347\313\345\200\314\201\202\203\351" + "\346\350\352\355\353\354\204\356\361\357\205\315\362\364\363\206\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\256\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\316\320\321\322\323\324\325\326\327" + "\331\331\332\332\334\111\336\336\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\253\255\256\256\260\261\262\263" + "\247\265\242\267\270\270\272\272\274\274\276\276\267\301\302\303\304\305" + "\306\307\310\311\312\313\313\315\315\301\320\321\322\323\324\325\326\327" + "\330\330\332\332\334\335\335\237\200\201\202\203\204\205\206\207\210\211" + "\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233" + "\234\235\236\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\201\202\203" + "\204\205\206\207\210\211\212\213\214\341\215\343\216\217\220\221\350\351" + "\352\353\222\223\224\225\226\341\227\230\231\111\232\233\350\351\352\373" + "\234\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\207\212\213\214\215\216\217" + "\200\221\222\223\224\225\226\227\210\206\212\213\214\215\216\217\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\202\256\257\260\246\262\262" + "\245\244\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\201\203\204\205\205\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\232\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\367\330\331\332\333" + "\334\335\336\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\201\204\205\206\207\210\211\212\213\214\215\216\217" + "\200\221\222\223\224\225\226\227\230\231\212\233\214\215\216\217\240\241" + "\241\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\262" + "\245\265\266\267\250\271\252\273\243\275\275\257\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\300\301\302\303\304\305\306\307\310\311" + "\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333" + "\334\335\336\337"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\241\242\243\244\245\246\247\257\260\261\262\263" + "\264\200\201\202\203\204\272\257\272\277\300\277\300\301\302\303\304\305" + "\205\301\302\303\304\206\207\315\210\211\212\213\305\315\331\332\214\215" + "\216\331\332\333\217\220\221\222\340\223\224\225\226\333\340\360\377\227" + "\230\231\232\233\234\235\360\236\237\001\002\004\005\006\021\022\023\024" + "\025\026\027\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135" + "\136\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241" + "\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263" + "\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305" + "\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327" + "\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351" + "\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373" + "\374\375\376\377"},}, +{{"\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021" + "\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043" + "\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065" + "\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107" + "\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131" + "\132\133\134\135\136\137\140\101\102\103\104\105\106\107\110\111\112\113" + "\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\173\174\175" + "\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217" + "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\201" + "\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\263" + "\264\223\226\227\230\271\272\273\274\264\225\277\300\301\302\303\304\305" + "\002\005\310\311\312\313\314\315\316\237\320\272\322\323\324\200\024\273" + "\274\331\332\031\036\335\263\277\300\301\302\303\304\305\377\006\310\311" + "\312\313\314\315\316\233\320\271\322\323\324\240\231\232\236\331\332\235" + "\234\335\224\377"},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +{{},}, +}; + diff --git a/library/cpp/charset/iconv.cpp b/library/cpp/charset/iconv.cpp new file mode 100644 index 0000000000..df43471470 --- /dev/null +++ b/library/cpp/charset/iconv.cpp @@ -0,0 +1,94 @@ +#include "iconv.h" + +#include <contrib/libs/libiconv/iconv.h> + +using namespace NICONVPrivate; + +TDescriptor::TDescriptor(const char* from, const char* to) + : Descriptor_(libiconv_open(to, from)) + , From_(from) + , To_(to) +{ + if (!Invalid()) { + int temp = 1; + + libiconvctl(Descriptor_, ICONV_SET_DISCARD_ILSEQ, &temp); + } +} + +TDescriptor::~TDescriptor() { + if (!Invalid()) { + libiconv_close(Descriptor_); + } +} + +size_t NICONVPrivate::RecodeImpl(const TDescriptor& descriptor, const char* in, char* out, size_t inSize, size_t outSize, size_t& read, size_t& written) { + Y_ASSERT(!descriptor.Invalid()); + Y_ASSERT(in); + Y_ASSERT(out); + + char* inPtr = const_cast<char*>(in); + char* outPtr = out; + size_t inSizeMod = inSize; + size_t outSizeMod = outSize; + size_t res = libiconv(descriptor.Get(), &inPtr, &inSizeMod, &outPtr, &outSizeMod); + + read = inSize - inSizeMod; + written = outSize - outSizeMod; + + return res; +} + +void NICONVPrivate::DoRecode(const TDescriptor& descriptor, const char* in, char* out, size_t inSize, size_t outSize, size_t& read, size_t& written) { + if (descriptor.Invalid()) { + ythrow yexception() << "Can not convert from " << descriptor.From() << " to " << descriptor.To(); + } + + size_t res = RecodeImpl(descriptor, in, out, inSize, outSize, read, written); + + if (res == static_cast<size_t>(-1)) { + switch (errno) { + case EILSEQ: + read = inSize; + break; + + case EINVAL: + read = inSize; + break; + + case E2BIG: + ythrow yexception() << "Iconv error: output buffer is too small"; + + default: + ythrow yexception() << "Unknown iconv error"; + } + } +} + +RECODE_RESULT NICONVPrivate::DoRecodeNoThrow(const TDescriptor& descriptor, const char* in, char* out, size_t inSize, size_t outSize, size_t& read, size_t& written) { + if (descriptor.Invalid()) { + return RECODE_ERROR; + } + + size_t res = RecodeImpl(descriptor, in, out, inSize, outSize, read, written); + + if (res == static_cast<size_t>(-1)) { + switch (errno) { + case EILSEQ: + read = inSize; + break; + + case EINVAL: + read = inSize; + break; + + case E2BIG: + return RECODE_EOOUTPUT; + + default: + return RECODE_ERROR; + } + } + + return RECODE_OK; +} diff --git a/library/cpp/charset/iconv.h b/library/cpp/charset/iconv.h new file mode 100644 index 0000000000..ac13539347 --- /dev/null +++ b/library/cpp/charset/iconv.h @@ -0,0 +1,136 @@ +#pragma once + +#include "codepage.h" + +#include <util/generic/noncopyable.h> + +// WARNING: Do not use this functions - use functions from wide.h or recyr.hh instead. + +namespace NICONVPrivate { + inline const char* CharsetName(ECharset code) { + return NameByCharset(code); + } + + inline const char* CharsetName(const char* code) { + return code; + } + + template <int size> + inline const char* UnicodeNameBySize(); + + template <> + inline const char* UnicodeNameBySize<1>() { + return "UTF-8"; + } + + template <> + inline const char* UnicodeNameBySize<2>() { + return "UTF-16LE"; + } + + template <> + inline const char* UnicodeNameBySize<4>() { + return "UCS-4LE"; + } + + template <class C> + inline const char* UnicodeName() { + return UnicodeNameBySize<sizeof(C)>(); + } + + class TDescriptor : NNonCopyable::TNonCopyable { + private: + void* Descriptor_; + const char* From_; + const char* To_; + + public: + template <class TFrom, class TTo> + inline TDescriptor(TFrom from, TTo to) + : TDescriptor(CharsetName(from), CharsetName(to)) + { + } + + TDescriptor(const char* from, const char* to); + + ~TDescriptor(); + + inline void* Get() const { + return Descriptor_; + } + + inline bool Invalid() const { + return Descriptor_ == (void*)(-1); + } + + inline const char* From() const noexcept { + return From_; + } + + inline const char* To() const noexcept { + return To_; + } + }; + + template <class TFrom, class TTo> + inline bool CanConvert(TFrom from, TTo to) { + TDescriptor descriptor(from, to); + + return !descriptor.Invalid(); + } + + size_t RecodeImpl(const TDescriptor& descriptor, const char* in, char* out, size_t inSize, size_t outSize, size_t& read, size_t& written); + void DoRecode(const TDescriptor& descriptor, const char* in, char* out, size_t inSize, size_t outSize, size_t& read, size_t& written); + + template <class TFrom, class TTo> + inline void Recode(TFrom from, TTo to, const char* in, char* out, size_t inSize, size_t outSize, size_t& read, size_t& written) { + TDescriptor descriptor(from, to); + + DoRecode(descriptor, in, out, inSize, outSize, read, written); + } + + template <class TCharType> + inline void RecodeToUnicode(ECharset from, const char* in, TCharType* out, size_t inSize, size_t outSize, size_t& read, size_t& written) { + const size_t charSize = sizeof(TCharType); + + Recode(from, UnicodeName<TCharType>(), in, reinterpret_cast<char*>(out), inSize, outSize * charSize, read, written); + written /= charSize; + } + + template <class TCharType> + inline void RecodeFromUnicode(ECharset to, const TCharType* in, char* out, size_t inSize, size_t outSize, size_t& read, size_t& written) { + const size_t charSize = sizeof(TCharType); + + Recode(UnicodeName<TCharType>(), to, reinterpret_cast<const char*>(in), out, inSize * charSize, outSize, read, written); + read /= charSize; + } + + RECODE_RESULT DoRecodeNoThrow(const TDescriptor& d, const char* in, char* out, size_t inSize, size_t outSize, size_t& read, size_t& written); + + template <class TFrom, class TTo> + inline RECODE_RESULT RecodeNoThrow(TFrom from, TTo to, const char* in, char* out, size_t inSize, size_t outSize, size_t& read, size_t& written) { + TDescriptor descriptor(from, to); + + return DoRecodeNoThrow(descriptor, in, out, inSize, outSize, read, written); + } + + template <class TCharType> + inline RECODE_RESULT RecodeToUnicodeNoThrow(ECharset from, const char* in, TCharType* out, size_t inSize, size_t outSize, size_t& read, size_t& written) { + const size_t charSize = sizeof(TCharType); + + RECODE_RESULT res = RecodeNoThrow(from, UnicodeName<TCharType>(), in, reinterpret_cast<char*>(out), inSize, outSize * charSize, read, written); + written /= charSize; + + return res; + } + + template <class TCharType> + inline RECODE_RESULT RecodeFromUnicodeNoThrow(ECharset to, const TCharType* in, char* out, size_t inSize, size_t outSize, size_t& read, size_t& written) { + const size_t charSize = sizeof(TCharType); + + RECODE_RESULT res = RecodeNoThrow(UnicodeName<TCharType>(), to, reinterpret_cast<const char*>(in), out, inSize * charSize, outSize, read, written); + read /= charSize; + + return res; + } +} diff --git a/library/cpp/charset/iconv_ut.cpp b/library/cpp/charset/iconv_ut.cpp new file mode 100644 index 0000000000..e8c56f6d49 --- /dev/null +++ b/library/cpp/charset/iconv_ut.cpp @@ -0,0 +1,87 @@ +#include "wide.h" +#include "recyr.hh" +#include "codepage.h" + +#include <library/cpp/testing/unittest/registar.h> + +static void TestIconv(const TString& utf8, const TString& other, ECharset enc) { + TUtf16String wide0 = CharToWide(utf8, CODES_UTF8); + TUtf16String wide1 = CharToWide(other, enc); + + UNIT_ASSERT(wide0 == wide1); + + TString temp = WideToUTF8(wide0); + UNIT_ASSERT(temp == utf8); + + temp = WideToChar(wide0, enc); + UNIT_ASSERT(temp == other); + + temp = Recode(enc, CODES_UTF8, other); + UNIT_ASSERT(temp == utf8); + + temp = Recode(CODES_UTF8, enc, utf8); + UNIT_ASSERT(temp == other); + + size_t read = 0; + size_t written = 0; + + RECODE_RESULT res = RecodeToUnicode(enc, other.c_str(), wide1.begin(), other.size(), wide1.size(), read, written); + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(read == other.size()); + UNIT_ASSERT(written == wide1.size()); + UNIT_ASSERT(wide0 == wide1); + + res = RecodeFromUnicode(enc, wide0.c_str(), temp.begin(), wide0.size(), temp.size(), read, written); + UNIT_ASSERT(res == RECODE_OK); + UNIT_ASSERT(read == wide0.size()); + UNIT_ASSERT(written == other.size()); + UNIT_ASSERT(temp == other); +} + +class TIconvTest: public TTestBase { + static void TestSurrogates(const char* str, const wchar16* wide, size_t wideSize) { + size_t sSize = strlen(str); + size_t wSize = sSize * 2; + TArrayHolder<wchar16> w(new wchar16[wSize]); + + size_t read = 0; + size_t written = 0; + NICONVPrivate::RecodeToUnicode(CODES_UTF8, str, w.Get(), sSize, wSize, read, written); + UNIT_ASSERT(read == sSize); + UNIT_ASSERT(written == wideSize); + UNIT_ASSERT(!memcmp(w.Get(), wide, wideSize)); + + TArrayHolder<char> s(new char[sSize]); + NICONVPrivate::RecodeFromUnicode(CODES_UTF8, w.Get(), s.Get(), wideSize, sSize, read, written); + UNIT_ASSERT(read == wideSize); + UNIT_ASSERT(written == sSize); + UNIT_ASSERT(!memcmp(s.Get(), str, sSize)); + } + +private: + UNIT_TEST_SUITE(TIconvTest); + UNIT_TEST(TestBig5); + UNIT_TEST(TestSurrogatePairs); + UNIT_TEST_SUITE_END(); + +public: + void TestBig5() { + UNIT_ASSERT(!NCodepagePrivate::NativeCodepage(CODES_BIG5)); + const char* UTF8 = "\xe5\xad\xb8\xe7\x94\x9f\xe7\xb8\xbd\xe4\xba\xba\xe6\x95\xb8\xe6\x99\xae\xe9\x80\x9a\xe7\x8f\xad"; + const char* BIG5 = "\xbe\xc7\xa5\xcd\xc1\x60\xa4\x48\xbc\xc6\xb4\xb6\xb3\x71\xaf\x5a"; + + TestIconv(UTF8, BIG5, CODES_BIG5); + } + + void TestSurrogatePairs() { + const char* utf8NonBMP = "\xf4\x80\x89\x84\xf4\x80\x89\x87\xf4\x80\x88\xba"; + wchar16 wNonBMPDummy[] = {0xDBC0, 0xDE44, 0xDBC0, 0xDE47, 0xDBC0, 0xDE3A}; + TestSurrogates(utf8NonBMP, wNonBMPDummy, Y_ARRAY_SIZE(wNonBMPDummy)); + + const char* utf8NonBMP2 = "ab\xf4\x80\x89\x87n"; + wchar16 wNonBMPDummy2[] = {'a', 'b', 0xDBC0, 0xDE47, 'n'}; + TestSurrogates(utf8NonBMP2, wNonBMPDummy2, Y_ARRAY_SIZE(wNonBMPDummy2)); + } +}; + +UNIT_TEST_SUITE_REGISTRATION(TIconvTest); diff --git a/library/cpp/charset/recyr.hh b/library/cpp/charset/recyr.hh new file mode 100644 index 0000000000..5ec8734bcf --- /dev/null +++ b/library/cpp/charset/recyr.hh @@ -0,0 +1,164 @@ +#pragma once + +#include <cstdlib> + +#include <util/charset/recode_result.h> +#include <util/generic/ptr.h> +#include <util/generic/yexception.h> + +#include "codepage.h" +#include "doccodes.h" +#include "iconv.h" +#include "recyr_int.hh" + +/////////////////////////////////////////////////////////////////////////////////////// +// input buf -> output buf // +/////////////////////////////////////////////////////////////////////////////////////// +template <class TCharType> +inline RECODE_RESULT RecodeToUnicode(ECharset from, const char* in, TCharType* out, size_t inSize, size_t outSize, size_t& inRead, size_t& outWritten) { + static_assert(sizeof(TCharType) > 1, "expect wide character type"); + + return NCodepagePrivate::_recodeToUnicode(from, in, out, inSize, outSize, inRead, outWritten); +} + +template <class TCharType> +inline RECODE_RESULT RecodeFromUnicode(ECharset to, const TCharType* in, char* out, size_t inSize, size_t outSize, size_t& inRead, size_t& outWritten) { + static_assert(sizeof(TCharType) > 1, "expect wide character type"); + + return NCodepagePrivate::_recodeFromUnicode(to, in, out, inSize, outSize, inRead, outWritten); +} + +inline RECODE_RESULT RecodeFromUnicode(ECharset to, wchar32 rune, char* out, size_t outSize, size_t& outWritten) { + return NCodepagePrivate::_recodeFromUnicode(to, rune, out, outSize, outWritten); +} + +template <class TCharType> +inline RECODE_RESULT RecodeToUnicode(ECharset from, const char* in, TCharType* out, size_t inSize, size_t outSize) { + size_t inRead = 0; + size_t outWritten = 0; + return RecodeToUnicode(from, in, out, inSize, outSize, inRead, outWritten); +} + +template <class TCharType> +inline RECODE_RESULT RecodeFromUnicode(ECharset to, const TCharType* in, char* out, size_t inSize, size_t outSize) { + size_t inRead = 0; + size_t outWritten = 0; + return RecodeFromUnicode(to, in, out, inSize, outSize, inRead, outWritten); +} + +inline RECODE_RESULT RecodeFromUnicode(ECharset theEncoding, const wchar16* chars, size_t length, + char* bytes, size_t size, size_t* read = nullptr, size_t* written = nullptr) { + size_t w = 0, r = 0; + RECODE_RESULT rc = ::RecodeFromUnicode(theEncoding, chars, bytes, length, size, r, w); + if (read) + *read = r; + if (written) + *written = w; + return rc; +} + +inline RECODE_RESULT Recode(ECharset from, ECharset to, const char* in, char* out, size_t inSize, size_t outSize, size_t& inRead, size_t& outWritten) { + inRead = 0; + outWritten = 0; + + if (!ValidCodepage(to) || !ValidCodepage(from)) + return RECODE_ERROR; + + if (to == from) + return NCodepagePrivate::_recodeCopy(in, out, inSize, outSize, inRead, outWritten); + + if (NCodepagePrivate::NativeCodepage(from) && NCodepagePrivate::NativeCodepage(to)) { + if (from == CODES_UTF8) + return NCodepagePrivate::_recodeFromUTF8(to, in, out, inSize, outSize, inRead, outWritten); + if (to == CODES_UTF8) + return NCodepagePrivate::_recodeToUTF8(from, in, out, inSize, outSize, inRead, outWritten); + if (from == CODES_YANDEX) + return NCodepagePrivate::_recodeFromYandex(to, in, out, inSize, outSize, inRead, outWritten); + if (to == CODES_YANDEX) + return NCodepagePrivate::_recodeToYandex(from, in, out, inSize, outSize, inRead, outWritten); + } else if (NICONVPrivate::CanConvert(from, to)) { + return NICONVPrivate::RecodeNoThrow(from, to, in, out, inSize, outSize, inRead, outWritten); + } + + size_t wideSize = inSize * 3; + TArrayHolder<wchar16> wide(new wchar16[wideSize]); + + size_t wideRead = 0; + size_t wideWritten = 0; + + RECODE_RESULT res = RecodeToUnicode(from, in, wide.Get(), inSize, wideSize, inRead, wideWritten); + if (res != RECODE_OK) + return res; + + res = RecodeFromUnicode(to, wide.Get(), out, wideWritten, outSize, wideRead, outWritten); + + return res; +} + +inline RECODE_RESULT Recode(ECharset from, ECharset to, const char* in, char* out, size_t inSize, size_t outSize) { + size_t inRead = 0; + size_t outWritten = 0; + return Recode(from, to, in, out, inSize, outSize, inRead, outWritten); +} + +/** + * Recode from one charset to another; throw an exception if conversion failed + * @param[in] from the source character set + * @param[in] to the target character set + * @param[in] in the input string buffer + * @param[out] out the output string object if conversion was successful + * @return false if conversion was not attempted (charsets were the same), + * true if successful + */ +inline bool Recode(ECharset from, ECharset to, const TStringBuf& in, TString& out) { + if (to == from) + return false; + + const size_t inSize = in.length(); + const size_t outSize = SingleByteCodepage(to) ? inSize : 3 * inSize; + out.clear(); // so we don't copy stuff around when resizing + out.ReserveAndResize(outSize); + + size_t inRead = 0; + size_t outWritten = 0; + const RECODE_RESULT res = Recode(from, to, in.data(), out.begin(), inSize, outSize, inRead, outWritten); + Y_ENSURE(RECODE_OK == res, "Recode failed. "); + if (outWritten > outSize) + ythrow yexception() << "Recode overrun the buffer: size=" + << outSize << " need=" << outWritten; + + out.remove(outWritten); + return true; +} + +/////////////////////////////////////////////////////////////////////////////////////// +// TString -> TString // +/////////////////////////////////////////////////////////////////////////////////////// +inline TString Recode(ECharset from, ECharset to, const TString& in) { + TString out; + return to != from && Recode(from, to, in, out) ? out : in; +} +inline TString RecodeToYandex(ECharset from, const TString& in) { + return Recode(from, CODES_YANDEX, in); +} +inline TString RecodeFromYandex(ECharset to, const TString& in) { + return Recode(CODES_YANDEX, to, in); +} + +inline TString RecodeToHTMLEntities(ECharset from, const TString& in) { + RECODE_RESULT res; + size_t outWritten, inRead; + TString out; + out.resize(in.length() * (4 + 4)); + res = NCodepagePrivate::_recodeToHTMLEntities(from, in.c_str(), out.begin(), in.length(), out.length(), inRead, outWritten); + if (res == RECODE_EOOUTPUT) { //input contains many 8-byte characters? + out.resize(in.length() * (4 + 8)); + res = NCodepagePrivate::_recodeToHTMLEntities(from, in.c_str(), out.begin(), in.length(), out.length(), inRead, outWritten); + } + if (res != RECODE_OK) { + ythrow yexception() << "Recode to HTML entities failed"; + } + + out.resize(outWritten - 1); + return out; +} diff --git a/library/cpp/charset/recyr_int.hh b/library/cpp/charset/recyr_int.hh new file mode 100644 index 0000000000..353af53305 --- /dev/null +++ b/library/cpp/charset/recyr_int.hh @@ -0,0 +1,336 @@ +#pragma once + +#include <util/charset/recode_result.h> +#include <util/charset/utf8.h> +#include <util/generic/ptr.h> +#include <util/generic/string.h> +#include <util/system/defaults.h> + +#include "codepage.h" +#include "doccodes.h" +#include "iconv.h" +#include "wide.h" + +namespace NCodepagePrivate { + inline RECODE_RESULT _recodeCopy(const char* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + in_readed = in_size; + RECODE_RESULT res = RECODE_OK; + if (in_readed > out_size) { + res = RECODE_EOOUTPUT; + in_readed = out_size; + } + if (in != out) + memcpy(out, in, in_readed); + out_writed = in_readed; + return res; + } + + inline RECODE_RESULT _recodeToUTF8(ECharset From, const char* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + if (From == CODES_UTF8) + return _recodeCopy(in, out, in_size, out_size, in_readed, out_writed); + const CodePage* cp = CodePageByCharset(From); + + const unsigned char* in_start = (const unsigned char*)in; + const unsigned char* in_end = in_start + in_size; + const unsigned char* out_start = (unsigned char*)out; + const unsigned char* out_end = out_start + out_size; + + size_t rune_len; + RECODE_RESULT res = RECODE_OK; + while ((unsigned char*)in < in_end && res == RECODE_OK) { + res = SafeWriteUTF8Char(cp->unicode[(unsigned char)(*in++)], rune_len, (unsigned char*)out, out_end); + out += rune_len; + } + in_readed = (unsigned char*)in - in_start; + out_writed = (unsigned char*)out - out_start; + return res; + } + + inline RECODE_RESULT _recodeFromUTF8(ECharset to, const char* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + if (to == CODES_UTF8) + return _recodeCopy(in, out, in_size, out_size, in_readed, out_writed); + Y_ASSERT(CODES_UNKNOWN < to && to < CODES_MAX); + const Encoder* enc = &EncoderByCharset(to); + + const unsigned char* in_start = (const unsigned char*)in; + const unsigned char* in_end = in_start + in_size; + const unsigned char* out_start = (unsigned char*)out; + const unsigned char* out_end = out_start + out_size; + + wchar32 rune; + size_t rune_len; + RECODE_RESULT res = RECODE_OK; + while ((const unsigned char*)in < in_end && (res == RECODE_OK || res == RECODE_BROKENSYMBOL)) { + res = SafeReadUTF8Char(rune, rune_len, (const unsigned char*)in, in_end); + if (res == RECODE_BROKENSYMBOL) + rune_len = 1; + if (res != RECODE_EOINPUT) + *out++ = enc->Tr(rune); + in += rune_len; + if (res == RECODE_OK && (const unsigned char*)in < in_end && (unsigned char*)out >= out_end) + res = RECODE_EOOUTPUT; + } + in_readed = (unsigned char*)in - in_start; + out_writed = (unsigned char*)out - out_start; + return res; + } + + inline RECODE_RESULT _recodeToYandex(ECharset From, const char* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + if (From == CODES_YANDEX) + return _recodeCopy(in, out, in_size, out_size, in_readed, out_writed); + if (From == CODES_UTF8) + return _recodeFromUTF8(CODES_YANDEX, in, out, in_size, out_size, in_readed, out_writed); + in_readed = (out_size > in_size) ? in_size : out_size; + const Recoder& rcdr = NCodepagePrivate::TCodePageData::rcdr_to_yandex[From]; + rcdr.Tr(in, out, in_readed); + out_writed = in_readed; + if (out_size < in_size) + return RECODE_EOOUTPUT; + return RECODE_OK; + } + inline RECODE_RESULT _recodeFromYandex(ECharset To, const char* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + if (To == CODES_YANDEX) + return _recodeCopy(in, out, in_size, out_size, in_readed, out_writed); + if (To == CODES_UTF8) + return _recodeToUTF8(CODES_YANDEX, in, out, in_size, out_size, in_readed, out_writed); + in_readed = (out_size > in_size) ? in_size : out_size; + const Recoder& rcdr = NCodepagePrivate::TCodePageData::rcdr_from_yandex[To]; + rcdr.Tr(in, out, in_readed); + out_writed = in_readed; + if (out_size < in_size) + return RECODE_EOOUTPUT; + return RECODE_OK; + } + + template <class TCharType> + inline RECODE_RESULT _recodeUTF8ToUnicode(const char* in, TCharType* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + const unsigned char* inp = (const unsigned char*)in; + const unsigned char* in_end = inp + in_size; + TCharType* outp = out; + const TCharType* out_end = outp + out_size; + size_t rune_len; + wchar32 rune; + RECODE_RESULT res = RECODE_OK; + while ((res == RECODE_OK || res == RECODE_BROKENSYMBOL) && inp < in_end && outp < out_end) { + res = SafeReadUTF8Char(rune, rune_len, inp, in_end); + if (res == RECODE_BROKENSYMBOL) + rune_len = 1; + if (res == RECODE_OK || res == RECODE_BROKENSYMBOL) { + if (!WriteSymbol(rune, outp, out_end)) { + break; + } + inp += rune_len; + } + } + in_readed = inp - (const unsigned char*)in; + out_writed = outp - out; + + if ((res == RECODE_OK || res == RECODE_BROKENSYMBOL) && in_readed != in_size) + return RECODE_EOOUTPUT; + + return res; + } + + template <class TCharType> + inline RECODE_RESULT _recodeSBToUnicode(ECharset From, const char* in, TCharType* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + const CodePage* cp = CodePageByCharset(From); + const unsigned char* inp = (const unsigned char*)in; + const unsigned char* in_end = inp + in_size; + TCharType* outp = out; + const TCharType* out_end = outp + out_size; + while (inp < in_end && outp < out_end) + *outp++ = static_cast<TCharType>(cp->unicode[*inp++]); + in_readed = inp - (const unsigned char*)in; + out_writed = outp - out; + if (in_readed != in_size) + return RECODE_EOOUTPUT; + return RECODE_OK; + } + + template <class TCharType> + inline RECODE_RESULT _recodeUnicodeToUTF8Impl(const TCharType* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + const TCharType* inp = in; + const TCharType* in_end = in + in_size; + unsigned char* outp = (unsigned char*)out; + const unsigned char* out_end = outp + out_size; + size_t rune_len; + wchar32 rune; + RECODE_RESULT res = RECODE_OK; + + while ((res == RECODE_OK || res == RECODE_BROKENSYMBOL) && inp != in_end) { + rune = ReadSymbolAndAdvance(inp, in_end); + res = SafeWriteUTF8Char(rune, rune_len, outp, out_end); + if (outp >= out_end && (res == RECODE_OK || res == RECODE_BROKENSYMBOL)) + res = RECODE_EOOUTPUT; + outp += rune_len; + } + in_readed = inp - in; + out_writed = outp - (const unsigned char*)out; + return res; + } + + inline RECODE_RESULT _recodeUnicodeToUTF8(wchar32 rune, char* out, size_t out_size, size_t& nwritten) { + return SafeWriteUTF8Char(rune, nwritten, (unsigned char*)out, out_size); + } + + template <class TCharType, int Size = sizeof(TCharType)> + struct TCharTypeSwitch; + + template <class TCharType> + struct TCharTypeSwitch<TCharType, 2> { + using TRealCharType = wchar16; + }; + + template <class TCharType> + struct TCharTypeSwitch<TCharType, 4> { + using TRealCharType = wchar32; + }; + + template <class TCharType> + inline RECODE_RESULT _recodeUnicodeToUTF8(const TCharType* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + static_assert(sizeof(TCharType) > 1, "expect some wide type"); + + using TRealCharType = typename TCharTypeSwitch<TCharType>::TRealCharType; + + return _recodeUnicodeToUTF8Impl(reinterpret_cast<const TRealCharType*>(in), out, in_size, out_size, in_readed, out_writed); + } + + template <class TCharType> + inline RECODE_RESULT _recodeUnicodeToSB(ECharset To, const TCharType* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + const TCharType* inp = in; + const TCharType* in_end = in + in_size; + const char* out_begin = out; + const char* out_end = out + out_size; + + const Encoder* enc = &EncoderByCharset(To); + while (inp != in_end && out != out_end) { + *out++ = enc->Tr(ReadSymbolAndAdvance(inp, in_end)); + } + + in_readed = inp - in; + out_writed = out - out_begin; + + if (in_readed != in_size) + return RECODE_EOOUTPUT; + + return RECODE_OK; + } + + inline RECODE_RESULT _recodeUnicodeToSB(ECharset To, wchar32 rune, char* out, size_t out_size, size_t& nwritten) { + if (0 == out_size) + return RECODE_EOOUTPUT; + *out = EncoderByCharset(To).Tr(rune); + nwritten = 1; + return RECODE_OK; + } + + inline RECODE_RESULT _rune2hex(wchar32 in, char* out, size_t out_size, size_t& out_writed) { + static const char hex_digs[] = "0123456789ABCDEF"; + out_writed = 0; + RECODE_RESULT res = RECODE_OK; + for (int i = 7; i >= 0; i--) { + unsigned char h = (unsigned char)(in >> (i * 4) & 0x0F); + if (h || i == 0) { + if (out_writed + 1 >= out_size) { + res = RECODE_EOOUTPUT; + break; + } + out[out_writed++] = hex_digs[h]; + } + } + return res; + } + + inline RECODE_RESULT _recodeUnicodeToHTMLEntities(const wchar32* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + const wchar32* in_end = in + in_size; + const char* out_beg = out; + const wchar32* in_beg = in; + RECODE_RESULT res = RECODE_OK; + + const char* out_end = out + out_size - 1; + while (in < in_end && out < out_end) { + if (*in < 0x80 && *in != '<' && *in != '&' && *in != '>') { //ascii + *out++ = char(*in & 0x00FF); + } else { //entity + char* ent = out; + size_t ent_writed; + if (ent > out_end - 6) { + res = RECODE_EOOUTPUT; + break; + } + memcpy(ent, "&#x", 3); + ent += 3; + res = _rune2hex(*in, ent, out_end - 1 - ent, ent_writed); + if (res != RECODE_OK) + break; + ent += ent_writed; + *ent++ = ';'; + out = ent; + } + in++; + } + *out++ = '\x00'; + out_writed = out - out_beg; + in_readed = in - in_beg; + return res; + } + + template <class TCharType> + inline RECODE_RESULT _recodeToUnicode(ECharset From, const char* in, TCharType* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + if (!ValidCodepage(From)) + return RECODE_ERROR; + + if (!NCodepagePrivate::NativeCodepage(From)) + return NICONVPrivate::RecodeToUnicodeNoThrow(From, in, out, in_size, out_size, in_readed, out_writed); + + if (From == CODES_UTF8) + return _recodeUTF8ToUnicode(in, out, in_size, out_size, in_readed, out_writed); + + return _recodeSBToUnicode(From, in, out, in_size, out_size, in_readed, out_writed); + } + + template <class TCharType> + inline RECODE_RESULT _recodeFromUnicode(ECharset To, const TCharType* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + if (!ValidCodepage(To)) + return RECODE_ERROR; + + if (!NCodepagePrivate::NativeCodepage(To)) + return NICONVPrivate::RecodeFromUnicodeNoThrow(To, in, out, in_size, out_size, in_readed, out_writed); + + if (To == CODES_UTF8) + return NCodepagePrivate::_recodeUnicodeToUTF8(in, out, in_size, out_size, in_readed, out_writed); + + return NCodepagePrivate::_recodeUnicodeToSB(To, in, out, in_size, out_size, in_readed, out_writed); + } + + inline RECODE_RESULT _recodeFromUnicode(ECharset To, wchar32 rune, char* out, size_t out_size, size_t& nwritten) { + if (!ValidCodepage(To)) + return RECODE_ERROR; + + if (!NCodepagePrivate::NativeCodepage(To)) { + size_t nread = 0; + return NICONVPrivate::RecodeFromUnicodeNoThrow(To, &rune, out, 1, out_size, nread, nwritten); + } + + if (To == CODES_UTF8) + return NCodepagePrivate::_recodeUnicodeToUTF8(rune, out, out_size, nwritten); + + return NCodepagePrivate::_recodeUnicodeToSB(To, rune, out, out_size, nwritten); + } + + inline RECODE_RESULT _recodeToHTMLEntities(ECharset From, const char* in, char* out, size_t in_size, size_t out_size, size_t& in_readed, size_t& out_writed) { + TArrayHolder<wchar32> bufHolder(new wchar32[in_size]); + wchar32* buf = bufHolder.Get(); + size_t unicode_size; + RECODE_RESULT res1, res2; + + //first pass - to unicode + res1 = _recodeToUnicode(From, in, buf, in_size, in_size, in_readed, unicode_size); + + //second pass - to entities + res2 = _recodeUnicodeToHTMLEntities(buf, out, in_size, out_size, in_readed, out_writed); + + return (res2 != RECODE_OK) ? res2 : res1; + } + +} diff --git a/library/cpp/charset/ut/ya.make b/library/cpp/charset/ut/ya.make new file mode 100644 index 0000000000..1f9934c712 --- /dev/null +++ b/library/cpp/charset/ut/ya.make @@ -0,0 +1,12 @@ +UNITTEST_FOR(library/cpp/charset) + +OWNER(alzobnin) + +SRCS( + ci_string_ut.cpp + codepage_ut.cpp + iconv_ut.cpp + wide_ut.cpp +) + +END() diff --git a/library/cpp/charset/wide.cpp b/library/cpp/charset/wide.cpp new file mode 100644 index 0000000000..d12b293817 --- /dev/null +++ b/library/cpp/charset/wide.cpp @@ -0,0 +1,18 @@ +#include "wide.h" + +bool CanBeEncoded(TWtringBuf text, ECharset encoding) { + const size_t LEN = 16; + const size_t BUFSIZE = LEN * 4; + char encodeBuf[BUFSIZE]; + wchar16 decodeBuf[BUFSIZE]; + + while (!text.empty()) { + TWtringBuf src = text.NextTokAt(LEN); + TStringBuf encoded = NDetail::NBaseOps::Recode(src, encodeBuf, encoding); + TWtringBuf decoded = NDetail::NBaseOps::Recode(encoded, decodeBuf, encoding); + if (decoded != src) + return false; + } + + return true; +} diff --git a/library/cpp/charset/wide.h b/library/cpp/charset/wide.h new file mode 100644 index 0000000000..32d30e849e --- /dev/null +++ b/library/cpp/charset/wide.h @@ -0,0 +1,306 @@ +#pragma once + +#include "codepage.h" +#include "iconv.h" + +#include <util/charset/recode_result.h> +#include <util/charset/unidata.h> +#include <util/charset/utf8.h> +#include <util/charset/wide.h> +#include <util/generic/string.h> +#include <util/generic/algorithm.h> +#include <util/generic/yexception.h> +#include <util/memory/tempbuf.h> +#include <util/system/yassert.h> + +//! converts text from unicode to yandex codepage +//! @attention destination buffer must be long enough to fit all characters of the text +//! @note @c dest buffer must fit at least @c len number of characters +template <typename TCharType> +inline size_t WideToChar(const TCharType* text, size_t len, char* dest, ECharset enc) { + Y_ASSERT(SingleByteCodepage(enc)); + + const char* start = dest; + + const Encoder* const encoder = &EncoderByCharset(enc); + const TCharType* const last = text + len; + for (const TCharType* cur = text; cur != last; ++dest) { + *dest = encoder->Tr(ReadSymbolAndAdvance(cur, last)); + } + + return dest - start; +} + +//! converts text to unicode using a codepage object +//! @attention destination buffer must be long enough to fit all characters of the text +//! @note @c dest buffer must fit at least @c len number of characters; +//! if you need convert zero terminated string you should determine length of the +//! string using the @c strlen function and pass as the @c len parameter; +//! it does not make sense to create an additional version of this function because +//! it will call to @c strlen anyway in order to allocate destination buffer +template <typename TCharType> +inline void CharToWide(const char* text, size_t len, TCharType* dest, const CodePage& cp) { + const unsigned char* cur = reinterpret_cast<const unsigned char*>(text); + const unsigned char* const last = cur + len; + for (; cur != last; ++cur, ++dest) { + *dest = static_cast<TCharType>(cp.unicode[*cur]); // static_cast is safe as no 1char codepage contains non-BMP symbols + } +} + +namespace NDetail { + namespace NBaseOps { + // Template interface base recoding drivers, do not perform any memory management, + // do not care about buffer size, so supplied @dst + // should have enough room for the result (with proper reserve for the worst case) + + // Depending on template params, perform conversion of single-byte/multi-byte/utf8 string to/from wide string. + + template <typename TCharType> + inline TBasicStringBuf<TCharType> RecodeSingleByteChar(const TStringBuf src, TCharType* dst, const CodePage& cp) { + Y_ASSERT(cp.SingleByteCodepage()); + ::CharToWide(src.data(), src.size(), dst, cp); + return TBasicStringBuf<TCharType>(dst, src.size()); + } + + template <typename TCharType> + inline TStringBuf RecodeSingleByteChar(const TBasicStringBuf<TCharType> src, char* dst, const CodePage& cp) { + Y_ASSERT(cp.SingleByteCodepage()); + ::WideToChar(src.data(), src.size(), dst, cp.CPEnum); + return TStringBuf(dst, src.size()); + } + + template <typename TCharType> + inline TBasicStringBuf<TCharType> RecodeMultiByteChar(const TStringBuf src, TCharType* dst, ECharset encoding) { + Y_ASSERT(!NCodepagePrivate::NativeCodepage(encoding)); + size_t read = 0; + size_t written = 0; + ::NICONVPrivate::RecodeToUnicode(encoding, src.data(), dst, src.size(), src.size(), read, written); + return TBasicStringBuf<TCharType>(dst, written); + } + + template <typename TCharType> + inline TStringBuf RecodeMultiByteChar(const TBasicStringBuf<TCharType> src, char* dst, ECharset encoding) { + Y_ASSERT(!NCodepagePrivate::NativeCodepage(encoding)); + size_t read = 0; + size_t written = 0; + ::NICONVPrivate::RecodeFromUnicode(encoding, src.data(), dst, src.size(), src.size() * 3, read, written); + return TStringBuf(dst, written); + } + + template <typename TCharType> + inline TBasicStringBuf<TCharType> RecodeUtf8(const TStringBuf src, TCharType* dst) { + size_t len = 0; + if (!::UTF8ToWide(src.data(), src.size(), dst, len)) + ythrow yexception() << "Invalid UTF8: \"" << src.SubStr(0, 50) << (src.size() > 50 ? "...\"" : "\""); + return TBasicStringBuf<TCharType>(dst, len); + } + + template <typename TCharType> + inline TStringBuf RecodeUtf8(const TBasicStringBuf<TCharType> src, char* dst) { + size_t len = 0; + ::WideToUTF8(src.data(), src.size(), dst, len); + return TStringBuf(dst, len); + } + + // Select one of re-coding methods from above, based on provided @encoding + + template <typename TCharFrom, typename TCharTo> + TBasicStringBuf<TCharTo> Recode(const TBasicStringBuf<TCharFrom> src, TCharTo* dst, ECharset encoding) { + if (encoding == CODES_UTF8) + return RecodeUtf8(src, dst); + else if (SingleByteCodepage(encoding)) + return RecodeSingleByteChar(src, dst, *CodePageByCharset(encoding)); + else + return RecodeMultiByteChar(src, dst, encoding); + } + + } + + template <typename TCharFrom> + struct TRecodeTraits; + + template <> + struct TRecodeTraits<char> { + using TCharTo = wchar16; + using TStringBufTo = TWtringBuf; + using TStringTo = TUtf16String; + enum { ReserveSize = 4 }; // How many TCharFrom characters we should reserve for one TCharTo character in worst case + // Here an unicode character can be converted up to 4 bytes of UTF8 + }; + + template <> + struct TRecodeTraits<wchar16> { + using TCharTo = char; + using TStringBufTo = TStringBuf; + using TStringTo = TString; + enum { ReserveSize = 2 }; // possible surrogate pairs ? + }; + + // Operations with destination buffer where recoded string will be written + template <typename TResult> + struct TRecodeResultOps { + // default implementation will work with TString and TUtf16String - 99% of usage + using TResultChar = typename TResult::char_type; + + static inline size_t Size(const TResult& dst) { + return dst.size(); + } + + static inline TResultChar* Reserve(TResult& dst, size_t len) { + dst.ReserveAndResize(len); + return dst.begin(); + } + + static inline void Truncate(TResult& dst, size_t len) { + dst.resize(len); + } + }; + + // Main template interface for recoding in both directions + + template <typename TCharFrom, typename TResult> + typename TRecodeTraits<TCharFrom>::TStringBufTo Recode(const TBasicStringBuf<TCharFrom> src, TResult& dst, ECharset encoding) { + using TCharTo = typename TRecodeTraits<TCharFrom>::TCharTo; + // make enough room for re-coded string + TCharTo* dstbuf = TRecodeResultOps<TResult>::Reserve(dst, src.size() * TRecodeTraits<TCharTo>::ReserveSize); + // do re-coding + TBasicStringBuf<TCharTo> res = NBaseOps::Recode(src, dstbuf, encoding); + // truncate result back to proper size + TRecodeResultOps<TResult>::Truncate(dst, res.size()); + return res; + } + + // appending version of Recode() + template <typename TCharFrom, typename TResult> + typename TRecodeTraits<TCharFrom>::TStringBufTo RecodeAppend(const TBasicStringBuf<TCharFrom> src, TResult& dst, ECharset encoding) { + using TCharTo = typename TRecodeTraits<TCharFrom>::TCharTo; + size_t dstOrigSize = TRecodeResultOps<TResult>::Size(dst); + TCharTo* dstbuf = TRecodeResultOps<TResult>::Reserve(dst, dstOrigSize + src.size() * TRecodeTraits<TCharTo>::ReserveSize); + TBasicStringBuf<TCharTo> appended = NBaseOps::Recode(src, dstbuf + dstOrigSize, encoding); + size_t dstFinalSize = dstOrigSize + appended.size(); + TRecodeResultOps<TResult>::Truncate(dst, dstFinalSize); + return TBasicStringBuf<TCharTo>(dstbuf, dstFinalSize); + } + + // special implementation for robust utf8 functions + template <typename TResult> + TWtringBuf RecodeUTF8Robust(const TStringBuf src, TResult& dst) { + // make enough room for re-coded string + wchar16* dstbuf = TRecodeResultOps<TResult>::Reserve(dst, src.size() * TRecodeTraits<wchar16>::ReserveSize); + + // do re-coding + size_t written = 0; + UTF8ToWide<true>(src.data(), src.size(), dstbuf, written); + + // truncate result back to proper size + TRecodeResultOps<TResult>::Truncate(dst, written); + return TWtringBuf(dstbuf, written); + } + + template <typename TCharFrom> + inline typename TRecodeTraits<TCharFrom>::TStringTo Recode(const TBasicStringBuf<TCharFrom> src, ECharset encoding) { + typename TRecodeTraits<TCharFrom>::TStringTo res; + Recode<TCharFrom>(src, res, encoding); + return res; + } +} + +// Write result into @dst. Return string-buffer pointing to re-coded content of @dst. + +template <bool robust> +inline TWtringBuf CharToWide(const TStringBuf src, TUtf16String& dst, ECharset encoding) { + if (robust && CODES_UTF8 == encoding) + return ::NDetail::RecodeUTF8Robust(src, dst); + return ::NDetail::Recode<char>(src, dst, encoding); +} + +inline TWtringBuf CharToWide(const TStringBuf src, TUtf16String& dst, ECharset encoding) { + return ::NDetail::Recode<char>(src, dst, encoding); +} + +inline TStringBuf WideToChar(const TWtringBuf src, TString& dst, ECharset encoding) { + return ::NDetail::Recode<wchar16>(src, dst, encoding); +} + +//! calls either to @c WideToUTF8 or @c WideToChar depending on the encoding type +inline TString WideToChar(const wchar16* text, size_t len, ECharset enc) { + if (NCodepagePrivate::NativeCodepage(enc)) { + if (enc == CODES_UTF8) + return WideToUTF8(text, len); + + TString s = TString::Uninitialized(len); + s.remove(WideToChar(text, len, s.begin(), enc)); + + return s; + } + + TString s = TString::Uninitialized(len * 3); + + size_t read = 0; + size_t written = 0; + NICONVPrivate::RecodeFromUnicode(enc, text, s.begin(), len, s.size(), read, written); + s.remove(written); + + return s; +} + +inline TUtf16String CharToWide(const char* text, size_t len, const CodePage& cp) { + TUtf16String w = TUtf16String::Uninitialized(len); + CharToWide(text, len, w.begin(), cp); + return w; +} + +//! calls either to @c UTF8ToWide or @c CharToWide depending on the encoding type +template <bool robust> +inline TUtf16String CharToWide(const char* text, size_t len, ECharset enc) { + if (NCodepagePrivate::NativeCodepage(enc)) { + if (enc == CODES_UTF8) + return UTF8ToWide<robust>(text, len); + + return CharToWide(text, len, *CodePageByCharset(enc)); + } + + TUtf16String w = TUtf16String::Uninitialized(len * 2); + + size_t read = 0; + size_t written = 0; + NICONVPrivate::RecodeToUnicode(enc, text, w.begin(), len, len, read, written); + w.remove(written); + + return w; +} + +//! converts text from UTF8 to unicode, if conversion fails it uses codepage to convert the text +//! @param text text to be converted +//! @param len length of the text in characters +//! @param cp a codepage that is used in case of failed conversion from UTF8 +inline TUtf16String UTF8ToWide(const char* text, size_t len, const CodePage& cp) { + TUtf16String w = TUtf16String::Uninitialized(len); + size_t written = 0; + if (UTF8ToWide(text, len, w.begin(), written)) + w.remove(written); + else + CharToWide(text, len, w.begin(), cp); + return w; +} + +inline TString WideToChar(const TWtringBuf w, ECharset enc) { + return WideToChar(w.data(), w.size(), enc); +} + +inline TUtf16String CharToWide(const TStringBuf s, ECharset enc) { + return CharToWide<false>(s.data(), s.size(), enc); +} + +template <bool robust> +inline TUtf16String CharToWide(const TStringBuf s, ECharset enc) { + return CharToWide<robust>(s.data(), s.size(), enc); +} + +inline TUtf16String CharToWide(const TStringBuf s, const CodePage& cp) { + return CharToWide(s.data(), s.size(), cp); +} + +// true if @text can be fully encoded to specified @encoding, +// with possibility to recover exact original text after decoding +bool CanBeEncoded(TWtringBuf text, ECharset encoding); diff --git a/library/cpp/charset/wide_ut.cpp b/library/cpp/charset/wide_ut.cpp new file mode 100644 index 0000000000..78947d51ba --- /dev/null +++ b/library/cpp/charset/wide_ut.cpp @@ -0,0 +1,399 @@ +#include "wide.h" +#include "codepage.h" +#include "recyr.hh" + +#include <library/cpp/testing/unittest/registar.h> + +#include <util/charset/utf8.h> +#include <util/digest/numeric.h> +#include <util/generic/hash_set.h> + +#include <algorithm> + +namespace { + //! three UTF8 encoded russian letters (A, B, V) + const char yandexCyrillicAlphabet[] = + "\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF" // A - P + "\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF" // R - YA + "\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF" // a - p + "\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"; // r - ya + const wchar16 wideCyrillicAlphabet[] = { + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 0x00}; + const char utf8CyrillicAlphabet[] = + "\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x96\xd0\x97" + "\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f" + "\xd0\xa0\xd0\xa1\xd0\xa2\xd0\xa3\xd0\xa4\xd0\xa5\xd0\xa6\xd0\xa7" + "\xd0\xa8\xd0\xa9\xd0\xaa\xd0\xab\xd0\xac\xd0\xad\xd0\xae\xd0\xaf" + "\xd0\xb0\xd0\xb1\xd0\xb2\xd0\xb3\xd0\xb4\xd0\xb5\xd0\xb6\xd0\xb7" + "\xd0\xb8\xd0\xb9\xd0\xba\xd0\xbb\xd0\xbc\xd0\xbd\xd0\xbe\xd0\xbf" + "\xd1\x80\xd1\x81\xd1\x82\xd1\x83\xd1\x84\xd1\x85\xd1\x86\xd1\x87" + "\xd1\x88\xd1\x89\xd1\x8a\xd1\x8b\xd1\x8c\xd1\x8d\xd1\x8e\xd1\x8f"; + + TString CreateYandexText() { + const int len = 256; + char text[len] = {0}; + for (int i = 0; i < len; ++i) { + text[i] = static_cast<char>(i); + } + return TString(text, len); + } + + TUtf16String CreateUnicodeText() { + const int len = 256; + wchar16 text[len] = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x00 - 0x0F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x10 - 0x1F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x20 - 0x2F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x30 - 0x3F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x40 - 0x4F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x50 - 0x5F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x60 - 0x6F + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // 0x70 - 0x7F + + 0x0301, 0x00C4, 0x00D6, 0x00DC, 0x0104, 0x0106, 0x0118, 0x0141, 0x00E0, 0x00E2, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x0490, 0x00AD, // 0x80 - 0x8F + 0x00DF, 0x00E4, 0x00F6, 0x00FC, 0x0105, 0x0107, 0x0119, 0x0142, 0x00EB, 0x00EE, 0x00EF, 0x00F4, 0x00F9, 0x00FB, 0x0491, 0x92CF, // 0x90 - 0x9F + 0x00A0, 0x0143, 0x00D3, 0x015A, 0x017B, 0x0179, 0x046C, 0x00A7, 0x0401, 0x0462, 0x0472, 0x0474, 0x040E, 0x0406, 0x0404, 0x0407, // 0xA0 - 0xAF + 0x00B0, 0x0144, 0x00F3, 0x015B, 0x017C, 0x017A, 0x046D, 0x2116, 0x0451, 0x0463, 0x0473, 0x0475, 0x045E, 0x0456, 0x0454, 0x0457 // 0xB0 - 0xBF + }; + for (int i = 0; i < len; ++i) { + if (i <= 0x7F) { // ASCII characters without 0x7 and 0x1B + text[i] = static_cast<wchar16>(i); + } else if (i >= 0xC0 && i <= 0xFF) { // russian characters (without YO and yo) + text[i] = static_cast<wchar16>(i + 0x0350); // 0x0410 - 0x044F + } + } + return TUtf16String(text, len); + } + + TString CreateUTF8Text() { + char text[] = { + '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08', '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', + '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18', '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', + '\x20', '\x21', '\x22', '\x23', '\x24', '\x25', '\x26', '\x27', '\x28', '\x29', '\x2a', '\x2b', '\x2c', '\x2d', '\x2e', '\x2f', + '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', '\x38', '\x39', '\x3a', '\x3b', '\x3c', '\x3d', '\x3e', '\x3f', + '\x40', '\x41', '\x42', '\x43', '\x44', '\x45', '\x46', '\x47', '\x48', '\x49', '\x4a', '\x4b', '\x4c', '\x4d', '\x4e', '\x4f', + '\x50', '\x51', '\x52', '\x53', '\x54', '\x55', '\x56', '\x57', '\x58', '\x59', '\x5a', '\x5b', '\x5c', '\x5d', '\x5e', '\x5f', + '\x60', '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', '\x69', '\x6a', '\x6b', '\x6c', '\x6d', '\x6e', '\x6f', + '\x70', '\x71', '\x72', '\x73', '\x74', '\x75', '\x76', '\x77', '\x78', '\x79', '\x7a', '\x7b', '\x7c', '\x7d', '\x7e', '\x7f', + '\xcc', '\x81', '\xc3', '\x84', '\xc3', '\x96', '\xc3', '\x9c', '\xc4', '\x84', '\xc4', '\x86', '\xc4', '\x98', '\xc5', '\x81', + '\xc3', '\xa0', '\xc3', '\xa2', '\xc3', '\xa7', '\xc3', '\xa8', '\xc3', '\xa9', '\xc3', '\xaa', '\xd2', '\x90', '\xc2', '\xad', + '\xc3', '\x9f', '\xc3', '\xa4', '\xc3', '\xb6', '\xc3', '\xbc', '\xc4', '\x85', '\xc4', '\x87', '\xc4', '\x99', '\xc5', '\x82', + '\xc3', '\xab', '\xc3', '\xae', '\xc3', '\xaf', '\xc3', '\xb4', '\xc3', '\xb9', '\xc3', '\xbb', '\xd2', '\x91', '\xe9', '\x8b', + '\x8f', '\xc2', '\xa0', '\xc5', '\x83', '\xc3', '\x93', '\xc5', '\x9a', '\xc5', '\xbb', '\xc5', '\xb9', '\xd1', '\xac', '\xc2', + '\xa7', '\xd0', '\x81', '\xd1', '\xa2', '\xd1', '\xb2', '\xd1', '\xb4', '\xd0', '\x8e', '\xd0', '\x86', '\xd0', '\x84', '\xd0', + '\x87', '\xc2', '\xb0', '\xc5', '\x84', '\xc3', '\xb3', '\xc5', '\x9b', '\xc5', '\xbc', '\xc5', '\xba', '\xd1', '\xad', '\xe2', + '\x84', '\x96', '\xd1', '\x91', '\xd1', '\xa3', '\xd1', '\xb3', '\xd1', '\xb5', '\xd1', '\x9e', '\xd1', '\x96', '\xd1', '\x94', + '\xd1', '\x97', '\xd0', '\x90', '\xd0', '\x91', '\xd0', '\x92', '\xd0', '\x93', '\xd0', '\x94', '\xd0', '\x95', '\xd0', '\x96', + '\xd0', '\x97', '\xd0', '\x98', '\xd0', '\x99', '\xd0', '\x9a', '\xd0', '\x9b', '\xd0', '\x9c', '\xd0', '\x9d', '\xd0', '\x9e', + '\xd0', '\x9f', '\xd0', '\xa0', '\xd0', '\xa1', '\xd0', '\xa2', '\xd0', '\xa3', '\xd0', '\xa4', '\xd0', '\xa5', '\xd0', '\xa6', + '\xd0', '\xa7', '\xd0', '\xa8', '\xd0', '\xa9', '\xd0', '\xaa', '\xd0', '\xab', '\xd0', '\xac', '\xd0', '\xad', '\xd0', '\xae', + '\xd0', '\xaf', '\xd0', '\xb0', '\xd0', '\xb1', '\xd0', '\xb2', '\xd0', '\xb3', '\xd0', '\xb4', '\xd0', '\xb5', '\xd0', '\xb6', + '\xd0', '\xb7', '\xd0', '\xb8', '\xd0', '\xb9', '\xd0', '\xba', '\xd0', '\xbb', '\xd0', '\xbc', '\xd0', '\xbd', '\xd0', '\xbe', + '\xd0', '\xbf', '\xd1', '\x80', '\xd1', '\x81', '\xd1', '\x82', '\xd1', '\x83', '\xd1', '\x84', '\xd1', '\x85', '\xd1', '\x86', + '\xd1', '\x87', '\xd1', '\x88', '\xd1', '\x89', '\xd1', '\x8a', '\xd1', '\x8b', '\xd1', '\x8c', '\xd1', '\x8d', '\xd1', '\x8e', + '\xd1', '\x8f'}; + return TString(text, Y_ARRAY_SIZE(text)); + } + + //! use this function to dump UTF8 text into a file in case of any changes + // void DumpUTF8Text() { + // TString s = WideToUTF8(UnicodeText); + // std::ofstream f("utf8.txt"); + // f << std::hex; + // for (int i = 0; i < (int)s.size(); ++i) { + // f << "0x" << std::setw(2) << std::setfill('0') << (int)(ui8)s[i] << ", "; + // if ((i + 1) % 16 == 0) + // f << std::endl; + // } + // } + +} + +//! this unit tests ensure validity of Yandex-Unicode and UTF8-Unicode conversions +//! @note only those conversions are verified because they are used in index +class TConversionTest: public TTestBase { +private: + //! @note every of the text can have zeros in the middle + const TString YandexText; + const TUtf16String UnicodeText; + const TString UTF8Text; + +private: + UNIT_TEST_SUITE(TConversionTest); + UNIT_TEST(TestCharToWide); + UNIT_TEST(TestWideToChar); + UNIT_TEST(TestYandexEncoding); + UNIT_TEST(TestRecodeIntoString); + UNIT_TEST(TestRecodeAppend); + UNIT_TEST(TestRecode); + UNIT_TEST(TestUnicodeLimit); + UNIT_TEST_SUITE_END(); + +public: + TConversionTest() + : YandexText(CreateYandexText()) + , UnicodeText(CreateUnicodeText()) + , UTF8Text(CreateUTF8Text()) + { + } + + void TestCharToWide(); + void TestWideToChar(); + void TestYandexEncoding(); + void TestRecodeIntoString(); + void TestRecodeAppend(); + void TestRecode(); + void TestUnicodeLimit(); +}; + +UNIT_TEST_SUITE_REGISTRATION(TConversionTest); + +// test conversions (char -> wchar32), (wchar32 -> char) and (wchar32 -> wchar16) +#define TEST_WCHAR32(sbuf, wbuf, enc) \ + do { \ + /* convert char to wchar32 */ \ + TTempBuf tmpbuf1(sbuf.length() * sizeof(wchar32)); \ + const TBasicStringBuf<wchar32> s4buf = NDetail::NBaseOps::Recode<char>(sbuf, reinterpret_cast<wchar32*>(tmpbuf1.Data()), enc); \ + \ + /* convert wchar32 to char */ \ + TTempBuf tmpbuf2(s4buf.length() * 4); \ + const TStringBuf s1buf = NDetail::NBaseOps::Recode(s4buf, tmpbuf2.Data(), enc); \ + \ + /* convert wchar32 to wchar16 */ \ + const TUtf16String wstr2 = UTF32ToWide(s4buf.data(), s4buf.length()); \ + \ + /* test conversions */ \ + UNIT_ASSERT_VALUES_EQUAL(sbuf, s1buf); \ + UNIT_ASSERT_VALUES_EQUAL(wbuf, wstr2); \ + } while (false) + +void TConversionTest::TestCharToWide() { + TUtf16String w = CharToWide(YandexText, CODES_YANDEX); + + UNIT_ASSERT(w.size() == 256); + UNIT_ASSERT(w.size() == UnicodeText.size()); + + for (int i = 0; i < 256; ++i) { + UNIT_ASSERT_VALUES_EQUAL(w[i], UnicodeText[i]); + } +} + +void TConversionTest::TestWideToChar() { + TString s = WideToChar(UnicodeText, CODES_YANDEX); + + UNIT_ASSERT(s.size() == 256); + UNIT_ASSERT(s.size() == YandexText.size()); + + for (int i = 0; i < 256; ++i) { + UNIT_ASSERT_VALUES_EQUAL(s[i], YandexText[i]); + } +} + +static void TestSurrogates(const char* str, const wchar16* wide, size_t wideSize, ECharset enc) { + TUtf16String w = UTF8ToWide(str); + + UNIT_ASSERT(w.size() == wideSize); + UNIT_ASSERT(!memcmp(w.c_str(), wide, wideSize)); + + TString s = WideToChar(w, enc); + + UNIT_ASSERT(s == str); +} + +void TConversionTest::TestYandexEncoding() { + TUtf16String w = UTF8ToWide(utf8CyrillicAlphabet, strlen(utf8CyrillicAlphabet), csYandex); + UNIT_ASSERT(w == wideCyrillicAlphabet); + w = UTF8ToWide(yandexCyrillicAlphabet, strlen(yandexCyrillicAlphabet), csYandex); + UNIT_ASSERT(w == wideCyrillicAlphabet); + + const char* utf8NonBMP2 = "ab\xf4\x80\x89\x87n"; + wchar16 wNonBMPDummy2[] = {'a', 'b', 0xDBC0, 0xDE47, 'n'}; + TestSurrogates(utf8NonBMP2, wNonBMPDummy2, Y_ARRAY_SIZE(wNonBMPDummy2), CODES_UTF8); + + { + const char* yandexNonBMP2 = "ab?n"; + UNIT_ASSERT(yandexNonBMP2 == WideToChar(wNonBMPDummy2, Y_ARRAY_SIZE(wNonBMPDummy2), CODES_YANDEX)); + + TString temp; + temp.resize(Y_ARRAY_SIZE(wNonBMPDummy2)); + size_t read = 0; + size_t written = 0; + RecodeFromUnicode(CODES_YANDEX, wNonBMPDummy2, temp.begin(), Y_ARRAY_SIZE(wNonBMPDummy2), temp.size(), read, written); + temp.remove(written); + + UNIT_ASSERT(yandexNonBMP2 == temp); + } +} + +void TConversionTest::TestRecodeIntoString() { + TString sYandex(UnicodeText.size() * 4, 'x'); + const char* sdata = sYandex.data(); + TStringBuf sres = NDetail::Recode<wchar16>(UnicodeText, sYandex, CODES_YANDEX); + UNIT_ASSERT(sYandex == YandexText); // same content + UNIT_ASSERT(sYandex.data() == sdata); // reserved buffer reused + UNIT_ASSERT(sYandex.data() == sres.data()); // same buffer + UNIT_ASSERT(sYandex.size() == sres.size()); // same size + TEST_WCHAR32(sYandex, UnicodeText, CODES_YANDEX); + + TUtf16String sUnicode; + sUnicode.reserve(YandexText.size() * 4); + const wchar16* wdata = sUnicode.data(); + TWtringBuf wres = NDetail::Recode<char>(YandexText, sUnicode, CODES_YANDEX); + UNIT_ASSERT(sUnicode == UnicodeText); // same content + UNIT_ASSERT(sUnicode.data() == wdata); // reserved buffer reused + UNIT_ASSERT(sUnicode.data() == wres.data()); // same buffer + UNIT_ASSERT(sUnicode.size() == wres.size()); // same size + + TString sUtf8 = " "; + size_t scap = sUtf8.capacity(); + sres = NDetail::Recode<wchar16>(UnicodeText, sUtf8, CODES_UTF8); + UNIT_ASSERT(sUtf8 == UTF8Text); // same content + UNIT_ASSERT(sUtf8.capacity() > scap); // increased buffer capacity (supplied was too small) + UNIT_ASSERT(sUtf8.data() == sres.data()); // same buffer + UNIT_ASSERT(sUtf8.size() == sres.size()); // same size + TEST_WCHAR32(sUtf8, UnicodeText, CODES_UTF8); + + sUnicode.clear(); + wdata = sUnicode.data(); + TUtf16String copy = sUnicode; // increase ref-counter + wres = NDetail::Recode<char>(UTF8Text, sUnicode, CODES_UTF8); + UNIT_ASSERT(sUnicode == UnicodeText); // same content +#ifndef TSTRING_IS_STD_STRING + UNIT_ASSERT(sUnicode.data() != wdata); // re-allocated (shared buffer supplied) + UNIT_ASSERT(sUnicode.data() == wres.data()); // same buffer +#endif + UNIT_ASSERT(sUnicode.size() == wres.size()); // same content +} + +static TString GenerateJunk(size_t seed) { + TString res; + size_t hash = NumericHash(seed); + size_t size = hash % 1024; + res.reserve(size); + for (size_t i = 0; i < size; ++i) + res += static_cast<char>(NumericHash(hash + i) % 256); + return res; +} + +void TConversionTest::TestRecodeAppend() { + { + TString s1, s2; + NDetail::RecodeAppend<wchar16>(TUtf16String(), s1, CODES_YANDEX); + UNIT_ASSERT(s1.empty()); + + NDetail::RecodeAppend<wchar16>(UnicodeText, s1, CODES_WIN); + s2 += WideToChar(UnicodeText, CODES_WIN); + UNIT_ASSERT_EQUAL(s1, s2); + + NDetail::RecodeAppend<wchar16>(UnicodeText, s1, CODES_YANDEX); + s2 += WideToChar(UnicodeText, CODES_YANDEX); + UNIT_ASSERT_EQUAL(s1, s2); + + NDetail::RecodeAppend<wchar16>(TUtf16String(), s1, CODES_YANDEX); + UNIT_ASSERT_EQUAL(s1, s2); + + NDetail::RecodeAppend<wchar16>(UnicodeText, s1, CODES_UTF8); + s2 += WideToUTF8(UnicodeText); + UNIT_ASSERT_EQUAL(s1, s2); + + for (size_t i = 0; i < 100; ++i) { + TUtf16String junk = CharToWide(GenerateJunk(i), CODES_YANDEX); + NDetail::RecodeAppend<wchar16>(junk, s1, CODES_UTF8); + s2 += WideToUTF8(junk); + UNIT_ASSERT_EQUAL(s1, s2); + } + } + + { + TUtf16String s1, s2; + NDetail::RecodeAppend<char>(TString(), s1, CODES_YANDEX); + UNIT_ASSERT(s1.empty()); + + NDetail::RecodeAppend<char>(YandexText, s1, CODES_WIN); + s2 += CharToWide(YandexText, CODES_WIN); + UNIT_ASSERT_EQUAL(s1, s2); + + NDetail::RecodeAppend<char>(YandexText, s1, CODES_YANDEX); + s2 += CharToWide(YandexText, CODES_YANDEX); + UNIT_ASSERT_EQUAL(s1, s2); + + NDetail::RecodeAppend<char>(TString(), s1, CODES_YANDEX); + UNIT_ASSERT_EQUAL(s1, s2); + + NDetail::RecodeAppend<char>(UTF8Text, s1, CODES_UTF8); + s2 += UTF8ToWide(UTF8Text); + UNIT_ASSERT_EQUAL(s1, s2); + + for (size_t i = 0; i < 100; ++i) { + TString junk = GenerateJunk(i); + NDetail::RecodeAppend<char>(junk, s1, CODES_YANDEX); + s2 += CharToWide(junk, CODES_YANDEX); + UNIT_ASSERT_EQUAL(s1, s2); + } + } +} + +template <> +void Out<RECODE_RESULT>(IOutputStream& out, RECODE_RESULT val) { + out << int(val); +} + +void TConversionTest::TestRecode() { + for (int c = 0; c != CODES_MAX; ++c) { + ECharset enc = static_cast<ECharset>(c); + if (!SingleByteCodepage(enc)) + continue; + + using THash = THashSet<char>; + THash hash; + + for (int i = 0; i != 256; ++i) { + char ch = static_cast<char>(i); + + wchar32 wch; + size_t read = 0; + size_t written = 0; + RECODE_RESULT res = RECODE_ERROR; + + res = RecodeToUnicode(enc, &ch, &wch, 1, 1, read, written); + UNIT_ASSERT(res == RECODE_OK); + if (wch == BROKEN_RUNE) + continue; + + char rch = 0; + res = RecodeFromUnicode(enc, &wch, &rch, 1, 1, read, written); + UNIT_ASSERT(res == RECODE_OK); + + char rch2 = 0; + UNIT_ASSERT_VALUES_EQUAL(RECODE_OK, RecodeFromUnicode(enc, wch, &rch2, 1, written)); + UNIT_ASSERT_VALUES_EQUAL(size_t(1), written); + UNIT_ASSERT_VALUES_EQUAL(rch2, rch); + + if (hash.contains(rch)) { // there are some stupid encodings with duplicate characters + continue; + } else { + hash.insert(rch); + } + + UNIT_ASSERT(ch == rch); + } + } +} + +void TConversionTest::TestUnicodeLimit() { + for (int i = 0; i != CODES_MAX; ++i) { + ECharset code = static_cast<ECharset>(i); + if (!SingleByteCodepage(code)) + continue; + + const CodePage* page = CodePageByCharset(code); + Y_ASSERT(page); + + for (int c = 0; c < 256; ++c) { + UNIT_ASSERT(page->unicode[c] < 1 << 16); + } + } +} diff --git a/library/cpp/charset/ya.make b/library/cpp/charset/ya.make new file mode 100644 index 0000000000..7565566bf0 --- /dev/null +++ b/library/cpp/charset/ya.make @@ -0,0 +1,22 @@ +LIBRARY() + +OWNER(alzobnin) + +SRCS( + generated/cp_data.cpp + generated/encrec_data.cpp + codepage.cpp + cp_encrec.cpp + doccodes.cpp + iconv.cpp + recyr.hh + recyr_int.hh + ci_string.cpp + wide.cpp +) + +PEERDIR( + contrib/libs/libiconv +) + +END() |