Index: c51/bluetooth.c
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/bluetooth.c	(revision 334)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/bluetooth.c	(working copy)
@@ -200,11 +200,8 @@
 {
 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
 	{
-		#ifdef  ADC_ENABLE
-		if(m_adcCurrentValue < g_variable.battery_level_shutdown)
-			return;
-		#endif
-
+		if (g_variable.update_eeprom_flag != EEPROM_STORE_TYPE_NORMAL)
+			Delay1ms(200);
 		GPIO_Setout(EEPROM_WP_GPIO,0);
 		if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_G24)
 		{
Index: c51/kb_process.c
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/kb_process.c	(revision 334)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/kb_process.c	(working copy)
@@ -54,7 +54,11 @@
 		xmemclear_ff((byte *)bd_key_record_list,sizeof(BD_KEY_RECORD)*3);
 		g_variable.last_device_num = 0xff;
 		g_variable.system_mode = 0xff;
-		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+		Delay1ms(200);
+		GPIO_Setout(EEPROM_WP_GPIO,0);
+		IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)&bd_key_record_list);
+		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
+		GPIO_Setout(EEPROM_WP_GPIO,1);
 		g_variable.key_action = KEY_NONE;
 		break;
 	case KEY_START_24G:
Index: c51/keyscan.c
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/keyscan.c	(revision 334)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/keyscan.c	(working copy)
@@ -13,7 +13,6 @@
 	REG_GPIO_OE(g) &= ~n
 
 
-
 #define GET_RAW_KEY_SEL0(y,x)		GPIO_SetOutput(x, 0); \
 		y = ~ REG_GPIO_IN(0);	\
 		GPIO_SetInput(x, 0)
Index: c51/output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/FW.COD
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.COD	(revision 334)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               02/11/2022  18:28:38  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               12/25/2021  18:52:31  PAGE 1
 
 
 
@@ -299,8 +299,8 @@
 
 ----- FUNCTION _kb_motion_keyscan (BEGIN) -----
  FILE: 'kb_process.c'
-  353: void kb_motion_keyscan(tKSEVENT *pEvt)
-  354: {
+  357: void kb_motion_keyscan(tKSEVENT *pEvt)
+  358: {
 0008C0 904EC5            MOV     DPTR,#pEvt
 0008C3 EB                MOV     A,R3
 0008C4 F0                MOVX    @DPTR,A
@@ -310,18 +310,18 @@
 0008C8 A3                INC     DPTR
 0008C9 E9                MOV     A,R1
 0008CA F0                MOVX    @DPTR,A
-  355: 	byte temp = 0;
-  356: 	byte i=0;
+  359: 	byte temp = 0;
+  360: 	byte i=0;
 0008CB E4                CLR     A
 0008CC A3                INC     DPTR
 0008CD F0                MOVX    @DPTR,A
-  357: 	
+  361: 	
 0008CE A3                INC     DPTR
 0008CF F0                MOVX    @DPTR,A
-  358: 	fn_flag = 0;
+  362: 	fn_flag = 0;
 0008D0 904DE2            MOV     DPTR,#fn_flag
 0008D3 F0                MOVX    @DPTR,A
-  359: 	for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
+  363: 	for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
 0008D4 904EC9            MOV     DPTR,#i
 0008D7 F0                MOVX    @DPTR,A
 0008D8         ?C0070?KB_PROCESS:
@@ -331,8 +331,8 @@
 0008DD C3                CLR     C
 0008DE 9405              SUBB    A,#05H
 0008E0 502C              JNC     ?C0071?KB_PROCESS
-  360: 	{
-  361: 		if (pEvt->ksPool[i] == HID_KEY_FN) 		// Fn key check
+  364: 	{
+  365: 		if (pEvt->ksPool[i] == HID_KEY_FN) 		// Fn key check
 0008E2 904EC5            MOV     DPTR,#pEvt
 0008E5 E0                MOVX    A,@DPTR
 0008E6 FB                MOV     R3,A
@@ -355,13 +355,13 @@
 0008F9 FA                MOV     R2,A
 0008FA 1203B6            LCALL   ?C?CLDPTR
 0008FD B47F06            CJNE    A,#07FH,?C0072?KB_PROCESS
-  362: 		{
-  363: 			fn_flag = 1;
+  366: 		{
+  367: 			fn_flag = 1;
 000900 904DE2            MOV     DPTR,#fn_flag
 000903 7401              MOV     A,#01H
 000905 F0                MOVX    @DPTR,A
-  364: 		}
-  365: 	}
+  368: 		}
+  369: 	}
 000906         ?C0072?KB_PROCESS:
 000906 904EC9            MOV     DPTR,#i
 000909 E0                MOVX    A,@DPTR
@@ -369,9 +369,9 @@
 00090B F0                MOVX    @DPTR,A
 00090C 80CA              SJMP    ?C0070?KB_PROCESS
 00090E         ?C0071?KB_PROCESS:
-  366: 
-  367: 	
-  368: 	if(kb_device_select(pEvt))		// select device or discovery
+  370: 
+  371: 	
+  372: 	if(kb_device_select(pEvt))		// select device or discovery
 00090E 904EC5            MOV     DPTR,#pEvt
 000911 E0                MOVX    A,@DPTR
 000912 FB                MOV     R3,A
@@ -381,13 +381,13 @@
 000916 A3                INC     DPTR
 000917 E0                MOVX    A,@DPTR
 000918 F9                MOV     R1,A
-000919 122799            LCALL   _kb_device_select
+000919 122792            LCALL   _kb_device_select
 00091C EF                MOV     A,R7
 00091D 6002              JZ      $ + 4H
 00091F 616A              AJMP    ?C0075?KB_PROCESS
 000921         ?C0074?KB_PROCESS:
-  369: 		return;
-  370: 	if (pEvt == NULL)
+  373: 		return;
+  374: 	if (pEvt == NULL)
 000921 904EC5            MOV     DPTR,#pEvt
 000924 E0                MOVX    A,@DPTR
 000925 A3                INC     DPTR
@@ -399,136 +399,136 @@
 00092B 7002              JNZ     $ + 4H
 00092D 616A              AJMP    ?C0075?KB_PROCESS
 00092F         ?C0076?KB_PROCESS:
-  371: 		return;
-  372: 
-  373: #ifdef PC_SLEEP_STATUS_GET
-  374: 	if(m_pc_sleep_flag)		// wake from pc sleep,get led status
+  375: 		return;
+  376: 
+  377: #ifdef PC_SLEEP_STATUS_GET
+  378: 	if(m_pc_sleep_flag)		// wake from pc sleep,get led status
 00092F 904D7D            MOV     DPTR,#m_pc_sleep_flag
 000932 E0                MOVX    A,@DPTR
 000933 6008              JZ      ?C0077?KB_PROCESS
-  375: 	{
-  376: 		m_pc_sleep_flag = 0;
+  379: 	{
+  380: 		m_pc_sleep_flag = 0;
 000935 E4                CLR     A
 000936 F0                MOVX    @DPTR,A
-  377: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;	
+  381: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;	
 000937 904D46            MOV     DPTR,#m_24g_led_flag
 00093A 7403              MOV     A,#03H
 00093C F0                MOVX    @DPTR,A
-  378: 	}
+  382: 	}
 00093D         ?C0077?KB_PROCESS:
-  379: #endif
-  380: 	
-  381: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+  383: #endif
+  384: 	
+  385: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
 00093D 904CC7            MOV     DPTR,#g_variable+08H
 000940 E0                MOVX    A,@DPTR
 000941 B40406            CJNE    A,#04H,?C0078?KB_PROCESS
-  382: 	{
-  383: 		kscurrmult = 0x3;
+  386: 	{
+  387: 		kscurrmult = 0x3;
 000944 904213            MOV     DPTR,#kscurrmult
 000947 7403              MOV     A,#03H
 000949 F0                MOVX    @DPTR,A
-  384: 	}
+  388: 	}
 00094A         ?C0078?KB_PROCESS:
-  385: 	delayChgInvTimer = 10;
+  389: 	delayChgInvTimer = 10;
 00094A 904DE6            MOV     DPTR,#delayChgInvTimer
 00094D 740A              MOV     A,#0AH
 00094F F0                MOVX    @DPTR,A
-  386: 	g_variable.sleepTimer = 0;
+  390: 	g_variable.sleepTimer = 0;
 000950 E4                CLR     A
 000951 904CE3            MOV     DPTR,#g_variable+024H
 000954 F0                MOVX    @DPTR,A
 000955 A3                INC     DPTR
 000956 F0                MOVX    @DPTR,A
-  387: 	if(g_variable.battery_status == BAT_STATUS_LOW)
+  391: 	if(g_variable.battery_status == BAT_STATUS_LOW)
 000957 904CD5            MOV     DPTR,#g_variable+016H
 00095A E0                MOVX    A,@DPTR
 00095B B40112            CJNE    A,#01H,?C0079?KB_PROCESS
-  388: 	{
-  389: 		m_24g_enter_hibernate[0]	= 0x00;
+  392: 	{
+  393: 		m_24g_enter_hibernate[0]	= 0x00;
 00095E E4                CLR     A
 00095F 904D40            MOV     DPTR,#m_24g_enter_hibernate
 000962 F0                MOVX    @DPTR,A
-  390: 		m_24g_enter_hibernate[1]	= 0x48;
+  394: 		m_24g_enter_hibernate[1]	= 0x48;
 000963 A3                INC     DPTR
 000964 7448              MOV     A,#048H
 000966 F0                MOVX    @DPTR,A
-  391: 		m_24g_enter_hibernate[2]	= 0x12;		// 100ms
+  395: 		m_24g_enter_hibernate[2]	= 0x12;		// 100ms
 000967 A3                INC     DPTR
 000968 7412              MOV     A,#012H
 00096A F0                MOVX    @DPTR,A
-  392: 		m_24g_enter_hibernate[3]	= 0x00;
+  396: 		m_24g_enter_hibernate[3]	= 0x00;
 00096B E4                CLR     A
 00096C A3                INC     DPTR
 00096D F0                MOVX    @DPTR,A
-  393: 	}
+  397: 	}
 00096E 8010              SJMP    ?C0080?KB_PROCESS
 000970         ?C0079?KB_PROCESS:
-  394: 	else
-  395: 	{
-  396: 		m_24g_enter_hibernate[0]	= 0x00;
+  398: 	else
+  399: 	{
+  400: 		m_24g_enter_hibernate[0]	= 0x00;
 000970 E4                CLR     A
 000971 904D40            MOV     DPTR,#m_24g_enter_hibernate
 000974 F0                MOVX    @DPTR,A
-  397: 		m_24g_enter_hibernate[1]	= 0x48;
+  401: 		m_24g_enter_hibernate[1]	= 0x48;
 000975 A3                INC     DPTR
 000976 7448              MOV     A,#048H
 000978 F0                MOVX    @DPTR,A
-  398: 		m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
+  402: 		m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
 000979 A3                INC     DPTR
 00097A 745D              MOV     A,#05DH
 00097C F0                MOVX    @DPTR,A
-  399: 		m_24g_enter_hibernate[3]	= 0x00;
+  403: 		m_24g_enter_hibernate[3]	= 0x00;
 00097D E4                CLR     A
 00097E A3                INC     DPTR
 00097F F0                MOVX    @DPTR,A
-  400: 	}
+  404: 	}
 000980         ?C0080?KB_PROCESS:
-  401: 	xmemclear(hidBuff,9);
+  405: 	xmemclear(hidBuff,9);
 000980 7B01              MOV     R3,#01H
 000982 7A48              MOV     R2,#HIGH hidBuff
 000984 7900              MOV     R1,#LOW hidBuff
 000986 7D09              MOV     R5,#09H
 000988 7C00              MOV     R4,#00H
 00098A 716B              ACALL   _xmemclear
-  402: 	xmemclear(multikey,9);
+  406: 	xmemclear(multikey,9);
 00098C 7B01              MOV     R3,#01H
 00098E 7A4E              MOV     R2,#HIGH multikey
 000990 794C              MOV     R1,#LOW multikey
 000992 7D09              MOV     R5,#09H
 000994 7C00              MOV     R4,#00H
 000996 716B              ACALL   _xmemclear
-  403: 
-  404: /*
-  405: 	////////////////////////////2.4g pairing////////////////////////////////////
-  406: 	if ((pEvt->ksPool[0]  == HID_KEY_EQUAL&& pEvt->ksPool[1]  == HID_KEY_ESC) 
-  407: 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_EQUAL) 
-  408: 		)
-  409: 	{
-  410: 		m_24g_paring_addr[0] = 0x20;
-  411: 		m_24g_paring_addr[1] = 0x15;
-  412: 		m_24g_paring_addr[2] = 0x10;
-  413: 		m_24g_paring_addr[3] = 0x05;
-  414: 		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
-  415: 		{
-  416: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-  417: 		}
-  418: 		else
+  407: 
+  408: /*
+  409: 	////////////////////////////2.4g pairing////////////////////////////////////
+  410: 	if ((pEvt->ksPool[0]  == HID_KEY_EQUAL&& pEvt->ksPool[1]  == HID_KEY_ESC) 
+  411: 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_EQUAL) 
+  412: 		)
+  413: 	{
+  414: 		m_24g_paring_addr[0] = 0x20;
+  415: 		m_24g_paring_addr[1] = 0x15;
+  416: 		m_24g_paring_addr[2] = 0x10;
+  417: 		m_24g_paring_addr[3] = 0x05;
+  418: 		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
   419: 		{
-  420: 			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  420: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
   421: 		}
-  422: 	}
-  423: 	else
-  424: 	{
-  425: 		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  422: 		else
+  423: 		{
+  424: 			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  425: 		}
   426: 	}
-  427: */
-  428: 
-  429: 
-  430: 	m_power_on_flag = 1;
+  427: 	else
+  428: 	{
+  429: 		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  430: 	}
+  431: */
+  432: 
+  433: 
+  434: 	m_power_on_flag = 1;
 000998 904CB6            MOV     DPTR,#m_power_on_flag
 00099B 7401              MOV     A,#01H
 00099D F0                MOVX    @DPTR,A
-  431: 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
+  435: 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
 00099E 904CF4            MOV     DPTR,#g_variable+035H
 0009A1 E0                MOVX    A,@DPTR
 0009A2 FF                MOV     R7,A
@@ -543,21 +543,21 @@
 0009B1 6402              XRL     A,#02H
 0009B3 7002              JNZ     $ + 4H
 0009B5 616A              AJMP    ?C0075?KB_PROCESS
-  432: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
-  433: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
-  434: 	{
-  435: 		return;
-  436: 	}
+  436: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
+  437: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
+  438: 	{
+  439: 		return;
+  440: 	}
 0009B7         ?C0081?KB_PROCESS:
-  437: 
-  438: 	// get 24g led status
-  439: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  441: 
+  442: 	// get 24g led status
+  443: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
 0009B7 904CC5            MOV     DPTR,#g_variable+06H
 0009BA E0                MOVX    A,@DPTR
 0009BB 6403              XRL     A,#03H
 0009BD 7045              JNZ     ?C0083?KB_PROCESS
-  440: 	{
-  441: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
+  444: 	{
+  445: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
 0009BF 904EC9            MOV     DPTR,#i
 0009C2 F0                MOVX    @DPTR,A
 0009C3         ?C0084?KB_PROCESS:
@@ -567,8 +567,8 @@
 0009C8 C3                CLR     C
 0009C9 9405              SUBB    A,#05H
 0009CB 5037              JNC     ?C0083?KB_PROCESS
-  442: 		{
-  443: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
+  446: 		{
+  447: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
 0009CD 904EC5            MOV     DPTR,#pEvt
 0009D0 E0                MOVX    A,@DPTR
 0009D1 FB                MOV     R3,A
@@ -599,25 +599,25 @@
 0009F2 EF                MOV     A,R7
 0009F3 B44706            CJNE    A,#047H,?C0086?KB_PROCESS
 0009F6         ?C0088?KB_PROCESS:
-  444: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
-  445: 			{
-  446: 				m_24g_led_flag = KB_24G_LED_ACK_TYPE;
+  448: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
+  449: 			{
+  450: 				m_24g_led_flag = KB_24G_LED_ACK_TYPE;
 0009F6 904D46            MOV     DPTR,#m_24g_led_flag
 0009F9 7403              MOV     A,#03H
 0009FB F0                MOVX    @DPTR,A
-  447: 
-  448: 			}
-  449: 		}
+  451: 
+  452: 			}
+  453: 		}
 0009FC         ?C0086?KB_PROCESS:
 0009FC 904EC9            MOV     DPTR,#i
 0009FF E0                MOVX    A,@DPTR
 000A00 04                INC     A
 000A01 F0                MOVX    @DPTR,A
 000A02 80BF              SJMP    ?C0084?KB_PROCESS
-  450: 	}
+  454: 	}
 000A04         ?C0083?KB_PROCESS:
-  451: 
-  452: 	kb_multikey_setup(pEvt);
+  455: 
+  456: 	kb_multikey_setup(pEvt);
 000A04 904EC5            MOV     DPTR,#pEvt
 000A07 E0                MOVX    A,@DPTR
 000A08 FB                MOV     R3,A
@@ -627,48 +627,48 @@
 000A0C A3                INC     DPTR
 000A0D E0                MOVX    A,@DPTR
 000A0E F9                MOV     R1,A
-000A0F 122024            LCALL   _kb_multikey_setup
-  453: 	
-  454: 	if (mult_key_status == KEY_MULIT_PRESS) 
+000A0F 12201D            LCALL   _kb_multikey_setup
+  457: 	
+  458: 	if (mult_key_status == KEY_MULIT_PRESS) 
 000A12 904E4B            MOV     DPTR,#mult_key_status
 000A15 E0                MOVX    A,@DPTR
 000A16 B40111            CJNE    A,#01H,?C0089?KB_PROCESS
-  455: 	{
-  456: 		mult_key_status = KEY_WAIT_RELEASE;
+  459: 	{
+  460: 		mult_key_status = KEY_WAIT_RELEASE;
 000A19 7402              MOV     A,#02H
 000A1B F0                MOVX    @DPTR,A
-  457: 		multikey[0] = HID_REPORTID_2;
+  461: 		multikey[0] = HID_REPORTID_2;
 000A1C 904E4C            MOV     DPTR,#multikey
 000A1F F0                MOVX    @DPTR,A
-  458: 		IPC_TxHidData(multikey, 3);
+  462: 		IPC_TxHidData(multikey, 3);
 000A20 7B01              MOV     R3,#01H
 000A22 7A4E              MOV     R2,#HIGH multikey
 000A24 794C              MOV     R1,#LOW multikey
 000A26 7D03              MOV     R5,#03H
 000A28 8130              AJMP    _IPC_TxHidData
-  459: 	}
+  463: 	}
 000A2A         ?C0089?KB_PROCESS:
-  460: 	else if (mult_key_status == KEY_SYSTEM_PRESS) 
+  464: 	else if (mult_key_status == KEY_SYSTEM_PRESS) 
 000A2A 904E4B            MOV     DPTR,#mult_key_status
 000A2D E0                MOVX    A,@DPTR
 000A2E B40413            CJNE    A,#04H,?C0091?KB_PROCESS
-  461: 	{
-  462: 		mult_key_status = KEY_WAIT_RELEASE;
+  465: 	{
+  466: 		mult_key_status = KEY_WAIT_RELEASE;
 000A31 7402              MOV     A,#02H
 000A33 F0                MOVX    @DPTR,A
-  463: 		multikey[0] = HID_REPORTID_SYSTEM;
+  467: 		multikey[0] = HID_REPORTID_SYSTEM;
 000A34 904E4C            MOV     DPTR,#multikey
 000A37 7406              MOV     A,#06H
 000A39 F0                MOVX    @DPTR,A
-  464: 		IPC_TxHidData(multikey, 3);
+  468: 		IPC_TxHidData(multikey, 3);
 000A3A 7B01              MOV     R3,#01H
 000A3C 7A4E              MOV     R2,#HIGH multikey
 000A3E 794C              MOV     R1,#LOW multikey
 000A40 7D03              MOV     R5,#03H
 000A42 8130              AJMP    _IPC_TxHidData
-  465: 	}
+  469: 	}
 000A44         ?C0091?KB_PROCESS:
-  466: 	else if((mult_key_status == KEY_RELEASE) || (mult_key_status == KEY_WAIT_RELEASE && (!keyCount)))
+  470: 	else if((mult_key_status == KEY_RELEASE) || (mult_key_status == KEY_WAIT_RELEASE && (!keyCount)))
 000A44 904E4B            MOV     DPTR,#mult_key_status
 000A47 E0                MOVX    A,@DPTR
 000A48 6403              XRL     A,#03H
@@ -680,50 +680,50 @@
 000A54 E0                MOVX    A,@DPTR
 000A55 7029              JNZ     ?C0093?KB_PROCESS
 000A57         ?C0094?KB_PROCESS:
-  467: 	{
-  468: 		mult_key_status = KEY_STANDBY;
+  471: 	{
+  472: 		mult_key_status = KEY_STANDBY;
 000A57 E4                CLR     A
 000A58 904E4B            MOV     DPTR,#mult_key_status
 000A5B F0                MOVX    @DPTR,A
-  469: 		mult_key_value = 0;	
+  473: 		mult_key_value = 0;	
 000A5C 904DED            MOV     DPTR,#mult_key_value
 000A5F F0                MOVX    @DPTR,A
-  470: 		if(system_key_press)
+  474: 		if(system_key_press)
 000A60 904DE9            MOV     DPTR,#system_key_press
 000A63 E0                MOVX    A,@DPTR
 000A64 600A              JZ      ?C0095?KB_PROCESS
-  471: 		{
-  472: 			system_key_press = 0;
+  475: 		{
+  476: 			system_key_press = 0;
 000A66 E4                CLR     A
 000A67 F0                MOVX    @DPTR,A
-  473: 			multikey[0] = HID_REPORTID_SYSTEM;
+  477: 			multikey[0] = HID_REPORTID_SYSTEM;
 000A68 904E4C            MOV     DPTR,#multikey
 000A6B 7406              MOV     A,#06H
 000A6D F0                MOVX    @DPTR,A
-  474: 		}
+  478: 		}
 000A6E 8006              SJMP    ?C0096?KB_PROCESS
 000A70         ?C0095?KB_PROCESS:
-  475: 		else	
-  476: 			multikey[0] = HID_REPORTID_2;
+  479: 		else	
+  480: 			multikey[0] = HID_REPORTID_2;
 000A70 904E4C            MOV     DPTR,#multikey
 000A73 7402              MOV     A,#02H
 000A75 F0                MOVX    @DPTR,A
 000A76         ?C0096?KB_PROCESS:
-  477: 		IPC_TxHidData(multikey, 3);
+  481: 		IPC_TxHidData(multikey, 3);
 000A76 7B01              MOV     R3,#01H
 000A78 7A4E              MOV     R2,#HIGH multikey
 000A7A 794C              MOV     R1,#LOW multikey
 000A7C 7D03              MOV     R5,#03H
 000A7E 8130              AJMP    _IPC_TxHidData
-  478: 	}
+  482: 	}
 000A80         ?C0093?KB_PROCESS:
-  479: 	else 
-  480: 	{
-  481: 		if(!keyCount)
+  483: 	else 
+  484: 	{
+  485: 		if(!keyCount)
 000A80 904DE4            MOV     DPTR,#keyCount
 000A83 E0                MOVX    A,@DPTR
 000A84 7016              JNZ     ?C0098?KB_PROCESS
-  482: 			xmemclear(pEvt->ksPool,6);
+  486: 			xmemclear(pEvt->ksPool,6);
 000A86 904EC5            MOV     DPTR,#pEvt
 000A89 E0                MOVX    A,@DPTR
 000A8A FB                MOV     R3,A
@@ -741,12 +741,12 @@
 000A98 7C00              MOV     R4,#00H
 000A9A 716B              ACALL   _xmemclear
 000A9C         ?C0098?KB_PROCESS:
-  483: 	
-  484: 		hidBuff[0] = HID_REPORTID_1;		// standard key send
+  487: 	
+  488: 		hidBuff[0] = HID_REPORTID_1;		// standard key send
 000A9C 904800            MOV     DPTR,#hidBuff
 000A9F 7401              MOV     A,#01H
 000AA1 F0                MOVX    @DPTR,A
-  485: 		hidBuff[1] = pEvt->standardSel;
+  489: 		hidBuff[1] = pEvt->standardSel;
 000AA2 904EC5            MOV     DPTR,#pEvt
 000AA5 E0                MOVX    A,@DPTR
 000AA6 FB                MOV     R3,A
@@ -759,38 +759,38 @@
 000AAD 1203B6            LCALL   ?C?CLDPTR
 000AB0 904801            MOV     DPTR,#hidBuff+01H
 000AB3 F0                MOVX    @DPTR,A
-  486: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  490: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
 000AB4 904CC5            MOV     DPTR,#g_variable+06H
 000AB7 E0                MOVX    A,@DPTR
 000AB8 B4030A            CJNE    A,#03H,?C0099?KB_PROCESS
-  487: 			hidBuff[2] = m_24g_led_flag;
+  491: 			hidBuff[2] = m_24g_led_flag;
 000ABB 904D46            MOV     DPTR,#m_24g_led_flag
 000ABE E0                MOVX    A,@DPTR
 000ABF 904802            MOV     DPTR,#hidBuff+02H
 000AC2 F0                MOVX    @DPTR,A
 000AC3 8005              SJMP    ?C0100?KB_PROCESS
 000AC5         ?C0099?KB_PROCESS:
-  488: 		else
-  489: 			hidBuff[2] = 0;
+  492: 		else
+  493: 			hidBuff[2] = 0;
 000AC5 E4                CLR     A
 000AC6 904802            MOV     DPTR,#hidBuff+02H
 000AC9 F0                MOVX    @DPTR,A
 000ACA         ?C0100?KB_PROCESS:
-  490: 
-  491: 		standard_key_release_flag = 0;
+  494: 
+  495: 		standard_key_release_flag = 0;
 000ACA E4                CLR     A
 000ACB 904DDF            MOV     DPTR,#standard_key_release_flag
 000ACE F0                MOVX    @DPTR,A
-  492: 		if(!fast_connect_flag)
+  496: 		if(!fast_connect_flag)
 000ACF 904E55            MOV     DPTR,#fast_connect_flag
 000AD2 E0                MOVX    A,@DPTR
 000AD3 706F              JNZ     ?C0101?KB_PROCESS
-  493: 		{
-  494: 			if (pEvt->ksPool[0] == HID_KEY_FN)
+  497: 		{
+  498: 			if (pEvt->ksPool[0] == HID_KEY_FN)
 000AD5 900001            MOV     DPTR,#01H
 000AD8 1203CF            LCALL   ?C?CLDOPTR
 000ADB B47F15            CJNE    A,#07FH,?C0102?KB_PROCESS
-  495: 				xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
+  499: 				xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
 000ADE 7E48              MOV     R6,#HIGH hidBuff+03H
 000AE0 7F03              MOV     R7,#LOW hidBuff+03H
 000AE2 E9                MOV     A,R1
@@ -805,8 +805,8 @@
 000AEF 117D              ACALL   _xmemcpy
 000AF1 801C              SJMP    ?C0103?KB_PROCESS
 000AF3         ?C0102?KB_PROCESS:
-  496: 			else
-  497: 				xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
+  500: 			else
+  501: 				xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
 000AF3 7E48              MOV     R6,#HIGH hidBuff+03H
 000AF5 7F03              MOV     R7,#LOW hidBuff+03H
 000AF7 904EC5            MOV     DPTR,#pEvt
@@ -827,8 +827,8 @@
 000B0C F0                MOVX    @DPTR,A
 000B0D 117D              ACALL   _xmemcpy
 000B0F         ?C0103?KB_PROCESS:
-  498: 			
-  499: 			for(i = 3; i<9;i++)
+  502: 			
+  503: 			for(i = 3; i<9;i++)
 000B0F 904EC9            MOV     DPTR,#i
 000B12 7403              MOV     A,#03H
 000B14 F0                MOVX    @DPTR,A
@@ -839,8 +839,8 @@
 000B1A C3                CLR     C
 000B1B 9409              SUBB    A,#09H
 000B1D 5041              JNC     ?C0108?KB_PROCESS
-  500: 			{
-  501: 				if (hidBuff[i] == HID_KEY_FN)
+  504: 			{
+  505: 				if (hidBuff[i] == HID_KEY_FN)
 000B1F 7400              MOV     A,#LOW hidBuff
 000B21 2F                ADD     A,R7
 000B22 F582              MOV     DPL,A
@@ -849,7 +849,7 @@
 000B27 F583              MOV     DPH,A
 000B29 E0                MOVX    A,@DPTR
 000B2A B47F0F            CJNE    A,#07FH,?C0106?KB_PROCESS
-  502: 					hidBuff[i] = 0;
+  506: 					hidBuff[i] = 0;
 000B2D 904EC9            MOV     DPTR,#i
 000B30 E0                MOVX    A,@DPTR
 000B31 2400              ADD     A,#LOW hidBuff
@@ -859,17 +859,17 @@
 000B38 F583              MOV     DPH,A
 000B3A E4                CLR     A
 000B3B F0                MOVX    @DPTR,A
-  503: 			}
+  507: 			}
 000B3C         ?C0106?KB_PROCESS:
 000B3C 904EC9            MOV     DPTR,#i
 000B3F E0                MOVX    A,@DPTR
 000B40 04                INC     A
 000B41 F0                MOVX    @DPTR,A
 000B42 80D1              SJMP    ?C0104?KB_PROCESS
-  504: 		}
+  508: 		}
 000B44         ?C0101?KB_PROCESS:
-  505: 		else	
-  506: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
+  509: 		else	
+  510: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
 000B44 7E48              MOV     R6,#HIGH hidBuff+03H
 000B46 7F03              MOV     R7,#LOW hidBuff+03H
 000B48 904EC5            MOV     DPTR,#pEvt
@@ -890,15 +890,15 @@
 000B5D F0                MOVX    @DPTR,A
 000B5E 117D              ACALL   _xmemcpy
 000B60         ?C0108?KB_PROCESS:
-  507: 		IPC_TxHidData(hidBuff, 9);
+  511: 		IPC_TxHidData(hidBuff, 9);
 000B60 7B01              MOV     R3,#01H
 000B62 7A48              MOV     R2,#HIGH hidBuff
 000B64 7900              MOV     R1,#LOW hidBuff
 000B66 7D09              MOV     R5,#09H
 000B68 9130              ACALL   _IPC_TxHidData
-  508: 	}
-  509: 	return;
-  510: }
+  512: 	}
+  513: 	return;
+  514: }
 000B6A         ?C0075?KB_PROCESS:
 000B6A 22                RET     
 ----- FUNCTION _kb_motion_keyscan (END) -------
@@ -1057,8 +1057,8 @@
 
 ----- FUNCTION _IPC_TxHidData (BEGIN) -----
  FILE: 'kb_process.c'
-  118: void IPC_TxHidData(byte* dt, byte len)
-  119: {
+  122: void IPC_TxHidData(byte* dt, byte len)
+  123: {
 000C30 904E7A            MOV     DPTR,#dt
 000C33 EB                MOV     A,R3
 000C34 F0                MOVX    @DPTR,A
@@ -1071,13 +1071,13 @@
 000C3B A3                INC     DPTR
 000C3C ED                MOV     A,R5
 000C3D F0                MOVX    @DPTR,A
-  120: 	xbyte tx_hid_buff[10];
-  121: 	byte i=0;
+  124: 	xbyte tx_hid_buff[10];
+  125: 	byte i=0;
 ;---- Variable 'i' assigned to Register 'R7' ----
 000C3E E4                CLR     A
 000C3F FF                MOV     R7,A
-  122: 
-  123: 	for(i==0; i< len; i++)
+  126: 
+  127: 	for(i==0; i< len; i++)
 000C40         ?C0027?KB_PROCESS:
 000C40 904E7D            MOV     DPTR,#len
 000C43 E0                MOVX    A,@DPTR
@@ -1086,8 +1086,8 @@
 000C46 C3                CLR     C
 000C47 9E                SUBB    A,R6
 000C48 5023              JNC     ?C0028?KB_PROCESS
-  124: 	{
-  125: 		tx_hid_buff[i] = dt[i];
+  128: 	{
+  129: 		tx_hid_buff[i] = dt[i];
 000C4A 904E7A            MOV     DPTR,#dt
 000C4D E0                MOVX    A,@DPTR
 000C4E FB                MOV     R3,A
@@ -1109,27 +1109,27 @@
 000C66 F583              MOV     DPH,A
 000C68 EE                MOV     A,R6
 000C69 F0                MOVX    @DPTR,A
-  126: 	}
+  130: 	}
 000C6A 0F                INC     R7
 000C6B 80D3              SJMP    ?C0027?KB_PROCESS
 000C6D         ?C0028?KB_PROCESS:
-  127: 	
-  128: 	if(!YC_check_need_reconnected()) 
+  131: 	
+  132: 	if(!YC_check_need_reconnected()) 
 000C6D 12100D            LCALL   YC_check_need_reconnected
 000C70 EF                MOV     A,R7
 000C71 7002              JNZ     $ + 4H
 000C73 A111              AJMP    ?C0031?KB_PROCESS
 000C75         ?C0030?KB_PROCESS:
-  129: 		return;
-  130: 	if (g_variable.release_data)
+  133: 		return;
+  134: 	if (g_variable.release_data)
 000C75 904CEB            MOV     DPTR,#g_variable+02CH
 000C78 E0                MOVX    A,@DPTR
 000C79 6002              JZ      $ + 4H
 000C7B A111              AJMP    ?C0031?KB_PROCESS
 000C7D         ?C0032?KB_PROCESS:
-  131: 		return;
-  132: 
-  133: 	if ((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED) ||
+  135: 		return;
+  136: 
+  137: 	if ((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED) ||
 000C7D 904CC7            MOV     DPTR,#g_variable+08H
 000C80 E0                MOVX    A,@DPTR
 000C81 FF                MOV     R7,A
@@ -1141,17 +1141,17 @@
 000C8D E0                MOVX    A,@DPTR
 000C8E 6017              JZ      ?C0033?KB_PROCESS
 000C90         ?C0034?KB_PROCESS:
-  134: 	((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTING) && ble_fast_connect_flag))
-  135: 	{
-  136: 		if (tx_hid_buff[0] == HID_REPORTID_SYSTEM)
+  138: 	((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTING) && ble_fast_connect_flag))
+  139: 	{
+  140: 		if (tx_hid_buff[0] == HID_REPORTID_SYSTEM)
 000C90 904E7E            MOV     DPTR,#tx_hid_buff
 000C93 E0                MOVX    A,@DPTR
 000C94 B40603            CJNE    A,#06H,?C0035?KB_PROCESS
-  137: 			tx_hid_buff[0] = HID_REPORTID_3;
+  141: 			tx_hid_buff[0] = HID_REPORTID_3;
 000C97 7403              MOV     A,#03H
 000C99 F0                MOVX    @DPTR,A
 000C9A         ?C0035?KB_PROCESS:
-  138: 		IPC_TxBleData(tx_hid_buff,len);
+  142: 		IPC_TxBleData(tx_hid_buff,len);
 000C9A 7B01              MOV     R3,#01H
 000C9C 7A4E              MOV     R2,#HIGH tx_hid_buff
 000C9E 797E              MOV     R1,#LOW tx_hid_buff
@@ -1159,25 +1159,25 @@
 000CA3 E0                MOVX    A,@DPTR
 000CA4 FD                MOV     R5,A
 000CA5 F1E8              ACALL   _IPC_TxBleData
-  139: 
-  140: 	}
+  143: 
+  144: 	}
 000CA7         ?C0033?KB_PROCESS:
-  141: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  145: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
 000CA7 904CC5            MOV     DPTR,#g_variable+06H
 000CAA E0                MOVX    A,@DPTR
 000CAB 6403              XRL     A,#03H
 000CAD 7062              JNZ     ?C0031?KB_PROCESS
-  142: 	{
-  143: 		if(tx_hid_buff[0] == HID_REPORTID_1)
+  146: 	{
+  147: 		if(tx_hid_buff[0] == HID_REPORTID_1)
 000CAF 904E7E            MOV     DPTR,#tx_hid_buff
 000CB2 E0                MOVX    A,@DPTR
 000CB3 6401              XRL     A,#01H
 000CB5 7023              JNZ     ?C0037?KB_PROCESS
-  144: 		{
-  145: 			tx_hid_buff[0] = 4;
+  148: 		{
+  149: 			tx_hid_buff[0] = 4;
 000CB7 7404              MOV     A,#04H
 000CB9 F0                MOVX    @DPTR,A
-  146: 			if (tx_hid_buff[1] == 0 && tx_hid_buff[3] == 00 && tx_hid_buff[4] == 00 && tx_hid_buff[5] == 0)
+  150: 			if (tx_hid_buff[1] == 0 && tx_hid_buff[3] == 00 && tx_hid_buff[4] == 00 && tx_hid_buff[5] == 0)
 000CBA A3                INC     DPTR
 000CBB E0                MOVX    A,@DPTR
 000CBC 7014              JNZ     ?C0038?KB_PROCESS
@@ -1190,62 +1190,62 @@
 000CC8 A3                INC     DPTR
 000CC9 E0                MOVX    A,@DPTR
 000CCA 7006              JNZ     ?C0038?KB_PROCESS
-  147: 				repeat_send_24g = 0;
+  151: 				repeat_send_24g = 0;
 000CCC 904DDD            MOV     DPTR,#repeat_send_24g
 000CCF F0                MOVX    @DPTR,A
 000CD0 8032              SJMP    ?C0040?KB_PROCESS
 000CD2         ?C0038?KB_PROCESS:
-  148: 			else
-  149: 				repeat_send_24g = 1;			
+  152: 			else
+  153: 				repeat_send_24g = 1;			
 000CD2 904DDD            MOV     DPTR,#repeat_send_24g
 000CD5 7401              MOV     A,#01H
 000CD7 F0                MOVX    @DPTR,A
-  150: 		}
+  154: 		}
 000CD8 802A              SJMP    ?C0040?KB_PROCESS
 000CDA         ?C0037?KB_PROCESS:
-  151: 		else if(tx_hid_buff[0] == HID_REPORTID_2)
+  155: 		else if(tx_hid_buff[0] == HID_REPORTID_2)
 000CDA 904E7E            MOV     DPTR,#tx_hid_buff
 000CDD E0                MOVX    A,@DPTR
 000CDE B40219            CJNE    A,#02H,?C0041?KB_PROCESS
-  152: 		{
-  153: 			tx_hid_buff[0] = 5;
+  156: 		{
+  157: 			tx_hid_buff[0] = 5;
 000CE1 7405              MOV     A,#05H
 000CE3 F0                MOVX    @DPTR,A
-  154: 			if (tx_hid_buff[1] == 00 && tx_hid_buff[2] == 00)
+  158: 			if (tx_hid_buff[1] == 00 && tx_hid_buff[2] == 00)
 000CE4 A3                INC     DPTR
 000CE5 E0                MOVX    A,@DPTR
 000CE6 700A              JNZ     ?C0042?KB_PROCESS
 000CE8 A3                INC     DPTR
 000CE9 E0                MOVX    A,@DPTR
 000CEA 7006              JNZ     ?C0042?KB_PROCESS
-  155: 			{
-  156: 				repeat_send_24g = 0;
+  159: 			{
+  160: 				repeat_send_24g = 0;
 000CEC 904DDD            MOV     DPTR,#repeat_send_24g
 000CEF F0                MOVX    @DPTR,A
-  157: 			}
+  161: 			}
 000CF0 8012              SJMP    ?C0040?KB_PROCESS
 000CF2         ?C0042?KB_PROCESS:
-  158: 			else
-  159: 			{
-  160: 				repeat_send_24g = 1;
+  162: 			else
+  163: 			{
+  164: 				repeat_send_24g = 1;
 000CF2 904DDD            MOV     DPTR,#repeat_send_24g
 000CF5 7401              MOV     A,#01H
 000CF7 F0                MOVX    @DPTR,A
-  161: 			}
-  162: 		}
+  165: 			}
+  166: 		}
 000CF8 800A              SJMP    ?C0040?KB_PROCESS
 000CFA         ?C0041?KB_PROCESS:
-  163: 		else if(tx_hid_buff[0] == HID_REPORTID_3)
+  167: 		else if(tx_hid_buff[0] == HID_REPORTID_3)
 000CFA 904E7E            MOV     DPTR,#tx_hid_buff
 000CFD E0                MOVX    A,@DPTR
 000CFE B40303            CJNE    A,#03H,?C0040?KB_PROCESS
-  164: 		{
-  165: 			tx_hid_buff[0] = 7;
+  168: 		{
+  169: 			tx_hid_buff[0] = 7;
 000D01 7407              MOV     A,#07H
 000D03 F0                MOVX    @DPTR,A
-  166: 		}
+  170: 		}
 000D04         ?C0040?KB_PROCESS:
-  167: 		IPC_Tx24GData(tx_hid_buff,len);
+  171: 		IPC_Tx24GData(tx_hid_buff,len);
 000D04 7B01              MOV     R3,#01H
 000D06 7A4E              MOV     R2,#HIGH tx_hid_buff
 000D08 797E              MOV     R1,#LOW tx_hid_buff
@@ -1253,8 +1253,8 @@
 000D0D E0                MOVX    A,@DPTR
 000D0E FD                MOV     R5,A
 000D0F F1E0              ACALL   _IPC_Tx24GData
-  168: 	}
-  169: }
+  172: 	}
+  173: }
 000D11         ?C0031?KB_PROCESS:
 000D11 22                RET     
 ----- FUNCTION _IPC_TxHidData (END) -------
@@ -1262,27 +1262,27 @@
 
 ----- FUNCTION _kb_send_combination_key (BEGIN) -----
  FILE: 'kb_process.c'
-  195: void kb_send_combination_key(byte ctrl_value,byte key_value)
-  196: {
+  199: void kb_send_combination_key(byte ctrl_value,byte key_value)
+  200: {
 000D12 904EF9            MOV     DPTR,#ctrl_value
 000D15 EF                MOV     A,R7
 000D16 F0                MOVX    @DPTR,A
 000D17 A3                INC     DPTR
 000D18 ED                MOV     A,R5
 000D19 F0                MOVX    @DPTR,A
-  197: 	xmemclear(hidBuff,9);
-  198: 	hidBuff[0] = HID_REPORTID_1;
+  201: 	xmemclear(hidBuff,9);
+  202: 	hidBuff[0] = HID_REPORTID_1;
 000D1A 7B01              MOV     R3,#01H
 000D1C 7A48              MOV     R2,#HIGH hidBuff
 000D1E 7900              MOV     R1,#LOW hidBuff
 000D20 7D09              MOV     R5,#09H
 000D22 7C00              MOV     R4,#00H
 000D24 716B              ACALL   _xmemclear
-  199: 	hidBuff[1] |= ctrl_value;
+  203: 	hidBuff[1] |= ctrl_value;
 000D26 904800            MOV     DPTR,#hidBuff
 000D29 7401              MOV     A,#01H
 000D2B F0                MOVX    @DPTR,A
-  200: 	hidBuff[3] = key_value; 
+  204: 	hidBuff[3] = key_value; 
 000D2C A3                INC     DPTR
 000D2D E0                MOVX    A,@DPTR
 000D2E FF                MOV     R7,A
@@ -1293,12 +1293,12 @@
 000D35 4E                ORL     A,R6
 000D36 904801            MOV     DPTR,#hidBuff+01H
 000D39 F0                MOVX    @DPTR,A
-  201: 	IPC_TxHidData(hidBuff, 9);
+  205: 	IPC_TxHidData(hidBuff, 9);
 000D3A 904EFA            MOV     DPTR,#key_value
 000D3D E0                MOVX    A,@DPTR
 000D3E 904803            MOV     DPTR,#hidBuff+03H
 000D41 F0                MOVX    @DPTR,A
-  202: }
+  206: }
 000D42 7B01              MOV     R3,#01H
 000D44 7A48              MOV     R2,#HIGH hidBuff
 000D46 7900              MOV     R1,#LOW hidBuff
@@ -1309,18 +1309,18 @@
 
 ----- FUNCTION kb_need_keyscan (BEGIN) -----
  FILE: 'kb_process.c'
-  302: void kb_need_keyscan()
-  303: {
-  304: /*
-  305: 	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE 
-  306: 		|| g_variable.br_currentSubState == CHANGE_TO_BR_SUB_PINCODE)
-  307: 	{
-  308: 		kb_bt_pincode_enter();
-  309: 	}
-  310: 	else
-  311: */	
-  312: 	{	
-  313: 		if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
+  306: void kb_need_keyscan()
+  307: {
+  308: /*
+  309: 	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE 
+  310: 		|| g_variable.br_currentSubState == CHANGE_TO_BR_SUB_PINCODE)
+  311: 	{
+  312: 		kb_bt_pincode_enter();
+  313: 	}
+  314: 	else
+  315: */	
+  316: 	{	
+  317: 		if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
 000D4C 904CF4            MOV     DPTR,#g_variable+035H
 000D4F E0                MOVX    A,@DPTR
 000D50 FF                MOV     R7,A
@@ -1330,42 +1330,42 @@
 000D57 EF                MOV     A,R7
 000D58 B40503            CJNE    A,#05H,?C0057?KB_PROCESS
 000D5B         ?C0058?KB_PROCESS:
-  314: 		||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
-  315: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
-  316: 		)
-  317: 			kb_motion();
-000D5B 022379            LJMP    kb_motion
+  318: 		||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
+  319: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
+  320: 		)
+  321: 			kb_motion();
+000D5B 022372            LJMP    kb_motion
 000D5E         ?C0057?KB_PROCESS:
-  318: 		else
-  319: 		{
-  320: 			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
+  322: 		else
+  323: 		{
+  324: 			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
 000D5E 904CF4            MOV     DPTR,#g_variable+035H
 000D61 E0                MOVX    A,@DPTR
 000D62 B4010E            CJNE    A,#01H,?C0060?KB_PROCESS
-  321: 			{
-  322: 				kb_send_combination_key(g_variable.key_combination_ctrl,0);
+  325: 			{
+  326: 				kb_send_combination_key(g_variable.key_combination_ctrl,0);
 000D65 A3                INC     DPTR
 000D66 E0                MOVX    A,@DPTR
 000D67 FF                MOV     R7,A
 000D68 E4                CLR     A
 000D69 FD                MOV     R5,A
 000D6A B112              ACALL   _kb_send_combination_key
-  323: 				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+  327: 				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
 000D6C 904CF4            MOV     DPTR,#g_variable+035H
 000D6F 7402              MOV     A,#02H
 000D71 F0                MOVX    @DPTR,A
-  324: 			}
+  328: 			}
 000D72 22                RET     
 000D73         ?C0060?KB_PROCESS:
-  325: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
+  329: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
 000D73 904CF4            MOV     DPTR,#g_variable+035H
 000D76 E0                MOVX    A,@DPTR
 000D77 B4020B            CJNE    A,#02H,?C0062?KB_PROCESS
-  326: 			{	
-  327: 				g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
+  330: 			{	
+  331: 				g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
 000D7A 7403              MOV     A,#03H
 000D7C F0                MOVX    @DPTR,A
-  328: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+  332: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
 000D7D A3                INC     DPTR
 000D7E E0                MOVX    A,@DPTR
 000D7F FF                MOV     R7,A
@@ -1373,73 +1373,73 @@
 000D81 E0                MOVX    A,@DPTR
 000D82 FD                MOV     R5,A
 000D83 808D              SJMP    _kb_send_combination_key
-  329: 			}
+  333: 			}
 000D85         ?C0062?KB_PROCESS:
-  330: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
+  334: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
 000D85 904CF4            MOV     DPTR,#g_variable+035H
 000D88 E0                MOVX    A,@DPTR
 000D89 B40427            CJNE    A,#04H,?C0064?KB_PROCESS
-  331: 			{
-  332: 				g_variable.key_combination_keyvalue = 0;
+  335: 			{
+  336: 				g_variable.key_combination_keyvalue = 0;
 000D8C E4                CLR     A
 000D8D 904CF6            MOV     DPTR,#g_variable+037H
 000D90 F0                MOVX    @DPTR,A
-  333: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+  337: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
 000D91 904CF5            MOV     DPTR,#g_variable+036H
 000D94 E0                MOVX    A,@DPTR
 000D95 FF                MOV     R7,A
 000D96 E4                CLR     A
 000D97 FD                MOV     R5,A
 000D98 B112              ACALL   _kb_send_combination_key
-  334: 				g_variable.key_combination_ctrl = 0;
+  338: 				g_variable.key_combination_ctrl = 0;
 000D9A E4                CLR     A
 000D9B 904CF5            MOV     DPTR,#g_variable+036H
 000D9E F0                MOVX    @DPTR,A
-  335: 				if(!g_variable.one_key_press_wait_release_timer)
+  339: 				if(!g_variable.one_key_press_wait_release_timer)
 000D9F 904CF8            MOV     DPTR,#g_variable+039H
 000DA2 E0                MOVX    A,@DPTR
 000DA3 7007              JNZ     ?C0065?KB_PROCESS
-  336: 					g_variable.key_combination_step = CAMBINATION_KEY_NULL;
+  340: 					g_variable.key_combination_step = CAMBINATION_KEY_NULL;
 000DA5 904CF4            MOV     DPTR,#g_variable+035H
 000DA8 7406              MOV     A,#06H
 000DAA F0                MOVX    @DPTR,A
 000DAB 22                RET     
 000DAC         ?C0065?KB_PROCESS:
-  337: 				else
-  338: 					g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
+  341: 				else
+  342: 					g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
 000DAC 904CF4            MOV     DPTR,#g_variable+035H
 000DAF 7405              MOV     A,#05H
 000DB1 F0                MOVX    @DPTR,A
-  339: 			}
+  343: 			}
 000DB2 22                RET     
 000DB3         ?C0064?KB_PROCESS:
-  340: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_NULL)
+  344: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_NULL)
 000DB3 904CF4            MOV     DPTR,#g_variable+035H
 000DB6 E0                MOVX    A,@DPTR
 000DB7 B40615            CJNE    A,#06H,?C0069?KB_PROCESS
-  341: 			{
-  342: 				g_variable.key_combination_keyvalue = 0;
+  345: 			{
+  346: 				g_variable.key_combination_keyvalue = 0;
 000DBA E4                CLR     A
 000DBB 904CF6            MOV     DPTR,#g_variable+037H
 000DBE F0                MOVX    @DPTR,A
-  343: 				g_variable.key_combination_ctrl = 0;
+  347: 				g_variable.key_combination_ctrl = 0;
 000DBF 904CF5            MOV     DPTR,#g_variable+036H
 000DC2 F0                MOVX    @DPTR,A
-  344: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+  348: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
 000DC3 A3                INC     DPTR
 000DC4 E0                MOVX    A,@DPTR
 000DC5 FD                MOV     R5,A
 000DC6 E4                CLR     A
 000DC7 FF                MOV     R7,A
 000DC8 B112              ACALL   _kb_send_combination_key
-  345: 				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
+  349: 				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
 000DCA E4                CLR     A
 000DCB 904CF4            MOV     DPTR,#g_variable+035H
 000DCE F0                MOVX    @DPTR,A
-  346: 			}
-  347: 		}
-  348: 	}
-  349: }
+  350: 			}
+  351: 		}
+  352: 	}
+  353: }
 000DCF         ?C0069?KB_PROCESS:
 000DCF 22                RET     
 ----- FUNCTION kb_need_keyscan (END) -------
@@ -1447,47 +1447,47 @@
 
 ----- FUNCTION YC_connect_timeout_500ms (BEGIN) -----
  FILE: 'sys.c'
-  376: void YC_connect_timeout_500ms()
-  377: {
-  378: 
-  379: 	if(le_send_battery_level_delay_count)
+  379: void YC_connect_timeout_500ms()
+  380: {
+  381: 
+  382: 	if(le_send_battery_level_delay_count)
 000DD0 904DDB            MOV     DPTR,#le_send_battery_level_delay_count
 000DD3 E0                MOVX    A,@DPTR
 000DD4 600F              JZ      ?C0069?SYS
-  380: 	{
-  381: 		le_send_battery_level_delay_count--;
+  383: 	{
+  384: 		le_send_battery_level_delay_count--;
 000DD6 E0                MOVX    A,@DPTR
 000DD7 14                DEC     A
 000DD8 F0                MOVX    @DPTR,A
-  382: 		if(!le_send_battery_level_delay_count)
+  385: 		if(!le_send_battery_level_delay_count)
 000DD9 E0                MOVX    A,@DPTR
 000DDA 7009              JNZ     ?C0069?SYS
-  383: 		{	
-  384: 			m_lpm_mode = 1;
+  386: 		{	
+  387: 			m_lpm_mode = 1;
 000DDC 904131            MOV     DPTR,#m_lpm_mode
 000DDF 04                INC     A
 000DE0 F0                MOVX    @DPTR,A
-  385: 			le_send_battery_level_flag = 1;
+  388: 			le_send_battery_level_flag = 1;
 000DE1 904DDA            MOV     DPTR,#le_send_battery_level_flag
 000DE4 F0                MOVX    @DPTR,A
-  386: 		}
-  387: 	}
+  389: 		}
+  390: 	}
 000DE5         ?C0069?SYS:
-  388: 	
-  389: //system long sleep timer
-  390: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+  391: 	
+  392: //system long sleep timer
+  393: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
 000DE5 904CC7            MOV     DPTR,#g_variable+08H
 000DE8 E0                MOVX    A,@DPTR
 000DE9 FF                MOV     R7,A
 000DEA 6404              XRL     A,#04H
 000DEC 7051              JNZ     ?C0071?SYS
-  391: 	{
-  392: 		if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+  394: 	{
+  395: 		if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
 000DEE EF                MOV     A,R7
 000DEF 6404              XRL     A,#04H
 000DF1 7033              JNZ     ?C0072?SYS
-  393: 		{
-  394: 			if(le_send_battery_level_flag || (g_variable.sleepTimer && !(g_variable.sleepTimer & 0x1f)))		// ble battery l
+  396: 		{
+  397: 			if(le_send_battery_level_flag || (g_variable.sleepTimer && !(g_variable.sleepTimer & 0x1f)))		// ble battery l
 >> evel updata each 16 second
 000DF3 904DDA            MOV     DPTR,#le_send_battery_level_flag
 000DF6 E0                MOVX    A,@DPTR
@@ -1504,30 +1504,30 @@
 000E05 541F              ANL     A,#01FH
 000E07 701D              JNZ     ?C0072?SYS
 000E09         ?C0074?SYS:
-  395: 			{
-  396: 				le_send_battery_level_flag = 0;
+  398: 			{
+  399: 				le_send_battery_level_flag = 0;
 000E09 E4                CLR     A
 000E0A 904DDA            MOV     DPTR,#le_send_battery_level_flag
 000E0D F0                MOVX    @DPTR,A
-  397: 				multikey[0] = HID_REPORTID_BATTERY;	
+  400: 				multikey[0] = HID_REPORTID_BATTERY;	
 000E0E 904E4C            MOV     DPTR,#multikey
 000E11 7404              MOV     A,#04H
 000E13 F0                MOVX    @DPTR,A
-  398: 				multikey[1] = g_variable.battery_level_percentage;	
+  401: 				multikey[1] = g_variable.battery_level_percentage;	
 000E14 904CF9            MOV     DPTR,#g_variable+03AH
 000E17 E0                MOVX    A,@DPTR
 000E18 904E4D            MOV     DPTR,#multikey+01H
 000E1B F0                MOVX    @DPTR,A
-  399: 				IPC_TxHidData(multikey, 2);
+  402: 				IPC_TxHidData(multikey, 2);
 000E1C 7B01              MOV     R3,#01H
 000E1E 7A4E              MOV     R2,#HIGH multikey
 000E20 794C              MOV     R1,#LOW multikey
 000E22 7D02              MOV     R5,#02H
 000E24 9130              ACALL   _IPC_TxHidData
-  400: 			}
-  401: 		}
+  403: 			}
+  404: 		}
 000E26         ?C0072?SYS:
-  402: 		if (g_variable.sleepTimer == STANDBY_TIMER_10MIN) 
+  405: 		if (g_variable.sleepTimer == STANDBY_TIMER_10MIN) 
 000E26 904CE3            MOV     DPTR,#g_variable+024H
 000E29 E0                MOVX    A,@DPTR
 000E2A 6404              XRL     A,#04H
@@ -1538,24 +1538,24 @@
 000E32         ?C0172?SYS:
 000E32 6002              JZ      $ + 4H
 000E34 C1C9              AJMP    ?C0087?SYS
-  403: 		{
-  404: 			YC_disconnect_all_link();
+  406: 		{
+  407: 			YC_disconnect_all_link();
 000E36 F187              ACALL   YC_disconnect_all_link
-  405: 			g_variable.lockLpm = 1;
+  408: 			g_variable.lockLpm = 1;
 000E38 904CEC            MOV     DPTR,#g_variable+02DH
 000E3B 7401              MOV     A,#01H
 000E3D F0                MOVX    @DPTR,A
-  406: 		}
-  407: 	}
+  409: 		}
+  410: 	}
 000E3E 22                RET     
 000E3F         ?C0071?SYS:
-  408: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  411: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
 000E3F 904CC5            MOV     DPTR,#g_variable+06H
 000E42 E0                MOVX    A,@DPTR
 000E43 6403              XRL     A,#03H
 000E45 704C              JNZ     ?C0077?SYS
-  409: 	{
-  410: 		if((g_variable.sleepTimer == 10) && m_24g_led_flag)
+  412: 	{
+  413: 		if((g_variable.sleepTimer == 10) && m_24g_led_flag)
 000E47 904CE3            MOV     DPTR,#g_variable+024H
 000E4A E0                MOVX    A,@DPTR
 000E4B FE                MOV     R6,A
@@ -1568,46 +1568,46 @@
 000E54 904D46            MOV     DPTR,#m_24g_led_flag
 000E57 E0                MOVX    A,@DPTR
 000E58 6002              JZ      ?C0078?SYS
-  411: 		{
-  412: 			m_24g_led_flag = 0;
+  414: 		{
+  415: 			m_24g_led_flag = 0;
 000E5A E4                CLR     A
 000E5B F0                MOVX    @DPTR,A
-  413: 		}	
+  416: 		}	
 000E5C         ?C0078?SYS:
-  414: 	
-  415: #ifdef PC_SLEEP_STATUS_GET	
-  416: 		if((g_variable.sleepTimer & 0x1f) == 0x10)	// search dongle each 8s
+  417: 	
+  418: #ifdef PC_SLEEP_STATUS_GET	
+  419: 		if((g_variable.sleepTimer & 0x1f) == 0x10)	// search dongle each 8s
 000E5C EF                MOV     A,R7
 000E5D 541F              ANL     A,#01FH
 000E5F 6410              XRL     A,#010H
 000E61 701E              JNZ     ?C0079?SYS
-  417: 		{
-  418: 			xmemclear(hidBuff,9);
+  420: 		{
+  421: 			xmemclear(hidBuff,9);
 000E63 7B01              MOV     R3,#01H
 000E65 7A48              MOV     R2,#HIGH hidBuff
 000E67 7900              MOV     R1,#LOW hidBuff
 000E69 7D09              MOV     R5,#09H
 000E6B FC                MOV     R4,A
 000E6C 716B              ACALL   _xmemclear
-  419: 
-  420: 			mult_key_status = 0;
+  422: 
+  423: 			mult_key_status = 0;
 000E6E E4                CLR     A
 000E6F 904E4B            MOV     DPTR,#mult_key_status
 000E72 F0                MOVX    @DPTR,A
-  421: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
+  424: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
 000E73 904800            MOV     DPTR,#hidBuff
 000E76 04                INC     A
 000E77 F0                MOVX    @DPTR,A
-  422: 			IPC_TxHidData(hidBuff, 9);
+  425: 			IPC_TxHidData(hidBuff, 9);
 000E78 FB                MOV     R3,A
 000E79 7A48              MOV     R2,#HIGH hidBuff
 000E7B 7900              MOV     R1,#LOW hidBuff
 000E7D 7D09              MOV     R5,#09H
 000E7F 9130              ACALL   _IPC_TxHidData
-  423: 		}
+  426: 		}
 000E81         ?C0079?SYS:
-  424: #endif	
-  425: 		if (g_variable.sleepTimer >= STANDBY_TIMER_10MIN)
+  427: #endif	
+  428: 		if (g_variable.sleepTimer >= STANDBY_TIMER_10MIN)
 000E81 C3                CLR     C
 000E82 904CE4            MOV     DPTR,#g_variable+025H
 000E85 E0                MOVX    A,@DPTR
@@ -1616,18 +1616,18 @@
 000E8B E0                MOVX    A,@DPTR
 000E8C 9404              SUBB    A,#04H
 000E8E 4039              JC      ?C0087?SYS
-  426: 		{
-  427: 			System_G24_long_lpm();
-000E90 022FB4            LJMP    System_G24_long_lpm
-  428: 		}
-  429: 	}
+  429: 		{
+  430: 			System_G24_long_lpm();
+000E90 022FAD            LJMP    System_G24_long_lpm
+  431: 		}
+  432: 	}
 000E93         ?C0077?SYS:
-  430: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
+  433: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
 000E93 904CC5            MOV     DPTR,#g_variable+06H
 000E96 E0                MOVX    A,@DPTR
 000E97 B40112            CJNE    A,#01H,?C0082?SYS
-  431: 	{
-  432: 		if (g_variable.sleepTimer >= BT_PAIRING_TIME_OUT_1MIN)
+  434: 	{
+  435: 		if (g_variable.sleepTimer >= BT_PAIRING_TIME_OUT_1MIN)
 000E9A C3                CLR     C
 000E9B 904CE4            MOV     DPTR,#g_variable+025H
 000E9E E0                MOVX    A,@DPTR
@@ -1636,15 +1636,15 @@
 000EA4 E0                MOVX    A,@DPTR
 000EA5 9400              SUBB    A,#00H
 000EA7 4020              JC      ?C0087?SYS
-  433: 		{
-  434: 			System_G24_long_lpm();
-000EA9 022FB4            LJMP    System_G24_long_lpm
-  435: 		}
-  436: 	}
+  436: 		{
+  437: 			System_G24_long_lpm();
+000EA9 022FAD            LJMP    System_G24_long_lpm
+  438: 		}
+  439: 	}
 000EAC         ?C0082?SYS:
-  437: 	else
-  438: 	{
-  439: 		if (g_variable.sleepTimer >= RECONNECT_TIMER_10S)
+  440: 	else
+  441: 	{
+  442: 		if (g_variable.sleepTimer >= RECONNECT_TIMER_10S)
 000EAC C3                CLR     C
 000EAD 904CE4            MOV     DPTR,#g_variable+025H
 000EB0 E0                MOVX    A,@DPTR
@@ -1653,25 +1653,25 @@
 000EB6 E0                MOVX    A,@DPTR
 000EB7 9400              SUBB    A,#00H
 000EB9 400E              JC      ?C0087?SYS
-  440: 		{
-  441: 			if(ble_reconnect_flag)
+  443: 		{
+  444: 			if(ble_reconnect_flag)
 000EBB 904DE5            MOV     DPTR,#ble_reconnect_flag
 000EBE E0                MOVX    A,@DPTR
 000EBF 6006              JZ      ?C0086?SYS
-  442: 			{
-  443: 				ble_reconnect_flag = 0;
+  445: 			{
+  446: 				ble_reconnect_flag = 0;
 000EC1 E4                CLR     A
 000EC2 F0                MOVX    @DPTR,A
-  444: 				IPC_TxControlCmd(IPC_CMD_STOP_ADV);
+  447: 				IPC_TxControlCmd(IPC_CMD_STOP_ADV);
 000EC3 7F0E              MOV     R7,#0EH
 000EC5 D1CA              ACALL   _IPC_TxControlCmd
-  445: 			}
+  448: 			}
 000EC7         ?C0086?SYS:
-  446: 			System_long_sleep();
+  449: 			System_long_sleep();
 000EC7 F1B2              ACALL   System_long_sleep
-  447: 		}
-  448: 	}
-  449: }
+  450: 		}
+  451: 	}
+  452: }
 000EC9         ?C0087?SYS:
 000EC9 22                RET     
 ----- FUNCTION YC_connect_timeout_500ms (END) -------
@@ -1740,7 +1740,7 @@
 000F1D E0                MOVX    A,@DPTR
 000F1E FD                MOV     R5,A
 000F1F 7B64              MOV     R3,#064H
-000F21 1233A1            LCALL   _bufsize
+000F21 12339D            LCALL   _bufsize
 000F24 904EBC            MOV     DPTR,#len
 000F27 E0                MOVX    A,@DPTR
 000F28 FE                MOV     R6,A
@@ -2089,7 +2089,7 @@
 001091 B40D00            CJNE    A,#0DH,?C0258?KB_PROCESS
 001094         ?C0258?KB_PROCESS:
 001094 4002              JC      $ + 4H
-001096 4138              AJMP    ?C0025?KB_PROCESS
+001096 4162              AJMP    ?C0025?KB_PROCESS
 001098 9010A6            MOV     DPTR,#010A6H
 00109B 75F003            MOV     B,#03H
 00109E A4                MUL     AB
@@ -2101,15 +2101,15 @@
 0010A6 0210CD            LJMP    ?C0004?KB_PROCESS
 0010A9 0210CD            LJMP    ?C0004?KB_PROCESS
 0010AC 0210CD            LJMP    ?C0004?KB_PROCESS
-0010AF 021238            LJMP    ?C0025?KB_PROCESS
+0010AF 021262            LJMP    ?C0025?KB_PROCESS
 0010B2 021114            LJMP    ?C0009?KB_PROCESS
 0010B5 021156            LJMP    ?C0013?KB_PROCESS
 0010B8 02115F            LJMP    ?C0014?KB_PROCESS
-0010BB 021180            LJMP    ?C0016?KB_PROCESS
-0010BE 021180            LJMP    ?C0016?KB_PROCESS
-0010C1 0211E7            LJMP    ?C0020?KB_PROCESS
-0010C4 021238            LJMP    ?C0025?KB_PROCESS
-0010C7 021238            LJMP    ?C0025?KB_PROCESS
+0010BB 0211AA            LJMP    ?C0016?KB_PROCESS
+0010BE 0211AA            LJMP    ?C0016?KB_PROCESS
+0010C1 021211            LJMP    ?C0020?KB_PROCESS
+0010C4 021262            LJMP    ?C0025?KB_PROCESS
+0010C7 021262            LJMP    ?C0025?KB_PROCESS
 0010CA 02110F            LJMP    ?C0008?KB_PROCESS
     7: 	case KEY_RECON_0:
     8: 	case KEY_RECON_1:
@@ -2157,7 +2157,7 @@
 0010FD 120ECA            LCALL   _IPC_TxControlCmd
    22: 			Delay1ms(10);
 001100 7F0A              MOV     R7,#0AH
-001102 B195              ACALL   _Delay1ms
+001102 B1B2              ACALL   _Delay1ms
    23: 			IPC_TxControlCmd(IPC_CMD_SET_RECONNECT_INIT);
 001104 7F2A              MOV     R7,#02AH
 001106 120ECA            LCALL   _IPC_TxControlCmd
@@ -2184,10 +2184,10 @@
 001119 120F87            LCALL   YC_disconnect_all_link
 00111C EF                MOV     A,R7
 00111D 700B              JNZ     ?C0011?KB_PROCESS
-00111F F1B7              ACALL   YC_cancel_reconnect
+00111F F1D5              ACALL   YC_cancel_reconnect
 001121 EF                MOV     A,R7
 001122 7006              JNZ     ?C0011?KB_PROCESS
-001124 121855            LCALL   YC_g24_mode_discovery
+001124 121801            LCALL   YC_g24_mode_discovery
 001127 EF                MOV     A,R7
 001128 600F              JZ      ?C0010?KB_PROCESS
 00112A         ?C0011?KB_PROCESS:
@@ -2207,7 +2207,7 @@
    37: 		else
    38: 		{
    39: 			YC_clear_reconnect_flag();
-001139 F1EA              ACALL   YC_clear_reconnect_flag
+001139 F1F7              ACALL   YC_clear_reconnect_flag
    40: 				ble_send_secutiry_request_timer = 0;
 00113B E4                CLR     A
 00113C 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
@@ -2220,7 +2220,7 @@
 001147 F0                MOVX    @DPTR,A
    43: //				m_lpm_mode = 0;
    44: 				YC_get_ble_ramdon_lap();
-001148 12186C            LCALL   YC_get_ble_ramdon_lap
+001148 121818            LCALL   YC_get_ble_ramdon_lap
    45: 				IPC_TxControlCmd(IPC_CMD_START_ADV);
 00114B 7F0D              MOV     R7,#0DH
 00114D 120ECA            LCALL   _IPC_TxControlCmd
@@ -2249,7 +2249,7 @@
 001163 79EE              MOV     R1,#LOW bd_key_record_list
 001165 7D5D              MOV     R5,#05DH
 001167 7C00              MOV     R4,#00H
-001169 1234F4            LCALL   _xmemclear_ff
+001169 1234F0            LCALL   _xmemclear_ff
    55: 		g_variable.last_device_num = 0xff;
 00116C 904CC0            MOV     DPTR,#g_variable+01H
 00116F 74FF              MOV     A,#0FFH
@@ -2257,422 +2257,447 @@
    56: 		g_variable.system_mode = 0xff;
 001172 A3                INC     DPTR
 001173 F0                MOVX    @DPTR,A
-   57: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-001174 904CBF            MOV     DPTR,#g_variable
-001177 7403              MOV     A,#03H
-001179 F0                MOVX    @DPTR,A
-   58: 		g_variable.key_action = KEY_NONE;
-00117A E4                CLR     A
-00117B 904CED            MOV     DPTR,#g_variable+02EH
-00117E F0                MOVX    @DPTR,A
-   59: 		break;
-00117F 22                RET     
-   60: 	case KEY_START_24G:
-   61: 	case KEY_OPEN_24G:
-001180         ?C0016?KB_PROCESS:
-   62: 		g_variable.recon_count = 0;
-001180 E4                CLR     A
-001181 904CF0            MOV     DPTR,#g_variable+031H
-001184 F0                MOVX    @DPTR,A
-   63: 		if ( YC_cancel_reconnect())
-001185 F1B7              ACALL   YC_cancel_reconnect
-001187 EF                MOV     A,R7
-001188 6009              JZ      ?C0017?KB_PROCESS
-   64: 		{
-   65: 			g_variable.key_action = key_num;
-00118A 904F02            MOV     DPTR,#key_num
-00118D E0                MOVX    A,@DPTR
-00118E 904CED            MOV     DPTR,#g_variable+02EH
-001191 F0                MOVX    @DPTR,A
-   66: 		}
-001192 22                RET     
-001193         ?C0017?KB_PROCESS:
-   67: 		else
+   57: 		Delay1ms(200);
+001174 7FC8              MOV     R7,#0C8H
+001176 B1B2              ACALL   _Delay1ms
+   58: 		GPIO_Setout(EEPROM_WP_GPIO,0);
+001178 C201              CLR     ?_GPIO_Setout?BIT
+00117A 7FFF              MOV     R7,#0FFH
+00117C 5168              ACALL   _GPIO_Setout
+   59: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)&bd_key_record_list);
+00117E 7B01              MOV     R3,#01H
+001180 7A4D              MOV     R2,#HIGH bd_key_record_list
+001182 79EE              MOV     R1,#LOW bd_key_record_list
+001184 7D5D              MOV     R5,#05DH
+001186 7C00              MOV     R4,#00H
+001188 7F60              MOV     R7,#060H
+00118A 7E7F              MOV     R6,#07FH
+00118C B104              ACALL   _IIC_WriteBlock
+   60: 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
+00118E 7B01              MOV     R3,#01H
+001190 7A4C              MOV     R2,#HIGH g_variable+01H
+001192 79C0              MOV     R1,#LOW g_variable+01H
+001194 7D01              MOV     R5,#01H
+001196 7C00              MOV     R4,#00H
+001198 7FBD              MOV     R7,#0BDH
+00119A 7E7F              MOV     R6,#07FH
+00119C B104              ACALL   _IIC_WriteBlock
+   61: 		GPIO_Setout(EEPROM_WP_GPIO,1);
+00119E D201              SETB    ?_GPIO_Setout?BIT
+0011A0 7FFF              MOV     R7,#0FFH
+0011A2 5168              ACALL   _GPIO_Setout
+   62: 		g_variable.key_action = KEY_NONE;
+0011A4 E4                CLR     A
+0011A5 904CED            MOV     DPTR,#g_variable+02EH
+0011A8 F0                MOVX    @DPTR,A
+   63: 		break;
+0011A9 22                RET     
+   64: 	case KEY_START_24G:
+   65: 	case KEY_OPEN_24G:
+0011AA         ?C0016?KB_PROCESS:
+   66: 		g_variable.recon_count = 0;
+0011AA E4                CLR     A
+0011AB 904CF0            MOV     DPTR,#g_variable+031H
+0011AE F0                MOVX    @DPTR,A
+   67: 		if ( YC_cancel_reconnect())
+0011AF F1D5              ACALL   YC_cancel_reconnect
+0011B1 EF                MOV     A,R7
+0011B2 6009              JZ      ?C0017?KB_PROCESS
    68: 		{
-   69: 			IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-001193 7B01              MOV     R3,#01H
-001195 7A4C              MOV     R2,#HIGH m_24g_addr
-001197 7900              MOV     R1,#LOW m_24g_addr
-001199 7D04              MOV     R5,#04H
-00119B 7C00              MOV     R4,#00H
-00119D 7F52              MOV     R7,#052H
-00119F 7E7F              MOV     R6,#07FH
-0011A1 D15B              ACALL   _IIC_Read
-   70: 			Delay1ms(10);
-0011A3 7F0A              MOV     R7,#0AH
-0011A5 B195              ACALL   _Delay1ms
-   71: 			fast_connect_flag = 0;
-0011A7 E4                CLR     A
-0011A8 904E55            MOV     DPTR,#fast_connect_flag
-0011AB F0                MOVX    @DPTR,A
-   72: 			if (m_24g_addr[0] == 0xff && m_24g_addr[1] == 0xff && m_24g_addr[2] == 0xff && m_24g_addr[3] == 0xff)
-0011AC 904C00            MOV     DPTR,#m_24g_addr
-0011AF E0                MOVX    A,@DPTR
-0011B0 F4                CPL     A
-0011B1 7021              JNZ     ?C0019?KB_PROCESS
-0011B3 A3                INC     DPTR
-0011B4 E0                MOVX    A,@DPTR
-0011B5 B4FF1C            CJNE    A,#0FFH,?C0019?KB_PROCESS
-0011B8 A3                INC     DPTR
-0011B9 E0                MOVX    A,@DPTR
-0011BA B4FF17            CJNE    A,#0FFH,?C0019?KB_PROCESS
-0011BD A3                INC     DPTR
-0011BE E0                MOVX    A,@DPTR
-0011BF B4FF12            CJNE    A,#0FFH,?C0019?KB_PROCESS
-   73: 			{
-   74: 				m_24g_addr[0] = 0x0f;
-0011C2 904C00            MOV     DPTR,#m_24g_addr
-0011C5 740F              MOV     A,#0FH
-0011C7 F0                MOVX    @DPTR,A
-   75: 				m_24g_addr[1] = 0x0f;
-0011C8 A3                INC     DPTR
-0011C9 F0                MOVX    @DPTR,A
-   76: 				m_24g_addr[2] = 0x0f;
-0011CA A3                INC     DPTR
-0011CB F0                MOVX    @DPTR,A
-   77: 				m_24g_addr[3] = 0x0f;
-0011CC A3                INC     DPTR
-0011CD F0                MOVX    @DPTR,A
-   78: 				fast_connect_flag = 1;
-0011CE 904E55            MOV     DPTR,#fast_connect_flag
-0011D1 7401              MOV     A,#01H
-0011D3 F0                MOVX    @DPTR,A
-   79: 			}
-0011D4         ?C0019?KB_PROCESS:
-   80: 				
-   81: 			IPC_TxControlCmd(IPC_CMD_START_24G);
-0011D4 7F21              MOV     R7,#021H
-0011D6 120ECA            LCALL   _IPC_TxControlCmd
-   82: 			
-   83: 			g_variable.g24_currentState = CHANGE_TO_24G_CONNECTING;
-0011D9 904CC5            MOV     DPTR,#g_variable+06H
-0011DC 7402              MOV     A,#02H
-0011DE F0                MOVX    @DPTR,A
-   84: 			g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-0011DF E4                CLR     A
-0011E0 A3                INC     DPTR
-0011E1 F0                MOVX    @DPTR,A
-   85: 			g_variable.key_action = KEY_NONE;
-0011E2 904CED            MOV     DPTR,#g_variable+02EH
-0011E5 F0                MOVX    @DPTR,A
-   86: 		}
-   87: 		break;
-0011E6 22                RET     
-   88: 	case KEY_PAIRING_24G:
-0011E7         ?C0020?KB_PROCESS:
-   89: 		g_variable.recon_count = 0;
-0011E7 E4                CLR     A
-0011E8 904CF0            MOV     DPTR,#g_variable+031H
-0011EB F0                MOVX    @DPTR,A
-   90: 		if (YC_disconnect_all_link() || YC_cancel_reconnect())
-0011EC 120F87            LCALL   YC_disconnect_all_link
-0011EF EF                MOV     A,R7
-0011F0 7005              JNZ     ?C0022?KB_PROCESS
-0011F2 F1B7              ACALL   YC_cancel_reconnect
-0011F4 EF                MOV     A,R7
-0011F5 6009              JZ      ?C0021?KB_PROCESS
-0011F7         ?C0022?KB_PROCESS:
-   91: 		{
-   92: 			g_variable.key_action = key_num;
-0011F7 904F02            MOV     DPTR,#key_num
-0011FA E0                MOVX    A,@DPTR
-0011FB 904CED            MOV     DPTR,#g_variable+02EH
-0011FE F0                MOVX    @DPTR,A
-   93: 		}
-0011FF 22                RET     
-001200         ?C0021?KB_PROCESS:
-   94: 		else
+   69: 			g_variable.key_action = key_num;
+0011B4 904F02            MOV     DPTR,#key_num
+0011B7 E0                MOVX    A,@DPTR
+0011B8 904CED            MOV     DPTR,#g_variable+02EH
+0011BB F0                MOVX    @DPTR,A
+   70: 		}
+0011BC 22                RET     
+0011BD         ?C0017?KB_PROCESS:
+   71: 		else
+   72: 		{
+   73: 			IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+0011BD 7B01              MOV     R3,#01H
+0011BF 7A4C              MOV     R2,#HIGH m_24g_addr
+0011C1 7900              MOV     R1,#LOW m_24g_addr
+0011C3 7D04              MOV     R5,#04H
+0011C5 7C00              MOV     R4,#00H
+0011C7 7F52              MOV     R7,#052H
+0011C9 7E7F              MOV     R6,#07FH
+0011CB D178              ACALL   _IIC_Read
+   74: 			Delay1ms(10);
+0011CD 7F0A              MOV     R7,#0AH
+0011CF B1B2              ACALL   _Delay1ms
+   75: 			fast_connect_flag = 0;
+0011D1 E4                CLR     A
+0011D2 904E55            MOV     DPTR,#fast_connect_flag
+0011D5 F0                MOVX    @DPTR,A
+   76: 			if (m_24g_addr[0] == 0xff && m_24g_addr[1] == 0xff && m_24g_addr[2] == 0xff && m_24g_addr[3] == 0xff)
+0011D6 904C00            MOV     DPTR,#m_24g_addr
+0011D9 E0                MOVX    A,@DPTR
+0011DA F4                CPL     A
+0011DB 7021              JNZ     ?C0019?KB_PROCESS
+0011DD A3                INC     DPTR
+0011DE E0                MOVX    A,@DPTR
+0011DF B4FF1C            CJNE    A,#0FFH,?C0019?KB_PROCESS
+0011E2 A3                INC     DPTR
+0011E3 E0                MOVX    A,@DPTR
+0011E4 B4FF17            CJNE    A,#0FFH,?C0019?KB_PROCESS
+0011E7 A3                INC     DPTR
+0011E8 E0                MOVX    A,@DPTR
+0011E9 B4FF12            CJNE    A,#0FFH,?C0019?KB_PROCESS
+   77: 			{
+   78: 				m_24g_addr[0] = 0x0f;
+0011EC 904C00            MOV     DPTR,#m_24g_addr
+0011EF 740F              MOV     A,#0FH
+0011F1 F0                MOVX    @DPTR,A
+   79: 				m_24g_addr[1] = 0x0f;
+0011F2 A3                INC     DPTR
+0011F3 F0                MOVX    @DPTR,A
+   80: 				m_24g_addr[2] = 0x0f;
+0011F4 A3                INC     DPTR
+0011F5 F0                MOVX    @DPTR,A
+   81: 				m_24g_addr[3] = 0x0f;
+0011F6 A3                INC     DPTR
+0011F7 F0                MOVX    @DPTR,A
+   82: 				fast_connect_flag = 1;
+0011F8 904E55            MOV     DPTR,#fast_connect_flag
+0011FB 7401              MOV     A,#01H
+0011FD F0                MOVX    @DPTR,A
+   83: 			}
+0011FE         ?C0019?KB_PROCESS:
+   84: 				
+   85: 			IPC_TxControlCmd(IPC_CMD_START_24G);
+0011FE 7F21              MOV     R7,#021H
+001200 120ECA            LCALL   _IPC_TxControlCmd
+   86: 			
+   87: 			g_variable.g24_currentState = CHANGE_TO_24G_CONNECTING;
+001203 904CC5            MOV     DPTR,#g_variable+06H
+001206 7402              MOV     A,#02H
+001208 F0                MOVX    @DPTR,A
+   88: 			g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+001209 E4                CLR     A
+00120A A3                INC     DPTR
+00120B F0                MOVX    @DPTR,A
+   89: 			g_variable.key_action = KEY_NONE;
+00120C 904CED            MOV     DPTR,#g_variable+02EH
+00120F F0                MOVX    @DPTR,A
+   90: 		}
+   91: 		break;
+001210 22                RET     
+   92: 	case KEY_PAIRING_24G:
+001211         ?C0020?KB_PROCESS:
+   93: 		g_variable.recon_count = 0;
+001211 E4                CLR     A
+001212 904CF0            MOV     DPTR,#g_variable+031H
+001215 F0                MOVX    @DPTR,A
+   94: 		if (YC_disconnect_all_link() || YC_cancel_reconnect())
+001216 120F87            LCALL   YC_disconnect_all_link
+001219 EF                MOV     A,R7
+00121A 7005              JNZ     ?C0022?KB_PROCESS
+00121C F1D5              ACALL   YC_cancel_reconnect
+00121E EF                MOV     A,R7
+00121F 6009              JZ      ?C0021?KB_PROCESS
+001221         ?C0022?KB_PROCESS:
    95: 		{
-   96: 			if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
-001200 904CC5            MOV     DPTR,#g_variable+06H
-001203 E0                MOVX    A,@DPTR
-001204 6401              XRL     A,#01H
-001206 602A              JZ      ?C0024?KB_PROCESS
-   97: 			{
-   98: 				fast_connect_flag = 0;
-001208 E4                CLR     A
-001209 904E55            MOV     DPTR,#fast_connect_flag
-00120C F0                MOVX    @DPTR,A
-   99: 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
-00120D 7F23              MOV     R7,#023H
-00120F 120ECA            LCALL   _IPC_TxControlCmd
-  100: 				g_variable.g24_currentState = CHANGE_TO_24G_PAIRING;
-001212 904CC5            MOV     DPTR,#g_variable+06H
-001215 7401              MOV     A,#01H
-001217 F0                MOVX    @DPTR,A
-  101: 				g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001218 E4                CLR     A
-001219 A3                INC     DPTR
-00121A F0                MOVX    @DPTR,A
-  102: 				g_variable.pairing_g24_timeout = BT_PAIRING_TIME_OUT_2MIN;
-00121B 904CEE            MOV     DPTR,#g_variable+02FH
-00121E 74F0              MOV     A,#0F0H
-001220 F0                MOVX    @DPTR,A
-  103: 				GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-001221 D201              SETB    ?_GPIO_Setout?BIT
-001223 7F1E              MOV     R7,#01EH
-001225 513E              ACALL   _GPIO_Setout
-  104: 				GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
-001227 D201              SETB    ?_GPIO_Setout?BIT
-001229 7F1D              MOV     R7,#01DH
-00122B 513E              ACALL   _GPIO_Setout
-  105: 				g_variable.pairing_timeout = 0;
-00122D E4                CLR     A
-00122E 904CE9            MOV     DPTR,#g_variable+02AH
-001231 F0                MOVX    @DPTR,A
-  106: 			}
-001232         ?C0024?KB_PROCESS:
-  107: 			g_variable.key_action = KEY_NONE;
+   96: 			g_variable.key_action = key_num;
+001221 904F02            MOV     DPTR,#key_num
+001224 E0                MOVX    A,@DPTR
+001225 904CED            MOV     DPTR,#g_variable+02EH
+001228 F0                MOVX    @DPTR,A
+   97: 		}
+001229 22                RET     
+00122A         ?C0021?KB_PROCESS:
+   98: 		else
+   99: 		{
+  100: 			if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
+00122A 904CC5            MOV     DPTR,#g_variable+06H
+00122D E0                MOVX    A,@DPTR
+00122E 6401              XRL     A,#01H
+001230 602A              JZ      ?C0024?KB_PROCESS
+  101: 			{
+  102: 				fast_connect_flag = 0;
 001232 E4                CLR     A
-001233 904CED            MOV     DPTR,#g_variable+02EH
+001233 904E55            MOV     DPTR,#fast_connect_flag
 001236 F0                MOVX    @DPTR,A
-  108: 		}
-  109: 		break;
-001237 22                RET     
-  110: 	default:
-001238         ?C0025?KB_PROCESS:
-  111: 		g_variable.key_action = KEY_NONE;
-001238 E4                CLR     A
-001239 904CED            MOV     DPTR,#g_variable+02EH
-00123C F0                MOVX    @DPTR,A
-  112: 		break;
-  113: 	}
-  114: }
-00123D 22                RET     
+  103: 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
+001237 7F23              MOV     R7,#023H
+001239 120ECA            LCALL   _IPC_TxControlCmd
+  104: 				g_variable.g24_currentState = CHANGE_TO_24G_PAIRING;
+00123C 904CC5            MOV     DPTR,#g_variable+06H
+00123F 7401              MOV     A,#01H
+001241 F0                MOVX    @DPTR,A
+  105: 				g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+001242 E4                CLR     A
+001243 A3                INC     DPTR
+001244 F0                MOVX    @DPTR,A
+  106: 				g_variable.pairing_g24_timeout = BT_PAIRING_TIME_OUT_2MIN;
+001245 904CEE            MOV     DPTR,#g_variable+02FH
+001248 74F0              MOV     A,#0F0H
+00124A F0                MOVX    @DPTR,A
+  107: 				GPIO_Setout(BT2_LED_GPIO,LED_OFF);
+00124B D201              SETB    ?_GPIO_Setout?BIT
+00124D 7F1E              MOV     R7,#01EH
+00124F 5168              ACALL   _GPIO_Setout
+  108: 				GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
+001251 D201              SETB    ?_GPIO_Setout?BIT
+001253 7F1D              MOV     R7,#01DH
+001255 5168              ACALL   _GPIO_Setout
+  109: 				g_variable.pairing_timeout = 0;
+001257 E4                CLR     A
+001258 904CE9            MOV     DPTR,#g_variable+02AH
+00125B F0                MOVX    @DPTR,A
+  110: 			}
+00125C         ?C0024?KB_PROCESS:
+  111: 			g_variable.key_action = KEY_NONE;
+00125C E4                CLR     A
+00125D 904CED            MOV     DPTR,#g_variable+02EH
+001260 F0                MOVX    @DPTR,A
+  112: 		}
+  113: 		break;
+001261 22                RET     
+  114: 	default:
+001262         ?C0025?KB_PROCESS:
+  115: 		g_variable.key_action = KEY_NONE;
+001262 E4                CLR     A
+001263 904CED            MOV     DPTR,#g_variable+02EH
+001266 F0                MOVX    @DPTR,A
+  116: 		break;
+  117: 	}
+  118: }
+001267 22                RET     
 ----- FUNCTION _YC_key_action_handle (END) -------
 
 
 ----- FUNCTION _GPIO_Setout (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-00123E EF                MOV     A,R7
-00123F F4                CPL     A
-001240 600C              JZ      ?C0007?GPIO
-001242         ?C0006?GPIO:
-001242 7B01              MOV     R3,#01H
-001244 7A80              MOV     R2,#080H
-001246 7974              MOV     R1,#074H
-001248 A201              MOV     C,bit_val
-00124A 9200              MOV     ?_gpioSetBit?BIT,C
-00124C F1F4              ACALL   _gpioSetBit
-00124E         ?C0007?GPIO:
-00124E 22                RET     
+001268 EF                MOV     A,R7
+001269 F4                CPL     A
+00126A 600D              JZ      ?C0007?GPIO
+00126C         ?C0006?GPIO:
+00126C 7B01              MOV     R3,#01H
+00126E 7A80              MOV     R2,#080H
+001270 7974              MOV     R1,#074H
+001272 A201              MOV     C,bit_val
+001274 9200              MOV     ?_gpioSetBit?BIT,C
+001276 12351D            LCALL   _gpioSetBit
+001279         ?C0007?GPIO:
+001279 22                RET     
 ----- FUNCTION _GPIO_Setout (END) -------
 
 
 ----- FUNCTION LED_timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  303: void LED_timer500ms()
-  304: {
-  305: 	if (power_on_flag != 2)
-  306: 		return;
-00124F 904DEB            MOV     DPTR,#power_on_flag
-001252 E0                MOVX    A,@DPTR
-001253 6402              XRL     A,#02H
-001255 6002              JZ      $ + 4H
-001257 6125              AJMP    ?C0047?SYS
-001259         ?C0046?SYS:
-  307: 	if (g_variable.pairing_timeout != 0) //bt  pairing
-001259 904CE9            MOV     DPTR,#g_variable+02AH
-00125C E0                MOVX    A,@DPTR
-00125D 6048              JZ      ?C0048?SYS
-  308: 	{
-  309: 		if (g_variable.button_reconnect_flag != 1)
-00125F 904CCC            MOV     DPTR,#g_variable+0DH
-001262 E0                MOVX    A,@DPTR
-001263 6401              XRL     A,#01H
-001265 602C              JZ      ?C0049?SYS
-  310: 		{
-  311: 			if(g_variable.current_device_num == 1)
-001267 904CC3            MOV     DPTR,#g_variable+04H
-00126A E0                MOVX    A,@DPTR
-00126B B40106            CJNE    A,#01H,?C0050?SYS
-  312: 				GPIO_FlipOutBit(BT_LED_GPIO);
-00126E 7F1F              MOV     R7,#01FH
-001270 7126              ACALL   _GPIO_FlipOutBit
-001272 8041              SJMP    ?C0056?SYS
-001274         ?C0050?SYS:
-  313: 			else if(g_variable.current_device_num == 2)
-001274 904CC3            MOV     DPTR,#g_variable+04H
-001277 E0                MOVX    A,@DPTR
-001278 B40206            CJNE    A,#02H,?C0052?SYS
-  314: 				GPIO_FlipOutBit(BT2_LED_GPIO);
-00127B 7F1E              MOV     R7,#01EH
-00127D 7126              ACALL   _GPIO_FlipOutBit
-00127F 8034              SJMP    ?C0056?SYS
-001281         ?C0052?SYS:
-  315: 			else if(g_variable.current_device_num == 3)
-001281 904CC3            MOV     DPTR,#g_variable+04H
-001284 E0                MOVX    A,@DPTR
-001285 6403              XRL     A,#03H
-001287 702C              JNZ     ?C0056?SYS
-  316: 			{
-  317: 				GPIO_FlipOutBit(BT_LED_GPIO);
-001289 7F1F              MOV     R7,#01FH
-00128B 7126              ACALL   _GPIO_FlipOutBit
-  318: 				GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
-00128D 7F1D              MOV     R7,#01DH
-00128F 7126              ACALL   _GPIO_FlipOutBit
-  319: 			}
-  320: 		}
-001291 8022              SJMP    ?C0056?SYS
-001293         ?C0049?SYS:
-  321: 		else
-  322: 		{
-  323: 			GPIO_Setout(BT_LED_GPIO,LED_OFF);
-001293 D201              SETB    ?_GPIO_Setout?BIT
-001295 7F1F              MOV     R7,#01FH
-001297 513E              ACALL   _GPIO_Setout
-  324: 			GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-001299 D201              SETB    ?_GPIO_Setout?BIT
-00129B 7F1E              MOV     R7,#01EH
-00129D 513E              ACALL   _GPIO_Setout
-  325: 			GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
-00129F D201              SETB    ?_GPIO_Setout?BIT
-0012A1 7F1D              MOV     R7,#01DH
-0012A3 513E              ACALL   _GPIO_Setout
-  326: 		}
-  327: 	}
-0012A5 800E              SJMP    ?C0056?SYS
-0012A7         ?C0048?SYS:
-  328: 	else if (g_variable.pairing_g24_timeout != 0)
-0012A7 904CEE            MOV     DPTR,#g_variable+02FH
-0012AA E0                MOVX    A,@DPTR
-0012AB 6008              JZ      ?C0056?SYS
-  329: 	{
-  330: 		GPIO_FlipOutBit(BT2_LED_GPIO);
-0012AD 7F1E              MOV     R7,#01EH
-0012AF 7126              ACALL   _GPIO_FlipOutBit
-  331: 		GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
-0012B1 7F1D              MOV     R7,#01DH
-0012B3 7126              ACALL   _GPIO_FlipOutBit
-  332: 	}
-  333: 	else
-  334: 	{
-  335: 		
-  336: 	}
-0012B5         ?C0056?SYS:
-  337: 
-  338: 	
-  339: 	if (YC_check_is_connected())
-0012B5 120FF8            LCALL   YC_check_is_connected
-0012B8 EF                MOV     A,R7
-0012B9 606A              JZ      ?C0047?SYS
-  340: 	{
-  341: 		if(g_variable.sys_numlockled_on_timer)
-0012BB 904CE6            MOV     DPTR,#g_variable+027H
-0012BE E0                MOVX    A,@DPTR
-0012BF 6016              JZ      ?C0060?SYS
-  342: 		{
-  343: 			g_variable.sys_numlockled_on_timer--;
-0012C1 14                DEC     A
-0012C2 F0                MOVX    @DPTR,A
-  344: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
-0012C3 C201              CLR     ?_GPIO_Setout?BIT
-0012C5 7F10              MOV     R7,#010H
-0012C7 513E              ACALL   _GPIO_Setout
-  345: 			if(!g_variable.sys_numlockled_on_timer)
-0012C9 904CE6            MOV     DPTR,#g_variable+027H
-0012CC E0                MOVX    A,@DPTR
-0012CD 700E              JNZ     ?C0062?SYS
-  346: 				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-0012CF D201              SETB    ?_GPIO_Setout?BIT
-0012D1 7F10              MOV     R7,#010H
-0012D3 513E              ACALL   _GPIO_Setout
-  347: 		}
-0012D5 8006              SJMP    ?C0062?SYS
-0012D7         ?C0060?SYS:
-  348: 		else 
-  349: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-0012D7 D201              SETB    ?_GPIO_Setout?BIT
-0012D9 7F10              MOV     R7,#010H
-0012DB 513E              ACALL   _GPIO_Setout
-0012DD         ?C0062?SYS:
-  350: 
-  351: 		if(g_variable.sys_capslockled_on_timer)
-0012DD 904CE7            MOV     DPTR,#g_variable+028H
-0012E0 E0                MOVX    A,@DPTR
-0012E1 6016              JZ      ?C0063?SYS
-  352: 		{
-  353: 			g_variable.sys_capslockled_on_timer--;
-0012E3 14                DEC     A
-0012E4 F0                MOVX    @DPTR,A
-  354: 			GPIO_Setout(CAPS_LED_GPIO, LED_ON);
-0012E5 C201              CLR     ?_GPIO_Setout?BIT
-0012E7 7F0F              MOV     R7,#0FH
-0012E9 513E              ACALL   _GPIO_Setout
-  355: 			if(!g_variable.sys_capslockled_on_timer)
-0012EB 904CE7            MOV     DPTR,#g_variable+028H
-0012EE E0                MOVX    A,@DPTR
-0012EF 700E              JNZ     ?C0065?SYS
-  356: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-0012F1 D201              SETB    ?_GPIO_Setout?BIT
-0012F3 7F0F              MOV     R7,#0FH
-0012F5 513E              ACALL   _GPIO_Setout
-  357: 		}
-0012F7 8006              SJMP    ?C0065?SYS
-0012F9         ?C0063?SYS:
-  358: 		else
-  359: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-0012F9 D201              SETB    ?_GPIO_Setout?BIT
-0012FB 7F0F              MOV     R7,#0FH
-0012FD 513E              ACALL   _GPIO_Setout
-0012FF         ?C0065?SYS:
-  360: 
-  361: 
-  362: 		if(g_variable.sys_scrolllockled_on_timer)
-0012FF 904CE8            MOV     DPTR,#g_variable+029H
-001302 E0                MOVX    A,@DPTR
-001303 6020              JZ      ?C0047?SYS
-  363: 		{
-  364: 			g_variable.sys_scrolllockled_on_timer--;
-001305 14                DEC     A
-001306 F0                MOVX    @DPTR,A
-  365: 			if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
-001307 904CE5            MOV     DPTR,#g_variable+026H
-00130A E0                MOVX    A,@DPTR
-00130B 7018              JNZ     ?C0047?SYS
-00130D 904CE2            MOV     DPTR,#g_variable+023H
-001310 E0                MOVX    A,@DPTR
-001311 7012              JNZ     ?C0047?SYS
-  366: 			{
-  367: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-001313 C201              CLR     ?_GPIO_Setout?BIT
-001315 7F1D              MOV     R7,#01DH
-001317 513E              ACALL   _GPIO_Setout
-  368: 				if(!g_variable.sys_scrolllockled_on_timer)
-001319 904CE8            MOV     DPTR,#g_variable+029H
-00131C E0                MOVX    A,@DPTR
-00131D 7006              JNZ     ?C0047?SYS
-  369: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-00131F D201              SETB    ?_GPIO_Setout?BIT
-001321 7F1D              MOV     R7,#01DH
-001323 513E              ACALL   _GPIO_Setout
-  370: 			}
-  371: 		}		
-  372: 		
-  373: 	}	
-  374: }
-001325         ?C0047?SYS:
-001325 22                RET     
+  306: void LED_timer500ms()
+  307: {
+  308: 	if (power_on_flag != 2)
+  309: 		return;
+00127A 904DEB            MOV     DPTR,#power_on_flag
+00127D E0                MOVX    A,@DPTR
+00127E 6402              XRL     A,#02H
+001280 6002              JZ      $ + 4H
+001282 6150              AJMP    ?C0047?SYS
+001284         ?C0046?SYS:
+  310: 	if (g_variable.pairing_timeout != 0) //bt  pairing
+001284 904CE9            MOV     DPTR,#g_variable+02AH
+001287 E0                MOVX    A,@DPTR
+001288 6048              JZ      ?C0048?SYS
+  311: 	{
+  312: 		if (g_variable.button_reconnect_flag != 1)
+00128A 904CCC            MOV     DPTR,#g_variable+0DH
+00128D E0                MOVX    A,@DPTR
+00128E 6401              XRL     A,#01H
+001290 602C              JZ      ?C0049?SYS
+  313: 		{
+  314: 			if(g_variable.current_device_num == 1)
+001292 904CC3            MOV     DPTR,#g_variable+04H
+001295 E0                MOVX    A,@DPTR
+001296 B40106            CJNE    A,#01H,?C0050?SYS
+  315: 				GPIO_FlipOutBit(BT_LED_GPIO);
+001299 7F1F              MOV     R7,#01FH
+00129B 7151              ACALL   _GPIO_FlipOutBit
+00129D 8041              SJMP    ?C0056?SYS
+00129F         ?C0050?SYS:
+  316: 			else if(g_variable.current_device_num == 2)
+00129F 904CC3            MOV     DPTR,#g_variable+04H
+0012A2 E0                MOVX    A,@DPTR
+0012A3 B40206            CJNE    A,#02H,?C0052?SYS
+  317: 				GPIO_FlipOutBit(BT2_LED_GPIO);
+0012A6 7F1E              MOV     R7,#01EH
+0012A8 7151              ACALL   _GPIO_FlipOutBit
+0012AA 8034              SJMP    ?C0056?SYS
+0012AC         ?C0052?SYS:
+  318: 			else if(g_variable.current_device_num == 3)
+0012AC 904CC3            MOV     DPTR,#g_variable+04H
+0012AF E0                MOVX    A,@DPTR
+0012B0 6403              XRL     A,#03H
+0012B2 702C              JNZ     ?C0056?SYS
+  319: 			{
+  320: 				GPIO_FlipOutBit(BT_LED_GPIO);
+0012B4 7F1F              MOV     R7,#01FH
+0012B6 7151              ACALL   _GPIO_FlipOutBit
+  321: 				GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
+0012B8 7F1D              MOV     R7,#01DH
+0012BA 7151              ACALL   _GPIO_FlipOutBit
+  322: 			}
+  323: 		}
+0012BC 8022              SJMP    ?C0056?SYS
+0012BE         ?C0049?SYS:
+  324: 		else
+  325: 		{
+  326: 			GPIO_Setout(BT_LED_GPIO,LED_OFF);
+0012BE D201              SETB    ?_GPIO_Setout?BIT
+0012C0 7F1F              MOV     R7,#01FH
+0012C2 5168              ACALL   _GPIO_Setout
+  327: 			GPIO_Setout(BT2_LED_GPIO,LED_OFF);
+0012C4 D201              SETB    ?_GPIO_Setout?BIT
+0012C6 7F1E              MOV     R7,#01EH
+0012C8 5168              ACALL   _GPIO_Setout
+  328: 			GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
+0012CA D201              SETB    ?_GPIO_Setout?BIT
+0012CC 7F1D              MOV     R7,#01DH
+0012CE 5168              ACALL   _GPIO_Setout
+  329: 		}
+  330: 	}
+0012D0 800E              SJMP    ?C0056?SYS
+0012D2         ?C0048?SYS:
+  331: 	else if (g_variable.pairing_g24_timeout != 0)
+0012D2 904CEE            MOV     DPTR,#g_variable+02FH
+0012D5 E0                MOVX    A,@DPTR
+0012D6 6008              JZ      ?C0056?SYS
+  332: 	{
+  333: 		GPIO_FlipOutBit(BT2_LED_GPIO);
+0012D8 7F1E              MOV     R7,#01EH
+0012DA 7151              ACALL   _GPIO_FlipOutBit
+  334: 		GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
+0012DC 7F1D              MOV     R7,#01DH
+0012DE 7151              ACALL   _GPIO_FlipOutBit
+  335: 	}
+  336: 	else
+  337: 	{
+  338: 		
+  339: 	}
+0012E0         ?C0056?SYS:
+  340: 
+  341: 	
+  342: 	if (YC_check_is_connected())
+0012E0 120FF8            LCALL   YC_check_is_connected
+0012E3 EF                MOV     A,R7
+0012E4 606A              JZ      ?C0047?SYS
+  343: 	{
+  344: 		if(g_variable.sys_numlockled_on_timer)
+0012E6 904CE6            MOV     DPTR,#g_variable+027H
+0012E9 E0                MOVX    A,@DPTR
+0012EA 6016              JZ      ?C0060?SYS
+  345: 		{
+  346: 			g_variable.sys_numlockled_on_timer--;
+0012EC 14                DEC     A
+0012ED F0                MOVX    @DPTR,A
+  347: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
+0012EE C201              CLR     ?_GPIO_Setout?BIT
+0012F0 7F10              MOV     R7,#010H
+0012F2 5168              ACALL   _GPIO_Setout
+  348: 			if(!g_variable.sys_numlockled_on_timer)
+0012F4 904CE6            MOV     DPTR,#g_variable+027H
+0012F7 E0                MOVX    A,@DPTR
+0012F8 700E              JNZ     ?C0062?SYS
+  349: 				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+0012FA D201              SETB    ?_GPIO_Setout?BIT
+0012FC 7F10              MOV     R7,#010H
+0012FE 5168              ACALL   _GPIO_Setout
+  350: 		}
+001300 8006              SJMP    ?C0062?SYS
+001302         ?C0060?SYS:
+  351: 		else 
+  352: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+001302 D201              SETB    ?_GPIO_Setout?BIT
+001304 7F10              MOV     R7,#010H
+001306 5168              ACALL   _GPIO_Setout
+001308         ?C0062?SYS:
+  353: 
+  354: 		if(g_variable.sys_capslockled_on_timer)
+001308 904CE7            MOV     DPTR,#g_variable+028H
+00130B E0                MOVX    A,@DPTR
+00130C 6016              JZ      ?C0063?SYS
+  355: 		{
+  356: 			g_variable.sys_capslockled_on_timer--;
+00130E 14                DEC     A
+00130F F0                MOVX    @DPTR,A
+  357: 			GPIO_Setout(CAPS_LED_GPIO, LED_ON);
+001310 C201              CLR     ?_GPIO_Setout?BIT
+001312 7F0F              MOV     R7,#0FH
+001314 5168              ACALL   _GPIO_Setout
+  358: 			if(!g_variable.sys_capslockled_on_timer)
+001316 904CE7            MOV     DPTR,#g_variable+028H
+001319 E0                MOVX    A,@DPTR
+00131A 700E              JNZ     ?C0065?SYS
+  359: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+00131C D201              SETB    ?_GPIO_Setout?BIT
+00131E 7F0F              MOV     R7,#0FH
+001320 5168              ACALL   _GPIO_Setout
+  360: 		}
+001322 8006              SJMP    ?C0065?SYS
+001324         ?C0063?SYS:
+  361: 		else
+  362: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+001324 D201              SETB    ?_GPIO_Setout?BIT
+001326 7F0F              MOV     R7,#0FH
+001328 5168              ACALL   _GPIO_Setout
+00132A         ?C0065?SYS:
+  363: 
+  364: 
+  365: 		if(g_variable.sys_scrolllockled_on_timer)
+00132A 904CE8            MOV     DPTR,#g_variable+029H
+00132D E0                MOVX    A,@DPTR
+00132E 6020              JZ      ?C0047?SYS
+  366: 		{
+  367: 			g_variable.sys_scrolllockled_on_timer--;
+001330 14                DEC     A
+001331 F0                MOVX    @DPTR,A
+  368: 			if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
+001332 904CE5            MOV     DPTR,#g_variable+026H
+001335 E0                MOVX    A,@DPTR
+001336 7018              JNZ     ?C0047?SYS
+001338 904CE2            MOV     DPTR,#g_variable+023H
+00133B E0                MOVX    A,@DPTR
+00133C 7012              JNZ     ?C0047?SYS
+  369: 			{
+  370: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
+00133E C201              CLR     ?_GPIO_Setout?BIT
+001340 7F1D              MOV     R7,#01DH
+001342 5168              ACALL   _GPIO_Setout
+  371: 				if(!g_variable.sys_scrolllockled_on_timer)
+001344 904CE8            MOV     DPTR,#g_variable+029H
+001347 E0                MOVX    A,@DPTR
+001348 7006              JNZ     ?C0047?SYS
+  372: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
+00134A D201              SETB    ?_GPIO_Setout?BIT
+00134C 7F1D              MOV     R7,#01DH
+00134E 5168              ACALL   _GPIO_Setout
+  373: 			}
+  374: 		}		
+  375: 		
+  376: 	}	
+  377: }
+001350         ?C0047?SYS:
+001350 22                RET     
 ----- FUNCTION LED_timer500ms (END) -------
 
 
 ----- FUNCTION _GPIO_FlipOutBit (BEGIN) -----
-001326 904F0B            MOV     DPTR,#gpio_num
-001329 EF                MOV     A,R7
-00132A F0                MOVX    @DPTR,A
-00132B 7B01              MOV     R3,#01H
-00132D 7A80              MOV     R2,#080H
-00132F 7974              MOV     R1,#074H
-001331 122F67            LCALL   _gpioGetBit
-001334 9209              MOV     st,C
-001336 904F0B            MOV     DPTR,#gpio_num
-001339 E0                MOVX    A,@DPTR
-00133A FF                MOV     R7,A
-00133B A209              MOV     C,st
-00133D B3                CPL     C
-00133E 9201              MOV     ?_GPIO_Setout?BIT,C
-001340 413E              AJMP    _GPIO_Setout
+001351 904F0B            MOV     DPTR,#gpio_num
+001354 EF                MOV     A,R7
+001355 F0                MOVX    @DPTR,A
+001356 7B01              MOV     R3,#01H
+001358 7A80              MOV     R2,#080H
+00135A 7974              MOV     R1,#074H
+00135C 122F60            LCALL   _gpioGetBit
+00135F 9209              MOV     st,C
+001361 904F0B            MOV     DPTR,#gpio_num
+001364 E0                MOVX    A,@DPTR
+001365 FF                MOV     R7,A
+001366 A209              MOV     C,st
+001368 B3                CPL     C
+001369 9201              MOV     ?_GPIO_Setout?BIT,C
+00136B 4168              AJMP    _GPIO_Setout
 ----- FUNCTION _GPIO_FlipOutBit (END) -------
 
 
@@ -2682,233 +2707,233 @@
    53: {
    54: 	if (power_on_flag != 2)
    55: 		return;
-001342 904DEB            MOV     DPTR,#power_on_flag
-001345 E0                MOVX    A,@DPTR
-001346 6402              XRL     A,#02H
-001348 6002              JZ      $ + 4H
-00134A 8141              AJMP    ?C0017?LED
-00134C         ?C0016?LED:
+00136D 904DEB            MOV     DPTR,#power_on_flag
+001370 E0                MOVX    A,@DPTR
+001371 6402              XRL     A,#02H
+001373 6002              JZ      $ + 4H
+001375 816C              AJMP    ?C0017?LED
+001377         ?C0016?LED:
    56: 
    57: 	if(!g_variable.pairing_timeout && !g_variable.pairing_g24_timeout)
-00134C 904CE9            MOV     DPTR,#g_variable+02AH
-00134F E0                MOVX    A,@DPTR
-001350 6002              JZ      $ + 4H
-001352 813B              AJMP    ?C0018?LED
-001354 904CEE            MOV     DPTR,#g_variable+02FH
-001357 E0                MOVX    A,@DPTR
-001358 6002              JZ      $ + 4H
-00135A 813B              AJMP    ?C0018?LED
+001377 904CE9            MOV     DPTR,#g_variable+02AH
+00137A E0                MOVX    A,@DPTR
+00137B 6002              JZ      $ + 4H
+00137D 8166              AJMP    ?C0018?LED
+00137F 904CEE            MOV     DPTR,#g_variable+02FH
+001382 E0                MOVX    A,@DPTR
+001383 6002              JZ      $ + 4H
+001385 8166              AJMP    ?C0018?LED
    58: 	{
    59: 		//low battery LED process
    60: 		if (g_variable.battery_status == BAT_STATUS_SHUT_DOWN)
-00135C 904CD5            MOV     DPTR,#g_variable+016H
-00135F E0                MOVX    A,@DPTR
-001360 B40205            CJNE    A,#02H,?C0019?LED
+001387 904CD5            MOV     DPTR,#g_variable+016H
+00138A E0                MOVX    A,@DPTR
+00138B B40205            CJNE    A,#02H,?C0019?LED
    61: 		{
    62: 			System_long_sleep();
-001363 120FB2            LCALL   System_long_sleep
+00138E 120FB2            LCALL   System_long_sleep
    63: 		}
-001366 802E              SJMP    ?C0020?LED
-001368         ?C0019?LED:
+001391 802E              SJMP    ?C0020?LED
+001393         ?C0019?LED:
    64: 		else if (g_variable.battery_status == BAT_STATUS_LOW)
-001368 904CD5            MOV     DPTR,#g_variable+016H
-00136B E0                MOVX    A,@DPTR
-00136C B40114            CJNE    A,#01H,?C0021?LED
+001393 904CD5            MOV     DPTR,#g_variable+016H
+001396 E0                MOVX    A,@DPTR
+001397 B40114            CJNE    A,#01H,?C0021?LED
    65: 		{
    66: 			if (g_variable.battery_low_led_flash_flag == 0)
-00136F 904CF7            MOV     DPTR,#g_variable+038H
-001372 E0                MOVX    A,@DPTR
-001373 7021              JNZ     ?C0020?LED
+00139A 904CF7            MOV     DPTR,#g_variable+038H
+00139D E0                MOVX    A,@DPTR
+00139E 7021              JNZ     ?C0020?LED
    67: 			{
    68: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-001375 904CE2            MOV     DPTR,#g_variable+023H
-001378 7418              MOV     A,#018H
-00137A F0                MOVX    @DPTR,A
+0013A0 904CE2            MOV     DPTR,#g_variable+023H
+0013A3 7418              MOV     A,#018H
+0013A5 F0                MOVX    @DPTR,A
    69: 				g_variable.battery_low_led_flash_flag = 1;
-00137B 904CF7            MOV     DPTR,#g_variable+038H
-00137E 7401              MOV     A,#01H
-001380 F0                MOVX    @DPTR,A
+0013A6 904CF7            MOV     DPTR,#g_variable+038H
+0013A9 7401              MOV     A,#01H
+0013AB F0                MOVX    @DPTR,A
    70: 			}
    71: 		}
-001381 8013              SJMP    ?C0020?LED
-001383         ?C0021?LED:
+0013AC 8013              SJMP    ?C0020?LED
+0013AE         ?C0021?LED:
    72: 		else
    73: 		{
    74: 			if (g_variable.battery_low_led_flash_flag == 1)
-001383 904CF7            MOV     DPTR,#g_variable+038H
-001386 E0                MOVX    A,@DPTR
-001387 B4010C            CJNE    A,#01H,?C0020?LED
+0013AE 904CF7            MOV     DPTR,#g_variable+038H
+0013B1 E0                MOVX    A,@DPTR
+0013B2 B4010C            CJNE    A,#01H,?C0020?LED
    75: 			{
    76: 				g_variable.battery_low_led_flash_flag = 0;
-00138A E4                CLR     A
-00138B F0                MOVX    @DPTR,A
+0013B5 E4                CLR     A
+0013B6 F0                MOVX    @DPTR,A
    77: 				g_variable.battery_low_led_flash_interval = 0;
-00138C 904CE2            MOV     DPTR,#g_variable+023H
-00138F F0                MOVX    @DPTR,A
+0013B7 904CE2            MOV     DPTR,#g_variable+023H
+0013BA F0                MOVX    @DPTR,A
    78: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-001390 D201              SETB    ?_GPIO_Setout?BIT
-001392 7F1D              MOV     R7,#01DH
-001394 513E              ACALL   _GPIO_Setout
+0013BB D201              SETB    ?_GPIO_Setout?BIT
+0013BD 7F1D              MOV     R7,#01DH
+0013BF 5168              ACALL   _GPIO_Setout
    79: 			}
    80: 		}
-001396         ?C0020?LED:
+0013C1         ?C0020?LED:
    81: 
    82: 		//capslock  numlock  scrolllock LED process
    83: 		if (YC_check_is_connected())
-001396 120FF8            LCALL   YC_check_is_connected
-001399 EF                MOV     A,R7
-00139A 7002              JNZ     $ + 4H
-00139C 812F              AJMP    ?C0025?LED
+0013C1 120FF8            LCALL   YC_check_is_connected
+0013C4 EF                MOV     A,R7
+0013C5 7002              JNZ     $ + 4H
+0013C7 815A              AJMP    ?C0025?LED
    84: 		{
    85: 			if(m_caps_num_lock != m_caps_num_lock_last)
-00139E 904DE0            MOV     DPTR,#m_caps_num_lock_last
-0013A1 E0                MOVX    A,@DPTR
-0013A2 FF                MOV     R7,A
-0013A3 904CB7            MOV     DPTR,#m_caps_num_lock
-0013A6 E0                MOVX    A,@DPTR
-0013A7 6F                XRL     A,R7
-0013A8 7002              JNZ     $ + 4H
-0013AA 8141              AJMP    ?C0017?LED
+0013C9 904DE0            MOV     DPTR,#m_caps_num_lock_last
+0013CC E0                MOVX    A,@DPTR
+0013CD FF                MOV     R7,A
+0013CE 904CB7            MOV     DPTR,#m_caps_num_lock
+0013D1 E0                MOVX    A,@DPTR
+0013D2 6F                XRL     A,R7
+0013D3 7002              JNZ     $ + 4H
+0013D5 816C              AJMP    ?C0017?LED
    86: 			{
    87: 				if(m_caps_num_lock & KB_PC_KEYSEL_NUMLOCK)
-0013AC E0                MOVX    A,@DPTR
-0013AD 30E00E            JNB     ACC.0,?C0027?LED
+0013D7 E0                MOVX    A,@DPTR
+0013D8 30E00E            JNB     ACC.0,?C0027?LED
    88: 				{
    89: 					g_variable.sys_numlockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-0013B0 904CE6            MOV     DPTR,#g_variable+027H
-0013B3 740C              MOV     A,#0CH
-0013B5 F0                MOVX    @DPTR,A
+0013DB 904CE6            MOV     DPTR,#g_variable+027H
+0013DE 740C              MOV     A,#0CH
+0013E0 F0                MOVX    @DPTR,A
    90: 					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
-0013B6 C201              CLR     ?_GPIO_Setout?BIT
-0013B8 7F10              MOV     R7,#010H
-0013BA 513E              ACALL   _GPIO_Setout
+0013E1 C201              CLR     ?_GPIO_Setout?BIT
+0013E3 7F10              MOV     R7,#010H
+0013E5 5168              ACALL   _GPIO_Setout
    91: 				}
-0013BC 800B              SJMP    ?C0028?LED
-0013BE         ?C0027?LED:
+0013E7 800B              SJMP    ?C0028?LED
+0013E9         ?C0027?LED:
    92: 				else
    93: 				{
    94: 					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-0013BE D201              SETB    ?_GPIO_Setout?BIT
-0013C0 7F10              MOV     R7,#010H
-0013C2 513E              ACALL   _GPIO_Setout
+0013E9 D201              SETB    ?_GPIO_Setout?BIT
+0013EB 7F10              MOV     R7,#010H
+0013ED 5168              ACALL   _GPIO_Setout
    95: 					g_variable.sys_numlockled_on_timer = 0;
-0013C4 E4                CLR     A
-0013C5 904CE6            MOV     DPTR,#g_variable+027H
-0013C8 F0                MOVX    @DPTR,A
+0013EF E4                CLR     A
+0013F0 904CE6            MOV     DPTR,#g_variable+027H
+0013F3 F0                MOVX    @DPTR,A
    96: 				}
-0013C9         ?C0028?LED:
+0013F4         ?C0028?LED:
    97: 				
    98: 				if(m_caps_num_lock & KB_PC_KEYSEL_CAPSLOCK)
-0013C9 904CB7            MOV     DPTR,#m_caps_num_lock
-0013CC E0                MOVX    A,@DPTR
-0013CD 30E10E            JNB     ACC.1,?C0029?LED
+0013F4 904CB7            MOV     DPTR,#m_caps_num_lock
+0013F7 E0                MOVX    A,@DPTR
+0013F8 30E10E            JNB     ACC.1,?C0029?LED
    99: 				{
   100: 					g_variable.sys_capslockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-0013D0 904CE7            MOV     DPTR,#g_variable+028H
-0013D3 740C              MOV     A,#0CH
-0013D5 F0                MOVX    @DPTR,A
+0013FB 904CE7            MOV     DPTR,#g_variable+028H
+0013FE 740C              MOV     A,#0CH
+001400 F0                MOVX    @DPTR,A
   101: 					GPIO_Setout(CAPS_LED_GPIO, LED_ON);
-0013D6 C201              CLR     ?_GPIO_Setout?BIT
-0013D8 7F0F              MOV     R7,#0FH
-0013DA 513E              ACALL   _GPIO_Setout
+001401 C201              CLR     ?_GPIO_Setout?BIT
+001403 7F0F              MOV     R7,#0FH
+001405 5168              ACALL   _GPIO_Setout
   102: 				}
-0013DC 800B              SJMP    ?C0030?LED
-0013DE         ?C0029?LED:
+001407 800B              SJMP    ?C0030?LED
+001409         ?C0029?LED:
   103: 				else 
   104: 				{
   105: 					GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-0013DE D201              SETB    ?_GPIO_Setout?BIT
-0013E0 7F0F              MOV     R7,#0FH
-0013E2 513E              ACALL   _GPIO_Setout
+001409 D201              SETB    ?_GPIO_Setout?BIT
+00140B 7F0F              MOV     R7,#0FH
+00140D 5168              ACALL   _GPIO_Setout
   106: 					g_variable.sys_capslockled_on_timer = 0;
-0013E4 E4                CLR     A
-0013E5 904CE7            MOV     DPTR,#g_variable+028H
-0013E8 F0                MOVX    @DPTR,A
+00140F E4                CLR     A
+001410 904CE7            MOV     DPTR,#g_variable+028H
+001413 F0                MOVX    @DPTR,A
   107: 				}	
-0013E9         ?C0030?LED:
+001414         ?C0030?LED:
   108: 
   109: 				
   110: 				if(m_caps_num_lock & KB_PC_KEYSEL_SCROLLLOCK)
-0013E9 904CB7            MOV     DPTR,#m_caps_num_lock
-0013EC E0                MOVX    A,@DPTR
-0013ED 30E21A            JNB     ACC.2,?C0031?LED
+001414 904CB7            MOV     DPTR,#m_caps_num_lock
+001417 E0                MOVX    A,@DPTR
+001418 30E21A            JNB     ACC.2,?C0031?LED
   111: 				{
   112: 					g_variable.sys_scrolllockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-0013F0 904CE8            MOV     DPTR,#g_variable+029H
-0013F3 740C              MOV     A,#0CH
-0013F5 F0                MOVX    @DPTR,A
+00141B 904CE8            MOV     DPTR,#g_variable+029H
+00141E 740C              MOV     A,#0CH
+001420 F0                MOVX    @DPTR,A
   113: 					if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
-0013F6 904CE5            MOV     DPTR,#g_variable+026H
-0013F9 E0                MOVX    A,@DPTR
-0013FA 7025              JNZ     ?C0033?LED
-0013FC 904CE2            MOV     DPTR,#g_variable+023H
-0013FF E0                MOVX    A,@DPTR
-001400 701F              JNZ     ?C0033?LED
+001421 904CE5            MOV     DPTR,#g_variable+026H
+001424 E0                MOVX    A,@DPTR
+001425 7025              JNZ     ?C0033?LED
+001427 904CE2            MOV     DPTR,#g_variable+023H
+00142A E0                MOVX    A,@DPTR
+00142B 701F              JNZ     ?C0033?LED
   114: 						GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-001402 C201              CLR     ?_GPIO_Setout?BIT
-001404 7F1D              MOV     R7,#01DH
-001406 513E              ACALL   _GPIO_Setout
+00142D C201              CLR     ?_GPIO_Setout?BIT
+00142F 7F1D              MOV     R7,#01DH
+001431 5168              ACALL   _GPIO_Setout
   115: 				}
-001408 8017              SJMP    ?C0033?LED
-00140A         ?C0031?LED:
+001433 8017              SJMP    ?C0033?LED
+001435         ?C0031?LED:
   116: 				else 
   117: 				{
   118: 					if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
-00140A 904CE5            MOV     DPTR,#g_variable+026H
-00140D E0                MOVX    A,@DPTR
-00140E 700C              JNZ     ?C0034?LED
-001410 904CE2            MOV     DPTR,#g_variable+023H
-001413 E0                MOVX    A,@DPTR
-001414 7006              JNZ     ?C0034?LED
+001435 904CE5            MOV     DPTR,#g_variable+026H
+001438 E0                MOVX    A,@DPTR
+001439 700C              JNZ     ?C0034?LED
+00143B 904CE2            MOV     DPTR,#g_variable+023H
+00143E E0                MOVX    A,@DPTR
+00143F 7006              JNZ     ?C0034?LED
   119: 						GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-001416 D201              SETB    ?_GPIO_Setout?BIT
-001418 7F1D              MOV     R7,#01DH
-00141A 513E              ACALL   _GPIO_Setout
-00141C         ?C0034?LED:
+001441 D201              SETB    ?_GPIO_Setout?BIT
+001443 7F1D              MOV     R7,#01DH
+001445 5168              ACALL   _GPIO_Setout
+001447         ?C0034?LED:
   120: 					g_variable.sys_scrolllockled_on_timer = 0;
-00141C E4                CLR     A
-00141D 904CE8            MOV     DPTR,#g_variable+029H
-001420 F0                MOVX    @DPTR,A
+001447 E4                CLR     A
+001448 904CE8            MOV     DPTR,#g_variable+029H
+00144B F0                MOVX    @DPTR,A
   121: 				}
-001421         ?C0033?LED:
+00144C         ?C0033?LED:
   122: 				m_24g_led_flag = 0;	
-001421 E4                CLR     A
-001422 904D46            MOV     DPTR,#m_24g_led_flag
-001425 F0                MOVX    @DPTR,A
+00144C E4                CLR     A
+00144D 904D46            MOV     DPTR,#m_24g_led_flag
+001450 F0                MOVX    @DPTR,A
   123: 				m_caps_num_lock_last = m_caps_num_lock;
-001426 904CB7            MOV     DPTR,#m_caps_num_lock
-001429 E0                MOVX    A,@DPTR
-00142A 904DE0            MOV     DPTR,#m_caps_num_lock_last
-00142D F0                MOVX    @DPTR,A
+001451 904CB7            MOV     DPTR,#m_caps_num_lock
+001454 E0                MOVX    A,@DPTR
+001455 904DE0            MOV     DPTR,#m_caps_num_lock_last
+001458 F0                MOVX    @DPTR,A
   124: 			}
   125: 		}
-00142E 22                RET     
-00142F         ?C0025?LED:
+001459 22                RET     
+00145A         ?C0025?LED:
   126: 		else
   127: 		{
   128: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-00142F D201              SETB    ?_GPIO_Setout?BIT
-001431 7F10              MOV     R7,#010H
-001433 513E              ACALL   _GPIO_Setout
+00145A D201              SETB    ?_GPIO_Setout?BIT
+00145C 7F10              MOV     R7,#010H
+00145E 5168              ACALL   _GPIO_Setout
   129: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-001435 D201              SETB    ?_GPIO_Setout?BIT
-001437 7F0F              MOV     R7,#0FH
-001439 413E              AJMP    _GPIO_Setout
+001460 D201              SETB    ?_GPIO_Setout?BIT
+001462 7F0F              MOV     R7,#0FH
+001464 4168              AJMP    _GPIO_Setout
   130: 		}
   131: 	}
-00143B         ?C0018?LED:
+001466         ?C0018?LED:
   132: 	else
   133: 	{
   134: 		GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-00143B D201              SETB    ?_GPIO_Setout?BIT
-00143D 7F10              MOV     R7,#010H
-00143F 513E              ACALL   _GPIO_Setout
+001466 D201              SETB    ?_GPIO_Setout?BIT
+001468 7F10              MOV     R7,#010H
+00146A 5168              ACALL   _GPIO_Setout
   135: 
   136: 	}
   137: 
   138: }
-001441         ?C0017?LED:
-001441 22                RET     
+00146C         ?C0017?LED:
+00146C 22                RET     
 ----- FUNCTION LED_handle (END) -------
 
 
@@ -2918,283 +2943,270 @@
   200: {
   201: 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
   202: 	{
-001442 904CBF            MOV     DPTR,#g_variable
-001445 E0                MOVX    A,@DPTR
-001446 7002              JNZ     $ + 4H
-001448 81E6              AJMP    ?C0039?BLUETOOTH
-  203: 		#ifdef  ADC_ENABLE
-  204: 		if(m_adcCurrentValue < g_variable.battery_level_shutdown)
-00144A 904CE0            MOV     DPTR,#g_variable+021H
-00144D E0                MOVX    A,@DPTR
-00144E FE                MOV     R6,A
-00144F A3                INC     DPTR
-001450 E0                MOVX    A,@DPTR
-001451 FF                MOV     R7,A
-001452 C3                CLR     C
-001453 904C96            MOV     DPTR,#m_adcCurrentValue+01H
-001456 E0                MOVX    A,@DPTR
-001457 9F                SUBB    A,R7
-001458 904C95            MOV     DPTR,#m_adcCurrentValue
-00145B E0                MOVX    A,@DPTR
-00145C 9E                SUBB    A,R6
-00145D 5002              JNC     $ + 4H
-00145F 81E6              AJMP    ?C0039?BLUETOOTH
-001461         ?C0038?BLUETOOTH:
-  205: 			return;
-  206: 		#endif
-  207: 
-  208: 		GPIO_Setout(EEPROM_WP_GPIO,0);
-001461 C201              CLR     ?_GPIO_Setout?BIT
-001463 7FFF              MOV     R7,#0FFH
-001465 513E              ACALL   _GPIO_Setout
-  209: 		if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_G24)
-001467 904CBF            MOV     DPTR,#g_variable
-00146A E0                MOVX    A,@DPTR
-00146B 6402              XRL     A,#02H
-00146D 7031              JNZ     ?C0040?BLUETOOTH
-  210: 		{
-  211: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-00146F 7B01              MOV     R3,#01H
-001471 7A4C              MOV     R2,#HIGH m_24g_addr
-001473 7900              MOV     R1,#LOW m_24g_addr
-001475 7D04              MOV     R5,#04H
-001477 FC                MOV     R4,A
-001478 7F52              MOV     R7,#052H
-00147A 7E7F              MOV     R6,#07FH
-00147C 91E7              ACALL   _IIC_WriteBlock
-  212: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-00147E 7B01              MOV     R3,#01H
-001480 7A4C              MOV     R2,#HIGH g_variable+02H
-001482 79C1              MOV     R1,#LOW g_variable+02H
-001484 7D01              MOV     R5,#01H
-001486 7C00              MOV     R4,#00H
-001488 7F57              MOV     R7,#057H
-00148A 7E7F              MOV     R6,#07FH
-00148C 91E7              ACALL   _IIC_WriteBlock
-  213: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
-00148E 7B01              MOV     R3,#01H
-001490 7A4D              MOV     R2,#HIGH fn_lock_flag
-001492 79E7              MOV     R1,#LOW fn_lock_flag
-001494 7D01              MOV     R5,#01H
-001496 7C00              MOV     R4,#00H
-001498 7F56              MOV     R7,#056H
-00149A 7E7F              MOV     R6,#07FH
-00149C 91E7              ACALL   _IIC_WriteBlock
-  214: 		}	
-00149E 8017              SJMP    ?C0041?BLUETOOTH
-0014A0         ?C0040?BLUETOOTH:
-  215: 		else if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_BT)
-0014A0 904CBF            MOV     DPTR,#g_variable
-0014A3 E0                MOVX    A,@DPTR
-0014A4 B40310            CJNE    A,#03H,?C0041?BLUETOOTH
-  216: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,(sizeof(BD_KEY_RECORD)*3) , (byte *)&bd_key_record_list);
-0014A7 7B01              MOV     R3,#01H
-0014A9 7A4D              MOV     R2,#HIGH bd_key_record_list
-0014AB 79EE              MOV     R1,#LOW bd_key_record_list
-0014AD 7D5D              MOV     R5,#05DH
-0014AF 7C00              MOV     R4,#00H
-0014B1 7F60              MOV     R7,#060H
-0014B3 7E7F              MOV     R6,#07FH
-0014B5 91E7              ACALL   _IIC_WriteBlock
-0014B7         ?C0041?BLUETOOTH:
-  217: 		
-  218: 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
-0014B7 7B01              MOV     R3,#01H
-0014B9 7A4C              MOV     R2,#HIGH g_variable+01H
-0014BB 79C0              MOV     R1,#LOW g_variable+01H
-0014BD 7D01              MOV     R5,#01H
-0014BF 7C00              MOV     R4,#00H
-0014C1 7FBD              MOV     R7,#0BDH
-0014C3 7E7F              MOV     R6,#07FH
-0014C5 91E7              ACALL   _IIC_WriteBlock
-  219: 		IIC_WriteBlock(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
-0014C7 7B01              MOV     R3,#01H
-0014C9 7A4C              MOV     R2,#HIGH g_variable+033H
-0014CB 79F2              MOV     R1,#LOW g_variable+033H
-0014CD 7D02              MOV     R5,#02H
-0014CF 7C00              MOV     R4,#00H
-0014D1 7FBE              MOV     R7,#0BEH
-0014D3 7E7F              MOV     R6,#07FH
-0014D5 91E7              ACALL   _IIC_WriteBlock
-  220: 
-  221: 		GPIO_Setout(EEPROM_WP_GPIO,1);
-0014D7 D201              SETB    ?_GPIO_Setout?BIT
-0014D9 7FFF              MOV     R7,#0FFH
-0014DB 513E              ACALL   _GPIO_Setout
-  222: 		Delay1ms(10);
-0014DD 7F0A              MOV     R7,#0AH
-0014DF B195              ACALL   _Delay1ms
-  223: 		g_variable.update_eeprom_flag = 0;
-0014E1 E4                CLR     A
-0014E2 904CBF            MOV     DPTR,#g_variable
-0014E5 F0                MOVX    @DPTR,A
-  224: 	}
-  225: }
-0014E6         ?C0039?BLUETOOTH:
-0014E6 22                RET     
+00146D 904CBF            MOV     DPTR,#g_variable
+001470 E0                MOVX    A,@DPTR
+001471 FF                MOV     R7,A
+001472 7002              JNZ     $ + 4H
+001474 A103              AJMP    ?C0042?BLUETOOTH
+  203: 		if (g_variable.update_eeprom_flag != EEPROM_STORE_TYPE_NORMAL)
+  204: 			Delay1ms(200);
+001476 6401              XRL     A,#01H
+001478 6004              JZ      ?C0038?BLUETOOTH
+  205: 		GPIO_Setout(EEPROM_WP_GPIO,0);
+00147A 7FC8              MOV     R7,#0C8H
+00147C B1B2              ACALL   _Delay1ms
+00147E         ?C0038?BLUETOOTH:
+  206: 		if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_G24)
+00147E C201              CLR     ?_GPIO_Setout?BIT
+001480 7FFF              MOV     R7,#0FFH
+001482 5168              ACALL   _GPIO_Setout
+  207: 		{
+001484 904CBF            MOV     DPTR,#g_variable
+001487 E0                MOVX    A,@DPTR
+001488 6402              XRL     A,#02H
+00148A 7031              JNZ     ?C0039?BLUETOOTH
+  208: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+  209: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
+00148C 7B01              MOV     R3,#01H
+00148E 7A4C              MOV     R2,#HIGH m_24g_addr
+001490 7900              MOV     R1,#LOW m_24g_addr
+001492 7D04              MOV     R5,#04H
+001494 FC                MOV     R4,A
+001495 7F52              MOV     R7,#052H
+001497 7E7F              MOV     R6,#07FH
+001499 B104              ACALL   _IIC_WriteBlock
+  210: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
+00149B 7B01              MOV     R3,#01H
+00149D 7A4C              MOV     R2,#HIGH g_variable+02H
+00149F 79C1              MOV     R1,#LOW g_variable+02H
+0014A1 7D01              MOV     R5,#01H
+0014A3 7C00              MOV     R4,#00H
+0014A5 7F57              MOV     R7,#057H
+0014A7 7E7F              MOV     R6,#07FH
+0014A9 B104              ACALL   _IIC_WriteBlock
+  211: 		}	
+0014AB 7B01              MOV     R3,#01H
+0014AD 7A4D              MOV     R2,#HIGH fn_lock_flag
+0014AF 79E7              MOV     R1,#LOW fn_lock_flag
+0014B1 7D01              MOV     R5,#01H
+0014B3 7C00              MOV     R4,#00H
+0014B5 7F56              MOV     R7,#056H
+0014B7 7E7F              MOV     R6,#07FH
+0014B9 B104              ACALL   _IIC_WriteBlock
+  212: 		else if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_BT)
+0014BB 8017              SJMP    ?C0040?BLUETOOTH
+0014BD         ?C0039?BLUETOOTH:
+  213: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,(sizeof(BD_KEY_RECORD)*3) , (byte *)&bd_key_record_list);
+0014BD 904CBF            MOV     DPTR,#g_variable
+0014C0 E0                MOVX    A,@DPTR
+0014C1 B40310            CJNE    A,#03H,?C0040?BLUETOOTH
+  214: 		
+0014C4 7B01              MOV     R3,#01H
+0014C6 7A4D              MOV     R2,#HIGH bd_key_record_list
+0014C8 79EE              MOV     R1,#LOW bd_key_record_list
+0014CA 7D5D              MOV     R5,#05DH
+0014CC 7C00              MOV     R4,#00H
+0014CE 7F60              MOV     R7,#060H
+0014D0 7E7F              MOV     R6,#07FH
+0014D2 B104              ACALL   _IIC_WriteBlock
+0014D4         ?C0040?BLUETOOTH:
+  215: 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
+0014D4 7B01              MOV     R3,#01H
+0014D6 7A4C              MOV     R2,#HIGH g_variable+01H
+0014D8 79C0              MOV     R1,#LOW g_variable+01H
+0014DA 7D01              MOV     R5,#01H
+0014DC 7C00              MOV     R4,#00H
+0014DE 7FBD              MOV     R7,#0BDH
+0014E0 7E7F              MOV     R6,#07FH
+0014E2 B104              ACALL   _IIC_WriteBlock
+  216: 		IIC_WriteBlock(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
+0014E4 7B01              MOV     R3,#01H
+0014E6 7A4C              MOV     R2,#HIGH g_variable+033H
+0014E8 79F2              MOV     R1,#LOW g_variable+033H
+0014EA 7D02              MOV     R5,#02H
+0014EC 7C00              MOV     R4,#00H
+0014EE 7FBE              MOV     R7,#0BEH
+0014F0 7E7F              MOV     R6,#07FH
+0014F2 B104              ACALL   _IIC_WriteBlock
+  217: 
+  218: 		GPIO_Setout(EEPROM_WP_GPIO,1);
+0014F4 D201              SETB    ?_GPIO_Setout?BIT
+0014F6 7FFF              MOV     R7,#0FFH
+0014F8 5168              ACALL   _GPIO_Setout
+  219: 		Delay1ms(10);
+0014FA 7F0A              MOV     R7,#0AH
+0014FC B1B2              ACALL   _Delay1ms
+  220: 		g_variable.update_eeprom_flag = 0;
+0014FE E4                CLR     A
+0014FF 904CBF            MOV     DPTR,#g_variable
+001502 F0                MOVX    @DPTR,A
+  221: 	}
+  222: }
+001503         ?C0042?BLUETOOTH:
+001503 22                RET     
 ----- FUNCTION YC_update_eeprom_data (END) -------
 
 
 ----- FUNCTION _IIC_WriteBlock (BEGIN) -----
-0014E7 904E93            MOV     DPTR,#addr
-0014EA EE                MOV     A,R6
-0014EB F0                MOVX    @DPTR,A
-0014EC A3                INC     DPTR
-0014ED EF                MOV     A,R7
-0014EE F0                MOVX    @DPTR,A
-0014EF A3                INC     DPTR
-0014F0 EC                MOV     A,R4
-0014F1 F0                MOVX    @DPTR,A
-0014F2 A3                INC     DPTR
-0014F3 ED                MOV     A,R5
-0014F4 F0                MOVX    @DPTR,A
-0014F5 A3                INC     DPTR
-0014F6 EB                MOV     A,R3
-0014F7 F0                MOVX    @DPTR,A
-0014F8 A3                INC     DPTR
-0014F9 EA                MOV     A,R2
-0014FA F0                MOVX    @DPTR,A
-0014FB A3                INC     DPTR
-0014FC E9                MOV     A,R1
-0014FD F0                MOVX    @DPTR,A
-0014FE         ?C0007?IIC:
-0014FE 904E95            MOV     DPTR,#len
-001501 E0                MOVX    A,@DPTR
-001502 7002              JNZ     ?C0012?IIC
-001504 A3                INC     DPTR
-001505 E0                MOVX    A,@DPTR
-001506         ?C0012?IIC:
-001506 7002              JNZ     $ + 4H
-001508 A194              AJMP    ?C0011?IIC
-00150A 904E93            MOV     DPTR,#addr
-00150D E0                MOVX    A,@DPTR
-00150E FE                MOV     R6,A
+001504 904E93            MOV     DPTR,#addr
+001507 EE                MOV     A,R6
+001508 F0                MOVX    @DPTR,A
+001509 A3                INC     DPTR
+00150A EF                MOV     A,R7
+00150B F0                MOVX    @DPTR,A
+00150C A3                INC     DPTR
+00150D EC                MOV     A,R4
+00150E F0                MOVX    @DPTR,A
 00150F A3                INC     DPTR
-001510 E0                MOVX    A,@DPTR
-001511 FF                MOV     R7,A
-001512 440F              ORL     A,#0FH
-001514 2401              ADD     A,#01H
-001516 FD                MOV     R5,A
-001517 E4                CLR     A
-001518 3E                ADDC    A,R6
-001519 FC                MOV     R4,A
+001510 ED                MOV     A,R5
+001511 F0                MOVX    @DPTR,A
+001512 A3                INC     DPTR
+001513 EB                MOV     A,R3
+001514 F0                MOVX    @DPTR,A
+001515 A3                INC     DPTR
+001516 EA                MOV     A,R2
+001517 F0                MOVX    @DPTR,A
+001518 A3                INC     DPTR
+001519 E9                MOV     A,R1
+00151A F0                MOVX    @DPTR,A
+00151B         ?C0007?IIC:
+00151B 904E95            MOV     DPTR,#len
+00151E E0                MOVX    A,@DPTR
+00151F 7002              JNZ     ?C0012?IIC
+001521 A3                INC     DPTR
+001522 E0                MOVX    A,@DPTR
+001523         ?C0012?IIC:
+001523 7002              JNZ     $ + 4H
+001525 A1B1              AJMP    ?C0011?IIC
+001527 904E93            MOV     DPTR,#addr
+00152A E0                MOVX    A,@DPTR
+00152B FE                MOV     R6,A
+00152C A3                INC     DPTR
+00152D E0                MOVX    A,@DPTR
+00152E FF                MOV     R7,A
+00152F 440F              ORL     A,#0FH
+001531 2401              ADD     A,#01H
+001533 FD                MOV     R5,A
+001534 E4                CLR     A
+001535 3E                ADDC    A,R6
+001536 FC                MOV     R4,A
 ;---- Variable 'cris' assigned to Register 'R4/R5' ----
-00151A C3                CLR     C
-00151B ED                MOV     A,R5
-00151C 9F                SUBB    A,R7
-00151D FF                MOV     R7,A
-00151E EC                MOV     A,R4
-00151F 9E                SUBB    A,R6
-001520 FE                MOV     R6,A
-001521 904E9A            MOV     DPTR,#curr_len
-001524 F0                MOVX    @DPTR,A
-001525 A3                INC     DPTR
-001526 EF                MOV     A,R7
-001527 F0                MOVX    @DPTR,A
-001528 904E95            MOV     DPTR,#len
-00152B E0                MOVX    A,@DPTR
-00152C FC                MOV     R4,A
-00152D A3                INC     DPTR
-00152E E0                MOVX    A,@DPTR
-00152F FD                MOV     R5,A
-001530 D3                SETB    C
-001531 9F                SUBB    A,R7
-001532 EC                MOV     A,R4
-001533 9E                SUBB    A,R6
-001534 400A              JC      ?C0009?IIC
-001536 904E9A            MOV     DPTR,#curr_len
-001539 E0                MOVX    A,@DPTR
-00153A FE                MOV     R6,A
-00153B A3                INC     DPTR
-00153C E0                MOVX    A,@DPTR
-00153D FF                MOV     R7,A
-00153E 8004              SJMP    ?C0010?IIC
-001540         ?C0009?IIC:
-001540 AE04              MOV     R6,AR4
-001542 AF05              MOV     R7,AR5
-001544         ?C0010?IIC:
-001544 904E9A            MOV     DPTR,#curr_len
-001547 EE                MOV     A,R6
-001548 F0                MOVX    @DPTR,A
+001537 C3                CLR     C
+001538 ED                MOV     A,R5
+001539 9F                SUBB    A,R7
+00153A FF                MOV     R7,A
+00153B EC                MOV     A,R4
+00153C 9E                SUBB    A,R6
+00153D FE                MOV     R6,A
+00153E 904E9A            MOV     DPTR,#curr_len
+001541 F0                MOVX    @DPTR,A
+001542 A3                INC     DPTR
+001543 EF                MOV     A,R7
+001544 F0                MOVX    @DPTR,A
+001545 904E95            MOV     DPTR,#len
+001548 E0                MOVX    A,@DPTR
 001549 FC                MOV     R4,A
 00154A A3                INC     DPTR
-00154B EF                MOV     A,R7
-00154C F0                MOVX    @DPTR,A
-00154D FD                MOV     R5,A
-00154E C3                CLR     C
-00154F 904E96            MOV     DPTR,#len+01H
-001552 E0                MOVX    A,@DPTR
-001553 9D                SUBB    A,R5
-001554 F0                MOVX    @DPTR,A
-001555 904E95            MOV     DPTR,#len
-001558 E0                MOVX    A,@DPTR
-001559 9C                SUBB    A,R4
-00155A F0                MOVX    @DPTR,A
-00155B 904E93            MOV     DPTR,#addr
-00155E E0                MOVX    A,@DPTR
-00155F FE                MOV     R6,A
-001560 A3                INC     DPTR
-001561 E0                MOVX    A,@DPTR
-001562 FF                MOV     R7,A
-001563 904E97            MOV     DPTR,#pbuff
-001566 E0                MOVX    A,@DPTR
-001567 FB                MOV     R3,A
-001568 A3                INC     DPTR
-001569 E0                MOVX    A,@DPTR
-00156A FA                MOV     R2,A
-00156B A3                INC     DPTR
-00156C E0                MOVX    A,@DPTR
-00156D F9                MOV     R1,A
-00156E 123459            LCALL   _IIC_write
-001571 7F0A              MOV     R7,#0AH
-001573 B195              ACALL   _Delay1ms
-001575 904E9A            MOV     DPTR,#curr_len
-001578 E0                MOVX    A,@DPTR
-001579 FE                MOV     R6,A
-00157A A3                INC     DPTR
+00154B E0                MOVX    A,@DPTR
+00154C FD                MOV     R5,A
+00154D D3                SETB    C
+00154E 9F                SUBB    A,R7
+00154F EC                MOV     A,R4
+001550 9E                SUBB    A,R6
+001551 400A              JC      ?C0009?IIC
+001553 904E9A            MOV     DPTR,#curr_len
+001556 E0                MOVX    A,@DPTR
+001557 FE                MOV     R6,A
+001558 A3                INC     DPTR
+001559 E0                MOVX    A,@DPTR
+00155A FF                MOV     R7,A
+00155B 8004              SJMP    ?C0010?IIC
+00155D         ?C0009?IIC:
+00155D AE04              MOV     R6,AR4
+00155F AF05              MOV     R7,AR5
+001561         ?C0010?IIC:
+001561 904E9A            MOV     DPTR,#curr_len
+001564 EE                MOV     A,R6
+001565 F0                MOVX    @DPTR,A
+001566 FC                MOV     R4,A
+001567 A3                INC     DPTR
+001568 EF                MOV     A,R7
+001569 F0                MOVX    @DPTR,A
+00156A FD                MOV     R5,A
+00156B C3                CLR     C
+00156C 904E96            MOV     DPTR,#len+01H
+00156F E0                MOVX    A,@DPTR
+001570 9D                SUBB    A,R5
+001571 F0                MOVX    @DPTR,A
+001572 904E95            MOV     DPTR,#len
+001575 E0                MOVX    A,@DPTR
+001576 9C                SUBB    A,R4
+001577 F0                MOVX    @DPTR,A
+001578 904E93            MOV     DPTR,#addr
 00157B E0                MOVX    A,@DPTR
-00157C FF                MOV     R7,A
-00157D 904E98            MOV     DPTR,#pbuff+01H
-001580 EE                MOV     A,R6
-001581 8FF0              MOV     B,R7
-001583 12040E            LCALL   ?C?IILDX
-001586 904E94            MOV     DPTR,#addr+01H
+00157C FE                MOV     R6,A
+00157D A3                INC     DPTR
+00157E E0                MOVX    A,@DPTR
+00157F FF                MOV     R7,A
+001580 904E97            MOV     DPTR,#pbuff
+001583 E0                MOVX    A,@DPTR
+001584 FB                MOV     R3,A
+001585 A3                INC     DPTR
+001586 E0                MOVX    A,@DPTR
+001587 FA                MOV     R2,A
+001588 A3                INC     DPTR
 001589 E0                MOVX    A,@DPTR
-00158A 2F                ADD     A,R7
-00158B F0                MOVX    @DPTR,A
-00158C 904E93            MOV     DPTR,#addr
-00158F E0                MOVX    A,@DPTR
-001590 3E                ADDC    A,R6
-001591 F0                MOVX    @DPTR,A
-001592 81FE              AJMP    ?C0007?IIC
-001594         ?C0011?IIC:
-001594 22                RET     
+00158A F9                MOV     R1,A
+00158B 123455            LCALL   _IIC_write
+00158E 7F0A              MOV     R7,#0AH
+001590 B1B2              ACALL   _Delay1ms
+001592 904E9A            MOV     DPTR,#curr_len
+001595 E0                MOVX    A,@DPTR
+001596 FE                MOV     R6,A
+001597 A3                INC     DPTR
+001598 E0                MOVX    A,@DPTR
+001599 FF                MOV     R7,A
+00159A 904E98            MOV     DPTR,#pbuff+01H
+00159D EE                MOV     A,R6
+00159E 8FF0              MOV     B,R7
+0015A0 12040E            LCALL   ?C?IILDX
+0015A3 904E94            MOV     DPTR,#addr+01H
+0015A6 E0                MOVX    A,@DPTR
+0015A7 2F                ADD     A,R7
+0015A8 F0                MOVX    @DPTR,A
+0015A9 904E93            MOV     DPTR,#addr
+0015AC E0                MOVX    A,@DPTR
+0015AD 3E                ADDC    A,R6
+0015AE F0                MOVX    @DPTR,A
+0015AF A11B              AJMP    ?C0007?IIC
+0015B1         ?C0011?IIC:
+0015B1 22                RET     
 ----- FUNCTION _IIC_WriteBlock (END) -------
 
 
 ----- FUNCTION _Delay1ms (BEGIN) -----
 ;---- Variable 'Time' assigned to Register 'R7' ----
-001595         ?C0014?UTILITIES:
-001595 EF                MOV     A,R7
-001596 D3                SETB    C
-001597 9400              SUBB    A,#00H
-001599 4011              JC      ?C0020?UTILITIES
+0015B2         ?C0014?UTILITIES:
+0015B2 EF                MOV     A,R7
+0015B3 D3                SETB    C
+0015B4 9400              SUBB    A,#00H
+0015B6 4011              JC      ?C0020?UTILITIES
 ;---- Variable 'j' assigned to Register 'R4/R5' ----
-00159B E4                CLR     A
-00159C FD                MOV     R5,A
-00159D FC                MOV     R4,A
-00159E         ?C0017?UTILITIES:
-00159E 0D                INC     R5
-00159F BD0001            CJNE    R5,#00H,?C0028?UTILITIES
-0015A2 0C                INC     R4
-0015A3         ?C0028?UTILITIES:
-0015A3 BC04F8            CJNE    R4,#04H,?C0017?UTILITIES
-0015A6 BDA6F5            CJNE    R5,#0A6H,?C0017?UTILITIES
-0015A9         ?C0016?UTILITIES:
-0015A9 1F                DEC     R7
-0015AA 80E9              SJMP    ?C0014?UTILITIES
-0015AC         ?C0020?UTILITIES:
-0015AC 22                RET     
+0015B8 E4                CLR     A
+0015B9 FD                MOV     R5,A
+0015BA FC                MOV     R4,A
+0015BB         ?C0017?UTILITIES:
+0015BB 0D                INC     R5
+0015BC BD0001            CJNE    R5,#00H,?C0028?UTILITIES
+0015BF 0C                INC     R4
+0015C0         ?C0028?UTILITIES:
+0015C0 BC04F8            CJNE    R4,#04H,?C0017?UTILITIES
+0015C3 BDA6F5            CJNE    R5,#0A6H,?C0017?UTILITIES
+0015C6         ?C0016?UTILITIES:
+0015C6 1F                DEC     R7
+0015C7 80E9              SJMP    ?C0014?UTILITIES
+0015C9         ?C0020?UTILITIES:
+0015C9 22                RET     
 ----- FUNCTION _Delay1ms (END) -------
 
 
@@ -3204,278 +3216,278 @@
   154: {
   155: 	power_on_flag = 2;
   156: 	IIC_Read(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3, (byte *)bd_key_record_list);
-0015AD 904DEB            MOV     DPTR,#power_on_flag
-0015B0 7402              MOV     A,#02H
-0015B2 F0                MOVX    @DPTR,A
+0015CA 904DEB            MOV     DPTR,#power_on_flag
+0015CD 7402              MOV     A,#02H
+0015CF F0                MOVX    @DPTR,A
   157: 	Delay1ms(10);
-0015B3 7B01              MOV     R3,#01H
-0015B5 7A4D              MOV     R2,#HIGH bd_key_record_list
-0015B7 79EE              MOV     R1,#LOW bd_key_record_list
-0015B9 7D5D              MOV     R5,#05DH
-0015BB 7C00              MOV     R4,#00H
-0015BD 7F60              MOV     R7,#060H
-0015BF 7E7F              MOV     R6,#07FH
-0015C1 D15B              ACALL   _IIC_Read
+0015D0 7B01              MOV     R3,#01H
+0015D2 7A4D              MOV     R2,#HIGH bd_key_record_list
+0015D4 79EE              MOV     R1,#LOW bd_key_record_list
+0015D6 7D5D              MOV     R5,#05DH
+0015D8 7C00              MOV     R4,#00H
+0015DA 7F60              MOV     R7,#060H
+0015DC 7E7F              MOV     R6,#07FH
+0015DE D178              ACALL   _IIC_Read
   158: 	IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-0015C3 7F0A              MOV     R7,#0AH
-0015C5 B195              ACALL   _Delay1ms
+0015E0 7F0A              MOV     R7,#0AH
+0015E2 B1B2              ACALL   _Delay1ms
   159: 	Delay1ms(10);
-0015C7 7B01              MOV     R3,#01H
-0015C9 7A4C              MOV     R2,#HIGH m_24g_addr
-0015CB 7900              MOV     R1,#LOW m_24g_addr
-0015CD 7D04              MOV     R5,#04H
-0015CF 7C00              MOV     R4,#00H
-0015D1 7F52              MOV     R7,#052H
-0015D3 7E7F              MOV     R6,#07FH
-0015D5 D15B              ACALL   _IIC_Read
+0015E4 7B01              MOV     R3,#01H
+0015E6 7A4C              MOV     R2,#HIGH m_24g_addr
+0015E8 7900              MOV     R1,#LOW m_24g_addr
+0015EA 7D04              MOV     R5,#04H
+0015EC 7C00              MOV     R4,#00H
+0015EE 7F52              MOV     R7,#052H
+0015F0 7E7F              MOV     R6,#07FH
+0015F2 D178              ACALL   _IIC_Read
   160: 	IIC_Read(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
-0015D7 7F0A              MOV     R7,#0AH
-0015D9 B195              ACALL   _Delay1ms
+0015F4 7F0A              MOV     R7,#0AH
+0015F6 B1B2              ACALL   _Delay1ms
   161: 	Delay1ms(10);
-0015DB 7B01              MOV     R3,#01H
-0015DD 7A4D              MOV     R2,#HIGH fn_lock_flag
-0015DF 79E7              MOV     R1,#LOW fn_lock_flag
-0015E1 7D01              MOV     R5,#01H
-0015E3 7C00              MOV     R4,#00H
-0015E5 7F56              MOV     R7,#056H
-0015E7 7E7F              MOV     R6,#07FH
-0015E9 D15B              ACALL   _IIC_Read
+0015F8 7B01              MOV     R3,#01H
+0015FA 7A4D              MOV     R2,#HIGH fn_lock_flag
+0015FC 79E7              MOV     R1,#LOW fn_lock_flag
+0015FE 7D01              MOV     R5,#01H
+001600 7C00              MOV     R4,#00H
+001602 7F56              MOV     R7,#056H
+001604 7E7F              MOV     R6,#07FH
+001606 D178              ACALL   _IIC_Read
   162: 	IIC_Read(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-0015EB 7F0A              MOV     R7,#0AH
-0015ED B195              ACALL   _Delay1ms
+001608 7F0A              MOV     R7,#0AH
+00160A B1B2              ACALL   _Delay1ms
   163: 	Delay1ms(10);
-0015EF 7B01              MOV     R3,#01H
-0015F1 7A4C              MOV     R2,#HIGH g_variable+02H
-0015F3 79C1              MOV     R1,#LOW g_variable+02H
-0015F5 7D01              MOV     R5,#01H
-0015F7 7C00              MOV     R4,#00H
-0015F9 7F57              MOV     R7,#057H
-0015FB 7E7F              MOV     R6,#07FH
-0015FD D15B              ACALL   _IIC_Read
+00160C 7B01              MOV     R3,#01H
+00160E 7A4C              MOV     R2,#HIGH g_variable+02H
+001610 79C1              MOV     R1,#LOW g_variable+02H
+001612 7D01              MOV     R5,#01H
+001614 7C00              MOV     R4,#00H
+001616 7F57              MOV     R7,#057H
+001618 7E7F              MOV     R6,#07FH
+00161A D178              ACALL   _IIC_Read
   164: 	
-0015FF 7F0A              MOV     R7,#0AH
-001601 B195              ACALL   _Delay1ms
+00161C 7F0A              MOV     R7,#0AH
+00161E B1B2              ACALL   _Delay1ms
   165: 	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-001603 904CC3            MOV     DPTR,#g_variable+04H
-001606 E0                MOVX    A,@DPTR
-001607 FF                MOV     R7,A
-001608 D3                SETB    C
-001609 9403              SUBB    A,#03H
-00160B 5033              JNC     ?C0031?BLUETOOTH
-00160D EF                MOV     A,R7
-00160E C3                CLR     C
-00160F 9401              SUBB    A,#01H
-001611 402D              JC      ?C0031?BLUETOOTH
+001620 904CC3            MOV     DPTR,#g_variable+04H
+001623 E0                MOVX    A,@DPTR
+001624 FF                MOV     R7,A
+001625 D3                SETB    C
+001626 9403              SUBB    A,#03H
+001628 5033              JNC     ?C0031?BLUETOOTH
+00162A EF                MOV     A,R7
+00162B C3                CLR     C
+00162C 9401              SUBB    A,#01H
+00162E 402D              JC      ?C0031?BLUETOOTH
   166: 	{
   167: 		g_variable.system_mode = bd_key_record_list[g_variable.current_device_num - 1].system_mode;
-001613 EF                MOV     A,R7
-001614 75F01F            MOV     B,#01FH
-001617 A4                MUL     AB
-001618 24EC              ADD     A,#LOW bd_key_record_list-02H
-00161A F582              MOV     DPL,A
-00161C E4                CLR     A
-00161D 344D              ADDC    A,#HIGH bd_key_record_list-02H
-00161F F583              MOV     DPH,A
-001621 E0                MOVX    A,@DPTR
-001622 904CC1            MOV     DPTR,#g_variable+02H
-001625 F0                MOVX    @DPTR,A
+001630 EF                MOV     A,R7
+001631 75F01F            MOV     B,#01FH
+001634 A4                MUL     AB
+001635 24EC              ADD     A,#LOW bd_key_record_list-02H
+001637 F582              MOV     DPL,A
+001639 E4                CLR     A
+00163A 344D              ADDC    A,#HIGH bd_key_record_list-02H
+00163C F583              MOV     DPH,A
+00163E E0                MOVX    A,@DPTR
+00163F 904CC1            MOV     DPTR,#g_variable+02H
+001642 F0                MOVX    @DPTR,A
   168: 		fn_lock_flag = bd_key_record_list[g_variable.current_device_num - 1].fn_lock; 
-001626 904CC3            MOV     DPTR,#g_variable+04H
-001629 E0                MOVX    A,@DPTR
-00162A 75F01F            MOV     B,#01FH
-00162D A4                MUL     AB
-00162E 24ED              ADD     A,#LOW bd_key_record_list-01H
-001630 F582              MOV     DPL,A
-001632 E4                CLR     A
-001633 344D              ADDC    A,#HIGH bd_key_record_list-01H
-001635 F583              MOV     DPH,A
-001637 E0                MOVX    A,@DPTR
-001638 904DE7            MOV     DPTR,#fn_lock_flag
-00163B F0                MOVX    @DPTR,A
+001643 904CC3            MOV     DPTR,#g_variable+04H
+001646 E0                MOVX    A,@DPTR
+001647 75F01F            MOV     B,#01FH
+00164A A4                MUL     AB
+00164B 24ED              ADD     A,#LOW bd_key_record_list-01H
+00164D F582              MOV     DPL,A
+00164F E4                CLR     A
+001650 344D              ADDC    A,#HIGH bd_key_record_list-01H
+001652 F583              MOV     DPH,A
+001654 E0                MOVX    A,@DPTR
+001655 904DE7            MOV     DPTR,#fn_lock_flag
+001658 F0                MOVX    @DPTR,A
   169: 		YC_key_action_handle(g_variable.current_device_num);
-00163C 118B              ACALL   _YC_key_action_handle
+001659 118B              ACALL   _YC_key_action_handle
   170: 	}
-00163E 8004              SJMP    ?C0032?BLUETOOTH
-001640         ?C0031?BLUETOOTH:
+00165B 8004              SJMP    ?C0032?BLUETOOTH
+00165D         ?C0031?BLUETOOTH:
   171: 	else	
   172: 	{	
   173: 		YC_key_action_handle(KEY_START_24G);
-001640 7F08              MOV     R7,#08H
-001642 118B              ACALL   _YC_key_action_handle
+00165D 7F08              MOV     R7,#08H
+00165F 118B              ACALL   _YC_key_action_handle
   174: 	}
-001644         ?C0032?BLUETOOTH:
+001661         ?C0032?BLUETOOTH:
   175: 	if(fn_lock_flag > 1)
-001644 904DE7            MOV     DPTR,#fn_lock_flag
-001647 E0                MOVX    A,@DPTR
-001648 D3                SETB    C
-001649 9401              SUBB    A,#01H
-00164B 4002              JC      ?C0033?BLUETOOTH
+001661 904DE7            MOV     DPTR,#fn_lock_flag
+001664 E0                MOVX    A,@DPTR
+001665 D3                SETB    C
+001666 9401              SUBB    A,#01H
+001668 4002              JC      ?C0033?BLUETOOTH
   176: 		fn_lock_flag = 0;
-00164D E4                CLR     A
-00164E F0                MOVX    @DPTR,A
-00164F         ?C0033?BLUETOOTH:
+00166A E4                CLR     A
+00166B F0                MOVX    @DPTR,A
+00166C         ?C0033?BLUETOOTH:
   177: 	if(g_variable.system_mode > OSMODE_IOS)
-00164F 904CC1            MOV     DPTR,#g_variable+02H
-001652 E0                MOVX    A,@DPTR
-001653 D3                SETB    C
-001654 9402              SUBB    A,#02H
-001656 4002              JC      ?C0035?BLUETOOTH
+00166C 904CC1            MOV     DPTR,#g_variable+02H
+00166F E0                MOVX    A,@DPTR
+001670 D3                SETB    C
+001671 9402              SUBB    A,#02H
+001673 4002              JC      ?C0035?BLUETOOTH
   178: 	{
   179: 		g_variable.system_mode = OSMODE_WINDOWS;
-001658 E4                CLR     A
-001659 F0                MOVX    @DPTR,A
+001675 E4                CLR     A
+001676 F0                MOVX    @DPTR,A
   180: 	}	
   181: }
-00165A         ?C0035?BLUETOOTH:
-00165A 22                RET     
+001677         ?C0035?BLUETOOTH:
+001677 22                RET     
 ----- FUNCTION YC_start_reconnect (END) -------
 
 
 ----- FUNCTION _IIC_Read (BEGIN) -----
-00165B 904ECF            MOV     DPTR,#len
-00165E EC                MOV     A,R4
-00165F F0                MOVX    @DPTR,A
-001660 A3                INC     DPTR
-001661 ED                MOV     A,R5
-001662 F0                MOVX    @DPTR,A
-001663 A3                INC     DPTR
-001664 EB                MOV     A,R3
-001665 F0                MOVX    @DPTR,A
-001666 A3                INC     DPTR
-001667 EA                MOV     A,R2
-001668 F0                MOVX    @DPTR,A
-001669 A3                INC     DPTR
-00166A E9                MOV     A,R1
-00166B F0                MOVX    @DPTR,A
+001678 904ECF            MOV     DPTR,#len
+00167B EC                MOV     A,R4
+00167C F0                MOVX    @DPTR,A
+00167D A3                INC     DPTR
+00167E ED                MOV     A,R5
+00167F F0                MOVX    @DPTR,A
+001680 A3                INC     DPTR
+001681 EB                MOV     A,R3
+001682 F0                MOVX    @DPTR,A
+001683 A3                INC     DPTR
+001684 EA                MOV     A,R2
+001685 F0                MOVX    @DPTR,A
+001686 A3                INC     DPTR
+001687 E9                MOV     A,R1
+001688 F0                MOVX    @DPTR,A
 ;---- Variable 'addr' assigned to Register 'R6/R7' ----
 ;---- Variable 'mem_src' assigned to Register 'R6/R7' ----
-00166C 908098            MOV     DPTR,#08098H
-00166F 7404              MOV     A,#04H
-001671 F0                MOVX    @DPTR,A
-001672 A3                INC     DPTR
-001673 E4                CLR     A
-001674 F0                MOVX    @DPTR,A
-001675 900CAF            MOV     DPTR,#YC_IICDTbuf
-001678 74A0              MOV     A,#0A0H
-00167A F0                MOVX    @DPTR,A
-00167B A3                INC     DPTR
-00167C EE                MOV     A,R6
-00167D F0                MOVX    @DPTR,A
-00167E A3                INC     DPTR
-00167F EF                MOV     A,R7
-001680 F0                MOVX    @DPTR,A
-001681 900CB2            MOV     DPTR,#YC_IICDTbuf+03H
-001684 74A1              MOV     A,#0A1H
-001686 F0                MOVX    @DPTR,A
-001687 7A0C              MOV     R2,#HIGH YC_IICDTbuf
-001689 79AF              MOV     R1,#LOW YC_IICDTbuf
-00168B 7E0C              MOV     R6,#HIGH YC_IICDTbuf
-00168D 7FAF              MOV     R7,#LOW YC_IICDTbuf
-00168F 74AF              MOV     A,#LOW YC_IICDTbuf
-001691 FC                MOV     R4,A
-001692 740C              MOV     A,#HIGH YC_IICDTbuf
-001694 FF                MOV     R7,A
-001695 EC                MOV     A,R4
-001696 FE                MOV     R6,A
-001697 EF                MOV     A,R7
-001698 90809A            MOV     DPTR,#0809AH
-00169B EE                MOV     A,R6
-00169C F0                MOVX    @DPTR,A
-00169D A3                INC     DPTR
-00169E EF                MOV     A,R7
-00169F F0                MOVX    @DPTR,A
-0016A0 904ECF            MOV     DPTR,#len
-0016A3 E0                MOVX    A,@DPTR
-0016A4 FC                MOV     R4,A
-0016A5 A3                INC     DPTR
-0016A6 E0                MOVX    A,@DPTR
-0016A7 FA                MOV     R2,A
-0016A8 EC                MOV     A,R4
-0016A9 FF                MOV     R7,A
-0016AA EA                MOV     A,R2
-0016AB FE                MOV     R6,A
-0016AC EF                MOV     A,R7
-0016AD 90809E            MOV     DPTR,#0809EH
-0016B0 EE                MOV     A,R6
-0016B1 F0                MOVX    @DPTR,A
-0016B2 A3                INC     DPTR
-0016B3 EF                MOV     A,R7
-0016B4 F0                MOVX    @DPTR,A
-0016B5 7A0B              MOV     R2,#HIGH IIC_TempBuff
-0016B7 7983              MOV     R1,#LOW IIC_TempBuff
-0016B9 7E0B              MOV     R6,#HIGH IIC_TempBuff
-0016BB 7F83              MOV     R7,#LOW IIC_TempBuff
-0016BD 7483              MOV     A,#LOW IIC_TempBuff
-0016BF FC                MOV     R4,A
-0016C0 740B              MOV     A,#HIGH IIC_TempBuff
-0016C2 FF                MOV     R7,A
-0016C3 EC                MOV     A,R4
-0016C4 FE                MOV     R6,A
-0016C5 EF                MOV     A,R7
-0016C6 90809C            MOV     DPTR,#0809CH
-0016C9 EE                MOV     A,R6
-0016CA F0                MOVX    @DPTR,A
-0016CB A3                INC     DPTR
-0016CC EF                MOV     A,R7
-0016CD F0                MOVX    @DPTR,A
-0016CE 908090            MOV     DPTR,#08090H
-0016D1 7402              MOV     A,#02H
-0016D3 F0                MOVX    @DPTR,A
-0016D4 90809C            MOV     DPTR,#0809CH
-0016D7 A3                INC     DPTR
-0016D8 E0                MOVX    A,@DPTR
-0016D9 20E707            JB      ACC.7,?C0004?IIC
-0016DC 908090            MOV     DPTR,#08090H
-0016DF E0                MOVX    A,@DPTR
-0016E0 4401              ORL     A,#01H
-0016E2 F0                MOVX    @DPTR,A
-0016E3         ?C0004?IIC:
-0016E3 908006            MOV     DPTR,#08006H
-0016E6 E0                MOVX    A,@DPTR
-0016E7 4404              ORL     A,#04H
-0016E9 F0                MOVX    @DPTR,A
-0016EA F1DA              ACALL   IIcWaitDone
-0016EC 904ED1            MOV     DPTR,#pbuff
-0016EF E0                MOVX    A,@DPTR
-0016F0 A3                INC     DPTR
-0016F1 E0                MOVX    A,@DPTR
-0016F2 FA                MOV     R2,A
-0016F3 A3                INC     DPTR
-0016F4 E0                MOVX    A,@DPTR
-0016F5 AE02              MOV     R6,AR2
-0016F7 FF                MOV     R7,A
-0016F8 7B01              MOV     R3,#01H
-0016FA 7A0B              MOV     R2,#HIGH IIC_TempBuff
-0016FC 7983              MOV     R1,#LOW IIC_TempBuff
-0016FE 904ECF            MOV     DPTR,#len
-001701 E0                MOVX    A,@DPTR
-001702 A3                INC     DPTR
+001689 908098            MOV     DPTR,#08098H
+00168C 7404              MOV     A,#04H
+00168E F0                MOVX    @DPTR,A
+00168F A3                INC     DPTR
+001690 E4                CLR     A
+001691 F0                MOVX    @DPTR,A
+001692 900CAF            MOV     DPTR,#YC_IICDTbuf
+001695 74A0              MOV     A,#0A0H
+001697 F0                MOVX    @DPTR,A
+001698 A3                INC     DPTR
+001699 EE                MOV     A,R6
+00169A F0                MOVX    @DPTR,A
+00169B A3                INC     DPTR
+00169C EF                MOV     A,R7
+00169D F0                MOVX    @DPTR,A
+00169E 900CB2            MOV     DPTR,#YC_IICDTbuf+03H
+0016A1 74A1              MOV     A,#0A1H
+0016A3 F0                MOVX    @DPTR,A
+0016A4 7A0C              MOV     R2,#HIGH YC_IICDTbuf
+0016A6 79AF              MOV     R1,#LOW YC_IICDTbuf
+0016A8 7E0C              MOV     R6,#HIGH YC_IICDTbuf
+0016AA 7FAF              MOV     R7,#LOW YC_IICDTbuf
+0016AC 74AF              MOV     A,#LOW YC_IICDTbuf
+0016AE FC                MOV     R4,A
+0016AF 740C              MOV     A,#HIGH YC_IICDTbuf
+0016B1 FF                MOV     R7,A
+0016B2 EC                MOV     A,R4
+0016B3 FE                MOV     R6,A
+0016B4 EF                MOV     A,R7
+0016B5 90809A            MOV     DPTR,#0809AH
+0016B8 EE                MOV     A,R6
+0016B9 F0                MOVX    @DPTR,A
+0016BA A3                INC     DPTR
+0016BB EF                MOV     A,R7
+0016BC F0                MOVX    @DPTR,A
+0016BD 904ECF            MOV     DPTR,#len
+0016C0 E0                MOVX    A,@DPTR
+0016C1 FC                MOV     R4,A
+0016C2 A3                INC     DPTR
+0016C3 E0                MOVX    A,@DPTR
+0016C4 FA                MOV     R2,A
+0016C5 EC                MOV     A,R4
+0016C6 FF                MOV     R7,A
+0016C7 EA                MOV     A,R2
+0016C8 FE                MOV     R6,A
+0016C9 EF                MOV     A,R7
+0016CA 90809E            MOV     DPTR,#0809EH
+0016CD EE                MOV     A,R6
+0016CE F0                MOVX    @DPTR,A
+0016CF A3                INC     DPTR
+0016D0 EF                MOV     A,R7
+0016D1 F0                MOVX    @DPTR,A
+0016D2 7A0B              MOV     R2,#HIGH IIC_TempBuff
+0016D4 7983              MOV     R1,#LOW IIC_TempBuff
+0016D6 7E0B              MOV     R6,#HIGH IIC_TempBuff
+0016D8 7F83              MOV     R7,#LOW IIC_TempBuff
+0016DA 7483              MOV     A,#LOW IIC_TempBuff
+0016DC FC                MOV     R4,A
+0016DD 740B              MOV     A,#HIGH IIC_TempBuff
+0016DF FF                MOV     R7,A
+0016E0 EC                MOV     A,R4
+0016E1 FE                MOV     R6,A
+0016E2 EF                MOV     A,R7
+0016E3 90809C            MOV     DPTR,#0809CH
+0016E6 EE                MOV     A,R6
+0016E7 F0                MOVX    @DPTR,A
+0016E8 A3                INC     DPTR
+0016E9 EF                MOV     A,R7
+0016EA F0                MOVX    @DPTR,A
+0016EB 908090            MOV     DPTR,#08090H
+0016EE 7402              MOV     A,#02H
+0016F0 F0                MOVX    @DPTR,A
+0016F1 90809C            MOV     DPTR,#0809CH
+0016F4 A3                INC     DPTR
+0016F5 E0                MOVX    A,@DPTR
+0016F6 20E707            JB      ACC.7,?C0004?IIC
+0016F9 908090            MOV     DPTR,#08090H
+0016FC E0                MOVX    A,@DPTR
+0016FD 4401              ORL     A,#01H
+0016FF F0                MOVX    @DPTR,A
+001700         ?C0004?IIC:
+001700 908006            MOV     DPTR,#08006H
 001703 E0                MOVX    A,@DPTR
-001704 904EC4            MOV     DPTR,#?_xmemcpy?BYTE+05H
-001707 F0                MOVX    @DPTR,A
-001708 02087D            LJMP    _xmemcpy
+001704 4404              ORL     A,#04H
+001706 F0                MOVX    @DPTR,A
+001707 F1E7              ACALL   IIcWaitDone
+001709 904ED1            MOV     DPTR,#pbuff
+00170C E0                MOVX    A,@DPTR
+00170D A3                INC     DPTR
+00170E E0                MOVX    A,@DPTR
+00170F FA                MOV     R2,A
+001710 A3                INC     DPTR
+001711 E0                MOVX    A,@DPTR
+001712 AE02              MOV     R6,AR2
+001714 FF                MOV     R7,A
+001715 7B01              MOV     R3,#01H
+001717 7A0B              MOV     R2,#HIGH IIC_TempBuff
+001719 7983              MOV     R1,#LOW IIC_TempBuff
+00171B 904ECF            MOV     DPTR,#len
+00171E E0                MOVX    A,@DPTR
+00171F A3                INC     DPTR
+001720 E0                MOVX    A,@DPTR
+001721 904EC4            MOV     DPTR,#?_xmemcpy?BYTE+05H
+001724 F0                MOVX    @DPTR,A
+001725 02087D            LJMP    _xmemcpy
 ----- FUNCTION _IIC_Read (END) -------
 
 
 ----- FUNCTION _GPIO_SetOutput (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R4' ----
-00170B AC07              MOV     R4,AR7
-00170D EC                MOV     A,R4
-00170E F4                CPL     A
-00170F 6015              JZ      ?C0017?GPIO
-001711         ?C0016?GPIO:
-001711 AF04              MOV     R7,AR4
-001713 D204              SETB    ?_GPIO_Setoe?BIT
-001715 123552            LCALL   _GPIO_Setoe
-001718 AF04              MOV     R7,AR4
-00171A A206              MOV     C,st
-00171C 9201              MOV     ?_GPIO_Setout?BIT,C
-00171E 513E              ACALL   _GPIO_Setout
-001720 AF04              MOV     R7,AR4
-001722 C202              CLR     ?_GPIO_SetPu?BIT
-001724 F1C9              ACALL   _GPIO_SetPu
-001726         ?C0017?GPIO:
-001726 22                RET     
+001728 AC07              MOV     R4,AR7
+00172A EC                MOV     A,R4
+00172B F4                CPL     A
+00172C 6016              JZ      ?C0017?GPIO
+00172E         ?C0016?GPIO:
+00172E AF04              MOV     R7,AR4
+001730 D204              SETB    ?_GPIO_Setoe?BIT
+001732 12358F            LCALL   _GPIO_Setoe
+001735 AF04              MOV     R7,AR4
+001737 A206              MOV     C,st
+001739 9201              MOV     ?_GPIO_Setout?BIT,C
+00173B 5168              ACALL   _GPIO_Setout
+00173D AF04              MOV     R7,AR4
+00173F C202              CLR     ?_GPIO_SetPu?BIT
+001741 121FD5            LCALL   _GPIO_SetPu
+001744         ?C0017?GPIO:
+001744 22                RET     
 ----- FUNCTION _GPIO_SetOutput (END) -------
 
 
@@ -3485,47 +3497,47 @@
    16: {
    17: 	if(g_variable.current_device_num == 1)
    18: 		GPIO_Setout(BT_LED_GPIO,LED_ON);
-001727 904CC3            MOV     DPTR,#g_variable+04H
-00172A E0                MOVX    A,@DPTR
-00172B B40106            CJNE    A,#01H,?C0002?LED
+001745 904CC3            MOV     DPTR,#g_variable+04H
+001748 E0                MOVX    A,@DPTR
+001749 B40106            CJNE    A,#01H,?C0002?LED
    19: 	else if(g_variable.current_device_num == 2)
-00172E C201              CLR     ?_GPIO_Setout?BIT
-001730 7F1F              MOV     R7,#01FH
-001732 413E              AJMP    _GPIO_Setout
-001734         ?C0002?LED:
+00174C C201              CLR     ?_GPIO_Setout?BIT
+00174E 7F1F              MOV     R7,#01FH
+001750 4168              AJMP    _GPIO_Setout
+001752         ?C0002?LED:
    20: 		GPIO_Setout(BT2_LED_GPIO,LED_ON);
-001734 904CC3            MOV     DPTR,#g_variable+04H
-001737 E0                MOVX    A,@DPTR
-001738 B40206            CJNE    A,#02H,?C0004?LED
+001752 904CC3            MOV     DPTR,#g_variable+04H
+001755 E0                MOVX    A,@DPTR
+001756 B40206            CJNE    A,#02H,?C0004?LED
    21: 	else if(g_variable.current_device_num == 3)
-00173B C201              CLR     ?_GPIO_Setout?BIT
-00173D 7F1E              MOV     R7,#01EH
-00173F 413E              AJMP    _GPIO_Setout
-001741         ?C0004?LED:
+001759 C201              CLR     ?_GPIO_Setout?BIT
+00175B 7F1E              MOV     R7,#01EH
+00175D 4168              AJMP    _GPIO_Setout
+00175F         ?C0004?LED:
    22: 	{	
-001741 904CC3            MOV     DPTR,#g_variable+04H
-001744 E0                MOVX    A,@DPTR
-001745 B4030C            CJNE    A,#03H,?C0006?LED
+00175F 904CC3            MOV     DPTR,#g_variable+04H
+001762 E0                MOVX    A,@DPTR
+001763 B4030C            CJNE    A,#03H,?C0006?LED
    23: 		GPIO_SetOutput(BT_LED_GPIO,LED_ON);
    24: 		GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_ON);
-001748 C206              CLR     ?_GPIO_SetOutput?BIT
-00174A 7F1F              MOV     R7,#01FH
-00174C F10B              ACALL   _GPIO_SetOutput
+001766 C206              CLR     ?_GPIO_SetOutput?BIT
+001768 7F1F              MOV     R7,#01FH
+00176A F128              ACALL   _GPIO_SetOutput
    25: 	}
-00174E C206              CLR     ?_GPIO_SetOutput?BIT
-001750 7F1D              MOV     R7,#01DH
-001752 80B7              SJMP    _GPIO_SetOutput
+00176C C206              CLR     ?_GPIO_SetOutput?BIT
+00176E 7F1D              MOV     R7,#01DH
+001770 80B6              SJMP    _GPIO_SetOutput
    26: 	else
-001754         ?C0006?LED:
+001772         ?C0006?LED:
    27: 	{
    28: 		GPIO_Setout(BT2_LED_GPIO,LED_ON);
-001754 C201              CLR     ?_GPIO_Setout?BIT
-001756 7F1E              MOV     R7,#01EH
-001758 513E              ACALL   _GPIO_Setout
+001772 C201              CLR     ?_GPIO_Setout?BIT
+001774 7F1E              MOV     R7,#01EH
+001776 5168              ACALL   _GPIO_Setout
    29: 		GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_ON);
-00175A C206              CLR     ?_GPIO_SetOutput?BIT
-00175C 7F1D              MOV     R7,#01DH
-00175E 80AB              SJMP    _GPIO_SetOutput
+001778 C206              CLR     ?_GPIO_SetOutput?BIT
+00177A 7F1D              MOV     R7,#01DH
+00177C 80AA              SJMP    _GPIO_SetOutput
    30: 	}
 ----- FUNCTION LED_device_poweron (END) -------
 
@@ -3536,47 +3548,47 @@
    34: {
    35: 	if(g_variable.current_device_num == 1)
    36: 		GPIO_Setout(BT_LED_GPIO,LED_OFF);
-001760 904CC3            MOV     DPTR,#g_variable+04H
-001763 E0                MOVX    A,@DPTR
-001764 B40106            CJNE    A,#01H,?C0009?LED
+00177E 904CC3            MOV     DPTR,#g_variable+04H
+001781 E0                MOVX    A,@DPTR
+001782 B40106            CJNE    A,#01H,?C0009?LED
    37: 	else if(g_variable.current_device_num == 2)
-001767 D201              SETB    ?_GPIO_Setout?BIT
-001769 7F1F              MOV     R7,#01FH
-00176B 413E              AJMP    _GPIO_Setout
-00176D         ?C0009?LED:
+001785 D201              SETB    ?_GPIO_Setout?BIT
+001787 7F1F              MOV     R7,#01FH
+001789 4168              AJMP    _GPIO_Setout
+00178B         ?C0009?LED:
    38: 		GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-00176D 904CC3            MOV     DPTR,#g_variable+04H
-001770 E0                MOVX    A,@DPTR
-001771 B40206            CJNE    A,#02H,?C0011?LED
+00178B 904CC3            MOV     DPTR,#g_variable+04H
+00178E E0                MOVX    A,@DPTR
+00178F B40206            CJNE    A,#02H,?C0011?LED
    39: 	else if(g_variable.current_device_num == 3)
-001774 D201              SETB    ?_GPIO_Setout?BIT
-001776 7F1E              MOV     R7,#01EH
-001778 413E              AJMP    _GPIO_Setout
-00177A         ?C0011?LED:
+001792 D201              SETB    ?_GPIO_Setout?BIT
+001794 7F1E              MOV     R7,#01EH
+001796 4168              AJMP    _GPIO_Setout
+001798         ?C0011?LED:
    40: 	{	
-00177A 904CC3            MOV     DPTR,#g_variable+04H
-00177D E0                MOVX    A,@DPTR
-00177E B4030C            CJNE    A,#03H,?C0013?LED
+001798 904CC3            MOV     DPTR,#g_variable+04H
+00179B E0                MOVX    A,@DPTR
+00179C B4030C            CJNE    A,#03H,?C0013?LED
    41: 		GPIO_Setout(BT_LED_GPIO,LED_OFF);
    42: 		GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
-001781 D201              SETB    ?_GPIO_Setout?BIT
-001783 7F1F              MOV     R7,#01FH
-001785 513E              ACALL   _GPIO_Setout
+00179F D201              SETB    ?_GPIO_Setout?BIT
+0017A1 7F1F              MOV     R7,#01FH
+0017A3 5168              ACALL   _GPIO_Setout
    43: 	}
-001787 D206              SETB    ?_GPIO_SetOutput?BIT
-001789 7F1D              MOV     R7,#01DH
-00178B E10B              AJMP    _GPIO_SetOutput
+0017A5 D206              SETB    ?_GPIO_SetOutput?BIT
+0017A7 7F1D              MOV     R7,#01DH
+0017A9 E128              AJMP    _GPIO_SetOutput
    44: 	else
-00178D         ?C0013?LED:
+0017AB         ?C0013?LED:
    45: 	{
    46: 		GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-00178D D201              SETB    ?_GPIO_Setout?BIT
-00178F 7F1E              MOV     R7,#01EH
-001791 513E              ACALL   _GPIO_Setout
+0017AB D201              SETB    ?_GPIO_Setout?BIT
+0017AD 7F1E              MOV     R7,#01EH
+0017AF 5168              ACALL   _GPIO_Setout
    47: 		GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
-001793 D206              SETB    ?_GPIO_SetOutput?BIT
-001795 7F1D              MOV     R7,#01DH
-001797 E10B              AJMP    _GPIO_SetOutput
+0017B1 D206              SETB    ?_GPIO_SetOutput?BIT
+0017B3 7F1D              MOV     R7,#01DH
+0017B5 E128              AJMP    _GPIO_SetOutput
    48: 	}
 ----- FUNCTION LED_device_poweroff (END) -------
 
@@ -3587,25 +3599,25 @@
     5: {
     6: 	GPIO_SetOutput(NUM_LOCK_LED_GPIO,LED_OFF);
     7: 	GPIO_SetOutput(CAPS_LED_GPIO,LED_OFF);
-001799 D206              SETB    ?_GPIO_SetOutput?BIT
-00179B 7F10              MOV     R7,#010H
-00179D F10B              ACALL   _GPIO_SetOutput
+0017B7 D206              SETB    ?_GPIO_SetOutput?BIT
+0017B9 7F10              MOV     R7,#010H
+0017BB F128              ACALL   _GPIO_SetOutput
     8: 	GPIO_SetOutput(BT_LED_GPIO,LED_OFF);
-00179F D206              SETB    ?_GPIO_SetOutput?BIT
-0017A1 7F0F              MOV     R7,#0FH
-0017A3 F10B              ACALL   _GPIO_SetOutput
+0017BD D206              SETB    ?_GPIO_SetOutput?BIT
+0017BF 7F0F              MOV     R7,#0FH
+0017C1 F128              ACALL   _GPIO_SetOutput
     9: 	GPIO_SetOutput(BT2_LED_GPIO,LED_OFF);	
-0017A5 D206              SETB    ?_GPIO_SetOutput?BIT
-0017A7 7F1F              MOV     R7,#01FH
-0017A9 F10B              ACALL   _GPIO_SetOutput
+0017C3 D206              SETB    ?_GPIO_SetOutput?BIT
+0017C5 7F1F              MOV     R7,#01FH
+0017C7 F128              ACALL   _GPIO_SetOutput
    10: 	GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
-0017AB D206              SETB    ?_GPIO_SetOutput?BIT
-0017AD 7F1E              MOV     R7,#01EH
-0017AF F10B              ACALL   _GPIO_SetOutput
+0017C9 D206              SETB    ?_GPIO_SetOutput?BIT
+0017CB 7F1E              MOV     R7,#01EH
+0017CD F128              ACALL   _GPIO_SetOutput
    11: //	GPIO_SetOutput(G24_LED_GPIO,LED_OFF);
-0017B1 D206              SETB    ?_GPIO_SetOutput?BIT
-0017B3 7F1D              MOV     R7,#01DH
-0017B5 E10B              AJMP    _GPIO_SetOutput
+0017CF D206              SETB    ?_GPIO_SetOutput?BIT
+0017D1 7F1D              MOV     R7,#01DH
+0017D3 E128              AJMP    _GPIO_SetOutput
    12: }
 ----- FUNCTION LED_all_shutdown (END) -------
 
@@ -3616,48 +3628,31 @@
   106: {
   107: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_DIRECT_ADV)
   108: 	{
-0017B7 904CC7            MOV     DPTR,#g_variable+08H
-0017BA E0                MOVX    A,@DPTR
-0017BB B40208            CJNE    A,#02H,?C0020?BLUETOOTH
+0017D5 904CC7            MOV     DPTR,#g_variable+08H
+0017D8 E0                MOVX    A,@DPTR
+0017D9 B40208            CJNE    A,#02H,?C0020?BLUETOOTH
   109: 		//stop adv
   110: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-0017BE 7F0E              MOV     R7,#0EH
-0017C0 120ECA            LCALL   _IPC_TxControlCmd
+0017DC 7F0E              MOV     R7,#0EH
+0017DE 120ECA            LCALL   _IPC_TxControlCmd
   111: 		return 1;
-0017C3 7F01              MOV     R7,#01H
-0017C5 22                RET     
+0017E1 7F01              MOV     R7,#01H
+0017E3 22                RET     
   112: 	}
-0017C6         ?C0020?BLUETOOTH:
+0017E4         ?C0020?BLUETOOTH:
   113: 	return 0;
-0017C6 7F00              MOV     R7,#00H
+0017E4 7F00              MOV     R7,#00H
   114: }
-0017C8 22                RET     
+0017E6 22                RET     
 ----- FUNCTION YC_cancel_reconnect (END) -------
 
 
------ FUNCTION _GPIO_SetPu (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0017C9 EF                MOV     A,R7
-0017CA F4                CPL     A
-0017CB 600C              JZ      ?C0009?GPIO
-0017CD         ?C0008?GPIO:
-0017CD 7B01              MOV     R3,#01H
-0017CF 7A80              MOV     R2,#080H
-0017D1 7978              MOV     R1,#078H
-0017D3 A202              MOV     C,bit_val
-0017D5 9200              MOV     ?_gpioSetBit?BIT,C
-0017D7 F1F4              ACALL   _gpioSetBit
-0017D9         ?C0009?GPIO:
-0017D9 22                RET     
------ FUNCTION _GPIO_SetPu (END) -------
-
-
 ----- FUNCTION IIcWaitDone (BEGIN) -----
-0017DA         ?C0001?IIC:
-0017DA 90812C            MOV     DPTR,#0812CH
-0017DD E0                MOVX    A,@DPTR
-0017DE 30E5F9            JNB     ACC.5,?C0001?IIC
-0017E1 22                RET     
+0017E7         ?C0001?IIC:
+0017E7 90812C            MOV     DPTR,#0812CH
+0017EA E0                MOVX    A,@DPTR
+0017EB 30E5F9            JNB     ACC.5,?C0001?IIC
+0017EE 22                RET     
 ----- FUNCTION IIcWaitDone (END) -------
 
 
@@ -3667,11 +3662,11 @@
    54: {
    55: 	System_IIC_clk_setup();
    56: 	KS_Initialize();
-0017E2 123142            LCALL   System_IIC_clk_setup
+0017EF 12313E            LCALL   System_IIC_clk_setup
    57: 	LED_all_shutdown();
-0017E5 121FA6            LCALL   KS_Initialize
+0017F2 121F6F            LCALL   KS_Initialize
    58: }
-0017E8 80AF              SJMP    LED_all_shutdown
+0017F5 80C0              SJMP    LED_all_shutdown
 ----- FUNCTION System_Hardware_init (END) -------
 
 
@@ -3681,127 +3676,44 @@
   118: {
   119: 	g_variable.recon_count = 0;
   120: 	ble_reconnect_flag = 0;
-0017EA E4                CLR     A
-0017EB 904CF0            MOV     DPTR,#g_variable+031H
-0017EE F0                MOVX    @DPTR,A
+0017F7 E4                CLR     A
+0017F8 904CF0            MOV     DPTR,#g_variable+031H
+0017FB F0                MOVX    @DPTR,A
   121: }
-0017EF 904DE5            MOV     DPTR,#ble_reconnect_flag
-0017F2 F0                MOVX    @DPTR,A
+0017FC 904DE5            MOV     DPTR,#ble_reconnect_flag
+0017FF F0                MOVX    @DPTR,A
   122: 
-0017F3 22                RET     
+001800 22                RET     
 ----- FUNCTION YC_clear_reconnect_flag (END) -------
 
 
------ FUNCTION _gpioSetBit (BEGIN) -----
-0017F4 904EF6            MOV     DPTR,#reg_base
-0017F7 EB                MOV     A,R3
-0017F8 F0                MOVX    @DPTR,A
-0017F9 A3                INC     DPTR
-0017FA EA                MOV     A,R2
-0017FB F0                MOVX    @DPTR,A
-0017FC A3                INC     DPTR
-0017FD E9                MOV     A,R1
-0017FE F0                MOVX    @DPTR,A
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-;---- Variable 'queue' assigned to Register 'R6' ----
-0017FF E4                CLR     A
-001800 FE                MOV     R6,A
-;---- Variable 'group' assigned to Register 'R5' ----
-001801 FD                MOV     R5,A
-001802 EF                MOV     A,R7
-001803 5407              ANL     A,#07H
-001805 FE                MOV     R6,A
-001806 EF                MOV     A,R7
-001807 13                RRC     A
-001808 13                RRC     A
-001809 13                RRC     A
-00180A 5403              ANL     A,#03H
-00180C FD                MOV     R5,A
-00180D 300022            JNB     bit_val,?C0001?GPIO
-001810 904EF6            MOV     DPTR,#reg_base
-001813 E0                MOVX    A,@DPTR
-001814 FB                MOV     R3,A
-001815 A3                INC     DPTR
-001816 E0                MOVX    A,@DPTR
-001817 FA                MOV     R2,A
-001818 A3                INC     DPTR
-001819 E0                MOVX    A,@DPTR
-00181A 2D                ADD     A,R5
-00181B F9                MOV     R1,A
-00181C E4                CLR     A
-00181D 3A                ADDC    A,R2
-00181E FA                MOV     R2,A
-00181F 1203B6            LCALL   ?C?CLDPTR
-001822 FF                MOV     R7,A
-001823 7401              MOV     A,#01H
-001825 A806              MOV     R0,AR6
-001827 08                INC     R0
-001828 8002              SJMP    ?C0031?GPIO
-00182A         ?C0030?GPIO:
-00182A C3                CLR     C
-00182B 33                RLC     A
-00182C         ?C0031?GPIO:
-00182C D8FC              DJNZ    R0,?C0030?GPIO
-00182E 4F                ORL     A,R7
-00182F 0203FC            LJMP    ?C?CSTPTR
-001832         ?C0001?GPIO:
-001832 904EF6            MOV     DPTR,#reg_base
-001835 E0                MOVX    A,@DPTR
-001836 FB                MOV     R3,A
-001837 A3                INC     DPTR
-001838 E0                MOVX    A,@DPTR
-001839 FA                MOV     R2,A
-00183A A3                INC     DPTR
-00183B E0                MOVX    A,@DPTR
-00183C 2D                ADD     A,R5
-00183D F9                MOV     R1,A
-00183E E4                CLR     A
-00183F 3A                ADDC    A,R2
-001840 FA                MOV     R2,A
-001841 1203B6            LCALL   ?C?CLDPTR
-001844 FF                MOV     R7,A
-001845 7401              MOV     A,#01H
-001847 A806              MOV     R0,AR6
-001849 08                INC     R0
-00184A 8002              SJMP    ?C0033?GPIO
-00184C         ?C0032?GPIO:
-00184C C3                CLR     C
-00184D 33                RLC     A
-00184E         ?C0033?GPIO:
-00184E D8FC              DJNZ    R0,?C0032?GPIO
-001850 F4                CPL     A
-001851 5F                ANL     A,R7
-001852 0203FC            LJMP    ?C?CSTPTR
------ FUNCTION _gpioSetBit (END) -------
-
-
 ----- FUNCTION YC_g24_mode_discovery (BEGIN) -----
  FILE: 'bluetooth.c'
   141: byte YC_g24_mode_discovery()
   142: {
   143: 	if (g_variable.last_device_num == 0xfe ||g_variable.last_device_num == 0x00)
   144: 	{
-001855 904CC0            MOV     DPTR,#g_variable+01H
-001858 E0                MOVX    A,@DPTR
-001859 FF                MOV     R7,A
-00185A 64FE              XRL     A,#0FEH
-00185C 6003              JZ      ?C0029?BLUETOOTH
-00185E EF                MOV     A,R7
-00185F 7008              JNZ     ?C0028?BLUETOOTH
-001861         ?C0029?BLUETOOTH:
+001801 904CC0            MOV     DPTR,#g_variable+01H
+001804 E0                MOVX    A,@DPTR
+001805 FF                MOV     R7,A
+001806 64FE              XRL     A,#0FEH
+001808 6003              JZ      ?C0029?BLUETOOTH
+00180A EF                MOV     A,R7
+00180B 7008              JNZ     ?C0028?BLUETOOTH
+00180D         ?C0029?BLUETOOTH:
   145: 		IPC_TxControlCmd(IPC_CMD_STOP_24G);
   146: 		return 1;
-001861 7F22              MOV     R7,#022H
-001863 120ECA            LCALL   _IPC_TxControlCmd
+00180D 7F22              MOV     R7,#022H
+00180F 120ECA            LCALL   _IPC_TxControlCmd
   147: 	}
-001866 7F01              MOV     R7,#01H
-001868 22                RET     
+001812 7F01              MOV     R7,#01H
+001814 22                RET     
   148: 	return 0;
-001869         ?C0028?BLUETOOTH:
+001815         ?C0028?BLUETOOTH:
   149: }
-001869 7F00              MOV     R7,#00H
+001815 7F00              MOV     R7,#00H
   150: 
-00186B 22                RET     
+001817 22                RET     
 ----- FUNCTION YC_g24_mode_discovery (END) -------
 
 
@@ -3811,234 +3723,234 @@
   186: {
   187: 	IIC_Read(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
   188: 	g_variable.ble_ramdon_lap1++;
-00186C 7B01              MOV     R3,#01H
-00186E 7A4C              MOV     R2,#HIGH g_variable+033H
-001870 79F2              MOV     R1,#LOW g_variable+033H
-001872 7D02              MOV     R5,#02H
-001874 7C00              MOV     R4,#00H
-001876 7FBE              MOV     R7,#0BEH
-001878 7E7F              MOV     R6,#07FH
-00187A 12165B            LCALL   _IIC_Read
+001818 7B01              MOV     R3,#01H
+00181A 7A4C              MOV     R2,#HIGH g_variable+033H
+00181C 79F2              MOV     R1,#LOW g_variable+033H
+00181E 7D02              MOV     R5,#02H
+001820 7C00              MOV     R4,#00H
+001822 7FBE              MOV     R7,#0BEH
+001824 7E7F              MOV     R6,#07FH
+001826 121678            LCALL   _IIC_Read
   189: 	g_variable.ble_ramdon_lap2++;
-00187D 904CF2            MOV     DPTR,#g_variable+033H
-001880 E0                MOVX    A,@DPTR
-001881 04                INC     A
-001882 F0                MOVX    @DPTR,A
+001829 904CF2            MOV     DPTR,#g_variable+033H
+00182C E0                MOVX    A,@DPTR
+00182D 04                INC     A
+00182E F0                MOVX    @DPTR,A
   190: 	m_le_lap[1] = g_variable.ble_ramdon_lap1;
-001883 A3                INC     DPTR
-001884 E0                MOVX    A,@DPTR
-001885 04                INC     A
-001886 F0                MOVX    @DPTR,A
+00182F A3                INC     DPTR
+001830 E0                MOVX    A,@DPTR
+001831 04                INC     A
+001832 F0                MOVX    @DPTR,A
   191: 	m_le_lap[2] = g_variable.ble_ramdon_lap2;
-001887 904CF2            MOV     DPTR,#g_variable+033H
-00188A E0                MOVX    A,@DPTR
-00188B 9044FA            MOV     DPTR,#m_le_lap+01H
-00188E F0                MOVX    @DPTR,A
+001833 904CF2            MOV     DPTR,#g_variable+033H
+001836 E0                MOVX    A,@DPTR
+001837 9044FA            MOV     DPTR,#m_le_lap+01H
+00183A F0                MOVX    @DPTR,A
   192: 	m_le_lap[3] = le_lap_temp[0];
-00188F 904CF3            MOV     DPTR,#g_variable+034H
-001892 E0                MOVX    A,@DPTR
-001893 9044FB            MOV     DPTR,#m_le_lap+02H
-001896 F0                MOVX    @DPTR,A
+00183B 904CF3            MOV     DPTR,#g_variable+034H
+00183E E0                MOVX    A,@DPTR
+00183F 9044FB            MOV     DPTR,#m_le_lap+02H
+001842 F0                MOVX    @DPTR,A
   193: 	m_le_lap[4] = le_lap_temp[1];
-001897 904DD0            MOV     DPTR,#le_lap_temp
-00189A E0                MOVX    A,@DPTR
-00189B 9044FC            MOV     DPTR,#m_le_lap+03H
-00189E F0                MOVX    @DPTR,A
+001843 904DD0            MOV     DPTR,#le_lap_temp
+001846 E0                MOVX    A,@DPTR
+001847 9044FC            MOV     DPTR,#m_le_lap+03H
+00184A F0                MOVX    @DPTR,A
   194: 	m_le_lap[5] = le_lap_temp[2];
-00189F 904DD1            MOV     DPTR,#le_lap_temp+01H
-0018A2 E0                MOVX    A,@DPTR
-0018A3 9044FD            MOV     DPTR,#m_le_lap+04H
-0018A6 F0                MOVX    @DPTR,A
+00184B 904DD1            MOV     DPTR,#le_lap_temp+01H
+00184E E0                MOVX    A,@DPTR
+00184F 9044FD            MOV     DPTR,#m_le_lap+04H
+001852 F0                MOVX    @DPTR,A
   195: }
-0018A7 904DD2            MOV     DPTR,#le_lap_temp+02H
-0018AA E0                MOVX    A,@DPTR
-0018AB 9044FE            MOV     DPTR,#m_le_lap+05H
-0018AE F0                MOVX    @DPTR,A
+001853 904DD2            MOV     DPTR,#le_lap_temp+02H
+001856 E0                MOVX    A,@DPTR
+001857 9044FE            MOV     DPTR,#m_le_lap+05H
+00185A F0                MOVX    @DPTR,A
   196: 
-0018AF 22                RET     
+00185B 22                RET     
 ----- FUNCTION YC_get_ble_ramdon_lap (END) -------
 
 
 ----- FUNCTION YC_wait_disconnect_timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  452: void YC_wait_disconnect_timer500ms()
-  453: {
-  454: //before discovery/adv,if current state is connected,wait disconnect done
-  455: 	if (action_timeout!=0)
-0018B0 904DEC            MOV     DPTR,#action_timeout
-0018B3 E0                MOVX    A,@DPTR
-0018B4 6038              JZ      ?C0091?SYS
-  456: 	{
-  457: 		action_timeout--;
-0018B6 E0                MOVX    A,@DPTR
-0018B7 14                DEC     A
-0018B8 F0                MOVX    @DPTR,A
-  458: 		if(action_timeout == 0)
-0018B9 E0                MOVX    A,@DPTR
-0018BA 7032              JNZ     ?C0091?SYS
-  459: 		{
-  460: 			if(g_variable.key_action == KEY_DISCOVERY
-0018BC 904CED            MOV     DPTR,#g_variable+02EH
-0018BF E0                MOVX    A,@DPTR
-0018C0 B4052B            CJNE    A,#05H,?C0091?SYS
-0018C3 9047F5            MOV     DPTR,#m_ui_state_map+01H
-0018C6 E0                MOVX    A,@DPTR
-0018C7 20E324            JB      ACC.3,?C0091?SYS
-  461: 			&& (m_ui_state_map & 0x0008) != 0x0008)
-  462: 
-  463: 			{
-  464: //				m_lpm_mode = 0;
-  465: 				ble_send_secutiry_request_timer = 0;
-0018CA E4                CLR     A
-0018CB 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
-0018CE F0                MOVX    @DPTR,A
-  466: 				g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-0018CF 904CE9            MOV     DPTR,#g_variable+02AH
-0018D2 74F0              MOV     A,#0F0H
-0018D4 F0                MOVX    @DPTR,A
-  467: 				g_variable.pairing_g24_timeout = 0;
-0018D5 E4                CLR     A
-0018D6 904CEE            MOV     DPTR,#g_variable+02FH
-0018D9 F0                MOVX    @DPTR,A
-  468: 				fast_connect_flag = 0;
-0018DA 904E55            MOV     DPTR,#fast_connect_flag
-0018DD F0                MOVX    @DPTR,A
-  469: 				ble_fast_connect_flag = 0;
-0018DE 904DD3            MOV     DPTR,#ble_fast_connect_flag
-0018E1 F0                MOVX    @DPTR,A
-  470: 				YC_get_ble_ramdon_lap();
-0018E2 116C              ACALL   YC_get_ble_ramdon_lap
-  471: 				IPC_TxControlCmd(IPC_CMD_START_ADV);
-0018E4 7F0D              MOV     R7,#0DH
-0018E6 120ECA            LCALL   _IPC_TxControlCmd
-  472: 				g_variable.key_action = KEY_NONE;
-0018E9 E4                CLR     A
-0018EA 904CED            MOV     DPTR,#g_variable+02EH
-0018ED F0                MOVX    @DPTR,A
-  473: 			}
-  474: 		}
-  475: 	}
-  476: 
-  477: }
-0018EE         ?C0091?SYS:
-0018EE 22                RET     
+  455: void YC_wait_disconnect_timer500ms()
+  456: {
+  457: //before discovery/adv,if current state is connected,wait disconnect done
+  458: 	if (action_timeout!=0)
+00185C 904DEC            MOV     DPTR,#action_timeout
+00185F E0                MOVX    A,@DPTR
+001860 6038              JZ      ?C0091?SYS
+  459: 	{
+  460: 		action_timeout--;
+001862 E0                MOVX    A,@DPTR
+001863 14                DEC     A
+001864 F0                MOVX    @DPTR,A
+  461: 		if(action_timeout == 0)
+001865 E0                MOVX    A,@DPTR
+001866 7032              JNZ     ?C0091?SYS
+  462: 		{
+  463: 			if(g_variable.key_action == KEY_DISCOVERY
+001868 904CED            MOV     DPTR,#g_variable+02EH
+00186B E0                MOVX    A,@DPTR
+00186C B4052B            CJNE    A,#05H,?C0091?SYS
+00186F 9047F5            MOV     DPTR,#m_ui_state_map+01H
+001872 E0                MOVX    A,@DPTR
+001873 20E324            JB      ACC.3,?C0091?SYS
+  464: 			&& (m_ui_state_map & 0x0008) != 0x0008)
+  465: 
+  466: 			{
+  467: //				m_lpm_mode = 0;
+  468: 				ble_send_secutiry_request_timer = 0;
+001876 E4                CLR     A
+001877 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
+00187A F0                MOVX    @DPTR,A
+  469: 				g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
+00187B 904CE9            MOV     DPTR,#g_variable+02AH
+00187E 74F0              MOV     A,#0F0H
+001880 F0                MOVX    @DPTR,A
+  470: 				g_variable.pairing_g24_timeout = 0;
+001881 E4                CLR     A
+001882 904CEE            MOV     DPTR,#g_variable+02FH
+001885 F0                MOVX    @DPTR,A
+  471: 				fast_connect_flag = 0;
+001886 904E55            MOV     DPTR,#fast_connect_flag
+001889 F0                MOVX    @DPTR,A
+  472: 				ble_fast_connect_flag = 0;
+00188A 904DD3            MOV     DPTR,#ble_fast_connect_flag
+00188D F0                MOVX    @DPTR,A
+  473: 				YC_get_ble_ramdon_lap();
+00188E 1118              ACALL   YC_get_ble_ramdon_lap
+  474: 				IPC_TxControlCmd(IPC_CMD_START_ADV);
+001890 7F0D              MOV     R7,#0DH
+001892 120ECA            LCALL   _IPC_TxControlCmd
+  475: 				g_variable.key_action = KEY_NONE;
+001895 E4                CLR     A
+001896 904CED            MOV     DPTR,#g_variable+02EH
+001899 F0                MOVX    @DPTR,A
+  476: 			}
+  477: 		}
+  478: 	}
+  479: 
+  480: }
+00189A         ?C0091?SYS:
+00189A 22                RET     
 ----- FUNCTION YC_wait_disconnect_timer500ms (END) -------
 
 
 ----- FUNCTION kb_cb_Timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  667: static void kb_cb_Timer500ms()
-  668: {
-  669: 	LED_timer500ms();	
-  670: 
-0018EF 12124F            LCALL   LED_timer500ms
-  671: 	g_variable.sleepTimer++;
-0018F2 904CE4            MOV     DPTR,#g_variable+025H
-0018F5 E0                MOVX    A,@DPTR
-0018F6 04                INC     A
-0018F7 F0                MOVX    @DPTR,A
-0018F8 7006              JNZ     ?C0173?SYS
-0018FA 904CE3            MOV     DPTR,#g_variable+024H
-0018FD E0                MOVX    A,@DPTR
-0018FE 04                INC     A
-0018FF F0                MOVX    @DPTR,A
-001900         ?C0173?SYS:
-  672: 
-  673: 	YC_adc_check_timer500ms();
-001900 3152              ACALL   YC_adc_check_timer500ms
-  674: 	YC_connect_timeout_500ms();
-001902 120DD0            LCALL   YC_connect_timeout_500ms
-  675: 	kb_button_press_timer500ms();
-001905 3163              ACALL   kb_button_press_timer500ms
-  676: 	YC_wait_disconnect_timer500ms();
-001907 11B0              ACALL   YC_wait_disconnect_timer500ms
+  670: static void kb_cb_Timer500ms()
+  671: {
+  672: 	LED_timer500ms();	
+  673: 
+00189B 12127A            LCALL   LED_timer500ms
+  674: 	g_variable.sleepTimer++;
+00189E 904CE4            MOV     DPTR,#g_variable+025H
+0018A1 E0                MOVX    A,@DPTR
+0018A2 04                INC     A
+0018A3 F0                MOVX    @DPTR,A
+0018A4 7006              JNZ     ?C0173?SYS
+0018A6 904CE3            MOV     DPTR,#g_variable+024H
+0018A9 E0                MOVX    A,@DPTR
+0018AA 04                INC     A
+0018AB F0                MOVX    @DPTR,A
+0018AC         ?C0173?SYS:
+  675: 
+  676: 	YC_adc_check_timer500ms();
+0018AC 11FE              ACALL   YC_adc_check_timer500ms
+  677: 	YC_connect_timeout_500ms();
+0018AE 120DD0            LCALL   YC_connect_timeout_500ms
+  678: 	kb_button_press_timer500ms();
+0018B1 310F              ACALL   kb_button_press_timer500ms
+  679: 	YC_wait_disconnect_timer500ms();
+0018B3 115C              ACALL   YC_wait_disconnect_timer500ms
 ;----                  JMP     YC_pairing_timerout_500ms
-  677: 	YC_pairing_timerout_500ms();
-  678: 	
-  679: /*	
-  680: 	if(g_variable.ble_currentSubState ==  CHANGE_TO_BLE_SUB_PINCODE)
-  681: 	{
-  682: 		g_variable.sleepTimer = 0;				//wait macOS enter pincode
-  683: 	}
-  684: */	
-  685: 	return;
+  680: 	YC_pairing_timerout_500ms();
+  681: 	
+  682: /*	
+  683: 	if(g_variable.ble_currentSubState ==  CHANGE_TO_BLE_SUB_PINCODE)
+  684: 	{
+  685: 		g_variable.sleepTimer = 0;				//wait macOS enter pincode
+  686: 	}
+  687: */	
+  688: 	return;
 ----- FUNCTION kb_cb_Timer500ms (END) -------
 
 
 ----- FUNCTION YC_pairing_timerout_500ms (BEGIN) -----
  FILE: 'sys.c'
-  480: void YC_pairing_timerout_500ms()
-  481: {
-  482: //pairing timer
-  483: 	if (g_variable.pairing_timeout != 0)
-001909 904CE9            MOV     DPTR,#g_variable+02AH
-00190C E0                MOVX    A,@DPTR
-00190D 6024              JZ      ?C0092?SYS
-  484: 	{
-  485: 		g_variable.sleepTimer = 0;
-00190F E4                CLR     A
-001910 904CE3            MOV     DPTR,#g_variable+024H
-001913 F0                MOVX    @DPTR,A
-001914 A3                INC     DPTR
-001915 F0                MOVX    @DPTR,A
-  486: 		g_variable.pairing_timeout--;
-001916 904CE9            MOV     DPTR,#g_variable+02AH
-001919 E0                MOVX    A,@DPTR
-00191A 14                DEC     A
-00191B F0                MOVX    @DPTR,A
-  487: 		if (g_variable.pairing_timeout == 0)
-00191C E0                MOVX    A,@DPTR
-00191D 7014              JNZ     ?C0092?SYS
-  488: 		{
-  489: 			g_variable.current_device_num = g_variable.temp_device_num;
-00191F 904CC4            MOV     DPTR,#g_variable+05H
-001922 E0                MOVX    A,@DPTR
-001923 904CC3            MOV     DPTR,#g_variable+04H
-001926 F0                MOVX    @DPTR,A
-  490: 			g_variable.last_device_num = g_variable.current_device_num;
-001927 904CC0            MOV     DPTR,#g_variable+01H
-00192A F0                MOVX    @DPTR,A
-  491: 		
-  492: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
-00192B 7F0D              MOV     R7,#0DH
-00192D 12108B            LCALL   _YC_key_action_handle
-  493: 			System_long_sleep();
-001930 120FB2            LCALL   System_long_sleep
-  494: 		}
-  495: 	}
-001933         ?C0092?SYS:
-  496: 
-  497: 	if (g_variable.pairing_g24_timeout != 0)
-001933 904CEE            MOV     DPTR,#g_variable+02FH
-001936 E0                MOVX    A,@DPTR
-001937 6018              JZ      ?C0096?SYS
-  498: 	{
-  499: 		g_variable.sleepTimer = 0;
-001939 E4                CLR     A
-00193A 904CE3            MOV     DPTR,#g_variable+024H
-00193D F0                MOVX    @DPTR,A
-00193E A3                INC     DPTR
-00193F F0                MOVX    @DPTR,A
-  500: 		g_variable.pairing_g24_timeout--;
-001940 904CEE            MOV     DPTR,#g_variable+02FH
-001943 E0                MOVX    A,@DPTR
-001944 14                DEC     A
-001945 F0                MOVX    @DPTR,A
-  501: 		if (g_variable.pairing_g24_timeout == 0)
-001946 E0                MOVX    A,@DPTR
-001947 7008              JNZ     ?C0096?SYS
-  502: 		{
-  503: //			IPC_TxControlCmd(IPC_CMD_STOP_24G);
-  504: 			Delay1ms(10);
-001949 7F0A              MOV     R7,#0AH
-00194B 121595            LCALL   _Delay1ms
-  505: 			System_long_sleep();
-00194E 120FB2            LCALL   System_long_sleep
-  506: 		}
-  507: 	}
-  508: }
-001951         ?C0096?SYS:
-001951 22                RET     
+  483: void YC_pairing_timerout_500ms()
+  484: {
+  485: //pairing timer
+  486: 	if (g_variable.pairing_timeout != 0)
+0018B5 904CE9            MOV     DPTR,#g_variable+02AH
+0018B8 E0                MOVX    A,@DPTR
+0018B9 6024              JZ      ?C0092?SYS
+  487: 	{
+  488: 		g_variable.sleepTimer = 0;
+0018BB E4                CLR     A
+0018BC 904CE3            MOV     DPTR,#g_variable+024H
+0018BF F0                MOVX    @DPTR,A
+0018C0 A3                INC     DPTR
+0018C1 F0                MOVX    @DPTR,A
+  489: 		g_variable.pairing_timeout--;
+0018C2 904CE9            MOV     DPTR,#g_variable+02AH
+0018C5 E0                MOVX    A,@DPTR
+0018C6 14                DEC     A
+0018C7 F0                MOVX    @DPTR,A
+  490: 		if (g_variable.pairing_timeout == 0)
+0018C8 E0                MOVX    A,@DPTR
+0018C9 7014              JNZ     ?C0092?SYS
+  491: 		{
+  492: 			g_variable.current_device_num = g_variable.temp_device_num;
+0018CB 904CC4            MOV     DPTR,#g_variable+05H
+0018CE E0                MOVX    A,@DPTR
+0018CF 904CC3            MOV     DPTR,#g_variable+04H
+0018D2 F0                MOVX    @DPTR,A
+  493: 			g_variable.last_device_num = g_variable.current_device_num;
+0018D3 904CC0            MOV     DPTR,#g_variable+01H
+0018D6 F0                MOVX    @DPTR,A
+  494: 		
+  495: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
+0018D7 7F0D              MOV     R7,#0DH
+0018D9 12108B            LCALL   _YC_key_action_handle
+  496: 			System_long_sleep();
+0018DC 120FB2            LCALL   System_long_sleep
+  497: 		}
+  498: 	}
+0018DF         ?C0092?SYS:
+  499: 
+  500: 	if (g_variable.pairing_g24_timeout != 0)
+0018DF 904CEE            MOV     DPTR,#g_variable+02FH
+0018E2 E0                MOVX    A,@DPTR
+0018E3 6018              JZ      ?C0096?SYS
+  501: 	{
+  502: 		g_variable.sleepTimer = 0;
+0018E5 E4                CLR     A
+0018E6 904CE3            MOV     DPTR,#g_variable+024H
+0018E9 F0                MOVX    @DPTR,A
+0018EA A3                INC     DPTR
+0018EB F0                MOVX    @DPTR,A
+  503: 		g_variable.pairing_g24_timeout--;
+0018EC 904CEE            MOV     DPTR,#g_variable+02FH
+0018EF E0                MOVX    A,@DPTR
+0018F0 14                DEC     A
+0018F1 F0                MOVX    @DPTR,A
+  504: 		if (g_variable.pairing_g24_timeout == 0)
+0018F2 E0                MOVX    A,@DPTR
+0018F3 7008              JNZ     ?C0096?SYS
+  505: 		{
+  506: //			IPC_TxControlCmd(IPC_CMD_STOP_24G);
+  507: 			Delay1ms(10);
+0018F5 7F0A              MOV     R7,#0AH
+0018F7 1215B2            LCALL   _Delay1ms
+  508: 			System_long_sleep();
+0018FA 120FB2            LCALL   System_long_sleep
+  509: 		}
+  510: 	}
+  511: }
+0018FD         ?C0096?SYS:
+0018FD 22                RET     
 ----- FUNCTION YC_pairing_timerout_500ms (END) -------
 
 
@@ -4049,457 +3961,457 @@
   102: #ifdef  ADC_ENABLE
   103: 	// adc check timer	
   104: 	if (g_variable.battery_check_interval)
-001952 904CD3            MOV     DPTR,#g_variable+014H
-001955 E0                MOVX    A,@DPTR
-001956 600A              JZ      ?C0023?ADC
+0018FE 904CD3            MOV     DPTR,#g_variable+014H
+001901 E0                MOVX    A,@DPTR
+001902 600A              JZ      ?C0023?ADC
   105: 	{
   106: 		g_variable.battery_check_interval--;
-001958 14                DEC     A
-001959 F0                MOVX    @DPTR,A
+001904 14                DEC     A
+001905 F0                MOVX    @DPTR,A
   107: 		if (g_variable.battery_check_interval == 0)
-00195A E0                MOVX    A,@DPTR
-00195B 7005              JNZ     ?C0023?ADC
+001906 E0                MOVX    A,@DPTR
+001907 7005              JNZ     ?C0023?ADC
   108: 		{
   109: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-00195D 7405              MOV     A,#05H
-00195F F0                MOVX    @DPTR,A
+001909 7405              MOV     A,#05H
+00190B F0                MOVX    @DPTR,A
   110: 			YC_adc_check();
-001960 713E              ACALL   YC_adc_check
+00190C 51EA              ACALL   YC_adc_check
   111: 		}
   112: 	}
   113: #endif	
   114: }
-001962         ?C0023?ADC:
-001962 22                RET     
+00190E         ?C0023?ADC:
+00190E 22                RET     
 ----- FUNCTION YC_adc_check_timer500ms (END) -------
 
 
 ----- FUNCTION kb_button_press_timer500ms (BEGIN) -----
  FILE: 'sys.c'
-  510: void kb_button_press_timer500ms()
-  511: {
-  512: 	
-  513: //key status 
-  514: /*
-  515: 	if (g_variable.button_flag & KEY_FLAG_BTKEY_PRESS)		//press BT key
-  516: 	{
-  517: 		if (g_variable.button_timer[0] < 250)
-  518: 			g_variable.button_timer[0]++;
-  519: 		if (g_variable.button_timer[0] == 2)
-  520: 		{
-  521: 			YC_key_action_handle(KEY_DISCOVERY);
-  522: 		}
-  523: 	}
-  524: 	else
-  525: 		g_variable.button_timer[0] = 0;
-  526: */		
-  527: 	
-  528: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
-001963 904CCE            MOV     DPTR,#g_variable+0FH
-001966 E0                MOVX    A,@DPTR
-001967 30E13E            JNB     ACC.1,?C0097?SYS
-  529: 	{
-  530: 		if (g_variable.button_timer[1] < 250)
-00196A 904CD0            MOV     DPTR,#g_variable+011H
-00196D E0                MOVX    A,@DPTR
-00196E C3                CLR     C
-00196F 94FA              SUBB    A,#0FAH
-001971 5003              JNC     ?C0098?SYS
-  531: 			g_variable.button_timer[1]++;
-001973 E0                MOVX    A,@DPTR
-001974 04                INC     A
-001975 F0                MOVX    @DPTR,A
-001976         ?C0098?SYS:
-  532: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
-001976 904CD0            MOV     DPTR,#g_variable+011H
-001979 E0                MOVX    A,@DPTR
-00197A 64B4              XRL     A,#0B4H
-00197C 7037              JNZ     ?C0103?SYS
-  533: 		{
-  534: 			press_long_time_flag++;
-00197E 904DE3            MOV     DPTR,#press_long_time_flag
-001981 E0                MOVX    A,@DPTR
-001982 04                INC     A
-001983 F0                MOVX    @DPTR,A
-  535: 			if(press_long_time_flag <= 2)
-001984 E0                MOVX    A,@DPTR
-001985 D3                SETB    C
-001986 9402              SUBB    A,#02H
-001988 5007              JNC     ?C0100?SYS
-  536: 			{
-  537: 				g_variable.button_timer[1] = 0;
-00198A E4                CLR     A
-00198B 904CD0            MOV     DPTR,#g_variable+011H
-00198E F0                MOVX    @DPTR,A
-  538: 			}
-00198F 8024              SJMP    ?C0103?SYS
-001991         ?C0100?SYS:
-  539: 			else if(press_long_time_flag == 3)
-001991 904DE3            MOV     DPTR,#press_long_time_flag
-001994 E0                MOVX    A,@DPTR
-001995 B4031D            CJNE    A,#03H,?C0103?SYS
-  540: 			{
-  541: 				long_press_flag = 1;
-001998 904DDC            MOV     DPTR,#long_press_flag
-00199B 7401              MOV     A,#01H
-00199D F0                MOVX    @DPTR,A
-  542: 				g_variable.button_timer[1] = 0;
-00199E E4                CLR     A
-00199F 904CD0            MOV     DPTR,#g_variable+011H
-0019A2 F0                MOVX    @DPTR,A
-  543: 				System_long_sleep();
-0019A3 120FB2            LCALL   System_long_sleep
-  544: 			}
-  545: 		}
-  546: 	}
-0019A6 800D              SJMP    ?C0103?SYS
-0019A8         ?C0097?SYS:
-  547: 	else
-  548: 	{
-  549: 		press_long_time_flag = 0;
-0019A8 E4                CLR     A
-0019A9 904DE3            MOV     DPTR,#press_long_time_flag
-0019AC F0                MOVX    @DPTR,A
-  550: 		long_press_flag = 0;
-0019AD 904DDC            MOV     DPTR,#long_press_flag
-0019B0 F0                MOVX    @DPTR,A
-  551: 		g_variable.button_timer[1] = 0;
-0019B1 904CD0            MOV     DPTR,#g_variable+011H
-0019B4 F0                MOVX    @DPTR,A
-  552: 	}
-0019B5         ?C0103?SYS:
-  553: 		
-  554: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
-0019B5 904CCE            MOV     DPTR,#g_variable+0FH
-0019B8 E0                MOVX    A,@DPTR
-0019B9 30E439            JNB     ACC.4,?C0104?SYS
-  555: 	{
-  556: 		g_variable.delay_enter_lpm_timer = 10;
-0019BC 904CEA            MOV     DPTR,#g_variable+02BH
-0019BF 740A              MOV     A,#0AH
+  513: void kb_button_press_timer500ms()
+  514: {
+  515: 	
+  516: //key status 
+  517: /*
+  518: 	if (g_variable.button_flag & KEY_FLAG_BTKEY_PRESS)		//press BT key
+  519: 	{
+  520: 		if (g_variable.button_timer[0] < 250)
+  521: 			g_variable.button_timer[0]++;
+  522: 		if (g_variable.button_timer[0] == 2)
+  523: 		{
+  524: 			YC_key_action_handle(KEY_DISCOVERY);
+  525: 		}
+  526: 	}
+  527: 	else
+  528: 		g_variable.button_timer[0] = 0;
+  529: */		
+  530: 	
+  531: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
+00190F 904CCE            MOV     DPTR,#g_variable+0FH
+001912 E0                MOVX    A,@DPTR
+001913 30E13E            JNB     ACC.1,?C0097?SYS
+  532: 	{
+  533: 		if (g_variable.button_timer[1] < 250)
+001916 904CD0            MOV     DPTR,#g_variable+011H
+001919 E0                MOVX    A,@DPTR
+00191A C3                CLR     C
+00191B 94FA              SUBB    A,#0FAH
+00191D 5003              JNC     ?C0098?SYS
+  534: 			g_variable.button_timer[1]++;
+00191F E0                MOVX    A,@DPTR
+001920 04                INC     A
+001921 F0                MOVX    @DPTR,A
+001922         ?C0098?SYS:
+  535: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
+001922 904CD0            MOV     DPTR,#g_variable+011H
+001925 E0                MOVX    A,@DPTR
+001926 64B4              XRL     A,#0B4H
+001928 7037              JNZ     ?C0103?SYS
+  536: 		{
+  537: 			press_long_time_flag++;
+00192A 904DE3            MOV     DPTR,#press_long_time_flag
+00192D E0                MOVX    A,@DPTR
+00192E 04                INC     A
+00192F F0                MOVX    @DPTR,A
+  538: 			if(press_long_time_flag <= 2)
+001930 E0                MOVX    A,@DPTR
+001931 D3                SETB    C
+001932 9402              SUBB    A,#02H
+001934 5007              JNC     ?C0100?SYS
+  539: 			{
+  540: 				g_variable.button_timer[1] = 0;
+001936 E4                CLR     A
+001937 904CD0            MOV     DPTR,#g_variable+011H
+00193A F0                MOVX    @DPTR,A
+  541: 			}
+00193B 8024              SJMP    ?C0103?SYS
+00193D         ?C0100?SYS:
+  542: 			else if(press_long_time_flag == 3)
+00193D 904DE3            MOV     DPTR,#press_long_time_flag
+001940 E0                MOVX    A,@DPTR
+001941 B4031D            CJNE    A,#03H,?C0103?SYS
+  543: 			{
+  544: 				long_press_flag = 1;
+001944 904DDC            MOV     DPTR,#long_press_flag
+001947 7401              MOV     A,#01H
+001949 F0                MOVX    @DPTR,A
+  545: 				g_variable.button_timer[1] = 0;
+00194A E4                CLR     A
+00194B 904CD0            MOV     DPTR,#g_variable+011H
+00194E F0                MOVX    @DPTR,A
+  546: 				System_long_sleep();
+00194F 120FB2            LCALL   System_long_sleep
+  547: 			}
+  548: 		}
+  549: 	}
+001952 800D              SJMP    ?C0103?SYS
+001954         ?C0097?SYS:
+  550: 	else
+  551: 	{
+  552: 		press_long_time_flag = 0;
+001954 E4                CLR     A
+001955 904DE3            MOV     DPTR,#press_long_time_flag
+001958 F0                MOVX    @DPTR,A
+  553: 		long_press_flag = 0;
+001959 904DDC            MOV     DPTR,#long_press_flag
+00195C F0                MOVX    @DPTR,A
+  554: 		g_variable.button_timer[1] = 0;
+00195D 904CD0            MOV     DPTR,#g_variable+011H
+001960 F0                MOVX    @DPTR,A
+  555: 	}
+001961         ?C0103?SYS:
+  556: 		
+  557: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
+001961 904CCE            MOV     DPTR,#g_variable+0FH
+001964 E0                MOVX    A,@DPTR
+001965 30E439            JNB     ACC.4,?C0104?SYS
+  558: 	{
+  559: 		g_variable.delay_enter_lpm_timer = 10;
+001968 904CEA            MOV     DPTR,#g_variable+02BH
+00196B 740A              MOV     A,#0AH
+00196D F0                MOVX    @DPTR,A
+  560: 		if (g_variable.button_timer[2] < 250)
+00196E 904CD1            MOV     DPTR,#g_variable+012H
+001971 E0                MOVX    A,@DPTR
+001972 C3                CLR     C
+001973 94FA              SUBB    A,#0FAH
+001975 5003              JNC     ?C0105?SYS
+  561: 			g_variable.button_timer[2]++;
+001977 E0                MOVX    A,@DPTR
+001978 04                INC     A
+001979 F0                MOVX    @DPTR,A
+00197A         ?C0105?SYS:
+  562: 		if (g_variable.button_timer[2] == 6)
+00197A 904CD1            MOV     DPTR,#g_variable+012H
+00197D E0                MOVX    A,@DPTR
+00197E 6406              XRL     A,#06H
+001980 704A              JNZ     ?C0109?SYS
+  563: 		{
+  564: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
+001982 904CC3            MOV     DPTR,#g_variable+04H
+001985 E0                MOVX    A,@DPTR
+001986 FF                MOV     R7,A
+001987 6004              JZ      ?C0108?SYS
+001989 64FE              XRL     A,#0FEH
+00198B 703F              JNZ     ?C0109?SYS
+00198D         ?C0108?SYS:
+  565: 			{
+  566: 				g_variable.button_24G_rec_flag = 0;
+00198D E4                CLR     A
+00198E 904CCD            MOV     DPTR,#g_variable+0EH
+001991 F0                MOVX    @DPTR,A
+  567: 				YC_disconnect_all_link();
+001992 120F87            LCALL   YC_disconnect_all_link
+  568: 				Delay1ms(10);
+001995 7F0A              MOV     R7,#0AH
+001997 1215B2            LCALL   _Delay1ms
+  569: 				YC_key_action_handle(KEY_PAIRING_24G);
+00199A 7F0A              MOV     R7,#0AH
+00199C 12108B            LCALL   _YC_key_action_handle
+  570: 			}
+  571: 		}
+  572: 	}
+00199F 802B              SJMP    ?C0109?SYS
+0019A1         ?C0104?SYS:
+  573: 	else
+  574: 	{
+  575: 		if(g_variable.button_24G_rec_flag)
+0019A1 904CCD            MOV     DPTR,#g_variable+0EH
+0019A4 E0                MOVX    A,@DPTR
+0019A5 6020              JZ      ?C0110?SYS
+  576: 		{
+  577: 			g_variable.button_24G_rec_flag = 0;
+0019A7 E4                CLR     A
+0019A8 F0                MOVX    @DPTR,A
+  578: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
+0019A9 7F0D              MOV     R7,#0DH
+0019AB 12108B            LCALL   _YC_key_action_handle
+  579: 			g_variable.release_data = 1;
+0019AE 904CEB            MOV     DPTR,#g_variable+02CH
+0019B1 7401              MOV     A,#01H
+0019B3 F0                MOVX    @DPTR,A
+  580: 			g_variable.last_device_num = g_variable.current_device_num;
+0019B4 904CC3            MOV     DPTR,#g_variable+04H
+0019B7 E0                MOVX    A,@DPTR
+0019B8 904CC0            MOV     DPTR,#g_variable+01H
+0019BB F0                MOVX    @DPTR,A
+  581: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
+0019BC 904CBF            MOV     DPTR,#g_variable
+0019BF 7401              MOV     A,#01H
 0019C1 F0                MOVX    @DPTR,A
-  557: 		if (g_variable.button_timer[2] < 250)
-0019C2 904CD1            MOV     DPTR,#g_variable+012H
-0019C5 E0                MOVX    A,@DPTR
-0019C6 C3                CLR     C
-0019C7 94FA              SUBB    A,#0FAH
-0019C9 5003              JNC     ?C0105?SYS
-  558: 			g_variable.button_timer[2]++;
-0019CB E0                MOVX    A,@DPTR
-0019CC 04                INC     A
-0019CD F0                MOVX    @DPTR,A
-0019CE         ?C0105?SYS:
-  559: 		if (g_variable.button_timer[2] == 6)
-0019CE 904CD1            MOV     DPTR,#g_variable+012H
-0019D1 E0                MOVX    A,@DPTR
-0019D2 6406              XRL     A,#06H
-0019D4 704A              JNZ     ?C0109?SYS
-  560: 		{
-  561: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
-0019D6 904CC3            MOV     DPTR,#g_variable+04H
-0019D9 E0                MOVX    A,@DPTR
-0019DA FF                MOV     R7,A
-0019DB 6004              JZ      ?C0108?SYS
-0019DD 64FE              XRL     A,#0FEH
-0019DF 703F              JNZ     ?C0109?SYS
-0019E1         ?C0108?SYS:
-  562: 			{
-  563: 				g_variable.button_24G_rec_flag = 0;
-0019E1 E4                CLR     A
-0019E2 904CCD            MOV     DPTR,#g_variable+0EH
-0019E5 F0                MOVX    @DPTR,A
-  564: 				YC_disconnect_all_link();
-0019E6 120F87            LCALL   YC_disconnect_all_link
-  565: 				Delay1ms(10);
-0019E9 7F0A              MOV     R7,#0AH
-0019EB 121595            LCALL   _Delay1ms
-  566: 				YC_key_action_handle(KEY_PAIRING_24G);
-0019EE 7F0A              MOV     R7,#0AH
-0019F0 12108B            LCALL   _YC_key_action_handle
-  567: 			}
-  568: 		}
-  569: 	}
-0019F3 802B              SJMP    ?C0109?SYS
-0019F5         ?C0104?SYS:
-  570: 	else
-  571: 	{
-  572: 		if(g_variable.button_24G_rec_flag)
-0019F5 904CCD            MOV     DPTR,#g_variable+0EH
-0019F8 E0                MOVX    A,@DPTR
-0019F9 6020              JZ      ?C0110?SYS
-  573: 		{
-  574: 			g_variable.button_24G_rec_flag = 0;
-0019FB E4                CLR     A
-0019FC F0                MOVX    @DPTR,A
-  575: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
-0019FD 7F0D              MOV     R7,#0DH
-0019FF 12108B            LCALL   _YC_key_action_handle
-  576: 			g_variable.release_data = 1;
-001A02 904CEB            MOV     DPTR,#g_variable+02CH
-001A05 7401              MOV     A,#01H
-001A07 F0                MOVX    @DPTR,A
-  577: 			g_variable.last_device_num = g_variable.current_device_num;
-001A08 904CC3            MOV     DPTR,#g_variable+04H
-001A0B E0                MOVX    A,@DPTR
-001A0C 904CC0            MOV     DPTR,#g_variable+01H
-001A0F F0                MOVX    @DPTR,A
-  578: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
-001A10 904CBF            MOV     DPTR,#g_variable
-001A13 7401              MOV     A,#01H
-001A15 F0                MOVX    @DPTR,A
-  579: 			YC_update_eeprom_data();
-001A16 121442            LCALL   YC_update_eeprom_data
-  580: 			System_Reset_Connect();
-001A19 7135              ACALL   System_Reset_Connect
-  581: 		}
-001A1B         ?C0110?SYS:
-  582: 		g_variable.button_timer[2] = 0;
-001A1B E4                CLR     A
-001A1C 904CD1            MOV     DPTR,#g_variable+012H
-001A1F F0                MOVX    @DPTR,A
-  583: 	}
-001A20         ?C0109?SYS:
-  584: 
-  585: 	
-  586: 	if (g_variable.button_flag & KEY_FLAG_FN_DEVICE_BUTTON)
-001A20 904CCE            MOV     DPTR,#g_variable+0FH
-001A23 E0                MOVX    A,@DPTR
-001A24 30E349            JNB     ACC.3,?C0111?SYS
-  587: 	{
-  588: 		g_variable.delay_enter_lpm_timer = 10;
-001A27 904CEA            MOV     DPTR,#g_variable+02BH
-001A2A 740A              MOV     A,#0AH
-001A2C F0                MOVX    @DPTR,A
-  589: 		if (g_variable.button_timer[3] < 250)
-001A2D 904CD2            MOV     DPTR,#g_variable+013H
-001A30 E0                MOVX    A,@DPTR
-001A31 C3                CLR     C
-001A32 94FA              SUBB    A,#0FAH
-001A34 5003              JNC     ?C0112?SYS
-  590: 			g_variable.button_timer[3]++;
-001A36 E0                MOVX    A,@DPTR
-001A37 04                INC     A
-001A38 F0                MOVX    @DPTR,A
-001A39         ?C0112?SYS:
-  591: 		if (g_variable.button_timer[3] == 6)
-001A39 904CD2            MOV     DPTR,#g_variable+013H
+  582: 			YC_update_eeprom_data();
+0019C2 12146D            LCALL   YC_update_eeprom_data
+  583: 			System_Reset_Connect();
+0019C5 51E1              ACALL   System_Reset_Connect
+  584: 		}
+0019C7         ?C0110?SYS:
+  585: 		g_variable.button_timer[2] = 0;
+0019C7 E4                CLR     A
+0019C8 904CD1            MOV     DPTR,#g_variable+012H
+0019CB F0                MOVX    @DPTR,A
+  586: 	}
+0019CC         ?C0109?SYS:
+  587: 
+  588: 	
+  589: 	if (g_variable.button_flag & KEY_FLAG_FN_DEVICE_BUTTON)
+0019CC 904CCE            MOV     DPTR,#g_variable+0FH
+0019CF E0                MOVX    A,@DPTR
+0019D0 30E349            JNB     ACC.3,?C0111?SYS
+  590: 	{
+  591: 		g_variable.delay_enter_lpm_timer = 10;
+0019D3 904CEA            MOV     DPTR,#g_variable+02BH
+0019D6 740A              MOV     A,#0AH
+0019D8 F0                MOVX    @DPTR,A
+  592: 		if (g_variable.button_timer[3] < 250)
+0019D9 904CD2            MOV     DPTR,#g_variable+013H
+0019DC E0                MOVX    A,@DPTR
+0019DD C3                CLR     C
+0019DE 94FA              SUBB    A,#0FAH
+0019E0 5003              JNC     ?C0112?SYS
+  593: 			g_variable.button_timer[3]++;
+0019E2 E0                MOVX    A,@DPTR
+0019E3 04                INC     A
+0019E4 F0                MOVX    @DPTR,A
+0019E5         ?C0112?SYS:
+  594: 		if (g_variable.button_timer[3] == 6)
+0019E5 904CD2            MOV     DPTR,#g_variable+013H
+0019E8 E0                MOVX    A,@DPTR
+0019E9 6406              XRL     A,#06H
+0019EB 7067              JNZ     ?C0114?SYS
+  595: 		{
+  596: 			//do discoverable
+  597: 			g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
+0019ED 904CE9            MOV     DPTR,#g_variable+02AH
+0019F0 74F0              MOV     A,#0F0H
+0019F2 F0                MOVX    @DPTR,A
+  598: 			g_variable.pairing_g24_timeout = 0;
+0019F3 E4                CLR     A
+0019F4 904CEE            MOV     DPTR,#g_variable+02FH
+0019F7 F0                MOVX    @DPTR,A
+  599: 			YC_key_action_handle(KEY_DISCOVERY);
+0019F8 7F05              MOV     R7,#05H
+0019FA 12108B            LCALL   _YC_key_action_handle
+  600: 			LED_all_shutdown();
+0019FD 1217B7            LCALL   LED_all_shutdown
+  601: 			g_variable.button_reconnect_flag = 0;
+001A00 E4                CLR     A
+001A01 904CCC            MOV     DPTR,#g_variable+0DH
+001A04 F0                MOVX    @DPTR,A
+  602: 			g_variable.release_data = 1;
+001A05 904CEB            MOV     DPTR,#g_variable+02CH
+001A08 04                INC     A
+001A09 F0                MOVX    @DPTR,A
+  603: 			g_variable.temp_device_num = g_variable.last_device_num;
+001A0A 904CC0            MOV     DPTR,#g_variable+01H
+001A0D E0                MOVX    A,@DPTR
+001A0E 904CC4            MOV     DPTR,#g_variable+05H
+001A11 F0                MOVX    @DPTR,A
+  604: 			g_variable.last_device_num = g_variable.current_device_num;
+001A12 904CC3            MOV     DPTR,#g_variable+04H
+001A15 E0                MOVX    A,@DPTR
+001A16 904CC0            MOV     DPTR,#g_variable+01H
+001A19 F0                MOVX    @DPTR,A
+  605: 		}
+  606: 	}
+001A1A 8038              SJMP    ?C0114?SYS
+001A1C         ?C0111?SYS:
+  607: 	else
+  608: 	{
+  609: 		if (g_variable.button_reconnect_flag)
+001A1C 904CCC            MOV     DPTR,#g_variable+0DH
+001A1F E0                MOVX    A,@DPTR
+001A20 602D              JZ      ?C0115?SYS
+  610: 		{
+  611: 			g_variable.button_reconnect_flag = 0;
+001A22 E4                CLR     A
+001A23 F0                MOVX    @DPTR,A
+  612: 
+  613: 			if(g_variable.last_device_num !=g_variable.current_device_num)		//switch device,
+001A24 904CC3            MOV     DPTR,#g_variable+04H
+001A27 E0                MOVX    A,@DPTR
+001A28 FF                MOV     R7,A
+001A29 904CC0            MOV     DPTR,#g_variable+01H
+001A2C E0                MOVX    A,@DPTR
+001A2D 6F                XRL     A,R7
+001A2E 601F              JZ      ?C0115?SYS
+  614: 			{
+  615: 				g_variable.release_data = 1;
+001A30 904CEB            MOV     DPTR,#g_variable+02CH
+001A33 7401              MOV     A,#01H
+001A35 F0                MOVX    @DPTR,A
+  616: 				LED_all_shutdown();
+001A36 1217B7            LCALL   LED_all_shutdown
+  617: 				g_variable.last_device_num = g_variable.current_device_num;
+001A39 904CC3            MOV     DPTR,#g_variable+04H
 001A3C E0                MOVX    A,@DPTR
-001A3D 6406              XRL     A,#06H
-001A3F 7067              JNZ     ?C0114?SYS
-  592: 		{
-  593: 			//do discoverable
-  594: 			g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-001A41 904CE9            MOV     DPTR,#g_variable+02AH
-001A44 74F0              MOV     A,#0F0H
+001A3D 904CC0            MOV     DPTR,#g_variable+01H
+001A40 F0                MOVX    @DPTR,A
+  618: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
+001A41 904CBF            MOV     DPTR,#g_variable
+001A44 7401              MOV     A,#01H
 001A46 F0                MOVX    @DPTR,A
-  595: 			g_variable.pairing_g24_timeout = 0;
-001A47 E4                CLR     A
-001A48 904CEE            MOV     DPTR,#g_variable+02FH
-001A4B F0                MOVX    @DPTR,A
-  596: 			YC_key_action_handle(KEY_DISCOVERY);
-001A4C 7F05              MOV     R7,#05H
-001A4E 12108B            LCALL   _YC_key_action_handle
-  597: 			LED_all_shutdown();
-001A51 121799            LCALL   LED_all_shutdown
-  598: 			g_variable.button_reconnect_flag = 0;
-001A54 E4                CLR     A
-001A55 904CCC            MOV     DPTR,#g_variable+0DH
-001A58 F0                MOVX    @DPTR,A
-  599: 			g_variable.release_data = 1;
-001A59 904CEB            MOV     DPTR,#g_variable+02CH
-001A5C 04                INC     A
-001A5D F0                MOVX    @DPTR,A
-  600: 			g_variable.temp_device_num = g_variable.last_device_num;
-001A5E 904CC0            MOV     DPTR,#g_variable+01H
-001A61 E0                MOVX    A,@DPTR
-001A62 904CC4            MOV     DPTR,#g_variable+05H
-001A65 F0                MOVX    @DPTR,A
-  601: 			g_variable.last_device_num = g_variable.current_device_num;
-001A66 904CC3            MOV     DPTR,#g_variable+04H
-001A69 E0                MOVX    A,@DPTR
-001A6A 904CC0            MOV     DPTR,#g_variable+01H
-001A6D F0                MOVX    @DPTR,A
-  602: 		}
-  603: 	}
-001A6E 8038              SJMP    ?C0114?SYS
-001A70         ?C0111?SYS:
-  604: 	else
-  605: 	{
-  606: 		if (g_variable.button_reconnect_flag)
-001A70 904CCC            MOV     DPTR,#g_variable+0DH
-001A73 E0                MOVX    A,@DPTR
-001A74 602D              JZ      ?C0115?SYS
-  607: 		{
-  608: 			g_variable.button_reconnect_flag = 0;
-001A76 E4                CLR     A
-001A77 F0                MOVX    @DPTR,A
-  609: 
-  610: 			if(g_variable.last_device_num !=g_variable.current_device_num)		//switch device,
-001A78 904CC3            MOV     DPTR,#g_variable+04H
-001A7B E0                MOVX    A,@DPTR
-001A7C FF                MOV     R7,A
-001A7D 904CC0            MOV     DPTR,#g_variable+01H
-001A80 E0                MOVX    A,@DPTR
-001A81 6F                XRL     A,R7
-001A82 601F              JZ      ?C0115?SYS
-  611: 			{
-  612: 				g_variable.release_data = 1;
-001A84 904CEB            MOV     DPTR,#g_variable+02CH
-001A87 7401              MOV     A,#01H
-001A89 F0                MOVX    @DPTR,A
-  613: 				LED_all_shutdown();
-001A8A 121799            LCALL   LED_all_shutdown
-  614: 				g_variable.last_device_num = g_variable.current_device_num;
-001A8D 904CC3            MOV     DPTR,#g_variable+04H
+  619: 				
+  620: 				YC_disconnect_all_link();
+001A47 120F87            LCALL   YC_disconnect_all_link
+  621: 				YC_update_eeprom_data();
+001A4A 12146D            LCALL   YC_update_eeprom_data
+  622: 				System_Reset_Connect();
+001A4D 51E1              ACALL   System_Reset_Connect
+  623: 			}
+  624: 		}
+001A4F         ?C0115?SYS:
+  625: 		g_variable.button_timer[3] = 0;
+001A4F E4                CLR     A
+001A50 904CD2            MOV     DPTR,#g_variable+013H
+001A53 F0                MOVX    @DPTR,A
+  626: 	}
+001A54         ?C0114?SYS:
+  627: 
+  628: 
+  629: 	if (g_variable.button_flag & KEY_FLAG_FN_SYSTEM_MODE_BUTTON)
+001A54 904CCE            MOV     DPTR,#g_variable+0FH
+001A57 E0                MOVX    A,@DPTR
+001A58 20E502            JB      ACC.5,$ + 5H
+001A5B 41DB              AJMP    ?C0117?SYS
+  630: 	{
+  631: 		if (g_variable.button_timer[0] < 250)
+001A5D A3                INC     DPTR
+001A5E E0                MOVX    A,@DPTR
+001A5F C3                CLR     C
+001A60 94FA              SUBB    A,#0FAH
+001A62 5003              JNC     ?C0118?SYS
+  632: 			g_variable.button_timer[0]++;
+001A64 E0                MOVX    A,@DPTR
+001A65 04                INC     A
+001A66 F0                MOVX    @DPTR,A
+001A67         ?C0118?SYS:
+  633: 		if (g_variable.button_timer[0] == 6)
+001A67 904CCF            MOV     DPTR,#g_variable+010H
+001A6A E0                MOVX    A,@DPTR
+001A6B 6406              XRL     A,#06H
+001A6D 7071              JNZ     ?C0130?SYS
+  634: 		{
+  635: 			if(key_value_temp == HID_KEY_I)
+001A6F 904DE8            MOV     DPTR,#key_value_temp
+001A72 E0                MOVX    A,@DPTR
+001A73 B40C08            CJNE    A,#0CH,?C0120?SYS
+  636: 			{
+  637: 				g_variable.system_mode = OSMODE_IOS;
+001A76 904CC1            MOV     DPTR,#g_variable+02H
+001A79 7402              MOV     A,#02H
+001A7B F0                MOVX    @DPTR,A
+  638: 			}
+001A7C 801B              SJMP    ?C0121?SYS
+001A7E         ?C0120?SYS:
+  639: 			else if(key_value_temp == HID_KEY_O)
+001A7E 904DE8            MOV     DPTR,#key_value_temp
+001A81 E0                MOVX    A,@DPTR
+001A82 B41208            CJNE    A,#012H,?C0122?SYS
+  640: 			{
+  641: 				g_variable.system_mode = OSMODE_MAC;
+001A85 904CC1            MOV     DPTR,#g_variable+02H
+001A88 7401              MOV     A,#01H
+001A8A F0                MOVX    @DPTR,A
+  642: 
+  643: 			}
+001A8B 800C              SJMP    ?C0121?SYS
+001A8D         ?C0122?SYS:
+  644: 			else if(key_value_temp == HID_KEY_U)
+001A8D 904DE8            MOV     DPTR,#key_value_temp
 001A90 E0                MOVX    A,@DPTR
-001A91 904CC0            MOV     DPTR,#g_variable+01H
-001A94 F0                MOVX    @DPTR,A
-  615: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
-001A95 904CBF            MOV     DPTR,#g_variable
-001A98 7401              MOV     A,#01H
-001A9A F0                MOVX    @DPTR,A
-  616: 				
-  617: 				YC_disconnect_all_link();
-001A9B 120F87            LCALL   YC_disconnect_all_link
-  618: 				YC_update_eeprom_data();
-001A9E 121442            LCALL   YC_update_eeprom_data
-  619: 				System_Reset_Connect();
-001AA1 7135              ACALL   System_Reset_Connect
-  620: 			}
-  621: 		}
-001AA3         ?C0115?SYS:
-  622: 		g_variable.button_timer[3] = 0;
-001AA3 E4                CLR     A
-001AA4 904CD2            MOV     DPTR,#g_variable+013H
-001AA7 F0                MOVX    @DPTR,A
-  623: 	}
-001AA8         ?C0114?SYS:
-  624: 
-  625: 
-  626: 	if (g_variable.button_flag & KEY_FLAG_FN_SYSTEM_MODE_BUTTON)
-001AA8 904CCE            MOV     DPTR,#g_variable+0FH
-001AAB E0                MOVX    A,@DPTR
-001AAC 20E502            JB      ACC.5,$ + 5H
-001AAF 612F              AJMP    ?C0117?SYS
-  627: 	{
-  628: 		if (g_variable.button_timer[0] < 250)
-001AB1 A3                INC     DPTR
-001AB2 E0                MOVX    A,@DPTR
-001AB3 C3                CLR     C
-001AB4 94FA              SUBB    A,#0FAH
-001AB6 5003              JNC     ?C0118?SYS
-  629: 			g_variable.button_timer[0]++;
-001AB8 E0                MOVX    A,@DPTR
-001AB9 04                INC     A
-001ABA F0                MOVX    @DPTR,A
-001ABB         ?C0118?SYS:
-  630: 		if (g_variable.button_timer[0] == 6)
-001ABB 904CCF            MOV     DPTR,#g_variable+010H
-001ABE E0                MOVX    A,@DPTR
-001ABF 6406              XRL     A,#06H
-001AC1 7071              JNZ     ?C0130?SYS
-  631: 		{
-  632: 			if(key_value_temp == HID_KEY_I)
-001AC3 904DE8            MOV     DPTR,#key_value_temp
-001AC6 E0                MOVX    A,@DPTR
-001AC7 B40C08            CJNE    A,#0CH,?C0120?SYS
-  633: 			{
-  634: 				g_variable.system_mode = OSMODE_IOS;
-001ACA 904CC1            MOV     DPTR,#g_variable+02H
-001ACD 7402              MOV     A,#02H
-001ACF F0                MOVX    @DPTR,A
-  635: 			}
-001AD0 801B              SJMP    ?C0121?SYS
-001AD2         ?C0120?SYS:
-  636: 			else if(key_value_temp == HID_KEY_O)
-001AD2 904DE8            MOV     DPTR,#key_value_temp
-001AD5 E0                MOVX    A,@DPTR
-001AD6 B41208            CJNE    A,#012H,?C0122?SYS
-  637: 			{
-  638: 				g_variable.system_mode = OSMODE_MAC;
-001AD9 904CC1            MOV     DPTR,#g_variable+02H
-001ADC 7401              MOV     A,#01H
-001ADE F0                MOVX    @DPTR,A
-  639: 
-  640: 			}
-001ADF 800C              SJMP    ?C0121?SYS
-001AE1         ?C0122?SYS:
-  641: 			else if(key_value_temp == HID_KEY_U)
-001AE1 904DE8            MOV     DPTR,#key_value_temp
-001AE4 E0                MOVX    A,@DPTR
-001AE5 B41805            CJNE    A,#018H,?C0121?SYS
-  642: 			{
-  643: 				g_variable.system_mode = OSMODE_WINDOWS;
-001AE8 E4                CLR     A
-001AE9 904CC1            MOV     DPTR,#g_variable+02H
-001AEC F0                MOVX    @DPTR,A
-  644: 
-  645: 			}
-001AED         ?C0121?SYS:
-  646: 			g_variable.powerOn_timer = 10;
-001AED 904CE5            MOV     DPTR,#g_variable+026H
-001AF0 740A              MOV     A,#0AH
-001AF2 F0                MOVX    @DPTR,A
-  647: 			if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-001AF3 904CC3            MOV     DPTR,#g_variable+04H
-001AF6 E0                MOVX    A,@DPTR
-001AF7 FF                MOV     R7,A
-001AF8 6003              JZ      ?C0126?SYS
-001AFA B4FE07            CJNE    A,#0FEH,?C0125?SYS
-001AFD         ?C0126?SYS:
-  648: 			{
-  649: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-001AFD 904CBF            MOV     DPTR,#g_variable
-001B00 7402              MOV     A,#02H
-001B02 F0                MOVX    @DPTR,A
-  650: 			}
-001B03 22                RET     
-001B04         ?C0125?SYS:
-  651: 			else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-001B04 EF                MOV     A,R7
-001B05 D3                SETB    C
-001B06 9403              SUBB    A,#03H
-001B08 502A              JNC     ?C0130?SYS
-001B0A EF                MOV     A,R7
-001B0B C3                CLR     C
-001B0C 9401              SUBB    A,#01H
-001B0E 4024              JC      ?C0130?SYS
-  652: 			{
-  653: 				bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-001B10 904CC1            MOV     DPTR,#g_variable+02H
-001B13 E0                MOVX    A,@DPTR
-001B14 FF                MOV     R7,A
-001B15 904CC3            MOV     DPTR,#g_variable+04H
-001B18 E0                MOVX    A,@DPTR
-001B19 75F01F            MOV     B,#01FH
-001B1C A4                MUL     AB
-001B1D 24EC              ADD     A,#LOW bd_key_record_list-02H
-001B1F F582              MOV     DPL,A
-001B21 E4                CLR     A
-001B22 344D              ADDC    A,#HIGH bd_key_record_list-02H
-001B24 F583              MOV     DPH,A
-001B26 EF                MOV     A,R7
-001B27 F0                MOVX    @DPTR,A
-  654: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-001B28 904CBF            MOV     DPTR,#g_variable
-001B2B 7403              MOV     A,#03H
-001B2D F0                MOVX    @DPTR,A
-  655: 			}
-  656: 		}
-  657: 	}
-001B2E 22                RET     
-001B2F         ?C0117?SYS:
-  658: 	else
-  659: 	{
-  660: 		g_variable.button_timer[0] = 0;
-001B2F E4                CLR     A
-001B30 904CCF            MOV     DPTR,#g_variable+010H
-001B33 F0                MOVX    @DPTR,A
-  661: 	}		
-  662: 
-  663: }
-001B34         ?C0130?SYS:
-001B34 22                RET     
+001A91 B41805            CJNE    A,#018H,?C0121?SYS
+  645: 			{
+  646: 				g_variable.system_mode = OSMODE_WINDOWS;
+001A94 E4                CLR     A
+001A95 904CC1            MOV     DPTR,#g_variable+02H
+001A98 F0                MOVX    @DPTR,A
+  647: 
+  648: 			}
+001A99         ?C0121?SYS:
+  649: 			g_variable.powerOn_timer = 10;
+001A99 904CE5            MOV     DPTR,#g_variable+026H
+001A9C 740A              MOV     A,#0AH
+001A9E F0                MOVX    @DPTR,A
+  650: 			if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+001A9F 904CC3            MOV     DPTR,#g_variable+04H
+001AA2 E0                MOVX    A,@DPTR
+001AA3 FF                MOV     R7,A
+001AA4 6003              JZ      ?C0126?SYS
+001AA6 B4FE07            CJNE    A,#0FEH,?C0125?SYS
+001AA9         ?C0126?SYS:
+  651: 			{
+  652: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+001AA9 904CBF            MOV     DPTR,#g_variable
+001AAC 7402              MOV     A,#02H
+001AAE F0                MOVX    @DPTR,A
+  653: 			}
+001AAF 22                RET     
+001AB0         ?C0125?SYS:
+  654: 			else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+001AB0 EF                MOV     A,R7
+001AB1 D3                SETB    C
+001AB2 9403              SUBB    A,#03H
+001AB4 502A              JNC     ?C0130?SYS
+001AB6 EF                MOV     A,R7
+001AB7 C3                CLR     C
+001AB8 9401              SUBB    A,#01H
+001ABA 4024              JC      ?C0130?SYS
+  655: 			{
+  656: 				bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+001ABC 904CC1            MOV     DPTR,#g_variable+02H
+001ABF E0                MOVX    A,@DPTR
+001AC0 FF                MOV     R7,A
+001AC1 904CC3            MOV     DPTR,#g_variable+04H
+001AC4 E0                MOVX    A,@DPTR
+001AC5 75F01F            MOV     B,#01FH
+001AC8 A4                MUL     AB
+001AC9 24EC              ADD     A,#LOW bd_key_record_list-02H
+001ACB F582              MOV     DPL,A
+001ACD E4                CLR     A
+001ACE 344D              ADDC    A,#HIGH bd_key_record_list-02H
+001AD0 F583              MOV     DPH,A
+001AD2 EF                MOV     A,R7
+001AD3 F0                MOVX    @DPTR,A
+  657: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+001AD4 904CBF            MOV     DPTR,#g_variable
+001AD7 7403              MOV     A,#03H
+001AD9 F0                MOVX    @DPTR,A
+  658: 			}
+  659: 		}
+  660: 	}
+001ADA 22                RET     
+001ADB         ?C0117?SYS:
+  661: 	else
+  662: 	{
+  663: 		g_variable.button_timer[0] = 0;
+001ADB E4                CLR     A
+001ADC 904CCF            MOV     DPTR,#g_variable+010H
+001ADF F0                MOVX    @DPTR,A
+  664: 	}		
+  665: 
+  666: }
+001AE0         ?C0130?SYS:
+001AE0 22                RET     
 ----- FUNCTION kb_button_press_timer500ms (END) -------
 
 
@@ -4518,13 +4430,13 @@
    75: {
    76: 	m_reset_reg = 1;
    77: 	while(1);
-001B35 908010            MOV     DPTR,#m_reset_reg
-001B38 7401              MOV     A,#01H
-001B3A F0                MOVX    @DPTR,A
-001B3B         ?C0005?SYS:
+001AE1 908010            MOV     DPTR,#m_reset_reg
+001AE4 7401              MOV     A,#01H
+001AE6 F0                MOVX    @DPTR,A
+001AE7         ?C0005?SYS:
    78: }
-001B3B 80FE              SJMP    ?C0005?SYS
-001B3D 22                RET     
+001AE7 80FE              SJMP    ?C0005?SYS
+001AE9 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -4535,383 +4447,383 @@
    44: #ifdef  ADC_ENABLE
    45: 	byte i;
    46: 	ulong batValue = 0;
-001B3E 904ECB            MOV     DPTR,#batValue
-001B41 120582            LCALL   ?C?LSTKXDATA
-001B44 00                DB      00H
-001B45 00                DB      00H
-001B46 00                DB      00H
-001B47 00                DB      00H
+001AEA 904ECB            MOV     DPTR,#batValue
+001AED 120582            LCALL   ?C?LSTKXDATA
+001AF0 00                DB      00H
+001AF1 00                DB      00H
+001AF2 00                DB      00H
+001AF3 00                DB      00H
    47: 
    48: 	if(!m_adcCurrentValue)
-001B48 904C95            MOV     DPTR,#m_adcCurrentValue
-001B4B E0                MOVX    A,@DPTR
-001B4C 7002              JNZ     ?C0024?ADC
-001B4E A3                INC     DPTR
-001B4F E0                MOVX    A,@DPTR
-001B50         ?C0024?ADC:
-001B50 7002              JNZ     $ + 4H
-001B52 81FB              AJMP    ?C0006?ADC
-001B54         ?C0005?ADC:
+001AF4 904C95            MOV     DPTR,#m_adcCurrentValue
+001AF7 E0                MOVX    A,@DPTR
+001AF8 7002              JNZ     ?C0024?ADC
+001AFA A3                INC     DPTR
+001AFB E0                MOVX    A,@DPTR
+001AFC         ?C0024?ADC:
+001AFC 7002              JNZ     $ + 4H
+001AFE 81A7              AJMP    ?C0006?ADC
+001B00         ?C0005?ADC:
    49: 		return;
    50: 
    51: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
-001B54 904C95            MOV     DPTR,#m_adcCurrentValue
-001B57 E0                MOVX    A,@DPTR
-001B58 FE                MOV     R6,A
-001B59 A3                INC     DPTR
-001B5A E0                MOVX    A,@DPTR
-001B5B FF                MOV     R7,A
-001B5C 904CD4            MOV     DPTR,#g_variable+015H
-001B5F E0                MOVX    A,@DPTR
-001B60 FD                MOV     R5,A
-001B61 04                INC     A
-001B62 F0                MOVX    @DPTR,A
-001B63 ED                MOV     A,R5
-001B64 25E0              ADD     A,ACC
-001B66 24D6              ADD     A,#LOW g_variable+017H
-001B68 F582              MOV     DPL,A
-001B6A E4                CLR     A
-001B6B 344C              ADDC    A,#HIGH g_variable+017H
-001B6D F583              MOV     DPH,A
-001B6F EE                MOV     A,R6
-001B70 F0                MOVX    @DPTR,A
-001B71 A3                INC     DPTR
-001B72 EF                MOV     A,R7
-001B73 F0                MOVX    @DPTR,A
+001B00 904C95            MOV     DPTR,#m_adcCurrentValue
+001B03 E0                MOVX    A,@DPTR
+001B04 FE                MOV     R6,A
+001B05 A3                INC     DPTR
+001B06 E0                MOVX    A,@DPTR
+001B07 FF                MOV     R7,A
+001B08 904CD4            MOV     DPTR,#g_variable+015H
+001B0B E0                MOVX    A,@DPTR
+001B0C FD                MOV     R5,A
+001B0D 04                INC     A
+001B0E F0                MOVX    @DPTR,A
+001B0F ED                MOV     A,R5
+001B10 25E0              ADD     A,ACC
+001B12 24D6              ADD     A,#LOW g_variable+017H
+001B14 F582              MOV     DPL,A
+001B16 E4                CLR     A
+001B17 344C              ADDC    A,#HIGH g_variable+017H
+001B19 F583              MOV     DPH,A
+001B1B EE                MOV     A,R6
+001B1C F0                MOVX    @DPTR,A
+001B1D A3                INC     DPTR
+001B1E EF                MOV     A,R7
+001B1F F0                MOVX    @DPTR,A
    52: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
-001B74 904CD4            MOV     DPTR,#g_variable+015H
-001B77 E0                MOVX    A,@DPTR
-001B78 C3                CLR     C
-001B79 9404              SUBB    A,#04H
-001B7B 4002              JC      ?C0007?ADC
+001B20 904CD4            MOV     DPTR,#g_variable+015H
+001B23 E0                MOVX    A,@DPTR
+001B24 C3                CLR     C
+001B25 9404              SUBB    A,#04H
+001B27 4002              JC      ?C0007?ADC
    53: 		g_variable.battery_value_index = 0;
-001B7D E4                CLR     A
-001B7E F0                MOVX    @DPTR,A
-001B7F         ?C0007?ADC:
+001B29 E4                CLR     A
+001B2A F0                MOVX    @DPTR,A
+001B2B         ?C0007?ADC:
    54: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-001B7F E4                CLR     A
-001B80 904ECA            MOV     DPTR,#i
-001B83 F0                MOVX    @DPTR,A
-001B84         ?C0008?ADC:
+001B2B E4                CLR     A
+001B2C 904ECA            MOV     DPTR,#i
+001B2F F0                MOVX    @DPTR,A
+001B30         ?C0008?ADC:
    55: 	{
    56: 		batValue += g_variable.battery_value[i];
-001B84 904ECB            MOV     DPTR,#batValue
-001B87 E0                MOVX    A,@DPTR
-001B88 F8                MOV     R0,A
-001B89 A3                INC     DPTR
-001B8A E0                MOVX    A,@DPTR
-001B8B F9                MOV     R1,A
-001B8C A3                INC     DPTR
-001B8D E0                MOVX    A,@DPTR
-001B8E FA                MOV     R2,A
-001B8F A3                INC     DPTR
-001B90 E0                MOVX    A,@DPTR
-001B91 FB                MOV     R3,A
-001B92 904ECA            MOV     DPTR,#i
-001B95 E0                MOVX    A,@DPTR
-001B96 25E0              ADD     A,ACC
-001B98 24D6              ADD     A,#LOW g_variable+017H
-001B9A F582              MOV     DPL,A
-001B9C E4                CLR     A
-001B9D 344C              ADDC    A,#HIGH g_variable+017H
-001B9F F583              MOV     DPH,A
-001BA1 E0                MOVX    A,@DPTR
-001BA2 FE                MOV     R6,A
-001BA3 A3                INC     DPTR
-001BA4 E0                MOVX    A,@DPTR
-001BA5 FF                MOV     R7,A
-001BA6 E4                CLR     A
-001BA7 FC                MOV     R4,A
-001BA8 FD                MOV     R5,A
-001BA9 EB                MOV     A,R3
-001BAA 2F                ADD     A,R7
-001BAB FF                MOV     R7,A
-001BAC EA                MOV     A,R2
-001BAD 3E                ADDC    A,R6
-001BAE FE                MOV     R6,A
-001BAF ED                MOV     A,R5
-001BB0 39                ADDC    A,R1
-001BB1 FD                MOV     R5,A
-001BB2 EC                MOV     A,R4
-001BB3 38                ADDC    A,R0
-001BB4 FC                MOV     R4,A
-001BB5 904ECB            MOV     DPTR,#batValue
-001BB8 120576            LCALL   ?C?LSTXDATA
+001B30 904ECB            MOV     DPTR,#batValue
+001B33 E0                MOVX    A,@DPTR
+001B34 F8                MOV     R0,A
+001B35 A3                INC     DPTR
+001B36 E0                MOVX    A,@DPTR
+001B37 F9                MOV     R1,A
+001B38 A3                INC     DPTR
+001B39 E0                MOVX    A,@DPTR
+001B3A FA                MOV     R2,A
+001B3B A3                INC     DPTR
+001B3C E0                MOVX    A,@DPTR
+001B3D FB                MOV     R3,A
+001B3E 904ECA            MOV     DPTR,#i
+001B41 E0                MOVX    A,@DPTR
+001B42 25E0              ADD     A,ACC
+001B44 24D6              ADD     A,#LOW g_variable+017H
+001B46 F582              MOV     DPL,A
+001B48 E4                CLR     A
+001B49 344C              ADDC    A,#HIGH g_variable+017H
+001B4B F583              MOV     DPH,A
+001B4D E0                MOVX    A,@DPTR
+001B4E FE                MOV     R6,A
+001B4F A3                INC     DPTR
+001B50 E0                MOVX    A,@DPTR
+001B51 FF                MOV     R7,A
+001B52 E4                CLR     A
+001B53 FC                MOV     R4,A
+001B54 FD                MOV     R5,A
+001B55 EB                MOV     A,R3
+001B56 2F                ADD     A,R7
+001B57 FF                MOV     R7,A
+001B58 EA                MOV     A,R2
+001B59 3E                ADDC    A,R6
+001B5A FE                MOV     R6,A
+001B5B ED                MOV     A,R5
+001B5C 39                ADDC    A,R1
+001B5D FD                MOV     R5,A
+001B5E EC                MOV     A,R4
+001B5F 38                ADDC    A,R0
+001B60 FC                MOV     R4,A
+001B61 904ECB            MOV     DPTR,#batValue
+001B64 120576            LCALL   ?C?LSTXDATA
    57: 	}
-001BBB 904ECA            MOV     DPTR,#i
-001BBE E0                MOVX    A,@DPTR
-001BBF 04                INC     A
-001BC0 F0                MOVX    @DPTR,A
-001BC1 E0                MOVX    A,@DPTR
-001BC2 B404BF            CJNE    A,#04H,?C0008?ADC
-001BC5         ?C0009?ADC:
+001B67 904ECA            MOV     DPTR,#i
+001B6A E0                MOVX    A,@DPTR
+001B6B 04                INC     A
+001B6C F0                MOVX    @DPTR,A
+001B6D E0                MOVX    A,@DPTR
+001B6E B404BF            CJNE    A,#04H,?C0008?ADC
+001B71         ?C0009?ADC:
    58: 	batValue = batValue/BAT_ARRAY_LEN;
-001BC5 904ECB            MOV     DPTR,#batValue
-001BC8 E0                MOVX    A,@DPTR
-001BC9 FC                MOV     R4,A
-001BCA A3                INC     DPTR
-001BCB E0                MOVX    A,@DPTR
-001BCC FD                MOV     R5,A
-001BCD A3                INC     DPTR
-001BCE E0                MOVX    A,@DPTR
-001BCF FE                MOV     R6,A
-001BD0 A3                INC     DPTR
-001BD1 E0                MOVX    A,@DPTR
-001BD2 FF                MOV     R7,A
-001BD3 E4                CLR     A
-001BD4 7B04              MOV     R3,#04H
-001BD6 FA                MOV     R2,A
-001BD7 F9                MOV     R1,A
-001BD8 F8                MOV     R0,A
-001BD9 1204C5            LCALL   ?C?ULDIV
-001BDC 904ECB            MOV     DPTR,#batValue
-001BDF 120576            LCALL   ?C?LSTXDATA
+001B71 904ECB            MOV     DPTR,#batValue
+001B74 E0                MOVX    A,@DPTR
+001B75 FC                MOV     R4,A
+001B76 A3                INC     DPTR
+001B77 E0                MOVX    A,@DPTR
+001B78 FD                MOV     R5,A
+001B79 A3                INC     DPTR
+001B7A E0                MOVX    A,@DPTR
+001B7B FE                MOV     R6,A
+001B7C A3                INC     DPTR
+001B7D E0                MOVX    A,@DPTR
+001B7E FF                MOV     R7,A
+001B7F E4                CLR     A
+001B80 7B04              MOV     R3,#04H
+001B82 FA                MOV     R2,A
+001B83 F9                MOV     R1,A
+001B84 F8                MOV     R0,A
+001B85 1204C5            LCALL   ?C?ULDIV
+001B88 904ECB            MOV     DPTR,#batValue
+001B8B 120576            LCALL   ?C?LSTXDATA
    59: 
    60: 	if(batValue <= g_variable.battery_level_shutdown)
-001BE2 904CE0            MOV     DPTR,#g_variable+021H
-001BE5 E0                MOVX    A,@DPTR
-001BE6 FE                MOV     R6,A
-001BE7 A3                INC     DPTR
-001BE8 E0                MOVX    A,@DPTR
-001BE9 FF                MOV     R7,A
-001BEA E4                CLR     A
-001BEB FC                MOV     R4,A
-001BEC FD                MOV     R5,A
-001BED 904ECB            MOV     DPTR,#batValue
-001BF0 E0                MOVX    A,@DPTR
-001BF1 F8                MOV     R0,A
-001BF2 A3                INC     DPTR
-001BF3 E0                MOVX    A,@DPTR
-001BF4 F9                MOV     R1,A
-001BF5 A3                INC     DPTR
-001BF6 E0                MOVX    A,@DPTR
-001BF7 FA                MOV     R2,A
-001BF8 A3                INC     DPTR
-001BF9 E0                MOVX    A,@DPTR
-001BFA FB                MOV     R3,A
-001BFB D3                SETB    C
-001BFC 120565            LCALL   ?C?ULCMP
-001BFF 5007              JNC     ?C0011?ADC
+001B8E 904CE0            MOV     DPTR,#g_variable+021H
+001B91 E0                MOVX    A,@DPTR
+001B92 FE                MOV     R6,A
+001B93 A3                INC     DPTR
+001B94 E0                MOVX    A,@DPTR
+001B95 FF                MOV     R7,A
+001B96 E4                CLR     A
+001B97 FC                MOV     R4,A
+001B98 FD                MOV     R5,A
+001B99 904ECB            MOV     DPTR,#batValue
+001B9C E0                MOVX    A,@DPTR
+001B9D F8                MOV     R0,A
+001B9E A3                INC     DPTR
+001B9F E0                MOVX    A,@DPTR
+001BA0 F9                MOV     R1,A
+001BA1 A3                INC     DPTR
+001BA2 E0                MOVX    A,@DPTR
+001BA3 FA                MOV     R2,A
+001BA4 A3                INC     DPTR
+001BA5 E0                MOVX    A,@DPTR
+001BA6 FB                MOV     R3,A
+001BA7 D3                SETB    C
+001BA8 120565            LCALL   ?C?ULCMP
+001BAB 5007              JNC     ?C0011?ADC
    61: 		g_variable.battery_level_percentage = 0;
-001C01 E4                CLR     A
-001C02 904CF9            MOV     DPTR,#g_variable+03AH
-001C05 F0                MOVX    @DPTR,A
-001C06 818A              AJMP    ?C0012?ADC
-001C08         ?C0011?ADC:
+001BAD E4                CLR     A
+001BAE 904CF9            MOV     DPTR,#g_variable+03AH
+001BB1 F0                MOVX    @DPTR,A
+001BB2 8136              AJMP    ?C0012?ADC
+001BB4         ?C0011?ADC:
    62: 	else	if(batValue >= g_variable.battery_level_full)
-001C08 904CFA            MOV     DPTR,#g_variable+03BH
-001C0B E0                MOVX    A,@DPTR
-001C0C FE                MOV     R6,A
-001C0D A3                INC     DPTR
-001C0E E0                MOVX    A,@DPTR
-001C0F FF                MOV     R7,A
-001C10 E4                CLR     A
-001C11 FC                MOV     R4,A
-001C12 FD                MOV     R5,A
-001C13 904ECB            MOV     DPTR,#batValue
-001C16 E0                MOVX    A,@DPTR
-001C17 F8                MOV     R0,A
-001C18 A3                INC     DPTR
-001C19 E0                MOVX    A,@DPTR
-001C1A F9                MOV     R1,A
-001C1B A3                INC     DPTR
-001C1C E0                MOVX    A,@DPTR
-001C1D FA                MOV     R2,A
-001C1E A3                INC     DPTR
-001C1F E0                MOVX    A,@DPTR
-001C20 FB                MOV     R3,A
-001C21 C3                CLR     C
-001C22 120565            LCALL   ?C?ULCMP
-001C25 4008              JC      ?C0013?ADC
+001BB4 904CFA            MOV     DPTR,#g_variable+03BH
+001BB7 E0                MOVX    A,@DPTR
+001BB8 FE                MOV     R6,A
+001BB9 A3                INC     DPTR
+001BBA E0                MOVX    A,@DPTR
+001BBB FF                MOV     R7,A
+001BBC E4                CLR     A
+001BBD FC                MOV     R4,A
+001BBE FD                MOV     R5,A
+001BBF 904ECB            MOV     DPTR,#batValue
+001BC2 E0                MOVX    A,@DPTR
+001BC3 F8                MOV     R0,A
+001BC4 A3                INC     DPTR
+001BC5 E0                MOVX    A,@DPTR
+001BC6 F9                MOV     R1,A
+001BC7 A3                INC     DPTR
+001BC8 E0                MOVX    A,@DPTR
+001BC9 FA                MOV     R2,A
+001BCA A3                INC     DPTR
+001BCB E0                MOVX    A,@DPTR
+001BCC FB                MOV     R3,A
+001BCD C3                CLR     C
+001BCE 120565            LCALL   ?C?ULCMP
+001BD1 4008              JC      ?C0013?ADC
    63: 		g_variable.battery_level_percentage = 100;
-001C27 904CF9            MOV     DPTR,#g_variable+03AH
-001C2A 7464              MOV     A,#064H
-001C2C F0                MOVX    @DPTR,A
-001C2D 805B              SJMP    ?C0012?ADC
-001C2F         ?C0013?ADC:
+001BD3 904CF9            MOV     DPTR,#g_variable+03AH
+001BD6 7464              MOV     A,#064H
+001BD8 F0                MOVX    @DPTR,A
+001BD9 805B              SJMP    ?C0012?ADC
+001BDB         ?C0013?ADC:
    64: 	else	
    65: 		g_variable.battery_level_percentage = (byte)(((batValue - g_variable.battery_level_shutdown)*100)/(g_variable.b
 >> attery_level_full -g_variable.battery_level_shutdown) );
-001C2F 904CE0            MOV     DPTR,#g_variable+021H
-001C32 E0                MOVX    A,@DPTR
-001C33 FE                MOV     R6,A
-001C34 A3                INC     DPTR
-001C35 E0                MOVX    A,@DPTR
-001C36 FF                MOV     R7,A
-001C37 FB                MOV     R3,A
-001C38 AA06              MOV     R2,AR6
-001C3A E4                CLR     A
-001C3B 904ECB            MOV     DPTR,#batValue
-001C3E E0                MOVX    A,@DPTR
-001C3F FC                MOV     R4,A
-001C40 A3                INC     DPTR
-001C41 E0                MOVX    A,@DPTR
-001C42 FD                MOV     R5,A
-001C43 A3                INC     DPTR
-001C44 E0                MOVX    A,@DPTR
-001C45 FE                MOV     R6,A
-001C46 A3                INC     DPTR
-001C47 E0                MOVX    A,@DPTR
-001C48 C3                CLR     C
-001C49 9B                SUBB    A,R3
-001C4A FF                MOV     R7,A
-001C4B EE                MOV     A,R6
-001C4C 9A                SUBB    A,R2
-001C4D FE                MOV     R6,A
-001C4E ED                MOV     A,R5
-001C4F 9400              SUBB    A,#00H
-001C51 FD                MOV     R5,A
-001C52 EC                MOV     A,R4
-001C53 9400              SUBB    A,#00H
-001C55 FC                MOV     R4,A
-001C56 E4                CLR     A
-001C57 7B64              MOV     R3,#064H
-001C59 FA                MOV     R2,A
-001C5A F9                MOV     R1,A
-001C5B F8                MOV     R0,A
-001C5C 12043A            LCALL   ?C?LMUL
-001C5F C006              PUSH    AR6
-001C61 C007              PUSH    AR7
-001C63 904CE0            MOV     DPTR,#g_variable+021H
-001C66 E0                MOVX    A,@DPTR
-001C67 FE                MOV     R6,A
-001C68 A3                INC     DPTR
-001C69 E0                MOVX    A,@DPTR
-001C6A FF                MOV     R7,A
-001C6B C3                CLR     C
-001C6C 904CFB            MOV     DPTR,#g_variable+03CH
-001C6F E0                MOVX    A,@DPTR
-001C70 9F                SUBB    A,R7
-001C71 FF                MOV     R7,A
-001C72 904CFA            MOV     DPTR,#g_variable+03BH
-001C75 E0                MOVX    A,@DPTR
-001C76 9E                SUBB    A,R6
-001C77 FE                MOV     R6,A
-001C78 AB07              MOV     R3,AR7
-001C7A FA                MOV     R2,A
-001C7B E4                CLR     A
-001C7C F9                MOV     R1,A
-001C7D F8                MOV     R0,A
-001C7E D007              POP     AR7
-001C80 D006              POP     AR6
-001C82 1204C5            LCALL   ?C?ULDIV
-001C85 904CF9            MOV     DPTR,#g_variable+03AH
-001C88 EF                MOV     A,R7
-001C89 F0                MOVX    @DPTR,A
-001C8A         ?C0012?ADC:
+001BDB 904CE0            MOV     DPTR,#g_variable+021H
+001BDE E0                MOVX    A,@DPTR
+001BDF FE                MOV     R6,A
+001BE0 A3                INC     DPTR
+001BE1 E0                MOVX    A,@DPTR
+001BE2 FF                MOV     R7,A
+001BE3 FB                MOV     R3,A
+001BE4 AA06              MOV     R2,AR6
+001BE6 E4                CLR     A
+001BE7 904ECB            MOV     DPTR,#batValue
+001BEA E0                MOVX    A,@DPTR
+001BEB FC                MOV     R4,A
+001BEC A3                INC     DPTR
+001BED E0                MOVX    A,@DPTR
+001BEE FD                MOV     R5,A
+001BEF A3                INC     DPTR
+001BF0 E0                MOVX    A,@DPTR
+001BF1 FE                MOV     R6,A
+001BF2 A3                INC     DPTR
+001BF3 E0                MOVX    A,@DPTR
+001BF4 C3                CLR     C
+001BF5 9B                SUBB    A,R3
+001BF6 FF                MOV     R7,A
+001BF7 EE                MOV     A,R6
+001BF8 9A                SUBB    A,R2
+001BF9 FE                MOV     R6,A
+001BFA ED                MOV     A,R5
+001BFB 9400              SUBB    A,#00H
+001BFD FD                MOV     R5,A
+001BFE EC                MOV     A,R4
+001BFF 9400              SUBB    A,#00H
+001C01 FC                MOV     R4,A
+001C02 E4                CLR     A
+001C03 7B64              MOV     R3,#064H
+001C05 FA                MOV     R2,A
+001C06 F9                MOV     R1,A
+001C07 F8                MOV     R0,A
+001C08 12043A            LCALL   ?C?LMUL
+001C0B C006              PUSH    AR6
+001C0D C007              PUSH    AR7
+001C0F 904CE0            MOV     DPTR,#g_variable+021H
+001C12 E0                MOVX    A,@DPTR
+001C13 FE                MOV     R6,A
+001C14 A3                INC     DPTR
+001C15 E0                MOVX    A,@DPTR
+001C16 FF                MOV     R7,A
+001C17 C3                CLR     C
+001C18 904CFB            MOV     DPTR,#g_variable+03CH
+001C1B E0                MOVX    A,@DPTR
+001C1C 9F                SUBB    A,R7
+001C1D FF                MOV     R7,A
+001C1E 904CFA            MOV     DPTR,#g_variable+03BH
+001C21 E0                MOVX    A,@DPTR
+001C22 9E                SUBB    A,R6
+001C23 FE                MOV     R6,A
+001C24 AB07              MOV     R3,AR7
+001C26 FA                MOV     R2,A
+001C27 E4                CLR     A
+001C28 F9                MOV     R1,A
+001C29 F8                MOV     R0,A
+001C2A D007              POP     AR7
+001C2C D006              POP     AR6
+001C2E 1204C5            LCALL   ?C?ULDIV
+001C31 904CF9            MOV     DPTR,#g_variable+03AH
+001C34 EF                MOV     A,R7
+001C35 F0                MOVX    @DPTR,A
+001C36         ?C0012?ADC:
    66: 	
    67: 	if(g_variable.battery_value[0] < g_variable.battery_level_shutdown)
-001C8A 904CE0            MOV     DPTR,#g_variable+021H
-001C8D E0                MOVX    A,@DPTR
-001C8E FE                MOV     R6,A
-001C8F A3                INC     DPTR
-001C90 E0                MOVX    A,@DPTR
-001C91 FF                MOV     R7,A
-001C92 C3                CLR     C
-001C93 904CD7            MOV     DPTR,#g_variable+018H
-001C96 E0                MOVX    A,@DPTR
-001C97 9F                SUBB    A,R7
-001C98 904CD6            MOV     DPTR,#g_variable+017H
-001C9B E0                MOVX    A,@DPTR
-001C9C 9E                SUBB    A,R6
-001C9D 5007              JNC     ?C0015?ADC
+001C36 904CE0            MOV     DPTR,#g_variable+021H
+001C39 E0                MOVX    A,@DPTR
+001C3A FE                MOV     R6,A
+001C3B A3                INC     DPTR
+001C3C E0                MOVX    A,@DPTR
+001C3D FF                MOV     R7,A
+001C3E C3                CLR     C
+001C3F 904CD7            MOV     DPTR,#g_variable+018H
+001C42 E0                MOVX    A,@DPTR
+001C43 9F                SUBB    A,R7
+001C44 904CD6            MOV     DPTR,#g_variable+017H
+001C47 E0                MOVX    A,@DPTR
+001C48 9E                SUBB    A,R6
+001C49 5007              JNC     ?C0015?ADC
    68: 	{
    69: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
-001C9F 904CD5            MOV     DPTR,#g_variable+016H
-001CA2 7402              MOV     A,#02H
-001CA4 F0                MOVX    @DPTR,A
+001C4B 904CD5            MOV     DPTR,#g_variable+016H
+001C4E 7402              MOV     A,#02H
+001C50 F0                MOVX    @DPTR,A
    70: 	}
-001CA5 22                RET     
-001CA6         ?C0015?ADC:
+001C51 22                RET     
+001C52         ?C0015?ADC:
    71: 	else
    72: 	{
    73: 		if (batValue < g_variable.battery_level_low)
-001CA6 904CDE            MOV     DPTR,#g_variable+01FH
-001CA9 E0                MOVX    A,@DPTR
-001CAA FE                MOV     R6,A
-001CAB A3                INC     DPTR
-001CAC E0                MOVX    A,@DPTR
-001CAD FF                MOV     R7,A
-001CAE E4                CLR     A
-001CAF FC                MOV     R4,A
-001CB0 FD                MOV     R5,A
-001CB1 904ECB            MOV     DPTR,#batValue
-001CB4 E0                MOVX    A,@DPTR
-001CB5 F8                MOV     R0,A
-001CB6 A3                INC     DPTR
-001CB7 E0                MOVX    A,@DPTR
-001CB8 F9                MOV     R1,A
-001CB9 A3                INC     DPTR
-001CBA E0                MOVX    A,@DPTR
-001CBB FA                MOV     R2,A
-001CBC A3                INC     DPTR
-001CBD E0                MOVX    A,@DPTR
-001CBE FB                MOV     R3,A
-001CBF C3                CLR     C
-001CC0 120565            LCALL   ?C?ULCMP
-001CC3 501C              JNC     ?C0017?ADC
+001C52 904CDE            MOV     DPTR,#g_variable+01FH
+001C55 E0                MOVX    A,@DPTR
+001C56 FE                MOV     R6,A
+001C57 A3                INC     DPTR
+001C58 E0                MOVX    A,@DPTR
+001C59 FF                MOV     R7,A
+001C5A E4                CLR     A
+001C5B FC                MOV     R4,A
+001C5C FD                MOV     R5,A
+001C5D 904ECB            MOV     DPTR,#batValue
+001C60 E0                MOVX    A,@DPTR
+001C61 F8                MOV     R0,A
+001C62 A3                INC     DPTR
+001C63 E0                MOVX    A,@DPTR
+001C64 F9                MOV     R1,A
+001C65 A3                INC     DPTR
+001C66 E0                MOVX    A,@DPTR
+001C67 FA                MOV     R2,A
+001C68 A3                INC     DPTR
+001C69 E0                MOVX    A,@DPTR
+001C6A FB                MOV     R3,A
+001C6B C3                CLR     C
+001C6C 120565            LCALL   ?C?ULCMP
+001C6F 501C              JNC     ?C0017?ADC
    74: 		{
    75: 			g_variable.battery_status = BAT_STATUS_LOW;
-001CC5 904CD5            MOV     DPTR,#g_variable+016H
-001CC8 7401              MOV     A,#01H
-001CCA F0                MOVX    @DPTR,A
+001C71 904CD5            MOV     DPTR,#g_variable+016H
+001C74 7401              MOV     A,#01H
+001C76 F0                MOVX    @DPTR,A
    76: 			if(!g_variable.g24_long_sleep_flag)
-001CCB 904CFC            MOV     DPTR,#g_variable+03DH
-001CCE E0                MOVX    A,@DPTR
-001CCF 702A              JNZ     ?C0006?ADC
+001C77 904CFC            MOV     DPTR,#g_variable+03DH
+001C7A E0                MOVX    A,@DPTR
+001C7B 702A              JNZ     ?C0006?ADC
    77: 			{
    78: 			m_24g_enter_hibernate[0]	= 0x00;
-001CD1 904D40            MOV     DPTR,#m_24g_enter_hibernate
-001CD4 F0                MOVX    @DPTR,A
+001C7D 904D40            MOV     DPTR,#m_24g_enter_hibernate
+001C80 F0                MOVX    @DPTR,A
    79: 			m_24g_enter_hibernate[1]	= 0x48;
-001CD5 A3                INC     DPTR
-001CD6 7448              MOV     A,#048H
-001CD8 F0                MOVX    @DPTR,A
+001C81 A3                INC     DPTR
+001C82 7448              MOV     A,#048H
+001C84 F0                MOVX    @DPTR,A
    80: 			m_24g_enter_hibernate[2]	= 0x12;		// 100ms
-001CD9 A3                INC     DPTR
-001CDA 7412              MOV     A,#012H
-001CDC F0                MOVX    @DPTR,A
+001C85 A3                INC     DPTR
+001C86 7412              MOV     A,#012H
+001C88 F0                MOVX    @DPTR,A
    81: 			m_24g_enter_hibernate[3]	= 0x00;
-001CDD E4                CLR     A
-001CDE A3                INC     DPTR
-001CDF F0                MOVX    @DPTR,A
+001C89 E4                CLR     A
+001C8A A3                INC     DPTR
+001C8B F0                MOVX    @DPTR,A
    82: 			}
    83: 		}
-001CE0 22                RET     
-001CE1         ?C0017?ADC:
+001C8C 22                RET     
+001C8D         ?C0017?ADC:
    84: 		else
    85: 		{
    86: 			g_variable.battery_status = BAT_STATUS_NONE;
-001CE1 E4                CLR     A
-001CE2 904CD5            MOV     DPTR,#g_variable+016H
-001CE5 F0                MOVX    @DPTR,A
+001C8D E4                CLR     A
+001C8E 904CD5            MOV     DPTR,#g_variable+016H
+001C91 F0                MOVX    @DPTR,A
    87: 			if(!g_variable.g24_long_sleep_flag)
-001CE6 904CFC            MOV     DPTR,#g_variable+03DH
-001CE9 E0                MOVX    A,@DPTR
-001CEA 700F              JNZ     ?C0006?ADC
+001C92 904CFC            MOV     DPTR,#g_variable+03DH
+001C95 E0                MOVX    A,@DPTR
+001C96 700F              JNZ     ?C0006?ADC
    88: 			{
    89: 			m_24g_enter_hibernate[0]	= 0x00;
-001CEC 904D40            MOV     DPTR,#m_24g_enter_hibernate
-001CEF F0                MOVX    @DPTR,A
+001C98 904D40            MOV     DPTR,#m_24g_enter_hibernate
+001C9B F0                MOVX    @DPTR,A
    90: 			m_24g_enter_hibernate[1]	= 0x48;
-001CF0 A3                INC     DPTR
-001CF1 7448              MOV     A,#048H
-001CF3 F0                MOVX    @DPTR,A
+001C9C A3                INC     DPTR
+001C9D 7448              MOV     A,#048H
+001C9F F0                MOVX    @DPTR,A
    91: 			m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
-001CF4 A3                INC     DPTR
-001CF5 745D              MOV     A,#05DH
-001CF7 F0                MOVX    @DPTR,A
+001CA0 A3                INC     DPTR
+001CA1 745D              MOV     A,#05DH
+001CA3 F0                MOVX    @DPTR,A
    92: 			m_24g_enter_hibernate[3]	= 0x00;
-001CF8 E4                CLR     A
-001CF9 A3                INC     DPTR
-001CFA F0                MOVX    @DPTR,A
+001CA4 E4                CLR     A
+001CA5 A3                INC     DPTR
+001CA6 F0                MOVX    @DPTR,A
    93: 			}
    94: 		}
    95: 	}
    96: #endif	
    97: }
-001CFB         ?C0006?ADC:
-001CFB 22                RET     
+001CA7         ?C0006?ADC:
+001CA7 22                RET     
 ----- FUNCTION YC_adc_check (END) -------
 
 
@@ -4919,4289 +4831,4345 @@
  FILE: 'sys.c'
   123: static void kb_cb_event(byte evt)
   124: {
-001CFC 904F07            MOV     DPTR,#evt
-001CFF EF                MOV     A,R7
-001D00 F0                MOVX    @DPTR,A
+001CA8 904F07            MOV     DPTR,#evt
+001CAB EF                MOV     A,R7
+001CAC F0                MOVX    @DPTR,A
   125: 	switch (evt) 
   126: 	{
-001D01 1205B3            LCALL   ?C?CCASE
-001D04 1E8B              DW      ?C0034?SYS
-001D06 14                DB      014H
-001D07 1F5E              DW      ?C0041?SYS
-001D09 15                DB      015H
-001D0A 1DA3              DW      ?C0020?SYS
-001D0C 27                DB      027H
-001D0D 1F25              DW      ?C0039?SYS
-001D0F 29                DB      029H
-001D10 1D32              DW      ?C0015?SYS
-001D12 2F                DB      02FH
-001D13 1D98              DW      ?C0018?SYS
-001D15 30                DB      030H
-001D16 1DDA              DW      ?C0024?SYS
-001D18 31                DB      031H
-001D19 1E4C              DW      ?C0030?SYS
-001D1B 32                DB      032H
-001D1C 1D32              DW      ?C0015?SYS
-001D1E 33                DB      033H
-001D1F 1EFF              DW      ?C0038?SYS
-001D21 34                DB      034H
-001D22 1F3F              DW      ?C0040?SYS
-001D24 35                DB      035H
-001D25 1DD2              DW      ?C0022?SYS
-001D27 37                DB      037H
-001D28 1DA3              DW      ?C0020?SYS
-001D2A 39                DB      039H
-001D2B 1DDA              DW      ?C0024?SYS
-001D2D 3C                DB      03CH
-001D2E 0000              DW      00H
-001D30 1FA5              DW      ?C0045?SYS
+001CAD 1205B3            LCALL   ?C?CCASE
+001CB0 1E54              DW      ?C0034?SYS
+001CB2 14                DB      014H
+001CB3 1F27              DW      ?C0041?SYS
+001CB5 15                DB      015H
+001CB6 1D4F              DW      ?C0020?SYS
+001CB8 27                DB      027H
+001CB9 1EEE              DW      ?C0039?SYS
+001CBB 29                DB      029H
+001CBC 1CDE              DW      ?C0015?SYS
+001CBE 2F                DB      02FH
+001CBF 1D44              DW      ?C0018?SYS
+001CC1 30                DB      030H
+001CC2 1DA3              DW      ?C0024?SYS
+001CC4 31                DB      031H
+001CC5 1E15              DW      ?C0030?SYS
+001CC7 32                DB      032H
+001CC8 1CDE              DW      ?C0015?SYS
+001CCA 33                DB      033H
+001CCB 1EC8              DW      ?C0038?SYS
+001CCD 34                DB      034H
+001CCE 1F08              DW      ?C0040?SYS
+001CD0 35                DB      035H
+001CD1 1D9B              DW      ?C0022?SYS
+001CD3 37                DB      037H
+001CD4 1D4F              DW      ?C0020?SYS
+001CD6 39                DB      039H
+001CD7 1DA3              DW      ?C0024?SYS
+001CD9 3C                DB      03CH
+001CDA 0000              DW      00H
+001CDC 1F6E              DW      ?C0045?SYS
   127: 	case IPC_EVT_HIBERNATE_WAKE:
   128: 	case IPC_EVT_RESET:
   129: 		System_Hardware_init();
-001D32         ?C0015?SYS:
+001CDE         ?C0015?SYS:
   130: 		System_Software_init();
-001D32 1217E2            LCALL   System_Hardware_init
+001CDE 1217EF            LCALL   System_Hardware_init
   131: 		IIC_Read(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
-001D35 123155            LCALL   System_Software_init
+001CE1 123151            LCALL   System_Software_init
   132: 		if(g_variable.last_device_num > 3)
-001D38 7B01              MOV     R3,#01H
-001D3A 7A4C              MOV     R2,#HIGH g_variable+01H
-001D3C 79C0              MOV     R1,#LOW g_variable+01H
-001D3E 7D01              MOV     R5,#01H
-001D40 7C00              MOV     R4,#00H
-001D42 7FBD              MOV     R7,#0BDH
-001D44 7E7F              MOV     R6,#07FH
-001D46 12165B            LCALL   _IIC_Read
+001CE4 7B01              MOV     R3,#01H
+001CE6 7A4C              MOV     R2,#HIGH g_variable+01H
+001CE8 79C0              MOV     R1,#LOW g_variable+01H
+001CEA 7D01              MOV     R5,#01H
+001CEC 7C00              MOV     R4,#00H
+001CEE 7FBD              MOV     R7,#0BDH
+001CF0 7E7F              MOV     R6,#07FH
+001CF2 121678            LCALL   _IIC_Read
   133: 			g_variable.last_device_num = 0;
-001D49 904CC0            MOV     DPTR,#g_variable+01H
-001D4C E0                MOVX    A,@DPTR
-001D4D D3                SETB    C
-001D4E 9403              SUBB    A,#03H
-001D50 4002              JC      ?C0016?SYS
+001CF5 904CC0            MOV     DPTR,#g_variable+01H
+001CF8 E0                MOVX    A,@DPTR
+001CF9 D3                SETB    C
+001CFA 9403              SUBB    A,#03H
+001CFC 4002              JC      ?C0016?SYS
   134: 		g_variable.current_device_num = g_variable.last_device_num;
-001D52 E4                CLR     A
-001D53 F0                MOVX    @DPTR,A
-001D54         ?C0016?SYS:
+001CFE E4                CLR     A
+001CFF F0                MOVX    @DPTR,A
+001D00         ?C0016?SYS:
   135: 		LED_device_poweron();
-001D54 904CC0            MOV     DPTR,#g_variable+01H
-001D57 E0                MOVX    A,@DPTR
-001D58 904CC3            MOV     DPTR,#g_variable+04H
-001D5B F0                MOVX    @DPTR,A
+001D00 904CC0            MOV     DPTR,#g_variable+01H
+001D03 E0                MOVX    A,@DPTR
+001D04 904CC3            MOV     DPTR,#g_variable+04H
+001D07 F0                MOVX    @DPTR,A
   136: 		Delay1ms(10);
-001D5C 121727            LCALL   LED_device_poweron
+001D08 121745            LCALL   LED_device_poweron
   137: 		IIC_Read(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
-001D5F 7F0A              MOV     R7,#0AH
-001D61 121595            LCALL   _Delay1ms
+001D0B 7F0A              MOV     R7,#0AH
+001D0D 1215B2            LCALL   _Delay1ms
   138: 		if(g_variable.ble_ramdon_lap1 == 0xff && g_variable.ble_ramdon_lap2 == 0xff)
-001D64 7B01              MOV     R3,#01H
-001D66 7A4C              MOV     R2,#HIGH g_variable+033H
-001D68 79F2              MOV     R1,#LOW g_variable+033H
-001D6A 7D02              MOV     R5,#02H
-001D6C 7C00              MOV     R4,#00H
-001D6E 7FBE              MOV     R7,#0BEH
-001D70 7E7F              MOV     R6,#07FH
-001D72 12165B            LCALL   _IIC_Read
+001D10 7B01              MOV     R3,#01H
+001D12 7A4C              MOV     R2,#HIGH g_variable+033H
+001D14 79F2              MOV     R1,#LOW g_variable+033H
+001D16 7D02              MOV     R5,#02H
+001D18 7C00              MOV     R4,#00H
+001D1A 7FBE              MOV     R7,#0BEH
+001D1C 7E7F              MOV     R6,#07FH
+001D1E 121678            LCALL   _IIC_Read
   139: 		{
-001D75 904CF2            MOV     DPTR,#g_variable+033H
-001D78 E0                MOVX    A,@DPTR
-001D79 B4FF19            CJNE    A,#0FFH,?C0017?SYS
-001D7C A3                INC     DPTR
-001D7D E0                MOVX    A,@DPTR
-001D7E B4FF14            CJNE    A,#0FFH,?C0017?SYS
+001D21 904CF2            MOV     DPTR,#g_variable+033H
+001D24 E0                MOVX    A,@DPTR
+001D25 B4FF19            CJNE    A,#0FFH,?C0017?SYS
+001D28 A3                INC     DPTR
+001D29 E0                MOVX    A,@DPTR
+001D2A B4FF14            CJNE    A,#0FFH,?C0017?SYS
   140: 			g_variable.ble_ramdon_lap1 = m_adc3vValue;
   141: 			g_variable.ble_ramdon_lap2 = m_adc0vBase;
-001D81 904C93            MOV     DPTR,#m_adc3vValue
-001D84 E0                MOVX    A,@DPTR
-001D85 A3                INC     DPTR
-001D86 E0                MOVX    A,@DPTR
-001D87 904CF2            MOV     DPTR,#g_variable+033H
-001D8A F0                MOVX    @DPTR,A
+001D2D 904C93            MOV     DPTR,#m_adc3vValue
+001D30 E0                MOVX    A,@DPTR
+001D31 A3                INC     DPTR
+001D32 E0                MOVX    A,@DPTR
+001D33 904CF2            MOV     DPTR,#g_variable+033H
+001D36 F0                MOVX    @DPTR,A
   142: 		}
-001D8B 904C91            MOV     DPTR,#m_adc0vBase
-001D8E E0                MOVX    A,@DPTR
-001D8F A3                INC     DPTR
-001D90 E0                MOVX    A,@DPTR
-001D91 904CF3            MOV     DPTR,#g_variable+034H
-001D94 F0                MOVX    @DPTR,A
+001D37 904C91            MOV     DPTR,#m_adc0vBase
+001D3A E0                MOVX    A,@DPTR
+001D3B A3                INC     DPTR
+001D3C E0                MOVX    A,@DPTR
+001D3D 904CF3            MOV     DPTR,#g_variable+034H
+001D40 F0                MOVX    @DPTR,A
   143: 		YC_start_reconnect();
-001D95         ?C0017?SYS:
+001D41         ?C0017?SYS:
   144: 		break;
-001D95 0215AD            LJMP    YC_start_reconnect
+001D41 0215CA            LJMP    YC_start_reconnect
   145: 	case IPC_EVT_WAKEUP:
   146: 		System_IIC_clk_setup();
-001D98         ?C0018?SYS:
+001D44         ?C0018?SYS:
   147: 		KS_Initialize();
-001D98 123142            LCALL   System_IIC_clk_setup
+001D44 12313E            LCALL   System_IIC_clk_setup
   148: 		g_variable.g24_long_sleep_flag = 0;
-001D9B F1A6              ACALL   KS_Initialize
+001D47 F16F              ACALL   KS_Initialize
   149: 		break;
-001D9D E4                CLR     A
-001D9E 904CFC            MOV     DPTR,#g_variable+03DH
-001DA1 F0                MOVX    @DPTR,A
+001D49 E4                CLR     A
+001D4A 904CFC            MOV     DPTR,#g_variable+03DH
+001D4D F0                MOVX    @DPTR,A
   150: 
-001DA2 22                RET     
+001D4E 22                RET     
   151: // connection event
   152: 	case IPC_EVT_VIRTUAL_CABLE_UNPLUG:
   153: 	case IPC_EVT_CLEAR_LINKKEY:
-001DA3         ?C0020?SYS:
+001D4F         ?C0020?SYS:
   154: 		if ((g_variable.current_device_num > 0) && (g_variable.current_device_num < 4))
-001DA3 904CC3            MOV     DPTR,#g_variable+04H
-001DA6 E0                MOVX    A,@DPTR
-001DA7 D3                SETB    C
-001DA8 9400              SUBB    A,#00H
-001DAA 5002              JNC     $ + 4H
-001DAC E1A5              AJMP    ?C0045?SYS
-001DAE E0                MOVX    A,@DPTR
-001DAF 9404              SUBB    A,#04H
-001DB1 4002              JC      $ + 4H
-001DB3 E1A5              AJMP    ?C0045?SYS
+001D4F 904CC3            MOV     DPTR,#g_variable+04H
+001D52 E0                MOVX    A,@DPTR
+001D53 D3                SETB    C
+001D54 9400              SUBB    A,#00H
+001D56 5002              JNC     $ + 4H
+001D58 E16E              AJMP    ?C0045?SYS
+001D5A E0                MOVX    A,@DPTR
+001D5B 9404              SUBB    A,#04H
+001D5D 4002              JC      $ + 4H
+001D5F E16E              AJMP    ?C0045?SYS
   155: 		{
   156: 			xmemclear_ff((byte *)&bd_key_record_list[g_variable.current_device_num-1],sizeof(BD_KEY_RECORD));	
-001DB5 E0                MOVX    A,@DPTR
-001DB6 75F01F            MOV     B,#01FH
-001DB9 A4                MUL     AB
-001DBA 24CF              ADD     A,#LOW bd_key_record_list-01FH
-001DBC F9                MOV     R1,A
-001DBD 744D              MOV     A,#HIGH bd_key_record_list-01FH
-001DBF 35F0              ADDC    A,B
-001DC1 FA                MOV     R2,A
-001DC2 7B01              MOV     R3,#01H
-001DC4 7D1F              MOV     R5,#01FH
-001DC6 7C00              MOV     R4,#00H
-001DC8 1234F4            LCALL   _xmemclear_ff
-  157: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-001DCB 904CBF            MOV     DPTR,#g_variable
-001DCE 7403              MOV     A,#03H
-001DD0 F0                MOVX    @DPTR,A
-  158: 		}
-  159: 		break;
-001DD1 22                RET     
-  160: 	case IPC_EVT_RECONNECT_STANDY:
-001DD2         ?C0022?SYS:
-  161: 		YC_load_record_list(recon_index);
-001DD2 904DD6            MOV     DPTR,#recon_index
-001DD5 E0                MOVX    A,@DPTR
-001DD6 FF                MOV     R7,A
-001DD7 020737            LJMP    _YC_load_record_list
-  162: 		break;		
-  163: 		
-  164: // 2.4G event	
-  165: 	case IPC_EVT_24G_PAIRING_COMPLETE:
-  166: 	case IPC_EVT_24G_ATTEMPT_SUCCESS:
-001DDA         ?C0024?SYS:
-  167: 		g_variable.g24_currentState =  CHANGE_TO_24G_CONNECTED;
-001DDA 904CC5            MOV     DPTR,#g_variable+06H
-001DDD 7403              MOV     A,#03H
-001DDF F0                MOVX    @DPTR,A
-  168: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001DE0 E4                CLR     A
-001DE1 A3                INC     DPTR
-001DE2 F0                MOVX    @DPTR,A
-  169: 		YC_clear_reconnect_flag();
-001DE3 1217EA            LCALL   YC_clear_reconnect_flag
-  170: 		g_variable.pairing_g24_timeout = 0;
-001DE6 E4                CLR     A
-001DE7 904CEE            MOV     DPTR,#g_variable+02FH
-001DEA F0                MOVX    @DPTR,A
-  171: 		g_variable.release_data = 0;
-001DEB 904CEB            MOV     DPTR,#g_variable+02CH
-001DEE F0                MOVX    @DPTR,A
-  172: 		g_variable.last_device_num = 0xfe;
-001DEF 904CC0            MOV     DPTR,#g_variable+01H
-001DF2 74FE              MOV     A,#0FEH
-001DF4 F0                MOVX    @DPTR,A
-  173: 		g_variable.current_device_num = 0xfe;
-001DF5 904CC3            MOV     DPTR,#g_variable+04H
-001DF8 F0                MOVX    @DPTR,A
-  174: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;
-001DF9 904D46            MOV     DPTR,#m_24g_led_flag
-001DFC 7403              MOV     A,#03H
-001DFE F0                MOVX    @DPTR,A
-  175: 		delayChgInvTimer = 10;
-001DFF 904DE6            MOV     DPTR,#delayChgInvTimer
-001E02 740A              MOV     A,#0AH
-001E04 F0                MOVX    @DPTR,A
-  176: 
-  177: 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
-001E05 904F07            MOV     DPTR,#evt
-001E08 E0                MOVX    A,@DPTR
-001E09 6431              XRL     A,#031H
-001E0B 7036              JNZ     ?C0025?SYS
-  178: 		{
-  179: 			fn_lock_flag = 0;
-001E0D 904DE7            MOV     DPTR,#fn_lock_flag
-001E10 F0                MOVX    @DPTR,A
-  180: 			fast_connect_flag = 0;
-001E11 904E55            MOV     DPTR,#fast_connect_flag
-001E14 F0                MOVX    @DPTR,A
-  181: 			g_variable.system_mode = OSMODE_WINDOWS;
-001E15 904CC1            MOV     DPTR,#g_variable+02H
-001E18 F0                MOVX    @DPTR,A
-  182: 			g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-001E19 904CE5            MOV     DPTR,#g_variable+026H
-001E1C 741E              MOV     A,#01EH
-001E1E F0                MOVX    @DPTR,A
-  183: 			if(m_24g_paring_addr[0] != 0x0f || m_24g_paring_addr[1] != 0x0f ||
-001E1F 904BEB            MOV     DPTR,#m_24g_paring_addr
-001E22 E0                MOVX    A,@DPTR
-001E23 B40F12            CJNE    A,#0FH,?C0027?SYS
-001E26 A3                INC     DPTR
-001E27 E0                MOVX    A,@DPTR
-001E28 B40F0D            CJNE    A,#0FH,?C0027?SYS
-001E2B A3                INC     DPTR
-001E2C E0                MOVX    A,@DPTR
-001E2D B40F08            CJNE    A,#0FH,?C0027?SYS
-001E30 A3                INC     DPTR
-001E31 E0                MOVX    A,@DPTR
-001E32 640F              XRL     A,#0FH
-001E34 7002              JNZ     $ + 4H
-001E36 E1A5              AJMP    ?C0045?SYS
-001E38         ?C0027?SYS:
-  184: 				m_24g_paring_addr[2] != 0x0f || m_24g_paring_addr[3] != 0x0f)
-  185: 				{
-  186: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-001E38 904CBF            MOV     DPTR,#g_variable
-001E3B 7402              MOV     A,#02H
-001E3D F0                MOVX    @DPTR,A
-  187: 					YC_update_eeprom_data();
-001E3E 121442            LCALL   YC_update_eeprom_data
-  188: 					System_Hardware_reset();
-001E41 6135              AJMP    System_Hardware_reset
-  189: 				}
-  190: 		}
-001E43         ?C0025?SYS:
-  191: 		else
-  192: 		{
-  193: 			if(!g_variable.powerOn_timer)
-001E43 904CE5            MOV     DPTR,#g_variable+026H
-001E46 E0                MOVX    A,@DPTR
-001E47 6002              JZ      $ + 4H
-001E49 E1A5              AJMP    ?C0045?SYS
-  194: 			;//GPIO_Setout(G24_LED_GPIO,LED_OFF);
-  195: 		}
-  196: 		break;
-001E4B 22                RET     
-  197: 	
-  198: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
-001E4C         ?C0030?SYS:
-  199: 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
-001E4C E4                CLR     A
-001E4D 904CC5            MOV     DPTR,#g_variable+06H
-001E50 F0                MOVX    @DPTR,A
-  200: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001E51 A3                INC     DPTR
-001E52 F0                MOVX    @DPTR,A
-  201: 		g_variable.sleepTimer = 0;
-001E53 904CE3            MOV     DPTR,#g_variable+024H
-001E56 F0                MOVX    @DPTR,A
-001E57 A3                INC     DPTR
-001E58 F0                MOVX    @DPTR,A
-  202: 		g_variable.release_data = 1;
-001E59 904CEB            MOV     DPTR,#g_variable+02CH
-001E5C 04                INC     A
+001D61 E0                MOVX    A,@DPTR
+001D62 75F01F            MOV     B,#01FH
+001D65 A4                MUL     AB
+001D66 24CF              ADD     A,#LOW bd_key_record_list-01FH
+001D68 F9                MOV     R1,A
+001D69 744D              MOV     A,#HIGH bd_key_record_list-01FH
+001D6B 35F0              ADDC    A,B
+001D6D FA                MOV     R2,A
+001D6E 7B01              MOV     R3,#01H
+001D70 7D1F              MOV     R5,#01FH
+001D72 7C00              MOV     R4,#00H
+001D74 1234F0            LCALL   _xmemclear_ff
+  157: 			Delay1ms(200);
+001D77 7FC8              MOV     R7,#0C8H
+001D79 1215B2            LCALL   _Delay1ms
+  158: 			GPIO_Setout(EEPROM_WP_GPIO,0);
+001D7C C201              CLR     ?_GPIO_Setout?BIT
+001D7E 7FFF              MOV     R7,#0FFH
+001D80 121268            LCALL   _GPIO_Setout
+  159: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)bd_key_record_list);		
+001D83 7B01              MOV     R3,#01H
+001D85 7A4D              MOV     R2,#HIGH bd_key_record_list
+001D87 79EE              MOV     R1,#LOW bd_key_record_list
+001D89 7D5D              MOV     R5,#05DH
+001D8B 7C00              MOV     R4,#00H
+001D8D 7F60              MOV     R7,#060H
+001D8F 7E7F              MOV     R6,#07FH
+001D91 121504            LCALL   _IIC_WriteBlock
+  160: 			GPIO_Setout(EEPROM_WP_GPIO,1);
+001D94 D201              SETB    ?_GPIO_Setout?BIT
+001D96 7FFF              MOV     R7,#0FFH
+001D98 021268            LJMP    _GPIO_Setout
+  161: 		}
+  162: 		break;
+  163: 	case IPC_EVT_RECONNECT_STANDY:
+001D9B         ?C0022?SYS:
+  164: 		YC_load_record_list(recon_index);
+001D9B 904DD6            MOV     DPTR,#recon_index
+001D9E E0                MOVX    A,@DPTR
+001D9F FF                MOV     R7,A
+001DA0 020737            LJMP    _YC_load_record_list
+  165: 		break;		
+  166: 		
+  167: // 2.4G event	
+  168: 	case IPC_EVT_24G_PAIRING_COMPLETE:
+  169: 	case IPC_EVT_24G_ATTEMPT_SUCCESS:
+001DA3         ?C0024?SYS:
+  170: 		g_variable.g24_currentState =  CHANGE_TO_24G_CONNECTED;
+001DA3 904CC5            MOV     DPTR,#g_variable+06H
+001DA6 7403              MOV     A,#03H
+001DA8 F0                MOVX    @DPTR,A
+  171: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+001DA9 E4                CLR     A
+001DAA A3                INC     DPTR
+001DAB F0                MOVX    @DPTR,A
+  172: 		YC_clear_reconnect_flag();
+001DAC 1217F7            LCALL   YC_clear_reconnect_flag
+  173: 		g_variable.pairing_g24_timeout = 0;
+001DAF E4                CLR     A
+001DB0 904CEE            MOV     DPTR,#g_variable+02FH
+001DB3 F0                MOVX    @DPTR,A
+  174: 		g_variable.release_data = 0;
+001DB4 904CEB            MOV     DPTR,#g_variable+02CH
+001DB7 F0                MOVX    @DPTR,A
+  175: 		g_variable.last_device_num = 0xfe;
+001DB8 904CC0            MOV     DPTR,#g_variable+01H
+001DBB 74FE              MOV     A,#0FEH
+001DBD F0                MOVX    @DPTR,A
+  176: 		g_variable.current_device_num = 0xfe;
+001DBE 904CC3            MOV     DPTR,#g_variable+04H
+001DC1 F0                MOVX    @DPTR,A
+  177: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;
+001DC2 904D46            MOV     DPTR,#m_24g_led_flag
+001DC5 7403              MOV     A,#03H
+001DC7 F0                MOVX    @DPTR,A
+  178: 		delayChgInvTimer = 10;
+001DC8 904DE6            MOV     DPTR,#delayChgInvTimer
+001DCB 740A              MOV     A,#0AH
+001DCD F0                MOVX    @DPTR,A
+  179: 
+  180: 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
+001DCE 904F07            MOV     DPTR,#evt
+001DD1 E0                MOVX    A,@DPTR
+001DD2 6431              XRL     A,#031H
+001DD4 7036              JNZ     ?C0025?SYS
+  181: 		{
+  182: 			fn_lock_flag = 0;
+001DD6 904DE7            MOV     DPTR,#fn_lock_flag
+001DD9 F0                MOVX    @DPTR,A
+  183: 			fast_connect_flag = 0;
+001DDA 904E55            MOV     DPTR,#fast_connect_flag
+001DDD F0                MOVX    @DPTR,A
+  184: 			g_variable.system_mode = OSMODE_WINDOWS;
+001DDE 904CC1            MOV     DPTR,#g_variable+02H
+001DE1 F0                MOVX    @DPTR,A
+  185: 			g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
+001DE2 904CE5            MOV     DPTR,#g_variable+026H
+001DE5 741E              MOV     A,#01EH
+001DE7 F0                MOVX    @DPTR,A
+  186: 			if(m_24g_paring_addr[0] != 0x0f || m_24g_paring_addr[1] != 0x0f ||
+001DE8 904BEB            MOV     DPTR,#m_24g_paring_addr
+001DEB E0                MOVX    A,@DPTR
+001DEC B40F12            CJNE    A,#0FH,?C0027?SYS
+001DEF A3                INC     DPTR
+001DF0 E0                MOVX    A,@DPTR
+001DF1 B40F0D            CJNE    A,#0FH,?C0027?SYS
+001DF4 A3                INC     DPTR
+001DF5 E0                MOVX    A,@DPTR
+001DF6 B40F08            CJNE    A,#0FH,?C0027?SYS
+001DF9 A3                INC     DPTR
+001DFA E0                MOVX    A,@DPTR
+001DFB 640F              XRL     A,#0FH
+001DFD 7002              JNZ     $ + 4H
+001DFF E16E              AJMP    ?C0045?SYS
+001E01         ?C0027?SYS:
+  187: 				m_24g_paring_addr[2] != 0x0f || m_24g_paring_addr[3] != 0x0f)
+  188: 				{
+  189: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+001E01 904CBF            MOV     DPTR,#g_variable
+001E04 7402              MOV     A,#02H
+001E06 F0                MOVX    @DPTR,A
+  190: 					YC_update_eeprom_data();
+001E07 12146D            LCALL   YC_update_eeprom_data
+  191: 					System_Hardware_reset();
+001E0A 41E1              AJMP    System_Hardware_reset
+  192: 				}
+  193: 		}
+001E0C         ?C0025?SYS:
+  194: 		else
+  195: 		{
+  196: 			if(!g_variable.powerOn_timer)
+001E0C 904CE5            MOV     DPTR,#g_variable+026H
+001E0F E0                MOVX    A,@DPTR
+001E10 6002              JZ      $ + 4H
+001E12 E16E              AJMP    ?C0045?SYS
+  197: 			;//GPIO_Setout(G24_LED_GPIO,LED_OFF);
+  198: 		}
+  199: 		break;
+001E14 22                RET     
+  200: 	
+  201: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
+001E15         ?C0030?SYS:
+  202: 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
+001E15 E4                CLR     A
+001E16 904CC5            MOV     DPTR,#g_variable+06H
+001E19 F0                MOVX    @DPTR,A
+  203: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+001E1A A3                INC     DPTR
+001E1B F0                MOVX    @DPTR,A
+  204: 		g_variable.sleepTimer = 0;
+001E1C 904CE3            MOV     DPTR,#g_variable+024H
+001E1F F0                MOVX    @DPTR,A
+001E20 A3                INC     DPTR
+001E21 F0                MOVX    @DPTR,A
+  205: 		g_variable.release_data = 1;
+001E22 904CEB            MOV     DPTR,#g_variable+02CH
+001E25 04                INC     A
+001E26 F0                MOVX    @DPTR,A
+  206: 
+  207: 		if (g_variable.key_action != KEY_NONE)
+001E27 904CED            MOV     DPTR,#g_variable+02EH
+001E2A E0                MOVX    A,@DPTR
+001E2B 600B              JZ      ?C0031?SYS
+  208: 		{
+  209: 			YC_clear_reconnect_flag();
+001E2D 1217F7            LCALL   YC_clear_reconnect_flag
+  210: 			YC_key_action_handle(g_variable.key_action);
+001E30 904CED            MOV     DPTR,#g_variable+02EH
+001E33 E0                MOVX    A,@DPTR
+001E34 FF                MOV     R7,A
+001E35 02108B            LJMP    _YC_key_action_handle
+  211: 			break;
+  212: 		}
+001E38         ?C0031?SYS:
+  213: 
+  214: 		if (g_variable.lockLpm == 1)
+001E38 904CEC            MOV     DPTR,#g_variable+02DH
+001E3B E0                MOVX    A,@DPTR
+001E3C B40105            CJNE    A,#01H,?C0032?SYS
+  215: 		{
+  216: 			g_variable.lockLpm =0;
+001E3F E4                CLR     A
+001E40 F0                MOVX    @DPTR,A
+  217: 			System_long_sleep();
+001E41 020FB2            LJMP    System_long_sleep
+  218: 			break;
+  219: 		}
+001E44         ?C0032?SYS:
+  220: 		if (g_variable.recon_count != 0)
+001E44 904CF0            MOV     DPTR,#g_variable+031H
+001E47 E0                MOVX    A,@DPTR
+001E48 7002              JNZ     $ + 4H
+001E4A E16E              AJMP    ?C0045?SYS
+  221: 		{
+  222: 			YC_load_record_list(recon_index);
+001E4C 904DD6            MOV     DPTR,#recon_index
+001E4F E0                MOVX    A,@DPTR
+001E50 FF                MOV     R7,A
+001E51 020737            LJMP    _YC_load_record_list
+  223: 		}
+  224: 		break;
+  225: 
+  226: 
+  227: 
+  228: // BT 4.2 event
+  229: 	case IPC_EVT_LE_CONNECTED:
+001E54         ?C0034?SYS:
+  230: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
+001E54 904CC7            MOV     DPTR,#g_variable+08H
+001E57 7403              MOV     A,#03H
+001E59 F0                MOVX    @DPTR,A
+  231: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_INIT;
+001E5A A3                INC     DPTR
+001E5B 7401              MOV     A,#01H
 001E5D F0                MOVX    @DPTR,A
-  203: 
-  204: 		if (g_variable.key_action != KEY_NONE)
-001E5E 904CED            MOV     DPTR,#g_variable+02EH
-001E61 E0                MOVX    A,@DPTR
-001E62 600B              JZ      ?C0031?SYS
-  205: 		{
-  206: 			YC_clear_reconnect_flag();
-001E64 1217EA            LCALL   YC_clear_reconnect_flag
-  207: 			YC_key_action_handle(g_variable.key_action);
-001E67 904CED            MOV     DPTR,#g_variable+02EH
-001E6A E0                MOVX    A,@DPTR
-001E6B FF                MOV     R7,A
-001E6C 02108B            LJMP    _YC_key_action_handle
-  208: 			break;
-  209: 		}
-001E6F         ?C0031?SYS:
-  210: 
-  211: 		if (g_variable.lockLpm == 1)
-001E6F 904CEC            MOV     DPTR,#g_variable+02DH
-001E72 E0                MOVX    A,@DPTR
-001E73 B40105            CJNE    A,#01H,?C0032?SYS
-  212: 		{
-  213: 			g_variable.lockLpm =0;
-001E76 E4                CLR     A
+  232: 		g_variable.br_currentState = CHANGE_TO_BR_DISCONNECT;
+001E5E E4                CLR     A
+001E5F A3                INC     DPTR
+001E60 F0                MOVX    @DPTR,A
+  233: 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
+001E61 A3                INC     DPTR
+001E62 F0                MOVX    @DPTR,A
+  234: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
+001E63 7F0E              MOV     R7,#0EH
+001E65 120ECA            LCALL   _IPC_TxControlCmd
+  235: 		IPC_TxControlCmd(IPC_CMD_STOP_DISCOVERY);
+001E68 7F02              MOV     R7,#02H
+001E6A 120ECA            LCALL   _IPC_TxControlCmd
+  236: 		if(g_variable.pairing_timeout)
+001E6D 904CE9            MOV     DPTR,#g_variable+02AH
+001E70 E0                MOVX    A,@DPTR
+001E71 6034              JZ      ?C0035?SYS
+  237: 		{
+  238: 			fn_lock_flag = 0;
+001E73 E4                CLR     A
+001E74 904DE7            MOV     DPTR,#fn_lock_flag
 001E77 F0                MOVX    @DPTR,A
-  214: 			System_long_sleep();
-001E78 020FB2            LJMP    System_long_sleep
-  215: 			break;
-  216: 		}
-001E7B         ?C0032?SYS:
-  217: 		if (g_variable.recon_count != 0)
-001E7B 904CF0            MOV     DPTR,#g_variable+031H
-001E7E E0                MOVX    A,@DPTR
-001E7F 7002              JNZ     $ + 4H
-001E81 E1A5              AJMP    ?C0045?SYS
-  218: 		{
-  219: 			YC_load_record_list(recon_index);
-001E83 904DD6            MOV     DPTR,#recon_index
-001E86 E0                MOVX    A,@DPTR
-001E87 FF                MOV     R7,A
-001E88 020737            LJMP    _YC_load_record_list
-  220: 		}
-  221: 		break;
-  222: 
-  223: 
-  224: 
-  225: // BT 4.2 event
-  226: 	case IPC_EVT_LE_CONNECTED:
-001E8B         ?C0034?SYS:
-  227: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
-001E8B 904CC7            MOV     DPTR,#g_variable+08H
-001E8E 7403              MOV     A,#03H
-001E90 F0                MOVX    @DPTR,A
-  228: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_INIT;
-001E91 A3                INC     DPTR
-001E92 7401              MOV     A,#01H
-001E94 F0                MOVX    @DPTR,A
-  229: 		g_variable.br_currentState = CHANGE_TO_BR_DISCONNECT;
-001E95 E4                CLR     A
-001E96 A3                INC     DPTR
-001E97 F0                MOVX    @DPTR,A
-  230: 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
-001E98 A3                INC     DPTR
-001E99 F0                MOVX    @DPTR,A
-  231: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-001E9A 7F0E              MOV     R7,#0EH
-001E9C 120ECA            LCALL   _IPC_TxControlCmd
-  232: 		IPC_TxControlCmd(IPC_CMD_STOP_DISCOVERY);
-001E9F 7F02              MOV     R7,#02H
-001EA1 120ECA            LCALL   _IPC_TxControlCmd
-  233: 		if(g_variable.pairing_timeout)
-001EA4 904CE9            MOV     DPTR,#g_variable+02AH
-001EA7 E0                MOVX    A,@DPTR
-001EA8 6034              JZ      ?C0035?SYS
-  234: 		{
-  235: 			fn_lock_flag = 0;
-001EAA E4                CLR     A
-001EAB 904DE7            MOV     DPTR,#fn_lock_flag
-001EAE F0                MOVX    @DPTR,A
-  236: 			g_variable.system_mode = OSMODE_WINDOWS;
-001EAF 904CC1            MOV     DPTR,#g_variable+02H
+  239: 			g_variable.system_mode = OSMODE_WINDOWS;
+001E78 904CC1            MOV     DPTR,#g_variable+02H
+001E7B F0                MOVX    @DPTR,A
+  240: 			bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+001E7C 904CC3            MOV     DPTR,#g_variable+04H
+001E7F E0                MOVX    A,@DPTR
+001E80 75F01F            MOV     B,#01FH
+001E83 A4                MUL     AB
+001E84 24EC              ADD     A,#LOW bd_key_record_list-02H
+001E86 F582              MOV     DPL,A
+001E88 E4                CLR     A
+001E89 344D              ADDC    A,#HIGH bd_key_record_list-02H
+001E8B F583              MOV     DPH,A
+001E8D E4                CLR     A
+001E8E F0                MOVX    @DPTR,A
+  241: 			bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
+001E8F 904DE7            MOV     DPTR,#fn_lock_flag
+001E92 E0                MOVX    A,@DPTR
+001E93 FF                MOV     R7,A
+001E94 904CC3            MOV     DPTR,#g_variable+04H
+001E97 E0                MOVX    A,@DPTR
+001E98 75F01F            MOV     B,#01FH
+001E9B A4                MUL     AB
+001E9C 24ED              ADD     A,#LOW bd_key_record_list-01H
+001E9E F582              MOV     DPL,A
+001EA0 E4                CLR     A
+001EA1 344D              ADDC    A,#HIGH bd_key_record_list-01H
+001EA3 F583              MOV     DPH,A
+001EA5 EF                MOV     A,R7
+001EA6 F0                MOVX    @DPTR,A
+  242: 		}
+001EA7         ?C0035?SYS:
+  243: 		if(!ble_reconnect_flag)
+001EA7 904DE5            MOV     DPTR,#ble_reconnect_flag
+001EAA E0                MOVX    A,@DPTR
+001EAB 7006              JNZ     ?C0036?SYS
+  244: 			ble_send_secutiry_request_timer = 20;
+001EAD 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
+001EB0 7414              MOV     A,#014H
 001EB2 F0                MOVX    @DPTR,A
-  237: 			bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-001EB3 904CC3            MOV     DPTR,#g_variable+04H
+001EB3         ?C0036?SYS:
+  245: 		if(!g_variable.powerOn_timer)
+001EB3 904CE5            MOV     DPTR,#g_variable+026H
 001EB6 E0                MOVX    A,@DPTR
-001EB7 75F01F            MOV     B,#01FH
-001EBA A4                MUL     AB
-001EBB 24EC              ADD     A,#LOW bd_key_record_list-02H
-001EBD F582              MOV     DPL,A
-001EBF E4                CLR     A
-001EC0 344D              ADDC    A,#HIGH bd_key_record_list-02H
-001EC2 F583              MOV     DPH,A
-001EC4 E4                CLR     A
-001EC5 F0                MOVX    @DPTR,A
-  238: 			bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
-001EC6 904DE7            MOV     DPTR,#fn_lock_flag
-001EC9 E0                MOVX    A,@DPTR
-001ECA FF                MOV     R7,A
-001ECB 904CC3            MOV     DPTR,#g_variable+04H
-001ECE E0                MOVX    A,@DPTR
-001ECF 75F01F            MOV     B,#01FH
-001ED2 A4                MUL     AB
-001ED3 24ED              ADD     A,#LOW bd_key_record_list-01H
-001ED5 F582              MOV     DPL,A
-001ED7 E4                CLR     A
-001ED8 344D              ADDC    A,#HIGH bd_key_record_list-01H
-001EDA F583              MOV     DPH,A
-001EDC EF                MOV     A,R7
-001EDD F0                MOVX    @DPTR,A
-  239: 		}
-001EDE         ?C0035?SYS:
-  240: 		if(!ble_reconnect_flag)
-001EDE 904DE5            MOV     DPTR,#ble_reconnect_flag
-001EE1 E0                MOVX    A,@DPTR
-001EE2 7006              JNZ     ?C0036?SYS
-  241: 			ble_send_secutiry_request_timer = 20;
-001EE4 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
-001EE7 7414              MOV     A,#014H
-001EE9 F0                MOVX    @DPTR,A
-001EEA         ?C0036?SYS:
-  242: 		if(!g_variable.powerOn_timer)
-001EEA 904CE5            MOV     DPTR,#g_variable+026H
-001EED E0                MOVX    A,@DPTR
-001EEE 7003              JNZ     ?C0037?SYS
-  243: 			LED_device_poweroff();
-001EF0 121760            LCALL   LED_device_poweroff
-001EF3         ?C0037?SYS:
-  244: 		g_variable.pairing_timeout = 0;
-001EF3 E4                CLR     A
-001EF4 904CE9            MOV     DPTR,#g_variable+02AH
-001EF7 F0                MOVX    @DPTR,A
-  245: 		g_variable.sleepTimer = 0;
-001EF8 904CE3            MOV     DPTR,#g_variable+024H
-001EFB F0                MOVX    @DPTR,A
-001EFC A3                INC     DPTR
-001EFD F0                MOVX    @DPTR,A
-  246: 		break;
-001EFE 22                RET     
-  247: 	case IPC_EVT_LE_PROTOCOL_CONNECTED:
-001EFF         ?C0038?SYS:
-  248: 	    	g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTED;
-001EFF 904CC7            MOV     DPTR,#g_variable+08H
-001F02 7404              MOV     A,#04H
-001F04 F0                MOVX    @DPTR,A
-  249: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
-001F05 E4                CLR     A
-001F06 A3                INC     DPTR
-001F07 F0                MOVX    @DPTR,A
-  250: 		YC_clear_reconnect_flag();
-001F08 1217EA            LCALL   YC_clear_reconnect_flag
-  251: 		g_variable.release_data = 0;
-001F0B E4                CLR     A
-001F0C 904CEB            MOV     DPTR,#g_variable+02CH
-001F0F F0                MOVX    @DPTR,A
-  252: 		le_send_battery_level_delay_count = 10;
-001F10 904DDB            MOV     DPTR,#le_send_battery_level_delay_count
-001F13 740A              MOV     A,#0AH
-001F15 F0                MOVX    @DPTR,A
-  253: 		g_variable.last_device_num = g_variable.current_device_num;
-001F16 904CC3            MOV     DPTR,#g_variable+04H
-001F19 E0                MOVX    A,@DPTR
-001F1A 904CC0            MOV     DPTR,#g_variable+01H
-001F1D F0                MOVX    @DPTR,A
-  254: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-001F1E 904CBF            MOV     DPTR,#g_variable
-001F21 7403              MOV     A,#03H
-001F23 F0                MOVX    @DPTR,A
-  255: 		break;
-001F24 22                RET     
-  256: 	case IPC_EVT_LE_ENC_INFO:
-001F25         ?C0039?SYS:
-  257: 		YC_store_record_list(1, g_variable.current_device_num-1);
-001F25 904CC3            MOV     DPTR,#g_variable+04H
-001F28 E0                MOVX    A,@DPTR
-001F29 14                DEC     A
-001F2A FD                MOV     R5,A
-001F2B 7F01              MOV     R7,#01H
-001F2D 120803            LCALL   _YC_store_record_list
-  258: 		g_variable.last_device_num = g_variable.current_device_num;
-001F30 904CC3            MOV     DPTR,#g_variable+04H
-001F33 E0                MOVX    A,@DPTR
-001F34 904CC0            MOV     DPTR,#g_variable+01H
-001F37 F0                MOVX    @DPTR,A
-  259: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-001F38 904CBF            MOV     DPTR,#g_variable
-001F3B 7403              MOV     A,#03H
-001F3D F0                MOVX    @DPTR,A
-  260: 		break;
-001F3E 22                RET     
-  261: 
-  262: 	case IPC_EVT_LE_PINCODE_REQ:
-001F3F         ?C0040?SYS:
-  263: 		le_pin_code = 0;
-001F3F 904D39            MOV     DPTR,#le_pin_code
-001F42 120582            LCALL   ?C?LSTKXDATA
-001F45 00                DB      00H
-001F46 00                DB      00H
-001F47 00                DB      00H
-001F48 00                DB      00H
-  264: 		le_pin_code_len = 0;
-001F49 E4                CLR     A
-001F4A 904DD7            MOV     DPTR,#le_pin_code_len
-001F4D F0                MOVX    @DPTR,A
-  265: 		pinCode_flag = 1;
-001F4E 904DDE            MOV     DPTR,#pinCode_flag
-001F51 04                INC     A
-001F52 F0                MOVX    @DPTR,A
-  266: 		g_variable.ble_currentSubState =  CHANGE_TO_BLE_SUB_PINCODE;
-001F53 904CC8            MOV     DPTR,#g_variable+09H
-001F56 04                INC     A
-001F57 F0                MOVX    @DPTR,A
-  267: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
-001F58 904CC7            MOV     DPTR,#g_variable+08H
-001F5B 04                INC     A
-001F5C F0                MOVX    @DPTR,A
-  268: 		break;
-001F5D 22                RET     
-  269: 		
-  270: 	case IPC_EVT_LE_DISCONNECTED:	
-001F5E         ?C0041?SYS:
-  271: 		g_variable.history_state = g_variable.ble_currentState ;
-001F5E 904CC7            MOV     DPTR,#g_variable+08H
-001F61 E0                MOVX    A,@DPTR
-001F62 904CCB            MOV     DPTR,#g_variable+0CH
-001F65 F0                MOVX    @DPTR,A
-  272: 		g_variable.ble_currentState = CHANGE_TO_BLE_DISCONNECT;
-001F66 E4                CLR     A
-001F67 904CC7            MOV     DPTR,#g_variable+08H
-001F6A F0                MOVX    @DPTR,A
-  273: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
-001F6B A3                INC     DPTR
-001F6C F0                MOVX    @DPTR,A
-  274: 		g_variable.release_data = 1;
-001F6D 904CEB            MOV     DPTR,#g_variable+02CH
-001F70 04                INC     A
-001F71 F0                MOVX    @DPTR,A
-  275: 		m_le_send_security_request_flag = 0;
-001F72 E4                CLR     A
-001F73 904D3D            MOV     DPTR,#m_le_send_security_request_flag
-001F76 F0                MOVX    @DPTR,A
-  276: 		if (g_variable.lockLpm == 1)
-001F77 904CEC            MOV     DPTR,#g_variable+02DH
-001F7A E0                MOVX    A,@DPTR
-001F7B B40105            CJNE    A,#01H,?C0042?SYS
-  277: 		{
-  278: 			g_variable.lockLpm =0;
-001F7E E4                CLR     A
-001F7F F0                MOVX    @DPTR,A
-  279: 			System_long_sleep();
-001F80 020FB2            LJMP    System_long_sleep
-  280: 			break;
-  281: 		}
-001F83         ?C0042?SYS:
-  282: 
-  283: 		if (g_variable.key_action != KEY_NONE)
-001F83 904CED            MOV     DPTR,#g_variable+02EH
-001F86 E0                MOVX    A,@DPTR
-001F87 6004              JZ      ?C0043?SYS
-  284: 		{
-  285: 			YC_key_action_handle(g_variable.key_action);
-001F89 FF                MOV     R7,A
-001F8A 02108B            LJMP    _YC_key_action_handle
-  286: 			break;
-  287: 		}
-001F8D         ?C0043?SYS:
-  288: 
-  289: 
-  290: 		if (g_variable.recon_count != 0)
-001F8D 904CF0            MOV     DPTR,#g_variable+031H
-001F90 E0                MOVX    A,@DPTR
-001F91 6008              JZ      ?C0044?SYS
-  291: 		{
-  292: 			YC_load_record_list(recon_index);
-001F93 904DD6            MOV     DPTR,#recon_index
-001F96 E0                MOVX    A,@DPTR
-001F97 FF                MOV     R7,A
-001F98 020737            LJMP    _YC_load_record_list
-  293: 			break;
-  294: 		}
-001F9B         ?C0044?SYS:
-  295: 
-  296: 		System_long_sleep();		
-001F9B 120FB2            LCALL   System_long_sleep
-  297: 		g_variable.sleepTimer = 0;
-001F9E E4                CLR     A
-001F9F 904CE3            MOV     DPTR,#g_variable+024H
-001FA2 F0                MOVX    @DPTR,A
-001FA3 A3                INC     DPTR
-001FA4 F0                MOVX    @DPTR,A
-  298: 		break;
-  299: 	}
-  300: }
-001FA5         ?C0045?SYS:
-001FA5 22                RET     
+001EB7 7003              JNZ     ?C0037?SYS
+  246: 			LED_device_poweroff();
+001EB9 12177E            LCALL   LED_device_poweroff
+001EBC         ?C0037?SYS:
+  247: 		g_variable.pairing_timeout = 0;
+001EBC E4                CLR     A
+001EBD 904CE9            MOV     DPTR,#g_variable+02AH
+001EC0 F0                MOVX    @DPTR,A
+  248: 		g_variable.sleepTimer = 0;
+001EC1 904CE3            MOV     DPTR,#g_variable+024H
+001EC4 F0                MOVX    @DPTR,A
+001EC5 A3                INC     DPTR
+001EC6 F0                MOVX    @DPTR,A
+  249: 		break;
+001EC7 22                RET     
+  250: 	case IPC_EVT_LE_PROTOCOL_CONNECTED:
+001EC8         ?C0038?SYS:
+  251: 	    	g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTED;
+001EC8 904CC7            MOV     DPTR,#g_variable+08H
+001ECB 7404              MOV     A,#04H
+001ECD F0                MOVX    @DPTR,A
+  252: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
+001ECE E4                CLR     A
+001ECF A3                INC     DPTR
+001ED0 F0                MOVX    @DPTR,A
+  253: 		YC_clear_reconnect_flag();
+001ED1 1217F7            LCALL   YC_clear_reconnect_flag
+  254: 		g_variable.release_data = 0;
+001ED4 E4                CLR     A
+001ED5 904CEB            MOV     DPTR,#g_variable+02CH
+001ED8 F0                MOVX    @DPTR,A
+  255: 		le_send_battery_level_delay_count = 10;
+001ED9 904DDB            MOV     DPTR,#le_send_battery_level_delay_count
+001EDC 740A              MOV     A,#0AH
+001EDE F0                MOVX    @DPTR,A
+  256: 		g_variable.last_device_num = g_variable.current_device_num;
+001EDF 904CC3            MOV     DPTR,#g_variable+04H
+001EE2 E0                MOVX    A,@DPTR
+001EE3 904CC0            MOV     DPTR,#g_variable+01H
+001EE6 F0                MOVX    @DPTR,A
+  257: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+001EE7 904CBF            MOV     DPTR,#g_variable
+001EEA 7403              MOV     A,#03H
+001EEC F0                MOVX    @DPTR,A
+  258: 		break;
+001EED 22                RET     
+  259: 	case IPC_EVT_LE_ENC_INFO:
+001EEE         ?C0039?SYS:
+  260: 		YC_store_record_list(1, g_variable.current_device_num-1);
+001EEE 904CC3            MOV     DPTR,#g_variable+04H
+001EF1 E0                MOVX    A,@DPTR
+001EF2 14                DEC     A
+001EF3 FD                MOV     R5,A
+001EF4 7F01              MOV     R7,#01H
+001EF6 120803            LCALL   _YC_store_record_list
+  261: 		g_variable.last_device_num = g_variable.current_device_num;
+001EF9 904CC3            MOV     DPTR,#g_variable+04H
+001EFC E0                MOVX    A,@DPTR
+001EFD 904CC0            MOV     DPTR,#g_variable+01H
+001F00 F0                MOVX    @DPTR,A
+  262: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+001F01 904CBF            MOV     DPTR,#g_variable
+001F04 7403              MOV     A,#03H
+001F06 F0                MOVX    @DPTR,A
+  263: 		break;
+001F07 22                RET     
+  264: 
+  265: 	case IPC_EVT_LE_PINCODE_REQ:
+001F08         ?C0040?SYS:
+  266: 		le_pin_code = 0;
+001F08 904D39            MOV     DPTR,#le_pin_code
+001F0B 120582            LCALL   ?C?LSTKXDATA
+001F0E 00                DB      00H
+001F0F 00                DB      00H
+001F10 00                DB      00H
+001F11 00                DB      00H
+  267: 		le_pin_code_len = 0;
+001F12 E4                CLR     A
+001F13 904DD7            MOV     DPTR,#le_pin_code_len
+001F16 F0                MOVX    @DPTR,A
+  268: 		pinCode_flag = 1;
+001F17 904DDE            MOV     DPTR,#pinCode_flag
+001F1A 04                INC     A
+001F1B F0                MOVX    @DPTR,A
+  269: 		g_variable.ble_currentSubState =  CHANGE_TO_BLE_SUB_PINCODE;
+001F1C 904CC8            MOV     DPTR,#g_variable+09H
+001F1F 04                INC     A
+001F20 F0                MOVX    @DPTR,A
+  270: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
+001F21 904CC7            MOV     DPTR,#g_variable+08H
+001F24 04                INC     A
+001F25 F0                MOVX    @DPTR,A
+  271: 		break;
+001F26 22                RET     
+  272: 		
+  273: 	case IPC_EVT_LE_DISCONNECTED:	
+001F27         ?C0041?SYS:
+  274: 		g_variable.history_state = g_variable.ble_currentState ;
+001F27 904CC7            MOV     DPTR,#g_variable+08H
+001F2A E0                MOVX    A,@DPTR
+001F2B 904CCB            MOV     DPTR,#g_variable+0CH
+001F2E F0                MOVX    @DPTR,A
+  275: 		g_variable.ble_currentState = CHANGE_TO_BLE_DISCONNECT;
+001F2F E4                CLR     A
+001F30 904CC7            MOV     DPTR,#g_variable+08H
+001F33 F0                MOVX    @DPTR,A
+  276: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
+001F34 A3                INC     DPTR
+001F35 F0                MOVX    @DPTR,A
+  277: 		g_variable.release_data = 1;
+001F36 904CEB            MOV     DPTR,#g_variable+02CH
+001F39 04                INC     A
+001F3A F0                MOVX    @DPTR,A
+  278: 		m_le_send_security_request_flag = 0;
+001F3B E4                CLR     A
+001F3C 904D3D            MOV     DPTR,#m_le_send_security_request_flag
+001F3F F0                MOVX    @DPTR,A
+  279: 		if (g_variable.lockLpm == 1)
+001F40 904CEC            MOV     DPTR,#g_variable+02DH
+001F43 E0                MOVX    A,@DPTR
+001F44 B40105            CJNE    A,#01H,?C0042?SYS
+  280: 		{
+  281: 			g_variable.lockLpm =0;
+001F47 E4                CLR     A
+001F48 F0                MOVX    @DPTR,A
+  282: 			System_long_sleep();
+001F49 020FB2            LJMP    System_long_sleep
+  283: 			break;
+  284: 		}
+001F4C         ?C0042?SYS:
+  285: 
+  286: 		if (g_variable.key_action != KEY_NONE)
+001F4C 904CED            MOV     DPTR,#g_variable+02EH
+001F4F E0                MOVX    A,@DPTR
+001F50 6004              JZ      ?C0043?SYS
+  287: 		{
+  288: 			YC_key_action_handle(g_variable.key_action);
+001F52 FF                MOV     R7,A
+001F53 02108B            LJMP    _YC_key_action_handle
+  289: 			break;
+  290: 		}
+001F56         ?C0043?SYS:
+  291: 
+  292: 
+  293: 		if (g_variable.recon_count != 0)
+001F56 904CF0            MOV     DPTR,#g_variable+031H
+001F59 E0                MOVX    A,@DPTR
+001F5A 6008              JZ      ?C0044?SYS
+  294: 		{
+  295: 			YC_load_record_list(recon_index);
+001F5C 904DD6            MOV     DPTR,#recon_index
+001F5F E0                MOVX    A,@DPTR
+001F60 FF                MOV     R7,A
+001F61 020737            LJMP    _YC_load_record_list
+  296: 			break;
+  297: 		}
+001F64         ?C0044?SYS:
+  298: 
+  299: 		System_long_sleep();		
+001F64 120FB2            LCALL   System_long_sleep
+  300: 		g_variable.sleepTimer = 0;
+001F67 E4                CLR     A
+001F68 904CE3            MOV     DPTR,#g_variable+024H
+001F6B F0                MOVX    @DPTR,A
+001F6C A3                INC     DPTR
+001F6D F0                MOVX    @DPTR,A
+  301: 		break;
+  302: 	}
+  303: }
+001F6E         ?C0045?SYS:
+001F6E 22                RET     
 ----- FUNCTION _kb_cb_event (END) -------
 
 
 ----- FUNCTION KS_Initialize (BEGIN) -----
  FILE: 'keyscan.c'
-  207: void KS_Initialize()
-  208: {
-  209: 	REG_GPIO_SELECT(0) = 0;
-  210: 	REG_GPIO_SELECT(1) = 0;
-001FA6 908080            MOV     DPTR,#08080H
-001FA9 E4                CLR     A
-001FAA F0                MOVX    @DPTR,A
-  211: 	REG_GPIO_SELECT(2) = 0;
-001FAB A3                INC     DPTR
-001FAC F0                MOVX    @DPTR,A
-  212: 	ksRawInitialize();
-001FAD A3                INC     DPTR
-001FAE F0                MOVX    @DPTR,A
-  213: 	ksColInitialize();
-001FAF F1D0              ACALL   ksRawInitialize
+  206: void KS_Initialize()
+  207: {
+  208: 	REG_GPIO_SELECT(0) = 0;
+  209: 	REG_GPIO_SELECT(1) = 0;
+001F6F 908080            MOV     DPTR,#08080H
+001F72 E4                CLR     A
+001F73 F0                MOVX    @DPTR,A
+  210: 	REG_GPIO_SELECT(2) = 0;
+001F74 A3                INC     DPTR
+001F75 F0                MOVX    @DPTR,A
+  211: 	ksRawInitialize();
+001F76 A3                INC     DPTR
+001F77 F0                MOVX    @DPTR,A
+  212: 	ksColInitialize();
+001F78 F198              ACALL   ksRawInitialize
 ;----                  JMP     ksColInitialize
-  214: }
+  213: }
 ----- FUNCTION KS_Initialize (END) -------
 
 
 ----- FUNCTION ksColInitialize (BEGIN) -----
  FILE: 'keyscan.c'
-  199: static void ksColInitialize()
-  200: {
-  201: 	byte i = 0;
-  202: 	for (i=0; col[i]!=0; i++) {
-001FB1 E4                CLR     A
-001FB2 904F05            MOV     DPTR,#i
-001FB5 F0                MOVX    @DPTR,A
-  203: 		GPIO_SetInput(col[i], 0);
-001FB6 F0                MOVX    @DPTR,A
-001FB7         ?C0032?KEYSCAN:
-001FB7 904F05            MOV     DPTR,#i
-001FBA E0                MOVX    A,@DPTR
-001FBB 900681            MOV     DPTR,#col
-001FBE 93                MOVC    A,@A+DPTR
-001FBF FF                MOV     R7,A
-001FC0 600D              JZ      ?C0035?KEYSCAN
-  204: 	}
-001FC2 C205              CLR     ?_GPIO_SetInput?BIT
-001FC4 123533            LCALL   _GPIO_SetInput
-  205: }
-001FC7 904F05            MOV     DPTR,#i
-001FCA E0                MOVX    A,@DPTR
-001FCB 04                INC     A
-001FCC F0                MOVX    @DPTR,A
-001FCD 80E8              SJMP    ?C0032?KEYSCAN
-  206: 
-001FCF         ?C0035?KEYSCAN:
-001FCF 22                RET     
+  198: static void ksColInitialize()
+  199: {
+  200: 	byte i = 0;
+  201: 	for (i=0; col[i]!=0; i++) {
+001F7A E4                CLR     A
+001F7B 904F05            MOV     DPTR,#i
+001F7E F0                MOVX    @DPTR,A
+  202: 		GPIO_SetInput(col[i], 0);
+001F7F F0                MOVX    @DPTR,A
+001F80         ?C0032?KEYSCAN:
+001F80 904F05            MOV     DPTR,#i
+001F83 E0                MOVX    A,@DPTR
+001F84 900681            MOV     DPTR,#col
+001F87 93                MOVC    A,@A+DPTR
+001F88 FF                MOV     R7,A
+001F89 600C              JZ      ?C0035?KEYSCAN
+  203: 	}
+001F8B C205              CLR     ?_GPIO_SetInput?BIT
+001F8D F1B5              ACALL   _GPIO_SetInput
+  204: }
+001F8F 904F05            MOV     DPTR,#i
+001F92 E0                MOVX    A,@DPTR
+001F93 04                INC     A
+001F94 F0                MOVX    @DPTR,A
+001F95 80E9              SJMP    ?C0032?KEYSCAN
+  205: 
+001F97         ?C0035?KEYSCAN:
+001F97 22                RET     
 ----- FUNCTION ksColInitialize (END) -------
 
 
 ----- FUNCTION ksRawInitialize (BEGIN) -----
  FILE: 'keyscan.c'
-  190: static void ksRawInitialize()
-  191: {
-  192: 	byte i = 0;
-  193: 	
-001FD0 E4                CLR     A
-001FD1 904F04            MOV     DPTR,#i
-001FD4 F0                MOVX    @DPTR,A
-  194: 	for (i=0; i<8; i++) {
-001FD5 F0                MOVX    @DPTR,A
-001FD6         ?C0028?KEYSCAN:
-001FD6 904F04            MOV     DPTR,#i
-001FD9 E0                MOVX    A,@DPTR
-001FDA FF                MOV     R7,A
-001FDB C3                CLR     C
-001FDC 9408              SUBB    A,#08H
-001FDE 500D              JNC     ?C0031?KEYSCAN
-  195: 		GPIO_SetInput(i, 0);
-001FE0 C205              CLR     ?_GPIO_SetInput?BIT
-001FE2 123533            LCALL   _GPIO_SetInput
-  196: 	}
-001FE5 904F04            MOV     DPTR,#i
-001FE8 E0                MOVX    A,@DPTR
-001FE9 04                INC     A
-001FEA F0                MOVX    @DPTR,A
-001FEB 80E9              SJMP    ?C0028?KEYSCAN
-  197: }
-001FED         ?C0031?KEYSCAN:
-001FED 22                RET     
+  189: static void ksRawInitialize()
+  190: {
+  191: 	byte i = 0;
+  192: 	
+001F98 E4                CLR     A
+001F99 904F04            MOV     DPTR,#i
+001F9C F0                MOVX    @DPTR,A
+  193: 	for (i=0; i<8; i++) {
+001F9D F0                MOVX    @DPTR,A
+001F9E         ?C0028?KEYSCAN:
+001F9E 904F04            MOV     DPTR,#i
+001FA1 E0                MOVX    A,@DPTR
+001FA2 FF                MOV     R7,A
+001FA3 C3                CLR     C
+001FA4 9408              SUBB    A,#08H
+001FA6 500C              JNC     ?C0031?KEYSCAN
+  194: 		GPIO_SetInput(i, 0);
+001FA8 C205              CLR     ?_GPIO_SetInput?BIT
+001FAA F1B5              ACALL   _GPIO_SetInput
+  195: 	}
+001FAC 904F04            MOV     DPTR,#i
+001FAF E0                MOVX    A,@DPTR
+001FB0 04                INC     A
+001FB1 F0                MOVX    @DPTR,A
+001FB2 80EA              SJMP    ?C0028?KEYSCAN
+  196: }
+001FB4         ?C0031?KEYSCAN:
+001FB4 22                RET     
 ----- FUNCTION ksRawInitialize (END) -------
 
 
+----- FUNCTION _GPIO_SetInput (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R4' ----
+001FB5 AC07              MOV     R4,AR7
+001FB7 EC                MOV     A,R4
+001FB8 F4                CPL     A
+001FB9 6019              JZ      ?C0015?GPIO
+001FBB         ?C0014?GPIO:
+001FBB AF04              MOV     R7,AR4
+001FBD A205              MOV     C,st
+001FBF 9203              MOV     ?_GPIO_SetPd?BIT,C
+001FC1 12357E            LCALL   _GPIO_SetPd
+001FC4 AF04              MOV     R7,AR4
+001FC6 A205              MOV     C,st
+001FC8 B3                CPL     C
+001FC9 9202              MOV     ?_GPIO_SetPu?BIT,C
+001FCB F1D5              ACALL   _GPIO_SetPu
+001FCD AF04              MOV     R7,AR4
+001FCF C204              CLR     ?_GPIO_Setoe?BIT
+001FD1 12358F            LCALL   _GPIO_Setoe
+001FD4         ?C0015?GPIO:
+001FD4 22                RET     
+----- FUNCTION _GPIO_SetInput (END) -------
+
+
+----- FUNCTION _GPIO_SetPu (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+001FD5 EF                MOV     A,R7
+001FD6 F4                CPL     A
+001FD7 600D              JZ      ?C0009?GPIO
+001FD9         ?C0008?GPIO:
+001FD9 7B01              MOV     R3,#01H
+001FDB 7A80              MOV     R2,#080H
+001FDD 7978              MOV     R1,#078H
+001FDF A202              MOV     C,bit_val
+001FE1 9200              MOV     ?_gpioSetBit?BIT,C
+001FE3 12351D            LCALL   _gpioSetBit
+001FE6         ?C0009?GPIO:
+001FE6 22                RET     
+----- FUNCTION _GPIO_SetPu (END) -------
+
+
 ----- FUNCTION _kb_set_multikey (BEGIN) -----
  FILE: 'kb_process.c'
-  172: void kb_set_multikey(word multikey_value)
-  173: {
+  176: void kb_set_multikey(word multikey_value)
+  177: {
 ;---- Variable 'multikey_value' assigned to Register 'R4/R5' ----
-001FEE AD07              MOV     R5,AR7
-001FF0 AC06              MOV     R4,AR6
-  174: 	if(mult_key_status != KEY_WAIT_RELEASE)
-  175: 	{
-001FF2 904E4B            MOV     DPTR,#mult_key_status
-001FF5 E0                MOVX    A,@DPTR
-001FF6 6402              XRL     A,#02H
-001FF8 600E              JZ      ?C0047?KB_PROCESS
-  176: 		mult_key_status = KEY_MULIT_PRESS;
-  177: 		multikey[0] = HID_REPORTID_2;
-001FFA 7401              MOV     A,#01H
-001FFC F0                MOVX    @DPTR,A
-  178: 		multikey[1] = (multikey_value&0xff);
-001FFD 904E4C            MOV     DPTR,#multikey
-002000 04                INC     A
-002001 F0                MOVX    @DPTR,A
-  179: 		multikey[2] = ((multikey_value>>8)&0xff);
-002002 EF                MOV     A,R7
-002003 A3                INC     DPTR
-002004 F0                MOVX    @DPTR,A
-  180: 	}
-002005 EE                MOV     A,R6
-002006 A3                INC     DPTR
-002007 F0                MOVX    @DPTR,A
-  181: }
-  182: 
-002008         ?C0047?KB_PROCESS:
-002008 22                RET     
+001FE7 AD07              MOV     R5,AR7
+001FE9 AC06              MOV     R4,AR6
+  178: 	if(mult_key_status != KEY_WAIT_RELEASE)
+  179: 	{
+001FEB 904E4B            MOV     DPTR,#mult_key_status
+001FEE E0                MOVX    A,@DPTR
+001FEF 6402              XRL     A,#02H
+001FF1 600E              JZ      ?C0047?KB_PROCESS
+  180: 		mult_key_status = KEY_MULIT_PRESS;
+  181: 		multikey[0] = HID_REPORTID_2;
+001FF3 7401              MOV     A,#01H
+001FF5 F0                MOVX    @DPTR,A
+  182: 		multikey[1] = (multikey_value&0xff);
+001FF6 904E4C            MOV     DPTR,#multikey
+001FF9 04                INC     A
+001FFA F0                MOVX    @DPTR,A
+  183: 		multikey[2] = ((multikey_value>>8)&0xff);
+001FFB EF                MOV     A,R7
+001FFC A3                INC     DPTR
+001FFD F0                MOVX    @DPTR,A
+  184: 	}
+001FFE EE                MOV     A,R6
+001FFF A3                INC     DPTR
+002000 F0                MOVX    @DPTR,A
+  185: }
+  186: 
+002001         ?C0047?KB_PROCESS:
+002001 22                RET     
 ----- FUNCTION _kb_set_multikey (END) -------
 
 
 ----- FUNCTION _kb_set_systemkey (BEGIN) -----
  FILE: 'kb_process.c'
-  183: void kb_set_systemkey(byte systemkey_value)
-  184: {
+  187: void kb_set_systemkey(byte systemkey_value)
+  188: {
 ;---- Variable 'systemkey_value' assigned to Register 'R7' ----
-  185: 	if(mult_key_status != KEY_WAIT_RELEASE)
-  186: 	{
-002009 904E4B            MOV     DPTR,#mult_key_status
-00200C E0                MOVX    A,@DPTR
-00200D 6402              XRL     A,#02H
-00200F 6012              JZ      ?C0049?KB_PROCESS
-  187: 		mult_key_status = KEY_SYSTEM_PRESS;
-  188: 		system_key_press = 1;
-002011 7404              MOV     A,#04H
-002013 F0                MOVX    @DPTR,A
-  189: 		multikey[0] = HID_REPORTID_SYSTEM;
-002014 904DE9            MOV     DPTR,#system_key_press
-002017 7401              MOV     A,#01H
-002019 F0                MOVX    @DPTR,A
-  190: 		multikey[1] = systemkey_value;
-00201A 904E4C            MOV     DPTR,#multikey
-00201D 7406              MOV     A,#06H
-00201F F0                MOVX    @DPTR,A
-  191: 	}
-002020 A3                INC     DPTR
-002021 EF                MOV     A,R7
-002022 F0                MOVX    @DPTR,A
-  192: }
-  193: 
-002023         ?C0049?KB_PROCESS:
-002023 22                RET     
+  189: 	if(mult_key_status != KEY_WAIT_RELEASE)
+  190: 	{
+002002 904E4B            MOV     DPTR,#mult_key_status
+002005 E0                MOVX    A,@DPTR
+002006 6402              XRL     A,#02H
+002008 6012              JZ      ?C0049?KB_PROCESS
+  191: 		mult_key_status = KEY_SYSTEM_PRESS;
+  192: 		system_key_press = 1;
+00200A 7404              MOV     A,#04H
+00200C F0                MOVX    @DPTR,A
+  193: 		multikey[0] = HID_REPORTID_SYSTEM;
+00200D 904DE9            MOV     DPTR,#system_key_press
+002010 7401              MOV     A,#01H
+002012 F0                MOVX    @DPTR,A
+  194: 		multikey[1] = systemkey_value;
+002013 904E4C            MOV     DPTR,#multikey
+002016 7406              MOV     A,#06H
+002018 F0                MOVX    @DPTR,A
+  195: 	}
+002019 A3                INC     DPTR
+00201A EF                MOV     A,R7
+00201B F0                MOVX    @DPTR,A
+  196: }
+  197: 
+00201C         ?C0049?KB_PROCESS:
+00201C 22                RET     
 ----- FUNCTION _kb_set_systemkey (END) -------
 
 
 ----- FUNCTION _kb_multikey_setup (BEGIN) -----
  FILE: 'kb_process.c'
-  800: void kb_multikey_setup(tKSEVENT *pEvt)
-  801: {
-002024 904ED8            MOV     DPTR,#pEvt
-002027 EB                MOV     A,R3
-002028 F0                MOVX    @DPTR,A
+  804: void kb_multikey_setup(tKSEVENT *pEvt)
+  805: {
+00201D 904ED8            MOV     DPTR,#pEvt
+002020 EB                MOV     A,R3
+002021 F0                MOVX    @DPTR,A
+002022 A3                INC     DPTR
+002023 EA                MOV     A,R2
+002024 F0                MOVX    @DPTR,A
+002025 A3                INC     DPTR
+002026 E9                MOV     A,R1
+002027 F0                MOVX    @DPTR,A
+  806: 	byte i = 0;
+  807: 	
+002028 E4                CLR     A
 002029 A3                INC     DPTR
-00202A EA                MOV     A,R2
+00202A F0                MOVX    @DPTR,A
+  808: 	for (i = 0;i < 6;i++)
 00202B F0                MOVX    @DPTR,A
-00202C A3                INC     DPTR
-00202D E9                MOV     A,R1
-00202E F0                MOVX    @DPTR,A
-  802: 	byte i = 0;
-  803: 	
-00202F E4                CLR     A
-002030 A3                INC     DPTR
-002031 F0                MOVX    @DPTR,A
-  804: 	for (i = 0;i < 6;i++)
-002032 F0                MOVX    @DPTR,A
-002033         ?C0198?KB_PROCESS:
-002033 904EDB            MOV     DPTR,#i
-002036 E0                MOVX    A,@DPTR
-002037 FF                MOV     R7,A
-002038 C3                CLR     C
-002039 9406              SUBB    A,#06H
-00203B 4002              JC      $ + 4H
-00203D 613A              AJMP    ?C0257?KB_PROCESS
-  805: 	{		
-  806: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
-00203F 904ED8            MOV     DPTR,#pEvt
-002042 E0                MOVX    A,@DPTR
-002043 FB                MOV     R3,A
-002044 A3                INC     DPTR
-002045 E0                MOVX    A,@DPTR
-002046 FA                MOV     R2,A
-002047 A3                INC     DPTR
-002048 E0                MOVX    A,@DPTR
-002049 2401              ADD     A,#01H
-00204B F9                MOV     R1,A
-00204C E4                CLR     A
-00204D 3A                ADDC    A,R2
-00204E FA                MOV     R2,A
-00204F 7E00              MOV     R6,#00H
-002051 E9                MOV     A,R1
-002052 2F                ADD     A,R7
-002053 F9                MOV     R1,A
-002054 EE                MOV     A,R6
-002055 3A                ADDC    A,R2
-002056 FA                MOV     R2,A
-002057 1203B6            LCALL   ?C?CLDPTR
-00205A FF                MOV     R7,A
-00205B 54F0              ANL     A,#0F0H
-00205D 64F0              XRL     A,#0F0H
-00205F 6009              JZ      ?C0202?KB_PROCESS
-002061 EF                MOV     A,R7
-002062 54D0              ANL     A,#0D0H
-002064 64D0              XRL     A,#0D0H
-002066 6002              JZ      $ + 4H
-002068 6132              AJMP    ?C0200?KB_PROCESS
-00206A         ?C0202?KB_PROCESS:
-  807: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  808: 		{
-  809: 			
-  810: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
-00206A 1203B6            LCALL   ?C?CLDPTR
-00206D FB                MOV     R3,A
-00206E B4F109            CJNE    A,#0F1H,?C0203?KB_PROCESS
-  811: 			{
-  812: 				kb_set_multikey(0x0183); 
-002071 7F83              MOV     R7,#083H
-002073 7E01              MOV     R6,#01H
-002075 121FEE            LCALL   _kb_set_multikey
-  813: 			}
-002078 6107              AJMP    ?C0204?KB_PROCESS
-00207A         ?C0203?KB_PROCESS:
-  814: 			else
-  815: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
-00207A EB                MOV     A,R3
-00207B B4F209            CJNE    A,#0F2H,?C0205?KB_PROCESS
-  816: 			{ 
-  817: 				kb_set_multikey(0x00cd);
-00207E 7FCD              MOV     R7,#0CDH
-002080 7E00              MOV     R6,#00H
-002082 121FEE            LCALL   _kb_set_multikey
-  818: 			}
-002085 6107              AJMP    ?C0204?KB_PROCESS
-002087         ?C0205?KB_PROCESS:
-  819: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
-002087 904ED8            MOV     DPTR,#pEvt
-00208A E0                MOVX    A,@DPTR
-00208B FB                MOV     R3,A
-00208C A3                INC     DPTR
-00208D E0                MOVX    A,@DPTR
-00208E FA                MOV     R2,A
-00208F A3                INC     DPTR
-002090 E0                MOVX    A,@DPTR
-002091 2401              ADD     A,#01H
-002093 F9                MOV     R1,A
-002094 E4                CLR     A
-002095 3A                ADDC    A,R2
-002096 FA                MOV     R2,A
-002097 A3                INC     DPTR
-002098 E0                MOVX    A,@DPTR
-002099 7E00              MOV     R6,#00H
-00209B 29                ADD     A,R1
-00209C F9                MOV     R1,A
-00209D EE                MOV     A,R6
-00209E 3A                ADDC    A,R2
-00209F FA                MOV     R2,A
-0020A0 1203B6            LCALL   ?C?CLDPTR
-0020A3 FB                MOV     R3,A
-0020A4 B4F307            CJNE    A,#0F3H,?C0207?KB_PROCESS
-  820: 			{
-  821: 				kb_set_multikey(0x00b7);
-0020A7 7FB7              MOV     R7,#0B7H
-0020A9 121FEE            LCALL   _kb_set_multikey
-  822: 			}	
-0020AC 6107              AJMP    ?C0204?KB_PROCESS
-0020AE         ?C0207?KB_PROCESS:
-  823: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
-0020AE EB                MOV     A,R3
-0020AF B4F409            CJNE    A,#0F4H,?C0209?KB_PROCESS
+00202C         ?C0198?KB_PROCESS:
+00202C 904EDB            MOV     DPTR,#i
+00202F E0                MOVX    A,@DPTR
+002030 FF                MOV     R7,A
+002031 C3                CLR     C
+002032 9406              SUBB    A,#06H
+002034 4002              JC      $ + 4H
+002036 6133              AJMP    ?C0257?KB_PROCESS
+  809: 	{		
+  810: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+002038 904ED8            MOV     DPTR,#pEvt
+00203B E0                MOVX    A,@DPTR
+00203C FB                MOV     R3,A
+00203D A3                INC     DPTR
+00203E E0                MOVX    A,@DPTR
+00203F FA                MOV     R2,A
+002040 A3                INC     DPTR
+002041 E0                MOVX    A,@DPTR
+002042 2401              ADD     A,#01H
+002044 F9                MOV     R1,A
+002045 E4                CLR     A
+002046 3A                ADDC    A,R2
+002047 FA                MOV     R2,A
+002048 7E00              MOV     R6,#00H
+00204A E9                MOV     A,R1
+00204B 2F                ADD     A,R7
+00204C F9                MOV     R1,A
+00204D EE                MOV     A,R6
+00204E 3A                ADDC    A,R2
+00204F FA                MOV     R2,A
+002050 1203B6            LCALL   ?C?CLDPTR
+002053 FF                MOV     R7,A
+002054 54F0              ANL     A,#0F0H
+002056 64F0              XRL     A,#0F0H
+002058 6009              JZ      ?C0202?KB_PROCESS
+00205A EF                MOV     A,R7
+00205B 54D0              ANL     A,#0D0H
+00205D 64D0              XRL     A,#0D0H
+00205F 6002              JZ      $ + 4H
+002061 612B              AJMP    ?C0200?KB_PROCESS
+002063         ?C0202?KB_PROCESS:
+  811: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  812: 		{
+  813: 			
+  814: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+002063 1203B6            LCALL   ?C?CLDPTR
+002066 FB                MOV     R3,A
+002067 B4F109            CJNE    A,#0F1H,?C0203?KB_PROCESS
+  815: 			{
+  816: 				kb_set_multikey(0x0183); 
+00206A 7F83              MOV     R7,#083H
+00206C 7E01              MOV     R6,#01H
+00206E 121FE7            LCALL   _kb_set_multikey
+  817: 			}
+002071 6100              AJMP    ?C0204?KB_PROCESS
+002073         ?C0203?KB_PROCESS:
+  818: 			else
+  819: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+002073 EB                MOV     A,R3
+002074 B4F209            CJNE    A,#0F2H,?C0205?KB_PROCESS
+  820: 			{ 
+  821: 				kb_set_multikey(0x00cd);
+002077 7FCD              MOV     R7,#0CDH
+002079 7E00              MOV     R6,#00H
+00207B 121FE7            LCALL   _kb_set_multikey
+  822: 			}
+00207E 6100              AJMP    ?C0204?KB_PROCESS
+002080         ?C0205?KB_PROCESS:
+  823: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+002080 904ED8            MOV     DPTR,#pEvt
+002083 E0                MOVX    A,@DPTR
+002084 FB                MOV     R3,A
+002085 A3                INC     DPTR
+002086 E0                MOVX    A,@DPTR
+002087 FA                MOV     R2,A
+002088 A3                INC     DPTR
+002089 E0                MOVX    A,@DPTR
+00208A 2401              ADD     A,#01H
+00208C F9                MOV     R1,A
+00208D E4                CLR     A
+00208E 3A                ADDC    A,R2
+00208F FA                MOV     R2,A
+002090 A3                INC     DPTR
+002091 E0                MOVX    A,@DPTR
+002092 7E00              MOV     R6,#00H
+002094 29                ADD     A,R1
+002095 F9                MOV     R1,A
+002096 EE                MOV     A,R6
+002097 3A                ADDC    A,R2
+002098 FA                MOV     R2,A
+002099 1203B6            LCALL   ?C?CLDPTR
+00209C FB                MOV     R3,A
+00209D B4F307            CJNE    A,#0F3H,?C0207?KB_PROCESS
   824: 			{
-  825: 				kb_set_multikey(0x00b6);
-0020B2 7FB6              MOV     R7,#0B6H
-0020B4 7E00              MOV     R6,#00H
-0020B6 121FEE            LCALL   _kb_set_multikey
-  826: 			}
-0020B9 6107              AJMP    ?C0204?KB_PROCESS
-0020BB         ?C0209?KB_PROCESS:
-  827: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
-0020BB 904ED8            MOV     DPTR,#pEvt
-0020BE E0                MOVX    A,@DPTR
-0020BF FB                MOV     R3,A
-0020C0 A3                INC     DPTR
-0020C1 E0                MOVX    A,@DPTR
-0020C2 FA                MOV     R2,A
-0020C3 A3                INC     DPTR
-0020C4 E0                MOVX    A,@DPTR
-0020C5 2401              ADD     A,#01H
-0020C7 F9                MOV     R1,A
-0020C8 E4                CLR     A
-0020C9 3A                ADDC    A,R2
-0020CA FA                MOV     R2,A
-0020CB A3                INC     DPTR
-0020CC E0                MOVX    A,@DPTR
-0020CD 7E00              MOV     R6,#00H
-0020CF 29                ADD     A,R1
-0020D0 F9                MOV     R1,A
-0020D1 EE                MOV     A,R6
-0020D2 3A                ADDC    A,R2
-0020D3 FA                MOV     R2,A
-0020D4 1203B6            LCALL   ?C?CLDPTR
-0020D7 FB                MOV     R3,A
-0020D8 B4F507            CJNE    A,#0F5H,?C0211?KB_PROCESS
+  825: 				kb_set_multikey(0x00b7);
+0020A0 7FB7              MOV     R7,#0B7H
+0020A2 121FE7            LCALL   _kb_set_multikey
+  826: 			}	
+0020A5 6100              AJMP    ?C0204?KB_PROCESS
+0020A7         ?C0207?KB_PROCESS:
+  827: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+0020A7 EB                MOV     A,R3
+0020A8 B4F409            CJNE    A,#0F4H,?C0209?KB_PROCESS
   828: 			{
-  829: 				kb_set_multikey(0x00b5);
-0020DB 7FB5              MOV     R7,#0B5H
-0020DD 121FEE            LCALL   _kb_set_multikey
+  829: 				kb_set_multikey(0x00b6);
+0020AB 7FB6              MOV     R7,#0B6H
+0020AD 7E00              MOV     R6,#00H
+0020AF 121FE7            LCALL   _kb_set_multikey
   830: 			}
-0020E0 6107              AJMP    ?C0204?KB_PROCESS
-0020E2         ?C0211?KB_PROCESS:
-  831: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
-0020E2 EB                MOV     A,R3
-0020E3 B4F609            CJNE    A,#0F6H,?C0213?KB_PROCESS
+0020B2 6100              AJMP    ?C0204?KB_PROCESS
+0020B4         ?C0209?KB_PROCESS:
+  831: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+0020B4 904ED8            MOV     DPTR,#pEvt
+0020B7 E0                MOVX    A,@DPTR
+0020B8 FB                MOV     R3,A
+0020B9 A3                INC     DPTR
+0020BA E0                MOVX    A,@DPTR
+0020BB FA                MOV     R2,A
+0020BC A3                INC     DPTR
+0020BD E0                MOVX    A,@DPTR
+0020BE 2401              ADD     A,#01H
+0020C0 F9                MOV     R1,A
+0020C1 E4                CLR     A
+0020C2 3A                ADDC    A,R2
+0020C3 FA                MOV     R2,A
+0020C4 A3                INC     DPTR
+0020C5 E0                MOVX    A,@DPTR
+0020C6 7E00              MOV     R6,#00H
+0020C8 29                ADD     A,R1
+0020C9 F9                MOV     R1,A
+0020CA EE                MOV     A,R6
+0020CB 3A                ADDC    A,R2
+0020CC FA                MOV     R2,A
+0020CD 1203B6            LCALL   ?C?CLDPTR
+0020D0 FB                MOV     R3,A
+0020D1 B4F507            CJNE    A,#0F5H,?C0211?KB_PROCESS
   832: 			{
-  833: 				kb_set_multikey(0x00ea);
-0020E6 7FEA              MOV     R7,#0EAH
-0020E8 7E00              MOV     R6,#00H
-0020EA 121FEE            LCALL   _kb_set_multikey
+  833: 				kb_set_multikey(0x00b5);
+0020D4 7FB5              MOV     R7,#0B5H
+0020D6 121FE7            LCALL   _kb_set_multikey
   834: 			}
-0020ED 6107              AJMP    ?C0204?KB_PROCESS
-0020EF         ?C0213?KB_PROCESS:
-  835: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
-0020EF 904ED8            MOV     DPTR,#pEvt
-0020F2 E0                MOVX    A,@DPTR
-0020F3 FB                MOV     R3,A
-0020F4 A3                INC     DPTR
-0020F5 E0                MOVX    A,@DPTR
-0020F6 FA                MOV     R2,A
-0020F7 A3                INC     DPTR
-0020F8 E0                MOVX    A,@DPTR
-0020F9 2401              ADD     A,#01H
-0020FB F9                MOV     R1,A
-0020FC E4                CLR     A
-0020FD 3A                ADDC    A,R2
-0020FE FA                MOV     R2,A
-0020FF A3                INC     DPTR
-002100 E0                MOVX    A,@DPTR
-002101 7E00              MOV     R6,#00H
-002103 29                ADD     A,R1
-002104 F9                MOV     R1,A
-002105 EE                MOV     A,R6
-002106 3A                ADDC    A,R2
-002107 FA                MOV     R2,A
-002108 1203B6            LCALL   ?C?CLDPTR
-00210B FB                MOV     R3,A
-00210C B4F707            CJNE    A,#0F7H,?C0215?KB_PROCESS
+0020D9 6100              AJMP    ?C0204?KB_PROCESS
+0020DB         ?C0211?KB_PROCESS:
+  835: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+0020DB EB                MOV     A,R3
+0020DC B4F609            CJNE    A,#0F6H,?C0213?KB_PROCESS
   836: 			{
-  837: 				kb_set_multikey(0x00e9);
-00210F 7FE9              MOV     R7,#0E9H
-002111 121FEE            LCALL   _kb_set_multikey
+  837: 				kb_set_multikey(0x00ea);
+0020DF 7FEA              MOV     R7,#0EAH
+0020E1 7E00              MOV     R6,#00H
+0020E3 121FE7            LCALL   _kb_set_multikey
   838: 			}
-002114 6107              AJMP    ?C0204?KB_PROCESS
-002116         ?C0215?KB_PROCESS:
-  839: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
-002116 EB                MOV     A,R3
-002117 B4F809            CJNE    A,#0F8H,?C0217?KB_PROCESS
+0020E6 6100              AJMP    ?C0204?KB_PROCESS
+0020E8         ?C0213?KB_PROCESS:
+  839: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+0020E8 904ED8            MOV     DPTR,#pEvt
+0020EB E0                MOVX    A,@DPTR
+0020EC FB                MOV     R3,A
+0020ED A3                INC     DPTR
+0020EE E0                MOVX    A,@DPTR
+0020EF FA                MOV     R2,A
+0020F0 A3                INC     DPTR
+0020F1 E0                MOVX    A,@DPTR
+0020F2 2401              ADD     A,#01H
+0020F4 F9                MOV     R1,A
+0020F5 E4                CLR     A
+0020F6 3A                ADDC    A,R2
+0020F7 FA                MOV     R2,A
+0020F8 A3                INC     DPTR
+0020F9 E0                MOVX    A,@DPTR
+0020FA 7E00              MOV     R6,#00H
+0020FC 29                ADD     A,R1
+0020FD F9                MOV     R1,A
+0020FE EE                MOV     A,R6
+0020FF 3A                ADDC    A,R2
+002100 FA                MOV     R2,A
+002101 1203B6            LCALL   ?C?CLDPTR
+002104 FB                MOV     R3,A
+002105 B4F707            CJNE    A,#0F7H,?C0215?KB_PROCESS
   840: 			{
-  841: 				kb_set_multikey(0x00e2);
-00211A 7FE2              MOV     R7,#0E2H
-00211C 7E00              MOV     R6,#00H
-00211E 121FEE            LCALL   _kb_set_multikey
+  841: 				kb_set_multikey(0x00e9);
+002108 7FE9              MOV     R7,#0E9H
+00210A 121FE7            LCALL   _kb_set_multikey
   842: 			}
-002121 6107              AJMP    ?C0204?KB_PROCESS
-002123         ?C0217?KB_PROCESS:
-  843: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
-002123 904ED8            MOV     DPTR,#pEvt
-002126 E0                MOVX    A,@DPTR
-002127 FB                MOV     R3,A
-002128 A3                INC     DPTR
-002129 E0                MOVX    A,@DPTR
-00212A FA                MOV     R2,A
-00212B A3                INC     DPTR
-00212C E0                MOVX    A,@DPTR
-00212D 2401              ADD     A,#01H
-00212F F9                MOV     R1,A
-002130 E4                CLR     A
-002131 3A                ADDC    A,R2
-002132 FA                MOV     R2,A
-002133 A3                INC     DPTR
-002134 E0                MOVX    A,@DPTR
-002135 7E00              MOV     R6,#00H
-002137 29                ADD     A,R1
-002138 F9                MOV     R1,A
-002139 EE                MOV     A,R6
-00213A 3A                ADDC    A,R2
-00213B FA                MOV     R2,A
-00213C 1203B6            LCALL   ?C?CLDPTR
-00213F FB                MOV     R3,A
-002140 B4F908            CJNE    A,#0F9H,?C0219?KB_PROCESS
+00210D 6100              AJMP    ?C0204?KB_PROCESS
+00210F         ?C0215?KB_PROCESS:
+  843: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+00210F EB                MOV     A,R3
+002110 B4F809            CJNE    A,#0F8H,?C0217?KB_PROCESS
   844: 			{
-  845: 				kb_set_multikey(0x0194);
-002143 7F94              MOV     R7,#094H
-002145 0E                INC     R6
-002146 121FEE            LCALL   _kb_set_multikey
-  846: 			}	
-002149 6107              AJMP    ?C0204?KB_PROCESS
-00214B         ?C0219?KB_PROCESS:
-  847: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
-00214B EB                MOV     A,R3
-00214C B4FA09            CJNE    A,#0FAH,?C0221?KB_PROCESS
+  845: 				kb_set_multikey(0x00e2);
+002113 7FE2              MOV     R7,#0E2H
+002115 7E00              MOV     R6,#00H
+002117 121FE7            LCALL   _kb_set_multikey
+  846: 			}
+00211A 6100              AJMP    ?C0204?KB_PROCESS
+00211C         ?C0217?KB_PROCESS:
+  847: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+00211C 904ED8            MOV     DPTR,#pEvt
+00211F E0                MOVX    A,@DPTR
+002120 FB                MOV     R3,A
+002121 A3                INC     DPTR
+002122 E0                MOVX    A,@DPTR
+002123 FA                MOV     R2,A
+002124 A3                INC     DPTR
+002125 E0                MOVX    A,@DPTR
+002126 2401              ADD     A,#01H
+002128 F9                MOV     R1,A
+002129 E4                CLR     A
+00212A 3A                ADDC    A,R2
+00212B FA                MOV     R2,A
+00212C A3                INC     DPTR
+00212D E0                MOVX    A,@DPTR
+00212E 7E00              MOV     R6,#00H
+002130 29                ADD     A,R1
+002131 F9                MOV     R1,A
+002132 EE                MOV     A,R6
+002133 3A                ADDC    A,R2
+002134 FA                MOV     R2,A
+002135 1203B6            LCALL   ?C?CLDPTR
+002138 FB                MOV     R3,A
+002139 B4F908            CJNE    A,#0F9H,?C0219?KB_PROCESS
   848: 			{
-  849: 				kb_set_multikey(0x018a);//mail
-00214F 7F8A              MOV     R7,#08AH
-002151 7E01              MOV     R6,#01H
-002153 121FEE            LCALL   _kb_set_multikey
-  850: 			}
-002156 6107              AJMP    ?C0204?KB_PROCESS
-002158         ?C0221?KB_PROCESS:
-  851: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
-002158 904ED8            MOV     DPTR,#pEvt
-00215B E0                MOVX    A,@DPTR
-00215C FB                MOV     R3,A
-00215D A3                INC     DPTR
-00215E E0                MOVX    A,@DPTR
-00215F FA                MOV     R2,A
-002160 A3                INC     DPTR
-002161 E0                MOVX    A,@DPTR
-002162 2401              ADD     A,#01H
-002164 F9                MOV     R1,A
-002165 E4                CLR     A
-002166 3A                ADDC    A,R2
-002167 FA                MOV     R2,A
-002168 A3                INC     DPTR
-002169 E0                MOVX    A,@DPTR
-00216A 7E00              MOV     R6,#00H
-00216C 29                ADD     A,R1
-00216D F9                MOV     R1,A
-00216E EE                MOV     A,R6
-00216F 3A                ADDC    A,R2
-002170 FA                MOV     R2,A
-002171 1203B6            LCALL   ?C?CLDPTR
-002174 FB                MOV     R3,A
-002175 B4FB08            CJNE    A,#0FBH,?C0223?KB_PROCESS
+  849: 				kb_set_multikey(0x0194);
+00213C 7F94              MOV     R7,#094H
+00213E 0E                INC     R6
+00213F 121FE7            LCALL   _kb_set_multikey
+  850: 			}	
+002142 6100              AJMP    ?C0204?KB_PROCESS
+002144         ?C0219?KB_PROCESS:
+  851: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+002144 EB                MOV     A,R3
+002145 B4FA09            CJNE    A,#0FAH,?C0221?KB_PROCESS
   852: 			{
-  853: 				kb_set_multikey(0x0192);
-002178 7F92              MOV     R7,#092H
-00217A 0E                INC     R6
-00217B 121FEE            LCALL   _kb_set_multikey
+  853: 				kb_set_multikey(0x018a);//mail
+002148 7F8A              MOV     R7,#08AH
+00214A 7E01              MOV     R6,#01H
+00214C 121FE7            LCALL   _kb_set_multikey
   854: 			}
-00217E 6107              AJMP    ?C0204?KB_PROCESS
-002180         ?C0223?KB_PROCESS:
-  855: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
-002180 EB                MOV     A,R3
-002181 B4D009            CJNE    A,#0D0H,?C0225?KB_PROCESS
+00214F 6100              AJMP    ?C0204?KB_PROCESS
+002151         ?C0221?KB_PROCESS:
+  855: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+002151 904ED8            MOV     DPTR,#pEvt
+002154 E0                MOVX    A,@DPTR
+002155 FB                MOV     R3,A
+002156 A3                INC     DPTR
+002157 E0                MOVX    A,@DPTR
+002158 FA                MOV     R2,A
+002159 A3                INC     DPTR
+00215A E0                MOVX    A,@DPTR
+00215B 2401              ADD     A,#01H
+00215D F9                MOV     R1,A
+00215E E4                CLR     A
+00215F 3A                ADDC    A,R2
+002160 FA                MOV     R2,A
+002161 A3                INC     DPTR
+002162 E0                MOVX    A,@DPTR
+002163 7E00              MOV     R6,#00H
+002165 29                ADD     A,R1
+002166 F9                MOV     R1,A
+002167 EE                MOV     A,R6
+002168 3A                ADDC    A,R2
+002169 FA                MOV     R2,A
+00216A 1203B6            LCALL   ?C?CLDPTR
+00216D FB                MOV     R3,A
+00216E B4FB08            CJNE    A,#0FBH,?C0223?KB_PROCESS
   856: 			{
-  857: 				kb_set_multikey(0x022a);//www Favorites
-002184 7F2A              MOV     R7,#02AH
-002186 7E02              MOV     R6,#02H
-002188 121FEE            LCALL   _kb_set_multikey
+  857: 				kb_set_multikey(0x0192);
+002171 7F92              MOV     R7,#092H
+002173 0E                INC     R6
+002174 121FE7            LCALL   _kb_set_multikey
   858: 			}
-00218B 6107              AJMP    ?C0204?KB_PROCESS
-00218D         ?C0225?KB_PROCESS:
-  859: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
-00218D 904ED8            MOV     DPTR,#pEvt
-002190 E0                MOVX    A,@DPTR
-002191 FB                MOV     R3,A
-002192 A3                INC     DPTR
-002193 E0                MOVX    A,@DPTR
-002194 FA                MOV     R2,A
-002195 A3                INC     DPTR
-002196 E0                MOVX    A,@DPTR
-002197 2401              ADD     A,#01H
-002199 F9                MOV     R1,A
-00219A E4                CLR     A
-00219B 3A                ADDC    A,R2
-00219C FA                MOV     R2,A
-00219D A3                INC     DPTR
-00219E E0                MOVX    A,@DPTR
-00219F 7E00              MOV     R6,#00H
-0021A1 29                ADD     A,R1
-0021A2 F9                MOV     R1,A
-0021A3 EE                MOV     A,R6
-0021A4 3A                ADDC    A,R2
-0021A5 FA                MOV     R2,A
-0021A6 1203B6            LCALL   ?C?CLDPTR
-0021A9 FB                MOV     R3,A
-0021AA B4D109            CJNE    A,#0D1H,?C0227?KB_PROCESS
+002177 6100              AJMP    ?C0204?KB_PROCESS
+002179         ?C0223?KB_PROCESS:
+  859: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+002179 EB                MOV     A,R3
+00217A B4D009            CJNE    A,#0D0H,?C0225?KB_PROCESS
   860: 			{
-  861: 				kb_set_multikey(0x0225);
-0021AD 7F25              MOV     R7,#025H
-0021AF 7E02              MOV     R6,#02H
-0021B1 121FEE            LCALL   _kb_set_multikey
+  861: 				kb_set_multikey(0x022a);//www Favorites
+00217D 7F2A              MOV     R7,#02AH
+00217F 7E02              MOV     R6,#02H
+002181 121FE7            LCALL   _kb_set_multikey
   862: 			}
-0021B4 6107              AJMP    ?C0204?KB_PROCESS
-0021B6         ?C0227?KB_PROCESS:
-  863: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
-0021B6 EB                MOV     A,R3
-0021B7 B4D309            CJNE    A,#0D3H,?C0229?KB_PROCESS
+002184 6100              AJMP    ?C0204?KB_PROCESS
+002186         ?C0225?KB_PROCESS:
+  863: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+002186 904ED8            MOV     DPTR,#pEvt
+002189 E0                MOVX    A,@DPTR
+00218A FB                MOV     R3,A
+00218B A3                INC     DPTR
+00218C E0                MOVX    A,@DPTR
+00218D FA                MOV     R2,A
+00218E A3                INC     DPTR
+00218F E0                MOVX    A,@DPTR
+002190 2401              ADD     A,#01H
+002192 F9                MOV     R1,A
+002193 E4                CLR     A
+002194 3A                ADDC    A,R2
+002195 FA                MOV     R2,A
+002196 A3                INC     DPTR
+002197 E0                MOVX    A,@DPTR
+002198 7E00              MOV     R6,#00H
+00219A 29                ADD     A,R1
+00219B F9                MOV     R1,A
+00219C EE                MOV     A,R6
+00219D 3A                ADDC    A,R2
+00219E FA                MOV     R2,A
+00219F 1203B6            LCALL   ?C?CLDPTR
+0021A2 FB                MOV     R3,A
+0021A3 B4D109            CJNE    A,#0D1H,?C0227?KB_PROCESS
   864: 			{
-  865: 				kb_set_multikey(0x0226);
-0021BA 7F26              MOV     R7,#026H
-0021BC 7E02              MOV     R6,#02H
-0021BE 121FEE            LCALL   _kb_set_multikey
+  865: 				kb_set_multikey(0x0225);
+0021A6 7F25              MOV     R7,#025H
+0021A8 7E02              MOV     R6,#02H
+0021AA 121FE7            LCALL   _kb_set_multikey
   866: 			}
-0021C1 6107              AJMP    ?C0204?KB_PROCESS
-0021C3         ?C0229?KB_PROCESS:
-  867: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
-0021C3 904ED8            MOV     DPTR,#pEvt
-0021C6 E0                MOVX    A,@DPTR
-0021C7 FB                MOV     R3,A
-0021C8 A3                INC     DPTR
-0021C9 E0                MOVX    A,@DPTR
-0021CA FA                MOV     R2,A
-0021CB A3                INC     DPTR
-0021CC E0                MOVX    A,@DPTR
-0021CD 2401              ADD     A,#01H
-0021CF F9                MOV     R1,A
-0021D0 E4                CLR     A
-0021D1 3A                ADDC    A,R2
-0021D2 FA                MOV     R2,A
-0021D3 A3                INC     DPTR
-0021D4 E0                MOVX    A,@DPTR
-0021D5 7E00              MOV     R6,#00H
-0021D7 29                ADD     A,R1
-0021D8 F9                MOV     R1,A
-0021D9 EE                MOV     A,R6
-0021DA 3A                ADDC    A,R2
-0021DB FA                MOV     R2,A
-0021DC 1203B6            LCALL   ?C?CLDPTR
-0021DF FB                MOV     R3,A
-0021E0 B4D209            CJNE    A,#0D2H,?C0231?KB_PROCESS
+0021AD 6100              AJMP    ?C0204?KB_PROCESS
+0021AF         ?C0227?KB_PROCESS:
+  867: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+0021AF EB                MOV     A,R3
+0021B0 B4D309            CJNE    A,#0D3H,?C0229?KB_PROCESS
   868: 			{
-  869: 				kb_set_multikey(0x0224);
-0021E3 7F24              MOV     R7,#024H
-0021E5 7E02              MOV     R6,#02H
-0021E7 121FEE            LCALL   _kb_set_multikey
+  869: 				kb_set_multikey(0x0226);
+0021B3 7F26              MOV     R7,#026H
+0021B5 7E02              MOV     R6,#02H
+0021B7 121FE7            LCALL   _kb_set_multikey
   870: 			}
-0021EA 6107              AJMP    ?C0204?KB_PROCESS
-0021EC         ?C0231?KB_PROCESS:
-  871: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
-0021EC EB                MOV     A,R3
-0021ED B4D409            CJNE    A,#0D4H,?C0233?KB_PROCESS
+0021BA 6100              AJMP    ?C0204?KB_PROCESS
+0021BC         ?C0229?KB_PROCESS:
+  871: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+0021BC 904ED8            MOV     DPTR,#pEvt
+0021BF E0                MOVX    A,@DPTR
+0021C0 FB                MOV     R3,A
+0021C1 A3                INC     DPTR
+0021C2 E0                MOVX    A,@DPTR
+0021C3 FA                MOV     R2,A
+0021C4 A3                INC     DPTR
+0021C5 E0                MOVX    A,@DPTR
+0021C6 2401              ADD     A,#01H
+0021C8 F9                MOV     R1,A
+0021C9 E4                CLR     A
+0021CA 3A                ADDC    A,R2
+0021CB FA                MOV     R2,A
+0021CC A3                INC     DPTR
+0021CD E0                MOVX    A,@DPTR
+0021CE 7E00              MOV     R6,#00H
+0021D0 29                ADD     A,R1
+0021D1 F9                MOV     R1,A
+0021D2 EE                MOV     A,R6
+0021D3 3A                ADDC    A,R2
+0021D4 FA                MOV     R2,A
+0021D5 1203B6            LCALL   ?C?CLDPTR
+0021D8 FB                MOV     R3,A
+0021D9 B4D209            CJNE    A,#0D2H,?C0231?KB_PROCESS
   872: 			{
-  873: 				kb_set_multikey(0x0227);
-0021F0 7F27              MOV     R7,#027H
-0021F2 7E02              MOV     R6,#02H
-0021F4 121FEE            LCALL   _kb_set_multikey
-  874: 			}	
-0021F7 6107              AJMP    ?C0204?KB_PROCESS
-0021F9         ?C0233?KB_PROCESS:
-  875: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
-0021F9 904ED8            MOV     DPTR,#pEvt
-0021FC E0                MOVX    A,@DPTR
-0021FD FB                MOV     R3,A
-0021FE A3                INC     DPTR
-0021FF E0                MOVX    A,@DPTR
-002200 FA                MOV     R2,A
-002201 A3                INC     DPTR
-002202 E0                MOVX    A,@DPTR
-002203 2401              ADD     A,#01H
-002205 F9                MOV     R1,A
-002206 E4                CLR     A
-002207 3A                ADDC    A,R2
-002208 FA                MOV     R2,A
-002209 A3                INC     DPTR
-00220A E0                MOVX    A,@DPTR
-00220B 7E00              MOV     R6,#00H
-00220D 29                ADD     A,R1
-00220E F9                MOV     R1,A
-00220F EE                MOV     A,R6
-002210 3A                ADDC    A,R2
-002211 FA                MOV     R2,A
-002212 1203B6            LCALL   ?C?CLDPTR
-002215 FB                MOV     R3,A
-002216 B4D509            CJNE    A,#0D5H,?C0235?KB_PROCESS
+  873: 				kb_set_multikey(0x0224);
+0021DC 7F24              MOV     R7,#024H
+0021DE 7E02              MOV     R6,#02H
+0021E0 121FE7            LCALL   _kb_set_multikey
+  874: 			}
+0021E3 6100              AJMP    ?C0204?KB_PROCESS
+0021E5         ?C0231?KB_PROCESS:
+  875: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+0021E5 EB                MOV     A,R3
+0021E6 B4D409            CJNE    A,#0D4H,?C0233?KB_PROCESS
   876: 			{
-  877: 				kb_set_multikey(0x0221);
-002219 7F21              MOV     R7,#021H
-00221B 7E02              MOV     R6,#02H
-00221D 121FEE            LCALL   _kb_set_multikey
-  878: 			}
-002220 6107              AJMP    ?C0204?KB_PROCESS
-002222         ?C0235?KB_PROCESS:
-  879: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
-002222 EB                MOV     A,R3
-002223 B4D609            CJNE    A,#0D6H,?C0237?KB_PROCESS
+  877: 				kb_set_multikey(0x0227);
+0021E9 7F27              MOV     R7,#027H
+0021EB 7E02              MOV     R6,#02H
+0021ED 121FE7            LCALL   _kb_set_multikey
+  878: 			}	
+0021F0 6100              AJMP    ?C0204?KB_PROCESS
+0021F2         ?C0233?KB_PROCESS:
+  879: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+0021F2 904ED8            MOV     DPTR,#pEvt
+0021F5 E0                MOVX    A,@DPTR
+0021F6 FB                MOV     R3,A
+0021F7 A3                INC     DPTR
+0021F8 E0                MOVX    A,@DPTR
+0021F9 FA                MOV     R2,A
+0021FA A3                INC     DPTR
+0021FB E0                MOVX    A,@DPTR
+0021FC 2401              ADD     A,#01H
+0021FE F9                MOV     R1,A
+0021FF E4                CLR     A
+002200 3A                ADDC    A,R2
+002201 FA                MOV     R2,A
+002202 A3                INC     DPTR
+002203 E0                MOVX    A,@DPTR
+002204 7E00              MOV     R6,#00H
+002206 29                ADD     A,R1
+002207 F9                MOV     R1,A
+002208 EE                MOV     A,R6
+002209 3A                ADDC    A,R2
+00220A FA                MOV     R2,A
+00220B 1203B6            LCALL   ?C?CLDPTR
+00220E FB                MOV     R3,A
+00220F B4D509            CJNE    A,#0D5H,?C0235?KB_PROCESS
   880: 			{
-  881: 				kb_set_multikey(0x0223);
-002226 7F23              MOV     R7,#023H
-002228 7E02              MOV     R6,#02H
-00222A 121FEE            LCALL   _kb_set_multikey
+  881: 				kb_set_multikey(0x0221);
+002212 7F21              MOV     R7,#021H
+002214 7E02              MOV     R6,#02H
+002216 121FE7            LCALL   _kb_set_multikey
   882: 			}
-00222D 6107              AJMP    ?C0204?KB_PROCESS
-00222F         ?C0237?KB_PROCESS:
-  883: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
-00222F 904ED8            MOV     DPTR,#pEvt
-002232 E0                MOVX    A,@DPTR
-002233 FB                MOV     R3,A
-002234 A3                INC     DPTR
-002235 E0                MOVX    A,@DPTR
-002236 FA                MOV     R2,A
-002237 A3                INC     DPTR
-002238 E0                MOVX    A,@DPTR
-002239 2401              ADD     A,#01H
-00223B F9                MOV     R1,A
-00223C E4                CLR     A
-00223D 3A                ADDC    A,R2
-00223E FA                MOV     R2,A
-00223F A3                INC     DPTR
-002240 E0                MOVX    A,@DPTR
-002241 7E00              MOV     R6,#00H
-002243 29                ADD     A,R1
-002244 F9                MOV     R1,A
-002245 EE                MOV     A,R6
-002246 3A                ADDC    A,R2
-002247 FA                MOV     R2,A
-002248 1203B6            LCALL   ?C?CLDPTR
-00224B FB                MOV     R3,A
-00224C B4D707            CJNE    A,#0D7H,?C0239?KB_PROCESS
+002219 6100              AJMP    ?C0204?KB_PROCESS
+00221B         ?C0235?KB_PROCESS:
+  883: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+00221B EB                MOV     A,R3
+00221C B4D609            CJNE    A,#0D6H,?C0237?KB_PROCESS
   884: 			{
-  885: 				kb_set_multikey(0x0070);
-00224F 7F70              MOV     R7,#070H
-002251 121FEE            LCALL   _kb_set_multikey
+  885: 				kb_set_multikey(0x0223);
+00221F 7F23              MOV     R7,#023H
+002221 7E02              MOV     R6,#02H
+002223 121FE7            LCALL   _kb_set_multikey
   886: 			}
-002254 6107              AJMP    ?C0204?KB_PROCESS
-002256         ?C0239?KB_PROCESS:
-  887: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
-002256 EB                MOV     A,R3
-002257 B4D809            CJNE    A,#0D8H,?C0241?KB_PROCESS
+002226 6100              AJMP    ?C0204?KB_PROCESS
+002228         ?C0237?KB_PROCESS:
+  887: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+002228 904ED8            MOV     DPTR,#pEvt
+00222B E0                MOVX    A,@DPTR
+00222C FB                MOV     R3,A
+00222D A3                INC     DPTR
+00222E E0                MOVX    A,@DPTR
+00222F FA                MOV     R2,A
+002230 A3                INC     DPTR
+002231 E0                MOVX    A,@DPTR
+002232 2401              ADD     A,#01H
+002234 F9                MOV     R1,A
+002235 E4                CLR     A
+002236 3A                ADDC    A,R2
+002237 FA                MOV     R2,A
+002238 A3                INC     DPTR
+002239 E0                MOVX    A,@DPTR
+00223A 7E00              MOV     R6,#00H
+00223C 29                ADD     A,R1
+00223D F9                MOV     R1,A
+00223E EE                MOV     A,R6
+00223F 3A                ADDC    A,R2
+002240 FA                MOV     R2,A
+002241 1203B6            LCALL   ?C?CLDPTR
+002244 FB                MOV     R3,A
+002245 B4D707            CJNE    A,#0D7H,?C0239?KB_PROCESS
   888: 			{
-  889: 				kb_set_multikey(0x006f);
-00225A 7F6F              MOV     R7,#06FH
-00225C 7E00              MOV     R6,#00H
-00225E 121FEE            LCALL   _kb_set_multikey
-  890: 			}	
-002261 6107              AJMP    ?C0204?KB_PROCESS
-002263         ?C0241?KB_PROCESS:
-  891: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
-002263 904ED8            MOV     DPTR,#pEvt
-002266 E0                MOVX    A,@DPTR
-002267 FB                MOV     R3,A
-002268 A3                INC     DPTR
-002269 E0                MOVX    A,@DPTR
-00226A FA                MOV     R2,A
-00226B A3                INC     DPTR
-00226C E0                MOVX    A,@DPTR
-00226D 2401              ADD     A,#01H
-00226F F9                MOV     R1,A
-002270 E4                CLR     A
-002271 3A                ADDC    A,R2
-002272 FA                MOV     R2,A
-002273 A3                INC     DPTR
-002274 E0                MOVX    A,@DPTR
-002275 7E00              MOV     R6,#00H
-002277 29                ADD     A,R1
-002278 F9                MOV     R1,A
-002279 EE                MOV     A,R6
-00227A 3A                ADDC    A,R2
-00227B FA                MOV     R2,A
-00227C 1203B6            LCALL   ?C?CLDPTR
-00227F FB                MOV     R3,A
-002280 B4D907            CJNE    A,#0D9H,?C0243?KB_PROCESS
-  892: 		      	{
-  893: 		        	kb_set_multikey(0x00b8);
-002283 7FB8              MOV     R7,#0B8H
-002285 121FEE            LCALL   _kb_set_multikey
-  894: 		      	}
-002288 807D              SJMP    ?C0204?KB_PROCESS
-00228A         ?C0243?KB_PROCESS:
-  895: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
-00228A EB                MOV     A,R3
-00228B B4DA09            CJNE    A,#0DAH,?C0245?KB_PROCESS
+  889: 				kb_set_multikey(0x0070);
+002248 7F70              MOV     R7,#070H
+00224A 121FE7            LCALL   _kb_set_multikey
+  890: 			}
+00224D 6100              AJMP    ?C0204?KB_PROCESS
+00224F         ?C0239?KB_PROCESS:
+  891: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+00224F EB                MOV     A,R3
+002250 B4D809            CJNE    A,#0D8H,?C0241?KB_PROCESS
+  892: 			{
+  893: 				kb_set_multikey(0x006f);
+002253 7F6F              MOV     R7,#06FH
+002255 7E00              MOV     R6,#00H
+002257 121FE7            LCALL   _kb_set_multikey
+  894: 			}	
+00225A 6100              AJMP    ?C0204?KB_PROCESS
+00225C         ?C0241?KB_PROCESS:
+  895: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
+00225C 904ED8            MOV     DPTR,#pEvt
+00225F E0                MOVX    A,@DPTR
+002260 FB                MOV     R3,A
+002261 A3                INC     DPTR
+002262 E0                MOVX    A,@DPTR
+002263 FA                MOV     R2,A
+002264 A3                INC     DPTR
+002265 E0                MOVX    A,@DPTR
+002266 2401              ADD     A,#01H
+002268 F9                MOV     R1,A
+002269 E4                CLR     A
+00226A 3A                ADDC    A,R2
+00226B FA                MOV     R2,A
+00226C A3                INC     DPTR
+00226D E0                MOVX    A,@DPTR
+00226E 7E00              MOV     R6,#00H
+002270 29                ADD     A,R1
+002271 F9                MOV     R1,A
+002272 EE                MOV     A,R6
+002273 3A                ADDC    A,R2
+002274 FA                MOV     R2,A
+002275 1203B6            LCALL   ?C?CLDPTR
+002278 FB                MOV     R3,A
+002279 B4D907            CJNE    A,#0D9H,?C0243?KB_PROCESS
   896: 		      	{
-  897: 		        	kb_set_multikey(0x0030);
-00228E 7F30              MOV     R7,#030H
-002290 7E00              MOV     R6,#00H
-002292 121FEE            LCALL   _kb_set_multikey
-  898: 		      	}	
-002295 8070              SJMP    ?C0204?KB_PROCESS
-002297         ?C0245?KB_PROCESS:
-  899: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
-002297 904ED8            MOV     DPTR,#pEvt
-00229A E0                MOVX    A,@DPTR
-00229B FB                MOV     R3,A
-00229C A3                INC     DPTR
-00229D E0                MOVX    A,@DPTR
-00229E FA                MOV     R2,A
-00229F A3                INC     DPTR
-0022A0 E0                MOVX    A,@DPTR
-0022A1 2401              ADD     A,#01H
-0022A3 F9                MOV     R1,A
-0022A4 E4                CLR     A
-0022A5 3A                ADDC    A,R2
-0022A6 FA                MOV     R2,A
-0022A7 A3                INC     DPTR
-0022A8 E0                MOVX    A,@DPTR
-0022A9 7E00              MOV     R6,#00H
-0022AB 29                ADD     A,R1
-0022AC F9                MOV     R1,A
-0022AD EE                MOV     A,R6
-0022AE 3A                ADDC    A,R2
-0022AF FA                MOV     R2,A
-0022B0 1203B6            LCALL   ?C?CLDPTR
-0022B3 FB                MOV     R3,A
-0022B4 B4DB09            CJNE    A,#0DBH,?C0247?KB_PROCESS
+  897: 		        	kb_set_multikey(0x00b8);
+00227C 7FB8              MOV     R7,#0B8H
+00227E 121FE7            LCALL   _kb_set_multikey
+  898: 		      	}
+002281 807D              SJMP    ?C0204?KB_PROCESS
+002283         ?C0243?KB_PROCESS:
+  899: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
+002283 EB                MOV     A,R3
+002284 B4DA09            CJNE    A,#0DAH,?C0245?KB_PROCESS
   900: 		      	{
-  901: 		        	kb_set_multikey(0x0306);
-0022B7 7F06              MOV     R7,#06H
-0022B9 7E03              MOV     R6,#03H
-0022BB 121FEE            LCALL   _kb_set_multikey
-  902: 		      	}
-0022BE 8047              SJMP    ?C0204?KB_PROCESS
-0022C0         ?C0247?KB_PROCESS:
-  903: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
-0022C0 EB                MOV     A,R3
-0022C1 B4DC09            CJNE    A,#0DCH,?C0249?KB_PROCESS
+  901: 		        	kb_set_multikey(0x0030);
+002287 7F30              MOV     R7,#030H
+002289 7E00              MOV     R6,#00H
+00228B 121FE7            LCALL   _kb_set_multikey
+  902: 		      	}	
+00228E 8070              SJMP    ?C0204?KB_PROCESS
+002290         ?C0245?KB_PROCESS:
+  903: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
+002290 904ED8            MOV     DPTR,#pEvt
+002293 E0                MOVX    A,@DPTR
+002294 FB                MOV     R3,A
+002295 A3                INC     DPTR
+002296 E0                MOVX    A,@DPTR
+002297 FA                MOV     R2,A
+002298 A3                INC     DPTR
+002299 E0                MOVX    A,@DPTR
+00229A 2401              ADD     A,#01H
+00229C F9                MOV     R1,A
+00229D E4                CLR     A
+00229E 3A                ADDC    A,R2
+00229F FA                MOV     R2,A
+0022A0 A3                INC     DPTR
+0022A1 E0                MOVX    A,@DPTR
+0022A2 7E00              MOV     R6,#00H
+0022A4 29                ADD     A,R1
+0022A5 F9                MOV     R1,A
+0022A6 EE                MOV     A,R6
+0022A7 3A                ADDC    A,R2
+0022A8 FA                MOV     R2,A
+0022A9 1203B6            LCALL   ?C?CLDPTR
+0022AC FB                MOV     R3,A
+0022AD B4DB09            CJNE    A,#0DBH,?C0247?KB_PROCESS
   904: 		      	{
-  905: 		        	kb_set_multikey(0x0307);
-0022C4 7F07              MOV     R7,#07H
-0022C6 7E03              MOV     R6,#03H
-0022C8 121FEE            LCALL   _kb_set_multikey
+  905: 		        	kb_set_multikey(0x0306);
+0022B0 7F06              MOV     R7,#06H
+0022B2 7E03              MOV     R6,#03H
+0022B4 121FE7            LCALL   _kb_set_multikey
   906: 		      	}
-0022CB 803A              SJMP    ?C0204?KB_PROCESS
-0022CD         ?C0249?KB_PROCESS:
-  907: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
-0022CD 904ED8            MOV     DPTR,#pEvt
-0022D0 E0                MOVX    A,@DPTR
-0022D1 FB                MOV     R3,A
-0022D2 A3                INC     DPTR
-0022D3 E0                MOVX    A,@DPTR
-0022D4 FA                MOV     R2,A
-0022D5 A3                INC     DPTR
-0022D6 E0                MOVX    A,@DPTR
-0022D7 2401              ADD     A,#01H
-0022D9 F9                MOV     R1,A
-0022DA E4                CLR     A
-0022DB 3A                ADDC    A,R2
-0022DC FA                MOV     R2,A
-0022DD A3                INC     DPTR
-0022DE E0                MOVX    A,@DPTR
-0022DF 7E00              MOV     R6,#00H
-0022E1 29                ADD     A,R1
-0022E2 F9                MOV     R1,A
-0022E3 EE                MOV     A,R6
-0022E4 3A                ADDC    A,R2
-0022E5 FA                MOV     R2,A
-0022E6 1203B6            LCALL   ?C?CLDPTR
-0022E9 FE                MOV     R6,A
-0022EA B4DD06            CJNE    A,#0DDH,?C0251?KB_PROCESS
+0022B7 8047              SJMP    ?C0204?KB_PROCESS
+0022B9         ?C0247?KB_PROCESS:
+  907: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
+0022B9 EB                MOV     A,R3
+0022BA B4DC09            CJNE    A,#0DCH,?C0249?KB_PROCESS
   908: 		      	{
-  909: 		        	kb_set_systemkey(0x01);
-0022ED 7F01              MOV     R7,#01H
-0022EF 1109              ACALL   _kb_set_systemkey
+  909: 		        	kb_set_multikey(0x0307);
+0022BD 7F07              MOV     R7,#07H
+0022BF 7E03              MOV     R6,#03H
+0022C1 121FE7            LCALL   _kb_set_multikey
   910: 		      	}
-0022F1 8014              SJMP    ?C0204?KB_PROCESS
-0022F3         ?C0251?KB_PROCESS:
-  911: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
-0022F3 EE                MOV     A,R6
-0022F4 B4DE06            CJNE    A,#0DEH,?C0253?KB_PROCESS
+0022C4 803A              SJMP    ?C0204?KB_PROCESS
+0022C6         ?C0249?KB_PROCESS:
+  911: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
+0022C6 904ED8            MOV     DPTR,#pEvt
+0022C9 E0                MOVX    A,@DPTR
+0022CA FB                MOV     R3,A
+0022CB A3                INC     DPTR
+0022CC E0                MOVX    A,@DPTR
+0022CD FA                MOV     R2,A
+0022CE A3                INC     DPTR
+0022CF E0                MOVX    A,@DPTR
+0022D0 2401              ADD     A,#01H
+0022D2 F9                MOV     R1,A
+0022D3 E4                CLR     A
+0022D4 3A                ADDC    A,R2
+0022D5 FA                MOV     R2,A
+0022D6 A3                INC     DPTR
+0022D7 E0                MOVX    A,@DPTR
+0022D8 7E00              MOV     R6,#00H
+0022DA 29                ADD     A,R1
+0022DB F9                MOV     R1,A
+0022DC EE                MOV     A,R6
+0022DD 3A                ADDC    A,R2
+0022DE FA                MOV     R2,A
+0022DF 1203B6            LCALL   ?C?CLDPTR
+0022E2 FE                MOV     R6,A
+0022E3 B4DD06            CJNE    A,#0DDH,?C0251?KB_PROCESS
   912: 		      	{
-  913: 		        	kb_set_systemkey(0x02);
-0022F7 7F02              MOV     R7,#02H
-0022F9 1109              ACALL   _kb_set_systemkey
+  913: 		        	kb_set_systemkey(0x01);
+0022E6 7F01              MOV     R7,#01H
+0022E8 1102              ACALL   _kb_set_systemkey
   914: 		      	}
-0022FB 800A              SJMP    ?C0204?KB_PROCESS
-0022FD         ?C0253?KB_PROCESS:
-  915: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
-0022FD 1203B6            LCALL   ?C?CLDPTR
-002300 B4DF04            CJNE    A,#0DFH,?C0204?KB_PROCESS
+0022EA 8014              SJMP    ?C0204?KB_PROCESS
+0022EC         ?C0251?KB_PROCESS:
+  915: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
+0022EC EE                MOV     A,R6
+0022ED B4DE06            CJNE    A,#0DEH,?C0253?KB_PROCESS
   916: 		      	{
-  917: 		        	kb_set_systemkey(0x04);
-002303 7F04              MOV     R7,#04H
-002305 1109              ACALL   _kb_set_systemkey
+  917: 		        	kb_set_systemkey(0x02);
+0022F0 7F02              MOV     R7,#02H
+0022F2 1102              ACALL   _kb_set_systemkey
   918: 		      	}
-002307         ?C0204?KB_PROCESS:
-  919: 			
-  920: 			if(mult_key_status == KEY_WAIT_RELEASE)
-002307 904E4B            MOV     DPTR,#mult_key_status
+0022F4 800A              SJMP    ?C0204?KB_PROCESS
+0022F6         ?C0253?KB_PROCESS:
+  919: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
+0022F6 1203B6            LCALL   ?C?CLDPTR
+0022F9 B4DF04            CJNE    A,#0DFH,?C0204?KB_PROCESS
+  920: 		      	{
+  921: 		        	kb_set_systemkey(0x04);
+0022FC 7F04              MOV     R7,#04H
+0022FE 1102              ACALL   _kb_set_systemkey
+  922: 		      	}
+002300         ?C0204?KB_PROCESS:
+  923: 			
+  924: 			if(mult_key_status == KEY_WAIT_RELEASE)
+002300 904E4B            MOV     DPTR,#mult_key_status
+002303 E0                MOVX    A,@DPTR
+002304 B40224            CJNE    A,#02H,?C0200?KB_PROCESS
+  925: 			{
+  926: 				mult_key_value = pEvt->ksPool[i];
+002307 904ED8            MOV     DPTR,#pEvt
 00230A E0                MOVX    A,@DPTR
-00230B B40224            CJNE    A,#02H,?C0200?KB_PROCESS
-  921: 			{
-  922: 				mult_key_value = pEvt->ksPool[i];
-00230E 904ED8            MOV     DPTR,#pEvt
-002311 E0                MOVX    A,@DPTR
-002312 FB                MOV     R3,A
-002313 A3                INC     DPTR
-002314 E0                MOVX    A,@DPTR
-002315 FA                MOV     R2,A
-002316 A3                INC     DPTR
-002317 E0                MOVX    A,@DPTR
-002318 2401              ADD     A,#01H
-00231A F9                MOV     R1,A
-00231B E4                CLR     A
-00231C 3A                ADDC    A,R2
-00231D FA                MOV     R2,A
-00231E A3                INC     DPTR
-00231F E0                MOVX    A,@DPTR
-002320 7E00              MOV     R6,#00H
-002322 29                ADD     A,R1
-002323 F9                MOV     R1,A
-002324 EE                MOV     A,R6
-002325 3A                ADDC    A,R2
-002326 FA                MOV     R2,A
-002327 1203B6            LCALL   ?C?CLDPTR
-00232A 904DED            MOV     DPTR,#mult_key_value
-00232D F0                MOVX    @DPTR,A
-  923: 				pEvt->ksPool[i] = 0;
-00232E E4                CLR     A
-00232F 1203FC            LCALL   ?C?CSTPTR
-  924: 			}
-  925: 		}
-  926: 	}
-002332         ?C0200?KB_PROCESS:
-002332 904EDB            MOV     DPTR,#i
-002335 E0                MOVX    A,@DPTR
-002336 04                INC     A
-002337 F0                MOVX    @DPTR,A
-002338 0133              AJMP    ?C0198?KB_PROCESS
-  927: }
-00233A         ?C0257?KB_PROCESS:
-00233A 22                RET     
+00230B FB                MOV     R3,A
+00230C A3                INC     DPTR
+00230D E0                MOVX    A,@DPTR
+00230E FA                MOV     R2,A
+00230F A3                INC     DPTR
+002310 E0                MOVX    A,@DPTR
+002311 2401              ADD     A,#01H
+002313 F9                MOV     R1,A
+002314 E4                CLR     A
+002315 3A                ADDC    A,R2
+002316 FA                MOV     R2,A
+002317 A3                INC     DPTR
+002318 E0                MOVX    A,@DPTR
+002319 7E00              MOV     R6,#00H
+00231B 29                ADD     A,R1
+00231C F9                MOV     R1,A
+00231D EE                MOV     A,R6
+00231E 3A                ADDC    A,R2
+00231F FA                MOV     R2,A
+002320 1203B6            LCALL   ?C?CLDPTR
+002323 904DED            MOV     DPTR,#mult_key_value
+002326 F0                MOVX    @DPTR,A
+  927: 				pEvt->ksPool[i] = 0;
+002327 E4                CLR     A
+002328 1203FC            LCALL   ?C?CSTPTR
+  928: 			}
+  929: 		}
+  930: 	}
+00232B         ?C0200?KB_PROCESS:
+00232B 904EDB            MOV     DPTR,#i
+00232E E0                MOVX    A,@DPTR
+00232F 04                INC     A
+002330 F0                MOVX    @DPTR,A
+002331 012C              AJMP    ?C0198?KB_PROCESS
+  931: }
+002333         ?C0257?KB_PROCESS:
+002333 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
 
 ----- FUNCTION kb_24g_get_led_status (BEGIN) -----
  FILE: 'kb_process.c'
-  265: void kb_24g_get_led_status()		//get RF Ack for get numlock/capslock status
-  266: {
-  267: 	if((m_24g_led_flag)&& (repeat_send_24g == 0))
-  268: 	{
-00233B 904D46            MOV     DPTR,#m_24g_led_flag
-00233E E0                MOVX    A,@DPTR
-00233F 6037              JZ      ?C0053?KB_PROCESS
-002341 904DDD            MOV     DPTR,#repeat_send_24g
-002344 E0                MOVX    A,@DPTR
-002345 7031              JNZ     ?C0053?KB_PROCESS
-  269: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-  270: 		{
-002347 904CC5            MOV     DPTR,#g_variable+06H
-00234A E0                MOVX    A,@DPTR
-00234B B4032A            CJNE    A,#03H,?C0053?KB_PROCESS
-  271: 			xmemclear(hidBuff,9);
-  272: 
-00234E 7B01              MOV     R3,#01H
-002350 7A48              MOV     R2,#HIGH hidBuff
-002352 7900              MOV     R1,#LOW hidBuff
-002354 7D09              MOV     R5,#09H
-002356 7C00              MOV     R4,#00H
-002358 120B6B            LCALL   _xmemclear
-  273: 			mult_key_status = 0;
-00235B E4                CLR     A
-00235C 904E4B            MOV     DPTR,#mult_key_status
-00235F F0                MOVX    @DPTR,A
-  274: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
-002360 904800            MOV     DPTR,#hidBuff
-002363 04                INC     A
-002364 F0                MOVX    @DPTR,A
-  275: 			hidBuff[2] = m_24g_led_flag;
-002365 904D46            MOV     DPTR,#m_24g_led_flag
-002368 E0                MOVX    A,@DPTR
-002369 904802            MOV     DPTR,#hidBuff+02H
-00236C F0                MOVX    @DPTR,A
-  276: 			IPC_TxHidData(hidBuff, 9);
-00236D 7B01              MOV     R3,#01H
-00236F 7A48              MOV     R2,#HIGH hidBuff
-002371 7900              MOV     R1,#LOW hidBuff
-002373 7D09              MOV     R5,#09H
-002375 120C30            LCALL   _IPC_TxHidData
-  277: 		}	
-  278: 	}
-  279: }
-002378         ?C0053?KB_PROCESS:
-002378 22                RET     
+  269: void kb_24g_get_led_status()		//get RF Ack for get numlock/capslock status
+  270: {
+  271: 	if((m_24g_led_flag)&& (repeat_send_24g == 0))
+  272: 	{
+002334 904D46            MOV     DPTR,#m_24g_led_flag
+002337 E0                MOVX    A,@DPTR
+002338 6037              JZ      ?C0053?KB_PROCESS
+00233A 904DDD            MOV     DPTR,#repeat_send_24g
+00233D E0                MOVX    A,@DPTR
+00233E 7031              JNZ     ?C0053?KB_PROCESS
+  273: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  274: 		{
+002340 904CC5            MOV     DPTR,#g_variable+06H
+002343 E0                MOVX    A,@DPTR
+002344 B4032A            CJNE    A,#03H,?C0053?KB_PROCESS
+  275: 			xmemclear(hidBuff,9);
+  276: 
+002347 7B01              MOV     R3,#01H
+002349 7A48              MOV     R2,#HIGH hidBuff
+00234B 7900              MOV     R1,#LOW hidBuff
+00234D 7D09              MOV     R5,#09H
+00234F 7C00              MOV     R4,#00H
+002351 120B6B            LCALL   _xmemclear
+  277: 			mult_key_status = 0;
+002354 E4                CLR     A
+002355 904E4B            MOV     DPTR,#mult_key_status
+002358 F0                MOVX    @DPTR,A
+  278: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
+002359 904800            MOV     DPTR,#hidBuff
+00235C 04                INC     A
+00235D F0                MOVX    @DPTR,A
+  279: 			hidBuff[2] = m_24g_led_flag;
+00235E 904D46            MOV     DPTR,#m_24g_led_flag
+002361 E0                MOVX    A,@DPTR
+002362 904802            MOV     DPTR,#hidBuff+02H
+002365 F0                MOVX    @DPTR,A
+  280: 			IPC_TxHidData(hidBuff, 9);
+002366 7B01              MOV     R3,#01H
+002368 7A48              MOV     R2,#HIGH hidBuff
+00236A 7900              MOV     R1,#LOW hidBuff
+00236C 7D09              MOV     R5,#09H
+00236E 120C30            LCALL   _IPC_TxHidData
+  281: 		}	
+  282: 	}
+  283: }
+002371         ?C0053?KB_PROCESS:
+002371 22                RET     
 ----- FUNCTION kb_24g_get_led_status (END) -------
 
 
 ----- FUNCTION kb_motion (BEGIN) -----
  FILE: 'kb_process.c'
-  283: static void kb_motion()
-  284: {
-  285: 	tKSEVENT *pEvt = NULL;
-  286: 	
-002379 904EE4            MOV     DPTR,#pEvt
-00237C E4                CLR     A
-00237D F0                MOVX    @DPTR,A
-00237E A3                INC     DPTR
-00237F F0                MOVX    @DPTR,A
-002380 A3                INC     DPTR
-002381 F0                MOVX    @DPTR,A
-  287: 	if (!IPC_IsTxBuffEmpty())
-002382 D107              ACALL   IPC_IsTxBuffEmpty
-002384 5025              JNC     ?C0055?KB_PROCESS
-002386         ?C0054?KB_PROCESS:
-  288: 		return;
-  289: 	pEvt = KS_GetCurrentEvt();
-002386 71AC              ACALL   KS_GetCurrentEvt
-002388 904EE4            MOV     DPTR,#pEvt
-00238B EB                MOV     A,R3
-00238C F0                MOVX    @DPTR,A
-00238D A3                INC     DPTR
-00238E EA                MOV     A,R2
-00238F F0                MOVX    @DPTR,A
-002390 A3                INC     DPTR
-002391 E9                MOV     A,R1
-002392 F0                MOVX    @DPTR,A
-  290: 
-  291: 	if (pEvt == NULL)
-002393 4A                ORL     A,R2
-002394 7007              JNZ     ?C0056?KB_PROCESS
-  292: 	{
-  293: 		m_power_on_flag = 1;
-002396 904CB6            MOV     DPTR,#m_power_on_flag
-002399 04                INC     A
-00239A F0                MOVX    @DPTR,A
-  294: 		kb_24g_get_led_status();
-00239B 809E              SJMP    kb_24g_get_led_status
-  295: 		return;
-  296: 	}
-00239D         ?C0056?KB_PROCESS:
-  297: 	kb_motion_keyscan(pEvt);
-00239D 904EE4            MOV     DPTR,#pEvt
-0023A0 E0                MOVX    A,@DPTR
-0023A1 FB                MOV     R3,A
-0023A2 A3                INC     DPTR
-0023A3 E0                MOVX    A,@DPTR
-0023A4 FA                MOV     R2,A
-0023A5 A3                INC     DPTR
-0023A6 E0                MOVX    A,@DPTR
-0023A7 F9                MOV     R1,A
-0023A8 1208C0            LCALL   _kb_motion_keyscan
-  298: }
-0023AB         ?C0055?KB_PROCESS:
-0023AB 22                RET     
+  287: static void kb_motion()
+  288: {
+  289: 	tKSEVENT *pEvt = NULL;
+  290: 	
+002372 904EE4            MOV     DPTR,#pEvt
+002375 E4                CLR     A
+002376 F0                MOVX    @DPTR,A
+002377 A3                INC     DPTR
+002378 F0                MOVX    @DPTR,A
+002379 A3                INC     DPTR
+00237A F0                MOVX    @DPTR,A
+  291: 	if (!IPC_IsTxBuffEmpty())
+00237B D100              ACALL   IPC_IsTxBuffEmpty
+00237D 5025              JNC     ?C0055?KB_PROCESS
+00237F         ?C0054?KB_PROCESS:
+  292: 		return;
+  293: 	pEvt = KS_GetCurrentEvt();
+00237F 71A5              ACALL   KS_GetCurrentEvt
+002381 904EE4            MOV     DPTR,#pEvt
+002384 EB                MOV     A,R3
+002385 F0                MOVX    @DPTR,A
+002386 A3                INC     DPTR
+002387 EA                MOV     A,R2
+002388 F0                MOVX    @DPTR,A
+002389 A3                INC     DPTR
+00238A E9                MOV     A,R1
+00238B F0                MOVX    @DPTR,A
+  294: 
+  295: 	if (pEvt == NULL)
+00238C 4A                ORL     A,R2
+00238D 7007              JNZ     ?C0056?KB_PROCESS
+  296: 	{
+  297: 		m_power_on_flag = 1;
+00238F 904CB6            MOV     DPTR,#m_power_on_flag
+002392 04                INC     A
+002393 F0                MOVX    @DPTR,A
+  298: 		kb_24g_get_led_status();
+002394 809E              SJMP    kb_24g_get_led_status
+  299: 		return;
+  300: 	}
+002396         ?C0056?KB_PROCESS:
+  301: 	kb_motion_keyscan(pEvt);
+002396 904EE4            MOV     DPTR,#pEvt
+002399 E0                MOVX    A,@DPTR
+00239A FB                MOV     R3,A
+00239B A3                INC     DPTR
+00239C E0                MOVX    A,@DPTR
+00239D FA                MOV     R2,A
+00239E A3                INC     DPTR
+00239F E0                MOVX    A,@DPTR
+0023A0 F9                MOV     R1,A
+0023A1 1208C0            LCALL   _kb_motion_keyscan
+  302: }
+0023A4         ?C0055?KB_PROCESS:
+0023A4 22                RET     
 ----- FUNCTION kb_motion (END) -------
 
 
 ----- FUNCTION KS_GetCurrentEvt (BEGIN) -----
  FILE: 'keyscan.c'
-  293: tKSEVENT *KS_GetCurrentEvt()
-  294: {
-  295: 	//
-  296: 	byte i = 0;
-0023AC E4                CLR     A
-0023AD 904E88            MOV     DPTR,#i
-0023B0 F0                MOVX    @DPTR,A
-  297: 	byte j = 0;
-0023B1 A3                INC     DPTR
-0023B2 F0                MOVX    @DPTR,A
-  298: 	byte k = 0;
-0023B3 A3                INC     DPTR
-0023B4 F0                MOVX    @DPTR,A
-  299: 	byte temp = 0;
-0023B5 A3                INC     DPTR
-0023B6 F0                MOVX    @DPTR,A
-  300: 	byte flag = 0;
-0023B7 A3                INC     DPTR
-0023B8 F0                MOVX    @DPTR,A
-  301: 	byte offset = 0;
-0023B9 A3                INC     DPTR
-0023BA F0                MOVX    @DPTR,A
-  302: 	byte state = 0;
-0023BB A3                INC     DPTR
-0023BC F0                MOVX    @DPTR,A
-  303: 	byte keyCounttemp = 0;
-0023BD A3                INC     DPTR
-0023BE F0                MOVX    @DPTR,A
-  304: 	byte key_value_temp = 0;
-0023BF A3                INC     DPTR
-0023C0 F0                MOVX    @DPTR,A
-  305: 	byte ghost = 0;
-0023C1 A3                INC     DPTR
-0023C2 F0                MOVX    @DPTR,A
-  306: 	byte rawCount = 0;
-0023C3 A3                INC     DPTR
-0023C4 F0                MOVX    @DPTR,A
-  307: 	
-  308: 	KS_ScanMatrix();
-0023C5 122FE3            LCALL   KS_ScanMatrix
-  309: 
-  310: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
-0023C8 7A4D              MOV     R2,#HIGH ksSelMapCheck
-0023CA 79A8              MOV     R1,#LOW ksSelMapCheck
-0023CC 904EAE            MOV     DPTR,#?_compare_str?BYTE+03H
-0023CF 7401              MOV     A,#01H
-0023D1 F0                MOVX    @DPTR,A
-0023D2 A3                INC     DPTR
-0023D3 744D              MOV     A,#HIGH ksSelMapCheck
-0023D5 F0                MOVX    @DPTR,A
-0023D6 A3                INC     DPTR
-0023D7 74A8              MOV     A,#LOW ksSelMapCheck
-0023D9 F0                MOVX    @DPTR,A
-0023DA A3                INC     DPTR
-0023DB 7414              MOV     A,#014H
-0023DD F0                MOVX    @DPTR,A
-0023DE 7B01              MOV     R3,#01H
-0023E0 7A4D              MOV     R2,#HIGH ksSelMapCurr
-0023E2 79BC              MOV     R1,#LOW ksSelMapCurr
-0023E4 D14F              ACALL   _compare_str
-0023E6 EF                MOV     A,R7
-0023E7 6016              JZ      ?C0059?KEYSCAN
-0023E9 7B01              MOV     R3,#01H
-0023EB 7A4D              MOV     R2,#HIGH ksSelMapCurr
-0023ED 79BC              MOV     R1,#LOW ksSelMapCurr
-0023EF 7D14              MOV     R5,#014H
-0023F1 D11F              ACALL   _array_is_empty
-0023F3 EF                MOV     A,R7
-0023F4 7009              JNZ     ?C0059?KEYSCAN
-  311: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
-  312: 	{
-  313: 		g_variable.button_flag |= 0x02;
-0023F6 904CCE            MOV     DPTR,#g_variable+0FH
-0023F9 E0                MOVX    A,@DPTR
-0023FA 4402              ORL     A,#02H
-0023FC F0                MOVX    @DPTR,A
-  314: 	}
-0023FD 800C              SJMP    ?C0060?KEYSCAN
-0023FF         ?C0059?KEYSCAN:
-  315: 	else
-  316: 	{	
-  317: 		g_variable.button_flag &= 0xFD;
-0023FF 904CCE            MOV     DPTR,#g_variable+0FH
-002402 E0                MOVX    A,@DPTR
-002403 54FD              ANL     A,#0FDH
-002405 F0                MOVX    @DPTR,A
-  318: 		g_variable.button_timer[1] = 0;
-002406 E4                CLR     A
-002407 904CD0            MOV     DPTR,#g_variable+011H
-00240A F0                MOVX    @DPTR,A
-  319: 	}
-00240B         ?C0060?KEYSCAN:
-  320: 
-  321: 	for (i=0; col[i]!=0; i++) 
-00240B E4                CLR     A
-00240C 904E88            MOV     DPTR,#i
-00240F F0                MOVX    @DPTR,A
-002410         ?C0061?KEYSCAN:
-002410 904E88            MOV     DPTR,#i
-002413 E0                MOVX    A,@DPTR
-002414 FF                MOV     R7,A
-002415 900681            MOV     DPTR,#col
-002418 93                MOVC    A,@A+DPTR
-002419 7002              JNZ     $ + 4H
-00241B 81DD              AJMP    ?C0062?KEYSCAN
-  322: 	{
-  323: 		temp = ksSelMapCurr[i];
-00241D 74BC              MOV     A,#LOW ksSelMapCurr
-00241F 2F                ADD     A,R7
-002420 F582              MOV     DPL,A
-002422 E4                CLR     A
-002423 344D              ADDC    A,#HIGH ksSelMapCurr
-002425 F583              MOV     DPH,A
-002427 E0                MOVX    A,@DPTR
-002428 904E8B            MOV     DPTR,#temp
-00242B F0                MOVX    @DPTR,A
-  324: 		rawCount = bit_count(temp);
-00242C E0                MOVX    A,@DPTR
-00242D FF                MOV     R7,A
-00242E B1F9              ACALL   _bit_count
-002430 904E92            MOV     DPTR,#rawCount
-002433 EF                MOV     A,R7
-002434 F0                MOVX    @DPTR,A
-  325: 		if(rawCount >= 2)		// col[i] has more than two key press
-002435 C3                CLR     C
-002436 9402              SUBB    A,#02H
-002438 5002              JNC     $ + 4H
-00243A 81C6              AJMP    ?C0064?KEYSCAN
-  326: 		{
-  327: 			for(j=0 ; j<8 ;j++)
-00243C E4                CLR     A
-00243D 904E89            MOV     DPTR,#j
-002440 F0                MOVX    @DPTR,A
-002441         ?C0065?KEYSCAN:
-002441 904E89            MOV     DPTR,#j
-002444 E0                MOVX    A,@DPTR
-002445 FF                MOV     R7,A
-002446 C3                CLR     C
-002447 9408              SUBB    A,#08H
-002449 507B              JNC     ?C0064?KEYSCAN
-  328: 			{
-  329: 				if(temp & (1<<j))	// Ci_Rj press
-00244B 7401              MOV     A,#01H
-00244D 7E00              MOV     R6,#00H
-00244F A807              MOV     R0,AR7
-002451 08                INC     R0
-002452 8005              SJMP    ?C0103?KEYSCAN
-002454         ?C0102?KEYSCAN:
-002454 C3                CLR     C
-002455 33                RLC     A
-002456 CE                XCH     A,R6
-002457 33                RLC     A
-002458 CE                XCH     A,R6
-002459         ?C0103?KEYSCAN:
-002459 D8F9              DJNZ    R0,?C0102?KEYSCAN
-00245B FF                MOV     R7,A
-00245C 904E8B            MOV     DPTR,#temp
-00245F E0                MOVX    A,@DPTR
-002460 FD                MOV     R5,A
-002461 E4                CLR     A
-002462 EF                MOV     A,R7
-002463 5D                ANL     A,R5
-002464 6058              JZ      ?C0067?KEYSCAN
-  330: 				{
-  331: 					for(k=0 ; col[k]!=0; k++)
-002466 E4                CLR     A
-002467 904E8A            MOV     DPTR,#k
-00246A F0                MOVX    @DPTR,A
-00246B         ?C0069?KEYSCAN:
-00246B 904E8A            MOV     DPTR,#k
-00246E E0                MOVX    A,@DPTR
-00246F FF                MOV     R7,A
-002470 900681            MOV     DPTR,#col
-002473 93                MOVC    A,@A+DPTR
-002474 6048              JZ      ?C0067?KEYSCAN
-  332: 					{
-  333: 						if(k!= i)
-002476 904E88            MOV     DPTR,#i
-002479 E0                MOVX    A,@DPTR
-00247A FE                MOV     R6,A
-00247B EF                MOV     A,R7
-00247C 6E                XRL     A,R6
-00247D 6037              JZ      ?C0071?KEYSCAN
-  334: 						{
-  335: 							if(ksSelMapCurr[k] & (1<<j))	// R line has another key press
-00247F 904E8A            MOV     DPTR,#k
-002482 E0                MOVX    A,@DPTR
-002483 24BC              ADD     A,#LOW ksSelMapCurr
-002485 F582              MOV     DPL,A
-002487 E4                CLR     A
-002488 344D              ADDC    A,#HIGH ksSelMapCurr
-00248A F583              MOV     DPH,A
+  292: tKSEVENT *KS_GetCurrentEvt()
+  293: {
+  294: 	//
+  295: 	byte i = 0;
+0023A5 E4                CLR     A
+0023A6 904E88            MOV     DPTR,#i
+0023A9 F0                MOVX    @DPTR,A
+  296: 	byte j = 0;
+0023AA A3                INC     DPTR
+0023AB F0                MOVX    @DPTR,A
+  297: 	byte k = 0;
+0023AC A3                INC     DPTR
+0023AD F0                MOVX    @DPTR,A
+  298: 	byte temp = 0;
+0023AE A3                INC     DPTR
+0023AF F0                MOVX    @DPTR,A
+  299: 	byte flag = 0;
+0023B0 A3                INC     DPTR
+0023B1 F0                MOVX    @DPTR,A
+  300: 	byte offset = 0;
+0023B2 A3                INC     DPTR
+0023B3 F0                MOVX    @DPTR,A
+  301: 	byte state = 0;
+0023B4 A3                INC     DPTR
+0023B5 F0                MOVX    @DPTR,A
+  302: 	byte keyCounttemp = 0;
+0023B6 A3                INC     DPTR
+0023B7 F0                MOVX    @DPTR,A
+  303: 	byte key_value_temp = 0;
+0023B8 A3                INC     DPTR
+0023B9 F0                MOVX    @DPTR,A
+  304: 	byte ghost = 0;
+0023BA A3                INC     DPTR
+0023BB F0                MOVX    @DPTR,A
+  305: 	byte rawCount = 0;
+0023BC A3                INC     DPTR
+0023BD F0                MOVX    @DPTR,A
+  306: 	
+  307: 	KS_ScanMatrix();
+0023BE 122FDC            LCALL   KS_ScanMatrix
+  308: 
+  309: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
+0023C1 7A4D              MOV     R2,#HIGH ksSelMapCheck
+0023C3 79A8              MOV     R1,#LOW ksSelMapCheck
+0023C5 904EAE            MOV     DPTR,#?_compare_str?BYTE+03H
+0023C8 7401              MOV     A,#01H
+0023CA F0                MOVX    @DPTR,A
+0023CB A3                INC     DPTR
+0023CC 744D              MOV     A,#HIGH ksSelMapCheck
+0023CE F0                MOVX    @DPTR,A
+0023CF A3                INC     DPTR
+0023D0 74A8              MOV     A,#LOW ksSelMapCheck
+0023D2 F0                MOVX    @DPTR,A
+0023D3 A3                INC     DPTR
+0023D4 7414              MOV     A,#014H
+0023D6 F0                MOVX    @DPTR,A
+0023D7 7B01              MOV     R3,#01H
+0023D9 7A4D              MOV     R2,#HIGH ksSelMapCurr
+0023DB 79BC              MOV     R1,#LOW ksSelMapCurr
+0023DD D148              ACALL   _compare_str
+0023DF EF                MOV     A,R7
+0023E0 6016              JZ      ?C0059?KEYSCAN
+0023E2 7B01              MOV     R3,#01H
+0023E4 7A4D              MOV     R2,#HIGH ksSelMapCurr
+0023E6 79BC              MOV     R1,#LOW ksSelMapCurr
+0023E8 7D14              MOV     R5,#014H
+0023EA D118              ACALL   _array_is_empty
+0023EC EF                MOV     A,R7
+0023ED 7009              JNZ     ?C0059?KEYSCAN
+  310: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
+  311: 	{
+  312: 		g_variable.button_flag |= 0x02;
+0023EF 904CCE            MOV     DPTR,#g_variable+0FH
+0023F2 E0                MOVX    A,@DPTR
+0023F3 4402              ORL     A,#02H
+0023F5 F0                MOVX    @DPTR,A
+  313: 	}
+0023F6 800C              SJMP    ?C0060?KEYSCAN
+0023F8         ?C0059?KEYSCAN:
+  314: 	else
+  315: 	{	
+  316: 		g_variable.button_flag &= 0xFD;
+0023F8 904CCE            MOV     DPTR,#g_variable+0FH
+0023FB E0                MOVX    A,@DPTR
+0023FC 54FD              ANL     A,#0FDH
+0023FE F0                MOVX    @DPTR,A
+  317: 		g_variable.button_timer[1] = 0;
+0023FF E4                CLR     A
+002400 904CD0            MOV     DPTR,#g_variable+011H
+002403 F0                MOVX    @DPTR,A
+  318: 	}
+002404         ?C0060?KEYSCAN:
+  319: 
+  320: 	for (i=0; col[i]!=0; i++) 
+002404 E4                CLR     A
+002405 904E88            MOV     DPTR,#i
+002408 F0                MOVX    @DPTR,A
+002409         ?C0061?KEYSCAN:
+002409 904E88            MOV     DPTR,#i
+00240C E0                MOVX    A,@DPTR
+00240D FF                MOV     R7,A
+00240E 900681            MOV     DPTR,#col
+002411 93                MOVC    A,@A+DPTR
+002412 7002              JNZ     $ + 4H
+002414 81D6              AJMP    ?C0062?KEYSCAN
+  321: 	{
+  322: 		temp = ksSelMapCurr[i];
+002416 74BC              MOV     A,#LOW ksSelMapCurr
+002418 2F                ADD     A,R7
+002419 F582              MOV     DPL,A
+00241B E4                CLR     A
+00241C 344D              ADDC    A,#HIGH ksSelMapCurr
+00241E F583              MOV     DPH,A
+002420 E0                MOVX    A,@DPTR
+002421 904E8B            MOV     DPTR,#temp
+002424 F0                MOVX    @DPTR,A
+  323: 		rawCount = bit_count(temp);
+002425 E0                MOVX    A,@DPTR
+002426 FF                MOV     R7,A
+002427 B1F2              ACALL   _bit_count
+002429 904E92            MOV     DPTR,#rawCount
+00242C EF                MOV     A,R7
+00242D F0                MOVX    @DPTR,A
+  324: 		if(rawCount >= 2)		// col[i] has more than two key press
+00242E C3                CLR     C
+00242F 9402              SUBB    A,#02H
+002431 5002              JNC     $ + 4H
+002433 81BF              AJMP    ?C0064?KEYSCAN
+  325: 		{
+  326: 			for(j=0 ; j<8 ;j++)
+002435 E4                CLR     A
+002436 904E89            MOV     DPTR,#j
+002439 F0                MOVX    @DPTR,A
+00243A         ?C0065?KEYSCAN:
+00243A 904E89            MOV     DPTR,#j
+00243D E0                MOVX    A,@DPTR
+00243E FF                MOV     R7,A
+00243F C3                CLR     C
+002440 9408              SUBB    A,#08H
+002442 507B              JNC     ?C0064?KEYSCAN
+  327: 			{
+  328: 				if(temp & (1<<j))	// Ci_Rj press
+002444 7401              MOV     A,#01H
+002446 7E00              MOV     R6,#00H
+002448 A807              MOV     R0,AR7
+00244A 08                INC     R0
+00244B 8005              SJMP    ?C0103?KEYSCAN
+00244D         ?C0102?KEYSCAN:
+00244D C3                CLR     C
+00244E 33                RLC     A
+00244F CE                XCH     A,R6
+002450 33                RLC     A
+002451 CE                XCH     A,R6
+002452         ?C0103?KEYSCAN:
+002452 D8F9              DJNZ    R0,?C0102?KEYSCAN
+002454 FF                MOV     R7,A
+002455 904E8B            MOV     DPTR,#temp
+002458 E0                MOVX    A,@DPTR
+002459 FD                MOV     R5,A
+00245A E4                CLR     A
+00245B EF                MOV     A,R7
+00245C 5D                ANL     A,R5
+00245D 6058              JZ      ?C0067?KEYSCAN
+  329: 				{
+  330: 					for(k=0 ; col[k]!=0; k++)
+00245F E4                CLR     A
+002460 904E8A            MOV     DPTR,#k
+002463 F0                MOVX    @DPTR,A
+002464         ?C0069?KEYSCAN:
+002464 904E8A            MOV     DPTR,#k
+002467 E0                MOVX    A,@DPTR
+002468 FF                MOV     R7,A
+002469 900681            MOV     DPTR,#col
+00246C 93                MOVC    A,@A+DPTR
+00246D 6048              JZ      ?C0067?KEYSCAN
+  331: 					{
+  332: 						if(k!= i)
+00246F 904E88            MOV     DPTR,#i
+002472 E0                MOVX    A,@DPTR
+002473 FE                MOV     R6,A
+002474 EF                MOV     A,R7
+002475 6E                XRL     A,R6
+002476 6037              JZ      ?C0071?KEYSCAN
+  333: 						{
+  334: 							if(ksSelMapCurr[k] & (1<<j))	// R line has another key press
+002478 904E8A            MOV     DPTR,#k
+00247B E0                MOVX    A,@DPTR
+00247C 24BC              ADD     A,#LOW ksSelMapCurr
+00247E F582              MOV     DPL,A
+002480 E4                CLR     A
+002481 344D              ADDC    A,#HIGH ksSelMapCurr
+002483 F583              MOV     DPH,A
+002485 E0                MOVX    A,@DPTR
+002486 FD                MOV     R5,A
+002487 7C00              MOV     R4,#00H
+002489 904E89            MOV     DPTR,#j
 00248C E0                MOVX    A,@DPTR
-00248D FD                MOV     R5,A
-00248E 7C00              MOV     R4,#00H
-002490 904E89            MOV     DPTR,#j
-002493 E0                MOVX    A,@DPTR
-002494 FF                MOV     R7,A
-002495 7401              MOV     A,#01H
-002497 7E00              MOV     R6,#00H
-002499 A807              MOV     R0,AR7
-00249B 08                INC     R0
-00249C 8005              SJMP    ?C0105?KEYSCAN
-00249E         ?C0104?KEYSCAN:
-00249E C3                CLR     C
-00249F 33                RLC     A
-0024A0 CE                XCH     A,R6
-0024A1 33                RLC     A
-0024A2 CE                XCH     A,R6
-0024A3         ?C0105?KEYSCAN:
-0024A3 D8F9              DJNZ    R0,?C0104?KEYSCAN
-0024A5 FF                MOV     R7,A
-0024A6 EE                MOV     A,R6
-0024A7 5C                ANL     A,R4
-0024A8 FE                MOV     R6,A
-0024A9 EF                MOV     A,R7
-0024AA 5D                ANL     A,R5
-0024AB 4E                ORL     A,R6
-0024AC 6008              JZ      ?C0071?KEYSCAN
-  336: 							{
-  337: 								ghost = 1;
-0024AE 904E91            MOV     DPTR,#ghost
-0024B1 7401              MOV     A,#01H
-0024B3 F0                MOVX    @DPTR,A
-  338: 								break;
-0024B4 8008              SJMP    ?C0067?KEYSCAN
-  339: 							}	
-  340: 						}
-  341: 					}
-0024B6         ?C0071?KEYSCAN:
-0024B6 904E8A            MOV     DPTR,#k
-0024B9 E0                MOVX    A,@DPTR
-0024BA 04                INC     A
-0024BB F0                MOVX    @DPTR,A
-0024BC 80AD              SJMP    ?C0069?KEYSCAN
-  342: 				}
-  343: 			}
-0024BE         ?C0067?KEYSCAN:
-0024BE 904E89            MOV     DPTR,#j
-0024C1 E0                MOVX    A,@DPTR
-0024C2 04                INC     A
-0024C3 F0                MOVX    @DPTR,A
-0024C4 8141              AJMP    ?C0065?KEYSCAN
-  344: 		}
-0024C6         ?C0064?KEYSCAN:
-  345: 		
-  346: 		if (temp!=0)
-0024C6 904E8B            MOV     DPTR,#temp
-0024C9 E0                MOVX    A,@DPTR
-0024CA FF                MOV     R7,A
-0024CB 6008              JZ      ?C0063?KEYSCAN
-  347: 		{
-  348: 			keyCounttemp += bit_count(temp);
-0024CD B1F9              ACALL   _bit_count
-0024CF 904E8F            MOV     DPTR,#keyCounttemp
-0024D2 E0                MOVX    A,@DPTR
-0024D3 2F                ADD     A,R7
-0024D4 F0                MOVX    @DPTR,A
-  349: 		}
-  350: 	}
-0024D5         ?C0063?KEYSCAN:
-0024D5 904E88            MOV     DPTR,#i
-0024D8 E0                MOVX    A,@DPTR
-0024D9 04                INC     A
-0024DA F0                MOVX    @DPTR,A
-0024DB 8110              AJMP    ?C0061?KEYSCAN
-0024DD         ?C0062?KEYSCAN:
-  351: 	keyCount = keyCounttemp;
-0024DD 904E8F            MOV     DPTR,#keyCounttemp
-0024E0 E0                MOVX    A,@DPTR
-0024E1 904DE4            MOV     DPTR,#keyCount
-0024E4 F0                MOVX    @DPTR,A
-  352: 	
-  353: 	for (i=0; col[i]!=0; i++)
-0024E5 E4                CLR     A
-0024E6 904E88            MOV     DPTR,#i
-0024E9 F0                MOVX    @DPTR,A
-0024EA         ?C0075?KEYSCAN:
-0024EA 904E88            MOV     DPTR,#i
-0024ED E0                MOVX    A,@DPTR
-0024EE FF                MOV     R7,A
-0024EF 900681            MOV     DPTR,#col
-0024F2 93                MOVC    A,@A+DPTR
-0024F3 7002              JNZ     $ + 4H
-0024F5 A1CD              AJMP    ?C0076?KEYSCAN
-  354: 	{
-  355: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
-0024F7 7493              MOV     A,#LOW ksSelMapOld
-0024F9 2F                ADD     A,R7
-0024FA F582              MOV     DPL,A
-0024FC E4                CLR     A
-0024FD 344D              ADDC    A,#HIGH ksSelMapOld
-0024FF F583              MOV     DPH,A
-002501 E0                MOVX    A,@DPTR
-002502 FE                MOV     R6,A
-002503 74BC              MOV     A,#LOW ksSelMapCurr
-002505 2F                ADD     A,R7
-002506 F582              MOV     DPL,A
-002508 E4                CLR     A
-002509 344D              ADDC    A,#HIGH ksSelMapCurr
-00250B F583              MOV     DPH,A
-00250D E0                MOVX    A,@DPTR
-00250E 6E                XRL     A,R6
-00250F 904E8B            MOV     DPTR,#temp
-002512 F0                MOVX    @DPTR,A
-  356: 		state = ksSelMapCurr[i];
-002513 904E88            MOV     DPTR,#i
-002516 E0                MOVX    A,@DPTR
-002517 FF                MOV     R7,A
-002518 24BC              ADD     A,#LOW ksSelMapCurr
-00251A F582              MOV     DPL,A
-00251C E4                CLR     A
-00251D 344D              ADDC    A,#HIGH ksSelMapCurr
-00251F F583              MOV     DPH,A
-002521 E0                MOVX    A,@DPTR
-002522 904E8E            MOV     DPTR,#state
-002525 F0                MOVX    @DPTR,A
-  357: 		if (temp == 0) 
-002526 904E8B            MOV     DPTR,#temp
-002529 E0                MOVX    A,@DPTR
-00252A 7004              JNZ     ?C0078?KEYSCAN
-  358: 		{
-  359: 			continue;
-00252C A1C5              AJMP    ?C0077?KEYSCAN
-  360: 		}
-00252E A1C5              AJMP    ?C0077?KEYSCAN
-002530         ?C0078?KEYSCAN:
-  361: 		else 
-  362: 		{
-  363: 
-  364: 			if (ghost) 
-002530 904E91            MOV     DPTR,#ghost
-002533 E0                MOVX    A,@DPTR
-002534 6007              JZ      ?C0080?KEYSCAN
-  365: 				return NULL;
-002536 7B00              MOV     R3,#00H
-002538 7A00              MOV     R2,#00H
-00253A 7900              MOV     R1,#00H
-00253C 22                RET     
-00253D         ?C0080?KEYSCAN:
-  366: 			ksSelMapOld[i] = ksSelMapCurr[i];
-00253D 74BC              MOV     A,#LOW ksSelMapCurr
-00253F 2F                ADD     A,R7
-002540 F582              MOV     DPL,A
-002542 E4                CLR     A
-002543 344D              ADDC    A,#HIGH ksSelMapCurr
-002545 F583              MOV     DPH,A
-002547 E0                MOVX    A,@DPTR
-002548 FE                MOV     R6,A
-002549 7493              MOV     A,#LOW ksSelMapOld
-00254B 2F                ADD     A,R7
-00254C F582              MOV     DPL,A
+00248D FF                MOV     R7,A
+00248E 7401              MOV     A,#01H
+002490 7E00              MOV     R6,#00H
+002492 A807              MOV     R0,AR7
+002494 08                INC     R0
+002495 8005              SJMP    ?C0105?KEYSCAN
+002497         ?C0104?KEYSCAN:
+002497 C3                CLR     C
+002498 33                RLC     A
+002499 CE                XCH     A,R6
+00249A 33                RLC     A
+00249B CE                XCH     A,R6
+00249C         ?C0105?KEYSCAN:
+00249C D8F9              DJNZ    R0,?C0104?KEYSCAN
+00249E FF                MOV     R7,A
+00249F EE                MOV     A,R6
+0024A0 5C                ANL     A,R4
+0024A1 FE                MOV     R6,A
+0024A2 EF                MOV     A,R7
+0024A3 5D                ANL     A,R5
+0024A4 4E                ORL     A,R6
+0024A5 6008              JZ      ?C0071?KEYSCAN
+  335: 							{
+  336: 								ghost = 1;
+0024A7 904E91            MOV     DPTR,#ghost
+0024AA 7401              MOV     A,#01H
+0024AC F0                MOVX    @DPTR,A
+  337: 								break;
+0024AD 8008              SJMP    ?C0067?KEYSCAN
+  338: 							}	
+  339: 						}
+  340: 					}
+0024AF         ?C0071?KEYSCAN:
+0024AF 904E8A            MOV     DPTR,#k
+0024B2 E0                MOVX    A,@DPTR
+0024B3 04                INC     A
+0024B4 F0                MOVX    @DPTR,A
+0024B5 80AD              SJMP    ?C0069?KEYSCAN
+  341: 				}
+  342: 			}
+0024B7         ?C0067?KEYSCAN:
+0024B7 904E89            MOV     DPTR,#j
+0024BA E0                MOVX    A,@DPTR
+0024BB 04                INC     A
+0024BC F0                MOVX    @DPTR,A
+0024BD 813A              AJMP    ?C0065?KEYSCAN
+  343: 		}
+0024BF         ?C0064?KEYSCAN:
+  344: 		
+  345: 		if (temp!=0)
+0024BF 904E8B            MOV     DPTR,#temp
+0024C2 E0                MOVX    A,@DPTR
+0024C3 FF                MOV     R7,A
+0024C4 6008              JZ      ?C0063?KEYSCAN
+  346: 		{
+  347: 			keyCounttemp += bit_count(temp);
+0024C6 B1F2              ACALL   _bit_count
+0024C8 904E8F            MOV     DPTR,#keyCounttemp
+0024CB E0                MOVX    A,@DPTR
+0024CC 2F                ADD     A,R7
+0024CD F0                MOVX    @DPTR,A
+  348: 		}
+  349: 	}
+0024CE         ?C0063?KEYSCAN:
+0024CE 904E88            MOV     DPTR,#i
+0024D1 E0                MOVX    A,@DPTR
+0024D2 04                INC     A
+0024D3 F0                MOVX    @DPTR,A
+0024D4 8109              AJMP    ?C0061?KEYSCAN
+0024D6         ?C0062?KEYSCAN:
+  350: 	keyCount = keyCounttemp;
+0024D6 904E8F            MOV     DPTR,#keyCounttemp
+0024D9 E0                MOVX    A,@DPTR
+0024DA 904DE4            MOV     DPTR,#keyCount
+0024DD F0                MOVX    @DPTR,A
+  351: 	
+  352: 	for (i=0; col[i]!=0; i++)
+0024DE E4                CLR     A
+0024DF 904E88            MOV     DPTR,#i
+0024E2 F0                MOVX    @DPTR,A
+0024E3         ?C0075?KEYSCAN:
+0024E3 904E88            MOV     DPTR,#i
+0024E6 E0                MOVX    A,@DPTR
+0024E7 FF                MOV     R7,A
+0024E8 900681            MOV     DPTR,#col
+0024EB 93                MOVC    A,@A+DPTR
+0024EC 7002              JNZ     $ + 4H
+0024EE A1C6              AJMP    ?C0076?KEYSCAN
+  353: 	{
+  354: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
+0024F0 7493              MOV     A,#LOW ksSelMapOld
+0024F2 2F                ADD     A,R7
+0024F3 F582              MOV     DPL,A
+0024F5 E4                CLR     A
+0024F6 344D              ADDC    A,#HIGH ksSelMapOld
+0024F8 F583              MOV     DPH,A
+0024FA E0                MOVX    A,@DPTR
+0024FB FE                MOV     R6,A
+0024FC 74BC              MOV     A,#LOW ksSelMapCurr
+0024FE 2F                ADD     A,R7
+0024FF F582              MOV     DPL,A
+002501 E4                CLR     A
+002502 344D              ADDC    A,#HIGH ksSelMapCurr
+002504 F583              MOV     DPH,A
+002506 E0                MOVX    A,@DPTR
+002507 6E                XRL     A,R6
+002508 904E8B            MOV     DPTR,#temp
+00250B F0                MOVX    @DPTR,A
+  355: 		state = ksSelMapCurr[i];
+00250C 904E88            MOV     DPTR,#i
+00250F E0                MOVX    A,@DPTR
+002510 FF                MOV     R7,A
+002511 24BC              ADD     A,#LOW ksSelMapCurr
+002513 F582              MOV     DPL,A
+002515 E4                CLR     A
+002516 344D              ADDC    A,#HIGH ksSelMapCurr
+002518 F583              MOV     DPH,A
+00251A E0                MOVX    A,@DPTR
+00251B 904E8E            MOV     DPTR,#state
+00251E F0                MOVX    @DPTR,A
+  356: 		if (temp == 0) 
+00251F 904E8B            MOV     DPTR,#temp
+002522 E0                MOVX    A,@DPTR
+002523 7004              JNZ     ?C0078?KEYSCAN
+  357: 		{
+  358: 			continue;
+002525 A1BE              AJMP    ?C0077?KEYSCAN
+  359: 		}
+002527 A1BE              AJMP    ?C0077?KEYSCAN
+002529         ?C0078?KEYSCAN:
+  360: 		else 
+  361: 		{
+  362: 
+  363: 			if (ghost) 
+002529 904E91            MOV     DPTR,#ghost
+00252C E0                MOVX    A,@DPTR
+00252D 6007              JZ      ?C0080?KEYSCAN
+  364: 				return NULL;
+00252F 7B00              MOV     R3,#00H
+002531 7A00              MOV     R2,#00H
+002533 7900              MOV     R1,#00H
+002535 22                RET     
+002536         ?C0080?KEYSCAN:
+  365: 			ksSelMapOld[i] = ksSelMapCurr[i];
+002536 74BC              MOV     A,#LOW ksSelMapCurr
+002538 2F                ADD     A,R7
+002539 F582              MOV     DPL,A
+00253B E4                CLR     A
+00253C 344D              ADDC    A,#HIGH ksSelMapCurr
+00253E F583              MOV     DPH,A
+002540 E0                MOVX    A,@DPTR
+002541 FE                MOV     R6,A
+002542 7493              MOV     A,#LOW ksSelMapOld
+002544 2F                ADD     A,R7
+002545 F582              MOV     DPL,A
+002547 E4                CLR     A
+002548 344D              ADDC    A,#HIGH ksSelMapOld
+00254A F583              MOV     DPH,A
+00254C EE                MOV     A,R6
+00254D F0                MOVX    @DPTR,A
+  366: 			for (j = 0 ; j<8 ; j++) 
 00254E E4                CLR     A
-00254F 344D              ADDC    A,#HIGH ksSelMapOld
-002551 F583              MOV     DPH,A
-002553 EE                MOV     A,R6
-002554 F0                MOVX    @DPTR,A
-  367: 			for (j = 0 ; j<8 ; j++) 
-002555 E4                CLR     A
-002556 904E89            MOV     DPTR,#j
-002559 F0                MOVX    @DPTR,A
-00255A         ?C0082?KEYSCAN:
-00255A 904E89            MOV     DPTR,#j
-00255D E0                MOVX    A,@DPTR
-00255E FF                MOV     R7,A
-00255F C3                CLR     C
-002560 9408              SUBB    A,#08H
-002562 505B              JNC     ?C0083?KEYSCAN
-  368: 			{
-  369: 				if (temp&1)
-002564 904E8B            MOV     DPTR,#temp
+00254F 904E89            MOV     DPTR,#j
+002552 F0                MOVX    @DPTR,A
+002553         ?C0082?KEYSCAN:
+002553 904E89            MOV     DPTR,#j
+002556 E0                MOVX    A,@DPTR
+002557 FF                MOV     R7,A
+002558 C3                CLR     C
+002559 9408              SUBB    A,#08H
+00255B 505B              JNC     ?C0083?KEYSCAN
+  367: 			{
+  368: 				if (temp&1)
+00255D 904E8B            MOV     DPTR,#temp
+002560 E0                MOVX    A,@DPTR
+002561 30E03C            JNB     ACC.0,?C0085?KEYSCAN
+  369: 				{
+  370: 					offset = i<<3 |j;
+002564 904E88            MOV     DPTR,#i
 002567 E0                MOVX    A,@DPTR
-002568 30E03C            JNB     ACC.0,?C0085?KEYSCAN
-  370: 				{
-  371: 					offset = i<<3 |j;
-00256B 904E88            MOV     DPTR,#i
-00256E E0                MOVX    A,@DPTR
-00256F FE                MOV     R6,A
-002570 33                RLC     A
-002571 33                RLC     A
-002572 33                RLC     A
-002573 54F8              ANL     A,#0F8H
-002575 FE                MOV     R6,A
-002576 EF                MOV     A,R7
-002577 4E                ORL     A,R6
+002568 FE                MOV     R6,A
+002569 33                RLC     A
+00256A 33                RLC     A
+00256B 33                RLC     A
+00256C 54F8              ANL     A,#0F8H
+00256E FE                MOV     R6,A
+00256F EF                MOV     A,R7
+002570 4E                ORL     A,R6
+002571 904E8D            MOV     DPTR,#offset
+002574 F0                MOVX    @DPTR,A
+  371: 					key_value_temp = key_fn_function(state,ksMap[offset]);
+002575 A3                INC     DPTR
+002576 E0                MOVX    A,@DPTR
+002577 FF                MOV     R7,A
 002578 904E8D            MOV     DPTR,#offset
-00257B F0                MOVX    @DPTR,A
-  372: 					key_value_temp = key_fn_function(state,ksMap[offset]);
-00257C A3                INC     DPTR
-00257D E0                MOVX    A,@DPTR
-00257E FF                MOV     R7,A
-00257F 904E8D            MOV     DPTR,#offset
-002582 E0                MOVX    A,@DPTR
-002583 900696            MOV     DPTR,#ksMap
-002586 93                MOVC    A,@A+DPTR
-002587 FD                MOV     R5,A
-002588 1228FF            LCALL   _key_fn_function
-00258B 904E90            MOV     DPTR,#key_value_temp
-00258E EF                MOV     A,R7
-00258F F0                MOVX    @DPTR,A
-  373: 					if (state & 1)
-002590 904E8E            MOV     DPTR,#state
+00257B E0                MOVX    A,@DPTR
+00257C 900696            MOV     DPTR,#ksMap
+00257F 93                MOVC    A,@A+DPTR
+002580 FD                MOV     R5,A
+002581 1228F8            LCALL   _key_fn_function
+002584 904E90            MOV     DPTR,#key_value_temp
+002587 EF                MOV     A,R7
+002588 F0                MOVX    @DPTR,A
+  372: 					if (state & 1)
+002589 904E8E            MOV     DPTR,#state
+00258C E0                MOVX    A,@DPTR
+00258D 30E009            JNB     ACC.0,?C0086?KEYSCAN
+  373: 					{
+  374: 						keyIn(key_value_temp);
+002590 904E90            MOV     DPTR,#key_value_temp
 002593 E0                MOVX    A,@DPTR
-002594 30E009            JNB     ACC.0,?C0086?KEYSCAN
-  374: 					{
-  375: 						keyIn(key_value_temp);
-002597 904E90            MOV     DPTR,#key_value_temp
-00259A E0                MOVX    A,@DPTR
-00259B FF                MOV     R7,A
-00259C D199              ACALL   _keyIn
-  376: 					}
-00259E 8007              SJMP    ?C0085?KEYSCAN
-0025A0         ?C0086?KEYSCAN:
-  377: 					else
-  378: 					{
-  379: 						keyOut(key_value_temp);
-0025A0 904E90            MOV     DPTR,#key_value_temp
+002594 FF                MOV     R7,A
+002595 D192              ACALL   _keyIn
+  375: 					}
+002597 8007              SJMP    ?C0085?KEYSCAN
+002599         ?C0086?KEYSCAN:
+  376: 					else
+  377: 					{
+  378: 						keyOut(key_value_temp);
+002599 904E90            MOV     DPTR,#key_value_temp
+00259C E0                MOVX    A,@DPTR
+00259D FF                MOV     R7,A
+00259E D1E8              ACALL   _keyOut
+  379: 					}
+  380: 				}
+0025A0         ?C0085?KEYSCAN:
+  381: 				temp = temp >>1;
+0025A0 904E8B            MOV     DPTR,#temp
 0025A3 E0                MOVX    A,@DPTR
 0025A4 FF                MOV     R7,A
-0025A5 D1EF              ACALL   _keyOut
-  380: 					}
-  381: 				}
-0025A7         ?C0085?KEYSCAN:
-  382: 				temp = temp >>1;
-0025A7 904E8B            MOV     DPTR,#temp
-0025AA E0                MOVX    A,@DPTR
-0025AB FF                MOV     R7,A
-0025AC C3                CLR     C
-0025AD 13                RRC     A
-0025AE F0                MOVX    @DPTR,A
-  383: 				state = state>>1;
-0025AF 904E8E            MOV     DPTR,#state
-0025B2 E0                MOVX    A,@DPTR
-0025B3 FF                MOV     R7,A
-0025B4 C3                CLR     C
-0025B5 13                RRC     A
-0025B6 F0                MOVX    @DPTR,A
-  384: 			}
-0025B7 904E89            MOV     DPTR,#j
-0025BA E0                MOVX    A,@DPTR
-0025BB 04                INC     A
-0025BC F0                MOVX    @DPTR,A
-0025BD 809B              SJMP    ?C0082?KEYSCAN
-0025BF         ?C0083?KEYSCAN:
-  385: 			flag = 1;
-0025BF 904E8C            MOV     DPTR,#flag
-0025C2 7401              MOV     A,#01H
-0025C4 F0                MOVX    @DPTR,A
-  386: 		}
-  387: 	}
-0025C5         ?C0077?KEYSCAN:
-0025C5 904E88            MOV     DPTR,#i
-0025C8 E0                MOVX    A,@DPTR
-0025C9 04                INC     A
-0025CA F0                MOVX    @DPTR,A
-0025CB 81EA              AJMP    ?C0075?KEYSCAN
-0025CD         ?C0076?KEYSCAN:
-  388: 	
-  389: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
-0025CD 904E4B            MOV     DPTR,#mult_key_status
+0025A5 C3                CLR     C
+0025A6 13                RRC     A
+0025A7 F0                MOVX    @DPTR,A
+  382: 				state = state>>1;
+0025A8 904E8E            MOV     DPTR,#state
+0025AB E0                MOVX    A,@DPTR
+0025AC FF                MOV     R7,A
+0025AD C3                CLR     C
+0025AE 13                RRC     A
+0025AF F0                MOVX    @DPTR,A
+  383: 			}
+0025B0 904E89            MOV     DPTR,#j
+0025B3 E0                MOVX    A,@DPTR
+0025B4 04                INC     A
+0025B5 F0                MOVX    @DPTR,A
+0025B6 809B              SJMP    ?C0082?KEYSCAN
+0025B8         ?C0083?KEYSCAN:
+  384: 			flag = 1;
+0025B8 904E8C            MOV     DPTR,#flag
+0025BB 7401              MOV     A,#01H
+0025BD F0                MOVX    @DPTR,A
+  385: 		}
+  386: 	}
+0025BE         ?C0077?KEYSCAN:
+0025BE 904E88            MOV     DPTR,#i
+0025C1 E0                MOVX    A,@DPTR
+0025C2 04                INC     A
+0025C3 F0                MOVX    @DPTR,A
+0025C4 81E3              AJMP    ?C0075?KEYSCAN
+0025C6         ?C0076?KEYSCAN:
+  387: 	
+  388: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
+0025C6 904E4B            MOV     DPTR,#mult_key_status
+0025C9 E0                MOVX    A,@DPTR
+0025CA B4030A            CJNE    A,#03H,?C0088?KEYSCAN
+0025CD 904DDF            MOV     DPTR,#standard_key_release_flag
 0025D0 E0                MOVX    A,@DPTR
-0025D1 B4030A            CJNE    A,#03H,?C0088?KEYSCAN
-0025D4 904DDF            MOV     DPTR,#standard_key_release_flag
-0025D7 E0                MOVX    A,@DPTR
-0025D8 B40103            CJNE    A,#01H,?C0088?KEYSCAN
-  390: 	{
-  391: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
-0025DB 7402              MOV     A,#02H
-0025DD F0                MOVX    @DPTR,A
-  392: 	}
-0025DE         ?C0088?KEYSCAN:
-  393: 
-  394: 	
-  395: 	if (flag || standard_key_release_flag == 2) 
-0025DE 904E8C            MOV     DPTR,#flag
-0025E1 E0                MOVX    A,@DPTR
-0025E2 7007              JNZ     ?C0090?KEYSCAN
-0025E4 904DDF            MOV     DPTR,#standard_key_release_flag
-0025E7 E0                MOVX    A,@DPTR
-0025E8 B40207            CJNE    A,#02H,?C0089?KEYSCAN
-0025EB         ?C0090?KEYSCAN:
-  396: 	{
-  397: 		return &ksEvtPool;
-0025EB 7B01              MOV     R3,#01H
-0025ED 7A4E              MOV     R2,#HIGH ksEvtPool
-0025EF 79A4              MOV     R1,#LOW ksEvtPool
+0025D1 B40103            CJNE    A,#01H,?C0088?KEYSCAN
+  389: 	{
+  390: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
+0025D4 7402              MOV     A,#02H
+0025D6 F0                MOVX    @DPTR,A
+  391: 	}
+0025D7         ?C0088?KEYSCAN:
+  392: 
+  393: 	
+  394: 	if (flag || standard_key_release_flag == 2) 
+0025D7 904E8C            MOV     DPTR,#flag
+0025DA E0                MOVX    A,@DPTR
+0025DB 7007              JNZ     ?C0090?KEYSCAN
+0025DD 904DDF            MOV     DPTR,#standard_key_release_flag
+0025E0 E0                MOVX    A,@DPTR
+0025E1 B40207            CJNE    A,#02H,?C0089?KEYSCAN
+0025E4         ?C0090?KEYSCAN:
+  395: 	{
+  396: 		return &ksEvtPool;
+0025E4 7B01              MOV     R3,#01H
+0025E6 7A4E              MOV     R2,#HIGH ksEvtPool
+0025E8 79A4              MOV     R1,#LOW ksEvtPool
+0025EA 22                RET     
+  397: 	}
+0025EB         ?C0089?KEYSCAN:
+  398: 	else
+  399: 	{
+  400: 		return NULL;
+0025EB 7B00              MOV     R3,#00H
+0025ED 7A00              MOV     R2,#00H
+0025EF 7900              MOV     R1,#00H
+  401: 	}
+  402: 	
+  403: 
+  404: }
 0025F1 22                RET     
-  398: 	}
-0025F2         ?C0089?KEYSCAN:
-  399: 	else
-  400: 	{
-  401: 		return NULL;
-0025F2 7B00              MOV     R3,#00H
-0025F4 7A00              MOV     R2,#00H
-0025F6 7900              MOV     R1,#00H
-  402: 	}
-  403: 	
-  404: 
-  405: }
-0025F8 22                RET     
 ----- FUNCTION KS_GetCurrentEvt (END) -------
 
 
 ----- FUNCTION _bit_count (BEGIN) -----
  FILE: 'keyscan.c'
-   25: static byte bit_count(byte v)
-   26: {
+   24: static byte bit_count(byte v)
+   25: {
 ;---- Variable 'v' assigned to Register 'R7' ----
-   27: 	unsigned char c;
-   28: 	for (c = 0; v; c++) {
+   26: 	unsigned char c;
+   27: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-0025F9 E4                CLR     A
-0025FA FE                MOV     R6,A
-0025FB         ?C0001?KEYSCAN:
-0025FB EF                MOV     A,R7
-0025FC 6006              JZ      ?C0002?KEYSCAN
-   29:     	v &= v - 1;
-0025FE 14                DEC     A
-0025FF 5F                ANL     A,R7
-002600 FF                MOV     R7,A
-   30:     }
-002601 0E                INC     R6
-002602 80F7              SJMP    ?C0001?KEYSCAN
-002604         ?C0002?KEYSCAN:
-   31:     return c;
-002604 AF06              MOV     R7,AR6
-   32: }
-002606 22                RET     
+0025F2 E4                CLR     A
+0025F3 FE                MOV     R6,A
+0025F4         ?C0001?KEYSCAN:
+0025F4 EF                MOV     A,R7
+0025F5 6006              JZ      ?C0002?KEYSCAN
+   28:     	v &= v - 1;
+0025F7 14                DEC     A
+0025F8 5F                ANL     A,R7
+0025F9 FF                MOV     R7,A
+   29:     }
+0025FA 0E                INC     R6
+0025FB 80F7              SJMP    ?C0001?KEYSCAN
+0025FD         ?C0002?KEYSCAN:
+   30:     return c;
+0025FD AF06              MOV     R7,AR6
+   31: }
+0025FF 22                RET     
 ----- FUNCTION _bit_count (END) -------
 
 
 ----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-002607 904B9C            MOV     DPTR,#ipcTxWritePtr
-00260A E0                MOVX    A,@DPTR
-00260B FE                MOV     R6,A
-00260C A3                INC     DPTR
-00260D E0                MOVX    A,@DPTR
-00260E FF                MOV     R7,A
-00260F 904B9A            MOV     DPTR,#ipcTxReadPtr
-002612 E0                MOVX    A,@DPTR
-002613 B50607            CJNE    A,AR6,?C0025?IPC
-002616 A3                INC     DPTR
-002617 E0                MOVX    A,@DPTR
-002618 B50702            CJNE    A,AR7,?C0025?IPC
-00261B D3                SETB    C
-00261C 22                RET     
-00261D         ?C0025?IPC:
-00261D C3                CLR     C
-00261E 22                RET     
+002600 904B9C            MOV     DPTR,#ipcTxWritePtr
+002603 E0                MOVX    A,@DPTR
+002604 FE                MOV     R6,A
+002605 A3                INC     DPTR
+002606 E0                MOVX    A,@DPTR
+002607 FF                MOV     R7,A
+002608 904B9A            MOV     DPTR,#ipcTxReadPtr
+00260B E0                MOVX    A,@DPTR
+00260C B50607            CJNE    A,AR6,?C0025?IPC
+00260F A3                INC     DPTR
+002610 E0                MOVX    A,@DPTR
+002611 B50702            CJNE    A,AR7,?C0025?IPC
+002614 D3                SETB    C
+002615 22                RET     
+002616         ?C0025?IPC:
+002616 C3                CLR     C
+002617 22                RET     
 ----- FUNCTION IPC_IsTxBuffEmpty (END) -------
 
 
 ----- FUNCTION _array_is_empty (BEGIN) -----
  FILE: 'keyscan.c'
-  281: byte array_is_empty(byte * str1,byte len)
-  282: {
-00261F 904EEA            MOV     DPTR,#str1
-002622 EB                MOV     A,R3
-002623 F0                MOVX    @DPTR,A
-002624 A3                INC     DPTR
-002625 EA                MOV     A,R2
-002626 F0                MOVX    @DPTR,A
-002627 A3                INC     DPTR
-002628 E9                MOV     A,R1
-002629 F0                MOVX    @DPTR,A
+  280: byte array_is_empty(byte * str1,byte len)
+  281: {
+002618 904EEA            MOV     DPTR,#str1
+00261B EB                MOV     A,R3
+00261C F0                MOVX    @DPTR,A
+00261D A3                INC     DPTR
+00261E EA                MOV     A,R2
+00261F F0                MOVX    @DPTR,A
+002620 A3                INC     DPTR
+002621 E9                MOV     A,R1
+002622 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R5' ----
-  283: 	byte i;
-  284: 	for (i=0;i < len;i++)
+  282: 	byte i;
+  283: 	for (i=0;i < len;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-00262A E4                CLR     A
-00262B FF                MOV     R7,A
-00262C         ?C0054?KEYSCAN:
-00262C EF                MOV     A,R7
-00262D C3                CLR     C
-00262E 9D                SUBB    A,R5
-00262F 501B              JNC     ?C0055?KEYSCAN
-  285: 	{
-  286: 		if (str1[i] != 0)
-002631 904EEA            MOV     DPTR,#str1
-002634 E0                MOVX    A,@DPTR
-002635 FB                MOV     R3,A
-002636 A3                INC     DPTR
-002637 E0                MOVX    A,@DPTR
-002638 FA                MOV     R2,A
-002639 A3                INC     DPTR
-00263A E0                MOVX    A,@DPTR
-00263B F9                MOV     R1,A
-00263C 8F82              MOV     DPL,R7
-00263E 758300            MOV     DPH,#00H
-002641 1203CF            LCALL   ?C?CLDOPTR
-002644 6003              JZ      ?C0056?KEYSCAN
-  287: 			return 0x00;
-002646 7F00              MOV     R7,#00H
-002648 22                RET     
-  288: 	}
-002649         ?C0056?KEYSCAN:
-002649 0F                INC     R7
-00264A 80E0              SJMP    ?C0054?KEYSCAN
-00264C         ?C0055?KEYSCAN:
-  289: 	return 0x01;
-00264C 7F01              MOV     R7,#01H
-  290: }
-00264E 22                RET     
+002623 E4                CLR     A
+002624 FF                MOV     R7,A
+002625         ?C0054?KEYSCAN:
+002625 EF                MOV     A,R7
+002626 C3                CLR     C
+002627 9D                SUBB    A,R5
+002628 501B              JNC     ?C0055?KEYSCAN
+  284: 	{
+  285: 		if (str1[i] != 0)
+00262A 904EEA            MOV     DPTR,#str1
+00262D E0                MOVX    A,@DPTR
+00262E FB                MOV     R3,A
+00262F A3                INC     DPTR
+002630 E0                MOVX    A,@DPTR
+002631 FA                MOV     R2,A
+002632 A3                INC     DPTR
+002633 E0                MOVX    A,@DPTR
+002634 F9                MOV     R1,A
+002635 8F82              MOV     DPL,R7
+002637 758300            MOV     DPH,#00H
+00263A 1203CF            LCALL   ?C?CLDOPTR
+00263D 6003              JZ      ?C0056?KEYSCAN
+  286: 			return 0x00;
+00263F 7F00              MOV     R7,#00H
+002641 22                RET     
+  287: 	}
+002642         ?C0056?KEYSCAN:
+002642 0F                INC     R7
+002643 80E0              SJMP    ?C0054?KEYSCAN
+002645         ?C0055?KEYSCAN:
+  288: 	return 0x01;
+002645 7F01              MOV     R7,#01H
+  289: }
+002647 22                RET     
 ----- FUNCTION _array_is_empty (END) -------
 
 
 ----- FUNCTION _compare_str (BEGIN) -----
-00264F 904EAB            MOV     DPTR,#str1
-002652 EB                MOV     A,R3
-002653 F0                MOVX    @DPTR,A
-002654 A3                INC     DPTR
-002655 EA                MOV     A,R2
-002656 F0                MOVX    @DPTR,A
-002657 A3                INC     DPTR
-002658 E9                MOV     A,R1
-002659 F0                MOVX    @DPTR,A
+002648 904EAB            MOV     DPTR,#str1
+00264B EB                MOV     A,R3
+00264C F0                MOVX    @DPTR,A
+00264D A3                INC     DPTR
+00264E EA                MOV     A,R2
+00264F F0                MOVX    @DPTR,A
+002650 A3                INC     DPTR
+002651 E9                MOV     A,R1
+002652 F0                MOVX    @DPTR,A
 ;---- Variable 'i' assigned to Register 'R7' ----
-00265A E4                CLR     A
-00265B FF                MOV     R7,A
-00265C         ?C0021?UTILITIES:
-00265C 904EB1            MOV     DPTR,#len
-00265F E0                MOVX    A,@DPTR
-002660 FE                MOV     R6,A
-002661 EF                MOV     A,R7
-002662 C3                CLR     C
-002663 9E                SUBB    A,R6
-002664 5030              JNC     ?C0022?UTILITIES
-002666 904EAE            MOV     DPTR,#str2
-002669 E0                MOVX    A,@DPTR
-00266A FB                MOV     R3,A
-00266B A3                INC     DPTR
-00266C E0                MOVX    A,@DPTR
-00266D FA                MOV     R2,A
-00266E A3                INC     DPTR
-00266F E0                MOVX    A,@DPTR
-002670 F9                MOV     R1,A
-002671 8F82              MOV     DPL,R7
-002673 758300            MOV     DPH,#00H
-002676 1203CF            LCALL   ?C?CLDOPTR
-002679 FE                MOV     R6,A
-00267A 904EAB            MOV     DPTR,#str1
-00267D E0                MOVX    A,@DPTR
-00267E FB                MOV     R3,A
-00267F A3                INC     DPTR
-002680 E0                MOVX    A,@DPTR
-002681 FA                MOV     R2,A
-002682 A3                INC     DPTR
-002683 E0                MOVX    A,@DPTR
-002684 F9                MOV     R1,A
-002685 8F82              MOV     DPL,R7
-002687 758300            MOV     DPH,#00H
-00268A 1203CF            LCALL   ?C?CLDOPTR
-00268D 6E                XRL     A,R6
-00268E 6003              JZ      ?C0023?UTILITIES
-002690 7F00              MOV     R7,#00H
-002692 22                RET     
-002693         ?C0023?UTILITIES:
-002693 0F                INC     R7
-002694 80C6              SJMP    ?C0021?UTILITIES
-002696         ?C0022?UTILITIES:
-002696 7F01              MOV     R7,#01H
-002698 22                RET     
+002653 E4                CLR     A
+002654 FF                MOV     R7,A
+002655         ?C0021?UTILITIES:
+002655 904EB1            MOV     DPTR,#len
+002658 E0                MOVX    A,@DPTR
+002659 FE                MOV     R6,A
+00265A EF                MOV     A,R7
+00265B C3                CLR     C
+00265C 9E                SUBB    A,R6
+00265D 5030              JNC     ?C0022?UTILITIES
+00265F 904EAE            MOV     DPTR,#str2
+002662 E0                MOVX    A,@DPTR
+002663 FB                MOV     R3,A
+002664 A3                INC     DPTR
+002665 E0                MOVX    A,@DPTR
+002666 FA                MOV     R2,A
+002667 A3                INC     DPTR
+002668 E0                MOVX    A,@DPTR
+002669 F9                MOV     R1,A
+00266A 8F82              MOV     DPL,R7
+00266C 758300            MOV     DPH,#00H
+00266F 1203CF            LCALL   ?C?CLDOPTR
+002672 FE                MOV     R6,A
+002673 904EAB            MOV     DPTR,#str1
+002676 E0                MOVX    A,@DPTR
+002677 FB                MOV     R3,A
+002678 A3                INC     DPTR
+002679 E0                MOVX    A,@DPTR
+00267A FA                MOV     R2,A
+00267B A3                INC     DPTR
+00267C E0                MOVX    A,@DPTR
+00267D F9                MOV     R1,A
+00267E 8F82              MOV     DPL,R7
+002680 758300            MOV     DPH,#00H
+002683 1203CF            LCALL   ?C?CLDOPTR
+002686 6E                XRL     A,R6
+002687 6003              JZ      ?C0023?UTILITIES
+002689 7F00              MOV     R7,#00H
+00268B 22                RET     
+00268C         ?C0023?UTILITIES:
+00268C 0F                INC     R7
+00268D 80C6              SJMP    ?C0021?UTILITIES
+00268F         ?C0022?UTILITIES:
+00268F 7F01              MOV     R7,#01H
+002691 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
 ----- FUNCTION _keyIn (BEGIN) -----
  FILE: 'keyscan.c'
-   36: static void keyIn(byte key)
-   37: {
+   35: static void keyIn(byte key)
+   36: {
 ;---- Variable 'key' assigned to Register 'R7' ----
-   38: 	byte i = 0;
-   39: 
+   37: 	byte i = 0;
+   38: 
 ;---- Variable 'i' assigned to Register 'R6' ----
-002699 E4                CLR     A
-00269A FE                MOV     R6,A
-   40: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-00269B EF                MOV     A,R7
-00269C C3                CLR     C
-00269D 94E0              SUBB    A,#0E0H
-00269F 4020              JC      ?C0005?KEYSCAN
-0026A1 EF                MOV     A,R7
-0026A2 D3                SETB    C
-0026A3 94E7              SUBB    A,#0E7H
-0026A5 501A              JNC     ?C0005?KEYSCAN
-   41: 	{
-   42: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
-0026A7 904EA4            MOV     DPTR,#ksEvtPool
-0026AA E0                MOVX    A,@DPTR
-0026AB FE                MOV     R6,A
-0026AC EF                MOV     A,R7
-0026AD 5407              ANL     A,#07H
-0026AF FF                MOV     R7,A
-0026B0 7401              MOV     A,#01H
-0026B2 A807              MOV     R0,AR7
-0026B4 08                INC     R0
-0026B5 8002              SJMP    ?C0093?KEYSCAN
-0026B7         ?C0092?KEYSCAN:
-0026B7 C3                CLR     C
-0026B8 33                RLC     A
-0026B9         ?C0093?KEYSCAN:
-0026B9 D8FC              DJNZ    R0,?C0092?KEYSCAN
-0026BB 4E                ORL     A,R6
-0026BC 904EA4            MOV     DPTR,#ksEvtPool
-0026BF F0                MOVX    @DPTR,A
-0026C0 22                RET     
-   43: 		return;
-   44: 	}
-0026C1         ?C0005?KEYSCAN:
-   45: /*
-   46: 
-   47: 	if (key == HID_KEY_RIGHT_GUI)
-   48: 	{
-   49: 		ksEvtPool.standardSel |= KS_SEL_RGUI;
-   50: 		return;
-   51: 	}
-   52: 	else if (key ==HID_KEY_RIGHT_ALT) 
-   53: 	{
-   54: 		ksEvtPool.standardSel |= KS_SEL_RALT;
-   55: 		return;
-   56: 	}
-   57: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
-   58: 	{
-   59: 		ksEvtPool.standardSel |= KS_SEL_RSHIFT;
-   60: 		return;
-   61: 	}
-   62: 	else if (key ==HID_KEY_RIGHT_CTL) 
-   63: 	{
-   64: 		ksEvtPool.standardSel |= KS_SEL_RCTRL;
-   65: 		return;
-   66: 	}
-   67: 	else if (key ==HID_KEY_LEFT_GUI) 
-   68: 	{
-   69: 		ksEvtPool.standardSel |= KS_SEL_LGUI;
-   70: 		return;
-   71: 	}
-   72: 	else if (key ==HID_KEY_LEFT_ALT) 
-   73: 	{
-   74: 		ksEvtPool.standardSel |= KS_SEL_LALT;
-   75: 		return;
-   76: 	}
-   77: 	else if (key ==HID_KEY_LEFT_SHIFT)
-   78: 	{
-   79: 		ksEvtPool.standardSel |= KS_SEL_LSHIFT;
-   80: 		return;
-   81: 	}
-   82: 	else if (key ==HID_KEY_LEFT_CTL) 
-   83: 	{
-   84: 		ksEvtPool.standardSel |= KS_SEL_LCTRL;
-   85: 		return;
-   86: 	}
-   87: */	
-   88: 	//special key
-   89: 
-   90: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
+002692 E4                CLR     A
+002693 FE                MOV     R6,A
+   39: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
+002694 EF                MOV     A,R7
+002695 C3                CLR     C
+002696 94E0              SUBB    A,#0E0H
+002698 4020              JC      ?C0005?KEYSCAN
+00269A EF                MOV     A,R7
+00269B D3                SETB    C
+00269C 94E7              SUBB    A,#0E7H
+00269E 501A              JNC     ?C0005?KEYSCAN
+   40: 	{
+   41: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
+0026A0 904EA4            MOV     DPTR,#ksEvtPool
+0026A3 E0                MOVX    A,@DPTR
+0026A4 FE                MOV     R6,A
+0026A5 EF                MOV     A,R7
+0026A6 5407              ANL     A,#07H
+0026A8 FF                MOV     R7,A
+0026A9 7401              MOV     A,#01H
+0026AB A807              MOV     R0,AR7
+0026AD 08                INC     R0
+0026AE 8002              SJMP    ?C0093?KEYSCAN
+0026B0         ?C0092?KEYSCAN:
+0026B0 C3                CLR     C
+0026B1 33                RLC     A
+0026B2         ?C0093?KEYSCAN:
+0026B2 D8FC              DJNZ    R0,?C0092?KEYSCAN
+0026B4 4E                ORL     A,R6
+0026B5 904EA4            MOV     DPTR,#ksEvtPool
+0026B8 F0                MOVX    @DPTR,A
+0026B9 22                RET     
+   42: 		return;
+   43: 	}
+0026BA         ?C0005?KEYSCAN:
+   44: /*
+   45: 
+   46: 	if (key == HID_KEY_RIGHT_GUI)
+   47: 	{
+   48: 		ksEvtPool.standardSel |= KS_SEL_RGUI;
+   49: 		return;
+   50: 	}
+   51: 	else if (key ==HID_KEY_RIGHT_ALT) 
+   52: 	{
+   53: 		ksEvtPool.standardSel |= KS_SEL_RALT;
+   54: 		return;
+   55: 	}
+   56: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
+   57: 	{
+   58: 		ksEvtPool.standardSel |= KS_SEL_RSHIFT;
+   59: 		return;
+   60: 	}
+   61: 	else if (key ==HID_KEY_RIGHT_CTL) 
+   62: 	{
+   63: 		ksEvtPool.standardSel |= KS_SEL_RCTRL;
+   64: 		return;
+   65: 	}
+   66: 	else if (key ==HID_KEY_LEFT_GUI) 
+   67: 	{
+   68: 		ksEvtPool.standardSel |= KS_SEL_LGUI;
+   69: 		return;
+   70: 	}
+   71: 	else if (key ==HID_KEY_LEFT_ALT) 
+   72: 	{
+   73: 		ksEvtPool.standardSel |= KS_SEL_LALT;
+   74: 		return;
+   75: 	}
+   76: 	else if (key ==HID_KEY_LEFT_SHIFT)
+   77: 	{
+   78: 		ksEvtPool.standardSel |= KS_SEL_LSHIFT;
+   79: 		return;
+   80: 	}
+   81: 	else if (key ==HID_KEY_LEFT_CTL) 
+   82: 	{
+   83: 		ksEvtPool.standardSel |= KS_SEL_LCTRL;
+   84: 		return;
+   85: 	}
+   86: */	
+   87: 	//special key
+   88: 
+   89: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
+0026BA E4                CLR     A
+0026BB FE                MOV     R6,A
+0026BC         ?C0007?KEYSCAN:
+   90: 	{
+   91: 		if (ksEvtPool.ksPool[i] == key)
+0026BC 74A5              MOV     A,#LOW ksEvtPool+01H
+0026BE 2E                ADD     A,R6
+0026BF F582              MOV     DPL,A
 0026C1 E4                CLR     A
-0026C2 FE                MOV     R6,A
-0026C3         ?C0007?KEYSCAN:
-   91: 	{
-   92: 		if (ksEvtPool.ksPool[i] == key)
-0026C3 74A5              MOV     A,#LOW ksEvtPool+01H
-0026C5 2E                ADD     A,R6
-0026C6 F582              MOV     DPL,A
-0026C8 E4                CLR     A
-0026C9 344E              ADDC    A,#HIGH ksEvtPool+01H
-0026CB F583              MOV     DPH,A
-0026CD E0                MOVX    A,@DPTR
-0026CE FD                MOV     R5,A
-0026CF 6F                XRL     A,R7
-0026D0 601C              JZ      ?C0006?KEYSCAN
-   93: 			break;
-0026D2         ?C0010?KEYSCAN:
-   94: 		if (ksEvtPool.ksPool[i] == 0) 
-0026D2 ED                MOV     A,R5
-0026D3 7014              JNZ     ?C0009?KEYSCAN
-   95: 		{
-   96: 			if(mult_key_value != key)
-0026D5 904DED            MOV     DPTR,#mult_key_value
-0026D8 E0                MOVX    A,@DPTR
-0026D9 6F                XRL     A,R7
-0026DA 6012              JZ      ?C0006?KEYSCAN
-   97: 				ksEvtPool.ksPool[i] = key;
-0026DC 74A5              MOV     A,#LOW ksEvtPool+01H
-0026DE 2E                ADD     A,R6
-0026DF F582              MOV     DPL,A
-0026E1 E4                CLR     A
-0026E2 344E              ADDC    A,#HIGH ksEvtPool+01H
-0026E4 F583              MOV     DPH,A
-0026E6 EF                MOV     A,R7
-0026E7 F0                MOVX    @DPTR,A
-   98: 			break;
-0026E8 22                RET     
-   99: 		}
-  100: 	}
-0026E9         ?C0009?KEYSCAN:
-0026E9 0E                INC     R6
-0026EA EE                MOV     A,R6
-0026EB B406D5            CJNE    A,#06H,?C0007?KEYSCAN
-  101: }
-0026EE         ?C0006?KEYSCAN:
-0026EE 22                RET     
+0026C2 344E              ADDC    A,#HIGH ksEvtPool+01H
+0026C4 F583              MOV     DPH,A
+0026C6 E0                MOVX    A,@DPTR
+0026C7 FD                MOV     R5,A
+0026C8 6F                XRL     A,R7
+0026C9 601C              JZ      ?C0006?KEYSCAN
+   92: 			break;
+0026CB         ?C0010?KEYSCAN:
+   93: 		if (ksEvtPool.ksPool[i] == 0) 
+0026CB ED                MOV     A,R5
+0026CC 7014              JNZ     ?C0009?KEYSCAN
+   94: 		{
+   95: 			if(mult_key_value != key)
+0026CE 904DED            MOV     DPTR,#mult_key_value
+0026D1 E0                MOVX    A,@DPTR
+0026D2 6F                XRL     A,R7
+0026D3 6012              JZ      ?C0006?KEYSCAN
+   96: 				ksEvtPool.ksPool[i] = key;
+0026D5 74A5              MOV     A,#LOW ksEvtPool+01H
+0026D7 2E                ADD     A,R6
+0026D8 F582              MOV     DPL,A
+0026DA E4                CLR     A
+0026DB 344E              ADDC    A,#HIGH ksEvtPool+01H
+0026DD F583              MOV     DPH,A
+0026DF EF                MOV     A,R7
+0026E0 F0                MOVX    @DPTR,A
+   97: 			break;
+0026E1 22                RET     
+   98: 		}
+   99: 	}
+0026E2         ?C0009?KEYSCAN:
+0026E2 0E                INC     R6
+0026E3 EE                MOV     A,R6
+0026E4 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
+  100: }
+0026E7         ?C0006?KEYSCAN:
+0026E7 22                RET     
 ----- FUNCTION _keyIn (END) -------
 
 
 ----- FUNCTION _keyOut (BEGIN) -----
  FILE: 'keyscan.c'
-  103: static void keyOut(byte key)
-  104: {
+  102: static void keyOut(byte key)
+  103: {
 ;---- Variable 'key' assigned to Register 'R7' ----
-  105: 	byte i = 0 ;
-  106: 	byte found = 0;
+  104: 	byte i = 0 ;
+  105: 	byte found = 0;
 ;---- Variable 'i' assigned to Register 'R6' ----
-0026EF E4                CLR     A
-0026F0 FE                MOV     R6,A
-  107: 
+0026E8 E4                CLR     A
+0026E9 FE                MOV     R6,A
+  106: 
 ;---- Variable 'found' assigned to Register 'R5' ----
-0026F1 FD                MOV     R5,A
-  108: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
+0026EA FD                MOV     R5,A
+  107: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
+0026EB EF                MOV     A,R7
+0026EC 54F0              ANL     A,#0F0H
+0026EE 64F0              XRL     A,#0F0H
+0026F0 6007              JZ      ?C0014?KEYSCAN
 0026F2 EF                MOV     A,R7
-0026F3 54F0              ANL     A,#0F0H
-0026F5 64F0              XRL     A,#0F0H
-0026F7 6007              JZ      ?C0014?KEYSCAN
-0026F9 EF                MOV     A,R7
-0026FA 54D0              ANL     A,#0D0H
-0026FC FC                MOV     R4,A
-0026FD BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
-002700         ?C0014?KEYSCAN:
-  109: 	{
-  110: 		if(mult_key_status == KEY_WAIT_RELEASE)
-002700 904E4B            MOV     DPTR,#mult_key_status
-002703 E0                MOVX    A,@DPTR
-002704 B4020B            CJNE    A,#02H,?C0016?KEYSCAN
-  111: 		{
-  112: 			mult_key_status = KEY_RELEASE;
-002707 7403              MOV     A,#03H
-002709 F0                MOVX    @DPTR,A
-  113: 		}
-  114: 	}
-00270A 8006              SJMP    ?C0016?KEYSCAN
-00270C         ?C0013?KEYSCAN:
-  115: 	else
-  116: 		standard_key_release_flag = 1;
-00270C 904DDF            MOV     DPTR,#standard_key_release_flag
-00270F 7401              MOV     A,#01H
-002711 F0                MOVX    @DPTR,A
-002712         ?C0016?KEYSCAN:
-  117: 
-  118: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-002712 EF                MOV     A,R7
-002713 C3                CLR     C
-002714 94E0              SUBB    A,#0E0H
-002716 4021              JC      ?C0017?KEYSCAN
-002718 EF                MOV     A,R7
-002719 D3                SETB    C
-00271A 94E7              SUBB    A,#0E7H
-00271C 501B              JNC     ?C0017?KEYSCAN
-  119: 	{
-  120: 		ksEvtPool.standardSel  &= ~(0x01 << (key & 0x07));
-00271E 904EA4            MOV     DPTR,#ksEvtPool
-002721 E0                MOVX    A,@DPTR
-002722 FE                MOV     R6,A
-002723 EF                MOV     A,R7
-002724 5407              ANL     A,#07H
-002726 FF                MOV     R7,A
-002727 7401              MOV     A,#01H
-002729 A807              MOV     R0,AR7
-00272B 08                INC     R0
-00272C 8002              SJMP    ?C0095?KEYSCAN
-00272E         ?C0094?KEYSCAN:
-00272E C3                CLR     C
-00272F 33                RLC     A
-002730         ?C0095?KEYSCAN:
-002730 D8FC              DJNZ    R0,?C0094?KEYSCAN
-002732 F4                CPL     A
-002733 5E                ANL     A,R6
-002734 904EA4            MOV     DPTR,#ksEvtPool
-002737 F0                MOVX    @DPTR,A
-002738 22                RET     
-  121: 		return;
-  122: 	}
-002739         ?C0017?KEYSCAN:
-  123: 	
-  124: 
-  125: /*
-  126: 	if (key == HID_KEY_RIGHT_GUI ) 
-  127: 	{
-  128: 		ksEvtPool.standardSel &= ~KS_SEL_RGUI;
-  129: 		return;
-  130: 	}
-  131: 	else if (key ==HID_KEY_RIGHT_ALT ) 
-  132: 	{
-  133: 		ksEvtPool.standardSel &= ~KS_SEL_RALT;
-  134: 		return;
-  135: 	}
-  136: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
-  137: 	{
-  138: 		ksEvtPool.standardSel &= ~KS_SEL_RSHIFT;
-  139: 		return;
-  140: 	}
-  141: 	else if (key ==HID_KEY_RIGHT_CTL) 
-  142: 	{
-  143: 		ksEvtPool.standardSel &= ~KS_SEL_RCTRL;
-  144: 		return;
-  145: 	}
-  146: 	else if (key ==HID_KEY_LEFT_GUI)
-  147: 	{
-  148: 		ksEvtPool.standardSel &= ~KS_SEL_LGUI;
-  149: 		return;
-  150: 	}
-  151: 	else if (key ==HID_KEY_LEFT_ALT)
-  152: 	{
-  153: 		ksEvtPool.standardSel &= ~KS_SEL_LALT;
-  154: 		return;
-  155: 	}
-  156: 	else if (key ==HID_KEY_LEFT_SHIFT) 
-  157: 	{
-  158: 		ksEvtPool.standardSel &= ~KS_SEL_LSHIFT;
-  159: 		return;
-  160: 	}
-  161: 	else if (key ==HID_KEY_LEFT_CTL) 
-  162: 	{
-  163: 		ksEvtPool.standardSel &= ~ KS_SEL_LCTRL;
-  164: 		return;
-  165: 	}
-  166: */	
-  167: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-002739 E4                CLR     A
-00273A FE                MOV     R6,A
-00273B         ?C0019?KEYSCAN:
-  168: 	{
-  169: 		if (found == 0) 
-00273B ED                MOV     A,R5
-00273C 7021              JNZ     ?C0022?KEYSCAN
-  170: 		{
-  171: 			if (ksEvtPool.ksPool[i] == key) {
-00273E 74A5              MOV     A,#LOW ksEvtPool+01H
-002740 2E                ADD     A,R6
-002741 F582              MOV     DPL,A
-002743 E4                CLR     A
-002744 344E              ADDC    A,#HIGH ksEvtPool+01H
-002746 F583              MOV     DPH,A
-002748 E0                MOVX    A,@DPTR
-002749 6F                XRL     A,R7
-00274A 7047              JNZ     ?C0021?KEYSCAN
-  172: 				if (i == KS_BUFF_POLL_LEN-1) {
-00274C EE                MOV     A,R6
-00274D B4050B            CJNE    A,#05H,?C0024?KEYSCAN
-  173: 					ksEvtPool.ksPool[i] = 0;
-002750 24A5              ADD     A,#LOW ksEvtPool+01H
-002752 F582              MOV     DPL,A
-002754 E4                CLR     A
-002755 344E              ADDC    A,#HIGH ksEvtPool+01H
-002757 F583              MOV     DPH,A
-002759 E4                CLR     A
-00275A F0                MOVX    @DPTR,A
-  174: 				}
-00275B         ?C0024?KEYSCAN:
-  175: 				found = 1;
-00275B 7D01              MOV     R5,#01H
-  176: 			}
-  177: 		}
-00275D 8034              SJMP    ?C0021?KEYSCAN
-00275F         ?C0022?KEYSCAN:
-  178: 		else 
-  179: 		{
-  180: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
-00275F 74A5              MOV     A,#LOW ksEvtPool+01H
-002761 2E                ADD     A,R6
-002762 F582              MOV     DPL,A
-002764 E4                CLR     A
-002765 344E              ADDC    A,#HIGH ksEvtPool+01H
-002767 F583              MOV     DPH,A
-002769 E0                MOVX    A,@DPTR
-00276A FC                MOV     R4,A
-00276B 74A4              MOV     A,#LOW ksEvtPool
-00276D 2E                ADD     A,R6
-00276E F582              MOV     DPL,A
-002770 E4                CLR     A
-002771 344E              ADDC    A,#HIGH ksEvtPool
-002773 F583              MOV     DPH,A
-002775 EC                MOV     A,R4
-002776 F0                MOVX    @DPTR,A
-  181: 			if (ksEvtPool.ksPool[i] == 0)
-002777 74A5              MOV     A,#LOW ksEvtPool+01H
-002779 2E                ADD     A,R6
-00277A F582              MOV     DPL,A
-00277C E4                CLR     A
-00277D 344E              ADDC    A,#HIGH ksEvtPool+01H
-00277F F583              MOV     DPH,A
-002781 E0                MOVX    A,@DPTR
-002782 6014              JZ      ?C0018?KEYSCAN
-  182: 				break;
-002784         ?C0026?KEYSCAN:
-  183: 			if (i == KS_BUFF_POLL_LEN-1) {
-002784 EE                MOV     A,R6
-002785 B4050B            CJNE    A,#05H,?C0021?KEYSCAN
-  184: 				ksEvtPool.ksPool[i] = 0;
-002788 24A5              ADD     A,#LOW ksEvtPool+01H
-00278A F582              MOV     DPL,A
-00278C E4                CLR     A
-00278D 344E              ADDC    A,#HIGH ksEvtPool+01H
-00278F F583              MOV     DPH,A
-002791 E4                CLR     A
-002792 F0                MOVX    @DPTR,A
-  185: 			}
-  186: 		}
-  187: 	}
-002793         ?C0021?KEYSCAN:
-002793 0E                INC     R6
-002794 EE                MOV     A,R6
-002795 B406A3            CJNE    A,#06H,?C0019?KEYSCAN
-  188: }
-002798         ?C0018?KEYSCAN:
-002798 22                RET     
+0026F3 54D0              ANL     A,#0D0H
+0026F5 FC                MOV     R4,A
+0026F6 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
+0026F9         ?C0014?KEYSCAN:
+  108: 	{
+  109: 		if(mult_key_status == KEY_WAIT_RELEASE)
+0026F9 904E4B            MOV     DPTR,#mult_key_status
+0026FC E0                MOVX    A,@DPTR
+0026FD B4020B            CJNE    A,#02H,?C0016?KEYSCAN
+  110: 		{
+  111: 			mult_key_status = KEY_RELEASE;
+002700 7403              MOV     A,#03H
+002702 F0                MOVX    @DPTR,A
+  112: 		}
+  113: 	}
+002703 8006              SJMP    ?C0016?KEYSCAN
+002705         ?C0013?KEYSCAN:
+  114: 	else
+  115: 		standard_key_release_flag = 1;
+002705 904DDF            MOV     DPTR,#standard_key_release_flag
+002708 7401              MOV     A,#01H
+00270A F0                MOVX    @DPTR,A
+00270B         ?C0016?KEYSCAN:
+  116: 
+  117: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
+00270B EF                MOV     A,R7
+00270C C3                CLR     C
+00270D 94E0              SUBB    A,#0E0H
+00270F 4021              JC      ?C0017?KEYSCAN
+002711 EF                MOV     A,R7
+002712 D3                SETB    C
+002713 94E7              SUBB    A,#0E7H
+002715 501B              JNC     ?C0017?KEYSCAN
+  118: 	{
+  119: 		ksEvtPool.standardSel  &= ~(0x01 << (key & 0x07));
+002717 904EA4            MOV     DPTR,#ksEvtPool
+00271A E0                MOVX    A,@DPTR
+00271B FE                MOV     R6,A
+00271C EF                MOV     A,R7
+00271D 5407              ANL     A,#07H
+00271F FF                MOV     R7,A
+002720 7401              MOV     A,#01H
+002722 A807              MOV     R0,AR7
+002724 08                INC     R0
+002725 8002              SJMP    ?C0095?KEYSCAN
+002727         ?C0094?KEYSCAN:
+002727 C3                CLR     C
+002728 33                RLC     A
+002729         ?C0095?KEYSCAN:
+002729 D8FC              DJNZ    R0,?C0094?KEYSCAN
+00272B F4                CPL     A
+00272C 5E                ANL     A,R6
+00272D 904EA4            MOV     DPTR,#ksEvtPool
+002730 F0                MOVX    @DPTR,A
+002731 22                RET     
+  120: 		return;
+  121: 	}
+002732         ?C0017?KEYSCAN:
+  122: 	
+  123: 
+  124: /*
+  125: 	if (key == HID_KEY_RIGHT_GUI ) 
+  126: 	{
+  127: 		ksEvtPool.standardSel &= ~KS_SEL_RGUI;
+  128: 		return;
+  129: 	}
+  130: 	else if (key ==HID_KEY_RIGHT_ALT ) 
+  131: 	{
+  132: 		ksEvtPool.standardSel &= ~KS_SEL_RALT;
+  133: 		return;
+  134: 	}
+  135: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
+  136: 	{
+  137: 		ksEvtPool.standardSel &= ~KS_SEL_RSHIFT;
+  138: 		return;
+  139: 	}
+  140: 	else if (key ==HID_KEY_RIGHT_CTL) 
+  141: 	{
+  142: 		ksEvtPool.standardSel &= ~KS_SEL_RCTRL;
+  143: 		return;
+  144: 	}
+  145: 	else if (key ==HID_KEY_LEFT_GUI)
+  146: 	{
+  147: 		ksEvtPool.standardSel &= ~KS_SEL_LGUI;
+  148: 		return;
+  149: 	}
+  150: 	else if (key ==HID_KEY_LEFT_ALT)
+  151: 	{
+  152: 		ksEvtPool.standardSel &= ~KS_SEL_LALT;
+  153: 		return;
+  154: 	}
+  155: 	else if (key ==HID_KEY_LEFT_SHIFT) 
+  156: 	{
+  157: 		ksEvtPool.standardSel &= ~KS_SEL_LSHIFT;
+  158: 		return;
+  159: 	}
+  160: 	else if (key ==HID_KEY_LEFT_CTL) 
+  161: 	{
+  162: 		ksEvtPool.standardSel &= ~ KS_SEL_LCTRL;
+  163: 		return;
+  164: 	}
+  165: */	
+  166: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
+002732 E4                CLR     A
+002733 FE                MOV     R6,A
+002734         ?C0019?KEYSCAN:
+  167: 	{
+  168: 		if (found == 0) 
+002734 ED                MOV     A,R5
+002735 7021              JNZ     ?C0022?KEYSCAN
+  169: 		{
+  170: 			if (ksEvtPool.ksPool[i] == key) {
+002737 74A5              MOV     A,#LOW ksEvtPool+01H
+002739 2E                ADD     A,R6
+00273A F582              MOV     DPL,A
+00273C E4                CLR     A
+00273D 344E              ADDC    A,#HIGH ksEvtPool+01H
+00273F F583              MOV     DPH,A
+002741 E0                MOVX    A,@DPTR
+002742 6F                XRL     A,R7
+002743 7047              JNZ     ?C0021?KEYSCAN
+  171: 				if (i == KS_BUFF_POLL_LEN-1) {
+002745 EE                MOV     A,R6
+002746 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
+  172: 					ksEvtPool.ksPool[i] = 0;
+002749 24A5              ADD     A,#LOW ksEvtPool+01H
+00274B F582              MOV     DPL,A
+00274D E4                CLR     A
+00274E 344E              ADDC    A,#HIGH ksEvtPool+01H
+002750 F583              MOV     DPH,A
+002752 E4                CLR     A
+002753 F0                MOVX    @DPTR,A
+  173: 				}
+002754         ?C0024?KEYSCAN:
+  174: 				found = 1;
+002754 7D01              MOV     R5,#01H
+  175: 			}
+  176: 		}
+002756 8034              SJMP    ?C0021?KEYSCAN
+002758         ?C0022?KEYSCAN:
+  177: 		else 
+  178: 		{
+  179: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
+002758 74A5              MOV     A,#LOW ksEvtPool+01H
+00275A 2E                ADD     A,R6
+00275B F582              MOV     DPL,A
+00275D E4                CLR     A
+00275E 344E              ADDC    A,#HIGH ksEvtPool+01H
+002760 F583              MOV     DPH,A
+002762 E0                MOVX    A,@DPTR
+002763 FC                MOV     R4,A
+002764 74A4              MOV     A,#LOW ksEvtPool
+002766 2E                ADD     A,R6
+002767 F582              MOV     DPL,A
+002769 E4                CLR     A
+00276A 344E              ADDC    A,#HIGH ksEvtPool
+00276C F583              MOV     DPH,A
+00276E EC                MOV     A,R4
+00276F F0                MOVX    @DPTR,A
+  180: 			if (ksEvtPool.ksPool[i] == 0)
+002770 74A5              MOV     A,#LOW ksEvtPool+01H
+002772 2E                ADD     A,R6
+002773 F582              MOV     DPL,A
+002775 E4                CLR     A
+002776 344E              ADDC    A,#HIGH ksEvtPool+01H
+002778 F583              MOV     DPH,A
+00277A E0                MOVX    A,@DPTR
+00277B 6014              JZ      ?C0018?KEYSCAN
+  181: 				break;
+00277D         ?C0026?KEYSCAN:
+  182: 			if (i == KS_BUFF_POLL_LEN-1) {
+00277D EE                MOV     A,R6
+00277E B4050B            CJNE    A,#05H,?C0021?KEYSCAN
+  183: 				ksEvtPool.ksPool[i] = 0;
+002781 24A5              ADD     A,#LOW ksEvtPool+01H
+002783 F582              MOV     DPL,A
+002785 E4                CLR     A
+002786 344E              ADDC    A,#HIGH ksEvtPool+01H
+002788 F583              MOV     DPH,A
+00278A E4                CLR     A
+00278B F0                MOVX    @DPTR,A
+  184: 			}
+  185: 		}
+  186: 	}
+00278C         ?C0021?KEYSCAN:
+00278C 0E                INC     R6
+00278D EE                MOV     A,R6
+00278E B406A3            CJNE    A,#06H,?C0019?KEYSCAN
+  187: }
+002791         ?C0018?KEYSCAN:
+002791 22                RET     
 ----- FUNCTION _keyOut (END) -------
 
 
 ----- FUNCTION _kb_device_select (BEGIN) -----
  FILE: 'kb_process.c'
-  514: byte kb_device_select(tKSEVENT *pEvt)
-  515: {
-002799 904ED4            MOV     DPTR,#pEvt
-00279C EB                MOV     A,R3
-00279D F0                MOVX    @DPTR,A
-00279E A3                INC     DPTR
-00279F EA                MOV     A,R2
-0027A0 F0                MOVX    @DPTR,A
-0027A1 A3                INC     DPTR
-0027A2 E9                MOV     A,R1
-0027A3 F0                MOVX    @DPTR,A
-  516: 	byte temp = 0;
-  517: 	byte i=0;
+  518: byte kb_device_select(tKSEVENT *pEvt)
+  519: {
+002792 904ED4            MOV     DPTR,#pEvt
+002795 EB                MOV     A,R3
+002796 F0                MOVX    @DPTR,A
+002797 A3                INC     DPTR
+002798 EA                MOV     A,R2
+002799 F0                MOVX    @DPTR,A
+00279A A3                INC     DPTR
+00279B E9                MOV     A,R1
+00279C F0                MOVX    @DPTR,A
+  520: 	byte temp = 0;
+  521: 	byte i=0;
 ;---- Variable 'temp' assigned to Register 'R5' ----
-0027A4 E4                CLR     A
-0027A5 FD                MOV     R5,A
-  518: 	
-0027A6 A3                INC     DPTR
-0027A7 F0                MOVX    @DPTR,A
-  519: 	if (fn_flag == 1) 
-0027A8 904DE2            MOV     DPTR,#fn_flag
-0027AB E0                MOVX    A,@DPTR
-0027AC 6401              XRL     A,#01H
-0027AE 6003              JZ      $ + 5H
-0027B0 02288F            LJMP    ?C0109?KB_PROCESS
-  520: 	{
-  521: 		i = KS_BUFF_POLL_LEN-1;
-0027B3 904ED7            MOV     DPTR,#i
-0027B6 7405              MOV     A,#05H
-0027B8 F0                MOVX    @DPTR,A
-0027B9         ?C0110?KB_PROCESS:
-  522: 
-  523: 		while (i--) 
-0027B9 904ED7            MOV     DPTR,#i
-0027BC E0                MOVX    A,@DPTR
-0027BD FE                MOV     R6,A
-0027BE 14                DEC     A
-0027BF F0                MOVX    @DPTR,A
-0027C0 EE                MOV     A,R6
-0027C1 7003              JNZ     $ + 5H
-0027C3 0228D7            LJMP    ?C0126?KB_PROCESS
-  524: 		{
-  525: 			temp = pEvt->ksPool[i];
-0027C6 904ED4            MOV     DPTR,#pEvt
-0027C9 E0                MOVX    A,@DPTR
-0027CA FB                MOV     R3,A
-0027CB A3                INC     DPTR
-0027CC E0                MOVX    A,@DPTR
-0027CD FA                MOV     R2,A
-0027CE A3                INC     DPTR
-0027CF E0                MOVX    A,@DPTR
-0027D0 2401              ADD     A,#01H
-0027D2 F9                MOV     R1,A
-0027D3 E4                CLR     A
-0027D4 3A                ADDC    A,R2
-0027D5 FA                MOV     R2,A
-0027D6 A3                INC     DPTR
-0027D7 E0                MOVX    A,@DPTR
-0027D8 7E00              MOV     R6,#00H
-0027DA 29                ADD     A,R1
-0027DB F9                MOV     R1,A
-0027DC EE                MOV     A,R6
-0027DD 3A                ADDC    A,R2
-0027DE FA                MOV     R2,A
-0027DF 1203B6            LCALL   ?C?CLDPTR
-0027E2 FD                MOV     R5,A
+00279D E4                CLR     A
+00279E FD                MOV     R5,A
+  522: 	
+00279F A3                INC     DPTR
+0027A0 F0                MOVX    @DPTR,A
+  523: 	if (fn_flag == 1) 
+0027A1 904DE2            MOV     DPTR,#fn_flag
+0027A4 E0                MOVX    A,@DPTR
+0027A5 6401              XRL     A,#01H
+0027A7 6003              JZ      $ + 5H
+0027A9 022888            LJMP    ?C0109?KB_PROCESS
+  524: 	{
+  525: 		i = KS_BUFF_POLL_LEN-1;
+0027AC 904ED7            MOV     DPTR,#i
+0027AF 7405              MOV     A,#05H
+0027B1 F0                MOVX    @DPTR,A
+0027B2         ?C0110?KB_PROCESS:
   526: 
-  527: 			if (temp >= HID_KEY_7 && temp <= HID_KEY_0) 
-0027E3 C3                CLR     C
-0027E4 9424              SUBB    A,#024H
-0027E6 4073              JC      ?C0112?KB_PROCESS
-0027E8 ED                MOV     A,R5
-0027E9 D3                SETB    C
-0027EA 9427              SUBB    A,#027H
-0027EC 506D              JNC     ?C0112?KB_PROCESS
-  528: 			{
-  529: 				switch(temp)
-0027EE ED                MOV     A,R5
-0027EF 24DC              ADD     A,#0DCH
-0027F1 24FD              ADD     A,#0FDH
-0027F3 5004              JNC     ?C0116?KB_PROCESS
-0027F5 6037              JZ      ?C0119?KB_PROCESS
-0027F7 805F              SJMP    ?C0113?KB_PROCESS
-  530: 				{
-  531: 					case HID_KEY_7:
-  532: 					case HID_KEY_8:
-  533: 					case HID_KEY_9:		//BT
-0027F9         ?C0116?KB_PROCESS:
-  534: 						g_variable.delay_enter_lpm_timer = 10;
-0027F9 904CEA            MOV     DPTR,#g_variable+02BH
-0027FC 740A              MOV     A,#0AH
+  527: 		while (i--) 
+0027B2 904ED7            MOV     DPTR,#i
+0027B5 E0                MOVX    A,@DPTR
+0027B6 FE                MOV     R6,A
+0027B7 14                DEC     A
+0027B8 F0                MOVX    @DPTR,A
+0027B9 EE                MOV     A,R6
+0027BA 7003              JNZ     $ + 5H
+0027BC 0228D0            LJMP    ?C0126?KB_PROCESS
+  528: 		{
+  529: 			temp = pEvt->ksPool[i];
+0027BF 904ED4            MOV     DPTR,#pEvt
+0027C2 E0                MOVX    A,@DPTR
+0027C3 FB                MOV     R3,A
+0027C4 A3                INC     DPTR
+0027C5 E0                MOVX    A,@DPTR
+0027C6 FA                MOV     R2,A
+0027C7 A3                INC     DPTR
+0027C8 E0                MOVX    A,@DPTR
+0027C9 2401              ADD     A,#01H
+0027CB F9                MOV     R1,A
+0027CC E4                CLR     A
+0027CD 3A                ADDC    A,R2
+0027CE FA                MOV     R2,A
+0027CF A3                INC     DPTR
+0027D0 E0                MOVX    A,@DPTR
+0027D1 7E00              MOV     R6,#00H
+0027D3 29                ADD     A,R1
+0027D4 F9                MOV     R1,A
+0027D5 EE                MOV     A,R6
+0027D6 3A                ADDC    A,R2
+0027D7 FA                MOV     R2,A
+0027D8 1203B6            LCALL   ?C?CLDPTR
+0027DB FD                MOV     R5,A
+  530: 
+  531: 			if (temp >= HID_KEY_7 && temp <= HID_KEY_0) 
+0027DC C3                CLR     C
+0027DD 9424              SUBB    A,#024H
+0027DF 4073              JC      ?C0112?KB_PROCESS
+0027E1 ED                MOV     A,R5
+0027E2 D3                SETB    C
+0027E3 9427              SUBB    A,#027H
+0027E5 506D              JNC     ?C0112?KB_PROCESS
+  532: 			{
+  533: 				switch(temp)
+0027E7 ED                MOV     A,R5
+0027E8 24DC              ADD     A,#0DCH
+0027EA 24FD              ADD     A,#0FDH
+0027EC 5004              JNC     ?C0116?KB_PROCESS
+0027EE 6037              JZ      ?C0119?KB_PROCESS
+0027F0 805F              SJMP    ?C0113?KB_PROCESS
+  534: 				{
+  535: 					case HID_KEY_7:
+  536: 					case HID_KEY_8:
+  537: 					case HID_KEY_9:		//BT
+0027F2         ?C0116?KB_PROCESS:
+  538: 						g_variable.delay_enter_lpm_timer = 10;
+0027F2 904CEA            MOV     DPTR,#g_variable+02BH
+0027F5 740A              MOV     A,#0AH
+0027F7 F0                MOVX    @DPTR,A
+  539: 
+  540: 						g_variable.button_flag |= KEY_FLAG_FN_DEVICE_BUTTON;
+0027F8 904CCE            MOV     DPTR,#g_variable+0FH
+0027FB E0                MOVX    A,@DPTR
+0027FC 4408              ORL     A,#08H
 0027FE F0                MOVX    @DPTR,A
-  535: 
-  536: 						g_variable.button_flag |= KEY_FLAG_FN_DEVICE_BUTTON;
-0027FF 904CCE            MOV     DPTR,#g_variable+0FH
-002802 E0                MOVX    A,@DPTR
-002803 4408              ORL     A,#08H
-002805 F0                MOVX    @DPTR,A
-  537: 						g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-002806 54EF              ANL     A,#0EFH
-002808 F0                MOVX    @DPTR,A
-  538: 						if((g_variable.current_device_num != (temp-(HID_KEY_7 - 1))) ||(g_variable.g24_currentState == CHANGE_TO_24
+  541: 						g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+0027FF 54EF              ANL     A,#0EFH
+002801 F0                MOVX    @DPTR,A
+  542: 						if((g_variable.current_device_num != (temp-(HID_KEY_7 - 1))) ||(g_variable.g24_currentState == CHANGE_TO_24
 >> G_CONNECTED))
-002809 ED                MOV     A,R5
-00280A 24DD              ADD     A,#0DDH
-00280C FF                MOV     R7,A
-00280D 904CC3            MOV     DPTR,#g_variable+04H
+002802 ED                MOV     A,R5
+002803 24DD              ADD     A,#0DDH
+002805 FF                MOV     R7,A
+002806 904CC3            MOV     DPTR,#g_variable+04H
+002809 E0                MOVX    A,@DPTR
+00280A B50708            CJNE    A,AR7,?C0118?KB_PROCESS
+00280D 904CC5            MOV     DPTR,#g_variable+06H
 002810 E0                MOVX    A,@DPTR
-002811 B50708            CJNE    A,AR7,?C0118?KB_PROCESS
-002814 904CC5            MOV     DPTR,#g_variable+06H
-002817 E0                MOVX    A,@DPTR
-002818 6403              XRL     A,#03H
-00281A 703C              JNZ     ?C0113?KB_PROCESS
-00281C         ?C0118?KB_PROCESS:
-  539: 						{
-  540: 							g_variable.current_device_num = temp-(HID_KEY_7 - 1);
-00281C 904CC3            MOV     DPTR,#g_variable+04H
-00281F EF                MOV     A,R7
-002820 F0                MOVX    @DPTR,A
-  541: 							g_variable.button_reconnect_flag = 1;		// long press = 3s enter discovery
-002821 904CCC            MOV     DPTR,#g_variable+0DH
-002824 7401              MOV     A,#01H
-002826 F0                MOVX    @DPTR,A
-  542: 							g_variable.powerOn_timer = 0;
-002827 E4                CLR     A
-002828 904CE5            MOV     DPTR,#g_variable+026H
-00282B F0                MOVX    @DPTR,A
-  543: 						}
-  544: 						break;
-00282C 802A              SJMP    ?C0113?KB_PROCESS
-  545: 					case HID_KEY_0: 			//g24 switch
-00282E         ?C0119?KB_PROCESS:
-  546: 						g_variable.delay_enter_lpm_timer = 10;
-00282E 904CEA            MOV     DPTR,#g_variable+02BH
-002831 740A              MOV     A,#0AH
+002811 6403              XRL     A,#03H
+002813 703C              JNZ     ?C0113?KB_PROCESS
+002815         ?C0118?KB_PROCESS:
+  543: 						{
+  544: 							g_variable.current_device_num = temp-(HID_KEY_7 - 1);
+002815 904CC3            MOV     DPTR,#g_variable+04H
+002818 EF                MOV     A,R7
+002819 F0                MOVX    @DPTR,A
+  545: 							g_variable.button_reconnect_flag = 1;		// long press = 3s enter discovery
+00281A 904CCC            MOV     DPTR,#g_variable+0DH
+00281D 7401              MOV     A,#01H
+00281F F0                MOVX    @DPTR,A
+  546: 							g_variable.powerOn_timer = 0;
+002820 E4                CLR     A
+002821 904CE5            MOV     DPTR,#g_variable+026H
+002824 F0                MOVX    @DPTR,A
+  547: 						}
+  548: 						break;
+002825 802A              SJMP    ?C0113?KB_PROCESS
+  549: 					case HID_KEY_0: 			//g24 switch
+002827         ?C0119?KB_PROCESS:
+  550: 						g_variable.delay_enter_lpm_timer = 10;
+002827 904CEA            MOV     DPTR,#g_variable+02BH
+00282A 740A              MOV     A,#0AH
+00282C F0                MOVX    @DPTR,A
+  551: 						g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
+00282D 904CCE            MOV     DPTR,#g_variable+0FH
+002830 E0                MOVX    A,@DPTR
+002831 54F7              ANL     A,#0F7H
 002833 F0                MOVX    @DPTR,A
-  547: 						g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
-002834 904CCE            MOV     DPTR,#g_variable+0FH
-002837 E0                MOVX    A,@DPTR
-002838 54F7              ANL     A,#0F7H
-00283A F0                MOVX    @DPTR,A
-  548: 						g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-00283B 4410              ORL     A,#010H
-00283D F0                MOVX    @DPTR,A
-  549: 						if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
-00283E 904CC3            MOV     DPTR,#g_variable+04H
-002841 E0                MOVX    A,@DPTR
-002842 FF                MOV     R7,A
-002843 6013              JZ      ?C0113?KB_PROCESS
-002845 64FE              XRL     A,#0FEH
-002847 600F              JZ      ?C0113?KB_PROCESS
-  550: 						{
-  551: 							g_variable.button_24G_rec_flag = 1;
-002849 904CCD            MOV     DPTR,#g_variable+0EH
-00284C 7401              MOV     A,#01H
-00284E F0                MOVX    @DPTR,A
-  552: 							g_variable.current_device_num =0;
-00284F E4                CLR     A
-002850 904CC3            MOV     DPTR,#g_variable+04H
-002853 F0                MOVX    @DPTR,A
-  553: 							g_variable.powerOn_timer = 0;
-002854 904CE5            MOV     DPTR,#g_variable+026H
-002857 F0                MOVX    @DPTR,A
-  554: 						}
-  555: 						break;
-  556: 				}
-002858         ?C0113?KB_PROCESS:
-  557: 				return 1;
-002858 7F01              MOV     R7,#01H
-00285A 22                RET     
-  558: 			}
-00285B         ?C0112?KB_PROCESS:
-  559: 			else
-  560: 			{
-  561: 				g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON);
-00285B 904CCE            MOV     DPTR,#g_variable+0FH
-00285E E0                MOVX    A,@DPTR
-00285F 54E7              ANL     A,#0E7H
-002861 F0                MOVX    @DPTR,A
+  552: 						g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+002834 4410              ORL     A,#010H
+002836 F0                MOVX    @DPTR,A
+  553: 						if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
+002837 904CC3            MOV     DPTR,#g_variable+04H
+00283A E0                MOVX    A,@DPTR
+00283B FF                MOV     R7,A
+00283C 6013              JZ      ?C0113?KB_PROCESS
+00283E 64FE              XRL     A,#0FEH
+002840 600F              JZ      ?C0113?KB_PROCESS
+  554: 						{
+  555: 							g_variable.button_24G_rec_flag = 1;
+002842 904CCD            MOV     DPTR,#g_variable+0EH
+002845 7401              MOV     A,#01H
+002847 F0                MOVX    @DPTR,A
+  556: 							g_variable.current_device_num =0;
+002848 E4                CLR     A
+002849 904CC3            MOV     DPTR,#g_variable+04H
+00284C F0                MOVX    @DPTR,A
+  557: 							g_variable.powerOn_timer = 0;
+00284D 904CE5            MOV     DPTR,#g_variable+026H
+002850 F0                MOVX    @DPTR,A
+  558: 						}
+  559: 						break;
+  560: 				}
+002851         ?C0113?KB_PROCESS:
+  561: 				return 1;
+002851 7F01              MOV     R7,#01H
+002853 22                RET     
   562: 			}
-002862         ?C0122?KB_PROCESS:
-  563: 
-  564: 			
-  565: 			if((temp == HID_KEY_U) || (temp == HID_KEY_I) || (temp == HID_KEY_O))
-002862 ED                MOV     A,R5
-002863 6418              XRL     A,#018H
-002865 6009              JZ      ?C0124?KB_PROCESS
-002867 ED                MOV     A,R5
-002868 640C              XRL     A,#0CH
-00286A 6004              JZ      ?C0124?KB_PROCESS
-00286C ED                MOV     A,R5
-00286D B41215            CJNE    A,#012H,?C0123?KB_PROCESS
-002870         ?C0124?KB_PROCESS:
-  566: 			{
-  567: 				g_variable.delay_enter_lpm_timer = 10;
-002870 904CEA            MOV     DPTR,#g_variable+02BH
-002873 740A              MOV     A,#0AH
-002875 F0                MOVX    @DPTR,A
-  568: 				key_value_temp = temp;
-002876 904DE8            MOV     DPTR,#key_value_temp
-002879 ED                MOV     A,R5
+002854         ?C0112?KB_PROCESS:
+  563: 			else
+  564: 			{
+  565: 				g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON);
+002854 904CCE            MOV     DPTR,#g_variable+0FH
+002857 E0                MOVX    A,@DPTR
+002858 54E7              ANL     A,#0E7H
+00285A F0                MOVX    @DPTR,A
+  566: 			}
+00285B         ?C0122?KB_PROCESS:
+  567: 
+  568: 			
+  569: 			if((temp == HID_KEY_U) || (temp == HID_KEY_I) || (temp == HID_KEY_O))
+00285B ED                MOV     A,R5
+00285C 6418              XRL     A,#018H
+00285E 6009              JZ      ?C0124?KB_PROCESS
+002860 ED                MOV     A,R5
+002861 640C              XRL     A,#0CH
+002863 6004              JZ      ?C0124?KB_PROCESS
+002865 ED                MOV     A,R5
+002866 B41215            CJNE    A,#012H,?C0123?KB_PROCESS
+002869         ?C0124?KB_PROCESS:
+  570: 			{
+  571: 				g_variable.delay_enter_lpm_timer = 10;
+002869 904CEA            MOV     DPTR,#g_variable+02BH
+00286C 740A              MOV     A,#0AH
+00286E F0                MOVX    @DPTR,A
+  572: 				key_value_temp = temp;
+00286F 904DE8            MOV     DPTR,#key_value_temp
+002872 ED                MOV     A,R5
+002873 F0                MOVX    @DPTR,A
+  573: 				g_variable.button_flag |= KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
+002874 904CCE            MOV     DPTR,#g_variable+0FH
+002877 E0                MOVX    A,@DPTR
+002878 4420              ORL     A,#020H
 00287A F0                MOVX    @DPTR,A
-  569: 				g_variable.button_flag |= KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
-00287B 904CCE            MOV     DPTR,#g_variable+0FH
-00287E E0                MOVX    A,@DPTR
-00287F 4420              ORL     A,#020H
-002881 F0                MOVX    @DPTR,A
-  570: 				return 1;
-002882 7F01              MOV     R7,#01H
-002884 22                RET     
-  571: 			}
-002885         ?C0123?KB_PROCESS:
-  572: 			else
-  573: 				g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
-002885 904CCE            MOV     DPTR,#g_variable+0FH
-002888 E0                MOVX    A,@DPTR
-002889 54DF              ANL     A,#0DFH
-00288B F0                MOVX    @DPTR,A
-  574: 		}
-00288C 0227B9            LJMP    ?C0110?KB_PROCESS
-  575: 	}
-00288F         ?C0109?KB_PROCESS:
-  576: 	else
-  577: 	{
-  578: 		if (pEvt->ksPool[0] == HID_KEY_PB) 
-00288F 904ED4            MOV     DPTR,#pEvt
-002892 E0                MOVX    A,@DPTR
-002893 FB                MOV     R3,A
-002894 A3                INC     DPTR
-002895 E0                MOVX    A,@DPTR
-002896 FA                MOV     R2,A
-002897 A3                INC     DPTR
-002898 E0                MOVX    A,@DPTR
-002899 F9                MOV     R1,A
-00289A 900001            MOV     DPTR,#01H
-00289D 1203CF            LCALL   ?C?CLDOPTR
-0028A0 64EF              XRL     A,#0EFH
-0028A2 7029              JNZ     ?C0127?KB_PROCESS
-  579: 		{
-  580: 			g_variable.delay_enter_lpm_timer = 10;
-0028A4 904CEA            MOV     DPTR,#g_variable+02BH
-0028A7 740A              MOV     A,#0AH
+  574: 				return 1;
+00287B 7F01              MOV     R7,#01H
+00287D 22                RET     
+  575: 			}
+00287E         ?C0123?KB_PROCESS:
+  576: 			else
+  577: 				g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
+00287E 904CCE            MOV     DPTR,#g_variable+0FH
+002881 E0                MOVX    A,@DPTR
+002882 54DF              ANL     A,#0DFH
+002884 F0                MOVX    @DPTR,A
+  578: 		}
+002885 0227B2            LJMP    ?C0110?KB_PROCESS
+  579: 	}
+002888         ?C0109?KB_PROCESS:
+  580: 	else
+  581: 	{
+  582: 		if (pEvt->ksPool[0] == HID_KEY_PB) 
+002888 904ED4            MOV     DPTR,#pEvt
+00288B E0                MOVX    A,@DPTR
+00288C FB                MOV     R3,A
+00288D A3                INC     DPTR
+00288E E0                MOVX    A,@DPTR
+00288F FA                MOV     R2,A
+002890 A3                INC     DPTR
+002891 E0                MOVX    A,@DPTR
+002892 F9                MOV     R1,A
+002893 900001            MOV     DPTR,#01H
+002896 1203CF            LCALL   ?C?CLDOPTR
+002899 64EF              XRL     A,#0EFH
+00289B 7029              JNZ     ?C0127?KB_PROCESS
+  583: 		{
+  584: 			g_variable.delay_enter_lpm_timer = 10;
+00289D 904CEA            MOV     DPTR,#g_variable+02BH
+0028A0 740A              MOV     A,#0AH
+0028A2 F0                MOVX    @DPTR,A
+  585: 			g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
+0028A3 904CCE            MOV     DPTR,#g_variable+0FH
+0028A6 E0                MOVX    A,@DPTR
+0028A7 54F7              ANL     A,#0F7H
 0028A9 F0                MOVX    @DPTR,A
-  581: 			g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
-0028AA 904CCE            MOV     DPTR,#g_variable+0FH
-0028AD E0                MOVX    A,@DPTR
-0028AE 54F7              ANL     A,#0F7H
-0028B0 F0                MOVX    @DPTR,A
-  582: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-0028B1 4410              ORL     A,#010H
-0028B3 F0                MOVX    @DPTR,A
-  583: 			if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
-0028B4 904CC3            MOV     DPTR,#g_variable+04H
-0028B7 E0                MOVX    A,@DPTR
-0028B8 FF                MOV     R7,A
-0028B9 600F              JZ      ?C0128?KB_PROCESS
-0028BB 64FE              XRL     A,#0FEH
-0028BD 600B              JZ      ?C0128?KB_PROCESS
-  584: 			{
-  585: 				g_variable.button_24G_rec_flag = 1;
-0028BF 904CCD            MOV     DPTR,#g_variable+0EH
-0028C2 7401              MOV     A,#01H
-0028C4 F0                MOVX    @DPTR,A
-  586: 				g_variable.current_device_num =0;
-0028C5 E4                CLR     A
-0028C6 904CC3            MOV     DPTR,#g_variable+04H
-0028C9 F0                MOVX    @DPTR,A
-  587: 			}
-0028CA         ?C0128?KB_PROCESS:
-  588: 			return 1;
-0028CA 7F01              MOV     R7,#01H
-0028CC 22                RET     
-  589: 		}
-0028CD         ?C0127?KB_PROCESS:
-  590: 	
-  591: 		g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON) ;
-0028CD 904CCE            MOV     DPTR,#g_variable+0FH
-0028D0 E0                MOVX    A,@DPTR
-0028D1 54E7              ANL     A,#0E7H
-0028D3 F0                MOVX    @DPTR,A
-  592: 		g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
-0028D4 54DF              ANL     A,#0DFH
-0028D6 F0                MOVX    @DPTR,A
-  593: 	}
-0028D7         ?C0126?KB_PROCESS:
-  594: 	return 0;
-0028D7 7F00              MOV     R7,#00H
-  595: }
-0028D9 22                RET     
+  586: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+0028AA 4410              ORL     A,#010H
+0028AC F0                MOVX    @DPTR,A
+  587: 			if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
+0028AD 904CC3            MOV     DPTR,#g_variable+04H
+0028B0 E0                MOVX    A,@DPTR
+0028B1 FF                MOV     R7,A
+0028B2 600F              JZ      ?C0128?KB_PROCESS
+0028B4 64FE              XRL     A,#0FEH
+0028B6 600B              JZ      ?C0128?KB_PROCESS
+  588: 			{
+  589: 				g_variable.button_24G_rec_flag = 1;
+0028B8 904CCD            MOV     DPTR,#g_variable+0EH
+0028BB 7401              MOV     A,#01H
+0028BD F0                MOVX    @DPTR,A
+  590: 				g_variable.current_device_num =0;
+0028BE E4                CLR     A
+0028BF 904CC3            MOV     DPTR,#g_variable+04H
+0028C2 F0                MOVX    @DPTR,A
+  591: 			}
+0028C3         ?C0128?KB_PROCESS:
+  592: 			return 1;
+0028C3 7F01              MOV     R7,#01H
+0028C5 22                RET     
+  593: 		}
+0028C6         ?C0127?KB_PROCESS:
+  594: 	
+  595: 		g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON) ;
+0028C6 904CCE            MOV     DPTR,#g_variable+0FH
+0028C9 E0                MOVX    A,@DPTR
+0028CA 54E7              ANL     A,#0E7H
+0028CC F0                MOVX    @DPTR,A
+  596: 		g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
+0028CD 54DF              ANL     A,#0DFH
+0028CF F0                MOVX    @DPTR,A
+  597: 	}
+0028D0         ?C0126?KB_PROCESS:
+  598: 	return 0;
+0028D0 7F00              MOV     R7,#00H
+  599: }
+0028D2 22                RET     
 ----- FUNCTION _kb_device_select (END) -------
 
 
 ----- FUNCTION _kb_combination_key_press (BEGIN) -----
  FILE: 'kb_process.c'
-  600: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
-  601: {
+  604: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
+  605: {
 ;---- Variable 'press_state' assigned to Register 'R7' ----
 ;---- Variable 'standrad_key' assigned to Register 'R3' ----
 ;---- Variable 'special_key' assigned to Register 'R5' ----
-  602: 	g_variable.key_combination_ctrl = special_key;	
-  603: 	g_variable.key_combination_keyvalue = standrad_key;
-0028DA 904CF5            MOV     DPTR,#g_variable+036H
-0028DD ED                MOV     A,R5
-0028DE F0                MOVX    @DPTR,A
-  604: 
-0028DF A3                INC     DPTR
-0028E0 EB                MOV     A,R3
-0028E1 F0                MOVX    @DPTR,A
-  605: 	if(press_state & 1)
-0028E2 EF                MOV     A,R7
-0028E3 30E012            JNB     ACC.0,?C0129?KB_PROCESS
-  606: 	{
-  607: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
-0028E6 904CF4            MOV     DPTR,#g_variable+035H
-0028E9 E0                MOVX    A,@DPTR
-0028EA B40304            CJNE    A,#03H,?C0130?KB_PROCESS
-  608: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
-0028ED 7402              MOV     A,#02H
+  606: 	g_variable.key_combination_ctrl = special_key;	
+  607: 	g_variable.key_combination_keyvalue = standrad_key;
+0028D3 904CF5            MOV     DPTR,#g_variable+036H
+0028D6 ED                MOV     A,R5
+0028D7 F0                MOVX    @DPTR,A
+  608: 
+0028D8 A3                INC     DPTR
+0028D9 EB                MOV     A,R3
+0028DA F0                MOVX    @DPTR,A
+  609: 	if(press_state & 1)
+0028DB EF                MOV     A,R7
+0028DC 30E012            JNB     ACC.0,?C0129?KB_PROCESS
+  610: 	{
+  611: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
+0028DF 904CF4            MOV     DPTR,#g_variable+035H
+0028E2 E0                MOVX    A,@DPTR
+0028E3 B40304            CJNE    A,#03H,?C0130?KB_PROCESS
+  612: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+0028E6 7402              MOV     A,#02H
+0028E8 F0                MOVX    @DPTR,A
+0028E9 22                RET     
+0028EA         ?C0130?KB_PROCESS:
+  613: 		else	
+  614: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
+0028EA 904CF4            MOV     DPTR,#g_variable+035H
+0028ED 7401              MOV     A,#01H
 0028EF F0                MOVX    @DPTR,A
+  615: 	}
 0028F0 22                RET     
-0028F1         ?C0130?KB_PROCESS:
-  609: 		else	
-  610: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
+0028F1         ?C0129?KB_PROCESS:
+  616: 	else
+  617: 	{
+  618: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
 0028F1 904CF4            MOV     DPTR,#g_variable+035H
-0028F4 7401              MOV     A,#01H
+0028F4 7404              MOV     A,#04H
 0028F6 F0                MOVX    @DPTR,A
-  611: 	}
+  619: 	}
+  620: 
+  621: }
 0028F7 22                RET     
-0028F8         ?C0129?KB_PROCESS:
-  612: 	else
-  613: 	{
-  614: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-0028F8 904CF4            MOV     DPTR,#g_variable+035H
-0028FB 7404              MOV     A,#04H
-0028FD F0                MOVX    @DPTR,A
-  615: 	}
-  616: 
-  617: }
-0028FE 22                RET     
 ----- FUNCTION _kb_combination_key_press (END) -------
 
 
 ----- FUNCTION _key_fn_function (BEGIN) -----
  FILE: 'kb_process.c'
-  620: byte key_fn_function(byte state ,byte key_value)
-  621: {
+  624: byte key_fn_function(byte state ,byte key_value)
+  625: {
 ;---- Variable 'state' assigned to Register 'R6' ----
-0028FF AE07              MOV     R6,AR7
+0028F8 AE07              MOV     R6,AR7
 ;---- Variable 'key_value' assigned to Register 'R5' ----
-  622: 	byte temp = 0;
-  623: 
-002901 E4                CLR     A
-002902 904F03            MOV     DPTR,#temp
-002905 F0                MOVX    @DPTR,A
-  624: 	if(state & 1)
-002906 EE                MOV     A,R6
-002907 30E005            JNB     ACC.0,?C0134?KB_PROCESS
-  625: 		g_variable.one_key_press_wait_release_timer = 0;
-00290A E4                CLR     A
-00290B 904CF8            MOV     DPTR,#g_variable+039H
-00290E F0                MOVX    @DPTR,A
-00290F         ?C0134?KB_PROCESS:
-  626: 
-  627: 	temp = key_value;
-00290F 904F03            MOV     DPTR,#temp
-002912 ED                MOV     A,R5
-002913 F0                MOVX    @DPTR,A
-  628: 	if(g_variable.system_mode != OSMODE_WINDOWS)
-002914 904CC1            MOV     DPTR,#g_variable+02H
-002917 E0                MOVX    A,@DPTR
-002918 602E              JZ      ?C0135?KB_PROCESS
-  629: 	{
-  630: 		if(key_value == HID_KEY_RIGHT_ALT)
-00291A ED                MOV     A,R5
-00291B B4E608            CJNE    A,#0E6H,?C0136?KB_PROCESS
-  631: 			temp = HID_KEY_RIGHT_GUI;
-00291E 904F03            MOV     DPTR,#temp
-002921 74E7              MOV     A,#0E7H
-002923 F0                MOVX    @DPTR,A
-002924 8022              SJMP    ?C0135?KB_PROCESS
-002926         ?C0136?KB_PROCESS:
-  632: 		else if(key_value == HID_KEY_RIGHT_CTL)
-002926 ED                MOV     A,R5
-002927 B4E408            CJNE    A,#0E4H,?C0138?KB_PROCESS
-  633: 			temp = HID_KEY_RIGHT_ALT;	
-00292A 904F03            MOV     DPTR,#temp
-00292D 74E6              MOV     A,#0E6H
-00292F F0                MOVX    @DPTR,A
-002930 8016              SJMP    ?C0135?KB_PROCESS
-002932         ?C0138?KB_PROCESS:
-  634: 		else if(key_value == HID_KEY_LEFT_GUI)
-002932 ED                MOV     A,R5
-002933 B4E308            CJNE    A,#0E3H,?C0140?KB_PROCESS
-  635: 			temp = HID_KEY_LEFT_ALT;
-002936 904F03            MOV     DPTR,#temp
-002939 74E2              MOV     A,#0E2H
-00293B F0                MOVX    @DPTR,A
-00293C 800A              SJMP    ?C0135?KB_PROCESS
-00293E         ?C0140?KB_PROCESS:
-  636: 		else if(key_value == HID_KEY_LEFT_ALT)
-00293E ED                MOV     A,R5
-00293F B4E206            CJNE    A,#0E2H,?C0135?KB_PROCESS
-  637: 			temp = HID_KEY_LEFT_GUI;	
-002942 904F03            MOV     DPTR,#temp
-002945 74E3              MOV     A,#0E3H
-002947 F0                MOVX    @DPTR,A
-  638: 	}
-002948         ?C0135?KB_PROCESS:
-  639: 
-  640: 	if(fn_flag == 1)			// Fn lock
-002948 904DE2            MOV     DPTR,#fn_flag
-00294B E0                MOVX    A,@DPTR
-00294C 6401              XRL     A,#01H
-00294E 6002              JZ      $ + 4H
-002950 21E8              AJMP    ?C0143?KB_PROCESS
-  641: 	{
-  642: 		if(key_value == HID_KEY_DELETE)
-002952 ED                MOV     A,R5
-002953 B44C08            CJNE    A,#04CH,?C0144?KB_PROCESS
-  643: 		{
-  644: 			temp = HID_KEY_PAUSE;
-002956 904F03            MOV     DPTR,#temp
-002959 7448              MOV     A,#048H
-00295B F0                MOVX    @DPTR,A
-  645: 		}
-00295C 21E8              AJMP    ?C0143?KB_PROCESS
-00295E         ?C0144?KB_PROCESS:
-  646: 		else if(key_value == HID_KEY_UP_ARROW)
-00295E ED                MOV     A,R5
-00295F B45208            CJNE    A,#052H,?C0146?KB_PROCESS
+  626: 	byte temp = 0;
+  627: 
+0028FA E4                CLR     A
+0028FB 904F03            MOV     DPTR,#temp
+0028FE F0                MOVX    @DPTR,A
+  628: 	if(state & 1)
+0028FF EE                MOV     A,R6
+002900 30E005            JNB     ACC.0,?C0134?KB_PROCESS
+  629: 		g_variable.one_key_press_wait_release_timer = 0;
+002903 E4                CLR     A
+002904 904CF8            MOV     DPTR,#g_variable+039H
+002907 F0                MOVX    @DPTR,A
+002908         ?C0134?KB_PROCESS:
+  630: 
+  631: 	temp = key_value;
+002908 904F03            MOV     DPTR,#temp
+00290B ED                MOV     A,R5
+00290C F0                MOVX    @DPTR,A
+  632: 	if(g_variable.system_mode != OSMODE_WINDOWS)
+00290D 904CC1            MOV     DPTR,#g_variable+02H
+002910 E0                MOVX    A,@DPTR
+002911 602E              JZ      ?C0135?KB_PROCESS
+  633: 	{
+  634: 		if(key_value == HID_KEY_RIGHT_ALT)
+002913 ED                MOV     A,R5
+002914 B4E608            CJNE    A,#0E6H,?C0136?KB_PROCESS
+  635: 			temp = HID_KEY_RIGHT_GUI;
+002917 904F03            MOV     DPTR,#temp
+00291A 74E7              MOV     A,#0E7H
+00291C F0                MOVX    @DPTR,A
+00291D 8022              SJMP    ?C0135?KB_PROCESS
+00291F         ?C0136?KB_PROCESS:
+  636: 		else if(key_value == HID_KEY_RIGHT_CTL)
+00291F ED                MOV     A,R5
+002920 B4E408            CJNE    A,#0E4H,?C0138?KB_PROCESS
+  637: 			temp = HID_KEY_RIGHT_ALT;	
+002923 904F03            MOV     DPTR,#temp
+002926 74E6              MOV     A,#0E6H
+002928 F0                MOVX    @DPTR,A
+002929 8016              SJMP    ?C0135?KB_PROCESS
+00292B         ?C0138?KB_PROCESS:
+  638: 		else if(key_value == HID_KEY_LEFT_GUI)
+00292B ED                MOV     A,R5
+00292C B4E308            CJNE    A,#0E3H,?C0140?KB_PROCESS
+  639: 			temp = HID_KEY_LEFT_ALT;
+00292F 904F03            MOV     DPTR,#temp
+002932 74E2              MOV     A,#0E2H
+002934 F0                MOVX    @DPTR,A
+002935 800A              SJMP    ?C0135?KB_PROCESS
+002937         ?C0140?KB_PROCESS:
+  640: 		else if(key_value == HID_KEY_LEFT_ALT)
+002937 ED                MOV     A,R5
+002938 B4E206            CJNE    A,#0E2H,?C0135?KB_PROCESS
+  641: 			temp = HID_KEY_LEFT_GUI;	
+00293B 904F03            MOV     DPTR,#temp
+00293E 74E3              MOV     A,#0E3H
+002940 F0                MOVX    @DPTR,A
+  642: 	}
+002941         ?C0135?KB_PROCESS:
+  643: 
+  644: 	if(fn_flag == 1)			// Fn lock
+002941 904DE2            MOV     DPTR,#fn_flag
+002944 E0                MOVX    A,@DPTR
+002945 6401              XRL     A,#01H
+002947 6002              JZ      $ + 4H
+002949 21E1              AJMP    ?C0143?KB_PROCESS
+  645: 	{
+  646: 		if(key_value == HID_KEY_DELETE)
+00294B ED                MOV     A,R5
+00294C B44C08            CJNE    A,#04CH,?C0144?KB_PROCESS
   647: 		{
-  648: 			temp = HID_MULTIKEY_LIGHT_UP;
-002962 904F03            MOV     DPTR,#temp
-002965 74D8              MOV     A,#0D8H
-002967 F0                MOVX    @DPTR,A
+  648: 			temp = HID_KEY_PAUSE;
+00294F 904F03            MOV     DPTR,#temp
+002952 7448              MOV     A,#048H
+002954 F0                MOVX    @DPTR,A
   649: 		}
-002968 807E              SJMP    ?C0143?KB_PROCESS
-00296A         ?C0146?KB_PROCESS:
-  650: 		else if(key_value == HID_KEY_DOWN_ARROW)
-00296A ED                MOV     A,R5
-00296B B45108            CJNE    A,#051H,?C0148?KB_PROCESS
+002955 21E1              AJMP    ?C0143?KB_PROCESS
+002957         ?C0144?KB_PROCESS:
+  650: 		else if(key_value == HID_KEY_UP_ARROW)
+002957 ED                MOV     A,R5
+002958 B45208            CJNE    A,#052H,?C0146?KB_PROCESS
   651: 		{
-  652: 			temp = HID_MULTIKEY_LIGHT_DOWN;
-00296E 904F03            MOV     DPTR,#temp
-002971 74D7              MOV     A,#0D7H
-002973 F0                MOVX    @DPTR,A
+  652: 			temp = HID_MULTIKEY_LIGHT_UP;
+00295B 904F03            MOV     DPTR,#temp
+00295E 74D8              MOV     A,#0D8H
+002960 F0                MOVX    @DPTR,A
   653: 		}
-002974 8072              SJMP    ?C0143?KB_PROCESS
-002976         ?C0148?KB_PROCESS:
-  654: 		else if(key_value == HID_KEY_ENTER)
-002976 ED                MOV     A,R5
-002977 B42808            CJNE    A,#028H,?C0150?KB_PROCESS
+002961 807E              SJMP    ?C0143?KB_PROCESS
+002963         ?C0146?KB_PROCESS:
+  654: 		else if(key_value == HID_KEY_DOWN_ARROW)
+002963 ED                MOV     A,R5
+002964 B45108            CJNE    A,#051H,?C0148?KB_PROCESS
   655: 		{
-  656: 			temp = HID_KEY_SCROLL_LOCK;
-00297A 904F03            MOV     DPTR,#temp
-00297D 7447              MOV     A,#047H
-00297F F0                MOVX    @DPTR,A
+  656: 			temp = HID_MULTIKEY_LIGHT_DOWN;
+002967 904F03            MOV     DPTR,#temp
+00296A 74D7              MOV     A,#0D7H
+00296C F0                MOVX    @DPTR,A
   657: 		}
-002980 8066              SJMP    ?C0143?KB_PROCESS
-002982         ?C0150?KB_PROCESS:
-  658: 		else if(key_value == HID_KEY_BACKSPACE)
-002982 ED                MOV     A,R5
-002983 B42A08            CJNE    A,#02AH,?C0152?KB_PROCESS
+00296D 8072              SJMP    ?C0143?KB_PROCESS
+00296F         ?C0148?KB_PROCESS:
+  658: 		else if(key_value == HID_KEY_ENTER)
+00296F ED                MOV     A,R5
+002970 B42808            CJNE    A,#028H,?C0150?KB_PROCESS
   659: 		{
-  660: 			temp = HID_MULTIKEY_OS_LOCK;
-002986 904F03            MOV     DPTR,#temp
-002989 74DA              MOV     A,#0DAH
-00298B F0                MOVX    @DPTR,A
+  660: 			temp = HID_KEY_SCROLL_LOCK;
+002973 904F03            MOV     DPTR,#temp
+002976 7447              MOV     A,#047H
+002978 F0                MOVX    @DPTR,A
   661: 		}
-00298C 805A              SJMP    ?C0143?KB_PROCESS
-00298E         ?C0152?KB_PROCESS:
-  662: 		else if(key_value == HID_KEY_ESC)
-00298E ED                MOV     A,R5
-00298F 6429              XRL     A,#029H
-002991 7055              JNZ     ?C0143?KB_PROCESS
+002979 8066              SJMP    ?C0143?KB_PROCESS
+00297B         ?C0150?KB_PROCESS:
+  662: 		else if(key_value == HID_KEY_BACKSPACE)
+00297B ED                MOV     A,R5
+00297C B42A08            CJNE    A,#02AH,?C0152?KB_PROCESS
   663: 		{
-  664: 			if(state & 1)
-002993 EE                MOV     A,R6
-002994 30E04C            JNB     ACC.0,?C0155?KB_PROCESS
-  665: 			{						
-  666: 				if(fn_lock_flag)
-002997 904DE7            MOV     DPTR,#fn_lock_flag
-00299A E0                MOVX    A,@DPTR
-00299B 6004              JZ      ?C0156?KB_PROCESS
-  667: 				{
-  668: 					fn_lock_flag = 0;
-00299D E4                CLR     A
-00299E F0                MOVX    @DPTR,A
-  669: 				}
-00299F 8006              SJMP    ?C0157?KB_PROCESS
-0029A1         ?C0156?KB_PROCESS:
-  670: 				else
-  671: 					fn_lock_flag = 1;
-0029A1 904DE7            MOV     DPTR,#fn_lock_flag
-0029A4 7401              MOV     A,#01H
-0029A6 F0                MOVX    @DPTR,A
-0029A7         ?C0157?KB_PROCESS:
-  672: 					
-  673: 				if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-0029A7 904CC3            MOV     DPTR,#g_variable+04H
-0029AA E0                MOVX    A,@DPTR
-0029AB FF                MOV     R7,A
-0029AC 6003              JZ      ?C0159?KB_PROCESS
-0029AE B4FE08            CJNE    A,#0FEH,?C0158?KB_PROCESS
-0029B1         ?C0159?KB_PROCESS:
-  674: 				{
-  675: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-0029B1 904CBF            MOV     DPTR,#g_variable
-0029B4 7402              MOV     A,#02H
-0029B6 F0                MOVX    @DPTR,A
-  676: 				}
-0029B7 802A              SJMP    ?C0155?KB_PROCESS
-0029B9         ?C0158?KB_PROCESS:
-  677: 				else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-0029B9 EF                MOV     A,R7
-0029BA D3                SETB    C
-0029BB 9403              SUBB    A,#03H
-0029BD 5024              JNC     ?C0155?KB_PROCESS
-0029BF EF                MOV     A,R7
-0029C0 C3                CLR     C
-0029C1 9401              SUBB    A,#01H
-0029C3 401E              JC      ?C0155?KB_PROCESS
+  664: 			temp = HID_MULTIKEY_OS_LOCK;
+00297F 904F03            MOV     DPTR,#temp
+002982 74DA              MOV     A,#0DAH
+002984 F0                MOVX    @DPTR,A
+  665: 		}
+002985 805A              SJMP    ?C0143?KB_PROCESS
+002987         ?C0152?KB_PROCESS:
+  666: 		else if(key_value == HID_KEY_ESC)
+002987 ED                MOV     A,R5
+002988 6429              XRL     A,#029H
+00298A 7055              JNZ     ?C0143?KB_PROCESS
+  667: 		{
+  668: 			if(state & 1)
+00298C EE                MOV     A,R6
+00298D 30E04C            JNB     ACC.0,?C0155?KB_PROCESS
+  669: 			{						
+  670: 				if(fn_lock_flag)
+002990 904DE7            MOV     DPTR,#fn_lock_flag
+002993 E0                MOVX    A,@DPTR
+002994 6004              JZ      ?C0156?KB_PROCESS
+  671: 				{
+  672: 					fn_lock_flag = 0;
+002996 E4                CLR     A
+002997 F0                MOVX    @DPTR,A
+  673: 				}
+002998 8006              SJMP    ?C0157?KB_PROCESS
+00299A         ?C0156?KB_PROCESS:
+  674: 				else
+  675: 					fn_lock_flag = 1;
+00299A 904DE7            MOV     DPTR,#fn_lock_flag
+00299D 7401              MOV     A,#01H
+00299F F0                MOVX    @DPTR,A
+0029A0         ?C0157?KB_PROCESS:
+  676: 					
+  677: 				if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+0029A0 904CC3            MOV     DPTR,#g_variable+04H
+0029A3 E0                MOVX    A,@DPTR
+0029A4 FF                MOV     R7,A
+0029A5 6003              JZ      ?C0159?KB_PROCESS
+0029A7 B4FE08            CJNE    A,#0FEH,?C0158?KB_PROCESS
+0029AA         ?C0159?KB_PROCESS:
   678: 				{
-  679: 					bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
-0029C5 904DE7            MOV     DPTR,#fn_lock_flag
-0029C8 E0                MOVX    A,@DPTR
-0029C9 FF                MOV     R7,A
-0029CA 904CC3            MOV     DPTR,#g_variable+04H
-0029CD E0                MOVX    A,@DPTR
-0029CE 75F01F            MOV     B,#01FH
-0029D1 A4                MUL     AB
-0029D2 24ED              ADD     A,#LOW bd_key_record_list-01H
-0029D4 F582              MOV     DPL,A
-0029D6 E4                CLR     A
-0029D7 344D              ADDC    A,#HIGH bd_key_record_list-01H
-0029D9 F583              MOV     DPH,A
-0029DB EF                MOV     A,R7
-0029DC F0                MOVX    @DPTR,A
-  680: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-0029DD 904CBF            MOV     DPTR,#g_variable
-0029E0 7403              MOV     A,#03H
-0029E2 F0                MOVX    @DPTR,A
-  681: 				}
-  682: 			}
-0029E3         ?C0155?KB_PROCESS:
-  683: 			temp = HID_KEY_NULL;
-0029E3 E4                CLR     A
-0029E4 904F03            MOV     DPTR,#temp
-0029E7 F0                MOVX    @DPTR,A
-  684: 		}		
-  685: 	}
-0029E8         ?C0143?KB_PROCESS:
-  686: 	
-  687: 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
-0029E8 904E55            MOV     DPTR,#fast_connect_flag
-0029EB E0                MOVX    A,@DPTR
-0029EC 6002              JZ      $ + 4H
-0029EE 615B              AJMP    ?C0162?KB_PROCESS
-0029F0 904DE2            MOV     DPTR,#fn_flag
-0029F3 E0                MOVX    A,@DPTR
-0029F4 7006              JNZ     ?C0164?KB_PROCESS
-0029F6 904DE7            MOV     DPTR,#fn_lock_flag
-0029F9 E0                MOVX    A,@DPTR
-0029FA 6014              JZ      ?C0163?KB_PROCESS
-0029FC         ?C0164?KB_PROCESS:
-0029FC 904DE2            MOV     DPTR,#fn_flag
-0029FF E0                MOVX    A,@DPTR
-002A00 6401              XRL     A,#01H
-002A02 6002              JZ      $ + 4H
-002A04 615B              AJMP    ?C0162?KB_PROCESS
-002A06 904DE7            MOV     DPTR,#fn_lock_flag
-002A09 E0                MOVX    A,@DPTR
-002A0A 6401              XRL     A,#01H
-002A0C 6002              JZ      $ + 4H
-002A0E 615B              AJMP    ?C0162?KB_PROCESS
-002A10         ?C0163?KB_PROCESS:
-  688: 	{
-  689: 		switch (key_value)
-002A10 ED                MOV     A,R5
-002A11 24C6              ADD     A,#0C6H
-002A13 B40C00            CJNE    A,#0CH,?C0260?KB_PROCESS
-002A16         ?C0260?KB_PROCESS:
-002A16 4002              JC      $ + 4H
-002A18 615B              AJMP    ?C0162?KB_PROCESS
-002A1A 902A28            MOV     DPTR,#02A28H
-002A1D 75F003            MOV     B,#03H
-002A20 A4                MUL     AB
-002A21 C583              XCH     A,DPH
-002A23 25F0              ADD     A,B
-002A25 C583              XCH     A,DPH
-002A27 73                JMP     @A+DPTR
-002A28         ?C0261?KB_PROCESS:
-002A28 022A4C            LJMP    ?C0166?KB_PROCESS
-002A2B 022A63            LJMP    ?C0169?KB_PROCESS
-002A2E 022AAC            LJMP    ?C0177?KB_PROCESS
-002A31 022AC9            LJMP    ?C0180?KB_PROCESS
-002A34 022AE7            LJMP    ?C0183?KB_PROCESS
-002A37 022B10            LJMP    ?C0187?KB_PROCESS
-002A3A 022B2D            LJMP    ?C0190?KB_PROCESS
-002A3D 022B35            LJMP    ?C0191?KB_PROCESS
-002A40 022B3D            LJMP    ?C0192?KB_PROCESS
-002A43 022B45            LJMP    ?C0193?KB_PROCESS
-002A46 022B4D            LJMP    ?C0194?KB_PROCESS
-002A49 022B55            LJMP    ?C0195?KB_PROCESS
-  690: 		{ 	
-  691: 			case HID_KEY_F1:
-002A4C         ?C0166?KB_PROCESS:
-  692: 				if(g_variable.system_mode == OSMODE_MAC)
-002A4C 904CC1            MOV     DPTR,#g_variable+02H
-002A4F E0                MOVX    A,@DPTR
-002A50 B40108            CJNE    A,#01H,?C0167?KB_PROCESS
-  693: 				{
-  694: 					temp = HID_KEY_F11;	
-002A53 904F03            MOV     DPTR,#temp
-002A56 7444              MOV     A,#044H
-002A58 F0                MOVX    @DPTR,A
-  695: 				}
-002A59 615B              AJMP    ?C0162?KB_PROCESS
-002A5B         ?C0167?KB_PROCESS:
-  696: 				else
+  679: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+0029AA 904CBF            MOV     DPTR,#g_variable
+0029AD 7402              MOV     A,#02H
+0029AF F0                MOVX    @DPTR,A
+  680: 				}
+0029B0 802A              SJMP    ?C0155?KB_PROCESS
+0029B2         ?C0158?KB_PROCESS:
+  681: 				else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+0029B2 EF                MOV     A,R7
+0029B3 D3                SETB    C
+0029B4 9403              SUBB    A,#03H
+0029B6 5024              JNC     ?C0155?KB_PROCESS
+0029B8 EF                MOV     A,R7
+0029B9 C3                CLR     C
+0029BA 9401              SUBB    A,#01H
+0029BC 401E              JC      ?C0155?KB_PROCESS
+  682: 				{
+  683: 					bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
+0029BE 904DE7            MOV     DPTR,#fn_lock_flag
+0029C1 E0                MOVX    A,@DPTR
+0029C2 FF                MOV     R7,A
+0029C3 904CC3            MOV     DPTR,#g_variable+04H
+0029C6 E0                MOVX    A,@DPTR
+0029C7 75F01F            MOV     B,#01FH
+0029CA A4                MUL     AB
+0029CB 24ED              ADD     A,#LOW bd_key_record_list-01H
+0029CD F582              MOV     DPL,A
+0029CF E4                CLR     A
+0029D0 344D              ADDC    A,#HIGH bd_key_record_list-01H
+0029D2 F583              MOV     DPH,A
+0029D4 EF                MOV     A,R7
+0029D5 F0                MOVX    @DPTR,A
+  684: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+0029D6 904CBF            MOV     DPTR,#g_variable
+0029D9 7403              MOV     A,#03H
+0029DB F0                MOVX    @DPTR,A
+  685: 				}
+  686: 			}
+0029DC         ?C0155?KB_PROCESS:
+  687: 			temp = HID_KEY_NULL;
+0029DC E4                CLR     A
+0029DD 904F03            MOV     DPTR,#temp
+0029E0 F0                MOVX    @DPTR,A
+  688: 		}		
+  689: 	}
+0029E1         ?C0143?KB_PROCESS:
+  690: 	
+  691: 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
+0029E1 904E55            MOV     DPTR,#fast_connect_flag
+0029E4 E0                MOVX    A,@DPTR
+0029E5 6002              JZ      $ + 4H
+0029E7 6154              AJMP    ?C0162?KB_PROCESS
+0029E9 904DE2            MOV     DPTR,#fn_flag
+0029EC E0                MOVX    A,@DPTR
+0029ED 7006              JNZ     ?C0164?KB_PROCESS
+0029EF 904DE7            MOV     DPTR,#fn_lock_flag
+0029F2 E0                MOVX    A,@DPTR
+0029F3 6014              JZ      ?C0163?KB_PROCESS
+0029F5         ?C0164?KB_PROCESS:
+0029F5 904DE2            MOV     DPTR,#fn_flag
+0029F8 E0                MOVX    A,@DPTR
+0029F9 6401              XRL     A,#01H
+0029FB 6002              JZ      $ + 4H
+0029FD 6154              AJMP    ?C0162?KB_PROCESS
+0029FF 904DE7            MOV     DPTR,#fn_lock_flag
+002A02 E0                MOVX    A,@DPTR
+002A03 6401              XRL     A,#01H
+002A05 6002              JZ      $ + 4H
+002A07 6154              AJMP    ?C0162?KB_PROCESS
+002A09         ?C0163?KB_PROCESS:
+  692: 	{
+  693: 		switch (key_value)
+002A09 ED                MOV     A,R5
+002A0A 24C6              ADD     A,#0C6H
+002A0C B40C00            CJNE    A,#0CH,?C0260?KB_PROCESS
+002A0F         ?C0260?KB_PROCESS:
+002A0F 4002              JC      $ + 4H
+002A11 6154              AJMP    ?C0162?KB_PROCESS
+002A13 902A21            MOV     DPTR,#02A21H
+002A16 75F003            MOV     B,#03H
+002A19 A4                MUL     AB
+002A1A C583              XCH     A,DPH
+002A1C 25F0              ADD     A,B
+002A1E C583              XCH     A,DPH
+002A20 73                JMP     @A+DPTR
+002A21         ?C0261?KB_PROCESS:
+002A21 022A45            LJMP    ?C0166?KB_PROCESS
+002A24 022A5C            LJMP    ?C0169?KB_PROCESS
+002A27 022AA5            LJMP    ?C0177?KB_PROCESS
+002A2A 022AC2            LJMP    ?C0180?KB_PROCESS
+002A2D 022AE0            LJMP    ?C0183?KB_PROCESS
+002A30 022B09            LJMP    ?C0187?KB_PROCESS
+002A33 022B26            LJMP    ?C0190?KB_PROCESS
+002A36 022B2E            LJMP    ?C0191?KB_PROCESS
+002A39 022B36            LJMP    ?C0192?KB_PROCESS
+002A3C 022B3E            LJMP    ?C0193?KB_PROCESS
+002A3F 022B46            LJMP    ?C0194?KB_PROCESS
+002A42 022B4E            LJMP    ?C0195?KB_PROCESS
+  694: 		{ 	
+  695: 			case HID_KEY_F1:
+002A45         ?C0166?KB_PROCESS:
+  696: 				if(g_variable.system_mode == OSMODE_MAC)
+002A45 904CC1            MOV     DPTR,#g_variable+02H
+002A48 E0                MOVX    A,@DPTR
+002A49 B40108            CJNE    A,#01H,?C0167?KB_PROCESS
   697: 				{
-  698: 					temp = HID_MULTIKEY_AC_HOME;
-002A5B 904F03            MOV     DPTR,#temp
-002A5E 74D6              MOV     A,#0D6H
-002A60 F0                MOVX    @DPTR,A
+  698: 					temp = HID_KEY_F11;	
+002A4C 904F03            MOV     DPTR,#temp
+002A4F 7444              MOV     A,#044H
+002A51 F0                MOVX    @DPTR,A
   699: 				}
-  700: 				break;
-002A61 615B              AJMP    ?C0162?KB_PROCESS
-  701: 			case HID_KEY_F2:
-002A63         ?C0169?KB_PROCESS:
-  702: 				if(g_variable.system_mode == OSMODE_WINDOWS)
-002A63 904CC1            MOV     DPTR,#g_variable+02H
-002A66 E0                MOVX    A,@DPTR
-002A67 FC                MOV     R4,A
-002A68 7014              JNZ     ?C0170?KB_PROCESS
-  703: 				{
-  704: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
-002A6A AF06              MOV     R7,AR6
-002A6C 7B2B              MOV     R3,#02BH
-002A6E 7D04              MOV     R5,#04H
-002A70 11DA              ACALL   _kb_combination_key_press
-  705: 					if(state & 1)
-002A72 EE                MOV     A,R6
-002A73 30E02F            JNB     ACC.0,?C0172?KB_PROCESS
-  706: 					{						
-  707: 						g_variable.one_key_press_wait_release_timer = 10;
-002A76 904CF8            MOV     DPTR,#g_variable+039H
-002A79 740A              MOV     A,#0AH
-002A7B F0                MOVX    @DPTR,A
-  708: 					}
-  709: 				}
-002A7C 8027              SJMP    ?C0172?KB_PROCESS
-002A7E         ?C0170?KB_PROCESS:
-  710: 				else if(g_variable.system_mode == OSMODE_MAC)
-002A7E EC                MOV     A,R4
-002A7F B4010A            CJNE    A,#01H,?C0173?KB_PROCESS
-  711: 				{
-  712: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_UP_ARROW);
-002A82 AF06              MOV     R7,AR6
-002A84 7B52              MOV     R3,#052H
-002A86 7D01              MOV     R5,#01H
-002A88 11DA              ACALL   _kb_combination_key_press
+002A52 6154              AJMP    ?C0162?KB_PROCESS
+002A54         ?C0167?KB_PROCESS:
+  700: 				else
+  701: 				{
+  702: 					temp = HID_MULTIKEY_AC_HOME;
+002A54 904F03            MOV     DPTR,#temp
+002A57 74D6              MOV     A,#0D6H
+002A59 F0                MOVX    @DPTR,A
+  703: 				}
+  704: 				break;
+002A5A 6154              AJMP    ?C0162?KB_PROCESS
+  705: 			case HID_KEY_F2:
+002A5C         ?C0169?KB_PROCESS:
+  706: 				if(g_variable.system_mode == OSMODE_WINDOWS)
+002A5C 904CC1            MOV     DPTR,#g_variable+02H
+002A5F E0                MOVX    A,@DPTR
+002A60 FC                MOV     R4,A
+002A61 7014              JNZ     ?C0170?KB_PROCESS
+  707: 				{
+  708: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
+002A63 AF06              MOV     R7,AR6
+002A65 7B2B              MOV     R3,#02BH
+002A67 7D04              MOV     R5,#04H
+002A69 11D3              ACALL   _kb_combination_key_press
+  709: 					if(state & 1)
+002A6B EE                MOV     A,R6
+002A6C 30E02F            JNB     ACC.0,?C0172?KB_PROCESS
+  710: 					{						
+  711: 						g_variable.one_key_press_wait_release_timer = 10;
+002A6F 904CF8            MOV     DPTR,#g_variable+039H
+002A72 740A              MOV     A,#0AH
+002A74 F0                MOVX    @DPTR,A
+  712: 					}
   713: 				}
-002A8A 8019              SJMP    ?C0172?KB_PROCESS
-002A8C         ?C0173?KB_PROCESS:
-  714: 				else if(g_variable.system_mode == OSMODE_IOS)
-002A8C 904CC1            MOV     DPTR,#g_variable+02H
-002A8F E0                MOVX    A,@DPTR
-002A90 B40212            CJNE    A,#02H,?C0172?KB_PROCESS
+002A75 8027              SJMP    ?C0172?KB_PROCESS
+002A77         ?C0170?KB_PROCESS:
+  714: 				else if(g_variable.system_mode == OSMODE_MAC)
+002A77 EC                MOV     A,R4
+002A78 B4010A            CJNE    A,#01H,?C0173?KB_PROCESS
   715: 				{
-  716: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_TAB);
-002A93 AF06              MOV     R7,AR6
-002A95 7B2B              MOV     R3,#02BH
-002A97 7D08              MOV     R5,#08H
-002A99 11DA              ACALL   _kb_combination_key_press
-  717: 					if(state & 1)
-002A9B EE                MOV     A,R6
-002A9C 30E006            JNB     ACC.0,?C0172?KB_PROCESS
-  718: 					{						
-  719: 						g_variable.one_key_press_wait_release_timer = 10;
-002A9F 904CF8            MOV     DPTR,#g_variable+039H
-002AA2 740A              MOV     A,#0AH
-002AA4 F0                MOVX    @DPTR,A
-  720: 					}
-  721: 				}
-002AA5         ?C0172?KB_PROCESS:
-  722: 				temp = HID_KEY_NULL;
-002AA5 E4                CLR     A
-002AA6 904F03            MOV     DPTR,#temp
-002AA9 F0                MOVX    @DPTR,A
-  723: 				break;
-002AAA 615B              AJMP    ?C0162?KB_PROCESS
-  724: 			case HID_KEY_F3:
-002AAC         ?C0177?KB_PROCESS:
-  725: 				if(g_variable.system_mode == OSMODE_WINDOWS)
-002AAC 904CC1            MOV     DPTR,#g_variable+02H
-002AAF E0                MOVX    A,@DPTR
-002AB0 7008              JNZ     ?C0178?KB_PROCESS
-  726: 				{
-  727: 					temp = HID_MULTIKEY_AC_BACK;
-002AB2 904F03            MOV     DPTR,#temp
-002AB5 74D2              MOV     A,#0D2H
-002AB7 F0                MOVX    @DPTR,A
-  728: 				}
-002AB8 615B              AJMP    ?C0162?KB_PROCESS
-002ABA         ?C0178?KB_PROCESS:
-  729: 				else
+  716: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_UP_ARROW);
+002A7B AF06              MOV     R7,AR6
+002A7D 7B52              MOV     R3,#052H
+002A7F 7D01              MOV     R5,#01H
+002A81 11D3              ACALL   _kb_combination_key_press
+  717: 				}
+002A83 8019              SJMP    ?C0172?KB_PROCESS
+002A85         ?C0173?KB_PROCESS:
+  718: 				else if(g_variable.system_mode == OSMODE_IOS)
+002A85 904CC1            MOV     DPTR,#g_variable+02H
+002A88 E0                MOVX    A,@DPTR
+002A89 B40212            CJNE    A,#02H,?C0172?KB_PROCESS
+  719: 				{
+  720: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_TAB);
+002A8C AF06              MOV     R7,AR6
+002A8E 7B2B              MOV     R3,#02BH
+002A90 7D08              MOV     R5,#08H
+002A92 11D3              ACALL   _kb_combination_key_press
+  721: 					if(state & 1)
+002A94 EE                MOV     A,R6
+002A95 30E006            JNB     ACC.0,?C0172?KB_PROCESS
+  722: 					{						
+  723: 						g_variable.one_key_press_wait_release_timer = 10;
+002A98 904CF8            MOV     DPTR,#g_variable+039H
+002A9B 740A              MOV     A,#0AH
+002A9D F0                MOVX    @DPTR,A
+  724: 					}
+  725: 				}
+002A9E         ?C0172?KB_PROCESS:
+  726: 				temp = HID_KEY_NULL;
+002A9E E4                CLR     A
+002A9F 904F03            MOV     DPTR,#temp
+002AA2 F0                MOVX    @DPTR,A
+  727: 				break;
+002AA3 6154              AJMP    ?C0162?KB_PROCESS
+  728: 			case HID_KEY_F3:
+002AA5         ?C0177?KB_PROCESS:
+  729: 				if(g_variable.system_mode == OSMODE_WINDOWS)
+002AA5 904CC1            MOV     DPTR,#g_variable+02H
+002AA8 E0                MOVX    A,@DPTR
+002AA9 7008              JNZ     ?C0178?KB_PROCESS
   730: 				{
-  731: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_LEFT_ARROW);
-002ABA AF06              MOV     R7,AR6
-002ABC 7B50              MOV     R3,#050H
-002ABE 7D08              MOV     R5,#08H
-002AC0 11DA              ACALL   _kb_combination_key_press
-  732: 					temp = HID_KEY_NULL;
-002AC2 E4                CLR     A
-002AC3 904F03            MOV     DPTR,#temp
-002AC6 F0                MOVX    @DPTR,A
-  733: 				}
-  734: 				break;
-002AC7 615B              AJMP    ?C0162?KB_PROCESS
-  735: 			case HID_KEY_F4:
-002AC9         ?C0180?KB_PROCESS:
-  736: 				if(g_variable.system_mode == OSMODE_MAC)
-002AC9 904CC1            MOV     DPTR,#g_variable+02H
-002ACC E0                MOVX    A,@DPTR
-002ACD B4010F            CJNE    A,#01H,?C0181?KB_PROCESS
-  737: 				{
-  738: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
-002AD0 AF06              MOV     R7,AR6
-002AD2 7B2C              MOV     R3,#02CH
-002AD4 7D08              MOV     R5,#08H
-002AD6 11DA              ACALL   _kb_combination_key_press
-  739: 					temp = HID_KEY_NULL;
-002AD8 E4                CLR     A
-002AD9 904F03            MOV     DPTR,#temp
-002ADC F0                MOVX    @DPTR,A
-  740: 				}
-002ADD 807C              SJMP    ?C0162?KB_PROCESS
-002ADF         ?C0181?KB_PROCESS:
-  741: 				else
-  742: 				{
-  743: 					temp = HID_MULTIKEY_AC_SEARCH;
-002ADF 904F03            MOV     DPTR,#temp
-002AE2 74D5              MOV     A,#0D5H
-002AE4 F0                MOVX    @DPTR,A
+  731: 					temp = HID_MULTIKEY_AC_BACK;
+002AAB 904F03            MOV     DPTR,#temp
+002AAE 74D2              MOV     A,#0D2H
+002AB0 F0                MOVX    @DPTR,A
+  732: 				}
+002AB1 6154              AJMP    ?C0162?KB_PROCESS
+002AB3         ?C0178?KB_PROCESS:
+  733: 				else
+  734: 				{
+  735: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_LEFT_ARROW);
+002AB3 AF06              MOV     R7,AR6
+002AB5 7B50              MOV     R3,#050H
+002AB7 7D08              MOV     R5,#08H
+002AB9 11D3              ACALL   _kb_combination_key_press
+  736: 					temp = HID_KEY_NULL;
+002ABB E4                CLR     A
+002ABC 904F03            MOV     DPTR,#temp
+002ABF F0                MOVX    @DPTR,A
+  737: 				}
+  738: 				break;
+002AC0 6154              AJMP    ?C0162?KB_PROCESS
+  739: 			case HID_KEY_F4:
+002AC2         ?C0180?KB_PROCESS:
+  740: 				if(g_variable.system_mode == OSMODE_MAC)
+002AC2 904CC1            MOV     DPTR,#g_variable+02H
+002AC5 E0                MOVX    A,@DPTR
+002AC6 B4010F            CJNE    A,#01H,?C0181?KB_PROCESS
+  741: 				{
+  742: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
+002AC9 AF06              MOV     R7,AR6
+002ACB 7B2C              MOV     R3,#02CH
+002ACD 7D08              MOV     R5,#08H
+002ACF 11D3              ACALL   _kb_combination_key_press
+  743: 					temp = HID_KEY_NULL;
+002AD1 E4                CLR     A
+002AD2 904F03            MOV     DPTR,#temp
+002AD5 F0                MOVX    @DPTR,A
   744: 				}
-  745: 				break;
-002AE5 8074              SJMP    ?C0162?KB_PROCESS
-  746: 			case HID_KEY_F5:
-002AE7         ?C0183?KB_PROCESS:
-  747: 				if(g_variable.system_mode == OSMODE_WINDOWS)		// language switch
-002AE7 904CC1            MOV     DPTR,#g_variable+02H
-002AEA E0                MOVX    A,@DPTR
-002AEB 700A              JNZ     ?C0184?KB_PROCESS
-  748: 				{
-  749: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);	
-002AED AF06              MOV     R7,AR6
-002AEF 7B2C              MOV     R3,#02CH
-002AF1 7D08              MOV     R5,#08H
-002AF3 11DA              ACALL   _kb_combination_key_press
-  750: 				}
-002AF5 8008              SJMP    ?C0185?KB_PROCESS
-002AF7         ?C0184?KB_PROCESS:
-  751: 				else
+002AD6 807C              SJMP    ?C0162?KB_PROCESS
+002AD8         ?C0181?KB_PROCESS:
+  745: 				else
+  746: 				{
+  747: 					temp = HID_MULTIKEY_AC_SEARCH;
+002AD8 904F03            MOV     DPTR,#temp
+002ADB 74D5              MOV     A,#0D5H
+002ADD F0                MOVX    @DPTR,A
+  748: 				}
+  749: 				break;
+002ADE 8074              SJMP    ?C0162?KB_PROCESS
+  750: 			case HID_KEY_F5:
+002AE0         ?C0183?KB_PROCESS:
+  751: 				if(g_variable.system_mode == OSMODE_WINDOWS)		// language switch
+002AE0 904CC1            MOV     DPTR,#g_variable+02H
+002AE3 E0                MOVX    A,@DPTR
+002AE4 700A              JNZ     ?C0184?KB_PROCESS
   752: 				{
-  753: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_SPACE);	
-002AF7 AF06              MOV     R7,AR6
-002AF9 7B2C              MOV     R3,#02CH
-002AFB 7D01              MOV     R5,#01H
-002AFD 11DA              ACALL   _kb_combination_key_press
+  753: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);	
+002AE6 AF06              MOV     R7,AR6
+002AE8 7B2C              MOV     R3,#02CH
+002AEA 7D08              MOV     R5,#08H
+002AEC 11D3              ACALL   _kb_combination_key_press
   754: 				}
-002AFF         ?C0185?KB_PROCESS:
-  755: 				if(state & 1)
-002AFF EE                MOV     A,R6
-002B00 30E006            JNB     ACC.0,?C0186?KB_PROCESS
-  756: 				{						
-  757: 					g_variable.one_key_press_wait_release_timer = 10;
-002B03 904CF8            MOV     DPTR,#g_variable+039H
-002B06 740A              MOV     A,#0AH
-002B08 F0                MOVX    @DPTR,A
+002AEE 8008              SJMP    ?C0185?KB_PROCESS
+002AF0         ?C0184?KB_PROCESS:
+  755: 				else
+  756: 				{
+  757: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_SPACE);	
+002AF0 AF06              MOV     R7,AR6
+002AF2 7B2C              MOV     R3,#02CH
+002AF4 7D01              MOV     R5,#01H
+002AF6 11D3              ACALL   _kb_combination_key_press
   758: 				}
-002B09         ?C0186?KB_PROCESS:
-  759: 				temp = HID_KEY_NULL;
-002B09 E4                CLR     A
-002B0A 904F03            MOV     DPTR,#temp
-002B0D F0                MOVX    @DPTR,A
-  760: 				break;
-002B0E 804B              SJMP    ?C0162?KB_PROCESS
-  761: 			case HID_KEY_F6:
-002B10         ?C0187?KB_PROCESS:
-  762: 				if(g_variable.system_mode == OSMODE_WINDOWS)
-002B10 904CC1            MOV     DPTR,#g_variable+02H
-002B13 E0                MOVX    A,@DPTR
-002B14 7008              JNZ     ?C0188?KB_PROCESS
-  763: 				{
-  764: 					temp = HID_KEY_PRINT_SCREEN;
-002B16 904F03            MOV     DPTR,#temp
-002B19 7446              MOV     A,#046H
-002B1B F0                MOVX    @DPTR,A
-  765: 				}
-002B1C 803D              SJMP    ?C0162?KB_PROCESS
-002B1E         ?C0188?KB_PROCESS:
-  766: 				else
+002AF8         ?C0185?KB_PROCESS:
+  759: 				if(state & 1)
+002AF8 EE                MOV     A,R6
+002AF9 30E006            JNB     ACC.0,?C0186?KB_PROCESS
+  760: 				{						
+  761: 					g_variable.one_key_press_wait_release_timer = 10;
+002AFC 904CF8            MOV     DPTR,#g_variable+039H
+002AFF 740A              MOV     A,#0AH
+002B01 F0                MOVX    @DPTR,A
+  762: 				}
+002B02         ?C0186?KB_PROCESS:
+  763: 				temp = HID_KEY_NULL;
+002B02 E4                CLR     A
+002B03 904F03            MOV     DPTR,#temp
+002B06 F0                MOVX    @DPTR,A
+  764: 				break;
+002B07 804B              SJMP    ?C0162?KB_PROCESS
+  765: 			case HID_KEY_F6:
+002B09         ?C0187?KB_PROCESS:
+  766: 				if(g_variable.system_mode == OSMODE_WINDOWS)
+002B09 904CC1            MOV     DPTR,#g_variable+02H
+002B0C E0                MOVX    A,@DPTR
+002B0D 7008              JNZ     ?C0188?KB_PROCESS
   767: 				{
-  768: 					kb_combination_key_press(state,KS_SEL_LGUI | KS_SEL_LSHIFT,HID_KEY_3);	// ios prt
-002B1E AF06              MOV     R7,AR6
-002B20 7B20              MOV     R3,#020H
-002B22 7D0A              MOV     R5,#0AH
-002B24 11DA              ACALL   _kb_combination_key_press
-  769: 					temp = HID_KEY_NULL;
-002B26 E4                CLR     A
-002B27 904F03            MOV     DPTR,#temp
-002B2A F0                MOVX    @DPTR,A
-  770: 				}	
-  771: 				break;
-002B2B 802E              SJMP    ?C0162?KB_PROCESS
-  772: 			case HID_KEY_F7:
-002B2D         ?C0190?KB_PROCESS:
-  773: 				temp = HID_MULTIKEY_PRE_TRACK;
-002B2D 904F03            MOV     DPTR,#temp
-002B30 74F4              MOV     A,#0F4H
-002B32 F0                MOVX    @DPTR,A
-  774: 				break;	
-002B33 8026              SJMP    ?C0162?KB_PROCESS
-  775: 			case HID_KEY_F8:
-002B35         ?C0191?KB_PROCESS:
-  776: 				temp = HID_MULTIKEY_PALY;
-002B35 904F03            MOV     DPTR,#temp
-002B38 74F2              MOV     A,#0F2H
-002B3A F0                MOVX    @DPTR,A
-  777: 				break;
-002B3B 801E              SJMP    ?C0162?KB_PROCESS
-  778: 			case HID_KEY_F9:
-002B3D         ?C0192?KB_PROCESS:
-  779: 				temp = HID_MULTIKEY_NEXT_TRACK;
-002B3D 904F03            MOV     DPTR,#temp
-002B40 74F5              MOV     A,#0F5H
-002B42 F0                MOVX    @DPTR,A
-  780: 				break;
-002B43 8016              SJMP    ?C0162?KB_PROCESS
-  781: 			case HID_KEY_F10:
-002B45         ?C0193?KB_PROCESS:
-  782: 				temp = HID_MULTIKEY_MUTE;
-002B45 904F03            MOV     DPTR,#temp
-002B48 74F8              MOV     A,#0F8H
-002B4A F0                MOVX    @DPTR,A
-  783: 				break;
-002B4B 800E              SJMP    ?C0162?KB_PROCESS
-  784: 			case HID_KEY_F11:
-002B4D         ?C0194?KB_PROCESS:
-  785: 				temp = HID_MULTIKEY_VOL_DOWN;
-002B4D 904F03            MOV     DPTR,#temp
-002B50 74F6              MOV     A,#0F6H
-002B52 F0                MOVX    @DPTR,A
-  786: 				break;
-002B53 8006              SJMP    ?C0162?KB_PROCESS
-  787: 			case HID_KEY_F12:
-002B55         ?C0195?KB_PROCESS:
-  788: 				temp = HID_MULTIKEY_VOL_UP;
-002B55 904F03            MOV     DPTR,#temp
-002B58 74F7              MOV     A,#0F7H
-002B5A F0                MOVX    @DPTR,A
-  789: 				break;
-  790: 			default :
-  791: 				break;
-  792: 		}
-  793: 	}
-002B5B         ?C0162?KB_PROCESS:
-  794: 
-  795: 	return temp;
-002B5B 904F03            MOV     DPTR,#temp
-002B5E E0                MOVX    A,@DPTR
-002B5F FF                MOV     R7,A
-  796: }
-002B60 22                RET     
+  768: 					temp = HID_KEY_PRINT_SCREEN;
+002B0F 904F03            MOV     DPTR,#temp
+002B12 7446              MOV     A,#046H
+002B14 F0                MOVX    @DPTR,A
+  769: 				}
+002B15 803D              SJMP    ?C0162?KB_PROCESS
+002B17         ?C0188?KB_PROCESS:
+  770: 				else
+  771: 				{
+  772: 					kb_combination_key_press(state,KS_SEL_LGUI | KS_SEL_LSHIFT,HID_KEY_3);	// ios prt
+002B17 AF06              MOV     R7,AR6
+002B19 7B20              MOV     R3,#020H
+002B1B 7D0A              MOV     R5,#0AH
+002B1D 11D3              ACALL   _kb_combination_key_press
+  773: 					temp = HID_KEY_NULL;
+002B1F E4                CLR     A
+002B20 904F03            MOV     DPTR,#temp
+002B23 F0                MOVX    @DPTR,A
+  774: 				}	
+  775: 				break;
+002B24 802E              SJMP    ?C0162?KB_PROCESS
+  776: 			case HID_KEY_F7:
+002B26         ?C0190?KB_PROCESS:
+  777: 				temp = HID_MULTIKEY_PRE_TRACK;
+002B26 904F03            MOV     DPTR,#temp
+002B29 74F4              MOV     A,#0F4H
+002B2B F0                MOVX    @DPTR,A
+  778: 				break;	
+002B2C 8026              SJMP    ?C0162?KB_PROCESS
+  779: 			case HID_KEY_F8:
+002B2E         ?C0191?KB_PROCESS:
+  780: 				temp = HID_MULTIKEY_PALY;
+002B2E 904F03            MOV     DPTR,#temp
+002B31 74F2              MOV     A,#0F2H
+002B33 F0                MOVX    @DPTR,A
+  781: 				break;
+002B34 801E              SJMP    ?C0162?KB_PROCESS
+  782: 			case HID_KEY_F9:
+002B36         ?C0192?KB_PROCESS:
+  783: 				temp = HID_MULTIKEY_NEXT_TRACK;
+002B36 904F03            MOV     DPTR,#temp
+002B39 74F5              MOV     A,#0F5H
+002B3B F0                MOVX    @DPTR,A
+  784: 				break;
+002B3C 8016              SJMP    ?C0162?KB_PROCESS
+  785: 			case HID_KEY_F10:
+002B3E         ?C0193?KB_PROCESS:
+  786: 				temp = HID_MULTIKEY_MUTE;
+002B3E 904F03            MOV     DPTR,#temp
+002B41 74F8              MOV     A,#0F8H
+002B43 F0                MOVX    @DPTR,A
+  787: 				break;
+002B44 800E              SJMP    ?C0162?KB_PROCESS
+  788: 			case HID_KEY_F11:
+002B46         ?C0194?KB_PROCESS:
+  789: 				temp = HID_MULTIKEY_VOL_DOWN;
+002B46 904F03            MOV     DPTR,#temp
+002B49 74F6              MOV     A,#0F6H
+002B4B F0                MOVX    @DPTR,A
+  790: 				break;
+002B4C 8006              SJMP    ?C0162?KB_PROCESS
+  791: 			case HID_KEY_F12:
+002B4E         ?C0195?KB_PROCESS:
+  792: 				temp = HID_MULTIKEY_VOL_UP;
+002B4E 904F03            MOV     DPTR,#temp
+002B51 74F7              MOV     A,#0F7H
+002B53 F0                MOVX    @DPTR,A
+  793: 				break;
+  794: 			default :
+  795: 				break;
+  796: 		}
+  797: 	}
+002B54         ?C0162?KB_PROCESS:
+  798: 
+  799: 	return temp;
+002B54 904F03            MOV     DPTR,#temp
+002B57 E0                MOVX    A,@DPTR
+002B58 FF                MOV     R7,A
+  800: }
+002B59 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
 ----- FUNCTION KS_Unistall (BEGIN) -----
  FILE: 'keyscan.c'
-  216: void KS_Unistall()
-  217: {
-  218: 	byte i = 0;
-  219: 	byte temp = 0;
+  215: void KS_Unistall()
+  216: {
+  217: 	byte i = 0;
+  218: 	byte temp = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-002B61 E4                CLR     A
-002B62 FF                MOV     R7,A
-  220: 	byte tgroup = 0;
-002B63 904F06            MOV     DPTR,#temp
-002B66 F0                MOVX    @DPTR,A
-  221: 	byte tgpionum = 0;
+002B5A E4                CLR     A
+002B5B FF                MOV     R7,A
+  219: 	byte tgroup = 0;
+002B5C 904F06            MOV     DPTR,#temp
+002B5F F0                MOVX    @DPTR,A
+  220: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-002B67 FE                MOV     R6,A
-  222: 	for (i=0; col[i]!=0; i++) {
+002B60 FE                MOV     R6,A
+  221: 	for (i=0; col[i]!=0; i++) {
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-002B68 FD                MOV     R5,A
-  223: 		tgroup = col[i]  >> 3;
-002B69         ?C0037?KEYSCAN:
+002B61 FD                MOV     R5,A
+  222: 		tgroup = col[i]  >> 3;
+002B62         ?C0037?KEYSCAN:
+002B62 EF                MOV     A,R7
+002B63 900681            MOV     DPTR,#col
+002B66 93                MOVC    A,@A+DPTR
+002B67 6049              JZ      ?C0038?KEYSCAN
+  223: 		tgpionum = 1 << (col[i] & 7);
 002B69 EF                MOV     A,R7
-002B6A 900681            MOV     DPTR,#col
-002B6D 93                MOVC    A,@A+DPTR
-002B6E 6049              JZ      ?C0038?KEYSCAN
-  224: 		tgpionum = 1 << (col[i] & 7);
-002B70 EF                MOV     A,R7
-002B71 93                MOVC    A,@A+DPTR
-002B72 FD                MOV     R5,A
-002B73 13                RRC     A
-002B74 13                RRC     A
-002B75 13                RRC     A
-002B76 541F              ANL     A,#01FH
-002B78 FE                MOV     R6,A
-  225: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
-002B79 ED                MOV     A,R5
-002B7A 5407              ANL     A,#07H
-002B7C FD                MOV     R5,A
-002B7D 7401              MOV     A,#01H
-002B7F A805              MOV     R0,AR5
-002B81 08                INC     R0
-002B82 8002              SJMP    ?C0097?KEYSCAN
-002B84         ?C0096?KEYSCAN:
-002B84 C3                CLR     C
-002B85 33                RLC     A
-002B86         ?C0097?KEYSCAN:
-002B86 D8FC              DJNZ    R0,?C0096?KEYSCAN
-002B88 FD                MOV     R5,A
-  226: 		REG_GPIO_OE(tgroup) |= tgpionum;
-002B89 EE                MOV     A,R6
-002B8A 2478              ADD     A,#078H
-002B8C FB                MOV     R3,A
-002B8D E4                CLR     A
-002B8E 3480              ADDC    A,#080H
-002B90 8B82              MOV     DPL,R3
-002B92 F583              MOV     DPH,A
-002B94 E0                MOVX    A,@DPTR
-002B95 FC                MOV     R4,A
-002B96 ED                MOV     A,R5
-002B97 F4                CPL     A
-002B98 FB                MOV     R3,A
-002B99 EC                MOV     A,R4
-002B9A 5B                ANL     A,R3
-002B9B F0                MOVX    @DPTR,A
-  227: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
-002B9C EE                MOV     A,R6
-002B9D 2470              ADD     A,#070H
-002B9F F582              MOV     DPL,A
-002BA1 E4                CLR     A
-002BA2 3480              ADDC    A,#080H
-002BA4 F583              MOV     DPH,A
-002BA6 E0                MOVX    A,@DPTR
-002BA7 4D                ORL     A,R5
-002BA8 F0                MOVX    @DPTR,A
-  228: 	}
-002BA9 EE                MOV     A,R6
-002BAA 2474              ADD     A,#074H
-002BAC F582              MOV     DPL,A
-002BAE E4                CLR     A
-002BAF 3480              ADDC    A,#080H
-002BB1 F583              MOV     DPH,A
-002BB3 E0                MOVX    A,@DPTR
-002BB4 5B                ANL     A,R3
-002BB5 F0                MOVX    @DPTR,A
-  229: 	
-002BB6 0F                INC     R7
-002BB7 80B0              SJMP    ?C0037?KEYSCAN
-002BB9         ?C0038?KEYSCAN:
-  230: 	GPIO_fillpd();
-002BB9 1235A3            LCALL   GPIO_fillpd
-  231: 	
-  232: 	temp = REG_GPIO_IN(0);
-002BBC 90811C            MOV     DPTR,#0811CH
-002BBF E0                MOVX    A,@DPTR
-002BC0 904F06            MOV     DPTR,#temp
-002BC3 F0                MOVX    @DPTR,A
-  233: 
-  234: 	if(long_press_flag)
-002BC4 904DDC            MOV     DPTR,#long_press_flag
-002BC7 E0                MOVX    A,@DPTR
-002BC8 6020              JZ      ?C0040?KEYSCAN
-  235: 	{
-  236: 		GPIO_SetWakeupByCurrentState(0);
-002BCA E4                CLR     A
-002BCB FF                MOV     R7,A
-002BCC 71FA              ACALL   _GPIO_SetWakeupByCurrentState
-  237: 		GPIO_SetWakeupByCurrentState(1);
-002BCE 7F01              MOV     R7,#01H
-002BD0 71FA              ACALL   _GPIO_SetWakeupByCurrentState
-  238: 		GPIO_SetWakeupByCurrentState(2);
-002BD2 7F02              MOV     R7,#02H
-002BD4 71FA              ACALL   _GPIO_SetWakeupByCurrentState
-  239: 		GPIO_SetWakeupByCurrentState(3);
-002BD6 7F03              MOV     R7,#03H
-002BD8 71FA              ACALL   _GPIO_SetWakeupByCurrentState
-  240: 		GPIO_SetWakeupByCurrentState(4);
-002BDA 7F04              MOV     R7,#04H
-002BDC 71FA              ACALL   _GPIO_SetWakeupByCurrentState
-  241: 		GPIO_SetWakeupByCurrentState(5);
-002BDE 7F05              MOV     R7,#05H
-002BE0 71FA              ACALL   _GPIO_SetWakeupByCurrentState
-  242: 		GPIO_SetWakeupByCurrentState(6);
-002BE2 7F06              MOV     R7,#06H
-002BE4 71FA              ACALL   _GPIO_SetWakeupByCurrentState
-  243: 		GPIO_SetWakeupByCurrentState(7);
-002BE6 7F07              MOV     R7,#07H
-002BE8 8010              SJMP    _GPIO_SetWakeupByCurrentState
-  244: 	}
-002BEA         ?C0040?KEYSCAN:
-  245: 	else
-  246: 	{
-  247: 		YC_GPIOWakeupL[0] = temp;
-002BEA 904F06            MOV     DPTR,#temp
-002BED E0                MOVX    A,@DPTR
-002BEE FF                MOV     R7,A
-002BEF 9000A3            MOV     DPTR,#YC_GPIOWakeupL
-002BF2 F0                MOVX    @DPTR,A
-  248: 		YC_GPIOWakeupH[0] = ~temp;
-002BF3 EF                MOV     A,R7
-002BF4 F4                CPL     A
-002BF5 9000A7            MOV     DPTR,#YC_GPIOWakeupH
-002BF8 F0                MOVX    @DPTR,A
-  249: 	}
-  250: 
-  251: }
-002BF9 22                RET     
+002B6A 93                MOVC    A,@A+DPTR
+002B6B FD                MOV     R5,A
+002B6C 13                RRC     A
+002B6D 13                RRC     A
+002B6E 13                RRC     A
+002B6F 541F              ANL     A,#01FH
+002B71 FE                MOV     R6,A
+  224: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
+002B72 ED                MOV     A,R5
+002B73 5407              ANL     A,#07H
+002B75 FD                MOV     R5,A
+002B76 7401              MOV     A,#01H
+002B78 A805              MOV     R0,AR5
+002B7A 08                INC     R0
+002B7B 8002              SJMP    ?C0097?KEYSCAN
+002B7D         ?C0096?KEYSCAN:
+002B7D C3                CLR     C
+002B7E 33                RLC     A
+002B7F         ?C0097?KEYSCAN:
+002B7F D8FC              DJNZ    R0,?C0096?KEYSCAN
+002B81 FD                MOV     R5,A
+  225: 		REG_GPIO_OE(tgroup) |= tgpionum;
+002B82 EE                MOV     A,R6
+002B83 2478              ADD     A,#078H
+002B85 FB                MOV     R3,A
+002B86 E4                CLR     A
+002B87 3480              ADDC    A,#080H
+002B89 8B82              MOV     DPL,R3
+002B8B F583              MOV     DPH,A
+002B8D E0                MOVX    A,@DPTR
+002B8E FC                MOV     R4,A
+002B8F ED                MOV     A,R5
+002B90 F4                CPL     A
+002B91 FB                MOV     R3,A
+002B92 EC                MOV     A,R4
+002B93 5B                ANL     A,R3
+002B94 F0                MOVX    @DPTR,A
+  226: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
+002B95 EE                MOV     A,R6
+002B96 2470              ADD     A,#070H
+002B98 F582              MOV     DPL,A
+002B9A E4                CLR     A
+002B9B 3480              ADDC    A,#080H
+002B9D F583              MOV     DPH,A
+002B9F E0                MOVX    A,@DPTR
+002BA0 4D                ORL     A,R5
+002BA1 F0                MOVX    @DPTR,A
+  227: 	}
+002BA2 EE                MOV     A,R6
+002BA3 2474              ADD     A,#074H
+002BA5 F582              MOV     DPL,A
+002BA7 E4                CLR     A
+002BA8 3480              ADDC    A,#080H
+002BAA F583              MOV     DPH,A
+002BAC E0                MOVX    A,@DPTR
+002BAD 5B                ANL     A,R3
+002BAE F0                MOVX    @DPTR,A
+  228: 	
+002BAF 0F                INC     R7
+002BB0 80B0              SJMP    ?C0037?KEYSCAN
+002BB2         ?C0038?KEYSCAN:
+  229: 	GPIO_fillpd();
+002BB2 1235DF            LCALL   GPIO_fillpd
+  230: 	
+  231: 	temp = REG_GPIO_IN(0);
+002BB5 90811C            MOV     DPTR,#0811CH
+002BB8 E0                MOVX    A,@DPTR
+002BB9 904F06            MOV     DPTR,#temp
+002BBC F0                MOVX    @DPTR,A
+  232: 
+  233: 	if(long_press_flag)
+002BBD 904DDC            MOV     DPTR,#long_press_flag
+002BC0 E0                MOVX    A,@DPTR
+002BC1 6020              JZ      ?C0040?KEYSCAN
+  234: 	{
+  235: 		GPIO_SetWakeupByCurrentState(0);
+002BC3 E4                CLR     A
+002BC4 FF                MOV     R7,A
+002BC5 71F3              ACALL   _GPIO_SetWakeupByCurrentState
+  236: 		GPIO_SetWakeupByCurrentState(1);
+002BC7 7F01              MOV     R7,#01H
+002BC9 71F3              ACALL   _GPIO_SetWakeupByCurrentState
+  237: 		GPIO_SetWakeupByCurrentState(2);
+002BCB 7F02              MOV     R7,#02H
+002BCD 71F3              ACALL   _GPIO_SetWakeupByCurrentState
+  238: 		GPIO_SetWakeupByCurrentState(3);
+002BCF 7F03              MOV     R7,#03H
+002BD1 71F3              ACALL   _GPIO_SetWakeupByCurrentState
+  239: 		GPIO_SetWakeupByCurrentState(4);
+002BD3 7F04              MOV     R7,#04H
+002BD5 71F3              ACALL   _GPIO_SetWakeupByCurrentState
+  240: 		GPIO_SetWakeupByCurrentState(5);
+002BD7 7F05              MOV     R7,#05H
+002BD9 71F3              ACALL   _GPIO_SetWakeupByCurrentState
+  241: 		GPIO_SetWakeupByCurrentState(6);
+002BDB 7F06              MOV     R7,#06H
+002BDD 71F3              ACALL   _GPIO_SetWakeupByCurrentState
+  242: 		GPIO_SetWakeupByCurrentState(7);
+002BDF 7F07              MOV     R7,#07H
+002BE1 8010              SJMP    _GPIO_SetWakeupByCurrentState
+  243: 	}
+002BE3         ?C0040?KEYSCAN:
+  244: 	else
+  245: 	{
+  246: 		YC_GPIOWakeupL[0] = temp;
+002BE3 904F06            MOV     DPTR,#temp
+002BE6 E0                MOVX    A,@DPTR
+002BE7 FF                MOV     R7,A
+002BE8 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+002BEB F0                MOVX    @DPTR,A
+  247: 		YC_GPIOWakeupH[0] = ~temp;
+002BEC EF                MOV     A,R7
+002BED F4                CPL     A
+002BEE 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+002BF1 F0                MOVX    @DPTR,A
+  248: 	}
+  249: 
+  250: }
+002BF2 22                RET     
 ----- FUNCTION KS_Unistall (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (BEGIN) -----
-002BFA 904F0A            MOV     DPTR,#gpio_num
-002BFD EF                MOV     A,R7
-002BFE F0                MOVX    @DPTR,A
-002BFF F161              ACALL   _GPIO_GetInputStatus
-002C01 9208              MOV     st,C
-002C03 904F0A            MOV     DPTR,#gpio_num
-002C06 E0                MOVX    A,@DPTR
-002C07 FF                MOV     R7,A
-002C08 A208              MOV     C,st
-002C0A B3                CPL     C
-002C0B 9207              MOV     ?_GPIO_SetWakeup?BIT,C
+002BF3 904F0A            MOV     DPTR,#gpio_num
+002BF6 EF                MOV     A,R7
+002BF7 F0                MOVX    @DPTR,A
+002BF8 F15A              ACALL   _GPIO_GetInputStatus
+002BFA 9208              MOV     st,C
+002BFC 904F0A            MOV     DPTR,#gpio_num
+002BFF E0                MOVX    A,@DPTR
+002C00 FF                MOV     R7,A
+002C01 A208              MOV     C,st
+002C03 B3                CPL     C
+002C04 9207              MOV     ?_GPIO_SetWakeup?BIT,C
 ;----                  JMP     _GPIO_SetWakeup
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-002C0D EF                MOV     A,R7
-002C0E F4                CPL     A
-002C0F 7002              JNZ     $ + 4H
-002C11 8198              AJMP    ?C0019?GPIO
-002C13         ?C0018?GPIO:
-002C13 EF                MOV     A,R7
-002C14 5407              ANL     A,#07H
-002C16 FE                MOV     R6,A
+002C06 EF                MOV     A,R7
+002C07 F4                CPL     A
+002C08 7002              JNZ     $ + 4H
+002C0A 8191              AJMP    ?C0019?GPIO
+002C0C         ?C0018?GPIO:
+002C0C EF                MOV     A,R7
+002C0D 5407              ANL     A,#07H
+002C0F FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-002C17 EF                MOV     A,R7
-002C18 13                RRC     A
-002C19 13                RRC     A
-002C1A 13                RRC     A
-002C1B 5403              ANL     A,#03H
-002C1D FF                MOV     R7,A
+002C10 EF                MOV     A,R7
+002C11 13                RRC     A
+002C12 13                RRC     A
+002C13 13                RRC     A
+002C14 5403              ANL     A,#03H
+002C16 FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-002C1E 300743            JNB     st,?C0020?GPIO
-002C21 24A3              ADD     A,#LOW YC_GPIOWakeupL
-002C23 F582              MOV     DPL,A
-002C25 E4                CLR     A
-002C26 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-002C28 F583              MOV     DPH,A
-002C2A C083              PUSH    DPH
-002C2C C082              PUSH    DPL
-002C2E E0                MOVX    A,@DPTR
-002C2F FD                MOV     R5,A
-002C30 7401              MOV     A,#01H
-002C32 A806              MOV     R0,AR6
-002C34 08                INC     R0
-002C35 8002              SJMP    ?C0037?GPIO
-002C37         ?C0036?GPIO:
-002C37 C3                CLR     C
-002C38 33                RLC     A
-002C39         ?C0037?GPIO:
-002C39 D8FC              DJNZ    R0,?C0036?GPIO
-002C3B F4                CPL     A
-002C3C 5D                ANL     A,R5
-002C3D D082              POP     DPL
-002C3F D083              POP     DPH
-002C41 F0                MOVX    @DPTR,A
-002C42 74A7              MOV     A,#LOW YC_GPIOWakeupH
-002C44 2F                ADD     A,R7
-002C45 F582              MOV     DPL,A
-002C47 E4                CLR     A
-002C48 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-002C4A F583              MOV     DPH,A
-002C4C C083              PUSH    DPH
-002C4E C082              PUSH    DPL
-002C50 E0                MOVX    A,@DPTR
-002C51 FF                MOV     R7,A
-002C52 7401              MOV     A,#01H
-002C54 A806              MOV     R0,AR6
-002C56 08                INC     R0
-002C57 8002              SJMP    ?C0039?GPIO
-002C59         ?C0038?GPIO:
-002C59 C3                CLR     C
-002C5A 33                RLC     A
-002C5B         ?C0039?GPIO:
-002C5B D8FC              DJNZ    R0,?C0038?GPIO
-002C5D 4F                ORL     A,R7
-002C5E D082              POP     DPL
-002C60 D083              POP     DPH
-002C62 F0                MOVX    @DPTR,A
-002C63 22                RET     
-002C64         ?C0020?GPIO:
-002C64 74A3              MOV     A,#LOW YC_GPIOWakeupL
-002C66 2F                ADD     A,R7
-002C67 F582              MOV     DPL,A
-002C69 E4                CLR     A
-002C6A 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-002C6C F583              MOV     DPH,A
-002C6E C083              PUSH    DPH
-002C70 C082              PUSH    DPL
-002C72 E0                MOVX    A,@DPTR
-002C73 FD                MOV     R5,A
-002C74 7401              MOV     A,#01H
-002C76 A806              MOV     R0,AR6
-002C78 08                INC     R0
-002C79 8002              SJMP    ?C0041?GPIO
-002C7B         ?C0040?GPIO:
-002C7B C3                CLR     C
-002C7C 33                RLC     A
-002C7D         ?C0041?GPIO:
-002C7D D8FC              DJNZ    R0,?C0040?GPIO
-002C7F FC                MOV     R4,A
-002C80 4D                ORL     A,R5
-002C81 D082              POP     DPL
-002C83 D083              POP     DPH
-002C85 F0                MOVX    @DPTR,A
-002C86 74A7              MOV     A,#LOW YC_GPIOWakeupH
-002C88 2F                ADD     A,R7
-002C89 F582              MOV     DPL,A
-002C8B E4                CLR     A
-002C8C 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-002C8E F583              MOV     DPH,A
-002C90 E0                MOVX    A,@DPTR
-002C91 FF                MOV     R7,A
-002C92 EC                MOV     A,R4
-002C93 F4                CPL     A
-002C94 FE                MOV     R6,A
-002C95 EF                MOV     A,R7
-002C96 5E                ANL     A,R6
-002C97 F0                MOVX    @DPTR,A
-002C98         ?C0019?GPIO:
-002C98 22                RET     
+002C17 300743            JNB     st,?C0020?GPIO
+002C1A 24A3              ADD     A,#LOW YC_GPIOWakeupL
+002C1C F582              MOV     DPL,A
+002C1E E4                CLR     A
+002C1F 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+002C21 F583              MOV     DPH,A
+002C23 C083              PUSH    DPH
+002C25 C082              PUSH    DPL
+002C27 E0                MOVX    A,@DPTR
+002C28 FD                MOV     R5,A
+002C29 7401              MOV     A,#01H
+002C2B A806              MOV     R0,AR6
+002C2D 08                INC     R0
+002C2E 8002              SJMP    ?C0037?GPIO
+002C30         ?C0036?GPIO:
+002C30 C3                CLR     C
+002C31 33                RLC     A
+002C32         ?C0037?GPIO:
+002C32 D8FC              DJNZ    R0,?C0036?GPIO
+002C34 F4                CPL     A
+002C35 5D                ANL     A,R5
+002C36 D082              POP     DPL
+002C38 D083              POP     DPH
+002C3A F0                MOVX    @DPTR,A
+002C3B 74A7              MOV     A,#LOW YC_GPIOWakeupH
+002C3D 2F                ADD     A,R7
+002C3E F582              MOV     DPL,A
+002C40 E4                CLR     A
+002C41 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+002C43 F583              MOV     DPH,A
+002C45 C083              PUSH    DPH
+002C47 C082              PUSH    DPL
+002C49 E0                MOVX    A,@DPTR
+002C4A FF                MOV     R7,A
+002C4B 7401              MOV     A,#01H
+002C4D A806              MOV     R0,AR6
+002C4F 08                INC     R0
+002C50 8002              SJMP    ?C0039?GPIO
+002C52         ?C0038?GPIO:
+002C52 C3                CLR     C
+002C53 33                RLC     A
+002C54         ?C0039?GPIO:
+002C54 D8FC              DJNZ    R0,?C0038?GPIO
+002C56 4F                ORL     A,R7
+002C57 D082              POP     DPL
+002C59 D083              POP     DPH
+002C5B F0                MOVX    @DPTR,A
+002C5C 22                RET     
+002C5D         ?C0020?GPIO:
+002C5D 74A3              MOV     A,#LOW YC_GPIOWakeupL
+002C5F 2F                ADD     A,R7
+002C60 F582              MOV     DPL,A
+002C62 E4                CLR     A
+002C63 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+002C65 F583              MOV     DPH,A
+002C67 C083              PUSH    DPH
+002C69 C082              PUSH    DPL
+002C6B E0                MOVX    A,@DPTR
+002C6C FD                MOV     R5,A
+002C6D 7401              MOV     A,#01H
+002C6F A806              MOV     R0,AR6
+002C71 08                INC     R0
+002C72 8002              SJMP    ?C0041?GPIO
+002C74         ?C0040?GPIO:
+002C74 C3                CLR     C
+002C75 33                RLC     A
+002C76         ?C0041?GPIO:
+002C76 D8FC              DJNZ    R0,?C0040?GPIO
+002C78 FC                MOV     R4,A
+002C79 4D                ORL     A,R5
+002C7A D082              POP     DPL
+002C7C D083              POP     DPH
+002C7E F0                MOVX    @DPTR,A
+002C7F 74A7              MOV     A,#LOW YC_GPIOWakeupH
+002C81 2F                ADD     A,R7
+002C82 F582              MOV     DPL,A
+002C84 E4                CLR     A
+002C85 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+002C87 F583              MOV     DPH,A
+002C89 E0                MOVX    A,@DPTR
+002C8A FF                MOV     R7,A
+002C8B EC                MOV     A,R4
+002C8C F4                CPL     A
+002C8D FE                MOV     R6,A
+002C8E EF                MOV     A,R7
+002C8F 5E                ANL     A,R6
+002C90 F0                MOVX    @DPTR,A
+002C91         ?C0019?GPIO:
+002C91 22                RET     
 ----- FUNCTION _GPIO_SetWakeup (END) -------
 
 
 ----- FUNCTION YC_System_Main (BEGIN) -----
  FILE: 'sys.c'
-  811: void YC_System_Main(void)
-  812: {
-  813: 	kb_cb_init();
-  814: 	while(1) {
-002C99 F14E              ACALL   kb_cb_init
-002C9B         ?C0160?SYS:
-  815: 		IPC_DealSingleStep();
-  816: 		kb_need_keyscan();
-002C9B 91F5              ACALL   IPC_DealSingleStep
-  817: 		YC_update_eeprom_data();
-002C9D 120D4C            LCALL   kb_need_keyscan
-  818: 		LED_handle();
-002CA0 121442            LCALL   YC_update_eeprom_data
-  819: #ifdef PC_SLEEP_STATUS_GET		
-002CA3 121342            LCALL   LED_handle
-  820: 		if(m_pc_sleep_flag)
-002CA6 904D7D            MOV     DPTR,#m_pc_sleep_flag
-002CA9 E0                MOVX    A,@DPTR
-002CAA 6002              JZ      ?C0162?SYS
-  821: 		{
-  822: 			System_G24_long_lpm();
-002CAC F1B4              ACALL   System_G24_long_lpm
-  823: 		}
-002CAE         ?C0162?SYS:
-  824: #endif		
-  825: 		switch (current_task) {
-002CAE 900B7E            MOV     DPTR,#current_task
-002CB1 E0                MOVX    A,@DPTR
-002CB2 14                DEC     A
-002CB3 600D              JZ      ?C0167?SYS
-002CB5 24FE              ADD     A,#0FEH
-002CB7 70E2              JNZ     ?C0160?SYS
-  826: 		case FIX_ENTER_HIBERNATE:
-002CB9         ?C0164?SYS:
-  827: 			KS_Unistall();
-002CB9 7161              ACALL   KS_Unistall
-  828: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
-  829: 			LED_all_shutdown();
-002CBB 121799            LCALL   LED_all_shutdown
-  830: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-002CBE 91E7              ACALL   IPC_WaitLpm
-002CC0         ?C0165?SYS:
-  831: 			while(1);
-002CC0 80FE              SJMP    ?C0165?SYS
-  832: 			break;
-  833: 			
-  834: 		case FIX_ENTER_LPM:
-002CC2         ?C0167?SYS:
-  835: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||g_variable.one_key_pres
+  814: void YC_System_Main(void)
+  815: {
+  816: 	kb_cb_init();
+  817: 	while(1) {
+002C92 F147              ACALL   kb_cb_init
+002C94         ?C0160?SYS:
+  818: 		IPC_DealSingleStep();
+  819: 		kb_need_keyscan();
+002C94 91EE              ACALL   IPC_DealSingleStep
+  820: 		YC_update_eeprom_data();
+002C96 120D4C            LCALL   kb_need_keyscan
+  821: 		LED_handle();
+002C99 12146D            LCALL   YC_update_eeprom_data
+  822: #ifdef PC_SLEEP_STATUS_GET		
+002C9C 12136D            LCALL   LED_handle
+  823: 		if(m_pc_sleep_flag)
+002C9F 904D7D            MOV     DPTR,#m_pc_sleep_flag
+002CA2 E0                MOVX    A,@DPTR
+002CA3 6002              JZ      ?C0162?SYS
+  824: 		{
+  825: 			System_G24_long_lpm();
+002CA5 F1AD              ACALL   System_G24_long_lpm
+  826: 		}
+002CA7         ?C0162?SYS:
+  827: #endif		
+  828: 		switch (current_task) {
+002CA7 900B7E            MOV     DPTR,#current_task
+002CAA E0                MOVX    A,@DPTR
+002CAB 14                DEC     A
+002CAC 600D              JZ      ?C0167?SYS
+002CAE 24FE              ADD     A,#0FEH
+002CB0 70E2              JNZ     ?C0160?SYS
+  829: 		case FIX_ENTER_HIBERNATE:
+002CB2         ?C0164?SYS:
+  830: 			KS_Unistall();
+002CB2 715A              ACALL   KS_Unistall
+  831: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
+  832: 			LED_all_shutdown();
+002CB4 1217B7            LCALL   LED_all_shutdown
+  833: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+002CB7 91E0              ACALL   IPC_WaitLpm
+002CB9         ?C0165?SYS:
+  834: 			while(1);
+002CB9 80FE              SJMP    ?C0165?SYS
+  835: 			break;
+  836: 			
+  837: 		case FIX_ENTER_LPM:
+002CBB         ?C0167?SYS:
+  838: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||g_variable.one_key_pres
 >> s_wait_release_timer
-002CC2 904CEA            MOV     DPTR,#g_variable+02BH
-002CC5 E0                MOVX    A,@DPTR
-002CC6 7012              JNZ     ?C0169?SYS
-002CC8 904CEC            MOV     DPTR,#g_variable+02DH
-002CCB E0                MOVX    A,@DPTR
-002CCC 700C              JNZ     ?C0169?SYS
-002CCE 904CE5            MOV     DPTR,#g_variable+026H
-002CD1 E0                MOVX    A,@DPTR
-002CD2 7006              JNZ     ?C0169?SYS
-002CD4 904CF8            MOV     DPTR,#g_variable+039H
-002CD7 E0                MOVX    A,@DPTR
-002CD8 6004              JZ      ?C0168?SYS
-002CDA         ?C0169?SYS:
-  836: 			) 
-  837: 			{
-  838: 				IPC_AbandonLpm();
-002CDA F1A8              ACALL   IPC_AbandonLpm
-  839: 				break;
-002CDC 80BD              SJMP    ?C0160?SYS
-  840: 			}
-002CDE         ?C0168?SYS:
-  841: 			else
-  842: 			{
-  843: 				KS_Unistall();
-002CDE 7161              ACALL   KS_Unistall
-  844: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-002CE0 91E7              ACALL   IPC_WaitLpm
-  845: 				break;
-002CE2 80B7              SJMP    ?C0160?SYS
-  846: 			}
-  847: 		}
-  848: 	}
-002CE4 80B5              SJMP    ?C0160?SYS
-002CE6 22                RET     
+002CBB 904CEA            MOV     DPTR,#g_variable+02BH
+002CBE E0                MOVX    A,@DPTR
+002CBF 7012              JNZ     ?C0169?SYS
+002CC1 904CEC            MOV     DPTR,#g_variable+02DH
+002CC4 E0                MOVX    A,@DPTR
+002CC5 700C              JNZ     ?C0169?SYS
+002CC7 904CE5            MOV     DPTR,#g_variable+026H
+002CCA E0                MOVX    A,@DPTR
+002CCB 7006              JNZ     ?C0169?SYS
+002CCD 904CF8            MOV     DPTR,#g_variable+039H
+002CD0 E0                MOVX    A,@DPTR
+002CD1 6004              JZ      ?C0168?SYS
+002CD3         ?C0169?SYS:
+  839: 			) 
+  840: 			{
+  841: 				IPC_AbandonLpm();
+002CD3 F1A1              ACALL   IPC_AbandonLpm
+  842: 				break;
+002CD5 80BD              SJMP    ?C0160?SYS
+  843: 			}
+002CD7         ?C0168?SYS:
+  844: 			else
+  845: 			{
+  846: 				KS_Unistall();
+002CD7 715A              ACALL   KS_Unistall
+  847: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+002CD9 91E0              ACALL   IPC_WaitLpm
+  848: 				break;
+002CDB 80B7              SJMP    ?C0160?SYS
+  849: 			}
+  850: 		}
+  851: 	}
+002CDD 80B5              SJMP    ?C0160?SYS
+002CDF 22                RET     
 ----- FUNCTION YC_System_Main (END) -------
 
 
 ----- FUNCTION IPC_WaitLpm (BEGIN) -----
-002CE7 E4                CLR     A
-002CE8 900B7F            MOV     DPTR,#lpm_flag
-002CEB F0                MOVX    @DPTR,A
-002CEC 900B7E            MOV     DPTR,#current_task
-002CEF F0                MOVX    @DPTR,A
-002CF0 7F01              MOV     R7,#01H
-002CF2 021595            LJMP    _Delay1ms
+002CE0 E4                CLR     A
+002CE1 900B7F            MOV     DPTR,#lpm_flag
+002CE4 F0                MOVX    @DPTR,A
+002CE5 900B7E            MOV     DPTR,#current_task
+002CE8 F0                MOVX    @DPTR,A
+002CE9 7F01              MOV     R7,#01H
+002CEB 0215B2            LJMP    _Delay1ms
 ----- FUNCTION IPC_WaitLpm (END) -------
 
 
 ----- FUNCTION IPC_DealSingleStep (BEGIN) -----
-002CF5 7A0C              MOV     R2,#HIGH ipcReadBuff
-002CF7 794B              MOV     R1,#LOW ipcReadBuff
-002CF9 904EED            MOV     DPTR,#pbuff
-002CFC 7401              MOV     A,#01H
-002CFE F0                MOVX    @DPTR,A
-002CFF A3                INC     DPTR
-002D00 740C              MOV     A,#HIGH ipcReadBuff
-002D02 F0                MOVX    @DPTR,A
-002D03 A3                INC     DPTR
-002D04 744B              MOV     A,#LOW ipcReadBuff
-002D06 F0                MOVX    @DPTR,A
-002D07 904BA0            MOV     DPTR,#ipcRxWritePtr
-002D0A E0                MOVX    A,@DPTR
-002D0B FE                MOV     R6,A
-002D0C A3                INC     DPTR
-002D0D E0                MOVX    A,@DPTR
-002D0E FF                MOV     R7,A
-002D0F 904B9E            MOV     DPTR,#ipcRxReadPtr
-002D12 E0                MOVX    A,@DPTR
-002D13 6E                XRL     A,R6
-002D14 7003              JNZ     ?C0048?IPC
-002D16 A3                INC     DPTR
-002D17 E0                MOVX    A,@DPTR
-002D18 6F                XRL     A,R7
-002D19         ?C0048?IPC:
-002D19 7002              JNZ     $ + 4H
-002D1B C1A4              AJMP    ?C0039?IPC
-002D1D         ?C0027?IPC:
-002D1D 7E0C              MOV     R6,#HIGH ipcReadBuff
-002D1F 7F4B              MOV     R7,#LOW ipcReadBuff
-002D21 7D03              MOV     R5,#03H
-002D23 D1FE              ACALL   _ipcRx
-002D25 904EED            MOV     DPTR,#pbuff
-002D28 E0                MOVX    A,@DPTR
-002D29 FB                MOV     R3,A
-002D2A A3                INC     DPTR
-002D2B E0                MOVX    A,@DPTR
-002D2C FA                MOV     R2,A
-002D2D A3                INC     DPTR
-002D2E E0                MOVX    A,@DPTR
-002D2F F9                MOV     R1,A
-002D30 1203B6            LCALL   ?C?CLDPTR
-002D33 B4022B            CJNE    A,#02H,?C0029?IPC
-002D36 904EEE            MOV     DPTR,#pbuff+01H
-002D39 E4                CLR     A
-002D3A 75F002            MOV     B,#02H
-002D3D 12040E            LCALL   ?C?IILDX
-002D40 904EED            MOV     DPTR,#pbuff
-002D43 E0                MOVX    A,@DPTR
-002D44 FB                MOV     R3,A
-002D45 A3                INC     DPTR
-002D46 E0                MOVX    A,@DPTR
-002D47 FA                MOV     R2,A
-002D48 A3                INC     DPTR
-002D49 E0                MOVX    A,@DPTR
-002D4A F9                MOV     R1,A
-002D4B 1203B6            LCALL   ?C?CLDPTR
-002D4E FF                MOV     R7,A
-002D4F 904E68            MOV     DPTR,#ipcCb
-002D52 E0                MOVX    A,@DPTR
-002D53 A3                INC     DPTR
-002D54 E0                MOVX    A,@DPTR
-002D55 FA                MOV     R2,A
-002D56 A3                INC     DPTR
-002D57 E0                MOVX    A,@DPTR
-002D58 F582              MOV     DPL,A
-002D5A 8A83              MOV     DPH,R2
-002D5C 1205DD            LCALL   ?C?ICALL2
-002D5F C1A4              AJMP    ?C0039?IPC
-002D61         ?C0029?IPC:
-002D61 904EED            MOV     DPTR,#pbuff
-002D64 E0                MOVX    A,@DPTR
-002D65 FB                MOV     R3,A
-002D66 A3                INC     DPTR
-002D67 E0                MOVX    A,@DPTR
-002D68 FA                MOV     R2,A
-002D69 A3                INC     DPTR
-002D6A E0                MOVX    A,@DPTR
-002D6B F9                MOV     R1,A
-002D6C 1203B6            LCALL   ?C?CLDPTR
-002D6F 6404              XRL     A,#04H
-002D71 7059              JNZ     ?C0031?IPC
-002D73 904EEE            MOV     DPTR,#pbuff+01H
-002D76 75F001            MOV     B,#01H
-002D79 12040E            LCALL   ?C?IILDX
-002D7C 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-002D7E 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-002D80 904EED            MOV     DPTR,#pbuff
-002D83 E0                MOVX    A,@DPTR
-002D84 FB                MOV     R3,A
-002D85 A3                INC     DPTR
-002D86 E0                MOVX    A,@DPTR
-002D87 FA                MOV     R2,A
-002D88 A3                INC     DPTR
-002D89 E0                MOVX    A,@DPTR
-002D8A F9                MOV     R1,A
-002D8B 1203B6            LCALL   ?C?CLDPTR
-002D8E 14                DEC     A
-002D8F FD                MOV     R5,A
-002D90 D1FE              ACALL   _ipcRx
-002D92 904EED            MOV     DPTR,#pbuff
-002D95 E0                MOVX    A,@DPTR
-002D96 FB                MOV     R3,A
-002D97 A3                INC     DPTR
-002D98 E0                MOVX    A,@DPTR
-002D99 FA                MOV     R2,A
-002D9A A3                INC     DPTR
-002D9B E0                MOVX    A,@DPTR
-002D9C 2401              ADD     A,#01H
-002D9E F9                MOV     R1,A
-002D9F E4                CLR     A
-002DA0 3A                ADDC    A,R2
-002DA1 FA                MOV     R2,A
-002DA2 C002              PUSH    AR2
-002DA4 C001              PUSH    AR1
-002DA6 904EED            MOV     DPTR,#pbuff
-002DA9 E0                MOVX    A,@DPTR
-002DAA A3                INC     DPTR
-002DAB E0                MOVX    A,@DPTR
-002DAC FA                MOV     R2,A
-002DAD A3                INC     DPTR
-002DAE E0                MOVX    A,@DPTR
-002DAF F9                MOV     R1,A
-002DB0 1203B6            LCALL   ?C?CLDPTR
-002DB3 FD                MOV     R5,A
-002DB4 7C00              MOV     R4,#00H
-002DB6 904E6B            MOV     DPTR,#ipcCb+03H
-002DB9 E0                MOVX    A,@DPTR
-002DBA A3                INC     DPTR
-002DBB E0                MOVX    A,@DPTR
-002DBC FA                MOV     R2,A
-002DBD A3                INC     DPTR
-002DBE E0                MOVX    A,@DPTR
-002DBF F582              MOV     DPL,A
-002DC1 8A83              MOV     DPH,R2
-002DC3 D001              POP     AR1
-002DC5 D002              POP     AR2
-002DC7 1205DD            LCALL   ?C?ICALL2
-002DCA C1A4              AJMP    ?C0039?IPC
-002DCC         ?C0031?IPC:
-002DCC 904EED            MOV     DPTR,#pbuff
-002DCF E0                MOVX    A,@DPTR
-002DD0 FB                MOV     R3,A
-002DD1 A3                INC     DPTR
-002DD2 E0                MOVX    A,@DPTR
-002DD3 FA                MOV     R2,A
-002DD4 A3                INC     DPTR
-002DD5 E0                MOVX    A,@DPTR
-002DD6 F9                MOV     R1,A
-002DD7 1203B6            LCALL   ?C?CLDPTR
-002DDA 6405              XRL     A,#05H
-002DDC 7059              JNZ     ?C0033?IPC
-002DDE 904EEE            MOV     DPTR,#pbuff+01H
-002DE1 75F001            MOV     B,#01H
-002DE4 12040E            LCALL   ?C?IILDX
-002DE7 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-002DE9 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-002DEB 904EED            MOV     DPTR,#pbuff
-002DEE E0                MOVX    A,@DPTR
-002DEF FB                MOV     R3,A
-002DF0 A3                INC     DPTR
-002DF1 E0                MOVX    A,@DPTR
-002DF2 FA                MOV     R2,A
-002DF3 A3                INC     DPTR
-002DF4 E0                MOVX    A,@DPTR
-002DF5 F9                MOV     R1,A
-002DF6 1203B6            LCALL   ?C?CLDPTR
-002DF9 14                DEC     A
-002DFA FD                MOV     R5,A
-002DFB D1FE              ACALL   _ipcRx
-002DFD 904EED            MOV     DPTR,#pbuff
-002E00 E0                MOVX    A,@DPTR
-002E01 FB                MOV     R3,A
-002E02 A3                INC     DPTR
-002E03 E0                MOVX    A,@DPTR
-002E04 FA                MOV     R2,A
-002E05 A3                INC     DPTR
-002E06 E0                MOVX    A,@DPTR
-002E07 2401              ADD     A,#01H
-002E09 F9                MOV     R1,A
-002E0A E4                CLR     A
-002E0B 3A                ADDC    A,R2
-002E0C FA                MOV     R2,A
-002E0D C002              PUSH    AR2
-002E0F C001              PUSH    AR1
-002E11 904EED            MOV     DPTR,#pbuff
-002E14 E0                MOVX    A,@DPTR
-002E15 A3                INC     DPTR
-002E16 E0                MOVX    A,@DPTR
-002E17 FA                MOV     R2,A
-002E18 A3                INC     DPTR
-002E19 E0                MOVX    A,@DPTR
-002E1A F9                MOV     R1,A
-002E1B 1203B6            LCALL   ?C?CLDPTR
-002E1E FD                MOV     R5,A
-002E1F 7C00              MOV     R4,#00H
-002E21 904E74            MOV     DPTR,#ipcCb+0CH
-002E24 E0                MOVX    A,@DPTR
-002E25 A3                INC     DPTR
-002E26 E0                MOVX    A,@DPTR
-002E27 FA                MOV     R2,A
-002E28 A3                INC     DPTR
-002E29 E0                MOVX    A,@DPTR
-002E2A F582              MOV     DPL,A
-002E2C 8A83              MOV     DPH,R2
-002E2E D001              POP     AR1
-002E30 D002              POP     AR2
-002E32 1205DD            LCALL   ?C?ICALL2
-002E35 806D              SJMP    ?C0039?IPC
-002E37         ?C0033?IPC:
-002E37 904EED            MOV     DPTR,#pbuff
-002E3A E0                MOVX    A,@DPTR
-002E3B FB                MOV     R3,A
-002E3C A3                INC     DPTR
-002E3D E0                MOVX    A,@DPTR
-002E3E FA                MOV     R2,A
-002E3F A3                INC     DPTR
-002E40 E0                MOVX    A,@DPTR
-002E41 F9                MOV     R1,A
-002E42 1203B6            LCALL   ?C?CLDPTR
-002E45 6403              XRL     A,#03H
-002E47 7059              JNZ     ?C0037?IPC
-002E49 904EEE            MOV     DPTR,#pbuff+01H
-002E4C 75F001            MOV     B,#01H
-002E4F 12040E            LCALL   ?C?IILDX
-002E52 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-002E54 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-002E56 904EED            MOV     DPTR,#pbuff
-002E59 E0                MOVX    A,@DPTR
-002E5A FB                MOV     R3,A
-002E5B A3                INC     DPTR
-002E5C E0                MOVX    A,@DPTR
-002E5D FA                MOV     R2,A
-002E5E A3                INC     DPTR
-002E5F E0                MOVX    A,@DPTR
-002E60 F9                MOV     R1,A
-002E61 1203B6            LCALL   ?C?CLDPTR
-002E64 14                DEC     A
-002E65 FD                MOV     R5,A
-002E66 D1FE              ACALL   _ipcRx
-002E68 904EED            MOV     DPTR,#pbuff
-002E6B E0                MOVX    A,@DPTR
-002E6C FB                MOV     R3,A
-002E6D A3                INC     DPTR
-002E6E E0                MOVX    A,@DPTR
-002E6F FA                MOV     R2,A
-002E70 A3                INC     DPTR
-002E71 E0                MOVX    A,@DPTR
-002E72 2401              ADD     A,#01H
-002E74 F9                MOV     R1,A
-002E75 E4                CLR     A
-002E76 3A                ADDC    A,R2
-002E77 FA                MOV     R2,A
-002E78 C002              PUSH    AR2
-002E7A C001              PUSH    AR1
-002E7C 904EED            MOV     DPTR,#pbuff
-002E7F E0                MOVX    A,@DPTR
-002E80 A3                INC     DPTR
-002E81 E0                MOVX    A,@DPTR
-002E82 FA                MOV     R2,A
-002E83 A3                INC     DPTR
-002E84 E0                MOVX    A,@DPTR
-002E85 F9                MOV     R1,A
-002E86 1203B6            LCALL   ?C?CLDPTR
-002E89 FD                MOV     R5,A
-002E8A 7C00              MOV     R4,#00H
-002E8C 904E77            MOV     DPTR,#ipcCb+0FH
-002E8F E0                MOVX    A,@DPTR
-002E90 A3                INC     DPTR
-002E91 E0                MOVX    A,@DPTR
-002E92 FA                MOV     R2,A
-002E93 A3                INC     DPTR
-002E94 E0                MOVX    A,@DPTR
-002E95 F582              MOV     DPL,A
-002E97 8A83              MOV     DPH,R2
-002E99 D001              POP     AR1
-002E9B D002              POP     AR2
-002E9D 1205DD            LCALL   ?C?ICALL2
-002EA0 8002              SJMP    ?C0039?IPC
-002EA2         ?C0037?IPC:
-002EA2 80FE              SJMP    ?C0037?IPC
-002EA4         IPC_TIMER:
-002EA4         ?C0039?IPC:
-002EA4 904BA5            MOV     DPTR,#bttimer
-002EA7 E0                MOVX    A,@DPTR
-002EA8 FE                MOV     R6,A
-002EA9 A3                INC     DPTR
-002EAA E0                MOVX    A,@DPTR
-002EAB FF                MOV     R7,A
-002EAC 904C5E            MOV     DPTR,#c51timer
-002EAF E0                MOVX    A,@DPTR
-002EB0 6E                XRL     A,R6
-002EB1 7003              JNZ     ?C0049?IPC
-002EB3 A3                INC     DPTR
+002CEE 7A0C              MOV     R2,#HIGH ipcReadBuff
+002CF0 794B              MOV     R1,#LOW ipcReadBuff
+002CF2 904EED            MOV     DPTR,#pbuff
+002CF5 7401              MOV     A,#01H
+002CF7 F0                MOVX    @DPTR,A
+002CF8 A3                INC     DPTR
+002CF9 740C              MOV     A,#HIGH ipcReadBuff
+002CFB F0                MOVX    @DPTR,A
+002CFC A3                INC     DPTR
+002CFD 744B              MOV     A,#LOW ipcReadBuff
+002CFF F0                MOVX    @DPTR,A
+002D00 904BA0            MOV     DPTR,#ipcRxWritePtr
+002D03 E0                MOVX    A,@DPTR
+002D04 FE                MOV     R6,A
+002D05 A3                INC     DPTR
+002D06 E0                MOVX    A,@DPTR
+002D07 FF                MOV     R7,A
+002D08 904B9E            MOV     DPTR,#ipcRxReadPtr
+002D0B E0                MOVX    A,@DPTR
+002D0C 6E                XRL     A,R6
+002D0D 7003              JNZ     ?C0048?IPC
+002D0F A3                INC     DPTR
+002D10 E0                MOVX    A,@DPTR
+002D11 6F                XRL     A,R7
+002D12         ?C0048?IPC:
+002D12 7002              JNZ     $ + 4H
+002D14 C19D              AJMP    ?C0039?IPC
+002D16         ?C0027?IPC:
+002D16 7E0C              MOV     R6,#HIGH ipcReadBuff
+002D18 7F4B              MOV     R7,#LOW ipcReadBuff
+002D1A 7D03              MOV     R5,#03H
+002D1C D1F7              ACALL   _ipcRx
+002D1E 904EED            MOV     DPTR,#pbuff
+002D21 E0                MOVX    A,@DPTR
+002D22 FB                MOV     R3,A
+002D23 A3                INC     DPTR
+002D24 E0                MOVX    A,@DPTR
+002D25 FA                MOV     R2,A
+002D26 A3                INC     DPTR
+002D27 E0                MOVX    A,@DPTR
+002D28 F9                MOV     R1,A
+002D29 1203B6            LCALL   ?C?CLDPTR
+002D2C B4022B            CJNE    A,#02H,?C0029?IPC
+002D2F 904EEE            MOV     DPTR,#pbuff+01H
+002D32 E4                CLR     A
+002D33 75F002            MOV     B,#02H
+002D36 12040E            LCALL   ?C?IILDX
+002D39 904EED            MOV     DPTR,#pbuff
+002D3C E0                MOVX    A,@DPTR
+002D3D FB                MOV     R3,A
+002D3E A3                INC     DPTR
+002D3F E0                MOVX    A,@DPTR
+002D40 FA                MOV     R2,A
+002D41 A3                INC     DPTR
+002D42 E0                MOVX    A,@DPTR
+002D43 F9                MOV     R1,A
+002D44 1203B6            LCALL   ?C?CLDPTR
+002D47 FF                MOV     R7,A
+002D48 904E68            MOV     DPTR,#ipcCb
+002D4B E0                MOVX    A,@DPTR
+002D4C A3                INC     DPTR
+002D4D E0                MOVX    A,@DPTR
+002D4E FA                MOV     R2,A
+002D4F A3                INC     DPTR
+002D50 E0                MOVX    A,@DPTR
+002D51 F582              MOV     DPL,A
+002D53 8A83              MOV     DPH,R2
+002D55 1205DD            LCALL   ?C?ICALL2
+002D58 C19D              AJMP    ?C0039?IPC
+002D5A         ?C0029?IPC:
+002D5A 904EED            MOV     DPTR,#pbuff
+002D5D E0                MOVX    A,@DPTR
+002D5E FB                MOV     R3,A
+002D5F A3                INC     DPTR
+002D60 E0                MOVX    A,@DPTR
+002D61 FA                MOV     R2,A
+002D62 A3                INC     DPTR
+002D63 E0                MOVX    A,@DPTR
+002D64 F9                MOV     R1,A
+002D65 1203B6            LCALL   ?C?CLDPTR
+002D68 6404              XRL     A,#04H
+002D6A 7059              JNZ     ?C0031?IPC
+002D6C 904EEE            MOV     DPTR,#pbuff+01H
+002D6F 75F001            MOV     B,#01H
+002D72 12040E            LCALL   ?C?IILDX
+002D75 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+002D77 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+002D79 904EED            MOV     DPTR,#pbuff
+002D7C E0                MOVX    A,@DPTR
+002D7D FB                MOV     R3,A
+002D7E A3                INC     DPTR
+002D7F E0                MOVX    A,@DPTR
+002D80 FA                MOV     R2,A
+002D81 A3                INC     DPTR
+002D82 E0                MOVX    A,@DPTR
+002D83 F9                MOV     R1,A
+002D84 1203B6            LCALL   ?C?CLDPTR
+002D87 14                DEC     A
+002D88 FD                MOV     R5,A
+002D89 D1F7              ACALL   _ipcRx
+002D8B 904EED            MOV     DPTR,#pbuff
+002D8E E0                MOVX    A,@DPTR
+002D8F FB                MOV     R3,A
+002D90 A3                INC     DPTR
+002D91 E0                MOVX    A,@DPTR
+002D92 FA                MOV     R2,A
+002D93 A3                INC     DPTR
+002D94 E0                MOVX    A,@DPTR
+002D95 2401              ADD     A,#01H
+002D97 F9                MOV     R1,A
+002D98 E4                CLR     A
+002D99 3A                ADDC    A,R2
+002D9A FA                MOV     R2,A
+002D9B C002              PUSH    AR2
+002D9D C001              PUSH    AR1
+002D9F 904EED            MOV     DPTR,#pbuff
+002DA2 E0                MOVX    A,@DPTR
+002DA3 A3                INC     DPTR
+002DA4 E0                MOVX    A,@DPTR
+002DA5 FA                MOV     R2,A
+002DA6 A3                INC     DPTR
+002DA7 E0                MOVX    A,@DPTR
+002DA8 F9                MOV     R1,A
+002DA9 1203B6            LCALL   ?C?CLDPTR
+002DAC FD                MOV     R5,A
+002DAD 7C00              MOV     R4,#00H
+002DAF 904E6B            MOV     DPTR,#ipcCb+03H
+002DB2 E0                MOVX    A,@DPTR
+002DB3 A3                INC     DPTR
+002DB4 E0                MOVX    A,@DPTR
+002DB5 FA                MOV     R2,A
+002DB6 A3                INC     DPTR
+002DB7 E0                MOVX    A,@DPTR
+002DB8 F582              MOV     DPL,A
+002DBA 8A83              MOV     DPH,R2
+002DBC D001              POP     AR1
+002DBE D002              POP     AR2
+002DC0 1205DD            LCALL   ?C?ICALL2
+002DC3 C19D              AJMP    ?C0039?IPC
+002DC5         ?C0031?IPC:
+002DC5 904EED            MOV     DPTR,#pbuff
+002DC8 E0                MOVX    A,@DPTR
+002DC9 FB                MOV     R3,A
+002DCA A3                INC     DPTR
+002DCB E0                MOVX    A,@DPTR
+002DCC FA                MOV     R2,A
+002DCD A3                INC     DPTR
+002DCE E0                MOVX    A,@DPTR
+002DCF F9                MOV     R1,A
+002DD0 1203B6            LCALL   ?C?CLDPTR
+002DD3 6405              XRL     A,#05H
+002DD5 7059              JNZ     ?C0033?IPC
+002DD7 904EEE            MOV     DPTR,#pbuff+01H
+002DDA 75F001            MOV     B,#01H
+002DDD 12040E            LCALL   ?C?IILDX
+002DE0 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+002DE2 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+002DE4 904EED            MOV     DPTR,#pbuff
+002DE7 E0                MOVX    A,@DPTR
+002DE8 FB                MOV     R3,A
+002DE9 A3                INC     DPTR
+002DEA E0                MOVX    A,@DPTR
+002DEB FA                MOV     R2,A
+002DEC A3                INC     DPTR
+002DED E0                MOVX    A,@DPTR
+002DEE F9                MOV     R1,A
+002DEF 1203B6            LCALL   ?C?CLDPTR
+002DF2 14                DEC     A
+002DF3 FD                MOV     R5,A
+002DF4 D1F7              ACALL   _ipcRx
+002DF6 904EED            MOV     DPTR,#pbuff
+002DF9 E0                MOVX    A,@DPTR
+002DFA FB                MOV     R3,A
+002DFB A3                INC     DPTR
+002DFC E0                MOVX    A,@DPTR
+002DFD FA                MOV     R2,A
+002DFE A3                INC     DPTR
+002DFF E0                MOVX    A,@DPTR
+002E00 2401              ADD     A,#01H
+002E02 F9                MOV     R1,A
+002E03 E4                CLR     A
+002E04 3A                ADDC    A,R2
+002E05 FA                MOV     R2,A
+002E06 C002              PUSH    AR2
+002E08 C001              PUSH    AR1
+002E0A 904EED            MOV     DPTR,#pbuff
+002E0D E0                MOVX    A,@DPTR
+002E0E A3                INC     DPTR
+002E0F E0                MOVX    A,@DPTR
+002E10 FA                MOV     R2,A
+002E11 A3                INC     DPTR
+002E12 E0                MOVX    A,@DPTR
+002E13 F9                MOV     R1,A
+002E14 1203B6            LCALL   ?C?CLDPTR
+002E17 FD                MOV     R5,A
+002E18 7C00              MOV     R4,#00H
+002E1A 904E74            MOV     DPTR,#ipcCb+0CH
+002E1D E0                MOVX    A,@DPTR
+002E1E A3                INC     DPTR
+002E1F E0                MOVX    A,@DPTR
+002E20 FA                MOV     R2,A
+002E21 A3                INC     DPTR
+002E22 E0                MOVX    A,@DPTR
+002E23 F582              MOV     DPL,A
+002E25 8A83              MOV     DPH,R2
+002E27 D001              POP     AR1
+002E29 D002              POP     AR2
+002E2B 1205DD            LCALL   ?C?ICALL2
+002E2E 806D              SJMP    ?C0039?IPC
+002E30         ?C0033?IPC:
+002E30 904EED            MOV     DPTR,#pbuff
+002E33 E0                MOVX    A,@DPTR
+002E34 FB                MOV     R3,A
+002E35 A3                INC     DPTR
+002E36 E0                MOVX    A,@DPTR
+002E37 FA                MOV     R2,A
+002E38 A3                INC     DPTR
+002E39 E0                MOVX    A,@DPTR
+002E3A F9                MOV     R1,A
+002E3B 1203B6            LCALL   ?C?CLDPTR
+002E3E 6403              XRL     A,#03H
+002E40 7059              JNZ     ?C0037?IPC
+002E42 904EEE            MOV     DPTR,#pbuff+01H
+002E45 75F001            MOV     B,#01H
+002E48 12040E            LCALL   ?C?IILDX
+002E4B 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+002E4D 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+002E4F 904EED            MOV     DPTR,#pbuff
+002E52 E0                MOVX    A,@DPTR
+002E53 FB                MOV     R3,A
+002E54 A3                INC     DPTR
+002E55 E0                MOVX    A,@DPTR
+002E56 FA                MOV     R2,A
+002E57 A3                INC     DPTR
+002E58 E0                MOVX    A,@DPTR
+002E59 F9                MOV     R1,A
+002E5A 1203B6            LCALL   ?C?CLDPTR
+002E5D 14                DEC     A
+002E5E FD                MOV     R5,A
+002E5F D1F7              ACALL   _ipcRx
+002E61 904EED            MOV     DPTR,#pbuff
+002E64 E0                MOVX    A,@DPTR
+002E65 FB                MOV     R3,A
+002E66 A3                INC     DPTR
+002E67 E0                MOVX    A,@DPTR
+002E68 FA                MOV     R2,A
+002E69 A3                INC     DPTR
+002E6A E0                MOVX    A,@DPTR
+002E6B 2401              ADD     A,#01H
+002E6D F9                MOV     R1,A
+002E6E E4                CLR     A
+002E6F 3A                ADDC    A,R2
+002E70 FA                MOV     R2,A
+002E71 C002              PUSH    AR2
+002E73 C001              PUSH    AR1
+002E75 904EED            MOV     DPTR,#pbuff
+002E78 E0                MOVX    A,@DPTR
+002E79 A3                INC     DPTR
+002E7A E0                MOVX    A,@DPTR
+002E7B FA                MOV     R2,A
+002E7C A3                INC     DPTR
+002E7D E0                MOVX    A,@DPTR
+002E7E F9                MOV     R1,A
+002E7F 1203B6            LCALL   ?C?CLDPTR
+002E82 FD                MOV     R5,A
+002E83 7C00              MOV     R4,#00H
+002E85 904E77            MOV     DPTR,#ipcCb+0FH
+002E88 E0                MOVX    A,@DPTR
+002E89 A3                INC     DPTR
+002E8A E0                MOVX    A,@DPTR
+002E8B FA                MOV     R2,A
+002E8C A3                INC     DPTR
+002E8D E0                MOVX    A,@DPTR
+002E8E F582              MOV     DPL,A
+002E90 8A83              MOV     DPH,R2
+002E92 D001              POP     AR1
+002E94 D002              POP     AR2
+002E96 1205DD            LCALL   ?C?ICALL2
+002E99 8002              SJMP    ?C0039?IPC
+002E9B         ?C0037?IPC:
+002E9B 80FE              SJMP    ?C0037?IPC
+002E9D         IPC_TIMER:
+002E9D         ?C0039?IPC:
+002E9D 904BA5            MOV     DPTR,#bttimer
+002EA0 E0                MOVX    A,@DPTR
+002EA1 FE                MOV     R6,A
+002EA2 A3                INC     DPTR
+002EA3 E0                MOVX    A,@DPTR
+002EA4 FF                MOV     R7,A
+002EA5 904C5E            MOV     DPTR,#c51timer
+002EA8 E0                MOVX    A,@DPTR
+002EA9 6E                XRL     A,R6
+002EAA 7003              JNZ     ?C0049?IPC
+002EAC A3                INC     DPTR
+002EAD E0                MOVX    A,@DPTR
+002EAE 6F                XRL     A,R7
+002EAF         ?C0049?IPC:
+002EAF 6022              JZ      ?C0043?IPC
+002EB1 904E6E            MOV     DPTR,#ipcCb+06H
 002EB4 E0                MOVX    A,@DPTR
-002EB5 6F                XRL     A,R7
-002EB6         ?C0049?IPC:
-002EB6 6022              JZ      ?C0043?IPC
-002EB8 904E6E            MOV     DPTR,#ipcCb+06H
-002EBB E0                MOVX    A,@DPTR
-002EBC FB                MOV     R3,A
-002EBD A3                INC     DPTR
-002EBE E0                MOVX    A,@DPTR
-002EBF FA                MOV     R2,A
-002EC0 A3                INC     DPTR
-002EC1 E0                MOVX    A,@DPTR
-002EC2 F9                MOV     R1,A
-002EC3 4A                ORL     A,R2
-002EC4 6037              JZ      ?C0042?IPC
-002EC6         ?C0041?IPC:
-002EC6 1205D9            LCALL   ?C?ICALL
-002EC9 904BA5            MOV     DPTR,#bttimer
-002ECC E0                MOVX    A,@DPTR
-002ECD FF                MOV     R7,A
+002EB5 FB                MOV     R3,A
+002EB6 A3                INC     DPTR
+002EB7 E0                MOVX    A,@DPTR
+002EB8 FA                MOV     R2,A
+002EB9 A3                INC     DPTR
+002EBA E0                MOVX    A,@DPTR
+002EBB F9                MOV     R1,A
+002EBC 4A                ORL     A,R2
+002EBD 6037              JZ      ?C0042?IPC
+002EBF         ?C0041?IPC:
+002EBF 1205D9            LCALL   ?C?ICALL
+002EC2 904BA5            MOV     DPTR,#bttimer
+002EC5 E0                MOVX    A,@DPTR
+002EC6 FF                MOV     R7,A
+002EC7 A3                INC     DPTR
+002EC8 E0                MOVX    A,@DPTR
+002EC9 904C5E            MOV     DPTR,#c51timer
+002ECC CF                XCH     A,R7
+002ECD F0                MOVX    @DPTR,A
 002ECE A3                INC     DPTR
-002ECF E0                MOVX    A,@DPTR
-002ED0 904C5E            MOV     DPTR,#c51timer
-002ED3 CF                XCH     A,R7
-002ED4 F0                MOVX    @DPTR,A
-002ED5 A3                INC     DPTR
-002ED6 EF                MOV     A,R7
-002ED7 F0                MOVX    @DPTR,A
-002ED8 80CA              SJMP    ?C0039?IPC
-002EDA         ?C0043?IPC:
-002EDA 904C8D            MOV     DPTR,#btstimer
-002EDD E0                MOVX    A,@DPTR
-002EDE FF                MOV     R7,A
-002EDF A3                INC     DPTR
+002ECF EF                MOV     A,R7
+002ED0 F0                MOVX    @DPTR,A
+002ED1 80CA              SJMP    ?C0039?IPC
+002ED3         ?C0043?IPC:
+002ED3 904C8D            MOV     DPTR,#btstimer
+002ED6 E0                MOVX    A,@DPTR
+002ED7 FF                MOV     R7,A
+002ED8 A3                INC     DPTR
+002ED9 E0                MOVX    A,@DPTR
+002EDA 6F                XRL     A,R7
+002EDB 6019              JZ      ?C0042?IPC
+002EDD 904E71            MOV     DPTR,#ipcCb+09H
 002EE0 E0                MOVX    A,@DPTR
-002EE1 6F                XRL     A,R7
-002EE2 6019              JZ      ?C0042?IPC
-002EE4 904E71            MOV     DPTR,#ipcCb+09H
-002EE7 E0                MOVX    A,@DPTR
-002EE8 FB                MOV     R3,A
-002EE9 A3                INC     DPTR
-002EEA E0                MOVX    A,@DPTR
-002EEB FA                MOV     R2,A
-002EEC A3                INC     DPTR
-002EED E0                MOVX    A,@DPTR
-002EEE F9                MOV     R1,A
-002EEF 4A                ORL     A,R2
-002EF0 600B              JZ      ?C0042?IPC
-002EF2         ?C0045?IPC:
-002EF2 1205D9            LCALL   ?C?ICALL
-002EF5 904C8D            MOV     DPTR,#btstimer
-002EF8 E0                MOVX    A,@DPTR
-002EF9 A3                INC     DPTR
-002EFA F0                MOVX    @DPTR,A
-002EFB 80DD              SJMP    ?C0043?IPC
-002EFD         ?C0042?IPC:
-002EFD 22                RET     
+002EE1 FB                MOV     R3,A
+002EE2 A3                INC     DPTR
+002EE3 E0                MOVX    A,@DPTR
+002EE4 FA                MOV     R2,A
+002EE5 A3                INC     DPTR
+002EE6 E0                MOVX    A,@DPTR
+002EE7 F9                MOV     R1,A
+002EE8 4A                ORL     A,R2
+002EE9 600B              JZ      ?C0042?IPC
+002EEB         ?C0045?IPC:
+002EEB 1205D9            LCALL   ?C?ICALL
+002EEE 904C8D            MOV     DPTR,#btstimer
+002EF1 E0                MOVX    A,@DPTR
+002EF2 A3                INC     DPTR
+002EF3 F0                MOVX    @DPTR,A
+002EF4 80DD              SJMP    ?C0043?IPC
+002EF6         ?C0042?IPC:
+002EF6 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-002EFE 904EFD            MOV     DPTR,#dest
-002F01 EE                MOV     A,R6
-002F02 F0                MOVX    @DPTR,A
-002F03 A3                INC     DPTR
-002F04 EF                MOV     A,R7
-002F05 F0                MOVX    @DPTR,A
+002EF7 904EFD            MOV     DPTR,#dest
+002EFA EE                MOV     A,R6
+002EFB F0                MOVX    @DPTR,A
+002EFC A3                INC     DPTR
+002EFD EF                MOV     A,R7
+002EFE F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-002F06 A905              MOV     R1,AR5
-002F08 904B9E            MOV     DPTR,#ipcRxReadPtr
-002F0B E0                MOVX    A,@DPTR
-002F0C FE                MOV     R6,A
-002F0D A3                INC     DPTR
-002F0E E0                MOVX    A,@DPTR
-002F0F FF                MOV     R7,A
+002EFF A905              MOV     R1,AR5
+002F01 904B9E            MOV     DPTR,#ipcRxReadPtr
+002F04 E0                MOVX    A,@DPTR
+002F05 FE                MOV     R6,A
+002F06 A3                INC     DPTR
+002F07 E0                MOVX    A,@DPTR
+002F08 FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-002F10         ?C0004?IPC:
-002F10 AD01              MOV     R5,AR1
-002F12 19                DEC     R1
-002F13 ED                MOV     A,R5
-002F14 602F              JZ      ?C0005?IPC
-002F16 0F                INC     R7
-002F17 EF                MOV     A,R7
-002F18 AC06              MOV     R4,AR6
-002F1A 7001              JNZ     ?C0046?IPC
-002F1C 0E                INC     R6
-002F1D         ?C0046?IPC:
-002F1D 14                DEC     A
-002F1E F582              MOV     DPL,A
-002F20 8C83              MOV     DPH,R4
-002F22 E0                MOVX    A,@DPTR
-002F23 FD                MOV     R5,A
-002F24 904EFD            MOV     DPTR,#dest
-002F27 E4                CLR     A
-002F28 75F001            MOV     B,#01H
-002F2B 120424            LCALL   ?C?ILDIX
-002F2E 85F082            MOV     DPL,B
-002F31 F583              MOV     DPH,A
-002F33 ED                MOV     A,R5
-002F34 F0                MOVX    @DPTR,A
-002F35 AD07              MOV     R5,AR7
-002F37 AC06              MOV     R4,AR6
-002F39 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-002F3C BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-002F3F 7E4B              MOV     R6,#04BH
-002F41 7F36              MOV     R7,#036H
-002F43 80CB              SJMP    ?C0004?IPC
-002F45         ?C0005?IPC:
-002F45 904B9E            MOV     DPTR,#ipcRxReadPtr
-002F48 EE                MOV     A,R6
-002F49 F0                MOVX    @DPTR,A
-002F4A A3                INC     DPTR
-002F4B EF                MOV     A,R7
-002F4C F0                MOVX    @DPTR,A
-002F4D 22                RET     
+002F09         ?C0004?IPC:
+002F09 AD01              MOV     R5,AR1
+002F0B 19                DEC     R1
+002F0C ED                MOV     A,R5
+002F0D 602F              JZ      ?C0005?IPC
+002F0F 0F                INC     R7
+002F10 EF                MOV     A,R7
+002F11 AC06              MOV     R4,AR6
+002F13 7001              JNZ     ?C0046?IPC
+002F15 0E                INC     R6
+002F16         ?C0046?IPC:
+002F16 14                DEC     A
+002F17 F582              MOV     DPL,A
+002F19 8C83              MOV     DPH,R4
+002F1B E0                MOVX    A,@DPTR
+002F1C FD                MOV     R5,A
+002F1D 904EFD            MOV     DPTR,#dest
+002F20 E4                CLR     A
+002F21 75F001            MOV     B,#01H
+002F24 120424            LCALL   ?C?ILDIX
+002F27 85F082            MOV     DPL,B
+002F2A F583              MOV     DPH,A
+002F2C ED                MOV     A,R5
+002F2D F0                MOVX    @DPTR,A
+002F2E AD07              MOV     R5,AR7
+002F30 AC06              MOV     R4,AR6
+002F32 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+002F35 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+002F38 7E4B              MOV     R6,#04BH
+002F3A 7F36              MOV     R7,#036H
+002F3C 80CB              SJMP    ?C0004?IPC
+002F3E         ?C0005?IPC:
+002F3E 904B9E            MOV     DPTR,#ipcRxReadPtr
+002F41 EE                MOV     A,R6
+002F42 F0                MOVX    @DPTR,A
+002F43 A3                INC     DPTR
+002F44 EF                MOV     A,R7
+002F45 F0                MOVX    @DPTR,A
+002F46 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION kb_cb_init (BEGIN) -----
  FILE: 'sys.c'
-  804: static void kb_cb_init()
-  805: {
-  806: 	IPC_Initialize(&cb);
-  807: }
-002F4E 7B01              MOV     R3,#01H
-002F50 7A4E              MOV     R2,#HIGH cb
-002F52 7956              MOV     R1,#LOW cb
+  807: static void kb_cb_init()
+  808: {
+  809: 	IPC_Initialize(&cb);
+  810: }
+002F47 7B01              MOV     R3,#01H
+002F49 7A4E              MOV     R2,#HIGH cb
+002F4B 7956              MOV     R1,#LOW cb
 ;----                  JMP     _IPC_Initialize
 ----- FUNCTION kb_cb_init (END) -------
 
 
 ----- FUNCTION _IPC_Initialize (BEGIN) -----
 ;---- Variable 'cb' assigned to Register 'R1/R2/R3' ----
-002F54 7868              MOV     R0,#LOW ipcCb
-002F56 7C4E              MOV     R4,#HIGH ipcCb
-002F58 7D01              MOV     R5,#01H
-002F5A 7E00              MOV     R6,#00H
-002F5C 7F12              MOV     R7,#012H
-002F5E 020390            LJMP    ?C?COPY
+002F4D 7868              MOV     R0,#LOW ipcCb
+002F4F 7C4E              MOV     R4,#HIGH ipcCb
+002F51 7D01              MOV     R5,#01H
+002F53 7E00              MOV     R6,#00H
+002F55 7F12              MOV     R7,#012H
+002F57 020390            LJMP    ?C?COPY
 ----- FUNCTION _IPC_Initialize (END) -------
 
 
 ----- FUNCTION _GPIO_GetInputStatus (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-002F61 7B01              MOV     R3,#01H
-002F63 7A81              MOV     R2,#081H
-002F65 791C              MOV     R1,#01CH
+002F5A 7B01              MOV     R3,#01H
+002F5C 7A81              MOV     R2,#081H
+002F5E 791C              MOV     R1,#01CH
 ;----                  JMP     _gpioGetBit
 ----- FUNCTION _GPIO_GetInputStatus (END) -------
 
 
 ----- FUNCTION _gpioGetBit (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R5' ----
-002F67 AD07              MOV     R5,AR7
+002F60 AD07              MOV     R5,AR7
 ;---- Variable 'reg_base' assigned to Register 'R1/R2/R3' ----
-002F69 E4                CLR     A
-002F6A 904F09            MOV     DPTR,#queue
-002F6D F0                MOVX    @DPTR,A
+002F62 E4                CLR     A
+002F63 904F09            MOV     DPTR,#queue
+002F66 F0                MOVX    @DPTR,A
 ;---- Variable 'group' assigned to Register 'R6' ----
-002F6E FE                MOV     R6,A
-002F6F EF                MOV     A,R7
-002F70 5407              ANL     A,#07H
-002F72 F0                MOVX    @DPTR,A
-002F73 EF                MOV     A,R7
-002F74 13                RRC     A
-002F75 13                RRC     A
-002F76 13                RRC     A
-002F77 5403              ANL     A,#03H
-002F79 FE                MOV     R6,A
-002F7A F582              MOV     DPL,A
-002F7C 758300            MOV     DPH,#00H
-002F7F 1203CF            LCALL   ?C?CLDOPTR
-002F82 FD                MOV     R5,A
-002F83 33                RLC     A
-002F84 95E0              SUBB    A,ACC
-002F86 FC                MOV     R4,A
-002F87 904F09            MOV     DPTR,#queue
-002F8A E0                MOVX    A,@DPTR
-002F8B FF                MOV     R7,A
-002F8C 7401              MOV     A,#01H
-002F8E 7E00              MOV     R6,#00H
-002F90 A807              MOV     R0,AR7
-002F92 08                INC     R0
-002F93 8005              SJMP    ?C0035?GPIO
-002F95         ?C0034?GPIO:
-002F95 C3                CLR     C
-002F96 33                RLC     A
-002F97 CE                XCH     A,R6
-002F98 33                RLC     A
-002F99 CE                XCH     A,R6
-002F9A         ?C0035?GPIO:
-002F9A D8F9              DJNZ    R0,?C0034?GPIO
-002F9C FF                MOV     R7,A
-002F9D EE                MOV     A,R6
-002F9E 5C                ANL     A,R4
-002F9F FE                MOV     R6,A
-002FA0 EF                MOV     A,R7
-002FA1 5D                ANL     A,R5
-002FA2 4E                ORL     A,R6
-002FA3 24FF              ADD     A,#0FFH
-002FA5 22                RET     
+002F67 FE                MOV     R6,A
+002F68 EF                MOV     A,R7
+002F69 5407              ANL     A,#07H
+002F6B F0                MOVX    @DPTR,A
+002F6C EF                MOV     A,R7
+002F6D 13                RRC     A
+002F6E 13                RRC     A
+002F6F 13                RRC     A
+002F70 5403              ANL     A,#03H
+002F72 FE                MOV     R6,A
+002F73 F582              MOV     DPL,A
+002F75 758300            MOV     DPH,#00H
+002F78 1203CF            LCALL   ?C?CLDOPTR
+002F7B FD                MOV     R5,A
+002F7C 33                RLC     A
+002F7D 95E0              SUBB    A,ACC
+002F7F FC                MOV     R4,A
+002F80 904F09            MOV     DPTR,#queue
+002F83 E0                MOVX    A,@DPTR
+002F84 FF                MOV     R7,A
+002F85 7401              MOV     A,#01H
+002F87 7E00              MOV     R6,#00H
+002F89 A807              MOV     R0,AR7
+002F8B 08                INC     R0
+002F8C 8005              SJMP    ?C0035?GPIO
+002F8E         ?C0034?GPIO:
+002F8E C3                CLR     C
+002F8F 33                RLC     A
+002F90 CE                XCH     A,R6
+002F91 33                RLC     A
+002F92 CE                XCH     A,R6
+002F93         ?C0035?GPIO:
+002F93 D8F9              DJNZ    R0,?C0034?GPIO
+002F95 FF                MOV     R7,A
+002F96 EE                MOV     A,R6
+002F97 5C                ANL     A,R4
+002F98 FE                MOV     R6,A
+002F99 EF                MOV     A,R7
+002F9A 5D                ANL     A,R5
+002F9B 4E                ORL     A,R6
+002F9C 24FF              ADD     A,#0FFH
+002F9E 22                RET     
 ----- FUNCTION _gpioGetBit (END) -------
 
 
@@ -9211,18 +9179,18 @@
     6: {
     7: 	YC_System_Main();
     8: }
-002FA6 8199              AJMP    YC_System_Main
+002F9F 8192              AJMP    YC_System_Main
 ----- FUNCTION main (END) -------
 
 
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-002FA8 900B7F            MOV     DPTR,#lpm_flag
-002FAB 7401              MOV     A,#01H
-002FAD F0                MOVX    @DPTR,A
-002FAE E4                CLR     A
-002FAF 900B7E            MOV     DPTR,#current_task
-002FB2 F0                MOVX    @DPTR,A
-002FB3 22                RET     
+002FA1 900B7F            MOV     DPTR,#lpm_flag
+002FA4 7401              MOV     A,#01H
+002FA6 F0                MOVX    @DPTR,A
+002FA7 E4                CLR     A
+002FA8 900B7E            MOV     DPTR,#current_task
+002FAB F0                MOVX    @DPTR,A
+002FAC 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
@@ -9232,344 +9200,345 @@
    87: {
    88: 	LED_all_shutdown();
    89: 	m_24g_pairing_sm = 0xff;
-002FB4 121799            LCALL   LED_all_shutdown
+002FAD 1217B7            LCALL   LED_all_shutdown
    90: 	g_variable.g24_long_sleep_flag = 1;
-002FB7 904BEF            MOV     DPTR,#m_24g_pairing_sm
-002FBA 74FF              MOV     A,#0FFH
-002FBC F0                MOVX    @DPTR,A
+002FB0 904BEF            MOV     DPTR,#m_24g_pairing_sm
+002FB3 74FF              MOV     A,#0FFH
+002FB5 F0                MOVX    @DPTR,A
    91: #ifdef PC_SLEEP_STATUS_GET	
-002FBD 904CFC            MOV     DPTR,#g_variable+03DH
-002FC0 7401              MOV     A,#01H
-002FC2 F0                MOVX    @DPTR,A
+002FB6 904CFC            MOV     DPTR,#g_variable+03DH
+002FB9 7401              MOV     A,#01H
+002FBB F0                MOVX    @DPTR,A
    92: 	g_variable.sys_numlockled_on_timer = 0;
-002FC3 E4                CLR     A
-002FC4 904CE6            MOV     DPTR,#g_variable+027H
-002FC7 F0                MOVX    @DPTR,A
+002FBC E4                CLR     A
+002FBD 904CE6            MOV     DPTR,#g_variable+027H
+002FC0 F0                MOVX    @DPTR,A
    93: 	g_variable.sys_capslockled_on_timer = 0;
-002FC8 A3                INC     DPTR
-002FC9 F0                MOVX    @DPTR,A
+002FC1 A3                INC     DPTR
+002FC2 F0                MOVX    @DPTR,A
    94: 	g_variable.sys_scrolllockled_on_timer = 0;
-002FCA A3                INC     DPTR
-002FCB F0                MOVX    @DPTR,A
+002FC3 A3                INC     DPTR
+002FC4 F0                MOVX    @DPTR,A
    95: 	m_caps_num_lock = 0xf0;
-002FCC 904CB7            MOV     DPTR,#m_caps_num_lock
-002FCF 74F0              MOV     A,#0F0H
-002FD1 F0                MOVX    @DPTR,A
+002FC5 904CB7            MOV     DPTR,#m_caps_num_lock
+002FC8 74F0              MOV     A,#0F0H
+002FCA F0                MOVX    @DPTR,A
    96: 	m_caps_num_lock_last = 0xf0; 
-002FD2 904DE0            MOV     DPTR,#m_caps_num_lock_last
-002FD5 F0                MOVX    @DPTR,A
+002FCB 904DE0            MOV     DPTR,#m_caps_num_lock_last
+002FCE F0                MOVX    @DPTR,A
    97: #endif	
    98: 	m_24g_enter_hibernate[0]	= 0xff;
-002FD6 904D40            MOV     DPTR,#m_24g_enter_hibernate
-002FD9 74FF              MOV     A,#0FFH
-002FDB F0                MOVX    @DPTR,A
+002FCF 904D40            MOV     DPTR,#m_24g_enter_hibernate
+002FD2 74FF              MOV     A,#0FFH
+002FD4 F0                MOVX    @DPTR,A
    99: 	m_24g_enter_hibernate[1]	= 0xff;
-002FDC A3                INC     DPTR
-002FDD F0                MOVX    @DPTR,A
+002FD5 A3                INC     DPTR
+002FD6 F0                MOVX    @DPTR,A
   100: 	m_24g_enter_hibernate[2]	= 0xff;
-002FDE A3                INC     DPTR
-002FDF F0                MOVX    @DPTR,A
+002FD7 A3                INC     DPTR
+002FD8 F0                MOVX    @DPTR,A
   101: 	m_24g_enter_hibernate[3]	= 0xff;
-002FE0 A3                INC     DPTR
-002FE1 F0                MOVX    @DPTR,A
+002FD9 A3                INC     DPTR
+002FDA F0                MOVX    @DPTR,A
   102: }
-002FE2 22                RET     
+002FDB 22                RET     
 ----- FUNCTION System_G24_long_lpm (END) -------
 
 
 ----- FUNCTION KS_ScanMatrix (BEGIN) -----
  FILE: 'keyscan.c'
-  254: void KS_ScanMatrix()
-  255: {
-  256: 	byte i = 0;
-  257: 	byte j = 0;
+  253: void KS_ScanMatrix()
+  254: {
+  255: 	byte i = 0;
+  256: 	byte j = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-002FE3 E4                CLR     A
-002FE4 FF                MOV     R7,A
-  258: 	byte tgroup = 0;
-002FE5 904EE7            MOV     DPTR,#j
-002FE8 F0                MOVX    @DPTR,A
-  259: 	byte tgpionum = 0;
+002FDC E4                CLR     A
+002FDD FF                MOV     R7,A
+  257: 	byte tgroup = 0;
+002FDE 904EE7            MOV     DPTR,#j
+002FE1 F0                MOVX    @DPTR,A
+  258: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-002FE9 FE                MOV     R6,A
-  260: 	byte temp = 0;
+002FE2 FE                MOV     R6,A
+  259: 	byte temp = 0;
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-002FEA FD                MOV     R5,A
-  261: 	byte check = 0;
-002FEB A3                INC     DPTR
-002FEC F0                MOVX    @DPTR,A
-  262: 	for (i=0; col[i]!=0; i++) {
-002FED A3                INC     DPTR
-002FEE F0                MOVX    @DPTR,A
-  263: 		tgroup = col[i]  >> 3;
-002FEF         ?C0043?KEYSCAN:
-002FEF EF                MOV     A,R7
-002FF0 900681            MOV     DPTR,#col
+002FE3 FD                MOV     R5,A
+  260: 	byte check = 0;
+002FE4 A3                INC     DPTR
+002FE5 F0                MOVX    @DPTR,A
+  261: 	for (i=0; col[i]!=0; i++) {
+002FE6 A3                INC     DPTR
+002FE7 F0                MOVX    @DPTR,A
+  262: 		tgroup = col[i]  >> 3;
+002FE8         ?C0043?KEYSCAN:
+002FE8 EF                MOV     A,R7
+002FE9 900681            MOV     DPTR,#col
+002FEC 93                MOVC    A,@A+DPTR
+002FED 7003              JNZ     $ + 5H
+002FEF 02306F            LJMP    ?C0044?KEYSCAN
+  263: 		tgpionum = 1 << (col[i] & 7);
+002FF2 EF                MOV     A,R7
 002FF3 93                MOVC    A,@A+DPTR
-002FF4 607D              JZ      ?C0044?KEYSCAN
-  264: 		tgpionum = 1 << (col[i] & 7);
-002FF6 EF                MOV     A,R7
-002FF7 93                MOVC    A,@A+DPTR
-002FF8 FD                MOV     R5,A
-002FF9 13                RRC     A
-002FFA 13                RRC     A
-002FFB 13                RRC     A
-002FFC 541F              ANL     A,#01FH
-002FFE FE                MOV     R6,A
-  265: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
-002FFF ED                MOV     A,R5
-003000 5407              ANL     A,#07H
-003002 FD                MOV     R5,A
-003003 7401              MOV     A,#01H
-003005 A805              MOV     R0,AR5
-003007 08                INC     R0
-003008 8002              SJMP    ?C0099?KEYSCAN
-00300A         ?C0098?KEYSCAN:
-00300A C3                CLR     C
-00300B 33                RLC     A
-00300C         ?C0099?KEYSCAN:
-00300C D8FC              DJNZ    R0,?C0098?KEYSCAN
-00300E FD                MOV     R5,A
-  266: 	}
-00300F EE                MOV     A,R6
-003010 2478              ADD     A,#078H
-003012 FB                MOV     R3,A
-003013 E4                CLR     A
-003014 3480              ADDC    A,#080H
-003016 8B82              MOV     DPL,R3
-003018 F583              MOV     DPH,A
-00301A E0                MOVX    A,@DPTR
-00301B FC                MOV     R4,A
-00301C ED                MOV     A,R5
-00301D F4                CPL     A
-00301E FB                MOV     R3,A
-00301F EC                MOV     A,R4
-003020 5B                ANL     A,R3
-003021 F0                MOVX    @DPTR,A
-003022 EE                MOV     A,R6
-003023 2470              ADD     A,#070H
-003025 F582              MOV     DPL,A
-003027 E4                CLR     A
-003028 3480              ADDC    A,#080H
-00302A F583              MOV     DPH,A
-00302C E0                MOVX    A,@DPTR
-00302D 4D                ORL     A,R5
-00302E F0                MOVX    @DPTR,A
-00302F EE                MOV     A,R6
-003030 2474              ADD     A,#074H
-003032 F582              MOV     DPL,A
-003034 E4                CLR     A
-003035 3480              ADDC    A,#080H
-003037 F583              MOV     DPH,A
-003039 E0                MOVX    A,@DPTR
-00303A 5B                ANL     A,R3
-00303B F0                MOVX    @DPTR,A
-00303C 90811C            MOV     DPTR,#0811CH
-00303F E0                MOVX    A,@DPTR
-003040 F4                CPL     A
-003041 FC                MOV     R4,A
-003042 74BC              MOV     A,#LOW ksSelMapCurr
-003044 2F                ADD     A,R7
-003045 F582              MOV     DPL,A
-003047 E4                CLR     A
-003048 344D              ADDC    A,#HIGH ksSelMapCurr
-00304A F583              MOV     DPH,A
-00304C EC                MOV     A,R4
-00304D F0                MOVX    @DPTR,A
-00304E EE                MOV     A,R6
-00304F 2478              ADD     A,#078H
-003051 FB                MOV     R3,A
-003052 E4                CLR     A
-003053 3480              ADDC    A,#080H
-003055 8B82              MOV     DPL,R3
-003057 F583              MOV     DPH,A
-003059 E0                MOVX    A,@DPTR
-00305A 4D                ORL     A,R5
-00305B F0                MOVX    @DPTR,A
-00305C EE                MOV     A,R6
-00305D 2470              ADD     A,#070H
-00305F FB                MOV     R3,A
-003060 E4                CLR     A
-003061 3480              ADDC    A,#080H
-003063 8B82              MOV     DPL,R3
-003065 F583              MOV     DPH,A
-003067 E0                MOVX    A,@DPTR
-003068 FC                MOV     R4,A
-003069 ED                MOV     A,R5
-00306A F4                CPL     A
-00306B FB                MOV     R3,A
-00306C EC                MOV     A,R4
-00306D 5B                ANL     A,R3
-00306E F0                MOVX    @DPTR,A
-  267: 
-00306F 0F                INC     R7
-003070 022FEF            LJMP    ?C0043?KEYSCAN
-003073         ?C0044?KEYSCAN:
-  268: 	for (i=0; col[i]!=0; i++) {
-003073 E4                CLR     A
-003074 FF                MOV     R7,A
-003075         ?C0046?KEYSCAN:
-003075 EF                MOV     A,R7
-003076 900681            MOV     DPTR,#col
+002FF4 FD                MOV     R5,A
+002FF5 13                RRC     A
+002FF6 13                RRC     A
+002FF7 13                RRC     A
+002FF8 541F              ANL     A,#01FH
+002FFA FE                MOV     R6,A
+  264: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
+002FFB ED                MOV     A,R5
+002FFC 5407              ANL     A,#07H
+002FFE FD                MOV     R5,A
+002FFF 7401              MOV     A,#01H
+003001 A805              MOV     R0,AR5
+003003 08                INC     R0
+003004 8002              SJMP    ?C0099?KEYSCAN
+003006         ?C0098?KEYSCAN:
+003006 C3                CLR     C
+003007 33                RLC     A
+003008         ?C0099?KEYSCAN:
+003008 D8FC              DJNZ    R0,?C0098?KEYSCAN
+00300A FD                MOV     R5,A
+  265: 	}
+00300B EE                MOV     A,R6
+00300C 2478              ADD     A,#078H
+00300E FB                MOV     R3,A
+00300F E4                CLR     A
+003010 3480              ADDC    A,#080H
+003012 8B82              MOV     DPL,R3
+003014 F583              MOV     DPH,A
+003016 E0                MOVX    A,@DPTR
+003017 FC                MOV     R4,A
+003018 ED                MOV     A,R5
+003019 F4                CPL     A
+00301A FB                MOV     R3,A
+00301B EC                MOV     A,R4
+00301C 5B                ANL     A,R3
+00301D F0                MOVX    @DPTR,A
+00301E EE                MOV     A,R6
+00301F 2470              ADD     A,#070H
+003021 F582              MOV     DPL,A
+003023 E4                CLR     A
+003024 3480              ADDC    A,#080H
+003026 F583              MOV     DPH,A
+003028 E0                MOVX    A,@DPTR
+003029 4D                ORL     A,R5
+00302A F0                MOVX    @DPTR,A
+00302B EE                MOV     A,R6
+00302C 2474              ADD     A,#074H
+00302E F582              MOV     DPL,A
+003030 E4                CLR     A
+003031 3480              ADDC    A,#080H
+003033 F583              MOV     DPH,A
+003035 E0                MOVX    A,@DPTR
+003036 5B                ANL     A,R3
+003037 F0                MOVX    @DPTR,A
+003038 90811C            MOV     DPTR,#0811CH
+00303B E0                MOVX    A,@DPTR
+00303C F4                CPL     A
+00303D FC                MOV     R4,A
+00303E 74BC              MOV     A,#LOW ksSelMapCurr
+003040 2F                ADD     A,R7
+003041 F582              MOV     DPL,A
+003043 E4                CLR     A
+003044 344D              ADDC    A,#HIGH ksSelMapCurr
+003046 F583              MOV     DPH,A
+003048 EC                MOV     A,R4
+003049 F0                MOVX    @DPTR,A
+00304A EE                MOV     A,R6
+00304B 2478              ADD     A,#078H
+00304D FB                MOV     R3,A
+00304E E4                CLR     A
+00304F 3480              ADDC    A,#080H
+003051 8B82              MOV     DPL,R3
+003053 F583              MOV     DPH,A
+003055 E0                MOVX    A,@DPTR
+003056 4D                ORL     A,R5
+003057 F0                MOVX    @DPTR,A
+003058 EE                MOV     A,R6
+003059 2470              ADD     A,#070H
+00305B FB                MOV     R3,A
+00305C E4                CLR     A
+00305D 3480              ADDC    A,#080H
+00305F 8B82              MOV     DPL,R3
+003061 F583              MOV     DPH,A
+003063 E0                MOVX    A,@DPTR
+003064 FC                MOV     R4,A
+003065 ED                MOV     A,R5
+003066 F4                CPL     A
+003067 FB                MOV     R3,A
+003068 EC                MOV     A,R4
+003069 5B                ANL     A,R3
+00306A F0                MOVX    @DPTR,A
+  266: 
+00306B 0F                INC     R7
+00306C 022FE8            LJMP    ?C0043?KEYSCAN
+00306F         ?C0044?KEYSCAN:
+  267: 	for (i=0; col[i]!=0; i++) {
+00306F E4                CLR     A
+003070 FF                MOV     R7,A
+003071         ?C0046?KEYSCAN:
+003071 EF                MOV     A,R7
+003072 900681            MOV     DPTR,#col
+003075 93                MOVC    A,@A+DPTR
+003076 607C              JZ      ?C0047?KEYSCAN
+  268: 		tgroup = col[i]  >> 3;
+003078 EF                MOV     A,R7
 003079 93                MOVC    A,@A+DPTR
-00307A 607C              JZ      ?C0047?KEYSCAN
-  269: 		tgroup = col[i]  >> 3;
-00307C EF                MOV     A,R7
-00307D 93                MOVC    A,@A+DPTR
-00307E FD                MOV     R5,A
-00307F 13                RRC     A
-003080 13                RRC     A
-003081 13                RRC     A
-003082 541F              ANL     A,#01FH
-003084 FE                MOV     R6,A
-  270: 		tgpionum = 1 << (col[i] & 7);
-003085 ED                MOV     A,R5
-003086 5407              ANL     A,#07H
-003088 FD                MOV     R5,A
-003089 7401              MOV     A,#01H
-00308B A805              MOV     R0,AR5
-00308D 08                INC     R0
-00308E 8002              SJMP    ?C0101?KEYSCAN
-003090         ?C0100?KEYSCAN:
-003090 C3                CLR     C
-003091 33                RLC     A
-003092         ?C0101?KEYSCAN:
-003092 D8FC              DJNZ    R0,?C0100?KEYSCAN
-003094 FD                MOV     R5,A
-  271: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
-003095 EE                MOV     A,R6
-003096 2478              ADD     A,#078H
-003098 FB                MOV     R3,A
-003099 E4                CLR     A
-00309A 3480              ADDC    A,#080H
-00309C 8B82              MOV     DPL,R3
-00309E F583              MOV     DPH,A
-0030A0 E0                MOVX    A,@DPTR
-0030A1 FC                MOV     R4,A
-0030A2 ED                MOV     A,R5
-0030A3 F4                CPL     A
-0030A4 FB                MOV     R3,A
-0030A5 EC                MOV     A,R4
-0030A6 5B                ANL     A,R3
-0030A7 F0                MOVX    @DPTR,A
-0030A8 EE                MOV     A,R6
-0030A9 2470              ADD     A,#070H
-0030AB F582              MOV     DPL,A
-0030AD E4                CLR     A
-0030AE 3480              ADDC    A,#080H
-0030B0 F583              MOV     DPH,A
-0030B2 E0                MOVX    A,@DPTR
-0030B3 4D                ORL     A,R5
-0030B4 F0                MOVX    @DPTR,A
-0030B5 EE                MOV     A,R6
-0030B6 2474              ADD     A,#074H
-0030B8 F582              MOV     DPL,A
-0030BA E4                CLR     A
-0030BB 3480              ADDC    A,#080H
-0030BD F583              MOV     DPH,A
-0030BF E0                MOVX    A,@DPTR
-0030C0 5B                ANL     A,R3
-0030C1 F0                MOVX    @DPTR,A
-0030C2 90811C            MOV     DPTR,#0811CH
-0030C5 E0                MOVX    A,@DPTR
-0030C6 F4                CPL     A
-0030C7 FC                MOV     R4,A
-0030C8 74A8              MOV     A,#LOW ksSelMapCheck
-0030CA 2F                ADD     A,R7
-0030CB F582              MOV     DPL,A
-0030CD E4                CLR     A
-0030CE 344D              ADDC    A,#HIGH ksSelMapCheck
-0030D0 F583              MOV     DPH,A
-0030D2 EC                MOV     A,R4
-0030D3 F0                MOVX    @DPTR,A
-0030D4 EE                MOV     A,R6
-0030D5 2478              ADD     A,#078H
-0030D7 FB                MOV     R3,A
-0030D8 E4                CLR     A
-0030D9 3480              ADDC    A,#080H
-0030DB 8B82              MOV     DPL,R3
-0030DD F583              MOV     DPH,A
-0030DF E0                MOVX    A,@DPTR
-0030E0 4D                ORL     A,R5
-0030E1 F0                MOVX    @DPTR,A
-0030E2 EE                MOV     A,R6
-0030E3 2470              ADD     A,#070H
-0030E5 FB                MOV     R3,A
-0030E6 E4                CLR     A
-0030E7 3480              ADDC    A,#080H
-0030E9 8B82              MOV     DPL,R3
-0030EB F583              MOV     DPH,A
-0030ED E0                MOVX    A,@DPTR
-0030EE FC                MOV     R4,A
-0030EF ED                MOV     A,R5
-0030F0 F4                CPL     A
-0030F1 FB                MOV     R3,A
-0030F2 EC                MOV     A,R4
-0030F3 5B                ANL     A,R3
-0030F4 F0                MOVX    @DPTR,A
-  272: 	}
-0030F5 0F                INC     R7
-0030F6 0175              AJMP    ?C0046?KEYSCAN
-0030F8         ?C0047?KEYSCAN:
-  273: 
-  274: 	for (i=0; col[i]!=0; i++) {
-0030F8 E4                CLR     A
-0030F9 FF                MOV     R7,A
-0030FA         ?C0049?KEYSCAN:
-0030FA EF                MOV     A,R7
-0030FB 900681            MOV     DPTR,#col
-0030FE 93                MOVC    A,@A+DPTR
-0030FF 6040              JZ      ?C0053?KEYSCAN
-  275: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
-003101 74BC              MOV     A,#LOW ksSelMapCurr
-003103 2F                ADD     A,R7
-003104 F582              MOV     DPL,A
-003106 E4                CLR     A
-003107 344D              ADDC    A,#HIGH ksSelMapCurr
-003109 F583              MOV     DPH,A
-00310B E0                MOVX    A,@DPTR
-00310C FE                MOV     R6,A
-00310D 74A8              MOV     A,#LOW ksSelMapCheck
-00310F 2F                ADD     A,R7
-003110 F582              MOV     DPL,A
-003112 E4                CLR     A
-003113 344D              ADDC    A,#HIGH ksSelMapCheck
-003115 F583              MOV     DPH,A
-003117 E0                MOVX    A,@DPTR
-003118 6E                XRL     A,R6
-003119 6023              JZ      ?C0051?KEYSCAN
-  276: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
-00311B 74BC              MOV     A,#LOW ksSelMapCurr
-00311D 2F                ADD     A,R7
-00311E F582              MOV     DPL,A
-003120 E4                CLR     A
-003121 344D              ADDC    A,#HIGH ksSelMapCurr
-003123 F583              MOV     DPH,A
-003125 C083              PUSH    DPH
-003127 C082              PUSH    DPL
-003129 E0                MOVX    A,@DPTR
-00312A FE                MOV     R6,A
-00312B 74A8              MOV     A,#LOW ksSelMapCheck
-00312D 2F                ADD     A,R7
-00312E F582              MOV     DPL,A
-003130 E4                CLR     A
-003131 344D              ADDC    A,#HIGH ksSelMapCheck
-003133 F583              MOV     DPH,A
-003135 E0                MOVX    A,@DPTR
-003136 FD                MOV     R5,A
-003137 EE                MOV     A,R6
-003138 5D                ANL     A,R5
-003139 D082              POP     DPL
-00313B D083              POP     DPH
-00313D F0                MOVX    @DPTR,A
-  277: 		}
-  278: 	}
-00313E         ?C0051?KEYSCAN:
-00313E 0F                INC     R7
-00313F 80B9              SJMP    ?C0049?KEYSCAN
-  279: }
-003141         ?C0053?KEYSCAN:
-003141 22                RET     
+00307A FD                MOV     R5,A
+00307B 13                RRC     A
+00307C 13                RRC     A
+00307D 13                RRC     A
+00307E 541F              ANL     A,#01FH
+003080 FE                MOV     R6,A
+  269: 		tgpionum = 1 << (col[i] & 7);
+003081 ED                MOV     A,R5
+003082 5407              ANL     A,#07H
+003084 FD                MOV     R5,A
+003085 7401              MOV     A,#01H
+003087 A805              MOV     R0,AR5
+003089 08                INC     R0
+00308A 8002              SJMP    ?C0101?KEYSCAN
+00308C         ?C0100?KEYSCAN:
+00308C C3                CLR     C
+00308D 33                RLC     A
+00308E         ?C0101?KEYSCAN:
+00308E D8FC              DJNZ    R0,?C0100?KEYSCAN
+003090 FD                MOV     R5,A
+  270: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
+003091 EE                MOV     A,R6
+003092 2478              ADD     A,#078H
+003094 FB                MOV     R3,A
+003095 E4                CLR     A
+003096 3480              ADDC    A,#080H
+003098 8B82              MOV     DPL,R3
+00309A F583              MOV     DPH,A
+00309C E0                MOVX    A,@DPTR
+00309D FC                MOV     R4,A
+00309E ED                MOV     A,R5
+00309F F4                CPL     A
+0030A0 FB                MOV     R3,A
+0030A1 EC                MOV     A,R4
+0030A2 5B                ANL     A,R3
+0030A3 F0                MOVX    @DPTR,A
+0030A4 EE                MOV     A,R6
+0030A5 2470              ADD     A,#070H
+0030A7 F582              MOV     DPL,A
+0030A9 E4                CLR     A
+0030AA 3480              ADDC    A,#080H
+0030AC F583              MOV     DPH,A
+0030AE E0                MOVX    A,@DPTR
+0030AF 4D                ORL     A,R5
+0030B0 F0                MOVX    @DPTR,A
+0030B1 EE                MOV     A,R6
+0030B2 2474              ADD     A,#074H
+0030B4 F582              MOV     DPL,A
+0030B6 E4                CLR     A
+0030B7 3480              ADDC    A,#080H
+0030B9 F583              MOV     DPH,A
+0030BB E0                MOVX    A,@DPTR
+0030BC 5B                ANL     A,R3
+0030BD F0                MOVX    @DPTR,A
+0030BE 90811C            MOV     DPTR,#0811CH
+0030C1 E0                MOVX    A,@DPTR
+0030C2 F4                CPL     A
+0030C3 FC                MOV     R4,A
+0030C4 74A8              MOV     A,#LOW ksSelMapCheck
+0030C6 2F                ADD     A,R7
+0030C7 F582              MOV     DPL,A
+0030C9 E4                CLR     A
+0030CA 344D              ADDC    A,#HIGH ksSelMapCheck
+0030CC F583              MOV     DPH,A
+0030CE EC                MOV     A,R4
+0030CF F0                MOVX    @DPTR,A
+0030D0 EE                MOV     A,R6
+0030D1 2478              ADD     A,#078H
+0030D3 FB                MOV     R3,A
+0030D4 E4                CLR     A
+0030D5 3480              ADDC    A,#080H
+0030D7 8B82              MOV     DPL,R3
+0030D9 F583              MOV     DPH,A
+0030DB E0                MOVX    A,@DPTR
+0030DC 4D                ORL     A,R5
+0030DD F0                MOVX    @DPTR,A
+0030DE EE                MOV     A,R6
+0030DF 2470              ADD     A,#070H
+0030E1 FB                MOV     R3,A
+0030E2 E4                CLR     A
+0030E3 3480              ADDC    A,#080H
+0030E5 8B82              MOV     DPL,R3
+0030E7 F583              MOV     DPH,A
+0030E9 E0                MOVX    A,@DPTR
+0030EA FC                MOV     R4,A
+0030EB ED                MOV     A,R5
+0030EC F4                CPL     A
+0030ED FB                MOV     R3,A
+0030EE EC                MOV     A,R4
+0030EF 5B                ANL     A,R3
+0030F0 F0                MOVX    @DPTR,A
+  271: 	}
+0030F1 0F                INC     R7
+0030F2 0171              AJMP    ?C0046?KEYSCAN
+0030F4         ?C0047?KEYSCAN:
+  272: 
+  273: 	for (i=0; col[i]!=0; i++) {
+0030F4 E4                CLR     A
+0030F5 FF                MOV     R7,A
+0030F6         ?C0049?KEYSCAN:
+0030F6 EF                MOV     A,R7
+0030F7 900681            MOV     DPTR,#col
+0030FA 93                MOVC    A,@A+DPTR
+0030FB 6040              JZ      ?C0053?KEYSCAN
+  274: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
+0030FD 74BC              MOV     A,#LOW ksSelMapCurr
+0030FF 2F                ADD     A,R7
+003100 F582              MOV     DPL,A
+003102 E4                CLR     A
+003103 344D              ADDC    A,#HIGH ksSelMapCurr
+003105 F583              MOV     DPH,A
+003107 E0                MOVX    A,@DPTR
+003108 FE                MOV     R6,A
+003109 74A8              MOV     A,#LOW ksSelMapCheck
+00310B 2F                ADD     A,R7
+00310C F582              MOV     DPL,A
+00310E E4                CLR     A
+00310F 344D              ADDC    A,#HIGH ksSelMapCheck
+003111 F583              MOV     DPH,A
+003113 E0                MOVX    A,@DPTR
+003114 6E                XRL     A,R6
+003115 6023              JZ      ?C0051?KEYSCAN
+  275: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
+003117 74BC              MOV     A,#LOW ksSelMapCurr
+003119 2F                ADD     A,R7
+00311A F582              MOV     DPL,A
+00311C E4                CLR     A
+00311D 344D              ADDC    A,#HIGH ksSelMapCurr
+00311F F583              MOV     DPH,A
+003121 C083              PUSH    DPH
+003123 C082              PUSH    DPL
+003125 E0                MOVX    A,@DPTR
+003126 FE                MOV     R6,A
+003127 74A8              MOV     A,#LOW ksSelMapCheck
+003129 2F                ADD     A,R7
+00312A F582              MOV     DPL,A
+00312C E4                CLR     A
+00312D 344D              ADDC    A,#HIGH ksSelMapCheck
+00312F F583              MOV     DPH,A
+003131 E0                MOVX    A,@DPTR
+003132 FD                MOV     R5,A
+003133 EE                MOV     A,R6
+003134 5D                ANL     A,R5
+003135 D082              POP     DPL
+003137 D083              POP     DPH
+003139 F0                MOVX    @DPTR,A
+  276: 		}
+  277: 	}
+00313A         ?C0051?KEYSCAN:
+00313A 0F                INC     R7
+00313B 80B9              SJMP    ?C0049?KEYSCAN
+  278: }
+00313D         ?C0053?KEYSCAN:
+00313D 22                RET     
 ----- FUNCTION KS_ScanMatrix (END) -------
 
 
@@ -9579,28 +9548,28 @@
    44: {
    45: 	REG_IICD_SCL_LOW  =  0x0d;
    46:    	REG_IICD_SCL_HIGH  =  0x0e;
-003142 908091            MOV     DPTR,#08091H
-003145 740D              MOV     A,#0DH
-003147 F0                MOVX    @DPTR,A
+00313E 908091            MOV     DPTR,#08091H
+003141 740D              MOV     A,#0DH
+003143 F0                MOVX    @DPTR,A
    47:    	REG_IICD_START_SETUP  = 0x0e;
-003148 A3                INC     DPTR
-003149 04                INC     A
-00314A F0                MOVX    @DPTR,A
+003144 A3                INC     DPTR
+003145 04                INC     A
+003146 F0                MOVX    @DPTR,A
    48:    	REG_IICD_START_HOLD  = 0x0e;
-00314B A3                INC     DPTR
-00314C F0                MOVX    @DPTR,A
+003147 A3                INC     DPTR
+003148 F0                MOVX    @DPTR,A
    49:   	REG_IICD_STOP_SETUP  = 0x0e;
-00314D A3                INC     DPTR
-00314E F0                MOVX    @DPTR,A
+003149 A3                INC     DPTR
+00314A F0                MOVX    @DPTR,A
    50:    	REG_IICD_DATA_SETUP  = 0x0d;
-00314F A3                INC     DPTR
-003150 F0                MOVX    @DPTR,A
+00314B A3                INC     DPTR
+00314C F0                MOVX    @DPTR,A
    51: }
-003151 A3                INC     DPTR
-003152 14                DEC     A
-003153 F0                MOVX    @DPTR,A
+00314D A3                INC     DPTR
+00314E 14                DEC     A
+00314F F0                MOVX    @DPTR,A
    52: 
-003154 22                RET     
+003150 22                RET     
 ----- FUNCTION System_IIC_clk_setup (END) -------
 
 
@@ -9610,42 +9579,42 @@
    62: {
    63: 	System_clear_mem();
    64: 	YC_adc_init();
-003155 120B97            LCALL   System_clear_mem
+003151 120B97            LCALL   System_clear_mem
    65: 	g_variable.release_data =1;
-003158 318A              ACALL   YC_adc_init
+003154 3186              ACALL   YC_adc_init
    66: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-00315A 904CEB            MOV     DPTR,#g_variable+02CH
-00315D 7401              MOV     A,#01H
-00315F F0                MOVX    @DPTR,A
+003156 904CEB            MOV     DPTR,#g_variable+02CH
+003159 7401              MOV     A,#01H
+00315B F0                MOVX    @DPTR,A
    67: 	g_variable.recon_count = 0;
-003160 904CE5            MOV     DPTR,#g_variable+026H
-003163 741E              MOV     A,#01EH
-003165 F0                MOVX    @DPTR,A
+00315C 904CE5            MOV     DPTR,#g_variable+026H
+00315F 741E              MOV     A,#01EH
+003161 F0                MOVX    @DPTR,A
    68: 	g_variable.test_buff = 0xff;
-003166 E4                CLR     A
-003167 904CF0            MOV     DPTR,#g_variable+031H
-00316A F0                MOVX    @DPTR,A
+003162 E4                CLR     A
+003163 904CF0            MOV     DPTR,#g_variable+031H
+003166 F0                MOVX    @DPTR,A
    69: 	le_lap_temp[0] = m_le_lap[3];
-00316B 904D05            MOV     DPTR,#g_variable+046H
-00316E 74FF              MOV     A,#0FFH
-003170 F0                MOVX    @DPTR,A
+003167 904D05            MOV     DPTR,#g_variable+046H
+00316A 74FF              MOV     A,#0FFH
+00316C F0                MOVX    @DPTR,A
    70: 	le_lap_temp[1] = m_le_lap[4];
-003171 9044FC            MOV     DPTR,#m_le_lap+03H
-003174 E0                MOVX    A,@DPTR
-003175 904DD0            MOV     DPTR,#le_lap_temp
-003178 F0                MOVX    @DPTR,A
+00316D 9044FC            MOV     DPTR,#m_le_lap+03H
+003170 E0                MOVX    A,@DPTR
+003171 904DD0            MOV     DPTR,#le_lap_temp
+003174 F0                MOVX    @DPTR,A
    71: 	le_lap_temp[2] = m_le_lap[5];
-003179 9044FD            MOV     DPTR,#m_le_lap+04H
-00317C E0                MOVX    A,@DPTR
-00317D 904DD1            MOV     DPTR,#le_lap_temp+01H
-003180 F0                MOVX    @DPTR,A
+003175 9044FD            MOV     DPTR,#m_le_lap+04H
+003178 E0                MOVX    A,@DPTR
+003179 904DD1            MOV     DPTR,#le_lap_temp+01H
+00317C F0                MOVX    @DPTR,A
    72: }
-003181 9044FE            MOV     DPTR,#m_le_lap+05H
-003184 E0                MOVX    A,@DPTR
-003185 904DD2            MOV     DPTR,#le_lap_temp+02H
-003188 F0                MOVX    @DPTR,A
+00317D 9044FE            MOV     DPTR,#m_le_lap+05H
+003180 E0                MOVX    A,@DPTR
+003181 904DD2            MOV     DPTR,#le_lap_temp+02H
+003184 F0                MOVX    @DPTR,A
    73: 
-003189 22                RET     
+003185 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -9657,13 +9626,13 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-00318A 904CD3            MOV     DPTR,#g_variable+014H
-00318D 7405              MOV     A,#05H
-00318F F0                MOVX    @DPTR,A
+003186 904CD3            MOV     DPTR,#g_variable+014H
+003189 7405              MOV     A,#05H
+00318B F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-003190 E4                CLR     A
-003191 A3                INC     DPTR
-003192 F0                MOVX    @DPTR,A
+00318C E4                CLR     A
+00318D A3                INC     DPTR
+00318E F0                MOVX    @DPTR,A
    10: 
    11: #ifdef ADC_TYPE_HVIN 	
    12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -9685,177 +9654,177 @@
    28: #endif
    29: #ifdef ADC_TYPE_GPIO
    30: 	m_adc_channel = ADC_CHANNEL;
-003193 904C90            MOV     DPTR,#m_adc_channel
-003196 7433              MOV     A,#033H
-003198 F0                MOVX    @DPTR,A
+00318F 904C90            MOV     DPTR,#m_adc_channel
+003192 7433              MOV     A,#033H
+003194 F0                MOVX    @DPTR,A
    31: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-003199 E4                CLR     A
-00319A FF                MOV     R7,A
-00319B         ?C0001?ADC:
+003195 E4                CLR     A
+003196 FF                MOV     R7,A
+003197         ?C0001?ADC:
    32: 	{
    33: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE_GPIO;
-00319B EF                MOV     A,R7
-00319C 25E0              ADD     A,ACC
-00319E 24D6              ADD     A,#LOW g_variable+017H
-0031A0 F582              MOV     DPL,A
-0031A2 E4                CLR     A
-0031A3 344C              ADDC    A,#HIGH g_variable+017H
-0031A5 F583              MOV     DPH,A
-0031A7 7462              MOV     A,#062H
-0031A9 F0                MOVX    @DPTR,A
-0031AA A3                INC     DPTR
-0031AB F0                MOVX    @DPTR,A
+003197 EF                MOV     A,R7
+003198 25E0              ADD     A,ACC
+00319A 24D6              ADD     A,#LOW g_variable+017H
+00319C F582              MOV     DPL,A
+00319E E4                CLR     A
+00319F 344C              ADDC    A,#HIGH g_variable+017H
+0031A1 F583              MOV     DPH,A
+0031A3 7462              MOV     A,#062H
+0031A5 F0                MOVX    @DPTR,A
+0031A6 A3                INC     DPTR
+0031A7 F0                MOVX    @DPTR,A
    34: 	}
-0031AC 0F                INC     R7
-0031AD EF                MOV     A,R7
-0031AE B404EA            CJNE    A,#04H,?C0001?ADC
-0031B1         ?C0002?ADC:
+0031A8 0F                INC     R7
+0031A9 EF                MOV     A,R7
+0031AA B404EA            CJNE    A,#04H,?C0001?ADC
+0031AD         ?C0002?ADC:
    35: 	g_variable.battery_level_full = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V5+m_adc0vBase;
-0031B1 904C91            MOV     DPTR,#m_adc0vBase
-0031B4 E0                MOVX    A,@DPTR
-0031B5 FE                MOV     R6,A
-0031B6 A3                INC     DPTR
-0031B7 E0                MOVX    A,@DPTR
-0031B8 FF                MOV     R7,A
-0031B9 C3                CLR     C
-0031BA 904C94            MOV     DPTR,#m_adc3vValue+01H
-0031BD E0                MOVX    A,@DPTR
-0031BE 9F                SUBB    A,R7
-0031BF FD                MOV     R5,A
-0031C0 904C93            MOV     DPTR,#m_adc3vValue
-0031C3 E0                MOVX    A,@DPTR
-0031C4 9E                SUBB    A,R6
-0031C5 FC                MOV     R4,A
-0031C6 E4                CLR     A
-0031C7 120206            LCALL   ?C?FCASTI
-0031CA 7BF6              MOV     R3,#0F6H
-0031CC 7A28              MOV     R2,#028H
-0031CE 791C              MOV     R1,#01CH
-0031D0 783F              MOV     R0,#03FH
-0031D2 1200FB            LCALL   ?C?FPMUL
-0031D5 C004              PUSH    AR4
-0031D7 C005              PUSH    AR5
-0031D9 C006              PUSH    AR6
-0031DB C007              PUSH    AR7
-0031DD 904C91            MOV     DPTR,#m_adc0vBase
-0031E0 E0                MOVX    A,@DPTR
-0031E1 FC                MOV     R4,A
-0031E2 A3                INC     DPTR
-0031E3 E0                MOVX    A,@DPTR
-0031E4 FD                MOV     R5,A
-0031E5 E4                CLR     A
-0031E6 120206            LCALL   ?C?FCASTI
-0031E9 D003              POP     AR3
-0031EB D002              POP     AR2
-0031ED D001              POP     AR1
-0031EF D000              POP     AR0
-0031F1 12000A            LCALL   ?C?FPADD
-0031F4 12023F            LCALL   ?C?CASTF
-0031F7 904CFA            MOV     DPTR,#g_variable+03BH
-0031FA EE                MOV     A,R6
-0031FB F0                MOVX    @DPTR,A
-0031FC A3                INC     DPTR
-0031FD EF                MOV     A,R7
-0031FE F0                MOVX    @DPTR,A
+0031AD 904C91            MOV     DPTR,#m_adc0vBase
+0031B0 E0                MOVX    A,@DPTR
+0031B1 FE                MOV     R6,A
+0031B2 A3                INC     DPTR
+0031B3 E0                MOVX    A,@DPTR
+0031B4 FF                MOV     R7,A
+0031B5 C3                CLR     C
+0031B6 904C94            MOV     DPTR,#m_adc3vValue+01H
+0031B9 E0                MOVX    A,@DPTR
+0031BA 9F                SUBB    A,R7
+0031BB FD                MOV     R5,A
+0031BC 904C93            MOV     DPTR,#m_adc3vValue
+0031BF E0                MOVX    A,@DPTR
+0031C0 9E                SUBB    A,R6
+0031C1 FC                MOV     R4,A
+0031C2 E4                CLR     A
+0031C3 120206            LCALL   ?C?FCASTI
+0031C6 7BF6              MOV     R3,#0F6H
+0031C8 7A28              MOV     R2,#028H
+0031CA 791C              MOV     R1,#01CH
+0031CC 783F              MOV     R0,#03FH
+0031CE 1200FB            LCALL   ?C?FPMUL
+0031D1 C004              PUSH    AR4
+0031D3 C005              PUSH    AR5
+0031D5 C006              PUSH    AR6
+0031D7 C007              PUSH    AR7
+0031D9 904C91            MOV     DPTR,#m_adc0vBase
+0031DC E0                MOVX    A,@DPTR
+0031DD FC                MOV     R4,A
+0031DE A3                INC     DPTR
+0031DF E0                MOVX    A,@DPTR
+0031E0 FD                MOV     R5,A
+0031E1 E4                CLR     A
+0031E2 120206            LCALL   ?C?FCASTI
+0031E5 D003              POP     AR3
+0031E7 D002              POP     AR2
+0031E9 D001              POP     AR1
+0031EB D000              POP     AR0
+0031ED 12000A            LCALL   ?C?FPADD
+0031F0 12023F            LCALL   ?C?CASTF
+0031F3 904CFA            MOV     DPTR,#g_variable+03BH
+0031F6 EE                MOV     A,R6
+0031F7 F0                MOVX    @DPTR,A
+0031F8 A3                INC     DPTR
+0031F9 EF                MOV     A,R7
+0031FA F0                MOVX    @DPTR,A
    36: 	g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V1+m_adc0vBase;
-0031FF 904C91            MOV     DPTR,#m_adc0vBase
-003202 E0                MOVX    A,@DPTR
-003203 FE                MOV     R6,A
-003204 A3                INC     DPTR
-003205 E0                MOVX    A,@DPTR
-003206 FF                MOV     R7,A
-003207 C3                CLR     C
-003208 904C94            MOV     DPTR,#m_adc3vValue+01H
-00320B E0                MOVX    A,@DPTR
-00320C 9F                SUBB    A,R7
-00320D FD                MOV     R5,A
-00320E 904C93            MOV     DPTR,#m_adc3vValue
-003211 E0                MOVX    A,@DPTR
-003212 9E                SUBB    A,R6
-003213 FC                MOV     R4,A
-003214 E4                CLR     A
-003215 120206            LCALL   ?C?FCASTI
-003218 7BC3              MOV     R3,#0C3H
-00321A 7AF5              MOV     R2,#0F5H
-00321C 79A8              MOV     R1,#0A8H
-00321E 783E              MOV     R0,#03EH
-003220 1200FB            LCALL   ?C?FPMUL
-003223 C004              PUSH    AR4
-003225 C005              PUSH    AR5
-003227 C006              PUSH    AR6
-003229 C007              PUSH    AR7
-00322B 904C91            MOV     DPTR,#m_adc0vBase
-00322E E0                MOVX    A,@DPTR
-00322F FC                MOV     R4,A
-003230 A3                INC     DPTR
-003231 E0                MOVX    A,@DPTR
-003232 FD                MOV     R5,A
-003233 E4                CLR     A
-003234 120206            LCALL   ?C?FCASTI
-003237 D003              POP     AR3
-003239 D002              POP     AR2
-00323B D001              POP     AR1
-00323D D000              POP     AR0
-00323F 12000A            LCALL   ?C?FPADD
-003242 12023F            LCALL   ?C?CASTF
-003245 904CDE            MOV     DPTR,#g_variable+01FH
-003248 EE                MOV     A,R6
-003249 F0                MOVX    @DPTR,A
-00324A A3                INC     DPTR
-00324B EF                MOV     A,R7
-00324C F0                MOVX    @DPTR,A
+0031FB 904C91            MOV     DPTR,#m_adc0vBase
+0031FE E0                MOVX    A,@DPTR
+0031FF FE                MOV     R6,A
+003200 A3                INC     DPTR
+003201 E0                MOVX    A,@DPTR
+003202 FF                MOV     R7,A
+003203 C3                CLR     C
+003204 904C94            MOV     DPTR,#m_adc3vValue+01H
+003207 E0                MOVX    A,@DPTR
+003208 9F                SUBB    A,R7
+003209 FD                MOV     R5,A
+00320A 904C93            MOV     DPTR,#m_adc3vValue
+00320D E0                MOVX    A,@DPTR
+00320E 9E                SUBB    A,R6
+00320F FC                MOV     R4,A
+003210 E4                CLR     A
+003211 120206            LCALL   ?C?FCASTI
+003214 7BC3              MOV     R3,#0C3H
+003216 7AF5              MOV     R2,#0F5H
+003218 79A8              MOV     R1,#0A8H
+00321A 783E              MOV     R0,#03EH
+00321C 1200FB            LCALL   ?C?FPMUL
+00321F C004              PUSH    AR4
+003221 C005              PUSH    AR5
+003223 C006              PUSH    AR6
+003225 C007              PUSH    AR7
+003227 904C91            MOV     DPTR,#m_adc0vBase
+00322A E0                MOVX    A,@DPTR
+00322B FC                MOV     R4,A
+00322C A3                INC     DPTR
+00322D E0                MOVX    A,@DPTR
+00322E FD                MOV     R5,A
+00322F E4                CLR     A
+003230 120206            LCALL   ?C?FCASTI
+003233 D003              POP     AR3
+003235 D002              POP     AR2
+003237 D001              POP     AR1
+003239 D000              POP     AR0
+00323B 12000A            LCALL   ?C?FPADD
+00323E 12023F            LCALL   ?C?CASTF
+003241 904CDE            MOV     DPTR,#g_variable+01FH
+003244 EE                MOV     A,R6
+003245 F0                MOVX    @DPTR,A
+003246 A3                INC     DPTR
+003247 EF                MOV     A,R7
+003248 F0                MOVX    @DPTR,A
    37: 	g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_0V9+m_adc0vBase;
-00324D 904C91            MOV     DPTR,#m_adc0vBase
-003250 E0                MOVX    A,@DPTR
-003251 FE                MOV     R6,A
-003252 A3                INC     DPTR
-003253 E0                MOVX    A,@DPTR
-003254 FF                MOV     R7,A
-003255 C3                CLR     C
-003256 904C94            MOV     DPTR,#m_adc3vValue+01H
-003259 E0                MOVX    A,@DPTR
-00325A 9F                SUBB    A,R7
-00325B FD                MOV     R5,A
-00325C 904C93            MOV     DPTR,#m_adc3vValue
-00325F E0                MOVX    A,@DPTR
-003260 9E                SUBB    A,R6
-003261 FC                MOV     R4,A
-003262 E4                CLR     A
-003263 120206            LCALL   ?C?FCASTI
-003266 7B5C              MOV     R3,#05CH
-003268 7A8F              MOV     R2,#08FH
-00326A 7942              MOV     R1,#042H
-00326C 783E              MOV     R0,#03EH
-00326E 1200FB            LCALL   ?C?FPMUL
-003271 C004              PUSH    AR4
-003273 C005              PUSH    AR5
-003275 C006              PUSH    AR6
-003277 C007              PUSH    AR7
-003279 904C91            MOV     DPTR,#m_adc0vBase
-00327C E0                MOVX    A,@DPTR
-00327D FC                MOV     R4,A
-00327E A3                INC     DPTR
-00327F E0                MOVX    A,@DPTR
-003280 FD                MOV     R5,A
-003281 E4                CLR     A
-003282 120206            LCALL   ?C?FCASTI
-003285 D003              POP     AR3
-003287 D002              POP     AR2
-003289 D001              POP     AR1
-00328B D000              POP     AR0
-00328D 12000A            LCALL   ?C?FPADD
-003290 12023F            LCALL   ?C?CASTF
-003293 904CE0            MOV     DPTR,#g_variable+021H
-003296 EE                MOV     A,R6
-003297 F0                MOVX    @DPTR,A
-003298 A3                INC     DPTR
-003299 EF                MOV     A,R7
-00329A F0                MOVX    @DPTR,A
+003249 904C91            MOV     DPTR,#m_adc0vBase
+00324C E0                MOVX    A,@DPTR
+00324D FE                MOV     R6,A
+00324E A3                INC     DPTR
+00324F E0                MOVX    A,@DPTR
+003250 FF                MOV     R7,A
+003251 C3                CLR     C
+003252 904C94            MOV     DPTR,#m_adc3vValue+01H
+003255 E0                MOVX    A,@DPTR
+003256 9F                SUBB    A,R7
+003257 FD                MOV     R5,A
+003258 904C93            MOV     DPTR,#m_adc3vValue
+00325B E0                MOVX    A,@DPTR
+00325C 9E                SUBB    A,R6
+00325D FC                MOV     R4,A
+00325E E4                CLR     A
+00325F 120206            LCALL   ?C?FCASTI
+003262 7B5C              MOV     R3,#05CH
+003264 7A8F              MOV     R2,#08FH
+003266 7942              MOV     R1,#042H
+003268 783E              MOV     R0,#03EH
+00326A 1200FB            LCALL   ?C?FPMUL
+00326D C004              PUSH    AR4
+00326F C005              PUSH    AR5
+003271 C006              PUSH    AR6
+003273 C007              PUSH    AR7
+003275 904C91            MOV     DPTR,#m_adc0vBase
+003278 E0                MOVX    A,@DPTR
+003279 FC                MOV     R4,A
+00327A A3                INC     DPTR
+00327B E0                MOVX    A,@DPTR
+00327C FD                MOV     R5,A
+00327D E4                CLR     A
+00327E 120206            LCALL   ?C?FCASTI
+003281 D003              POP     AR3
+003283 D002              POP     AR2
+003285 D001              POP     AR1
+003287 D000              POP     AR0
+003289 12000A            LCALL   ?C?FPADD
+00328C 12023F            LCALL   ?C?CASTF
+00328F 904CE0            MOV     DPTR,#g_variable+021H
+003292 EE                MOV     A,R6
+003293 F0                MOVX    @DPTR,A
+003294 A3                INC     DPTR
+003295 EF                MOV     A,R7
+003296 F0                MOVX    @DPTR,A
    38: #endif	
    39: #endif
    40: }
-00329B 22                RET     
+003297 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -9863,731 +9832,790 @@
  FILE: 'sys.c'
   114: static void kb_cb_Hid(byte *p,byte len) {
   115: 	//p[0] is hid type,always is 1(kb) now
-00329C 904EFB            MOV     DPTR,#len
-00329F ED                MOV     A,R5
-0032A0 F0                MOVX    @DPTR,A
+003298 904EFB            MOV     DPTR,#len
+00329B ED                MOV     A,R5
+00329C F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
   116: 	byte temp = p[1];
-0032A1 900001            MOV     DPTR,#01H
-0032A4 1203CF            LCALL   ?C?CLDOPTR
-0032A7 904EFC            MOV     DPTR,#temp
-0032AA F0                MOVX    @DPTR,A
+00329D 900001            MOV     DPTR,#01H
+0032A0 1203CF            LCALL   ?C?CLDOPTR
+0032A3 904EFC            MOV     DPTR,#temp
+0032A6 F0                MOVX    @DPTR,A
   117: 
   118: 	if (len<2) {
   119: 		return;
   120: 	}
   121: }
-0032AB 22                RET     
+0032A7 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
 ----- FUNCTION kb_cb_Timer100ms (BEGIN) -----
  FILE: 'sys.c'
-  689: static void kb_cb_Timer100ms()
-  690: {
-  691: 
-  692: 	if (g_variable.delay_enter_lpm_timer) 
-0032AC 904CEA            MOV     DPTR,#g_variable+02BH
-0032AF E0                MOVX    A,@DPTR
-0032B0 6002              JZ      ?C0132?SYS
-  693: 	{
-  694: 		g_variable.delay_enter_lpm_timer --;
-0032B2 14                DEC     A
-0032B3 F0                MOVX    @DPTR,A
-  695: 	}
-0032B4         ?C0132?SYS:
-  696: 
-  697: 	if(g_variable.recon_delay)
-0032B4 904CEF            MOV     DPTR,#g_variable+030H
-0032B7 E0                MOVX    A,@DPTR
-0032B8 6002              JZ      ?C0133?SYS
-  698: 		g_variable.recon_delay--;
-0032BA 14                DEC     A
-0032BB F0                MOVX    @DPTR,A
-0032BC         ?C0133?SYS:
+  692: static void kb_cb_Timer100ms()
+  693: {
+  694: 
+  695: 	if (g_variable.delay_enter_lpm_timer) 
+0032A8 904CEA            MOV     DPTR,#g_variable+02BH
+0032AB E0                MOVX    A,@DPTR
+0032AC 6002              JZ      ?C0132?SYS
+  696: 	{
+  697: 		g_variable.delay_enter_lpm_timer --;
+0032AE 14                DEC     A
+0032AF F0                MOVX    @DPTR,A
+  698: 	}
+0032B0         ?C0132?SYS:
   699: 
-  700: 	if(g_variable.one_key_press_wait_release_timer)
-0032BC 904CF8            MOV     DPTR,#g_variable+039H
-0032BF E0                MOVX    A,@DPTR
-0032C0 600B              JZ      ?C0134?SYS
-  701: 	{
-  702: 		g_variable.one_key_press_wait_release_timer--;
-0032C2 14                DEC     A
-0032C3 F0                MOVX    @DPTR,A
-  703: 		if(!g_variable.one_key_press_wait_release_timer)
-0032C4 E0                MOVX    A,@DPTR
-0032C5 7006              JNZ     ?C0134?SYS
-  704: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
-0032C7 904CF4            MOV     DPTR,#g_variable+035H
-0032CA 7406              MOV     A,#06H
-0032CC F0                MOVX    @DPTR,A
-  705: 	}
-0032CD         ?C0134?SYS:
-  706: 	
-  707: 	if (g_variable.powerOn_timer != 0)
-0032CD 904CE5            MOV     DPTR,#g_variable+026H
-0032D0 E0                MOVX    A,@DPTR
-0032D1 6020              JZ      ?C0136?SYS
-  708: 	{	
-  709: 		if(g_variable.pairing_g24_timeout)
-0032D3 904CEE            MOV     DPTR,#g_variable+02FH
-0032D6 E0                MOVX    A,@DPTR
-0032D7 6006              JZ      ?C0137?SYS
-  710: 		{
-  711: 			g_variable.powerOn_timer = 0;
-0032D9 E4                CLR     A
-0032DA 904CE5            MOV     DPTR,#g_variable+026H
-0032DD F0                MOVX    @DPTR,A
-0032DE 22                RET     
-  712: 			return;
-  713: 		}
-0032DF         ?C0137?SYS:
-  714: 			
-  715: 		g_variable.powerOn_timer--;
-0032DF 904CE5            MOV     DPTR,#g_variable+026H
-0032E2 E0                MOVX    A,@DPTR
-0032E3 14                DEC     A
-0032E4 F0                MOVX    @DPTR,A
-  716: 		LED_device_poweron();
-0032E5 121727            LCALL   LED_device_poweron
-  717: 		if (!g_variable.powerOn_timer)
-0032E8 904CE5            MOV     DPTR,#g_variable+026H
-0032EB E0                MOVX    A,@DPTR
-0032EC 7046              JNZ     ?C0140?SYS
-  718: 		{
-  719: 			LED_device_poweroff();
-0032EE 121760            LCALL   LED_device_poweroff
-  720: 		}
-  721: 	}
-0032F1 8041              SJMP    ?C0140?SYS
-0032F3         ?C0136?SYS:
-  722: 	else	if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
-0032F3 904CE9            MOV     DPTR,#g_variable+02AH
-0032F6 E0                MOVX    A,@DPTR
-0032F7 703B              JNZ     ?C0140?SYS
-0032F9 904CEE            MOV     DPTR,#g_variable+02FH
-0032FC E0                MOVX    A,@DPTR
-0032FD 7035              JNZ     ?C0140?SYS
-  723: 	{
-  724: 		if(g_variable.battery_low_led_flash_interval)
-0032FF 904CE2            MOV     DPTR,#g_variable+023H
-003302 E0                MOVX    A,@DPTR
-003303 602F              JZ      ?C0140?SYS
-  725: 		{
-  726: 			g_variable.battery_low_led_flash_interval--;
-003305 14                DEC     A
-003306 F0                MOVX    @DPTR,A
-  727: 			if(g_variable.battery_low_led_flash_interval < 8)
-003307 E0                MOVX    A,@DPTR
-003308 FF                MOV     R7,A
-003309 C3                CLR     C
-00330A 9408              SUBB    A,#08H
-00330C 5016              JNC     ?C0143?SYS
-  728: 			{
-  729: 				if(g_variable.battery_low_led_flash_interval & 0x02)
-00330E EF                MOV     A,R7
-00330F 30E109            JNB     ACC.1,?C0144?SYS
-  730: 				{
-  731: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-003312 C201              CLR     ?_GPIO_Setout?BIT
-003314 7F1D              MOV     R7,#01DH
-003316 12123E            LCALL   _GPIO_Setout
-  732: 				}
-003319 8010              SJMP    ?C0146?SYS
-00331B         ?C0144?SYS:
-  733: 				else
-  734: 				{
-  735: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
-00331B D201              SETB    ?_GPIO_Setout?BIT
-00331D 7F1D              MOV     R7,#01DH
-00331F 12123E            LCALL   _GPIO_Setout
-  736: 				}	
-  737: 			}
-003322 8007              SJMP    ?C0146?SYS
-003324         ?C0143?SYS:
-  738: 			else
-  739: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-003324 D201              SETB    ?_GPIO_Setout?BIT
-003326 7F1D              MOV     R7,#01DH
-003328 12123E            LCALL   _GPIO_Setout
-00332B         ?C0146?SYS:
-  740: 			if(!g_variable.battery_low_led_flash_interval)
-00332B 904CE2            MOV     DPTR,#g_variable+023H
-00332E E0                MOVX    A,@DPTR
-00332F 7003              JNZ     ?C0140?SYS
-  741: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-003331 7418              MOV     A,#018H
-003333 F0                MOVX    @DPTR,A
-  742: 		}
-  743: 	}
-003334         ?C0140?SYS:
-  744: 	
-  745: // The dongle must receive data within 200ms, otherwise it will be forced to lift
-  746: 	if(!long_press_flag)
-003334 904DDC            MOV     DPTR,#long_press_flag
-003337 E0                MOVX    A,@DPTR
-003338 7036              JNZ     ?C0148?SYS
-  747: 	{
-  748: 		if (repeat_send_24g == 1)
-00333A 904DDD            MOV     DPTR,#repeat_send_24g
-00333D E0                MOVX    A,@DPTR
-00333E 6401              XRL     A,#01H
-003340 702E              JNZ     ?C0148?SYS
-  749: 		{
-  750: 			g_variable.sleepTimer = 0;	
-003342 904CE3            MOV     DPTR,#g_variable+024H
-003345 F0                MOVX    @DPTR,A
-003346 A3                INC     DPTR
+  700: 	if(g_variable.recon_delay)
+0032B0 904CEF            MOV     DPTR,#g_variable+030H
+0032B3 E0                MOVX    A,@DPTR
+0032B4 6002              JZ      ?C0133?SYS
+  701: 		g_variable.recon_delay--;
+0032B6 14                DEC     A
+0032B7 F0                MOVX    @DPTR,A
+0032B8         ?C0133?SYS:
+  702: 
+  703: 	if(g_variable.one_key_press_wait_release_timer)
+0032B8 904CF8            MOV     DPTR,#g_variable+039H
+0032BB E0                MOVX    A,@DPTR
+0032BC 600B              JZ      ?C0134?SYS
+  704: 	{
+  705: 		g_variable.one_key_press_wait_release_timer--;
+0032BE 14                DEC     A
+0032BF F0                MOVX    @DPTR,A
+  706: 		if(!g_variable.one_key_press_wait_release_timer)
+0032C0 E0                MOVX    A,@DPTR
+0032C1 7006              JNZ     ?C0134?SYS
+  707: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
+0032C3 904CF4            MOV     DPTR,#g_variable+035H
+0032C6 7406              MOV     A,#06H
+0032C8 F0                MOVX    @DPTR,A
+  708: 	}
+0032C9         ?C0134?SYS:
+  709: 	
+  710: 	if (g_variable.powerOn_timer != 0)
+0032C9 904CE5            MOV     DPTR,#g_variable+026H
+0032CC E0                MOVX    A,@DPTR
+0032CD 6020              JZ      ?C0136?SYS
+  711: 	{	
+  712: 		if(g_variable.pairing_g24_timeout)
+0032CF 904CEE            MOV     DPTR,#g_variable+02FH
+0032D2 E0                MOVX    A,@DPTR
+0032D3 6006              JZ      ?C0137?SYS
+  713: 		{
+  714: 			g_variable.powerOn_timer = 0;
+0032D5 E4                CLR     A
+0032D6 904CE5            MOV     DPTR,#g_variable+026H
+0032D9 F0                MOVX    @DPTR,A
+0032DA 22                RET     
+  715: 			return;
+  716: 		}
+0032DB         ?C0137?SYS:
+  717: 			
+  718: 		g_variable.powerOn_timer--;
+0032DB 904CE5            MOV     DPTR,#g_variable+026H
+0032DE E0                MOVX    A,@DPTR
+0032DF 14                DEC     A
+0032E0 F0                MOVX    @DPTR,A
+  719: 		LED_device_poweron();
+0032E1 121745            LCALL   LED_device_poweron
+  720: 		if (!g_variable.powerOn_timer)
+0032E4 904CE5            MOV     DPTR,#g_variable+026H
+0032E7 E0                MOVX    A,@DPTR
+0032E8 7046              JNZ     ?C0140?SYS
+  721: 		{
+  722: 			LED_device_poweroff();
+0032EA 12177E            LCALL   LED_device_poweroff
+  723: 		}
+  724: 	}
+0032ED 8041              SJMP    ?C0140?SYS
+0032EF         ?C0136?SYS:
+  725: 	else	if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
+0032EF 904CE9            MOV     DPTR,#g_variable+02AH
+0032F2 E0                MOVX    A,@DPTR
+0032F3 703B              JNZ     ?C0140?SYS
+0032F5 904CEE            MOV     DPTR,#g_variable+02FH
+0032F8 E0                MOVX    A,@DPTR
+0032F9 7035              JNZ     ?C0140?SYS
+  726: 	{
+  727: 		if(g_variable.battery_low_led_flash_interval)
+0032FB 904CE2            MOV     DPTR,#g_variable+023H
+0032FE E0                MOVX    A,@DPTR
+0032FF 602F              JZ      ?C0140?SYS
+  728: 		{
+  729: 			g_variable.battery_low_led_flash_interval--;
+003301 14                DEC     A
+003302 F0                MOVX    @DPTR,A
+  730: 			if(g_variable.battery_low_led_flash_interval < 8)
+003303 E0                MOVX    A,@DPTR
+003304 FF                MOV     R7,A
+003305 C3                CLR     C
+003306 9408              SUBB    A,#08H
+003308 5016              JNC     ?C0143?SYS
+  731: 			{
+  732: 				if(g_variable.battery_low_led_flash_interval & 0x02)
+00330A EF                MOV     A,R7
+00330B 30E109            JNB     ACC.1,?C0144?SYS
+  733: 				{
+  734: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
+00330E C201              CLR     ?_GPIO_Setout?BIT
+003310 7F1D              MOV     R7,#01DH
+003312 121268            LCALL   _GPIO_Setout
+  735: 				}
+003315 8010              SJMP    ?C0146?SYS
+003317         ?C0144?SYS:
+  736: 				else
+  737: 				{
+  738: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
+003317 D201              SETB    ?_GPIO_Setout?BIT
+003319 7F1D              MOV     R7,#01DH
+00331B 121268            LCALL   _GPIO_Setout
+  739: 				}	
+  740: 			}
+00331E 8007              SJMP    ?C0146?SYS
+003320         ?C0143?SYS:
+  741: 			else
+  742: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
+003320 D201              SETB    ?_GPIO_Setout?BIT
+003322 7F1D              MOV     R7,#01DH
+003324 121268            LCALL   _GPIO_Setout
+003327         ?C0146?SYS:
+  743: 			if(!g_variable.battery_low_led_flash_interval)
+003327 904CE2            MOV     DPTR,#g_variable+023H
+00332A E0                MOVX    A,@DPTR
+00332B 7003              JNZ     ?C0140?SYS
+  744: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
+00332D 7418              MOV     A,#018H
+00332F F0                MOVX    @DPTR,A
+  745: 		}
+  746: 	}
+003330         ?C0140?SYS:
+  747: 	
+  748: // The dongle must receive data within 200ms, otherwise it will be forced to lift
+  749: 	if(!long_press_flag)
+003330 904DDC            MOV     DPTR,#long_press_flag
+003333 E0                MOVX    A,@DPTR
+003334 7036              JNZ     ?C0148?SYS
+  750: 	{
+  751: 		if (repeat_send_24g == 1)
+003336 904DDD            MOV     DPTR,#repeat_send_24g
+003339 E0                MOVX    A,@DPTR
+00333A 6401              XRL     A,#01H
+00333C 702E              JNZ     ?C0148?SYS
+  752: 		{
+  753: 			g_variable.sleepTimer = 0;	
+00333E 904CE3            MOV     DPTR,#g_variable+024H
+003341 F0                MOVX    @DPTR,A
+003342 A3                INC     DPTR
+003343 F0                MOVX    @DPTR,A
+  754: 			repeat_send_24g = 0;
+003344 904DDD            MOV     DPTR,#repeat_send_24g
 003347 F0                MOVX    @DPTR,A
-  751: 			repeat_send_24g = 0;
-003348 904DDD            MOV     DPTR,#repeat_send_24g
-00334B F0                MOVX    @DPTR,A
-  752: 
-  753: 			 if (multikey[0] != 0)
-00334C 904E4C            MOV     DPTR,#multikey
-00334F E0                MOVX    A,@DPTR
-003350 600D              JZ      ?C0150?SYS
-  754: 			{
-  755: 				IPC_TxHidData(multikey, 3);
-003352 7B01              MOV     R3,#01H
-003354 7A4E              MOV     R2,#HIGH multikey
-003356 794C              MOV     R1,#LOW multikey
-003358 7D03              MOV     R5,#03H
-00335A 120C30            LCALL   _IPC_TxHidData
-  756: 			}
-00335D 8011              SJMP    ?C0148?SYS
-00335F         ?C0150?SYS:
-  757: 			else if (hidBuff[0] != 0)
-00335F 904800            MOV     DPTR,#hidBuff
-003362 E0                MOVX    A,@DPTR
-003363 600B              JZ      ?C0148?SYS
-  758: 			{
-  759: 
-  760: 				IPC_TxHidData(hidBuff,9);
-003365 7B01              MOV     R3,#01H
-003367 7A48              MOV     R2,#HIGH hidBuff
-003369 7900              MOV     R1,#LOW hidBuff
-00336B 7D09              MOV     R5,#09H
-00336D 120C30            LCALL   _IPC_TxHidData
-  761: 			}
-  762: 		}
-  763: 	}
-003370         ?C0148?SYS:
-  764: 
-  765: 
-  766: // ble delay send secutiry request
-  767: 	if(ble_send_secutiry_request_timer)
-003370 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
-003373 E0                MOVX    A,@DPTR
-003374 6011              JZ      ?C0153?SYS
-  768: 	{
-  769: 		ble_send_secutiry_request_timer--;
-003376 E0                MOVX    A,@DPTR
-003377 14                DEC     A
-003378 F0                MOVX    @DPTR,A
-  770: 		if(!ble_send_secutiry_request_timer)
-003379 E0                MOVX    A,@DPTR
-00337A 700B              JNZ     ?C0153?SYS
-  771: 		{
-  772: 			if(!m_le_send_security_request_flag)
-00337C 904D3D            MOV     DPTR,#m_le_send_security_request_flag
-00337F E0                MOVX    A,@DPTR
-003380 7005              JNZ     ?C0153?SYS
-  773: 			{
-  774: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
-003382 7F1B              MOV     R7,#01BH
-003384 120ECA            LCALL   _IPC_TxControlCmd
-  775: 			}
-  776: 		}
-  777: 	}
-003387         ?C0153?SYS:
-  778: 
-  779: 	if (delayChgInvTimer != 0){
-003387 904DE6            MOV     DPTR,#delayChgInvTimer
-00338A E0                MOVX    A,@DPTR
-00338B 6013              JZ      ?C0138?SYS
-  780: 		delayChgInvTimer--;
-00338D E0                MOVX    A,@DPTR
-00338E 14                DEC     A
-00338F F0                MOVX    @DPTR,A
-  781: 		if (delayChgInvTimer == 0)
-003390 E0                MOVX    A,@DPTR
-003391 700D              JNZ     ?C0138?SYS
-  782: 		{
-  783: 
-  784: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-003393 904CC7            MOV     DPTR,#g_variable+08H
-003396 E0                MOVX    A,@DPTR
-003397 B40406            CJNE    A,#04H,?C0138?SYS
-  785: 			{
-  786: 				kscurrmult = 0x0c;
-00339A 904213            MOV     DPTR,#kscurrmult
-00339D 740C              MOV     A,#0CH
-00339F F0                MOVX    @DPTR,A
-  787: 			}
-  788: 		}
-  789: 	}
-  790: }
-0033A0         ?C0138?SYS:
-0033A0 22                RET     
+  755: 
+  756: 			 if (multikey[0] != 0)
+003348 904E4C            MOV     DPTR,#multikey
+00334B E0                MOVX    A,@DPTR
+00334C 600D              JZ      ?C0150?SYS
+  757: 			{
+  758: 				IPC_TxHidData(multikey, 3);
+00334E 7B01              MOV     R3,#01H
+003350 7A4E              MOV     R2,#HIGH multikey
+003352 794C              MOV     R1,#LOW multikey
+003354 7D03              MOV     R5,#03H
+003356 120C30            LCALL   _IPC_TxHidData
+  759: 			}
+003359 8011              SJMP    ?C0148?SYS
+00335B         ?C0150?SYS:
+  760: 			else if (hidBuff[0] != 0)
+00335B 904800            MOV     DPTR,#hidBuff
+00335E E0                MOVX    A,@DPTR
+00335F 600B              JZ      ?C0148?SYS
+  761: 			{
+  762: 
+  763: 				IPC_TxHidData(hidBuff,9);
+003361 7B01              MOV     R3,#01H
+003363 7A48              MOV     R2,#HIGH hidBuff
+003365 7900              MOV     R1,#LOW hidBuff
+003367 7D09              MOV     R5,#09H
+003369 120C30            LCALL   _IPC_TxHidData
+  764: 			}
+  765: 		}
+  766: 	}
+00336C         ?C0148?SYS:
+  767: 
+  768: 
+  769: // ble delay send secutiry request
+  770: 	if(ble_send_secutiry_request_timer)
+00336C 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
+00336F E0                MOVX    A,@DPTR
+003370 6011              JZ      ?C0153?SYS
+  771: 	{
+  772: 		ble_send_secutiry_request_timer--;
+003372 E0                MOVX    A,@DPTR
+003373 14                DEC     A
+003374 F0                MOVX    @DPTR,A
+  773: 		if(!ble_send_secutiry_request_timer)
+003375 E0                MOVX    A,@DPTR
+003376 700B              JNZ     ?C0153?SYS
+  774: 		{
+  775: 			if(!m_le_send_security_request_flag)
+003378 904D3D            MOV     DPTR,#m_le_send_security_request_flag
+00337B E0                MOVX    A,@DPTR
+00337C 7005              JNZ     ?C0153?SYS
+  776: 			{
+  777: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
+00337E 7F1B              MOV     R7,#01BH
+003380 120ECA            LCALL   _IPC_TxControlCmd
+  778: 			}
+  779: 		}
+  780: 	}
+003383         ?C0153?SYS:
+  781: 
+  782: 	if (delayChgInvTimer != 0){
+003383 904DE6            MOV     DPTR,#delayChgInvTimer
+003386 E0                MOVX    A,@DPTR
+003387 6013              JZ      ?C0138?SYS
+  783: 		delayChgInvTimer--;
+003389 E0                MOVX    A,@DPTR
+00338A 14                DEC     A
+00338B F0                MOVX    @DPTR,A
+  784: 		if (delayChgInvTimer == 0)
+00338C E0                MOVX    A,@DPTR
+00338D 700D              JNZ     ?C0138?SYS
+  785: 		{
+  786: 
+  787: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+00338F 904CC7            MOV     DPTR,#g_variable+08H
+003392 E0                MOVX    A,@DPTR
+003393 B40406            CJNE    A,#04H,?C0138?SYS
+  788: 			{
+  789: 				kscurrmult = 0x0c;
+003396 904213            MOV     DPTR,#kscurrmult
+003399 740C              MOV     A,#0CH
+00339B F0                MOVX    @DPTR,A
+  790: 			}
+  791: 		}
+  792: 	}
+  793: }
+00339C         ?C0138?SYS:
+00339C 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-0033A1 904EDC            MOV     DPTR,#rptr
-0033A4 EE                MOV     A,R6
-0033A5 F0                MOVX    @DPTR,A
-0033A6 A3                INC     DPTR
-0033A7 EF                MOV     A,R7
-0033A8 F0                MOVX    @DPTR,A
-0033A9 904EDE            MOV     DPTR,#wptr
-0033AC EC                MOV     A,R4
-0033AD F0                MOVX    @DPTR,A
-0033AE A3                INC     DPTR
-0033AF ED                MOV     A,R5
-0033B0 F0                MOVX    @DPTR,A
+00339D 904EDC            MOV     DPTR,#rptr
+0033A0 EE                MOV     A,R6
+0033A1 F0                MOVX    @DPTR,A
+0033A2 A3                INC     DPTR
+0033A3 EF                MOV     A,R7
+0033A4 F0                MOVX    @DPTR,A
+0033A5 904EDE            MOV     DPTR,#wptr
+0033A8 EC                MOV     A,R4
+0033A9 F0                MOVX    @DPTR,A
+0033AA A3                INC     DPTR
+0033AB ED                MOV     A,R5
+0033AC F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-0033B1 904EDE            MOV     DPTR,#wptr
-0033B4 E0                MOVX    A,@DPTR
-0033B5 FE                MOV     R6,A
-0033B6 A3                INC     DPTR
-0033B7 E0                MOVX    A,@DPTR
-0033B8 FF                MOV     R7,A
-0033B9 D3                SETB    C
-0033BA 904EDD            MOV     DPTR,#rptr+01H
-0033BD E0                MOVX    A,@DPTR
-0033BE 9F                SUBB    A,R7
-0033BF 904EDC            MOV     DPTR,#rptr
-0033C2 E0                MOVX    A,@DPTR
-0033C3 9E                SUBB    A,R6
-0033C4 4016              JC      ?C0001?IPC
-0033C6 904EDE            MOV     DPTR,#wptr
-0033C9 E0                MOVX    A,@DPTR
-0033CA FE                MOV     R6,A
-0033CB A3                INC     DPTR
-0033CC E0                MOVX    A,@DPTR
-0033CD FF                MOV     R7,A
-0033CE 904EDD            MOV     DPTR,#rptr+01H
-0033D1 E0                MOVX    A,@DPTR
-0033D2 9F                SUBB    A,R7
-0033D3 FF                MOV     R7,A
-0033D4 904EDC            MOV     DPTR,#rptr
-0033D7 E0                MOVX    A,@DPTR
-0033D8 9E                SUBB    A,R6
-0033D9 FE                MOV     R6,A
-0033DA 801E              SJMP    ?C0002?IPC
-0033DC         ?C0001?IPC:
-0033DC 904EDC            MOV     DPTR,#rptr
-0033DF E0                MOVX    A,@DPTR
-0033E0 FE                MOV     R6,A
-0033E1 A3                INC     DPTR
-0033E2 E0                MOVX    A,@DPTR
-0033E3 FF                MOV     R7,A
-0033E4 C3                CLR     C
-0033E5 904EDF            MOV     DPTR,#wptr+01H
-0033E8 E0                MOVX    A,@DPTR
-0033E9 9F                SUBB    A,R7
-0033EA FF                MOV     R7,A
-0033EB 904EDE            MOV     DPTR,#wptr
-0033EE E0                MOVX    A,@DPTR
-0033EF 9E                SUBB    A,R6
-0033F0 FE                MOV     R6,A
-0033F1 AD03              MOV     R5,AR3
-0033F3 C3                CLR     C
-0033F4 EB                MOV     A,R3
-0033F5 9F                SUBB    A,R7
-0033F6 FF                MOV     R7,A
-0033F7 E4                CLR     A
-0033F8 9E                SUBB    A,R6
-0033F9 FE                MOV     R6,A
-0033FA         ?C0002?IPC:
-0033FA 22                RET     
+0033AD 904EDE            MOV     DPTR,#wptr
+0033B0 E0                MOVX    A,@DPTR
+0033B1 FE                MOV     R6,A
+0033B2 A3                INC     DPTR
+0033B3 E0                MOVX    A,@DPTR
+0033B4 FF                MOV     R7,A
+0033B5 D3                SETB    C
+0033B6 904EDD            MOV     DPTR,#rptr+01H
+0033B9 E0                MOVX    A,@DPTR
+0033BA 9F                SUBB    A,R7
+0033BB 904EDC            MOV     DPTR,#rptr
+0033BE E0                MOVX    A,@DPTR
+0033BF 9E                SUBB    A,R6
+0033C0 4016              JC      ?C0001?IPC
+0033C2 904EDE            MOV     DPTR,#wptr
+0033C5 E0                MOVX    A,@DPTR
+0033C6 FE                MOV     R6,A
+0033C7 A3                INC     DPTR
+0033C8 E0                MOVX    A,@DPTR
+0033C9 FF                MOV     R7,A
+0033CA 904EDD            MOV     DPTR,#rptr+01H
+0033CD E0                MOVX    A,@DPTR
+0033CE 9F                SUBB    A,R7
+0033CF FF                MOV     R7,A
+0033D0 904EDC            MOV     DPTR,#rptr
+0033D3 E0                MOVX    A,@DPTR
+0033D4 9E                SUBB    A,R6
+0033D5 FE                MOV     R6,A
+0033D6 801E              SJMP    ?C0002?IPC
+0033D8         ?C0001?IPC:
+0033D8 904EDC            MOV     DPTR,#rptr
+0033DB E0                MOVX    A,@DPTR
+0033DC FE                MOV     R6,A
+0033DD A3                INC     DPTR
+0033DE E0                MOVX    A,@DPTR
+0033DF FF                MOV     R7,A
+0033E0 C3                CLR     C
+0033E1 904EDF            MOV     DPTR,#wptr+01H
+0033E4 E0                MOVX    A,@DPTR
+0033E5 9F                SUBB    A,R7
+0033E6 FF                MOV     R7,A
+0033E7 904EDE            MOV     DPTR,#wptr
+0033EA E0                MOVX    A,@DPTR
+0033EB 9E                SUBB    A,R6
+0033EC FE                MOV     R6,A
+0033ED AD03              MOV     R5,AR3
+0033EF C3                CLR     C
+0033F0 EB                MOV     A,R3
+0033F1 9F                SUBB    A,R7
+0033F2 FF                MOV     R7,A
+0033F3 E4                CLR     A
+0033F4 9E                SUBB    A,R6
+0033F5 FE                MOV     R6,A
+0033F6         ?C0002?IPC:
+0033F6 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _IPC_TxBREDRHidData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-0033FB 900BE7            MOV     DPTR,#ipcSendBuff
-0033FE 7403              MOV     A,#03H
-003400 F0                MOVX    @DPTR,A
-003401 ED                MOV     A,R5
-003402 6003              JZ      ?C0017?IPC
-003404         ?C0016?IPC:
-003404 120FBB            LCALL   _IPC_TxData
-003407         ?C0017?IPC:
-003407 22                RET     
+0033F7 900BE7            MOV     DPTR,#ipcSendBuff
+0033FA 7403              MOV     A,#03H
+0033FC F0                MOVX    @DPTR,A
+0033FD ED                MOV     A,R5
+0033FE 6003              JZ      ?C0017?IPC
+003400         ?C0016?IPC:
+003400 120FBB            LCALL   _IPC_TxData
+003403         ?C0017?IPC:
+003403 22                RET     
 ----- FUNCTION _IPC_TxBREDRHidData (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-003408 900446            MOV     DPTR,#bbDisReason
-00340B E0                MOVX    A,@DPTR
-00340C FF                MOV     R7,A
-00340D 22                RET     
+003404 900446            MOV     DPTR,#bbDisReason
+003407 E0                MOVX    A,@DPTR
+003408 FF                MOV     R7,A
+003409 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-00340E 908280            MOV     DPTR,#08280H
-003411 7401              MOV     A,#01H
-003413 F0                MOVX    @DPTR,A
-003414 22                RET     
+00340A 908280            MOV     DPTR,#08280H
+00340D 7401              MOV     A,#01H
+00340F F0                MOVX    @DPTR,A
+003410 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _dmemcpy (BEGIN) -----
-003415 904E9C            MOV     DPTR,#dest
-003418 EB                MOV     A,R3
-003419 F0                MOVX    @DPTR,A
-00341A A3                INC     DPTR
-00341B EA                MOV     A,R2
-00341C F0                MOVX    @DPTR,A
-00341D A3                INC     DPTR
-00341E E9                MOV     A,R1
-00341F F0                MOVX    @DPTR,A
-003420         ?C0005?UTILITIES:
-003420 904EA2            MOV     DPTR,#len
-003423 74FF              MOV     A,#0FFH
-003425 F5F0              MOV     B,A
-003427 120424            LCALL   ?C?ILDIX
-00342A 45F0              ORL     A,B
-00342C 602A              JZ      ?C0007?UTILITIES
-00342E 904E9F            MOV     DPTR,#src
-003431 E0                MOVX    A,@DPTR
-003432 FB                MOV     R3,A
-003433 A3                INC     DPTR
-003434 E4                CLR     A
-003435 75F001            MOV     B,#01H
-003438 120424            LCALL   ?C?ILDIX
-00343B A9F0              MOV     R1,B
-00343D FA                MOV     R2,A
-00343E 1203B6            LCALL   ?C?CLDPTR
-003441 FF                MOV     R7,A
-003442 904E9C            MOV     DPTR,#dest
-003445 E0                MOVX    A,@DPTR
-003446 FB                MOV     R3,A
-003447 A3                INC     DPTR
-003448 E4                CLR     A
-003449 75F001            MOV     B,#01H
-00344C 120424            LCALL   ?C?ILDIX
-00344F A9F0              MOV     R1,B
-003451 FA                MOV     R2,A
-003452 EF                MOV     A,R7
-003453 1203FC            LCALL   ?C?CSTPTR
-003456 80C8              SJMP    ?C0005?UTILITIES
-003458         ?C0007?UTILITIES:
-003458 22                RET     
+003411 904E9C            MOV     DPTR,#dest
+003414 EB                MOV     A,R3
+003415 F0                MOVX    @DPTR,A
+003416 A3                INC     DPTR
+003417 EA                MOV     A,R2
+003418 F0                MOVX    @DPTR,A
+003419 A3                INC     DPTR
+00341A E9                MOV     A,R1
+00341B F0                MOVX    @DPTR,A
+00341C         ?C0005?UTILITIES:
+00341C 904EA2            MOV     DPTR,#len
+00341F 74FF              MOV     A,#0FFH
+003421 F5F0              MOV     B,A
+003423 120424            LCALL   ?C?ILDIX
+003426 45F0              ORL     A,B
+003428 602A              JZ      ?C0007?UTILITIES
+00342A 904E9F            MOV     DPTR,#src
+00342D E0                MOVX    A,@DPTR
+00342E FB                MOV     R3,A
+00342F A3                INC     DPTR
+003430 E4                CLR     A
+003431 75F001            MOV     B,#01H
+003434 120424            LCALL   ?C?ILDIX
+003437 A9F0              MOV     R1,B
+003439 FA                MOV     R2,A
+00343A 1203B6            LCALL   ?C?CLDPTR
+00343D FF                MOV     R7,A
+00343E 904E9C            MOV     DPTR,#dest
+003441 E0                MOVX    A,@DPTR
+003442 FB                MOV     R3,A
+003443 A3                INC     DPTR
+003444 E4                CLR     A
+003445 75F001            MOV     B,#01H
+003448 120424            LCALL   ?C?ILDIX
+00344B A9F0              MOV     R1,B
+00344D FA                MOV     R2,A
+00344E EF                MOV     A,R7
+00344F 1203FC            LCALL   ?C?CSTPTR
+003452 80C8              SJMP    ?C0005?UTILITIES
+003454         ?C0007?UTILITIES:
+003454 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
 ----- FUNCTION _IIC_write (BEGIN) -----
-003459 904EB2            MOV     DPTR,#addr
-00345C EE                MOV     A,R6
-00345D F0                MOVX    @DPTR,A
-00345E A3                INC     DPTR
-00345F EF                MOV     A,R7
-003460 F0                MOVX    @DPTR,A
-003461 904EB6            MOV     DPTR,#pbuff
-003464 EB                MOV     A,R3
-003465 F0                MOVX    @DPTR,A
-003466 A3                INC     DPTR
-003467 EA                MOV     A,R2
-003468 F0                MOVX    @DPTR,A
-003469 A3                INC     DPTR
-00346A E9                MOV     A,R1
-00346B F0                MOVX    @DPTR,A
-00346C 904EB4            MOV     DPTR,#len
-00346F EC                MOV     A,R4
-003470 F0                MOVX    @DPTR,A
-003471 A3                INC     DPTR
-003472 ED                MOV     A,R5
-003473 F0                MOVX    @DPTR,A
-003474 A3                INC     DPTR
-003475 E0                MOVX    A,@DPTR
-003476 F9                MOV     R1,A
-003477 A3                INC     DPTR
-003478 E0                MOVX    A,@DPTR
-003479 FA                MOV     R2,A
-00347A A3                INC     DPTR
-00347B E0                MOVX    A,@DPTR
-00347C 904E9F            MOV     DPTR,#?_dmemcpy?BYTE+03H
-00347F C9                XCH     A,R1
-003480 F0                MOVX    @DPTR,A
-003481 A3                INC     DPTR
-003482 EA                MOV     A,R2
-003483 F0                MOVX    @DPTR,A
-003484 A3                INC     DPTR
-003485 E9                MOV     A,R1
-003486 F0                MOVX    @DPTR,A
-003487 A3                INC     DPTR
-003488 EC                MOV     A,R4
-003489 F0                MOVX    @DPTR,A
-00348A A3                INC     DPTR
-00348B ED                MOV     A,R5
-00348C F0                MOVX    @DPTR,A
-00348D 7B01              MOV     R3,#01H
-00348F 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
-003491 7986              MOV     R1,#LOW IIC_TempBuff+03H
-003493 9115              ACALL   _dmemcpy
-003495 900B83            MOV     DPTR,#IIC_TempBuff
-003498 74A0              MOV     A,#0A0H
-00349A F0                MOVX    @DPTR,A
-00349B 904EB2            MOV     DPTR,#addr
-00349E E0                MOVX    A,@DPTR
-00349F FF                MOV     R7,A
-0034A0 A3                INC     DPTR
-0034A1 E0                MOVX    A,@DPTR
-0034A2 900B84            MOV     DPTR,#IIC_TempBuff+01H
-0034A5 CF                XCH     A,R7
-0034A6 F0                MOVX    @DPTR,A
-0034A7 A3                INC     DPTR
-0034A8 EF                MOV     A,R7
-0034A9 F0                MOVX    @DPTR,A
-0034AA 904EB5            MOV     DPTR,#len+01H
-0034AD E0                MOVX    A,@DPTR
-0034AE 2403              ADD     A,#03H
-0034B0 FD                MOV     R5,A
-0034B1 904EB4            MOV     DPTR,#len
-0034B4 E0                MOVX    A,@DPTR
-0034B5 3400              ADDC    A,#00H
-0034B7 FC                MOV     R4,A
-0034B8 ED                MOV     A,R5
-0034B9 FA                MOV     R2,A
-0034BA EC                MOV     A,R4
-0034BB FF                MOV     R7,A
-0034BC EA                MOV     A,R2
-0034BD FE                MOV     R6,A
-0034BE EF                MOV     A,R7
-0034BF 908098            MOV     DPTR,#08098H
-0034C2 EE                MOV     A,R6
-0034C3 F0                MOVX    @DPTR,A
-0034C4 A3                INC     DPTR
-0034C5 EF                MOV     A,R7
-0034C6 F0                MOVX    @DPTR,A
-0034C7 7A0B              MOV     R2,#HIGH IIC_TempBuff
-0034C9 7983              MOV     R1,#LOW IIC_TempBuff
-0034CB 7E0B              MOV     R6,#HIGH IIC_TempBuff
-0034CD 7F83              MOV     R7,#LOW IIC_TempBuff
-0034CF 7483              MOV     A,#LOW IIC_TempBuff
-0034D1 FC                MOV     R4,A
-0034D2 740B              MOV     A,#HIGH IIC_TempBuff
-0034D4 FF                MOV     R7,A
-0034D5 EC                MOV     A,R4
-0034D6 FE                MOV     R6,A
-0034D7 EF                MOV     A,R7
-0034D8 A3                INC     DPTR
-0034D9 EE                MOV     A,R6
-0034DA F0                MOVX    @DPTR,A
-0034DB A3                INC     DPTR
-0034DC EF                MOV     A,R7
-0034DD F0                MOVX    @DPTR,A
-0034DE 90809E            MOV     DPTR,#0809EH
-0034E1 E4                CLR     A
-0034E2 F0                MOVX    @DPTR,A
-0034E3 A3                INC     DPTR
-0034E4 F0                MOVX    @DPTR,A
-0034E5 908090            MOV     DPTR,#08090H
-0034E8 04                INC     A
-0034E9 F0                MOVX    @DPTR,A
-0034EA 908006            MOV     DPTR,#08006H
-0034ED E0                MOVX    A,@DPTR
-0034EE 4404              ORL     A,#04H
-0034F0 F0                MOVX    @DPTR,A
-0034F1 0217DA            LJMP    IIcWaitDone
+003455 904EB2            MOV     DPTR,#addr
+003458 EE                MOV     A,R6
+003459 F0                MOVX    @DPTR,A
+00345A A3                INC     DPTR
+00345B EF                MOV     A,R7
+00345C F0                MOVX    @DPTR,A
+00345D 904EB6            MOV     DPTR,#pbuff
+003460 EB                MOV     A,R3
+003461 F0                MOVX    @DPTR,A
+003462 A3                INC     DPTR
+003463 EA                MOV     A,R2
+003464 F0                MOVX    @DPTR,A
+003465 A3                INC     DPTR
+003466 E9                MOV     A,R1
+003467 F0                MOVX    @DPTR,A
+003468 904EB4            MOV     DPTR,#len
+00346B EC                MOV     A,R4
+00346C F0                MOVX    @DPTR,A
+00346D A3                INC     DPTR
+00346E ED                MOV     A,R5
+00346F F0                MOVX    @DPTR,A
+003470 A3                INC     DPTR
+003471 E0                MOVX    A,@DPTR
+003472 F9                MOV     R1,A
+003473 A3                INC     DPTR
+003474 E0                MOVX    A,@DPTR
+003475 FA                MOV     R2,A
+003476 A3                INC     DPTR
+003477 E0                MOVX    A,@DPTR
+003478 904E9F            MOV     DPTR,#?_dmemcpy?BYTE+03H
+00347B C9                XCH     A,R1
+00347C F0                MOVX    @DPTR,A
+00347D A3                INC     DPTR
+00347E EA                MOV     A,R2
+00347F F0                MOVX    @DPTR,A
+003480 A3                INC     DPTR
+003481 E9                MOV     A,R1
+003482 F0                MOVX    @DPTR,A
+003483 A3                INC     DPTR
+003484 EC                MOV     A,R4
+003485 F0                MOVX    @DPTR,A
+003486 A3                INC     DPTR
+003487 ED                MOV     A,R5
+003488 F0                MOVX    @DPTR,A
+003489 7B01              MOV     R3,#01H
+00348B 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
+00348D 7986              MOV     R1,#LOW IIC_TempBuff+03H
+00348F 9111              ACALL   _dmemcpy
+003491 900B83            MOV     DPTR,#IIC_TempBuff
+003494 74A0              MOV     A,#0A0H
+003496 F0                MOVX    @DPTR,A
+003497 904EB2            MOV     DPTR,#addr
+00349A E0                MOVX    A,@DPTR
+00349B FF                MOV     R7,A
+00349C A3                INC     DPTR
+00349D E0                MOVX    A,@DPTR
+00349E 900B84            MOV     DPTR,#IIC_TempBuff+01H
+0034A1 CF                XCH     A,R7
+0034A2 F0                MOVX    @DPTR,A
+0034A3 A3                INC     DPTR
+0034A4 EF                MOV     A,R7
+0034A5 F0                MOVX    @DPTR,A
+0034A6 904EB5            MOV     DPTR,#len+01H
+0034A9 E0                MOVX    A,@DPTR
+0034AA 2403              ADD     A,#03H
+0034AC FD                MOV     R5,A
+0034AD 904EB4            MOV     DPTR,#len
+0034B0 E0                MOVX    A,@DPTR
+0034B1 3400              ADDC    A,#00H
+0034B3 FC                MOV     R4,A
+0034B4 ED                MOV     A,R5
+0034B5 FA                MOV     R2,A
+0034B6 EC                MOV     A,R4
+0034B7 FF                MOV     R7,A
+0034B8 EA                MOV     A,R2
+0034B9 FE                MOV     R6,A
+0034BA EF                MOV     A,R7
+0034BB 908098            MOV     DPTR,#08098H
+0034BE EE                MOV     A,R6
+0034BF F0                MOVX    @DPTR,A
+0034C0 A3                INC     DPTR
+0034C1 EF                MOV     A,R7
+0034C2 F0                MOVX    @DPTR,A
+0034C3 7A0B              MOV     R2,#HIGH IIC_TempBuff
+0034C5 7983              MOV     R1,#LOW IIC_TempBuff
+0034C7 7E0B              MOV     R6,#HIGH IIC_TempBuff
+0034C9 7F83              MOV     R7,#LOW IIC_TempBuff
+0034CB 7483              MOV     A,#LOW IIC_TempBuff
+0034CD FC                MOV     R4,A
+0034CE 740B              MOV     A,#HIGH IIC_TempBuff
+0034D0 FF                MOV     R7,A
+0034D1 EC                MOV     A,R4
+0034D2 FE                MOV     R6,A
+0034D3 EF                MOV     A,R7
+0034D4 A3                INC     DPTR
+0034D5 EE                MOV     A,R6
+0034D6 F0                MOVX    @DPTR,A
+0034D7 A3                INC     DPTR
+0034D8 EF                MOV     A,R7
+0034D9 F0                MOVX    @DPTR,A
+0034DA 90809E            MOV     DPTR,#0809EH
+0034DD E4                CLR     A
+0034DE F0                MOVX    @DPTR,A
+0034DF A3                INC     DPTR
+0034E0 F0                MOVX    @DPTR,A
+0034E1 908090            MOV     DPTR,#08090H
+0034E4 04                INC     A
+0034E5 F0                MOVX    @DPTR,A
+0034E6 908006            MOV     DPTR,#08006H
+0034E9 E0                MOVX    A,@DPTR
+0034EA 4404              ORL     A,#04H
+0034EC F0                MOVX    @DPTR,A
+0034ED 0217E7            LJMP    IIcWaitDone
 ----- FUNCTION _IIC_write (END) -------
 
 
 ----- FUNCTION _xmemclear_ff (BEGIN) -----
-0034F4 904EF3            MOV     DPTR,#dest
-0034F7 EB                MOV     A,R3
-0034F8 F0                MOVX    @DPTR,A
-0034F9 A3                INC     DPTR
-0034FA EA                MOV     A,R2
-0034FB F0                MOVX    @DPTR,A
-0034FC A3                INC     DPTR
-0034FD E9                MOV     A,R1
-0034FE F0                MOVX    @DPTR,A
+0034F0 904EF3            MOV     DPTR,#dest
+0034F3 EB                MOV     A,R3
+0034F4 F0                MOVX    @DPTR,A
+0034F5 A3                INC     DPTR
+0034F6 EA                MOV     A,R2
+0034F7 F0                MOVX    @DPTR,A
+0034F8 A3                INC     DPTR
+0034F9 E9                MOV     A,R1
+0034FA F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
-0034FF         ?C0011?UTILITIES:
-0034FF ED                MOV     A,R5
-003500 1D                DEC     R5
-003501 AE04              MOV     R6,AR4
-003503 7001              JNZ     ?C0027?UTILITIES
-003505 1C                DEC     R4
-003506         ?C0027?UTILITIES:
-003506 4E                ORL     A,R6
-003507 6017              JZ      ?C0013?UTILITIES
-003509 904EF3            MOV     DPTR,#dest
-00350C E0                MOVX    A,@DPTR
-00350D FB                MOV     R3,A
-00350E A3                INC     DPTR
-00350F E4                CLR     A
-003510 75F001            MOV     B,#01H
-003513 120424            LCALL   ?C?ILDIX
-003516 A9F0              MOV     R1,B
-003518 FA                MOV     R2,A
-003519 74FF              MOV     A,#0FFH
-00351B 1203FC            LCALL   ?C?CSTPTR
-00351E 80DF              SJMP    ?C0011?UTILITIES
-003520         ?C0013?UTILITIES:
-003520 22                RET     
+0034FB         ?C0011?UTILITIES:
+0034FB ED                MOV     A,R5
+0034FC 1D                DEC     R5
+0034FD AE04              MOV     R6,AR4
+0034FF 7001              JNZ     ?C0027?UTILITIES
+003501 1C                DEC     R4
+003502         ?C0027?UTILITIES:
+003502 4E                ORL     A,R6
+003503 6017              JZ      ?C0013?UTILITIES
+003505 904EF3            MOV     DPTR,#dest
+003508 E0                MOVX    A,@DPTR
+003509 FB                MOV     R3,A
+00350A A3                INC     DPTR
+00350B E4                CLR     A
+00350C 75F001            MOV     B,#01H
+00350F 120424            LCALL   ?C?ILDIX
+003512 A9F0              MOV     R1,B
+003514 FA                MOV     R2,A
+003515 74FF              MOV     A,#0FFH
+003517 1203FC            LCALL   ?C?CSTPTR
+00351A 80DF              SJMP    ?C0011?UTILITIES
+00351C         ?C0013?UTILITIES:
+00351C 22                RET     
 ----- FUNCTION _xmemclear_ff (END) -------
 
 
------ FUNCTION _GPIO_SetPd (BEGIN) -----
+----- FUNCTION _gpioSetBit (BEGIN) -----
+00351D 904EF6            MOV     DPTR,#reg_base
+003520 EB                MOV     A,R3
+003521 F0                MOVX    @DPTR,A
+003522 A3                INC     DPTR
+003523 EA                MOV     A,R2
+003524 F0                MOVX    @DPTR,A
+003525 A3                INC     DPTR
+003526 E9                MOV     A,R1
+003527 F0                MOVX    @DPTR,A
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-003521 EF                MOV     A,R7
-003522 F4                CPL     A
-003523 600D              JZ      ?C0011?GPIO
-003525         ?C0010?GPIO:
-003525 7B01              MOV     R3,#01H
-003527 7A80              MOV     R2,#080H
-003529 797C              MOV     R1,#07CH
-00352B A203              MOV     C,bit_val
-00352D 9200              MOV     ?_gpioSetBit?BIT,C
-00352F 1217F4            LCALL   _gpioSetBit
-003532         ?C0011?GPIO:
-003532 22                RET     
------ FUNCTION _GPIO_SetPd (END) -------
+;---- Variable 'queue' assigned to Register 'R6' ----
+003528 E4                CLR     A
+003529 FE                MOV     R6,A
+;---- Variable 'group' assigned to Register 'R5' ----
+00352A FD                MOV     R5,A
+00352B EF                MOV     A,R7
+00352C 5407              ANL     A,#07H
+00352E FE                MOV     R6,A
+00352F EF                MOV     A,R7
+003530 13                RRC     A
+003531 13                RRC     A
+003532 13                RRC     A
+003533 5403              ANL     A,#03H
+003535 FD                MOV     R5,A
+003536 300022            JNB     bit_val,?C0001?GPIO
+003539 904EF6            MOV     DPTR,#reg_base
+00353C E0                MOVX    A,@DPTR
+00353D FB                MOV     R3,A
+00353E A3                INC     DPTR
+00353F E0                MOVX    A,@DPTR
+003540 FA                MOV     R2,A
+003541 A3                INC     DPTR
+003542 E0                MOVX    A,@DPTR
+003543 2D                ADD     A,R5
+003544 F9                MOV     R1,A
+003545 E4                CLR     A
+003546 3A                ADDC    A,R2
+003547 FA                MOV     R2,A
+003548 1203B6            LCALL   ?C?CLDPTR
+00354B FF                MOV     R7,A
+00354C 7401              MOV     A,#01H
+00354E A806              MOV     R0,AR6
+003550 08                INC     R0
+003551 8002              SJMP    ?C0031?GPIO
+003553         ?C0030?GPIO:
+003553 C3                CLR     C
+003554 33                RLC     A
+003555         ?C0031?GPIO:
+003555 D8FC              DJNZ    R0,?C0030?GPIO
+003557 4F                ORL     A,R7
+003558 0203FC            LJMP    ?C?CSTPTR
+00355B         ?C0001?GPIO:
+00355B 904EF6            MOV     DPTR,#reg_base
+00355E E0                MOVX    A,@DPTR
+00355F FB                MOV     R3,A
+003560 A3                INC     DPTR
+003561 E0                MOVX    A,@DPTR
+003562 FA                MOV     R2,A
+003563 A3                INC     DPTR
+003564 E0                MOVX    A,@DPTR
+003565 2D                ADD     A,R5
+003566 F9                MOV     R1,A
+003567 E4                CLR     A
+003568 3A                ADDC    A,R2
+003569 FA                MOV     R2,A
+00356A 1203B6            LCALL   ?C?CLDPTR
+00356D FF                MOV     R7,A
+00356E 7401              MOV     A,#01H
+003570 A806              MOV     R0,AR6
+003572 08                INC     R0
+003573 8002              SJMP    ?C0033?GPIO
+003575         ?C0032?GPIO:
+003575 C3                CLR     C
+003576 33                RLC     A
+003577         ?C0033?GPIO:
+003577 D8FC              DJNZ    R0,?C0032?GPIO
+003579 F4                CPL     A
+00357A 5F                ANL     A,R7
+00357B 0203FC            LJMP    ?C?CSTPTR
+----- FUNCTION _gpioSetBit (END) -------
 
 
------ FUNCTION _GPIO_SetInput (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R4' ----
-003533 AC07              MOV     R4,AR7
-003535 EC                MOV     A,R4
-003536 F4                CPL     A
-003537 6018              JZ      ?C0015?GPIO
-003539         ?C0014?GPIO:
-003539 AF04              MOV     R7,AR4
-00353B A205              MOV     C,st
-00353D 9203              MOV     ?_GPIO_SetPd?BIT,C
-00353F B121              ACALL   _GPIO_SetPd
-003541 AF04              MOV     R7,AR4
-003543 A205              MOV     C,st
-003545 B3                CPL     C
-003546 9202              MOV     ?_GPIO_SetPu?BIT,C
-003548 1217C9            LCALL   _GPIO_SetPu
-00354B AF04              MOV     R7,AR4
-00354D C204              CLR     ?_GPIO_Setoe?BIT
-00354F B152              ACALL   _GPIO_Setoe
-003551         ?C0015?GPIO:
-003551 22                RET     
------ FUNCTION _GPIO_SetInput (END) -------
+----- FUNCTION _GPIO_SetPd (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+00357E EF                MOV     A,R7
+00357F F4                CPL     A
+003580 600C              JZ      ?C0011?GPIO
+003582         ?C0010?GPIO:
+003582 7B01              MOV     R3,#01H
+003584 7A80              MOV     R2,#080H
+003586 797C              MOV     R1,#07CH
+003588 A203              MOV     C,bit_val
+00358A 9200              MOV     ?_gpioSetBit?BIT,C
+00358C B11D              ACALL   _gpioSetBit
+00358E         ?C0011?GPIO:
+00358E 22                RET     
+----- FUNCTION _GPIO_SetPd (END) -------
 
 
 ----- FUNCTION _GPIO_Setoe (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-003552 EF                MOV     A,R7
-003553 F4                CPL     A
-003554 600D              JZ      ?C0013?GPIO
-003556         ?C0012?GPIO:
-003556 7B01              MOV     R3,#01H
-003558 7A80              MOV     R2,#080H
-00355A 7970              MOV     R1,#070H
-00355C A204              MOV     C,bit_val
-00355E 9200              MOV     ?_gpioSetBit?BIT,C
-003560 1217F4            LCALL   _gpioSetBit
-003563         ?C0013?GPIO:
-003563 22                RET     
+00358F EF                MOV     A,R7
+003590 F4                CPL     A
+003591 600C              JZ      ?C0013?GPIO
+003593         ?C0012?GPIO:
+003593 7B01              MOV     R3,#01H
+003595 7A80              MOV     R2,#080H
+003597 7970              MOV     R1,#070H
+003599 A204              MOV     C,bit_val
+00359B 9200              MOV     ?_gpioSetBit?BIT,C
+00359D B11D              ACALL   _gpioSetBit
+00359F         ?C0013?GPIO:
+00359F 22                RET     
 ----- FUNCTION _GPIO_Setoe (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-003564 EF                MOV     A,R7
-003565 F4                CPL     A
-003566 603A              JZ      ?C0023?GPIO
-003568         ?C0022?GPIO:
-003568 EF                MOV     A,R7
-003569 5407              ANL     A,#07H
-00356B FE                MOV     R6,A
+0035A0 EF                MOV     A,R7
+0035A1 F4                CPL     A
+0035A2 603A              JZ      ?C0023?GPIO
+0035A4         ?C0022?GPIO:
+0035A4 EF                MOV     A,R7
+0035A5 5407              ANL     A,#07H
+0035A7 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-00356C EF                MOV     A,R7
-00356D 13                RRC     A
-00356E 13                RRC     A
-00356F 13                RRC     A
-003570 5403              ANL     A,#03H
-003572 FF                MOV     R7,A
+0035A8 EF                MOV     A,R7
+0035A9 13                RRC     A
+0035AA 13                RRC     A
+0035AB 13                RRC     A
+0035AC 5403              ANL     A,#03H
+0035AE FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-003573 24A3              ADD     A,#LOW YC_GPIOWakeupL
-003575 F582              MOV     DPL,A
-003577 E4                CLR     A
-003578 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-00357A F583              MOV     DPH,A
-00357C C083              PUSH    DPH
-00357E C082              PUSH    DPL
-003580 E0                MOVX    A,@DPTR
-003581 FD                MOV     R5,A
-003582 7401              MOV     A,#01H
-003584 A806              MOV     R0,AR6
-003586 08                INC     R0
-003587 8002              SJMP    ?C0043?GPIO
-003589         ?C0042?GPIO:
-003589 C3                CLR     C
-00358A 33                RLC     A
-00358B         ?C0043?GPIO:
-00358B D8FC              DJNZ    R0,?C0042?GPIO
-00358D F4                CPL     A
-00358E FC                MOV     R4,A
-00358F 5D                ANL     A,R5
-003590 D082              POP     DPL
-003592 D083              POP     DPH
-003594 F0                MOVX    @DPTR,A
-003595 74A7              MOV     A,#LOW YC_GPIOWakeupH
-003597 2F                ADD     A,R7
-003598 F582              MOV     DPL,A
-00359A E4                CLR     A
-00359B 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-00359D F583              MOV     DPH,A
-00359F E0                MOVX    A,@DPTR
-0035A0 5C                ANL     A,R4
-0035A1 F0                MOVX    @DPTR,A
-0035A2         ?C0023?GPIO:
-0035A2 22                RET     
+0035AF 24A3              ADD     A,#LOW YC_GPIOWakeupL
+0035B1 F582              MOV     DPL,A
+0035B3 E4                CLR     A
+0035B4 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0035B6 F583              MOV     DPH,A
+0035B8 C083              PUSH    DPH
+0035BA C082              PUSH    DPL
+0035BC E0                MOVX    A,@DPTR
+0035BD FD                MOV     R5,A
+0035BE 7401              MOV     A,#01H
+0035C0 A806              MOV     R0,AR6
+0035C2 08                INC     R0
+0035C3 8002              SJMP    ?C0043?GPIO
+0035C5         ?C0042?GPIO:
+0035C5 C3                CLR     C
+0035C6 33                RLC     A
+0035C7         ?C0043?GPIO:
+0035C7 D8FC              DJNZ    R0,?C0042?GPIO
+0035C9 F4                CPL     A
+0035CA FC                MOV     R4,A
+0035CB 5D                ANL     A,R5
+0035CC D082              POP     DPL
+0035CE D083              POP     DPH
+0035D0 F0                MOVX    @DPTR,A
+0035D1 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0035D3 2F                ADD     A,R7
+0035D4 F582              MOV     DPL,A
+0035D6 E4                CLR     A
+0035D7 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0035D9 F583              MOV     DPH,A
+0035DB E0                MOVX    A,@DPTR
+0035DC 5C                ANL     A,R4
+0035DD F0                MOVX    @DPTR,A
+0035DE         ?C0023?GPIO:
+0035DE 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-0035A3 E4                CLR     A
-0035A4 FF                MOV     R7,A
-0035A5         ?C0026?GPIO:
-0035A5 EF                MOV     A,R7
-0035A6 FD                MOV     R5,A
-0035A7 7C00              MOV     R4,#00H
-0035A9 2478              ADD     A,#078H
-0035AB FB                MOV     R3,A
-0035AC EC                MOV     A,R4
-0035AD 3480              ADDC    A,#080H
-0035AF 8B82              MOV     DPL,R3
-0035B1 F583              MOV     DPH,A
-0035B3 E0                MOVX    A,@DPTR
-0035B4 FE                MOV     R6,A
-0035B5 ED                MOV     A,R5
-0035B6 2470              ADD     A,#070H
-0035B8 FD                MOV     R5,A
-0035B9 EC                MOV     A,R4
-0035BA 3480              ADDC    A,#080H
-0035BC 8D82              MOV     DPL,R5
-0035BE F583              MOV     DPH,A
-0035C0 E0                MOVX    A,@DPTR
-0035C1 4E                ORL     A,R6
-0035C2 F4                CPL     A
-0035C3 FE                MOV     R6,A
-0035C4 EF                MOV     A,R7
-0035C5 247C              ADD     A,#07CH
-0035C7 FD                MOV     R5,A
-0035C8 EC                MOV     A,R4
-0035C9 3480              ADDC    A,#080H
-0035CB 8D82              MOV     DPL,R5
-0035CD F583              MOV     DPH,A
-0035CF EE                MOV     A,R6
-0035D0 F0                MOVX    @DPTR,A
-0035D1 0F                INC     R7
-0035D2 EF                MOV     A,R7
-0035D3 B404CF            CJNE    A,#04H,?C0026?GPIO
-0035D6 22                RET     
+0035DF E4                CLR     A
+0035E0 FF                MOV     R7,A
+0035E1         ?C0026?GPIO:
+0035E1 EF                MOV     A,R7
+0035E2 FD                MOV     R5,A
+0035E3 7C00              MOV     R4,#00H
+0035E5 2478              ADD     A,#078H
+0035E7 FB                MOV     R3,A
+0035E8 EC                MOV     A,R4
+0035E9 3480              ADDC    A,#080H
+0035EB 8B82              MOV     DPL,R3
+0035ED F583              MOV     DPH,A
+0035EF E0                MOVX    A,@DPTR
+0035F0 FE                MOV     R6,A
+0035F1 ED                MOV     A,R5
+0035F2 2470              ADD     A,#070H
+0035F4 FD                MOV     R5,A
+0035F5 EC                MOV     A,R4
+0035F6 3480              ADDC    A,#080H
+0035F8 8D82              MOV     DPL,R5
+0035FA F583              MOV     DPH,A
+0035FC E0                MOVX    A,@DPTR
+0035FD 4E                ORL     A,R6
+0035FE F4                CPL     A
+0035FF FE                MOV     R6,A
+003600 EF                MOV     A,R7
+003601 247C              ADD     A,#07CH
+003603 FD                MOV     R5,A
+003604 EC                MOV     A,R4
+003605 3480              ADDC    A,#080H
+003607 8D82              MOV     DPL,R5
+003609 F583              MOV     DPH,A
+00360B EE                MOV     A,R6
+00360C F0                MOVX    @DPTR,A
+00360D 0F                INC     R7
+00360E EF                MOV     A,R7
+00360F B404CF            CJNE    A,#04H,?C0026?GPIO
+003612 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.HTM	(revision 334)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.HTM	(working copy)
@@ -25,7 +25,7 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.41</b><br>
-Creation time: <b>02/11/2022  18:28:38</b><p>
+Creation time: <b>12/25/2021  18:52:31</b><p>
 
 <hr>
 
@@ -43,8 +43,8 @@
 <li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S13"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:0015ADH - C:00165AH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S13"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:0015CAH - C:001677H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S170">?PR?_DELAY1MS?UTILITIES</a></li>
@@ -57,33 +57,35 @@
 <li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S79"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:001FB1H - C:001FCFH)</h2>
+<h2><a name="S79"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:001F7AH - C:001F97H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S99"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001B35H - C:001B3DH)</h2>
+<h2><a name="S99"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001AE1H - C:001AE9H)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S103"></a>?PR?_KB_CB_HID?SYS (C:00329CH - C:0032ABH)</h2>
+<h2><a name="S103"></a>?PR?_KB_CB_HID?SYS (C:003298H - C:0032A7H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S105"></a>?PR?_KB_CB_EVENT?SYS (C:001CFCH - C:001FA5H)</h2>
+<h2><a name="S105"></a>?PR?_KB_CB_EVENT?SYS (C:001CA8H - C:001F6EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S97">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
 <li><a href="#S170">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S179">?PR?_GPIO_SETOUT?GPIO</a></li>
 <li><a href="#S204">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 <li><a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S168">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
@@ -102,8 +104,8 @@
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S110"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:001909H - C:001951H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S110"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:0018B5H - C:0018FDH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S170">?PR?_DELAY1MS?UTILITIES</a></li>
@@ -111,8 +113,8 @@
 <li><a href="#S100">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 </ul>
 
-<h2><a name="S112"></a>?PR?KB_CB_TIMER500MS?SYS (C:0018EFH - C:001908H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
+<h2><a name="S112"></a>?PR?KB_CB_TIMER500MS?SYS (C:00189BH - C:0018B4H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S111">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
@@ -122,8 +124,8 @@
 <li><a href="#S109">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S113"></a>?PR?KB_CB_TIMER100MS?SYS (C:0032ACH - C:0033A0H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
+<h2><a name="S113"></a>?PR?KB_CB_TIMER100MS?SYS (C:0032A8H - C:00339CH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S179">?PR?_GPIO_SETOUT?GPIO</a></li>
@@ -133,8 +135,8 @@
 <li><a href="#S92">?PR?LED_DEVICE_POWERON?LED</a></li>
 </ul>
 
-<h2><a name="S115"></a>?PR?YC_SYSTEM_MAIN?SYS (C:002C99H - C:002CE6H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S115"></a>?PR?YC_SYSTEM_MAIN?SYS (C:002C92H - C:002CDFH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=18 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S140">?PR?IPC_ABANDONLPM?IPC</a></li>
@@ -154,14 +156,14 @@
 <li><a href="#S122">?PR?MAIN?RAM</a></li>
 </ul>
 
-<h2><a name="S122"></a>?PR?MAIN?RAM (C:002FA6H - C:002FA7H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S122"></a>?PR?MAIN?RAM (C:002F9FH - C:002FA0H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=18 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S133"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:0033FBH - C:003407H)</h2>
+<h2><a name="S133"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:0033F7H - C:003403H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S131">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -175,7 +177,7 @@
 <li><a href="#S131">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S138"></a>?PR?_IPC_INITIALIZE?IPC (C:002F54H - C:002F60H)</h2>
+<h2><a name="S138"></a>?PR?_IPC_INITIALIZE?IPC (C:002F4DH - C:002F59H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
@@ -202,7 +204,7 @@
 </ul>
 
 <h2><a name="S7"></a>?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH (C:00100DH - C:00108AH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=8 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=8 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
@@ -213,7 +215,7 @@
 <li><a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S9"></a>?PR?YC_CANCEL_RECONNECT?BLUETOOTH (C:0017B7H - C:0017C8H)</h2>
+<h2><a name="S9"></a>?PR?YC_CANCEL_RECONNECT?BLUETOOTH (C:0017D5H - C:0017E6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -225,7 +227,7 @@
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S10"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:0017EAH - C:0017F3H)</h2>
+<h2><a name="S10"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:0017F7H - C:001800H)</h2>
 <p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -247,7 +249,7 @@
 <li><a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S12"></a>?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH (C:001855H - C:00186BH)</h2>
+<h2><a name="S12"></a>?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH (C:001801H - C:001817H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -259,7 +261,7 @@
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S14"></a>?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH (C:00186CH - C:0018AFH)</h2>
+<h2><a name="S14"></a>?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH (C:001818H - C:00185BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S204">?PR?_IIC_READ?IIC</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -272,7 +274,7 @@
 <li><a href="#S109">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S15"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:001442H - C:0014E6H)</h2>
+<h2><a name="S15"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:00146DH - C:001503H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=4 Bytes (<a href="#S111">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -288,13 +290,14 @@
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S53"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:00108BH - C:00123DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S11">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>) Top=10 Bytes (<a href="#S7">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>)<p>
+<h2><a name="S53"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:00108BH - C:001267H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=10 Bytes (<a href="#S7">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S170">?PR?_DELAY1MS?UTILITIES</a></li>
 <li><a href="#S179">?PR?_GPIO_SETOUT?GPIO</a></li>
 <li><a href="#S204">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 <li><a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S168">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
 <li><a href="#S9">?PR?YC_CANCEL_RECONNECT?BLUETOOTH</a></li>
@@ -314,7 +317,7 @@
 </ul>
 
 <h2><a name="S55"></a>?PR?_IPC_TXHIDDATA?KB_PROCESS (C:000C30H - C:000D11H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S7">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>) Top=6 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S7">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>) Top=6 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
@@ -332,14 +335,14 @@
 <li><a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S57"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:001FEEH - C:002008H)</h2>
+<h2><a name="S57"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:001FE7H - C:002001H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S72">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S58"></a>?PR?_KB_SET_SYSTEMKEY?KB_PROCESS (C:002009H - C:002023H)</h2>
+<h2><a name="S58"></a>?PR?_KB_SET_SYSTEMKEY?KB_PROCESS (C:002002H - C:00201CH)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S72">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -347,7 +350,7 @@
 </ul>
 
 <h2><a name="S59"></a>?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS (C:000D12H - C:000D4BH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
@@ -359,8 +362,8 @@
 <li><a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S61"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:00233BH - C:002378H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
+<h2><a name="S61"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:002334H - C:002371H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
@@ -372,8 +375,8 @@
 <li><a href="#S62">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S62"></a>?PR?KB_MOTION?KB_PROCESS (C:002379H - C:0023ABH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>) Top=2 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S62"></a>?PR?KB_MOTION?KB_PROCESS (C:002372H - C:0023A4H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>) Top=2 Bytes (<a href="#S64">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
@@ -388,7 +391,7 @@
 </ul>
 
 <h2><a name="S64"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:000D4CH - C:000DCFH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>) Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>) Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S59">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
@@ -401,7 +404,7 @@
 </ul>
 
 <h2><a name="S65"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:0008C0H - C:000B6AH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
@@ -417,7 +420,7 @@
 <li><a href="#S62">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S67"></a>?PR?_KB_DEVICE_SELECT?KB_PROCESS (C:002799H - C:0028D9H)</h2>
+<h2><a name="S67"></a>?PR?_KB_DEVICE_SELECT?KB_PROCESS (C:002792H - C:0028D2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -429,14 +432,14 @@
 <li><a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S69"></a>?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS (C:0028DAH - C:0028FEH)</h2>
+<h2><a name="S69"></a>?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS (C:0028D3H - C:0028F7H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S70">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S70">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S70"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:0028FFH - C:002B60H)</h2>
+<h2><a name="S70"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:0028F8H - C:002B59H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S69">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a>) Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -448,7 +451,7 @@
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S72"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:002024H - C:00233AH)</h2>
+<h2><a name="S72"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:00201DH - C:002333H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -462,28 +465,28 @@
 <li><a href="#S65">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S74"></a>?PR?_BIT_COUNT?KEYSCAN (C:0025F9H - C:002606H)</h2>
+<h2><a name="S74"></a>?PR?_BIT_COUNT?KEYSCAN (C:0025F2H - C:0025FFH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S75"></a>?PR?_KEYIN?KEYSCAN (C:002699H - C:0026EEH)</h2>
+<h2><a name="S75"></a>?PR?_KEYIN?KEYSCAN (C:002692H - C:0026E7H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S76"></a>?PR?_KEYOUT?KEYSCAN (C:0026EFH - C:002798H)</h2>
+<h2><a name="S76"></a>?PR?_KEYOUT?KEYSCAN (C:0026E8H - C:002791H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S77"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:001FD0H - C:001FEDH)</h2>
+<h2><a name="S77"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:001F98H - C:001FB4H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S81">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -495,7 +498,7 @@
 <li><a href="#S81">?PR?KS_INITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S81"></a>?PR?KS_INITIALIZE?KEYSCAN (C:001FA6H - C:001FB0H)</h2>
+<h2><a name="S81"></a>?PR?KS_INITIALIZE?KEYSCAN (C:001F6FH - C:001F79H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S77">?PR?KSRAWINITIALIZE?KEYSCAN</a>) Top=4 Bytes (<a href="#S97">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -508,7 +511,7 @@
 <li><a href="#S97">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S82"></a>?PR?KS_UNISTALL?KEYSCAN (C:002B61H - C:002BF9H)</h2>
+<h2><a name="S82"></a>?PR?KS_UNISTALL?KEYSCAN (C:002B5AH - C:002BF2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S194">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>) Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -521,14 +524,14 @@
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S84"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:002FE3H - C:003141H)</h2>
+<h2><a name="S84"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:002FDCH - C:00313DH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S86"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:00261FH - C:00264EH)</h2>
+<h2><a name="S86"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:002618H - C:002647H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -540,7 +543,7 @@
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S88"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:0023ACH - C:0025F8H)</h2>
+<h2><a name="S88"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:0023A5H - C:0025F1H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S84">?PR?KS_SCANMATRIX?KEYSCAN</a>) Top=4 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -558,7 +561,7 @@
 <li><a href="#S62">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S91"></a>?PR?LED_ALL_SHUTDOWN?LED (C:001799H - C:0017B6H)</h2>
+<h2><a name="S91"></a>?PR?LED_ALL_SHUTDOWN?LED (C:0017B7H - C:0017D4H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=4 Bytes (<a href="#S101">?PR?SYSTEM_G24_LONG_LPM?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -573,7 +576,7 @@
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S92"></a>?PR?LED_DEVICE_POWERON?LED (C:001727H - C:00175FH)</h2>
+<h2><a name="S92"></a>?PR?LED_DEVICE_POWERON?LED (C:001745H - C:00177DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S105">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -587,7 +590,7 @@
 <li><a href="#S113">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S93"></a>?PR?LED_DEVICE_POWEROFF?LED (C:001760H - C:001798H)</h2>
+<h2><a name="S93"></a>?PR?LED_DEVICE_POWEROFF?LED (C:00177EH - C:0017B6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S179">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S105">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -601,7 +604,7 @@
 <li><a href="#S113">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S94"></a>?PR?LED_HANDLE?LED (C:001342H - C:001441H)</h2>
+<h2><a name="S94"></a>?PR?LED_HANDLE?LED (C:00136DH - C:00146CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S179">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -627,7 +630,7 @@
 <li><a href="#S98">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S96"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:003142H - C:003154H)</h2>
+<h2><a name="S96"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:00313EH - C:003150H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S97">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -635,7 +638,7 @@
 <li><a href="#S97">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S97"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0017E2H - C:0017E9H)</h2>
+<h2><a name="S97"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0017EFH - C:0017F6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S81">?PR?KS_INITIALIZE?KEYSCAN</a>) Top=2 Bytes (<a href="#S105">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -649,7 +652,7 @@
 <li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S98"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:003155H - C:003189H)</h2>
+<h2><a name="S98"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:003151H - C:003185H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S118">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S105">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -678,7 +681,7 @@
 <li><a href="#S110">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S101"></a>?PR?SYSTEM_G24_LONG_LPM?SYS (C:002FB4H - C:002FE2H)</h2>
+<h2><a name="S101"></a>?PR?SYSTEM_G24_LONG_LPM?SYS (C:002FADH - C:002FDBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S91">?PR?LED_ALL_SHUTDOWN?LED</a>) Top=2 Bytes (<a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -691,14 +694,14 @@
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S102"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001B35H - C:001B34H)</h2>
+<h2><a name="S102"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001AE1H - C:001AE0H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S111">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S111">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S107"></a>?PR?LED_TIMER500MS?SYS (C:00124FH - C:001325H)</h2>
+<h2><a name="S107"></a>?PR?LED_TIMER500MS?SYS (C:00127AH - C:001350H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S197">?PR?_GPIO_FLIPOUTBIT?GPIO</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -713,7 +716,7 @@
 </ul>
 
 <h2><a name="S108"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:000DD0H - C:000EC9H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
@@ -729,7 +732,7 @@
 <li><a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S109"></a>?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS (C:0018B0H - C:0018EEH)</h2>
+<h2><a name="S109"></a>?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS (C:00185CH - C:00189AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S14">?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -742,8 +745,8 @@
 <li><a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S111"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:001963H - C:001B34H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S111"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:00190FH - C:001AE0H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S170">?PR?_DELAY1MS?UTILITIES</a></li>
@@ -760,14 +763,14 @@
 <li><a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S114"></a>?PR?KB_CB_INIT?SYS (C:002F4EH - C:002F53H)</h2>
+<h2><a name="S114"></a>?PR?KB_CB_INIT?SYS (C:002F47H - C:002F4CH)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S118"></a>?PR?YC_ADC_INIT?ADC (C:00318AH - C:00329BH)</h2>
+<h2><a name="S118"></a>?PR?YC_ADC_INIT?ADC (C:003186H - C:003297H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S98">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -779,7 +782,7 @@
 <li><a href="#S98">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S119"></a>?PR?YC_ADC_CHECK?ADC (C:001B3EH - C:001CFBH)</h2>
+<h2><a name="S119"></a>?PR?YC_ADC_CHECK?ADC (C:001AEAH - C:001CA7H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S121">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -791,7 +794,7 @@
 <li><a href="#S121">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
 </ul>
 
-<h2><a name="S121"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:001952H - C:001962H)</h2>
+<h2><a name="S121"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:0018FEH - C:00190EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S119">?PR?YC_ADC_CHECK?ADC</a>) Top=2 Bytes (<a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -803,14 +806,14 @@
 <li><a href="#S112">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S123"></a>?PR?_BUFSIZE?IPC (C:0033A1H - C:0033FAH)</h2>
+<h2><a name="S123"></a>?PR?_BUFSIZE?IPC (C:00339DH - C:0033F6H)</h2>
 <p><br><b>Maximum Stack:</b> Top=10 Bytes (<a href="#S127">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S127">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S125"></a>?PR?_IPCRX?IPC (C:002EFEH - C:002F4DH)</h2>
+<h2><a name="S125"></a>?PR?_IPCRX?IPC (C:002EF7H - C:002F46H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S142">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -896,7 +899,7 @@
 <li><a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S139"></a>?PR?IPC_WAITLPM?IPC (C:002CE7H - C:002CF4H)</h2>
+<h2><a name="S139"></a>?PR?IPC_WAITLPM?IPC (C:002CE0H - C:002CEDH)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -908,21 +911,21 @@
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S140"></a>?PR?IPC_ABANDONLPM?IPC (C:002FA8H - C:002FB3H)</h2>
+<h2><a name="S140"></a>?PR?IPC_ABANDONLPM?IPC (C:002FA1H - C:002FACH)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S141"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:002607H - C:00261EH)</h2>
+<h2><a name="S141"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:002600H - C:002617H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S62">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S62">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S142"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:002CF5H - C:002EFDH)</h2>
+<h2><a name="S142"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:002CEEH - C:002EF6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S125">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S115">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -951,8 +954,8 @@
 <li><a href="#S4">?PR?_YC_STORE_RECORD_LIST?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S164"></a>?PR?_DMEMCPY?UTILITIES (C:003415H - C:003458H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=10 Bytes (<a href="#S206">?PR?_IIC_WRITE?IIC</a>)<p>
+<h2><a name="S164"></a>?PR?_DMEMCPY?UTILITIES (C:003411H - C:003454H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=16 Bytes (<a href="#S206">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
@@ -979,7 +982,7 @@
 <li><a href="#S108">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S168"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:0034F4H - C:003520H)</h2>
+<h2><a name="S168"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:0034F0H - C:00351CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -992,8 +995,8 @@
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S170"></a>?PR?_DELAY1MS?UTILITIES (C:001595H - C:0015ACH)</h2>
-<p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S170"></a>?PR?_DELAY1MS?UTILITIES (C:0015B2H - C:0015C9H)</h2>
+<p><br><b>Maximum Stack:</b> Top=14 Bytes (<a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a></li>
@@ -1006,7 +1009,7 @@
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S171"></a>?PR?_COMPARE_STR?UTILITIES (C:00264FH - C:002698H)</h2>
+<h2><a name="S171"></a>?PR?_COMPARE_STR?UTILITIES (C:002648H - C:002691H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1018,7 +1021,7 @@
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S173"></a>?PR?_GPIOSETBIT?GPIO (C:0017F4H - C:001854H)</h2>
+<h2><a name="S173"></a>?PR?_GPIOSETBIT?GPIO (C:00351DH - C:00357DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=14 Bytes (<a href="#S179">?PR?_GPIO_SETOUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1033,7 +1036,7 @@
 <li><a href="#S181">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
-<h2><a name="S176"></a>?PR?_GPIOGETBIT?GPIO (C:002F67H - C:002FA5H)</h2>
+<h2><a name="S176"></a>?PR?_GPIOGETBIT?GPIO (C:002F60H - C:002F9EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S212">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S197">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1045,14 +1048,14 @@
 <li><a href="#S197">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
-<h2><a name="S178"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:002F61H - C:002F66H)</h2>
+<h2><a name="S178"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:002F5AH - C:002F5FH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S194">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S194">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a></li>
 </ul>
 
-<h2><a name="S179"></a>?PR?_GPIO_SETOUT?GPIO (C:00123EH - C:00124EH)</h2>
+<h2><a name="S179"></a>?PR?_GPIO_SETOUT?GPIO (C:001268H - C:001279H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S173">?PR?_GPIOSETBIT?GPIO</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1063,6 +1066,7 @@
 <ul>
 <li><a href="#S197">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 <li><a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
+<li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
 <li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S113">?PR?KB_CB_TIMER100MS?SYS</a></li>
 <li><a href="#S93">?PR?LED_DEVICE_POWEROFF?LED</a></li>
@@ -1072,7 +1076,7 @@
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S181"></a>?PR?_GPIO_SETPU?GPIO (C:0017C9H - C:0017D9H)</h2>
+<h2><a name="S181"></a>?PR?_GPIO_SETPU?GPIO (C:001FD5H - C:001FE6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S173">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1085,7 +1089,7 @@
 <li><a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S183"></a>?PR?_GPIO_SETPD?GPIO (C:003521H - C:003532H)</h2>
+<h2><a name="S183"></a>?PR?_GPIO_SETPD?GPIO (C:00357EH - C:00358EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S173">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1097,7 +1101,7 @@
 <li><a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S185"></a>?PR?_GPIO_SETOE?GPIO (C:003552H - C:003563H)</h2>
+<h2><a name="S185"></a>?PR?_GPIO_SETOE?GPIO (C:00358FH - C:00359FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S173">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S187">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1110,7 +1114,7 @@
 <li><a href="#S189">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S187"></a>?PR?_GPIO_SETINPUT?GPIO (C:003533H - C:003551H)</h2>
+<h2><a name="S187"></a>?PR?_GPIO_SETINPUT?GPIO (C:001FB5H - C:001FD4H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S183">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S77">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1125,7 +1129,7 @@
 <li><a href="#S77">?PR?KSRAWINITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S189"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:00170BH - C:001726H)</h2>
+<h2><a name="S189"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:001728H - C:001744H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S185">?PR?_GPIO_SETOE?GPIO</a>) Top=6 Bytes (<a href="#S91">?PR?LED_ALL_SHUTDOWN?LED</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1141,7 +1145,7 @@
 <li><a href="#S92">?PR?LED_DEVICE_POWERON?LED</a></li>
 </ul>
 
-<h2><a name="S194"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:002BFAH - C:002C0CH)</h2>
+<h2><a name="S194"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:002BF3H - C:002C05H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S178">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1153,7 +1157,7 @@
 <li><a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S197"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:001326H - C:001341H)</h2>
+<h2><a name="S197"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:001351H - C:00136CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S176">?PR?_GPIOGETBIT?GPIO</a>) Top=4 Bytes (<a href="#S107">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1166,14 +1170,14 @@
 <li><a href="#S107">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S200"></a>?PR?GPIO_FILLPD?GPIO (C:0035A3H - C:0035D6H)</h2>
+<h2><a name="S200"></a>?PR?GPIO_FILLPD?GPIO (C:0035DFH - C:003612H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S203"></a>?PR?IICWAITDONE?IIC (C:0017DAH - C:0017E1H)</h2>
+<h2><a name="S203"></a>?PR?IICWAITDONE?IIC (C:0017E7H - C:0017EEH)</h2>
 <p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S204">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1181,7 +1185,7 @@
 <li><a href="#S206">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S204"></a>?PR?_IIC_READ?IIC (C:00165BH - C:00170AH)</h2>
+<h2><a name="S204"></a>?PR?_IIC_READ?IIC (C:001678H - C:001727H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S203">?PR?IICWAITDONE?IIC</a>) Top=14 Bytes (<a href="#S14">?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1197,8 +1201,8 @@
 <li><a href="#S13">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S206"></a>?PR?_IIC_WRITE?IIC (C:003459H - C:0034F3H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S164">?PR?_DMEMCPY?UTILITIES</a>) Top=8 Bytes (<a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
+<h2><a name="S206"></a>?PR?_IIC_WRITE?IIC (C:003455H - C:0034EFH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S164">?PR?_DMEMCPY?UTILITIES</a>) Top=14 Bytes (<a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S164">?PR?_DMEMCPY?UTILITIES</a></li>
@@ -1210,8 +1214,8 @@
 <li><a href="#S208">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 </ul>
 
-<h2><a name="S208"></a>?PR?_IIC_WRITEBLOCK?IIC (C:0014E7H - C:001594H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S206">?PR?_IIC_WRITE?IIC</a>) Top=6 Bytes (<a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a>)<p>
+<h2><a name="S208"></a>?PR?_IIC_WRITEBLOCK?IIC (C:001504H - C:0015B1H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S206">?PR?_IIC_WRITE?IIC</a>) Top=12 Bytes (<a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S212">?C?LIB_CODE</a></li>
@@ -1221,11 +1225,13 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
+<li><a href="#S105">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S53">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
 <h2><a name="S212"></a>?C?LIB_CODE (C:000003H - C:0005DEH)</h2>
-<p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S129">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
+<p><br><b>Maximum Stack:</b> Top=18 Bytes (<a href="#S164">?PR?_DMEMCPY?UTILITIES</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S86">?PR?_ARRAY_IS_EMPTY?KEYSCAN</a></li>
Index: c51/output/FW.MAP
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.MAP	(revision 334)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               02/11/2022  18:28:38  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               12/25/2021  18:52:31  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -86,7 +86,7 @@
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
 X:000000H   X:004DD0H   X:004F40H   000383H   XDATA
-C:000000H   C:000000H   C:00FFFFH   003521H   CODE
+C:000000H   C:000000H   C:00FFFFH   00355DH   CODE
 I:000000H   I:000010H   I:00007FH   000008H   DATA
 I:000000H   I:000080H   I:0000CFH   000001H   IDATA
 C:000000H   C:000000H   C:00FFFFH   0000B6H   CONST
@@ -142,87 +142,87 @@
 000FF0H   000FF7H   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
 000FF8H   00100CH   000015H   BYTE   UNIT     CODE           ?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH
 00100DH   00108AH   00007EH   BYTE   UNIT     CODE           ?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
-00108BH   00123DH   0001B3H   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
-00123EH   00124EH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
-00124FH   001325H   0000D7H   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
-001326H   001341H   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
-001342H   001441H   000100H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
-001442H   0014E6H   0000A5H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
-0014E7H   001594H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
-001595H   0015ACH   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
-0015ADH   00165AH   0000AEH   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
-00165BH   00170AH   0000B0H   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
-00170BH   001726H   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
-001727H   00175FH   000039H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
-001760H   001798H   000039H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
-001799H   0017B6H   00001EH   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
-0017B7H   0017C8H   000012H   BYTE   UNIT     CODE           ?PR?YC_CANCEL_RECONNECT?BLUETOOTH
-0017C9H   0017D9H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
-0017DAH   0017E1H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
-0017E2H   0017E9H   000008H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
-0017EAH   0017F3H   00000AH   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
-0017F4H   001854H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
-001855H   00186BH   000017H   BYTE   UNIT     CODE           ?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH
-00186CH   0018AFH   000044H   BYTE   UNIT     CODE           ?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH
-0018B0H   0018EEH   00003FH   BYTE   UNIT     CODE           ?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS
-0018EFH   001908H   00001AH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
-001909H   001951H   000049H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
-001952H   001962H   000011H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
-001963H   001B34H   0001D2H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
-001B35H   ---       000000H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-001B35H   001B3DH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-001B3EH   001CFBH   0001BEH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-001CFCH   001FA5H   0002AAH   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
-001FA6H   001FB0H   00000BH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
-001FB1H   001FCFH   00001FH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
-001FD0H   001FEDH   00001EH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
-001FEEH   002008H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
-002009H   002023H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_SYSTEMKEY?KB_PROCESS
-002024H   00233AH   000317H   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
-00233BH   002378H   00003EH   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
-002379H   0023ABH   000033H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
-0023ACH   0025F8H   00024DH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
-0025F9H   002606H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
-002607H   00261EH   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-00261FH   00264EH   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
-00264FH   002698H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
-002699H   0026EEH   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
-0026EFH   002798H   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
-002799H   0028D9H   000141H   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
-0028DAH   0028FEH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-0028FFH   002B60H   000262H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-002B61H   002BF9H   000099H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
-002BFAH   002C0CH   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
-002C0DH   002C98H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
-002C99H   002CE6H   00004EH   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
-002CE7H   002CF4H   00000EH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
-002CF5H   002EFDH   000209H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-002EFEH   002F4DH   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-002F4EH   002F53H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
-002F54H   002F60H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
-002F61H   002F66H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
-002F67H   002FA5H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
-002FA6H   002FA7H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
-002FA8H   002FB3H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-002FB4H   002FE2H   00002FH   BYTE   UNIT     CODE           ?PR?SYSTEM_G24_LONG_LPM?SYS
-002FE3H   003141H   00015FH   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
-003142H   003154H   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
-003155H   003189H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-00318AH   00329BH   000112H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-00329CH   0032ABH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-0032ACH   0033A0H   0000F5H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-0033A1H   0033FAH   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-0033FBH   003407H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
-003408H   00340DH   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-00340EH   003414H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-003415H   003458H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-003459H   0034F3H   00009BH   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
-0034F4H   003520H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
-003521H   003532H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
-003533H   003551H   00001FH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
-003552H   003563H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
-003564H   0035A2H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-0035A3H   0035D6H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+00108BH   001267H   0001DDH   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
+001268H   001279H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
+00127AH   001350H   0000D7H   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
+001351H   00136CH   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
+00136DH   00146CH   000100H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
+00146DH   001503H   000097H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
+001504H   0015B1H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
+0015B2H   0015C9H   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
+0015CAH   001677H   0000AEH   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
+001678H   001727H   0000B0H   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
+001728H   001744H   00001DH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
+001745H   00177DH   000039H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
+00177EH   0017B6H   000039H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
+0017B7H   0017D4H   00001EH   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
+0017D5H   0017E6H   000012H   BYTE   UNIT     CODE           ?PR?YC_CANCEL_RECONNECT?BLUETOOTH
+0017E7H   0017EEH   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
+0017EFH   0017F6H   000008H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
+0017F7H   001800H   00000AH   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
+001801H   001817H   000017H   BYTE   UNIT     CODE           ?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH
+001818H   00185BH   000044H   BYTE   UNIT     CODE           ?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH
+00185CH   00189AH   00003FH   BYTE   UNIT     CODE           ?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS
+00189BH   0018B4H   00001AH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
+0018B5H   0018FDH   000049H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
+0018FEH   00190EH   000011H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+00190FH   001AE0H   0001D2H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
+001AE1H   ---       000000H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+001AE1H   001AE9H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+001AEAH   001CA7H   0001BEH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+001CA8H   001F6EH   0002C7H   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
+001F6FH   001F79H   00000BH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
+001F7AH   001F97H   00001EH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
+001F98H   001FB4H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
+001FB5H   001FD4H   000020H   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+001FD5H   001FE6H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+001FE7H   002001H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
+002002H   00201CH   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_SYSTEMKEY?KB_PROCESS
+00201DH   002333H   000317H   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
+002334H   002371H   00003EH   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
+002372H   0023A4H   000033H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
+0023A5H   0025F1H   00024DH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
+0025F2H   0025FFH   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+002600H   002617H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+002618H   002647H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+002648H   002691H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+002692H   0026E7H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
+0026E8H   002791H   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
+002792H   0028D2H   000141H   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
+0028D3H   0028F7H   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
+0028F8H   002B59H   000262H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+002B5AH   002BF2H   000099H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
+002BF3H   002C05H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+002C06H   002C91H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
+002C92H   002CDFH   00004EH   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
+002CE0H   002CEDH   00000EH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
+002CEEH   002EF6H   000209H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+002EF7H   002F46H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+002F47H   002F4CH   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+002F4DH   002F59H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+002F5AH   002F5FH   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+002F60H   002F9EH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+002F9FH   002FA0H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+002FA1H   002FACH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+002FADH   002FDBH   00002FH   BYTE   UNIT     CODE           ?PR?SYSTEM_G24_LONG_LPM?SYS
+002FDCH   00313DH   000162H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+00313EH   003150H   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
+003151H   003185H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+003186H   003297H   000112H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+003298H   0032A7H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+0032A8H   00339CH   0000F5H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+00339DH   0033F6H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+0033F7H   003403H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
+003404H   003409H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+00340AH   003410H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+003411H   003454H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+003455H   0034EFH   00009BH   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
+0034F0H   00351CH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+00351DH   00357DH   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+00357EH   00358EH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+00358FH   00359FH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+0035A0H   0035DEH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+0035DFH   003612H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
 
 * * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
 000040H   000045H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?29
@@ -403,42 +403,42 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       01000626H   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      0100261FH   CODE     ---       _array_is_empty
-      0100264FH   CODE     ---       _compare_str
-      01001595H   CODE     ---       _Delay1ms
-      01003415H   CODE     ---       _dmemcpy
-      01003564H   CODE     ---       _GPIO_ClearWakeup
-      01001326H   CODE     ---       _GPIO_FlipOutBit
-      01002F61H   CODE     ---       _GPIO_GetInputStatus
-      01003533H   CODE     ---       _GPIO_SetInput
-      01003552H   CODE     ---       _GPIO_Setoe
-      0100123EH   CODE     ---       _GPIO_Setout
-      0100170BH   CODE     ---       _GPIO_SetOutput
-      01003521H   CODE     ---       _GPIO_SetPd
-      010017C9H   CODE     ---       _GPIO_SetPu
-      01002C0DH   CODE     ---       _GPIO_SetWakeup
-      01002BFAH   CODE     ---       _GPIO_SetWakeupByCurrentState
-      0100165BH   CODE     ---       _IIC_Read
-      01003459H   CODE     ---       _IIC_write
-      010014E7H   CODE     ---       _IIC_WriteBlock
-      01002F54H   CODE     ---       _IPC_Initialize
+      01002618H   CODE     ---       _array_is_empty
+      01002648H   CODE     ---       _compare_str
+      010015B2H   CODE     ---       _Delay1ms
+      01003411H   CODE     ---       _dmemcpy
+      010035A0H   CODE     ---       _GPIO_ClearWakeup
+      01001351H   CODE     ---       _GPIO_FlipOutBit
+      01002F5AH   CODE     ---       _GPIO_GetInputStatus
+      01001FB5H   CODE     ---       _GPIO_SetInput
+      0100358FH   CODE     ---       _GPIO_Setoe
+      01001268H   CODE     ---       _GPIO_Setout
+      01001728H   CODE     ---       _GPIO_SetOutput
+      0100357EH   CODE     ---       _GPIO_SetPd
+      01001FD5H   CODE     ---       _GPIO_SetPu
+      01002C06H   CODE     ---       _GPIO_SetWakeup
+      01002BF3H   CODE     ---       _GPIO_SetWakeupByCurrentState
+      01001678H   CODE     ---       _IIC_Read
+      01003455H   CODE     ---       _IIC_write
+      01001504H   CODE     ---       _IIC_WriteBlock
+      01002F4DH   CODE     ---       _IPC_Initialize
       01000FE0H   CODE     ---       _IPC_Tx24GData
       01000FE8H   CODE     ---       _IPC_TxBleData
-      010033FBH   CODE     ---       _IPC_TxBREDRHidData
+      010033F7H   CODE     ---       _IPC_TxBREDRHidData
       01000ECAH   CODE     ---       _IPC_TxControlCmd
       01000FBBH   CODE     ---       _IPC_TxData
       01000C30H   CODE     ---       _IPC_TxHidData
       01000FF0H   CODE     ---       _IPC_TxSppData
-      010028DAH   CODE     ---       _kb_combination_key_press
-      01002799H   CODE     ---       _kb_device_select
+      010028D3H   CODE     ---       _kb_combination_key_press
+      01002792H   CODE     ---       _kb_device_select
       010008C0H   CODE     ---       _kb_motion_keyscan
-      01002024H   CODE     ---       _kb_multikey_setup
+      0100201DH   CODE     ---       _kb_multikey_setup
       01000D12H   CODE     ---       _kb_send_combination_key
-      01001FEEH   CODE     ---       _kb_set_multikey
-      01002009H   CODE     ---       _kb_set_systemkey
-      010028FFH   CODE     ---       _key_fn_function
+      01001FE7H   CODE     ---       _kb_set_multikey
+      01002002H   CODE     ---       _kb_set_systemkey
+      010028F8H   CODE     ---       _key_fn_function
       01000B6BH   CODE     ---       _xmemclear
-      010034F4H   CODE     ---       _xmemclear_ff
+      010034F0H   CODE     ---       _xmemclear_ff
       0100087DH   CODE     ---       _xmemcpy
       0100108BH   CODE     ---       _YC_key_action_handle
       01000737H   CODE     ---       _YC_load_record_list
@@ -462,27 +462,27 @@
       02004DD8H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD5H   XDATA    BYTE      get_24g_led_send
-      010035A3H   CODE     ---       GPIO_fillpd
+      010035DFH   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DE1H   XDATA    BYTE      iOS_rec_pinCode
-      01002FA8H   CODE     ---       IPC_AbandonLpm
-      01002CF5H   CODE     ---       IPC_DealSingleStep
-      01003408H   CODE     ---       IPC_GetBBDIsconnectReason
-      01002607H   CODE     ---       IPC_IsTxBuffEmpty
-      01002CE7H   CODE     ---       IPC_WaitLpm
+      01002FA1H   CODE     ---       IPC_AbandonLpm
+      01002CEEH   CODE     ---       IPC_DealSingleStep
+      01003404H   CODE     ---       IPC_GetBBDIsconnectReason
+      01002600H   CODE     ---       IPC_IsTxBuffEmpty
+      01002CE0H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
       02000C4BH   XDATA    ---       ipcReadBuff
       02000BE7H   XDATA    ---       ipcSendBuff
-      0100233BH   CODE     ---       kb_24g_get_led_status
-      01001963H   CODE     ---       kb_button_press_timer500ms
+      01002334H   CODE     ---       kb_24g_get_led_status
+      0100190FH   CODE     ---       kb_button_press_timer500ms
       01000D4CH   CODE     ---       kb_need_keyscan
       02004DE8H   XDATA    BYTE      key_value_temp
       02004DE4H   XDATA    BYTE      keyCount
-      010023ACH   CODE     ---       KS_GetCurrentEvt
-      01001FA6H   CODE     ---       KS_Initialize
-      01002FE3H   CODE     ---       KS_ScanMatrix
-      01002B61H   CODE     ---       KS_Unistall
+      010023A5H   CODE     ---       KS_GetCurrentEvt
+      01001F6FH   CODE     ---       KS_Initialize
+      01002FDCH   CODE     ---       KS_ScanMatrix
+      01002B5AH   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
       02004EA4H   XDATA    ---       ksEvtPool
       01000696H   CONST    ---       ksMap
@@ -494,11 +494,11 @@
       02004DD7H   XDATA    BYTE      le_pin_code_len
       02004DDBH   XDATA    BYTE      le_send_battery_level_delay_count
       02004DDAH   XDATA    BYTE      le_send_battery_level_flag
-      01001799H   CODE     ---       LED_all_shutdown
-      01001760H   CODE     ---       LED_device_poweroff
-      01001727H   CODE     ---       LED_device_poweron
-      01001342H   CODE     ---       LED_handle
-      0100124FH   CODE     ---       LED_timer500ms
+      010017B7H   CODE     ---       LED_all_shutdown
+      0100177EH   CODE     ---       LED_device_poweroff
+      01001745H   CODE     ---       LED_device_poweron
+      0100136DH   CODE     ---       LED_handle
+      0100127AH   CODE     ---       LED_timer500ms
       02004DDCH   XDATA    BYTE      long_press_flag
       02000B7FH   XDATA    BYTE      lpm_flag
       02004C00H   XDATA    ---       m_24g_addr
@@ -530,7 +530,7 @@
       02008010H   XDATA    BYTE      m_reset_reg
       020047F4H   XDATA    WORD      m_ui_state_map
       02000B81H   XDATA    BYTE      m_wakup_from_power_flag
-      01002FA6H   CODE     ---       main
+      01002F9FH   CODE     ---       main
       02004E4BH   XDATA    BYTE      mult_key_status
       02004DEDH   XDATA    BYTE      mult_key_value
       02004E4CH   XDATA    ---       multikey
@@ -541,30 +541,30 @@
       02004DDDH   XDATA    BYTE      repeat_send_24g
       02004DDFH   XDATA    BYTE      standard_key_release_flag
       02004DD9H   XDATA    BYTE      switch_role_timer
-      01002FB4H   CODE     ---       System_G24_long_lpm
+      01002FADH   CODE     ---       System_G24_long_lpm
       02004DE9H   XDATA    BYTE      system_key_press
       01000FB2H   CODE     ---       System_long_sleep
-      01001B35H   CODE     ---       System_Reset_Connect
-      01003155H   CODE     ---       System_Software_init
-      01001B3EH   CODE     ---       YC_adc_check
-      01001952H   CODE     ---       YC_adc_check_timer500ms
-      0100318AH   CODE     ---       YC_adc_init
-      010017B7H   CODE     ---       YC_cancel_reconnect
+      01001AE1H   CODE     ---       System_Reset_Connect
+      01003151H   CODE     ---       System_Software_init
+      01001AEAH   CODE     ---       YC_adc_check
+      010018FEH   CODE     ---       YC_adc_check_timer500ms
+      01003186H   CODE     ---       YC_adc_init
+      010017D5H   CODE     ---       YC_cancel_reconnect
       01000FF8H   CODE     ---       YC_check_is_connected
       0100100DH   CODE     ---       YC_check_need_reconnected
-      010017EAH   CODE     ---       YC_clear_reconnect_flag
+      010017F7H   CODE     ---       YC_clear_reconnect_flag
       01000DD0H   CODE     ---       YC_connect_timeout_500ms
       01000F87H   CODE     ---       YC_disconnect_all_link
-      01001855H   CODE     ---       YC_g24_mode_discovery
-      0100186CH   CODE     ---       YC_get_ble_ramdon_lap
+      01001801H   CODE     ---       YC_g24_mode_discovery
+      01001818H   CODE     ---       YC_get_ble_ramdon_lap
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      0100340EH   CODE     ---       YC_Ice_break
-      01001909H   CODE     ---       YC_pairing_timerout_500ms
-      010015ADH   CODE     ---       YC_start_reconnect
-      01002C99H   CODE     ---       YC_System_Main
-      01001442H   CODE     ---       YC_update_eeprom_data
-      010018B0H   CODE     ---       YC_wait_disconnect_timer500ms
+      0100340AH   CODE     ---       YC_Ice_break
+      010018B5H   CODE     ---       YC_pairing_timerout_500ms
+      010015CAH   CODE     ---       YC_start_reconnect
+      01002C92H   CODE     ---       YC_System_Main
+      0100146DH   CODE     ---       YC_update_eeprom_data
+      0100185CH   CODE     ---       YC_wait_disconnect_timer500ms
 
 
 
@@ -573,13 +573,13 @@
       VALUE       REP       CLASS    TYPE      SYMBOL NAME
       ====================================================
       ---         MODULE    ---      ---       BLUETOOTH
-      01001442H   PUBLIC    CODE     ---       YC_update_eeprom_data
-      0100186CH   PUBLIC    CODE     ---       YC_get_ble_ramdon_lap
-      010015ADH   PUBLIC    CODE     ---       YC_start_reconnect
-      01001855H   PUBLIC    CODE     ---       YC_g24_mode_discovery
+      0100146DH   PUBLIC    CODE     ---       YC_update_eeprom_data
+      01001818H   PUBLIC    CODE     ---       YC_get_ble_ramdon_lap
+      010015CAH   PUBLIC    CODE     ---       YC_start_reconnect
+      01001801H   PUBLIC    CODE     ---       YC_g24_mode_discovery
       01000F87H   PUBLIC    CODE     ---       YC_disconnect_all_link
-      010017EAH   PUBLIC    CODE     ---       YC_clear_reconnect_flag
-      010017B7H   PUBLIC    CODE     ---       YC_cancel_reconnect
+      010017F7H   PUBLIC    CODE     ---       YC_clear_reconnect_flag
+      010017D5H   PUBLIC    CODE     ---       YC_cancel_reconnect
       0100100DH   PUBLIC    CODE     ---       YC_check_need_reconnected
       01000FF8H   PUBLIC    CODE     ---       YC_check_is_connected
       01000803H   PUBLIC    CODE     ---       _YC_store_record_list
@@ -680,24 +680,24 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010017B7H   BLOCK     CODE     ---       LVL=0
-      010017B7H   LINE      ---      ---       #105
-      010017B7H   LINE      ---      ---       #106
-      010017B7H   LINE      ---      ---       #107
-      010017BEH   LINE      ---      ---       #108
-      010017BEH   LINE      ---      ---       #110
-      010017C3H   LINE      ---      ---       #111
-      010017C6H   LINE      ---      ---       #112
-      010017C6H   LINE      ---      ---       #113
-      010017C8H   LINE      ---      ---       #114
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017EAH   BLOCK     CODE     ---       LVL=0
-      010017EAH   LINE      ---      ---       #117
-      010017EAH   LINE      ---      ---       #118
-      010017EAH   LINE      ---      ---       #119
-      010017EFH   LINE      ---      ---       #120
-      010017F3H   LINE      ---      ---       #121
+      010017D5H   BLOCK     CODE     ---       LVL=0
+      010017D5H   LINE      ---      ---       #105
+      010017D5H   LINE      ---      ---       #106
+      010017D5H   LINE      ---      ---       #107
+      010017DCH   LINE      ---      ---       #108
+      010017DCH   LINE      ---      ---       #110
+      010017E1H   LINE      ---      ---       #111
+      010017E4H   LINE      ---      ---       #112
+      010017E4H   LINE      ---      ---       #113
+      010017E6H   LINE      ---      ---       #114
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010017F7H   BLOCK     CODE     ---       LVL=0
+      010017F7H   LINE      ---      ---       #117
+      010017F7H   LINE      ---      ---       #118
+      010017F7H   LINE      ---      ---       #119
+      010017FCH   LINE      ---      ---       #120
+      01001800H   LINE      ---      ---       #121
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000F87H   BLOCK     CODE     ---       LVL=0
@@ -717,84 +717,85 @@
       01000FB1H   LINE      ---      ---       #139
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01001855H   BLOCK     CODE     ---       LVL=0
-      01001855H   LINE      ---      ---       #141
-      01001855H   LINE      ---      ---       #142
-      01001855H   LINE      ---      ---       #143
-      01001861H   LINE      ---      ---       #144
-      01001861H   LINE      ---      ---       #145
-      01001866H   LINE      ---      ---       #146
-      01001869H   LINE      ---      ---       #147
-      01001869H   LINE      ---      ---       #148
-      0100186BH   LINE      ---      ---       #149
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010015ADH   BLOCK     CODE     ---       LVL=0
-      010015ADH   LINE      ---      ---       #153
-      010015ADH   LINE      ---      ---       #154
-      010015ADH   LINE      ---      ---       #155
-      010015B3H   LINE      ---      ---       #156
-      010015C3H   LINE      ---      ---       #157
-      010015C7H   LINE      ---      ---       #158
-      010015D7H   LINE      ---      ---       #159
-      010015DBH   LINE      ---      ---       #160
-      010015EBH   LINE      ---      ---       #161
-      010015EFH   LINE      ---      ---       #162
-      010015FFH   LINE      ---      ---       #163
-      01001603H   LINE      ---      ---       #165
-      01001613H   LINE      ---      ---       #166
-      01001613H   LINE      ---      ---       #167
-      01001626H   LINE      ---      ---       #168
-      0100163CH   LINE      ---      ---       #169
-      0100163EH   LINE      ---      ---       #170
-      01001640H   LINE      ---      ---       #172
-      01001640H   LINE      ---      ---       #173
-      01001644H   LINE      ---      ---       #174
-      01001644H   LINE      ---      ---       #175
-      0100164DH   LINE      ---      ---       #176
-      0100164FH   LINE      ---      ---       #177
-      01001658H   LINE      ---      ---       #178
-      01001658H   LINE      ---      ---       #179
-      0100165AH   LINE      ---      ---       #180
-      0100165AH   LINE      ---      ---       #181
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100186CH   BLOCK     CODE     ---       LVL=0
-      0100186CH   LINE      ---      ---       #185
-      0100186CH   LINE      ---      ---       #186
-      0100186CH   LINE      ---      ---       #187
-      0100187DH   LINE      ---      ---       #188
-      01001883H   LINE      ---      ---       #189
-      01001887H   LINE      ---      ---       #190
-      0100188FH   LINE      ---      ---       #191
-      01001897H   LINE      ---      ---       #192
-      0100189FH   LINE      ---      ---       #193
-      010018A7H   LINE      ---      ---       #194
-      010018AFH   LINE      ---      ---       #195
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001442H   BLOCK     CODE     ---       LVL=0
-      01001442H   LINE      ---      ---       #199
-      01001442H   LINE      ---      ---       #200
-      01001442H   LINE      ---      ---       #201
-      0100144AH   LINE      ---      ---       #202
-      0100144AH   LINE      ---      ---       #204
-      01001461H   LINE      ---      ---       #208
-      01001467H   LINE      ---      ---       #209
-      0100146FH   LINE      ---      ---       #210
-      0100146FH   LINE      ---      ---       #211
-      0100147EH   LINE      ---      ---       #212
-      0100148EH   LINE      ---      ---       #213
-      0100149EH   LINE      ---      ---       #214
-      010014A0H   LINE      ---      ---       #215
-      010014A7H   LINE      ---      ---       #216
-      010014B7H   LINE      ---      ---       #218
-      010014C7H   LINE      ---      ---       #219
-      010014D7H   LINE      ---      ---       #221
-      010014DDH   LINE      ---      ---       #222
-      010014E1H   LINE      ---      ---       #223
-      010014E6H   LINE      ---      ---       #224
-      010014E6H   LINE      ---      ---       #225
+      01001801H   BLOCK     CODE     ---       LVL=0
+      01001801H   LINE      ---      ---       #141
+      01001801H   LINE      ---      ---       #142
+      01001801H   LINE      ---      ---       #143
+      0100180DH   LINE      ---      ---       #144
+      0100180DH   LINE      ---      ---       #145
+      01001812H   LINE      ---      ---       #146
+      01001815H   LINE      ---      ---       #147
+      01001815H   LINE      ---      ---       #148
+      01001817H   LINE      ---      ---       #149
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010015CAH   BLOCK     CODE     ---       LVL=0
+      010015CAH   LINE      ---      ---       #153
+      010015CAH   LINE      ---      ---       #154
+      010015CAH   LINE      ---      ---       #155
+      010015D0H   LINE      ---      ---       #156
+      010015E0H   LINE      ---      ---       #157
+      010015E4H   LINE      ---      ---       #158
+      010015F4H   LINE      ---      ---       #159
+      010015F8H   LINE      ---      ---       #160
+      01001608H   LINE      ---      ---       #161
+      0100160CH   LINE      ---      ---       #162
+      0100161CH   LINE      ---      ---       #163
+      01001620H   LINE      ---      ---       #165
+      01001630H   LINE      ---      ---       #166
+      01001630H   LINE      ---      ---       #167
+      01001643H   LINE      ---      ---       #168
+      01001659H   LINE      ---      ---       #169
+      0100165BH   LINE      ---      ---       #170
+      0100165DH   LINE      ---      ---       #172
+      0100165DH   LINE      ---      ---       #173
+      01001661H   LINE      ---      ---       #174
+      01001661H   LINE      ---      ---       #175
+      0100166AH   LINE      ---      ---       #176
+      0100166CH   LINE      ---      ---       #177
+      01001675H   LINE      ---      ---       #178
+      01001675H   LINE      ---      ---       #179
+      01001677H   LINE      ---      ---       #180
+      01001677H   LINE      ---      ---       #181
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001818H   BLOCK     CODE     ---       LVL=0
+      01001818H   LINE      ---      ---       #185
+      01001818H   LINE      ---      ---       #186
+      01001818H   LINE      ---      ---       #187
+      01001829H   LINE      ---      ---       #188
+      0100182FH   LINE      ---      ---       #189
+      01001833H   LINE      ---      ---       #190
+      0100183BH   LINE      ---      ---       #191
+      01001843H   LINE      ---      ---       #192
+      0100184BH   LINE      ---      ---       #193
+      01001853H   LINE      ---      ---       #194
+      0100185BH   LINE      ---      ---       #195
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100146DH   BLOCK     CODE     ---       LVL=0
+      0100146DH   LINE      ---      ---       #199
+      0100146DH   LINE      ---      ---       #200
+      0100146DH   LINE      ---      ---       #201
+      01001476H   LINE      ---      ---       #202
+      01001476H   LINE      ---      ---       #203
+      0100147AH   LINE      ---      ---       #204
+      0100147EH   LINE      ---      ---       #205
+      01001484H   LINE      ---      ---       #206
+      0100148CH   LINE      ---      ---       #207
+      0100148CH   LINE      ---      ---       #208
+      0100149BH   LINE      ---      ---       #209
+      010014ABH   LINE      ---      ---       #210
+      010014BBH   LINE      ---      ---       #211
+      010014BDH   LINE      ---      ---       #212
+      010014C4H   LINE      ---      ---       #213
+      010014D4H   LINE      ---      ---       #215
+      010014E4H   LINE      ---      ---       #216
+      010014F4H   LINE      ---      ---       #218
+      010014FAH   LINE      ---      ---       #219
+      010014FEH   LINE      ---      ---       #220
+      01001503H   LINE      ---      ---       #221
+      01001503H   LINE      ---      ---       #222
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       GLOBAL_VARIABLE
@@ -869,16 +870,16 @@
       01000681H   PUBLIC    CONST    ---       col
 
       ---         MODULE    ---      ---       KB_PROCESS
-      01002024H   PUBLIC    CODE     ---       _kb_multikey_setup
-      010028FFH   PUBLIC    CODE     ---       _key_fn_function
-      010028DAH   PUBLIC    CODE     ---       _kb_combination_key_press
-      01002799H   PUBLIC    CODE     ---       _kb_device_select
+      0100201DH   PUBLIC    CODE     ---       _kb_multikey_setup
+      010028F8H   PUBLIC    CODE     ---       _key_fn_function
+      010028D3H   PUBLIC    CODE     ---       _kb_combination_key_press
+      01002792H   PUBLIC    CODE     ---       _kb_device_select
       010008C0H   PUBLIC    CODE     ---       _kb_motion_keyscan
       01000D4CH   PUBLIC    CODE     ---       kb_need_keyscan
-      0100233BH   PUBLIC    CODE     ---       kb_24g_get_led_status
+      01002334H   PUBLIC    CODE     ---       kb_24g_get_led_status
       01000D12H   PUBLIC    CODE     ---       _kb_send_combination_key
-      01002009H   PUBLIC    CODE     ---       _kb_set_systemkey
-      01001FEEH   PUBLIC    CODE     ---       _kb_set_multikey
+      01002002H   PUBLIC    CODE     ---       _kb_set_systemkey
+      01001FE7H   PUBLIC    CODE     ---       _kb_set_multikey
       01000C30H   PUBLIC    CODE     ---       _IPC_TxHidData
       0100108BH   PUBLIC    CODE     ---       _YC_key_action_handle
 
@@ -934,883 +935,887 @@
       0100116CH   LINE      ---      ---       #55
       01001172H   LINE      ---      ---       #56
       01001174H   LINE      ---      ---       #57
-      0100117AH   LINE      ---      ---       #58
-      0100117FH   LINE      ---      ---       #59
-      01001180H   LINE      ---      ---       #60
-      01001180H   LINE      ---      ---       #61
-      01001180H   LINE      ---      ---       #62
-      01001185H   LINE      ---      ---       #63
-      0100118AH   LINE      ---      ---       #64
-      0100118AH   LINE      ---      ---       #65
-      01001192H   LINE      ---      ---       #66
-      01001193H   LINE      ---      ---       #68
-      01001193H   LINE      ---      ---       #69
-      010011A3H   LINE      ---      ---       #70
-      010011A7H   LINE      ---      ---       #71
-      010011ACH   LINE      ---      ---       #72
-      010011C2H   LINE      ---      ---       #73
-      010011C2H   LINE      ---      ---       #74
-      010011C8H   LINE      ---      ---       #75
-      010011CAH   LINE      ---      ---       #76
-      010011CCH   LINE      ---      ---       #77
-      010011CEH   LINE      ---      ---       #78
-      010011D4H   LINE      ---      ---       #79
-      010011D4H   LINE      ---      ---       #81
-      010011D9H   LINE      ---      ---       #83
-      010011DFH   LINE      ---      ---       #84
-      010011E2H   LINE      ---      ---       #85
-      010011E6H   LINE      ---      ---       #86
-      010011E6H   LINE      ---      ---       #87
-      010011E7H   LINE      ---      ---       #88
-      010011E7H   LINE      ---      ---       #89
-      010011ECH   LINE      ---      ---       #90
-      010011F7H   LINE      ---      ---       #91
-      010011F7H   LINE      ---      ---       #92
-      010011FFH   LINE      ---      ---       #93
-      01001200H   LINE      ---      ---       #95
-      01001200H   LINE      ---      ---       #96
-      01001208H   LINE      ---      ---       #97
-      01001208H   LINE      ---      ---       #98
-      0100120DH   LINE      ---      ---       #99
-      01001212H   LINE      ---      ---       #100
-      01001218H   LINE      ---      ---       #101
-      0100121BH   LINE      ---      ---       #102
-      01001221H   LINE      ---      ---       #103
-      01001227H   LINE      ---      ---       #104
-      0100122DH   LINE      ---      ---       #105
-      01001232H   LINE      ---      ---       #106
-      01001232H   LINE      ---      ---       #107
-      01001237H   LINE      ---      ---       #108
-      01001237H   LINE      ---      ---       #109
-      01001238H   LINE      ---      ---       #110
-      01001238H   LINE      ---      ---       #111
-      0100123DH   LINE      ---      ---       #112
-      0100123DH   LINE      ---      ---       #113
-      0100123DH   LINE      ---      ---       #114
+      01001178H   LINE      ---      ---       #58
+      0100117EH   LINE      ---      ---       #59
+      0100118EH   LINE      ---      ---       #60
+      0100119EH   LINE      ---      ---       #61
+      010011A4H   LINE      ---      ---       #62
+      010011A9H   LINE      ---      ---       #63
+      010011AAH   LINE      ---      ---       #64
+      010011AAH   LINE      ---      ---       #65
+      010011AAH   LINE      ---      ---       #66
+      010011AFH   LINE      ---      ---       #67
+      010011B4H   LINE      ---      ---       #68
+      010011B4H   LINE      ---      ---       #69
+      010011BCH   LINE      ---      ---       #70
+      010011BDH   LINE      ---      ---       #72
+      010011BDH   LINE      ---      ---       #73
+      010011CDH   LINE      ---      ---       #74
+      010011D1H   LINE      ---      ---       #75
+      010011D6H   LINE      ---      ---       #76
+      010011ECH   LINE      ---      ---       #77
+      010011ECH   LINE      ---      ---       #78
+      010011F2H   LINE      ---      ---       #79
+      010011F4H   LINE      ---      ---       #80
+      010011F6H   LINE      ---      ---       #81
+      010011F8H   LINE      ---      ---       #82
+      010011FEH   LINE      ---      ---       #83
+      010011FEH   LINE      ---      ---       #85
+      01001203H   LINE      ---      ---       #87
+      01001209H   LINE      ---      ---       #88
+      0100120CH   LINE      ---      ---       #89
+      01001210H   LINE      ---      ---       #90
+      01001210H   LINE      ---      ---       #91
+      01001211H   LINE      ---      ---       #92
+      01001211H   LINE      ---      ---       #93
+      01001216H   LINE      ---      ---       #94
+      01001221H   LINE      ---      ---       #95
+      01001221H   LINE      ---      ---       #96
+      01001229H   LINE      ---      ---       #97
+      0100122AH   LINE      ---      ---       #99
+      0100122AH   LINE      ---      ---       #100
+      01001232H   LINE      ---      ---       #101
+      01001232H   LINE      ---      ---       #102
+      01001237H   LINE      ---      ---       #103
+      0100123CH   LINE      ---      ---       #104
+      01001242H   LINE      ---      ---       #105
+      01001245H   LINE      ---      ---       #106
+      0100124BH   LINE      ---      ---       #107
+      01001251H   LINE      ---      ---       #108
+      01001257H   LINE      ---      ---       #109
+      0100125CH   LINE      ---      ---       #110
+      0100125CH   LINE      ---      ---       #111
+      01001261H   LINE      ---      ---       #112
+      01001261H   LINE      ---      ---       #113
+      01001262H   LINE      ---      ---       #114
+      01001262H   LINE      ---      ---       #115
+      01001267H   LINE      ---      ---       #116
+      01001267H   LINE      ---      ---       #117
+      01001267H   LINE      ---      ---       #118
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000C30H   BLOCK     CODE     ---       LVL=0
-      01000C30H   LINE      ---      ---       #118
-      01000C3EH   LINE      ---      ---       #119
+      01000C30H   LINE      ---      ---       #122
+      01000C3EH   LINE      ---      ---       #123
       01000C3EH   BLOCK     CODE     NEAR LAB  LVL=1
-      01000C3EH   LINE      ---      ---       #121
-      01000C40H   LINE      ---      ---       #123
-      01000C4AH   LINE      ---      ---       #124
-      01000C4AH   LINE      ---      ---       #125
-      01000C6AH   LINE      ---      ---       #126
-      01000C6DH   LINE      ---      ---       #128
-      01000C75H   LINE      ---      ---       #130
-      01000C7DH   LINE      ---      ---       #133
-      01000C90H   LINE      ---      ---       #135
-      01000C90H   LINE      ---      ---       #136
-      01000C97H   LINE      ---      ---       #137
-      01000C9AH   LINE      ---      ---       #138
-      01000CA7H   LINE      ---      ---       #140
-      01000CA7H   LINE      ---      ---       #141
-      01000CAFH   LINE      ---      ---       #142
-      01000CAFH   LINE      ---      ---       #143
-      01000CB7H   LINE      ---      ---       #144
-      01000CB7H   LINE      ---      ---       #145
-      01000CBAH   LINE      ---      ---       #146
-      01000CCCH   LINE      ---      ---       #147
-      01000CD2H   LINE      ---      ---       #149
-      01000CD8H   LINE      ---      ---       #150
-      01000CDAH   LINE      ---      ---       #151
-      01000CE1H   LINE      ---      ---       #152
-      01000CE1H   LINE      ---      ---       #153
-      01000CE4H   LINE      ---      ---       #154
-      01000CECH   LINE      ---      ---       #155
-      01000CECH   LINE      ---      ---       #156
-      01000CF0H   LINE      ---      ---       #157
-      01000CF2H   LINE      ---      ---       #159
-      01000CF2H   LINE      ---      ---       #160
-      01000CF8H   LINE      ---      ---       #161
-      01000CF8H   LINE      ---      ---       #162
-      01000CFAH   LINE      ---      ---       #163
-      01000D01H   LINE      ---      ---       #164
-      01000D01H   LINE      ---      ---       #165
-      01000D04H   LINE      ---      ---       #166
-      01000D04H   LINE      ---      ---       #167
-      01000D11H   LINE      ---      ---       #168
-      01000D11H   LINE      ---      ---       #169
+      01000C3EH   LINE      ---      ---       #125
+      01000C40H   LINE      ---      ---       #127
+      01000C4AH   LINE      ---      ---       #128
+      01000C4AH   LINE      ---      ---       #129
+      01000C6AH   LINE      ---      ---       #130
+      01000C6DH   LINE      ---      ---       #132
+      01000C75H   LINE      ---      ---       #134
+      01000C7DH   LINE      ---      ---       #137
+      01000C90H   LINE      ---      ---       #139
+      01000C90H   LINE      ---      ---       #140
+      01000C97H   LINE      ---      ---       #141
+      01000C9AH   LINE      ---      ---       #142
+      01000CA7H   LINE      ---      ---       #144
+      01000CA7H   LINE      ---      ---       #145
+      01000CAFH   LINE      ---      ---       #146
+      01000CAFH   LINE      ---      ---       #147
+      01000CB7H   LINE      ---      ---       #148
+      01000CB7H   LINE      ---      ---       #149
+      01000CBAH   LINE      ---      ---       #150
+      01000CCCH   LINE      ---      ---       #151
+      01000CD2H   LINE      ---      ---       #153
+      01000CD8H   LINE      ---      ---       #154
+      01000CDAH   LINE      ---      ---       #155
+      01000CE1H   LINE      ---      ---       #156
+      01000CE1H   LINE      ---      ---       #157
+      01000CE4H   LINE      ---      ---       #158
+      01000CECH   LINE      ---      ---       #159
+      01000CECH   LINE      ---      ---       #160
+      01000CF0H   LINE      ---      ---       #161
+      01000CF2H   LINE      ---      ---       #163
+      01000CF2H   LINE      ---      ---       #164
+      01000CF8H   LINE      ---      ---       #165
+      01000CF8H   LINE      ---      ---       #166
+      01000CFAH   LINE      ---      ---       #167
+      01000D01H   LINE      ---      ---       #168
+      01000D01H   LINE      ---      ---       #169
+      01000D04H   LINE      ---      ---       #170
+      01000D04H   LINE      ---      ---       #171
+      01000D11H   LINE      ---      ---       #172
+      01000D11H   LINE      ---      ---       #173
       02004E7EH   SYMBOL    XDATA    VOID      tx_hid_buff
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001FEEH   BLOCK     CODE     ---       LVL=0
-      01001FEEH   LINE      ---      ---       #172
-      01001FF2H   LINE      ---      ---       #173
-      01001FF2H   LINE      ---      ---       #174
-      01001FFAH   LINE      ---      ---       #175
-      01001FFAH   LINE      ---      ---       #176
-      01001FFDH   LINE      ---      ---       #177
-      01002002H   LINE      ---      ---       #178
-      01002005H   LINE      ---      ---       #179
-      01002008H   LINE      ---      ---       #180
-      01002008H   LINE      ---      ---       #181
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002009H   BLOCK     CODE     ---       LVL=0
-      01002009H   LINE      ---      ---       #183
-      01002009H   LINE      ---      ---       #184
-      01002009H   LINE      ---      ---       #185
-      01002011H   LINE      ---      ---       #186
-      01002011H   LINE      ---      ---       #187
-      01002014H   LINE      ---      ---       #188
-      0100201AH   LINE      ---      ---       #189
-      01002020H   LINE      ---      ---       #190
-      01002023H   LINE      ---      ---       #191
-      01002023H   LINE      ---      ---       #192
+      01001FE7H   BLOCK     CODE     ---       LVL=0
+      01001FE7H   LINE      ---      ---       #176
+      01001FEBH   LINE      ---      ---       #177
+      01001FEBH   LINE      ---      ---       #178
+      01001FF3H   LINE      ---      ---       #179
+      01001FF3H   LINE      ---      ---       #180
+      01001FF6H   LINE      ---      ---       #181
+      01001FFBH   LINE      ---      ---       #182
+      01001FFEH   LINE      ---      ---       #183
+      01002001H   LINE      ---      ---       #184
+      01002001H   LINE      ---      ---       #185
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002002H   BLOCK     CODE     ---       LVL=0
+      01002002H   LINE      ---      ---       #187
+      01002002H   LINE      ---      ---       #188
+      01002002H   LINE      ---      ---       #189
+      0100200AH   LINE      ---      ---       #190
+      0100200AH   LINE      ---      ---       #191
+      0100200DH   LINE      ---      ---       #192
+      01002013H   LINE      ---      ---       #193
+      01002019H   LINE      ---      ---       #194
+      0100201CH   LINE      ---      ---       #195
+      0100201CH   LINE      ---      ---       #196
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000D12H   BLOCK     CODE     ---       LVL=0
-      01000D12H   LINE      ---      ---       #195
-      01000D1AH   LINE      ---      ---       #196
-      01000D1AH   LINE      ---      ---       #197
-      01000D26H   LINE      ---      ---       #198
-      01000D2CH   LINE      ---      ---       #199
-      01000D3AH   LINE      ---      ---       #200
-      01000D42H   LINE      ---      ---       #201
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100233BH   BLOCK     CODE     ---       LVL=0
-      0100233BH   LINE      ---      ---       #265
-      0100233BH   LINE      ---      ---       #266
-      0100233BH   LINE      ---      ---       #267
-      01002347H   LINE      ---      ---       #268
-      01002347H   LINE      ---      ---       #269
-      0100234EH   LINE      ---      ---       #270
-      0100234EH   LINE      ---      ---       #271
-      0100235BH   LINE      ---      ---       #273
-      01002360H   LINE      ---      ---       #274
-      01002365H   LINE      ---      ---       #275
-      0100236DH   LINE      ---      ---       #276
-      01002378H   LINE      ---      ---       #277
-      01002378H   LINE      ---      ---       #278
-      01002378H   LINE      ---      ---       #279
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002379H   BLOCK     CODE     ---       LVL=0
-      01002379H   LINE      ---      ---       #283
-      01002379H   LINE      ---      ---       #284
-      01002379H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002379H   LINE      ---      ---       #285
-      01002382H   LINE      ---      ---       #287
-      01002386H   LINE      ---      ---       #289
-      01002393H   LINE      ---      ---       #291
-      01002396H   LINE      ---      ---       #292
-      01002396H   LINE      ---      ---       #293
-      0100239BH   LINE      ---      ---       #294
-      0100239DH   LINE      ---      ---       #296
-      0100239DH   LINE      ---      ---       #297
-      010023ABH   LINE      ---      ---       #298
+      01000D12H   LINE      ---      ---       #199
+      01000D1AH   LINE      ---      ---       #200
+      01000D1AH   LINE      ---      ---       #201
+      01000D26H   LINE      ---      ---       #202
+      01000D2CH   LINE      ---      ---       #203
+      01000D3AH   LINE      ---      ---       #204
+      01000D42H   LINE      ---      ---       #205
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002334H   BLOCK     CODE     ---       LVL=0
+      01002334H   LINE      ---      ---       #269
+      01002334H   LINE      ---      ---       #270
+      01002334H   LINE      ---      ---       #271
+      01002340H   LINE      ---      ---       #272
+      01002340H   LINE      ---      ---       #273
+      01002347H   LINE      ---      ---       #274
+      01002347H   LINE      ---      ---       #275
+      01002354H   LINE      ---      ---       #277
+      01002359H   LINE      ---      ---       #278
+      0100235EH   LINE      ---      ---       #279
+      01002366H   LINE      ---      ---       #280
+      01002371H   LINE      ---      ---       #281
+      01002371H   LINE      ---      ---       #282
+      01002371H   LINE      ---      ---       #283
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002372H   BLOCK     CODE     ---       LVL=0
+      01002372H   LINE      ---      ---       #287
+      01002372H   LINE      ---      ---       #288
+      01002372H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002372H   LINE      ---      ---       #289
+      0100237BH   LINE      ---      ---       #291
+      0100237FH   LINE      ---      ---       #293
+      0100238CH   LINE      ---      ---       #295
+      0100238FH   LINE      ---      ---       #296
+      0100238FH   LINE      ---      ---       #297
+      01002394H   LINE      ---      ---       #298
+      01002396H   LINE      ---      ---       #300
+      01002396H   LINE      ---      ---       #301
+      010023A4H   LINE      ---      ---       #302
       02004EE4H   SYMBOL    XDATA    VOID      pEvt
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       01000D4CH   BLOCK     CODE     ---       LVL=0
-      01000D4CH   LINE      ---      ---       #302
-      01000D4CH   LINE      ---      ---       #303
-      01000D4CH   LINE      ---      ---       #312
-      01000D4CH   LINE      ---      ---       #313
-      01000D5BH   LINE      ---      ---       #317
-      01000D5EH   LINE      ---      ---       #319
-      01000D5EH   LINE      ---      ---       #320
-      01000D65H   LINE      ---      ---       #321
-      01000D65H   LINE      ---      ---       #322
-      01000D6CH   LINE      ---      ---       #323
-      01000D72H   LINE      ---      ---       #324
-      01000D73H   LINE      ---      ---       #325
-      01000D7AH   LINE      ---      ---       #326
-      01000D7AH   LINE      ---      ---       #327
-      01000D7DH   LINE      ---      ---       #328
-      01000D85H   LINE      ---      ---       #329
-      01000D85H   LINE      ---      ---       #330
-      01000D8CH   LINE      ---      ---       #331
-      01000D8CH   LINE      ---      ---       #332
-      01000D91H   LINE      ---      ---       #333
-      01000D9AH   LINE      ---      ---       #334
-      01000D9FH   LINE      ---      ---       #335
-      01000DA5H   LINE      ---      ---       #336
-      01000DACH   LINE      ---      ---       #338
-      01000DB2H   LINE      ---      ---       #339
-      01000DB3H   LINE      ---      ---       #340
-      01000DBAH   LINE      ---      ---       #341
-      01000DBAH   LINE      ---      ---       #342
-      01000DBFH   LINE      ---      ---       #343
-      01000DC3H   LINE      ---      ---       #344
-      01000DCAH   LINE      ---      ---       #345
-      01000DCFH   LINE      ---      ---       #346
-      01000DCFH   LINE      ---      ---       #347
-      01000DCFH   LINE      ---      ---       #348
-      01000DCFH   LINE      ---      ---       #349
+      01000D4CH   LINE      ---      ---       #306
+      01000D4CH   LINE      ---      ---       #307
+      01000D4CH   LINE      ---      ---       #316
+      01000D4CH   LINE      ---      ---       #317
+      01000D5BH   LINE      ---      ---       #321
+      01000D5EH   LINE      ---      ---       #323
+      01000D5EH   LINE      ---      ---       #324
+      01000D65H   LINE      ---      ---       #325
+      01000D65H   LINE      ---      ---       #326
+      01000D6CH   LINE      ---      ---       #327
+      01000D72H   LINE      ---      ---       #328
+      01000D73H   LINE      ---      ---       #329
+      01000D7AH   LINE      ---      ---       #330
+      01000D7AH   LINE      ---      ---       #331
+      01000D7DH   LINE      ---      ---       #332
+      01000D85H   LINE      ---      ---       #333
+      01000D85H   LINE      ---      ---       #334
+      01000D8CH   LINE      ---      ---       #335
+      01000D8CH   LINE      ---      ---       #336
+      01000D91H   LINE      ---      ---       #337
+      01000D9AH   LINE      ---      ---       #338
+      01000D9FH   LINE      ---      ---       #339
+      01000DA5H   LINE      ---      ---       #340
+      01000DACH   LINE      ---      ---       #342
+      01000DB2H   LINE      ---      ---       #343
+      01000DB3H   LINE      ---      ---       #344
+      01000DBAH   LINE      ---      ---       #345
+      01000DBAH   LINE      ---      ---       #346
+      01000DBFH   LINE      ---      ---       #347
+      01000DC3H   LINE      ---      ---       #348
+      01000DCAH   LINE      ---      ---       #349
+      01000DCFH   LINE      ---      ---       #350
+      01000DCFH   LINE      ---      ---       #351
+      01000DCFH   LINE      ---      ---       #352
+      01000DCFH   LINE      ---      ---       #353
       ---         BLOCKEND  ---      ---       LVL=0
 
       010008C0H   BLOCK     CODE     ---       LVL=0
-      010008C0H   LINE      ---      ---       #353
-      010008CBH   LINE      ---      ---       #354
+      010008C0H   LINE      ---      ---       #357
+      010008CBH   LINE      ---      ---       #358
       010008CBH   BLOCK     CODE     NEAR LAB  LVL=1
-      010008CBH   LINE      ---      ---       #355
-      010008CEH   LINE      ---      ---       #356
-      010008D0H   LINE      ---      ---       #358
-      010008D4H   LINE      ---      ---       #359
-      010008E2H   LINE      ---      ---       #360
-      010008E2H   LINE      ---      ---       #361
-      01000900H   LINE      ---      ---       #362
-      01000900H   LINE      ---      ---       #363
-      01000906H   LINE      ---      ---       #364
-      01000906H   LINE      ---      ---       #365
-      0100090EH   LINE      ---      ---       #368
-      01000921H   LINE      ---      ---       #370
-      0100092FH   LINE      ---      ---       #374
-      01000935H   LINE      ---      ---       #375
-      01000935H   LINE      ---      ---       #376
-      01000937H   LINE      ---      ---       #377
-      0100093DH   LINE      ---      ---       #378
-      0100093DH   LINE      ---      ---       #381
-      01000944H   LINE      ---      ---       #382
-      01000944H   LINE      ---      ---       #383
-      0100094AH   LINE      ---      ---       #384
-      0100094AH   LINE      ---      ---       #385
-      01000950H   LINE      ---      ---       #386
-      01000957H   LINE      ---      ---       #387
-      0100095EH   LINE      ---      ---       #388
-      0100095EH   LINE      ---      ---       #389
-      01000963H   LINE      ---      ---       #390
-      01000967H   LINE      ---      ---       #391
-      0100096BH   LINE      ---      ---       #392
-      0100096EH   LINE      ---      ---       #393
-      01000970H   LINE      ---      ---       #395
-      01000970H   LINE      ---      ---       #396
-      01000975H   LINE      ---      ---       #397
-      01000979H   LINE      ---      ---       #398
-      0100097DH   LINE      ---      ---       #399
-      01000980H   LINE      ---      ---       #400
-      01000980H   LINE      ---      ---       #401
-      0100098CH   LINE      ---      ---       #402
-      01000998H   LINE      ---      ---       #430
-      0100099EH   LINE      ---      ---       #431
-      010009B7H   LINE      ---      ---       #434
-      010009B7H   LINE      ---      ---       #436
-      010009B7H   LINE      ---      ---       #439
-      010009BFH   LINE      ---      ---       #440
-      010009BFH   LINE      ---      ---       #441
-      010009CDH   LINE      ---      ---       #442
-      010009CDH   LINE      ---      ---       #443
-      010009F6H   LINE      ---      ---       #445
-      010009F6H   LINE      ---      ---       #446
-      010009FCH   LINE      ---      ---       #448
-      010009FCH   LINE      ---      ---       #449
-      01000A04H   LINE      ---      ---       #450
-      01000A04H   LINE      ---      ---       #452
-      01000A12H   LINE      ---      ---       #454
-      01000A19H   LINE      ---      ---       #455
-      01000A19H   LINE      ---      ---       #456
-      01000A1CH   LINE      ---      ---       #457
-      01000A20H   LINE      ---      ---       #458
-      01000A2AH   LINE      ---      ---       #459
-      01000A2AH   LINE      ---      ---       #460
-      01000A31H   LINE      ---      ---       #461
-      01000A31H   LINE      ---      ---       #462
-      01000A34H   LINE      ---      ---       #463
-      01000A3AH   LINE      ---      ---       #464
-      01000A44H   LINE      ---      ---       #465
-      01000A44H   LINE      ---      ---       #466
-      01000A57H   LINE      ---      ---       #467
-      01000A57H   LINE      ---      ---       #468
-      01000A5CH   LINE      ---      ---       #469
-      01000A60H   LINE      ---      ---       #470
-      01000A66H   LINE      ---      ---       #471
-      01000A66H   LINE      ---      ---       #472
-      01000A68H   LINE      ---      ---       #473
-      01000A6EH   LINE      ---      ---       #474
-      01000A70H   LINE      ---      ---       #476
-      01000A76H   LINE      ---      ---       #477
-      01000A80H   LINE      ---      ---       #478
-      01000A80H   LINE      ---      ---       #480
-      01000A80H   LINE      ---      ---       #481
-      01000A86H   LINE      ---      ---       #482
-      01000A9CH   LINE      ---      ---       #484
-      01000AA2H   LINE      ---      ---       #485
-      01000AB4H   LINE      ---      ---       #486
-      01000ABBH   LINE      ---      ---       #487
-      01000AC5H   LINE      ---      ---       #489
-      01000ACAH   LINE      ---      ---       #491
-      01000ACFH   LINE      ---      ---       #492
-      01000AD5H   LINE      ---      ---       #493
-      01000AD5H   LINE      ---      ---       #494
-      01000ADEH   LINE      ---      ---       #495
-      01000AF3H   LINE      ---      ---       #497
-      01000B0FH   LINE      ---      ---       #499
-      01000B1FH   LINE      ---      ---       #500
-      01000B1FH   LINE      ---      ---       #501
-      01000B2DH   LINE      ---      ---       #502
-      01000B3CH   LINE      ---      ---       #503
-      01000B44H   LINE      ---      ---       #504
-      01000B44H   LINE      ---      ---       #506
-      01000B60H   LINE      ---      ---       #507
-      01000B6AH   LINE      ---      ---       #508
-      01000B6AH   LINE      ---      ---       #510
+      010008CBH   LINE      ---      ---       #359
+      010008CEH   LINE      ---      ---       #360
+      010008D0H   LINE      ---      ---       #362
+      010008D4H   LINE      ---      ---       #363
+      010008E2H   LINE      ---      ---       #364
+      010008E2H   LINE      ---      ---       #365
+      01000900H   LINE      ---      ---       #366
+      01000900H   LINE      ---      ---       #367
+      01000906H   LINE      ---      ---       #368
+      01000906H   LINE      ---      ---       #369
+      0100090EH   LINE      ---      ---       #372
+      01000921H   LINE      ---      ---       #374
+      0100092FH   LINE      ---      ---       #378
+      01000935H   LINE      ---      ---       #379
+      01000935H   LINE      ---      ---       #380
+      01000937H   LINE      ---      ---       #381
+      0100093DH   LINE      ---      ---       #382
+      0100093DH   LINE      ---      ---       #385
+      01000944H   LINE      ---      ---       #386
+      01000944H   LINE      ---      ---       #387
+      0100094AH   LINE      ---      ---       #388
+      0100094AH   LINE      ---      ---       #389
+      01000950H   LINE      ---      ---       #390
+      01000957H   LINE      ---      ---       #391
+      0100095EH   LINE      ---      ---       #392
+      0100095EH   LINE      ---      ---       #393
+      01000963H   LINE      ---      ---       #394
+      01000967H   LINE      ---      ---       #395
+      0100096BH   LINE      ---      ---       #396
+      0100096EH   LINE      ---      ---       #397
+      01000970H   LINE      ---      ---       #399
+      01000970H   LINE      ---      ---       #400
+      01000975H   LINE      ---      ---       #401
+      01000979H   LINE      ---      ---       #402
+      0100097DH   LINE      ---      ---       #403
+      01000980H   LINE      ---      ---       #404
+      01000980H   LINE      ---      ---       #405
+      0100098CH   LINE      ---      ---       #406
+      01000998H   LINE      ---      ---       #434
+      0100099EH   LINE      ---      ---       #435
+      010009B7H   LINE      ---      ---       #438
+      010009B7H   LINE      ---      ---       #440
+      010009B7H   LINE      ---      ---       #443
+      010009BFH   LINE      ---      ---       #444
+      010009BFH   LINE      ---      ---       #445
+      010009CDH   LINE      ---      ---       #446
+      010009CDH   LINE      ---      ---       #447
+      010009F6H   LINE      ---      ---       #449
+      010009F6H   LINE      ---      ---       #450
+      010009FCH   LINE      ---      ---       #452
+      010009FCH   LINE      ---      ---       #453
+      01000A04H   LINE      ---      ---       #454
+      01000A04H   LINE      ---      ---       #456
+      01000A12H   LINE      ---      ---       #458
+      01000A19H   LINE      ---      ---       #459
+      01000A19H   LINE      ---      ---       #460
+      01000A1CH   LINE      ---      ---       #461
+      01000A20H   LINE      ---      ---       #462
+      01000A2AH   LINE      ---      ---       #463
+      01000A2AH   LINE      ---      ---       #464
+      01000A31H   LINE      ---      ---       #465
+      01000A31H   LINE      ---      ---       #466
+      01000A34H   LINE      ---      ---       #467
+      01000A3AH   LINE      ---      ---       #468
+      01000A44H   LINE      ---      ---       #469
+      01000A44H   LINE      ---      ---       #470
+      01000A57H   LINE      ---      ---       #471
+      01000A57H   LINE      ---      ---       #472
+      01000A5CH   LINE      ---      ---       #473
+      01000A60H   LINE      ---      ---       #474
+      01000A66H   LINE      ---      ---       #475
+      01000A66H   LINE      ---      ---       #476
+      01000A68H   LINE      ---      ---       #477
+      01000A6EH   LINE      ---      ---       #478
+      01000A70H   LINE      ---      ---       #480
+      01000A76H   LINE      ---      ---       #481
+      01000A80H   LINE      ---      ---       #482
+      01000A80H   LINE      ---      ---       #484
+      01000A80H   LINE      ---      ---       #485
+      01000A86H   LINE      ---      ---       #486
+      01000A9CH   LINE      ---      ---       #488
+      01000AA2H   LINE      ---      ---       #489
+      01000AB4H   LINE      ---      ---       #490
+      01000ABBH   LINE      ---      ---       #491
+      01000AC5H   LINE      ---      ---       #493
+      01000ACAH   LINE      ---      ---       #495
+      01000ACFH   LINE      ---      ---       #496
+      01000AD5H   LINE      ---      ---       #497
+      01000AD5H   LINE      ---      ---       #498
+      01000ADEH   LINE      ---      ---       #499
+      01000AF3H   LINE      ---      ---       #501
+      01000B0FH   LINE      ---      ---       #503
+      01000B1FH   LINE      ---      ---       #504
+      01000B1FH   LINE      ---      ---       #505
+      01000B2DH   LINE      ---      ---       #506
+      01000B3CH   LINE      ---      ---       #507
+      01000B44H   LINE      ---      ---       #508
+      01000B44H   LINE      ---      ---       #510
+      01000B60H   LINE      ---      ---       #511
+      01000B6AH   LINE      ---      ---       #512
+      01000B6AH   LINE      ---      ---       #514
       02004EC8H   SYMBOL    XDATA    VOID      temp
       02004EC9H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002799H   BLOCK     CODE     ---       LVL=0
-      01002799H   LINE      ---      ---       #514
-      010027A4H   LINE      ---      ---       #515
-      010027A4H   BLOCK     CODE     NEAR LAB  LVL=1
-      010027A4H   LINE      ---      ---       #516
-      010027A6H   LINE      ---      ---       #517
-      010027A8H   LINE      ---      ---       #519
-      010027B3H   LINE      ---      ---       #520
-      010027B3H   LINE      ---      ---       #521
-      010027B9H   LINE      ---      ---       #523
-      010027C6H   LINE      ---      ---       #524
-      010027C6H   LINE      ---      ---       #525
-      010027E3H   LINE      ---      ---       #527
-      010027EEH   LINE      ---      ---       #528
-      010027EEH   LINE      ---      ---       #529
-      010027F9H   LINE      ---      ---       #530
-      010027F9H   LINE      ---      ---       #531
-      010027F9H   LINE      ---      ---       #532
-      010027F9H   LINE      ---      ---       #533
-      010027F9H   LINE      ---      ---       #534
-      010027FFH   LINE      ---      ---       #536
-      01002806H   LINE      ---      ---       #537
-      01002809H   LINE      ---      ---       #538
-      0100281CH   LINE      ---      ---       #539
-      0100281CH   LINE      ---      ---       #540
-      01002821H   LINE      ---      ---       #541
-      01002827H   LINE      ---      ---       #542
-      0100282CH   LINE      ---      ---       #543
-      0100282CH   LINE      ---      ---       #544
-      0100282EH   LINE      ---      ---       #545
-      0100282EH   LINE      ---      ---       #546
-      01002834H   LINE      ---      ---       #547
-      0100283BH   LINE      ---      ---       #548
-      0100283EH   LINE      ---      ---       #549
-      01002849H   LINE      ---      ---       #550
-      01002849H   LINE      ---      ---       #551
-      0100284FH   LINE      ---      ---       #552
-      01002854H   LINE      ---      ---       #553
-      01002858H   LINE      ---      ---       #554
-      01002858H   LINE      ---      ---       #555
-      01002858H   LINE      ---      ---       #556
-      01002858H   LINE      ---      ---       #557
-      0100285BH   LINE      ---      ---       #558
-      0100285BH   LINE      ---      ---       #560
-      0100285BH   LINE      ---      ---       #561
-      01002862H   LINE      ---      ---       #562
-      01002862H   LINE      ---      ---       #565
-      01002870H   LINE      ---      ---       #566
-      01002870H   LINE      ---      ---       #567
-      01002876H   LINE      ---      ---       #568
-      0100287BH   LINE      ---      ---       #569
-      01002882H   LINE      ---      ---       #570
-      01002885H   LINE      ---      ---       #571
-      01002885H   LINE      ---      ---       #573
-      0100288CH   LINE      ---      ---       #574
-      0100288FH   LINE      ---      ---       #575
-      0100288FH   LINE      ---      ---       #577
-      0100288FH   LINE      ---      ---       #578
-      010028A4H   LINE      ---      ---       #579
-      010028A4H   LINE      ---      ---       #580
-      010028AAH   LINE      ---      ---       #581
-      010028B1H   LINE      ---      ---       #582
-      010028B4H   LINE      ---      ---       #583
-      010028BFH   LINE      ---      ---       #584
-      010028BFH   LINE      ---      ---       #585
-      010028C5H   LINE      ---      ---       #586
-      010028CAH   LINE      ---      ---       #587
-      010028CAH   LINE      ---      ---       #588
-      010028CDH   LINE      ---      ---       #589
-      010028CDH   LINE      ---      ---       #591
-      010028D4H   LINE      ---      ---       #592
-      010028D7H   LINE      ---      ---       #593
-      010028D7H   LINE      ---      ---       #594
-      010028D9H   LINE      ---      ---       #595
+      01002792H   BLOCK     CODE     ---       LVL=0
+      01002792H   LINE      ---      ---       #518
+      0100279DH   LINE      ---      ---       #519
+      0100279DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100279DH   LINE      ---      ---       #520
+      0100279FH   LINE      ---      ---       #521
+      010027A1H   LINE      ---      ---       #523
+      010027ACH   LINE      ---      ---       #524
+      010027ACH   LINE      ---      ---       #525
+      010027B2H   LINE      ---      ---       #527
+      010027BFH   LINE      ---      ---       #528
+      010027BFH   LINE      ---      ---       #529
+      010027DCH   LINE      ---      ---       #531
+      010027E7H   LINE      ---      ---       #532
+      010027E7H   LINE      ---      ---       #533
+      010027F2H   LINE      ---      ---       #534
+      010027F2H   LINE      ---      ---       #535
+      010027F2H   LINE      ---      ---       #536
+      010027F2H   LINE      ---      ---       #537
+      010027F2H   LINE      ---      ---       #538
+      010027F8H   LINE      ---      ---       #540
+      010027FFH   LINE      ---      ---       #541
+      01002802H   LINE      ---      ---       #542
+      01002815H   LINE      ---      ---       #543
+      01002815H   LINE      ---      ---       #544
+      0100281AH   LINE      ---      ---       #545
+      01002820H   LINE      ---      ---       #546
+      01002825H   LINE      ---      ---       #547
+      01002825H   LINE      ---      ---       #548
+      01002827H   LINE      ---      ---       #549
+      01002827H   LINE      ---      ---       #550
+      0100282DH   LINE      ---      ---       #551
+      01002834H   LINE      ---      ---       #552
+      01002837H   LINE      ---      ---       #553
+      01002842H   LINE      ---      ---       #554
+      01002842H   LINE      ---      ---       #555
+      01002848H   LINE      ---      ---       #556
+      0100284DH   LINE      ---      ---       #557
+      01002851H   LINE      ---      ---       #558
+      01002851H   LINE      ---      ---       #559
+      01002851H   LINE      ---      ---       #560
+      01002851H   LINE      ---      ---       #561
+      01002854H   LINE      ---      ---       #562
+      01002854H   LINE      ---      ---       #564
+      01002854H   LINE      ---      ---       #565
+      0100285BH   LINE      ---      ---       #566
+      0100285BH   LINE      ---      ---       #569
+      01002869H   LINE      ---      ---       #570
+      01002869H   LINE      ---      ---       #571
+      0100286FH   LINE      ---      ---       #572
+      01002874H   LINE      ---      ---       #573
+      0100287BH   LINE      ---      ---       #574
+      0100287EH   LINE      ---      ---       #575
+      0100287EH   LINE      ---      ---       #577
+      01002885H   LINE      ---      ---       #578
+      01002888H   LINE      ---      ---       #579
+      01002888H   LINE      ---      ---       #581
+      01002888H   LINE      ---      ---       #582
+      0100289DH   LINE      ---      ---       #583
+      0100289DH   LINE      ---      ---       #584
+      010028A3H   LINE      ---      ---       #585
+      010028AAH   LINE      ---      ---       #586
+      010028ADH   LINE      ---      ---       #587
+      010028B8H   LINE      ---      ---       #588
+      010028B8H   LINE      ---      ---       #589
+      010028BEH   LINE      ---      ---       #590
+      010028C3H   LINE      ---      ---       #591
+      010028C3H   LINE      ---      ---       #592
+      010028C6H   LINE      ---      ---       #593
+      010028C6H   LINE      ---      ---       #595
+      010028CDH   LINE      ---      ---       #596
+      010028D0H   LINE      ---      ---       #597
+      010028D0H   LINE      ---      ---       #598
+      010028D2H   LINE      ---      ---       #599
       00000005H   SYMBOL    DATA     VOID      temp
       02004ED7H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010028DAH   BLOCK     CODE     ---       LVL=0
-      010028DAH   LINE      ---      ---       #600
-      010028DAH   LINE      ---      ---       #601
-      010028DAH   LINE      ---      ---       #602
-      010028DFH   LINE      ---      ---       #603
-      010028E2H   LINE      ---      ---       #605
-      010028E6H   LINE      ---      ---       #606
-      010028E6H   LINE      ---      ---       #607
-      010028EDH   LINE      ---      ---       #608
-      010028F1H   LINE      ---      ---       #610
-      010028F7H   LINE      ---      ---       #611
-      010028F8H   LINE      ---      ---       #613
-      010028F8H   LINE      ---      ---       #614
-      010028FEH   LINE      ---      ---       #615
-      010028FEH   LINE      ---      ---       #617
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010028FFH   BLOCK     CODE     ---       LVL=0
-      010028FFH   LINE      ---      ---       #620
-      01002901H   LINE      ---      ---       #621
-      01002901H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002901H   LINE      ---      ---       #622
-      01002906H   LINE      ---      ---       #624
-      0100290AH   LINE      ---      ---       #625
-      0100290FH   LINE      ---      ---       #627
-      01002914H   LINE      ---      ---       #628
-      0100291AH   LINE      ---      ---       #629
-      0100291AH   LINE      ---      ---       #630
-      0100291EH   LINE      ---      ---       #631
-      01002926H   LINE      ---      ---       #632
-      0100292AH   LINE      ---      ---       #633
-      01002932H   LINE      ---      ---       #634
-      01002936H   LINE      ---      ---       #635
-      0100293EH   LINE      ---      ---       #636
-      01002942H   LINE      ---      ---       #637
-      01002948H   LINE      ---      ---       #638
-      01002948H   LINE      ---      ---       #640
-      01002952H   LINE      ---      ---       #641
-      01002952H   LINE      ---      ---       #642
-      01002956H   LINE      ---      ---       #643
-      01002956H   LINE      ---      ---       #644
-      0100295CH   LINE      ---      ---       #645
-      0100295EH   LINE      ---      ---       #646
-      01002962H   LINE      ---      ---       #647
-      01002962H   LINE      ---      ---       #648
-      01002968H   LINE      ---      ---       #649
-      0100296AH   LINE      ---      ---       #650
-      0100296EH   LINE      ---      ---       #651
-      0100296EH   LINE      ---      ---       #652
-      01002974H   LINE      ---      ---       #653
-      01002976H   LINE      ---      ---       #654
-      0100297AH   LINE      ---      ---       #655
-      0100297AH   LINE      ---      ---       #656
-      01002980H   LINE      ---      ---       #657
-      01002982H   LINE      ---      ---       #658
-      01002986H   LINE      ---      ---       #659
-      01002986H   LINE      ---      ---       #660
-      0100298CH   LINE      ---      ---       #661
-      0100298EH   LINE      ---      ---       #662
-      01002993H   LINE      ---      ---       #663
-      01002993H   LINE      ---      ---       #664
-      01002997H   LINE      ---      ---       #665
-      01002997H   LINE      ---      ---       #666
-      0100299DH   LINE      ---      ---       #667
-      0100299DH   LINE      ---      ---       #668
-      0100299FH   LINE      ---      ---       #669
-      010029A1H   LINE      ---      ---       #671
-      010029A7H   LINE      ---      ---       #673
-      010029B1H   LINE      ---      ---       #674
-      010029B1H   LINE      ---      ---       #675
-      010029B7H   LINE      ---      ---       #676
-      010029B9H   LINE      ---      ---       #677
-      010029C5H   LINE      ---      ---       #678
-      010029C5H   LINE      ---      ---       #679
-      010029DDH   LINE      ---      ---       #680
-      010029E3H   LINE      ---      ---       #681
-      010029E3H   LINE      ---      ---       #682
-      010029E3H   LINE      ---      ---       #683
-      010029E8H   LINE      ---      ---       #684
-      010029E8H   LINE      ---      ---       #685
-      010029E8H   LINE      ---      ---       #687
-      01002A10H   LINE      ---      ---       #688
-      01002A10H   LINE      ---      ---       #689
-      01002A4CH   LINE      ---      ---       #690
-      01002A4CH   LINE      ---      ---       #691
-      01002A4CH   LINE      ---      ---       #692
-      01002A53H   LINE      ---      ---       #693
-      01002A53H   LINE      ---      ---       #694
-      01002A59H   LINE      ---      ---       #695
-      01002A5BH   LINE      ---      ---       #697
-      01002A5BH   LINE      ---      ---       #698
-      01002A61H   LINE      ---      ---       #699
-      01002A61H   LINE      ---      ---       #700
-      01002A63H   LINE      ---      ---       #701
-      01002A63H   LINE      ---      ---       #702
-      01002A6AH   LINE      ---      ---       #703
-      01002A6AH   LINE      ---      ---       #704
-      01002A72H   LINE      ---      ---       #705
-      01002A76H   LINE      ---      ---       #706
-      01002A76H   LINE      ---      ---       #707
-      01002A7CH   LINE      ---      ---       #708
-      01002A7CH   LINE      ---      ---       #709
-      01002A7EH   LINE      ---      ---       #710
-      01002A82H   LINE      ---      ---       #711
-      01002A82H   LINE      ---      ---       #712
-      01002A8AH   LINE      ---      ---       #713
-      01002A8CH   LINE      ---      ---       #714
-      01002A93H   LINE      ---      ---       #715
-      01002A93H   LINE      ---      ---       #716
-      01002A9BH   LINE      ---      ---       #717
-      01002A9FH   LINE      ---      ---       #718
-      01002A9FH   LINE      ---      ---       #719
-      01002AA5H   LINE      ---      ---       #720
-      01002AA5H   LINE      ---      ---       #721
-      01002AA5H   LINE      ---      ---       #722
-      01002AAAH   LINE      ---      ---       #723
-      01002AACH   LINE      ---      ---       #724
-      01002AACH   LINE      ---      ---       #725
-      01002AB2H   LINE      ---      ---       #726
-      01002AB2H   LINE      ---      ---       #727
-      01002AB8H   LINE      ---      ---       #728
-      01002ABAH   LINE      ---      ---       #730
-      01002ABAH   LINE      ---      ---       #731
-      01002AC2H   LINE      ---      ---       #732
-      01002AC7H   LINE      ---      ---       #733
-      01002AC7H   LINE      ---      ---       #734
-      01002AC9H   LINE      ---      ---       #735
-      01002AC9H   LINE      ---      ---       #736
-      01002AD0H   LINE      ---      ---       #737
-      01002AD0H   LINE      ---      ---       #738
-      01002AD8H   LINE      ---      ---       #739
-      01002ADDH   LINE      ---      ---       #740
-      01002ADFH   LINE      ---      ---       #742
-      01002ADFH   LINE      ---      ---       #743
-      01002AE5H   LINE      ---      ---       #744
-      01002AE5H   LINE      ---      ---       #745
-      01002AE7H   LINE      ---      ---       #746
-      01002AE7H   LINE      ---      ---       #747
-      01002AEDH   LINE      ---      ---       #748
-      01002AEDH   LINE      ---      ---       #749
-      01002AF5H   LINE      ---      ---       #750
-      01002AF7H   LINE      ---      ---       #752
-      01002AF7H   LINE      ---      ---       #753
-      01002AFFH   LINE      ---      ---       #754
-      01002AFFH   LINE      ---      ---       #755
-      01002B03H   LINE      ---      ---       #756
-      01002B03H   LINE      ---      ---       #757
-      01002B09H   LINE      ---      ---       #758
-      01002B09H   LINE      ---      ---       #759
-      01002B0EH   LINE      ---      ---       #760
-      01002B10H   LINE      ---      ---       #761
-      01002B10H   LINE      ---      ---       #762
-      01002B16H   LINE      ---      ---       #763
-      01002B16H   LINE      ---      ---       #764
-      01002B1CH   LINE      ---      ---       #765
-      01002B1EH   LINE      ---      ---       #767
-      01002B1EH   LINE      ---      ---       #768
-      01002B26H   LINE      ---      ---       #769
-      01002B2BH   LINE      ---      ---       #770
-      01002B2BH   LINE      ---      ---       #771
-      01002B2DH   LINE      ---      ---       #772
-      01002B2DH   LINE      ---      ---       #773
-      01002B33H   LINE      ---      ---       #774
-      01002B35H   LINE      ---      ---       #775
-      01002B35H   LINE      ---      ---       #776
-      01002B3BH   LINE      ---      ---       #777
-      01002B3DH   LINE      ---      ---       #778
-      01002B3DH   LINE      ---      ---       #779
-      01002B43H   LINE      ---      ---       #780
-      01002B45H   LINE      ---      ---       #781
-      01002B45H   LINE      ---      ---       #782
-      01002B4BH   LINE      ---      ---       #783
-      01002B4DH   LINE      ---      ---       #784
-      01002B4DH   LINE      ---      ---       #785
-      01002B53H   LINE      ---      ---       #786
-      01002B55H   LINE      ---      ---       #787
-      01002B55H   LINE      ---      ---       #788
-      01002B5BH   LINE      ---      ---       #789
-      01002B5BH   LINE      ---      ---       #790
-      01002B5BH   LINE      ---      ---       #791
-      01002B5BH   LINE      ---      ---       #792
-      01002B5BH   LINE      ---      ---       #793
-      01002B5BH   LINE      ---      ---       #795
-      01002B60H   LINE      ---      ---       #796
+      010028D3H   BLOCK     CODE     ---       LVL=0
+      010028D3H   LINE      ---      ---       #604
+      010028D3H   LINE      ---      ---       #605
+      010028D3H   LINE      ---      ---       #606
+      010028D8H   LINE      ---      ---       #607
+      010028DBH   LINE      ---      ---       #609
+      010028DFH   LINE      ---      ---       #610
+      010028DFH   LINE      ---      ---       #611
+      010028E6H   LINE      ---      ---       #612
+      010028EAH   LINE      ---      ---       #614
+      010028F0H   LINE      ---      ---       #615
+      010028F1H   LINE      ---      ---       #617
+      010028F1H   LINE      ---      ---       #618
+      010028F7H   LINE      ---      ---       #619
+      010028F7H   LINE      ---      ---       #621
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010028F8H   BLOCK     CODE     ---       LVL=0
+      010028F8H   LINE      ---      ---       #624
+      010028FAH   LINE      ---      ---       #625
+      010028FAH   BLOCK     CODE     NEAR LAB  LVL=1
+      010028FAH   LINE      ---      ---       #626
+      010028FFH   LINE      ---      ---       #628
+      01002903H   LINE      ---      ---       #629
+      01002908H   LINE      ---      ---       #631
+      0100290DH   LINE      ---      ---       #632
+      01002913H   LINE      ---      ---       #633
+      01002913H   LINE      ---      ---       #634
+      01002917H   LINE      ---      ---       #635
+      0100291FH   LINE      ---      ---       #636
+      01002923H   LINE      ---      ---       #637
+      0100292BH   LINE      ---      ---       #638
+      0100292FH   LINE      ---      ---       #639
+      01002937H   LINE      ---      ---       #640
+      0100293BH   LINE      ---      ---       #641
+      01002941H   LINE      ---      ---       #642
+      01002941H   LINE      ---      ---       #644
+      0100294BH   LINE      ---      ---       #645
+      0100294BH   LINE      ---      ---       #646
+      0100294FH   LINE      ---      ---       #647
+      0100294FH   LINE      ---      ---       #648
+      01002955H   LINE      ---      ---       #649
+      01002957H   LINE      ---      ---       #650
+      0100295BH   LINE      ---      ---       #651
+      0100295BH   LINE      ---      ---       #652
+      01002961H   LINE      ---      ---       #653
+      01002963H   LINE      ---      ---       #654
+      01002967H   LINE      ---      ---       #655
+      01002967H   LINE      ---      ---       #656
+      0100296DH   LINE      ---      ---       #657
+      0100296FH   LINE      ---      ---       #658
+      01002973H   LINE      ---      ---       #659
+      01002973H   LINE      ---      ---       #660
+      01002979H   LINE      ---      ---       #661
+      0100297BH   LINE      ---      ---       #662
+      0100297FH   LINE      ---      ---       #663
+      0100297FH   LINE      ---      ---       #664
+      01002985H   LINE      ---      ---       #665
+      01002987H   LINE      ---      ---       #666
+      0100298CH   LINE      ---      ---       #667
+      0100298CH   LINE      ---      ---       #668
+      01002990H   LINE      ---      ---       #669
+      01002990H   LINE      ---      ---       #670
+      01002996H   LINE      ---      ---       #671
+      01002996H   LINE      ---      ---       #672
+      01002998H   LINE      ---      ---       #673
+      0100299AH   LINE      ---      ---       #675
+      010029A0H   LINE      ---      ---       #677
+      010029AAH   LINE      ---      ---       #678
+      010029AAH   LINE      ---      ---       #679
+      010029B0H   LINE      ---      ---       #680
+      010029B2H   LINE      ---      ---       #681
+      010029BEH   LINE      ---      ---       #682
+      010029BEH   LINE      ---      ---       #683
+      010029D6H   LINE      ---      ---       #684
+      010029DCH   LINE      ---      ---       #685
+      010029DCH   LINE      ---      ---       #686
+      010029DCH   LINE      ---      ---       #687
+      010029E1H   LINE      ---      ---       #688
+      010029E1H   LINE      ---      ---       #689
+      010029E1H   LINE      ---      ---       #691
+      01002A09H   LINE      ---      ---       #692
+      01002A09H   LINE      ---      ---       #693
+      01002A45H   LINE      ---      ---       #694
+      01002A45H   LINE      ---      ---       #695
+      01002A45H   LINE      ---      ---       #696
+      01002A4CH   LINE      ---      ---       #697
+      01002A4CH   LINE      ---      ---       #698
+      01002A52H   LINE      ---      ---       #699
+      01002A54H   LINE      ---      ---       #701
+      01002A54H   LINE      ---      ---       #702
+      01002A5AH   LINE      ---      ---       #703
+      01002A5AH   LINE      ---      ---       #704
+      01002A5CH   LINE      ---      ---       #705
+      01002A5CH   LINE      ---      ---       #706
+      01002A63H   LINE      ---      ---       #707
+      01002A63H   LINE      ---      ---       #708
+      01002A6BH   LINE      ---      ---       #709
+      01002A6FH   LINE      ---      ---       #710
+      01002A6FH   LINE      ---      ---       #711
+      01002A75H   LINE      ---      ---       #712
+      01002A75H   LINE      ---      ---       #713
+      01002A77H   LINE      ---      ---       #714
+      01002A7BH   LINE      ---      ---       #715
+      01002A7BH   LINE      ---      ---       #716
+      01002A83H   LINE      ---      ---       #717
+      01002A85H   LINE      ---      ---       #718
+      01002A8CH   LINE      ---      ---       #719
+      01002A8CH   LINE      ---      ---       #720
+      01002A94H   LINE      ---      ---       #721
+      01002A98H   LINE      ---      ---       #722
+      01002A98H   LINE      ---      ---       #723
+      01002A9EH   LINE      ---      ---       #724
+      01002A9EH   LINE      ---      ---       #725
+      01002A9EH   LINE      ---      ---       #726
+      01002AA3H   LINE      ---      ---       #727
+      01002AA5H   LINE      ---      ---       #728
+      01002AA5H   LINE      ---      ---       #729
+      01002AABH   LINE      ---      ---       #730
+      01002AABH   LINE      ---      ---       #731
+      01002AB1H   LINE      ---      ---       #732
+      01002AB3H   LINE      ---      ---       #734
+      01002AB3H   LINE      ---      ---       #735
+      01002ABBH   LINE      ---      ---       #736
+      01002AC0H   LINE      ---      ---       #737
+      01002AC0H   LINE      ---      ---       #738
+      01002AC2H   LINE      ---      ---       #739
+      01002AC2H   LINE      ---      ---       #740
+      01002AC9H   LINE      ---      ---       #741
+      01002AC9H   LINE      ---      ---       #742
+      01002AD1H   LINE      ---      ---       #743
+      01002AD6H   LINE      ---      ---       #744
+      01002AD8H   LINE      ---      ---       #746
+      01002AD8H   LINE      ---      ---       #747
+      01002ADEH   LINE      ---      ---       #748
+      01002ADEH   LINE      ---      ---       #749
+      01002AE0H   LINE      ---      ---       #750
+      01002AE0H   LINE      ---      ---       #751
+      01002AE6H   LINE      ---      ---       #752
+      01002AE6H   LINE      ---      ---       #753
+      01002AEEH   LINE      ---      ---       #754
+      01002AF0H   LINE      ---      ---       #756
+      01002AF0H   LINE      ---      ---       #757
+      01002AF8H   LINE      ---      ---       #758
+      01002AF8H   LINE      ---      ---       #759
+      01002AFCH   LINE      ---      ---       #760
+      01002AFCH   LINE      ---      ---       #761
+      01002B02H   LINE      ---      ---       #762
+      01002B02H   LINE      ---      ---       #763
+      01002B07H   LINE      ---      ---       #764
+      01002B09H   LINE      ---      ---       #765
+      01002B09H   LINE      ---      ---       #766
+      01002B0FH   LINE      ---      ---       #767
+      01002B0FH   LINE      ---      ---       #768
+      01002B15H   LINE      ---      ---       #769
+      01002B17H   LINE      ---      ---       #771
+      01002B17H   LINE      ---      ---       #772
+      01002B1FH   LINE      ---      ---       #773
+      01002B24H   LINE      ---      ---       #774
+      01002B24H   LINE      ---      ---       #775
+      01002B26H   LINE      ---      ---       #776
+      01002B26H   LINE      ---      ---       #777
+      01002B2CH   LINE      ---      ---       #778
+      01002B2EH   LINE      ---      ---       #779
+      01002B2EH   LINE      ---      ---       #780
+      01002B34H   LINE      ---      ---       #781
+      01002B36H   LINE      ---      ---       #782
+      01002B36H   LINE      ---      ---       #783
+      01002B3CH   LINE      ---      ---       #784
+      01002B3EH   LINE      ---      ---       #785
+      01002B3EH   LINE      ---      ---       #786
+      01002B44H   LINE      ---      ---       #787
+      01002B46H   LINE      ---      ---       #788
+      01002B46H   LINE      ---      ---       #789
+      01002B4CH   LINE      ---      ---       #790
+      01002B4EH   LINE      ---      ---       #791
+      01002B4EH   LINE      ---      ---       #792
+      01002B54H   LINE      ---      ---       #793
+      01002B54H   LINE      ---      ---       #794
+      01002B54H   LINE      ---      ---       #795
+      01002B54H   LINE      ---      ---       #796
+      01002B54H   LINE      ---      ---       #797
+      01002B54H   LINE      ---      ---       #799
+      01002B59H   LINE      ---      ---       #800
       02004F03H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002024H   BLOCK     CODE     ---       LVL=0
-      01002024H   LINE      ---      ---       #800
-      0100202FH   LINE      ---      ---       #801
-      0100202FH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100202FH   LINE      ---      ---       #802
-      01002032H   LINE      ---      ---       #804
-      0100203FH   LINE      ---      ---       #805
-      0100203FH   LINE      ---      ---       #806
-      0100206AH   LINE      ---      ---       #808
-      0100206AH   LINE      ---      ---       #810
-      01002071H   LINE      ---      ---       #811
-      01002071H   LINE      ---      ---       #812
-      01002078H   LINE      ---      ---       #813
-      0100207AH   LINE      ---      ---       #815
-      0100207EH   LINE      ---      ---       #816
-      0100207EH   LINE      ---      ---       #817
-      01002085H   LINE      ---      ---       #818
-      01002087H   LINE      ---      ---       #819
-      010020A7H   LINE      ---      ---       #820
-      010020A7H   LINE      ---      ---       #821
-      010020ACH   LINE      ---      ---       #822
-      010020AEH   LINE      ---      ---       #823
-      010020B2H   LINE      ---      ---       #824
-      010020B2H   LINE      ---      ---       #825
-      010020B9H   LINE      ---      ---       #826
-      010020BBH   LINE      ---      ---       #827
-      010020DBH   LINE      ---      ---       #828
-      010020DBH   LINE      ---      ---       #829
-      010020E0H   LINE      ---      ---       #830
-      010020E2H   LINE      ---      ---       #831
-      010020E6H   LINE      ---      ---       #832
-      010020E6H   LINE      ---      ---       #833
-      010020EDH   LINE      ---      ---       #834
-      010020EFH   LINE      ---      ---       #835
-      0100210FH   LINE      ---      ---       #836
-      0100210FH   LINE      ---      ---       #837
-      01002114H   LINE      ---      ---       #838
-      01002116H   LINE      ---      ---       #839
-      0100211AH   LINE      ---      ---       #840
-      0100211AH   LINE      ---      ---       #841
-      01002121H   LINE      ---      ---       #842
-      01002123H   LINE      ---      ---       #843
-      01002143H   LINE      ---      ---       #844
-      01002143H   LINE      ---      ---       #845
-      01002149H   LINE      ---      ---       #846
-      0100214BH   LINE      ---      ---       #847
-      0100214FH   LINE      ---      ---       #848
-      0100214FH   LINE      ---      ---       #849
-      01002156H   LINE      ---      ---       #850
-      01002158H   LINE      ---      ---       #851
-      01002178H   LINE      ---      ---       #852
-      01002178H   LINE      ---      ---       #853
-      0100217EH   LINE      ---      ---       #854
-      01002180H   LINE      ---      ---       #855
-      01002184H   LINE      ---      ---       #856
-      01002184H   LINE      ---      ---       #857
-      0100218BH   LINE      ---      ---       #858
-      0100218DH   LINE      ---      ---       #859
-      010021ADH   LINE      ---      ---       #860
-      010021ADH   LINE      ---      ---       #861
-      010021B4H   LINE      ---      ---       #862
-      010021B6H   LINE      ---      ---       #863
-      010021BAH   LINE      ---      ---       #864
-      010021BAH   LINE      ---      ---       #865
-      010021C1H   LINE      ---      ---       #866
-      010021C3H   LINE      ---      ---       #867
-      010021E3H   LINE      ---      ---       #868
-      010021E3H   LINE      ---      ---       #869
-      010021EAH   LINE      ---      ---       #870
-      010021ECH   LINE      ---      ---       #871
-      010021F0H   LINE      ---      ---       #872
-      010021F0H   LINE      ---      ---       #873
-      010021F7H   LINE      ---      ---       #874
-      010021F9H   LINE      ---      ---       #875
-      01002219H   LINE      ---      ---       #876
-      01002219H   LINE      ---      ---       #877
-      01002220H   LINE      ---      ---       #878
-      01002222H   LINE      ---      ---       #879
-      01002226H   LINE      ---      ---       #880
-      01002226H   LINE      ---      ---       #881
-      0100222DH   LINE      ---      ---       #882
-      0100222FH   LINE      ---      ---       #883
-      0100224FH   LINE      ---      ---       #884
-      0100224FH   LINE      ---      ---       #885
-      01002254H   LINE      ---      ---       #886
-      01002256H   LINE      ---      ---       #887
-      0100225AH   LINE      ---      ---       #888
-      0100225AH   LINE      ---      ---       #889
-      01002261H   LINE      ---      ---       #890
-      01002263H   LINE      ---      ---       #891
-      01002283H   LINE      ---      ---       #892
-      01002283H   LINE      ---      ---       #893
-      01002288H   LINE      ---      ---       #894
-      0100228AH   LINE      ---      ---       #895
-      0100228EH   LINE      ---      ---       #896
-      0100228EH   LINE      ---      ---       #897
-      01002295H   LINE      ---      ---       #898
-      01002297H   LINE      ---      ---       #899
-      010022B7H   LINE      ---      ---       #900
-      010022B7H   LINE      ---      ---       #901
-      010022BEH   LINE      ---      ---       #902
-      010022C0H   LINE      ---      ---       #903
-      010022C4H   LINE      ---      ---       #904
-      010022C4H   LINE      ---      ---       #905
-      010022CBH   LINE      ---      ---       #906
-      010022CDH   LINE      ---      ---       #907
-      010022EDH   LINE      ---      ---       #908
-      010022EDH   LINE      ---      ---       #909
-      010022F1H   LINE      ---      ---       #910
-      010022F3H   LINE      ---      ---       #911
-      010022F7H   LINE      ---      ---       #912
-      010022F7H   LINE      ---      ---       #913
-      010022FBH   LINE      ---      ---       #914
-      010022FDH   LINE      ---      ---       #915
-      01002303H   LINE      ---      ---       #916
-      01002303H   LINE      ---      ---       #917
-      01002307H   LINE      ---      ---       #918
-      01002307H   LINE      ---      ---       #920
-      0100230EH   LINE      ---      ---       #921
-      0100230EH   LINE      ---      ---       #922
-      0100232EH   LINE      ---      ---       #923
-      01002332H   LINE      ---      ---       #924
-      01002332H   LINE      ---      ---       #925
-      01002332H   LINE      ---      ---       #926
-      0100233AH   LINE      ---      ---       #927
+      0100201DH   BLOCK     CODE     ---       LVL=0
+      0100201DH   LINE      ---      ---       #804
+      01002028H   LINE      ---      ---       #805
+      01002028H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002028H   LINE      ---      ---       #806
+      0100202BH   LINE      ---      ---       #808
+      01002038H   LINE      ---      ---       #809
+      01002038H   LINE      ---      ---       #810
+      01002063H   LINE      ---      ---       #812
+      01002063H   LINE      ---      ---       #814
+      0100206AH   LINE      ---      ---       #815
+      0100206AH   LINE      ---      ---       #816
+      01002071H   LINE      ---      ---       #817
+      01002073H   LINE      ---      ---       #819
+      01002077H   LINE      ---      ---       #820
+      01002077H   LINE      ---      ---       #821
+      0100207EH   LINE      ---      ---       #822
+      01002080H   LINE      ---      ---       #823
+      010020A0H   LINE      ---      ---       #824
+      010020A0H   LINE      ---      ---       #825
+      010020A5H   LINE      ---      ---       #826
+      010020A7H   LINE      ---      ---       #827
+      010020ABH   LINE      ---      ---       #828
+      010020ABH   LINE      ---      ---       #829
+      010020B2H   LINE      ---      ---       #830
+      010020B4H   LINE      ---      ---       #831
+      010020D4H   LINE      ---      ---       #832
+      010020D4H   LINE      ---      ---       #833
+      010020D9H   LINE      ---      ---       #834
+      010020DBH   LINE      ---      ---       #835
+      010020DFH   LINE      ---      ---       #836
+      010020DFH   LINE      ---      ---       #837
+      010020E6H   LINE      ---      ---       #838
+      010020E8H   LINE      ---      ---       #839
+      01002108H   LINE      ---      ---       #840
+      01002108H   LINE      ---      ---       #841
+      0100210DH   LINE      ---      ---       #842
+      0100210FH   LINE      ---      ---       #843
+      01002113H   LINE      ---      ---       #844
+      01002113H   LINE      ---      ---       #845
+      0100211AH   LINE      ---      ---       #846
+      0100211CH   LINE      ---      ---       #847
+      0100213CH   LINE      ---      ---       #848
+      0100213CH   LINE      ---      ---       #849
+      01002142H   LINE      ---      ---       #850
+      01002144H   LINE      ---      ---       #851
+      01002148H   LINE      ---      ---       #852
+      01002148H   LINE      ---      ---       #853
+      0100214FH   LINE      ---      ---       #854
+      01002151H   LINE      ---      ---       #855
+      01002171H   LINE      ---      ---       #856
+      01002171H   LINE      ---      ---       #857
+      01002177H   LINE      ---      ---       #858
+      01002179H   LINE      ---      ---       #859
+      0100217DH   LINE      ---      ---       #860
+      0100217DH   LINE      ---      ---       #861
+      01002184H   LINE      ---      ---       #862
+      01002186H   LINE      ---      ---       #863
+      010021A6H   LINE      ---      ---       #864
+      010021A6H   LINE      ---      ---       #865
+      010021ADH   LINE      ---      ---       #866
+      010021AFH   LINE      ---      ---       #867
+      010021B3H   LINE      ---      ---       #868
+      010021B3H   LINE      ---      ---       #869
+      010021BAH   LINE      ---      ---       #870
+      010021BCH   LINE      ---      ---       #871
+      010021DCH   LINE      ---      ---       #872
+      010021DCH   LINE      ---      ---       #873
+      010021E3H   LINE      ---      ---       #874
+      010021E5H   LINE      ---      ---       #875
+      010021E9H   LINE      ---      ---       #876
+      010021E9H   LINE      ---      ---       #877
+      010021F0H   LINE      ---      ---       #878
+      010021F2H   LINE      ---      ---       #879
+      01002212H   LINE      ---      ---       #880
+      01002212H   LINE      ---      ---       #881
+      01002219H   LINE      ---      ---       #882
+      0100221BH   LINE      ---      ---       #883
+      0100221FH   LINE      ---      ---       #884
+      0100221FH   LINE      ---      ---       #885
+      01002226H   LINE      ---      ---       #886
+      01002228H   LINE      ---      ---       #887
+      01002248H   LINE      ---      ---       #888
+      01002248H   LINE      ---      ---       #889
+      0100224DH   LINE      ---      ---       #890
+      0100224FH   LINE      ---      ---       #891
+      01002253H   LINE      ---      ---       #892
+      01002253H   LINE      ---      ---       #893
+      0100225AH   LINE      ---      ---       #894
+      0100225CH   LINE      ---      ---       #895
+      0100227CH   LINE      ---      ---       #896
+      0100227CH   LINE      ---      ---       #897
+      01002281H   LINE      ---      ---       #898
+      01002283H   LINE      ---      ---       #899
+      01002287H   LINE      ---      ---       #900
+      01002287H   LINE      ---      ---       #901
+      0100228EH   LINE      ---      ---       #902
+      01002290H   LINE      ---      ---       #903
+      010022B0H   LINE      ---      ---       #904
+      010022B0H   LINE      ---      ---       #905
+      010022B7H   LINE      ---      ---       #906
+      010022B9H   LINE      ---      ---       #907
+      010022BDH   LINE      ---      ---       #908
+      010022BDH   LINE      ---      ---       #909
+      010022C4H   LINE      ---      ---       #910
+      010022C6H   LINE      ---      ---       #911
+      010022E6H   LINE      ---      ---       #912
+      010022E6H   LINE      ---      ---       #913
+      010022EAH   LINE      ---      ---       #914
+      010022ECH   LINE      ---      ---       #915
+      010022F0H   LINE      ---      ---       #916
+      010022F0H   LINE      ---      ---       #917
+      010022F4H   LINE      ---      ---       #918
+      010022F6H   LINE      ---      ---       #919
+      010022FCH   LINE      ---      ---       #920
+      010022FCH   LINE      ---      ---       #921
+      01002300H   LINE      ---      ---       #922
+      01002300H   LINE      ---      ---       #924
+      01002307H   LINE      ---      ---       #925
+      01002307H   LINE      ---      ---       #926
+      01002327H   LINE      ---      ---       #927
+      0100232BH   LINE      ---      ---       #928
+      0100232BH   LINE      ---      ---       #929
+      0100232BH   LINE      ---      ---       #930
+      01002333H   LINE      ---      ---       #931
       02004EDBH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
       02004EA4H   PUBLIC    XDATA    ---       ksEvtPool
-      010023ACH   PUBLIC    CODE     ---       KS_GetCurrentEvt
-      0100261FH   PUBLIC    CODE     ---       _array_is_empty
-      01002FE3H   PUBLIC    CODE     ---       KS_ScanMatrix
-      01002B61H   PUBLIC    CODE     ---       KS_Unistall
-      01001FA6H   PUBLIC    CODE     ---       KS_Initialize
-
-      010025F9H   BLOCK     CODE     ---       LVL=0
-      010025F9H   LINE      ---      ---       #25
-      010025F9H   LINE      ---      ---       #26
-      010025F9H   BLOCK     CODE     NEAR LAB  LVL=1
-      010025F9H   LINE      ---      ---       #28
-      010025FEH   LINE      ---      ---       #29
-      01002601H   LINE      ---      ---       #30
-      01002604H   LINE      ---      ---       #31
-      01002606H   LINE      ---      ---       #32
+      010023A5H   PUBLIC    CODE     ---       KS_GetCurrentEvt
+      01002618H   PUBLIC    CODE     ---       _array_is_empty
+      01002FDCH   PUBLIC    CODE     ---       KS_ScanMatrix
+      01002B5AH   PUBLIC    CODE     ---       KS_Unistall
+      01001F6FH   PUBLIC    CODE     ---       KS_Initialize
+
+      010025F2H   BLOCK     CODE     ---       LVL=0
+      010025F2H   LINE      ---      ---       #24
+      010025F2H   LINE      ---      ---       #25
+      010025F2H   BLOCK     CODE     NEAR LAB  LVL=1
+      010025F2H   LINE      ---      ---       #27
+      010025F7H   LINE      ---      ---       #28
+      010025FAH   LINE      ---      ---       #29
+      010025FDH   LINE      ---      ---       #30
+      010025FFH   LINE      ---      ---       #31
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002699H   BLOCK     CODE     ---       LVL=0
-      01002699H   LINE      ---      ---       #36
-      01002699H   LINE      ---      ---       #37
-      01002699H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002699H   LINE      ---      ---       #38
-      0100269BH   LINE      ---      ---       #40
-      010026A7H   LINE      ---      ---       #41
-      010026A7H   LINE      ---      ---       #42
-      010026C1H   LINE      ---      ---       #44
-      010026C1H   LINE      ---      ---       #90
-      010026C3H   LINE      ---      ---       #91
-      010026C3H   LINE      ---      ---       #92
-      010026D2H   LINE      ---      ---       #93
-      010026D2H   LINE      ---      ---       #94
-      010026D5H   LINE      ---      ---       #95
+      01002692H   BLOCK     CODE     ---       LVL=0
+      01002692H   LINE      ---      ---       #35
+      01002692H   LINE      ---      ---       #36
+      01002692H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002692H   LINE      ---      ---       #37
+      01002694H   LINE      ---      ---       #39
+      010026A0H   LINE      ---      ---       #40
+      010026A0H   LINE      ---      ---       #41
+      010026BAH   LINE      ---      ---       #43
+      010026BAH   LINE      ---      ---       #89
+      010026BCH   LINE      ---      ---       #90
+      010026BCH   LINE      ---      ---       #91
+      010026CBH   LINE      ---      ---       #92
+      010026CBH   LINE      ---      ---       #93
+      010026CEH   LINE      ---      ---       #94
+      010026CEH   LINE      ---      ---       #95
       010026D5H   LINE      ---      ---       #96
-      010026DCH   LINE      ---      ---       #97
-      010026E8H   LINE      ---      ---       #98
-      010026E9H   LINE      ---      ---       #99
-      010026E9H   LINE      ---      ---       #100
-      010026EEH   LINE      ---      ---       #101
+      010026E1H   LINE      ---      ---       #97
+      010026E2H   LINE      ---      ---       #98
+      010026E2H   LINE      ---      ---       #99
+      010026E7H   LINE      ---      ---       #100
       00000006H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010026EFH   BLOCK     CODE     ---       LVL=0
-      010026EFH   LINE      ---      ---       #103
-      010026EFH   LINE      ---      ---       #104
-      010026EFH   BLOCK     CODE     NEAR LAB  LVL=1
-      010026EFH   LINE      ---      ---       #105
-      010026F1H   LINE      ---      ---       #106
-      010026F2H   LINE      ---      ---       #108
-      01002700H   LINE      ---      ---       #109
+      010026E8H   BLOCK     CODE     ---       LVL=0
+      010026E8H   LINE      ---      ---       #102
+      010026E8H   LINE      ---      ---       #103
+      010026E8H   BLOCK     CODE     NEAR LAB  LVL=1
+      010026E8H   LINE      ---      ---       #104
+      010026EAH   LINE      ---      ---       #105
+      010026EBH   LINE      ---      ---       #107
+      010026F9H   LINE      ---      ---       #108
+      010026F9H   LINE      ---      ---       #109
       01002700H   LINE      ---      ---       #110
-      01002707H   LINE      ---      ---       #111
-      01002707H   LINE      ---      ---       #112
-      0100270AH   LINE      ---      ---       #113
-      0100270AH   LINE      ---      ---       #114
-      0100270CH   LINE      ---      ---       #116
-      01002712H   LINE      ---      ---       #118
-      0100271EH   LINE      ---      ---       #119
-      0100271EH   LINE      ---      ---       #120
-      01002739H   LINE      ---      ---       #122
-      01002739H   LINE      ---      ---       #167
-      0100273BH   LINE      ---      ---       #168
-      0100273BH   LINE      ---      ---       #169
-      0100273EH   LINE      ---      ---       #170
-      0100273EH   LINE      ---      ---       #171
-      0100274CH   LINE      ---      ---       #172
-      01002750H   LINE      ---      ---       #173
-      0100275BH   LINE      ---      ---       #174
-      0100275BH   LINE      ---      ---       #175
-      0100275DH   LINE      ---      ---       #176
-      0100275DH   LINE      ---      ---       #177
-      0100275FH   LINE      ---      ---       #179
-      0100275FH   LINE      ---      ---       #180
-      01002777H   LINE      ---      ---       #181
-      01002784H   LINE      ---      ---       #182
-      01002784H   LINE      ---      ---       #183
-      01002788H   LINE      ---      ---       #184
-      01002793H   LINE      ---      ---       #185
-      01002793H   LINE      ---      ---       #186
-      01002793H   LINE      ---      ---       #187
-      01002798H   LINE      ---      ---       #188
+      01002700H   LINE      ---      ---       #111
+      01002703H   LINE      ---      ---       #112
+      01002703H   LINE      ---      ---       #113
+      01002705H   LINE      ---      ---       #115
+      0100270BH   LINE      ---      ---       #117
+      01002717H   LINE      ---      ---       #118
+      01002717H   LINE      ---      ---       #119
+      01002732H   LINE      ---      ---       #121
+      01002732H   LINE      ---      ---       #166
+      01002734H   LINE      ---      ---       #167
+      01002734H   LINE      ---      ---       #168
+      01002737H   LINE      ---      ---       #169
+      01002737H   LINE      ---      ---       #170
+      01002745H   LINE      ---      ---       #171
+      01002749H   LINE      ---      ---       #172
+      01002754H   LINE      ---      ---       #173
+      01002754H   LINE      ---      ---       #174
+      01002756H   LINE      ---      ---       #175
+      01002756H   LINE      ---      ---       #176
+      01002758H   LINE      ---      ---       #178
+      01002758H   LINE      ---      ---       #179
+      01002770H   LINE      ---      ---       #180
+      0100277DH   LINE      ---      ---       #181
+      0100277DH   LINE      ---      ---       #182
+      01002781H   LINE      ---      ---       #183
+      0100278CH   LINE      ---      ---       #184
+      0100278CH   LINE      ---      ---       #185
+      0100278CH   LINE      ---      ---       #186
+      01002791H   LINE      ---      ---       #187
       00000006H   SYMBOL    DATA     VOID      i
       00000005H   SYMBOL    DATA     VOID      found
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001FD0H   BLOCK     CODE     ---       LVL=0
-      01001FD0H   LINE      ---      ---       #190
-      01001FD0H   LINE      ---      ---       #191
-      01001FD0H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001FD0H   LINE      ---      ---       #192
-      01001FD5H   LINE      ---      ---       #194
-      01001FE0H   LINE      ---      ---       #195
-      01001FE5H   LINE      ---      ---       #196
-      01001FEDH   LINE      ---      ---       #197
+      01001F98H   BLOCK     CODE     ---       LVL=0
+      01001F98H   LINE      ---      ---       #189
+      01001F98H   LINE      ---      ---       #190
+      01001F98H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001F98H   LINE      ---      ---       #191
+      01001F9DH   LINE      ---      ---       #193
+      01001FA8H   LINE      ---      ---       #194
+      01001FACH   LINE      ---      ---       #195
+      01001FB4H   LINE      ---      ---       #196
       02004F04H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001FB1H   BLOCK     CODE     ---       LVL=0
-      01001FB1H   LINE      ---      ---       #199
-      01001FB1H   LINE      ---      ---       #200
-      01001FB1H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001FB1H   LINE      ---      ---       #201
-      01001FB6H   LINE      ---      ---       #202
-      01001FC2H   LINE      ---      ---       #203
-      01001FC7H   LINE      ---      ---       #204
-      01001FCFH   LINE      ---      ---       #205
+      01001F7AH   BLOCK     CODE     ---       LVL=0
+      01001F7AH   LINE      ---      ---       #198
+      01001F7AH   LINE      ---      ---       #199
+      01001F7AH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001F7AH   LINE      ---      ---       #200
+      01001F7FH   LINE      ---      ---       #201
+      01001F8BH   LINE      ---      ---       #202
+      01001F8FH   LINE      ---      ---       #203
+      01001F97H   LINE      ---      ---       #204
       02004F05H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001FA6H   BLOCK     CODE     ---       LVL=0
-      01001FA6H   LINE      ---      ---       #207
-      01001FA6H   LINE      ---      ---       #208
-      01001FA6H   LINE      ---      ---       #209
-      01001FABH   LINE      ---      ---       #210
-      01001FADH   LINE      ---      ---       #211
-      01001FAFH   LINE      ---      ---       #212
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002B61H   BLOCK     CODE     ---       LVL=0
-      01002B61H   LINE      ---      ---       #216
-      01002B61H   LINE      ---      ---       #217
-      01002B61H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002B61H   LINE      ---      ---       #218
-      01002B63H   LINE      ---      ---       #219
-      01002B67H   LINE      ---      ---       #220
-      01002B68H   LINE      ---      ---       #221
+      01001F6FH   BLOCK     CODE     ---       LVL=0
+      01001F6FH   LINE      ---      ---       #206
+      01001F6FH   LINE      ---      ---       #207
+      01001F6FH   LINE      ---      ---       #208
+      01001F74H   LINE      ---      ---       #209
+      01001F76H   LINE      ---      ---       #210
+      01001F78H   LINE      ---      ---       #211
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002B5AH   BLOCK     CODE     ---       LVL=0
+      01002B5AH   LINE      ---      ---       #215
+      01002B5AH   LINE      ---      ---       #216
+      01002B5AH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002B5AH   LINE      ---      ---       #217
+      01002B5CH   LINE      ---      ---       #218
+      01002B60H   LINE      ---      ---       #219
+      01002B61H   LINE      ---      ---       #220
+      01002B62H   LINE      ---      ---       #221
       01002B69H   LINE      ---      ---       #222
-      01002B70H   LINE      ---      ---       #223
-      01002B79H   LINE      ---      ---       #224
-      01002B89H   LINE      ---      ---       #225
-      01002B9CH   LINE      ---      ---       #226
-      01002BA9H   LINE      ---      ---       #227
-      01002BB6H   LINE      ---      ---       #228
-      01002BB9H   LINE      ---      ---       #230
-      01002BBCH   LINE      ---      ---       #232
-      01002BC4H   LINE      ---      ---       #234
-      01002BCAH   LINE      ---      ---       #235
-      01002BCAH   LINE      ---      ---       #236
-      01002BCEH   LINE      ---      ---       #237
-      01002BD2H   LINE      ---      ---       #238
-      01002BD6H   LINE      ---      ---       #239
-      01002BDAH   LINE      ---      ---       #240
-      01002BDEH   LINE      ---      ---       #241
-      01002BE2H   LINE      ---      ---       #242
-      01002BE6H   LINE      ---      ---       #243
-      01002BEAH   LINE      ---      ---       #244
-      01002BEAH   LINE      ---      ---       #246
-      01002BEAH   LINE      ---      ---       #247
-      01002BF3H   LINE      ---      ---       #248
-      01002BF9H   LINE      ---      ---       #249
-      01002BF9H   LINE      ---      ---       #251
+      01002B72H   LINE      ---      ---       #223
+      01002B82H   LINE      ---      ---       #224
+      01002B95H   LINE      ---      ---       #225
+      01002BA2H   LINE      ---      ---       #226
+      01002BAFH   LINE      ---      ---       #227
+      01002BB2H   LINE      ---      ---       #229
+      01002BB5H   LINE      ---      ---       #231
+      01002BBDH   LINE      ---      ---       #233
+      01002BC3H   LINE      ---      ---       #234
+      01002BC3H   LINE      ---      ---       #235
+      01002BC7H   LINE      ---      ---       #236
+      01002BCBH   LINE      ---      ---       #237
+      01002BCFH   LINE      ---      ---       #238
+      01002BD3H   LINE      ---      ---       #239
+      01002BD7H   LINE      ---      ---       #240
+      01002BDBH   LINE      ---      ---       #241
+      01002BDFH   LINE      ---      ---       #242
+      01002BE3H   LINE      ---      ---       #243
+      01002BE3H   LINE      ---      ---       #245
+      01002BE3H   LINE      ---      ---       #246
+      01002BECH   LINE      ---      ---       #247
+      01002BF2H   LINE      ---      ---       #248
+      01002BF2H   LINE      ---      ---       #250
       00000007H   SYMBOL    DATA     VOID      i
       02004F06H   SYMBOL    XDATA    VOID      temp
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1818,32 +1823,32 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002FE3H   BLOCK     CODE     ---       LVL=0
-      01002FE3H   LINE      ---      ---       #254
-      01002FE3H   LINE      ---      ---       #255
-      01002FE3H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002FE3H   LINE      ---      ---       #256
-      01002FE5H   LINE      ---      ---       #257
-      01002FE9H   LINE      ---      ---       #258
-      01002FEAH   LINE      ---      ---       #259
-      01002FEBH   LINE      ---      ---       #260
-      01002FEDH   LINE      ---      ---       #261
-      01002FEFH   LINE      ---      ---       #262
-      01002FF6H   LINE      ---      ---       #263
-      01002FFFH   LINE      ---      ---       #264
-      0100300FH   LINE      ---      ---       #265
-      0100306FH   LINE      ---      ---       #266
-      01003073H   LINE      ---      ---       #268
-      0100307CH   LINE      ---      ---       #269
-      01003085H   LINE      ---      ---       #270
-      01003095H   LINE      ---      ---       #271
-      010030F5H   LINE      ---      ---       #272
-      010030F8H   LINE      ---      ---       #274
-      01003101H   LINE      ---      ---       #275
-      0100311BH   LINE      ---      ---       #276
-      0100313EH   LINE      ---      ---       #277
-      0100313EH   LINE      ---      ---       #278
-      01003141H   LINE      ---      ---       #279
+      01002FDCH   BLOCK     CODE     ---       LVL=0
+      01002FDCH   LINE      ---      ---       #253
+      01002FDCH   LINE      ---      ---       #254
+      01002FDCH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002FDCH   LINE      ---      ---       #255
+      01002FDEH   LINE      ---      ---       #256
+      01002FE2H   LINE      ---      ---       #257
+      01002FE3H   LINE      ---      ---       #258
+      01002FE4H   LINE      ---      ---       #259
+      01002FE6H   LINE      ---      ---       #260
+      01002FE8H   LINE      ---      ---       #261
+      01002FF2H   LINE      ---      ---       #262
+      01002FFBH   LINE      ---      ---       #263
+      0100300BH   LINE      ---      ---       #264
+      0100306BH   LINE      ---      ---       #265
+      0100306FH   LINE      ---      ---       #267
+      01003078H   LINE      ---      ---       #268
+      01003081H   LINE      ---      ---       #269
+      01003091H   LINE      ---      ---       #270
+      010030F1H   LINE      ---      ---       #271
+      010030F4H   LINE      ---      ---       #273
+      010030FDH   LINE      ---      ---       #274
+      01003117H   LINE      ---      ---       #275
+      0100313AH   LINE      ---      ---       #276
+      0100313AH   LINE      ---      ---       #277
+      0100313DH   LINE      ---      ---       #278
       00000007H   SYMBOL    DATA     VOID      i
       02004EE7H   SYMBOL    XDATA    VOID      j
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1853,119 +1858,119 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100261FH   BLOCK     CODE     ---       LVL=0
-      0100261FH   LINE      ---      ---       #281
-      0100262AH   LINE      ---      ---       #282
-      0100262AH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002618H   BLOCK     CODE     ---       LVL=0
+      01002618H   LINE      ---      ---       #280
+      01002623H   LINE      ---      ---       #281
+      01002623H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002623H   LINE      ---      ---       #283
       0100262AH   LINE      ---      ---       #284
-      01002631H   LINE      ---      ---       #285
-      01002631H   LINE      ---      ---       #286
-      01002646H   LINE      ---      ---       #287
-      01002649H   LINE      ---      ---       #288
-      0100264CH   LINE      ---      ---       #289
-      0100264EH   LINE      ---      ---       #290
+      0100262AH   LINE      ---      ---       #285
+      0100263FH   LINE      ---      ---       #286
+      01002642H   LINE      ---      ---       #287
+      01002645H   LINE      ---      ---       #288
+      01002647H   LINE      ---      ---       #289
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010023ACH   BLOCK     CODE     ---       LVL=0
-      010023ACH   LINE      ---      ---       #293
-      010023ACH   LINE      ---      ---       #294
-      010023ACH   BLOCK     CODE     NEAR LAB  LVL=1
-      010023ACH   LINE      ---      ---       #296
-      010023B1H   LINE      ---      ---       #297
-      010023B3H   LINE      ---      ---       #298
-      010023B5H   LINE      ---      ---       #299
-      010023B7H   LINE      ---      ---       #300
-      010023B9H   LINE      ---      ---       #301
-      010023BBH   LINE      ---      ---       #302
-      010023BDH   LINE      ---      ---       #303
-      010023BFH   LINE      ---      ---       #304
-      010023C1H   LINE      ---      ---       #305
-      010023C3H   LINE      ---      ---       #306
-      010023C5H   LINE      ---      ---       #308
-      010023C8H   LINE      ---      ---       #310
-      010023F6H   LINE      ---      ---       #312
+      010023A5H   BLOCK     CODE     ---       LVL=0
+      010023A5H   LINE      ---      ---       #292
+      010023A5H   LINE      ---      ---       #293
+      010023A5H   BLOCK     CODE     NEAR LAB  LVL=1
+      010023A5H   LINE      ---      ---       #295
+      010023AAH   LINE      ---      ---       #296
+      010023ACH   LINE      ---      ---       #297
+      010023AEH   LINE      ---      ---       #298
+      010023B0H   LINE      ---      ---       #299
+      010023B2H   LINE      ---      ---       #300
+      010023B4H   LINE      ---      ---       #301
+      010023B6H   LINE      ---      ---       #302
+      010023B8H   LINE      ---      ---       #303
+      010023BAH   LINE      ---      ---       #304
+      010023BCH   LINE      ---      ---       #305
+      010023BEH   LINE      ---      ---       #307
+      010023C1H   LINE      ---      ---       #309
+      010023EFH   LINE      ---      ---       #311
+      010023EFH   LINE      ---      ---       #312
       010023F6H   LINE      ---      ---       #313
-      010023FDH   LINE      ---      ---       #314
-      010023FFH   LINE      ---      ---       #316
+      010023F8H   LINE      ---      ---       #315
+      010023F8H   LINE      ---      ---       #316
       010023FFH   LINE      ---      ---       #317
-      01002406H   LINE      ---      ---       #318
-      0100240BH   LINE      ---      ---       #319
-      0100240BH   LINE      ---      ---       #321
-      0100241DH   LINE      ---      ---       #322
-      0100241DH   LINE      ---      ---       #323
-      0100242CH   LINE      ---      ---       #324
+      01002404H   LINE      ---      ---       #318
+      01002404H   LINE      ---      ---       #320
+      01002416H   LINE      ---      ---       #321
+      01002416H   LINE      ---      ---       #322
+      01002425H   LINE      ---      ---       #323
+      0100242EH   LINE      ---      ---       #324
       01002435H   LINE      ---      ---       #325
-      0100243CH   LINE      ---      ---       #326
-      0100243CH   LINE      ---      ---       #327
-      0100244BH   LINE      ---      ---       #328
-      0100244BH   LINE      ---      ---       #329
-      01002466H   LINE      ---      ---       #330
-      01002466H   LINE      ---      ---       #331
-      01002476H   LINE      ---      ---       #332
-      01002476H   LINE      ---      ---       #333
-      0100247FH   LINE      ---      ---       #334
-      0100247FH   LINE      ---      ---       #335
-      010024AEH   LINE      ---      ---       #336
-      010024AEH   LINE      ---      ---       #337
-      010024B4H   LINE      ---      ---       #338
-      010024B6H   LINE      ---      ---       #339
-      010024B6H   LINE      ---      ---       #340
-      010024B6H   LINE      ---      ---       #341
-      010024BEH   LINE      ---      ---       #342
-      010024BEH   LINE      ---      ---       #343
-      010024C6H   LINE      ---      ---       #344
+      01002435H   LINE      ---      ---       #326
+      01002444H   LINE      ---      ---       #327
+      01002444H   LINE      ---      ---       #328
+      0100245FH   LINE      ---      ---       #329
+      0100245FH   LINE      ---      ---       #330
+      0100246FH   LINE      ---      ---       #331
+      0100246FH   LINE      ---      ---       #332
+      01002478H   LINE      ---      ---       #333
+      01002478H   LINE      ---      ---       #334
+      010024A7H   LINE      ---      ---       #335
+      010024A7H   LINE      ---      ---       #336
+      010024ADH   LINE      ---      ---       #337
+      010024AFH   LINE      ---      ---       #338
+      010024AFH   LINE      ---      ---       #339
+      010024AFH   LINE      ---      ---       #340
+      010024B7H   LINE      ---      ---       #341
+      010024B7H   LINE      ---      ---       #342
+      010024BFH   LINE      ---      ---       #343
+      010024BFH   LINE      ---      ---       #345
       010024C6H   LINE      ---      ---       #346
-      010024CDH   LINE      ---      ---       #347
-      010024CDH   LINE      ---      ---       #348
-      010024D5H   LINE      ---      ---       #349
-      010024D5H   LINE      ---      ---       #350
-      010024DDH   LINE      ---      ---       #351
-      010024E5H   LINE      ---      ---       #353
-      010024F7H   LINE      ---      ---       #354
-      010024F7H   LINE      ---      ---       #355
-      01002513H   LINE      ---      ---       #356
-      01002526H   LINE      ---      ---       #357
-      0100252CH   LINE      ---      ---       #358
-      0100252CH   LINE      ---      ---       #359
-      0100252EH   LINE      ---      ---       #360
-      01002530H   LINE      ---      ---       #362
-      01002530H   LINE      ---      ---       #364
+      010024C6H   LINE      ---      ---       #347
+      010024CEH   LINE      ---      ---       #348
+      010024CEH   LINE      ---      ---       #349
+      010024D6H   LINE      ---      ---       #350
+      010024DEH   LINE      ---      ---       #352
+      010024F0H   LINE      ---      ---       #353
+      010024F0H   LINE      ---      ---       #354
+      0100250CH   LINE      ---      ---       #355
+      0100251FH   LINE      ---      ---       #356
+      01002525H   LINE      ---      ---       #357
+      01002525H   LINE      ---      ---       #358
+      01002527H   LINE      ---      ---       #359
+      01002529H   LINE      ---      ---       #361
+      01002529H   LINE      ---      ---       #363
+      0100252FH   LINE      ---      ---       #364
       01002536H   LINE      ---      ---       #365
-      0100253DH   LINE      ---      ---       #366
-      01002555H   LINE      ---      ---       #367
-      01002564H   LINE      ---      ---       #368
+      0100254EH   LINE      ---      ---       #366
+      0100255DH   LINE      ---      ---       #367
+      0100255DH   LINE      ---      ---       #368
       01002564H   LINE      ---      ---       #369
-      0100256BH   LINE      ---      ---       #370
-      0100256BH   LINE      ---      ---       #371
-      0100257CH   LINE      ---      ---       #372
+      01002564H   LINE      ---      ---       #370
+      01002575H   LINE      ---      ---       #371
+      01002589H   LINE      ---      ---       #372
       01002590H   LINE      ---      ---       #373
-      01002597H   LINE      ---      ---       #374
+      01002590H   LINE      ---      ---       #374
       01002597H   LINE      ---      ---       #375
-      0100259EH   LINE      ---      ---       #376
-      010025A0H   LINE      ---      ---       #378
+      01002599H   LINE      ---      ---       #377
+      01002599H   LINE      ---      ---       #378
       010025A0H   LINE      ---      ---       #379
-      010025A7H   LINE      ---      ---       #380
-      010025A7H   LINE      ---      ---       #381
-      010025A7H   LINE      ---      ---       #382
-      010025AFH   LINE      ---      ---       #383
-      010025B7H   LINE      ---      ---       #384
-      010025BFH   LINE      ---      ---       #385
-      010025C5H   LINE      ---      ---       #386
-      010025C5H   LINE      ---      ---       #387
-      010025CDH   LINE      ---      ---       #389
-      010025DBH   LINE      ---      ---       #390
-      010025DBH   LINE      ---      ---       #391
-      010025DEH   LINE      ---      ---       #392
-      010025DEH   LINE      ---      ---       #395
-      010025EBH   LINE      ---      ---       #396
+      010025A0H   LINE      ---      ---       #380
+      010025A0H   LINE      ---      ---       #381
+      010025A8H   LINE      ---      ---       #382
+      010025B0H   LINE      ---      ---       #383
+      010025B8H   LINE      ---      ---       #384
+      010025BEH   LINE      ---      ---       #385
+      010025BEH   LINE      ---      ---       #386
+      010025C6H   LINE      ---      ---       #388
+      010025D4H   LINE      ---      ---       #389
+      010025D4H   LINE      ---      ---       #390
+      010025D7H   LINE      ---      ---       #391
+      010025D7H   LINE      ---      ---       #394
+      010025E4H   LINE      ---      ---       #395
+      010025E4H   LINE      ---      ---       #396
       010025EBH   LINE      ---      ---       #397
-      010025F2H   LINE      ---      ---       #398
-      010025F2H   LINE      ---      ---       #400
-      010025F2H   LINE      ---      ---       #401
-      010025F8H   LINE      ---      ---       #402
-      010025F8H   LINE      ---      ---       #405
+      010025EBH   LINE      ---      ---       #399
+      010025EBH   LINE      ---      ---       #400
+      010025F1H   LINE      ---      ---       #401
+      010025F1H   LINE      ---      ---       #404
       02004E88H   SYMBOL    XDATA    VOID      i
       02004E89H   SYMBOL    XDATA    VOID      j
       02004E8AH   SYMBOL    XDATA    VOID      k
@@ -1981,140 +1986,140 @@
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       LED
-      01001342H   PUBLIC    CODE     ---       LED_handle
-      01001760H   PUBLIC    CODE     ---       LED_device_poweroff
-      01001727H   PUBLIC    CODE     ---       LED_device_poweron
-      01001799H   PUBLIC    CODE     ---       LED_all_shutdown
-
-      01001799H   BLOCK     CODE     ---       LVL=0
-      01001799H   LINE      ---      ---       #4
-      01001799H   LINE      ---      ---       #5
-      01001799H   LINE      ---      ---       #6
-      0100179FH   LINE      ---      ---       #7
-      010017A5H   LINE      ---      ---       #8
-      010017ABH   LINE      ---      ---       #9
-      010017B1H   LINE      ---      ---       #10
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001727H   BLOCK     CODE     ---       LVL=0
-      01001727H   LINE      ---      ---       #15
-      01001727H   LINE      ---      ---       #16
-      01001727H   LINE      ---      ---       #17
-      0100172EH   LINE      ---      ---       #18
-      01001734H   LINE      ---      ---       #19
-      0100173BH   LINE      ---      ---       #20
-      01001741H   LINE      ---      ---       #21
-      01001748H   LINE      ---      ---       #22
-      01001748H   LINE      ---      ---       #23
-      0100174EH   LINE      ---      ---       #24
-      01001754H   LINE      ---      ---       #25
-      01001754H   LINE      ---      ---       #27
-      01001754H   LINE      ---      ---       #28
-      0100175AH   LINE      ---      ---       #29
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001760H   BLOCK     CODE     ---       LVL=0
-      01001760H   LINE      ---      ---       #33
-      01001760H   LINE      ---      ---       #34
-      01001760H   LINE      ---      ---       #35
-      01001767H   LINE      ---      ---       #36
-      0100176DH   LINE      ---      ---       #37
-      01001774H   LINE      ---      ---       #38
-      0100177AH   LINE      ---      ---       #39
-      01001781H   LINE      ---      ---       #40
-      01001781H   LINE      ---      ---       #41
-      01001787H   LINE      ---      ---       #42
-      0100178DH   LINE      ---      ---       #43
-      0100178DH   LINE      ---      ---       #45
-      0100178DH   LINE      ---      ---       #46
-      01001793H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001342H   BLOCK     CODE     ---       LVL=0
-      01001342H   LINE      ---      ---       #52
-      01001342H   LINE      ---      ---       #53
-      01001342H   LINE      ---      ---       #54
-      0100134CH   LINE      ---      ---       #57
-      0100135CH   LINE      ---      ---       #58
-      0100135CH   LINE      ---      ---       #60
-      01001363H   LINE      ---      ---       #61
-      01001363H   LINE      ---      ---       #62
-      01001366H   LINE      ---      ---       #63
-      01001368H   LINE      ---      ---       #64
-      0100136FH   LINE      ---      ---       #65
-      0100136FH   LINE      ---      ---       #66
-      01001375H   LINE      ---      ---       #67
-      01001375H   LINE      ---      ---       #68
-      0100137BH   LINE      ---      ---       #69
-      01001381H   LINE      ---      ---       #70
-      01001381H   LINE      ---      ---       #71
-      01001383H   LINE      ---      ---       #73
-      01001383H   LINE      ---      ---       #74
-      0100138AH   LINE      ---      ---       #75
-      0100138AH   LINE      ---      ---       #76
-      0100138CH   LINE      ---      ---       #77
-      01001390H   LINE      ---      ---       #78
-      01001396H   LINE      ---      ---       #79
-      01001396H   LINE      ---      ---       #80
-      01001396H   LINE      ---      ---       #83
-      0100139EH   LINE      ---      ---       #84
-      0100139EH   LINE      ---      ---       #85
-      010013ACH   LINE      ---      ---       #86
-      010013ACH   LINE      ---      ---       #87
-      010013B0H   LINE      ---      ---       #88
-      010013B0H   LINE      ---      ---       #89
-      010013B6H   LINE      ---      ---       #90
-      010013BCH   LINE      ---      ---       #91
-      010013BEH   LINE      ---      ---       #93
-      010013BEH   LINE      ---      ---       #94
-      010013C4H   LINE      ---      ---       #95
-      010013C9H   LINE      ---      ---       #96
-      010013C9H   LINE      ---      ---       #98
-      010013D0H   LINE      ---      ---       #99
-      010013D0H   LINE      ---      ---       #100
-      010013D6H   LINE      ---      ---       #101
-      010013DCH   LINE      ---      ---       #102
-      010013DEH   LINE      ---      ---       #104
-      010013DEH   LINE      ---      ---       #105
-      010013E4H   LINE      ---      ---       #106
-      010013E9H   LINE      ---      ---       #107
-      010013E9H   LINE      ---      ---       #110
-      010013F0H   LINE      ---      ---       #111
-      010013F0H   LINE      ---      ---       #112
-      010013F6H   LINE      ---      ---       #113
-      01001402H   LINE      ---      ---       #114
-      01001408H   LINE      ---      ---       #115
-      0100140AH   LINE      ---      ---       #117
-      0100140AH   LINE      ---      ---       #118
-      01001416H   LINE      ---      ---       #119
-      0100141CH   LINE      ---      ---       #120
-      01001421H   LINE      ---      ---       #121
-      01001421H   LINE      ---      ---       #122
-      01001426H   LINE      ---      ---       #123
-      0100142EH   LINE      ---      ---       #124
-      0100142EH   LINE      ---      ---       #125
-      0100142FH   LINE      ---      ---       #127
-      0100142FH   LINE      ---      ---       #128
-      01001435H   LINE      ---      ---       #129
-      0100143BH   LINE      ---      ---       #130
-      0100143BH   LINE      ---      ---       #131
-      0100143BH   LINE      ---      ---       #133
-      0100143BH   LINE      ---      ---       #134
-      01001441H   LINE      ---      ---       #136
-      01001441H   LINE      ---      ---       #138
+      0100136DH   PUBLIC    CODE     ---       LED_handle
+      0100177EH   PUBLIC    CODE     ---       LED_device_poweroff
+      01001745H   PUBLIC    CODE     ---       LED_device_poweron
+      010017B7H   PUBLIC    CODE     ---       LED_all_shutdown
+
+      010017B7H   BLOCK     CODE     ---       LVL=0
+      010017B7H   LINE      ---      ---       #4
+      010017B7H   LINE      ---      ---       #5
+      010017B7H   LINE      ---      ---       #6
+      010017BDH   LINE      ---      ---       #7
+      010017C3H   LINE      ---      ---       #8
+      010017C9H   LINE      ---      ---       #9
+      010017CFH   LINE      ---      ---       #10
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001745H   BLOCK     CODE     ---       LVL=0
+      01001745H   LINE      ---      ---       #15
+      01001745H   LINE      ---      ---       #16
+      01001745H   LINE      ---      ---       #17
+      0100174CH   LINE      ---      ---       #18
+      01001752H   LINE      ---      ---       #19
+      01001759H   LINE      ---      ---       #20
+      0100175FH   LINE      ---      ---       #21
+      01001766H   LINE      ---      ---       #22
+      01001766H   LINE      ---      ---       #23
+      0100176CH   LINE      ---      ---       #24
+      01001772H   LINE      ---      ---       #25
+      01001772H   LINE      ---      ---       #27
+      01001772H   LINE      ---      ---       #28
+      01001778H   LINE      ---      ---       #29
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100177EH   BLOCK     CODE     ---       LVL=0
+      0100177EH   LINE      ---      ---       #33
+      0100177EH   LINE      ---      ---       #34
+      0100177EH   LINE      ---      ---       #35
+      01001785H   LINE      ---      ---       #36
+      0100178BH   LINE      ---      ---       #37
+      01001792H   LINE      ---      ---       #38
+      01001798H   LINE      ---      ---       #39
+      0100179FH   LINE      ---      ---       #40
+      0100179FH   LINE      ---      ---       #41
+      010017A5H   LINE      ---      ---       #42
+      010017ABH   LINE      ---      ---       #43
+      010017ABH   LINE      ---      ---       #45
+      010017ABH   LINE      ---      ---       #46
+      010017B1H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100136DH   BLOCK     CODE     ---       LVL=0
+      0100136DH   LINE      ---      ---       #52
+      0100136DH   LINE      ---      ---       #53
+      0100136DH   LINE      ---      ---       #54
+      01001377H   LINE      ---      ---       #57
+      01001387H   LINE      ---      ---       #58
+      01001387H   LINE      ---      ---       #60
+      0100138EH   LINE      ---      ---       #61
+      0100138EH   LINE      ---      ---       #62
+      01001391H   LINE      ---      ---       #63
+      01001393H   LINE      ---      ---       #64
+      0100139AH   LINE      ---      ---       #65
+      0100139AH   LINE      ---      ---       #66
+      010013A0H   LINE      ---      ---       #67
+      010013A0H   LINE      ---      ---       #68
+      010013A6H   LINE      ---      ---       #69
+      010013ACH   LINE      ---      ---       #70
+      010013ACH   LINE      ---      ---       #71
+      010013AEH   LINE      ---      ---       #73
+      010013AEH   LINE      ---      ---       #74
+      010013B5H   LINE      ---      ---       #75
+      010013B5H   LINE      ---      ---       #76
+      010013B7H   LINE      ---      ---       #77
+      010013BBH   LINE      ---      ---       #78
+      010013C1H   LINE      ---      ---       #79
+      010013C1H   LINE      ---      ---       #80
+      010013C1H   LINE      ---      ---       #83
+      010013C9H   LINE      ---      ---       #84
+      010013C9H   LINE      ---      ---       #85
+      010013D7H   LINE      ---      ---       #86
+      010013D7H   LINE      ---      ---       #87
+      010013DBH   LINE      ---      ---       #88
+      010013DBH   LINE      ---      ---       #89
+      010013E1H   LINE      ---      ---       #90
+      010013E7H   LINE      ---      ---       #91
+      010013E9H   LINE      ---      ---       #93
+      010013E9H   LINE      ---      ---       #94
+      010013EFH   LINE      ---      ---       #95
+      010013F4H   LINE      ---      ---       #96
+      010013F4H   LINE      ---      ---       #98
+      010013FBH   LINE      ---      ---       #99
+      010013FBH   LINE      ---      ---       #100
+      01001401H   LINE      ---      ---       #101
+      01001407H   LINE      ---      ---       #102
+      01001409H   LINE      ---      ---       #104
+      01001409H   LINE      ---      ---       #105
+      0100140FH   LINE      ---      ---       #106
+      01001414H   LINE      ---      ---       #107
+      01001414H   LINE      ---      ---       #110
+      0100141BH   LINE      ---      ---       #111
+      0100141BH   LINE      ---      ---       #112
+      01001421H   LINE      ---      ---       #113
+      0100142DH   LINE      ---      ---       #114
+      01001433H   LINE      ---      ---       #115
+      01001435H   LINE      ---      ---       #117
+      01001435H   LINE      ---      ---       #118
+      01001441H   LINE      ---      ---       #119
+      01001447H   LINE      ---      ---       #120
+      0100144CH   LINE      ---      ---       #121
+      0100144CH   LINE      ---      ---       #122
+      01001451H   LINE      ---      ---       #123
+      01001459H   LINE      ---      ---       #124
+      01001459H   LINE      ---      ---       #125
+      0100145AH   LINE      ---      ---       #127
+      0100145AH   LINE      ---      ---       #128
+      01001460H   LINE      ---      ---       #129
+      01001466H   LINE      ---      ---       #130
+      01001466H   LINE      ---      ---       #131
+      01001466H   LINE      ---      ---       #133
+      01001466H   LINE      ---      ---       #134
+      0100146CH   LINE      ---      ---       #136
+      0100146CH   LINE      ---      ---       #138
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       SYS
-      01002C99H   PUBLIC    CODE     ---       YC_System_Main
-      01001963H   PUBLIC    CODE     ---       kb_button_press_timer500ms
-      01001909H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
-      010018B0H   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
+      01002C92H   PUBLIC    CODE     ---       YC_System_Main
+      0100190FH   PUBLIC    CODE     ---       kb_button_press_timer500ms
+      010018B5H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
+      0100185CH   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
       01000DD0H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
-      0100124FH   PUBLIC    CODE     ---       LED_timer500ms
-      01001B35H   PUBLIC    CODE     ---       System_Reset_Connect
-      01002FB4H   PUBLIC    CODE     ---       System_G24_long_lpm
+      0100127AH   PUBLIC    CODE     ---       LED_timer500ms
+      01001AE1H   PUBLIC    CODE     ---       System_Reset_Connect
+      01002FADH   PUBLIC    CODE     ---       System_G24_long_lpm
       01000FB2H   PUBLIC    CODE     ---       System_long_sleep
-      01003155H   PUBLIC    CODE     ---       System_Software_init
+      01003151H   PUBLIC    CODE     ---       System_Software_init
 
       01000B97H   BLOCK     CODE     ---       LVL=0
       01000B97H   LINE      ---      ---       #11
@@ -2147,46 +2152,46 @@
       01000C2FH   LINE      ---      ---       #41
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003142H   BLOCK     CODE     ---       LVL=0
-      01003142H   LINE      ---      ---       #43
-      01003142H   LINE      ---      ---       #44
-      01003142H   LINE      ---      ---       #45
-      01003148H   LINE      ---      ---       #46
-      0100314BH   LINE      ---      ---       #47
-      0100314DH   LINE      ---      ---       #48
-      0100314FH   LINE      ---      ---       #49
-      01003151H   LINE      ---      ---       #50
-      01003154H   LINE      ---      ---       #51
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017E2H   BLOCK     CODE     ---       LVL=0
-      010017E2H   LINE      ---      ---       #53
-      010017E2H   LINE      ---      ---       #54
-      010017E2H   LINE      ---      ---       #55
-      010017E5H   LINE      ---      ---       #56
-      010017E8H   LINE      ---      ---       #57
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003155H   BLOCK     CODE     ---       LVL=0
-      01003155H   LINE      ---      ---       #61
-      01003155H   LINE      ---      ---       #62
-      01003155H   LINE      ---      ---       #63
-      01003158H   LINE      ---      ---       #64
-      0100315AH   LINE      ---      ---       #65
-      01003160H   LINE      ---      ---       #66
-      01003166H   LINE      ---      ---       #67
-      0100316BH   LINE      ---      ---       #68
-      01003171H   LINE      ---      ---       #69
-      01003179H   LINE      ---      ---       #70
-      01003181H   LINE      ---      ---       #71
-      01003189H   LINE      ---      ---       #72
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001B35H   BLOCK     CODE     ---       LVL=0
-      01001B35H   LINE      ---      ---       #74
-      01001B35H   LINE      ---      ---       #75
-      01001B35H   LINE      ---      ---       #76
-      01001B3BH   LINE      ---      ---       #77
+      0100313EH   BLOCK     CODE     ---       LVL=0
+      0100313EH   LINE      ---      ---       #43
+      0100313EH   LINE      ---      ---       #44
+      0100313EH   LINE      ---      ---       #45
+      01003144H   LINE      ---      ---       #46
+      01003147H   LINE      ---      ---       #47
+      01003149H   LINE      ---      ---       #48
+      0100314BH   LINE      ---      ---       #49
+      0100314DH   LINE      ---      ---       #50
+      01003150H   LINE      ---      ---       #51
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010017EFH   BLOCK     CODE     ---       LVL=0
+      010017EFH   LINE      ---      ---       #53
+      010017EFH   LINE      ---      ---       #54
+      010017EFH   LINE      ---      ---       #55
+      010017F2H   LINE      ---      ---       #56
+      010017F5H   LINE      ---      ---       #57
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003151H   BLOCK     CODE     ---       LVL=0
+      01003151H   LINE      ---      ---       #61
+      01003151H   LINE      ---      ---       #62
+      01003151H   LINE      ---      ---       #63
+      01003154H   LINE      ---      ---       #64
+      01003156H   LINE      ---      ---       #65
+      0100315CH   LINE      ---      ---       #66
+      01003162H   LINE      ---      ---       #67
+      01003167H   LINE      ---      ---       #68
+      0100316DH   LINE      ---      ---       #69
+      01003175H   LINE      ---      ---       #70
+      0100317DH   LINE      ---      ---       #71
+      01003185H   LINE      ---      ---       #72
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AE1H   BLOCK     CODE     ---       LVL=0
+      01001AE1H   LINE      ---      ---       #74
+      01001AE1H   LINE      ---      ---       #75
+      01001AE1H   LINE      ---      ---       #76
+      01001AE7H   LINE      ---      ---       #77
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FB2H   BLOCK     CODE     ---       LVL=0
@@ -2196,746 +2201,749 @@
       01000FB7H   LINE      ---      ---       #83
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01002FB4H   BLOCK     CODE     ---       LVL=0
-      01002FB4H   LINE      ---      ---       #86
-      01002FB4H   LINE      ---      ---       #87
-      01002FB4H   LINE      ---      ---       #88
-      01002FB7H   LINE      ---      ---       #89
-      01002FBDH   LINE      ---      ---       #90
-      01002FC3H   LINE      ---      ---       #92
-      01002FC8H   LINE      ---      ---       #93
-      01002FCAH   LINE      ---      ---       #94
-      01002FCCH   LINE      ---      ---       #95
-      01002FD2H   LINE      ---      ---       #96
-      01002FD6H   LINE      ---      ---       #98
-      01002FDCH   LINE      ---      ---       #99
-      01002FDEH   LINE      ---      ---       #100
-      01002FE0H   LINE      ---      ---       #101
-      01002FE2H   LINE      ---      ---       #102
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001B35H   BLOCK     CODE     ---       LVL=0
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100329CH   BLOCK     CODE     ---       LVL=0
-      0100329CH   LINE      ---      ---       #114
-      010032A1H   BLOCK     CODE     NEAR LAB  LVL=1
-      010032A1H   LINE      ---      ---       #116
-      010032ABH   LINE      ---      ---       #118
-      010032ABH   LINE      ---      ---       #120
-      010032ABH   LINE      ---      ---       #121
+      01002FADH   BLOCK     CODE     ---       LVL=0
+      01002FADH   LINE      ---      ---       #86
+      01002FADH   LINE      ---      ---       #87
+      01002FADH   LINE      ---      ---       #88
+      01002FB0H   LINE      ---      ---       #89
+      01002FB6H   LINE      ---      ---       #90
+      01002FBCH   LINE      ---      ---       #92
+      01002FC1H   LINE      ---      ---       #93
+      01002FC3H   LINE      ---      ---       #94
+      01002FC5H   LINE      ---      ---       #95
+      01002FCBH   LINE      ---      ---       #96
+      01002FCFH   LINE      ---      ---       #98
+      01002FD5H   LINE      ---      ---       #99
+      01002FD7H   LINE      ---      ---       #100
+      01002FD9H   LINE      ---      ---       #101
+      01002FDBH   LINE      ---      ---       #102
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001AE1H   BLOCK     CODE     ---       LVL=0
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003298H   BLOCK     CODE     ---       LVL=0
+      01003298H   LINE      ---      ---       #114
+      0100329DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100329DH   LINE      ---      ---       #116
+      010032A7H   LINE      ---      ---       #118
+      010032A7H   LINE      ---      ---       #120
+      010032A7H   LINE      ---      ---       #121
       02004EFCH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001CFCH   BLOCK     CODE     ---       LVL=0
-      01001CFCH   LINE      ---      ---       #123
-      01001D01H   LINE      ---      ---       #124
-      01001D01H   LINE      ---      ---       #125
-      01001D32H   LINE      ---      ---       #126
-      01001D32H   LINE      ---      ---       #127
-      01001D32H   LINE      ---      ---       #128
-      01001D32H   LINE      ---      ---       #129
-      01001D35H   LINE      ---      ---       #130
-      01001D38H   LINE      ---      ---       #131
-      01001D49H   LINE      ---      ---       #132
-      01001D52H   LINE      ---      ---       #133
-      01001D54H   LINE      ---      ---       #134
-      01001D5CH   LINE      ---      ---       #135
-      01001D5FH   LINE      ---      ---       #136
-      01001D64H   LINE      ---      ---       #137
-      01001D75H   LINE      ---      ---       #138
-      01001D81H   LINE      ---      ---       #139
-      01001D81H   LINE      ---      ---       #140
-      01001D8BH   LINE      ---      ---       #141
-      01001D95H   LINE      ---      ---       #142
-      01001D95H   LINE      ---      ---       #143
-      01001D98H   LINE      ---      ---       #144
-      01001D98H   LINE      ---      ---       #145
-      01001D98H   LINE      ---      ---       #146
-      01001D9BH   LINE      ---      ---       #147
-      01001D9DH   LINE      ---      ---       #148
-      01001DA2H   LINE      ---      ---       #149
-      01001DA3H   LINE      ---      ---       #152
-      01001DA3H   LINE      ---      ---       #153
-      01001DA3H   LINE      ---      ---       #154
-      01001DB5H   LINE      ---      ---       #155
-      01001DB5H   LINE      ---      ---       #156
-      01001DCBH   LINE      ---      ---       #157
-      01001DD1H   LINE      ---      ---       #158
-      01001DD1H   LINE      ---      ---       #159
-      01001DD2H   LINE      ---      ---       #160
-      01001DD2H   LINE      ---      ---       #161
-      01001DDAH   LINE      ---      ---       #162
-      01001DDAH   LINE      ---      ---       #165
-      01001DDAH   LINE      ---      ---       #166
-      01001DDAH   LINE      ---      ---       #167
-      01001DE0H   LINE      ---      ---       #168
-      01001DE3H   LINE      ---      ---       #169
-      01001DE6H   LINE      ---      ---       #170
-      01001DEBH   LINE      ---      ---       #171
-      01001DEFH   LINE      ---      ---       #172
-      01001DF5H   LINE      ---      ---       #173
-      01001DF9H   LINE      ---      ---       #174
-      01001DFFH   LINE      ---      ---       #175
-      01001E05H   LINE      ---      ---       #177
-      01001E0DH   LINE      ---      ---       #178
-      01001E0DH   LINE      ---      ---       #179
-      01001E11H   LINE      ---      ---       #180
-      01001E15H   LINE      ---      ---       #181
-      01001E19H   LINE      ---      ---       #182
-      01001E1FH   LINE      ---      ---       #183
-      01001E38H   LINE      ---      ---       #185
-      01001E38H   LINE      ---      ---       #186
-      01001E3EH   LINE      ---      ---       #187
-      01001E41H   LINE      ---      ---       #188
-      01001E43H   LINE      ---      ---       #189
-      01001E43H   LINE      ---      ---       #190
-      01001E43H   LINE      ---      ---       #192
-      01001E43H   LINE      ---      ---       #193
-      01001E4BH   LINE      ---      ---       #195
-      01001E4BH   LINE      ---      ---       #196
-      01001E4CH   LINE      ---      ---       #198
-      01001E4CH   LINE      ---      ---       #199
-      01001E51H   LINE      ---      ---       #200
-      01001E53H   LINE      ---      ---       #201
-      01001E59H   LINE      ---      ---       #202
-      01001E5EH   LINE      ---      ---       #204
-      01001E64H   LINE      ---      ---       #205
-      01001E64H   LINE      ---      ---       #206
-      01001E67H   LINE      ---      ---       #207
-      01001E6FH   LINE      ---      ---       #208
-      01001E6FH   LINE      ---      ---       #209
-      01001E6FH   LINE      ---      ---       #211
-      01001E76H   LINE      ---      ---       #212
-      01001E76H   LINE      ---      ---       #213
-      01001E78H   LINE      ---      ---       #214
-      01001E7BH   LINE      ---      ---       #215
-      01001E7BH   LINE      ---      ---       #216
-      01001E7BH   LINE      ---      ---       #217
-      01001E83H   LINE      ---      ---       #218
-      01001E83H   LINE      ---      ---       #219
-      01001E8BH   LINE      ---      ---       #220
-      01001E8BH   LINE      ---      ---       #221
-      01001E8BH   LINE      ---      ---       #226
-      01001E8BH   LINE      ---      ---       #227
-      01001E91H   LINE      ---      ---       #228
-      01001E95H   LINE      ---      ---       #229
-      01001E98H   LINE      ---      ---       #230
-      01001E9AH   LINE      ---      ---       #231
-      01001E9FH   LINE      ---      ---       #232
-      01001EA4H   LINE      ---      ---       #233
-      01001EAAH   LINE      ---      ---       #234
-      01001EAAH   LINE      ---      ---       #235
-      01001EAFH   LINE      ---      ---       #236
-      01001EB3H   LINE      ---      ---       #237
-      01001EC6H   LINE      ---      ---       #238
-      01001EDEH   LINE      ---      ---       #239
-      01001EDEH   LINE      ---      ---       #240
-      01001EE4H   LINE      ---      ---       #241
-      01001EEAH   LINE      ---      ---       #242
-      01001EF0H   LINE      ---      ---       #243
-      01001EF3H   LINE      ---      ---       #244
-      01001EF8H   LINE      ---      ---       #245
-      01001EFEH   LINE      ---      ---       #246
-      01001EFFH   LINE      ---      ---       #247
-      01001EFFH   LINE      ---      ---       #248
-      01001F05H   LINE      ---      ---       #249
-      01001F08H   LINE      ---      ---       #250
-      01001F0BH   LINE      ---      ---       #251
-      01001F10H   LINE      ---      ---       #252
-      01001F16H   LINE      ---      ---       #253
-      01001F1EH   LINE      ---      ---       #254
-      01001F24H   LINE      ---      ---       #255
-      01001F25H   LINE      ---      ---       #256
-      01001F25H   LINE      ---      ---       #257
-      01001F30H   LINE      ---      ---       #258
-      01001F38H   LINE      ---      ---       #259
-      01001F3EH   LINE      ---      ---       #260
-      01001F3FH   LINE      ---      ---       #262
-      01001F3FH   LINE      ---      ---       #263
-      01001F49H   LINE      ---      ---       #264
-      01001F4EH   LINE      ---      ---       #265
-      01001F53H   LINE      ---      ---       #266
-      01001F58H   LINE      ---      ---       #267
-      01001F5DH   LINE      ---      ---       #268
-      01001F5EH   LINE      ---      ---       #270
-      01001F5EH   LINE      ---      ---       #271
-      01001F66H   LINE      ---      ---       #272
-      01001F6BH   LINE      ---      ---       #273
-      01001F6DH   LINE      ---      ---       #274
-      01001F72H   LINE      ---      ---       #275
-      01001F77H   LINE      ---      ---       #276
-      01001F7EH   LINE      ---      ---       #277
-      01001F7EH   LINE      ---      ---       #278
-      01001F80H   LINE      ---      ---       #279
-      01001F83H   LINE      ---      ---       #280
-      01001F83H   LINE      ---      ---       #281
-      01001F83H   LINE      ---      ---       #283
-      01001F89H   LINE      ---      ---       #284
-      01001F89H   LINE      ---      ---       #285
-      01001F8DH   LINE      ---      ---       #286
-      01001F8DH   LINE      ---      ---       #287
-      01001F8DH   LINE      ---      ---       #290
-      01001F93H   LINE      ---      ---       #291
-      01001F93H   LINE      ---      ---       #292
-      01001F9BH   LINE      ---      ---       #293
-      01001F9BH   LINE      ---      ---       #294
-      01001F9BH   LINE      ---      ---       #296
-      01001F9EH   LINE      ---      ---       #297
-      01001FA5H   LINE      ---      ---       #298
-      01001FA5H   LINE      ---      ---       #299
-      01001FA5H   LINE      ---      ---       #300
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100124FH   BLOCK     CODE     ---       LVL=0
-      0100124FH   LINE      ---      ---       #303
-      0100124FH   LINE      ---      ---       #304
-      0100124FH   LINE      ---      ---       #305
-      01001259H   LINE      ---      ---       #307
-      0100125FH   LINE      ---      ---       #308
-      0100125FH   LINE      ---      ---       #309
-      01001267H   LINE      ---      ---       #310
-      01001267H   LINE      ---      ---       #311
-      0100126EH   LINE      ---      ---       #312
-      01001274H   LINE      ---      ---       #313
-      0100127BH   LINE      ---      ---       #314
-      01001281H   LINE      ---      ---       #315
-      01001289H   LINE      ---      ---       #316
-      01001289H   LINE      ---      ---       #317
-      0100128DH   LINE      ---      ---       #318
-      01001291H   LINE      ---      ---       #319
-      01001291H   LINE      ---      ---       #320
-      01001293H   LINE      ---      ---       #322
-      01001293H   LINE      ---      ---       #323
-      01001299H   LINE      ---      ---       #324
-      0100129FH   LINE      ---      ---       #325
-      010012A5H   LINE      ---      ---       #326
-      010012A5H   LINE      ---      ---       #327
-      010012A7H   LINE      ---      ---       #328
-      010012ADH   LINE      ---      ---       #329
-      010012ADH   LINE      ---      ---       #330
-      010012B1H   LINE      ---      ---       #331
-      010012B5H   LINE      ---      ---       #332
-      010012B5H   LINE      ---      ---       #334
-      010012B5H   LINE      ---      ---       #336
-      010012B5H   LINE      ---      ---       #339
-      010012BBH   LINE      ---      ---       #340
-      010012BBH   LINE      ---      ---       #341
-      010012C1H   LINE      ---      ---       #342
-      010012C1H   LINE      ---      ---       #343
-      010012C3H   LINE      ---      ---       #344
-      010012C9H   LINE      ---      ---       #345
-      010012CFH   LINE      ---      ---       #346
-      010012D5H   LINE      ---      ---       #347
-      010012D7H   LINE      ---      ---       #349
-      010012DDH   LINE      ---      ---       #351
-      010012E3H   LINE      ---      ---       #352
-      010012E3H   LINE      ---      ---       #353
-      010012E5H   LINE      ---      ---       #354
-      010012EBH   LINE      ---      ---       #355
-      010012F1H   LINE      ---      ---       #356
-      010012F7H   LINE      ---      ---       #357
-      010012F9H   LINE      ---      ---       #359
-      010012FFH   LINE      ---      ---       #362
-      01001305H   LINE      ---      ---       #363
-      01001305H   LINE      ---      ---       #364
-      01001307H   LINE      ---      ---       #365
-      01001313H   LINE      ---      ---       #366
-      01001313H   LINE      ---      ---       #367
-      01001319H   LINE      ---      ---       #368
-      0100131FH   LINE      ---      ---       #369
-      01001325H   LINE      ---      ---       #370
-      01001325H   LINE      ---      ---       #371
-      01001325H   LINE      ---      ---       #373
-      01001325H   LINE      ---      ---       #374
+      01001CA8H   BLOCK     CODE     ---       LVL=0
+      01001CA8H   LINE      ---      ---       #123
+      01001CADH   LINE      ---      ---       #124
+      01001CADH   LINE      ---      ---       #125
+      01001CDEH   LINE      ---      ---       #126
+      01001CDEH   LINE      ---      ---       #127
+      01001CDEH   LINE      ---      ---       #128
+      01001CDEH   LINE      ---      ---       #129
+      01001CE1H   LINE      ---      ---       #130
+      01001CE4H   LINE      ---      ---       #131
+      01001CF5H   LINE      ---      ---       #132
+      01001CFEH   LINE      ---      ---       #133
+      01001D00H   LINE      ---      ---       #134
+      01001D08H   LINE      ---      ---       #135
+      01001D0BH   LINE      ---      ---       #136
+      01001D10H   LINE      ---      ---       #137
+      01001D21H   LINE      ---      ---       #138
+      01001D2DH   LINE      ---      ---       #139
+      01001D2DH   LINE      ---      ---       #140
+      01001D37H   LINE      ---      ---       #141
+      01001D41H   LINE      ---      ---       #142
+      01001D41H   LINE      ---      ---       #143
+      01001D44H   LINE      ---      ---       #144
+      01001D44H   LINE      ---      ---       #145
+      01001D44H   LINE      ---      ---       #146
+      01001D47H   LINE      ---      ---       #147
+      01001D49H   LINE      ---      ---       #148
+      01001D4EH   LINE      ---      ---       #149
+      01001D4FH   LINE      ---      ---       #152
+      01001D4FH   LINE      ---      ---       #153
+      01001D4FH   LINE      ---      ---       #154
+      01001D61H   LINE      ---      ---       #155
+      01001D61H   LINE      ---      ---       #156
+      01001D77H   LINE      ---      ---       #157
+      01001D7CH   LINE      ---      ---       #158
+      01001D83H   LINE      ---      ---       #159
+      01001D94H   LINE      ---      ---       #160
+      01001D9BH   LINE      ---      ---       #161
+      01001D9BH   LINE      ---      ---       #162
+      01001D9BH   LINE      ---      ---       #163
+      01001D9BH   LINE      ---      ---       #164
+      01001DA3H   LINE      ---      ---       #165
+      01001DA3H   LINE      ---      ---       #168
+      01001DA3H   LINE      ---      ---       #169
+      01001DA3H   LINE      ---      ---       #170
+      01001DA9H   LINE      ---      ---       #171
+      01001DACH   LINE      ---      ---       #172
+      01001DAFH   LINE      ---      ---       #173
+      01001DB4H   LINE      ---      ---       #174
+      01001DB8H   LINE      ---      ---       #175
+      01001DBEH   LINE      ---      ---       #176
+      01001DC2H   LINE      ---      ---       #177
+      01001DC8H   LINE      ---      ---       #178
+      01001DCEH   LINE      ---      ---       #180
+      01001DD6H   LINE      ---      ---       #181
+      01001DD6H   LINE      ---      ---       #182
+      01001DDAH   LINE      ---      ---       #183
+      01001DDEH   LINE      ---      ---       #184
+      01001DE2H   LINE      ---      ---       #185
+      01001DE8H   LINE      ---      ---       #186
+      01001E01H   LINE      ---      ---       #188
+      01001E01H   LINE      ---      ---       #189
+      01001E07H   LINE      ---      ---       #190
+      01001E0AH   LINE      ---      ---       #191
+      01001E0CH   LINE      ---      ---       #192
+      01001E0CH   LINE      ---      ---       #193
+      01001E0CH   LINE      ---      ---       #195
+      01001E0CH   LINE      ---      ---       #196
+      01001E14H   LINE      ---      ---       #198
+      01001E14H   LINE      ---      ---       #199
+      01001E15H   LINE      ---      ---       #201
+      01001E15H   LINE      ---      ---       #202
+      01001E1AH   LINE      ---      ---       #203
+      01001E1CH   LINE      ---      ---       #204
+      01001E22H   LINE      ---      ---       #205
+      01001E27H   LINE      ---      ---       #207
+      01001E2DH   LINE      ---      ---       #208
+      01001E2DH   LINE      ---      ---       #209
+      01001E30H   LINE      ---      ---       #210
+      01001E38H   LINE      ---      ---       #211
+      01001E38H   LINE      ---      ---       #212
+      01001E38H   LINE      ---      ---       #214
+      01001E3FH   LINE      ---      ---       #215
+      01001E3FH   LINE      ---      ---       #216
+      01001E41H   LINE      ---      ---       #217
+      01001E44H   LINE      ---      ---       #218
+      01001E44H   LINE      ---      ---       #219
+      01001E44H   LINE      ---      ---       #220
+      01001E4CH   LINE      ---      ---       #221
+      01001E4CH   LINE      ---      ---       #222
+      01001E54H   LINE      ---      ---       #223
+      01001E54H   LINE      ---      ---       #224
+      01001E54H   LINE      ---      ---       #229
+      01001E54H   LINE      ---      ---       #230
+      01001E5AH   LINE      ---      ---       #231
+      01001E5EH   LINE      ---      ---       #232
+      01001E61H   LINE      ---      ---       #233
+      01001E63H   LINE      ---      ---       #234
+      01001E68H   LINE      ---      ---       #235
+      01001E6DH   LINE      ---      ---       #236
+      01001E73H   LINE      ---      ---       #237
+      01001E73H   LINE      ---      ---       #238
+      01001E78H   LINE      ---      ---       #239
+      01001E7CH   LINE      ---      ---       #240
+      01001E8FH   LINE      ---      ---       #241
+      01001EA7H   LINE      ---      ---       #242
+      01001EA7H   LINE      ---      ---       #243
+      01001EADH   LINE      ---      ---       #244
+      01001EB3H   LINE      ---      ---       #245
+      01001EB9H   LINE      ---      ---       #246
+      01001EBCH   LINE      ---      ---       #247
+      01001EC1H   LINE      ---      ---       #248
+      01001EC7H   LINE      ---      ---       #249
+      01001EC8H   LINE      ---      ---       #250
+      01001EC8H   LINE      ---      ---       #251
+      01001ECEH   LINE      ---      ---       #252
+      01001ED1H   LINE      ---      ---       #253
+      01001ED4H   LINE      ---      ---       #254
+      01001ED9H   LINE      ---      ---       #255
+      01001EDFH   LINE      ---      ---       #256
+      01001EE7H   LINE      ---      ---       #257
+      01001EEDH   LINE      ---      ---       #258
+      01001EEEH   LINE      ---      ---       #259
+      01001EEEH   LINE      ---      ---       #260
+      01001EF9H   LINE      ---      ---       #261
+      01001F01H   LINE      ---      ---       #262
+      01001F07H   LINE      ---      ---       #263
+      01001F08H   LINE      ---      ---       #265
+      01001F08H   LINE      ---      ---       #266
+      01001F12H   LINE      ---      ---       #267
+      01001F17H   LINE      ---      ---       #268
+      01001F1CH   LINE      ---      ---       #269
+      01001F21H   LINE      ---      ---       #270
+      01001F26H   LINE      ---      ---       #271
+      01001F27H   LINE      ---      ---       #273
+      01001F27H   LINE      ---      ---       #274
+      01001F2FH   LINE      ---      ---       #275
+      01001F34H   LINE      ---      ---       #276
+      01001F36H   LINE      ---      ---       #277
+      01001F3BH   LINE      ---      ---       #278
+      01001F40H   LINE      ---      ---       #279
+      01001F47H   LINE      ---      ---       #280
+      01001F47H   LINE      ---      ---       #281
+      01001F49H   LINE      ---      ---       #282
+      01001F4CH   LINE      ---      ---       #283
+      01001F4CH   LINE      ---      ---       #284
+      01001F4CH   LINE      ---      ---       #286
+      01001F52H   LINE      ---      ---       #287
+      01001F52H   LINE      ---      ---       #288
+      01001F56H   LINE      ---      ---       #289
+      01001F56H   LINE      ---      ---       #290
+      01001F56H   LINE      ---      ---       #293
+      01001F5CH   LINE      ---      ---       #294
+      01001F5CH   LINE      ---      ---       #295
+      01001F64H   LINE      ---      ---       #296
+      01001F64H   LINE      ---      ---       #297
+      01001F64H   LINE      ---      ---       #299
+      01001F67H   LINE      ---      ---       #300
+      01001F6EH   LINE      ---      ---       #301
+      01001F6EH   LINE      ---      ---       #302
+      01001F6EH   LINE      ---      ---       #303
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100127AH   BLOCK     CODE     ---       LVL=0
+      0100127AH   LINE      ---      ---       #306
+      0100127AH   LINE      ---      ---       #307
+      0100127AH   LINE      ---      ---       #308
+      01001284H   LINE      ---      ---       #310
+      0100128AH   LINE      ---      ---       #311
+      0100128AH   LINE      ---      ---       #312
+      01001292H   LINE      ---      ---       #313
+      01001292H   LINE      ---      ---       #314
+      01001299H   LINE      ---      ---       #315
+      0100129FH   LINE      ---      ---       #316
+      010012A6H   LINE      ---      ---       #317
+      010012ACH   LINE      ---      ---       #318
+      010012B4H   LINE      ---      ---       #319
+      010012B4H   LINE      ---      ---       #320
+      010012B8H   LINE      ---      ---       #321
+      010012BCH   LINE      ---      ---       #322
+      010012BCH   LINE      ---      ---       #323
+      010012BEH   LINE      ---      ---       #325
+      010012BEH   LINE      ---      ---       #326
+      010012C4H   LINE      ---      ---       #327
+      010012CAH   LINE      ---      ---       #328
+      010012D0H   LINE      ---      ---       #329
+      010012D0H   LINE      ---      ---       #330
+      010012D2H   LINE      ---      ---       #331
+      010012D8H   LINE      ---      ---       #332
+      010012D8H   LINE      ---      ---       #333
+      010012DCH   LINE      ---      ---       #334
+      010012E0H   LINE      ---      ---       #335
+      010012E0H   LINE      ---      ---       #337
+      010012E0H   LINE      ---      ---       #339
+      010012E0H   LINE      ---      ---       #342
+      010012E6H   LINE      ---      ---       #343
+      010012E6H   LINE      ---      ---       #344
+      010012ECH   LINE      ---      ---       #345
+      010012ECH   LINE      ---      ---       #346
+      010012EEH   LINE      ---      ---       #347
+      010012F4H   LINE      ---      ---       #348
+      010012FAH   LINE      ---      ---       #349
+      01001300H   LINE      ---      ---       #350
+      01001302H   LINE      ---      ---       #352
+      01001308H   LINE      ---      ---       #354
+      0100130EH   LINE      ---      ---       #355
+      0100130EH   LINE      ---      ---       #356
+      01001310H   LINE      ---      ---       #357
+      01001316H   LINE      ---      ---       #358
+      0100131CH   LINE      ---      ---       #359
+      01001322H   LINE      ---      ---       #360
+      01001324H   LINE      ---      ---       #362
+      0100132AH   LINE      ---      ---       #365
+      01001330H   LINE      ---      ---       #366
+      01001330H   LINE      ---      ---       #367
+      01001332H   LINE      ---      ---       #368
+      0100133EH   LINE      ---      ---       #369
+      0100133EH   LINE      ---      ---       #370
+      01001344H   LINE      ---      ---       #371
+      0100134AH   LINE      ---      ---       #372
+      01001350H   LINE      ---      ---       #373
+      01001350H   LINE      ---      ---       #374
+      01001350H   LINE      ---      ---       #376
+      01001350H   LINE      ---      ---       #377
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000DD0H   BLOCK     CODE     ---       LVL=0
-      01000DD0H   LINE      ---      ---       #376
-      01000DD0H   LINE      ---      ---       #377
       01000DD0H   LINE      ---      ---       #379
-      01000DD6H   LINE      ---      ---       #380
-      01000DD6H   LINE      ---      ---       #381
-      01000DD9H   LINE      ---      ---       #382
-      01000DDCH   LINE      ---      ---       #383
-      01000DDCH   LINE      ---      ---       #384
-      01000DE1H   LINE      ---      ---       #385
-      01000DE5H   LINE      ---      ---       #386
-      01000DE5H   LINE      ---      ---       #387
+      01000DD0H   LINE      ---      ---       #380
+      01000DD0H   LINE      ---      ---       #382
+      01000DD6H   LINE      ---      ---       #383
+      01000DD6H   LINE      ---      ---       #384
+      01000DD9H   LINE      ---      ---       #385
+      01000DDCH   LINE      ---      ---       #386
+      01000DDCH   LINE      ---      ---       #387
+      01000DE1H   LINE      ---      ---       #388
+      01000DE5H   LINE      ---      ---       #389
       01000DE5H   LINE      ---      ---       #390
-      01000DEEH   LINE      ---      ---       #391
-      01000DEEH   LINE      ---      ---       #392
-      01000DF3H   LINE      ---      ---       #393
-      01000DF3H   LINE      ---      ---       #394
-      01000E09H   LINE      ---      ---       #395
-      01000E09H   LINE      ---      ---       #396
-      01000E0EH   LINE      ---      ---       #397
-      01000E14H   LINE      ---      ---       #398
-      01000E1CH   LINE      ---      ---       #399
-      01000E26H   LINE      ---      ---       #400
-      01000E26H   LINE      ---      ---       #401
-      01000E26H   LINE      ---      ---       #402
-      01000E36H   LINE      ---      ---       #403
-      01000E36H   LINE      ---      ---       #404
-      01000E38H   LINE      ---      ---       #405
-      01000E3EH   LINE      ---      ---       #406
-      01000E3EH   LINE      ---      ---       #407
-      01000E3FH   LINE      ---      ---       #408
-      01000E47H   LINE      ---      ---       #409
-      01000E47H   LINE      ---      ---       #410
-      01000E5AH   LINE      ---      ---       #411
-      01000E5AH   LINE      ---      ---       #412
-      01000E5CH   LINE      ---      ---       #413
+      01000DE5H   LINE      ---      ---       #393
+      01000DEEH   LINE      ---      ---       #394
+      01000DEEH   LINE      ---      ---       #395
+      01000DF3H   LINE      ---      ---       #396
+      01000DF3H   LINE      ---      ---       #397
+      01000E09H   LINE      ---      ---       #398
+      01000E09H   LINE      ---      ---       #399
+      01000E0EH   LINE      ---      ---       #400
+      01000E14H   LINE      ---      ---       #401
+      01000E1CH   LINE      ---      ---       #402
+      01000E26H   LINE      ---      ---       #403
+      01000E26H   LINE      ---      ---       #404
+      01000E26H   LINE      ---      ---       #405
+      01000E36H   LINE      ---      ---       #406
+      01000E36H   LINE      ---      ---       #407
+      01000E38H   LINE      ---      ---       #408
+      01000E3EH   LINE      ---      ---       #409
+      01000E3EH   LINE      ---      ---       #410
+      01000E3FH   LINE      ---      ---       #411
+      01000E47H   LINE      ---      ---       #412
+      01000E47H   LINE      ---      ---       #413
+      01000E5AH   LINE      ---      ---       #414
+      01000E5AH   LINE      ---      ---       #415
       01000E5CH   LINE      ---      ---       #416
-      01000E63H   LINE      ---      ---       #417
-      01000E63H   LINE      ---      ---       #418
-      01000E6EH   LINE      ---      ---       #420
-      01000E73H   LINE      ---      ---       #421
-      01000E78H   LINE      ---      ---       #422
-      01000E81H   LINE      ---      ---       #423
-      01000E81H   LINE      ---      ---       #425
-      01000E90H   LINE      ---      ---       #426
-      01000E90H   LINE      ---      ---       #427
-      01000E93H   LINE      ---      ---       #428
-      01000E93H   LINE      ---      ---       #429
-      01000E93H   LINE      ---      ---       #430
-      01000E9AH   LINE      ---      ---       #431
-      01000E9AH   LINE      ---      ---       #432
-      01000EA9H   LINE      ---      ---       #433
-      01000EA9H   LINE      ---      ---       #434
-      01000EACH   LINE      ---      ---       #435
-      01000EACH   LINE      ---      ---       #436
+      01000E5CH   LINE      ---      ---       #419
+      01000E63H   LINE      ---      ---       #420
+      01000E63H   LINE      ---      ---       #421
+      01000E6EH   LINE      ---      ---       #423
+      01000E73H   LINE      ---      ---       #424
+      01000E78H   LINE      ---      ---       #425
+      01000E81H   LINE      ---      ---       #426
+      01000E81H   LINE      ---      ---       #428
+      01000E90H   LINE      ---      ---       #429
+      01000E90H   LINE      ---      ---       #430
+      01000E93H   LINE      ---      ---       #431
+      01000E93H   LINE      ---      ---       #432
+      01000E93H   LINE      ---      ---       #433
+      01000E9AH   LINE      ---      ---       #434
+      01000E9AH   LINE      ---      ---       #435
+      01000EA9H   LINE      ---      ---       #436
+      01000EA9H   LINE      ---      ---       #437
       01000EACH   LINE      ---      ---       #438
       01000EACH   LINE      ---      ---       #439
-      01000EBBH   LINE      ---      ---       #440
-      01000EBBH   LINE      ---      ---       #441
-      01000EC1H   LINE      ---      ---       #442
-      01000EC1H   LINE      ---      ---       #443
-      01000EC3H   LINE      ---      ---       #444
-      01000EC7H   LINE      ---      ---       #445
-      01000EC7H   LINE      ---      ---       #446
-      01000EC9H   LINE      ---      ---       #447
-      01000EC9H   LINE      ---      ---       #448
-      01000EC9H   LINE      ---      ---       #449
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010018B0H   BLOCK     CODE     ---       LVL=0
-      010018B0H   LINE      ---      ---       #452
-      010018B0H   LINE      ---      ---       #453
-      010018B0H   LINE      ---      ---       #455
-      010018B6H   LINE      ---      ---       #456
-      010018B6H   LINE      ---      ---       #457
-      010018B9H   LINE      ---      ---       #458
-      010018BCH   LINE      ---      ---       #459
-      010018BCH   LINE      ---      ---       #460
-      010018CAH   LINE      ---      ---       #463
-      010018CAH   LINE      ---      ---       #465
-      010018CFH   LINE      ---      ---       #466
-      010018D5H   LINE      ---      ---       #467
-      010018DAH   LINE      ---      ---       #468
-      010018DEH   LINE      ---      ---       #469
-      010018E2H   LINE      ---      ---       #470
-      010018E4H   LINE      ---      ---       #471
-      010018E9H   LINE      ---      ---       #472
-      010018EEH   LINE      ---      ---       #473
-      010018EEH   LINE      ---      ---       #474
-      010018EEH   LINE      ---      ---       #475
-      010018EEH   LINE      ---      ---       #477
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001909H   BLOCK     CODE     ---       LVL=0
-      01001909H   LINE      ---      ---       #480
-      01001909H   LINE      ---      ---       #481
-      01001909H   LINE      ---      ---       #483
-      0100190FH   LINE      ---      ---       #484
-      0100190FH   LINE      ---      ---       #485
-      01001916H   LINE      ---      ---       #486
-      0100191CH   LINE      ---      ---       #487
-      0100191FH   LINE      ---      ---       #488
-      0100191FH   LINE      ---      ---       #489
-      01001927H   LINE      ---      ---       #490
-      0100192BH   LINE      ---      ---       #492
-      01001930H   LINE      ---      ---       #493
-      01001933H   LINE      ---      ---       #494
-      01001933H   LINE      ---      ---       #495
-      01001933H   LINE      ---      ---       #497
-      01001939H   LINE      ---      ---       #498
-      01001939H   LINE      ---      ---       #499
-      01001940H   LINE      ---      ---       #500
-      01001946H   LINE      ---      ---       #501
-      01001949H   LINE      ---      ---       #502
-      01001949H   LINE      ---      ---       #504
-      0100194EH   LINE      ---      ---       #505
-      01001951H   LINE      ---      ---       #506
-      01001951H   LINE      ---      ---       #507
-      01001951H   LINE      ---      ---       #508
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001963H   BLOCK     CODE     ---       LVL=0
-      01001963H   LINE      ---      ---       #510
-      01001963H   LINE      ---      ---       #511
-      01001963H   LINE      ---      ---       #528
-      0100196AH   LINE      ---      ---       #529
-      0100196AH   LINE      ---      ---       #530
-      01001973H   LINE      ---      ---       #531
-      01001976H   LINE      ---      ---       #532
-      0100197EH   LINE      ---      ---       #533
-      0100197EH   LINE      ---      ---       #534
-      01001984H   LINE      ---      ---       #535
-      0100198AH   LINE      ---      ---       #536
-      0100198AH   LINE      ---      ---       #537
-      0100198FH   LINE      ---      ---       #538
-      01001991H   LINE      ---      ---       #539
-      01001998H   LINE      ---      ---       #540
-      01001998H   LINE      ---      ---       #541
-      0100199EH   LINE      ---      ---       #542
-      010019A3H   LINE      ---      ---       #543
-      010019A6H   LINE      ---      ---       #544
-      010019A6H   LINE      ---      ---       #545
-      010019A6H   LINE      ---      ---       #546
-      010019A8H   LINE      ---      ---       #548
-      010019A8H   LINE      ---      ---       #549
-      010019ADH   LINE      ---      ---       #550
-      010019B1H   LINE      ---      ---       #551
-      010019B5H   LINE      ---      ---       #552
-      010019B5H   LINE      ---      ---       #554
-      010019BCH   LINE      ---      ---       #555
-      010019BCH   LINE      ---      ---       #556
-      010019C2H   LINE      ---      ---       #557
-      010019CBH   LINE      ---      ---       #558
-      010019CEH   LINE      ---      ---       #559
-      010019D6H   LINE      ---      ---       #560
-      010019D6H   LINE      ---      ---       #561
-      010019E1H   LINE      ---      ---       #562
-      010019E1H   LINE      ---      ---       #563
-      010019E6H   LINE      ---      ---       #564
-      010019E9H   LINE      ---      ---       #565
-      010019EEH   LINE      ---      ---       #566
-      010019F3H   LINE      ---      ---       #567
-      010019F3H   LINE      ---      ---       #568
-      010019F3H   LINE      ---      ---       #569
-      010019F5H   LINE      ---      ---       #571
-      010019F5H   LINE      ---      ---       #572
-      010019FBH   LINE      ---      ---       #573
-      010019FBH   LINE      ---      ---       #574
-      010019FDH   LINE      ---      ---       #575
-      01001A02H   LINE      ---      ---       #576
-      01001A08H   LINE      ---      ---       #577
-      01001A10H   LINE      ---      ---       #578
-      01001A16H   LINE      ---      ---       #579
-      01001A19H   LINE      ---      ---       #580
-      01001A1BH   LINE      ---      ---       #581
-      01001A1BH   LINE      ---      ---       #582
-      01001A20H   LINE      ---      ---       #583
-      01001A20H   LINE      ---      ---       #586
-      01001A27H   LINE      ---      ---       #587
-      01001A27H   LINE      ---      ---       #588
-      01001A2DH   LINE      ---      ---       #589
-      01001A36H   LINE      ---      ---       #590
-      01001A39H   LINE      ---      ---       #591
-      01001A41H   LINE      ---      ---       #592
-      01001A41H   LINE      ---      ---       #594
-      01001A47H   LINE      ---      ---       #595
-      01001A4CH   LINE      ---      ---       #596
-      01001A51H   LINE      ---      ---       #597
-      01001A54H   LINE      ---      ---       #598
-      01001A59H   LINE      ---      ---       #599
-      01001A5EH   LINE      ---      ---       #600
-      01001A66H   LINE      ---      ---       #601
-      01001A6EH   LINE      ---      ---       #602
-      01001A6EH   LINE      ---      ---       #603
-      01001A70H   LINE      ---      ---       #605
-      01001A70H   LINE      ---      ---       #606
-      01001A76H   LINE      ---      ---       #607
-      01001A76H   LINE      ---      ---       #608
-      01001A78H   LINE      ---      ---       #610
-      01001A84H   LINE      ---      ---       #611
-      01001A84H   LINE      ---      ---       #612
-      01001A8AH   LINE      ---      ---       #613
-      01001A8DH   LINE      ---      ---       #614
-      01001A95H   LINE      ---      ---       #615
-      01001A9BH   LINE      ---      ---       #617
-      01001A9EH   LINE      ---      ---       #618
-      01001AA1H   LINE      ---      ---       #619
-      01001AA3H   LINE      ---      ---       #620
-      01001AA3H   LINE      ---      ---       #621
-      01001AA3H   LINE      ---      ---       #622
-      01001AA8H   LINE      ---      ---       #623
-      01001AA8H   LINE      ---      ---       #626
-      01001AB1H   LINE      ---      ---       #627
-      01001AB1H   LINE      ---      ---       #628
-      01001AB8H   LINE      ---      ---       #629
-      01001ABBH   LINE      ---      ---       #630
-      01001AC3H   LINE      ---      ---       #631
-      01001AC3H   LINE      ---      ---       #632
-      01001ACAH   LINE      ---      ---       #633
-      01001ACAH   LINE      ---      ---       #634
-      01001AD0H   LINE      ---      ---       #635
-      01001AD2H   LINE      ---      ---       #636
-      01001AD9H   LINE      ---      ---       #637
-      01001AD9H   LINE      ---      ---       #638
-      01001ADFH   LINE      ---      ---       #640
-      01001AE1H   LINE      ---      ---       #641
-      01001AE8H   LINE      ---      ---       #642
-      01001AE8H   LINE      ---      ---       #643
-      01001AEDH   LINE      ---      ---       #645
-      01001AEDH   LINE      ---      ---       #646
-      01001AF3H   LINE      ---      ---       #647
-      01001AFDH   LINE      ---      ---       #648
-      01001AFDH   LINE      ---      ---       #649
-      01001B03H   LINE      ---      ---       #650
-      01001B04H   LINE      ---      ---       #651
-      01001B10H   LINE      ---      ---       #652
-      01001B10H   LINE      ---      ---       #653
-      01001B28H   LINE      ---      ---       #654
-      01001B2EH   LINE      ---      ---       #655
-      01001B2EH   LINE      ---      ---       #656
-      01001B2EH   LINE      ---      ---       #657
-      01001B2FH   LINE      ---      ---       #659
-      01001B2FH   LINE      ---      ---       #660
-      01001B34H   LINE      ---      ---       #661
-      01001B34H   LINE      ---      ---       #663
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010018EFH   BLOCK     CODE     ---       LVL=0
-      010018EFH   LINE      ---      ---       #667
-      010018EFH   LINE      ---      ---       #668
-      010018EFH   LINE      ---      ---       #669
-      010018F2H   LINE      ---      ---       #671
-      01001900H   LINE      ---      ---       #673
-      01001902H   LINE      ---      ---       #674
-      01001905H   LINE      ---      ---       #675
-      01001907H   LINE      ---      ---       #676
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010032ACH   BLOCK     CODE     ---       LVL=0
-      010032ACH   LINE      ---      ---       #689
-      010032ACH   LINE      ---      ---       #690
-      010032ACH   LINE      ---      ---       #692
-      010032B2H   LINE      ---      ---       #693
-      010032B2H   LINE      ---      ---       #694
-      010032B4H   LINE      ---      ---       #695
-      010032B4H   LINE      ---      ---       #697
-      010032BAH   LINE      ---      ---       #698
-      010032BCH   LINE      ---      ---       #700
-      010032C2H   LINE      ---      ---       #701
-      010032C2H   LINE      ---      ---       #702
-      010032C4H   LINE      ---      ---       #703
-      010032C7H   LINE      ---      ---       #704
-      010032CDH   LINE      ---      ---       #705
-      010032CDH   LINE      ---      ---       #707
-      010032D3H   LINE      ---      ---       #708
-      010032D3H   LINE      ---      ---       #709
-      010032D9H   LINE      ---      ---       #710
-      010032D9H   LINE      ---      ---       #711
-      010032DFH   LINE      ---      ---       #713
-      010032DFH   LINE      ---      ---       #715
-      010032E5H   LINE      ---      ---       #716
-      010032E8H   LINE      ---      ---       #717
-      010032EEH   LINE      ---      ---       #718
-      010032EEH   LINE      ---      ---       #719
-      010032F1H   LINE      ---      ---       #720
-      010032F1H   LINE      ---      ---       #721
-      010032F3H   LINE      ---      ---       #722
-      010032FFH   LINE      ---      ---       #723
-      010032FFH   LINE      ---      ---       #724
-      01003305H   LINE      ---      ---       #725
-      01003305H   LINE      ---      ---       #726
-      01003307H   LINE      ---      ---       #727
-      0100330EH   LINE      ---      ---       #728
-      0100330EH   LINE      ---      ---       #729
-      01003312H   LINE      ---      ---       #730
-      01003312H   LINE      ---      ---       #731
-      01003319H   LINE      ---      ---       #732
-      0100331BH   LINE      ---      ---       #734
-      0100331BH   LINE      ---      ---       #735
-      01003322H   LINE      ---      ---       #736
-      01003322H   LINE      ---      ---       #737
-      01003324H   LINE      ---      ---       #739
-      0100332BH   LINE      ---      ---       #740
-      01003331H   LINE      ---      ---       #741
-      01003334H   LINE      ---      ---       #742
-      01003334H   LINE      ---      ---       #743
-      01003334H   LINE      ---      ---       #746
-      0100333AH   LINE      ---      ---       #747
-      0100333AH   LINE      ---      ---       #748
-      01003342H   LINE      ---      ---       #749
-      01003342H   LINE      ---      ---       #750
-      01003348H   LINE      ---      ---       #751
-      0100334CH   LINE      ---      ---       #753
-      01003352H   LINE      ---      ---       #754
-      01003352H   LINE      ---      ---       #755
-      0100335DH   LINE      ---      ---       #756
-      0100335FH   LINE      ---      ---       #757
-      01003365H   LINE      ---      ---       #758
-      01003365H   LINE      ---      ---       #760
-      01003370H   LINE      ---      ---       #761
-      01003370H   LINE      ---      ---       #762
-      01003370H   LINE      ---      ---       #763
-      01003370H   LINE      ---      ---       #767
-      01003376H   LINE      ---      ---       #768
-      01003376H   LINE      ---      ---       #769
-      01003379H   LINE      ---      ---       #770
-      0100337CH   LINE      ---      ---       #771
-      0100337CH   LINE      ---      ---       #772
-      01003382H   LINE      ---      ---       #773
-      01003382H   LINE      ---      ---       #774
-      01003387H   LINE      ---      ---       #775
-      01003387H   LINE      ---      ---       #776
-      01003387H   LINE      ---      ---       #777
-      01003387H   LINE      ---      ---       #779
-      0100338DH   LINE      ---      ---       #780
-      01003390H   LINE      ---      ---       #781
-      01003393H   LINE      ---      ---       #782
-      01003393H   LINE      ---      ---       #784
-      0100339AH   LINE      ---      ---       #785
-      0100339AH   LINE      ---      ---       #786
-      010033A0H   LINE      ---      ---       #787
-      010033A0H   LINE      ---      ---       #788
-      010033A0H   LINE      ---      ---       #789
-      010033A0H   LINE      ---      ---       #790
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002F4EH   BLOCK     CODE     ---       LVL=0
-      01002F4EH   LINE      ---      ---       #804
-      01002F4EH   LINE      ---      ---       #805
-      01002F4EH   LINE      ---      ---       #806
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002C99H   BLOCK     CODE     ---       LVL=0
-      01002C99H   LINE      ---      ---       #811
-      01002C99H   LINE      ---      ---       #812
-      01002C99H   LINE      ---      ---       #813
-      01002C9BH   LINE      ---      ---       #814
-      01002C9BH   LINE      ---      ---       #815
-      01002C9DH   LINE      ---      ---       #816
-      01002CA0H   LINE      ---      ---       #817
-      01002CA3H   LINE      ---      ---       #818
-      01002CA6H   LINE      ---      ---       #820
-      01002CACH   LINE      ---      ---       #821
-      01002CACH   LINE      ---      ---       #822
-      01002CAEH   LINE      ---      ---       #823
-      01002CAEH   LINE      ---      ---       #825
-      01002CB9H   LINE      ---      ---       #826
-      01002CB9H   LINE      ---      ---       #827
-      01002CBBH   LINE      ---      ---       #829
-      01002CBEH   LINE      ---      ---       #830
-      01002CC0H   LINE      ---      ---       #831
-      01002CC2H   LINE      ---      ---       #832
-      01002CC2H   LINE      ---      ---       #834
-      01002CC2H   LINE      ---      ---       #835
-      01002CDAH   LINE      ---      ---       #837
-      01002CDAH   LINE      ---      ---       #838
-      01002CDCH   LINE      ---      ---       #839
-      01002CDEH   LINE      ---      ---       #840
-      01002CDEH   LINE      ---      ---       #842
-      01002CDEH   LINE      ---      ---       #843
-      01002CE0H   LINE      ---      ---       #844
-      01002CE2H   LINE      ---      ---       #845
-      01002CE4H   LINE      ---      ---       #846
-      01002CE4H   LINE      ---      ---       #847
-      01002CE4H   LINE      ---      ---       #848
+      01000EACH   LINE      ---      ---       #441
+      01000EACH   LINE      ---      ---       #442
+      01000EBBH   LINE      ---      ---       #443
+      01000EBBH   LINE      ---      ---       #444
+      01000EC1H   LINE      ---      ---       #445
+      01000EC1H   LINE      ---      ---       #446
+      01000EC3H   LINE      ---      ---       #447
+      01000EC7H   LINE      ---      ---       #448
+      01000EC7H   LINE      ---      ---       #449
+      01000EC9H   LINE      ---      ---       #450
+      01000EC9H   LINE      ---      ---       #451
+      01000EC9H   LINE      ---      ---       #452
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100185CH   BLOCK     CODE     ---       LVL=0
+      0100185CH   LINE      ---      ---       #455
+      0100185CH   LINE      ---      ---       #456
+      0100185CH   LINE      ---      ---       #458
+      01001862H   LINE      ---      ---       #459
+      01001862H   LINE      ---      ---       #460
+      01001865H   LINE      ---      ---       #461
+      01001868H   LINE      ---      ---       #462
+      01001868H   LINE      ---      ---       #463
+      01001876H   LINE      ---      ---       #466
+      01001876H   LINE      ---      ---       #468
+      0100187BH   LINE      ---      ---       #469
+      01001881H   LINE      ---      ---       #470
+      01001886H   LINE      ---      ---       #471
+      0100188AH   LINE      ---      ---       #472
+      0100188EH   LINE      ---      ---       #473
+      01001890H   LINE      ---      ---       #474
+      01001895H   LINE      ---      ---       #475
+      0100189AH   LINE      ---      ---       #476
+      0100189AH   LINE      ---      ---       #477
+      0100189AH   LINE      ---      ---       #478
+      0100189AH   LINE      ---      ---       #480
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010018B5H   BLOCK     CODE     ---       LVL=0
+      010018B5H   LINE      ---      ---       #483
+      010018B5H   LINE      ---      ---       #484
+      010018B5H   LINE      ---      ---       #486
+      010018BBH   LINE      ---      ---       #487
+      010018BBH   LINE      ---      ---       #488
+      010018C2H   LINE      ---      ---       #489
+      010018C8H   LINE      ---      ---       #490
+      010018CBH   LINE      ---      ---       #491
+      010018CBH   LINE      ---      ---       #492
+      010018D3H   LINE      ---      ---       #493
+      010018D7H   LINE      ---      ---       #495
+      010018DCH   LINE      ---      ---       #496
+      010018DFH   LINE      ---      ---       #497
+      010018DFH   LINE      ---      ---       #498
+      010018DFH   LINE      ---      ---       #500
+      010018E5H   LINE      ---      ---       #501
+      010018E5H   LINE      ---      ---       #502
+      010018ECH   LINE      ---      ---       #503
+      010018F2H   LINE      ---      ---       #504
+      010018F5H   LINE      ---      ---       #505
+      010018F5H   LINE      ---      ---       #507
+      010018FAH   LINE      ---      ---       #508
+      010018FDH   LINE      ---      ---       #509
+      010018FDH   LINE      ---      ---       #510
+      010018FDH   LINE      ---      ---       #511
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100190FH   BLOCK     CODE     ---       LVL=0
+      0100190FH   LINE      ---      ---       #513
+      0100190FH   LINE      ---      ---       #514
+      0100190FH   LINE      ---      ---       #531
+      01001916H   LINE      ---      ---       #532
+      01001916H   LINE      ---      ---       #533
+      0100191FH   LINE      ---      ---       #534
+      01001922H   LINE      ---      ---       #535
+      0100192AH   LINE      ---      ---       #536
+      0100192AH   LINE      ---      ---       #537
+      01001930H   LINE      ---      ---       #538
+      01001936H   LINE      ---      ---       #539
+      01001936H   LINE      ---      ---       #540
+      0100193BH   LINE      ---      ---       #541
+      0100193DH   LINE      ---      ---       #542
+      01001944H   LINE      ---      ---       #543
+      01001944H   LINE      ---      ---       #544
+      0100194AH   LINE      ---      ---       #545
+      0100194FH   LINE      ---      ---       #546
+      01001952H   LINE      ---      ---       #547
+      01001952H   LINE      ---      ---       #548
+      01001952H   LINE      ---      ---       #549
+      01001954H   LINE      ---      ---       #551
+      01001954H   LINE      ---      ---       #552
+      01001959H   LINE      ---      ---       #553
+      0100195DH   LINE      ---      ---       #554
+      01001961H   LINE      ---      ---       #555
+      01001961H   LINE      ---      ---       #557
+      01001968H   LINE      ---      ---       #558
+      01001968H   LINE      ---      ---       #559
+      0100196EH   LINE      ---      ---       #560
+      01001977H   LINE      ---      ---       #561
+      0100197AH   LINE      ---      ---       #562
+      01001982H   LINE      ---      ---       #563
+      01001982H   LINE      ---      ---       #564
+      0100198DH   LINE      ---      ---       #565
+      0100198DH   LINE      ---      ---       #566
+      01001992H   LINE      ---      ---       #567
+      01001995H   LINE      ---      ---       #568
+      0100199AH   LINE      ---      ---       #569
+      0100199FH   LINE      ---      ---       #570
+      0100199FH   LINE      ---      ---       #571
+      0100199FH   LINE      ---      ---       #572
+      010019A1H   LINE      ---      ---       #574
+      010019A1H   LINE      ---      ---       #575
+      010019A7H   LINE      ---      ---       #576
+      010019A7H   LINE      ---      ---       #577
+      010019A9H   LINE      ---      ---       #578
+      010019AEH   LINE      ---      ---       #579
+      010019B4H   LINE      ---      ---       #580
+      010019BCH   LINE      ---      ---       #581
+      010019C2H   LINE      ---      ---       #582
+      010019C5H   LINE      ---      ---       #583
+      010019C7H   LINE      ---      ---       #584
+      010019C7H   LINE      ---      ---       #585
+      010019CCH   LINE      ---      ---       #586
+      010019CCH   LINE      ---      ---       #589
+      010019D3H   LINE      ---      ---       #590
+      010019D3H   LINE      ---      ---       #591
+      010019D9H   LINE      ---      ---       #592
+      010019E2H   LINE      ---      ---       #593
+      010019E5H   LINE      ---      ---       #594
+      010019EDH   LINE      ---      ---       #595
+      010019EDH   LINE      ---      ---       #597
+      010019F3H   LINE      ---      ---       #598
+      010019F8H   LINE      ---      ---       #599
+      010019FDH   LINE      ---      ---       #600
+      01001A00H   LINE      ---      ---       #601
+      01001A05H   LINE      ---      ---       #602
+      01001A0AH   LINE      ---      ---       #603
+      01001A12H   LINE      ---      ---       #604
+      01001A1AH   LINE      ---      ---       #605
+      01001A1AH   LINE      ---      ---       #606
+      01001A1CH   LINE      ---      ---       #608
+      01001A1CH   LINE      ---      ---       #609
+      01001A22H   LINE      ---      ---       #610
+      01001A22H   LINE      ---      ---       #611
+      01001A24H   LINE      ---      ---       #613
+      01001A30H   LINE      ---      ---       #614
+      01001A30H   LINE      ---      ---       #615
+      01001A36H   LINE      ---      ---       #616
+      01001A39H   LINE      ---      ---       #617
+      01001A41H   LINE      ---      ---       #618
+      01001A47H   LINE      ---      ---       #620
+      01001A4AH   LINE      ---      ---       #621
+      01001A4DH   LINE      ---      ---       #622
+      01001A4FH   LINE      ---      ---       #623
+      01001A4FH   LINE      ---      ---       #624
+      01001A4FH   LINE      ---      ---       #625
+      01001A54H   LINE      ---      ---       #626
+      01001A54H   LINE      ---      ---       #629
+      01001A5DH   LINE      ---      ---       #630
+      01001A5DH   LINE      ---      ---       #631
+      01001A64H   LINE      ---      ---       #632
+      01001A67H   LINE      ---      ---       #633
+      01001A6FH   LINE      ---      ---       #634
+      01001A6FH   LINE      ---      ---       #635
+      01001A76H   LINE      ---      ---       #636
+      01001A76H   LINE      ---      ---       #637
+      01001A7CH   LINE      ---      ---       #638
+      01001A7EH   LINE      ---      ---       #639
+      01001A85H   LINE      ---      ---       #640
+      01001A85H   LINE      ---      ---       #641
+      01001A8BH   LINE      ---      ---       #643
+      01001A8DH   LINE      ---      ---       #644
+      01001A94H   LINE      ---      ---       #645
+      01001A94H   LINE      ---      ---       #646
+      01001A99H   LINE      ---      ---       #648
+      01001A99H   LINE      ---      ---       #649
+      01001A9FH   LINE      ---      ---       #650
+      01001AA9H   LINE      ---      ---       #651
+      01001AA9H   LINE      ---      ---       #652
+      01001AAFH   LINE      ---      ---       #653
+      01001AB0H   LINE      ---      ---       #654
+      01001ABCH   LINE      ---      ---       #655
+      01001ABCH   LINE      ---      ---       #656
+      01001AD4H   LINE      ---      ---       #657
+      01001ADAH   LINE      ---      ---       #658
+      01001ADAH   LINE      ---      ---       #659
+      01001ADAH   LINE      ---      ---       #660
+      01001ADBH   LINE      ---      ---       #662
+      01001ADBH   LINE      ---      ---       #663
+      01001AE0H   LINE      ---      ---       #664
+      01001AE0H   LINE      ---      ---       #666
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100189BH   BLOCK     CODE     ---       LVL=0
+      0100189BH   LINE      ---      ---       #670
+      0100189BH   LINE      ---      ---       #671
+      0100189BH   LINE      ---      ---       #672
+      0100189EH   LINE      ---      ---       #674
+      010018ACH   LINE      ---      ---       #676
+      010018AEH   LINE      ---      ---       #677
+      010018B1H   LINE      ---      ---       #678
+      010018B3H   LINE      ---      ---       #679
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010032A8H   BLOCK     CODE     ---       LVL=0
+      010032A8H   LINE      ---      ---       #692
+      010032A8H   LINE      ---      ---       #693
+      010032A8H   LINE      ---      ---       #695
+      010032AEH   LINE      ---      ---       #696
+      010032AEH   LINE      ---      ---       #697
+      010032B0H   LINE      ---      ---       #698
+      010032B0H   LINE      ---      ---       #700
+      010032B6H   LINE      ---      ---       #701
+      010032B8H   LINE      ---      ---       #703
+      010032BEH   LINE      ---      ---       #704
+      010032BEH   LINE      ---      ---       #705
+      010032C0H   LINE      ---      ---       #706
+      010032C3H   LINE      ---      ---       #707
+      010032C9H   LINE      ---      ---       #708
+      010032C9H   LINE      ---      ---       #710
+      010032CFH   LINE      ---      ---       #711
+      010032CFH   LINE      ---      ---       #712
+      010032D5H   LINE      ---      ---       #713
+      010032D5H   LINE      ---      ---       #714
+      010032DBH   LINE      ---      ---       #716
+      010032DBH   LINE      ---      ---       #718
+      010032E1H   LINE      ---      ---       #719
+      010032E4H   LINE      ---      ---       #720
+      010032EAH   LINE      ---      ---       #721
+      010032EAH   LINE      ---      ---       #722
+      010032EDH   LINE      ---      ---       #723
+      010032EDH   LINE      ---      ---       #724
+      010032EFH   LINE      ---      ---       #725
+      010032FBH   LINE      ---      ---       #726
+      010032FBH   LINE      ---      ---       #727
+      01003301H   LINE      ---      ---       #728
+      01003301H   LINE      ---      ---       #729
+      01003303H   LINE      ---      ---       #730
+      0100330AH   LINE      ---      ---       #731
+      0100330AH   LINE      ---      ---       #732
+      0100330EH   LINE      ---      ---       #733
+      0100330EH   LINE      ---      ---       #734
+      01003315H   LINE      ---      ---       #735
+      01003317H   LINE      ---      ---       #737
+      01003317H   LINE      ---      ---       #738
+      0100331EH   LINE      ---      ---       #739
+      0100331EH   LINE      ---      ---       #740
+      01003320H   LINE      ---      ---       #742
+      01003327H   LINE      ---      ---       #743
+      0100332DH   LINE      ---      ---       #744
+      01003330H   LINE      ---      ---       #745
+      01003330H   LINE      ---      ---       #746
+      01003330H   LINE      ---      ---       #749
+      01003336H   LINE      ---      ---       #750
+      01003336H   LINE      ---      ---       #751
+      0100333EH   LINE      ---      ---       #752
+      0100333EH   LINE      ---      ---       #753
+      01003344H   LINE      ---      ---       #754
+      01003348H   LINE      ---      ---       #756
+      0100334EH   LINE      ---      ---       #757
+      0100334EH   LINE      ---      ---       #758
+      01003359H   LINE      ---      ---       #759
+      0100335BH   LINE      ---      ---       #760
+      01003361H   LINE      ---      ---       #761
+      01003361H   LINE      ---      ---       #763
+      0100336CH   LINE      ---      ---       #764
+      0100336CH   LINE      ---      ---       #765
+      0100336CH   LINE      ---      ---       #766
+      0100336CH   LINE      ---      ---       #770
+      01003372H   LINE      ---      ---       #771
+      01003372H   LINE      ---      ---       #772
+      01003375H   LINE      ---      ---       #773
+      01003378H   LINE      ---      ---       #774
+      01003378H   LINE      ---      ---       #775
+      0100337EH   LINE      ---      ---       #776
+      0100337EH   LINE      ---      ---       #777
+      01003383H   LINE      ---      ---       #778
+      01003383H   LINE      ---      ---       #779
+      01003383H   LINE      ---      ---       #780
+      01003383H   LINE      ---      ---       #782
+      01003389H   LINE      ---      ---       #783
+      0100338CH   LINE      ---      ---       #784
+      0100338FH   LINE      ---      ---       #785
+      0100338FH   LINE      ---      ---       #787
+      01003396H   LINE      ---      ---       #788
+      01003396H   LINE      ---      ---       #789
+      0100339CH   LINE      ---      ---       #790
+      0100339CH   LINE      ---      ---       #791
+      0100339CH   LINE      ---      ---       #792
+      0100339CH   LINE      ---      ---       #793
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002F47H   BLOCK     CODE     ---       LVL=0
+      01002F47H   LINE      ---      ---       #807
+      01002F47H   LINE      ---      ---       #808
+      01002F47H   LINE      ---      ---       #809
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002C92H   BLOCK     CODE     ---       LVL=0
+      01002C92H   LINE      ---      ---       #814
+      01002C92H   LINE      ---      ---       #815
+      01002C92H   LINE      ---      ---       #816
+      01002C94H   LINE      ---      ---       #817
+      01002C94H   LINE      ---      ---       #818
+      01002C96H   LINE      ---      ---       #819
+      01002C99H   LINE      ---      ---       #820
+      01002C9CH   LINE      ---      ---       #821
+      01002C9FH   LINE      ---      ---       #823
+      01002CA5H   LINE      ---      ---       #824
+      01002CA5H   LINE      ---      ---       #825
+      01002CA7H   LINE      ---      ---       #826
+      01002CA7H   LINE      ---      ---       #828
+      01002CB2H   LINE      ---      ---       #829
+      01002CB2H   LINE      ---      ---       #830
+      01002CB4H   LINE      ---      ---       #832
+      01002CB7H   LINE      ---      ---       #833
+      01002CB9H   LINE      ---      ---       #834
+      01002CBBH   LINE      ---      ---       #835
+      01002CBBH   LINE      ---      ---       #837
+      01002CBBH   LINE      ---      ---       #838
+      01002CD3H   LINE      ---      ---       #840
+      01002CD3H   LINE      ---      ---       #841
+      01002CD5H   LINE      ---      ---       #842
+      01002CD7H   LINE      ---      ---       #843
+      01002CD7H   LINE      ---      ---       #845
+      01002CD7H   LINE      ---      ---       #846
+      01002CD9H   LINE      ---      ---       #847
+      01002CDBH   LINE      ---      ---       #848
+      01002CDDH   LINE      ---      ---       #849
+      01002CDDH   LINE      ---      ---       #850
+      01002CDDH   LINE      ---      ---       #851
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       ADC
-      01001952H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      01001B3EH   PUBLIC    CODE     ---       YC_adc_check
-      0100318AH   PUBLIC    CODE     ---       YC_adc_init
-
-      0100318AH   BLOCK     CODE     ---       LVL=0
-      0100318AH   LINE      ---      ---       #3
-      0100318AH   LINE      ---      ---       #4
-      0100318AH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100318AH   LINE      ---      ---       #8
-      01003190H   LINE      ---      ---       #9
-      01003193H   LINE      ---      ---       #30
-      01003199H   LINE      ---      ---       #31
-      0100319BH   LINE      ---      ---       #32
-      0100319BH   LINE      ---      ---       #33
-      010031ACH   LINE      ---      ---       #34
-      010031B1H   LINE      ---      ---       #35
-      010031FFH   LINE      ---      ---       #36
-      0100324DH   LINE      ---      ---       #37
-      0100329BH   LINE      ---      ---       #40
+      010018FEH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      01001AEAH   PUBLIC    CODE     ---       YC_adc_check
+      01003186H   PUBLIC    CODE     ---       YC_adc_init
+
+      01003186H   BLOCK     CODE     ---       LVL=0
+      01003186H   LINE      ---      ---       #3
+      01003186H   LINE      ---      ---       #4
+      01003186H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003186H   LINE      ---      ---       #8
+      0100318CH   LINE      ---      ---       #9
+      0100318FH   LINE      ---      ---       #30
+      01003195H   LINE      ---      ---       #31
+      01003197H   LINE      ---      ---       #32
+      01003197H   LINE      ---      ---       #33
+      010031A8H   LINE      ---      ---       #34
+      010031ADH   LINE      ---      ---       #35
+      010031FBH   LINE      ---      ---       #36
+      01003249H   LINE      ---      ---       #37
+      01003297H   LINE      ---      ---       #40
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001B3EH   BLOCK     CODE     ---       LVL=0
-      01001B3EH   LINE      ---      ---       #42
-      01001B3EH   LINE      ---      ---       #43
-      01001B3EH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001B3EH   LINE      ---      ---       #46
-      01001B48H   LINE      ---      ---       #48
-      01001B54H   LINE      ---      ---       #51
-      01001B74H   LINE      ---      ---       #52
-      01001B7DH   LINE      ---      ---       #53
-      01001B7FH   LINE      ---      ---       #54
-      01001B84H   LINE      ---      ---       #55
-      01001B84H   LINE      ---      ---       #56
-      01001BBBH   LINE      ---      ---       #57
-      01001BC5H   LINE      ---      ---       #58
-      01001BE2H   LINE      ---      ---       #60
-      01001C01H   LINE      ---      ---       #61
-      01001C08H   LINE      ---      ---       #62
-      01001C27H   LINE      ---      ---       #63
-      01001C2FH   LINE      ---      ---       #65
-      01001C8AH   LINE      ---      ---       #67
-      01001C9FH   LINE      ---      ---       #68
-      01001C9FH   LINE      ---      ---       #69
-      01001CA5H   LINE      ---      ---       #70
-      01001CA6H   LINE      ---      ---       #72
-      01001CA6H   LINE      ---      ---       #73
-      01001CC5H   LINE      ---      ---       #74
-      01001CC5H   LINE      ---      ---       #75
-      01001CCBH   LINE      ---      ---       #76
-      01001CD1H   LINE      ---      ---       #77
-      01001CD1H   LINE      ---      ---       #78
-      01001CD5H   LINE      ---      ---       #79
-      01001CD9H   LINE      ---      ---       #80
-      01001CDDH   LINE      ---      ---       #81
-      01001CE0H   LINE      ---      ---       #82
-      01001CE0H   LINE      ---      ---       #83
-      01001CE1H   LINE      ---      ---       #85
-      01001CE1H   LINE      ---      ---       #86
-      01001CE6H   LINE      ---      ---       #87
-      01001CECH   LINE      ---      ---       #88
-      01001CECH   LINE      ---      ---       #89
-      01001CF0H   LINE      ---      ---       #90
-      01001CF4H   LINE      ---      ---       #91
-      01001CF8H   LINE      ---      ---       #92
-      01001CFBH   LINE      ---      ---       #93
-      01001CFBH   LINE      ---      ---       #94
-      01001CFBH   LINE      ---      ---       #95
-      01001CFBH   LINE      ---      ---       #97
+      01001AEAH   BLOCK     CODE     ---       LVL=0
+      01001AEAH   LINE      ---      ---       #42
+      01001AEAH   LINE      ---      ---       #43
+      01001AEAH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001AEAH   LINE      ---      ---       #46
+      01001AF4H   LINE      ---      ---       #48
+      01001B00H   LINE      ---      ---       #51
+      01001B20H   LINE      ---      ---       #52
+      01001B29H   LINE      ---      ---       #53
+      01001B2BH   LINE      ---      ---       #54
+      01001B30H   LINE      ---      ---       #55
+      01001B30H   LINE      ---      ---       #56
+      01001B67H   LINE      ---      ---       #57
+      01001B71H   LINE      ---      ---       #58
+      01001B8EH   LINE      ---      ---       #60
+      01001BADH   LINE      ---      ---       #61
+      01001BB4H   LINE      ---      ---       #62
+      01001BD3H   LINE      ---      ---       #63
+      01001BDBH   LINE      ---      ---       #65
+      01001C36H   LINE      ---      ---       #67
+      01001C4BH   LINE      ---      ---       #68
+      01001C4BH   LINE      ---      ---       #69
+      01001C51H   LINE      ---      ---       #70
+      01001C52H   LINE      ---      ---       #72
+      01001C52H   LINE      ---      ---       #73
+      01001C71H   LINE      ---      ---       #74
+      01001C71H   LINE      ---      ---       #75
+      01001C77H   LINE      ---      ---       #76
+      01001C7DH   LINE      ---      ---       #77
+      01001C7DH   LINE      ---      ---       #78
+      01001C81H   LINE      ---      ---       #79
+      01001C85H   LINE      ---      ---       #80
+      01001C89H   LINE      ---      ---       #81
+      01001C8CH   LINE      ---      ---       #82
+      01001C8CH   LINE      ---      ---       #83
+      01001C8DH   LINE      ---      ---       #85
+      01001C8DH   LINE      ---      ---       #86
+      01001C92H   LINE      ---      ---       #87
+      01001C98H   LINE      ---      ---       #88
+      01001C98H   LINE      ---      ---       #89
+      01001C9CH   LINE      ---      ---       #90
+      01001CA0H   LINE      ---      ---       #91
+      01001CA4H   LINE      ---      ---       #92
+      01001CA7H   LINE      ---      ---       #93
+      01001CA7H   LINE      ---      ---       #94
+      01001CA7H   LINE      ---      ---       #95
+      01001CA7H   LINE      ---      ---       #97
       02004ECAH   SYMBOL    XDATA    VOID      i
       02004ECBH   SYMBOL    XDATA    VOID      batValue
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001952H   BLOCK     CODE     ---       LVL=0
-      01001952H   LINE      ---      ---       #100
-      01001952H   LINE      ---      ---       #101
-      01001952H   LINE      ---      ---       #104
-      01001958H   LINE      ---      ---       #105
-      01001958H   LINE      ---      ---       #106
-      0100195AH   LINE      ---      ---       #107
-      0100195DH   LINE      ---      ---       #108
-      0100195DH   LINE      ---      ---       #109
-      01001960H   LINE      ---      ---       #110
-      01001962H   LINE      ---      ---       #111
-      01001962H   LINE      ---      ---       #112
-      01001962H   LINE      ---      ---       #114
+      010018FEH   BLOCK     CODE     ---       LVL=0
+      010018FEH   LINE      ---      ---       #100
+      010018FEH   LINE      ---      ---       #101
+      010018FEH   LINE      ---      ---       #104
+      01001904H   LINE      ---      ---       #105
+      01001904H   LINE      ---      ---       #106
+      01001906H   LINE      ---      ---       #107
+      01001909H   LINE      ---      ---       #108
+      01001909H   LINE      ---      ---       #109
+      0100190CH   LINE      ---      ---       #110
+      0100190EH   LINE      ---      ---       #111
+      0100190EH   LINE      ---      ---       #112
+      0100190EH   LINE      ---      ---       #114
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      01002FA6H   PUBLIC    CODE     ---       main
+      01002F9FH   PUBLIC    CODE     ---       main
 
-      01002FA6H   BLOCK     CODE     ---       LVL=0
-      01002FA6H   LINE      ---      ---       #5
-      01002FA6H   LINE      ---      ---       #6
-      01002FA6H   LINE      ---      ---       #7
+      01002F9FH   BLOCK     CODE     ---       LVL=0
+      01002F9FH   LINE      ---      ---       #5
+      01002F9FH   LINE      ---      ---       #6
+      01002F9FH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
@@ -2949,39 +2957,39 @@
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      01002CF5H   PUBLIC    CODE     ---       IPC_DealSingleStep
-      01002607H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      01002FA8H   PUBLIC    CODE     ---       IPC_AbandonLpm
-      01002CE7H   PUBLIC    CODE     ---       IPC_WaitLpm
-      01002F54H   PUBLIC    CODE     ---       _IPC_Initialize
-      01003408H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01002CEEH   PUBLIC    CODE     ---       IPC_DealSingleStep
+      01002600H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      01002FA1H   PUBLIC    CODE     ---       IPC_AbandonLpm
+      01002CE0H   PUBLIC    CODE     ---       IPC_WaitLpm
+      01002F4DH   PUBLIC    CODE     ---       _IPC_Initialize
+      01003404H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
       01000FE8H   PUBLIC    CODE     ---       _IPC_TxBleData
       01000FF0H   PUBLIC    CODE     ---       _IPC_TxSppData
       01000FE0H   PUBLIC    CODE     ---       _IPC_Tx24GData
-      010033FBH   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
+      010033F7H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
       01000FBBH   PUBLIC    CODE     ---       _IPC_TxData
       01000ECAH   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      010033A1H   BLOCK     CODE     ---       LVL=0
-      010033A1H   LINE      ---      ---       #44
-      010033B1H   LINE      ---      ---       #45
-      010033B1H   LINE      ---      ---       #46
-      010033FAH   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002EFEH   BLOCK     CODE     ---       LVL=0
-      01002EFEH   LINE      ---      ---       #49
-      01002F08H   LINE      ---      ---       #50
-      01002F08H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002F08H   LINE      ---      ---       #51
-      01002F10H   LINE      ---      ---       #52
-      01002F16H   LINE      ---      ---       #53
-      01002F35H   LINE      ---      ---       #54
-      01002F3FH   LINE      ---      ---       #55
-      01002F43H   LINE      ---      ---       #56
-      01002F43H   LINE      ---      ---       #57
-      01002F45H   LINE      ---      ---       #58
-      01002F4DH   LINE      ---      ---       #59
+      0100339DH   BLOCK     CODE     ---       LVL=0
+      0100339DH   LINE      ---      ---       #44
+      010033ADH   LINE      ---      ---       #45
+      010033ADH   LINE      ---      ---       #46
+      010033F6H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002EF7H   BLOCK     CODE     ---       LVL=0
+      01002EF7H   LINE      ---      ---       #49
+      01002F01H   LINE      ---      ---       #50
+      01002F01H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002F01H   LINE      ---      ---       #51
+      01002F09H   LINE      ---      ---       #52
+      01002F0FH   LINE      ---      ---       #53
+      01002F2EH   LINE      ---      ---       #54
+      01002F38H   LINE      ---      ---       #55
+      01002F3CH   LINE      ---      ---       #56
+      01002F3CH   LINE      ---      ---       #57
+      01002F3EH   LINE      ---      ---       #58
+      01002F46H   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3023,13 +3031,13 @@
       01000FD1H   LINE      ---      ---       #87
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010033FBH   BLOCK     CODE     ---       LVL=0
-      010033FBH   LINE      ---      ---       #90
-      010033FBH   LINE      ---      ---       #91
-      010033FBH   LINE      ---      ---       #92
-      01003401H   LINE      ---      ---       #93
-      01003404H   LINE      ---      ---       #94
-      01003407H   LINE      ---      ---       #95
+      010033F7H   BLOCK     CODE     ---       LVL=0
+      010033F7H   LINE      ---      ---       #90
+      010033F7H   LINE      ---      ---       #91
+      010033F7H   LINE      ---      ---       #92
+      010033FDH   LINE      ---      ---       #93
+      01003400H   LINE      ---      ---       #94
+      01003403H   LINE      ---      ---       #95
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FE0H   BLOCK     CODE     ---       LVL=0
@@ -3053,108 +3061,108 @@
       01000FEEH   LINE      ---      ---       #112
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003408H   BLOCK     CODE     ---       LVL=0
-      01003408H   LINE      ---      ---       #115
-      01003408H   LINE      ---      ---       #116
-      01003408H   LINE      ---      ---       #117
-      0100340DH   LINE      ---      ---       #118
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002F54H   BLOCK     CODE     ---       LVL=0
-      01002F54H   LINE      ---      ---       #120
-      01002F54H   LINE      ---      ---       #121
-      01002F54H   LINE      ---      ---       #122
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002CE7H   BLOCK     CODE     ---       LVL=0
-      01002CE7H   LINE      ---      ---       #125
-      01002CE7H   LINE      ---      ---       #126
-      01002CE7H   LINE      ---      ---       #127
-      01002CECH   LINE      ---      ---       #128
-      01002CF0H   LINE      ---      ---       #129
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002FA8H   BLOCK     CODE     ---       LVL=0
-      01002FA8H   LINE      ---      ---       #132
-      01002FA8H   LINE      ---      ---       #133
-      01002FA8H   LINE      ---      ---       #134
-      01002FAEH   LINE      ---      ---       #135
-      01002FB3H   LINE      ---      ---       #136
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002607H   BLOCK     CODE     ---       LVL=0
-      01002607H   LINE      ---      ---       #138
-      01002607H   LINE      ---      ---       #139
-      01002607H   LINE      ---      ---       #140
-      0100261BH   LINE      ---      ---       #141
-      0100261DH   LINE      ---      ---       #142
-      0100261EH   LINE      ---      ---       #143
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002CF5H   BLOCK     CODE     ---       LVL=0
-      01002CF5H   LINE      ---      ---       #146
-      01002CF5H   LINE      ---      ---       #147
-      01002CF5H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002CF5H   LINE      ---      ---       #148
-      01002D07H   LINE      ---      ---       #149
-      01002D1DH   LINE      ---      ---       #150
-      01002D1DH   LINE      ---      ---       #151
-      01002D25H   LINE      ---      ---       #152
-      01002D36H   LINE      ---      ---       #153
-      01002D40H   LINE      ---      ---       #154
-      01002D5FH   LINE      ---      ---       #155
-      01002D61H   LINE      ---      ---       #156
-      01002D73H   LINE      ---      ---       #157
-      01002D7CH   LINE      ---      ---       #158
-      01002D92H   LINE      ---      ---       #159
-      01002DCAH   LINE      ---      ---       #160
-      01002DCCH   LINE      ---      ---       #161
-      01002DDEH   LINE      ---      ---       #162
-      01002DE7H   LINE      ---      ---       #163
-      01002DFDH   LINE      ---      ---       #164
-      01002E35H   LINE      ---      ---       #165
-      01002E37H   LINE      ---      ---       #166
-      01002E49H   LINE      ---      ---       #167
-      01002E52H   LINE      ---      ---       #168
-      01002E68H   LINE      ---      ---       #169
-      01002EA0H   LINE      ---      ---       #170
-      01002EA2H   LINE      ---      ---       #171
-      01002EA2H   LINE      ---      ---       #172
-      01002EA4H   LINE      ---      ---       #173
-      01002EA4H   LINE      ---      ---       #174
-      01002EA4H   LINE      ---      ---       #175
-      01002EB8H   LINE      ---      ---       #176
-      01002EC6H   LINE      ---      ---       #178
-      01002EC9H   LINE      ---      ---       #180
-      01002ED8H   LINE      ---      ---       #181
-      01002EDAH   LINE      ---      ---       #182
-      01002EE4H   LINE      ---      ---       #183
-      01002EF2H   LINE      ---      ---       #185
-      01002EF5H   LINE      ---      ---       #187
-      01002EFBH   LINE      ---      ---       #188
-      01002EFDH   LINE      ---      ---       #190
-      01002EA4H   SYMBOL    ---      ---       IPC_TIMERingleStep
+      01003404H   BLOCK     CODE     ---       LVL=0
+      01003404H   LINE      ---      ---       #115
+      01003404H   LINE      ---      ---       #116
+      01003404H   LINE      ---      ---       #117
+      01003409H   LINE      ---      ---       #118
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002F4DH   BLOCK     CODE     ---       LVL=0
+      01002F4DH   LINE      ---      ---       #120
+      01002F4DH   LINE      ---      ---       #121
+      01002F4DH   LINE      ---      ---       #122
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002CE0H   BLOCK     CODE     ---       LVL=0
+      01002CE0H   LINE      ---      ---       #125
+      01002CE0H   LINE      ---      ---       #126
+      01002CE0H   LINE      ---      ---       #127
+      01002CE5H   LINE      ---      ---       #128
+      01002CE9H   LINE      ---      ---       #129
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002FA1H   BLOCK     CODE     ---       LVL=0
+      01002FA1H   LINE      ---      ---       #132
+      01002FA1H   LINE      ---      ---       #133
+      01002FA1H   LINE      ---      ---       #134
+      01002FA7H   LINE      ---      ---       #135
+      01002FACH   LINE      ---      ---       #136
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002600H   BLOCK     CODE     ---       LVL=0
+      01002600H   LINE      ---      ---       #138
+      01002600H   LINE      ---      ---       #139
+      01002600H   LINE      ---      ---       #140
+      01002614H   LINE      ---      ---       #141
+      01002616H   LINE      ---      ---       #142
+      01002617H   LINE      ---      ---       #143
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002CEEH   BLOCK     CODE     ---       LVL=0
+      01002CEEH   LINE      ---      ---       #146
+      01002CEEH   LINE      ---      ---       #147
+      01002CEEH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002CEEH   LINE      ---      ---       #148
+      01002D00H   LINE      ---      ---       #149
+      01002D16H   LINE      ---      ---       #150
+      01002D16H   LINE      ---      ---       #151
+      01002D1EH   LINE      ---      ---       #152
+      01002D2FH   LINE      ---      ---       #153
+      01002D39H   LINE      ---      ---       #154
+      01002D58H   LINE      ---      ---       #155
+      01002D5AH   LINE      ---      ---       #156
+      01002D6CH   LINE      ---      ---       #157
+      01002D75H   LINE      ---      ---       #158
+      01002D8BH   LINE      ---      ---       #159
+      01002DC3H   LINE      ---      ---       #160
+      01002DC5H   LINE      ---      ---       #161
+      01002DD7H   LINE      ---      ---       #162
+      01002DE0H   LINE      ---      ---       #163
+      01002DF6H   LINE      ---      ---       #164
+      01002E2EH   LINE      ---      ---       #165
+      01002E30H   LINE      ---      ---       #166
+      01002E42H   LINE      ---      ---       #167
+      01002E4BH   LINE      ---      ---       #168
+      01002E61H   LINE      ---      ---       #169
+      01002E99H   LINE      ---      ---       #170
+      01002E9BH   LINE      ---      ---       #171
+      01002E9BH   LINE      ---      ---       #172
+      01002E9DH   LINE      ---      ---       #173
+      01002E9DH   LINE      ---      ---       #174
+      01002E9DH   LINE      ---      ---       #175
+      01002EB1H   LINE      ---      ---       #176
+      01002EBFH   LINE      ---      ---       #178
+      01002EC2H   LINE      ---      ---       #180
+      01002ED1H   LINE      ---      ---       #181
+      01002ED3H   LINE      ---      ---       #182
+      01002EDDH   LINE      ---      ---       #183
+      01002EEBH   LINE      ---      ---       #185
+      01002EEEH   LINE      ---      ---       #187
+      01002EF4H   LINE      ---      ---       #188
+      01002EF6H   LINE      ---      ---       #190
+      01002E9DH   SYMBOL    ---      ---       IPC_TIMERingleStep
       02004EEDH   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       UTILITIES
       02004EABH   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      0100264FH   PUBLIC    CODE     ---       _compare_str
-      01001595H   PUBLIC    CODE     ---       _Delay1ms
-      010034F4H   PUBLIC    CODE     ---       _xmemclear_ff
+      01002648H   PUBLIC    CODE     ---       _compare_str
+      010015B2H   PUBLIC    CODE     ---       _Delay1ms
+      010034F0H   PUBLIC    CODE     ---       _xmemclear_ff
       01000B6BH   PUBLIC    CODE     ---       _xmemclear
       02004E9CH   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      01003415H   PUBLIC    CODE     ---       _dmemcpy
+      01003411H   PUBLIC    CODE     ---       _dmemcpy
       02004EBFH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       0100087DH   PUBLIC    CODE     ---       _xmemcpy
-      0100340EH   PUBLIC    CODE     ---       YC_Ice_break
+      0100340AH   PUBLIC    CODE     ---       YC_Ice_break
 
-      0100340EH   BLOCK     CODE     ---       LVL=0
-      0100340EH   LINE      ---      ---       #3
-      0100340EH   LINE      ---      ---       #4
-      0100340EH   LINE      ---      ---       #5
-      01003414H   LINE      ---      ---       #7
+      0100340AH   BLOCK     CODE     ---       LVL=0
+      0100340AH   LINE      ---      ---       #3
+      0100340AH   LINE      ---      ---       #4
+      0100340AH   LINE      ---      ---       #5
+      01003410H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100087DH   BLOCK     CODE     ---       LVL=0
@@ -3165,12 +3173,12 @@
       010008BFH   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003415H   BLOCK     CODE     ---       LVL=0
-      01003415H   LINE      ---      ---       #16
-      01003420H   LINE      ---      ---       #17
-      01003420H   LINE      ---      ---       #18
-      0100342EH   LINE      ---      ---       #19
-      01003458H   LINE      ---      ---       #21
+      01003411H   BLOCK     CODE     ---       LVL=0
+      01003411H   LINE      ---      ---       #16
+      0100341CH   LINE      ---      ---       #17
+      0100341CH   LINE      ---      ---       #18
+      0100342AH   LINE      ---      ---       #19
+      01003454H   LINE      ---      ---       #21
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000B6BH   BLOCK     CODE     ---       LVL=0
@@ -3181,36 +3189,36 @@
       01000B96H   LINE      ---      ---       #28
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010034F4H   BLOCK     CODE     ---       LVL=0
-      010034F4H   LINE      ---      ---       #30
-      010034FFH   LINE      ---      ---       #31
-      010034FFH   LINE      ---      ---       #32
-      01003509H   LINE      ---      ---       #33
-      01003520H   LINE      ---      ---       #35
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001595H   BLOCK     CODE     ---       LVL=0
-      01001595H   LINE      ---      ---       #46
-      01001595H   LINE      ---      ---       #47
-      01001595H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001595H   LINE      ---      ---       #49
-      0100159BH   LINE      ---      ---       #50
-      010015A9H   LINE      ---      ---       #51
-      010015ACH   LINE      ---      ---       #52
+      010034F0H   BLOCK     CODE     ---       LVL=0
+      010034F0H   LINE      ---      ---       #30
+      010034FBH   LINE      ---      ---       #31
+      010034FBH   LINE      ---      ---       #32
+      01003505H   LINE      ---      ---       #33
+      0100351CH   LINE      ---      ---       #35
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010015B2H   BLOCK     CODE     ---       LVL=0
+      010015B2H   LINE      ---      ---       #46
+      010015B2H   LINE      ---      ---       #47
+      010015B2H   BLOCK     CODE     NEAR LAB  LVL=1
+      010015B2H   LINE      ---      ---       #49
+      010015B8H   LINE      ---      ---       #50
+      010015C6H   LINE      ---      ---       #51
+      010015C9H   LINE      ---      ---       #52
       00000004H   SYMBOL    DATA     VOID      j
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100264FH   BLOCK     CODE     ---       LVL=0
-      0100264FH   LINE      ---      ---       #54
-      0100265AH   LINE      ---      ---       #55
-      0100265AH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100265AH   LINE      ---      ---       #57
-      01002666H   LINE      ---      ---       #58
-      01002690H   LINE      ---      ---       #59
-      01002693H   LINE      ---      ---       #60
-      01002696H   LINE      ---      ---       #61
-      01002698H   LINE      ---      ---       #62
+      01002648H   BLOCK     CODE     ---       LVL=0
+      01002648H   LINE      ---      ---       #54
+      01002653H   LINE      ---      ---       #55
+      01002653H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002653H   LINE      ---      ---       #57
+      0100265FH   LINE      ---      ---       #58
+      01002689H   LINE      ---      ---       #59
+      0100268CH   LINE      ---      ---       #60
+      0100268FH   LINE      ---      ---       #61
+      01002691H   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3218,248 +3226,248 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      010035A3H   PUBLIC    CODE     ---       GPIO_fillpd
-      01001326H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
-      01002BFAH   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01003564H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      010035DFH   PUBLIC    CODE     ---       GPIO_fillpd
+      01001351H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
+      01002BF3H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
+      010035A0H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
-      01002C0DH   PUBLIC    CODE     ---       _GPIO_SetWakeup
+      01002C06H   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
-      0100170BH   PUBLIC    CODE     ---       _GPIO_SetOutput
+      01001728H   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
-      01003533H   PUBLIC    CODE     ---       _GPIO_SetInput
+      01001FB5H   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      01003552H   PUBLIC    CODE     ---       _GPIO_Setoe
+      0100358FH   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      01003521H   PUBLIC    CODE     ---       _GPIO_SetPd
+      0100357EH   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      010017C9H   PUBLIC    CODE     ---       _GPIO_SetPu
+      01001FD5H   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
-      0100123EH   PUBLIC    CODE     ---       _GPIO_Setout
-      01002F61H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      01001268H   PUBLIC    CODE     ---       _GPIO_Setout
+      01002F5AH   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
-      010017F4H   BLOCK     CODE     ---       LVL=0
-      010017F4H   LINE      ---      ---       #9
-      010017FFH   LINE      ---      ---       #10
-      010017FFH   BLOCK     CODE     NEAR LAB  LVL=1
-      010017FFH   LINE      ---      ---       #11
-      01001801H   LINE      ---      ---       #12
-      01001802H   LINE      ---      ---       #14
-      01001806H   LINE      ---      ---       #15
-      0100180DH   LINE      ---      ---       #17
-      01001810H   LINE      ---      ---       #18
-      01001832H   LINE      ---      ---       #19
-      01001832H   LINE      ---      ---       #21
-      01001832H   LINE      ---      ---       #22
+      0100351DH   BLOCK     CODE     ---       LVL=0
+      0100351DH   LINE      ---      ---       #9
+      01003528H   LINE      ---      ---       #10
+      01003528H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003528H   LINE      ---      ---       #11
+      0100352AH   LINE      ---      ---       #12
+      0100352BH   LINE      ---      ---       #14
+      0100352FH   LINE      ---      ---       #15
+      01003536H   LINE      ---      ---       #17
+      01003539H   LINE      ---      ---       #18
+      0100355BH   LINE      ---      ---       #19
+      0100355BH   LINE      ---      ---       #21
+      0100355BH   LINE      ---      ---       #22
       00000006H   SYMBOL    DATA     VOID      queue
       00000005H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002F67H   BLOCK     CODE     ---       LVL=0
-      01002F67H   LINE      ---      ---       #26
-      01002F69H   LINE      ---      ---       #27
-      01002F69H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002F69H   LINE      ---      ---       #28
-      01002F6EH   LINE      ---      ---       #29
-      01002F6FH   LINE      ---      ---       #31
-      01002F73H   LINE      ---      ---       #32
-      01002F7AH   LINE      ---      ---       #33
-      01002FA5H   LINE      ---      ---       #35
+      01002F60H   BLOCK     CODE     ---       LVL=0
+      01002F60H   LINE      ---      ---       #26
+      01002F62H   LINE      ---      ---       #27
+      01002F62H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002F62H   LINE      ---      ---       #28
+      01002F67H   LINE      ---      ---       #29
+      01002F68H   LINE      ---      ---       #31
+      01002F6CH   LINE      ---      ---       #32
+      01002F73H   LINE      ---      ---       #33
+      01002F9EH   LINE      ---      ---       #35
       02004F09H   SYMBOL    XDATA    VOID      queue
       00000006H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002F61H   BLOCK     CODE     ---       LVL=0
-      01002F61H   LINE      ---      ---       #37
-      01002F61H   LINE      ---      ---       #38
-      01002F61H   LINE      ---      ---       #39
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100123EH   BLOCK     CODE     ---       LVL=0
-      0100123EH   LINE      ---      ---       #42
-      0100123EH   LINE      ---      ---       #43
-      0100123EH   LINE      ---      ---       #44
-      01001242H   LINE      ---      ---       #46
-      0100124EH   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017C9H   BLOCK     CODE     ---       LVL=0
-      010017C9H   LINE      ---      ---       #49
-      010017C9H   LINE      ---      ---       #50
-      010017C9H   LINE      ---      ---       #51
-      010017CDH   LINE      ---      ---       #53
-      010017D9H   LINE      ---      ---       #54
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003521H   BLOCK     CODE     ---       LVL=0
-      01003521H   LINE      ---      ---       #56
-      01003521H   LINE      ---      ---       #57
-      01003521H   LINE      ---      ---       #58
-      01003525H   LINE      ---      ---       #60
-      01003532H   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003552H   BLOCK     CODE     ---       LVL=0
-      01003552H   LINE      ---      ---       #63
-      01003552H   LINE      ---      ---       #64
-      01003552H   LINE      ---      ---       #65
-      01003556H   LINE      ---      ---       #67
-      01003563H   LINE      ---      ---       #68
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003533H   BLOCK     CODE     ---       LVL=0
-      01003533H   LINE      ---      ---       #70
-      01003535H   LINE      ---      ---       #71
-      01003535H   LINE      ---      ---       #72
-      01003539H   LINE      ---      ---       #74
-      01003541H   LINE      ---      ---       #75
-      0100354BH   LINE      ---      ---       #76
-      01003551H   LINE      ---      ---       #77
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100170BH   BLOCK     CODE     ---       LVL=0
-      0100170BH   LINE      ---      ---       #79
-      0100170DH   LINE      ---      ---       #80
-      0100170DH   LINE      ---      ---       #81
-      01001711H   LINE      ---      ---       #83
-      01001718H   LINE      ---      ---       #84
-      01001720H   LINE      ---      ---       #85
-      01001726H   LINE      ---      ---       #86
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002C0DH   BLOCK     CODE     ---       LVL=0
-      01002C0DH   LINE      ---      ---       #88
-      01002C0DH   LINE      ---      ---       #89
-      01002C0DH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002C0DH   LINE      ---      ---       #92
-      01002C13H   LINE      ---      ---       #94
-      01002C17H   LINE      ---      ---       #95
-      01002C1EH   LINE      ---      ---       #96
-      01002C21H   LINE      ---      ---       #97
-      01002C42H   LINE      ---      ---       #98
-      01002C63H   LINE      ---      ---       #99
-      01002C64H   LINE      ---      ---       #101
-      01002C64H   LINE      ---      ---       #102
-      01002C86H   LINE      ---      ---       #103
-      01002C98H   LINE      ---      ---       #104
-      01002C98H   LINE      ---      ---       #105
+      01002F5AH   BLOCK     CODE     ---       LVL=0
+      01002F5AH   LINE      ---      ---       #37
+      01002F5AH   LINE      ---      ---       #38
+      01002F5AH   LINE      ---      ---       #39
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001268H   BLOCK     CODE     ---       LVL=0
+      01001268H   LINE      ---      ---       #42
+      01001268H   LINE      ---      ---       #43
+      01001268H   LINE      ---      ---       #44
+      0100126CH   LINE      ---      ---       #46
+      01001279H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001FD5H   BLOCK     CODE     ---       LVL=0
+      01001FD5H   LINE      ---      ---       #49
+      01001FD5H   LINE      ---      ---       #50
+      01001FD5H   LINE      ---      ---       #51
+      01001FD9H   LINE      ---      ---       #53
+      01001FE6H   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100357EH   BLOCK     CODE     ---       LVL=0
+      0100357EH   LINE      ---      ---       #56
+      0100357EH   LINE      ---      ---       #57
+      0100357EH   LINE      ---      ---       #58
+      01003582H   LINE      ---      ---       #60
+      0100358EH   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100358FH   BLOCK     CODE     ---       LVL=0
+      0100358FH   LINE      ---      ---       #63
+      0100358FH   LINE      ---      ---       #64
+      0100358FH   LINE      ---      ---       #65
+      01003593H   LINE      ---      ---       #67
+      0100359FH   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001FB5H   BLOCK     CODE     ---       LVL=0
+      01001FB5H   LINE      ---      ---       #70
+      01001FB7H   LINE      ---      ---       #71
+      01001FB7H   LINE      ---      ---       #72
+      01001FBBH   LINE      ---      ---       #74
+      01001FC4H   LINE      ---      ---       #75
+      01001FCDH   LINE      ---      ---       #76
+      01001FD4H   LINE      ---      ---       #77
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001728H   BLOCK     CODE     ---       LVL=0
+      01001728H   LINE      ---      ---       #79
+      0100172AH   LINE      ---      ---       #80
+      0100172AH   LINE      ---      ---       #81
+      0100172EH   LINE      ---      ---       #83
+      01001735H   LINE      ---      ---       #84
+      0100173DH   LINE      ---      ---       #85
+      01001744H   LINE      ---      ---       #86
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002C06H   BLOCK     CODE     ---       LVL=0
+      01002C06H   LINE      ---      ---       #88
+      01002C06H   LINE      ---      ---       #89
+      01002C06H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002C06H   LINE      ---      ---       #92
+      01002C0CH   LINE      ---      ---       #94
+      01002C10H   LINE      ---      ---       #95
+      01002C17H   LINE      ---      ---       #96
+      01002C1AH   LINE      ---      ---       #97
+      01002C3BH   LINE      ---      ---       #98
+      01002C5CH   LINE      ---      ---       #99
+      01002C5DH   LINE      ---      ---       #101
+      01002C5DH   LINE      ---      ---       #102
+      01002C7FH   LINE      ---      ---       #103
+      01002C91H   LINE      ---      ---       #104
+      01002C91H   LINE      ---      ---       #105
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003564H   BLOCK     CODE     ---       LVL=0
-      01003564H   LINE      ---      ---       #107
-      01003564H   LINE      ---      ---       #108
-      01003564H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003564H   LINE      ---      ---       #111
-      01003568H   LINE      ---      ---       #113
-      0100356CH   LINE      ---      ---       #114
-      01003573H   LINE      ---      ---       #115
-      01003595H   LINE      ---      ---       #116
-      010035A2H   LINE      ---      ---       #117
+      010035A0H   BLOCK     CODE     ---       LVL=0
+      010035A0H   LINE      ---      ---       #107
+      010035A0H   LINE      ---      ---       #108
+      010035A0H   BLOCK     CODE     NEAR LAB  LVL=1
+      010035A0H   LINE      ---      ---       #111
+      010035A4H   LINE      ---      ---       #113
+      010035A8H   LINE      ---      ---       #114
+      010035AFH   LINE      ---      ---       #115
+      010035D1H   LINE      ---      ---       #116
+      010035DEH   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002BFAH   BLOCK     CODE     ---       LVL=0
-      01002BFAH   LINE      ---      ---       #119
-      01002BFFH   LINE      ---      ---       #120
-      01002BFFH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002BFFH   LINE      ---      ---       #121
-      01002C03H   LINE      ---      ---       #122
+      01002BF3H   BLOCK     CODE     ---       LVL=0
+      01002BF3H   LINE      ---      ---       #119
+      01002BF8H   LINE      ---      ---       #120
+      01002BF8H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002BF8H   LINE      ---      ---       #121
+      01002BFCH   LINE      ---      ---       #122
       00000021H.0 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001326H   BLOCK     CODE     ---       LVL=0
-      01001326H   LINE      ---      ---       #125
-      0100132BH   LINE      ---      ---       #126
-      0100132BH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100132BH   LINE      ---      ---       #127
-      01001336H   LINE      ---      ---       #128
+      01001351H   BLOCK     CODE     ---       LVL=0
+      01001351H   LINE      ---      ---       #125
+      01001356H   LINE      ---      ---       #126
+      01001356H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001356H   LINE      ---      ---       #127
+      01001361H   LINE      ---      ---       #128
       00000021H.1 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010035A3H   BLOCK     CODE     ---       LVL=0
-      010035A3H   LINE      ---      ---       #131
-      010035A3H   LINE      ---      ---       #132
-      010035A3H   BLOCK     CODE     NEAR LAB  LVL=1
-      010035A3H   LINE      ---      ---       #134
-      010035A5H   LINE      ---      ---       #135
-      010035D6H   LINE      ---      ---       #136
+      010035DFH   BLOCK     CODE     ---       LVL=0
+      010035DFH   LINE      ---      ---       #131
+      010035DFH   LINE      ---      ---       #132
+      010035DFH   BLOCK     CODE     NEAR LAB  LVL=1
+      010035DFH   LINE      ---      ---       #134
+      010035E1H   LINE      ---      ---       #135
+      01003612H   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       IIC
-      010014E7H   PUBLIC    CODE     ---       _IIC_WriteBlock
-      01003459H   PUBLIC    CODE     ---       _IIC_write
-      0100165BH   PUBLIC    CODE     ---       _IIC_Read
-
-      010017DAH   BLOCK     CODE     ---       LVL=0
-      010017DAH   LINE      ---      ---       #11
-      010017DAH   LINE      ---      ---       #12
-      010017DAH   LINE      ---      ---       #13
-      010017E1H   LINE      ---      ---       #14
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100165BH   BLOCK     CODE     ---       LVL=0
-      0100165BH   LINE      ---      ---       #16
-      0100166CH   LINE      ---      ---       #17
-      0100166CH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100166CH   LINE      ---      ---       #18
-      0100166CH   LINE      ---      ---       #19
-      01001675H   LINE      ---      ---       #20
-      0100167BH   LINE      ---      ---       #21
-      01001681H   LINE      ---      ---       #22
-      01001687H   LINE      ---      ---       #23
-      010016A0H   LINE      ---      ---       #24
-      010016B5H   LINE      ---      ---       #25
-      010016CEH   LINE      ---      ---       #26
-      010016D4H   LINE      ---      ---       #27
-      010016DCH   LINE      ---      ---       #28
-      010016E3H   LINE      ---      ---       #29
-      010016E3H   LINE      ---      ---       #30
-      010016EAH   LINE      ---      ---       #31
-      010016ECH   LINE      ---      ---       #32
+      01001504H   PUBLIC    CODE     ---       _IIC_WriteBlock
+      01003455H   PUBLIC    CODE     ---       _IIC_write
+      01001678H   PUBLIC    CODE     ---       _IIC_Read
+
+      010017E7H   BLOCK     CODE     ---       LVL=0
+      010017E7H   LINE      ---      ---       #11
+      010017E7H   LINE      ---      ---       #12
+      010017E7H   LINE      ---      ---       #13
+      010017EEH   LINE      ---      ---       #14
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001678H   BLOCK     CODE     ---       LVL=0
+      01001678H   LINE      ---      ---       #16
+      01001689H   LINE      ---      ---       #17
+      01001689H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001689H   LINE      ---      ---       #18
+      01001689H   LINE      ---      ---       #19
+      01001692H   LINE      ---      ---       #20
+      01001698H   LINE      ---      ---       #21
+      0100169EH   LINE      ---      ---       #22
+      010016A4H   LINE      ---      ---       #23
+      010016BDH   LINE      ---      ---       #24
+      010016D2H   LINE      ---      ---       #25
+      010016EBH   LINE      ---      ---       #26
+      010016F1H   LINE      ---      ---       #27
+      010016F9H   LINE      ---      ---       #28
+      01001700H   LINE      ---      ---       #29
+      01001700H   LINE      ---      ---       #30
+      01001707H   LINE      ---      ---       #31
+      01001709H   LINE      ---      ---       #32
       00000006H   SYMBOL    DATA     VOID      mem_src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003459H   BLOCK     CODE     ---       LVL=0
-      01003459H   LINE      ---      ---       #35
-      01003474H   LINE      ---      ---       #36
-      01003474H   LINE      ---      ---       #37
-      01003495H   LINE      ---      ---       #38
-      0100349BH   LINE      ---      ---       #39
-      010034AAH   LINE      ---      ---       #40
-      010034C7H   LINE      ---      ---       #41
-      010034DEH   LINE      ---      ---       #42
-      010034E5H   LINE      ---      ---       #43
-      010034EAH   LINE      ---      ---       #44
-      010034F1H   LINE      ---      ---       #45
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010014E7H   BLOCK     CODE     ---       LVL=0
-      010014E7H   LINE      ---      ---       #48
-      010014FEH   LINE      ---      ---       #49
-      010014FEH   BLOCK     CODE     NEAR LAB  LVL=1
-      010014FEH   LINE      ---      ---       #51
-      0100150AH   LINE      ---      ---       #52
-      0100151AH   LINE      ---      ---       #53
-      01001528H   LINE      ---      ---       #54
-      0100154EH   LINE      ---      ---       #55
-      0100155BH   LINE      ---      ---       #56
-      01001571H   LINE      ---      ---       #57
-      01001575H   LINE      ---      ---       #58
-      01001586H   LINE      ---      ---       #59
-      01001592H   LINE      ---      ---       #60
-      01001594H   LINE      ---      ---       #61
+      01003455H   BLOCK     CODE     ---       LVL=0
+      01003455H   LINE      ---      ---       #35
+      01003470H   LINE      ---      ---       #36
+      01003470H   LINE      ---      ---       #37
+      01003491H   LINE      ---      ---       #38
+      01003497H   LINE      ---      ---       #39
+      010034A6H   LINE      ---      ---       #40
+      010034C3H   LINE      ---      ---       #41
+      010034DAH   LINE      ---      ---       #42
+      010034E1H   LINE      ---      ---       #43
+      010034E6H   LINE      ---      ---       #44
+      010034EDH   LINE      ---      ---       #45
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001504H   BLOCK     CODE     ---       LVL=0
+      01001504H   LINE      ---      ---       #48
+      0100151BH   LINE      ---      ---       #49
+      0100151BH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100151BH   LINE      ---      ---       #51
+      01001527H   LINE      ---      ---       #52
+      01001537H   LINE      ---      ---       #53
+      01001545H   LINE      ---      ---       #54
+      0100156BH   LINE      ---      ---       #55
+      01001578H   LINE      ---      ---       #56
+      0100158EH   LINE      ---      ---       #57
+      01001592H   LINE      ---      ---       #58
+      010015A3H   LINE      ---      ---       #59
+      010015AFH   LINE      ---      ---       #60
+      010015B1H   LINE      ---      ---       #61
       00000004H   SYMBOL    DATA     VOID      cris
       02004E9AH   SYMBOL    XDATA    VOID      curr_len
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -3537,5 +3545,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       01000626H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=899 const=182 code=13601
+Program Size: data=10.2 xdata=899 const=182 code=13661
 LX51 RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)
Index: c51/output/FW.SBR
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/eeprom.dat
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/eeprom.dat	(revision 334)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/eeprom.dat	(working copy)
@@ -6584,8 +6584,8 @@
 61
 aa
 55
-d9
-35
+15
+36
 02
 05
 df
@@ -8103,7 +8103,7 @@
 26
 02
 2f
-a6
+9f
 e4
 93
 a3
@@ -8234,22 +8234,22 @@
 56
 ff
 1c
-fc
+a8
 00
 00
 00
 ff
 18
-ef
+9b
 ff
 32
-ac
+a8
 00
 00
 00
 ff
 32
-9c
+98
 00
 1a
 08
@@ -8917,7 +8917,7 @@
 f9
 12
 27
-99
+92
 ef
 60
 02
@@ -9163,7 +9163,7 @@
 f9
 12
 20
-24
+1d
 90
 4e
 4b
@@ -10007,7 +10007,7 @@
 03
 02
 23
-79
+72
 90
 4c
 f4
@@ -10316,7 +10316,7 @@
 39
 02
 2f
-b4
+ad
 90
 4c
 c5
@@ -10341,7 +10341,7 @@
 20
 02
 2f
-b4
+ad
 c3
 90
 4c
@@ -10461,7 +10461,7 @@
 64
 12
 33
-a1
+9d
 90
 4e
 bc
@@ -10833,7 +10833,7 @@
 40
 02
 41
-38
+62
 90
 10
 a6
@@ -10859,7 +10859,7 @@
 cd
 02
 12
-38
+62
 02
 11
 14
@@ -10871,19 +10871,19 @@
 5f
 02
 11
-80
+aa
 02
 11
-80
+aa
 02
+12
 11
-e7
 02
 12
-38
+62
 02
 12
-38
+62
 02
 11
 0f
@@ -10941,7 +10941,7 @@
 7f
 0a
 b1
-95
+b2
 7f
 2a
 12
@@ -10970,13 +10970,13 @@
 70
 0b
 f1
-b7
+d5
 ef
 70
 06
 12
 18
-55
+01
 ef
 60
 0f
@@ -10996,7 +10996,7 @@
 f0
 22
 f1
-ea
+f7
 e4
 90
 4d
@@ -11012,7 +11012,7 @@
 f0
 12
 18
-6c
+18
 7f
 0d
 12
@@ -11045,7 +11045,7 @@
 00
 12
 34
-f4
+f0
 90
 4c
 c0
@@ -11054,12 +11054,54 @@
 f0
 a3
 f0
-90
+7f
+c8
+b1
+b2
+c2
+01
+7f
+ff
+51
+68
+7b
+01
+7a
+4d
+79
+ee
+7d
+5d
+7c
+00
+7f
+60
+7e
+7f
+b1
+04
+7b
+01
+7a
 4c
-bf
-74
-03
-f0
+79
+c0
+7d
+01
+7c
+00
+7f
+bd
+7e
+7f
+b1
+04
+d2
+01
+7f
+ff
+51
+68
 e4
 90
 4c
@@ -11072,7 +11114,7 @@
 f0
 f0
 f1
-b7
+d5
 ef
 60
 09
@@ -11100,11 +11142,11 @@
 7e
 7f
 d1
-5b
+78
 7f
 0a
 b1
-95
+b2
 e4
 90
 4e
@@ -11181,7 +11223,7 @@
 70
 05
 f1
-b7
+d5
 ef
 60
 09
@@ -11232,13 +11274,13 @@
 7f
 1e
 51
-3e
+68
 d2
 01
 7f
 1d
 51
-3e
+68
 e4
 90
 4c
@@ -11259,7 +11301,7 @@
 ef
 f4
 60
-0c
+0d
 7b
 01
 7a
@@ -11270,8 +11312,9 @@
 01
 92
 00
-f1
-f4
+12
+35
+1d
 22
 90
 4d
@@ -11282,7 +11325,7 @@
 60
 02
 61
-25
+50
 90
 4c
 e9
@@ -11307,7 +11350,7 @@
 7f
 1f
 71
-26
+51
 80
 41
 90
@@ -11320,7 +11363,7 @@
 7f
 1e
 71
-26
+51
 80
 34
 90
@@ -11334,11 +11377,11 @@
 7f
 1f
 71
-26
+51
 7f
 1d
 71
-26
+51
 80
 22
 d2
@@ -11346,19 +11389,19 @@
 7f
 1f
 51
-3e
+68
 d2
 01
 7f
 1e
 51
-3e
+68
 d2
 01
 7f
 1d
 51
-3e
+68
 80
 0e
 90
@@ -11370,11 +11413,11 @@
 7f
 1e
 71
-26
+51
 7f
 1d
 71
-26
+51
 12
 0f
 f8
@@ -11394,7 +11437,7 @@
 7f
 10
 51
-3e
+68
 90
 4c
 e6
@@ -11406,7 +11449,7 @@
 7f
 10
 51
-3e
+68
 80
 06
 d2
@@ -11414,7 +11457,7 @@
 7f
 10
 51
-3e
+68
 90
 4c
 e7
@@ -11428,7 +11471,7 @@
 7f
 0f
 51
-3e
+68
 90
 4c
 e7
@@ -11440,7 +11483,7 @@
 7f
 0f
 51
-3e
+68
 80
 06
 d2
@@ -11448,7 +11491,7 @@
 7f
 0f
 51
-3e
+68
 90
 4c
 e8
@@ -11474,7 +11517,7 @@
 7f
 1d
 51
-3e
+68
 90
 4c
 e8
@@ -11486,7 +11529,7 @@
 7f
 1d
 51
-3e
+68
 22
 90
 4f
@@ -11501,7 +11544,7 @@
 74
 12
 2f
-67
+60
 92
 09
 90
@@ -11515,7 +11558,7 @@
 92
 01
 41
-3e
+68
 90
 4d
 eb
@@ -11525,7 +11568,7 @@
 60
 02
 81
-41
+6c
 90
 4c
 e9
@@ -11533,7 +11576,7 @@
 60
 02
 81
-3b
+66
 90
 4c
 ee
@@ -11541,7 +11584,7 @@
 60
 02
 81
-3b
+66
 90
 4c
 d5
@@ -11599,7 +11642,7 @@
 7f
 1d
 51
-3e
+68
 12
 0f
 f8
@@ -11607,7 +11650,7 @@
 70
 02
 81
-2f
+5a
 90
 4d
 e0
@@ -11621,7 +11664,7 @@
 70
 02
 81
-41
+6c
 e0
 30
 e0
@@ -11637,7 +11680,7 @@
 7f
 10
 51
-3e
+68
 80
 0b
 d2
@@ -11645,7 +11688,7 @@
 7f
 10
 51
-3e
+68
 e4
 90
 4c
@@ -11669,7 +11712,7 @@
 7f
 0f
 51
-3e
+68
 80
 0b
 d2
@@ -11677,7 +11720,7 @@
 7f
 0f
 51
-3e
+68
 e4
 90
 4c
@@ -11713,7 +11756,7 @@
 7f
 1d
 51
-3e
+68
 80
 17
 90
@@ -11733,7 +11776,7 @@
 7f
 1d
 51
-3e
+68
 e4
 90
 4c
@@ -11758,57 +11801,43 @@
 7f
 10
 51
-3e
+68
 d2
 01
 7f
 0f
 41
-3e
+68
 d2
 01
 7f
 10
 51
-3e
+68
 22
 90
 4c
 bf
 e0
-70
-02
-81
-e6
-90
-4c
-e0
-e0
-fe
-a3
-e0
 ff
-c3
-90
-4c
-96
-e0
-9f
-90
-4c
-95
-e0
-9e
-50
+70
 02
-81
-e6
+a1
+03
+64
+01
+60
+04
+7f
+c8
+b1
+b2
 c2
 01
 7f
 ff
 51
-3e
+68
 90
 4c
 bf
@@ -11830,8 +11859,8 @@
 52
 7e
 7f
-91
-e7
+b1
+04
 7b
 01
 7a
@@ -11846,8 +11875,8 @@
 57
 7e
 7f
-91
-e7
+b1
+04
 7b
 01
 7a
@@ -11862,8 +11891,8 @@
 56
 7e
 7f
-91
-e7
+b1
+04
 80
 17
 90
@@ -11887,8 +11916,8 @@
 60
 7e
 7f
-91
-e7
+b1
+04
 7b
 01
 7a
@@ -11903,8 +11932,8 @@
 bd
 7e
 7f
-91
-e7
+b1
+04
 7b
 01
 7a
@@ -11919,18 +11948,18 @@
 be
 7e
 7f
-91
-e7
+b1
+04
 d2
 01
 7f
 ff
 51
-3e
+68
 7f
 0a
 b1
-95
+b2
 e4
 90
 4c
@@ -11971,7 +12000,7 @@
 70
 02
 a1
-94
+b1
 90
 4e
 93
@@ -12074,11 +12103,11 @@
 f9
 12
 34
-59
+55
 7f
 0a
 b1
-95
+b2
 90
 4e
 9a
@@ -12108,8 +12137,8 @@
 e0
 3e
 f0
-81
-fe
+a1
+1b
 22
 ef
 d3
@@ -12156,11 +12185,11 @@
 7e
 7f
 d1
-5b
+78
 7f
 0a
 b1
-95
+b2
 7b
 01
 7a
@@ -12176,11 +12205,11 @@
 7e
 7f
 d1
-5b
+78
 7f
 0a
 b1
-95
+b2
 7b
 01
 7a
@@ -12196,11 +12225,11 @@
 7e
 7f
 d1
-5b
+78
 7f
 0a
 b1
-95
+b2
 7b
 01
 7a
@@ -12216,11 +12245,11 @@
 7e
 7f
 d1
-5b
+78
 7f
 0a
 b1
-95
+b2
 90
 4c
 c3
@@ -12453,7 +12482,7 @@
 04
 f0
 f1
-da
+e7
 90
 4e
 d1
@@ -12490,14 +12519,14 @@
 ec
 f4
 60
-15
+16
 af
 04
 d2
 04
 12
 35
-52
+8f
 af
 04
 a2
@@ -12505,13 +12534,14 @@
 92
 01
 51
-3e
+68
 af
 04
 c2
 02
-f1
-c9
+12
+1f
+d5
 22
 90
 4c
@@ -12525,7 +12555,7 @@
 7f
 1f
 41
-3e
+68
 90
 4c
 c3
@@ -12538,7 +12568,7 @@
 7f
 1e
 41
-3e
+68
 90
 4c
 c3
@@ -12551,25 +12581,25 @@
 7f
 1f
 f1
-0b
+28
 c2
 06
 7f
 1d
 80
-b7
+b6
 c2
 01
 7f
 1e
 51
-3e
+68
 c2
 06
 7f
 1d
 80
-ab
+aa
 90
 4c
 c3
@@ -12582,7 +12612,7 @@
 7f
 1f
 41
-3e
+68
 90
 4c
 c3
@@ -12595,7 +12625,7 @@
 7f
 1e
 41
-3e
+68
 90
 4c
 c3
@@ -12608,55 +12638,55 @@
 7f
 1f
 51
-3e
+68
 d2
 06
 7f
 1d
 e1
-0b
+28
 d2
 01
 7f
 1e
 51
-3e
+68
 d2
 06
 7f
 1d
 e1
-0b
+28
 d2
 06
 7f
 10
 f1
-0b
+28
 d2
 06
 7f
 0f
 f1
-0b
+28
 d2
 06
 7f
 1f
 f1
-0b
+28
 d2
 06
 7f
 1e
 f1
-0b
+28
 d2
 06
 7f
 1d
 e1
-0b
+28
 90
 4c
 c7
@@ -12675,23 +12705,6 @@
 7f
 00
 22
-ef
-f4
-60
-0c
-7b
-01
-7a
-80
-79
-78
-a2
-02
-92
-00
-f1
-f4
-22
 90
 81
 2c
@@ -12702,12 +12715,12 @@
 22
 12
 31
-42
+3e
 12
 1f
-a6
+6f
 80
-af
+c0
 e4
 90
 4c
@@ -12719,103 +12732,6 @@
 f0
 22
 90
-4e
-f6
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-e4
-fe
-fd
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
-03
-fd
-30
-00
-22
-90
-4e
-f6
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-4f
-02
-03
-fc
-90
-4e
-f6
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5f
-02
-03
-fc
-90
 4c
 c0
 e0
@@ -12854,7 +12770,7 @@
 7f
 12
 16
-5b
+78
 90
 4c
 f2
@@ -12957,7 +12873,7 @@
 d3
 f0
 11
-6c
+18
 7f
 0d
 12
@@ -12971,7 +12887,7 @@
 22
 12
 12
-4f
+7a
 90
 4c
 e4
@@ -12986,15 +12902,15 @@
 e0
 04
 f0
-31
-52
+11
+fe
 12
 0d
 d0
 31
-63
+0f
 11
-b0
+5c
 90
 4c
 e9
@@ -13063,7 +12979,7 @@
 0a
 12
 15
-95
+b2
 12
 0f
 b2
@@ -13082,8 +12998,8 @@
 74
 05
 f0
-71
-3e
+51
+ea
 22
 90
 4c
@@ -13223,7 +13139,7 @@
 0a
 12
 15
-95
+b2
 7f
 0a
 12
@@ -13266,9 +13182,9 @@
 f0
 12
 14
-42
-71
-35
+6d
+51
+e1
 e4
 90
 4c
@@ -13325,7 +13241,7 @@
 8b
 12
 17
-99
+b7
 e4
 90
 4c
@@ -13382,7 +13298,7 @@
 f0
 12
 17
-99
+b7
 90
 4c
 c3
@@ -13402,9 +13318,9 @@
 87
 12
 14
-42
-71
-35
+6d
+51
+e1
 e4
 90
 4c
@@ -13417,8 +13333,8 @@
 20
 e5
 02
-61
-2f
+41
+db
 a3
 e0
 c3
@@ -13581,7 +13497,7 @@
 70
 02
 81
-fb
+a7
 90
 4c
 95
@@ -13761,7 +13677,7 @@
 f9
 f0
 81
-8a
+36
 90
 4c
 fa
@@ -14015,57 +13931,57 @@
 05
 b3
 1e
-8b
+54
 14
 1f
-5e
+27
 15
 1d
-a3
+4f
 27
-1f
-25
+1e
+ee
 29
-1d
-32
+1c
+de
 2f
 1d
-98
+44
 30
 1d
-da
+a3
 31
 1e
-4c
-32
-1d
+15
 32
+1c
+de
 33
 1e
-ff
+c8
 34
 1f
-3f
+08
 35
 1d
-d2
+9b
 37
 1d
-a3
+4f
 39
 1d
-da
+a3
 3c
 00
 00
 1f
-a5
+6e
 12
 17
-e2
+ef
 12
 31
-55
+51
 7b
 01
 7a
@@ -14082,7 +13998,7 @@
 7f
 12
 16
-5b
+78
 90
 4c
 c0
@@ -14104,12 +14020,12 @@
 f0
 12
 17
-27
+45
 7f
 0a
 12
 15
-95
+b2
 7b
 01
 7a
@@ -14126,7 +14042,7 @@
 7f
 12
 16
-5b
+78
 90
 4c
 f2
@@ -14161,12 +14077,12 @@
 f0
 02
 15
-ad
+ca
 12
 31
-42
+3e
 f1
-a6
+6f
 e4
 90
 4c
@@ -14183,14 +14099,14 @@
 50
 02
 e1
-a5
+6e
 e0
 94
 04
 40
 02
 e1
-a5
+6e
 e0
 75
 f0
@@ -14212,14 +14128,43 @@
 00
 12
 34
-f4
-90
-4c
-bf
-74
-03
 f0
-22
+7f
+c8
+12
+15
+b2
+c2
+01
+7f
+ff
+12
+12
+68
+7b
+01
+7a
+4d
+79
+ee
+7d
+5d
+7c
+00
+7f
+60
+7e
+7f
+12
+15
+04
+d2
+01
+7f
+ff
+02
+12
+68
 90
 4d
 d6
@@ -14239,7 +14184,7 @@
 f0
 12
 17
-ea
+f7
 e4
 90
 4c
@@ -14321,7 +14266,7 @@
 70
 02
 e1
-a5
+6e
 90
 4c
 bf
@@ -14330,9 +14275,9 @@
 f0
 12
 14
-42
-61
-35
+6d
+41
+e1
 90
 4c
 e5
@@ -14340,7 +14285,7 @@
 60
 02
 e1
-a5
+6e
 22
 e4
 90
@@ -14368,7 +14313,7 @@
 0b
 12
 17
-ea
+f7
 90
 4c
 ed
@@ -14396,7 +14341,7 @@
 70
 02
 e1
-a5
+6e
 90
 4d
 d6
@@ -14508,7 +14453,7 @@
 03
 12
 17
-60
+7e
 e4
 90
 4c
@@ -14532,7 +14477,7 @@
 f0
 12
 17
-ea
+f7
 e4
 90
 4c
@@ -14698,7 +14643,7 @@
 a3
 f0
 f1
-d0
+98
 e4
 90
 4f
@@ -14715,12 +14660,11 @@
 93
 ff
 60
-0d
+0c
 c2
 05
-12
-35
-33
+f1
+b5
 90
 4f
 05
@@ -14728,7 +14672,7 @@
 04
 f0
 80
-e8
+e9
 22
 e4
 90
@@ -14745,12 +14689,11 @@
 94
 08
 50
-0d
+0c
 c2
 05
-12
-35
-33
+f1
+b5
 90
 4f
 04
@@ -14758,7 +14701,57 @@
 04
 f0
 80
-e9
+ea
+22
+ac
+07
+ec
+f4
+60
+19
+af
+04
+a2
+05
+92
+03
+12
+35
+7e
+af
+04
+a2
+05
+b3
+92
+02
+f1
+d5
+af
+04
+c2
+04
+12
+35
+8f
+22
+ef
+f4
+60
+0d
+7b
+01
+7a
+80
+79
+78
+a2
+02
+92
+00
+12
+35
+1d
 22
 ad
 07
@@ -14840,7 +14833,7 @@
 40
 02
 61
-3a
+33
 90
 4e
 d8
@@ -14883,7 +14876,7 @@
 60
 02
 61
-32
+2b
 12
 03
 b6
@@ -14897,9 +14890,9 @@
 01
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 f2
@@ -14910,9 +14903,9 @@
 00
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -14949,9 +14942,9 @@
 b7
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 f4
@@ -14962,9 +14955,9 @@
 00
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -15001,9 +14994,9 @@
 b5
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 f6
@@ -15014,9 +15007,9 @@
 00
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -15053,9 +15046,9 @@
 e9
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 f8
@@ -15066,9 +15059,9 @@
 00
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -15106,9 +15099,9 @@
 0e
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 fa
@@ -15119,9 +15112,9 @@
 01
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -15159,9 +15152,9 @@
 0e
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 d0
@@ -15172,9 +15165,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -15213,9 +15206,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 d3
@@ -15226,9 +15219,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -15267,9 +15260,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 d4
@@ -15280,9 +15273,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -15321,9 +15314,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 d6
@@ -15334,9 +15327,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -15373,9 +15366,9 @@
 70
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 d8
@@ -15386,9 +15379,9 @@
 00
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -15425,7 +15418,7 @@
 b8
 12
 1f
-ee
+e7
 80
 7d
 eb
@@ -15438,7 +15431,7 @@
 00
 12
 1f
-ee
+e7
 80
 70
 90
@@ -15479,7 +15472,7 @@
 03
 12
 1f
-ee
+e7
 80
 47
 eb
@@ -15492,7 +15485,7 @@
 03
 12
 1f
-ee
+e7
 80
 3a
 90
@@ -15530,7 +15523,7 @@
 7f
 01
 11
-09
+02
 80
 14
 ee
@@ -15540,7 +15533,7 @@
 7f
 02
 11
-09
+02
 80
 0a
 12
@@ -15552,7 +15545,7 @@
 7f
 04
 11
-09
+02
 90
 4e
 4b
@@ -15603,7 +15596,7 @@
 04
 f0
 01
-33
+2c
 22
 90
 4d
@@ -15677,11 +15670,11 @@
 a3
 f0
 d1
-07
+00
 50
 25
 71
-ac
+a5
 90
 4e
 e4
@@ -15745,7 +15738,7 @@
 f0
 12
 2f
-e3
+dc
 7a
 4d
 79
@@ -15775,7 +15768,7 @@
 79
 bc
 d1
-4f
+48
 ef
 60
 16
@@ -15788,7 +15781,7 @@
 7d
 14
 d1
-1f
+18
 ef
 70
 09
@@ -15830,7 +15823,7 @@
 70
 02
 81
-dd
+d6
 74
 bc
 2f
@@ -15849,7 +15842,7 @@
 e0
 ff
 b1
-f9
+f2
 90
 4e
 92
@@ -15861,7 +15854,7 @@
 50
 02
 81
-c6
+bf
 e4
 90
 4e
@@ -15999,7 +15992,7 @@
 04
 f0
 81
-41
+3a
 90
 4e
 8b
@@ -16008,7 +16001,7 @@
 60
 08
 b1
-f9
+f2
 90
 4e
 8f
@@ -16022,7 +16015,7 @@
 04
 f0
 81
-10
+09
 90
 4e
 8f
@@ -16048,7 +16041,7 @@
 70
 02
 a1
-cd
+c6
 74
 93
 2f
@@ -16103,9 +16096,9 @@
 70
 04
 a1
-c5
+be
 a1
-c5
+be
 90
 4e
 91
@@ -16196,7 +16189,7 @@
 fd
 12
 28
-ff
+f8
 90
 4e
 90
@@ -16215,7 +16208,7 @@
 e0
 ff
 d1
-99
+92
 80
 07
 90
@@ -16224,7 +16217,7 @@
 e0
 ff
 d1
-ef
+e8
 90
 4e
 8b
@@ -16262,7 +16255,7 @@
 04
 f0
 81
-ea
+e3
 90
 4e
 4b
@@ -16748,7 +16741,7 @@
 03
 02
 28
-8f
+88
 90
 4e
 d7
@@ -16767,7 +16760,7 @@
 03
 02
 28
-d7
+d0
 90
 4e
 d4
@@ -16968,7 +16961,7 @@
 f0
 02
 27
-b9
+b2
 90
 4e
 d4
@@ -17163,7 +17156,7 @@
 60
 02
 21
-e8
+e1
 ed
 b4
 4c
@@ -17175,7 +17168,7 @@
 48
 f0
 21
-e8
+e1
 ed
 b4
 52
@@ -17321,7 +17314,7 @@
 60
 02
 61
-5b
+54
 90
 4d
 e2
@@ -17343,7 +17336,7 @@
 60
 02
 61
-5b
+54
 90
 4d
 e7
@@ -17353,7 +17346,7 @@
 60
 02
 61
-5b
+54
 ed
 24
 c6
@@ -17363,10 +17356,10 @@
 40
 02
 61
-5b
+54
 90
 2a
-28
+21
 75
 f0
 03
@@ -17380,40 +17373,40 @@
 73
 02
 2a
-4c
+45
 02
 2a
-63
+5c
 02
 2a
-ac
+a5
 02
 2a
-c9
+c2
 02
 2a
-e7
+e0
 02
 2b
-10
+09
 02
 2b
-2d
+26
 02
 2b
-35
+2e
 02
 2b
-3d
+36
 02
 2b
-45
+3e
 02
 2b
-4d
+46
 02
 2b
-55
+4e
 90
 4c
 c1
@@ -17428,7 +17421,7 @@
 44
 f0
 61
-5b
+54
 90
 4f
 03
@@ -17436,7 +17429,7 @@
 d6
 f0
 61
-5b
+54
 90
 4c
 c1
@@ -17451,7 +17444,7 @@
 7d
 04
 11
-da
+d3
 ee
 30
 e0
@@ -17475,7 +17468,7 @@
 7d
 01
 11
-da
+d3
 80
 19
 90
@@ -17492,7 +17485,7 @@
 7d
 08
 11
-da
+d3
 ee
 30
 e0
@@ -17509,7 +17502,7 @@
 03
 f0
 61
-5b
+54
 90
 4c
 c1
@@ -17523,7 +17516,7 @@
 d2
 f0
 61
-5b
+54
 af
 06
 7b
@@ -17531,14 +17524,14 @@
 7d
 08
 11
-da
+d3
 e4
 90
 4f
 03
 f0
 61
-5b
+54
 90
 4c
 c1
@@ -17553,7 +17546,7 @@
 7d
 08
 11
-da
+d3
 e4
 90
 4f
@@ -17582,7 +17575,7 @@
 7d
 08
 11
-da
+d3
 80
 08
 af
@@ -17592,7 +17585,7 @@
 7d
 01
 11
-da
+d3
 ee
 30
 e0
@@ -17631,7 +17624,7 @@
 7d
 0a
 11
-da
+d3
 e4
 90
 4f
@@ -17781,7 +17774,7 @@
 b0
 12
 35
-a3
+df
 90
 81
 1c
@@ -17799,31 +17792,31 @@
 e4
 ff
 71
-fa
+f3
 7f
 01
 71
-fa
+f3
 7f
 02
 71
-fa
+f3
 7f
 03
 71
-fa
+f3
 7f
 04
 71
-fa
+f3
 7f
 05
 71
-fa
+f3
 7f
 06
 71
-fa
+f3
 7f
 07
 80
@@ -17850,7 +17843,7 @@
 ef
 f0
 f1
-61
+5a
 92
 08
 90
@@ -17868,7 +17861,7 @@
 70
 02
 81
-98
+91
 ef
 54
 07
@@ -18004,18 +17997,18 @@
 f0
 22
 f1
-4e
+47
 91
-f5
+ee
 12
 0d
 4c
 12
 14
-42
+6d
 12
 13
-42
+6d
 90
 4d
 7d
@@ -18023,7 +18016,7 @@
 60
 02
 f1
-b4
+ad
 90
 0b
 7e
@@ -18036,12 +18029,12 @@
 70
 e2
 71
-61
+5a
 12
 17
-99
+b7
 91
-e7
+e0
 80
 fe
 90
@@ -18069,13 +18062,13 @@
 60
 04
 f1
-a8
+a1
 80
 bd
 71
-61
+5a
 91
-e7
+e0
 80
 b7
 80
@@ -18094,7 +18087,7 @@
 01
 02
 15
-95
+b2
 7a
 0c
 79
@@ -18134,7 +18127,7 @@
 70
 02
 c1
-a4
+9d
 7e
 0c
 7f
@@ -18142,7 +18135,7 @@
 7d
 03
 d1
-fe
+f7
 90
 4e
 ed
@@ -18202,7 +18195,7 @@
 05
 dd
 c1
-a4
+9d
 90
 4e
 ed
@@ -18251,7 +18244,7 @@
 14
 fd
 d1
-fe
+f7
 90
 4e
 ed
@@ -18309,7 +18302,7 @@
 05
 dd
 c1
-a4
+9d
 90
 4e
 ed
@@ -18358,7 +18351,7 @@
 14
 fd
 d1
-fe
+f7
 90
 4e
 ed
@@ -18465,7 +18458,7 @@
 14
 fd
 d1
-fe
+f7
 90
 4e
 ed
@@ -18785,7 +18778,7 @@
 ff
 22
 81
-99
+92
 90
 0b
 7f
@@ -18800,7 +18793,7 @@
 22
 12
 17
-99
+b7
 90
 4b
 ef
@@ -18862,8 +18855,11 @@
 06
 81
 93
-60
-7d
+70
+03
+02
+30
+6f
 ef
 93
 fd
@@ -18988,7 +18984,7 @@
 0f
 02
 2f
-ef
+e8
 e4
 ff
 ef
@@ -19121,7 +19117,7 @@
 f0
 0f
 01
-75
+71
 e4
 ff
 ef
@@ -19219,7 +19215,7 @@
 0b
 97
 31
-8a
+86
 90
 4c
 eb
@@ -19617,7 +19613,7 @@
 f0
 12
 17
-27
+45
 90
 4c
 e5
@@ -19626,7 +19622,7 @@
 46
 12
 17
-60
+7e
 80
 41
 90
@@ -19666,7 +19662,7 @@
 1d
 12
 12
-3e
+68
 80
 10
 d2
@@ -19675,7 +19671,7 @@
 1d
 12
 12
-3e
+68
 80
 07
 d2
@@ -19684,7 +19680,7 @@
 1d
 12
 12
-3e
+68
 90
 4c
 e2
@@ -20046,7 +20042,7 @@
 79
 86
 91
-15
+11
 90
 0b
 83
@@ -20141,7 +20137,7 @@
 f0
 02
 17
-da
+e7
 90
 4e
 f3
@@ -20187,10 +20183,107 @@
 80
 df
 22
+90
+4e
+f6
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+e4
+fe
+fd
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
+03
+fd
+30
+00
+22
+90
+4e
+f6
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+03
+b6
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+4f
+02
+03
+fc
+90
+4e
+f6
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+03
+b6
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5f
+02
+03
+fc
 ef
 f4
 60
-0d
+0c
 7b
 01
 7a
@@ -20201,45 +20294,13 @@
 03
 92
 00
-12
-17
-f4
-22
-ac
-07
-ec
-f4
-60
-18
-af
-04
-a2
-05
-92
-03
-b1
-21
-af
-04
-a2
-05
-b3
-92
-02
-12
-17
-c9
-af
-04
-c2
-04
 b1
-52
+1d
 22
 ef
 f4
 60
-0d
+0c
 7b
 01
 7a
@@ -20250,9 +20311,8 @@
 04
 92
 00
-12
-17
-f4
+b1
+1d
 22
 ef
 f4
@@ -20369,8 +20429,8 @@
 04
 cf
 22
-02
-00
+fb
+62
 aa
 55
 40
@@ -21744,68 +21804,8 @@
 6c
 59
 50
-d2
-2e
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+9d
+ce
 ff
 ff
 ff
@@ -32764,5 +32764,5 @@
 ff
 ff
 ff
-6f
-7d
+13
+f4
Index: c51/output/fw.hex
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/fw.hex	(revision 334)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/fw.hex	(working copy)
@@ -92,7 +92,7 @@
 :1005B00082C822D083D082F8E493701274019370C1
 :1005C0000DA3A393F8740193F5828883E4737402F6
 :1005D000936860EFA3A3A380DF8A838982E47378A2
-:1005E0007FE4F6D8FD7581CF020626022FA6E4939C
+:1005E0007FE4F6D8FD7581CF020626022F9FE493A3
 :1005F000A3F8E493A34003F68001F208DFF4802916
 :10060000E493A3F85407240CC8C333C4540F442004
 :10061000C8834004F456800146F6DFE4800B0102F3
@@ -101,7 +101,7 @@
 :1006400054C025E060A840B8E493A3FAE493A3F86B
 :10065000E493A3C8C582C8CAC583CAF0A3C8C5822B
 :10066000C8CAC583CADFE9DEE780BE524E56FF1C0A
-:10067000FC000000FF18EFFF32AC000000FF329CCE
+:10067000A8000000FF189BFF32A8000000FF32987E
 :10068000001A08090A0B0C0D0E181917151413116E
 :10069000161B1C0000004C000000E400E03E142B80
 :1006A00004291DEF351E1A3916641B8A3A1F083CAF
@@ -143,7 +143,7 @@
 :1008E000502C904EC5E0FBA3E0FAA3E02401F9E40C
 :1008F0003AFA7E00E92FF9EE3AFA1203B6B47F060F
 :10090000904DE27401F0904EC9E004F080CA904E20
-:10091000C5E0FBA3E0FAA3E0F9122799EF600261BA
+:10091000C5E0FBA3E0FAA3E0F9122792EF600261C1
 :100920006A904EC5E0A3E0FAA3E04A7002616A90C3
 :100930004D7DE06008E4F0904D467403F0904CC7A4
 :10094000E0B404069042137403F0904DE6740AF08C
@@ -159,7 +159,7 @@
 :1009E0002FF9EE3AFA1203B6FF64396009EF645347
 :1009F0006004EFB44706904D467403F0904EC9E092
 :100A000004F080BF904EC5E0FBA3E0FAA3E0F9122A
-:100A10002024904E4BE0B401117402F0904E4CF043
+:100A1000201D904E4BE0B401117402F0904E4CF04A
 :100A20007B017A4E794C7D038130904E4BE0B404CB
 :100A3000137402F0904E4C7406F07B017A4E794CA0
 :100A40007D038130904E4BE06403600BE0640270E4
@@ -211,7 +211,7 @@
 :100D20007D097C00716B9048007401F0A3E0FF9096
 :100D30004EF9E0FEEF4E904801F0904EFAE09048F8
 :100D400003F07B017A4879007D098130904CF4E012
-:100D5000FF600864036004EFB40503022379904C3C
+:100D5000FF600864036004EFB40503022372904C43
 :100D6000F4E0B4010EA3E0FFE4FDB112904CF47482
 :100D700002F022904CF4E0B4020B7403F0A3E0FF05
 :100D8000A3E0FD808D904CF4E0B40427E4904CF691
@@ -231,8 +231,8 @@
 :100E600010701E7B017A4879007D09FC716BE4905B
 :100E70004E4BF090480004F0FB7A4879007D0991D0
 :100E800030C3904CE4E094B0904CE3E094044039DB
-:100E9000022FB4904CC5E0B40112C3904CE4E0942E
-:100EA00078904CE3E094004020022FB4C3904CE4CF
+:100E9000022FAD904CC5E0B40112C3904CE4E09435
+:100EA00078904CE3E094004020022FADC3904CE4D6
 :100EB000E09414904CE3E09400400E904DE5E06027
 :100EC00006E4F07F0ED1CAF1B222904EE0EFF07846
 :100ED000E17C4E7D017BFF7A0779347E007F03122F
@@ -240,7 +240,7 @@
 :100EF0007D03904EB9EBF0A3EAF0A3E9F0A3EDF087
 :100F0000904B9CE0FFA3E0904EBDCFF0A3EFF0909C
 :100F10004B9AE0FEA3E0FF904B9CE0FCA3E0FD7B3E
-:100F2000641233A1904EBCE0FEEFC39E40E1904EB0
+:100F20006412339D904EBCE0FEEFC39E40E1904EB4
 :100F3000BCE0FF14F0EF603F904EB9E0FBA3E47516
 :100F4000F001120424A9F0FA1203B6FF904EBDE49A
 :100F500075F00112042485F082F583EFF0904EBD08
@@ -263,601 +263,605 @@
 :10106000C39401400AEFD394035004118B80167F80
 :1010700009118B904F017401F0800AE4904CEBF061
 :10108000904F0104F0904F01E0FF22904F02EFF0EB
-:1010900014B40D00400241389010A675F003A4C5A9
+:1010900014B40D00400241629010A675F003A4C57F
 :1010A0008325F0C583730210CD0210CD0210CD024E
-:1010B000123802111402115602115F02118002113E
-:1010C000800211E702123802123802110F904CC54B
+:1010B000126202111402115602115F0211AA0211EA
+:1010C000AA02121102126202126202110F904CC5A2
 :1010D000E0FF64036004EFB4020E7F22120ECA9098
 :1010E0004F02E0904CEDF022904F02E014904DD66C
 :1010F000F09042137405F0904CF0F07F04120ECA89
-:101100007F0AB1957F2A120ECAE4904CEDF0227F3F
+:101100007F0AB1B27F2A120ECAE4904CEDF0227F22
 :101110000E020ECAE4904CF0F0120F87EF700BF144
-:10112000B7EF7006121855EF600F904F02E0904C29
-:10113000EDF0904DEC7403F022F1EAE4904DD4F020
-:10114000904DD3F0904E55F012186C7F0D120ECAD0
+:10112000D5EF7006121801EF600F904F02E0904C5F
+:10113000EDF0904DEC7403F022F1F7E4904DD4F013
+:10114000904DD3F0904E55F01218187F0D120ECA24
 :10115000E4904CEDF022120F87E4904CEDF0227BEE
-:10116000017A4D79EE7D5D7C001234F4904CC074B0
-:10117000FFF0A3F0904CBF7403F0E4904CEDF0222C
-:10118000E4904CF0F0F1B7EF6009904F02E0904C22
-:10119000EDF0227B017A4C79007D047C007F527E49
-:1011A0007FD15B7F0AB195E4904E55F0904C00E002
-:1011B000F47021A3E0B4FF1CA3E0B4FF17A3E0B4D4
-:1011C000FF12904C00740FF0A3F0A3F0A3F0904E28
-:1011D000557401F07F21120ECA904CC57402F0E4E0
-:1011E000A3F0904CEDF022E4904CF0F0120F87EF5A
-:1011F0007005F1B7EF6009904F02E0904CEDF022DE
-:10120000904CC5E06401602AE4904E55F07F2312B3
-:101210000ECA904CC57401F0E4A3F0904CEE74F04B
-:10122000F0D2017F1E513ED2017F1D513EE4904C11
-:10123000E9F0E4904CEDF022E4904CEDF022EFF474
-:10124000600C7B017A807974A2019200F1F4229003
-:101250004DEBE0640260026125904CE9E06048904B
-:101260004CCCE06401602C904CC3E0B401067F1FBD
-:1012700071268041904CC3E0B402067F1E71268027
-:1012800034904CC3E06403702C7F1F71267F1D7166
-:10129000268022D2017F1F513ED2017F1E513ED2B5
-:1012A000017F1D513E800E904CEEE060087F1E7164
-:1012B000267F1D7126120FF8EF606A904CE6E06001
-:1012C0001614F0C2017F10513E904CE6E0700ED231
-:1012D000017F10513E8006D2017F10513E904CE7B5
-:1012E000E0601614F0C2017F0F513E904CE7E070B1
-:1012F0000ED2017F0F513E8006D2017F0F513E90EA
-:101300004CE8E0602014F0904CE5E07018904CE25E
-:10131000E07012C2017F1D513E904CE8E07006D291
-:10132000017F1D513E22904F0BEFF07B017A8079B7
-:1013300074122F679209904F0BE0FFA209B392013C
-:10134000413E904DEBE0640260028141904CE9E047
-:101350006002813B904CEEE06002813B904CD5E016
-:10136000B40205120FB2802E904CD5E0B401149057
-:101370004CF7E07021904CE27418F0904CF7740137
-:10138000F08013904CF7E0B4010CE4F0904CE2F0E4
-:10139000D2017F1D513E120FF8EF7002812F904D48
-:1013A000E0E0FF904CB7E06F70028141E030E00E6A
-:1013B000904CE6740CF0C2017F10513E800BD201BC
-:1013C0007F10513EE4904CE6F0904CB7E030E10ED7
-:1013D000904CE7740CF0C2017F0F513E800BD2019C
-:1013E0007F0F513EE4904CE7F0904CB7E030E21AAA
-:1013F000904CE8740CF0904CE5E07025904CE2E0E5
-:10140000701FC2017F1D513E8017904CE5E0700CAB
-:10141000904CE2E07006D2017F1D513EE4904CE812
-:10142000F0E4904D46F0904CB7E0904DE0F022D2C1
-:10143000017F10513ED2017F0F413ED2017F1051FA
-:101440003E22904CBFE0700281E6904CE0E0FEA3AB
-:10145000E0FFC3904C96E09F904C95E09E50028137
-:10146000E6C2017FFF513E904CBFE0640270317BC9
-:10147000017A4C79007D04FC7F527E7F91E77B01ED
-:101480007A4C79C17D017C007F577E7F91E77B019B
-:101490007A4D79E77D017C007F567E7F91E780174A
-:1014A000904CBFE0B403107B017A4D79EE7D5D7CFA
-:1014B000007F607E7F91E77B017A4C79C07D017C63
-:1014C000007FBD7E7F91E77B017A4C79F27D027CC3
-:1014D000007FBE7E7F91E7D2017FFF513E7F0AB140
-:1014E00095E4904CBFF022904E93EEF0A3EFF0A362
-:1014F000ECF0A3EDF0A3EBF0A3EAF0A3E9F0904E3B
-:1015000095E07002A3E07002A194904E93E0FEA3D8
-:10151000E0FF440F2401FDE43EFCC3ED9FFFEC9E81
-:10152000FE904E9AF0A3EFF0904E95E0FCA3E0FD04
-:10153000D39FEC9E400A904E9AE0FEA3E0FF800409
-:10154000AE04AF05904E9AEEF0FCA3EFF0FDC39011
-:101550004E96E09DF0904E95E09CF0904E93E0FE0C
-:10156000A3E0FF904E97E0FBA3E0FAA3E0F912346A
-:10157000597F0AB195904E9AE0FEA3E0FF904E98F5
-:10158000EE8FF012040E904E94E02FF0904E93E008
-:101590003EF081FE22EFD394004011E4FDFC0DBD2E
-:1015A00000010CBC04F8BDA6F51F80E922904DEBAC
-:1015B0007402F07B017A4D79EE7D5D7C007F607E68
-:1015C0007FD15B7F0AB1957B017A4C79007D047CE9
-:1015D000007F527E7FD15B7F0AB1957B017A4D7986
-:1015E000E77D017C007F567E7FD15B7F0AB1957BD2
-:1015F000017A4C79C17D017C007F577E7FD15B7F72
-:101600000AB195904CC3E0FFD394035033EFC394D9
-:1016100001402DEF75F01FA424ECF582E4344DF564
-:1016200083E0904CC1F0904CC3E075F01FA424ED12
-:10163000F582E4344DF583E0904DE7F0118B8004A2
-:101640007F08118B904DE7E0D394014002E4F090C5
-:101650004CC1E0D394024002E4F022904ECFECF073
-:10166000A3EDF0A3EBF0A3EAF0A3E9F09080987467
-:1016700004F0A3E4F0900CAF74A0F0A3EEF0A3EF9D
-:10168000F0900CB274A1F07A0C79AF7E0C7FAF743D
-:10169000AFFC740CFFECFEEF90809AEEF0A3EFF03D
-:1016A000904ECFE0FCA3E0FAECFFEAFEEF90809EC4
-:1016B000EEF0A3EFF07A0B79837E0B7F837483FCCB
-:1016C000740BFFECFEEF90809CEEF0A3EFF09080A7
-:1016D000907402F090809CA3E020E707908090E057
-:1016E0004401F0908006E04404F0F1DA904ED1E03D
-:1016F000A3E0FAA3E0AE02FF7B017A0B7983904E60
-:10170000CFE0A3E0904EC4F002087DAC07ECF4609B
-:1017100015AF04D204123552AF04A2069201513E15
-:10172000AF04C202F1C922904CC3E0B40106C20169
-:101730007F1F413E904CC3E0B40206C2017F1E41B0
-:101740003E904CC3E0B4030CC2067F1FF10BC206EF
-:101750007F1D80B7C2017F1E513EC2067F1D80AB38
-:10176000904CC3E0B40106D2017F1F413E904CC3B0
-:10177000E0B40206D2017F1E413E904CC3E0B403A8
-:101780000CD2017F1F513ED2067F1DE10BD2017F9B
-:101790001E513ED2067F1DE10BD2067F10F10BD207
-:1017A000067F0FF10BD2067F1FF10BD2067F1EF1D1
-:1017B0000BD2067F1DE10B904CC7E0B402087F0EF0
-:1017C000120ECA7F01227F0022EFF4600C7B017AA7
-:1017D000807978A2029200F1F42290812CE030E529
-:1017E000F922123142121FA680AFE4904CF0F09023
-:1017F0004DE5F022904EF6EBF0A3EAF0A3E9F0E419
-:10180000FEFDEF5407FEEF1313135403FD300022C7
-:10181000904EF6E0FBA3E0FAA3E02DF9E43AFA12C9
-:1018200003B6FF7401A806088002C333D8FC4F0238
-:1018300003FC904EF6E0FBA3E0FAA3E02DF9E43AB6
-:10184000FA1203B6FF7401A806088002C333D8FC5D
-:10185000F45F0203FC904CC0E0FF64FE6003EF7095
-:10186000087F22120ECA7F01227F00227B017A4C60
-:1018700079F27D027C007FBE7E7F12165B904CF277
-:10188000E004F0A3E004F0904CF2E09044FAF09011
-:101890004CF3E09044FBF0904DD0E09044FCF0908D
-:1018A0004DD1E09044FDF0904DD2E09044FEF02206
-:1018B000904DECE06038E014F0E07032904CEDE0D8
-:1018C000B4052B9047F5E020E324E4904DD4F0904C
-:1018D0004CE974F0F0E4904CEEF0904E55F0904DE1
-:1018E000D3F0116C7F0D120ECAE4904CEDF0221271
-:1018F000124F904CE4E004F07006904CE3E004F0EA
-:101900003152120DD0316311B0904CE9E06024E403
-:10191000904CE3F0A3F0904CE9E014F0E0701490E8
-:101920004CC4E0904CC3F0904CC0F07F0D12108B73
-:10193000120FB2904CEEE06018E4904CE3F0A3F08C
-:10194000904CEEE014F0E070087F0A121595120F2B
-:10195000B222904CD3E0600A14F0E070057405F0F8
-:10196000713E22904CCEE030E13E904CD0E0C394EA
-:10197000FA5003E004F0904CD0E064B47037904D1E
-:10198000E3E004F0E0D394025007E4904CD0F08000
-:1019900024904DE3E0B4031D904DDC7401F0E4901D
-:1019A0004CD0F0120FB2800DE4904DE3F0904DDC7E
-:1019B000F0904CD0F0904CCEE030E439904CEA748A
-:1019C0000AF0904CD1E0C394FA5003E004F0904C3C
-:1019D000D1E06406704A904CC3E0FF600464FE707E
-:1019E0003FE4904CCDF0120F877F0A1215957F0AC5
-:1019F00012108B802B904CCDE06020E4F07F0D1214
-:101A0000108B904CEB7401F0904CC3E0904CC0F004
-:101A1000904CBF7401F01214427135E4904CD1F037
-:101A2000904CCEE030E349904CEA740AF0904CD2EE
-:101A3000E0C394FA5003E004F0904CD2E0640670E6
-:101A400067904CE974F0F0E4904CEEF07F051210D2
-:101A50008B121799E4904CCCF0904CEB04F0904C26
-:101A6000C0E0904CC4F0904CC3E0904CC0F0803883
-:101A7000904CCCE0602DE4F0904CC3E0FF904CC063
-:101A8000E06F601F904CEB7401F0121799904CC3FB
-:101A9000E0904CC0F0904CBF7401F0120F8712140C
-:101AA000427135E4904CD2F0904CCEE020E50261DA
-:101AB0002FA3E0C394FA5003E004F0904CCFE0640D
-:101AC000067071904DE8E0B40C08904CC17402F0BF
-:101AD000801B904DE8E0B41208904CC17401F08076
-:101AE0000C904DE8E0B41805E4904CC1F0904CE542
-:101AF000740AF0904CC3E0FF6003B4FE07904CBF43
-:101B00007402F022EFD39403502AEFC394014024CF
-:101B1000904CC1E0FF904CC3E075F01FA424ECF59D
-:101B200082E4344DF583EFF0904CBF7403F022E46F
-:101B3000904CCFF0229080107401F080FE22904EE5
-:101B4000CB12058200000000904C95E07002A3E0EB
-:101B5000700281FB904C95E0FEA3E0FF904CD4E036
-:101B6000FD04F0ED25E024D6F582E4344CF583EE57
-:101B7000F0A3EFF0904CD4E0C394044002E4F0E40E
-:101B8000904ECAF0904ECBE0F8A3E0F9A3E0FAA3A0
-:101B9000E0FB904ECAE025E024D6F582E4344CF513
-:101BA00083E0FEA3E0FFE4FCFDEB2FFFEA3EFEED49
-:101BB00039FDEC38FC904ECB120576904ECAE0040D
-:101BC000F0E0B404BF904ECBE0FCA3E0FDA3E0FE48
-:101BD000A3E0FFE47B04FAF9F81204C5904ECB129F
-:101BE0000576904CE0E0FEA3E0FFE4FCFD904ECBD8
-:101BF000E0F8A3E0F9A3E0FAA3E0FBD312056550F7
-:101C000007E4904CF9F0818A904CFAE0FEA3E0FFE3
-:101C1000E4FCFD904ECBE0F8A3E0F9A3E0FAA3E0EA
-:101C2000FBC31205654008904CF97464F0805B902A
-:101C30004CE0E0FEA3E0FFFBAA06E4904ECBE0FC04
-:101C4000A3E0FDA3E0FEA3E0C39BFFEE9AFEED94AC
-:101C500000FDEC9400FCE47B64FAF9F812043AC04D
-:101C600006C007904CE0E0FEA3E0FFC3904CFBE011
-:101C70009FFF904CFAE09EFEAB07FAE4F9F8D0071C
-:101C8000D0061204C5904CF9EFF0904CE0E0FEA3B2
-:101C9000E0FFC3904CD7E09F904CD6E09E50079059
-:101CA0004CD57402F022904CDEE0FEA3E0FFE4FC91
-:101CB000FD904ECBE0F8A3E0F9A3E0FAA3E0FBC36C
-:101CC000120565501C904CD57401F0904CFCE070EE
-:101CD0002A904D40F0A37448F0A37412F0E4A3F0EE
-:101CE00022E4904CD5F0904CFCE0700F904D40F009
-:101CF000A37448F0A3745DF0E4A3F022904F07EFC3
-:101D0000F01205B31E8B141F5E151DA3271F252976
-:101D10001D322F1D98301DDA311E4C321D32331EFC
-:101D2000FF341F3F351DD2371DA3391DDA3C00009B
-:101D30001FA51217E21231557B017A4C79C07D0143
-:101D40007C007FBD7E7F12165B904CC0E0D3940375
-:101D50004002E4F0904CC0E0904CC3F01217277F93
-:101D60000A1215957B017A4C79F27D027C007FBEC8
-:101D70007E7F12165B904CF2E0B4FF19A3E0B4FF33
-:101D800014904C93E0A3E0904CF2F0904C91E0A3BF
-:101D9000E0904CF3F00215AD123142F1A6E4904C04
-:101DA000FCF022904CC3E0D394005002E1A5E094F3
-:101DB000044002E1A5E075F01FA424CFF9744D356D
-:101DC000F0FA7B017D1F7C001234F4904CBF740349
-:101DD000F022904DD6E0FF020737904CC57403F017
-:101DE000E4A3F01217EAE4904CEEF0904CEBF09084
-:101DF0004CC074FEF0904CC3F0904D467403F090CC
-:101E00004DE6740AF0904F07E064317036904DE76C
-:101E1000F0904E55F0904CC1F0904CE5741EF0904F
-:101E20004BEBE0B40F12A3E0B40F0DA3E0B40F0826
-:101E3000A3E0640F7002E1A5904CBF7402F012148D
-:101E4000426135904CE5E06002E1A522E4904CC58A
-:101E5000F0A3F0904CE3F0A3F0904CEB04F0904C26
-:101E6000EDE0600B1217EA904CEDE0FF02108B9052
-:101E70004CECE0B40105E4F0020FB2904CF0E070DD
-:101E800002E1A5904DD6E0FF020737904CC77403DE
-:101E9000F0A37401F0E4A3F0A3F07F0E120ECA7F4A
-:101EA00002120ECA904CE9E06034E4904DE7F090E5
-:101EB0004CC1F0904CC3E075F01FA424ECF582E413
-:101EC000344DF583E4F0904DE7E0FF904CC3E075AE
-:101ED000F01FA424EDF582E4344DF583EFF0904D2E
-:101EE000E5E07006904DD47414F0904CE5E070037A
-:101EF000121760E4904CE9F0904CE3F0A3F02290CC
-:101F00004CC77404F0E4A3F01217EAE4904CEBF031
-:101F1000904DDB740AF0904CC3E0904CC0F0904CB4
-:101F2000BF7403F022904CC3E014FD7F011208033C
-:101F3000904CC3E0904CC0F0904CBF7403F02290E2
-:101F40004D3912058200000000E4904DD7F0904D0D
-:101F5000DE04F0904CC804F0904CC704F022904C82
-:101F6000C7E0904CCBF0E4904CC7F0A3F0904CEB62
-:101F700004F0E4904D3DF0904CECE0B40105E4F049
-:101F8000020FB2904CEDE06004FF02108B904CF019
-:101F9000E06008904DD6E0FF020737120FB2E490E0
-:101FA0004CE3F0A3F022908080E4F0A3F0A3F0F1E2
-:101FB000D0E4904F05F0F0904F05E090068193FF3C
-:101FC000600DC205123533904F05E004F080E82221
-:101FD000E4904F04F0F0904F04E0FFC39408500DDC
-:101FE000C205123533904F04E004F080E922AD07BA
-:101FF000AC06904E4BE06402600E7401F0904E4CC3
-:1020000004F0EFA3F0EEA3F022904E4BE0640260E8
-:10201000127404F0904DE97401F0904E4C7406F087
-:10202000A3EFF022904ED8EBF0A3EAF0A3E9F0E49E
-:10203000A3F0F0904EDBE0FFC394064002613A90BB
-:102040004ED8E0FBA3E0FAA3E02401F9E43AFA7EDB
-:1020500000E92FF9EE3AFA1203B6FF54F064F0608B
-:1020600009EF54D064D0600261321203B6FBB4F1C0
-:10207000097F837E01121FEE6107EBB4F2097FCD69
-:102080007E00121FEE6107904ED8E0FBA3E0FAA39A
-:10209000E02401F9E43AFAA3E07E0029F9EE3AFAE5
-:1020A0001203B6FBB4F3077FB7121FEE6107EBB460
-:1020B000F4097FB67E00121FEE6107904ED8E0FB58
-:1020C000A3E0FAA3E02401F9E43AFAA3E07E0029B0
-:1020D000F9EE3AFA1203B6FBB4F5077FB5121FEE1C
-:1020E0006107EBB4F6097FEA7E00121FEE610790EC
-:1020F0004ED8E0FBA3E0FAA3E02401F9E43AFAA306
-:10210000E07E0029F9EE3AFA1203B6FBB4F7077F36
-:10211000E9121FEE6107EBB4F8097FE27E00121F9F
-:10212000EE6107904ED8E0FBA3E0FAA3E02401F9AA
-:10213000E43AFAA3E07E0029F9EE3AFA1203B6FB7C
-:10214000B4F9087F940E121FEE6107EBB4FA097F11
-:102150008A7E01121FEE6107904ED8E0FBA3E0FAE1
-:10216000A3E02401F9E43AFAA3E07E0029F9EE3A6B
-:10217000FA1203B6FBB4FB087F920E121FEE610742
-:10218000EBB4D0097F2A7E02121FEE6107904ED871
-:10219000E0FBA3E0FAA3E02401F9E43AFAA3E07E2D
-:1021A0000029F9EE3AFA1203B6FBB4D1097F257E75
-:1021B00002121FEE6107EBB4D3097F267E02121FC5
-:1021C000EE6107904ED8E0FBA3E0FAA3E02401F90A
-:1021D000E43AFAA3E07E0029F9EE3AFA1203B6FBDC
-:1021E000B4D2097F247E02121FEE6107EBB4D4093A
-:1021F0007F277E02121FEE6107904ED8E0FBA3E01E
-:10220000FAA3E02401F9E43AFAA3E07E0029F9EE0A
-:102210003AFA1203B6FBB4D5097F217E02121FEEF3
-:102220006107EBB4D6097F237E02121FEE6107908F
-:102230004ED8E0FBA3E0FAA3E02401F9E43AFAA3C4
-:10224000E07E0029F9EE3AFA1203B6FBB4D7077F15
-:1022500070121FEE6107EBB4D8097F6F7E00121F6A
-:10226000EE6107904ED8E0FBA3E0FAA3E02401F969
-:10227000E43AFAA3E07E0029F9EE3AFA1203B6FB3B
-:10228000B4D9077FB8121FEE807DEBB4DA097F3036
-:102290007E00121FEE8070904ED8E0FBA3E0FAA300
-:1022A000E02401F9E43AFAA3E07E0029F9EE3AFAD3
-:1022B0001203B6FBB4DB097F067E03121FEE8047D4
-:1022C000EBB4DC097F077E03121FEE803A904ED8F4
-:1022D000E0FBA3E0FAA3E02401F9E43AFAA3E07EEC
-:1022E0000029F9EE3AFA1203B6FEB4DD067F0111B9
-:1022F000098014EEB4DE067F021109800A1203B6CB
-:10230000B4DF047F041109904E4BE0B40224904ED8
-:10231000D8E0FBA3E0FAA3E02401F9E43AFAA3E051
-:102320007E0029F9EE3AFA1203B6904DEDF0E41270
-:1023300003FC904EDBE004F0013322904D46E06058
-:1023400037904DDDE07031904CC5E0B4032A7B013D
-:102350007A4879007D097C00120B6BE4904E4BF0BB
-:1023600090480004F0904D46E0904802F07B017ADE
-:102370004879007D09120C3022904EE4E4F0A3F07D
-:10238000A3F0D107502571AC904EE4EBF0A3EAF036
-:10239000A3E9F04A7007904CB604F0809E904EE49A
-:1023A000E0FBA3E0FAA3E0F91208C022E4904E8813
-:1023B000F0A3F0A3F0A3F0A3F0A3F0A3F0A3F0A385
-:1023C000F0A3F0A3F0122FE37A4D79A8904EAE74EB
-:1023D00001F0A3744DF0A374A8F0A37414F07B0172
-:1023E0007A4D79BCD14FEF60167B017A4D79BC7D77
-:1023F00014D11FEF7009904CCEE04402F0800C9095
-:102400004CCEE054FDF0E4904CD0F0E4904E88F0D7
-:10241000904E88E0FF90068193700281DD74BC2F9E
-:10242000F582E4344DF583E0904E8BF0E0FFB1F996
-:10243000904E92EFF0C39402500281C6E4904E8910
-:10244000F0904E89E0FFC39408507B74017E00A891
-:1024500007088005C333CE33CED8F9FF904E8BE00A
-:10246000FDE4EF5D6058E4904E8AF0904E8AE0FF04
-:10247000900681936048904E88E0FEEF6E60379042
-:102480004E8AE024BCF582E4344DF583E0FD7C0007
-:10249000904E89E0FF74017E00A807088005C333D1
-:1024A000CE33CED8F9FFEE5CFEEF5D4E6008904E65
-:1024B000917401F08008904E8AE004F080AD904E57
-:1024C00089E004F08141904E8BE0FF6008B1F99003
-:1024D0004E8FE02FF0904E88E004F08110904E8FE8
-:1024E000E0904DE4F0E4904E88F0904E88E0FF904C
-:1024F0000681937002A1CD74932FF582E4344DF5DB
-:1025000083E0FE74BC2FF582E4344DF583E06E90D9
-:102510004E8BF0904E88E0FF24BCF582E4344DF5FC
-:1025200083E0904E8EF0904E8BE07004A1C5A1C563
-:10253000904E91E060077B007A0079002274BC2FF6
-:10254000F582E4344DF583E0FE74932FF582E43494
-:102550004DF583EEF0E4904E89F0904E89E0FFC394
-:102560009408505B904E8BE030E03C904E88E0FE4B
-:1025700033333354F8FEEF4E904E8DF0A3E0FF90CE
-:102580004E8DE090069693FD1228FF904E90EFF04E
-:10259000904E8EE030E009904E90E0FFD199800798
-:1025A000904E90E0FFD1EF904E8BE0FFC313F09080
-:1025B0004E8EE0FFC313F0904E89E004F0809B90B4
-:1025C0004E8C7401F0904E88E004F081EA904E4BFE
-:1025D000E0B4030A904DDFE0B401037402F0904EC2
-:1025E0008CE07007904DDFE0B402077B017A4E79F2
-:1025F000A4227B007A00790022E4FEEF6006145FDB
-:10260000FF0E80F7AF0622904B9CE0FEA3E0FF9008
-:102610004B9AE0B50607A3E0B50702D322C3229088
-:102620004EEAEBF0A3EAF0A3E9F0E4FFEFC39D501C
-:102630001B904EEAE0FBA3E0FAA3E0F98F827583DA
-:10264000001203CF60037F00220F80E07F01229001
-:102650004EABEBF0A3EAF0A3E9F0E4FF904EB1E05B
-:10266000FEEFC39E5030904EAEE0FBA3E0FAA3E035
-:10267000F98F827583001203CFFE904EABE0FBA36F
-:10268000E0FAA3E0F98F827583001203CF6E600336
-:102690007F00220F80C67F0122E4FEEFC394E0405A
-:1026A00020EFD394E7501A904EA4E0FEEF5407FFBA
-:1026B0007401A807088002C333D8FC4E904EA4F0E2
-:1026C00022E4FE74A52EF582E4344EF583E0FD6F1E
-:1026D000601CED7014904DEDE06F601274A52EF546
-:1026E00082E4344EF583EFF0220EEEB406D522E4F8
-:1026F000FEFDEF54F064F06007EF54D0FCBCD00C4A
-:10270000904E4BE0B4020B7403F08006904DDF74E2
-:1027100001F0EFC394E04021EFD394E7501B904EBB
-:10272000A4E0FEEF5407FF7401A807088002C3333A
-:10273000D8FCF45E904EA4F022E4FEED702174A566
-:102740002EF582E4344EF583E06F7047EEB4050B4E
-:1027500024A5F582E4344EF583E4F07D01803474E1
-:10276000A52EF582E4344EF583E0FC74A42EF582A8
-:10277000E4344EF583ECF074A52EF582E4344EF586
-:1027800083E06014EEB4050B24A5F582E4344EF525
-:1027900083E4F00EEEB406A322904ED4EBF0A3EA4D
-:1027A000F0A3E9F0E4FDA3F0904DE2E064016003E2
-:1027B00002288F904ED77405F0904ED7E0FE14F0AB
-:1027C000EE70030228D7904ED4E0FBA3E0FAA3E01A
-:1027D0002401F9E43AFAA3E07E0029F9EE3AFA126C
-:1027E00003B6FDC394244073EDD39427506DED24BC
-:1027F000DC24FD50046037805F904CEA740AF0904E
-:102800004CCEE04408F054EFF0ED24DDFF904CC3D3
-:10281000E0B50708904CC5E06403703C904CC3EFF2
-:10282000F0904CCC7401F0E4904CE5F0802A904C90
-:10283000EA740AF0904CCEE054F7F04410F0904C5B
-:10284000C3E0FF601364FE600F904CCD7401F0E4B0
-:10285000904CC3F0904CE5F07F0122904CCEE054B8
-:10286000E7F0ED64186009ED640C6004EDB4121536
-:10287000904CEA740AF0904DE8EDF0904CCEE044B4
-:1028800020F07F0122904CCEE054DFF00227B99077
-:102890004ED4E0FBA3E0FAA3E0F99000011203CFCD
-:1028A00064EF7029904CEA740AF0904CCEE054F733
-:1028B000F04410F0904CC3E0FF600F64FE600B909A
-:1028C0004CCD7401F0E4904CC3F07F0122904CCECB
-:1028D000E054E7F054DFF07F0022904CF5EDF0A3D8
-:1028E000EBF0EF30E012904CF4E0B403047402F02B
-:1028F00022904CF47401F022904CF47404F022AE57
-:1029000007E4904F03F0EE30E005E4904CF8F090CF
-:102910004F03EDF0904CC1E0602EEDB4E608904F0F
-:102920000374E7F08022EDB4E408904F0374E6F0FE
-:102930008016EDB4E308904F0374E2F0800AEDB422
-:10294000E206904F0374E3F0904DE2E06401600210
-:1029500021E8EDB44C08904F037448F021E8EDB441
-:102960005208904F0374D8F0807EEDB45108904F18
-:102970000374D7F08072EDB42808904F037447F0C9
-:102980008066EDB42A08904F0374DAF0805AED6443
-:10299000297055EE30E04C904DE7E06004E4F080A3
-:1029A00006904DE77401F0904CC3E0FF6003B4FE65
-:1029B00008904CBF7402F0802AEFD394035024EFA8
-:1029C000C39401401E904DE7E0FF904CC3E075F0CA
-:1029D0001FA424EDF582E4344DF583EFF0904CBF55
-:1029E0007403F0E4904F03F0904E55E06002615B99
-:1029F000904DE2E07006904DE7E06014904DE2E00B
-:102A000064016002615B904DE7E064016002615B1C
-:102A1000ED24C6B40C004002615B902A2875F003D7
-:102A2000A4C58325F0C58373022A4C022A63022AB7
-:102A3000AC022AC9022AE7022B10022B2D022B35E9
-:102A4000022B3D022B45022B4D022B55904CC1E031
-:102A5000B40108904F037444F0615B904F0374D647
-:102A6000F0615B904CC1E0FC7014AF067B2B7D04E1
-:102A700011DAEE30E02F904CF8740AF08027ECB4B5
-:102A8000010AAF067B527D0111DA8019904CC1E03A
-:102A9000B40212AF067B2B7D0811DAEE30E006900F
-:102AA0004CF8740AF0E4904F03F0615B904CC1E085
-:102AB0007008904F0374D2F0615BAF067B507D08C5
-:102AC00011DAE4904F03F0615B904CC1E0B4010F68
-:102AD000AF067B2C7D0811DAE4904F03F0807C90E8
-:102AE0004F0374D5F08074904CC1E0700AAF067B40
-:102AF0002C7D0811DA8008AF067B2C7D0111DAEEFF
-:102B000030E006904CF8740AF0E4904F03F0804BEC
-:102B1000904CC1E07008904F037446F0803DAF06C2
-:102B20007B207D0A11DAE4904F03F0802E904F0352
-:102B300074F4F08026904F0374F2F0801E904F03DF
-:102B400074F5F08016904F0374F8F0800E904F03E8
-:102B500074F6F08006904F0374F7F0904F03E0FF97
-:102B600022E4FF904F06F0FEFDEF9006819360494E
-:102B7000EF93FD131313541FFEED5407FD7401A8CA
-:102B800005088002C333D8FCFDEE2478FBE43480D2
-:102B90008B82F583E0FCEDF4FBEC5BF0EE2470F54A
-:102BA00082E43480F583E04DF0EE2474F582E43461
-:102BB00080F583E05BF00F80B01235A390811CE0BC
-:102BC000904F06F0904DDCE06020E4FF71FA7F0149
-:102BD00071FA7F0271FA7F0371FA7F0471FA7F053F
-:102BE00071FA7F0671FA7F078010904F06E0FF9020
-:102BF00000A3F0EFF49000A7F022904F0AEFF0F15D
-:102C0000619208904F0AE0FFA208B39207EFF470B8
-:102C1000028198EF5407FEEF1313135403FF30079C
-:102C20004324A3F582E43400F583C083C082E0FD31
-:102C30007401A806088002C333D8FCF45DD082D0AA
-:102C400083F074A72FF582E43400F583C083C0823B
-:102C5000E0FF7401A806088002C333D8FC4FD0827D
-:102C6000D083F02274A32FF582E43400F583C0836F
-:102C7000C082E0FD7401A806088002C333D8FCFCC2
-:102C80004DD082D083F074A72FF582E43400F58311
-:102C9000E0FFECF4FEEF5EF022F14E91F5120D4CE8
-:102CA000121442121342904D7DE06002F1B4900B79
-:102CB0007EE014600D24FE70E2716112179991E7B5
-:102CC00080FE904CEAE07012904CECE0700C904C5E
-:102CD000E5E07006904CF8E06004F1A880BD7161F9
-:102CE00091E780B780B522E4900B7FF0900B7EF0E7
-:102CF0007F010215957A0C794B904EED7401F0A38B
-:102D0000740CF0A3744BF0904BA0E0FEA3E0FF9096
-:102D10004B9EE06E7003A3E06F7002C1A47E0C7F37
-:102D20004B7D03D1FE904EEDE0FBA3E0FAA3E0F96A
-:102D30001203B6B4022B904EEEE475F00212040EAC
-:102D4000904EEDE0FBA3E0FAA3E0F91203B6FF908A
-:102D50004E68E0A3E0FAA3E0F5828A831205DDC1A4
-:102D6000A4904EEDE0FBA3E0FAA3E0F91203B664F1
-:102D7000047059904EEE75F00112040E7E0C7F4ED9
-:102D8000904EEDE0FBA3E0FAA3E0F91203B614FDC8
-:102D9000D1FE904EEDE0FBA3E0FAA3E02401F9E4BC
-:102DA0003AFAC002C001904EEDE0A3E0FAA3E0F9C8
-:102DB0001203B6FD7C00904E6BE0A3E0FAA3E0F5B1
-:102DC000828A83D001D0021205DDC1A4904EEDE0CD
-:102DD000FBA3E0FAA3E0F91203B664057059904E24
-:102DE000EE75F00112040E7E0C7F4E904EEDE0FB6E
-:102DF000A3E0FAA3E0F91203B614FDD1FE904EED64
-:102E0000E0FBA3E0FAA3E02401F9E43AFAC002C02F
-:102E100001904EEDE0A3E0FAA3E0F91203B6FD7CC9
-:102E200000904E74E0A3E0FAA3E0F5828A83D0011B
-:102E3000D0021205DD806D904EEDE0FBA3E0FAA319
-:102E4000E0F91203B664037059904EEE75F001126A
-:102E5000040E7E0C7F4E904EEDE0FBA3E0FAA3E063
-:102E6000F91203B614FDD1FE904EEDE0FBA3E0FA9B
-:102E7000A3E02401F9E43AFAC002C001904EEDE06B
-:102E8000A3E0FAA3E0F91203B6FD7C00904E77E0D0
-:102E9000A3E0FAA3E0F5828A83D001D0021205DD17
-:102EA000800280FE904BA5E0FEA3E0FF904C5EE028
-:102EB0006E7003A3E06F6022904E6EE0FBA3E0FA19
-:102EC000A3E0F94A60371205D9904BA5E0FFA3E0D3
-:102ED000904C5ECFF0A3EFF080CA904C8DE0FFA342
-:102EE000E06F6019904E71E0FBA3E0FAA3E0F94AAD
-:102EF000600B1205D9904C8DE0A3F080DD22904E3E
-:102F0000FDEEF0A3EFF0A905904B9EE0FEA3E0FFDD
-:102F1000AD0119ED602F0FEFAC0670010E14F582B4
-:102F20008C83E0FD904EFDE475F00112042485F0E1
-:102F300082F583EDF0AD07AC06BC4BD4BD9AD17ED3
-:102F40004B7F3680CB904B9EEEF0A3EFF0227B01BF
-:102F50007A4E795678687C4E7D017E007F1202039E
-:102F6000907B017A81791CAD07E4904F09F0FEEF68
-:102F70005407F0EF1313135403FEF5827583001208
-:102F800003CFFD3395E0FC904F09E0FF74017E0014
-:102F9000A807088005C333CE33CED8F9FFEE5CFE18
-:102FA000EF5D4E24FF228199900B7F7401F0E49035
-:102FB0000B7EF022121799904BEF74FFF0904CFCAF
-:102FC0007401F0E4904CE6F0A3F0A3F0904CB774D9
-:102FD000F0F0904DE0F0904D4074FFF0A3F0A3F0BE
-:102FE000A3F022E4FF904EE7F0FEFDA3F0A3F0EF84
-:102FF00090068193607DEF93FD131313541FFEED34
-:103000005407FD7401A805088002C333D8FCFDEE07
-:103010002478FBE434808B82F583E0FCEDF4FBEC58
-:103020005BF0EE2470F582E43480F583E04DF0EE41
-:103030002474F582E43480F583E05BF090811CE039
-:10304000F4FC74BC2FF582E4344DF583ECF0EE24EF
-:1030500078FBE434808B82F583E04DF0EE2470FB46
-:10306000E434808B82F583E0FCEDF4FBEC5BF00F45
-:10307000022FEFE4FFEF90068193607CEF93FD1346
-:103080001313541FFEED5407FD7401A805088002B8
-:10309000C333D8FCFDEE2478FBE434808B82F583C7
-:1030A000E0FCEDF4FBEC5BF0EE2470F582E43480A0
-:1030B000F583E04DF0EE2474F582E43480F583E08E
-:1030C0005BF090811CE0F4FC74A82FF582E4344D91
-:1030D000F583ECF0EE2478FBE434808B82F583E01A
-:1030E0004DF0EE2470FBE434808B82F583E0FCED40
-:1030F000F4FBEC5BF00F0175E4FFEF900681936049
-:103100004074BC2FF582E4344DF583E0FE74A82FA3
-:10311000F582E4344DF583E06E602374BC2FF582B4
-:10312000E4344DF583C083C082E0FE74A82FF5829D
-:10313000E4344DF583E0FDEE5DD082D083F00F8066
-:10314000B922908091740DF0A304F0A3F0A3F0A332
-:10315000F0A314F022120B97318A904CEB7401F01B
-:10316000904CE5741EF0E4904CF0F0904D0574FF27
-:10317000F09044FCE0904DD0F09044FDE0904DD1B3
-:10318000F09044FEE0904DD2F022904CD37405F0C4
-:10319000E4A3F0904C907433F0E4FFEF25E024D6E4
-:1031A000F582E4344CF5837462F0A3F00FEFB404BD
-:1031B000EA904C91E0FEA3E0FFC3904C94E09FFDA9
-:1031C000904C93E09EFCE41202067BF67A28791C70
-:1031D000783F1200FBC004C005C006C007904C91A8
-:1031E000E0FCA3E0FDE4120206D003D002D001D03F
-:1031F0000012000A12023F904CFAEEF0A3EFF0909A
-:103200004C91E0FEA3E0FFC3904C94E09FFD904CF6
-:1032100093E09EFCE41202067BC37AF579A8783E1F
-:103220001200FBC004C005C006C007904C91E0FC32
-:10323000A3E0FDE4120206D003D002D001D00012B8
-:10324000000A12023F904CDEEEF0A3EFF0904C919A
-:10325000E0FEA3E0FFC3904C94E09FFD904C93E010
-:103260009EFCE41202067B5C7A8F7942783E120063
-:10327000FBC004C005C006C007904C91E0FCA3E071
-:10328000FDE4120206D003D002D001D00012000AE1
-:1032900012023F904CE0EEF0A3EFF022904EFBEDD7
-:1032A000F09000011203CF904EFCF022904CEAE027
-:1032B000600214F0904CEFE0600214F0904CF8E0E3
-:1032C000600B14F0E07006904CF47406F0904CE53E
-:1032D000E06020904CEEE06006E4904CE5F0229037
-:1032E0004CE5E014F0121727904CE5E070461217F9
-:1032F000608041904CE9E0703B904CEEE07035907E
-:103300004CE2E0602F14F0E0FFC394085016EF3059
-:10331000E109C2017F1D12123E8010D2017F1D12F1
-:10332000123E8007D2017F1D12123E904CE2E070E7
-:10333000037418F0904DDCE07036904DDDE06401D0
-:10334000702E904CE3F0A3F0904DDDF0904E4CE0E9
-:10335000600D7B017A4E794C7D03120C3080119008
-:103360004800E0600B7B017A4879007D09120C303F
-:10337000904DD4E06011E014F0E0700B904D3DE012
-:1033800070057F1B120ECA904DE6E06013E014F04A
-:10339000E0700D904CC7E0B40406904213740CF03A
-:1033A00022904EDCEEF0A3EFF0904EDEECF0A3EDB9
-:1033B000F0904EDEE0FEA3E0FFD3904EDDE09F9064
-:1033C0004EDCE09E4016904EDEE0FEA3E0FF904E05
-:1033D000DDE09FFF904EDCE09EFE801E904EDCE024
-:1033E000FEA3E0FFC3904EDFE09FFF904EDEE09E25
-:1033F000FEAD03C3EB9FFFE49EFE22900BE7740338
-:10340000F0ED6003120FBB22900446E0FF22908291
-:10341000807401F022904E9CEBF0A3EAF0A3E9F057
-:10342000904EA274FFF5F012042445F0602A904EED
-:103430009FE0FBA3E475F001120424A9F0FA120343
-:10344000B6FF904E9CE0FBA3E475F001120424A9A2
-:10345000F0FAEF1203FC80C822904EB2EEF0A3EF18
-:10346000F0904EB6EBF0A3EAF0A3E9F0904EB4EC86
-:10347000F0A3EDF0A3E0F9A3E0FAA3E0904E9FC91A
-:10348000F0A3EAF0A3E9F0A3ECF0A3EDF07B017A5E
-:103490000B79869115900B8374A0F0904EB2E0FFEB
-:1034A000A3E0900B84CFF0A3EFF0904EB5E024039F
-:1034B000FD904EB4E03400FCEDFAECFFEAFEEF9034
-:1034C0008098EEF0A3EFF07A0B79837E0B7F837404
-:1034D00083FC740BFFECFEEFA3EEF0A3EFF0908003
-:1034E0009EE4F0A3F090809004F0908006E0440405
-:1034F000F00217DA904EF3EBF0A3EAF0A3E9F0ED57
-:103500001DAE0470011C4E6017904EF3E0FBA3E467
-:1035100075F001120424A9F0FA74FF1203FC80DF95
-:1035200022EFF4600D7B017A80797CA20392001275
-:1035300017F422AC07ECF46018AF04A2059203B1B3
-:1035400021AF04A205B392021217C9AF04C204B19D
-:103550005222EFF4600D7B017A807970A204920010
-:103560001217F422EFF4603AEF5407FEEF1313132F
-:103570005403FF24A3F582E43400F583C083C082A2
-:10358000E0FD7401A806088002C333D8FCF4FC5D9A
-:10359000D082D083F074A72FF582E43400F583E065
-:1035A0005CF022E4FFEFFD7C002478FBEC34808BA0
-:1035B00082F583E0FEED2470FDEC34808D82F5838E
-:1035C000E04EF4FEEF247CFDEC34808D82F583EE3A
-:0735D000F00FEFB404CF225D
+:10116000017A4D79EE7D5D7C001234F0904CC074B4
+:10117000FFF0A3F07FC8B1B2C2017FFF51687B01CD
+:101180007A4D79EE7D5D7C007F607E7FB1047B01CE
+:101190007A4C79C07D017C007FBD7E7FB104D20195
+:1011A0007FFF5168E4904CEDF022E4904CF0F0F1B8
+:1011B000D5EF6009904F02E0904CEDF0227B017A70
+:1011C0004C79007D047C007F527E7FD1787F0AB10C
+:1011D000B2E4904E55F0904C00E0F47021A3E0B4DE
+:1011E000FF1CA3E0B4FF17A3E0B4FF12904C0074FF
+:1011F0000FF0A3F0A3F0A3F0904E557401F07F21FF
+:10120000120ECA904CC57402F0E4A3F0904CEDF0BD
+:1012100022E4904CF0F0120F87EF7005F1D5EF60EB
+:1012200009904F02E0904CEDF022904CC5E0640133
+:10123000602AE4904E55F07F23120ECA904CC5747C
+:1012400001F0E4A3F0904CEE74F0F0D2017F1E5157
+:1012500068D2017F1D5168E4904CE9F0E4904CEDB8
+:10126000F022E4904CEDF022EFF4600D7B017A80E7
+:101270007974A201920012351D22904DEBE06402B8
+:1012800060026150904CE9E06048904CCCE0640111
+:10129000602C904CC3E0B401067F1F7151804190D7
+:1012A0004CC3E0B402067F1E71518034904CC3E001
+:1012B0006403702C7F1F71517F1D71518022D201F8
+:1012C0007F1F5168D2017F1E5168D2017F1D516876
+:1012D000800E904CEEE060087F1E71517F1D7151B1
+:1012E000120FF8EF606A904CE6E0601614F0C2014D
+:1012F0007F105168904CE6E0700ED2017F1051686B
+:101300008006D2017F105168904CE7E0601614F01F
+:10131000C2017F0F5168904CE7E0700ED2017F0F41
+:1013200051688006D2017F0F5168904CE8E0602040
+:1013300014F0904CE5E07018904CE2E07012C2019D
+:101340007F1D5168904CE8E07006D2017F1D516806
+:1013500022904F0BEFF07B017A807974122F60920C
+:1013600009904F0BE0FFA209B392014168904DEB49
+:10137000E064026002816C904CE9E060028166905A
+:101380004CEEE060028166904CD5E0B40205120F8D
+:10139000B2802E904CD5E0B40114904CF7E070214F
+:1013A000904CE27418F0904CF77401F08013904C5C
+:1013B000F7E0B4010CE4F0904CE2F0D2017F1D5153
+:1013C00068120FF8EF7002815A904DE0E0FF904CE8
+:1013D000B7E06F7002816CE030E00E904CE6740C68
+:1013E000F0C2017F105168800BD2017F105168E478
+:1013F000904CE6F0904CB7E030E10E904CE7740C66
+:10140000F0C2017F0F5168800BD2017F0F5168E459
+:10141000904CE7F0904CB7E030E21A904CE8740C36
+:10142000F0904CE5E07025904CE2E0701FC2017F27
+:101430001D51688017904CE5E0700C904CE2E07014
+:1014400006D2017F1D5168E4904CE8F0E4904D46CF
+:10145000F0904CB7E0904DE0F022D2017F1051683F
+:10146000D2017F0F4168D2017F10516822904CBF9A
+:10147000E0FF7002A103640160047FC8B1B2C20141
+:101480007FFF5168904CBFE0640270317B017A4C61
+:1014900079007D04FC7F527E7FB1047B017A4C7918
+:1014A000C17D017C007F577E7FB1047B017A4D793D
+:1014B000E77D017C007F567E7FB1048017904CBF92
+:1014C000E0B403107B017A4D79EE7D5D7C007F6096
+:1014D0007E7FB1047B017A4C79C07D017C007FBDA9
+:1014E0007E7FB1047B017A4C79F27D027C007FBE65
+:1014F0007E7FB104D2017FFF51687F0AB1B2E490D0
+:101500004CBFF022904E93EEF0A3EFF0A3ECF0A3CB
+:10151000EDF0A3EBF0A3EAF0A3E9F0904E95E070B4
+:1015200002A3E07002A1B1904E93E0FEA3E0FF445D
+:101530000F2401FDE43EFCC3ED9FFFEC9EFE904EA8
+:101540009AF0A3EFF0904E95E0FCA3E0FDD39FEC62
+:101550009E400A904E9AE0FEA3E0FF8004AE04AFE6
+:1015600005904E9AEEF0FCA3EFF0FDC3904E96E08E
+:101570009DF0904E95E09CF0904E93E0FEA3E0FF2E
+:10158000904E97E0FBA3E0FAA3E0F91234557F0AEE
+:10159000B1B2904E9AE0FEA3E0FF904E98EE8FF02D
+:1015A00012040E904E94E02FF0904E93E03EF0A186
+:1015B0001B22EFD394004011E4FDFC0DBD00010C93
+:1015C000BC04F8BDA6F51F80E922904DEB7402F033
+:1015D0007B017A4D79EE7D5D7C007F607E7FD178E6
+:1015E0007F0AB1B27B017A4C79007D047C007F5286
+:1015F0007E7FD1787F0AB1B27B017A4D79E77D0198
+:101600007C007F567E7FD1787F0AB1B27B017A4C15
+:1016100079C17D017C007F577E7FD1787F0AB1B28E
+:10162000904CC3E0FFD394035033EFC39401402D9B
+:10163000EF75F01FA424ECF582E4344DF583E090BF
+:101640004CC1F0904CC3E075F01FA424EDF582E48A
+:10165000344DF583E0904DE7F0118B80047F081145
+:101660008B904DE7E0D394014002E4F0904CC1E050
+:10167000D394024002E4F022904ECFECF0A3EDF0C0
+:10168000A3EBF0A3EAF0A3E9F09080987404F0A330
+:10169000E4F0900CAF74A0F0A3EEF0A3EFF0900C88
+:1016A000B274A1F07A0C79AF7E0C7FAF74AFFC748A
+:1016B0000CFFECFEEF90809AEEF0A3EFF0904ECF8F
+:1016C000E0FCA3E0FAECFFEAFEEF90809EEEF0A3D0
+:1016D000EFF07A0B79837E0B7F837483FC740BFFAE
+:1016E000ECFEEF90809CEEF0A3EFF09080907402FF
+:1016F000F090809CA3E020E707908090E04401F008
+:10170000908006E04404F0F1E7904ED1E0A3E0FAC7
+:10171000A3E0AE02FF7B017A0B7983904ECFE0A36A
+:10172000E0904EC4F002087DAC07ECF46016AF0404
+:10173000D20412358FAF04A20692015168AF04C2E1
+:1017400002121FD522904CC3E0B40106C2017F1FD4
+:101750004168904CC3E0B40206C2017F1E4168900C
+:101760004CC3E0B4030CC2067F1FF128C2067F1DE4
+:1017700080B6C2017F1E5168C2067F1D80AA904CB0
+:10178000C3E0B40106D2017F1F4168904CC3E0B4AE
+:101790000206D2017F1E4168904CC3E0B4030CD214
+:1017A000017F1F5168D2067F1DE128D2017F1E51A3
+:1017B00068D2067F1DE128D2067F10F128D2067F6D
+:1017C0000FF128D2067F1FF128D2067F1EF128D202
+:1017D000067F1DE128904CC7E0B402087F0E120E70
+:1017E000CA7F01227F002290812CE030E5F922128D
+:1017F000313E121F6F80C0E4904CF0F0904DE5F048
+:1018000022904CC0E0FF64FE6003EF70087F22125C
+:101810000ECA7F01227F00227B017A4C79F27D0281
+:101820007C007FBE7E7F121678904CF2E004F0A31D
+:10183000E004F0904CF2E09044FAF0904CF3E09029
+:1018400044FBF0904DD0E09044FCF0904DD1E090FE
+:1018500044FDF0904DD2E09044FEF022904DECE03B
+:101860006038E014F0E07032904CEDE0B4052B905D
+:1018700047F5E020E324E4904DD4F0904CE974F077
+:10188000F0E4904CEEF0904E55F0904DD3F01118DE
+:101890007F0D120ECAE4904CEDF02212127A904C99
+:1018A000E4E004F07006904CE3E004F011FE120D49
+:1018B000D0310F115C904CE9E06024E4904CE3F0EF
+:1018C000A3F0904CE9E014F0E07014904CC4E09068
+:1018D0004CC3F0904CC0F07F0D12108B120FB290E1
+:1018E0004CEEE06018E4904CE3F0A3F0904CEEE096
+:1018F00014F0E070087F0A1215B2120FB222904C59
+:10190000D3E0600A14F0E070057405F051EA22900B
+:101910004CCEE030E13E904CD0E0C394FA5003E06E
+:1019200004F0904CD0E064B47037904DE3E004F0E4
+:10193000E0D394025007E4904CD0F08024904DE323
+:10194000E0B4031D904DDC7401F0E4904CD0F01233
+:101950000FB2800DE4904DE3F0904DDCF0904CD050
+:10196000F0904CCEE030E439904CEA740AF0904CA0
+:10197000D1E0C394FA5003E004F0904CD1E0640647
+:10198000704A904CC3E0FF600464FE703FE4904CEA
+:10199000CDF0120F877F0A1215B27F0A12108B80CA
+:1019A0002B904CCDE06020E4F07F0D12108B904C1A
+:1019B000EB7401F0904CC3E0904CC0F0904CBF74BD
+:1019C00001F012146D51E1E4904CD1F0904CCEE056
+:1019D00030E349904CEA740AF0904CD2E0C394FA98
+:1019E0005003E004F0904CD2E064067067904CE93C
+:1019F00074F0F0E4904CEEF07F0512108B1217B7E4
+:101A0000E4904CCCF0904CEB04F0904CC0E0904C47
+:101A1000C4F0904CC3E0904CC0F08038904CCCE0C7
+:101A2000602DE4F0904CC3E0FF904CC0E06F601F6D
+:101A3000904CEB7401F01217B7904CC3E0904CC07F
+:101A4000F0904CBF7401F0120F8712146D51E1E455
+:101A5000904CD2F0904CCEE020E50241DBA3E0C3F5
+:101A600094FA5003E004F0904CCFE064067071905B
+:101A70004DE8E0B40C08904CC17402F0801B904D0E
+:101A8000E8E0B41208904CC17401F0800C904DE86D
+:101A9000E0B41805E4904CC1F0904CE5740AF09065
+:101AA0004CC3E0FF6003B4FE07904CBF7402F02209
+:101AB000EFD39403502AEFC394014024904CC1E02B
+:101AC000FF904CC3E075F01FA424ECF582E4344D84
+:101AD000F583EFF0904CBF7403F022E4904CCFF00C
+:101AE000229080107401F080FE22904ECB1205826D
+:101AF00000000000904C95E07002A3E0700281A706
+:101B0000904C95E0FEA3E0FF904CD4E0FD04F0ED96
+:101B100025E024D6F582E4344CF583EEF0A3EFF013
+:101B2000904CD4E0C394044002E4F0E4904ECAF038
+:101B3000904ECBE0F8A3E0F9A3E0FAA3E0FB904ECF
+:101B4000CAE025E024D6F582E4344CF583E0FEA318
+:101B5000E0FFE4FCFDEB2FFFEA3EFEED39FDEC3843
+:101B6000FC904ECB120576904ECAE004F0E0B4042F
+:101B7000BF904ECBE0FCA3E0FDA3E0FEA3E0FFE4BA
+:101B80007B04FAF9F81204C5904ECB120576904CFE
+:101B9000E0E0FEA3E0FFE4FCFD904ECBE0F8A3E024
+:101BA000F9A3E0FAA3E0FBD31205655007E4904CDB
+:101BB000F9F08136904CFAE0FEA3E0FFE4FCFD90E2
+:101BC0004ECBE0F8A3E0F9A3E0FAA3E0FBC31205D3
+:101BD000654008904CF97464F0805B904CE0E0FE46
+:101BE000A3E0FFFBAA06E4904ECBE0FCA3E0FDA33C
+:101BF000E0FEA3E0C39BFFEE9AFEED9400FDEC94A3
+:101C000000FCE47B64FAF9F812043AC006C00790BD
+:101C10004CE0E0FEA3E0FFC3904CFBE09FFF904C44
+:101C2000FAE09EFEAB07FAE4F9F8D007D0061204FA
+:101C3000C5904CF9EFF0904CE0E0FEA3E0FFC390BC
+:101C40004CD7E09F904CD6E09E5007904CD5740244
+:101C5000F022904CDEE0FEA3E0FFE4FCFD904ECBD2
+:101C6000E0F8A3E0F9A3E0FAA3E0FBC31205655096
+:101C70001C904CD57401F0904CFCE0702A904D40C3
+:101C8000F0A37448F0A37412F0E4A3F022E4904CA3
+:101C9000D5F0904CFCE0700F904D40F0A37448F0EC
+:101CA000A3745DF0E4A3F022904F07EFF01205B3A8
+:101CB0001E54141F27151D4F271EEE291CDE2F1D35
+:101CC00044301DA3311E15321CDE331EC8341F08DC
+:101CD000351D9B371D4F391DA33C00001F6E121789
+:101CE000EF1231517B017A4C79C07D017C007FBDC0
+:101CF0007E7F121678904CC0E0D394034002E4F04B
+:101D0000904CC0E0904CC3F01217457F0A1215B2F8
+:101D10007B017A4C79F27D027C007FBE7E7F1216B9
+:101D200078904CF2E0B4FF19A3E0B4FF14904C9308
+:101D3000E0A3E0904CF2F0904C91E0A3E0904CF3E3
+:101D4000F00215CA12313EF16FE4904CFCF0229083
+:101D50004CC3E0D394005002E16EE094044002E1F1
+:101D60006EE075F01FA424CFF9744D35F0FA7B01B5
+:101D70007D1F7C001234F07FC81215B2C2017FFFB4
+:101D80001212687B017A4D79EE7D5D7C007F607E6A
+:101D90007F121504D2017FFF021268904DD6E0FF3A
+:101DA000020737904CC57403F0E4A3F01217F7E470
+:101DB000904CEEF0904CEBF0904CC074FEF0904CD8
+:101DC000C3F0904D467403F0904DE6740AF0904FC6
+:101DD00007E064317036904DE7F0904E55F0904C2E
+:101DE000C1F0904CE5741EF0904BEBE0B40F12A3E1
+:101DF000E0B40F0DA3E0B40F08A3E0640F7002E19C
+:101E00006E904CBF7402F012146D41E1904CE5E00D
+:101E10006002E16E22E4904CC5F0A3F0904CE3F038
+:101E2000A3F0904CEB04F0904CEDE0600B1217F730
+:101E3000904CEDE0FF02108B904CECE0B40105E417
+:101E4000F0020FB2904CF0E07002E16E904DD6E0DF
+:101E5000FF020737904CC77403F0A37401F0E4A3AA
+:101E6000F0A3F07F0E120ECA7F02120ECA904CE948
+:101E7000E06034E4904DE7F0904CC1F0904CC3E04A
+:101E800075F01FA424ECF582E4344DF583E4F09062
+:101E90004DE7E0FF904CC3E075F01FA424EDF58200
+:101EA000E4344DF583EFF0904DE5E07006904DD4AD
+:101EB0007414F0904CE5E0700312177EE4904CE946
+:101EC000F0904CE3F0A3F022904CC77404F0E4A32C
+:101ED000F01217F7E4904CEBF0904DDB740AF090A1
+:101EE0004CC3E0904CC0F0904CBF7403F022904C77
+:101EF000C3E014FD7F01120803904CC3E0904CC076
+:101F0000F0904CBF7403F022904D3912058200000E
+:101F10000000E4904DD7F0904DDE04F0904CC804E2
+:101F2000F0904CC704F022904CC7E0904CCBF0E40A
+:101F3000904CC7F0A3F0904CEB04F0E4904D3DF0D2
+:101F4000904CECE0B40105E4F0020FB2904CEDE0EF
+:101F50006004FF02108B904CF0E06008904DD6E0DA
+:101F6000FF020737120FB2E4904CE3F0A3F0229087
+:101F70008080E4F0A3F0A3F0F198E4904F05F0F036
+:101F8000904F05E090068193FF600CC205F1B5907B
+:101F90004F05E004F080E922E4904F04F0F0904F08
+:101FA00004E0FFC39408500CC205F1B5904F04E063
+:101FB00004F080EA22AC07ECF46019AF04A20592A9
+:101FC0000312357EAF04A205B39202F1D5AF04C26D
+:101FD0000412358F22EFF4600D7B017A807978A2AC
+:101FE00002920012351D22AD07AC06904E4BE06404
+:101FF00002600E7401F0904E4C04F0EFA3F0EEA3DB
+:10200000F022904E4BE0640260127404F0904DE9AF
+:102010007401F0904E4C7406F0A3EFF022904ED86D
+:10202000EBF0A3EAF0A3E9F0E4A3F0F0904EDBE0DC
+:10203000FFC3940640026133904ED8E0FBA3E0FA60
+:10204000A3E02401F9E43AFA7E00E92FF9EE3AFA26
+:102050001203B6FF54F064F06009EF54D064D0600E
+:1020600002612B1203B6FBB4F1097F837E01121FBC
+:10207000E76100EBB4F2097FCD7E00121FE761003B
+:10208000904ED8E0FBA3E0FAA3E02401F9E43AFA89
+:10209000A3E07E0029F9EE3AFA1203B6FBB4F30787
+:1020A0007FB7121FE76100EBB4F4097FB67E001220
+:1020B0001FE76100904ED8E0FBA3E0FAA3E0240103
+:1020C000F9E43AFAA3E07E0029F9EE3AFA1203B6EF
+:1020D000FBB4F5077FB5121FE76100EBB4F6097F8B
+:1020E000EA7E00121FE76100904ED8E0FBA3E0FA01
+:1020F000A3E02401F9E43AFAA3E07E0029F9EE3ADC
+:10210000FA1203B6FBB4F7077FE9121FE76100EB91
+:10211000B4F8097FE27E00121FE76100904ED8E01C
+:10212000FBA3E0FAA3E02401F9E43AFAA3E07E007D
+:1021300029F9EE3AFA1203B6FBB4F9087F940E12AD
+:102140001FE76100EBB4FA097F8A7E01121FE76185
+:1021500000904ED8E0FBA3E0FAA3E02401F9E43AB2
+:10216000FAA3E07E0029F9EE3AFA1203B6FBB4FBBB
+:10217000087F920E121FE76100EBB4D0097F2A7E20
+:1021800002121FE76100904ED8E0FBA3E0FAA3E043
+:102190002401F9E43AFAA3E07E0029F9EE3AFA12B2
+:1021A00003B6FBB4D1097F257E02121FE76100EB65
+:1021B000B4D3097F267E02121FE76100904ED8E05B
+:1021C000FBA3E0FAA3E02401F9E43AFAA3E07E00DD
+:1021D00029F9EE3AFA1203B6FBB4D2097F247E0243
+:1021E000121FE76100EBB4D4097F277E02121FE7BC
+:1021F0006100904ED8E0FBA3E0FAA3E02401F9E4EB
+:102200003AFAA3E07E0029F9EE3AFA1203B6FBB4DB
+:10221000D5097F217E02121FE76100EBB4D6097F4A
+:10222000237E02121FE76100904ED8E0FBA3E0FA84
+:10223000A3E02401F9E43AFAA3E07E0029F9EE3A9A
+:10224000FA1203B6FBB4D7077F70121FE76100EBE9
+:10225000B4D8097F6F7E00121FE76100904ED8E06E
+:10226000FBA3E0FAA3E02401F9E43AFAA3E07E003C
+:1022700029F9EE3AFA1203B6FBB4D9077FB8121F58
+:10228000E7807DEBB4DA097F307E00121FE78070B3
+:10229000904ED8E0FBA3E0FAA3E02401F9E43AFA77
+:1022A000A3E07E0029F9EE3AFA1203B6FBB4DB098B
+:1022B0007F067E03121FE78047EBB4DC097F077EB1
+:1022C00003121FE7803A904ED8E0FBA3E0FAA3E0A8
+:1022D0002401F9E43AFAA3E07E0029F9EE3AFA1271
+:1022E00003B6FEB4DD067F0111028014EEB4DE06F3
+:1022F0007F021102800A1203B6B4DF047F041102C8
+:10230000904E4BE0B40224904ED8E0FBA3E0FAA339
+:10231000E02401F9E43AFAA3E07E0029F9EE3AFA62
+:102320001203B6904DEDF0E41203FC904EDBE00496
+:10233000F0012C22904D46E06037904DDDE0703189
+:10234000904CC5E0B4032A7B017A4879007D097C72
+:1023500000120B6BE4904E4BF090480004F0904D4F
+:1023600046E0904802F07B017A4879007D09120C22
+:102370003022904EE4E4F0A3F0A3F0D10050257198
+:10238000A5904EE4EBF0A3EAF0A3E9F04A700790C1
+:102390004CB604F0809E904EE4E0FBA3E0FAA3E08C
+:1023A000F91208C022E4904E88F0A3F0A3F0A3F045
+:1023B000A3F0A3F0A3F0A3F0A3F0A3F0A3F0122FD7
+:1023C000DC7A4D79A8904EAE7401F0A3744DF0A361
+:1023D00074A8F0A37414F07B017A4D79BCD148EF56
+:1023E00060167B017A4D79BC7D14D118EF7009908D
+:1023F0004CCEE04402F0800C904CCEE054FDF0E472
+:10240000904CD0F0E4904E88F0904E88E0FF90061B
+:102410008193700281D674BC2FF582E4344DF5832C
+:10242000E0904E8BF0E0FFB1F2904E92EFF0C3944B
+:1024300002500281BFE4904E89F0904E89E0FFC3C4
+:102440009408507B74017E00A807088005C333CE32
+:1024500033CED8F9FF904E8BE0FDE4EF5D6058E499
+:10246000904E8AF0904E8AE0FF90068193604890EB
+:102470004E88E0FEEF6E6037904E8AE024BCF58215
+:10248000E4344DF583E0FD7C00904E89E0FF74015B
+:102490007E00A807088005C333CE33CED8F9FFEEFF
+:1024A0005CFEEF5D4E6008904E917401F0800890E4
+:1024B0004E8AE004F080AD904E89E004F0813A90BD
+:1024C0004E8BE0FF6008B1F2904E8FE02FF0904EFF
+:1024D00088E004F08109904E8FE0904DE4F0E490A4
+:1024E0004E88F0904E88E0FF900681937002A1C65E
+:1024F00074932FF582E4344DF583E0FE74BC2FF520
+:1025000082E4344DF583E06E904E8BF0904E88E07F
+:10251000FF24BCF582E4344DF583E0904E8EF090BC
+:102520004E8BE07004A1BEA1BE904E91E060077B8F
+:10253000007A0079002274BC2FF582E4344DF583D3
+:10254000E0FE74932FF582E4344DF583EEF0E490D1
+:102550004E89F0904E89E0FFC39408505B904E8BFB
+:10256000E030E03C904E88E0FE33333354F8FEEF29
+:102570004E904E8DF0A3E0FF904E8DE09006969326
+:10258000FD1228F8904E90EFF0904E8EE030E0096A
+:10259000904E90E0FFD1928007904E90E0FFD1E8FE
+:1025A000904E8BE0FFC313F0904E8EE0FFC313F00C
+:1025B000904E89E004F0809B904E8C7401F0904E18
+:1025C00088E004F081E3904E4BE0B4030A904DDFC5
+:1025D000E0B401037402F0904E8CE07007904DDF80
+:1025E000E0B402077B017A4E79A4227B007A00795D
+:1025F0000022E4FEEF6006145FFF0E80F7AF0622B4
+:10260000904B9CE0FEA3E0FF904B9AE0B50607A339
+:10261000E0B50702D322C322904EEAEBF0A3EAF022
+:10262000A3E9F0E4FFEFC39D501B904EEAE0FBA34B
+:10263000E0FAA3E0F98F827583001203CF60037F75
+:1026400000220F80E07F0122904EABEBF0A3EAF076
+:10265000A3E9F0E4FF904EB1E0FEEFC39E5030904E
+:102660004EAEE0FBA3E0FAA3E0F98F82758300127F
+:1026700003CFFE904EABE0FBA3E0FAA3E0F98F821C
+:102680007583001203CF6E60037F00220F80C67F28
+:102690000122E4FEEFC394E04020EFD394E7501A08
+:1026A000904EA4E0FEEF5407FF7401A807088002D3
+:1026B000C333D8FC4E904EA4F022E4FE74A52EF550
+:1026C00082E4344EF583E0FD6F601CED7014904D94
+:1026D000EDE06F601274A52EF582E4344EF583EFC1
+:1026E000F0220EEEB406D522E4FEFDEF54F064F0C5
+:1026F0006007EF54D0FCBCD00C904E4BE0B4020B02
+:102700007403F08006904DDF7401F0EFC394E04055
+:1027100021EFD394E7501B904EA4E0FEEF5407FF47
+:102720007401A807088002C333D8FCF45E904EA45D
+:10273000F022E4FEED702174A52EF582E4344EF50E
+:1027400083E06F7047EEB4050B24A5F582E4344EA8
+:10275000F583E4F07D01803474A52EF582E4344ED7
+:10276000F583E0FC74A42EF582E4344EF583ECF09E
+:1027700074A52EF582E4344EF583E06014EEB405C2
+:102780000B24A5F582E4344EF583E4F00EEEB40696
+:10279000A322904ED4EBF0A3EAF0A3E9F0E4FDA36A
+:1027A000F0904DE2E064016003022888904ED774F7
+:1027B00005F0904ED7E0FE14F0EE70030228D090A2
+:1027C0004ED4E0FBA3E0FAA3E02401F9E43AFAA333
+:1027D000E07E0029F9EE3AFA1203B6FDC3942440D4
+:1027E00073EDD39427506DED24DC24FD5004603745
+:1027F000805F904CEA740AF0904CCEE04408F054AC
+:10280000EFF0ED24DDFF904CC3E0B50708904CC518
+:10281000E06403703C904CC3EFF0904CCC7401F03A
+:10282000E4904CE5F0802A904CEA740AF0904CCE8B
+:10283000E054F7F04410F0904CC3E0FF601364FEE6
+:10284000600F904CCD7401F0E4904CC3F0904CE5D7
+:10285000F07F0122904CCEE054E7F0ED641860095F
+:10286000ED640C6004EDB41215904CEA740AF0901B
+:102870004DE8EDF0904CCEE04420F07F0122904CEA
+:10288000CEE054DFF00227B2904ED4E0FBA3E0FA92
+:10289000A3E0F99000011203CF64EF7029904CEA95
+:1028A000740AF0904CCEE054F7F04410F0904CC312
+:1028B000E0FF600F64FE600B904CCD7401F0E4907B
+:1028C0004CC3F07F0122904CCEE054E7F054DFF08F
+:1028D0007F0022904CF5EDF0A3EBF0EF30E012908A
+:1028E0004CF4E0B403047402F022904CF47401F050
+:1028F00022904CF47404F022AE07E4904F03F0EE03
+:1029000030E005E4904CF8F0904F03EDF0904CC1AE
+:10291000E0602EEDB4E608904F0374E7F08022EDFE
+:10292000B4E408904F0374E6F08016EDB4E3089029
+:102930004F0374E2F0800AEDB4E206904F0374E3B3
+:10294000F0904DE2E06401600221E1EDB44C0890AA
+:102950004F037448F021E1EDB45208904F0374D84E
+:10296000F0807EEDB45108904F0374D7F08072ED83
+:10297000B42808904F037447F08066EDB42A08909D
+:102980004F0374DAF0805AED64297055EE30E04C54
+:10299000904DE7E06004E4F08006904DE77401F0AC
+:1029A000904CC3E0FF6003B4FE08904CBF7402F08B
+:1029B000802AEFD394035024EFC39401401E904D1E
+:1029C000E7E0FF904CC3E075F01FA424EDF582E42E
+:1029D000344DF583EFF0904CBF7403F0E4904F0357
+:1029E000F0904E55E060026154904DE2E070069028
+:1029F0004DE7E06014904DE2E064016002615490A4
+:102A00004DE7E0640160026154ED24C6B40C00405F
+:102A1000026154902A2175F003A4C58325F0C58373
+:102A200073022A45022A5C022AA5022AC2022AE06F
+:102A3000022B09022B26022B2E022B36022B3E02E2
+:102A40002B46022B4E904CC1E0B40108904F03740A
+:102A500044F06154904F0374D6F06154904CC1E03F
+:102A6000FC7014AF067B2B7D0411D3EE30E02F9069
+:102A70004CF8740AF08027ECB4010AAF067B527D53
+:102A80000111D38019904CC1E0B40212AF067B2B28
+:102A90007D0811D3EE30E006904CF8740AF0E49013
+:102AA0004F03F06154904CC1E07008904F0374D212
+:102AB000F06154AF067B507D0811D3E4904F03F0D2
+:102AC0006154904CC1E0B4010FAF067B2C7D08111E
+:102AD000D3E4904F03F0807C904F0374D5F0807462
+:102AE000904CC1E0700AAF067B2C7D0811D38008A2
+:102AF000AF067B2C7D0111D3EE30E006904CF874CC
+:102B00000AF0E4904F03F0804B904CC1E0700890C5
+:102B10004F037446F0803DAF067B207D0A11D3E45D
+:102B2000904F03F0802E904F0374F4F08026904F66
+:102B30000374F2F0801E904F0374F5F08016904FEE
+:102B40000374F8F0800E904F0374F6F08006904FF7
+:102B50000374F7F0904F03E0FF22E4FF904F06F07C
+:102B6000FEFDEF900681936049EF93FD131313541C
+:102B70001FFEED5407FD7401A805088002C333D879
+:102B8000FCFDEE2478FBE434808B82F583E0FCEDE1
+:102B9000F4FBEC5BF0EE2470F582E43480F583E026
+:102BA0004DF0EE2474F582E43480F583E05BF00FA1
+:102BB00080B01235DF90811CE0904F06F0904DDC24
+:102BC000E06020E4FF71F37F0171F37F0271F37F16
+:102BD0000371F37F0471F37F0571F37F0671F37F57
+:102BE000078010904F06E0FF9000A3F0EFF49000F4
+:102BF000A7F022904F0AEFF0F15A9208904F0AE0A6
+:102C0000FFA208B39207EFF470028191EF5407FE20
+:102C1000EF1313135403FF30074324A3F582E43466
+:102C200000F583C083C082E0FD7401A8060880021D
+:102C3000C333D8FCF45DD082D083F074A72FF58223
+:102C4000E43400F583C083C082E0FF7401A8060865
+:102C50008002C333D8FC4FD082D083F02274A32FDC
+:102C6000F582E43400F583C083C082E0FD7401A8DE
+:102C700006088002C333D8FCFC4DD082D083F074A8
+:102C8000A72FF582E43400F583E0FFECF4FEEF5E5D
+:102C9000F022F14791EE120D4C12146D12136D904B
+:102CA0004D7DE06002F1AD900B7EE014600D24FEDE
+:102CB00070E2715A1217B791E080FE904CEAE07012
+:102CC00012904CECE0700C904CE5E07006904CF8E3
+:102CD000E06004F1A180BD715A91E080B780B52217
+:102CE000E4900B7FF0900B7EF07F010215B27A0C1E
+:102CF000794B904EED7401F0A3740CF0A3744BF07B
+:102D0000904BA0E0FEA3E0FF904B9EE06E7003A30B
+:102D1000E06F7002C19D7E0C7F4B7D03D1F7904E1A
+:102D2000EDE0FBA3E0FAA3E0F91203B6B4022B90A6
+:102D30004EEEE475F00212040E904EEDE0FBA3E0BF
+:102D4000FAA3E0F91203B6FF904E68E0A3E0FAA3FD
+:102D5000E0F5828A831205DDC19D904EEDE0FBA374
+:102D6000E0FAA3E0F91203B664047059904EEE75D0
+:102D7000F00112040E7E0C7F4E904EEDE0FBA3E0BE
+:102D8000FAA3E0F91203B614FDD1F7904EEDE0FB83
+:102D9000A3E0FAA3E02401F9E43AFAC002C00190EA
+:102DA0004EEDE0A3E0FAA3E0F91203B6FD7C00903B
+:102DB0004E6BE0A3E0FAA3E0F5828A83D001D00253
+:102DC0001205DDC19D904EEDE0FBA3E0FAA3E0F912
+:102DD0001203B664057059904EEE75F00112040EA0
+:102DE0007E0C7F4E904EEDE0FBA3E0FAA3E0F912DB
+:102DF00003B614FDD1F7904EEDE0FBA3E0FAA3E09B
+:102E00002401F9E43AFAC002C001904EEDE0A3E0DB
+:102E1000FAA3E0F91203B6FD7C00904E74E0A3E043
+:102E2000FAA3E0F5828A83D001D0021205DD806D1D
+:102E3000904EEDE0FBA3E0FAA3E0F91203B66403C1
+:102E40007059904EEE75F00112040E7E0C7F4E907C
+:102E50004EEDE0FBA3E0FAA3E0F91203B614FDD1B6
+:102E6000F7904EEDE0FBA3E0FAA3E02401F9E43A89
+:102E7000FAC002C001904EEDE0A3E0FAA3E0F9121F
+:102E800003B6FD7C00904E77E0A3E0FAA3E0F58264
+:102E90008A83D001D0021205DD800280FE904BA50E
+:102EA000E0FEA3E0FF904C5EE06E7003A3E06F6075
+:102EB00022904E6EE0FBA3E0FAA3E0F94A603712DD
+:102EC00005D9904BA5E0FFA3E0904C5ECFF0A3EFB7
+:102ED000F080CA904C8DE0FFA3E06F6019904E71B6
+:102EE000E0FBA3E0FAA3E0F94A600B1205D9904C8D
+:102EF0008DE0A3F080DD22904EFDEEF0A3EFF0A96F
+:102F000005904B9EE0FEA3E0FFAD0119ED602F0F91
+:102F1000EFAC0670010E14F5828C83E0FD904EFD3F
+:102F2000E475F00112042485F082F583EDF0AD071D
+:102F3000AC06BC4BD4BD9AD17E4B7F3680CB904B38
+:102F40009EEEF0A3EFF0227B017A4E795678687CF2
+:102F50004E7D017E007F120203907B017A81791CF5
+:102F6000AD07E4904F09F0FEEF5407F0EF13131391
+:102F70005403FEF5827583001203CFFD3395E0FC08
+:102F8000904F09E0FF74017E00A807088005C33355
+:102F9000CE33CED8F9FFEE5CFEEF5D4E24FF2281EA
+:102FA00092900B7F7401F0E4900B7EF0221217B721
+:102FB000904BEF74FFF0904CFC7401F0E4904CE601
+:102FC000F0A3F0A3F0904CB774F0F0904DE0F090C7
+:102FD0004D4074FFF0A3F0A3F0A3F022E4FF904E65
+:102FE000E7F0FEFDA3F0A3F0EF90068193700302DB
+:102FF000306FEF93FD131313541FFEED5407FD7450
+:1030000001A805088002C333D8FCFDEE2478FBE458
+:1030100034808B82F583E0FCEDF4FBEC5BF0EE2476
+:1030200070F582E43480F583E04DF0EE2474F5828F
+:10303000E43480F583E05BF090811CE0F4FC74BC28
+:103040002FF582E4344DF583ECF0EE2478FBE43484
+:10305000808B82F583E04DF0EE2470FBE434808BAE
+:1030600082F583E0FCEDF4FBEC5BF00F022FE8E46B
+:10307000FFEF90068193607CEF93FD131313541FB1
+:10308000FEED5407FD7401A805088002C333D8FC87
+:10309000FDEE2478FBE434808B82F583E0FCEDF4D4
+:1030A000FBEC5BF0EE2470F582E43480F583E04DB8
+:1030B000F0EE2474F582E43480F583E05BF09081D7
+:1030C0001CE0F4FC74A82FF582E4344DF583ECF099
+:1030D000EE2478FBE434808B82F583E04DF0EE241F
+:1030E00070FBE434808B82F583E0FCEDF4FBEC5B59
+:1030F000F00F0171E4FFEF90068193604074BC2FE4
+:10310000F582E4344DF583E0FE74A82FF582E434B3
+:103110004DF583E06E602374BC2FF582E4344DF5E9
+:1031200083C083C082E0FE74A82FF582E4344DF59D
+:1031300083E0FDEE5DD082D083F00F80B9229080D5
+:1031400091740DF0A304F0A3F0A3F0A3F0A314F086
+:1031500022120B973186904CEB7401F0904CE57481
+:103160001EF0E4904CF0F0904D0574FFF09044FC9C
+:10317000E0904DD0F09044FDE0904DD1F09044FEB1
+:10318000E0904DD2F022904CD37405F0E4A3F0907F
+:103190004C907433F0E4FFEF25E024D6F582E4345C
+:1031A0004CF5837462F0A3F00FEFB404EA904C91F5
+:1031B000E0FEA3E0FFC3904C94E09FFD904C93E0B1
+:1031C0009EFCE41202067BF67A28791C783F1200F6
+:1031D000FBC004C005C006C007904C91E0FCA3E012
+:1031E000FDE4120206D003D002D001D00012000A82
+:1031F00012023F904CFAEEF0A3EFF0904C91E0FEFB
+:10320000A3E0FFC3904C94E09FFD904C93E09EFCA4
+:10321000E41202067BC37AF579A8783E1200FBC05F
+:1032200004C005C006C007904C91E0FCA3E0FDE49B
+:10323000120206D003D002D001D00012000A1202FE
+:103240003F904CDEEEF0A3EFF0904C91E0FEA3E057
+:10325000FFC3904C94E09FFD904C93E09EFCE412E1
+:1032600002067B5C7A8F7942783E1200FBC004C074
+:1032700005C006C007904C91E0FCA3E0FDE41202FB
+:1032800006D003D002D001D00012000A12023F90F3
+:103290004CE0EEF0A3EFF022904EFBEDF090000139
+:1032A0001203CF904EFCF022904CEAE0600214F042
+:1032B000904CEFE0600214F0904CF8E0600B14F0DA
+:1032C000E07006904CF47406F0904CE5E0602090BD
+:1032D0004CEEE06006E4904CE5F022904CE5E01402
+:1032E000F0121745904CE5E0704612177E80419031
+:1032F0004CE9E0703B904CEEE07035904CE2E060C1
+:103300002F14F0E0FFC394085016EF30E109C2011A
+:103310007F1D1212688010D2017F1D121268800773
+:10332000D2017F1D121268904CE2E070037418F015
+:10333000904DDCE07036904DDDE06401702E904CD5
+:10334000E3F0A3F0904DDDF0904E4CE0600D7B017A
+:103350007A4E794C7D03120C308011904800E06069
+:103360000B7B017A4879007D09120C30904DD4E036
+:103370006011E014F0E0700B904D3DE070057F1B94
+:10338000120ECA904DE6E06013E014F0E0700D906C
+:103390004CC7E0B40406904213740CF022904EDC4B
+:1033A000EEF0A3EFF0904EDEECF0A3EDF0904EDEE9
+:1033B000E0FEA3E0FFD3904EDDE09F904EDCE09E68
+:1033C0004016904EDEE0FEA3E0FF904EDDE09FFF52
+:1033D000904EDCE09EFE801E904EDCE0FEA3E0FFFF
+:1033E000C3904EDFE09FFF904EDEE09EFEAD03C334
+:1033F000EB9FFFE49EFE22900BE77403F0ED600369
+:10340000120FBB22900446E0FF229082807401F0EC
+:1034100022904E9CEBF0A3EAF0A3E9F0904EA27448
+:10342000FFF5F012042445F0602A904E9FE0FBA3C4
+:10343000E475F001120424A9F0FA1203B6FF904ECD
+:103440009CE0FBA3E475F001120424A9F0FAEF124A
+:1034500003FC80C822904EB2EEF0A3EFF0904EB67F
+:10346000EBF0A3EAF0A3E9F0904EB4ECF0A3EDF09A
+:10347000A3E0F9A3E0FAA3E0904E9FC9F0A3EAF01D
+:10348000A3E9F0A3ECF0A3EDF07B017A0B79869130
+:1034900011900B8374A0F0904EB2E0FFA3E0900B6C
+:1034A00084CFF0A3EFF0904EB5E02403FD904EB42E
+:1034B000E03400FCEDFAECFFEAFEEF908098EEF0CD
+:1034C000A3EFF07A0B79837E0B7F837483FC740BFC
+:1034D000FFECFEEFA3EEF0A3EFF090809EE4F0A3EC
+:1034E000F090809004F0908006E04404F00217E72A
+:1034F000904EF3EBF0A3EAF0A3E9F0ED1DAE0470FB
+:10350000011C4E6017904EF3E0FBA3E475F001122E
+:103510000424A9F0FA74FF1203FC80DF22904EF617
+:10352000EBF0A3EAF0A3E9F0E4FEFDEF5407FEEFB1
+:103530001313135403FD300022904EF6E0FBA3E07A
+:10354000FAA3E02DF9E43AFA1203B6FF7401A806D3
+:10355000088002C333D8FC4F0203FC904EF6E0FB18
+:10356000A3E0FAA3E02DF9E43AFA1203B6FF7401DE
+:10357000A806088002C333D8FCF45F0203FCEFF412
+:10358000600C7B017A80797CA2039200B11D22EF4E
+:10359000F4600C7B017A807970A2049200B11D2244
+:1035A000EFF4603AEF5407FEEF1313135403FF24B4
+:1035B000A3F582E43400F583C083C082E0FD74018A
+:1035C000A806088002C333D8FCF4FC5DD082D08307
+:1035D000F074A72FF582E43400F583E05CF022E478
+:1035E000FFEFFD7C002478FBEC34808B82F583E0D8
+:1035F000FEED2470FDEC34808D82F583E04EF4FE08
+:10360000EF247CFDEC34808D82F583EEF00FEFB477
+:0336100004CF22C2
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/output/fwram.rom	(revision 334)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/output/fwram.rom	(working copy)
@@ -1515,7 +1515,7 @@
 26
 02
 2f
-a6
+9f
 e4
 93
 a3
@@ -1646,22 +1646,22 @@
 56
 ff
 1c
-fc
+a8
 00
 00
 00
 ff
 18
-ef
+9b
 ff
 32
-ac
+a8
 00
 00
 00
 ff
 32
-9c
+98
 00
 1a
 08
@@ -2329,7 +2329,7 @@
 f9
 12
 27
-99
+92
 ef
 60
 02
@@ -2575,7 +2575,7 @@
 f9
 12
 20
-24
+1d
 90
 4e
 4b
@@ -3419,7 +3419,7 @@
 03
 02
 23
-79
+72
 90
 4c
 f4
@@ -3728,7 +3728,7 @@
 39
 02
 2f
-b4
+ad
 90
 4c
 c5
@@ -3753,7 +3753,7 @@
 20
 02
 2f
-b4
+ad
 c3
 90
 4c
@@ -3873,7 +3873,7 @@
 64
 12
 33
-a1
+9d
 90
 4e
 bc
@@ -4245,7 +4245,7 @@
 40
 02
 41
-38
+62
 90
 10
 a6
@@ -4271,7 +4271,7 @@
 cd
 02
 12
-38
+62
 02
 11
 14
@@ -4283,19 +4283,19 @@
 5f
 02
 11
-80
+aa
 02
 11
-80
+aa
 02
+12
 11
-e7
 02
 12
-38
+62
 02
 12
-38
+62
 02
 11
 0f
@@ -4353,7 +4353,7 @@
 7f
 0a
 b1
-95
+b2
 7f
 2a
 12
@@ -4382,13 +4382,13 @@
 70
 0b
 f1
-b7
+d5
 ef
 70
 06
 12
 18
-55
+01
 ef
 60
 0f
@@ -4408,7 +4408,7 @@
 f0
 22
 f1
-ea
+f7
 e4
 90
 4d
@@ -4424,7 +4424,7 @@
 f0
 12
 18
-6c
+18
 7f
 0d
 12
@@ -4457,7 +4457,7 @@
 00
 12
 34
-f4
+f0
 90
 4c
 c0
@@ -4466,12 +4466,54 @@
 f0
 a3
 f0
-90
+7f
+c8
+b1
+b2
+c2
+01
+7f
+ff
+51
+68
+7b
+01
+7a
+4d
+79
+ee
+7d
+5d
+7c
+00
+7f
+60
+7e
+7f
+b1
+04
+7b
+01
+7a
 4c
-bf
-74
-03
-f0
+79
+c0
+7d
+01
+7c
+00
+7f
+bd
+7e
+7f
+b1
+04
+d2
+01
+7f
+ff
+51
+68
 e4
 90
 4c
@@ -4484,7 +4526,7 @@
 f0
 f0
 f1
-b7
+d5
 ef
 60
 09
@@ -4512,11 +4554,11 @@
 7e
 7f
 d1
-5b
+78
 7f
 0a
 b1
-95
+b2
 e4
 90
 4e
@@ -4593,7 +4635,7 @@
 70
 05
 f1
-b7
+d5
 ef
 60
 09
@@ -4644,13 +4686,13 @@
 7f
 1e
 51
-3e
+68
 d2
 01
 7f
 1d
 51
-3e
+68
 e4
 90
 4c
@@ -4671,7 +4713,7 @@
 ef
 f4
 60
-0c
+0d
 7b
 01
 7a
@@ -4682,8 +4724,9 @@
 01
 92
 00
-f1
-f4
+12
+35
+1d
 22
 90
 4d
@@ -4694,7 +4737,7 @@
 60
 02
 61
-25
+50
 90
 4c
 e9
@@ -4719,7 +4762,7 @@
 7f
 1f
 71
-26
+51
 80
 41
 90
@@ -4732,7 +4775,7 @@
 7f
 1e
 71
-26
+51
 80
 34
 90
@@ -4746,11 +4789,11 @@
 7f
 1f
 71
-26
+51
 7f
 1d
 71
-26
+51
 80
 22
 d2
@@ -4758,19 +4801,19 @@
 7f
 1f
 51
-3e
+68
 d2
 01
 7f
 1e
 51
-3e
+68
 d2
 01
 7f
 1d
 51
-3e
+68
 80
 0e
 90
@@ -4782,11 +4825,11 @@
 7f
 1e
 71
-26
+51
 7f
 1d
 71
-26
+51
 12
 0f
 f8
@@ -4806,7 +4849,7 @@
 7f
 10
 51
-3e
+68
 90
 4c
 e6
@@ -4818,7 +4861,7 @@
 7f
 10
 51
-3e
+68
 80
 06
 d2
@@ -4826,7 +4869,7 @@
 7f
 10
 51
-3e
+68
 90
 4c
 e7
@@ -4840,7 +4883,7 @@
 7f
 0f
 51
-3e
+68
 90
 4c
 e7
@@ -4852,7 +4895,7 @@
 7f
 0f
 51
-3e
+68
 80
 06
 d2
@@ -4860,7 +4903,7 @@
 7f
 0f
 51
-3e
+68
 90
 4c
 e8
@@ -4886,7 +4929,7 @@
 7f
 1d
 51
-3e
+68
 90
 4c
 e8
@@ -4898,7 +4941,7 @@
 7f
 1d
 51
-3e
+68
 22
 90
 4f
@@ -4913,7 +4956,7 @@
 74
 12
 2f
-67
+60
 92
 09
 90
@@ -4927,7 +4970,7 @@
 92
 01
 41
-3e
+68
 90
 4d
 eb
@@ -4937,7 +4980,7 @@
 60
 02
 81
-41
+6c
 90
 4c
 e9
@@ -4945,7 +4988,7 @@
 60
 02
 81
-3b
+66
 90
 4c
 ee
@@ -4953,7 +4996,7 @@
 60
 02
 81
-3b
+66
 90
 4c
 d5
@@ -5011,7 +5054,7 @@
 7f
 1d
 51
-3e
+68
 12
 0f
 f8
@@ -5019,7 +5062,7 @@
 70
 02
 81
-2f
+5a
 90
 4d
 e0
@@ -5033,7 +5076,7 @@
 70
 02
 81
-41
+6c
 e0
 30
 e0
@@ -5049,7 +5092,7 @@
 7f
 10
 51
-3e
+68
 80
 0b
 d2
@@ -5057,7 +5100,7 @@
 7f
 10
 51
-3e
+68
 e4
 90
 4c
@@ -5081,7 +5124,7 @@
 7f
 0f
 51
-3e
+68
 80
 0b
 d2
@@ -5089,7 +5132,7 @@
 7f
 0f
 51
-3e
+68
 e4
 90
 4c
@@ -5125,7 +5168,7 @@
 7f
 1d
 51
-3e
+68
 80
 17
 90
@@ -5145,7 +5188,7 @@
 7f
 1d
 51
-3e
+68
 e4
 90
 4c
@@ -5170,57 +5213,43 @@
 7f
 10
 51
-3e
+68
 d2
 01
 7f
 0f
 41
-3e
+68
 d2
 01
 7f
 10
 51
-3e
+68
 22
 90
 4c
 bf
 e0
-70
-02
-81
-e6
-90
-4c
-e0
-e0
-fe
-a3
-e0
 ff
-c3
-90
-4c
-96
-e0
-9f
-90
-4c
-95
-e0
-9e
-50
+70
 02
-81
-e6
+a1
+03
+64
+01
+60
+04
+7f
+c8
+b1
+b2
 c2
 01
 7f
 ff
 51
-3e
+68
 90
 4c
 bf
@@ -5242,8 +5271,8 @@
 52
 7e
 7f
-91
-e7
+b1
+04
 7b
 01
 7a
@@ -5258,8 +5287,8 @@
 57
 7e
 7f
-91
-e7
+b1
+04
 7b
 01
 7a
@@ -5274,8 +5303,8 @@
 56
 7e
 7f
-91
-e7
+b1
+04
 80
 17
 90
@@ -5299,8 +5328,8 @@
 60
 7e
 7f
-91
-e7
+b1
+04
 7b
 01
 7a
@@ -5315,8 +5344,8 @@
 bd
 7e
 7f
-91
-e7
+b1
+04
 7b
 01
 7a
@@ -5331,18 +5360,18 @@
 be
 7e
 7f
-91
-e7
+b1
+04
 d2
 01
 7f
 ff
 51
-3e
+68
 7f
 0a
 b1
-95
+b2
 e4
 90
 4c
@@ -5383,7 +5412,7 @@
 70
 02
 a1
-94
+b1
 90
 4e
 93
@@ -5486,11 +5515,11 @@
 f9
 12
 34
-59
+55
 7f
 0a
 b1
-95
+b2
 90
 4e
 9a
@@ -5520,8 +5549,8 @@
 e0
 3e
 f0
-81
-fe
+a1
+1b
 22
 ef
 d3
@@ -5568,11 +5597,11 @@
 7e
 7f
 d1
-5b
+78
 7f
 0a
 b1
-95
+b2
 7b
 01
 7a
@@ -5588,11 +5617,11 @@
 7e
 7f
 d1
-5b
+78
 7f
 0a
 b1
-95
+b2
 7b
 01
 7a
@@ -5608,11 +5637,11 @@
 7e
 7f
 d1
-5b
+78
 7f
 0a
 b1
-95
+b2
 7b
 01
 7a
@@ -5628,11 +5657,11 @@
 7e
 7f
 d1
-5b
+78
 7f
 0a
 b1
-95
+b2
 90
 4c
 c3
@@ -5865,7 +5894,7 @@
 04
 f0
 f1
-da
+e7
 90
 4e
 d1
@@ -5902,14 +5931,14 @@
 ec
 f4
 60
-15
+16
 af
 04
 d2
 04
 12
 35
-52
+8f
 af
 04
 a2
@@ -5917,13 +5946,14 @@
 92
 01
 51
-3e
+68
 af
 04
 c2
 02
-f1
-c9
+12
+1f
+d5
 22
 90
 4c
@@ -5937,7 +5967,7 @@
 7f
 1f
 41
-3e
+68
 90
 4c
 c3
@@ -5950,7 +5980,7 @@
 7f
 1e
 41
-3e
+68
 90
 4c
 c3
@@ -5963,25 +5993,25 @@
 7f
 1f
 f1
-0b
+28
 c2
 06
 7f
 1d
 80
-b7
+b6
 c2
 01
 7f
 1e
 51
-3e
+68
 c2
 06
 7f
 1d
 80
-ab
+aa
 90
 4c
 c3
@@ -5994,7 +6024,7 @@
 7f
 1f
 41
-3e
+68
 90
 4c
 c3
@@ -6007,7 +6037,7 @@
 7f
 1e
 41
-3e
+68
 90
 4c
 c3
@@ -6020,55 +6050,55 @@
 7f
 1f
 51
-3e
+68
 d2
 06
 7f
 1d
 e1
-0b
+28
 d2
 01
 7f
 1e
 51
-3e
+68
 d2
 06
 7f
 1d
 e1
-0b
+28
 d2
 06
 7f
 10
 f1
-0b
+28
 d2
 06
 7f
 0f
 f1
-0b
+28
 d2
 06
 7f
 1f
 f1
-0b
+28
 d2
 06
 7f
 1e
 f1
-0b
+28
 d2
 06
 7f
 1d
 e1
-0b
+28
 90
 4c
 c7
@@ -6087,23 +6117,6 @@
 7f
 00
 22
-ef
-f4
-60
-0c
-7b
-01
-7a
-80
-79
-78
-a2
-02
-92
-00
-f1
-f4
-22
 90
 81
 2c
@@ -6114,12 +6127,12 @@
 22
 12
 31
-42
+3e
 12
 1f
-a6
+6f
 80
-af
+c0
 e4
 90
 4c
@@ -6131,103 +6144,6 @@
 f0
 22
 90
-4e
-f6
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-e4
-fe
-fd
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
-03
-fd
-30
-00
-22
-90
-4e
-f6
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-4f
-02
-03
-fc
-90
-4e
-f6
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-2d
-f9
-e4
-3a
-fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5f
-02
-03
-fc
-90
 4c
 c0
 e0
@@ -6266,7 +6182,7 @@
 7f
 12
 16
-5b
+78
 90
 4c
 f2
@@ -6369,7 +6285,7 @@
 d3
 f0
 11
-6c
+18
 7f
 0d
 12
@@ -6383,7 +6299,7 @@
 22
 12
 12
-4f
+7a
 90
 4c
 e4
@@ -6398,15 +6314,15 @@
 e0
 04
 f0
-31
-52
+11
+fe
 12
 0d
 d0
 31
-63
+0f
 11
-b0
+5c
 90
 4c
 e9
@@ -6475,7 +6391,7 @@
 0a
 12
 15
-95
+b2
 12
 0f
 b2
@@ -6494,8 +6410,8 @@
 74
 05
 f0
-71
-3e
+51
+ea
 22
 90
 4c
@@ -6635,7 +6551,7 @@
 0a
 12
 15
-95
+b2
 7f
 0a
 12
@@ -6678,9 +6594,9 @@
 f0
 12
 14
-42
-71
-35
+6d
+51
+e1
 e4
 90
 4c
@@ -6737,7 +6653,7 @@
 8b
 12
 17
-99
+b7
 e4
 90
 4c
@@ -6794,7 +6710,7 @@
 f0
 12
 17
-99
+b7
 90
 4c
 c3
@@ -6814,9 +6730,9 @@
 87
 12
 14
-42
-71
-35
+6d
+51
+e1
 e4
 90
 4c
@@ -6829,8 +6745,8 @@
 20
 e5
 02
-61
-2f
+41
+db
 a3
 e0
 c3
@@ -6993,7 +6909,7 @@
 70
 02
 81
-fb
+a7
 90
 4c
 95
@@ -7173,7 +7089,7 @@
 f9
 f0
 81
-8a
+36
 90
 4c
 fa
@@ -7427,57 +7343,57 @@
 05
 b3
 1e
-8b
+54
 14
 1f
-5e
+27
 15
 1d
-a3
+4f
 27
-1f
-25
+1e
+ee
 29
-1d
-32
+1c
+de
 2f
 1d
-98
+44
 30
 1d
-da
+a3
 31
 1e
-4c
-32
-1d
+15
 32
+1c
+de
 33
 1e
-ff
+c8
 34
 1f
-3f
+08
 35
 1d
-d2
+9b
 37
 1d
-a3
+4f
 39
 1d
-da
+a3
 3c
 00
 00
 1f
-a5
+6e
 12
 17
-e2
+ef
 12
 31
-55
+51
 7b
 01
 7a
@@ -7494,7 +7410,7 @@
 7f
 12
 16
-5b
+78
 90
 4c
 c0
@@ -7516,12 +7432,12 @@
 f0
 12
 17
-27
+45
 7f
 0a
 12
 15
-95
+b2
 7b
 01
 7a
@@ -7538,7 +7454,7 @@
 7f
 12
 16
-5b
+78
 90
 4c
 f2
@@ -7573,12 +7489,12 @@
 f0
 02
 15
-ad
+ca
 12
 31
-42
+3e
 f1
-a6
+6f
 e4
 90
 4c
@@ -7595,14 +7511,14 @@
 50
 02
 e1
-a5
+6e
 e0
 94
 04
 40
 02
 e1
-a5
+6e
 e0
 75
 f0
@@ -7624,14 +7540,43 @@
 00
 12
 34
-f4
-90
-4c
-bf
-74
-03
 f0
-22
+7f
+c8
+12
+15
+b2
+c2
+01
+7f
+ff
+12
+12
+68
+7b
+01
+7a
+4d
+79
+ee
+7d
+5d
+7c
+00
+7f
+60
+7e
+7f
+12
+15
+04
+d2
+01
+7f
+ff
+02
+12
+68
 90
 4d
 d6
@@ -7651,7 +7596,7 @@
 f0
 12
 17
-ea
+f7
 e4
 90
 4c
@@ -7733,7 +7678,7 @@
 70
 02
 e1
-a5
+6e
 90
 4c
 bf
@@ -7742,9 +7687,9 @@
 f0
 12
 14
-42
-61
-35
+6d
+41
+e1
 90
 4c
 e5
@@ -7752,7 +7697,7 @@
 60
 02
 e1
-a5
+6e
 22
 e4
 90
@@ -7780,7 +7725,7 @@
 0b
 12
 17
-ea
+f7
 90
 4c
 ed
@@ -7808,7 +7753,7 @@
 70
 02
 e1
-a5
+6e
 90
 4d
 d6
@@ -7920,7 +7865,7 @@
 03
 12
 17
-60
+7e
 e4
 90
 4c
@@ -7944,7 +7889,7 @@
 f0
 12
 17
-ea
+f7
 e4
 90
 4c
@@ -8110,7 +8055,7 @@
 a3
 f0
 f1
-d0
+98
 e4
 90
 4f
@@ -8127,12 +8072,11 @@
 93
 ff
 60
-0d
+0c
 c2
 05
-12
-35
-33
+f1
+b5
 90
 4f
 05
@@ -8140,7 +8084,7 @@
 04
 f0
 80
-e8
+e9
 22
 e4
 90
@@ -8157,12 +8101,11 @@
 94
 08
 50
-0d
+0c
 c2
 05
-12
-35
-33
+f1
+b5
 90
 4f
 04
@@ -8170,7 +8113,57 @@
 04
 f0
 80
-e9
+ea
+22
+ac
+07
+ec
+f4
+60
+19
+af
+04
+a2
+05
+92
+03
+12
+35
+7e
+af
+04
+a2
+05
+b3
+92
+02
+f1
+d5
+af
+04
+c2
+04
+12
+35
+8f
+22
+ef
+f4
+60
+0d
+7b
+01
+7a
+80
+79
+78
+a2
+02
+92
+00
+12
+35
+1d
 22
 ad
 07
@@ -8252,7 +8245,7 @@
 40
 02
 61
-3a
+33
 90
 4e
 d8
@@ -8295,7 +8288,7 @@
 60
 02
 61
-32
+2b
 12
 03
 b6
@@ -8309,9 +8302,9 @@
 01
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 f2
@@ -8322,9 +8315,9 @@
 00
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -8361,9 +8354,9 @@
 b7
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 f4
@@ -8374,9 +8367,9 @@
 00
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -8413,9 +8406,9 @@
 b5
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 f6
@@ -8426,9 +8419,9 @@
 00
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -8465,9 +8458,9 @@
 e9
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 f8
@@ -8478,9 +8471,9 @@
 00
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -8518,9 +8511,9 @@
 0e
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 fa
@@ -8531,9 +8524,9 @@
 01
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -8571,9 +8564,9 @@
 0e
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 d0
@@ -8584,9 +8577,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -8625,9 +8618,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 d3
@@ -8638,9 +8631,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -8679,9 +8672,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 d4
@@ -8692,9 +8685,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -8733,9 +8726,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 d6
@@ -8746,9 +8739,9 @@
 02
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -8785,9 +8778,9 @@
 70
 12
 1f
-ee
+e7
 61
-07
+00
 eb
 b4
 d8
@@ -8798,9 +8791,9 @@
 00
 12
 1f
-ee
+e7
 61
-07
+00
 90
 4e
 d8
@@ -8837,7 +8830,7 @@
 b8
 12
 1f
-ee
+e7
 80
 7d
 eb
@@ -8850,7 +8843,7 @@
 00
 12
 1f
-ee
+e7
 80
 70
 90
@@ -8891,7 +8884,7 @@
 03
 12
 1f
-ee
+e7
 80
 47
 eb
@@ -8904,7 +8897,7 @@
 03
 12
 1f
-ee
+e7
 80
 3a
 90
@@ -8942,7 +8935,7 @@
 7f
 01
 11
-09
+02
 80
 14
 ee
@@ -8952,7 +8945,7 @@
 7f
 02
 11
-09
+02
 80
 0a
 12
@@ -8964,7 +8957,7 @@
 7f
 04
 11
-09
+02
 90
 4e
 4b
@@ -9015,7 +9008,7 @@
 04
 f0
 01
-33
+2c
 22
 90
 4d
@@ -9089,11 +9082,11 @@
 a3
 f0
 d1
-07
+00
 50
 25
 71
-ac
+a5
 90
 4e
 e4
@@ -9157,7 +9150,7 @@
 f0
 12
 2f
-e3
+dc
 7a
 4d
 79
@@ -9187,7 +9180,7 @@
 79
 bc
 d1
-4f
+48
 ef
 60
 16
@@ -9200,7 +9193,7 @@
 7d
 14
 d1
-1f
+18
 ef
 70
 09
@@ -9242,7 +9235,7 @@
 70
 02
 81
-dd
+d6
 74
 bc
 2f
@@ -9261,7 +9254,7 @@
 e0
 ff
 b1
-f9
+f2
 90
 4e
 92
@@ -9273,7 +9266,7 @@
 50
 02
 81
-c6
+bf
 e4
 90
 4e
@@ -9411,7 +9404,7 @@
 04
 f0
 81
-41
+3a
 90
 4e
 8b
@@ -9420,7 +9413,7 @@
 60
 08
 b1
-f9
+f2
 90
 4e
 8f
@@ -9434,7 +9427,7 @@
 04
 f0
 81
-10
+09
 90
 4e
 8f
@@ -9460,7 +9453,7 @@
 70
 02
 a1
-cd
+c6
 74
 93
 2f
@@ -9515,9 +9508,9 @@
 70
 04
 a1
-c5
+be
 a1
-c5
+be
 90
 4e
 91
@@ -9608,7 +9601,7 @@
 fd
 12
 28
-ff
+f8
 90
 4e
 90
@@ -9627,7 +9620,7 @@
 e0
 ff
 d1
-99
+92
 80
 07
 90
@@ -9636,7 +9629,7 @@
 e0
 ff
 d1
-ef
+e8
 90
 4e
 8b
@@ -9674,7 +9667,7 @@
 04
 f0
 81
-ea
+e3
 90
 4e
 4b
@@ -10160,7 +10153,7 @@
 03
 02
 28
-8f
+88
 90
 4e
 d7
@@ -10179,7 +10172,7 @@
 03
 02
 28
-d7
+d0
 90
 4e
 d4
@@ -10380,7 +10373,7 @@
 f0
 02
 27
-b9
+b2
 90
 4e
 d4
@@ -10575,7 +10568,7 @@
 60
 02
 21
-e8
+e1
 ed
 b4
 4c
@@ -10587,7 +10580,7 @@
 48
 f0
 21
-e8
+e1
 ed
 b4
 52
@@ -10733,7 +10726,7 @@
 60
 02
 61
-5b
+54
 90
 4d
 e2
@@ -10755,7 +10748,7 @@
 60
 02
 61
-5b
+54
 90
 4d
 e7
@@ -10765,7 +10758,7 @@
 60
 02
 61
-5b
+54
 ed
 24
 c6
@@ -10775,10 +10768,10 @@
 40
 02
 61
-5b
+54
 90
 2a
-28
+21
 75
 f0
 03
@@ -10792,40 +10785,40 @@
 73
 02
 2a
-4c
+45
 02
 2a
-63
+5c
 02
 2a
-ac
+a5
 02
 2a
-c9
+c2
 02
 2a
-e7
+e0
 02
 2b
-10
+09
 02
 2b
-2d
+26
 02
 2b
-35
+2e
 02
 2b
-3d
+36
 02
 2b
-45
+3e
 02
 2b
-4d
+46
 02
 2b
-55
+4e
 90
 4c
 c1
@@ -10840,7 +10833,7 @@
 44
 f0
 61
-5b
+54
 90
 4f
 03
@@ -10848,7 +10841,7 @@
 d6
 f0
 61
-5b
+54
 90
 4c
 c1
@@ -10863,7 +10856,7 @@
 7d
 04
 11
-da
+d3
 ee
 30
 e0
@@ -10887,7 +10880,7 @@
 7d
 01
 11
-da
+d3
 80
 19
 90
@@ -10904,7 +10897,7 @@
 7d
 08
 11
-da
+d3
 ee
 30
 e0
@@ -10921,7 +10914,7 @@
 03
 f0
 61
-5b
+54
 90
 4c
 c1
@@ -10935,7 +10928,7 @@
 d2
 f0
 61
-5b
+54
 af
 06
 7b
@@ -10943,14 +10936,14 @@
 7d
 08
 11
-da
+d3
 e4
 90
 4f
 03
 f0
 61
-5b
+54
 90
 4c
 c1
@@ -10965,7 +10958,7 @@
 7d
 08
 11
-da
+d3
 e4
 90
 4f
@@ -10994,7 +10987,7 @@
 7d
 08
 11
-da
+d3
 80
 08
 af
@@ -11004,7 +10997,7 @@
 7d
 01
 11
-da
+d3
 ee
 30
 e0
@@ -11043,7 +11036,7 @@
 7d
 0a
 11
-da
+d3
 e4
 90
 4f
@@ -11193,7 +11186,7 @@
 b0
 12
 35
-a3
+df
 90
 81
 1c
@@ -11211,31 +11204,31 @@
 e4
 ff
 71
-fa
+f3
 7f
 01
 71
-fa
+f3
 7f
 02
 71
-fa
+f3
 7f
 03
 71
-fa
+f3
 7f
 04
 71
-fa
+f3
 7f
 05
 71
-fa
+f3
 7f
 06
 71
-fa
+f3
 7f
 07
 80
@@ -11262,7 +11255,7 @@
 ef
 f0
 f1
-61
+5a
 92
 08
 90
@@ -11280,7 +11273,7 @@
 70
 02
 81
-98
+91
 ef
 54
 07
@@ -11416,18 +11409,18 @@
 f0
 22
 f1
-4e
+47
 91
-f5
+ee
 12
 0d
 4c
 12
 14
-42
+6d
 12
 13
-42
+6d
 90
 4d
 7d
@@ -11435,7 +11428,7 @@
 60
 02
 f1
-b4
+ad
 90
 0b
 7e
@@ -11448,12 +11441,12 @@
 70
 e2
 71
-61
+5a
 12
 17
-99
+b7
 91
-e7
+e0
 80
 fe
 90
@@ -11481,13 +11474,13 @@
 60
 04
 f1
-a8
+a1
 80
 bd
 71
-61
+5a
 91
-e7
+e0
 80
 b7
 80
@@ -11506,7 +11499,7 @@
 01
 02
 15
-95
+b2
 7a
 0c
 79
@@ -11546,7 +11539,7 @@
 70
 02
 c1
-a4
+9d
 7e
 0c
 7f
@@ -11554,7 +11547,7 @@
 7d
 03
 d1
-fe
+f7
 90
 4e
 ed
@@ -11614,7 +11607,7 @@
 05
 dd
 c1
-a4
+9d
 90
 4e
 ed
@@ -11663,7 +11656,7 @@
 14
 fd
 d1
-fe
+f7
 90
 4e
 ed
@@ -11721,7 +11714,7 @@
 05
 dd
 c1
-a4
+9d
 90
 4e
 ed
@@ -11770,7 +11763,7 @@
 14
 fd
 d1
-fe
+f7
 90
 4e
 ed
@@ -11877,7 +11870,7 @@
 14
 fd
 d1
-fe
+f7
 90
 4e
 ed
@@ -12197,7 +12190,7 @@
 ff
 22
 81
-99
+92
 90
 0b
 7f
@@ -12212,7 +12205,7 @@
 22
 12
 17
-99
+b7
 90
 4b
 ef
@@ -12274,8 +12267,11 @@
 06
 81
 93
-60
-7d
+70
+03
+02
+30
+6f
 ef
 93
 fd
@@ -12400,7 +12396,7 @@
 0f
 02
 2f
-ef
+e8
 e4
 ff
 ef
@@ -12533,7 +12529,7 @@
 f0
 0f
 01
-75
+71
 e4
 ff
 ef
@@ -12631,7 +12627,7 @@
 0b
 97
 31
-8a
+86
 90
 4c
 eb
@@ -13029,7 +13025,7 @@
 f0
 12
 17
-27
+45
 90
 4c
 e5
@@ -13038,7 +13034,7 @@
 46
 12
 17
-60
+7e
 80
 41
 90
@@ -13078,7 +13074,7 @@
 1d
 12
 12
-3e
+68
 80
 10
 d2
@@ -13087,7 +13083,7 @@
 1d
 12
 12
-3e
+68
 80
 07
 d2
@@ -13096,7 +13092,7 @@
 1d
 12
 12
-3e
+68
 90
 4c
 e2
@@ -13458,7 +13454,7 @@
 79
 86
 91
-15
+11
 90
 0b
 83
@@ -13553,7 +13549,7 @@
 f0
 02
 17
-da
+e7
 90
 4e
 f3
@@ -13599,10 +13595,107 @@
 80
 df
 22
+90
+4e
+f6
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+e4
+fe
+fd
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
+03
+fd
+30
+00
+22
+90
+4e
+f6
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+03
+b6
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+4f
+02
+03
+fc
+90
+4e
+f6
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
+12
+03
+b6
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5f
+02
+03
+fc
 ef
 f4
 60
-0d
+0c
 7b
 01
 7a
@@ -13613,45 +13706,13 @@
 03
 92
 00
-12
-17
-f4
-22
-ac
-07
-ec
-f4
-60
-18
-af
-04
-a2
-05
-92
-03
-b1
-21
-af
-04
-a2
-05
-b3
-92
-02
-12
-17
-c9
-af
-04
-c2
-04
 b1
-52
+1d
 22
 ef
 f4
 60
-0d
+0c
 7b
 01
 7a
@@ -13662,9 +13723,8 @@
 04
 92
 00
-12
-17
-f4
+b1
+1d
 22
 ef
 f4
Index: c51/patch/adc.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/bluetooth.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/global_variable.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/kb_process.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/keyscan.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/led.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/ram.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/sys.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/sys.c
===================================================================
--- /YC1026/YC1086_BLE_24g_SDK/c51/sys.c	(revision 334)
+++ /YC1026/YC1086_BLE_24g_SDK/c51/sys.c	(working copy)
@@ -154,7 +154,10 @@
 		if ((g_variable.current_device_num > 0) && (g_variable.current_device_num < 4))
 		{
 			xmemclear_ff((byte *)&bd_key_record_list[g_variable.current_device_num-1],sizeof(BD_KEY_RECORD));	
-			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+			Delay1ms(200);
+			GPIO_Setout(EEPROM_WP_GPIO,0);
+			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)bd_key_record_list);		
+			GPIO_Setout(EEPROM_WP_GPIO,1);
 		}
 		break;
 	case IPC_EVT_RECONNECT_STANDY:
