From a78e16644f0e684f59c1c07ada51a091976f5750 Mon Sep 17 00:00:00 2001
From: Silent YANG <yang@vicicode.com>
Date: Wed, 31 Jan 2024 22:42:19 +0800
Subject: [PATCH] update

---
 src/App.vue                                   |   8 +-
 src/components/navbar/index.vue               |  21 +-
 src/drivers/losehu118.json                    |   5 +
 src/drivers/losehu118h.json                   |   6 +
 src/drivers/losehu118k.json                   |   6 +
 src/drivers/lts.json                          |   5 +
 src/drivers/ltsk.json                         |   6 +
 src/drivers/silenty4ng.json                   |   3 -
 src/drivers/silenty4ngk.json                  |   3 -
 src/drivers/todo.json                         |   2 +-
 src/utils/serial.js                           | 309 ++++++++++++------
 .../dashboard/workplace/components/banner.vue |  13 +-
 src/views/guide/f117/index.vue                |   4 +-
 src/views/list/card/index.vue                 |   8 +-
 src/views/list/chi/index.vue                  |  18 +-
 src/views/list/flash/index.vue                |   5 +-
 src/views/list/image/index.vue                |  14 +-
 src/views/list/search-table/index.vue         |  12 +-
 18 files changed, 315 insertions(+), 133 deletions(-)
 create mode 100644 src/drivers/losehu118.json
 create mode 100644 src/drivers/losehu118h.json
 create mode 100644 src/drivers/losehu118k.json
 create mode 100644 src/drivers/lts.json
 create mode 100644 src/drivers/ltsk.json
 delete mode 100644 src/drivers/silenty4ng.json
 delete mode 100644 src/drivers/silenty4ngk.json

diff --git a/src/App.vue b/src/App.vue
index 3b9c521..8e5fb4d 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -11,7 +11,13 @@
   import GlobalSetting from '@/components/global-setting/index.vue';
   import useLocale from '@/hooks/locale';
   import Aegis from 'aegis-web-sdk';
-  
+  import { encodingIndexes } from "@zxing/text-encoding/es2015/encoding-indexes";
+  import { TextEncoder, TextDecoder } from "@zxing/text-encoding";
+
+  window.TextEncodingIndexes = { encodingIndexes: encodingIndexes };
+  window.TextEncoder = TextEncoder;
+  window.TextDecoder = TextDecoder;
+
   // 遥测
   if(location.hostname == 'k5.vicicode.com'){
     const aegis = new Aegis({
diff --git a/src/components/navbar/index.vue b/src/components/navbar/index.vue
index d0b5dd9..c367100 100644
--- a/src/components/navbar/index.vue
+++ b/src/components/navbar/index.vue
@@ -131,10 +131,12 @@
   const toggleDrawerMenu = inject('toggleDrawerMenu') as () => void;
 
   const configuration_list : any = {
-    "LOSEHU.*P.*K" : "silenty4ngk.json",
-    "LOSEHU.*P.*" : "silenty4ng.json",
-    "LOSEHU.*K"   : "todo.json",
-    "LOSEHU.*"    : "todo.json" 
+    "LOSEHU.*P.*K"       : "ltsk.json",
+    "LOSEHU.*P.*"        : "lts.json",
+    "LOSEHU11[8-9].*H"   : "losehu118h.json",
+    "LOSEHU11[8-9].*K"   : "losehu118k.json",
+    "LOSEHU11[8-9].*"    : "losehu118.json",
+    ".*"                 : "todo.json"
   }
 
   const connectIt = async () => {
@@ -157,14 +159,23 @@
       let _configuration = null;
       
       const version = await eeprom_init(_connect);
+      const config = {
+        "name": "TODO",
+        "uart": "official",
+        "charset": "official",
+        "K": false,
+        "H": false
+      }
+
       Object.keys(configuration_list).some(e=>{
         const _re = new RegExp(e);
         if(_re.test(version)){
-          _configuration = driversList[configuration_list[e]];
+          _configuration = Object.assign(config, driversList[configuration_list[e]]);
           return true
         }
       })
 
+      console.log(_configuration);
       appStore.updateSettings({ connectState: true, connectPort: _connect, firmwareVersion: version, configuration: _configuration });
     }else{
       disconnect(appStore.connectPort);
diff --git a/src/drivers/losehu118.json b/src/drivers/losehu118.json
new file mode 100644
index 0000000..f3ce180
--- /dev/null
+++ b/src/drivers/losehu118.json
@@ -0,0 +1,5 @@
+{
+    "name": "LoseHu 118 +",
+    "uart": "official",
+    "charset": "official"
+}
\ No newline at end of file
diff --git a/src/drivers/losehu118h.json b/src/drivers/losehu118h.json
new file mode 100644
index 0000000..950d810
--- /dev/null
+++ b/src/drivers/losehu118h.json
@@ -0,0 +1,6 @@
+{
+    "name": "LoseHu 118 + 2Mbit 扩容版",
+    "uart": "losehu",
+    "charset": "gb2312",
+    "H": true
+}
\ No newline at end of file
diff --git a/src/drivers/losehu118k.json b/src/drivers/losehu118k.json
new file mode 100644
index 0000000..4e39234
--- /dev/null
+++ b/src/drivers/losehu118k.json
@@ -0,0 +1,6 @@
+{
+    "name": "LoseHu 118 + 扩容版",
+    "uart": "losehu",
+    "charset": "gb2312",
+    "K": true
+}
\ No newline at end of file
diff --git a/src/drivers/lts.json b/src/drivers/lts.json
new file mode 100644
index 0000000..bf41ce0
--- /dev/null
+++ b/src/drivers/lts.json
@@ -0,0 +1,5 @@
+{
+    "name": "LoseHu Patch LTS(BD8DFN)",
+    "uart": "official",
+    "charset": "official"
+}
\ No newline at end of file
diff --git a/src/drivers/ltsk.json b/src/drivers/ltsk.json
new file mode 100644
index 0000000..e422466
--- /dev/null
+++ b/src/drivers/ltsk.json
@@ -0,0 +1,6 @@
+{
+    "name": "LoseHu Patch LTS(BD8DFN)扩容版",
+    "uart": "losehu",
+    "charset": "losehu",
+    "K": true
+}
\ No newline at end of file
diff --git a/src/drivers/silenty4ng.json b/src/drivers/silenty4ng.json
deleted file mode 100644
index 041d24f..0000000
--- a/src/drivers/silenty4ng.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "name": "LoseHu Patch(BD8DFN)"
-}
\ No newline at end of file
diff --git a/src/drivers/silenty4ngk.json b/src/drivers/silenty4ngk.json
deleted file mode 100644
index 980615b..0000000
--- a/src/drivers/silenty4ngk.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "name": "LoseHu Patch(BD8DFN)扩容版"
-}
\ No newline at end of file
diff --git a/src/drivers/todo.json b/src/drivers/todo.json
index 8f77b34..ce26c90 100644
--- a/src/drivers/todo.json
+++ b/src/drivers/todo.json
@@ -1,3 +1,3 @@
 {
-    "name": "TODO"
+    "name": "Official"
 }
\ No newline at end of file
diff --git a/src/utils/serial.js b/src/utils/serial.js
index 50fb14b..2ddc37c 100644
--- a/src/utils/serial.js
+++ b/src/utils/serial.js
@@ -24,7 +24,8 @@ const FONT_MAPPING_117 = {
         221: '末', 222: '未', 223: '示', 224: '击', 225: '邗', 226: '戋', 227: '打', 228: '巧', 229: '正', 230: '扑',
         231: '卉', 232: '扒', 233: '邛', 234: '功', 235: '扔', 236: '去', 237: '甘', 238: '世', 239: '艾', 240: '艽',
         241: '古', 242: '节', 243: '艿', 244: '本', 245: '术', 246: '札', 247: '可', 248: '叵', 249: '匝', 250: '丙',
-        251: '左', 252: '厉', 253: '丕', 254: '石', 255: '右'},
+        251: '左', 252: '厉', 253: '丕', 254: '石', 255: '右'
+    },
     129: {
         1: '布', 2: '夯', 3: '龙', 4: '戊', 5: '平', 6: '灭', 7: '轧', 8: '东', 9: '匜', 10: '劢', 11: '卡', 12: '北',
         13: '占', 14: '凸', 15: '卢', 16: '业', 17: '旧', 18: '帅', 19: '归', 20: '目', 21: '旦', 22: '且', 23: '叮',
@@ -50,7 +51,8 @@ const FONT_MAPPING_117 = {
         221: '臣', 222: '吏', 223: '再', 224: '协', 225: '西', 226: '压', 227: '厌', 228: '厍', 229: '戌', 230: '在',
         231: '百', 232: '有', 233: '存', 234: '而', 235: '页', 236: '匠', 237: '夸', 238: '夺', 239: '夼', 240: '灰',
         241: '达', 242: '戍', 243: '尥', 244: '列', 245: '死', 246: '成', 247: '夹', 248: '夷', 249: '轨', 250: '邪',
-        251: '尧', 252: '划', 253: '迈', 254: '毕', 255: '至'},
+        251: '尧', 252: '划', 253: '迈', 254: '毕', 255: '至'
+    },
     130: {
         1: '此', 2: '乩', 3: '贞', 4: '师', 5: '尘', 6: '尖', 7: '劣', 8: '光', 9: '当', 10: '吁', 11: '早', 12: '吐',
         13: '吓', 14: '旯', 15: '曳', 16: '虫', 17: '曲', 18: '团', 19: '同', 20: '吕', 21: '吊', 22: '吃', 23: '因',
@@ -76,7 +78,8 @@ const FONT_MAPPING_117 = {
         221: '收', 222: '阪', 223: '阶', 224: '阴', 225: '防', 226: '丞', 227: '奸', 228: '如', 229: '妁', 230: '妇',
         231: '妃', 232: '好', 233: '她', 234: '妈', 235: '戏', 236: '羽', 237: '观', 238: '牟', 239: '欢', 240: '买',
         241: '纡', 242: '红', 243: '纣', 244: '驮', 245: '纤', 246: '纥', 247: '驯', 248: '纨', 249: '约', 250: '级',
-        251: '纩', 252: '纪', 253: '驰', 254: '纫', 255: '巡'},
+        251: '纩', 252: '纪', 253: '驰', 254: '纫', 255: '巡'
+    },
     131: {
         1: '寿', 2: '玕', 3: '弄', 4: '玙', 5: '麦', 6: '玖', 7: '玚', 8: '玛', 9: '形', 10: '进', 11: '戒', 12: '吞',
         13: '远', 14: '违', 15: '韧', 16: '运', 17: '扶', 18: '抚', 19: '坛', 20: '抟', 21: '技', 22: '坏', 23: '抔',
@@ -102,7 +105,8 @@ const FONT_MAPPING_117 = {
         221: '吼', 222: '邑', 223: '吧', 224: '囤', 225: '别', 226: '吮', 227: '岍', 228: '帏', 229: '岐', 230: '岖',
         231: '岈', 232: '岗', 233: '岘', 234: '帐', 235: '岑', 236: '岚', 237: '兕', 238: '财', 239: '囵', 240: '囫',
         241: '钉', 242: '针', 243: '钊', 244: '钋', 245: '钌', 246: '迕', 247: '氙', 248: '氚', 249: '牡', 250: '告',
-        251: '我', 252: '乱', 253: '利', 254: '秃', 255: '秀'},
+        251: '我', 252: '乱', 253: '利', 254: '秃', 255: '秀'
+    },
     132: {
         1: '私', 2: '岙', 3: '每', 4: '佞', 5: '兵', 6: '邱', 7: '估', 8: '体', 9: '何', 10: '佐', 11: '伾', 12: '佑',
         13: '攸', 14: '但', 15: '伸', 16: '佃', 17: '佚', 18: '作', 19: '伯', 20: '伶', 21: '佣', 22: '低', 23: '你',
@@ -128,7 +132,8 @@ const FONT_MAPPING_117 = {
         221: '层', 222: '屁', 223: '屃', 224: '尿', 225: '尾', 226: '迟', 227: '局', 228: '改', 229: '张', 230: '忌',
         231: '际', 232: '陆', 233: '阿', 234: '孜', 235: '陇', 236: '陈', 237: '阽', 238: '阻', 239: '阼', 240: '附',
         241: '坠', 242: '陀', 243: '陂', 244: '陉', 245: '妍', 246: '妩', 247: '妓', 248: '妪', 249: '妣', 250: '妙',
-        251: '妊', 252: '妖', 253: '妗', 254: '姊', 255: '妨'},
+        251: '妊', 252: '妖', 253: '妗', 254: '姊', 255: '妨'
+    },
     133: {
         1: '妫', 2: '妒', 3: '妞', 4: '姒', 5: '妤', 6: '努', 7: '邵', 8: '劭', 9: '忍', 10: '刭', 11: '劲', 12: '甬',
         13: '邰', 14: '矣', 15: '鸡', 16: '纬', 17: '纭', 18: '驱', 19: '纯', 20: '纰', 21: '纱', 22: '纲', 23: '纳',
@@ -154,7 +159,8 @@ const FONT_MAPPING_117 = {
         221: '郏', 222: '妻', 223: '轰', 224: '顷', 225: '转', 226: '轭', 227: '斩', 228: '轮', 229: '软', 230: '到',
         231: '郅', 232: '鸢', 233: '非', 234: '叔', 235: '歧', 236: '肯', 237: '齿', 238: '些', 239: '卓', 240: '虎',
         241: '虏', 242: '肾', 243: '贤', 244: '尚', 245: '盱', 246: '旺', 247: '具', 248: '昊', 249: '昙', 250: '果',
-        251: '味', 252: '杲', 253: '昃', 254: '昆', 255: '国'},
+        251: '味', 252: '杲', 253: '昃', 254: '昆', 255: '国'
+    },
     134: {
         1: '哎', 2: '咕', 3: '昌', 4: '呵', 5: '咂', 6: '畅', 7: '呸', 8: '昕', 9: '明', 10: '易', 11: '咙', 12: '昀',
         13: '昂', 14: '旻', 15: '昉', 16: '炅', 17: '咔', 18: '畀', 19: '虮', 20: '迪', 21: '典', 22: '固', 23: '忠',
@@ -180,7 +186,8 @@ const FONT_MAPPING_117 = {
         221: '饯', 222: '饰', 223: '饱', 224: '饲', 225: '饳', 226: '饴', 227: '冽', 228: '变', 229: '京', 230: '享',
         231: '冼', 232: '庞', 233: '店', 234: '夜', 235: '庙', 236: '府', 237: '底', 238: '庖', 239: '疟', 240: '疠',
         241: '疝', 242: '疙', 243: '疚', 244: '疡', 245: '剂', 246: '卒', 247: '郊', 248: '兖', 249: '庚', 250: '废',
-        251: '净', 252: '妾', 253: '盲', 254: '放', 255: '於'},
+        251: '净', 252: '妾', 253: '盲', 254: '放', 255: '於'
+    },
     135: {
         1: '刻', 2: '劾', 3: '育', 4: '氓', 5: '闸', 6: '闹', 7: '郑', 8: '券', 9: '卷', 10: '单', 11: '炜', 12: '炬',
         13: '炖', 14: '炒', 15: '炝', 16: '炊', 17: '炕', 18: '炎', 19: '炉', 20: '炔', 21: '沫', 22: '浅', 23: '法',
@@ -206,7 +213,8 @@ const FONT_MAPPING_117 = {
         221: '春', 222: '帮', 223: '珏', 224: '珐', 225: '珂', 226: '珑', 227: '玷', 228: '玳', 229: '珀', 230: '顸',
         231: '珍', 232: '玲', 233: '珊', 234: '珉', 235: '珈', 236: '玻', 237: '毒', 238: '型', 239: '韨', 240: '拭',
         241: '挂', 242: '封', 243: '持', 244: '拮', 245: '拷', 246: '拱', 247: '垭', 248: '挝', 249: '垣', 250: '项',
-        251: '垮', 252: '挎', 253: '垯', 254: '挞', 255: '城'},
+        251: '垮', 252: '挎', 253: '垯', 254: '挞', 255: '城'
+    },
     136: {
         1: '挟', 2: '挠', 3: '垤', 4: '政', 5: '赴', 6: '赵', 7: '赳', 8: '贲', 9: '垱', 10: '挡', 11: '拽', 12: '垌',
         13: '哉', 14: '垲', 15: '挺', 16: '括', 17: '挢', 18: '埏', 19: '郝', 20: '垍', 21: '垧', 22: '垢', 23: '拴',
@@ -232,7 +240,8 @@ const FONT_MAPPING_117 = {
         221: '盼', 222: '眨', 223: '昽', 224: '眈', 225: '哇', 226: '咭', 227: '哄', 228: '哑', 229: '显', 230: '冒',
         231: '映', 232: '禺', 233: '哂', 234: '星', 235: '昨', 236: '咴', 237: '曷', 238: '昴', 239: '咧', 240: '昱',
         241: '昵', 242: '咦', 243: '哓', 244: '昭', 245: '哔', 246: '畎', 247: '畏', 248: '毗', 249: '趴', 250: '呲',
-        251: '胄', 252: '胃', 253: '贵', 254: '畋', 255: '畈'},
+        251: '胄', 252: '胃', 253: '贵', 254: '畋', 255: '畈'
+    },
     137: {
         1: '界', 2: '虹', 3: '虾', 4: '虼', 5: '虻', 6: '蚁', 7: '思', 8: '蚂', 9: '盅', 10: '咣', 11: '虽', 12: '品',
         13: '咽', 14: '骂', 15: '哕', 16: '剐', 17: '郧', 18: '勋', 19: '咻', 20: '哗', 21: '囿', 22: '咱', 23: '咿',
@@ -258,7 +267,8 @@ const FONT_MAPPING_117 = {
         221: '饹', 222: '饺', 223: '饻', 224: '胤', 225: '饼', 226: '峦', 227: '弯', 228: '孪', 229: '娈', 230: '将',
         231: '奖', 232: '哀', 233: '亭', 234: '亮', 235: '庤', 236: '度', 237: '弈', 238: '奕', 239: '迹', 240: '庭',
         241: '庥', 242: '疬', 243: '疣', 244: '疥', 245: '疭', 246: '疮', 247: '疯', 248: '疫', 249: '疢', 250: '疤',
-        251: '庠', 252: '咨', 253: '姿', 254: '亲', 255: '竑'},
+        251: '庠', 252: '咨', 253: '姿', 254: '亲', 255: '竑'
+    },
     138: {
         1: '音', 2: '彦', 3: '飒', 4: '帝', 5: '施', 6: '闺', 7: '闻', 8: '闼', 9: '闽', 10: '闾', 11: '闿', 12: '阀',
         13: '阁', 14: '阂', 15: '差', 16: '养', 17: '美', 18: '羑', 19: '姜', 20: '迸', 21: '叛', 22: '送', 23: '类',
@@ -284,7 +294,8 @@ const FONT_MAPPING_117 = {
         221: '骄', 222: '骅', 223: '绗', 224: '绘', 225: '给', 226: '绚', 227: '彖', 228: '绛', 229: '络', 230: '骆',
         231: '绝', 232: '绞', 233: '骇', 234: '统', 235: '骈', 236: '耕', 237: '耘', 238: '耖', 239: '耗', 240: '耙',
         241: '艳', 242: '挈', 243: '恝', 244: '泰', 245: '秦', 246: '珥', 247: '珙', 248: '顼', 249: '珰', 250: '珠',
-        251: '珽', 252: '珩', 253: '珧', 254: '珣', 255: '珞'},
+        251: '珽', 252: '珩', 253: '珧', 254: '珣', 255: '珞'
+    },
     139: {
         1: '琤', 2: '班', 3: '珲', 4: '敖', 5: '素', 6: '匿', 7: '蚕', 8: '顽', 9: '盏', 10: '匪', 11: '恚', 12: '捞',
         13: '栽', 14: '捕', 15: '埔', 16: '埂', 17: '捂', 18: '振', 19: '载', 20: '赶', 21: '起', 22: '盐', 23: '捎',
@@ -310,7 +321,8 @@ const FONT_MAPPING_117 = {
         221: '哳', 222: '哮', 223: '唠', 224: '鸭', 225: '晃', 226: '哺', 227: '哽', 228: '唔', 229: '晔', 230: '晌',
         231: '晁', 232: '剔', 233: '晏', 234: '晖', 235: '晕', 236: '鸮', 237: '趵', 238: '趿', 239: '畛', 240: '蚌',
         241: '蚨', 242: '蚜', 243: '蚍', 244: '蚋', 245: '蚬', 246: '畔', 247: '蚝', 248: '蚧', 249: '蚣', 250: '蚊',
-        251: '蚪', 252: '蚓', 253: '哨', 254: '唢', 255: '哩'},
+        251: '蚪', 252: '蚓', 253: '哨', 254: '唢', 255: '哩'
+    },
     140: {
         1: '圃', 2: '哭', 3: '圄', 4: '哦', 5: '唣', 6: '唏', 7: '恩', 8: '盎', 9: '唑', 10: '鸯', 11: '唤', 12: '唁',
         13: '哼', 14: '唧', 15: '啊', 16: '唉', 17: '唆', 18: '帱', 19: '崂', 20: '崃', 21: '罡', 22: '罢', 23: '罟',
@@ -336,7 +348,8 @@ const FONT_MAPPING_117 = {
         221: '馁', 222: '凌', 223: '凇', 224: '凄', 225: '栾', 226: '挛', 227: '恋', 228: '桨', 229: '浆', 230: '衰',
         231: '勍', 232: '衷', 233: '高', 234: '亳', 235: '郭', 236: '席', 237: '准', 238: '座', 239: '脊', 240: '症',
         241: '疳', 242: '疴', 243: '病', 244: '疽', 245: '疸', 246: '疾', 247: '痄', 248: '斋', 249: '疹', 250: '痈',
-        251: '疼', 252: '疱', 253: '疰', 254: '痃', 255: '痂'},
+        251: '疼', 252: '疱', 253: '疰', 254: '痃', 255: '痂'
+    },
     141: {
         1: '疲', 2: '痉', 3: '效', 4: '离', 5: '衮', 6: '紊', 7: '唐', 8: '凋', 9: '颃', 10: '瓷', 11: '资', 12: '恣',
         13: '凉', 14: '站', 15: '剖', 16: '竞', 17: '部', 18: '旁', 19: '旆', 20: '旄', 21: '旅', 22: '旃', 23: '畜',
@@ -362,7 +375,8 @@ const FONT_MAPPING_117 = {
         221: '验', 222: '绤', 223: '绥', 224: '绦', 225: '骍', 226: '继', 227: '绨', 228: '骎', 229: '骏', 230: '邕',
         231: '鸶', 232: '彗', 233: '耜', 234: '焘', 235: '舂', 236: '琎', 237: '球', 238: '琏', 239: '琐', 240: '理',
         241: '琇', 242: '麸', 243: '琉', 244: '琅', 245: '捧', 246: '掭', 247: '堵', 248: '揶', 249: '措', 250: '描',
-        251: '埴', 252: '域', 253: '捺', 254: '掎', 255: '埼'},
+        251: '埴', 252: '域', 253: '捺', 254: '掎', 255: '埼'
+    },
     142: {
         1: '掩', 2: '埯', 3: '捷', 4: '捯', 5: '排', 6: '焉', 7: '掉', 8: '掳', 9: '掴', 10: '埸', 11: '堌', 12: '捶',
         13: '赦', 14: '赧', 15: '推', 16: '堆', 17: '捭', 18: '埠', 19: '晢', 20: '掀', 21: '逵', 22: '授', 23: '捻',
@@ -388,7 +402,8 @@ const FONT_MAPPING_117 = {
         221: '晚', 222: '冕', 223: '啄', 224: '啭', 225: '啡', 226: '畦', 227: '趼', 228: '趺', 229: '距', 230: '趾',
         231: '啃', 232: '跃', 233: '啮', 234: '跄', 235: '略', 236: '蚶', 237: '蛄', 238: '蛎', 239: '蛆', 240: '蚰',
         241: '蚺', 242: '蛊', 243: '圉', 244: '蚱', 245: '蚯', 246: '蛉', 247: '蛀', 248: '蛇', 249: '蛏', 250: '蚴',
-        251: '唬', 252: '累', 253: '鄂', 254: '唱', 255: '患'},
+        251: '唬', 252: '累', 253: '鄂', 254: '唱', 255: '患'
+    },
     143: {
         1: '啰', 2: '唾', 3: '唯', 4: '啤', 5: '啥', 6: '啁', 7: '啕', 8: '唿', 9: '啐', 10: '唼', 11: '唷', 12: '啴',
         13: '啖', 14: '啵', 15: '啶', 16: '啷', 17: '唳', 18: '啸', 19: '啜', 20: '帻', 21: '崖', 22: '崎', 23: '崦',
@@ -414,7 +429,8 @@ const FONT_MAPPING_117 = {
         221: '廊', 222: '康', 223: '庸', 224: '鹿', 225: '盗', 226: '章', 227: '竟', 228: '翊', 229: '商', 230: '旌',
         231: '族', 232: '旎', 233: '旋', 234: '望', 235: '袤', 236: '率', 237: '阇', 238: '阈', 239: '阉', 240: '阊',
         241: '阋', 242: '阌', 243: '阍', 244: '阎', 245: '阏', 246: '阐', 247: '着', 248: '羚', 249: '羝', 250: '羟',
-        251: '盖', 252: '眷', 253: '粝', 254: '粘', 255: '粗'},
+        251: '盖', 252: '眷', 253: '粝', 254: '粘', 255: '粗'
+    },
     144: {
         1: '粕', 2: '粒', 3: '断', 4: '剪', 5: '兽', 6: '焐', 7: '焊', 8: '烯', 9: '焓', 10: '焕', 11: '烽', 12: '焖',
         13: '烷', 14: '烺', 15: '焌', 16: '清', 17: '渍', 18: '添', 19: '渚', 20: '鸿', 21: '淇', 22: '淋', 23: '淅',
@@ -440,7 +456,8 @@ const FONT_MAPPING_117 = {
         221: '堞', 222: '搽', 223: '塔', 224: '搭', 225: '塃', 226: '揸', 227: '堰', 228: '揠', 229: '堙', 230: '揩',
         231: '越', 232: '趄', 233: '趁', 234: '趋', 235: '超', 236: '揽', 237: '提', 238: '堤', 239: '揖', 240: '博',
         241: '揾', 242: '颉', 243: '揭', 244: '喜', 245: '彭', 246: '揣', 247: '塄', 248: '揿', 249: '插', 250: '揪',
-        251: '搜', 252: '煮', 253: '堠', 254: '耋', 255: '揄'},
+        251: '搜', 252: '煮', 253: '堠', 254: '耋', 255: '揄'
+    },
     145: {
         1: '援', 2: '搀', 3: '蛰', 4: '蛩', 5: '絷', 6: '塆', 7: '裁', 8: '揞', 9: '搁', 10: '搓', 11: '搂', 12: '搅',
         13: '揎', 14: '壹', 15: '握', 16: '摒', 17: '揆', 18: '搔', 19: '揉', 20: '掾', 21: '葜', 22: '聒', 23: '斯',
@@ -466,7 +483,8 @@ const FONT_MAPPING_117 = {
         221: '喉', 222: '喻', 223: '喑', 224: '啼', 225: '嗟', 226: '喽', 227: '嗞', 228: '喧', 229: '喀', 230: '喔',
         231: '喙', 232: '嵌', 233: '嵘', 234: '嵖', 235: '幅', 236: '崴', 237: '遄', 238: '詈', 239: '帽', 240: '嵎',
         241: '崽', 242: '嵚', 243: '嵬', 244: '嵛', 245: '翙', 246: '嵯', 247: '嵝', 248: '嵫', 249: '幄', 250: '嵋',
-        251: '赋', 252: '赌', 253: '赎', 254: '赐', 255: '赑'},
+        251: '赋', 252: '赌', 253: '赎', 254: '赐', 255: '赑'
+    },
     146: {
         1: '赔', 2: '黑', 3: '铸', 4: '铹', 5: '铺', 6: '铻', 7: '铼', 8: '铽', 9: '链', 10: '铿', 11: '销', 12: '锁',
         13: '锃', 14: '锄', 15: '锂', 16: '锅', 17: '锆', 18: '锇', 19: '锈', 20: '锉', 21: '锊', 22: '锋', 23: '锌',
@@ -492,7 +510,8 @@ const FONT_MAPPING_117 = {
         221: '湨', 222: '湜', 223: '渺', 224: '湿', 225: '温', 226: '渴', 227: '渭', 228: '溃', 229: '湍', 230: '溅',
         231: '滑', 232: '湃', 233: '湫', 234: '溲', 235: '湟', 236: '溆', 237: '渝', 238: '湲', 239: '湾', 240: '渡',
         241: '游', 242: '溠', 243: '溇', 244: '湔', 245: '滋', 246: '湉', 247: '渲', 248: '溉', 249: '渥', 250: '湄',
-        251: '滁', 252: '愤', 253: '慌', 254: '惰', 255: '愠'},
+        251: '滁', 252: '愤', 253: '慌', 254: '惰', 255: '愠'
+    },
     147: {
         1: '惺', 2: '愦', 3: '愕', 4: '惴', 5: '愣', 6: '愀', 7: '愎', 8: '惶', 9: '愧', 10: '愉', 11: '愔', 12: '慨',
         13: '喾', 14: '割', 15: '寒', 16: '富', 17: '寓', 18: '窜', 19: '窝', 20: '窖', 21: '窗', 22: '窘', 23: '寐',
@@ -518,7 +537,8 @@ const FONT_MAPPING_117 = {
         221: '楯', 222: '榆', 223: '榇', 224: '榈', 225: '槎', 226: '楼', 227: '榉', 228: '楦', 229: '概', 230: '楣',
         231: '楹', 232: '椽', 233: '裘', 234: '赖', 235: '剽', 236: '甄', 237: '酮', 238: '酰', 239: '酯', 240: '酪',
         241: '酩', 242: '酬', 243: '蜃', 244: '感', 245: '碛', 246: '碍', 247: '碘', 248: '碓', 249: '碑', 250: '硼',
-        251: '碉', 252: '碎', 253: '碚', 254: '碰', 255: '碇'},
+        251: '碉', 252: '碎', 253: '碚', 254: '碰', 255: '碇'
+    },
     148: {
         1: '碗', 2: '碌', 3: '碜', 4: '鹌', 5: '尴', 6: '雷', 7: '零', 8: '雾', 9: '雹', 10: '辏', 11: '辐', 12: '辑',
         13: '辒', 14: '输', 15: '督', 16: '频', 17: '龃', 18: '龄', 19: '龅', 20: '龆', 21: '觜', 22: '訾', 23: '粲',
@@ -544,7 +564,8 @@ const FONT_MAPPING_117 = {
         221: '鲋', 222: '鲌', 223: '鲍', 224: '鲏', 225: '鲐', 226: '肄', 227: '猿', 228: '颖', 229: '鹐', 230: '飔',
         231: '飕', 232: '觥', 233: '触', 234: '解', 235: '遛', 236: '煞', 237: '雏', 238: '馌', 239: '馍', 240: '馏',
         241: '馐', 242: '酱', 243: '鹑', 244: '禀', 245: '亶', 246: '廒', 247: '瘃', 248: '痱', 249: '痹', 250: '痼',
-        251: '廓', 252: '痴', 253: '痿', 254: '瘐', 255: '瘁'},
+        251: '廓', 252: '痴', 253: '痿', 254: '瘐', 255: '瘁'
+    },
     149: {
         1: '瘅', 2: '痰', 3: '瘆', 4: '廉', 5: '鄘', 6: '麂', 7: '裔', 8: '靖', 9: '新', 10: '鄣', 11: '歆', 12: '韵',
         13: '意', 14: '旒', 15: '雍', 16: '阖', 17: '阗', 18: '阘', 19: '阙', 20: '羧', 21: '豢', 22: '誊', 23: '粳',
@@ -570,7 +591,8 @@ const FONT_MAPPING_117 = {
         221: '嘏', 222: '蓼', 223: '榛', 224: '榧', 225: '模', 226: '槚', 227: '槛', 228: '榻', 229: '榫', 230: '槜',
         231: '榭', 232: '槔', 233: '榴', 234: '槁', 235: '榜', 236: '槟', 237: '榨', 238: '榕', 239: '槠', 240: '榷',
         241: '榍', 242: '歌', 243: '遭', 244: '僰', 245: '酵', 246: '酽', 247: '酾', 248: '酲', 249: '酷', 250: '酶',
-        251: '酴', 252: '酹', 253: '酿', 254: '酸', 255: '厮'},
+        251: '酴', 252: '酹', 253: '酿', 254: '酸', 255: '厮'
+    },
     150: {
         1: '碶', 2: '碡', 3: '碟', 4: '碴', 5: '碱', 6: '碣', 7: '碳', 8: '碲', 9: '磋', 10: '磁', 11: '碹', 12: '碥',
         13: '愿', 14: '劂', 15: '臧', 16: '豨', 17: '殡', 18: '需', 19: '霆', 20: '霁', 21: '辕', 22: '辖', 23: '辗',
@@ -596,7 +618,8 @@ const FONT_MAPPING_117 = {
         221: '漕', 222: '漱', 223: '漂', 224: '滹', 225: '漫', 226: '漯', 227: '漶', 228: '潋', 229: '潴', 230: '漪',
         231: '漉', 232: '漳', 233: '滴', 234: '漩', 235: '漾', 236: '演', 237: '澉', 238: '漏', 239: '潍', 240: '慢',
         241: '慷', 242: '慵', 243: '寨', 244: '赛', 245: '搴', 246: '寡', 247: '窬', 248: '窨', 249: '窭', 250: '察',
-        251: '蜜', 252: '寤', 253: '寥', 254: '谭', 255: '肇'},
+        251: '蜜', 252: '寤', 253: '寥', 254: '谭', 255: '肇'
+    },
     151: {
         1: '綮', 2: '谮', 3: '褡', 4: '褙', 5: '褐', 6: '褓', 7: '褛', 8: '褊', 9: '褪', 10: '禚', 11: '谯', 12: '谰',
         13: '谱', 14: '谲', 15: '暨', 16: '屣', 17: '鹛', 18: '隧', 19: '嫣', 20: '嫱', 21: '嫩', 22: '嫖', 23: '嫦',
@@ -622,7 +645,8 @@ const FONT_MAPPING_117 = {
         221: '镊', 222: '镆', 223: '镇', 224: '镈', 225: '镉', 226: '镋', 227: '镌', 228: '镍', 229: '镎', 230: '镏',
         231: '镐', 232: '镑', 233: '镒', 234: '镓', 235: '镔', 236: '靠', 237: '稽', 238: '稷', 239: '稻', 240: '黎',
         241: '稿', 242: '稼', 243: '箱', 244: '箴', 245: '篑', 246: '篁', 247: '篌', 248: '篓', 249: '箭', 250: '篇',
-        251: '篆', 252: '僵', 253: '牖', 254: '儇', 255: '儋'},
+        251: '篆', 252: '僵', 253: '牖', 254: '儇', 255: '儋'
+    },
     152: {
         1: '躺', 2: '僻', 3: '德', 4: '徵', 5: '艘', 6: '磐', 7: '虢', 8: '鹞', 9: '鹟', 10: '膝', 11: '膘', 12: '膛',
         13: '滕', 14: '鲠', 15: '鲡', 16: '鲢', 17: '鲣', 18: '鲥', 19: '鲤', 20: '鲦', 21: '鲧', 22: '鲩', 23: '鲪',
@@ -648,7 +672,8 @@ const FONT_MAPPING_117 = {
         221: '暾', 222: '曈', 223: '蹀', 224: '蹅', 225: '踶', 226: '踹', 227: '踵', 228: '踽', 229: '嘴', 230: '踱',
         231: '蹄', 232: '蹉', 233: '蹁', 234: '蹂', 235: '螨', 236: '蟒', 237: '蟆', 238: '螈', 239: '螅', 240: '螭',
         241: '螗', 242: '螃', 243: '螠', 244: '螟', 245: '噱', 246: '器', 247: '噪', 248: '噬', 249: '噫', 250: '噻',
-        251: '噼', 252: '幪', 253: '罹', 254: '圜', 255: '鹦'},
+        251: '噼', 252: '幪', 253: '罹', 254: '圜', 255: '鹦'
+    },
     153: {
         1: '赠', 2: '默', 3: '黔', 4: '镖', 5: '镗', 6: '镘', 7: '镚', 8: '镛', 9: '镜', 10: '镝', 11: '镞', 12: '镠',
         13: '氇', 14: '氆', 15: '赞', 16: '憩', 17: '穑', 18: '穆', 19: '穄', 20: '篝', 21: '篚', 22: '篥', 23: '篮',
@@ -674,7 +699,8 @@ const FONT_MAPPING_117 = {
         221: '黝', 222: '髁', 223: '髀', 224: '镡', 225: '镢', 226: '镣', 227: '镤', 228: '镥', 229: '镦', 230: '镧',
         231: '镨', 232: '镩', 233: '镪', 234: '镫', 235: '罅', 236: '穗', 237: '黏', 238: '魏', 239: '簧', 240: '簌',
         241: '篾', 242: '簃', 243: '篼', 244: '簏', 245: '簇', 246: '簖', 247: '簋', 248: '繁', 249: '鼢', 250: '黛',
-        251: '儡', 252: '鹪', 253: '鼾', 254: '皤', 255: '魍'},
+        251: '儡', 252: '鹪', 253: '鼾', 254: '皤', 255: '魍'
+    },
     154: {
         1: '徽', 2: '艚', 3: '龠', 4: '爵', 5: '繇', 6: '貘', 7: '邈', 8: '貔', 9: '臌', 10: '朦', 11: '臊', 12: '膻',
         13: '臁', 14: '臆', 15: '臃', 16: '鲼', 17: '鲽', 18: '鲾', 19: '鳀', 20: '鳁', 21: '鳂', 22: '鳃', 23: '鳄',
@@ -700,7 +726,8 @@ const FONT_MAPPING_117 = {
         221: '鳗', 222: '鳙', 223: '鳚', 224: '蟹', 225: '颤', 226: '靡', 227: '癣', 228: '麒', 229: '鏖', 230: '瓣',
         231: '蠃', 232: '羸', 233: '羹', 234: '爆', 235: '瀚', 236: '瀣', 237: '瀛', 238: '襦', 239: '谶', 240: '襞',
         241: '疆', 242: '骥', 243: '缵', 244: '瓒', 245: '鬓', 246: '壤', 247: '攘', 248: '馨', 249: '蘩', 250: '蘖',
-        251: '蘘', 252: '醵', 253: '醴', 254: '霰', 255: '颥'},
+        251: '蘘', 252: '醵', 253: '醴', 254: '霰', 255: '颥'
+    },
     155: {
         1: '酆', 2: '耀', 3: '矍', 4: '曦', 5: '躁', 6: '躅', 7: '蠕', 8: '鼍', 9: '嚼', 10: '嚷', 11: '巍', 12: '巉',
         13: '黩', 14: '黥', 15: '镳', 16: '镴', 17: '黧', 18: '籍', 19: '纂', 20: '鼯', 21: '犨', 22: '臜', 23: '鳜',
@@ -712,10 +739,12 @@ const FONT_MAPPING_117 = {
         79: '镵', 80: '镶', 81: '穰', 82: '鳤', 83: '瓤', 84: '饔', 85: '鬻', 86: '鬟', 87: '趱', 88: '攫', 89: '攥',
         90: '颧', 91: '躜', 92: '罐', 93: '鼹', 94: '鼷', 95: '癯', 96: '麟', 97: '蠲', 98: '矗', 99: '蠹', 100: '醾',
         101: '躞', 102: '衢', 103: '鑫', 104: '灞', 105: '襻', 106: '纛', 107: '鬣', 108: '攮', 109: '囔', 110: '馕',
-        111: '戆', 112: '蠼', 113: '爨', 114: '齉'}
+        111: '戆', 112: '蠼', 113: '爨', 114: '齉'
+    }
 }
 
-const FONT_MAPPING_117_MAP = Object.keys(FONT_MAPPING_117).map(x=>FONT_MAPPING_117[x]).map(y=>{return Object.keys(y).map(z=>y[z]).join("")}).join("")
+const FONT_MAPPING_117_MAP = Object.keys(FONT_MAPPING_117).map(x => FONT_MAPPING_117[x]).map(y => { return Object.keys(y).map(z => y[z]).join("") }).join("")
+const FONT_MAPPING_118_MAP = ['啊', '阿', '埃', '挨', '哎', '唉', '哀', '皑', '癌', '蔼', '矮', '艾', '碍', '爱', '隘', '鞍', '氨', '安', '俺', '按', '暗', '岸', '胺', '案', '肮', '昂', '盎', '凹', '敖', '熬', '翱', '袄', '傲', '奥', '懊', '澳', '芭', '捌', '扒', '叭', '吧', '笆', '八', '疤', '巴', '拔', '跋', '靶', '把', '耙', '坝', '霸', '罢', '爸', '白', '柏', '百', '摆', '佰', '败', '拜', '稗', '斑', '班', '搬', '扳', '般', '颁', '板', '版', '扮', '拌', '伴', '瓣', '半', '办', '绊', '邦', '帮', '梆', '榜', '膀', '绑', '棒', '磅', '蚌', '镑', '傍', '谤', '苞', '胞', '包', '褒', '剥', '薄', '雹', '保', '堡', '饱', '宝', '抱', '报', '暴', '豹', '鲍', '爆', '杯', '碑', '悲', '卑', '北', '辈', '背', '贝', '钡', '倍', '狈', '备', '惫', '焙', '被', '奔', '苯', '本', '笨', '崩', '绷', '甭', '泵', '蹦', '迸', '逼', '鼻', '比', '鄙', '笔', '彼', '碧', '蓖', '蔽', '毕', '毙', '毖', '币', '庇', '痹', '闭', '敝', '弊', '必', '辟', '壁', '臂', '避', '陛', '鞭', '边', '编', '贬', '扁', '便', '变', '卞', '辨', '辩', '辫', '遍', '标', '彪', '膘', '表', '鳖', '憋', '别', '瘪', '彬', '斌', '濒', '滨', '宾', '摈', '兵', '冰', '柄', '丙', '秉', '饼', '炳', '病', '并', '玻', '菠', '播', '拨', '钵', '波', '博', '勃', '搏', '铂', '箔', '伯', '帛', '舶', '脖', '膊', '渤', '泊', '驳', '捕', '卜', '哺', '补', '埠', '不', '布', '步', '簿', '部', '怖', '擦', '猜', '裁', '材', '才', '财', '睬', '踩', '采', '彩', '菜', '蔡', '餐', '参', '蚕', '残', '惭', '惨', '灿', '苍', '舱', '仓', '沧', '藏', '操', '糙', '槽', '曹', '草', '厕', '策', '侧', '册', '测', '层', '蹭', '插', '叉', '茬', '茶', '查', '碴', '搽', '察', '岔', '差', '诧', '拆', '柴', '豺', '搀', '掺', '蝉', '馋', '谗', '缠', '铲', '产', '阐', '颤', '昌', '猖', '场', '尝', '常', '长', '偿', '肠', '厂', '敞', '畅', '唱', '倡', '超', '抄', '钞', '朝', '嘲', '潮', '巢', '吵', '炒', '车', '扯', '撤', '掣', '彻', '澈', '郴', '臣', '辰', '尘', '晨', '忱', '沉', '陈', '趁', '衬', '撑', '称', '城', '橙', '成', '呈', '乘', '程', '惩', '澄', '诚', '承', '逞', '骋', '秤', '吃', '痴', '持', '匙', '池', '迟', '弛', '驰', '耻', '齿', '侈', '尺', '赤', '翅', '斥', '炽', '充', '冲', '虫', '崇', '宠', '抽', '酬', '畴', '踌', '稠', '愁', '筹', '仇', '绸', '瞅', '丑', '臭', '初', '出', '橱', '厨', '躇', '锄', '雏', '滁', '除', '楚', '础', '储', '矗', '搐', '触', '处', '揣', '川', '穿', '椽', '传', '船', '喘', '串', '疮', '窗', '幢', '床', '闯', '创', '吹', '炊', '捶', '锤', '垂', '春', '椿', '醇', '唇', '淳', '纯', '蠢', '戳', '绰', '疵', '茨', '磁', '雌', '辞', '慈', '瓷', '词', '此', '刺', '赐', '次', '聪', '葱', '囱', '匆', '从', '丛', '凑', '粗', '醋', '簇', '促', '蹿', '篡', '窜', '摧', '崔', '催', '脆', '瘁', '粹', '淬', '翠', '村', '存', '寸', '磋', '撮', '搓', '措', '挫', '错', '搭', '达', '答', '瘩', '打', '大', '呆', '歹', '傣', '戴', '带', '殆', '代', '贷', '袋', '待', '逮', '怠', '耽', '担', '丹', '单', '郸', '掸', '胆', '旦', '氮', '但', '惮', '淡', '诞', '弹', '蛋', '当', '挡', '党', '荡', '档', '刀', '捣', '蹈', '倒', '岛', '祷', '导', '到', '稻', '悼', '道', '盗', '德', '得', '的', '蹬', '灯', '登', '等', '瞪', '凳', '邓', '堤', '低', '滴', '迪', '敌', '笛', '狄', '涤', '翟', '嫡', '抵', '底', '地', '蒂', '第', '帝', '弟', '递', '缔', '颠', '掂', '滇', '碘', '点', '典', '靛', '垫', '电', '佃', '甸', '店', '惦', '奠', '淀', '殿', '碉', '叼', '雕', '凋', '刁', '掉', '吊', '钓', '调', '跌', '爹', '碟', '蝶', '迭', '谍', '叠', '丁', '盯', '叮', '钉', '顶', '鼎', '锭', '定', '订', '丢', '东', '冬', '董', '懂', '动', '栋', '侗', '恫', '冻', '洞', '兜', '抖', '斗', '陡', '豆', '逗', '痘', '都', '督', '毒', '犊', '独', '读', '堵', '睹', '赌', '杜', '镀', '肚', '度', '渡', '妒', '端', '短', '锻', '段', '断', '缎', '堆', '兑', '队', '对', '墩', '吨', '蹲', '敦', '顿', '囤', '钝', '盾', '遁', '掇', '哆', '多', '夺', '垛', '躲', '朵', '跺', '舵', '剁', '惰', '堕', '蛾', '峨', '鹅', '俄', '额', '讹', '娥', '恶', '厄', '扼', '遏', '鄂', '饿', '恩', '而', '儿', '耳', '尔', '饵', '洱', '二', '贰', '发', '罚', '筏', '伐', '乏', '阀', '法', '珐', '藩', '帆', '番', '翻', '樊', '矾', '钒', '繁', '凡', '烦', '反', '返', '范', '贩', '犯', '饭', '泛', '坊', '芳', '方', '肪', '房', '防', '妨', '仿', '访', '纺', '放', '菲', '非', '啡', '飞', '肥', '匪', '诽', '吠', '肺', '废', '沸', '费', '芬', '酚', '吩', '氛', '分', '纷', '坟', '焚', '汾', '粉', '奋', '份', '忿', '愤', '粪', '丰', '封', '枫', '蜂', '峰', '锋', '风', '疯', '烽', '逢', '冯', '缝', '讽', '奉', '凤', '佛', '否', '夫', '敷', '肤', '孵', '扶', '拂', '辐', '幅', '氟', '符', '伏', '俘', '服', '浮', '涪', '福', '袱', '弗', '甫', '抚', '辅', '俯', '釜', '斧', '脯', '腑', '府', '腐', '赴', '副', '覆', '赋', '复', '傅', '付', '阜', '父', '腹', '负', '富', '讣', '附', '妇', '缚', '咐', '噶', '嘎', '该', '改', '概', '钙', '盖', '溉', '干', '甘', '杆', '柑', '竿', '肝', '赶', '感', '秆', '敢', '赣', '冈', '刚', '钢', '缸', '肛', '纲', '岗', '港', '杠', '篙', '皋', '高', '膏', '羔', '糕', '搞', '镐', '稿', '告', '哥', '歌', '搁', '戈', '鸽', '胳', '疙', '割', '革', '葛', '格', '蛤', '阁', '隔', '铬', '个', '各', '给', '根', '跟', '耕', '更', '庚', '羹', '埂', '耿', '梗', '工', '攻', '功', '恭', '龚', '供', '躬', '公', '宫', '弓', '巩', '汞', '拱', '贡', '共', '钩', '勾', '沟', '苟', '狗', '垢', '构', '购', '够', '辜', '菇', '咕', '箍', '估', '沽', '孤', '姑', '鼓', '古', '蛊', '骨', '谷', '股', '故', '顾', '固', '雇', '刮', '瓜', '剐', '寡', '挂', '褂', '乖', '拐', '怪', '棺', '关', '官', '冠', '观', '管', '馆', '罐', '惯', '灌', '贯', '光', '广', '逛', '瑰', '规', '圭', '硅', '归', '龟', '闺', '轨', '鬼', '诡', '癸', '桂', '柜', '跪', '贵', '刽', '辊', '滚', '棍', '锅', '郭', '国', '果', '裹', '过', '哈', '骸', '孩', '海', '氦', '亥', '害', '骇', '酣', '憨', '邯', '韩', '含', '涵', '寒', '函', '喊', '罕', '翰', '撼', '捍', '旱', '憾', '悍', '焊', '汗', '汉', '夯', '杭', '航', '壕', '嚎', '豪', '毫', '郝', '好', '耗', '号', '浩', '呵', '喝', '荷', '菏', '核', '禾', '和', '何', '合', '盒', '貉', '阂', '河', '涸', '赫', '褐', '鹤', '贺', '嘿', '黑', '痕', '很', '狠', '恨', '哼', '亨', '横', '衡', '恒', '轰', '哄', '烘', '虹', '鸿', '洪', '宏', '弘', '红', '喉', '侯', '猴', '吼', '厚', '候', '后', '呼', '乎', '忽', '瑚', '壶', '葫', '胡', '蝴', '狐', '糊', '湖', '弧', '虎', '唬', '护', '互', '沪', '户', '花', '哗', '华', '猾', '滑', '画', '划', '化', '话', '槐', '徊', '怀', '淮', '坏', '欢', '环', '桓', '还', '缓', '换', '患', '唤', '痪', '豢', '焕', '涣', '宦', '幻', '荒', '慌', '黄', '磺', '蝗', '簧', '皇', '凰', '惶', '煌', '晃', '幌', '恍', '谎', '灰', '挥', '辉', '徽', '恢', '蛔', '回', '毁', '悔', '慧', '卉', '惠', '晦', '贿', '秽', '会', '烩', '汇', '讳', '诲', '绘', '荤', '昏', '婚', '魂', '浑', '混', '豁', '活', '伙', '火', '获', '或', '惑', '霍', '货', '祸', '击', '圾', '基', '机', '畸', '稽', '积', '箕', '肌', '饥', '迹', '激', '讥', '鸡', '姬', '绩', '缉', '吉', '极', '棘', '辑', '籍', '集', '及', '急', '疾', '汲', '即', '嫉', '级', '挤', '几', '脊', '己', '蓟', '技', '冀', '季', '伎', '祭', '剂', '悸', '济', '寄', '寂', '计', '记', '既', '忌', '际', '妓', '继', '纪', '嘉', '枷', '夹', '佳', '家', '加', '荚', '颊', '贾', '甲', '钾', '假', '稼', '价', '架', '驾', '嫁', '歼', '监', '坚', '尖', '笺', '间', '煎', '兼', '肩', '艰', '奸', '缄', '茧', '检', '柬', '碱', '硷', '拣', '捡', '简', '俭', '剪', '减', '荐', '槛', '鉴', '践', '贱', '见', '键', '箭', '件', '健', '舰', '剑', '饯', '渐', '溅', '涧', '建', '僵', '姜', '将', '浆', '江', '疆', '蒋', '桨', '奖', '讲', '匠', '酱', '降', '蕉', '椒', '礁', '焦', '胶', '交', '郊', '浇', '骄', '娇', '嚼', '搅', '铰', '矫', '侥', '脚', '狡', '角', '饺', '缴', '绞', '剿', '教', '酵', '轿', '较', '叫', '窖', '揭', '接', '皆', '秸', '街', '阶', '截', '劫', '节', '桔', '杰', '捷', '睫', '竭', '洁', '结', '解', '姐', '戒', '藉', '芥', '界', '借', '介', '疥', '诫', '届', '巾', '筋', '斤', '金', '今', '津', '襟', '紧', '锦', '仅', '谨', '进', '靳', '晋', '禁', '近', '烬', '浸', '尽', '劲', '荆', '兢', '茎', '睛', '晶', '鲸', '京', '惊', '精', '粳', '经', '井', '警', '景', '颈', '静', '境', '敬', '镜', '径', '痉', '靖', '竟', '竞', '净', '炯', '窘', '揪', '究', '纠', '玖', '韭', '久', '灸', '九', '酒', '厩', '救', '旧', '臼', '舅', '咎', '就', '疚', '鞠', '拘', '狙', '疽', '居', '驹', '菊', '局', '咀', '矩', '举', '沮', '聚', '拒', '据', '巨', '具', '距', '踞', '锯', '俱', '句', '惧', '炬', '剧', '捐', '鹃', '娟', '倦', '眷', '卷', '绢', '撅', '攫', '抉', '掘', '倔', '爵', '觉', '决', '诀', '绝', '均', '菌', '钧', '军', '君', '峻', '俊', '竣', '浚', '郡', '骏', '喀', '咖', '卡', '咯', '开', '揩', '楷', '凯', '慨', '刊', '堪', '勘', '坎', '砍', '看', '康', '慷', '糠', '扛', '抗', '亢', '炕', '考', '拷', '烤', '靠', '坷', '苛', '柯', '棵', '磕', '颗', '科', '壳', '咳', '可', '渴', '克', '刻', '客', '课', '肯', '啃', '垦', '恳', '坑', '吭', '空', '恐', '孔', '控', '抠', '口', '扣', '寇', '枯', '哭', '窟', '苦', '酷', '库', '裤', '夸', '垮', '挎', '跨', '胯', '块', '筷', '侩', '快', '宽', '款', '匡', '筐', '狂', '框', '矿', '眶', '旷', '况', '亏', '盔', '岿', '窥', '葵', '奎', '魁', '傀', '馈', '愧', '溃', '坤', '昆', '捆', '困', '括', '扩', '廓', '阔', '垃', '拉', '喇', '蜡', '腊', '辣', '啦', '莱', '来', '赖', '蓝', '婪', '栏', '拦', '篮', '阑', '兰', '澜', '谰', '揽', '览', '懒', '缆', '烂', '滥', '琅', '榔', '狼', '廊', '郎', '朗', '浪', '捞', '劳', '牢', '老', '佬', '姥', '酪', '烙', '涝', '勒', '乐', '雷', '镭', '蕾', '磊', '累', '儡', '垒', '擂', '肋', '类', '泪', '棱', '楞', '冷', '厘', '梨', '犁', '黎', '篱', '狸', '离', '漓', '理', '李', '里', '鲤', '礼', '莉', '荔', '吏', '栗', '丽', '厉', '励', '砾', '历', '利', '傈', '例', '俐', '痢', '立', '粒', '沥', '隶', '力', '璃', '哩', '俩', '联', '莲', '连', '镰', '廉', '怜', '涟', '帘', '敛', '脸', '链', '恋', '炼', '练', '粮', '凉', '梁', '粱', '良', '两', '辆', '量', '晾', '亮', '谅', '撩', '聊', '僚', '疗', '燎', '寥', '辽', '潦', '了', '撂', '镣', '廖', '料', '列', '裂', '烈', '劣', '猎', '琳', '林', '磷', '霖', '临', '邻', '鳞', '淋', '凛', '赁', '吝', '拎', '玲', '菱', '零', '龄', '铃', '伶', '羚', '凌', '灵', '陵', '岭', '领', '另', '令', '溜', '琉', '榴', '硫', '馏', '留', '刘', '瘤', '流', '柳', '六', '龙', '聋', '咙', '笼', '窿', '隆', '垄', '拢', '陇', '楼', '娄', '搂', '篓', '漏', '陋', '芦', '卢', '颅', '庐', '炉', '掳', '卤', '虏', '鲁', '麓', '碌', '露', '路', '赂', '鹿', '潞', '禄', '录', '陆', '戮', '驴', '吕', '铝', '侣', '旅', '履', '屡', '缕', '虑', '氯', '律', '率', '滤', '绿', '峦', '挛', '孪', '滦', '卵', '乱', '掠', '略', '抡', '轮', '伦', '仑', '沦', '纶', '论', '萝', '螺', '罗', '逻', '锣', '箩', '骡', '裸', '落', '洛', '骆', '络', '妈', '麻', '玛', '码', '蚂', '马', '骂', '嘛', '吗', '埋', '买', '麦', '卖', '迈', '脉', '瞒', '馒', '蛮', '满', '蔓', '曼', '慢', '漫', '谩', '芒', '茫', '盲', '氓', '忙', '莽', '猫', '茅', '锚', '毛', '矛', '铆', '卯', '茂', '冒', '帽', '貌', '贸', '么', '玫', '枚', '梅', '酶', '霉', '煤', '没', '眉', '媒', '镁', '每', '美', '昧', '寐', '妹', '媚', '门', '闷', '们', '萌', '蒙', '檬', '盟', '锰', '猛', '梦', '孟', '眯', '醚', '靡', '糜', '迷', '谜', '弥', '米', '秘', '觅', '泌', '蜜', '密', '幂', '棉', '眠', '绵', '冕', '免', '勉', '娩', '缅', '面', '苗', '描', '瞄', '藐', '秒', '渺', '庙', '妙', '蔑', '灭', '民', '抿', '皿', '敏', '悯', '闽', '明', '螟', '鸣', '铭', '名', '命', '谬', '摸', '摹', '蘑', '模', '膜', '磨', '摩', '魔', '抹', '末', '莫', '墨', '默', '沫', '漠', '寞', '陌', '谋', '牟', '某', '拇', '牡', '亩', '姆', '母', '墓', '暮', '幕', '募', '慕', '木', '目', '睦', '牧', '穆', '拿', '哪', '呐', '钠', '那', '娜', '纳', '氖', '乃', '奶', '耐', '奈', '南', '男', '难', '囊', '挠', '脑', '恼', '闹', '淖', '呢', '馁', '内', '嫩', '能', '妮', '霓', '倪', '泥', '尼', '拟', '你', '匿', '腻', '逆', '溺', '蔫', '拈', '年', '碾', '撵', '捻', '念', '娘', '酿', '鸟', '尿', '捏', '聂', '孽', '啮', '镊', '镍', '涅', '您', '柠', '狞', '凝', '宁', '拧', '泞', '牛', '扭', '钮', '纽', '脓', '浓', '农', '弄', '奴', '努', '怒', '女', '暖', '虐', '疟', '挪', '懦', '糯', '诺', '哦', '欧', '鸥', '殴', '藕', '呕', '偶', '沤', '啪', '趴', '爬', '帕', '怕', '琶', '拍', '排', '牌', '徘', '湃', '派', '攀', '潘', '盘', '磐', '盼', '畔', '判', '叛', '乓', '庞', '旁', '耪', '胖', '抛', '咆', '刨', '炮', '袍', '跑', '泡', '呸', '胚', '培', '裴', '赔', '陪', '配', '佩', '沛', '喷', '盆', '砰', '抨', '烹', '澎', '彭', '蓬', '棚', '硼', '篷', '膨', '朋', '鹏', '捧', '碰', '坯', '砒', '霹', '批', '披', '劈', '琵', '毗', '啤', '脾', '疲', '皮', '匹', '痞', '僻', '屁', '譬', '篇', '偏', '片', '骗', '飘', '漂', '瓢', '票', '撇', '瞥', '拼', '频', '贫', '品', '聘', '乒', '坪', '苹', '萍', '平', '凭', '瓶', '评', '屏', '坡', '泼', '颇', '婆', '破', '魄', '迫', '粕', '剖', '扑', '铺', '仆', '莆', '葡', '菩', '蒲', '埔', '朴', '圃', '普', '浦', '谱', '曝', '瀑', '期', '欺', '栖', '戚', '妻', '七', '凄', '漆', '柒', '沏', '其', '棋', '奇', '歧', '畦', '崎', '脐', '齐', '旗', '祈', '祁', '骑', '起', '岂', '乞', '企', '启', '契', '砌', '器', '气', '迄', '弃', '汽', '泣', '讫', '掐', '恰', '洽', '牵', '扦', '钎', '铅', '千', '迁', '签', '仟', '谦', '乾', '黔', '钱', '钳', '前', '潜', '遣', '浅', '谴', '堑', '嵌', '欠', '歉', '枪', '呛', '腔', '羌', '墙', '蔷', '强', '抢', '橇', '锹', '敲', '悄', '桥', '瞧', '乔', '侨', '巧', '鞘', '撬', '翘', '峭', '俏', '窍', '切', '茄', '且', '怯', '窃', '钦', '侵', '亲', '秦', '琴', '勤', '芹', '擒', '禽', '寝', '沁', '青', '轻', '氢', '倾', '卿', '清', '擎', '晴', '氰', '情', '顷', '请', '庆', '琼', '穷', '秋', '丘', '邱', '球', '求', '囚', '酋', '泅', '趋', '区', '蛆', '曲', '躯', '屈', '驱', '渠', '取', '娶', '龋', '趣', '去', '圈', '颧', '权', '醛', '泉', '全', '痊', '拳', '犬', '券', '劝', '缺', '炔', '瘸', '却', '鹊', '榷', '确', '雀', '裙', '群', '然', '燃', '冉', '染', '瓤', '壤', '攘', '嚷', '让', '饶', '扰', '绕', '惹', '热', '壬', '仁', '人', '忍', '韧', '任', '认', '刃', '妊', '纫', '扔', '仍', '日', '戎', '茸', '蓉', '荣', '融', '熔', '溶', '容', '绒', '冗', '揉', '柔', '肉', '茹', '蠕', '儒', '孺', '如', '辱', '乳', '汝', '入', '褥', '软', '阮', '蕊', '瑞', '锐', '闰', '润', '若', '弱', '撒', '洒', '萨', '腮', '鳃', '塞', '赛', '三', '叁', '伞', '散', '桑', '嗓', '丧', '搔', '骚', '扫', '嫂', '瑟', '色', '涩', '森', '僧', '莎', '砂', '杀', '刹', '沙', '纱', '傻', '啥', '煞', '筛', '晒', '珊', '苫', '杉', '山', '删', '煽', '衫', '闪', '陕', '擅', '赡', '膳', '善', '汕', '扇', '缮', '墒', '伤', '商', '赏', '晌', '上', '尚', '裳', '梢', '捎', '稍', '烧', '芍', '勺', '韶', '少', '哨', '邵', '绍', '奢', '赊', '蛇', '舌', '舍', '赦', '摄', '射', '慑', '涉', '社', '设', '砷', '申', '呻', '伸', '身', '深', '娠', '绅', '神', '沈', '审', '婶', '甚', '肾', '慎', '渗', '声', '生', '甥', '牲', '升', '绳', '省', '盛', '剩', '胜', '圣', '师', '失', '狮', '施', '湿', '诗', '尸', '虱', '十', '石', '拾', '时', '什', '食', '蚀', '实', '识', '史', '矢', '使', '屎', '驶', '始', '式', '示', '士', '世', '柿', '事', '拭', '誓', '逝', '势', '是', '嗜', '噬', '适', '仕', '侍', '释', '饰', '氏', '市', '恃', '室', '视', '试', '收', '手', '首', '守', '寿', '授', '售', '受', '瘦', '兽', '蔬', '枢', '梳', '殊', '抒', '输', '叔', '舒', '淑', '疏', '书', '赎', '孰', '熟', '薯', '暑', '曙', '署', '蜀', '黍', '鼠', '属', '术', '述', '树', '束', '戍', '竖', '墅', '庶', '数', '漱', '恕', '刷', '耍', '摔', '衰', '甩', '帅', '栓', '拴', '霜', '双', '爽', '谁', '水', '睡', '税', '吮', '瞬', '顺', '舜', '说', '硕', '朔', '烁', '斯', '撕', '嘶', '思', '私', '司', '丝', '死', '肆', '寺', '嗣', '四', '伺', '似', '饲', '巳', '松', '耸', '怂', '颂', '送', '宋', '讼', '诵', '搜', '艘', '擞', '嗽', '苏', '酥', '俗', '素', '速', '粟', '僳', '塑', '溯', '宿', '诉', '肃', '酸', '蒜', '算', '虽', '隋', '随', '绥', '髓', '碎', '岁', '穗', '遂', '隧', '祟', '孙', '损', '笋', '蓑', '梭', '唆', '缩', '琐', '索', '锁', '所', '塌', '他', '它', '她', '塔', '獭', '挞', '蹋', '踏', '胎', '苔', '抬', '台', '泰', '酞', '太', '态', '汰', '坍', '摊', '贪', '瘫', '滩', '坛', '檀', '痰', '潭', '谭', '谈', '坦', '毯', '袒', '碳', '探', '叹', '炭', '汤', '塘', '搪', '堂', '棠', '膛', '唐', '糖', '倘', '躺', '淌', '趟', '烫', '掏', '涛', '滔', '绦', '萄', '桃', '逃', '淘', '陶', '讨', '套', '特', '藤', '腾', '疼', '誊', '梯', '剔', '踢', '锑', '提', '题', '蹄', '啼', '体', '替', '嚏', '惕', '涕', '剃', '屉', '天', '添', '填', '田', '甜', '恬', '舔', '腆', '挑', '条', '迢', '眺', '跳', '贴', '铁', '帖', '厅', '听', '烃', '汀', '廷', '停', '亭', '庭', '挺', '艇', '通', '桐', '酮', '瞳', '同', '铜', '彤', '童', '桶', '捅', '筒', '统', '痛', '偷', '投', '头', '透', '凸', '秃', '突', '图', '徒', '途', '涂', '屠', '土', '吐', '兔', '湍', '团', '推', '颓', '腿', '蜕', '褪', '退', '吞', '屯', '臀', '拖', '托', '脱', '鸵', '陀', '驮', '驼', '椭', '妥', '拓', '唾', '挖', '哇', '蛙', '洼', '娃', '瓦', '袜', '歪', '外', '豌', '弯', '湾', '玩', '顽', '丸', '烷', '完', '碗', '挽', '晚', '皖', '惋', '宛', '婉', '万', '腕', '汪', '王', '亡', '枉', '网', '往', '旺', '望', '忘', '妄', '威', '巍', '微', '危', '韦', '违', '桅', '围', '唯', '惟', '为', '潍', '维', '苇', '萎', '委', '伟', '伪', '尾', '纬', '未', '蔚', '味', '畏', '胃', '喂', '魏', '位', '渭', '谓', '尉', '慰', '卫', '瘟', '温', '蚊', '文', '闻', '纹', '吻', '稳', '紊', '问', '嗡', '翁', '瓮', '挝', '蜗', '涡', '窝', '我', '斡', '卧', '握', '沃', '巫', '呜', '钨', '乌', '污', '诬', '屋', '无', '芜', '梧', '吾', '吴', '毋', '武', '五', '捂', '午', '舞', '伍', '侮', '坞', '戊', '雾', '晤', '物', '勿', '务', '悟', '误', '昔', '熙', '析', '西', '硒', '矽', '晰', '嘻', '吸', '锡', '牺', '稀', '息', '希', '悉', '膝', '夕', '惜', '熄', '烯', '溪', '汐', '犀', '檄', '袭', '席', '习', '媳', '喜', '铣', '洗', '系', '隙', '戏', '细', '瞎', '虾', '匣', '霞', '辖', '暇', '峡', '侠', '狭', '下', '厦', '夏', '吓', '掀', '锨', '先', '仙', '鲜', '纤', '咸', '贤', '衔', '舷', '闲', '涎', '弦', '嫌', '显', '险', '现', '献', '县', '腺', '馅', '羡', '宪', '陷', '限', '线', '相', '厢', '镶', '香', '箱', '襄', '湘', '乡', '翔', '祥', '详', '想', '响', '享', '项', '巷', '橡', '像', '向', '象', '萧', '硝', '霄', '削', '哮', '嚣', '销', '消', '宵', '淆', '晓', '小', '孝', '校', '肖', '啸', '笑', '效', '楔', '些', '歇', '蝎', '鞋', '协', '挟', '携', '邪', '斜', '胁', '谐', '写', '械', '卸', '蟹', '懈', '泄', '泻', '谢', '屑', '薪', '芯', '锌', '欣', '辛', '新', '忻', '心', '信', '衅', '星', '腥', '猩', '惺', '兴', '刑', '型', '形', '邢', '行', '醒', '幸', '杏', '性', '姓', '兄', '凶', '胸', '匈', '汹', '雄', '熊', '休', '修', '羞', '朽', '嗅', '锈', '秀', '袖', '绣', '墟', '戌', '需', '虚', '嘘', '须', '徐', '许', '蓄', '酗', '叙', '旭', '序', '畜', '恤', '絮', '婿', '绪', '续', '轩', '喧', '宣', '悬', '旋', '玄', '选', '癣', '眩', '绚', '靴', '薛', '学', '穴', '雪', '血', '勋', '熏', '循', '旬', '询', '寻', '驯', '巡', '殉', '汛', '训', '讯', '逊', '迅', '压', '押', '鸦', '鸭', '呀', '丫', '芽', '牙', '蚜', '崖', '衙', '涯', '雅', '哑', '亚', '讶', '焉', '咽', '阉', '烟', '淹', '盐', '严', '研', '蜒', '岩', '延', '言', '颜', '阎', '炎', '沿', '奄', '掩', '眼', '衍', '演', '艳', '堰', '燕', '厌', '砚', '雁', '唁', '彦', '焰', '宴', '谚', '验', '殃', '央', '鸯', '秧', '杨', '扬', '佯', '疡', '羊', '洋', '阳', '氧', '仰', '痒', '养', '样', '漾', '邀', '腰', '妖', '瑶', '摇', '尧', '遥', '窑', '谣', '姚', '咬', '舀', '药', '要', '耀', '椰', '噎', '耶', '爷', '野', '冶', '也', '页', '掖', '业', '叶', '曳', '腋', '夜', '液', '一', '壹', '医', '揖', '铱', '依', '伊', '衣', '颐', '夷', '遗', '移', '仪', '胰', '疑', '沂', '宜', '姨', '彝', '椅', '蚁', '倚', '已', '乙', '矣', '以', '艺', '抑', '易', '邑', '屹', '亿', '役', '臆', '逸', '肄', '疫', '亦', '裔', '意', '毅', '忆', '义', '益', '溢', '诣', '议', '谊', '译', '异', '翼', '翌', '绎', '茵', '荫', '因', '殷', '音', '阴', '姻', '吟', '银', '淫', '寅', '饮', '尹', '引', '隐', '印', '英', '樱', '婴', '鹰', '应', '缨', '莹', '萤', '营', '荧', '蝇', '迎', '赢', '盈', '影', '颖', '硬', '映', '哟', '拥', '佣', '臃', '痈', '庸', '雍', '踊', '蛹', '咏', '泳', '涌', '永', '恿', '勇', '用', '幽', '优', '悠', '忧', '尤', '由', '邮', '铀', '犹', '油', '游', '酉', '有', '友', '右', '佑', '釉', '诱', '又', '幼', '迂', '淤', '于', '盂', '榆', '虞', '愚', '舆', '余', '俞', '逾', '鱼', '愉', '渝', '渔', '隅', '予', '娱', '雨', '与', '屿', '禹', '宇', '语', '羽', '玉', '域', '芋', '郁', '吁', '遇', '喻', '峪', '御', '愈', '欲', '狱', '育', '誉', '浴', '寓', '裕', '预', '豫', '驭', '鸳', '渊', '冤', '元', '垣', '袁', '原', '援', '辕', '园', '员', '圆', '猿', '源', '缘', '远', '苑', '愿', '怨', '院', '曰', '约', '越', '跃', '钥', '岳', '粤', '月', '悦', '阅', '耘', '云', '郧', '匀', '陨', '允', '运', '蕴', '酝', '晕', '韵', '孕', '匝', '砸', '杂', '栽', '哉', '灾', '宰', '载', '再', '在', '咱', '攒', '暂', '赞', '赃', '脏', '葬', '遭', '糟', '凿', '藻', '枣', '早', '澡', '蚤', '躁', '噪', '造', '皂', '灶', '燥', '责', '择', '则', '泽', '贼', '怎', '增', '憎', '曾', '赠', '扎', '喳', '渣', '札', '轧', '铡', '闸', '眨', '栅', '榨', '咋', '乍', '炸', '诈', '摘', '斋', '宅', '窄', '债', '寨', '瞻', '毡', '詹', '粘', '沾', '盏', '斩', '辗', '崭', '展', '蘸', '栈', '占', '战', '站', '湛', '绽', '樟', '章', '彰', '漳', '张', '掌', '涨', '杖', '丈', '帐', '账', '仗', '胀', '瘴', '障', '招', '昭', '找', '沼', '赵', '照', '罩', '兆', '肇', '召', '遮', '折', '哲', '蛰', '辙', '者', '锗', '蔗', '这', '浙', '珍', '斟', '真', '甄', '砧', '臻', '贞', '针', '侦', '枕', '疹', '诊', '震', '振', '镇', '阵', '蒸', '挣', '睁', '征', '狰', '争', '怔', '整', '拯', '正', '政', '帧', '症', '郑', '证', '芝', '枝', '支', '吱', '蜘', '知', '肢', '脂', '汁', '之', '织', '职', '直', '植', '殖', '执', '值', '侄', '址', '指', '止', '趾', '只', '旨', '纸', '志', '挚', '掷', '至', '致', '置', '帜', '峙', '制', '智', '秩', '稚', '质', '炙', '痔', '滞', '治', '窒', '中', '盅', '忠', '钟', '衷', '终', '种', '肿', '重', '仲', '众', '舟', '周', '州', '洲', '诌', '粥', '轴', '肘', '帚', '咒', '皱', '宙', '昼', '骤', '珠', '株', '蛛', '朱', '猪', '诸', '诛', '逐', '竹', '烛', '煮', '拄', '瞩', '嘱', '主', '著', '柱', '助', '蛀', '贮', '铸', '筑', '住', '注', '祝', '驻', '抓', '爪', '拽', '专', '砖', '转', '撰', '赚', '篆', '桩', '庄', '装', '妆', '撞', '壮', '状', '椎', '锥', '追', '赘', '坠', '缀', '谆', '准', '捉', '拙', '卓', '桌', '琢', '茁', '酌', '啄', '着', '灼', '浊', '兹', '咨', '资', '姿', '滋', '淄', '孜', '紫', '仔', '籽', '滓', '子', '自', '渍', '字', '鬃', '棕', '踪', '宗', '综', '总', '纵', '邹', '走', '奏', '揍', '租', '足', '卒', '族', '祖', '诅', '阻', '组', '钻', '纂', '嘴', '醉', '最', '罪', '尊', '遵', '昨', '左', '佐', '柞', '做', '作', '坐', '座', '亍', '丌', '兀', '丐', '廿', '卅', '丕', '亘', '丞', '鬲', '孬', '噩', '丨', '禺', '丿', '匕', '乇', '夭', '爻', '卮', '氐', '囟', '胤', '馗', '毓', '睾', '鼗', '丶', '亟', '鼐', '乜', '乩', '亓', '芈', '孛', '啬', '嘏', '仄', '厍', '厝', '厣', '厥', '厮', '靥', '赝', '匚', '叵', '匦', '匮', '匾', '赜', '卦', '卣', '刂', '刈', '刎', '刭', '刳', '刿', '剀', '剌', '剞', '剡', '剜', '蒯', '剽', '劂', '劁', '劐', '劓', '冂', '罔', '亻', '仃', '仉', '仂', '仨', '仡', '仫', '仞', '伛', '仳', '伢', '佤', '仵', '伥', '伧', '伉', '伫', '佞', '佧', '攸', '佚', '佝', '佟', '佗', '伲', '伽', '佶', '佴', '侑', '侉', '侃', '侏', '佾', '佻', '侪', '佼', '侬', '侔', '俦', '俨', '俪', '俅', '俚', '俣', '俜', '俑', '俟', '俸', '倩', '偌', '俳', '倬', '倏', '倮', '倭', '俾', '倜', '倌', '倥', '倨', '偾', '偃', '偕', '偈', '偎', '偬', '偻', '傥', '傧', '傩', '傺', '僖', '儆', '僭', '僬', '僦', '僮', '儇', '儋', '仝', '氽', '佘', '佥', '俎', '龠', '汆', '籴', '兮', '巽', '黉', '馘', '冁', '夔', '勹', '匍', '訇', '匐', '凫', '夙', '兕', '亠', '兖', '亳', '衮', '袤', '亵', '脔', '裒', '禀', '嬴', '蠃', '羸', '冫', '冱', '冽', '冼', '凇', '冖', '冢', '冥', '讠', '讦', '讧', '讪', '讴', '讵', '讷', '诂', '诃', '诋', '诏', '诎', '诒', '诓', '诔', '诖', '诘', '诙', '诜', '诟', '诠', '诤', '诨', '诩', '诮', '诰', '诳', '诶', '诹', '诼', '诿', '谀', '谂', '谄', '谇', '谌', '谏', '谑', '谒', '谔', '谕', '谖', '谙', '谛', '谘', '谝', '谟', '谠', '谡', '谥', '谧', '谪', '谫', '谮', '谯', '谲', '谳', '谵', '谶', '卩', '卺', '阝', '阢', '阡', '阱', '阪', '阽', '阼', '陂', '陉', '陔', '陟', '陧', '陬', '陲', '陴', '隈', '隍', '隗', '隰', '邗', '邛', '邝', '邙', '邬', '邡', '邴', '邳', '邶', '邺', '邸', '邰', '郏', '郅', '邾', '郐', '郄', '郇', '郓', '郦', '郢', '郜', '郗', '郛', '郫', '郯', '郾', '鄄', '鄢', '鄞', '鄣', '鄱', '鄯', '鄹', '酃', '酆', '刍', '奂', '劢', '劬', '劭', '劾', '哿', '勐', '勖', '勰', '叟', '燮', '矍', '廴', '凵', '凼', '鬯', '厶', '弁', '畚', '巯', '坌', '垩', '垡', '塾', '墼', '壅', '壑', '圩', '圬', '圪', '圳', '圹', '圮', '圯', '坜', '圻', '坂', '坩', '垅', '坫', '垆', '坼', '坻', '坨', '坭', '坶', '坳', '垭', '垤', '垌', '垲', '埏', '垧', '垴', '垓', '垠', '埕', '埘', '埚', '埙', '埒', '垸', '埴', '埯', '埸', '埤', '埝', '堋', '堍', '埽', '埭', '堀', '堞', '堙', '塄', '堠', '塥', '塬', '墁', '墉', '墚', '墀', '馨', '鼙', '懿', '艹', '艽', '艿', '芏', '芊', '芨', '芄', '芎', '芑', '芗', '芙', '芫', '芸', '芾', '芰', '苈', '苊', '苣', '芘', '芷', '芮', '苋', '苌', '苁', '芩', '芴', '芡', '芪', '芟', '苄', '苎', '芤', '苡', '茉', '苷', '苤', '茏', '茇', '苜', '苴', '苒', '苘', '茌', '苻', '苓', '茑', '茚', '茆', '茔', '茕', '苠', '苕', '茜', '荑', '荛', '荜', '茈', '莒', '茼', '茴', '茱', '莛', '荞', '茯', '荏', '荇', '荃', '荟', '荀', '茗', '荠', '茭', '茺', '茳', '荦', '荥', '荨', '茛', '荩', '荬', '荪', '荭', '荮', '莰', '荸', '莳', '莴', '莠', '莪', '莓', '莜', '莅', '荼', '莶', '莩', '荽', '莸', '荻', '莘', '莞', '莨', '莺', '莼', '菁', '萁', '菥', '菘', '堇', '萘', '萋', '菝', '菽', '菖', '萜', '萸', '萑', '萆', '菔', '菟', '萏', '萃', '菸', '菹', '菪', '菅', '菀', '萦', '菰', '菡', '葜', '葑', '葚', '葙', '葳', '蒇', '蒈', '葺', '蒉', '葸', '萼', '葆', '葩', '葶', '蒌', '蒎', '萱', '葭', '蓁', '蓍', '蓐', '蓦', '蒽', '蓓', '蓊', '蒿', '蒺', '蓠', '蒡', '蒹', '蒴', '蒗', '蓥', '蓣', '蔌', '甍', '蔸', '蓰', '蔹', '蔟', '蔺', '蕖', '蔻', '蓿', '蓼', '蕙', '蕈', '蕨', '蕤', '蕞', '蕺', '瞢', '蕃', '蕲', '蕻', '薤', '薨', '薇', '薏', '蕹', '薮', '薜', '薅', '薹', '薷', '薰', '藓', '藁', '藜', '藿', '蘧', '蘅', '蘩', '蘖', '蘼', '廾', '弈', '夼', '奁', '耷', '奕', '奚', '奘', '匏', '尢', '尥', '尬', '尴', '扌', '扪', '抟', '抻', '拊', '拚', '拗', '拮', '挢', '拶', '挹', '捋', '捃', '掭', '揶', '捱', '捺', '掎', '掴', '捭', '掬', '掊', '捩', '掮', '掼', '揲', '揸', '揠', '揿', '揄', '揞', '揎', '摒', '揆', '掾', '摅', '摁', '搋', '搛', '搠', '搌', '搦', '搡', '摞', '撄', '摭', '撖', '摺', '撷', '撸', '撙', '撺', '擀', '擐', '擗', '擤', '擢', '攉', '攥', '攮', '弋', '忒', '甙', '弑', '卟', '叱', '叽', '叩', '叨', '叻', '吒', '吖', '吆', '呋', '呒', '呓', '呔', '呖', '呃', '吡', '呗', '呙', '吣', '吲', '咂', '咔', '呷', '呱', '呤', '咚', '咛', '咄', '呶', '呦', '咝', '哐', '咭', '哂', '咴', '哒', '咧', '咦', '哓', '哔', '呲', '咣', '哕', '咻', '咿', '哌', '哙', '哚', '哜', '咩', '咪', '咤', '哝', '哏', '哞', '唛', '哧', '唠', '哽', '唔', '哳', '唢', '唣', '唏', '唑', '唧', '唪', '啧', '喏', '喵', '啉', '啭', '啁', '啕', '唿', '啐', '唼', '唷', '啖', '啵', '啶', '啷', '唳', '唰', '啜', '喋', '嗒', '喃', '喱', '喹', '喈', '喁', '喟', '啾', '嗖', '喑', '啻', '嗟', '喽', '喾', '喔', '喙', '嗪', '嗷', '嗉', '嘟', '嗑', '嗫', '嗬', '嗔', '嗦', '嗝', '嗄', '嗯', '嗥', '嗲', '嗳', '嗌', '嗍', '嗨', '嗵', '嗤', '辔', '嘞', '嘈', '嘌', '嘁', '嘤', '嘣', '嗾', '嘀', '嘧', '嘭', '噘', '嘹', '噗', '嘬', '噍', '噢', '噙', '噜', '噌', '噔', '嚆', '噤', '噱', '噫', '噻', '噼', '嚅', '嚓', '嚯', '囔', '囗', '囝', '囡', '囵', '囫', '囹', '囿', '圄', '圊', '圉', '圜', '帏', '帙', '帔', '帑', '帱', '帻', '帼', '帷', '幄', '幔', '幛', '幞', '幡', '岌', '屺', '岍', '岐', '岖', '岈', '岘', '岙', '岑', '岚', '岜', '岵', '岢', '岽', '岬', '岫', '岱', '岣', '峁', '岷', '峄', '峒', '峤', '峋', '峥', '崂', '崃', '崧', '崦', '崮', '崤', '崞', '崆', '崛', '嵘', '崾', '崴', '崽', '嵬', '嵛', '嵯', '嵝', '嵫', '嵋', '嵊', '嵩', '嵴', '嶂', '嶙', '嶝', '豳', '嶷', '巅', '彳', '彷', '徂', '徇', '徉', '後', '徕', '徙', '徜', '徨', '徭', '徵', '徼', '衢', '彡', '犭', '犰', '犴', '犷', '犸', '狃', '狁', '狎', '狍', '狒', '狨', '狯', '狩', '狲', '狴', '狷', '猁', '狳', '猃', '狺', '狻', '猗', '猓', '猡', '猊', '猞', '猝', '猕', '猢', '猹', '猥', '猬', '猸', '猱', '獐', '獍', '獗', '獠', '獬', '獯', '獾', '舛', '夥', '飧', '夤', '夂', '饣', '饧', '饨', '饩', '饪', '饫', '饬', '饴', '饷', '饽', '馀', '馄', '馇', '馊', '馍', '馐', '馑', '馓', '馔', '馕', '庀', '庑', '庋', '庖', '庥', '庠', '庹', '庵', '庾', '庳', '赓', '廒', '廑', '廛', '廨', '廪', '膺', '忄', '忉', '忖', '忏', '怃', '忮', '怄', '忡', '忤', '忾', '怅', '怆', '忪', '忭', '忸', '怙', '怵', '怦', '怛', '怏', '怍', '怩', '怫', '怊', '怿', '怡', '恸', '恹', '恻', '恺', '恂', '恪', '恽', '悖', '悚', '悭', '悝', '悃', '悒', '悌', '悛', '惬', '悻', '悱', '惝', '惘', '惆', '惚', '悴', '愠', '愦', '愕', '愣', '惴', '愀', '愎', '愫', '慊', '慵', '憬', '憔', '憧', '憷', '懔', '懵', '忝', '隳', '闩', '闫', '闱', '闳', '闵', '闶', '闼', '闾', '阃', '阄', '阆', '阈', '阊', '阋', '阌', '阍', '阏', '阒', '阕', '阖', '阗', '阙', '阚', '丬', '爿', '戕', '氵', '汔', '汜', '汊', '沣', '沅', '沐', '沔', '沌', '汨', '汩', '汴', '汶', '沆', '沩', '泐', '泔', '沭', '泷', '泸', '泱', '泗', '沲', '泠', '泖', '泺', '泫', '泮', '沱', '泓', '泯', '泾', '洹', '洧', '洌', '浃', '浈', '洇', '洄', '洙', '洎', '洫', '浍', '洮', '洵', '洚', '浏', '浒', '浔', '洳', '涑', '浯', '涞', '涠', '浞', '涓', '涔', '浜', '浠', '浼', '浣', '渚', '淇', '淅', '淞', '渎', '涿', '淠', '渑', '淦', '淝', '淙', '渖', '涫', '渌', '涮', '渫', '湮', '湎', '湫', '溲', '湟', '溆', '湓', '湔', '渲', '渥', '湄', '滟', '溱', '溘', '滠', '漭', '滢', '溥', '溧', '溽', '溻', '溷', '滗', '溴', '滏', '溏', '滂', '溟', '潢', '潆', '潇', '漤', '漕', '滹', '漯', '漶', '潋', '潴', '漪', '漉', '漩', '澉', '澍', '澌', '潸', '潲', '潼', '潺', '濑', '濉', '澧', '澹', '澶', '濂', '濡', '濮', '濞', '濠', '濯', '瀚', '瀣', '瀛', '瀹', '瀵', '灏', '灞', '宀', '宄', '宕', '宓', '宥', '宸', '甯', '骞', '搴', '寤', '寮', '褰', '寰', '蹇', '謇', '辶', '迓', '迕', '迥', '迮', '迤', '迩', '迦', '迳', '迨', '逅', '逄', '逋', '逦', '逑', '逍', '逖', '逡', '逵', '逶', '逭', '逯', '遄', '遑', '遒', '遐', '遨', '遘', '遢', '遛', '暹', '遴', '遽', '邂', '邈', '邃', '邋', '彐', '彗', '彖', '彘', '尻', '咫', '屐', '屙', '孱', '屣', '屦', '羼', '弪', '弩', '弭', '艴', '弼', '鬻', '屮', '妁', '妃', '妍', '妩', '妪', '妣', '妗', '姊', '妫', '妞', '妤', '姒', '妲', '妯', '姗', '妾', '娅', '娆', '姝', '娈', '姣', '姘', '姹', '娌', '娉', '娲', '娴', '娑', '娣', '娓', '婀', '婧', '婊', '婕', '娼', '婢', '婵', '胬', '媪', '媛', '婷', '婺', '媾', '嫫', '媲', '嫒', '嫔', '媸', '嫠', '嫣', '嫱', '嫖', '嫦', '嫘', '嫜', '嬉', '嬗', '嬖', '嬲', '嬷', '孀', '尕', '尜', '孚', '孥', '孳', '孑', '孓', '孢', '驵', '驷', '驸', '驺', '驿', '驽', '骀', '骁', '骅', '骈', '骊', '骐', '骒', '骓', '骖', '骘', '骛', '骜', '骝', '骟', '骠', '骢', '骣', '骥', '骧', '纟', '纡', '纣', '纥', '纨', '纩', '纭', '纰', '纾', '绀', '绁', '绂', '绉', '绋', '绌', '绐', '绔', '绗', '绛', '绠', '绡', '绨', '绫', '绮', '绯', '绱', '绲', '缍', '绶', '绺', '绻', '绾', '缁', '缂', '缃', '缇', '缈', '缋', '缌', '缏', '缑', '缒', '缗', '缙', '缜', '缛', '缟', '缡', '缢', '缣', '缤', '缥', '缦', '缧', '缪', '缫', '缬', '缭', '缯', '缰', '缱', '缲', '缳', '缵', '幺', '畿', '巛', '甾', '邕', '玎', '玑', '玮', '玢', '玟', '珏', '珂', '珑', '玷', '玳', '珀', '珉', '珈', '珥', '珙', '顼', '琊', '珩', '珧', '珞', '玺', '珲', '琏', '琪', '瑛', '琦', '琥', '琨', '琰', '琮', '琬', '琛', '琚', '瑁', '瑜', '瑗', '瑕', '瑙', '瑷', '瑭', '瑾', '璜', '璎', '璀', '璁', '璇', '璋', '璞', '璨', '璩', '璐', '璧', '瓒', '璺', '韪', '韫', '韬', '杌', '杓', '杞', '杈', '杩', '枥', '枇', '杪', '杳', '枘', '枧', '杵', '枨', '枞', '枭', '枋', '杷', '杼', '柰', '栉', '柘', '栊', '柩', '枰', '栌', '柙', '枵', '柚', '枳', '柝', '栀', '柃', '枸', '柢', '栎', '柁', '柽', '栲', '栳', '桠', '桡', '桎', '桢', '桄', '桤', '梃', '栝', '桕', '桦', '桁', '桧', '桀', '栾', '桊', '桉', '栩', '梵', '梏', '桴', '桷', '梓', '桫', '棂', '楮', '棼', '椟', '椠', '棹', '椤', '棰', '椋', '椁', '楗', '棣', '椐', '楱', '椹', '楠', '楂', '楝', '榄', '楫', '榀', '榘', '楸', '椴', '槌', '榇', '榈', '槎', '榉', '楦', '楣', '楹', '榛', '榧', '榻', '榫', '榭', '槔', '榱', '槁', '槊', '槟', '榕', '槠', '榍', '槿', '樯', '槭', '樗', '樘', '橥', '槲', '橄', '樾', '檠', '橐', '橛', '樵', '檎', '橹', '樽', '樨', '橘', '橼', '檑', '檐', '檩', '檗', '檫', '猷', '獒', '殁', '殂', '殇', '殄', '殒', '殓', '殍', '殚', '殛', '殡', '殪', '轫', '轭', '轱', '轲', '轳', '轵', '轶', '轸', '轷', '轹', '轺', '轼', '轾', '辁', '辂', '辄', '辇', '辋', '辍', '辎', '辏', '辘', '辚', '軎', '戋', '戗', '戛', '戟', '戢', '戡', '戥', '戤', '戬', '臧', '瓯', '瓴', '瓿', '甏', '甑', '甓', '攴', '旮', '旯', '旰', '昊', '昙', '杲', '昃', '昕', '昀', '炅', '曷', '昝', '昴', '昱', '昶', '昵', '耆', '晟', '晔', '晁', '晏', '晖', '晡', '晗', '晷', '暄', '暌', '暧', '暝', '暾', '曛', '曜', '曦', '曩', '贲', '贳', '贶', '贻', '贽', '赀', '赅', '赆', '赈', '赉', '赇', '赍', '赕', '赙', '觇', '觊', '觋', '觌', '觎', '觏', '觐', '觑', '牮', '犟', '牝', '牦', '牯', '牾', '牿', '犄', '犋', '犍', '犏', '犒', '挈', '挲', '掰', '搿', '擘', '耄', '毪', '毳', '毽', '毵', '毹', '氅', '氇', '氆', '氍', '氕', '氘', '氙', '氚', '氡', '氩', '氤', '氪', '氲', '攵', '敕', '敫', '牍', '牒', '牖', '爰', '虢', '刖', '肟', '肜', '肓', '肼', '朊', '肽', '肱', '肫', '肭', '肴', '肷', '胧', '胨', '胩', '胪', '胛', '胂', '胄', '胙', '胍', '胗', '朐', '胝', '胫', '胱', '胴', '胭', '脍', '脎', '胲', '胼', '朕', '脒', '豚', '脶', '脞', '脬', '脘', '脲', '腈', '腌', '腓', '腴', '腙', '腚', '腱', '腠', '腩', '腼', '腽', '腭', '腧', '塍', '媵', '膈', '膂', '膑', '滕', '膣', '膪', '臌', '朦', '臊', '膻', '臁', '膦', '欤', '欷', '欹', '歃', '歆', '歙', '飑', '飒', '飓', '飕', '飙', '飚', '殳', '彀', '毂', '觳', '斐', '齑', '斓', '於', '旆', '旄', '旃', '旌', '旎', '旒', '旖', '炀', '炜', '炖', '炝', '炻', '烀', '炷', '炫', '炱', '烨', '烊', '焐', '焓', '焖', '焯', '焱', '煳', '煜', '煨', '煅', '煲', '煊', '煸', '煺', '熘', '熳', '熵', '熨', '熠', '燠', '燔', '燧', '燹', '爝', '爨', '灬', '焘', '煦', '熹', '戾', '戽', '扃', '扈', '扉', '礻', '祀', '祆', '祉', '祛', '祜', '祓', '祚', '祢', '祗', '祠', '祯', '祧', '祺', '禅', '禊', '禚', '禧', '禳', '忑', '忐', '怼', '恝', '恚', '恧', '恁', '恙', '恣', '悫', '愆', '愍', '慝', '憩', '憝', '懋', '懑', '戆', '肀', '聿', '沓', '泶', '淼', '矶', '矸', '砀', '砉', '砗', '砘', '砑', '斫', '砭', '砜', '砝', '砹', '砺', '砻', '砟', '砼', '砥', '砬', '砣', '砩', '硎', '硭', '硖', '硗', '砦', '硐', '硇', '硌', '硪', '碛', '碓', '碚', '碇', '碜', '碡', '碣', '碲', '碹', '碥', '磔', '磙', '磉', '磬', '磲', '礅', '磴', '礓', '礤', '礞', '礴', '龛', '黹', '黻', '黼', '盱', '眄', '眍', '盹', '眇', '眈', '眚', '眢', '眙', '眭', '眦', '眵', '眸', '睐', '睑', '睇', '睃', '睚', '睨', '睢', '睥', '睿', '瞍', '睽', '瞀', '瞌', '瞑', '瞟', '瞠', '瞰', '瞵', '瞽', '町', '畀', '畎', '畋', '畈', '畛', '畲', '畹', '疃', '罘', '罡', '罟', '詈', '罨', '罴', '罱', '罹', '羁', '罾', '盍', '盥', '蠲', '钅', '钆', '钇', '钋', '钊', '钌', '钍', '钏', '钐', '钔', '钗', '钕', '钚', '钛', '钜', '钣', '钤', '钫', '钪', '钭', '钬', '钯', '钰', '钲', '钴', '钶', '钷', '钸', '钹', '钺', '钼', '钽', '钿', '铄', '铈', '铉', '铊', '铋', '铌', '铍', '铎', '铐', '铑', '铒', '铕', '铖', '铗', '铙', '铘', '铛', '铞', '铟', '铠', '铢', '铤', '铥', '铧', '铨', '铪', '铩', '铫', '铮', '铯', '铳', '铴', '铵', '铷', '铹', '铼', '铽', '铿', '锃', '锂', '锆', '锇', '锉', '锊', '锍', '锎', '锏', '锒', '锓', '锔', '锕', '锖', '锘', '锛', '锝', '锞', '锟', '锢', '锪', '锫', '锩', '锬', '锱', '锲', '锴', '锶', '锷', '锸', '锼', '锾', '锿', '镂', '锵', '镄', '镅', '镆', '镉', '镌', '镎', '镏', '镒', '镓', '镔', '镖', '镗', '镘', '镙', '镛', '镞', '镟', '镝', '镡', '镢', '镤', '镥', '镦', '镧', '镨', '镩', '镪', '镫', '镬', '镯', '镱', '镲', '镳', '锺', '矧', '矬', '雉', '秕', '秭', '秣', '秫', '稆', '嵇', '稃', '稂', '稞', '稔', '稹', '稷', '穑', '黏', '馥', '穰', '皈', '皎', '皓', '皙', '皤', '瓞', '瓠', '甬', '鸠', '鸢', '鸨', '鸩', '鸪', '鸫', '鸬', '鸲', '鸱', '鸶', '鸸', '鸷', '鸹', '鸺', '鸾', '鹁', '鹂', '鹄', '鹆', '鹇', '鹈', '鹉', '鹋', '鹌', '鹎', '鹑', '鹕', '鹗', '鹚', '鹛', '鹜', '鹞', '鹣', '鹦', '鹧', '鹨', '鹩', '鹪', '鹫', '鹬', '鹱', '鹭', '鹳', '疒', '疔', '疖', '疠', '疝', '疬', '疣', '疳', '疴', '疸', '痄', '疱', '疰', '痃', '痂', '痖', '痍', '痣', '痨', '痦', '痤', '痫', '痧', '瘃', '痱', '痼', '痿', '瘐', '瘀', '瘅', '瘌', '瘗', '瘊', '瘥', '瘘', '瘕', '瘙', '瘛', '瘼', '瘢', '瘠', '癀', '瘭', '瘰', '瘿', '瘵', '癃', '瘾', '瘳', '癍', '癞', '癔', '癜', '癖', '癫', '癯', '翊', '竦', '穸', '穹', '窀', '窆', '窈', '窕', '窦', '窠', '窬', '窨', '窭', '窳', '衤', '衩', '衲', '衽', '衿', '袂', '袢', '裆', '袷', '袼', '裉', '裢', '裎', '裣', '裥', '裱', '褚', '裼', '裨', '裾', '裰', '褡', '褙', '褓', '褛', '褊', '褴', '褫', '褶', '襁', '襦', '襻', '疋', '胥', '皲', '皴', '矜', '耒', '耔', '耖', '耜', '耠', '耢', '耥', '耦', '耧', '耩', '耨', '耱', '耋', '耵', '聃', '聆', '聍', '聒', '聩', '聱', '覃', '顸', '颀', '颃', '颉', '颌', '颍', '颏', '颔', '颚', '颛', '颞', '颟', '颡', '颢', '颥', '颦', '虍', '虔', '虬', '虮', '虿', '虺', '虼', '虻', '蚨', '蚍', '蚋', '蚬', '蚝', '蚧', '蚣', '蚪', '蚓', '蚩', '蚶', '蛄', '蚵', '蛎', '蚰', '蚺', '蚱', '蚯', '蛉', '蛏', '蚴', '蛩', '蛱', '蛲', '蛭', '蛳', '蛐', '蜓', '蛞', '蛴', '蛟', '蛘', '蛑', '蜃', '蜇', '蛸', '蜈', '蜊', '蜍', '蜉', '蜣', '蜻', '蜞', '蜥', '蜮', '蜚', '蜾', '蝈', '蜴', '蜱', '蜩', '蜷', '蜿', '螂', '蜢', '蝽', '蝾', '蝻', '蝠', '蝰', '蝌', '蝮', '螋', '蝓', '蝣', '蝼', '蝤', '蝙', '蝥', '螓', '螯', '螨', '蟒', '蟆', '螈', '螅', '螭', '螗', '螃', '螫', '蟥', '螬', '螵', '螳', '蟋', '蟓', '螽', '蟑', '蟀', '蟊', '蟛', '蟪', '蟠', '蟮', '蠖', '蠓', '蟾', '蠊', '蠛', '蠡', '蠹', '蠼', '缶', '罂', '罄', '罅', '舐', '竺', '竽', '笈', '笃', '笄', '笕', '笊', '笫', '笏', '筇', '笸', '笪', '笙', '笮', '笱', '笠', '笥', '笤', '笳', '笾', '笞', '筘', '筚', '筅', '筵', '筌', '筝', '筠', '筮', '筻', '筢', '筲', '筱', '箐', '箦', '箧', '箸', '箬', '箝', '箨', '箅', '箪', '箜', '箢', '箫', '箴', '篑', '篁', '篌', '篝', '篚', '篥', '篦', '篪', '簌', '篾', '篼', '簏', '簖', '簋', '簟', '簪', '簦', '簸', '籁', '籀', '臾', '舁', '舂', '舄', '臬', '衄', '舡', '舢', '舣', '舭', '舯', '舨', '舫', '舸', '舻', '舳', '舴', '舾', '艄', '艉', '艋', '艏', '艚', '艟', '艨', '衾', '袅', '袈', '裘', '裟', '襞', '羝', '羟', '羧', '羯', '羰', '羲', '籼', '敉', '粑', '粝', '粜', '粞', '粢', '粲', '粼', '粽', '糁', '糇', '糌', '糍', '糈', '糅', '糗', '糨', '艮', '暨', '羿', '翎', '翕', '翥', '翡', '翦', '翩', '翮', '翳', '糸', '絷', '綦', '綮', '繇', '纛', '麸', '麴', '赳', '趄', '趔', '趑', '趱', '赧', '赭', '豇', '豉', '酊', '酐', '酎', '酏', '酤', '酢', '酡', '酰', '酩', '酯', '酽', '酾', '酲', '酴', '酹', '醌', '醅', '醐', '醍', '醑', '醢', '醣', '醪', '醭', '醮', '醯', '醵', '醴', '醺', '豕', '鹾', '趸', '跫', '踅', '蹙', '蹩', '趵', '趿', '趼', '趺', '跄', '跖', '跗', '跚', '跞', '跎', '跏', '跛', '跆', '跬', '跷', '跸', '跣', '跹', '跻', '跤', '踉', '跽', '踔', '踝', '踟', '踬', '踮', '踣', '踯', '踺', '蹀', '踹', '踵', '踽', '踱', '蹉', '蹁', '蹂', '蹑', '蹒', '蹊', '蹰', '蹶', '蹼', '蹯', '蹴', '躅', '躏', '躔', '躐', '躜', '躞', '豸', '貂', '貊', '貅', '貘', '貔', '斛', '觖', '觞', '觚', '觜', '觥', '觫', '觯', '訾', '謦', '靓', '雩', '雳', '雯', '霆', '霁', '霈', '霏', '霎', '霪', '霭', '霰', '霾', '龀', '龃', '龅', '龆', '龇', '龈', '龉', '龊', '龌', '黾', '鼋', '鼍', '隹', '隼', '隽', '雎', '雒', '瞿', '雠', '銎', '銮', '鋈', '錾', '鍪', '鏊', '鎏', '鐾', '鑫', '鱿', '鲂', '鲅', '鲆', '鲇', '鲈', '稣', '鲋', '鲎', '鲐', '鲑', '鲒', '鲔', '鲕', '鲚', '鲛', '鲞', '鲟', '鲠', '鲡', '鲢', '鲣', '鲥', '鲦', '鲧', '鲨', '鲩', '鲫', '鲭', '鲮', '鲰', '鲱', '鲲', '鲳', '鲴', '鲵', '鲶', '鲷', '鲺', '鲻', '鲼', '鲽', '鳄', '鳅', '鳆', '鳇', '鳊', '鳋', '鳌', '鳍', '鳎', '鳏', '鳐', '鳓', '鳔', '鳕', '鳗', '鳘', '鳙', '鳜', '鳝', '鳟', '鳢', '靼', '鞅', '鞑', '鞒', '鞔', '鞯', '鞫', '鞣', '鞲', '鞴', '骱', '骰', '骷', '鹘', '骶', '骺', '骼', '髁', '髀', '髅', '髂', '髋', '髌', '髑', '魅', '魃', '魇', '魉', '魈', '魍', '魑', '飨', '餍', '餮', '饕', '饔', '髟', '髡', '髦', '髯', '髫', '髻', '髭', '髹', '鬈', '鬏', '鬓', '鬟', '鬣', '麽', '麾', '縻', '麂', '麇', '麈', '麋', '麒', '鏖', '麝', '麟', '黛', '黜', '黝', '黠', '黟', '黢', '黩', '黧', '黥', '黪', '黯', '鼢', '鼬', '鼯', '鼹', '鼷', '鼽', '鼾', '齄']
 
 async function connect() {
     if (!('serial' in navigator)) {
@@ -955,20 +984,20 @@ async function sendPacket(port, data) {
  */
 function uint8ArrayToHexString(uint8Array) {
     return Array.from(uint8Array)
-      .map((byte) => byte.toString(16).padStart(2, '0'))
-      .join('');
+        .map((byte) => byte.toString(16).padStart(2, '0'))
+        .join('');
 }
 
 function uint8ArrayToHexReverseString(uint8Array) {
     return Array.from(uint8Array)
-      .map((byte) => byte.toString(16).padStart(2, '0')).reverse()
-      .join('');
+        .map((byte) => byte.toString(16).padStart(2, '0')).reverse()
+        .join('');
 }
 
 function hexReverseStringToUint8Array(hexReverseString) {
     const packet = new Uint8Array(hexReverseString.length / 2);
     let offset = 0;
-    [...(hexReverseString.matchAll(/[0-9a-f]{2}/g))].reverse().map(e=>{
+    [...(hexReverseString.matchAll(/[0-9a-f]{2}/g))].reverse().map(e => {
         packet.set([parseInt(e, 16)], offset);
         offset += 1;
     })
@@ -980,48 +1009,85 @@ async function eeprom_init(port) {
     await sendPacket(port, packet);
     const response = await readPacket(port, 0x15);
     const decoder = new TextDecoder();
-    const version = new Uint8Array(response.slice(4, 4+16));
+    const version = new Uint8Array(response.slice(4, 4 + 16));
     return decoder.decode(version.slice(0, version.indexOf(0)));
 }
 
-async function eeprom_read(port, address, size=0x80) {
-    // packet format: uint16 ID, uint16 length, uint16 address, uint8 size, uint8 padding, uint32 timestamp
-    // size can be up to 0x80 bytes
-    const address_msb = (address & 0xff00) >> 8;
-    const address_lsb = address & 0xff;
+async function eeprom_read(port, address, size = 0x80, protocol = "official") {
+    if (protocol == "official") {
+        // packet format: uint16 ID, uint16 length, uint16 address, uint8 size, uint8 padding, uint32 timestamp
+        // size can be up to 0x80 bytes
+        const address_msb = (address & 0xff00) >> 8;
+        const address_lsb = address & 0xff;
 
-    const address_msb_h = (address & 0xff000000) >> 24;
-    const address_lsb_h = (address & 0xff0000) >> 16;
-    
-    const packet = new Uint8Array([0x2b, 0x05, 0x08, 0x00, address_lsb_h, address_msb_h, size, 0x00, 0xff, 0xff, 0xff, 0xff, address_lsb, address_msb]);
+        const packet = new Uint8Array([0x1b, 0x05, 0x08, 0x00, address_lsb, address_msb, size, 0x00, 0xff, 0xff, 0xff, 0xff]);
 
-    await sendPacket(port, packet);
-    const response = await readPacket(port, 0x1c);
+        await sendPacket(port, packet);
+        const response = await readPacket(port, 0x1c);
 
-    // reply format: uint16 ID, uint16 length, uint16 offset, uint8 size, uint8 padding, uint8[128] data
-    // extract data from response using size
-    const data = new Uint8Array(response.slice(8));
-    return data;
+        // reply format: uint16 ID, uint16 length, uint16 offset, uint8 size, uint8 padding, uint8[128] data
+        // extract data from response using size
+        if (response[6] !== size) {
+            throw ('eeprom read reply has wrong size.');
+        }
+        const data = new Uint8Array(response.slice(8));
+        return data;
+    } else {
+        // packet format: uint16 ID, uint16 length, uint16 address, uint8 size, uint8 padding, uint32 timestamp
+        // size can be up to 0x80 bytes
+        const address_msb = (address & 0xff00) >> 8;
+        const address_lsb = address & 0xff;
+
+        const address_msb_h = (address & 0xff000000) >> 24;
+        const address_lsb_h = (address & 0xff0000) >> 16;
+
+        const packet = new Uint8Array([0x2b, 0x05, 0x08, 0x00, address_lsb_h, address_msb_h, size, 0x00, 0xff, 0xff, 0xff, 0xff, address_lsb, address_msb]);
+
+        await sendPacket(port, packet);
+        const response = await readPacket(port, 0x1c);
+
+        // reply format: uint16 ID, uint16 length, uint16 offset, uint8 size, uint8 padding, uint8[128] data
+        // extract data from response using size
+        const data = new Uint8Array(response.slice(8));
+        return data;
+    }
 }
 
-async function eeprom_write(port, address, input, size=0x80){
-    // packet format: uint16 ID, uint16 length, uint16 address, uint8 size, uint8 padding, uint32 timestamp
-    // size can be up to 0x80 bytes
-    const address_msb = (address & 0xff00) >> 8;
-    const address_lsb = address & 0xff;
+async function eeprom_write(port, address, input, size = 0x80, protocol = "official") {
+    if (protocol == "official") {
+        // packet format: uint16 ID, uint16 length, uint16 address, uint8 size, uint8 padding, uint32 timestamp
+        // size can be up to 0x80 bytes
+        const address_msb = (address & 0xff00) >> 8;
+        const address_lsb = address & 0xff;
 
-    const address_msb_h = (address & 0xff000000) >> 24;
-    const address_lsb_h = (address & 0xff0000) >> 16;
-    
-    const packet = new Uint8Array([0x38, 0x05, 0x1c, 0x00, address_lsb_h, address_msb_h, size + 2, 0x00, 0xff, 0xff, 0xff, 0xff, address_lsb, address_msb]);
-    const mergedArray = new Uint8Array(packet.length + input.length);
-    mergedArray.set(packet);
-    mergedArray.set(input, packet.length);
+        const packet = new Uint8Array([0x1d, 0x05, size + 8, 0, address_lsb, address_msb, size, 1, 0xff, 0xff, 0xff, 0xff]);
+        const mergedArray = new Uint8Array(packet.length + input.length);
+        mergedArray.set(packet);
+        mergedArray.set(input, packet.length);
 
-    await sendPacket(port, mergedArray);
-    const response = await readPacket(port, 0x1e);
-    
-    return true;
+        await sendPacket(port, mergedArray);
+        const response = await readPacket(port, 0x1e);
+
+        return true;
+    } else {
+        // packet format: uint16 ID, uint16 length, uint16 address, uint8 size, uint8 padding, uint32 timestamp
+        // size can be up to 0x80 bytes
+        const address_msb = (address & 0xff00) >> 8;
+        const address_lsb = address & 0xff;
+
+        const address_msb_h = (address & 0xff000000) >> 24;
+        const address_lsb_h = (address & 0xff0000) >> 16;
+
+        const packet = new Uint8Array([0x38, 0x05, 0x1c, 0x00, address_lsb_h, address_msb_h, size + 2, 0x00, 0xff, 0xff, 0xff, 0xff, address_lsb, address_msb]);
+        const mergedArray = new Uint8Array(packet.length + input.length);
+        mergedArray.set(packet);
+        mergedArray.set(input, packet.length);
+
+        await sendPacket(port, mergedArray);
+        const response = await readPacket(port, 0x1e);
+
+        return true;
+    }
 }
 
 async function eeprom_reboot(port) {
@@ -1029,50 +1095,91 @@ async function eeprom_reboot(port) {
     const packet = new Uint8Array([0xdd, 0x05]);
     await sendPacket(port, packet);
     return true;
-} 
+}
 
-async function check_eeprom(port){
+async function check_eeprom(port) {
     alert('TODO')
     return null;
 }
 
-function uint8ArrayToString(uint8Array){
-    let dataString = "";
-    let last_byte = 0x00
-    for (var i = 0; i < uint8Array.length; i++) {
-        if(last_byte == 0x00 && uint8Array[i] == 0xFF || uint8Array[i] == 0x00)break;
-        if(uint8Array[i] >= 0x80 && last_byte == 0x00){
-            last_byte = uint8Array[i]
-            continue
-        };
-        if(last_byte != 0x00){
-            try{
-                dataString += FONT_MAPPING_117[last_byte][uint8Array[i]]
-            }catch{}
-            last_byte = 0x00
-            continue
+function uint8ArrayToString(uint8Array, charset = "official") {
+    if (charset == "losehu") {
+        let dataString = "";
+        let last_byte = 0x00
+        for (var i = 0; i < uint8Array.length; i++) {
+            if (last_byte == 0x00 && uint8Array[i] == 0xFF || uint8Array[i] == 0x00) break;
+            if (uint8Array[i] >= 0x80 && last_byte == 0x00) {
+                last_byte = uint8Array[i]
+                continue
+            };
+            if (last_byte != 0x00) {
+                try {
+                    dataString += FONT_MAPPING_117[last_byte][uint8Array[i]]
+                } catch { }
+                last_byte = 0x00
+                continue
+            }
+            dataString += String.fromCharCode(uint8Array[i]);
         }
-      dataString += String.fromCharCode(uint8Array[i]);
+        return dataString
+    }
+    if (charset == "gb2312") {
+        let dataString = "";
+        let last_byte = 0x00
+        for (var i = 0; i < uint8Array.length; i++) {
+            if (last_byte == 0x00 && uint8Array[i] == 0xFF || uint8Array[i] == 0x00) break;
+            if (uint8Array[i] >= 0x80 && last_byte == 0x00) {
+                last_byte = uint8Array[i]
+                continue
+            };
+            if (last_byte != 0x00) {
+                try {
+                    dataString += new TextDecoder("gb2312").decode(new Uint8Array([last_byte, uint8Array[i]]))
+                } catch { }
+                last_byte = 0x00
+                continue
+            }
+            dataString += String.fromCharCode(uint8Array[i]);
+        }
+        return dataString
+    }
+    let dataString = "";
+    for (var i = 0; i < uint8Array.length; i++) {
+        if (uint8Array[i] == 0xFF || uint8Array[i] == 0x00 || uint8Array[i] >= 0x80) break;
+        dataString += String.fromCharCode(uint8Array[i]);
     }
     return dataString
 }
 
-String.prototype.gblen = function() {    
-    var len = 0;    
-    for (var i=0; i<this.length; i++) {    
-        if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) {    
-             len += 2;    
-         } else {    
-             len ++;    
-         }    
-     }    
-    return len;    
+String.prototype.gblen = function () {
+    var len = 0;
+    for (var i = 0; i < this.length; i++) {
+        if (this.charCodeAt(i) > 127 || this.charCodeAt(i) == 94) {
+            len += 2;
+        } else {
+            len++;
+        }
+    }
+    return len;
 }
 
-function stringToUint8Array(string){
+function stringToUint8Array(string, charset = "official") {
+    if (charset == "gb2312") {
+        const packet = [];
+        for (var i = 0; i < string.length; i++) {
+            if (FONT_MAPPING_118_MAP.indexOf(string[i]) != -1) {
+                packet.push(...new TextEncoder("gb2312", {
+                    NONSTANDARD_allowLegacyEncoding: true,
+                }).encode(string[i]))
+                continue
+            }
+            packet.push(string[i].charCodeAt())
+        }
+        return new Uint8Array(packet);
+    }
     const packet = [];
     for (var i = 0; i < string.length; i++) {
-        if(FONT_MAPPING_117_MAP.indexOf(string[i]) != -1){
+        if (FONT_MAPPING_117_MAP.indexOf(string[i]) != -1) {
             packet.push(...getFontByte(string[i]))
             continue
         }
@@ -1081,20 +1188,20 @@ function stringToUint8Array(string){
     return new Uint8Array(packet);
 }
 
-function getFontByte(string){
+function getFontByte(string) {
     let flag = false;
     let last_byte = 0x00;
     let byte = 0x00;
-    Object.keys(FONT_MAPPING_117).some(x=>{
-        Object.keys(FONT_MAPPING_117[x]).some(y=>{
-            if(FONT_MAPPING_117[x][y] == string){
+    Object.keys(FONT_MAPPING_117).some(x => {
+        Object.keys(FONT_MAPPING_117[x]).some(y => {
+            if (FONT_MAPPING_117[x][y] == string) {
                 flag = true;
                 last_byte = x;
                 byte = y;
                 return true;
             }
         })
-        if(flag)return true;
+        if (flag) return true;
     })
     return [parseInt(last_byte), parseInt(byte)]
 }
diff --git a/src/views/dashboard/workplace/components/banner.vue b/src/views/dashboard/workplace/components/banner.vue
index b3b558c..f69b955 100644
--- a/src/views/dashboard/workplace/components/banner.vue
+++ b/src/views/dashboard/workplace/components/banner.vue
@@ -6,11 +6,13 @@
       </a-typography-title>
     </a-col>
     <a-divider class="panel-border" />
-    <a-card v-show="appStore.connectState" :style="{ width: '360px', marginTop: '2em', marginBottom: '2em' }" title="手台信息">
-        当前固件版本:{{ appStore.firmwareVersion }} <br />
-        匹配写频配置:{{ appStore.configuration?.name }} <br />
-        存储大小:{{ state.eepromSize }} <a-button size="mini" type="primary" @click="checkEeprom">检测</a-button>
-    </a-card>
+    <a-space>
+      <a-card v-show="appStore.connectState" :style="{ marginTop: '2em', marginBottom: '2em' }" title="手台信息">
+          当前固件版本:{{ appStore.firmwareVersion }} <br />
+          匹配写频配置:{{ appStore.configuration?.name }} <br />
+          存储大小:{{ state.eepromSize }} <a-button size="mini" type="primary" @click="checkEeprom">检测</a-button>
+      </a-card>
+    </a-space>
   </a-col>
 </template>
 
@@ -25,6 +27,7 @@
   })
 
   const checkEeprom = async () => {
+    alert('TODO');
   }
 </script>
 
diff --git a/src/views/guide/f117/index.vue b/src/views/guide/f117/index.vue
index 684d817..7ccbc39 100644
--- a/src/views/guide/f117/index.vue
+++ b/src/views/guide/f117/index.vue
@@ -195,7 +195,7 @@ const backupRange = async (start: any, end: any, name: any = new Date() + '_back
   await eeprom_init(appStore.connectPort);
   let rawEEPROM = new Uint8Array(end - start);
   for (let i = start; i < end; i += 0x80) {
-    const data = await eeprom_read(appStore.connectPort, i);
+    const data = await eeprom_read(appStore.connectPort, i, 0x80, appStore.configuration?.uart);
     rawEEPROM.set(data, i - start);
   }
   const blob = new Blob([rawEEPROM], { type: 'application/octet-stream' });
@@ -213,7 +213,7 @@ const backupRange = async (start: any, end: any, name: any = new Date() + '_back
 const restoreRange = async (start: any = 0, uint8Array: any) => {
   await eeprom_init(appStore.connectPort);
   for (let i = start; i < uint8Array.length + start; i += 0x80) {
-    await eeprom_write(appStore.connectPort, i, uint8Array.slice(i - start, i - start + 0x80));
+    await eeprom_write(appStore.connectPort, i, uint8Array.slice(i - start, i - start + 0x80), 0x80, appStore.configuration?.uart);
   }
   await eeprom_reboot(appStore.connectPort);
 }
diff --git a/src/views/list/card/index.vue b/src/views/list/card/index.vue
index f5319cd..00f5a04 100644
--- a/src/views/list/card/index.vue
+++ b/src/views/list/card/index.vue
@@ -56,7 +56,7 @@ const backupRange = async (start: any, end: any, name: any = new Date() + '_back
   await eeprom_init(appStore.connectPort);
   let rawEEPROM = new Uint8Array(end - start);
   for (let i = start; i < end; i += 0x80) {
-    const data = await eeprom_read(appStore.connectPort, i);
+    const data = await eeprom_read(appStore.connectPort, i, 0x80, appStore.configuration?.uart);
     rawEEPROM.set(data, i - start);
     state.status = state.status + "备份进度:" + (((i - start) / rawEEPROM.length) * 100).toFixed(1) + "%<br/>";
     nextTick(()=>{
@@ -89,7 +89,7 @@ const restoreRange = async (start: any = 0) => {
     const blob = new Blob([input.files[0]], {type: 'application/octet-stream' });
     const rawEEPROM = new Uint8Array(await blob.arrayBuffer());
     for (let i = start; i < input.files[0].size + start; i += 0x80) {
-      await eeprom_write(appStore.connectPort, i, rawEEPROM.slice(i - start, i - start + 0x80));
+      await eeprom_write(appStore.connectPort, i, rawEEPROM.slice(i - start, i - start + 0x80), 0x80, appStore.configuration?.uart);
       state.status = state.status + "恢复进度:" + (((i - start) / input.files[0].size) * 100).toFixed(1) + "%<br/>";
       nextTick(()=>{
         const textarea = document?.getElementById('statusArea');
@@ -139,6 +139,10 @@ const backup = async() => {
     default:
       _max = 0x2000;
   }
+  if(appStore.configuration?.uart == "official" && _max >= 0x20000){
+    alert('该固件不支持备份扩容空间');
+    return;
+  }
   await backupRange(0, _max)
 }
 
diff --git a/src/views/list/chi/index.vue b/src/views/list/chi/index.vue
index 9d1de39..1844c03 100644
--- a/src/views/list/chi/index.vue
+++ b/src/views/list/chi/index.vue
@@ -32,7 +32,7 @@ const state = reactive({
 const restoreRange = async (start: any = 0, uint8Array: any) => {
   await eeprom_init(appStore.connectPort);
   for (let i = start; i < uint8Array.length + start; i += 0x80) {
-    await eeprom_write(appStore.connectPort, i, uint8Array.slice(i - start, i - start + 0x80));
+    await eeprom_write(appStore.connectPort, i, uint8Array.slice(i - start, i - start + 0x80), 0x80, appStore.configuration?.uart);
     state.status = state.status + "写入进度:" + (((i - start) / uint8Array.length) * 100).toFixed(1) + "%<br/>";
     nextTick(()=>{
       const textarea = document?.getElementById('statusArea');
@@ -45,6 +45,22 @@ const restoreRange = async (start: any = 0, uint8Array: any) => {
 
 const restore = async(type: any = 1) => {
   if(appStore.connectState != true){alert('请先连接手台!'); return;};
+  if(appStore.configuration?.uart == "official"){
+    alert('固件版本不匹配');
+    return;
+  }
+  if((type == 1 && appStore.configuration?.charset != "losehu") || (type == 1 && appStore.configuration?.K != true)){
+    alert('固件版本不匹配');
+    return;
+  }
+  if((type == 2 && appStore.configuration?.charset != "gb2312") || (type == 2 && appStore.configuration?.K != true)){
+    alert('固件版本不匹配');
+    return;
+  }
+  if((type == 3 && appStore.configuration?.charset != "gb2312") || (type == 3 && appStore.configuration?.H != true)){
+    alert('固件版本不匹配');
+    return;
+  }
   state.status = state.status + "正在下载字库...<br />"
   let fontPacket = undefined
   switch(type){
diff --git a/src/views/list/flash/index.vue b/src/views/list/flash/index.vue
index f1aefbd..9d661c8 100644
--- a/src/views/list/flash/index.vue
+++ b/src/views/list/flash/index.vue
@@ -20,7 +20,7 @@
 <script lang="ts" setup>
 import { reactive, nextTick } from 'vue';
 import { useAppStore } from '@/store';
-import { eeprom_write, eeprom_reboot, eeprom_init, disconnect, connect, readPacket, sendPacket, unpackVersion, unpack, flash_generateCommand } from '@/utils/serial.js';
+import { disconnect, connect, readPacket, sendPacket, unpackVersion, unpack, flash_generateCommand } from '@/utils/serial.js';
 
 const appStore = useAppStore();
 
@@ -88,7 +88,8 @@ const flashIt = async () => {
     const textarea = document?.getElementById('statusArea');
     if(textarea)textarea.scrollTop = textarea?.scrollHeight;
   })
-  appStore.updateSettings({ connectPort: _connect });
+  disconnect(_connect);
+  appStore.updateSettings({ connectState: false });
 }
 </script>
 
diff --git a/src/views/list/image/index.vue b/src/views/list/image/index.vue
index 2e575f5..8d73915 100644
--- a/src/views/list/image/index.vue
+++ b/src/views/list/image/index.vue
@@ -103,13 +103,25 @@ const selectFile = () => {
 
 const flashIt = async () => {
   if(appStore.connectState != true){alert('请先连接手台!'); return;};
+  if(appStore.configuration?.uart == "official"){
+    alert('固件版本不匹配');
+    return;
+  }
+  if(state.activeKey == 2 && appStore.configuration?.charset != "gb2312"){
+    alert('固件版本不匹配');
+    return;
+  }
+  if(state.activeKey == 1 && appStore.configuration?.charset != "losehu"){
+    alert('固件版本不匹配');
+    return;
+  }
   state.loading = true
   let position = 0x1E350;
   if(state.activeKey == 2)position = 0x2080;
   await eeprom_init(appStore.connectPort);
   const rawEEPROM = state.binaryFile;
   for (let i = position; i < rawEEPROM.length + position; i += 0x80) {
-    await eeprom_write(appStore.connectPort, i, rawEEPROM.slice(i - position, i - position + 0x80));
+    await eeprom_write(appStore.connectPort, i, rawEEPROM.slice(i - position, i - position + 0x80), 0x80, appStore.configuration?.uart);
   }
   await eeprom_reboot(appStore.connectPort);
   state.loading = false
diff --git a/src/views/list/search-table/index.vue b/src/views/list/search-table/index.vue
index 3c0e2fe..84139ba 100644
--- a/src/views/list/search-table/index.vue
+++ b/src/views/list/search-table/index.vue
@@ -298,12 +298,12 @@
     setLoading(true)
     let rawEEPROM  = new Uint8Array(0x0C80);
     for (let i = 0; i < 0x0C80; i += 0x80) {
-      const _data = await eeprom_read(appStore.connectPort, i)
+      const _data = await eeprom_read(appStore.connectPort, i, 0x80, appStore.configuration?.uart)
       rawEEPROM.set(_data, i)
     }
     let rawEEPROM3 = new Uint8Array(0x0C80);
     for (let i = 0x0F50; i < 0x1BD0; i += 0x80) {
-      const _data = await eeprom_read(appStore.connectPort, i, 0x80)
+      const _data = await eeprom_read(appStore.connectPort, i, 0x80, appStore.configuration?.uart)
       rawEEPROM3.set(_data, i - 0x0F50)
     }
     let x = 0;
@@ -347,7 +347,7 @@
         _channelData.pttid     = state.pttidOption[(_channelData.pttid_dtmf >> 1) - 1]
         _channelData.dtmf      = _channelData.pttid_dtmf >> 0 & 0x01 ? true : false
         _channelData.mode      = parseInt(_channel.substr(8, 1), 16).toString()
-        _channelData.name      = uint8ArrayToString(rawEEPROM3.subarray(i, i + 0x10))
+        _channelData.name      = uint8ArrayToString(rawEEPROM3.subarray(i, i + 0x10), appStore.configuration?.charset)
       }
       _renderData.push(_channelData)
       x += 1;
@@ -423,7 +423,7 @@
         rawEEPROM2.set([0xC5], i >> 4)
 
         const mergedArray = new Uint8Array(0x10);
-        mergedArray.set(stringToUint8Array(_channel.name).subarray(0, 0x10), 0);
+        mergedArray.set(stringToUint8Array(_channel.name, appStore.configuration?.charset).subarray(0, 0x10), 0);
         rawEEPROM3.set(mergedArray, i)
       }else{
         rawEEPROM.set(hexReverseStringToUint8Array("ffffffffffffffffffffffffffffffff"), i)
@@ -433,11 +433,11 @@
       i += 0x10
     })
     for (let i = 0; i < 0x0C80; i += 0x80) {
-      await eeprom_write(appStore.connectPort, i, rawEEPROM.slice(i, i + 0x80));
+      await eeprom_write(appStore.connectPort, i, rawEEPROM.slice(i, i + 0x80), 0x80, appStore.configuration?.uart);
     }
     await eeprom_write(appStore.connectPort, 0x0D60, rawEEPROM2, 0x0C8);
     for (let i = 0x0F50; i < 0x1BD0; i += 0x80) {
-      await eeprom_write(appStore.connectPort, i, rawEEPROM3.slice(i - 0x0F50, i - 0x0F50 + 0x80));
+      await eeprom_write(appStore.connectPort, i, rawEEPROM3.slice(i - 0x0F50, i - 0x0F50 + 0x80), 0x80, appStore.configuration?.uart);
     }
     await eeprom_reboot(appStore.connectPort);
     setLoading(false)