normalize-cjk
Version:
[](https://npm.im/normalize-cjk) [](#License) [](https://bundle
8 lines (7 loc) • 18.9 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../src/index.ts", "../src/chinese.ts", "../src/japanese.ts", "../src/korean.ts", "../src/all.ts"],
"sourcesContent": ["export * from './chinese';\nexport * from './japanese';\nexport * from './korean';\nexport * from './all';\n", "/**\n * Normalize chinese characters\n *\n * @See https://ctext.org/faq/normalization\n */\nexport const normalizeChinese = (input: string): string => {\n let converted = '';\n for (const ch of input) {\n converted += CONVERSION_TABLE.get(ch) ?? ch;\n }\n return converted;\n};\n\n// Conversion data listed on https://ctext.org/faq/normalization\nconst CONVERSION_TABLE: Map<string, string> = new Map([\n // assumed to be sorted\n ['\u2027', '\u00B7'],\n ['\u2E8B', '\u353E'],\n ['\u2E96', '\u5FC4'],\n ['\u2E98', '\u624C'],\n ['\u2E9E', '\u6B7A'],\n ['\u2EA1', '\u6C35'],\n ['\u2EA3', '\u706C'],\n ['\u2EA4', '\u722B'],\n ['\u2EA8', '\u72AD'],\n ['\u2EA9', '\uD852\uDCE9'],\n ['\u2EAB', '\u7F52'],\n ['\u2EAD', '\u793B'],\n ['\u2EAE', '\uD856\uDED7'],\n ['\u2EAF', '\u7CF9'],\n ['\u2EB0', '\u7E9F'],\n ['\u2EB2', '\u7F52'],\n ['\u2EB4', '\u2EB3'],\n ['\u2EB7', '\uD858\uDF4C'],\n ['\u2EBC', '\u6708'],\n ['\u2EBE', '\u8279'],\n ['\u2EC2', '\u8864'],\n ['\u2EC3', '\u8980'],\n ['\u2EC8', '\u8BA0'],\n ['\u2ECA', '\uD85F\uDFB7'],\n ['\u2ECC', '\u8FB6'],\n ['\u2ECF', '\u961D'],\n ['\u2ED1', '\u9577'],\n ['\u2ED2', '\u9578'],\n ['\u2ED4', '\u95E8'],\n ['\u2ED6', '\u961D'],\n ['\u2ED7', '\u96E8'],\n ['\u2F07', '\u4EA0'],\n ['\u2F0C', '\u5182'],\n ['\u2F0D', '\u5196'],\n ['\u2F0E', '\u51AB'],\n ['\u2F13', '\u52F9'],\n ['\u2F14', '\u5315'],\n ['\u2F1B', '\u53B6'],\n ['\u2F27', '\u5B80'],\n ['\u2F2E', '\u5DDB'],\n ['\u2F39', '\u5F50'],\n ['\u2F3A', '\u5F61'],\n ['\u2F41', '\u6534'],\n ['\u2F67', '\u7592'],\n ['\u2F85', '\u81FC'],\n ['\u2F86', '\u820C'],\n ['\u2F8C', '\u864D'],\n ['\u2FA3', '\u9149'],\n ['\u3038', '\u5341'],\n ['\u30E0', '\u53B6'],\n ['\u39B3', '\u363D'],\n ['\u439B', '\u3588'],\n ['\u5185', '\u5167'],\n ['\u5451', '\u541E'],\n ['\u5C19', '\u5C1A'],\n ['\u5C80', '\u51FA'],\n ['\u657B', '\u5910'],\n ['\u7232', '\u70BA'],\n ['\u8008', '\u8007'],\n ['\u853F', '\u848D'],\n ['\u8AAC', '\u8AAA'],\n ['\u98EE', '\u98F2'],\n ['\u9FBA', '\uD842\uDD9D'],\n ['\uF900', '\u8C48'],\n ['\uF901', '\u66F4'],\n ['\uF902', '\u8ECA'],\n ['\uF903', '\u8CC8'],\n ['\uF904', '\u6ED1'],\n ['\uF905', '\u4E32'],\n ['\uF906', '\u53E5'],\n ['\uF907', '\u9F9C'],\n ['\uF908', '\u9F9C'],\n ['\uF909', '\u5951'],\n ['\uF90A', '\u91D1'],\n ['\uF90B', '\u5587'],\n ['\uF90C', '\u5948'],\n ['\uF90D', '\u61F6'],\n ['\uF90E', '\u7669'],\n ['\uF90F', '\u7F85'],\n ['\uF910', '\u863F'],\n ['\uF911', '\u87BA'],\n ['\uF912', '\u88F8'],\n ['\uF913', '\u908F'],\n ['\uF914', '\u6A02'],\n ['\uF915', '\u6D1B'],\n ['\uF916', '\u70D9'],\n ['\uF917', '\u73DE'],\n ['\uF918', '\u843D'],\n ['\uF919', '\u916A'],\n ['\uF91A', '\u99F1'],\n ['\uF91B', '\u4E82'],\n ['\uF91C', '\u5375'],\n ['\uF91D', '\u6B04'],\n ['\uF91E', '\u721B'],\n ['\uF91F', '\u862D'],\n ['\uF920', '\u9E1E'],\n ['\uF921', '\u5D50'],\n ['\uF922', '\u6FEB'],\n ['\uF923', '\u85CD'],\n ['\uF924', '\u8964'],\n ['\uF925', '\u62C9'],\n ['\uF926', '\u81D8'],\n ['\uF927', '\u881F'],\n ['\uF928', '\u5ECA'],\n ['\uF929', '\u6717'],\n ['\uF92A', '\u6D6A'],\n ['\uF92B', '\u72FC'],\n ['\uF92C', '\u90CE'],\n ['\uF92D', '\u4F86'],\n ['\uF92E', '\u51B7'],\n ['\uF92F', '\u52DE'],\n ['\uF930', '\u64C4'],\n ['\uF931', '\u6AD3'],\n ['\uF932', '\u7210'],\n ['\uF933', '\u76E7'],\n ['\uF934', '\u8001'],\n ['\uF935', '\u8606'],\n ['\uF936', '\u865C'],\n ['\uF937', '\u8DEF'],\n ['\uF938', '\u9732'],\n ['\uF939', '\u9B6F'],\n ['\uF93A', '\u9DFA'],\n ['\uF93B', '\u788C'],\n ['\uF93C', '\u797F'],\n ['\uF93D', '\u7DA0'],\n ['\uF93E', '\u83C9'],\n ['\uF93F', '\u9304'],\n ['\uF940', '\u9E7F'],\n ['\uF941', '\u8AD6'],\n ['\uF942', '\u58DF'],\n ['\uF943', '\u5F04'],\n ['\uF944', '\u7C60'],\n ['\uF945', '\u807E'],\n ['\uF946', '\u7262'],\n ['\uF947', '\u78CA'],\n ['\uF948', '\u8CC2'],\n ['\uF949', '\u96F7'],\n ['\uF94A', '\u58D8'],\n ['\uF94B', '\u5C62'],\n ['\uF94C', '\u6A13'],\n ['\uF94D', '\u6DDA'],\n ['\uF94E', '\u6F0F'],\n ['\uF94F', '\u7D2F'],\n ['\uF950', '\u7E37'],\n ['\uF951', '\u964B'],\n ['\uF952', '\u52D2'],\n ['\uF953', '\u808B'],\n ['\uF954', '\u51DC'],\n ['\uF955', '\u51CC'],\n ['\uF956', '\u7A1C'],\n ['\uF957', '\u7DBE'],\n ['\uF958', '\u83F1'],\n ['\uF959', '\u9675'],\n ['\uF95A', '\u8B80'],\n ['\uF95B', '\u62CF'],\n ['\uF95C', '\u6A02'],\n ['\uF95D', '\u8AFE'],\n ['\uF95E', '\u4E39'],\n ['\uF95F', '\u5BE7'],\n ['\uF960', '\u6012'],\n ['\uF961', '\u7387'],\n ['\uF962', '\u7570'],\n ['\uF963', '\u5317'],\n ['\uF964', '\u78FB'],\n ['\uF965', '\u4FBF'],\n ['\uF966', '\u5FA9'],\n ['\uF967', '\u4E0D'],\n ['\uF968', '\u6CCC'],\n ['\uF969', '\u6578'],\n ['\uF96A', '\u7D22'],\n ['\uF96B', '\u53C3'],\n ['\uF96C', '\u585E'],\n ['\uF96D', '\u7701'],\n ['\uF96E', '\u8449'],\n ['\uF970', '\u6BBA'],\n ['\uF971', '\u8FB0'],\n ['\uF972', '\u6C88'],\n ['\uF973', '\u62FE'],\n ['\uF974', '\u82E5'],\n ['\uF975', '\u63A0'],\n ['\uF976', '\u7565'],\n ['\uF977', '\u4EAE'],\n ['\uF978', '\u5169'],\n ['\uF979', '\u51C9'],\n ['\uF97A', '\u6881'],\n ['\uF97B', '\u7CE7'],\n ['\uF97C', '\u826F'],\n ['\uF97D', '\u8AD2'],\n ['\uF97E', '\u91CF'],\n ['\uF97F', '\u52F5'],\n ['\uF980', '\u5442'],\n ['\uF981', '\u5973'],\n ['\uF982', '\u5EEC'],\n ['\uF983', '\u65C5'],\n ['\uF984', '\u6FFE'],\n ['\uF985', '\u792A'],\n ['\uF986', '\u95AD'],\n ['\uF987', '\u9A6A'],\n ['\uF988', '\u9E97'],\n ['\uF989', '\u9ECE'],\n ['\uF98A', '\u529B'],\n ['\uF98B', '\u66C6'],\n ['\uF98C', '\u6B77'],\n ['\uF98D', '\u8F62'],\n ['\uF98E', '\u5E74'],\n ['\uF98F', '\u6190'],\n ['\uF990', '\u6200'],\n ['\uF991', '\u649A'],\n ['\uF992', '\u6F23'],\n ['\uF993', '\u7149'],\n ['\uF994', '\u7489'],\n ['\uF995', '\u79CA'],\n ['\uF996', '\u7DF4'],\n ['\uF997', '\u806F'],\n ['\uF998', '\u8F26'],\n ['\uF999', '\u84EE'],\n ['\uF99A', '\u9023'],\n ['\uF99B', '\u934A'],\n ['\uF99C', '\u5217'],\n ['\uF99D', '\u52A3'],\n ['\uF99E', '\u54BD'],\n ['\uF99F', '\u70C8'],\n ['\uF9A0', '\u88C2'],\n ['\uF9A1', '\u8AAA'],\n ['\uF9A2', '\u5EC9'],\n ['\uF9A3', '\u5FF5'],\n ['\uF9A4', '\u637B'],\n ['\uF9A5', '\u6BAE'],\n ['\uF9A6', '\u7C3E'],\n ['\uF9A7', '\u7375'],\n ['\uF9A8', '\u4EE4'],\n ['\uF9A9', '\u56F9'],\n ['\uF9AA', '\u5BE7'],\n ['\uF9AB', '\u5DBA'],\n ['\uF9AC', '\u601C'],\n ['\uF9AD', '\u73B2'],\n ['\uF9AE', '\u7469'],\n ['\uF9AF', '\u7F9A'],\n ['\uF9B0', '\u8046'],\n ['\uF9B1', '\u9234'],\n ['\uF9B2', '\u96F6'],\n ['\uF9B3', '\u9748'],\n ['\uF9B4', '\u9818'],\n ['\uF9B5', '\u4F8B'],\n ['\uF9B6', '\u79AE'],\n ['\uF9B7', '\u91B4'],\n ['\uF9B8', '\u96B8'],\n ['\uF9B9', '\u60E1'],\n ['\uF9BA', '\u4E86'],\n ['\uF9BB', '\u50DA'],\n ['\uF9BC', '\u5BEE'],\n ['\uF9BD', '\u5C3F'],\n ['\uF9BE', '\u6599'],\n ['\uF9BF', '\u6A02'],\n ['\uF9C0', '\u71CE'],\n ['\uF9C1', '\u7642'],\n ['\uF9C2', '\u84FC'],\n ['\uF9C3', '\u907C'],\n ['\uF9C4', '\u9F8D'],\n ['\uF9C5', '\u6688'],\n ['\uF9C6', '\u962E'],\n ['\uF9C7', '\u5289'],\n ['\uF9C8', '\u677B'],\n ['\uF9C9', '\u67F3'],\n ['\uF9CA', '\u6D41'],\n ['\uF9CB', '\u6E9C'],\n ['\uF9CC', '\u7409'],\n ['\uF9CD', '\u7559'],\n ['\uF9CE', '\u786B'],\n ['\uF9CF', '\u7D10'],\n ['\uF9D0', '\u985E'],\n ['\uF9D1', '\u516D'],\n ['\uF9D2', '\u622E'],\n ['\uF9D3', '\u9678'],\n ['\uF9D4', '\u502B'],\n ['\uF9D5', '\u5D19'],\n ['\uF9D6', '\u6DEA'],\n ['\uF9D7', '\u8F2A'],\n ['\uF9D8', '\u5F8B'],\n ['\uF9D9', '\u6144'],\n ['\uF9DA', '\u6817'],\n ['\uF9DB', '\u7387'],\n ['\uF9DC', '\u9686'],\n ['\uF9DD', '\u5229'],\n ['\uF9DE', '\u540F'],\n ['\uF9DF', '\u5C65'],\n ['\uF9E0', '\u6613'],\n ['\uF9E1', '\u674E'],\n ['\uF9E2', '\u68A8'],\n ['\uF9E3', '\u6CE5'],\n ['\uF9E4', '\u7406'],\n ['\uF9E5', '\u75E2'],\n ['\uF9E6', '\u7F79'],\n ['\uF9E7', '\u88CF'],\n ['\uF9E8', '\u88E1'],\n ['\uF9E9', '\u91CC'],\n ['\uF9EA', '\u96E2'],\n ['\uF9EB', '\u533F'],\n ['\uF9EC', '\u6EBA'],\n ['\uF9ED', '\u541D'],\n ['\uF9EE', '\u71D0'],\n ['\uF9EF', '\u7498'],\n ['\uF9F0', '\u85FA'],\n ['\uF9F1', '\u96A3'],\n ['\uF9F2', '\u9C57'],\n ['\uF9F3', '\u9E9F'],\n ['\uF9F4', '\u6797'],\n ['\uF9F5', '\u6DCB'],\n ['\uF9F6', '\u81E8'],\n ['\uF9F7', '\u7ACB'],\n ['\uF9F8', '\u7B20'],\n ['\uF9F9', '\u7C92'],\n ['\uF9FA', '\u72C0'],\n ['\uF9FB', '\u7099'],\n ['\uF9FC', '\u8B58'],\n ['\uF9FD', '\u4EC0'],\n ['\uF9FE', '\u8336'],\n ['\uF9FF', '\u523A'],\n ['\uFA00', '\u5207'],\n ['\uFA01', '\u5EA6'],\n ['\uFA02', '\u62D3'],\n ['\uFA03', '\u7CD6'],\n ['\uFA04', '\u5B85'],\n ['\uFA05', '\u6D1E'],\n ['\uFA06', '\u66B4'],\n ['\uFA07', '\u8F3B'],\n ['\uFA08', '\u884C'],\n ['\uFA09', '\u964D'],\n ['\uFA0A', '\u898B'],\n ['\uFA0B', '\u5ED3'],\n ['\uFA0C', '\u5140'],\n ['\uFA0D', '\u55C0'],\n ['\uFA10', '\u585A'],\n ['\uFA12', '\u6674'],\n ['\uFA15', '\u51DE'],\n ['\uFA16', '\u732A'],\n ['\uFA17', '\u76CA'],\n ['\uFA18', '\u793C'],\n ['\uFA19', '\u795E'],\n ['\uFA1A', '\u7965'],\n ['\uFA1B', '\u798F'],\n ['\uFA1C', '\u9756'],\n ['\uFA1D', '\u7CBE'],\n ['\uFA1E', '\u7FBD'],\n ['\uFA22', '\u8AF8'],\n ['\uFA25', '\u9038'],\n ['\uFA26', '\u90FD'],\n ['\uFA2A', '\u98EF'],\n ['\uFA2B', '\u98FC'],\n ['\uFA2C', '\u9928'],\n ['\uFA2D', '\u9DB4'],\n ['\uFA30', '\u4FAE'],\n ['\uFA3A', '\u58A8'],\n ['\uFA3D', '\u6094'],\n ['\uFA44', '\u6885'],\n ['\uFA4B', '\u7891'],\n ['\uFA5C', '\u81ED'],\n ['\uFA66', '\u8FB6'],\n ['\uFA8D', '\u63C4'],\n ['\uFA91', '\u6674'],\n ['\uFA9C', '\u716E'],\n ['\uFAAB', '\u78CC'],\n ['\uFAAD', '\u7BC0'],\n ['\uFACD', '\u9B12'],\n ['\uFE30', '\uFF1A'],\n ['\uFE50', '\uFF0C'],\n ['\uFE51', '\u3001'],\n ['\uFE54', '\uFF1B'],\n ['\uFE55', '\uFF1A'],\n ['\uFE56', '\uFF1F'],\n ['\uFE57', '\uFF01'],\n ['\uD841\uDC57', '\u34A8'],\n ['\uD84D\uDD15', '\uD841\uDCF2'],\n ['\uD850\uDE0E', '\u3DB7'],\n ['\uD851\uDC55', '\u720B'],\n ['\uD852\uDDE9', '\uD852\uDDBC'],\n ['\uD85C\uDD44', '\u8641'],\n ['\uD85E\uDD59', '\uD84C\uDC40'],\n ['\uD87E\uDC22', '\u5272'],\n ['\uD87E\uDC4F', '\u5674'],\n ['\uD87E\uDC52', '\u57CE'],\n ['\uD87E\uDC54', '\u580D'],\n ['\uD87E\uDD03', '\u6D69'],\n ['\uD87E\uDD06', '\uD84F\uDD1E'],\n ['\uD87E\uDD51', '\u40E3'],\n ['\uD87E\uDD64', '\u4227'],\n ['\uD87E\uDD7B', '\uD859\uDCDA'],\n ['\uD87E\uDD93', '\u82B1'],\n ['\uD87E\uDD9F', '\u8457'],\n ['\uD87E\uDDA2', '\u83CC'],\n ['\uD87E\uDDCB', '\u4695'],\n ['\uD87E\uDDFA', '\u97E0'],\n ['\uD87E\uDE05', '\u99A7'],\n ['\uD87E\uDE0E', '\u4CED'],\n ['\uD87E\uDE12', '\uD868\uDD05'],\n]);\n", "/**\n * Normalize Katakana characters\n * \n * Replace all half-width kana with full-width form\n */\nexport const normalizeKatakana = (input: string): string => {\n return input\n .replace(\n /[\\uff60-\\uff9f]+/g,\n substr => substr.normalize('NFKC'),\n );\n};\n\n/**\n * Normalize Japanese characters (Katakana)\n *\n * Hiragana doesn't seem to need normalization. But it can be added eventually.\n *\n * Credits to [Yusuke Nemoto](https://github.com/kaakaa)\n * @See https://twitter.com/kaakaa_hoe_prog/status/1415149003293954060\n */\nexport const normalizeJapanese = normalizeKatakana;\n", "/**\n * Normalize Hangul (Hangeul, Korean alphabet) characters to NFKC(Normalization Form Compatibility Composition)\n */\nexport const normalizeHangul = (input: string): string => {\n // Credits to [@Pusnow](https://github.com/Pusnow)\n // for providing an useful [explanation](https://gist.github.com/Pusnow/aa865fa21f9557fa58d691a8b79f8a6d)\n return input.replace(\n // Range to normalize\n // - Hangul Jamo: 1100 ~ 11FF\n // - Hangul Compatibility Jamo: 3130 ~ 318F\n // - Enclosed CJK Letters and Months - Hangul: 3200 ~ 321E, 3260 ~ 327F\n // - Halfwidth and Fullwidth Forms - Halfwidth Hangul variants: FFA0 ~ FFDC\n // - Halfwidth and Fullwidth Forms - FULLWIDTH WON SIGN: FFE6\n /[\\u1100-\\u11ff\\u3130-\\u318f\\u3200-\\u321e\\u3260-\\u327f\\uffa0-\\uffdc\\uffe6]+/g,\n substr => substr.normalize('NFKC'),\n );\n};\n\nexport const normalizeKorean = normalizeHangul;\n", "import { normalizeChinese } from './chinese';\nimport { normalizeJapanese } from './japanese';\nimport { normalizeKorean } from './korean';\n\nexport const normalize = (input: string): string => {\n return normalizeChinese(normalizeJapanese(normalizeKorean(input)));\n};\n"],
"mappings": "qIAAA,gJCKO,GAAM,GAAmB,AAAC,GAA0B,CACzD,GAAI,GAAY,GAChB,OAAW,KAAM,GACf,GAAa,EAAiB,IAAI,IAAO,EAE3C,MAAO,IAIH,EAAwC,GAAI,KAAI,CAEpD,CAAC,SAAK,QACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,aACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,aACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,aACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,aACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,aACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,SAAK,UACN,CAAC,YAAM,UACP,CAAC,YAAM,aACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,aACP,CAAC,YAAM,UACP,CAAC,YAAM,aACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,aACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,aACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,UACP,CAAC,YAAM,eCrZF,GAAM,GAAoB,AAAC,GACzB,EACJ,QACC,oBACA,GAAU,EAAO,UAAU,SAYpB,EAAoB,EClB1B,GAAM,GAAkB,AAAC,GAGvB,EAAM,QAOX,8EACA,GAAU,EAAO,UAAU,SAIlB,EAAkB,ECdxB,GAAM,GAAY,AAAC,GACjB,EAAiB,EAAkB,EAAgB",
"names": []
}