Index: do.bat
===================================================================
--- /1121s/branch/tools/audio_demo/do.bat	(revision 4856)
+++ /1121s/branch/tools/audio_demo/do.bat	(working copy)
@@ -22,7 +22,6 @@
 
 set now_path=%~dp0
 set util_path=%now_path%util
-set/p mode=Please press mode SA or SB:
 
 setlocal enabledelayedexpansion
 for %%f in (program\ble_protocol_stack\*.prog) do @set progs=!progs! %%f
@@ -78,18 +77,9 @@
 cd output
 osiuasm bt_program23 -O-W
 
-if /I "%mode%" equ "SA" (goto SAmode)
-if /I "%mode%" equ "SB" (goto SBmode)
-
-:SAmode
+::%util_path%/geneep  -n -s -i
 %util_path%/geneep  -n
-goto contin
-
-:SBmode
-%util_path%/geneep  -n -s -i
-goto contin
 
-:contin
 echo create auth rom
 perl ../util/mergepatch.pl mouse_ble_att_list usb_kbdata_vendor_define usb_kbdata usb_msdata usb_devicedata usb_confdata ble_shutter_gatt_list ble_shutter_key_value_list ble_car_att_list sha256 
 perl ../util/romcrc.pl romcode.rom
Index: ep.bat
===================================================================
--- /1121s/branch/tools/audio_demo/ep.bat	(revision 4856)
+++ /1121s/branch/tools/audio_demo/ep.bat	(working copy)
@@ -1,4 +1,4 @@
-call do.bat eep
+::call do.bat eep
 e pu
 e pu
 e 8043 00
Index: format/app_mouse.format
===================================================================
--- /1121s/branch/tools/audio_demo/format/app_mouse.format	(revision 4856)
+++ /1121s/branch/tools/audio_demo/format/app_mouse.format	(working copy)
@@ -1,11 +1,24 @@
 
 memalloc mouse(
+//drawing optima
 2 mem_init_cnt
 2 mem_data_pre
 2 mem_data_current
 3 mem_data_sum
 2 mem_data_value
 
+//audio
+0 mem_voice_raw_start
+399 mem_voice_raw
+1 mem_voice_raw_end
+
+550 mem_adpcm
+
+550 mem_voice_adpcm_buf
+1 mem_voice_queue_count
+
+20 mem_queue_buf
+0 mem_memalloc_mouse_param_end
 
 )
 //dpi eeprom addr
@@ -228,6 +241,85 @@
 1 mem_mouse_direct_timer
 
 //patch area
+//audio
+16 mem_ad_indexTable1
+356 mem_ad_stepsizeTable1
+
+4 mem_ad_state_valpred1
+4 mem_ad_state_index1
+1 mem_ad_in_numSamples1
+2 mem_ad_in_ptr1
+2 mem_ad_out_ptr1
+1 mem_ad_sign1
+1 mem_ad_delta1
+4 mem_ad_step1
+4 mem_ad_valpred1
+4 mem_ad_index1
+4 mem_ad_vpdiff1
+4 mem_ad_inputbuffer1
+1 mem_ad_bufferstep1
+
+4 mem_ad_val1
+4 mem_ad_outputbuffer1
+4 mem_ad_diff1
+
+1 mem_ms_audio_micinp_gpio
+1 mem_ms_audio_micbisa_gpio
+1 mem_ms_audio_key_gpio
+1 mem_ms_audio_key_state
+1 mem_ms_audio_enable_flag
+1 mem_ms_audio_enable_timer
+1 mem_ms_adc_mode
+
+1 mem_voice_enable
+20 mem_voice_notify
+2 mem_adc_dma_rptr
+
+2 mem_adc_audio_saddr_ptr
+2 mem_adc_audio_eaddr_ptr
+
+//uart
+1 mem_app_uart_tx_gpio
+1 mem_app_uart_rx_gpio
+2 mem_app_uart_rx_buff_sptr
+2 mem_app_uart_rx_buff_eptr
+2 mem_app_uart_tx_buff_sptr
+2 mem_app_uart_tx_buff_eptr
+2 mem_app_uart_baud_rate
+8 mem_app_print_buffer
+0 mem_mouse_param_end
+
+0 mem_app_uart_rx_buff_start
+199 mem_app_uart_rx_buff
+1 mem_app_uart_rx_buff_end
+0 mem_app_uart_tx_buff_start
+199 mem_app_uart_tx_buff
+
+80 mem_test_data
+1 mem_app_uart_tx_buff_end
+)
+
+(
+1 KEY_DOWN 
+0 KEY_UP 
+)
+
+//audio buf len
+(
+800 	AUDIO_BUF_LEN
+80 	AUDIO_BUF_UINT
+20 	AUDIO_BUF_ENCODE_UINT
+)
+
+(
+400 	VOICE_QUEUE_SIZE
+20 	VOICE_QUEUE_UNIT
+20 	VOICE_QUEUE_MAX_COUNT
+)
+
+(
+0 ADC_BATTERY
+1 ADC_AUDIO
 )
 
 xmemalloc g24_tx_hid_mouse(
Index: format/regs.format
===================================================================
--- /1121s/branch/tools/audio_demo/format/regs.format	(revision 4856)
+++ /1121s/branch/tools/audio_demo/format/regs.format	(working copy)
@@ -121,6 +121,7 @@
 	0x811e core_adc_sum
 	0x8120 core_nec_wptr
 	0x8122 core_current_otp_addr
+	0x8122 core_adc_dma_wptr
 	0x8124 core_spid_remain
 	0x8126 core_iicd_remain
 	0x8128 core_dma_status
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/tools/audio_demo/output/eeprom.dat	(revision 4856)
+++ /1121s/branch/tools/audio_demo/output/eeprom.dat	(working copy)
@@ -1,5852 +1,4309 @@
 00
 02
-8f
-ab
-f1
-00
-3c
-ae
-c6
-03
-78
-5c
-8d
-07
-e0
-71
-35
-1e
 aa
 55
-40
+72
+10
+c2
+84
+00
+16
+c0
+00
+02
+26
+c0
+01
+02
+2b
+c0
+08
+02
+34
+c0
 08
+82
+36
+c0
+0a
+03
+22
+c0
+0a
+82
+df
+c0
+0b
+02
+3f
+c0
+0c
+02
+ed
+c0
+0c
+82
+f4
+c0
+0d
+02
 4e
+c0
+12
+83
+c5
+c0
+13
+83
+82
+c0
+34
+03
+ec
+c0
+3a
+03
+be
+c0
+3f
+84
 06
-a3
-2e
-a2
-a1
-18
-ba
-23
-16
-29
-92
-50
-e2
-3b
-99
-04
-50
-c7
-53
+c0
+47
+03
+f1
+c0
+58
+80
 27
-04
-c7
-43
-53
-b3
-aa
+c0
+62
+83
+e9
+c0
+6b
+03
+b7
+c0
+6d
+02
+77
+20
+20
+23
+5a
+c0
+12
+03
+5b
+c0
+12
+83
 3e
-ae
-4a
-7a
-a8
-5f
-16
-ce
-ac
-41
-0b
-58
-6e
-32
-eb
-3c
-69
-42
-ec
-f8
-a7
-21
-34
+c0
+13
+03
+43
+c0
+1c
+83
 55
-76
-54
-74
+c0
+1d
+03
+91
+c0
+26
+03
 8d
-f8
-9e
-a1
-05
-0b
-6f
-e8
-b8
-d5
-04
+c0
 26
-2e
-9d
-35
-0f
-56
-a1
-fb
-ac
-f1
-45
-61
-33
-fe
-6c
+83
+59
+c0
+4b
+04
+13
+c1
+7f
+80
+00
+20
+20
+23
+5a
+d8
+e0
+00
+0c
+20
+40
+7c
+ef
+24
 7a
+00
+00
+20
+40
+00
+53
+d8
+e0
+00
+0c
+58
+00
+00
+a0
+20
+20
+7c
+e1
+20
+40
+00
 30
-44
-0a
-f7
-f3
-c7
+70
+49
 ef
-ca
-be
-ee
-ea
-f6
-ae
-7b
-54
-0d
-e7
-0a
-9e
-50
-dc
-1e
-38
-6f
-54
-58
-72
-f3
-6b
-9f
-28
-2b
-5f
-d0
-a1
-9c
-b3
-d7
-f2
-8a
-bf
-ef
-6c
-6f
-7e
-28
-f4
-6c
-48
-9f
-34
-8e
-4f
-96
-0b
-c8
-e4
-6d
-8c
+00
+70
+49
+ed
+00
+20
+40
+01
+de
+20
+40
+00
 5c
-aa
-47
-e5
-a1
-1f
-ef
-e7
-4d
-4a
-72
-62
-a3
-32
-e0
-05
-b9
-8b
+20
+40
+00
+20
+20
+40
+00
+ad
+20
+40
+00
+ec
+20
+20
+00
+2a
 58
-6e
-26
-18
-b8
-b0
-59
-a8
-f6
-3c
-67
-9d
-7a
-4c
-bd
-18
-18
-92
-bf
-8e
-e9
-51
-87
-12
-b0
-f6
-7f
-cb
-2d
-87
-b4
-3a
-43
-ab
-43
-f6
-a6
-69
-69
-54
-f0
-a9
-29
-d7
-37
-66
-8d
-64
+00
+0a
+ca
 d8
-3e
-26
+40
+01
+90
+20
+40
+00
+35
+70
+0c
 f0
+00
 20
-a3
-9f
-4e
-87
-92
-e4
-fd
-8c
-e9
-9b
-9c
-8a
-cf
-97
-88
-46
-fc
-f5
-27
-bb
-b4
-5a
-f3
-2a
-64
-76
-7f
-6f
-b9
-67
-cc
-c5
-02
+60
+00
+00
+18
+40
+85
+ff
+1f
+e2
+0a
+00
+18
+a0
+8b
+f8
+e7
 e1
-fb
-74
-34
-2e
-be
-fe
-77
-7f
-bd
-71
-a2
-8c
-32
-ec
-ba
-67
-ab
-de
-9f
-78
-3e
-ed
-08
+00
+05
+98
 40
-d6
-a8
-53
-d1
-0c
+fe
+00
 e7
-8d
-c8
 e1
-b3
-ed
-12
-7d
-8e
-62
-28
-81
-ba
-af
-ca
-e0
-d5
-a0
-bd
-b4
-e9
-8e
+00
 05
-25
-fc
-9c
-1b
-f4
-e6
-1a
 98
-5a
-34
-1e
-56
-d6
-8d
-bf
 46
-85
-cb
-71
-15
-2b
-b4
-8a
-6d
-b8
-c5
-71
-9a
-e3
-c4
-0a
-2f
-80
-d5
-d1
-36
-54
-83
-62
-92
-58
-cb
-0d
-30
-c3
-78
-ce
-33
-eb
-ca
-16
-f6
-17
-f5
-db
-d5
-51
-0d
-60
-0a
-ec
-19
-b4
-c2
-3a
+7e
 00
-df
-bb
-d7
-fc
-ac
-c7
-46
-e3
-f2
-82
-0f
-9b
-30
-2f
-fb
-40
-c5
-d9
-ee
-01
-fa
-98
-72
-ca
-e7
-b2
-56
-4b
-2c
-68
-81
-b6
-5e
-b4
 e7
-ed
-61
-9f
-cf
-bc
-c4
-27
-66
-28
-39
-25
-0e
-8c
-f3
+e1
+00
+05
 e7
-b6
-1b
-c1
+e1
+00
+05
+20
+60
+00
+00
+1f
+e0
+ff
+f8
+e9
 41
-e2
-91
-d3
-27
-4d
-50
-09
-a4
-79
-d8
-ef
-36
-34
-1e
-96
-8a
-93
-39
+00
+3f
 1f
-b9
-d1
-1b
-0e
-d5
-69
-15
-89
-d8
-bb
-b1
-05
-ee
-d0
-d5
-33
-92
-fa
-82
-e2
+e0
+fe
+02
+ea
+01
 00
-3d
-b4
-29
-59
-aa
-f5
-53
-81
-f6
-5c
+3f
+1f
+e0
+fe
+02
+e8
+41
+00
+3f
+1f
+e0
+fe
+02
+e8
 61
+00
+3f
+1f
+e2
 22
-5b
-35
-5c
-a6
-71
-9e
-2d
+00
+20
+60
+00
+00
+1f
+e0
+ff
+f8
+e9
+41
+00
+3f
+1f
+e0
 fe
-59
-fa
-36
+02
+ea
+01
+00
+3f
 1f
-be
-8b
+e0
+fe
+02
+e8
+61
+00
 3f
-92
-52
-e6
-6d
-20
-dd
-d1
+1f
 e2
-10
-ec
-64
-28
-50
-12
-e4
-3b
-64
-e7
-6a
-d0
-74
-50
-70
-5f
-15
-b0
-a1
-2b
-ca
-29
-3a
-4d
-fc
-e2
-76
-01
-21
-dd
-2f
-0f
-45
-7f
-a8
-b2
-2a
-6c
-7a
-2c
-db
-58
-de
-fa
-1e
-32
-7d
-9c
-01
-82
-f0
-ac
-df
-1b
-8a
-14
-9b
-6f
-53
-f5
-f9
-eb
-2b
-ff
-ec
-71
-c7
-a0
-3c
-4b
-bd
-49
-d6
-19
-ea
-2e
-b6
-a7
-0e
-92
-32
-03
-ee
+22
+00
+1f
 e0
-9a
-2e
-05
-25
-26
-1b
-42
+fe
+02
+e8
 41
-c3
-06
-27
-9e
-51
-bc
-8f
-75
-7d
-7e
-3c
-f6
-57
-8a
-1d
-25
-ee
-c1
-2b
-ce
-fb
-8b
-63
-25
-4d
-36
-ae
-27
-b7
-59
-05
-fb
-fa
-0b
+00
+3f
+20
+60
+00
+00
+6f
+e0
+c9
+ef
+20
+7a
+00
+00
+1f
+e0
 ff
-cc
-de
+ff
+67
+e0
+c9
+ef
+24
 7a
-21
-99
-eb
-16
-bc
-a8
-0c
-f5
-5c
-74
-8e
-89
-33
-eb
-2c
-5e
-ee
-0a
-5d
-3f
-5f
-46
-d0
 00
-21
+00
+70
+49
+f1
+01
+d8
+a0
+07
+14
+df
+20
+01
 90
-6d
+20
+20
 7c
-e0
-0d
-9a
-58
-24
-69
-9e
+a1
+20
 40
-81
-44
-d8
+00
+61
+6f
+e0
+c9
+ed
+c0
+00
+00
+6e
+c0
+00
 80
-f2
-7c
-65
-3c
-f1
-1d
-07
-16
-bf
-a9
-c8
-b9
+77
+20
 60
-e9
-32
-bd
-61
-25
-5e
-a7
-e8
-05
-d7
-ea
-58
-a4
-6d
+00
+00
+6f
+e0
+c9
+ec
+20
+40
+59
+43
+68
+48
+c9
+ec
+20
+40
+6e
+e6
+24
+20
+80
+6a
+6f
+e0
+c9
+ed
+c1
+00
+80
+00
+70
 49
-28
-8d
-9e
-16
-83
-af
+ed
 01
-b3
-7d
-bc
-ce
-1b
-3d
-30
-b3
-78
-38
-e3
-27
-c8
-f5
-88
-e3
-57
-a4
-93
-3a
-07
-69
-4f
-5c
-16
-76
-06
-d6
-bb
-cf
-92
-27
-98
-4f
-bf
+20
+60
+00
+00
+6f
+e0
 c9
-17
-c3
-f4
-df
-55
-db
-55
-37
-fe
-0f
-84
-37
-a2
-1d
-81
-d2
-a3
-34
-b0
-f1
-0e
+ed
 c1
-59
-5c
-1e
-6d
-05
-63
-5c
-69
-46
-af
+00
+00
+00
 70
-7d
-56
-9b
-4d
-86
-82
-db
-6d
-e3
-2f
-e5
-4f
-32
-01
-b5
-c6
-8c
-8d
-37
-c0
-8b
-ac
-ca
-10
-97
-d6
-27
-74
-6b
-ac
-15
-39
-98
+49
+ed
+00
+20
 60
-b2
-aa
-64
-53
-1a
-17
-bd
-3d
-22
-85
-bc
+00
+00
 6f
-db
-1c
-bc
-da
-74
-4b
-f6
-15
-be
-45
-5d
-10
-fb
-88
-8a
-b2
-97
-e2
-d6
-03
-e4
-cc
-95
-c7
-ff
-f8
-6a
-e2
+e0
+c9
+ee
+20
+7a
+00
+00
+70
 49
-fd
-27
-67
+ee
+00
+70
+40
+94
+01
+70
 49
-17
-b8
-66
-b5
-4e
-20
-5f
-15
-1e
-a4
-c2
-fa
-45
-a3
-a7
-6c
+f1
+00
+70
+44
+11
+00
+70
+80
 cc
-d7
-7b
-79
-24
-9d
-20
-a0
-82
-33
-92
-a4
-09
-d6
-49
-05
-63
-b0
-4c
-d5
-df
-9b
-f8
-d7
-62
+00
+70
 49
-06
-8c
-82
-8b
-65
-43
-60
-8d
-e0
-46
-0f
-6f
-1c
-57
-28
-51
-31
-bc
-79
-8a
-0a
-71
+f0
+00
+20
 60
-7e
-ad
-cd
-3e
-68
 00
-b8
-c2
-28
-0e
-4a
-16
-3c
-23
-7d
-54
-d6
-89
-79
-db
-5c
-bd
-ad
+00
+6f
+e0
+c9
+ee
+24
 7a
-b1
-1d
-c8
-79
+00
+00
 70
-ac
-58
-86
-d7
-be
-d5
-30
-7b
-30
-1a
-25
-8e
-9b
-e2
-d8
-77
-bf
-39
-3a
-22
-28
-72
-de
-b4
-67
-f1
-86
-5a
-10
-a2
-d5
-5e
-c2
-9e
-9b
-a8
-97
-17
-43
-aa
-10
-d2
-e3
-af
-56
-bb
-f0
-0c
-a9
-c0
-ae
-0a
-59
-e6
-df
-b6
-b6
-48
-57
-f2
-7f
 49
-1c
-6e
-39
-34
-f2
-88
-b1
-12
-e0
+ee
+01
+70
+40
+94
+00
+70
+49
+ef
 05
-c2
-b1
-4f
-39
-f3
-8c
-9c
-76
-a7
-8c
-37
-31
-63
-46
+68
+48
+c9
+ea
+20
+40
+6f
+0f
+68
+48
+c9
+eb
+20
+40
+6f
+0f
+20
+20
+00
+81
+20
+40
+02
+77
+70
+44
+08
+00
+70
+44
+09
 01
-7f
-d9
-56
-46
+70
+44
+11
 01
-f2
-41
-67
-c6
-bf
-2e
-14
-77
-2c
+70
+49
+f0
+01
+6f
+e1
 4a
-6e
-9b
-fb
-2c
-ce
-0c
-88
-9b
-8d
-dc
-4b
-9a
-92
-88
-48
-b1
-fa
+08
+67
 e1
-78
-cd
-a3
-79
-fc
-d1
-e2
-d2
-ec
-aa
-b5
-61
-b4
-4b
-d1
-75
+4a
+06
+20
+20
+00
+89
 6f
-a5
-ac
-f9
-e3
-42
-b4
-8f
-25
-6c
-23
-7d
-2c
+e0
+c9
 f0
 c0
-e5
-43
-3d
-85
-69
-33
-43
-11
-0a
-78
-66
-9a
-46
-fa
-71
-3b
-87
-0d
-5a
-d0
-9f
-c6
-b3
-ad
-eb
-ed
+00
 80
-9d
-11
-55
-51
-fc
-50
-22
-24
+8c
+20
+60
+00
+00
+70
+8a
+c6
+1b
+70
+8a
+c7
+6a
+20
+40
 6f
-53
-5e
-18
-2f
-a5
-4a
-4e
+63
+6f
+f0
+8a
+09
+79
+3f
+fe
+07
 67
-a8
-9e
-bf
-94
-03
-b2
-5c
-eb
-86
-19
-93
+f0
+8a
+09
+70
+8a
+07
+70
+70
+8a
+08
+43
+70
+8a
+0b
+0c
+70
+8a
+0a
+ef
+20
+40
+6f
+90
+6f
+e0
+c4
+09
 67
-6d
-8e
-dc
+f0
+80
 cd
-47
-b2
-6e
-69
-bc
-71
-e9
-7b
-ba
-83
-23
-75
-e6
-1a
-94
-11
-8d
-be
-5a
-d0
-2f
-e4
-33
-29
-98
-76
-5b
-6e
-ab
-0e
-2a
-77
-af
-3a
-d8
-6a
-8f
-f8
-78
+20
+00
+0b
 b8
-68
-07
-df
-8f
-3f
-68
+20
+40
+02
+87
 70
-b1
-22
-4f
-85
-ef
+80
+cd
+00
+20
+20
+00
+9d
+6f
+e0
 c4
-b7
-ad
-2e
+11
+20
+7a
+00
+00
+6f
 f0
-dc
-1e
-4b
-a0
-f7
-2e
-9c
-a8
-bc
-c9
-ba
-e6
+8a
+09
+79
+20
+7e
+07
+67
+f0
+8a
+09
 6f
-71
-ed
-3d
-80
-2d
-d0
+e0
+c4
+09
+67
 f0
+80
+cd
+6f
 e1
-0b
-f1
-61
-28
-8f
-d1
+4a
+08
+67
 f1
+00
+ce
+6f
+e1
 4a
-71
-bc
-4c
-42
-e6
-db
-19
-02
-77
-ef
-c5
-dc
-bb
-fe
-c5
-8d
-f8
-be
-52
-14
-6e
-3b
+0a
+67
 f1
-1a
+00
+d0
+70
 80
-2b
-2d
-d4
-16
-34
-9b
-f9
-17
-51
-4b
-b1
-11
-f1
-c7
-e6
-21
-a6
-f7
-5a
-ef
-2b
-e3
-5d
-14
+cc
+8b
+20
+00
+0b
+b8
 70
-72
-9b
-3d
-8d
-37
-0c
-10
-61
-e6
-dd
-51
-fd
-e8
-1f
-bc
-5f
-7a
-c7
-f0
-6d
-ea
-b3
-31
-62
-4d
-29
-a6
-13
-3c
-40
-a2
-32
-c1
-f3
+80
+cc
+83
+70
+80
 cd
+02
+20
 60
-cf
-4a
-21
-91
-1c
-78
-47
-39
+00
+00
+6f
+e0
+c9
 f1
-1f
-e1
-fa
+20
 7a
+00
+00
 20
-65
-c8
-54
-73
-d0
-eb
-1b
+40
+00
 c7
-06
-1c
-16
-05
-a5
-0f
-f7
-f7
-3d
-aa
-b4
-85
-3a
-39
-54
-31
-be
-1b
-55
-3a
-50
-9a
-07
-a2
-ed
-ed
-58
-b2
-fd
-df
-9b
-6f
-2c
-cc
-08
-f4
-bc
-83
-af
-76
-93
-b9
-27
-52
-19
-c4
-6d
-23
-3d
-8d
-99
+1f
+e6
+7c
 50
-e8
+20
 61
-80
-6f
-3b
-b9
-26
-a5
-29
-5f
-e7
-0b
-79
-ef
-d9
-68
-4f
-c1
-9d
-43
-87
-b9
-c0
-31
-79
-ca
-21
-26
-7e
-4a
-5e
-a6
-5a
-b0
-66
-d9
-3b
-1e
-1e
-d5
-86
-f1
-59
-d8
-1f
-fe
-b4
-dc
-57
-eb
-e8
+00
+00
+20
 40
-8b
-bc
-59
+02
+1d
+20
+40
+01
+04
+20
+40
+00
+d3
+58
+00
 08
-d4
-8c
-77
-d2
+a4
+18
+00
+70
+00
 20
-e4
-d9
+40
+00
 de
-32
-2d
-65
-21
-06
-9f
-49
-a8
-1f
-dc
-c7
-0b
-2a
-4d
-3a
-b4
-9b
-5c
+6f
 e0
-c5
-93
-a7
-c5
-08
-f5
 8c
-4f
-36
-0e
-ac
-42
-34
-2f
-d5
-94
-17
-13
-7d
-22
+f0
+d8
+40
+00
+14
+18
+40
+85
 ff
-66
-e4
-f9
-f9
-34
-4d
-ee
-ea
-13
-a7
-cd
-45
-37
-25
-71
-c4
-40
-3d
-90
-0d
-8e
-ab
-44
-c9
-c4
-7d
-0f
-bc
-62
-a5
-b3
-95
-68
-8d
-5b
-bc
-87
-b6
-b6
-82
-47
-1b
-cf
 98
-41
-99
-a7
-79
-c4
-89
-12
 46
-0f
-2b
-27
-fa
-35
-eb
-db
-5a
-ba
-11
-a9
-2d
-8c
-03
-83
-5d
-d6
-5d
-c2
-b9
-2b
-b8
-55
-ca
-09
-74
+7c
+00
+20
+61
+00
+00
+58
+00
+0a
 ca
-91
-ba
-9e
-18
-26
-cc
-9c
-79
-8d
-0c
-d3
-4c
-42
-e8
-fd
-9c
-c8
-bc
-9d
-85
-ab
-fb
-e5
-1e
-5c
-cc
-e6
-95
+20
+40
+00
+3f
+20
+40
+00
+e1
+1f
 e2
-26
-6e
-42
-91
-5c
-d9
-18
-4b
-fd
-a4
-a7
-b8
-09
-77
-7a
-83
-26
-8d
-55
-5f
-3d
+0c
+00
+df
+20
+00
+14
+20
+40
+00
+e4
+6f
 e0
-d9
-6c
-7b
-c9
-19
-b0
-34
-9a
-85
+8c
+f0
+1f
 e0
-be
-25
-ee
-3b
-0c
-e9
-46
-8a
-81
-79
-ce
-51
-1d
-63
-d6
-2c
-05
-66
-36
-84
-a8
 fe
-3b
-4c
-a2
-9c
-97
-a7
-30
-14
-fc
-ee
-55
-59
-73
-cc
+01
+67
+e0
+8c
+f0
+20
+60
+00
+00
+6f
+f1
+01
+22
+1f
+e2
+22
+00
+68
+49
+4a
+06
+98
+46
+7e
+00
+24
 21
-91
-4b
-dd
-36
-61
-b6
+00
+cd
+20
+60
+00
+00
+1a
+22
+04
+00
+6f
+e1
+4a
+06
+98
+46
+04
+00
+58
+00
 03
-42
-5e
-f3
-36
-ba
-d7
-96
-87
-13
-ce
-70
-d1
-c7
-a5
-99
-09
-af
-ac
-c7
-bd
-9e
-77
-c1
-5d
-6c
-2f
-6a
-ef
-0b
-33
-e3
-e3
-8a
-eb
-6b
-bb
-1e
-d0
-e2
-89
-2b
-cd
-5c
-97
-61
-35
-3c
-ae
-ce
-b5
-e8
-97
-d1
-79
-b6
-82
+20
+98
+46
+7e
+00
+20
 60
-70
-b0
-09
-c5
-ac
-d3
-2a
-d2
-b0
+00
+00
+6f
+e1
+4a
+06
+1f
+e0
+fe
+50
+d8
+40
+08
 a3
-b6
-10
-f1
-49
-09
-1c
-d2
-20
-87
-cd
-c0
-92
-c6
-62
-95
-bd
-11
-b0
-ca
-e2
-ca
-27
-48
-ab
-d1
-a2
-d1
-86
-69
-3d
+18
 40
-f8
-8b
-f4
-1e
-f3
-5b
-b6
-30
-fd
-64
-f7
-7a
-3f
-19
-32
-a9
-62
-13
-25
-23
-48
+84
+01
+98
+46
+7c
+00
+20
 22
-18
-bf
-26
-4d
-0a
-bb
-51
+80
+db
+67
+e1
+4a
+06
+20
+60
+00
+00
+58
+00
+07
+14
+67
+e1
+4a
+06
+20
+60
+00
+00
+1f
+00
 f0
+01
+1f
 e2
-f8
-76
-8e
-8c
-93
-08
-85
-83
-d1
-fa
-c1
-f5
-a8
-e8
 5e
-91
-ae
-e9
-57
-fd
-2a
-12
-73
-3f
-b5
-81
-85
+00
+20
+60
+00
+00
+1d
+e2
+7e
+00
 1f
-09
-77
-03
-9d
-70
-73
-fd
-4f
-33
-f0
-4c
-b5
-eb
-04
-36
-3f
-75
+00
+f1
+ff
+20
+60
+00
+00
+ef
+e0
+80
+06
 e7
-13
-c4
-01
-b7
-cc
-17
-f4
-df
+e0
+80
+03
+c2
+00
+00
+e4
+e0
+61
+00
+11
+18
+62
+7e
+00
+98
+46
 7c
-f1
-10
-d9
-be
-dd
-bf
-55
-e8
-eb
-13
-d2
-2e
-77
-07
-3c
-f3
-5d
-9e
-2a
-dc
-8e
-24
-a0
-25
-17
-6b
-df
-04
-fd
-06
-91
-e7
-51
-53
-03
-85
-68
-24
-39
-84
-d9
-4e
-e3
-cc
-8c
-a0
-f8
-b9
-44
-5e
-13
-08
-44
-d4
-82
-b3
-60
-91
-b8
-64
-ca
-e9
-8e
-5a
-03
-0f
-5b
-56
-12
-ee
-93
-34
+00
 20
-83
-56
-48
-67
-0c
-29
-85
-39
-94
-ff
-0f
-dc
-43
-74
-15
-07
-7f
-78
-89
-28
-f5
-f2
-99
-f0
-8c
-0f
-7a
-6c
-52
-24
-72
-b9
-9d
-af
-a3
-d1
-cb
-90
-69
-b4
-46
-a3
-59
-30
-cc
-76
-95
-66
-10
-25
-15
-74
-b7
-62
-42
-3c
-14
+22
 a3
-0a
-74
-29
-61
-b3
-6d
-14
-19
-fb
+5a
+20
 60
-82
-ad
-de
-7b
-f8
-27
-9d
-c1
-e7
-b3
-68
-d5
-1c
-92
-10
-4d
-a5
-91
-70
-52
-b4
+00
+00
+6f
+e0
+c9
 f1
-89
-4d
-62
-9f
-a3
-dc
-11
-6a
-73
-f6
-43
-3c
-4e
-54
-65
-10
-10
-d9
-34
-26
-b5
-d2
-2b
-8c
-db
-b4
-9d
+20
 7a
-0d
-0f
-34
-ef
-8c
-1b
-fb
-ae
-f8
-da
-c3
-05
-67
-b7
-32
-d1
-79
-3c
-21
-d7
-cb
-87
-c3
-3b
 00
-df
-4a
-44
-0e
-d4
-5c
-41
-fc
-74
-aa
-16
-0d
-c4
-1d
-70
-43
-b1
-68
-7e
-0e
-04
-7d
-44
-a5
-87
-0f
-d5
-c1
-aa
-55
-40
+00
+6f
+e0
+8c
+f0
+20
+7a
 00
 00
+20
 40
-05
 00
-73
-07
-a0
+f2
+20
+20
 00
+ec
+58
 00
-00
-00
-00
-00
-00
-00
-01
-10
-80
-00
+0a
+ca
+20
 40
 00
+49
+df
+20
 00
+14
+d8
+a0
+0c
+f1
+20
+40
 00
+fc
+6f
+e0
+8c
+f0
+1f
+e0
+ff
+ff
+67
+e0
+8c
+f0
+58
 00
-00
-00
+0c
+f1
 20
+60
 00
-40
-04
 00
+18
+62
+7e
 00
+98
+46
+7c
 00
+20
+22
+a3
+5a
+ef
+e0
+80
+03
+e7
+e0
+80
+05
+c2
 00
 00
+ff
+e0
+61
 00
+11
+20
+60
 00
 00
 70
-00
-00
+49
+c2
+28
+6f
+e1
+4a
 06
+67
+e1
+49
+c3
+58
 00
-30
-00
+08
+a4
+67
+e1
+49
+c5
+6f
+e2
+49
+ba
+67
+e2
+49
+cd
+6f
+e2
+49
+be
+67
+e2
+49
+d1
+6f
+e0
+c9
+d1
+1f
+eb
+fe
 00
+d8
+40
+48
+56
+98
+40
+84
 00
+ef
+e2
 00
+02
+67
+e2
+49
+c9
+70
+49
+dd
+01
+20
+40
+01
+c8
+6f
+e2
+49
+de
+68
+4a
+49
+cd
+98
+46
+7e
 00
+67
+e2
+49
+e6
+20
+40
+01
+4e
+20
+40
+01
+56
+70
+49
+c8
 00
+6f
+e2
+49
+c9
+1f
+e9
+7e
 00
+67
+e2
+49
+d5
+20
+40
+01
+5d
+6f
+e2
+49
+c9
+1f
+e3
+7e
 00
+67
+e2
+49
+c9
+20
 40
+01
+6b
+6f
+e2
+49
+c9
+1f
+e3
+7e
 00
+67
+e2
+49
+c9
+20
+40
+01
+7b
+20
+40
+01
+87
+20
+40
+01
+93
+6f
+e0
+c9
+c8
+68
+48
+c9
+c7
+98
+41
+fe
 00
+67
+e0
+c9
+c8
+6f
+e0
+c9
+c8
+d8
+40
+48
+46
+98
+40
+84
 00
+ef
+e0
+80
+02
+20
+40
+01
+d5
+68
+4a
+49
+d1
+98
+40
+fe
 00
+67
+e2
+49
+d1
+20
+40
+01
+a2
+20
+40
+01
+a7
+6f
+e2
+49
+d1
+1f
+eb
+fe
 00
+d8
+40
+48
+56
+98
+40
+84
 00
+ef
+e2
 00
-00
-00
-00
-00
-00
-00
-aa
-55
-08
-00
-13
-47
-04
-09
-0a
-00
-00
+02
+67
+e2
+49
+c9
+20
+40
+01
+b2
+6f
+e0
+c9
+dd
+d8
+40
 00
 01
-1b
-aa
-55
-1e
+98
+42
+fe
 00
-44
-46
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-05
-ff
-ff
-ff
-ff
-ff
+67
+e0
+c9
+dd
+6f
+e0
+c9
+c2
+1f
+e0
 ff
-aa
-55
-02
-00
 ff
-46
-00
-14
-aa
-55
-03
-00
-02
-47
-05
-02
-05
-aa
-55
+67
+e0
+c9
+c2
+24
+3a
 01
-00
-07
-47
 14
-aa
-55
+6f
+e0
+c9
+dd
+20
+5a
 01
+c2
+6f
+e2
+49
+cd
+67
+e2
+49
+ba
+6f
+e2
+49
+d1
+67
+e2
+49
+be
+20
+60
 00
-05
-47
-02
-aa
-55
-02
 00
-0a
-47
-02
-06
-aa
-55
-01
+6f
+e2
+49
+e6
+c2
+8f
+81
+53
+58
 00
-0d
-47
-0a
-aa
-55
-01
 00
-12
-47
-0a
-aa
-55
-02
 00
-0f
-47
-58
-02
-aa
-55
-02
+67
+e0
+c9
+c7
+20
+60
+00
 00
-3a
-46
 58
-02
-aa
-55
-01
 00
-3d
-46
-64
-aa
-55
-02
 00
-21
-47
-05
+08
+67
+e0
+c9
+c7
+20
+60
 00
-aa
-55
+00
+6f
+e0
+c9
+c7
+24
+3a
 01
+59
+20
+60
 00
-3c
-46
-64
-aa
-55
-02
 00
-38
-46
-b0
-04
-aa
-55
-01
+6f
+e2
+49
+e6
+1f
+e6
+7e
 00
-1e
-47
-0a
-aa
-55
-02
+67
+e2
+49
+e6
+20
+60
 00
-25
-47
-70
-17
-aa
-55
-01
 00
-cb
-43
-08
-aa
-55
-01
+6f
+e2
+49
+e6
+68
+4a
+49
+c9
+98
+46
+7e
 00
-1b
-47
-01
-aa
-55
-01
+c3
+8f
+80
 00
-94
-40
-01
-aa
-55
-01
+70
+49
+c8
+04
+6f
+e2
+49
+e6
+68
+4a
+49
+c9
+98
+46
+7e
 00
-c0
+67
+e2
+49
+e6
+6f
+e2
+49
+d5
+68
+4a
+49
+c9
+98
 40
-20
-aa
-55
-01
+fe
 00
-6b
+67
+e2
 49
+d5
 20
-aa
-55
-03
+60
 00
-3c
-47
 00
+6f
+e2
+49
+e6
+68
+4a
+49
+c9
+98
+46
+7e
 00
+c3
+8f
+80
 00
-aa
-55
+6f
+e0
+c9
+c8
+1f
+e1
+fe
 02
-00
-66
+67
+e0
+c9
+c8
+6f
+e2
+49
+e6
+68
+4a
+49
+c9
+98
 46
+7e
 00
-34
-aa
-55
-01
-00
-74
-46
-34
-aa
-55
-01
+67
+e2
+49
+e6
+6f
+e2
+49
+d5
+68
+4a
+49
+c9
+98
+40
+fe
 00
-28
-47
-03
-aa
-55
-01
+67
+e2
+49
+d5
+20
+60
 00
-27
-47
-07
-aa
-55
-06
 00
+6f
+e2
+49
 e6
+68
+4a
+49
+c9
+98
 46
-ff
-ff
-ff
-ff
-ff
-ff
-aa
-55
-06
-00
-f1
-44
-21
-22
-26
-55
-51
-61
-aa
-55
-01
+7e
 00
-89
-45
-01
-aa
-55
-05
+c3
+8f
+80
 00
-e3
-45
-01
-0f
-0f
-0f
-0f
-aa
-55
+6f
+e0
+c9
+c8
+1f
+e1
+fe
 01
+67
+e0
+c9
+c8
+6f
+e2
+49
+d5
+68
+4a
+49
+c9
+98
+40
+fe
 00
-b9
-45
+67
+e2
+49
+d5
+20
+60
 00
-aa
-55
-01
 00
-40
-47
-02
-aa
-55
+6f
+e0
+c9
+c7
+20
+3a
 01
+8e
+6f
+e2
+49
+cd
+68
+4a
+49
+d5
+98
+46
+7e
 00
-ca
-45
+67
+e2
+49
+cd
+20
+60
 00
-aa
-55
-01
 00
-7b
-47
+6f
+e2
+49
+cd
+68
+4a
+49
+d5
+98
+40
+fe
 00
-aa
-55
-02
+67
+e2
+49
+cd
+20
+60
 00
-8b
-45
-c0
-12
-aa
-55
-07
 00
-43
-47
-d0
-52
+6f
+e2
+49
+cd
+d8
+40
+7f
+ff
+98
+46
+7e
 00
+c3
+0f
+81
+9c
+6f
+e2
+49
+cd
+d8
+5f
 80
-bb
+01
+98
+46
+7e
 00
-05
-aa
-55
-04
+c2
+8f
+81
+9f
+20
+60
 00
-55
-47
-80
-bb
 00
+58
 00
-aa
-55
-07
+7f
+ff
+67
+e2
+49
+cd
+20
+60
 00
-4a
-47
-70
-11
-01
 00
-77
+5f
+ff
+80
 01
-0b
-aa
-55
-04
+67
+e2
+49
+cd
+20
+60
 00
-59
-47
 00
-77
-01
+6f
+e2
+49
+d1
+d8
+40
 00
-aa
-55
-03
 00
-af
-45
+98
+46
+7e
 00
-48
+c2
+8f
+81
+ac
+20
 60
-aa
-55
-02
 00
-1d
-46
-2c
-01
-aa
-55
-02
 00
-1b
-46
-50
+6f
+e2
+49
+d1
+d8
+40
 00
-aa
-55
-02
+58
+98
+46
+7e
 00
-23
-47
-64
+c3
+0f
+81
+af
+20
+60
 00
-aa
-55
-01
 00
-f4
-46
-01
-aa
-55
-06
+58
 00
-db
-42
-51
-81
-91
-a1
-b3
-c1
-aa
-55
-01
 00
-93
-43
-07
-aa
-55
-08
 00
-c0
-43
-fb
+67
+e2
+49
+d1
+20
+60
 00
-48
-08
-fb
 00
-48
-08
-aa
-55
-02
+58
 00
-be
-47
-96
 00
-aa
-55
-02
-00
-b5
-47
-15
+58
+67
+e2
+49
+d1
+20
+60
 00
-aa
-55
-02
 00
-9b
-43
-19
+6f
+e0
+c9
+dd
+20
+3a
+01
+b8
+6f
+e0
+c9
+c8
+1f
+e1
+7e
+0f
+67
+e2
+49
+e2
+20
+60
 00
-aa
-55
-04
 00
-b7
-47
-1d
+6f
+e0
+c9
+c8
+1f
+f2
+7e
 00
-21
+1f
+e1
+7e
+f0
+68
+4a
+49
+e2
+98
+41
+fe
 00
-aa
-55
+68
+49
+49
+c5
+e7
+e0
+80
 02
+18
+40
+84
+01
+60
+49
+49
+c5
+20
+60
 00
-32
-43
-2d
 00
-aa
-55
+6f
+e2
+49
+e2
+68
+49
+49
+c5
+e7
+e0
+80
 02
+18
+40
+84
+01
+60
+49
+49
+c5
+20
+60
 00
-bb
-47
-30
 00
-aa
-55
-0c
+68
+49
+49
+c3
+ef
+e1
 00
-48
-43
-1f
 02
-01
-05
-03
-03
-12
 18
-03
-19
+40
+84
+02
+60
+49
+49
+c3
+20
+40
+01
+cf
+67
+e2
+49
+de
+20
+60
+00
+00
 c2
-03
-aa
-55
-14
+87
+81
+d1
+20
+60
 00
-a0
-47
-06
-ff
-06
 00
-03
+d8
+40
+ff
+ff
+18
+50
+04
 00
-80
-0c
-09
+98
 42
-54
-35
-2e
-32
+fe
+00
 20
-4d
-6f
-75
-73
-65
-aa
-55
-0e
+60
 00
-68
-43
-1f
-0c
-09
-42
-54
-35
-2e
-32
+00
+c2
+83
+81
+d7
 20
+60
+00
+00
+d8
+5f
+ff
+ff
+18
 4d
-6f
-75
-73
-65
-aa
-55
-0c
+04
 00
-6b
-42
-0b
+98
 42
-54
-35
-2e
-32
+fe
+00
 20
-4d
-6f
-75
-73
-65
-aa
-55
-0c
+60
 00
-8c
+00
+58
+00
+00
+00
+67
+e4
 49
-0b
-42
-54
-35
-2e
-32
+ba
 20
-4d
-6f
-75
-73
-65
-aa
-55
-08
+60
 00
-d3
-42
-06
 00
-09
+6f
+f0
+80
+60
+79
+3f
+fe
 00
+67
+f0
+80
+60
+6f
+e4
+4a
+0e
 20
+40
+6d
+68
+6f
+e1
+4a
+16
+20
+40
+6d
+73
+20
+40
+6d
+82
+6f
+e0
+ca
+0c
+d8
+40
 00
-2c
-01
-aa
-55
-06
-00
-9a
-47
-03
-12
-18
-ff
-00
+08
+20
+40
+6f
+21
+6f
+e0
+ca
+0d
+d8
+40
 00
-aa
-55
-03
+49
+20
+40
+6f
+21
+d8
+40
 00
-ec
-46
+81
+60
+58
+80
+60
+20
+60
 00
-50
 00
-aa
-55
-02
+1f
+f1
+a2
 00
-eb
-43
-80
 1f
-aa
-55
+e1
+7e
+0f
+20
+40
 01
+f8
+1f
+e2
+24
 00
-f4
-43
-80
-aa
-55
-01
+1a
+22
+7e
 00
-ec
-44
-ff
-aa
-55
+20
+40
 01
+f8
+1a
+4d
+24
 00
-eb
-44
-1e
-aa
-55
-01
+9a
+40
+fe
 00
-ee
-44
+20
+60
 00
-aa
-55
-01
 00
-41
-41
-03
-aa
-55
-01
+d8
+40
 00
-3e
+0a
+98
 46
-94
-aa
-55
+04
+00
+24
+21
 01
+fe
+58
 00
-d2
-45
-07
-aa
-55
-02
 00
-f0
-45
-83
-47
-aa
-55
-02
+41
+98
+40
+fe
 00
-3f
-46
-85
-90
-aa
-55
-02
+20
+60
 00
-42
-46
-75
-80
-aa
-55
-01
 00
-41
-46
-63
-aa
-55
-01
+d8
+40
 00
-27
-46
-7d
-aa
-55
-01
+30
+98
+40
+fe
 00
-37
-44
+20
+60
 00
-aa
-55
-01
 00
-6c
-08
-ff
-aa
-55
-11
+1f
+22
+7e
 00
-68
-48
-03
-04
-01
-02
 20
-2a
-3f
-15
-14
-1b
-11
+3a
+02
 0e
-8a
-8b
-83
-84
-88
-aa
-55
-08
-00
-4e
-49
-09
-a5
+ef
+e0
+80
+13
+1a
+60
+a6
+01
+20
+40
+02
 0b
-f3
-09
+20
+40
+02
+15
+c2
 00
-ff
-ff
-aa
-55
+02
+03
+6f
+f0
+81
+0b
+c2
+80
+82
 08
+20
+60
 00
-46
-49
-09
-5a
-0b
-f3
-09
 00
-ff
-ff
-aa
-55
-0a
+20
+40
+6d
+92
+e7
+e0
+80
+03
+20
+20
+6d
+9a
+20
+40
+6d
+92
+58
 00
-7c
-48
-09
-5a
-26
-34
-19
-04
-09
+65
+6c
+e7
+e1
 00
-ff
-ff
-aa
-55
-0a
+03
+58
 00
-90
-48
-09
-5a
-0d
-10
-1d
-ed
-7d
-80
-ff
-ff
-aa
-55
-54
+30
+6e
+e7
+e1
 00
-d6
-48
-09
-5a
-ff
-27
-ab
+03
+20
 40
-b3
-56
-9b
-e6
-a8
-12
-a9
-c0
-be
-e6
-a5
-af
-a0
-21
-a1
+6d
+9a
+20
+20
 02
-b8
-10
-b9
-0b
-a7
-ff
-b5
-d0
-b6
+19
+20
+40
+6d
+92
+58
 00
-ff
 00
-09
+20
+e7
+e0
+80
+03
+20
+20
+6d
+9a
+20
+40
+6d
+92
+58
 00
-ff
-ff
-09
-5a
+0a
 0d
-10
-0e
-c5
-5b
+e7
+e1
+00
+03
+20
+20
+6d
 9a
-10
-38
-11
-42
-28
-28
-41
-23
-49
-39
+6a
+61
 4a
-b0
-4b
-a0
-4c
-90
-4d
-70
-09
-00
-ff
-ff
-09
-5a
 06
-02
-09
-69
-0d
-48
-0e
-9f
-0f
-ba
-09
-00
-ff
-ff
-aa
-55
-01
-00
-07
-44
-01
-aa
-55
-01
+df
+20
 00
-09
-44
-0a
-aa
-55
+50
+ef
+e0
+80
+13
+1a
+60
+a6
 01
+20
+40
+02
+0b
+c2
 00
-08
-44
-00
-aa
-55
-01
+02
+1f
+6f
+f0
+81
+0b
+c2
+80
+82
+23
+20
+60
 00
-48
-41
-0c
-aa
-55
-06
 00
-c3
-40
+24
 35
-3f
-64
-db
-7b
-3b
-aa
-55
-01
+a0
+02
+37
+d9
+82
 00
-a7
-40
-20
-aa
-55
-03
+37
+d9
+82
 00
-c9
-40
+20
+80
 00
-08
-b4
-aa
-55
-01
 00
-99
+20
+20
+20
+03
+20
+40
+75
+52
+20
+40
+74
+48
+20
+40
+2a
+45
+20
+40
+20
+2a
+20
+40
+42
+ad
+20
 40
+20
 18
-aa
-55
-01
-00
-1c
-41
-3e
-aa
-55
-0c
-00
-16
-00
-00
-00
 20
+40
+31
+0f
+20
+40
+24
+8c
+20
+20
+02
+2b
+70
+89
 00
 00
+20
+20
+21
+53
+70
+8a
+0f
+60
+70
+8a
+10
+aa
+70
+8a
+12
+7a
+70
+8a
+25
 00
+70
+8a
+26
 00
+20
 00
 00
+3c
+70
+8a
+20
+20
+70
+8a
+23
+f5
+20
+20
+21
+69
+58
 00
+09
+60
+98
+40
+fe
 00
+1f
+e2
+22
 00
-aa
-55
-05
-00
-5e
-41
-08
-0e
-05
-03
+68
+48
+c0
+99
+18
+43
+04
 00
-aa
-55
-01
+98
+46
+fc
 00
-68
-41
 20
-aa
-55
-02
-00
-9a
 40
+7d
+62
+18
+07
+fe
 00
-0c
-aa
-55
-05
-00
-43
-41
-ff
-04
+1f
+ec
+8e
 00
+60
+f0
+89
+0a
+67
+f0
+89
+09
+20
+20
+21
+da
+37
+d9
+82
 00
-08
-aa
-55
+70
+81
+3c
+58
+20
+20
+23
+e2
+70
 01
+bb
 00
-1c
-02
-5a
-aa
-55
+70
 01
-00
-38
-44
-a0
-aa
-55
-02
-00
-3b
-44
 bc
-02
-aa
-55
-02
 00
-39
-44
-90
-01
-aa
+37
+d9
+82
+00
+70
+89
+46
+0d
+70
+89
+6f
+10
+70
+8a
+88
+40
+70
+8a
+13
+cd
+70
+8a
+06
+10
+70
+8a
+84
+4a
+70
+8a
+85
+40
+70
+8a
+16
+fe
+20
+40
+02
+b7
+20
+40
+70
+d7
+24
 55
+82
+4b
+37
+d9
+82
+00
+70
+81
+3b
+5f
+37
+d9
+82
+00
+70
+81
+3c
+88
+37
+d9
+82
+00
+6f
+e0
+c0
+99
+c0
+08
+02
+a8
+6f
+e0
+c4
+38
+1f
+e1
+fe
+04
+67
+f0
+8a
+02
+70
+89
+0f
+01
+70
+8a
+80
+24
+70
+8a
+81
+62
+58
+e6
+12
+12
+67
+f1
+8a
+73
+70
+8a
+86
+60
+70
+8a
+8b
+3b
+20
+40
 02
+9a
+70
+80
+43
 00
-3d
-44
+70
+80
+42
+05
+58
+55
+74
+74
+67
+f1
+89
+68
+70
+89
+60
+6e
+20
+40
+02
+f5
+20
+40
 03
+20
+20
+40
+02
+95
+70
+41
+48
+0c
+20
+75
+80
+00
+70
+8a
+07
+77
+70
+8a
+08
+c9
+70
+8a
+0b
+00
+6f
+e0
+c4
 09
-aa
-55
-01
+67
+f0
+80
+cd
+20
 00
-49
-41
-ff
-aa
-55
+0b
+b8
+20
+40
 02
+87
+70
+8a
+08
+c1
+6a
+40
+c4
+19
+df
+20
 00
-9c
+08
+20
+40
+6f
+58
+6f
+e0
+c4
+19
+67
+e0
+c4
+33
+62
 40
+c4
+19
+20
+60
+00
+00
+70
+80
+cc
+83
+6f
+e0
+c9
+f0
+24
+5a
+02
+90
+6f
+f0
+81
+29
+c3
+02
+82
+8a
+68
+59
+01
+64
+60
 49
-41
-55
-aa
-aa
-55
-04
-45
-cd
-f2
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
+44
+0a
+70
+80
+cc
+80
+20
+60
+00
+00
+70
+80
+cc
+8b
+20
+60
+00
+00
+6f
+f0
+81
+29
+c3
+02
+82
+92
+20
+60
+00
+00
+20
+75
+80
+00
+37
+d9
+82
+00
+6f
+e0
+c1
+1c
+67
+f0
+81
+3a
+20
+20
+23
+e2
+6f
+e0
+c0
+99
+c0
+0c
+02
+a0
+6f
+e0
+c4
+38
+1f
+e1
+fe
+06
+67
+f0
+8a
+02
+70
+8a
+05
+e0
+70
+8a
+00
+d8
+20
+00
+00
+3c
+70
+8a
+01
+a0
+70
+8a
+00
+df
+70
+8a
+01
+fa
+20
+00
+00
+14
+70
+8a
+00
+9f
+20
+60
+00
+00
+6f
+e0
+c4
+38
+1f
+e1
+fe
+06
+67
+f0
+8a
+02
+70
+89
+0f
+00
+70
+8a
+80
+23
+70
+8a
+81
+b0
+58
+e4
+09
+09
+67
+f1
+8a
+73
+70
+8a
+76
+2a
+70
+89
+02
+04
+20
+20
+02
+6b
+6f
+e1
+41
+5b
+20
+7a
+00
+00
+67
+e1
+02
+0f
+20
+20
+02
+c9
+20
+35
+82
+b3
+6f
+e2
+02
+0d
+20
+7a
+00
+00
+37
+d9
+82
+00
+6f
+f0
+81
+36
+1f
+e1
+7e
+f0
+68
+48
+82
+0d
+98
+41
+fe
+00
+1f
+e0
 ff
+fd
+67
+f0
+81
+36
+37
+d9
+82
+00
+6f
+f0
+81
+38
+1f
+e1
+7e
+07
+68
+48
+82
+0e
+18
+49
+84
+00
+98
+41
+fe
+00
+67
+f0
+81
+38
+37
+d9
+82
+00
+6f
+f0
+8a
+cb
+1f
+e1
+7e
+f0
+68
+48
+82
+0f
+60
+48
+c1
+5b
+98
+41
+fe
+00
+67
+f0
+8a
+cb
+6f
+e0
+82
+10
+67
+e0
+c1
+5c
+2f
+ef
+fe
+03
+6f
+f0
+8a
+06
+79
+20
+fe
+07
+67
+f0
+8a
+06
+6f
+e0
+82
+10
+1f
+e1
+04
+07
+18
+52
+04
+00
+18
+43
+84
+00
+60
+48
+c4
+38
+6f
+f0
+8a
+02
+1f
+e1
+7e
+1f
+98
+41
+fe
+00
+67
+f0
+8a
+02
+20
+60
+00
+00
+20
+40
+68
+6f
+20
+40
+21
+ba
+18
+00
+2a
+08
+18
+00
+2a
+00
+58
+0a
+aa
+da
+67
+f1
+8a
+0f
+70
+8a
+25
+40
+70
+8a
+26
+10
+20
+00
+00
+3c
+70
+8a
+01
+fb
+70
+8a
+25
 ff
+70
+8a
+26
+30
+70
+8a
+16
+fe
+20
+20
+21
+b4
+58
+0a
+aa
+7e
+67
+f1
+8a
+0f
+20
+00
+00
+3c
+70
+8a
+25
+00
+70
+8a
+26
+0d
+70
+8a
+16
+f6
+20
+20
+22
+03
+20
+20
+22
+17
+20
+75
+80
+00
+20
+40
+21
+60
+d8
+40
+00
+27
+20
+40
+21
+6f
+20
+40
+21
+a6
+70
+8a
+25
+7f
+70
+8a
+30
+1a
+70
+8a
+31
+78
+70
+8a
+8f
+b2
+70
+8a
+c2
+00
+70
+8a
+c3
+00
+d8
+e0
+00
+06
+20
+40
+03
+12
+2a
+2f
+fe
+0d
+20
+40
+21
+1d
+2a
+4f
+fe
+0d
+20
+40
+21
+1e
+d8
+e0
+00
+05
+20
+40
+21
+1c
+20
+40
+21
+1e
+20
+40
+03
+12
+d8
+a0
+8a
+c2
+1a
+31
+fe
+00
+20
+40
+21
+17
+1a
+51
+fe
+00
+20
+40
+21
+17
+18
+e0
+8f
 ff
+20
+21
+03
+07
+20
+20
+21
+4f
+20
+00
+00
+3c
+58
+00
+0f
+00
+67
+f1
+09
+82
+58
+00
+0f
+f0
+67
+f1
+09
+84
+70
+89
+81
+09
+70
+89
+81
+03
+70
+89
+80
+06
+20
+00
+00
+3c
+da
+20
+00
+00
+da
+40
+00
+00
+df
+20
+00
+10
+d8
+c0
+0f
+00
+20
+20
+21
+2d
+20
+75
+80
+00
+20
+20
+22
+72
+70
+8a
+82
+11
+70
+8a
+8d
+12
+70
+8a
+8e
+0a
+6f
+e0
+c0
+99
+c0
+08
+03
+3b
+58
+00
+57
+62
+67
+f1
+09
+07
+70
+89
+01
+03
+70
+89
+30
+03
+c6
+16
+80
+00
+70
+89
+01
+01
+70
+8a
+82
+07
+70
+8a
+8d
+44
+70
+8a
+8e
+0a
+6f
+e0
+c0
+99
+c0
+08
+03
+38
+58
+00
+2b
+b1
+67
+f1
+09
+07
+c6
+97
+80
+00
+70
+89
+30
+24
+70
+89
+01
+05
+20
+60
+00
+00
+58
+00
+41
+89
+67
+f1
+09
+07
+20
+20
+03
+34
+58
+00
+83
+12
+67
+f1
+09
+07
+20
+20
+03
+29
+20
+40
+28
+1c
+6a
+20
+80
+4d
+1a
+20
+a3
+fc
+24
+21
+26
+fa
+20
+20
+26
+8e
+09
+80
+00
+18
+1f
+ef
+7e
+00
+1f
+f1
+7e
+00
+e7
+e1
+80
+05
+78
+28
+7c
+00
+20
+40
+27
+0d
+20
+23
+26
+f6
+c5
+99
+26
+af
+6f
+e0
+80
+4d
+20
+3a
+26
+af
+1f
+e0
 ff
+fc
+67
+e0
+80
+4d
+20
+40
+72
+cb
+6f
+f0
+81
+08
+c3
+03
+a6
+fa
+18
+00
+70
+0c
+65
+e2
+01
+54
+20
+20
+26
+af
+6f
+e0
+c3
+34
+c1
+00
+00
+00
+c0
+01
+b0
+4a
+20
+20
+28
+e1
+79
+3f
+80
+30
+20
+20
+2a
+f6
+20
+40
+25
+c2
+c5
+97
+83
+61
+78
+3c
+fc
+00
+20
+00
+00
+1e
+20
+40
+25
+c2
+19
+69
+96
+00
+78
+56
+fc
+00
+78
+26
+fc
+00
+78
+30
+fc
+00
+78
+50
+7c
+00
+19
+62
+36
+00
+37
+c1
+84
+00
+20
+37
+03
+6a
+1b
+42
+04
+00
+60
+4b
+00
+0f
+24
+2c
+26
+fa
+78
+28
+7c
+00
+6f
+e0
+c1
+67
+d8
+40
+4e
+20
+98
+40
+84
+00
+6f
+e0
+c1
+48
+98
+4f
+b6
+00
+20
+40
+68
+77
+20
+37
+26
+77
+20
+40
+03
+78
+6f
+e0
+81
+68
+c3
+01
+a6
+77
+20
+55
+a4
+77
+20
+20
+26
+77
+68
+4b
+00
+0f
+1b
+42
+7e
+00
+20
+40
+7d
+12
+1f
+e2
+04
+00
+20
+40
+26
 ff
+1b
+42
+56
+00
+1d
+22
+7e
+00
+98
+40
+fe
+00
+1f
+e2
+52
+00
+20
+60
+00
+00
+c5
+84
+a4
+89
+68
+4a
+40
+ad
+df
+e0
+06
+00
+98
+46
+7c
+00
+20
+61
+00
+00
+18
+42
+22
+00
+68
+4b
+00
+0f
+1d
+62
+7e
+00
+20
+40
+7d
+10
+1a
+22
+04
+00
+20
+20
+24
+7d
+20
+40
+21
+52
+70
+89
+00
+00
+79
+3f
+80
+30
+20
+20
+2a
+e3
+ef
+e1
+00
+06
+c0
+02
+03
+94
+20
+20
+28
+eb
+ef
+e1
+80
+06
+67
+e1
+c3
+97
+c0
+05
+03
+99
+c0
+09
+03
+a8
+20
+20
+2b
+96
+6f
+e4
+47
+13
+c3
+1d
+ad
+19
+20
+40
+2d
+c7
+68
+49
+43
+98
+6f
+e0
+c3
+21
+c2
+81
+83
+a3
+6f
+e1
+43
+98
+c0
+18
+2e
+03
+68
+49
+43
+98
+20
+20
+2d
+1d
+6f
+e1
+43
+32
+98
+46
+7c
+00
+24
+22
+83
+9f
+24
+34
+03
+9f
+20
+20
+2d
+46
+18
+c2
+22
+00
+6f
+e1
+43
+35
+1f
+e0
+a5
+fd
+20
+40
+29
+29
+6f
+e0
+c7
+8f
+c0
+7f
+ad
+ac
+6f
+e0
+c7
+95
+20
+3a
+2d
+ac
+6f
+e0
+c8
+43
+c2
+80
+ad
+ac
+58
+00
+00
+1a
+68
+49
+43
+98
+98
+46
+7c
+00
+24
+22
+ad
+ac
+20
+20
+2d
+46
+18
+46
+7c
 ff
+20
+62
+80
+00
+d9
+00
+00
+04
+28
+4f
+fe
+07
+20
+20
+ee
+bd
+d9
+00
+00
+03
+20
+20
+6e
+bd
+20
+40
+04
+18
+68
+48
+c6
+54
+20
+40
+6e
+f7
+68
+48
+c6
+54
+20
+40
+6e
+d3
+20
+40
+55
+0d
+20
+20
+54
+f9
+6f
+e2
+40
+ad
+98
+40
+fe
+00
+67
+e2
+40
+ad
+20
+40
+03
+d1
+6f
+e0
+c0
+cb
+79
+20
+7e
+04
+20
+40
+23
+e1
+24
+55
+a3
+cb
+37
+d9
+82
+00
+1b
+22
+7e
+00
+67
+e3
+40
+b1
+20
+20
+24
+2b
+60
+04
+40
+e7
+d8
+c0
+80
+70
+d8
+a0
+40
+cc
+20
+40
+7c
+8f
+d8
+c0
+80
+d4
+20
+40
+7c
+89
+6f
+f0
+80
+80
+67
+e0
+c0
+ef
+18
+42
+24
+00
+df
+20
+00
+0c
+da
+20
+00
+16
+da
+60
+81
+4d
+37
+d9
+82
+00
+ef
+e0
+80
+11
+e8
+40
+80
+13
+98
+46
+7c
+00
+20
+22
+83
+e4
+e7
+e0
+80
+13
+37
+d9
+82
+00
+1a
+20
+a2
+01
+1a
+60
+a6
+01
+c2
+00
+03
+de
+1a
+42
+04
+00
+20
+60
+00
+00
+20
+40
+6b
+3a
+20
+40
+6b
+75
+20
+20
+6b
+38
+58
+00
+62
+35
+67
+e1
+45
+f8
+58
+00
+62
+2b
+67
+e1
+45
+fa
+20
+20
+53
+f3
+20
+40
+62
+0e
+20
+40
+03
+f4
+20
+20
+5e
+61
+6f
+e0
+c6
+49
+c1
+7f
+80
+00
+da
+20
+00
+00
+70
+4d
+31
+05
+68
+48
+c6
+49
+20
+40
+03
+fb
+20
+20
+56
+c1
+6f
+e4
+47
+13
+c2
+95
+d6
+de
+6f
+e0
+cd
+2e
+1f
+e2
+26
+00
+6f
+e0
+c6
+54
+c0
+7f
+84
+02
+20
+20
+56
+ce
+6f
+e0
+c6
+49
+20
+40
+59
+46
+68
+48
+c6
+49
+20
+20
+04
+06
+1a
+62
+7e
+00
+67
+e0
+cd
+32
+1f
+e3
+fe
+00
+1f
+e2
+24
+00
+18
+42
+26
+00
+20
+40
+6e
+f7
+1a
+62
+04
+00
+20
+40
+55
+b1
+1a
+62
+04
+00
+20
+40
+6e
+e6
+7d
+20
+a4
+00
+20
+40
+59
+3d
+20
+20
+59
+29
+20
+40
+36
+b4
+24
+74
+00
+00
+20
+40
+36
+be
+20
+40
+04
+18
+20
+20
+36
+1b
+58
+00
+00
+00
+67
+e4
+00
+16
+67
+e2
+00
+1e
+20
+60
+00
+00
+0b
+bd
+aa
+55
+40
+00
+00
+40
+05
+00
+73
+07
+a0
+00
+00
+00
+00
+00
+00
+00
+00
+01
+10
+80
+00
+40
+00
+00
+00
+00
+02
+00
+20
+00
+40
+04
+00
+00
+00
+00
+00
+00
+00
+00
+70
+00
+00
+06
+00
+30
+00
+00
+00
+00
+00
+00
+00
+00
+40
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+08
+00
+13
+47
+04
+09
+0a
+00
+00
+00
+01
+1b
+aa
+55
+1e
+00
+44
+46
 ff
 ff
 ff
@@ -5870,53 +4327,1433 @@
 ff
 ff
 ff
+05
 ff
 ff
 ff
 ff
 ff
 ff
+aa
+55
+02
+00
 ff
+46
+00
+14
+aa
+55
+03
+00
+02
+47
+05
+02
+05
+aa
+55
+01
+00
+07
+47
+14
+aa
+55
+01
+00
+05
+47
+02
+aa
+55
+02
+00
+0a
+47
+02
+06
+aa
+55
+01
+00
+0d
+47
+0a
+aa
+55
+01
+00
+12
+47
+0a
+aa
+55
+02
+00
+0f
+47
+58
+02
+aa
+55
+02
+00
+3a
+46
+58
+02
+aa
+55
+01
+00
+3d
+46
+64
+aa
+55
+02
+00
+21
+47
+05
+00
+aa
+55
+01
+00
+3c
+46
+64
+aa
+55
+02
+00
+38
+46
+b0
+04
+aa
+55
+01
+00
+1e
+47
+0a
+aa
+55
+02
+00
+25
+47
+70
+17
+aa
+55
+01
+00
+cb
+43
+08
+aa
+55
+01
+00
+1b
+47
+01
+aa
+55
+01
+00
+94
+40
+01
+aa
+55
+01
+00
+c0
+40
+20
+aa
+55
+01
+00
+25
+4d
+20
+aa
+55
+03
+00
+3c
+47
+00
+00
+00
+aa
+55
+02
+00
+66
+46
+00
+34
+aa
+55
+01
+00
+74
+46
+34
+aa
+55
+01
+00
+28
+47
+03
+aa
+55
+01
+00
+27
+47
+07
+aa
+55
+06
+00
+e6
+46
 ff
 ff
 ff
 ff
 ff
 ff
+aa
+55
+06
+00
+f1
+44
+21
+22
+26
+55
+51
+61
+aa
+55
+01
+00
+89
+45
+01
+aa
+55
+05
+00
+e3
+45
+01
+0f
+0f
+0f
+0f
+aa
+55
+01
+00
+b9
+45
+00
+aa
+55
+01
+00
+40
+47
+02
+aa
+55
+01
+00
+ca
+45
+00
+aa
+55
+01
+00
+7b
+47
+00
+aa
+55
+02
+00
+8b
+45
+c0
+12
+aa
+55
+07
+00
+43
+47
+d0
+52
+00
+80
+bb
+00
+05
+aa
+55
+04
+00
+55
+47
+80
+bb
+00
+00
+aa
+55
+07
+00
+4a
+47
+70
+11
+01
+00
+77
+01
+0b
+aa
+55
+04
+00
+59
+47
+00
+77
+01
+00
+aa
+55
+03
+00
+af
+45
+00
+48
+60
+aa
+55
+02
+00
+1d
+46
+2c
+01
+aa
+55
+02
+00
+1b
+46
+50
+00
+aa
+55
+02
+00
+23
+47
+64
+00
+aa
+55
+01
+00
+f4
+46
+01
+aa
+55
+06
+00
+db
+42
+51
+81
+91
+a1
+b3
+c1
+aa
+55
+01
+00
+93
+43
+07
+aa
+55
+08
+00
+c0
+43
+fb
+00
+48
+08
+fb
+00
+48
+08
+aa
+55
+02
+00
+be
+47
+96
+00
+aa
+55
+02
+00
+b5
+47
+15
+00
+aa
+55
+02
+00
+9b
+43
+19
+00
+aa
+55
+04
+00
+b7
+47
+1d
+00
+21
+00
+aa
+55
+02
+00
+32
+43
+2d
+00
+aa
+55
+02
+00
+bb
+47
+30
+00
+aa
+55
+0c
+00
+48
+43
+1f
+02
+01
+05
+03
+03
+12
+18
+03
+19
+c2
+03
+aa
+55
+14
+00
+a0
+47
+06
 ff
+06
+00
+03
+00
+80
+0c
+09
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0e
+00
+68
+43
+1f
+0c
+09
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+6b
+42
+0b
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+0c
+00
+46
+4d
+0b
+42
+54
+35
+2e
+32
+20
+4d
+6f
+75
+73
+65
+aa
+55
+08
+00
+d3
+42
+06
+00
+09
+00
+20
+00
+2c
+01
+aa
+55
+06
+00
+9a
+47
+03
+12
+18
 ff
+00
+00
+aa
+55
+03
+00
+ec
+46
+00
+50
+00
+aa
+55
+02
+00
+eb
+43
+80
+1f
+aa
+55
+01
+00
+f4
+43
+80
+aa
+55
+01
+00
+ec
+44
 ff
+aa
+55
+01
+00
+eb
+44
+1e
+aa
+55
+01
+00
+ee
+44
+00
+aa
+55
+01
+00
+41
+41
+03
+aa
+55
+01
+00
+3e
+46
+94
+aa
+55
+01
+00
+d2
+45
+07
+aa
+55
+02
+00
+f0
+45
+83
+47
+aa
+55
+02
+00
+3f
+46
+85
+90
+aa
+55
+02
+00
+42
+46
+75
+80
+aa
+55
+01
+00
+41
+46
+63
+aa
+55
+01
+00
+27
+46
+7d
+aa
+55
+01
+00
+37
+44
+00
+aa
+55
+01
+00
+6c
+08
 ff
+aa
+55
+11
+00
+22
+4c
+03
+04
+01
+02
+20
+2a
+3f
+15
+14
+1b
+11
+0e
+8a
+8b
+83
+84
+88
+aa
+55
+08
+00
+08
+4d
+09
+a5
+0b
+f3
+09
+00
 ff
 ff
+aa
+55
+08
+00
+00
+4d
+09
+5a
+0b
+f3
+09
+00
 ff
 ff
+aa
+55
+0a
+00
+36
+4c
+09
+5a
+26
+34
+19
+04
+09
+00
 ff
 ff
+aa
+55
+0a
+00
+4a
+4c
+09
+5a
+0d
+10
+1d
+ed
+7d
+80
 ff
 ff
+aa
+55
+54
+00
+90
+4c
+09
+5a
 ff
+27
+ab
+40
+b3
+56
+9b
+e6
+a8
+12
+a9
+c0
+be
+e6
+a5
+af
+a0
+21
+a1
+02
+b8
+10
+b9
+0b
+a7
 ff
+b5
+d0
+b6
+00
 ff
+00
+09
+00
 ff
 ff
+09
+5a
+0d
+10
+0e
+c5
+5b
+9a
+10
+38
+11
+42
+28
+28
+41
+23
+49
+39
+4a
+b0
+4b
+a0
+4c
+90
+4d
+70
+09
+00
 ff
 ff
+09
+5a
+06
+02
+09
+69
+0d
+48
+0e
+9f
+0f
+ba
+09
+00
 ff
 ff
+aa
+55
+01
+00
+07
+44
+01
+aa
+55
+01
+00
+09
+44
+0a
+aa
+55
+01
+00
+08
+44
+00
+aa
+55
+01
+00
+1c
+02
+5a
+aa
+55
+02
+00
+0c
+4a
+07
 ff
+aa
+55
+02
+00
+16
+4a
+10
+00
+aa
+55
+04
+00
+12
+4a
+e8
+4a
 ff
+4b
+aa
+55
+04
+00
+0e
+4a
+20
+4a
+e7
+4a
+aa
+55
+01
+00
+ec
+49
+10
+aa
+55
+02
+00
+ea
+49
+04
+06
+aa
+55
+01
+00
+11
+44
+00
+aa
+55
+01
+00
+11
+44
+00
+aa
+55
+04
+00
+0d
+44
+00
+07
 ff
+07
+aa
+55
+04
+00
+08
+4a
+14
+07
+a3
+08
+aa
+55
+74
+01
+46
+48
 ff
 ff
 ff
 ff
+02
+04
+06
+08
 ff
 ff
 ff
 ff
+02
+04
+06
+08
+07
+00
+00
+00
+08
+00
+00
+00
+09
+00
+00
+00
+0a
+00
+00
+00
+0b
+00
+00
+00
+0c
+00
+00
+00
+0d
+00
+00
+00
+0e
+00
+00
+00
+10
+00
+00
+00
+11
+00
+00
+00
+13
+00
+00
+00
+15
+00
+00
+00
+17
+00
+00
+00
+19
+00
+00
+00
+1c
+00
+00
+00
+1f
+00
+00
+00
+22
+00
+00
+00
+25
+00
+00
+00
+29
+00
+00
+00
+2d
+00
+00
+00
+32
+00
+00
+00
+37
+00
+00
+00
+3c
+00
+00
+00
+42
+00
+00
+00
+49
+00
+00
+00
+50
+00
+00
+00
+58
+00
+00
+00
+61
+00
+00
+00
+6b
+00
+00
+00
+76
+00
+00
+00
+82
+00
+00
+00
+8f
+00
+00
+00
+9d
+00
+00
+00
+ad
+00
+00
+00
+be
+00
+00
+00
+d1
+00
+00
+00
+e6
+00
+00
+00
+fd
+00
+00
+00
+17
+01
+00
+00
+33
+01
+00
+00
+51
+01
+00
+00
+73
+01
+00
+00
+98
+01
+00
+00
+c1
+01
+00
+00
+ee
+01
+00
+00
+20
+02
+00
+00
+56
+02
+00
+00
+92
+02
+00
+00
+d4
+02
+00
+00
+1c
+03
+00
+00
+6c
+03
+00
+00
+c3
+03
+00
+00
+24
+04
+00
+00
+8e
+04
+00
+00
+02
+05
+00
+00
+83
+05
+00
+00
+10
+06
+00
+00
+ab
+06
+00
+00
+56
+07
+00
+00
+12
+08
+00
+00
+e0
+08
+00
+00
+c3
+09
+00
+00
+bd
+0a
+00
+00
+d0
+0b
+00
+00
 ff
+0c
+00
+00
+4c
+0e
+00
+00
+ba
+0f
+00
+00
+4c
+11
+00
+00
+07
+13
+00
+00
+ee
+14
+00
+00
+06
+17
+00
+00
+54
+19
+00
+00
+dc
+1b
+00
+00
+a5
+1e
+00
+00
+b6
+21
+00
+00
+15
+25
+00
+00
+ca
+28
+00
+00
+df
+2c
+00
+00
+5b
+31
+00
+00
+4b
+36
+00
+00
+b9
+3b
+00
+00
+b2
+41
+00
+00
+44
+48
+00
+00
+7e
+4f
+00
+00
+71
+57
+00
+00
+2f
+60
+00
+00
+ce
+69
+00
+00
+62
+74
+00
+00
 ff
+7f
+00
+00
+aa
+55
+50
+00
+af
+4b
+11
+11
+11
+11
+22
+22
+22
+22
+11
+11
+11
+11
+22
+22
+22
+22
+11
+11
+11
+11
+22
+22
+22
+22
+11
+11
+11
+11
+22
+22
+22
+22
+11
+11
+11
+11
+22
+22
+22
+22
+11
+11
+11
+11
+22
+22
+22
+22
+11
+11
+11
+11
+22
+22
+22
+22
+11
+11
+11
+11
+22
+22
+22
+22
+11
+11
+11
+11
+22
+22
+22
+22
 ff
 ff
 ff
@@ -5925,8 +5762,171 @@
 ff
 ff
 ff
+aa
+55
+01
+00
+48
+41
+0c
+aa
+55
+06
+00
+c3
+40
+35
+3f
+64
+db
+7b
+3b
+aa
+55
+01
+00
+a7
+40
+20
+aa
+55
+03
+00
+c9
+40
+00
+08
+b4
+aa
+55
+01
+00
+99
+40
+18
+aa
+55
+01
+00
+1c
+41
+3e
+aa
+55
+0c
+00
+16
+00
+00
+00
+20
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+05
+00
+5e
+41
+08
+0e
+05
+03
+00
+aa
+55
+01
+00
+68
+41
+20
+aa
+55
+02
+00
+9a
+40
+00
+0c
+aa
+55
+05
+00
+43
+41
 ff
+04
+00
+00
+08
+aa
+55
+01
+00
+1c
+02
+5a
+aa
+55
+01
+00
+38
+44
+a0
+aa
+55
+02
+00
+3b
+44
+bc
+02
+aa
+55
+02
+00
+39
+44
+90
+01
+aa
+55
+02
+00
+3d
+44
+03
+09
+aa
+55
+01
+00
+49
+41
 ff
+aa
+55
+02
+00
+9c
+40
+49
+41
+55
+aa
+aa
+55
+6a
+9f
+b4
+e4
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-fd
-51
+27
+b1
Index: output/memmap.format
===================================================================
--- /1121s/branch/tools/audio_demo/output/memmap.format	(revision 4856)
+++ /1121s/branch/tools/audio_demo/output/memmap.format	(working copy)
@@ -317,6 +317,14 @@
 0x070d mem_data_current
 0x070f mem_data_sum
 0x0712 mem_data_value
+0x0714 mem_voice_raw_start
+0x0714 mem_voice_raw
+0x08a3 mem_voice_raw_end
+0x08a4 mem_adpcm
+0x0aca mem_voice_adpcm_buf
+0x0cf0 mem_voice_queue_count
+0x0cf1 mem_queue_buf
+0x0d05 mem_memalloc_mouse_param_end
 0x0709 mem_le_test_sync
 0x070b mem_le_test_pcnt
 0x070d mem_tst_pktcnt_crc
@@ -1726,322 +1734,368 @@
 0x4843 mem_le_connect_status_flag
 0x4844 mem_le_start_encrypt_timer
 0x4845 mem_mouse_direct_timer
-0x4846 mem_power_on_flag
-0x4847 mem_mouse_factory_addr
-0x484d mem_keyboard_flag
-0x4855 mem_keyboard_tx_data
-0x485f mem_keyboard_data_send_flag
-0x4860 mem_keyboard_le_send_conn_param_update
-0x4861 mem_keyboard_le_send_conn_param_update_timer
-0x4862 mem_le_start_auto_reco_timer
-0x4863 mem_mcu_stb_gpio
-0x4864 mem_mcu_clk_gpio
-0x4865 mem_mcu_rstb_gpio
-0x4866 mem_keyboard_caps_led_gpio
-0x4867 mem_keyboard_num_led_gpio
-0x4868 mem_keyboard_power_led_gpio
-0x4869 mem_keyboard_caps_led_on_timer
-0x486b mem_keyboard_led_r_gpio
-0x486c mem_keyboard_led_g_gpio
-0x486d mem_keyboard_led_b_gpio
-0x486e mem_key_row_gpio
-0x4876 mem_key_col_gpio
-0x488a mem_key_excol_gpio
-0x4896 mem_kb_row_ptr
-0x4898 mem_kb_col_ptr
-0x489a mem_kb_excol_ptr
-0x489c mem_keyscan_value_current
-0x48b0 mem_keyscan_value_check
-0x48c4 mem_keyscan_value_old
-0x48d8 mem_keyscan_exmcu_value
-0x48e3 mem_keyscan_value_ptr
-0x48e5 mem_keyscan_exmcu_value_ptr
-0x48e7 mem_keyscan_value_temp
-0x48e8 mem_keyscan_col_loop_count
-0x48e9 mem_keyscan_exmcu_wait_wake_count
-0x48eb mem_same_keyvalue_timerout_flag
-0x48ec mem_same_keyvalue_timer_init
-0x48ee mem_same_keyvalue_timer
-0x48f0 mem_keyboard_current_col_press_key_count
-0x48f1 mem_keyboard_all_press_key_count
-0x48f2 mem_keyboard_same_row_press_key_count
-0x48f3 mem_keyboard_ghost_flag
-0x48f4 mem_keyboard_data_change_flag
-0x48f5 mem_keyboard_keyvalue_temp
-0x48f6 mem_keyboard_press_flag_temp
-0x48f7 mem_keyboard_keyvalue_bit_loop_count
-0x48f8 mem_keyboard_keyvalue_buffer
-0x4901 mem_keyboard_keyvalue_map
-0x49a1 mem_keyboard_fn_flag
-0x49a2 mem_keyboard_control_key_flag
-0x49a3 mem_keyboard_bt_button_flag
-0x49a4 mem_keyboard_pairing_type
-0x49a5 mem_keyboard_commbination_key_bt
-0x49a7 mem_keyboard_commbination_key_24g
-0x49a9 mem_24g_repeat_send_flag
-0x49aa mem_keyboard_led_status
-0x49ab mem_keyboard_led_status_get
-0x49ac mem_keyboard_led_status_get_timer
-0x49ad mem_keyboard_led_status_get_timer_last
-0x49ae mem_keyboard_fn_esc_f1_f12
-0x49ae mem_keyboard_fn_first
-0x49af mem_keyboard_fn_esc
-0x49b0 mem_keyboard_fn_f1
-0x49b1 mem_keyboard_fn_f2
-0x49b2 mem_keyboard_fn_f3
-0x49b3 mem_keyboard_fn_f4
-0x49b4 mem_keyboard_fn_f5
-0x49b5 mem_keyboard_fn_f6
-0x49b6 mem_keyboard_fn_f7
-0x49b7 mem_keyboard_fn_f8
-0x49b8 mem_keyboard_fn_f9
-0x49b9 mem_keyboard_fn_f10
-0x49ba mem_keyboard_fn_f11
-0x49bb mem_keyboard_fn_f12
-0x49bc mem_keyboard_fn_del
-0x49bd mem_keyboard_fn_arrow_enable_flag
-0x49be mem_keyboard_fn_left_ctrl_enable_flag
-0x49bf mem_keyboard_fn_space_enable_flag
-0x49c0 mem_keyboard_fn_system_switch_enable_flag
-0x49c1 mem_keyboard_commbination_key_step
-0x49c2 mem_keyboard_commbination_control_key_value
-0x49c3 mem_keyboard_commbination_standard_key_value
-0x49c4 mem_keyboard_commbination_control_key_delay_release_timer
-0x49c5 mem_keyboard_consumer_key_status
-0x49c6 mem_kb_computer_system
-0x49c7 mem_otp_read_retention_memory
-0x49df mem_otp_read_retention_offset
-0x49e1 mem_le_search_service_uuid
-0x49f1 mem_le_connect_ios_mac_flag
-0x49f2 mem_le_search_mac_uuid
-0x49f4 mem_le_search_mac_manu_name
-0x49fd mem_keybord_appearance
-0x49ff mem_keyboard_commbination_fast_conn_bt
-0x4846 mem_mouse_key
-0x4847 mem_mouse_x
-0x4849 mem_mouse_y
-0x484b mem_mouse_z
-0x484c mem_mouse_tz
-0x484d mem_mouse_xy_h
-0x484e mem_mouse_key_last
-0x484f mem_wheel_tb_old_pinlevel
-0x4850 mem_wheel_tb_new_pinlevel
-0x4851 mem_wheel_tog
-0x4852 mem_mouse_tz_data
-0x4853 mem_mwheel_b_old_pinlevel
-0x4854 mem_mwheel_b_new_pinlevel
-0x4855 mem_mwheel_tog
-0x4856 mem_mouse_z_data
-0x4857 mem_mouse_wheel_trigger
-0x4858 mem_mouse_wheel_trigger_timer
-0x4859 mem_sensor_id1
-0x485a mem_sensor_id2
-0x485b mem_sensor_shutter_hi
-0x485c mem_sensor_shutter_lo
-0x485d mem_sensor_smart_flag
-0x485e mem_sensor_squal_reg
-0x485f mem_sensor_iqc
-0x4860 mem_mouse_move_flag
-0x4861 mem_mouse_asm_flag
-0x4862 mem_mouse_x_pre
-0x4864 mem_mouse_y_pre
-0x4866 mem_mouse_data_xtemp
-0x4867 mem_mouse_data_ytemp
-0x4868 mem_mouse_dpi_seting
-0x4868 mem_320x_dpi_0
-0x4869 mem_320x_dpi_1
-0x486a mem_320x_dpi_2
-0x486b mem_320x_dpi_3
-0x486c mem_3212_dpi_0
-0x486d mem_3212_dpi_1
-0x486e mem_3212_dpi_2
-0x486f mem_3212_dpi_3
-0x4870 mem_ka8g2_dpi_0
-0x4871 mem_ka8g2_dpi_1
-0x4872 mem_ka8g2_dpi_2
-0x4873 mem_ka8g2_dpi_3
-0x4874 mem_sensor_s201_dpi
-0x4874 mem_sensor_s201_dpi_0
-0x4875 mem_sensor_s201_dpi_1
-0x4876 mem_sensor_s201_dpi_2
-0x4877 mem_sensor_s201_dpi_3
-0x4878 mem_sensor_s201_dpi_4
-0x4879 mem_mouse_cpi_count
-0x487a mem_mouse_dpi_button_state
-0x487b mem_mouse_dpi_long_press_flag
-0x487c mem_sensor_3212_init
-0x4886 mem_sensor_3204_init
-0x4890 mem_sensor_3205_init
-0x489a mem_sensor_32xx_init
-0x48b4 mem_sensor_32xx_init_1
-0x48d6 mem_sensor_8650_init
-0x48fc mem_sensor_ka8ul_init
-0x491a mem_sensor_8009_init
-0x492a mem_sensor_ka8g2_init
-0x493a mem_sensor_p6520_init
-0x4946 mem_sensor_poweron_init
-0x494e mem_sensor_ka8g2_poweron_init
-0x4956 mem_mouse_clear_sensor_data_flag
-0x4957 mem_config_sensor_type
-0x4958 mem_config_sensor_angle
-0x4959 mem_bluetooth_125hz_cnt
-0x495a mem_device_addr_temp
-0x4961 mem_mouse_bt_boot_mode
-0x4962 mem_mouse_bt_boot_data
-0x4967 mem_bt_send_max_slot_req_accept_after_switch
-0x4968 mem_mouse_bt_send_first_package_timer
-0x4969 mem_mouse_bt_send_first_package_flag
-0x496a mem_lmi_opcode_temp
-0x496b mem_lpm_mult_init
-0x496c mem_customer_key
-0x496d mem_customer_data_trigger
-0x496e mem_customer_data_trigger_last
-0x496f mem_mouse_lkey_press_status
-0x4970 mem_mouse_rkey_press_status
-0x4971 mem_mouse_mkey_press_status
-0x4972 mem_mouse_bkkey_press_status
-0x4973 mem_mouse_fwkey_press_status
-0x4974 mem_mouse_dpikey_press_status
-0x4975 mem_mouse_pbkey_press_status
-0x4976 mem_mouse_customerkey_press_status
-0x4977 mem_mouse_key_temp
-0x4978 mem_mouse_key_status
-0x4979 mem_mouse_matrix_key_cow_count
-0x497a mem_mouse_matrix_key_row_count
-0x497b mem_mouse_ghost_flag
-0x497c mem_bt_discovery_count
-0x497d mem_select_device_count
-0x497e mem_mouse_commbination_key
-0x497f mem_select_device_button_statue
-0x4980 mem_commbination_key_statue
-0x4981 mem_combination_ui_button_count
-0x4982 mem_fire_key_status
-0x4983 mem_fire_key_delay
-0x4987 mem_fire_key_flag
-0x4988 mem_dpi_another_press_status
-0x4989 mem_dpi_another_button_state
-0x498a mem_dpi_another_button_down_enable
-0x498b mem_mouse_key_temp_patch
-0x498c mem_le_name_patch_len
-0x498d mem_le_name_patch
-0x49a0 mem_device_flag_last
-0x49a1 mem_device_flag_temp
-0x49a2 mem_device_flag_value
-0x49a3 mem_mouse_le_addr1_last
-0x49a9 mem_mouse_le_addr1_temp
-0x49af mem_mouse_le_locall_addr1_last
-0x49b5 mem_mouse_le_locall_addr1_temp
-0x49bb mem_mouse_le_addr2_last
-0x49c1 mem_mouse_le_addr2_temp
-0x49c7 mem_mouse_le_locall_addr2_last
-0x49cd mem_mouse_le_locall_addr2_temp
-0x49d3 mem_mouse_dpi_last
-0x49d4 mem_mouse_dpi_temp
-0x49d5 mem_mouse_otp_dpi_value
-0x49d6 mem_mouse_24g_addr_last
-0x49da mem_mouse_24g_addr_temp
-0x49de mem_random_addr_increase_count_last
-0x49e0 mem_random_addr_increase_count_temp
-0x49e2 mem_otp_offset_device_flag
-0x49e4 mem_otp_offset_device_flag_end
-0x49e6 mem_otp_offset_24g_addr
-0x49e8 mem_otp_offset_24g_addr_end
-0x49ea mem_otp_offset_le_addr1
-0x49ec mem_otp_offset_le_addr1_end
-0x49ee mem_otp_offset_le_locall_addr1
-0x49f0 mem_otp_offset_le_locall_addr1_end
-0x49f2 mem_otp_offset_le_addr2
-0x49f4 mem_otp_offset_le_addr2_end
-0x49f6 mem_otp_offset_le_locall_addr2
-0x49f8 mem_otp_offset_le_locall_addr2_end
-0x49fa mem_otp_offset_dpi
-0x49fc mem_otp_offset_dpi_end
-0x49fe mem_otp_offset_le_addr_increase_count
-0x4a00 mem_otp_offset_le_addr_increase_count_end
-0x4a02 mem_otp_offset_app_initflag
-0x4a04 mem_le_tx_buffer0_omemalloc_new
-0x4a44 mem_le_tx_buffer1_omemalloc_new
-0x4a84 mem_le_tx_buffer2_omemalloc_new
-0x4ac4 mem_le_tx_buffer3_omemalloc_new
-0x4b04 mem_24g_txpayload_buf
-0x4b14 mem_release_data_from_receiver_enable
-0x4b15 mem_release_data_from_transmiter_enable
-0x4b16 mem_flippen_key0_gpio
-0x4b17 mem_flippen_key1_gpio
-0x4b18 mem_flippen_key2_gpio
-0x4b19 mem_flippen_key3_gpio
-0x4b1a mem_flippen_key4_gpio
-0x4b1b mem_flippen_key5_gpio
-0x4b1c mem_flippen_key6_gpio
-0x4b1d mem_flippen_key7_gpio
-0x4b1e mem_flippen_key0_press_status
-0x4b1f mem_flippen_key1_press_status
-0x4b20 mem_flippen_key2_press_status
-0x4b21 mem_flippen_key3_press_status
-0x4b22 mem_flippen_key4_press_status
-0x4b23 mem_flippen_key5_press_status
-0x4b24 mem_flippen_key6_press_status
-0x4b25 mem_flippen_key7_press_status
-0x4b26 mem_key_press_data
-0x4b26 mem_key_pageup_data
-0x4b2f mem_key_pagedown_data
-0x4b38 mem_key_shift_f5_data
-0x4b41 mem_key_esc_data
-0x4b4a mem_key_b_data
-0x4b53 mem_key_tab
-0x4b5c mem_key_enter
-0x4b65 mem_key_alt_tab
-0x4b6e mem_key_alt_f4
-0x4b77 mem_key_play_pause
-0x4b80 mem_key_vol_up
-0x4b89 mem_key_vol_down
-0x4b92 mem_standard_key_release
-0x4b9b mem_system_ctrl_key_release
-0x4ba4 mem_media_key_release
-0x4bad mem_key0_long_press_flag
-0x4bae mem_key1_long_press_flag
-0x4baf mem_key2_long_press_flag
-0x4bb0 mem_key3_long_press_flag
-0x4bb1 mem_key4_long_press_flag
-0x4bb2 mem_key0_long_press_event
-0x4bb3 mem_key1_long_press_event
-0x4bb4 mem_key2_long_press_event
-0x4bb5 mem_key3_long_press_event
-0x4bb6 mem_key4_long_press_event
-0x4bb7 mem_key0_short_press_flag
-0x4bb8 mem_key1_short_press_flag
-0x4bb9 mem_key2_short_press_flag
-0x4bba mem_key3_short_press_flag
-0x4bbb mem_key4_short_press_flag
-0x4bbc mem_key0_press_timer_count
-0x4bbd mem_key1_press_timer_count
-0x4bbe mem_key2_press_timer_count
-0x4bbf mem_key3_press_timer_count
-0x4bc0 mem_key4_press_timer_count
-0x4bc1 mem_combination_key_down_flag
-0x4bc2 mem_combination_key_longpress_flag
-0x4bc3 mem_key_disable_timer
-0x4bc4 mem_24g_calculate_package_id_disable
-0x4bc5 mem_24g_package_id_abandon_flag
-0x4bc6 mem_24g_package_id
-0x4bc7 mem_key_state
-0x4bc8 mem_key_press_state
-0x4bc9 mem_poweron_first_blank_data_enable
-0x4bca mem_flippen_no_data_timeout
-0x4bcc mem_flippen_start_pair_no_data_timeout
-0x4bce mem_key_longpress_timer_init
-0x4bd0 mem_key_longpress_timer
-0x4bd2 mem_low_voltage_led_blink_flag
-0x4bd3 mem_low_voltage_led_blink_start_timer
-0x4bd4 mem_poweron_led_blink_flag
-0x4bd5 mem_24g_pair_enable_flag
-0x4bd6 mem_24g_ch_work
-0x4bd7 mem_24g_pair_key_down_flag
-0x4bd8 mem_24g_pairing_stop_flag
-0x4bd9 mem_longpress_24g_enter_hibernate_flag
-0x4bda mem_g24_connected_state
-0x4bdb mem_g24_pairing_stop_flag
-0x4bdc mem_send_package_before_check
+0x4846 mem_ad_indexTable1
+0x4856 mem_ad_stepsizeTable1
+0x49ba mem_ad_state_valpred1
+0x49be mem_ad_state_index1
+0x49c2 mem_ad_in_numSamples1
+0x49c3 mem_ad_in_ptr1
+0x49c5 mem_ad_out_ptr1
+0x49c7 mem_ad_sign1
+0x49c8 mem_ad_delta1
+0x49c9 mem_ad_step1
+0x49cd mem_ad_valpred1
+0x49d1 mem_ad_index1
+0x49d5 mem_ad_vpdiff1
+0x49d9 mem_ad_inputbuffer1
+0x49dd mem_ad_bufferstep1
+0x49de mem_ad_val1
+0x49e2 mem_ad_outputbuffer1
+0x49e6 mem_ad_diff1
+0x49ea mem_ms_audio_micinp_gpio
+0x49eb mem_ms_audio_micbisa_gpio
+0x49ec mem_ms_audio_key_gpio
+0x49ed mem_ms_audio_key_state
+0x49ee mem_ms_audio_enable_flag
+0x49ef mem_ms_audio_enable_timer
+0x49f0 mem_ms_adc_mode
+0x49f1 mem_voice_enable
+0x49f2 mem_voice_notify
+0x4a06 mem_adc_dma_rptr
+0x4a08 mem_adc_audio_saddr_ptr
+0x4a0a mem_adc_audio_eaddr_ptr
+0x4a0c mem_app_uart_tx_gpio
+0x4a0d mem_app_uart_rx_gpio
+0x4a0e mem_app_uart_rx_buff_sptr
+0x4a10 mem_app_uart_rx_buff_eptr
+0x4a12 mem_app_uart_tx_buff_sptr
+0x4a14 mem_app_uart_tx_buff_eptr
+0x4a16 mem_app_uart_baud_rate
+0x4a18 mem_app_print_buffer
+0x4a20 mem_mouse_param_end
+0x4a20 mem_app_uart_rx_buff_start
+0x4a20 mem_app_uart_rx_buff
+0x4ae7 mem_app_uart_rx_buff_end
+0x4ae8 mem_app_uart_tx_buff_start
+0x4ae8 mem_app_uart_tx_buff
+0x4baf mem_test_data
+0x4bff mem_app_uart_tx_buff_end
+0x4c00 mem_power_on_flag
+0x4c01 mem_mouse_factory_addr
+0x4c07 mem_keyboard_flag
+0x4c0f mem_keyboard_tx_data
+0x4c19 mem_keyboard_data_send_flag
+0x4c1a mem_keyboard_le_send_conn_param_update
+0x4c1b mem_keyboard_le_send_conn_param_update_timer
+0x4c1c mem_le_start_auto_reco_timer
+0x4c1d mem_mcu_stb_gpio
+0x4c1e mem_mcu_clk_gpio
+0x4c1f mem_mcu_rstb_gpio
+0x4c20 mem_keyboard_caps_led_gpio
+0x4c21 mem_keyboard_num_led_gpio
+0x4c22 mem_keyboard_power_led_gpio
+0x4c23 mem_keyboard_caps_led_on_timer
+0x4c25 mem_keyboard_led_r_gpio
+0x4c26 mem_keyboard_led_g_gpio
+0x4c27 mem_keyboard_led_b_gpio
+0x4c28 mem_key_row_gpio
+0x4c30 mem_key_col_gpio
+0x4c44 mem_key_excol_gpio
+0x4c50 mem_kb_row_ptr
+0x4c52 mem_kb_col_ptr
+0x4c54 mem_kb_excol_ptr
+0x4c56 mem_keyscan_value_current
+0x4c6a mem_keyscan_value_check
+0x4c7e mem_keyscan_value_old
+0x4c92 mem_keyscan_exmcu_value
+0x4c9d mem_keyscan_value_ptr
+0x4c9f mem_keyscan_exmcu_value_ptr
+0x4ca1 mem_keyscan_value_temp
+0x4ca2 mem_keyscan_col_loop_count
+0x4ca3 mem_keyscan_exmcu_wait_wake_count
+0x4ca5 mem_same_keyvalue_timerout_flag
+0x4ca6 mem_same_keyvalue_timer_init
+0x4ca8 mem_same_keyvalue_timer
+0x4caa mem_keyboard_current_col_press_key_count
+0x4cab mem_keyboard_all_press_key_count
+0x4cac mem_keyboard_same_row_press_key_count
+0x4cad mem_keyboard_ghost_flag
+0x4cae mem_keyboard_data_change_flag
+0x4caf mem_keyboard_keyvalue_temp
+0x4cb0 mem_keyboard_press_flag_temp
+0x4cb1 mem_keyboard_keyvalue_bit_loop_count
+0x4cb2 mem_keyboard_keyvalue_buffer
+0x4cbb mem_keyboard_keyvalue_map
+0x4d5b mem_keyboard_fn_flag
+0x4d5c mem_keyboard_control_key_flag
+0x4d5d mem_keyboard_bt_button_flag
+0x4d5e mem_keyboard_pairing_type
+0x4d5f mem_keyboard_commbination_key_bt
+0x4d61 mem_keyboard_commbination_key_24g
+0x4d63 mem_24g_repeat_send_flag
+0x4d64 mem_keyboard_led_status
+0x4d65 mem_keyboard_led_status_get
+0x4d66 mem_keyboard_led_status_get_timer
+0x4d67 mem_keyboard_led_status_get_timer_last
+0x4d68 mem_keyboard_fn_esc_f1_f12
+0x4d68 mem_keyboard_fn_first
+0x4d69 mem_keyboard_fn_esc
+0x4d6a mem_keyboard_fn_f1
+0x4d6b mem_keyboard_fn_f2
+0x4d6c mem_keyboard_fn_f3
+0x4d6d mem_keyboard_fn_f4
+0x4d6e mem_keyboard_fn_f5
+0x4d6f mem_keyboard_fn_f6
+0x4d70 mem_keyboard_fn_f7
+0x4d71 mem_keyboard_fn_f8
+0x4d72 mem_keyboard_fn_f9
+0x4d73 mem_keyboard_fn_f10
+0x4d74 mem_keyboard_fn_f11
+0x4d75 mem_keyboard_fn_f12
+0x4d76 mem_keyboard_fn_del
+0x4d77 mem_keyboard_fn_arrow_enable_flag
+0x4d78 mem_keyboard_fn_left_ctrl_enable_flag
+0x4d79 mem_keyboard_fn_space_enable_flag
+0x4d7a mem_keyboard_fn_system_switch_enable_flag
+0x4d7b mem_keyboard_commbination_key_step
+0x4d7c mem_keyboard_commbination_control_key_value
+0x4d7d mem_keyboard_commbination_standard_key_value
+0x4d7e mem_keyboard_commbination_control_key_delay_release_timer
+0x4d7f mem_keyboard_consumer_key_status
+0x4d80 mem_kb_computer_system
+0x4d81 mem_otp_read_retention_memory
+0x4d99 mem_otp_read_retention_offset
+0x4d9b mem_le_search_service_uuid
+0x4dab mem_le_connect_ios_mac_flag
+0x4dac mem_le_search_mac_uuid
+0x4dae mem_le_search_mac_manu_name
+0x4db7 mem_keybord_appearance
+0x4db9 mem_keyboard_commbination_fast_conn_bt
+0x4c00 mem_mouse_key
+0x4c01 mem_mouse_x
+0x4c03 mem_mouse_y
+0x4c05 mem_mouse_z
+0x4c06 mem_mouse_tz
+0x4c07 mem_mouse_xy_h
+0x4c08 mem_mouse_key_last
+0x4c09 mem_wheel_tb_old_pinlevel
+0x4c0a mem_wheel_tb_new_pinlevel
+0x4c0b mem_wheel_tog
+0x4c0c mem_mouse_tz_data
+0x4c0d mem_mwheel_b_old_pinlevel
+0x4c0e mem_mwheel_b_new_pinlevel
+0x4c0f mem_mwheel_tog
+0x4c10 mem_mouse_z_data
+0x4c11 mem_mouse_wheel_trigger
+0x4c12 mem_mouse_wheel_trigger_timer
+0x4c13 mem_sensor_id1
+0x4c14 mem_sensor_id2
+0x4c15 mem_sensor_shutter_hi
+0x4c16 mem_sensor_shutter_lo
+0x4c17 mem_sensor_smart_flag
+0x4c18 mem_sensor_squal_reg
+0x4c19 mem_sensor_iqc
+0x4c1a mem_mouse_move_flag
+0x4c1b mem_mouse_asm_flag
+0x4c1c mem_mouse_x_pre
+0x4c1e mem_mouse_y_pre
+0x4c20 mem_mouse_data_xtemp
+0x4c21 mem_mouse_data_ytemp
+0x4c22 mem_mouse_dpi_seting
+0x4c22 mem_320x_dpi_0
+0x4c23 mem_320x_dpi_1
+0x4c24 mem_320x_dpi_2
+0x4c25 mem_320x_dpi_3
+0x4c26 mem_3212_dpi_0
+0x4c27 mem_3212_dpi_1
+0x4c28 mem_3212_dpi_2
+0x4c29 mem_3212_dpi_3
+0x4c2a mem_ka8g2_dpi_0
+0x4c2b mem_ka8g2_dpi_1
+0x4c2c mem_ka8g2_dpi_2
+0x4c2d mem_ka8g2_dpi_3
+0x4c2e mem_sensor_s201_dpi
+0x4c2e mem_sensor_s201_dpi_0
+0x4c2f mem_sensor_s201_dpi_1
+0x4c30 mem_sensor_s201_dpi_2
+0x4c31 mem_sensor_s201_dpi_3
+0x4c32 mem_sensor_s201_dpi_4
+0x4c33 mem_mouse_cpi_count
+0x4c34 mem_mouse_dpi_button_state
+0x4c35 mem_mouse_dpi_long_press_flag
+0x4c36 mem_sensor_3212_init
+0x4c40 mem_sensor_3204_init
+0x4c4a mem_sensor_3205_init
+0x4c54 mem_sensor_32xx_init
+0x4c6e mem_sensor_32xx_init_1
+0x4c90 mem_sensor_8650_init
+0x4cb6 mem_sensor_ka8ul_init
+0x4cd4 mem_sensor_8009_init
+0x4ce4 mem_sensor_ka8g2_init
+0x4cf4 mem_sensor_p6520_init
+0x4d00 mem_sensor_poweron_init
+0x4d08 mem_sensor_ka8g2_poweron_init
+0x4d10 mem_mouse_clear_sensor_data_flag
+0x4d11 mem_config_sensor_type
+0x4d12 mem_config_sensor_angle
+0x4d13 mem_bluetooth_125hz_cnt
+0x4d14 mem_device_addr_temp
+0x4d1b mem_mouse_bt_boot_mode
+0x4d1c mem_mouse_bt_boot_data
+0x4d21 mem_bt_send_max_slot_req_accept_after_switch
+0x4d22 mem_mouse_bt_send_first_package_timer
+0x4d23 mem_mouse_bt_send_first_package_flag
+0x4d24 mem_lmi_opcode_temp
+0x4d25 mem_lpm_mult_init
+0x4d26 mem_customer_key
+0x4d27 mem_customer_data_trigger
+0x4d28 mem_customer_data_trigger_last
+0x4d29 mem_mouse_lkey_press_status
+0x4d2a mem_mouse_rkey_press_status
+0x4d2b mem_mouse_mkey_press_status
+0x4d2c mem_mouse_bkkey_press_status
+0x4d2d mem_mouse_fwkey_press_status
+0x4d2e mem_mouse_dpikey_press_status
+0x4d2f mem_mouse_pbkey_press_status
+0x4d30 mem_mouse_customerkey_press_status
+0x4d31 mem_mouse_key_temp
+0x4d32 mem_mouse_key_status
+0x4d33 mem_mouse_matrix_key_cow_count
+0x4d34 mem_mouse_matrix_key_row_count
+0x4d35 mem_mouse_ghost_flag
+0x4d36 mem_bt_discovery_count
+0x4d37 mem_select_device_count
+0x4d38 mem_mouse_commbination_key
+0x4d39 mem_select_device_button_statue
+0x4d3a mem_commbination_key_statue
+0x4d3b mem_combination_ui_button_count
+0x4d3c mem_fire_key_status
+0x4d3d mem_fire_key_delay
+0x4d41 mem_fire_key_flag
+0x4d42 mem_dpi_another_press_status
+0x4d43 mem_dpi_another_button_state
+0x4d44 mem_dpi_another_button_down_enable
+0x4d45 mem_mouse_key_temp_patch
+0x4d46 mem_le_name_patch_len
+0x4d47 mem_le_name_patch
+0x4d5a mem_device_flag_last
+0x4d5b mem_device_flag_temp
+0x4d5c mem_device_flag_value
+0x4d5d mem_mouse_le_addr1_last
+0x4d63 mem_mouse_le_addr1_temp
+0x4d69 mem_mouse_le_locall_addr1_last
+0x4d6f mem_mouse_le_locall_addr1_temp
+0x4d75 mem_mouse_le_addr2_last
+0x4d7b mem_mouse_le_addr2_temp
+0x4d81 mem_mouse_le_locall_addr2_last
+0x4d87 mem_mouse_le_locall_addr2_temp
+0x4d8d mem_mouse_dpi_last
+0x4d8e mem_mouse_dpi_temp
+0x4d8f mem_mouse_otp_dpi_value
+0x4d90 mem_mouse_24g_addr_last
+0x4d94 mem_mouse_24g_addr_temp
+0x4d98 mem_random_addr_increase_count_last
+0x4d9a mem_random_addr_increase_count_temp
+0x4d9c mem_otp_offset_device_flag
+0x4d9e mem_otp_offset_device_flag_end
+0x4da0 mem_otp_offset_24g_addr
+0x4da2 mem_otp_offset_24g_addr_end
+0x4da4 mem_otp_offset_le_addr1
+0x4da6 mem_otp_offset_le_addr1_end
+0x4da8 mem_otp_offset_le_locall_addr1
+0x4daa mem_otp_offset_le_locall_addr1_end
+0x4dac mem_otp_offset_le_addr2
+0x4dae mem_otp_offset_le_addr2_end
+0x4db0 mem_otp_offset_le_locall_addr2
+0x4db2 mem_otp_offset_le_locall_addr2_end
+0x4db4 mem_otp_offset_dpi
+0x4db6 mem_otp_offset_dpi_end
+0x4db8 mem_otp_offset_le_addr_increase_count
+0x4dba mem_otp_offset_le_addr_increase_count_end
+0x4dbc mem_otp_offset_app_initflag
+0x4dbe mem_le_tx_buffer0_omemalloc_new
+0x4dfe mem_le_tx_buffer1_omemalloc_new
+0x4e3e mem_le_tx_buffer2_omemalloc_new
+0x4e7e mem_le_tx_buffer3_omemalloc_new
+0x4ebe mem_24g_txpayload_buf
+0x4ece mem_release_data_from_receiver_enable
+0x4ecf mem_release_data_from_transmiter_enable
+0x4ed0 mem_flippen_key0_gpio
+0x4ed1 mem_flippen_key1_gpio
+0x4ed2 mem_flippen_key2_gpio
+0x4ed3 mem_flippen_key3_gpio
+0x4ed4 mem_flippen_key4_gpio
+0x4ed5 mem_flippen_key5_gpio
+0x4ed6 mem_flippen_key6_gpio
+0x4ed7 mem_flippen_key7_gpio
+0x4ed8 mem_flippen_key0_press_status
+0x4ed9 mem_flippen_key1_press_status
+0x4eda mem_flippen_key2_press_status
+0x4edb mem_flippen_key3_press_status
+0x4edc mem_flippen_key4_press_status
+0x4edd mem_flippen_key5_press_status
+0x4ede mem_flippen_key6_press_status
+0x4edf mem_flippen_key7_press_status
+0x4ee0 mem_key_press_data
+0x4ee0 mem_key_pageup_data
+0x4ee9 mem_key_pagedown_data
+0x4ef2 mem_key_shift_f5_data
+0x4efb mem_key_esc_data
+0x4f04 mem_key_b_data
+0x4f0d mem_key_tab
+0x4f16 mem_key_enter
+0x4f1f mem_key_alt_tab
+0x4f28 mem_key_alt_f4
+0x4f31 mem_key_play_pause
+0x4f3a mem_key_vol_up
+0x4f43 mem_key_vol_down
+0x4f4c mem_standard_key_release
+0x4f55 mem_system_ctrl_key_release
+0x4f5e mem_media_key_release
+0x4f67 mem_key0_long_press_flag
+0x4f68 mem_key1_long_press_flag
+0x4f69 mem_key2_long_press_flag
+0x4f6a mem_key3_long_press_flag
+0x4f6b mem_key4_long_press_flag
+0x4f6c mem_key0_long_press_event
+0x4f6d mem_key1_long_press_event
+0x4f6e mem_key2_long_press_event
+0x4f6f mem_key3_long_press_event
+0x4f70 mem_key4_long_press_event
+0x4f71 mem_key0_short_press_flag
+0x4f72 mem_key1_short_press_flag
+0x4f73 mem_key2_short_press_flag
+0x4f74 mem_key3_short_press_flag
+0x4f75 mem_key4_short_press_flag
+0x4f76 mem_key0_press_timer_count
+0x4f77 mem_key1_press_timer_count
+0x4f78 mem_key2_press_timer_count
+0x4f79 mem_key3_press_timer_count
+0x4f7a mem_key4_press_timer_count
+0x4f7b mem_combination_key_down_flag
+0x4f7c mem_combination_key_longpress_flag
+0x4f7d mem_key_disable_timer
+0x4f7e mem_24g_calculate_package_id_disable
+0x4f7f mem_24g_package_id_abandon_flag
+0x4f80 mem_24g_package_id
+0x4f81 mem_key_state
+0x4f82 mem_key_press_state
+0x4f83 mem_poweron_first_blank_data_enable
+0x4f84 mem_flippen_no_data_timeout
+0x4f86 mem_flippen_start_pair_no_data_timeout
+0x4f88 mem_key_longpress_timer_init
+0x4f8a mem_key_longpress_timer
+0x4f8c mem_low_voltage_led_blink_flag
+0x4f8d mem_low_voltage_led_blink_start_timer
+0x4f8e mem_poweron_led_blink_flag
+0x4f8f mem_24g_pair_enable_flag
+0x4f90 mem_24g_ch_work
+0x4f91 mem_24g_pair_key_down_flag
+0x4f92 mem_24g_pairing_stop_flag
+0x4f93 mem_longpress_24g_enter_hibernate_flag
+0x4f94 mem_g24_connected_state
+0x4f95 mem_g24_pairing_stop_flag
+0x4f96 mem_send_package_before_check
 0x462d mem_remote_car_hard_soft_switch
 0x462e mem_remote_car_queue_each_size
 0x462f mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /1121s/branch/tools/audio_demo/output/program.lis	(revision 4856)
+++ /1121s/branch/tools/audio_demo/output/program.lis	(working copy)
@@ -1,660 +1,1353 @@
               include "bt_format "
               org 0x0000
-0000 c2840015 bbit1 8 ,pf_patch_ext 
-0001 c000001f beq patch00_0 ,p_soft_reset 
-0002 c0010024 beq patch00_2 ,p_main_loop 
-0003 c008002d beq patch02_0 ,p_shutdown_radio 
-0004 c008802f beq patch02_1 ,p_set_sync_on 
-0005 c00a0113 beq patch02_4 ,p_set_lemode 
-0006 c00a80d0 beq patch02_5 ,p_rf_rx_enable 
-0007 c00b0038 beq patch02_6 ,p_calc_freq 
-0008 c00c00de beq patch03_0 ,p_txon 
-0009 c00c80e5 beq patch03_1 ,p_set_tx_power 
-000a c00d0047 beq patch03_2 ,p_initialize_radio_cont 
-000b c01281b6 beq patch04_5 ,p_lpm_sleep 
-000c c0138173 beq patch04_7 ,p_lpm_adjust_clk 
-000d c03401dd beq patch0d_0 ,p_mouse_cb_fuction 
-000e c03a01af beq patch0e_4 ,p_mouse_lpm_before_common 
-000f c03f81f7 beq patch0f_7 ,p_mouse_3io6key_check 
-0010 c04701e2 beq patch11_6 ,p_mouse_idle 
-0011 c06281da beq patch18_5 ,p_otp_read_data 
-0012 c06b01a8 beq patch1a_6 ,p_gpio_set_wake 
-0013 c06d0070 beq patch1b_2 ,p_sadc_calibration 
-0014 2020235a branch assert 
+0000 c2840016 bbit1 8 ,pf_patch_ext 
+0001 c0000226 beq patch00_0 ,p_soft_reset 
+0002 c001022b beq patch00_2 ,p_main_loop 
+0003 c0080234 beq patch02_0 ,p_shutdown_radio 
+0004 c0088236 beq patch02_1 ,p_set_sync_on 
+0005 c00a0322 beq patch02_4 ,p_set_lemode 
+0006 c00a82df beq patch02_5 ,p_rf_rx_enable 
+0007 c00b023f beq patch02_6 ,p_calc_freq 
+0008 c00c02ed beq patch03_0 ,p_txon 
+0009 c00c82f4 beq patch03_1 ,p_set_tx_power 
+000a c00d024e beq patch03_2 ,p_initialize_radio_cont 
+000b c01283c5 beq patch04_5 ,p_lpm_sleep 
+000c c0138382 beq patch04_7 ,p_lpm_adjust_clk 
+000d c03403ec beq patch0d_0 ,p_mouse_cb_fuction 
+000e c03a03be beq patch0e_4 ,p_mouse_lpm_before_common 
+000f c03f8406 beq patch0f_7 ,p_mouse_3io6key_check 
+0010 c04703f1 beq patch11_6 ,p_mouse_idle 
+0011 c0588027 beq patch16_1 ,p_app_init 
+0012 c06283e9 beq patch18_5 ,p_otp_read_data 
+0013 c06b03b7 beq patch1a_6 ,p_gpio_set_wake 
+0014 c06d0277 beq patch1b_2 ,p_sadc_calibration 
+0015 2020235a branch assert 
 
 pf_patch_ext:
-0015 c012014c beq patch24_4 ,p_le_receive_rxon 
-0016 c012812f beq patch24_5 ,p_le_rx_dec 
-0017 c0130134 beq patch24_6 ,p_le_rx_nopayload 
-0018 c01c8146 beq patch27_1 ,p_le_parse 
-0019 c01d0182 beq patch27_2 ,p_le_parse_l2cap 
-001a c026017e beq patch29_4 ,p_le_adv_not_match 
-001b c026814a beq patch29_5 ,p_le_init_adv 
-001c c04b0204 beq patch32_6 ,p_g24_short_sleep 
-001d c17f8000 rtneq patch3f_7 
-001e 2020235a branch assert 
+0016 c012035b beq patch24_4 ,p_le_receive_rxon 
+0017 c012833e beq patch24_5 ,p_le_rx_dec 
+0018 c0130343 beq patch24_6 ,p_le_rx_nopayload 
+0019 c01c8355 beq patch27_1 ,p_le_parse 
+001a c01d0391 beq patch27_2 ,p_le_parse_l2cap 
+001b c026038d beq patch29_4 ,p_le_adv_not_match 
+001c c0268359 beq patch29_5 ,p_le_init_adv 
+001d c04b0413 beq patch32_6 ,p_g24_short_sleep 
+001e c17f8000 rtneq patch3f_7 
+001f 2020235a branch assert 
+
+p_mouse_100ms_timer:
+0020 d8e0000c arg 12 ,queue 
+0021 20407cef call timer_check 
+0022 247a0000 nrtn blank 
+0023 20400053 call p_app_audio_enable_100ms_timer 
+
+p_mouse_100ms_timer_init:
+0024 d8e0000c arg 12 ,queue 
+0025 580000a0 setarg 160 
+0026 20207ce1 branch timer_init 
+
+p_app_init:
+0027 20400030 call p_voice_queue_init 
+0028 7049ef00 jam 0 ,mem_ms_audio_enable_timer 
+0029 7049ed00 jam key_up ,mem_ms_audio_key_state 
+
+p_audio_test_loop:
+002a 204001de call p_app_uarta_init 
+002b 2040005c call p_mouse_audio_key_check 
+002c 20400020 call p_mouse_100ms_timer 
+002d 204000ad call p_voice_adpcm_enter_queue 
+002e 204000ec call p_voice_notify_from_queue 
+002f 2020002a branch p_audio_test_loop 
+
+p_voice_queue_init:
+0030 58000aca setarg mem_voice_adpcm_buf 
+0031 d8400190 arg voice_queue_size ,temp 
+0032 20400035 call p_queue_init_config 
+0033 700cf000 jam 0 ,mem_voice_queue_count 
+0034 20600000 rtn 
+
+p_queue_init_config:
+0035 184085ff increase -1 ,temp 
+0036 1fe20a00 copy pdata ,contw 
+0037 18a08bf8 increase -8 ,contw 
+0038 e7e10005 istore 2 ,contw 
+0039 9840fe00 iadd temp ,pdata 
+003a e7e10005 istore 2 ,contw 
+003b 98467e00 isub temp ,pdata 
+003c e7e10005 istore 2 ,contw 
+003d e7e10005 istore 2 ,contw 
+003e 20600000 rtn 
+
+p_queue_enter_config:
+003f 1fe0fff8 increase -8 ,pdata 
+0040 e941003f ifetchr contus ,2 ,pdata 
+0041 1fe0fe02 increase 2 ,pdata 
+0042 ea01003f ifetchr contue ,2 ,pdata 
+0043 1fe0fe02 increase 2 ,pdata 
+0044 e841003f ifetchr temp ,2 ,pdata 
+0045 1fe0fe02 increase 2 ,pdata 
+0046 e861003f ifetchr contu ,2 ,pdata 
+0047 1fe22200 copy pdata ,rega 
+0048 20600000 rtn 
+
+p_queue_out_config:
+0049 1fe0fff8 increase -8 ,pdata 
+004a e941003f ifetchr contus ,2 ,pdata 
+004b 1fe0fe02 increase 2 ,pdata 
+004c ea01003f ifetchr contue ,2 ,pdata 
+004d 1fe0fe02 increase 2 ,pdata 
+004e e861003f ifetchr contu ,2 ,pdata 
+004f 1fe22200 copy pdata ,rega 
+0050 1fe0fe02 increase 2 ,pdata 
+0051 e841003f ifetchr temp ,2 ,pdata 
+0052 20600000 rtn 
+
+p_app_audio_enable_100ms_timer:
+0053 6fe0c9ef fetch 1 ,mem_ms_audio_enable_timer 
+0054 207a0000 rtn blank 
+0055 1fe0ffff increase -1 ,pdata 
+0056 67e0c9ef store 1 ,mem_ms_audio_enable_timer 
+0057 247a0000 nrtn blank 
+
+p_audio_data_get_enable:
+0058 7049f101 jam 1 ,mem_voice_enable 
+
+p_audio_init_data_clear:
+0059 d8a00714 arg mem_voice_raw_start ,contw 
+005a df200190 arg 400 ,loopcnt 
+005b 20207ca1 branch clear_mem 
+
+p_mouse_audio_key_check:
+005c 20400061 call p_audio_key_check 
+005d 6fe0c9ed fetch 1 ,mem_ms_audio_key_state 
+005e c000006e beq key_up ,p_audio_disable 
+005f c0008077 beq key_down ,p_audio_enable 
+0060 20600000 rtn 
+
+p_audio_key_check:
+0061 6fe0c9ec fetch 1 ,mem_ms_audio_key_gpio 
+0062 20405943 call mouse_gpio_config_output_high 
+0063 6848c9ec fetcht 1 ,mem_ms_audio_key_gpio 
+0064 20406ee6 call gpio_get_bit 
+0065 2420806a nbranch p_audio_key_up ,true 
+
+p_audio_key_down:
+0066 6fe0c9ed fetch 1 ,mem_ms_audio_key_state 
+0067 c1008000 rtneq key_down 
+0068 7049ed01 jam key_down ,mem_ms_audio_key_state 
+0069 20600000 rtn 
+
+p_audio_key_up:
+006a 6fe0c9ed fetch 1 ,mem_ms_audio_key_state 
+006b c1000000 rtneq key_up 
+006c 7049ed00 jam key_up ,mem_ms_audio_key_state 
+006d 20600000 rtn 
+
+p_audio_disable:
+006e 6fe0c9ee fetch 1 ,mem_ms_audio_enable_flag 
+006f 207a0000 rtn blank 
+0070 7049ee00 jam 0 ,mem_ms_audio_enable_flag 
+0071 70409401 jam 1 ,mem_lpm_mode 
+0072 7049f100 jam 0 ,mem_voice_enable 
+0073 70441100 jam 0 ,mem_adc_dma_enable 
+0074 7080cc00 jam 0 ,core_sadc_ctrl 
+0075 7049f000 jam adc_battery ,mem_ms_adc_mode 
+0076 20600000 rtn 
+
+p_audio_enable:
+0077 6fe0c9ee fetch 1 ,mem_ms_audio_enable_flag 
+0078 247a0000 nrtn blank 
+0079 7049ee01 jam 1 ,mem_ms_audio_enable_flag 
+007a 70409400 jam 0 ,mem_lpm_mode 
+007b 7049ef05 jam 5 ,mem_ms_audio_enable_timer 
+
+p_audio_enable_config:
+007c 6848c9ea fetcht 1 ,mem_ms_audio_micinp_gpio 
+007d 20406f0f call gpio_set_high_impedance 
+007e 6848c9eb fetcht 1 ,mem_ms_audio_micbisa_gpio 
+007f 20406f0f call gpio_set_high_impedance 
+0080 20200081 branch p_audio_init 
+
+p_audio_init:
+0081 20400277 call p_sadc_calibration 
+0082 70440800 jam 0x00 ,mem_adc_channel 
+0083 70440901 jam 1 ,mem_adc_clkdiv 
+0084 70441101 jam 1 ,mem_adc_dma_enable 
+0085 7049f001 jam adc_audio ,mem_ms_adc_mode 
+0086 6fe14a08 fetch 2 ,mem_adc_audio_saddr_ptr 
+0087 67e14a06 store 2 ,mem_adc_dma_rptr 
+0088 20200089 branch p_enable_adc 
+
+p_enable_adc:
+0089 6fe0c9f0 fetch 1 ,mem_ms_adc_mode 
+008a c000808c beq adc_audio ,p_enable_adc_audio 
+008b 20600000 rtn 
+
+p_enable_adc_audio:
+008c 708ac61b jam 0x1b ,0x8ac6 
+008d 708ac76a jam 0x6a ,0x8ac7 
+008e 20406f63 call sadc_cal_write 
+008f 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+0090 793ffe07 set0 7 ,pdata 
+0091 67f08a09 store 1 ,core_gpadc_cfg1 
+0092 708a0770 jam 0x70 ,core_gpadc_ctrl 
+0093 708a0843 jam 0x43 ,core_gpadc_cfg0 
+0094 708a0b0c jam 0x0c ,core_gpadc_cfg3 
+0095 708a0aef jam 0xef ,core_gpadc_cfg2 
+0096 20406f90 call sadc_channel 
+0097 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0098 67f080cd store 1 ,core_sadc_clkdiv 
+0099 20000bb8 nop 3000 
+009a 20400287 call p_sadc_read 
+009b 7080cd00 jam 0 ,core_sadc_clkdiv 
+009c 2020009d branch p_sadc_audio_dma 
+
+p_sadc_audio_dma:
+009d 6fe0c411 fetch 1 ,mem_adc_dma_enable 
+009e 207a0000 rtn blank 
+009f 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+00a0 79207e07 set1 7 ,pdata 
+00a1 67f08a09 store 1 ,core_gpadc_cfg1 
+00a2 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+00a3 67f080cd store 1 ,core_sadc_clkdiv 
+00a4 6fe14a08 fetch 2 ,mem_adc_audio_saddr_ptr 
+00a5 67f100ce store 2 ,core_sadc_saddr 
+00a6 6fe14a0a fetch 2 ,mem_adc_audio_eaddr_ptr 
+00a7 67f100d0 store 2 ,core_sadc_eaddr 
+00a8 7080cc8b jam 0x8b ,core_sadc_ctrl 
+00a9 20000bb8 nop 3000 
+00aa 7080cc83 jam 0x83 ,core_sadc_ctrl 
+00ab 7080cd02 jam 2 ,core_sadc_clkdiv 
+00ac 20600000 rtn 
+
+p_voice_adpcm_enter_queue:
+00ad 6fe0c9f1 fetch 1 ,mem_voice_enable 
+00ae 207a0000 rtn blank 
+00af 204000c7 call p_audio_get_len 
+00b0 1fe67c50 sub pdata ,audio_buf_uint ,null 
+00b1 20610000 rtn positive 
+00b2 2040021d call p_print_audio_raw_data 
+00b3 20400104 call p_audio_adpcm_encode 
+00b4 204000d3 call p_audio_update_adc_rptr 
+00b5 580008a4 setarg mem_adpcm 
+
+p_voice_enter_queue:
+00b6 18007000 force 0 ,regext_index 
+00b7 204000de call p_save_reg 
+00b8 6fe08cf0 fetch 1 ,mem_voice_queue_count 
+00b9 d8400014 arg voice_queue_max_count ,temp 
+00ba 184085ff increase -1 ,temp 
+00bb 98467c00 isub temp ,null 
+00bc 20610000 rtn positive 
+00bd 58000aca setarg mem_voice_adpcm_buf 
+00be 2040003f call p_queue_enter_config 
+00bf 204000e1 call p_rescue_reg 
+00c0 1fe20c00 copy pdata ,contr 
+00c1 df200014 arg voice_queue_unit ,loopcnt 
+00c2 204000e4 call p_enter_queue 
+00c3 6fe08cf0 fetch 1 ,mem_voice_queue_count 
+00c4 1fe0fe01 increase 1 ,pdata 
+00c5 67e08cf0 store 1 ,mem_voice_queue_count 
+00c6 20600000 rtn 
+
+p_audio_get_len:
+00c7 6ff10122 fetch 2 ,core_adc_dma_wptr 
+00c8 1fe22200 copy pdata ,rega 
+00c9 68494a06 fetcht 2 ,mem_adc_dma_rptr 
+00ca 98467e00 isub temp ,pdata 
+00cb 242100cd nbranch p_audio_get_len_wptr_over ,positive 
+00cc 20600000 rtn 
+
+p_audio_get_len_wptr_over:
+00cd 1a220400 copy rega ,temp 
+00ce 6fe14a06 fetch 2 ,mem_adc_dma_rptr 
+00cf 98460400 isub temp ,temp 
+00d0 58000320 setarg audio_buf_len 
+00d1 98467e00 isub temp ,pdata 
+00d2 20600000 rtn 
+
+p_audio_update_adc_rptr:
+00d3 6fe14a06 fetch 2 ,mem_adc_dma_rptr 
+00d4 1fe0fe50 increase audio_buf_uint ,pdata 
+00d5 d84008a3 arg mem_voice_raw_end ,temp 
+00d6 18408401 increase 1 ,temp 
+00d7 98467c00 isub temp ,null 
+00d8 202280db branch p_audio_adc_dma_ptr_over ,zero 
+00d9 67e14a06 store 2 ,mem_adc_dma_rptr 
+00da 20600000 rtn 
+
+p_audio_adc_dma_ptr_over:
+00db 58000714 setarg mem_voice_raw_start 
+00dc 67e14a06 store 2 ,mem_adc_dma_rptr 
+00dd 20600000 rtn 
+
+p_save_reg:
+00de 1f00f001 increase 1 ,regext_index 
+00df 1fe25e00 copy pdata ,regext 
+00e0 20600000 rtn 
+
+p_rescue_reg:
+00e1 1de27e00 copy regext ,pdata 
+00e2 1f00f1ff increase -1 ,regext_index 
+00e3 20600000 rtn 
+
+p_enter_queue:
+
+p_enter_queue_loop:
+00e4 efe08006 ifetch 1 ,contr 
+00e5 e7e08003 istore 1 ,contwu 
+00e6 c20000e4 loop p_enter_queue_loop 
+00e7 e0610011 istorer contwu ,2 ,rega 
+00e8 18627e00 copy contwu ,pdata 
+00e9 98467c00 isub temp ,null 
+00ea 2022a35a branch assert ,zero 
+00eb 20600000 rtn 
+
+p_voice_notify_from_queue:
+00ec 6fe0c9f1 fetch 1 ,mem_voice_enable 
+00ed 207a0000 rtn blank 
+00ee 6fe08cf0 fetch 1 ,mem_voice_queue_count 
+00ef 207a0000 rtn blank 
+00f0 204000f2 call p_voice_out_queue 
+00f1 202000ec branch p_voice_notify_from_queue 
+
+p_voice_out_queue:
+00f2 58000aca setarg mem_voice_adpcm_buf 
+00f3 20400049 call p_queue_out_config 
+00f4 df200014 arg voice_queue_unit ,loopcnt 
+00f5 d8a00cf1 arg mem_queue_buf ,contw 
+00f6 204000fc call p_out_queue 
+00f7 6fe08cf0 fetch 1 ,mem_voice_queue_count 
+00f8 1fe0ffff increase -1 ,pdata 
+00f9 67e08cf0 store 1 ,mem_voice_queue_count 
+00fa 58000cf1 setarg mem_queue_buf 
+00fb 20600000 rtn 
+
+p_out_queue:
+00fc 18627e00 copy contu ,pdata 
+00fd 98467c00 isub temp ,null 
+00fe 2022a35a branch assert ,zero 
+
+p_out_queue_loop:
+00ff efe08003 ifetch 1 ,contru 
+0100 e7e08005 istore 1 ,contw 
+0101 c20000ff loop p_out_queue_loop 
+0102 e0610011 istorer contru ,2 ,rega 
+0103 20600000 rtn 
+
+p_audio_adpcm_encode:
+0104 7049c228 jam 40 ,mem_ad_in_numsamples1 
+0105 6fe14a06 fetch 2 ,mem_adc_dma_rptr 
+0106 67e149c3 store 2 ,mem_ad_in_ptr1 
+0107 580008a4 setarg mem_adpcm 
+0108 67e149c5 store 2 ,mem_ad_out_ptr1 
+
+p_adpcm_encode:
+0109 6fe249ba fetch 4 ,mem_ad_state_valpred1 
+010a 67e249cd store 4 ,mem_ad_valpred1 
+010b 6fe249be fetch 4 ,mem_ad_state_index1 
+010c 67e249d1 store 4 ,mem_ad_index1 
+010d 6fe0c9d1 fetch 1 ,mem_ad_index1 
+010e 1febfe00 lshift2 pdata ,pdata 
+010f d8404856 arg mem_ad_stepsizetable1 ,temp 
+0110 98408400 iadd temp ,temp 
+0111 efe20002 ifetch 4 ,temp 
+0112 67e249c9 store 4 ,mem_ad_step1 
+0113 7049dd01 jam 1 ,mem_ad_bufferstep1 
+
+p_adpcm_encode_loop:
+0114 204001c8 call p_adpcm_get_val_from_inp 
+0115 6fe249de fetch 4 ,mem_ad_val1 
+0116 684a49cd fetcht 4 ,mem_ad_valpred1 
+0117 98467e00 isub temp ,pdata 
+0118 67e249e6 store 4 ,mem_ad_diff1 
+0119 2040014e call p_adpcm_encode_cal_delta 
+011a 20400156 call p_adpcm_set_diff_by_sign 
+011b 7049c800 jam 0 ,mem_ad_delta1 
+011c 6fe249c9 fetch 4 ,mem_ad_step1 
+011d 1fe97e00 rshift3 pdata ,pdata 
+011e 67e249d5 store 4 ,mem_ad_vpdiff1 
+011f 2040015d call p_check_diff_big_step1 
+0120 6fe249c9 fetch 4 ,mem_ad_step1 
+0121 1fe37e00 rshift pdata ,pdata 
+0122 67e249c9 store 4 ,mem_ad_step1 
+0123 2040016b call p_check_diff_big_step2 
+0124 6fe249c9 fetch 4 ,mem_ad_step1 
+0125 1fe37e00 rshift pdata ,pdata 
+0126 67e249c9 store 4 ,mem_ad_step1 
+0127 2040017b call p_check_diff_big_step3 
+0128 20400187 call p_check_sign_deal1 
+0129 20400193 call p_adpcm_check_valpred_more_32767 
+012a 6fe0c9c8 fetch 1 ,mem_ad_delta1 
+012b 6848c9c7 fetcht 1 ,mem_ad_sign1 
+012c 9841fe00 ior temp ,pdata 
+012d 67e0c9c8 store 1 ,mem_ad_delta1 
+012e 6fe0c9c8 fetch 1 ,mem_ad_delta1 
+012f d8404846 arg mem_ad_indextable1 ,temp 
+0130 98408400 iadd temp ,temp 
+0131 efe08002 ifetch 1 ,temp 
+0132 204001d5 call p_char_2_int32 
+0133 684a49d1 fetcht 4 ,mem_ad_index1 
+0134 9840fe00 iadd temp ,pdata 
+0135 67e249d1 store 4 ,mem_ad_index1 
+0136 204001a2 call p_adpcm_check_index_less_0 
+0137 204001a7 call p_adpcm_check_index_big_88 
+0138 6fe249d1 fetch 4 ,mem_ad_index1 
+0139 1febfe00 lshift2 pdata ,pdata 
+013a d8404856 arg mem_ad_stepsizetable1 ,temp 
+013b 98408400 iadd temp ,temp 
+013c efe20002 ifetch 4 ,temp 
+013d 67e249c9 store 4 ,mem_ad_step1 
+013e 204001b2 call p_adpcm_check_bufferstep 
+013f 6fe0c9dd fetch 1 ,mem_ad_bufferstep1 
+0140 d8400001 arg 0x01 ,temp 
+0141 9842fe00 ixor temp ,pdata 
+0142 67e0c9dd store 1 ,mem_ad_bufferstep1 
+0143 6fe0c9c2 fetch 1 ,mem_ad_in_numsamples1 
+0144 1fe0ffff increase -1 ,pdata 
+0145 67e0c9c2 store 1 ,mem_ad_in_numsamples1 
+0146 243a0114 nbranch p_adpcm_encode_loop ,blank 
+0147 6fe0c9dd fetch 1 ,mem_ad_bufferstep1 
+0148 205a01c2 call p_adpcm_set_bufferstep_to_outp ,blank 
+0149 6fe249cd fetch 4 ,mem_ad_valpred1 
+014a 67e249ba store 4 ,mem_ad_state_valpred1 
+014b 6fe249d1 fetch 4 ,mem_ad_index1 
+014c 67e249be store 4 ,mem_ad_state_index1 
+014d 20600000 rtn 
+
+p_adpcm_encode_cal_delta:
+014e 6fe249e6 fetch 4 ,mem_ad_diff1 
+014f c28f8153 bbit1 31 ,p_adpcm_encode_cal_smaller_zero 
+0150 58000000 setarg 0 
+0151 67e0c9c7 store 1 ,mem_ad_sign1 
+0152 20600000 rtn 
+
+p_adpcm_encode_cal_smaller_zero:
+0153 58000008 setarg 8 
+0154 67e0c9c7 store 1 ,mem_ad_sign1 
+0155 20600000 rtn 
+
+p_adpcm_set_diff_by_sign:
+0156 6fe0c9c7 fetch 1 ,mem_ad_sign1 
+0157 243a0159 nbranch p_adpcm_diff_negation ,blank 
+0158 20600000 rtn 
+
+p_adpcm_diff_negation:
+0159 6fe249e6 fetch 4 ,mem_ad_diff1 
+015a 1fe67e00 sub pdata ,0 ,pdata 
+015b 67e249e6 store 4 ,mem_ad_diff1 
+015c 20600000 rtn 
+
+p_check_diff_big_step1:
+015d 6fe249e6 fetch 4 ,mem_ad_diff1 
+015e 684a49c9 fetcht 4 ,mem_ad_step1 
+015f 98467e00 isub temp ,pdata 
+0160 c38f8000 rtnbit1 31 
+0161 7049c804 jam 4 ,mem_ad_delta1 
+0162 6fe249e6 fetch 4 ,mem_ad_diff1 
+0163 684a49c9 fetcht 4 ,mem_ad_step1 
+0164 98467e00 isub temp ,pdata 
+0165 67e249e6 store 4 ,mem_ad_diff1 
+0166 6fe249d5 fetch 4 ,mem_ad_vpdiff1 
+0167 684a49c9 fetcht 4 ,mem_ad_step1 
+0168 9840fe00 iadd temp ,pdata 
+0169 67e249d5 store 4 ,mem_ad_vpdiff1 
+016a 20600000 rtn 
+
+p_check_diff_big_step2:
+016b 6fe249e6 fetch 4 ,mem_ad_diff1 
+016c 684a49c9 fetcht 4 ,mem_ad_step1 
+016d 98467e00 isub temp ,pdata 
+016e c38f8000 rtnbit1 31 
+016f 6fe0c9c8 fetch 1 ,mem_ad_delta1 
+0170 1fe1fe02 or pdata ,2 ,pdata 
+0171 67e0c9c8 store 1 ,mem_ad_delta1 
+0172 6fe249e6 fetch 4 ,mem_ad_diff1 
+0173 684a49c9 fetcht 4 ,mem_ad_step1 
+0174 98467e00 isub temp ,pdata 
+0175 67e249e6 store 4 ,mem_ad_diff1 
+0176 6fe249d5 fetch 4 ,mem_ad_vpdiff1 
+0177 684a49c9 fetcht 4 ,mem_ad_step1 
+0178 9840fe00 iadd temp ,pdata 
+0179 67e249d5 store 4 ,mem_ad_vpdiff1 
+017a 20600000 rtn 
+
+p_check_diff_big_step3:
+017b 6fe249e6 fetch 4 ,mem_ad_diff1 
+017c 684a49c9 fetcht 4 ,mem_ad_step1 
+017d 98467e00 isub temp ,pdata 
+017e c38f8000 rtnbit1 31 
+017f 6fe0c9c8 fetch 1 ,mem_ad_delta1 
+0180 1fe1fe01 or pdata ,1 ,pdata 
+0181 67e0c9c8 store 1 ,mem_ad_delta1 
+0182 6fe249d5 fetch 4 ,mem_ad_vpdiff1 
+0183 684a49c9 fetcht 4 ,mem_ad_step1 
+0184 9840fe00 iadd temp ,pdata 
+0185 67e249d5 store 4 ,mem_ad_vpdiff1 
+0186 20600000 rtn 
+
+p_check_sign_deal1:
+0187 6fe0c9c7 fetch 1 ,mem_ad_sign1 
+0188 203a018e branch p_valpred_add_vpdiff ,blank 
+
+p_valpred_sub_vpdiff:
+0189 6fe249cd fetch 4 ,mem_ad_valpred1 
+018a 684a49d5 fetcht 4 ,mem_ad_vpdiff1 
+018b 98467e00 isub temp ,pdata 
+018c 67e249cd store 4 ,mem_ad_valpred1 
+018d 20600000 rtn 
+
+p_valpred_add_vpdiff:
+018e 6fe249cd fetch 4 ,mem_ad_valpred1 
+018f 684a49d5 fetcht 4 ,mem_ad_vpdiff1 
+0190 9840fe00 iadd temp ,pdata 
+0191 67e249cd store 4 ,mem_ad_valpred1 
+0192 20600000 rtn 
+
+p_adpcm_check_valpred_more_32767:
+0193 6fe249cd fetch 4 ,mem_ad_valpred1 
+0194 d8407fff arg 32767 ,temp 
+0195 98467e00 isub temp ,pdata 
+0196 c30f819c bbit0 31 ,p_adpcm_valpred_more_32767 
+
+p_adpcm_check_valpred_less_f32767:
+0197 6fe249cd fetch 4 ,mem_ad_valpred1 
+0198 d85f8001 arg -32767 ,temp 
+0199 98467e00 isub temp ,pdata 
+019a c28f819f bbit1 31 ,p_adpcm_valpred_less_f32767 
+019b 20600000 rtn 
+
+p_adpcm_valpred_more_32767:
+019c 58007fff setarg 32767 
+019d 67e249cd store 4 ,mem_ad_valpred1 
+019e 20600000 rtn 
+
+p_adpcm_valpred_less_f32767:
+019f 5fff8001 setarg -32767 
+01a0 67e249cd store 4 ,mem_ad_valpred1 
+01a1 20600000 rtn 
+
+p_adpcm_check_index_less_0:
+01a2 6fe249d1 fetch 4 ,mem_ad_index1 
+01a3 d8400000 arg 0 ,temp 
+01a4 98467e00 isub temp ,pdata 
+01a5 c28f81ac bbit1 31 ,p_adpcm_set_0_index 
+01a6 20600000 rtn 
+
+p_adpcm_check_index_big_88:
+01a7 6fe249d1 fetch 4 ,mem_ad_index1 
+01a8 d8400058 arg 88 ,temp 
+01a9 98467e00 isub temp ,pdata 
+01aa c30f81af bbit0 31 ,p_adpcm_set_88_index 
+01ab 20600000 rtn 
+
+p_adpcm_set_0_index:
+01ac 58000000 setarg 0 
+01ad 67e249d1 store 4 ,mem_ad_index1 
+01ae 20600000 rtn 
+
+p_adpcm_set_88_index:
+01af 58000058 setarg 88 
+01b0 67e249d1 store 4 ,mem_ad_index1 
+01b1 20600000 rtn 
+
+p_adpcm_check_bufferstep:
+01b2 6fe0c9dd fetch 1 ,mem_ad_bufferstep1 
+01b3 203a01b8 branch p_adpcm_bufferstep_eque_0 ,blank 
+
+p_adpcm_bufferstep_neque_0:
+01b4 6fe0c9c8 fetch 1 ,mem_ad_delta1 
+01b5 1fe17e0f and pdata ,0x0f ,pdata 
+01b6 67e249e2 store 4 ,mem_ad_outputbuffer1 
+01b7 20600000 rtn 
+
+p_adpcm_bufferstep_eque_0:
+01b8 6fe0c9c8 fetch 1 ,mem_ad_delta1 
+01b9 1ff27e00 lshift4 ,pdata ,pdata 
+01ba 1fe17ef0 and pdata ,0xf0 ,pdata 
+01bb 684a49e2 fetcht 4 ,mem_ad_outputbuffer1 
+01bc 9841fe00 ior temp ,pdata 
+01bd 684949c5 fetcht 2 ,mem_ad_out_ptr1 
+01be e7e08002 istore 1 ,temp 
+01bf 18408401 increase 1 ,temp 
+01c0 604949c5 storet 2 ,mem_ad_out_ptr1 
+01c1 20600000 rtn 
+
+p_adpcm_set_bufferstep_to_outp:
+01c2 6fe249e2 fetch 4 ,mem_ad_outputbuffer1 
+01c3 684949c5 fetcht 2 ,mem_ad_out_ptr1 
+01c4 e7e08002 istore 1 ,temp 
+01c5 18408401 increase 1 ,temp 
+01c6 604949c5 storet 2 ,mem_ad_out_ptr1 
+01c7 20600000 rtn 
+
+p_adpcm_get_val_from_inp:
+01c8 684949c3 fetcht 2 ,mem_ad_in_ptr1 
+01c9 efe10002 ifetch 2 ,temp 
+01ca 18408402 increase 2 ,temp 
+01cb 604949c3 storet 2 ,mem_ad_in_ptr1 
+01cc 204001cf call p_int16_2_int32 
+01cd 67e249de store 4 ,mem_ad_val1 
+01ce 20600000 rtn 
+
+p_int16_2_int32:
+01cf c28781d1 bbit1 15 ,p_int16_2_int32_less_0 
+01d0 20600000 rtn 
+
+p_int16_2_int32_less_0:
+01d1 d840ffff arg 0xffff ,temp 
+01d2 18500400 lshift16 temp ,temp 
+01d3 9842fe00 ixor temp ,pdata 
+01d4 20600000 rtn 
+
+p_char_2_int32:
+01d5 c28381d7 bbit1 7 ,p_char_2_int32_less_0 
+01d6 20600000 rtn 
+
+p_char_2_int32_less_0:
+01d7 d85fffff arg 0xffffff ,temp 
+01d8 184d0400 lshift8 temp ,temp 
+01d9 9842fe00 ixor temp ,pdata 
+01da 20600000 rtn 
+
+p_adpcm_init:
+01db 58000000 setarg 0 
+01dc 67e449ba store 8 ,mem_ad_state_valpred1 
+01dd 20600000 rtn 
+
+p_app_uarta_init:
+01de 6ff08060 fetch 1 ,core_uart_ctrl 
+01df 793ffe00 set0 bit_uart_control_enable ,pdata 
+01e0 67f08060 store 1 ,core_uart_ctrl 
+01e1 6fe44a0e fetch 8 ,mem_app_uart_rx_buff_sptr 
+01e2 20406d68 call uarta_init_dma_mem 
+01e3 6fe14a16 fetch uart_baud_len ,mem_app_uart_baud_rate 
+01e4 20406d73 call uarta_init_baud_rate 
+01e5 20406d82 call uart_clock_select_main_freq_crystal 
+01e6 6fe0ca0c fetch 1 ,mem_app_uart_tx_gpio 
+01e7 d8400008 arg gpcfg_uart_txd ,temp 
+01e8 20406f21 call gpio_config_function_int 
+01e9 6fe0ca0d fetch 1 ,mem_app_uart_rx_gpio 
+01ea d8400049 arg gpcfg_uart_rxd | gpcfg_pullup ,temp 
+01eb 20406f21 call gpio_config_function_int 
+01ec d8400081 arg fun_uart_control_enable | fun_uart_control_setting_rate_baud ,temp 
+01ed 60588060 storet 1 ,core_uart_ctrl 
+01ee 20600000 rtn 
+
+hex2ascii:
+01ef 1ff1a200 rshift4 pdata ,rega 
+01f0 1fe17e0f and_into 0x0f ,pdata 
+01f1 204001f8 call hex2ascii_half_byte 
+01f2 1fe22400 copy pdata ,regb 
+01f3 1a227e00 copy rega ,pdata 
+01f4 204001f8 call hex2ascii_half_byte 
+01f5 1a4d2400 lshift8 regb ,regb 
+01f6 9a40fe00 iadd regb ,pdata 
+01f7 20600000 rtn 
+
+hex2ascii_half_byte:
+01f8 d840000a arg 0xa ,temp 
+01f9 98460400 isub temp ,temp 
+01fa 242101fe nbranch hex2ascii_half_byte_numberic ,positive 
+01fb 58000041 setarg 0x41 
+01fc 9840fe00 iadd temp ,pdata 
+01fd 20600000 rtn 
+
+hex2ascii_half_byte_numberic:
+01fe d8400030 arg 0x30 ,temp 
+01ff 9840fe00 iadd temp ,pdata 
+0200 20600000 rtn 
+
+log_bytes:
+0201 1f227e00 copy loopcnt ,pdata 
+0202 203a020e branch log_len0 ,blank 
+
+log_bytes_loop:
+0203 efe08013 ifetch 1 ,regc 
+0204 1a60a601 increase 1 ,regc 
+0205 2040020b call log_byte 
+0206 20400215 call log_space 
+0207 c2000203 loop log_bytes_loop 
+
+uart_wait:
+0208 6ff0810b fetch 1 ,core_uart_status 
+0209 c2808208 bbit1 uart_status_tx_busy ,uart_wait 
+020a 20600000 rtn 
+
+log_byte:
+020b 20406d92 call uarta_prepare_tx 
+020c e7e08003 istore 1 ,contwu 
+020d 20206d9a branch uarta_send 
+
+log_len0:
+020e 20406d92 call uarta_prepare_tx 
+020f 5800656c setarg 0x656c 
+0210 e7e10003 istore 2 ,contwu 
+0211 5800306e setarg 0x306e 
+0212 e7e10003 istore 2 ,contwu 
+0213 20406d9a call uarta_send 
+0214 20200219 branch log_end 
+
+log_space:
+0215 20406d92 call uarta_prepare_tx 
+0216 58000020 setarg 0x20 
+0217 e7e08003 istore 1 ,contwu 
+0218 20206d9a branch uarta_send 
+
+log_end:
+0219 20406d92 call uarta_prepare_tx 
+021a 58000a0d setarg 0x0a0d 
+021b e7e10003 istore 2 ,contwu 
+021c 20206d9a branch uarta_send 
+
+p_print_audio_raw_data:
+021d 6a614a06 fetchr regc ,2 ,mem_adc_dma_rptr 
+021e df200050 arg 80 ,loopcnt 
+
+p_audio_log_bytes_loop:
+021f efe08013 ifetch 1 ,regc 
+0220 1a60a601 increase 1 ,regc 
+0221 2040020b call log_byte 
+0222 c200021f loop p_audio_log_bytes_loop 
+
+p_audio_uart_wait:
+0223 6ff0810b fetch 1 ,core_uart_status 
+0224 c2808223 bbit1 uart_status_tx_busy ,p_audio_uart_wait 
+0225 20600000 rtn 
 
 p_soft_reset:
-001f 2435a002 nbranch soft_reset + 1 ,wake 
-0020 37d98200 until null ,lpo_edge 
-0021 37d98200 until null ,lpo_edge 
-0022 20800000 clear_stack 
-0023 20202003 branch soft_reset + 2 
+0226 2435a002 nbranch soft_reset + 1 ,wake 
+0227 37d98200 until null ,lpo_edge 
+0228 37d98200 until null ,lpo_edge 
+0229 20800000 clear_stack 
+022a 20202003 branch soft_reset + 2 
 
 p_main_loop:
-0024 20407552 call sp_calc_sequence_256 
-0025 20407448 call sp_calc_sequence_256_check 
-0026 20402a45 call le_advertising_dispatch 
-0027 2040202a call idle_dispatch 
-0028 204042ad call app_process_idle 
-0029 20402018 call connection_dispatch 
-002a 2040310f call g24_dispatch 
-002b 2040248c call lpm_dispatch 
-002c 20200024 branch p_main_loop 
+022b 20407552 call sp_calc_sequence_256 
+022c 20407448 call sp_calc_sequence_256_check 
+022d 20402a45 call le_advertising_dispatch 
+022e 2040202a call idle_dispatch 
+022f 204042ad call app_process_idle 
+0230 20402018 call connection_dispatch 
+0231 2040310f call g24_dispatch 
+0232 2040248c call lpm_dispatch 
+0233 2020022b branch p_main_loop 
 
 p_shutdown_radio:
-002d 70890000 jam 0 ,0x8900 
-002e 20202153 branch shutdown_radio + 1 
+0234 70890000 jam 0 ,0x8900 
+0235 20202153 branch shutdown_radio + 1 
 
 p_set_sync_on:
-002f 708a0f60 jam 0x60 ,0x8a0f 
-0030 708a10aa jam 0xaa ,0x8a10 
-0031 708a127a jam 0x7a ,0x8a12 
-0032 708a2500 jam 0x00 ,0x8a25 
-0033 708a2600 jam 0x00 ,0x8a26 
-0034 2000003c nop 60 
-0035 708a2020 jam 0x20 ,0x8a20 
-0036 708a23f5 jam 0xf5 ,0x8a23 
-0037 20202169 branch set_sync_on_next 
+0236 708a0f60 jam 0x60 ,0x8a0f 
+0237 708a10aa jam 0xaa ,0x8a10 
+0238 708a127a jam 0x7a ,0x8a12 
+0239 708a2500 jam 0x00 ,0x8a25 
+023a 708a2600 jam 0x00 ,0x8a26 
+023b 2000003c nop 60 
+023c 708a2020 jam 0x20 ,0x8a20 
+023d 708a23f5 jam 0xf5 ,0x8a23 
+023e 20202169 branch set_sync_on_next 
 
 p_calc_freq:
-0038 58000960 setarg 2400 
-0039 9840fe00 iadd temp ,pdata 
-003a 1fe22200 copy pdata ,rega 
-003b 6848c099 fetcht 1 ,mem_fcomp_div 
-003c 18430400 rshift temp ,temp 
-003d 9846fc00 idiv temp 
-003e 20407d62 call wait_div_end 
-003f 1807fe00 quotient pdata 
-0040 1fec8e00 rshift8 pdata ,queue 
-0041 60f0890a storer queue ,1 ,0x890a 
-0042 67f08909 store 1 ,0x8909 
-0043 202021da branch calc_freq + 10 
+023f 58000960 setarg 2400 
+0240 9840fe00 iadd temp ,pdata 
+0241 1fe22200 copy pdata ,rega 
+0242 6848c099 fetcht 1 ,mem_fcomp_div 
+0243 18430400 rshift temp ,temp 
+0244 9846fc00 idiv temp 
+0245 20407d62 call wait_div_end 
+0246 1807fe00 quotient pdata 
+0247 1fec8e00 rshift8 pdata ,queue 
+0248 60f0890a storer queue ,1 ,0x890a 
+0249 67f08909 store 1 ,0x8909 
+024a 202021da branch calc_freq + 10 
 
 p_set_ck2rfpll:
-0044 37d98200 until null ,lpo_edge 
-0045 70813c58 jam 0x58 ,0x813c 
-0046 202023e2 branch lpm_write_wait 
+024b 37d98200 until null ,lpo_edge 
+024c 70813c58 jam 0x58 ,0x813c 
+024d 202023e2 branch lpm_write_wait 
 
 p_initialize_radio_cont:
-0047 7001bb00 jam 0 ,mem_le_testtype 
-0048 7001bc00 jam 0 ,mem_cmd_le_create_conn 
-0049 37d98200 until null ,lpo_edge 
-004a 7089460d jam 0x0d ,0x8946 
-004b 70896f10 jam 0x10 ,0x896f 
-004c 708a8840 jam 0x40 ,core_rx_cfg0 
-004d 708a13cd jam 0xcd ,0x8a13 
-004e 708a0610 jam 0x10 ,0x8a06 
-004f 708a844a jam 0x4a ,0x8a84 
-0050 708a8540 jam 0x40 ,0x8a85 
-0051 708a16fe jam 0xfe ,0x8a16 
-0052 204000a8 call p_set_otp_config 
-0053 204070d7 call wdt_set_disable 
-0054 24558044 ncall p_set_ck2rfpll ,wake 
-0055 37d98200 until null ,lpo_edge 
-0056 70813b5f jam 0x5f ,0x813b 
-0057 37d98200 until null ,lpo_edge 
-0058 70813c88 jam 0x88 ,0x813c 
-0059 37d98200 until null ,lpo_edge 
-005a 6fe0c099 fetch 1 ,mem_fcomp_div 
-005b c0080099 beq xtal_16m ,p_initialize_radio_16m 
-005c 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-005d 1fe1fe04 or_into 0x04 ,pdata 
-005e 67f08a02 store 1 ,0x8a02 
-005f 70890f01 jam 0x01 ,0x890f 
-0060 708a8024 jam 0x24 ,0x8a80 
-0061 708a8162 jam 0x62 ,0x8a81 
-0062 58e61212 setarg 0xe61212 
-0063 67f18a73 store 3 ,0x8a73 
+024e 7001bb00 jam 0 ,mem_le_testtype 
+024f 7001bc00 jam 0 ,mem_cmd_le_create_conn 
+0250 37d98200 until null ,lpo_edge 
+0251 7089460d jam 0x0d ,0x8946 
+0252 70896f10 jam 0x10 ,0x896f 
+0253 708a8840 jam 0x40 ,core_rx_cfg0 
+0254 708a13cd jam 0xcd ,0x8a13 
+0255 708a0610 jam 0x10 ,0x8a06 
+0256 708a844a jam 0x4a ,0x8a84 
+0257 708a8540 jam 0x40 ,0x8a85 
+0258 708a16fe jam 0xfe ,0x8a16 
+0259 204002b7 call p_set_otp_config 
+025a 204070d7 call wdt_set_disable 
+025b 2455824b ncall p_set_ck2rfpll ,wake 
+025c 37d98200 until null ,lpo_edge 
+025d 70813b5f jam 0x5f ,0x813b 
+025e 37d98200 until null ,lpo_edge 
+025f 70813c88 jam 0x88 ,0x813c 
+0260 37d98200 until null ,lpo_edge 
+0261 6fe0c099 fetch 1 ,mem_fcomp_div 
+0262 c00802a8 beq xtal_16m ,p_initialize_radio_16m 
+0263 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+0264 1fe1fe04 or_into 0x04 ,pdata 
+0265 67f08a02 store 1 ,0x8a02 
+0266 70890f01 jam 0x01 ,0x890f 
+0267 708a8024 jam 0x24 ,0x8a80 
+0268 708a8162 jam 0x62 ,0x8a81 
+0269 58e61212 setarg 0xe61212 
+026a 67f18a73 store 3 ,0x8a73 
 
 p_initialize_radio2:
-0064 708a8660 jam 0x60 ,0x8a86 
-0065 708a8b3b jam 0x3b ,0x8a8b 
-0066 2040008b call p_dpll_on 
-0067 70804300 jam 0 ,core_config 
-0068 70804205 jam clksel_dpll ,core_clksel 
-0069 58557474 setarg 0x557474 
-006a 67f18968 store 3 ,0x8968 
-006b 7089606e jam 0x6e ,0x8960 
-006c 204000e6 call p_rx_dcoc 
-006d 20400111 call p_rfpll_aac_ghpc 
-006e 20400086 call p_set_xtal_cap 
-006f 7041480c jam system_clk_12m ,mem_system_clk 
+026b 708a8660 jam 0x60 ,0x8a86 
+026c 708a8b3b jam 0x3b ,0x8a8b 
+026d 2040029a call p_dpll_on 
+026e 70804300 jam 0 ,core_config 
+026f 70804205 jam clksel_dpll ,core_clksel 
+0270 58557474 setarg 0x557474 
+0271 67f18968 store 3 ,0x8968 
+0272 7089606e jam 0x6e ,0x8960 
+0273 204002f5 call p_rx_dcoc 
+0274 20400320 call p_rfpll_aac_ghpc 
+0275 20400295 call p_set_xtal_cap 
+0276 7041480c jam system_clk_12m ,mem_system_clk 
 
 p_sadc_calibration:
-0070 20758000 rtn wake 
-0071 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0072 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0073 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0074 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0075 67f080cd store 1 ,core_sadc_clkdiv 
-0076 20000bb8 nop 3000 
-0077 20400080 call p_sadc_read 
-0078 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0079 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-007a df200008 arg 8 ,loopcnt 
-007b 20406f58 call sadc_cal_read + 1 
-007c 6fe0c419 fetch 1 ,mem_spi_write_addr 
-007d 67e0c433 store 1 ,mem_adc_cal_c7 
-007e 6240c419 storer regb ,1 ,mem_spi_write_addr 
-007f 20600000 rtn 
+0277 20758000 rtn wake 
+0278 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0279 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+027a 708a0b00 jam 0x00 ,core_gpadc_cfg3 
+027b 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+027c 67f080cd store 1 ,core_sadc_clkdiv 
+027d 20000bb8 nop 3000 
+027e 20400287 call p_sadc_read 
+027f 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0280 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0281 df200008 arg 8 ,loopcnt 
+0282 20406f58 call sadc_cal_read + 1 
+0283 6fe0c419 fetch 1 ,mem_spi_write_addr 
+0284 67e0c433 store 1 ,mem_adc_cal_c7 
+0285 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0286 20600000 rtn 
 
 p_sadc_read:
-0080 7080cc03 jam 0x03 ,core_sadc_ctrl 
+0287 7080cc83 jam 0x83 ,core_sadc_ctrl 
+0288 6fe0c9f0 fetch 1 ,mem_ms_adc_mode 
+0289 245a0290 ncall p_sadc_ctrl_set ,blank 
 
 p_sadc_read_wait:
-0081 6ff08129 fetch 1 ,core_perf_status 
-0082 c3028081 bbit0 saradc_done ,p_sadc_read_wait 
-0083 68590164 fetcht 2 ,core_sadc_data 
-0084 6049440a storet 2 ,mem_adc_current_value 
-0085 20206f9f branch sadc_read_wait2 + 2 
+028a 6ff08129 fetch 1 ,core_perf_status 
+028b c302828a bbit0 saradc_done ,p_sadc_read_wait 
+028c 68590164 fetcht 2 ,core_sadc_data 
+028d 6049440a storet 2 ,mem_adc_current_value 
+028e 7080cc80 jam 0x80 ,core_sadc_ctrl 
+028f 20600000 rtn 
+
+p_sadc_ctrl_set:
+0290 7080cc8b jam 0x8b ,core_sadc_ctrl 
+0291 20600000 rtn 
+
+p_sar_adc_read_wait:
+0292 6ff08129 fetch 1 ,core_perf_status 
+0293 c3028292 bbit0 saradc_done ,p_sar_adc_read_wait 
+0294 20600000 rtn 
 
 p_set_xtal_cap:
-0086 20758000 rtn wake 
-0087 37d98200 until null ,lpo_edge 
-0088 6fe0c11c fetch 1 ,mem_xtal_c_sel 
+0295 20758000 rtn wake 
+0296 37d98200 until null ,lpo_edge 
+0297 6fe0c11c fetch 1 ,mem_xtal_c_sel 
 
 p_set_xtal_cap_next:
-0089 67f0813a store 1 ,core_xtal_cap 
-008a 202023e2 branch lpm_write_wait 
+0298 67f0813a store 1 ,core_xtal_cap 
+0299 202023e2 branch lpm_write_wait 
 
 p_dpll_on:
-008b 6fe0c099 fetch 1 ,mem_fcomp_div 
-008c c00c0091 beq xtal_24m ,p_dpll_on_24m 
-008d 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-008e 1fe1fe06 or_into 0x06 ,pdata 
-008f 67f08a02 store 1 ,0x8a02 
-0090 708a05e0 jam 0xe0 ,0x8a05 
+029a 6fe0c099 fetch 1 ,mem_fcomp_div 
+029b c00c02a0 beq xtal_24m ,p_dpll_on_24m 
+029c 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+029d 1fe1fe06 or_into 0x06 ,pdata 
+029e 67f08a02 store 1 ,0x8a02 
+029f 708a05e0 jam 0xe0 ,0x8a05 
 
 p_dpll_on_24m:
-0091 708a00d8 jam 0xd8 ,0x8a00 
-0092 2000003c nop 60 
-0093 708a01a0 jam 0xa0 ,0x8a01 
-0094 708a00df jam 0xdf ,0x8a00 
-0095 708a01fa jam 0xfa ,0x8a01 
-0096 20000014 nop 20 
-0097 708a009f jam 0x9f ,0x8a00 
-0098 20600000 rtn 
+02a0 708a00d8 jam 0xd8 ,0x8a00 
+02a1 2000003c nop 60 
+02a2 708a01a0 jam 0xa0 ,0x8a01 
+02a3 708a00df jam 0xdf ,0x8a00 
+02a4 708a01fa jam 0xfa ,0x8a01 
+02a5 20000014 nop 20 
+02a6 708a009f jam 0x9f ,0x8a00 
+02a7 20600000 rtn 
 
 p_initialize_radio_16m:
-0099 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-009a 1fe1fe06 or_into 0x06 ,pdata 
-009b 67f08a02 store 1 ,0x8a02 
-009c 70890f00 jam 0x00 ,0x890f 
-009d 708a8023 jam 0x23 ,0x8a80 
-009e 708a81b0 jam 0xb0 ,0x8a81 
-009f 58e40909 setarg 0xe40909 
-00a0 67f18a73 store 3 ,0x8a73 
-00a1 708a762a jam 0x2a ,0x8a76 
-00a2 70890204 jam 0x04 ,0x8902 
-00a3 20200064 branch p_initialize_radio2 
+02a8 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+02a9 1fe1fe06 or_into 0x06 ,pdata 
+02aa 67f08a02 store 1 ,0x8a02 
+02ab 70890f00 jam 0x00 ,0x890f 
+02ac 708a8023 jam 0x23 ,0x8a80 
+02ad 708a81b0 jam 0xb0 ,0x8a81 
+02ae 58e40909 setarg 0xe40909 
+02af 67f18a73 store 3 ,0x8a73 
+02b0 708a762a jam 0x2a ,0x8a76 
+02b1 70890204 jam 0x04 ,0x8902 
+02b2 2020026b branch p_initialize_radio2 
 
 p_set_otp_config_wake:
-00a4 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
-00a5 207a0000 rtn blank 
-00a6 67e1020f store 2 ,mem_otp_charge_pump 
-00a7 202000ba branch p_set_otp_config2 
+02b3 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
+02b4 207a0000 rtn blank 
+02b5 67e1020f store 2 ,mem_otp_charge_pump 
+02b6 202002c9 branch p_set_otp_config2 
 
 p_set_otp_config:
-00a8 203580a4 branch p_set_otp_config_wake ,wake 
-00a9 6fe2020d fetch 4 ,mem_otp_core_ldo 
-00aa 207a0000 rtn blank 
-00ab 37d98200 until null ,lpo_edge 
-00ac 6ff08136 fetch 1 ,0x8136 
-00ad 1fe17ef0 and pdata ,0xf0 ,pdata 
-00ae 6848820d fetcht 1 ,mem_otp_core_ldo 
-00af 9841fe00 ior temp ,pdata 
-00b0 1fe0fffd increase -3 ,pdata 
-00b1 67f08136 store 1 ,0x8136 
-00b2 37d98200 until null ,lpo_edge 
-00b3 6ff08138 fetch 1 ,0x8138 
-00b4 1fe17e07 and pdata ,0x7 ,pdata 
-00b5 6848820e fetcht 1 ,mem_otp_verf_bg 
-00b6 18498400 lshift3 temp ,temp 
-00b7 9841fe00 ior temp ,pdata 
-00b8 67f08138 store 1 ,0x8138 
-00b9 37d98200 until null ,lpo_edge 
+02b7 203582b3 branch p_set_otp_config_wake ,wake 
+02b8 6fe2020d fetch 4 ,mem_otp_core_ldo 
+02b9 207a0000 rtn blank 
+02ba 37d98200 until null ,lpo_edge 
+02bb 6ff08136 fetch 1 ,0x8136 
+02bc 1fe17ef0 and pdata ,0xf0 ,pdata 
+02bd 6848820d fetcht 1 ,mem_otp_core_ldo 
+02be 9841fe00 ior temp ,pdata 
+02bf 1fe0fffd increase -3 ,pdata 
+02c0 67f08136 store 1 ,0x8136 
+02c1 37d98200 until null ,lpo_edge 
+02c2 6ff08138 fetch 1 ,0x8138 
+02c3 1fe17e07 and pdata ,0x7 ,pdata 
+02c4 6848820e fetcht 1 ,mem_otp_verf_bg 
+02c5 18498400 lshift3 temp ,temp 
+02c6 9841fe00 ior temp ,pdata 
+02c7 67f08138 store 1 ,0x8138 
+02c8 37d98200 until null ,lpo_edge 
 
 p_set_otp_config2:
-00ba 6ff08acb fetch 1 ,0x8acb 
-00bb 1fe17ef0 and pdata ,0xf0 ,pdata 
-00bc 6848820f fetcht 1 ,mem_otp_charge_pump 
-00bd 6048c15b storet 1 ,mem_otp_charge_pump_x 
-00be 9841fe00 ior temp ,pdata 
-00bf 67f08acb store 1 ,0x8acb 
-00c0 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-00c1 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
-00c2 2feffe03 isolate1 3 ,pdata 
-00c3 6ff08a06 fetch 1 ,0x8a06 
-00c4 7920fe07 setflag true ,7 ,pdata 
-00c5 67f08a06 store 1 ,0x8a06 
-00c6 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-00c7 1fe10407 and pdata ,7 ,temp 
-00c8 18520400 lshift4 temp ,temp 
-00c9 18438400 lshift temp ,temp 
-00ca 6048c438 storet 1 ,mem_ring_ibias_trim 
-00cb 6ff08a02 fetch 1 ,0x8a02 
-00cc 1fe17e1f and pdata ,0x1f ,pdata 
-00cd 9841fe00 ior temp ,pdata 
-00ce 67f08a02 store 1 ,0x8a02 
-00cf 20600000 rtn 
+02c9 6ff08acb fetch 1 ,0x8acb 
+02ca 1fe17ef0 and pdata ,0xf0 ,pdata 
+02cb 6848820f fetcht 1 ,mem_otp_charge_pump 
+02cc 6048c15b storet 1 ,mem_otp_charge_pump_x 
+02cd 9841fe00 ior temp ,pdata 
+02ce 67f08acb store 1 ,0x8acb 
+02cf 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+02d0 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
+02d1 2feffe03 isolate1 3 ,pdata 
+02d2 6ff08a06 fetch 1 ,0x8a06 
+02d3 7920fe07 setflag true ,7 ,pdata 
+02d4 67f08a06 store 1 ,0x8a06 
+02d5 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+02d6 1fe10407 and pdata ,7 ,temp 
+02d7 18520400 lshift4 temp ,temp 
+02d8 18438400 lshift temp ,temp 
+02d9 6048c438 storet 1 ,mem_ring_ibias_trim 
+02da 6ff08a02 fetch 1 ,0x8a02 
+02db 1fe17e1f and pdata ,0x1f ,pdata 
+02dc 9841fe00 ior temp ,pdata 
+02dd 67f08a02 store 1 ,0x8a02 
+02de 20600000 rtn 
 
 p_rf_rx_enable:
-00d0 2040686f call rf_debug_rx_gpio_high 
-00d1 204021ba call rf_rx_agc_set 
-00d2 18002a08 force 8 ,radio_ctrl 
-00d3 18002a00 force 0 ,radio_ctrl 
-00d4 580aaada setarg 0x0aaada 
-00d5 67f18a0f store 3 ,0x8a0f 
-00d6 708a2540 jam 0x40 ,0x8a25 
-00d7 708a2610 jam 0x10 ,0x8a26 
-00d8 2000003c nop 60 
-00d9 708a01fb jam 0xfb ,0x8a01 
-00da 708a25ff jam 0xff ,0x8a25 
-00db 708a2630 jam 0x30 ,0x8a26 
-00dc 708a16fe jam 0xfe ,0x8a16 
-00dd 202021b4 branch rf_rx_enable + 14 
+02df 2040686f call rf_debug_rx_gpio_high 
+02e0 204021ba call rf_rx_agc_set 
+02e1 18002a08 force 8 ,radio_ctrl 
+02e2 18002a00 force 0 ,radio_ctrl 
+02e3 580aaada setarg 0x0aaada 
+02e4 67f18a0f store 3 ,0x8a0f 
+02e5 708a2540 jam 0x40 ,0x8a25 
+02e6 708a2610 jam 0x10 ,0x8a26 
+02e7 2000003c nop 60 
+02e8 708a01fb jam 0xfb ,0x8a01 
+02e9 708a25ff jam 0xff ,0x8a25 
+02ea 708a2630 jam 0x30 ,0x8a26 
+02eb 708a16fe jam 0xfe ,0x8a16 
+02ec 202021b4 branch rf_rx_enable + 14 
 
 p_txon:
-00de 580aaa7e setarg 0x0aaa7e 
-00df 67f18a0f store 3 ,0x8a0f 
-00e0 2000003c nop 60 
-00e1 708a2500 jam 0x00 ,0x8a25 
-00e2 708a260d jam 0x0d ,0x8a26 
-00e3 708a16f6 jam 0xf6 ,0x8a16 
-00e4 20202203 branch txon + 7 
+02ed 580aaa7e setarg 0x0aaa7e 
+02ee 67f18a0f store 3 ,0x8a0f 
+02ef 2000003c nop 60 
+02f0 708a2500 jam 0x00 ,0x8a25 
+02f1 708a260d jam 0x0d ,0x8a26 
+02f2 708a16f6 jam 0xf6 ,0x8a16 
+02f3 20202203 branch txon + 7 
 
 p_set_tx_power:
-00e5 20202217 branch set_tx_power_0db 
+02f4 20202217 branch set_tx_power_0db 
 
 p_rx_dcoc:
-00e6 20758000 rtn wake 
-00e7 20402160 call set_sync_on 
-00e8 d8400027 arg 39 ,temp 
-00e9 2040216f call set_freq_rx 
-00ea 204021a6 call rf_rx_enable 
-00eb 708a257f jam 0x7f ,0x8a25 
-00ec 708a301a jam 0x1a ,0x8a30 
-00ed 708a3178 jam 0x78 ,0x8a31 
-00ee 708a8fb2 jam 0xb2 ,0x8a8f 
-00ef 708ac200 jam 0 ,0x8ac2 
-00f0 708ac300 jam 0 ,0x8ac3 
-00f1 d8e00006 arg 6 ,queue 
-00f2 20400103 call p_rx_dcoc_avg 
-00f3 2a2ffe0d isolate1 13 ,rega 
-00f4 2040211d call qset_start 
-00f5 2a4ffe0d isolate1 13 ,regb 
-00f6 2040211e call qset_p 
-00f7 d8e00005 arg 5 ,queue 
+02f5 20758000 rtn wake 
+02f6 20402160 call set_sync_on 
+02f7 d8400027 arg 39 ,temp 
+02f8 2040216f call set_freq_rx 
+02f9 204021a6 call rf_rx_enable 
+02fa 708a257f jam 0x7f ,0x8a25 
+02fb 708a301a jam 0x1a ,0x8a30 
+02fc 708a3178 jam 0x78 ,0x8a31 
+02fd 708a8fb2 jam 0xb2 ,0x8a8f 
+02fe 708ac200 jam 0 ,0x8ac2 
+02ff 708ac300 jam 0 ,0x8ac3 
+0300 d8e00006 arg 6 ,queue 
+0301 20400312 call p_rx_dcoc_avg 
+0302 2a2ffe0d isolate1 13 ,rega 
+0303 2040211d call qset_start 
+0304 2a4ffe0d isolate1 13 ,regb 
+0305 2040211e call qset_p 
+0306 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-00f8 2040211c call qset1_p 
-00f9 2040211e call qset_p 
-00fa 20400103 call p_rx_dcoc_avg 
-00fb d8a08ac2 arg 0x8ac2 ,contw 
-00fc 1a31fe00 rshift4 rega ,pdata 
-00fd 20402117 call qsetxor 
-00fe 1a51fe00 rshift4 regb ,pdata 
-00ff 20402117 call qsetxor 
-0100 18e08fff increase -1 ,queue 
-0101 202100f8 branch p_rx_dcoc_loop2 ,positive 
-0102 2020214f branch rx_dcoc_loop2 + 10 
+0307 2040211c call qset1_p 
+0308 2040211e call qset_p 
+0309 20400312 call p_rx_dcoc_avg 
+030a d8a08ac2 arg 0x8ac2 ,contw 
+030b 1a31fe00 rshift4 rega ,pdata 
+030c 20402117 call qsetxor 
+030d 1a51fe00 rshift4 regb ,pdata 
+030e 20402117 call qsetxor 
+030f 18e08fff increase -1 ,queue 
+0310 20210307 branch p_rx_dcoc_loop2 ,positive 
+0311 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0103 2000003c nop 60 
-0104 58000f00 setarg mem_dcoc_buf 
-0105 67f10982 store 2 ,0x8982 
-0106 58000ff0 setarg mem_dcoc_buf_end 
-0107 67f10984 store 2 ,0x8984 
-0108 70898109 jam 0x9 ,0x8981 
-0109 70898103 jam 0x3 ,0x8981 
-010a 70898006 jam 0x6 ,0x8980 
-010b 2000003c nop 60 
-010c da200000 arg 0 ,rega 
-010d da400000 arg 0 ,regb 
-010e df200010 arg 16 ,loopcnt 
-010f d8c00f00 arg mem_dcoc_buf ,contr 
-0110 2020212d branch rx_dcoc_loop 
+0312 2000003c nop 60 
+0313 58000f00 setarg mem_dcoc_buf 
+0314 67f10982 store 2 ,0x8982 
+0315 58000ff0 setarg mem_dcoc_buf_end 
+0316 67f10984 store 2 ,0x8984 
+0317 70898109 jam 0x9 ,0x8981 
+0318 70898103 jam 0x3 ,0x8981 
+0319 70898006 jam 0x6 ,0x8980 
+031a 2000003c nop 60 
+031b da200000 arg 0 ,rega 
+031c da400000 arg 0 ,regb 
+031d df200010 arg 16 ,loopcnt 
+031e d8c00f00 arg mem_dcoc_buf ,contr 
+031f 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-0111 20758000 rtn wake 
-0112 20202272 branch rfpll_aac_ghpc + 1 
+0320 20758000 rtn wake 
+0321 20202272 branch rfpll_aac_ghpc + 1 
 
 p_set_lemode:
-0113 708a8211 jam 0x11 ,0x8a82 
-0114 708a8d12 jam 0x12 ,0x8a8d 
-0115 708a8e0a jam 0x0a ,0x8a8e 
-0116 6fe0c099 fetch 1 ,mem_fcomp_div 
-0117 c008012c beq xtal_16m ,p_set_lemode_2m_16m 
-0118 58005762 setarg 0x5762 
-0119 67f10907 store 2 ,0x8907 
+0322 708a8211 jam 0x11 ,0x8a82 
+0323 708a8d12 jam 0x12 ,0x8a8d 
+0324 708a8e0a jam 0x0a ,0x8a8e 
+0325 6fe0c099 fetch 1 ,mem_fcomp_div 
+0326 c008033b beq xtal_16m ,p_set_lemode_2m_16m 
+0327 58005762 setarg 0x5762 
+0328 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-011a 70890103 jam 3 ,0x8901 
-011b 70893003 jam 3 ,0x8930 
-011c c6168000 rtnmark1 mark_ble_2m 
-011d 70890101 jam 1 ,0x8901 
-011e 708a8207 jam 0x07 ,0x8a82 
-011f 708a8d44 jam 0x44 ,0x8a8d 
-0120 708a8e0a jam 0x0a ,0x8a8e 
-0121 6fe0c099 fetch 1 ,mem_fcomp_div 
-0122 c0080129 beq xtal_16m ,p_set_lemode_1m_16m 
-0123 58002bb1 setarg 0x2bb1 
-0124 67f10907 store 2 ,0x8907 
+0329 70890103 jam 3 ,0x8901 
+032a 70893003 jam 3 ,0x8930 
+032b c6168000 rtnmark1 mark_ble_2m 
+032c 70890101 jam 1 ,0x8901 
+032d 708a8207 jam 0x07 ,0x8a82 
+032e 708a8d44 jam 0x44 ,0x8a8d 
+032f 708a8e0a jam 0x0a ,0x8a8e 
+0330 6fe0c099 fetch 1 ,mem_fcomp_div 
+0331 c0080338 beq xtal_16m ,p_set_lemode_1m_16m 
+0332 58002bb1 setarg 0x2bb1 
+0333 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-0125 c6978000 rtnmark0 mark_ble_lr 
-0126 70893024 jam 0x24 ,0x8930 
-0127 70890105 jam 5 ,0x8901 
-0128 20600000 rtn 
+0334 c6978000 rtnmark0 mark_ble_lr 
+0335 70893024 jam 0x24 ,0x8930 
+0336 70890105 jam 5 ,0x8901 
+0337 20600000 rtn 
 
 p_set_lemode_1m_16m:
-0129 58004189 setarg 0x4189 
-012a 67f10907 store 2 ,0x8907 
-012b 20200125 branch p_set_lemode_1m 
+0338 58004189 setarg 0x4189 
+0339 67f10907 store 2 ,0x8907 
+033a 20200334 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-012c 58008312 setarg 0x8312 
-012d 67f10907 store 2 ,0x8907 
-012e 2020011a branch p_set_lemode_2m 
+033b 58008312 setarg 0x8312 
+033c 67f10907 store 2 ,0x8907 
+033d 20200329 branch p_set_lemode_2m 
 
 p_le_rx_dec:
-012f 2040281c call le_check_retransmit 
-0130 6a20804d fetchr rega ,1 ,mem_le_rxbuf_data_length 
-0131 1a20a3fc increase -4 ,rega 
-0132 242126fa nbranch le_crc_fail_consecutive ,positive 
-0133 2020268e branch le_rx_dec + 6 
+033e 2040281c call le_check_retransmit 
+033f 6a20804d fetchr rega ,1 ,mem_le_rxbuf_data_length 
+0340 1a20a3fc increase -4 ,rega 
+0341 242126fa nbranch le_crc_fail_consecutive ,positive 
+0342 2020268e branch le_rx_dec + 6 
 
 p_le_rx_nopayload:
-0134 09800018 parse demod ,bucket ,24 
-0135 1fef7e00 rshift32 pdata ,pdata 
-0136 1ff17e00 rshift16 pdata ,pdata 
-0137 e7e18005 istore 3 ,contw 
-0138 78287c00 enable swfine 
-0139 2040270d call le_set_until_tx_timer 
-013a 202326f6 branch le_crc_fail ,crc_failed 
-013b c59926af bmark0 mark_ble_encryption ,le_rx_match 
-013c 6fe0804d fetch 1 ,mem_le_rxbuf_data_length 
-013d 203a26af branch le_rx_match ,blank 
-013e 1fe0fffc increase -4 ,pdata 
-013f 67e0804d store 1 ,mem_le_rxbuf_data_length 
-0140 204072cb call wait_ccm_done 
-0141 6ff08108 fetch 1 ,core_misc_status 
-0142 c303a6fa bbit0 7 ,le_crc_fail_consecutive 
-0143 1800700c force regidx_result ,regext_index 
-0144 65e20154 storer regext ,4 ,mem_le_peer_mic 
-0145 202026af branch le_rx_match 
+0343 09800018 parse demod ,bucket ,24 
+0344 1fef7e00 rshift32 pdata ,pdata 
+0345 1ff17e00 rshift16 pdata ,pdata 
+0346 e7e18005 istore 3 ,contw 
+0347 78287c00 enable swfine 
+0348 2040270d call le_set_until_tx_timer 
+0349 202326f6 branch le_crc_fail ,crc_failed 
+034a c59926af bmark0 mark_ble_encryption ,le_rx_match 
+034b 6fe0804d fetch 1 ,mem_le_rxbuf_data_length 
+034c 203a26af branch le_rx_match ,blank 
+034d 1fe0fffc increase -4 ,pdata 
+034e 67e0804d store 1 ,mem_le_rxbuf_data_length 
+034f 204072cb call wait_ccm_done 
+0350 6ff08108 fetch 1 ,core_misc_status 
+0351 c303a6fa bbit0 7 ,le_crc_fail_consecutive 
+0352 1800700c force regidx_result ,regext_index 
+0353 65e20154 storer regext ,4 ,mem_le_peer_mic 
+0354 202026af branch le_rx_match 
 
 p_le_parse:
-0146 6fe0c334 fetch 1 ,mem_le_packet_llid 
-0147 c1000000 rtneq llid_reserved 
-0148 c001b04a beq llid_le_ll ,le_parse_ll 
-0149 202028e1 branch le_parse_l2cap 
+0355 6fe0c334 fetch 1 ,mem_le_packet_llid 
+0356 c1000000 rtneq llid_reserved 
+0357 c001b04a beq llid_le_ll ,le_parse_ll 
+0358 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-014a 793f8030 set0 mark_ble_crc_fail ,mark 
-014b 20202af6 branch le_init_adv + 1 
+0359 793f8030 set0 mark_ble_crc_fail ,mark 
+035a 20202af6 branch le_init_adv + 1 
 
 p_le_receive_rxon:
-014c 204025c2 call le_prep 
-014d c5978152 bmark0 mark_ble_lr ,p_le_receive_nolr 
-014e 783cfc00 pulse dewhiten_code_calc 
-014f 2000001e nop 30 
-0150 204025c2 call le_prep 
-0151 19699600 lshift3 timeup ,timeup 
+035b 204025c2 call le_prep 
+035c c5978361 bmark0 mark_ble_lr ,p_le_receive_nolr 
+035d 783cfc00 pulse dewhiten_code_calc 
+035e 2000001e nop 30 
+035f 204025c2 call le_prep 
+0360 19699600 lshift3 timeup ,timeup 
 
 p_le_receive_nolr:
-0152 7856fc00 disable match 
-0153 7826fc00 enable decode_fec0 
-0154 7830fc00 enable is_rx 
-0155 78507c00 disable is_tx 
-0156 19623600 copy timeup ,stop_watch 
-0157 37c18400 correlate null ,timeout 
-0158 2037015b branch p_le_receive_on_attempt ,attempt 
-0159 1b420400 copy clke ,temp 
-015a 604b000f storet 6 ,mem_sync_clke 
+0361 7856fc00 disable match 
+0362 7826fc00 enable decode_fec0 
+0363 7830fc00 enable is_rx 
+0364 78507c00 disable is_tx 
+0365 19623600 copy timeup ,stop_watch 
+0366 37c18400 correlate null ,timeout 
+0367 2037036a branch p_le_receive_on_attempt ,attempt 
+0368 1b420400 copy clke ,temp 
+0369 604b000f storet 6 ,mem_sync_clke 
 
 p_le_receive_on_attempt:
-015b 242c26fa nbranch le_unsync_end ,sync 
-015c 78287c00 enable swfine 
-015d 6fe0c167 fetch 1 ,mem_le_tx_ifs_defference 
-015e d8404e20 arg param_20ms_init ,temp 
-015f 98408400 iadd temp ,temp 
-0160 6fe0c148 fetch 1 ,mem_system_clk 
-0161 984fb600 imul32 temp ,stop_watch 
-0162 20406877 call rf_debug_rx_sync_line 
-0163 20372677 branch le_receive_skip ,attempt 
-0164 20400169 call p_calc_clke_all_modem 
-0165 6fe08168 fetch 1 ,mem_le_state 
-0166 c301a677 bbit0 lestate_got_first_packet ,le_receive_skip 
-0167 2055a477 call lpm_adjust_clk ,wake 
-0168 20202677 branch le_receive_skip 
+036a 242c26fa nbranch le_unsync_end ,sync 
+036b 78287c00 enable swfine 
+036c 6fe0c167 fetch 1 ,mem_le_tx_ifs_defference 
+036d d8404e20 arg param_20ms_init ,temp 
+036e 98408400 iadd temp ,temp 
+036f 6fe0c148 fetch 1 ,mem_system_clk 
+0370 984fb600 imul32 temp ,stop_watch 
+0371 20406877 call rf_debug_rx_sync_line 
+0372 20372677 branch le_receive_skip ,attempt 
+0373 20400378 call p_calc_clke_all_modem 
+0374 6fe08168 fetch 1 ,mem_le_state 
+0375 c301a677 bbit0 lestate_got_first_packet ,le_receive_skip 
+0376 2055a477 call lpm_adjust_clk ,wake 
+0377 20202677 branch le_receive_skip 
 
 p_calc_clke_all_modem:
-0169 684b000f fetcht 6 ,mem_sync_clke 
-016a 1b427e00 copy clke ,pdata 
-016b 20407d12 call clk_diff 
-016c 1fe20400 copy pdata ,temp 
-016d 204026ff call calc_clke_all_modem 
-016e 1b425600 copy clke ,rege 
-016f 1d227e00 copy clke_rt ,pdata 
-0170 9840fe00 iadd temp ,pdata 
-0171 1fe25200 copy pdata ,clke_rt 
-0172 20600000 rtn 
+0378 684b000f fetcht 6 ,mem_sync_clke 
+0379 1b427e00 copy clke ,pdata 
+037a 20407d12 call clk_diff 
+037b 1fe20400 copy pdata ,temp 
+037c 204026ff call calc_clke_all_modem 
+037d 1b425600 copy clke ,rege 
+037e 1d227e00 copy clke_rt ,pdata 
+037f 9840fe00 iadd temp ,pdata 
+0380 1fe25200 copy pdata ,clke_rt 
+0381 20600000 rtn 
 
 p_lpm_adjust_clk:
-0173 c584a489 bmark0 mark_context ,lpm_clear_counter 
-0174 684a40ad fetcht 4 ,mem_sleep_counter_all 
-0175 dfe00600 arg 0x600 ,pdata 
-0176 98467c00 isub temp ,null 
-0177 20610000 rtn positive 
-0178 18422200 copy temp ,rega 
-0179 684b000f fetcht 6 ,mem_sync_clke 
-017a 1d627e00 deposit rege 
-017b 20407d10 call clk_diff_rt 
-017c 1a220400 copy rega ,temp 
-017d 2020247d branch lpm_adjust_clk + 6 
+0382 c584a489 bmark0 mark_context ,lpm_clear_counter 
+0383 684a40ad fetcht 4 ,mem_sleep_counter_all 
+0384 dfe00600 arg 0x600 ,pdata 
+0385 98467c00 isub temp ,null 
+0386 20610000 rtn positive 
+0387 18422200 copy temp ,rega 
+0388 684b000f fetcht 6 ,mem_sync_clke 
+0389 1d627e00 deposit rege 
+038a 20407d10 call clk_diff_rt 
+038b 1a220400 copy rega ,temp 
+038c 2020247d branch lpm_adjust_clk + 6 
 
 p_le_adv_not_match:
-017e 20402152 call shutdown_radio 
-017f 70890000 jam 0 ,0x8900 
-0180 793f8030 set0 mark_ble_crc_fail ,mark 
-0181 20202ae3 branch le_adv_not_match + 1 
+038d 20402152 call shutdown_radio 
+038e 70890000 jam 0 ,0x8900 
+038f 793f8030 set0 mark_ble_crc_fail ,mark 
+0390 20202ae3 branch le_adv_not_match + 1 
 
 p_le_parse_l2cap:
-0182 efe10006 ifetch 2 ,contr 
-0183 c0020185 beq le_l2cap_cid_att ,p_le_parse_att 
-0184 202028eb branch le_parse_l2cap_next + 2 
+0391 efe10006 ifetch 2 ,contr 
+0392 c0020394 beq le_l2cap_cid_att ,p_le_parse_att 
+0393 202028eb branch le_parse_l2cap_next + 2 
 
 p_le_parse_att:
-0185 efe18006 ifetch 3 ,contr 
-0186 67e1c397 store 3 ,mem_le_att_opcode 
-0187 c005018a beq attop_read_request ,p_le_parse_att_read_request 
-0188 c0090199 beq attop_write_request ,p_le_parse_att_write_request 
-0189 20202b96 branch le_parse_att2 
+0394 efe18006 ifetch 3 ,contr 
+0395 67e1c397 store 3 ,mem_le_att_opcode 
+0396 c0050399 beq attop_read_request ,p_le_parse_att_read_request 
+0397 c00903a8 beq attop_write_request ,p_le_parse_att_write_request 
+0398 20202b96 branch le_parse_att2 
 
 p_le_parse_att_read_request:
-018a 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-018b c31dad19 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
-018c 20402dc7 call le_check_encrypt_state 
-018d 68494398 fetcht 2 ,mem_le_att_handle 
-018e 6fe0c321 fetch 1 ,mem_le_configuration 
-018f c2818194 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+0399 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+039a c31dad19 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
+039b 20402dc7 call le_check_encrypt_state 
+039c 68494398 fetcht 2 ,mem_le_att_handle 
+039d 6fe0c321 fetch 1 ,mem_le_configuration 
+039e c28183a3 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-0190 6fe14398 fetch 2 ,mem_le_att_handle 
-0191 c0182e03 beq 0x30 ,le_send_att_error_response_notfound 
-0192 68494398 fetcht 2 ,mem_le_att_handle 
-0193 20202d1d branch le_send_att_read_response 
+039f 6fe14398 fetch 2 ,mem_le_att_handle 
+03a0 c0182e03 beq 0x30 ,le_send_att_error_response_notfound 
+03a1 68494398 fetcht 2 ,mem_le_att_handle 
+03a2 20202d1d branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-0194 6fe14332 fetch 2 ,mem_le_pairing_handle 
-0195 98467c00 isub temp ,null 
-0196 24228190 nbranch p_le_send_att_read_response ,zero 
-0197 24340190 nbranch p_le_send_att_read_response ,user 
-0198 20202d46 branch le_send_att_read_response_error_insufficient_auth 
+03a3 6fe14332 fetch 2 ,mem_le_pairing_handle 
+03a4 98467c00 isub temp ,null 
+03a5 2422839f nbranch p_le_send_att_read_response ,zero 
+03a6 2434039f nbranch p_le_send_att_read_response ,user 
+03a7 20202d46 branch le_send_att_read_response_error_insufficient_auth 
 
 p_le_parse_att_write_request:
-0199 18c22200 copy contr ,rega 
-019a 6fe14335 fetch 2 ,mem_le_l2cap_size 
-019b 1fe0a5fd add pdata ,-3 ,regb 
-019c 20402929 call le_writeatt_cb 
-019d 6fe0c78f fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-019e c07fadac beq 0xff ,le_send_att_write_response_check_auth 
-019f 6fe0c795 fetch 1 ,mem_mouse_le_reconnect_flag 
-01a0 203a2dac branch le_send_att_write_response_check_auth ,blank 
-01a1 6fe0c843 fetch 1 ,mem_le_connect_status_flag 
-01a2 c280adac bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
-01a3 5800001a setarg 0x001a 
-01a4 68494398 fetcht 2 ,mem_le_att_handle 
-01a5 98467c00 isub temp ,null 
-01a6 2422adac nbranch le_send_att_write_response_check_auth ,zero 
-01a7 20202d46 branch le_send_att_read_response_error_insufficient_auth 
+03a8 18c22200 copy contr ,rega 
+03a9 6fe14335 fetch 2 ,mem_le_l2cap_size 
+03aa 1fe0a5fd add pdata ,-3 ,regb 
+03ab 20402929 call le_writeatt_cb 
+03ac 6fe0c78f fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+03ad c07fadac beq 0xff ,le_send_att_write_response_check_auth 
+03ae 6fe0c795 fetch 1 ,mem_mouse_le_reconnect_flag 
+03af 203a2dac branch le_send_att_write_response_check_auth ,blank 
+03b0 6fe0c843 fetch 1 ,mem_le_connect_status_flag 
+03b1 c280adac bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
+03b2 5800001a setarg 0x001a 
+03b3 68494398 fetcht 2 ,mem_le_att_handle 
+03b4 98467c00 isub temp ,null 
+03b5 2422adac nbranch le_send_att_write_response_check_auth ,zero 
+03b6 20202d46 branch le_send_att_read_response_error_insufficient_auth 
 
 p_gpio_set_wake:
-01a8 18467cff sub temp ,ui_button_gpio_disable ,null 
-01a9 20628000 rtn zero 
-01aa d9000004 arg 4 ,debug 
-01ab 284ffe07 isolate1 gpio_active_bit ,temp 
-01ac 2020eebd branch gpio_set_wake_high ,true 
-01ad d9000003 arg 3 ,debug 
-01ae 20206ebd branch gpio_set_wake_high 
+03b7 18467cff sub temp ,ui_button_gpio_disable ,null 
+03b8 20628000 rtn zero 
+03b9 d9000004 arg 4 ,debug 
+03ba 284ffe07 isolate1 gpio_active_bit ,temp 
+03bb 2020eebd branch gpio_set_wake_high ,true 
+03bc d9000003 arg 3 ,debug 
+03bd 20206ebd branch gpio_set_wake_high 
 
 p_mouse_lpm_before_common:
-01af 20400209 call p_clear_wake 
-01b0 6848c654 fetcht 1 ,mem_matrix_public_gpio 
-01b1 20406ef7 call gpio_out_active 
-01b2 6848c654 fetcht 1 ,mem_matrix_public_gpio 
-01b3 20406ed3 call gpio_clr_wake 
-01b4 2040550d call mouse_lpm_before_common + 1 
-01b5 202054f9 branch mouse_gpio_pd_idle 
+03be 20400418 call p_clear_wake 
+03bf 6848c654 fetcht 1 ,mem_matrix_public_gpio 
+03c0 20406ef7 call gpio_out_active 
+03c1 6848c654 fetcht 1 ,mem_matrix_public_gpio 
+03c2 20406ed3 call gpio_clr_wake 
+03c3 2040550d call mouse_lpm_before_common + 1 
+03c4 202054f9 branch mouse_gpio_pd_idle 
 
 p_lpm_sleep:
 
 p_lpm_sleep_skip_cb_function:
-01b6 6fe240ad fetch 4 ,mem_sleep_counter_all 
-01b7 9840fe00 iadd temp ,pdata 
-01b8 67e240ad store 4 ,mem_sleep_counter_all 
-01b9 204001c2 call p_lpm_save_context 
-01ba 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
-01bb 79207e04 set1 lpm_doze_en_bit ,pdata 
-01bc 204023e1 call lpm_write_sel_hv 
-01bd 2455a3cb ncall lpm_preon_counter ,wake 
-01be 37d98200 until null ,lpo_edge 
-01bf 1b227e00 copy clkn ,pdata 
-01c0 67e340b1 store 6 ,mem_sleep_clkn 
-01c1 2020242b branch lpm_sleep_skip_cb_function + 10 
+03c5 6fe240ad fetch 4 ,mem_sleep_counter_all 
+03c6 9840fe00 iadd temp ,pdata 
+03c7 67e240ad store 4 ,mem_sleep_counter_all 
+03c8 204003d1 call p_lpm_save_context 
+03c9 6fe0c0cb fetch 1 ,mem_lpm_hv_sel 
+03ca 79207e04 set1 lpm_doze_en_bit ,pdata 
+03cb 204023e1 call lpm_write_sel_hv 
+03cc 2455a3cb ncall lpm_preon_counter ,wake 
+03cd 37d98200 until null ,lpo_edge 
+03ce 1b227e00 copy clkn ,pdata 
+03cf 67e340b1 store 6 ,mem_sleep_clkn 
+03d0 2020242b branch lpm_sleep_skip_cb_function + 10 
 
 p_lpm_save_context:
-01c2 600440e7 storer mark ,8 ,mem_saved_mark 
-01c3 d8c08070 arg core_gpio_conf ,contr 
-01c4 d8a040cc arg mem_saved_gpio ,contw 
-01c5 20407c8f call memcpy16 
-01c6 d8c080d4 arg core_gpio_conf_hi ,contr 
-01c7 20407c89 call memcpy8 
-01c8 6ff08080 fetch 1 ,core_spid_ctrl 
-01c9 67e0c0ef store 1 ,mem_saved_spidctrl 
-01ca 18422400 copy temp ,regb 
+03d1 600440e7 storer mark ,8 ,mem_saved_mark 
+03d2 d8c08070 arg core_gpio_conf ,contr 
+03d3 d8a040cc arg mem_saved_gpio ,contw 
+03d4 20407c8f call memcpy16 
+03d5 d8c080d4 arg core_gpio_conf_hi ,contr 
+03d6 20407c89 call memcpy8 
+03d7 6ff08080 fetch 1 ,core_spid_ctrl 
+03d8 67e0c0ef store 1 ,mem_saved_spidctrl 
+03d9 18422400 copy temp ,regb 
 
 p_lpm_write_gpio_wakeup:
-01cb df20000c arg 12 ,loopcnt 
-01cc da200016 arg mem_gpio_wakeup_cfg ,rega 
-01cd da60814d arg core_gpio_wakeup_cfg ,regc 
-01ce 37d98200 until null ,lpo_edge 
+03da df20000c arg 12 ,loopcnt 
+03db da200016 arg mem_gpio_wakeup_cfg ,rega 
+03dc da60814d arg core_gpio_wakeup_cfg ,regc 
+03dd 37d98200 until null ,lpo_edge 
 
 p_lpm_write_gpio_loop:
-01cf efe08011 ifetch 1 ,rega 
-01d0 e8408013 ifetcht 1 ,regc 
-01d1 98467c00 isub temp ,null 
-01d2 202281d5 branch p_lpm_write_gpio_loop_next ,zero 
-01d3 e7e08013 istore 1 ,regc 
-01d4 37d98200 until null ,lpo_edge 
+03de efe08011 ifetch 1 ,rega 
+03df e8408013 ifetcht 1 ,regc 
+03e0 98467c00 isub temp ,null 
+03e1 202283e4 branch p_lpm_write_gpio_loop_next ,zero 
+03e2 e7e08013 istore 1 ,regc 
+03e3 37d98200 until null ,lpo_edge 
 
 p_lpm_write_gpio_loop_next:
-01d5 1a20a201 increase 1 ,rega 
-01d6 1a60a601 increase 1 ,regc 
-01d7 c20001cf loop p_lpm_write_gpio_loop 
-01d8 1a420400 copy regb ,temp 
-01d9 20600000 rtn 
+03e4 1a20a201 increase 1 ,rega 
+03e5 1a60a601 increase 1 ,regc 
+03e6 c20003de loop p_lpm_write_gpio_loop 
+03e7 1a420400 copy regb ,temp 
+03e8 20600000 rtn 
 
 p_otp_read_data:
-01da 20406b3a call enable_otp_read 
-01db 20406b75 call otp_read_data + 1 
-01dc 20206b38 branch otp_disable_chgpump 
+03e9 20406b3a call enable_otp_read 
+03ea 20406b75 call otp_read_data + 1 
+03eb 20206b38 branch otp_disable_chgpump 
 
 p_mouse_cb_fuction:
-01dd 58006235 setarg mouse_24g_short_sleep 
-01de 67e145f8 store 2 ,mem_cb_24g_transmit_short_sleep 
-01df 5800622b setarg mouse_24g_long_sleep 
-01e0 67e145fa store 2 ,mem_cb_24g_transmit_long_sleep 
-01e1 202053f3 branch mouse_cb_fuction + 7 
+03ec 58006235 setarg mouse_24g_short_sleep 
+03ed 67e145f8 store 2 ,mem_cb_24g_transmit_short_sleep 
+03ee 5800622b setarg mouse_24g_long_sleep 
+03ef 67e145fa store 2 ,mem_cb_24g_transmit_long_sleep 
+03f0 202053f3 branch mouse_cb_fuction + 7 
 
 p_mouse_idle:
-01e2 2040620e call mouse_low_voltage_led_no_enter_lpm 
-01e3 204001e5 call p_mouse_dpi_check 
-01e4 20205e61 branch mouse_idle + 4 
+03f1 2040620e call mouse_low_voltage_led_no_enter_lpm 
+03f2 204003f4 call p_mouse_dpi_check 
+03f3 20205e61 branch mouse_idle + 4 
 
 p_mouse_dpi_check:
-01e5 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
-01e6 c17f8000 rtneq gpio_disable 
-01e7 da200000 arg 0 ,rega 
-01e8 70497705 jam mouse_dpi_key ,mem_mouse_key_temp 
-01e9 6848c649 fetcht 1 ,mem_dpi_button_gpio 
-01ea 204001ec call p_mouse_dpi_key_check 
-01eb 202056c1 branch mouse_dpi_check_next 
+03f4 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
+03f5 c17f8000 rtneq gpio_disable 
+03f6 da200000 arg 0 ,rega 
+03f7 704d3105 jam mouse_dpi_key ,mem_mouse_key_temp 
+03f8 6848c649 fetcht 1 ,mem_dpi_button_gpio 
+03f9 204003fb call p_mouse_dpi_key_check 
+03fa 202056c1 branch mouse_dpi_check_next 
 
 p_mouse_dpi_key_check:
-01ec 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-01ed c295d6de bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-01ee 6fe0c974 fetch 1 ,mem_mouse_dpikey_press_status 
-01ef 1fe22600 copy pdata ,regc 
-01f0 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
-01f1 c07f81f3 beq gpio_disable ,p_mouse_3io6key_dpi_check 
-01f2 202056ce branch mouse_dpi_key_check_next 
+03fb 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+03fc c295d6de bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+03fd 6fe0cd2e fetch 1 ,mem_mouse_dpikey_press_status 
+03fe 1fe22600 copy pdata ,regc 
+03ff 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
+0400 c07f8402 beq gpio_disable ,p_mouse_3io6key_dpi_check 
+0401 202056ce branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-01f3 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
-01f4 20405946 call mouse_gpio_config_output_low 
-01f5 6848c649 fetcht 1 ,mem_dpi_button_gpio 
-01f6 202001f7 branch p_mouse_3io6key_check 
+0402 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
+0403 20405946 call mouse_gpio_config_output_low 
+0404 6848c649 fetcht 1 ,mem_dpi_button_gpio 
+0405 20200406 branch p_mouse_3io6key_check 
 
 p_mouse_3io6key_check:
-01f7 1a627e00 copy regc ,pdata 
-01f8 67e0c978 store 1 ,mem_mouse_key_status 
-01f9 1fe3fe00 lshift pdata ,pdata 
-01fa 1fe22400 copy pdata ,regb 
-01fb 18422600 copy temp ,regc 
-01fc 20406ef7 call gpio_out_active 
-01fd 1a620400 copy regc ,temp 
-01fe 204055b1 call mouse_gpio_config_input_pd 
-01ff 1a620400 copy regc ,temp 
-0200 20406ee6 call gpio_get_bit 
-0201 7d20a400 nsetflag true ,0 ,regb 
-0202 2040593d call mouse_check_press 
-0203 20205929 branch mouse_check_key_connect_gnd_1 
+0406 1a627e00 copy regc ,pdata 
+0407 67e0cd32 store 1 ,mem_mouse_key_status 
+0408 1fe3fe00 lshift pdata ,pdata 
+0409 1fe22400 copy pdata ,regb 
+040a 18422600 copy temp ,regc 
+040b 20406ef7 call gpio_out_active 
+040c 1a620400 copy regc ,temp 
+040d 204055b1 call mouse_gpio_config_input_pd 
+040e 1a620400 copy regc ,temp 
+040f 20406ee6 call gpio_get_bit 
+0410 7d20a400 nsetflag true ,0 ,regb 
+0411 2040593d call mouse_check_press 
+0412 20205929 branch mouse_check_key_connect_gnd_1 
 
 p_g24_short_sleep:
-0204 204036b4 call g24_lpm_wait 
-0205 24740000 nrtn user 
-0206 204036be call g24_setgpio_lpm_before 
-0207 20400209 call p_clear_wake 
-0208 2020361b branch g24_short_sleep_next 
+0413 204036b4 call g24_lpm_wait 
+0414 24740000 nrtn user 
+0415 204036be call g24_setgpio_lpm_before 
+0416 20400418 call p_clear_wake 
+0417 2020361b branch g24_short_sleep_next 
 
 p_clear_wake:
-0209 58000000 setarg 0 
-020a 67e40016 store 8 ,mem_gpio_wakeup_cfg 
-020b 67e2001e store 4 ,mem_gpio_wakeup_cfg + 8 
-020c 20600000 rtn 
+0418 58000000 setarg 0 
+0419 67e40016 store 8 ,mem_gpio_wakeup_cfg 
+041a 67e2001e store 4 ,mem_gpio_wakeup_cfg + 8 
+041b 20600000 rtn 
               org 0x2000
 
 start:
@@ -14684,7 +15377,7 @@
 494d c1878000 rtnne dvc_op_keyboard 
 494e 204054ac call mouse_wakeup_from_power_check 
 494f 24342002 nbranch soft_reset + 1 ,user 
-4950 6fe0c846 fetch 1 ,mem_power_on_flag 
+4950 6fe0cc00 fetch 1 ,mem_power_on_flag 
 4951 203a2002 branch soft_reset + 1 ,blank 
 4952 6fe0c655 fetch 1 ,mem_config_select_device_button_gpio 
 4953 c17f8000 rtneq ui_button_gpio_disable 
@@ -14801,7 +15494,7 @@
 49a2 204035f0 call g24_transmit_init 
 49a3 2040325b call g24_chmap_param_init 
 49a4 204049af call keyboard_param_init 
-49a5 6848c865 fetcht 1 ,mem_mcu_rstb_gpio 
+49a5 6848cc1f fetcht 1 ,mem_mcu_rstb_gpio 
 49a6 20406ef3 call gpio_out_inactive 
 49a7 20404b6d call keyboard_device_led_off 
 49a8 20406177 call mouse_device_multi_led_parm_init 
@@ -14814,7 +15507,7 @@
 
 keyboard_param_init:
 49af 2040543b call mouse_param_common_init 
-49b0 7048eb00 jam 0 ,mem_same_keyvalue_timerout_flag 
+49b0 704ca500 jam 0 ,mem_same_keyvalue_timerout_flag 
 49b1 58230170 setarg 0x230170 
 49b2 67e1c62d store 3 ,mem_mouse_vdd_full_vol 
 49b3 58015301 setarg 0x015301 
@@ -14844,19 +15537,19 @@
 49c7 202049c1 branch ble_store_le_name 
 
 keyboard_gpio_init:
-49c8 6848c864 fetcht 1 ,mem_mcu_clk_gpio 
+49c8 6848cc1e fetcht 1 ,mem_mcu_clk_gpio 
 49c9 20406f0f call gpio_set_high_impedance 
-49ca 6848c863 fetcht 1 ,mem_mcu_stb_gpio 
+49ca 6848cc1d fetcht 1 ,mem_mcu_stb_gpio 
 49cb 20406f0f call gpio_set_high_impedance 
-49cc 6848c865 fetcht 1 ,mem_mcu_rstb_gpio 
+49cc 6848cc1f fetcht 1 ,mem_mcu_rstb_gpio 
 49cd 20406f0f call gpio_set_high_impedance 
-49ce 5800486e setarg mem_key_row_gpio 
-49cf 67e14896 store 2 ,mem_kb_row_ptr 
-49d0 58004876 setarg mem_key_col_gpio 
-49d1 67e14898 store 2 ,mem_kb_col_ptr 
-49d2 5800488a setarg mem_key_excol_gpio 
-49d3 67e1489a store 2 ,mem_kb_excol_ptr 
-49d4 6fe14896 fetch 2 ,mem_kb_row_ptr 
+49ce 58004c28 setarg mem_key_row_gpio 
+49cf 67e14c50 store 2 ,mem_kb_row_ptr 
+49d0 58004c30 setarg mem_key_col_gpio 
+49d1 67e14c52 store 2 ,mem_kb_col_ptr 
+49d2 58004c44 setarg mem_key_excol_gpio 
+49d3 67e14c54 store 2 ,mem_kb_excol_ptr 
+49d4 6fe14c50 fetch 2 ,mem_kb_row_ptr 
 49d5 1fe22400 copy pdata ,regb 
 49d6 df200008 arg 8 ,loopcnt 
 
@@ -14867,7 +15560,7 @@
 49da 1a40a401 increase 1 ,regb 
 49db c20049d7 loop keyboard_key_row_init 
 49dc 204023fd call lpm_write_gpio_wakeup 
-49dd 6fe14898 fetch 2 ,mem_kb_col_ptr 
+49dd 6fe14c52 fetch 2 ,mem_kb_col_ptr 
 49de 1fe22400 copy pdata ,regb 
 49df 1fe22600 copy pdata ,regc 
 49e0 df20000b arg 11 ,loopcnt 
@@ -14895,16 +15588,16 @@
 49f0 20205fe4 branch mouse_24g_long_sleep_set 
 
 keyboard_low_vol_mult_ble_set:
-49f1 70496b0c jam 0x0c ,mem_lpm_mult_init 
+49f1 704d250c jam 0x0c ,mem_lpm_mult_init 
 49f2 6fe0c40c fetch 1 ,mem_adc_power_flag 
 49f3 c4000000 rtnbit0 0 
-49f4 70496b10 jam 0x10 ,mem_lpm_mult_init 
+49f4 704d2510 jam 0x10 ,mem_lpm_mult_init 
 49f5 6fe0c77e fetch 1 ,mem_mouse_current_mult_timer 
 49f6 203a5c01 branch mouse_current_mult_reinit ,blank 
 49f7 20600000 rtn 
 
 keyboard_pairing_check_otp_offset:
-49f8 6fe149df fetch 2 ,mem_otp_read_retention_offset 
+49f8 6fe14d99 fetch 2 ,mem_otp_read_retention_offset 
 49f9 d8400528 arg 0x528 ,temp 
 49fa 98467c00 isub temp ,null 
 49fb 24610000 nrtn positive 
@@ -14943,17 +15636,17 @@
 
 keyboard_load_otp_device_info:
 4a16 60488678 storet 1 ,mem_temp 
-4a17 da2049c7 arg mem_otp_read_retention_memory ,rega 
+4a17 da204d81 arg mem_otp_read_retention_memory ,rega 
 4a18 da600000 arg 0 ,regc 
 
 keyboard_load_otp_info_check_page_loop:
 4a19 1fe22400 copy pdata ,regb 
 4a1a 6f208678 fetchr loopcnt ,1 ,mem_temp 
 4a1b 20406b74 call otp_read_data 
-4a1c 6fe449c7 fetch 8 ,mem_otp_read_retention_memory 
-4a1d 684c49cf fetcht 8 ,mem_otp_read_retention_memory + 8 
+4a1c 6fe44d81 fetch 8 ,mem_otp_read_retention_memory 
+4a1d 684c4d89 fetcht 8 ,mem_otp_read_retention_memory + 8 
 4a1e 9841fe00 ior temp ,pdata 
-4a1f 684c49d7 fetcht 8 ,mem_otp_read_retention_memory + 16 
+4a1f 684c4d91 fetcht 8 ,mem_otp_read_retention_memory + 16 
 4a20 9841fe00 ior temp ,pdata 
 4a21 203a4a28 branch keyboard_load_otp_info_check_first_time ,blank 
 4a22 1a60a601 increase 1 ,regc 
@@ -14976,28 +15669,28 @@
 4a2d 1fe22400 copy pdata ,regb 
 4a2e 6f208678 fetchr loopcnt ,1 ,mem_temp 
 4a2f 20406b74 call otp_read_data 
-4a30 6fe449c7 fetch 8 ,mem_otp_read_retention_memory 
-4a31 684c49cf fetcht 8 ,mem_otp_read_retention_memory + 8 
+4a30 6fe44d81 fetch 8 ,mem_otp_read_retention_memory 
+4a31 684c4d89 fetcht 8 ,mem_otp_read_retention_memory + 8 
 4a32 9841fe00 ior temp ,pdata 
-4a33 684c49d7 fetcht 8 ,mem_otp_read_retention_memory + 16 
+4a33 684c4d91 fetcht 8 ,mem_otp_read_retention_memory + 16 
 4a34 9841fe00 ior temp ,pdata 
 4a35 203a4a3a branch keyboard_load_otp_info_check_offset_process ,blank 
 4a36 1a427e00 copy regb ,pdata 
 4a37 20204a2c branch keyboard_load_otp_info_check_first_time_loop 
 
 keyboard_load_otp_info_check_first_time_process:
-4a38 6560c9df storer rege ,1 ,mem_otp_read_retention_offset 
+4a38 6560cd99 storer rege ,1 ,mem_otp_read_retention_offset 
 4a39 20600000 rtn 
 
 keyboard_load_otp_info_check_offset_process:
 4a3a 44a1c008 bpatch patch08_3 ,mem_patch08 
 4a3b 58001fd0 setarg 0x1fd0 
 4a3c 9a467e00 isub regb ,pdata 
-4a3d 67e149df store 2 ,mem_otp_read_retention_offset 
+4a3d 67e14d99 store 2 ,mem_otp_read_retention_offset 
 4a3e 1a427e00 copy regb ,pdata 
 4a3f 9d60a400 iadd rege ,regb 
 4a40 6f208678 fetchr loopcnt ,1 ,mem_temp 
-4a41 da2049c7 arg mem_otp_read_retention_memory ,rega 
+4a41 da204d81 arg mem_otp_read_retention_memory ,rega 
 4a42 20406b74 call otp_read_data 
 4a43 6fe0c666 fetch 1 ,mem_device_flag 
 4a44 c0004a47 beq mode_24g_device ,keyboard_load_otp_info_check_offset_process_g24 
@@ -15005,20 +15698,20 @@
 4a46 20600000 rtn 
 
 keyboard_load_otp_info_check_offset_process_g24:
-4a47 6fe349c7 fetch 6 ,mem_otp_read_retention_memory 
+4a47 6fe34d81 fetch 6 ,mem_otp_read_retention_memory 
 4a48 67e24691 store 4 ,mem_mouse_24g_addr 
 4a49 20204a76 branch keybaord_load_device_info 
 
 keyboard_load_otp_info_check_offset_process_ble:
-4a4a 6fe0c9c7 fetch 1 ,mem_otp_read_retention_memory 
+4a4a 6fe0cd81 fetch 1 ,mem_otp_read_retention_memory 
 4a4b 1fe67c03 sub pdata ,system_os_mac ,null 
 4a4c 24417dca ncall set_pdata_0 ,positive 
-4a4d 67e0c9c6 store 1 ,mem_kb_computer_system 
-4a4e 6fe0c9c8 fetch 1 ,mem_otp_read_retention_memory + 1 
+4a4d 67e0cd80 store 1 ,mem_kb_computer_system 
+4a4e 6fe0cd82 fetch 1 ,mem_otp_read_retention_memory + 1 
 4a4f 67e0c667 store 1 ,mem_device1_type 
-4a50 6fe349c9 fetch 6 ,mem_otp_read_retention_memory + 2 
+4a50 6fe34d83 fetch 6 ,mem_otp_read_retention_memory + 2 
 4a51 67e34668 store 6 ,mem_device1_addr 
-4a52 6fe349cf fetch 6 ,mem_otp_read_retention_memory + 8 
+4a52 6fe34d89 fetch 6 ,mem_otp_read_retention_memory + 8 
 4a53 67e3466e store 6 ,mem_device1_locall_addr 
 4a54 20205c6f branch mouse_select_reconn_device 
 
@@ -15041,19 +15734,19 @@
 4a60 20600000 rtn 
 
 keyboard_store_otp_device_info_g24:
-4a61 684949df fetcht 2 ,mem_otp_read_retention_offset 
+4a61 68494d99 fetcht 2 ,mem_otp_read_retention_offset 
 4a62 58001fd0 setarg 0x1fd0 
 4a63 98462400 isub temp ,regb 
 4a64 da204691 arg mem_mouse_24g_addr ,rega 
 4a65 df200004 arg 4 ,loopcnt 
 4a66 20406b45 call otp_write 
-4a67 684949df fetcht 2 ,mem_otp_read_retention_offset 
+4a67 68494d99 fetcht 2 ,mem_otp_read_retention_offset 
 4a68 18408404 increase 4 ,temp 
-4a69 604949df storet 2 ,mem_otp_read_retention_offset 
+4a69 60494d99 storet 2 ,mem_otp_read_retention_offset 
 4a6a 20600000 rtn 
 
 keyboard_store_otp_device_info_ble:
-4a6b 684949df fetcht 2 ,mem_otp_read_retention_offset 
+4a6b 68494d99 fetcht 2 ,mem_otp_read_retention_offset 
 4a6c 58001fd0 setarg 0x1fd0 
 4a6d 98462400 isub temp ,regb 
 4a6e 1a40a401 add regb ,1 ,regb 
@@ -15144,13 +15837,13 @@
 keyboard_le_bb_disconnected:
 4ab8 58000000 setarg 0 
 4ab9 67e147c0 store 2 ,mem_le_battery_level_updata_timer 
-4aba 67e0c860 store 1 ,mem_keyboard_le_send_conn_param_update 
-4abb 67e0c861 store 1 ,mem_keyboard_le_send_conn_param_update_timer 
+4aba 67e0cc1a store 1 ,mem_keyboard_le_send_conn_param_update 
+4abb 67e0cc1b store 1 ,mem_keyboard_le_send_conn_param_update_timer 
 4abc 67e0c794 store 1 ,mem_mouse_le_bb_connected_flag 
 
 keyboard_le_bb_disconnected_next:
 4abd 7047c200 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
-4abe 70495600 jam 0 ,mem_mouse_clear_sensor_data_flag 
+4abe 704d1000 jam 0 ,mem_mouse_clear_sensor_data_flag 
 4abf 204029cb call le_clr_config_more_data 
 4ac0 20204ac1 branch keyboard_bb_disconnected 
 
@@ -15172,7 +15865,7 @@
 4acb 6fe0c795 fetch 1 ,mem_mouse_le_reconnect_flag 
 4acc c000cad0 beq 1 ,keyboard_le_ll_reconn_start_encryt 
 4acd 70484414 jam 20 ,mem_le_start_encrypt_timer 
-4ace 70486205 jam 5 ,mem_le_start_auto_reco_timer 
+4ace 704c1c05 jam 5 ,mem_le_start_auto_reco_timer 
 4acf 20205af6 branch mouse_le_ll_enable_start_enc_flag 
 
 keyboard_le_ll_reconn_start_encryt:
@@ -15185,7 +15878,7 @@
 4ad4 1fe67c0c sub pdata ,le_interval_15ms ,null 
 4ad5 24215b06 nbranch mouse_le_conn_param_lpm_disable ,positive 
 4ad6 6fe081a4 fetch 1 ,mem_le_new_connslavelatency 
-4ad7 6848c96b fetcht 1 ,mem_lpm_mult_init 
+4ad7 6848cd25 fetcht 1 ,mem_lpm_mult_init 
 4ad8 98467c00 isub temp ,null 
 4ad9 20215b1d branch mouse_le_lpm_mult_reinit ,positive 
 4ada 6fe081a4 fetch 1 ,mem_le_new_connslavelatency 
@@ -15193,10 +15886,10 @@
 4adc 20205b1f branch mouse_le_conn_param_lpm_enable 
 
 keyboard_le_conn_param_update_rsp_recieved:
-4add 6fe0c860 fetch 1 ,mem_keyboard_le_send_conn_param_update 
+4add 6fe0cc1a fetch 1 ,mem_keyboard_le_send_conn_param_update 
 4ade 247a0000 nrtn blank 
-4adf 70486001 jam 1 ,mem_keyboard_le_send_conn_param_update 
-4ae0 7048611e jam 30 ,mem_keyboard_le_send_conn_param_update_timer 
+4adf 704c1a01 jam 1 ,mem_keyboard_le_send_conn_param_update 
+4ae0 704c1b1e jam 30 ,mem_keyboard_le_send_conn_param_update_timer 
 4ae1 20600000 rtn 
 
 keyboard_24g_pairing_complete:
@@ -15215,14 +15908,14 @@
 4aec 20206075 branch mouse_24g_attempt_success 
 
 keyboard_24g_get_led:
-4aed 70485f02 jam device_data_tpye_standard_keyboard ,mem_keyboard_data_send_flag 
+4aed 704c1902 jam device_data_tpye_standard_keyboard ,mem_keyboard_data_send_flag 
 4aee 20404f3e call keyboard_clear_key_data 
 4aef 70472c03 jam 0x03 ,mem_customer_key_press + 2 
 4af0 20600000 rtn 
 
 keyboard_24g_led_get_status_check:
 4af1 df200006 arg 6 ,loopcnt 
-4af2 d8c04858 arg mem_keyboard_tx_data + 3 ,contr 
+4af2 d8c04c12 arg mem_keyboard_tx_data + 3 ,contr 
 
 keyboard_24g_led_data_check:
 4af3 efe08006 ifetch 1 ,contr 
@@ -15233,12 +15926,12 @@
 4af8 20600000 rtn 
 
 keyboard_get_24g_led_enable:
-4af9 7049ab03 jam 0x03 ,mem_keyboard_led_status_get 
-4afa 7048f401 jam 1 ,mem_keyboard_data_change_flag 
+4af9 704d6503 jam 0x03 ,mem_keyboard_led_status_get 
+4afa 704cae01 jam 1 ,mem_keyboard_data_change_flag 
 4afb 20600000 rtn 
 
 keyboard_set_repeat_send_flag:
-4afc 7049a901 jam 1 ,mem_24g_repeat_send_flag 
+4afc 704d6301 jam 1 ,mem_24g_repeat_send_flag 
 4afd 20600000 rtn 
 
 keyboard_24g_attempt_fail:
@@ -15272,7 +15965,7 @@
 4b13 5fffffff setarg -1 
 4b14 67e445af store 8 ,mem_24g_enter_hibernate 
 4b15 58000000 setarg 0 
-4b16 67e3c846 store 7 ,mem_mouse_key 
+4b16 67e3cc00 store 7 ,mem_mouse_key 
 4b17 70473f01 jam 1 ,mem_sensor_shutdown_flag 
 4b18 20204f9a branch keyboard_g24_long_sleep 
 
@@ -15304,15 +15997,15 @@
 4b31 20205c05 branch mouse_check_no_data_timeout_timer 
 
 keyboard_commbination_key_process:
-4b32 6fe0c980 fetch 1 ,mem_commbination_key_statue 
+4b32 6fe0cd3a fetch 1 ,mem_commbination_key_statue 
 4b33 c1808000 rtnne commbination_key_state_down 
-4b34 da604981 arg mem_combination_ui_button_count ,regc 
+4b34 da604d3b arg mem_combination_ui_button_count ,regc 
 4b35 da405a94 arg mouse_bluetooth_fast_conn_init ,regb 
 4b36 202042e0 branch timer_single_step 
 
 keyboard_commbination_fast_conn_bt_check:
-4b37 6fe148fa fetch 2 ,mem_keyboard_keyvalue_buffer + 2 
-4b38 684949ff fetcht 2 ,mem_keyboard_commbination_fast_conn_bt 
+4b37 6fe14cb4 fetch 2 ,mem_keyboard_keyvalue_buffer + 2 
+4b38 68494db9 fetcht 2 ,mem_keyboard_commbination_fast_conn_bt 
 4b39 98467c00 isub temp ,null 
 4b3a 2022cb3f branch keyboard_commbination_key_down ,zero 
 4b3b 18508400 byteswap temp ,temp 
@@ -15321,9 +16014,9 @@
 4b3e 20205bba branch mouse_commbination_key_up 
 
 keyboard_commbination_key_down:
-4b3f 6fe0c980 fetch 1 ,mem_commbination_key_statue 
+4b3f 6fe0cd3a fetch 1 ,mem_commbination_key_statue 
 4b40 c1008000 rtneq commbination_key_state_down 
-4b41 70498001 jam commbination_key_state_down ,mem_commbination_key_statue 
+4b41 704d3a01 jam commbination_key_state_down ,mem_commbination_key_statue 
 4b42 20600000 rtn 
 
 keyboard_check_discovery_timeout_timer:
@@ -15357,7 +16050,7 @@
 4b54 20600000 rtn 
 
 keyboard_le_auto_recognize_timer:
-4b55 da604862 arg mem_le_start_auto_reco_timer ,regc 
+4b55 da604c1c arg mem_le_start_auto_reco_timer ,regc 
 4b56 da40502f arg keyboard_le_send_att_find_by_type_value_request_ancs ,regb 
 4b57 202042e0 branch timer_single_step 
 
@@ -15373,25 +16066,25 @@
 4b5e 20205bee branch mouse_le_battery_updata_timer 
 
 keyboard_le_send_conn_param_update_timer:
-4b5f da604861 arg mem_keyboard_le_send_conn_param_update_timer ,regc 
+4b5f da604c1b arg mem_keyboard_le_send_conn_param_update_timer ,regc 
 4b60 da405aef arg mouse_updata_le_param ,regb 
 4b61 202042e0 branch timer_single_step 
 
 keyboard_24g_repeat_send_data:
-4b62 6fe0c9a9 fetch 1 ,mem_24g_repeat_send_flag 
+4b62 6fe0cd63 fetch 1 ,mem_24g_repeat_send_flag 
 4b63 207a0000 rtn blank 
-4b64 7049a900 jam 0 ,mem_24g_repeat_send_flag 
-4b65 7048f401 jam 1 ,mem_keyboard_data_change_flag 
+4b64 704d6300 jam 0 ,mem_24g_repeat_send_flag 
+4b65 704cae01 jam 1 ,mem_keyboard_data_change_flag 
 4b66 20403625 call g24_txdata_prep 
 4b67 20204fa0 branch keyboard_g24_transmit_process 
 
 keyboard_24g_led_status_get_timer:
-4b68 da6049ac arg mem_keyboard_led_status_get_timer ,regc 
+4b68 da604d66 arg mem_keyboard_led_status_get_timer ,regc 
 4b69 da404b6b arg keyboard_24g_led_status_clear ,regb 
 4b6a 202042e0 branch timer_single_step 
 
 keyboard_24g_led_status_clear:
-4b6b 7049ab00 jam 0 ,mem_keyboard_led_status_get 
+4b6b 704d6500 jam 0 ,mem_keyboard_led_status_get 
 4b6c 20600000 rtn 
 
 keyboard_device_led_off:
@@ -15399,45 +16092,45 @@
 4b6e 20404b7c call keyboard_capslock_led_off 
 
 keyboard_power_led_off:
-4b6f 6848c868 fetcht 1 ,mem_keyboard_power_led_gpio 
+4b6f 6848cc22 fetcht 1 ,mem_keyboard_power_led_gpio 
 4b70 20206ef3 branch gpio_out_inactive 
 
 keyboard_numlock_led_off:
 4b71 20600000 rtn 
 
 keyboard_capslock_led_on_timer:
-4b72 6fe0c866 fetch 1 ,mem_keyboard_caps_led_gpio 
+4b72 6fe0cc20 fetch 1 ,mem_keyboard_caps_led_gpio 
 4b73 c17f8000 rtneq gpio_disable 
 4b74 6fe14781 fetch 2 ,mem_mouse_no_data_timer 
 4b75 207a0000 rtn blank 
 4b76 6fe14725 fetch 2 ,mem_mouse_no_data_timeout 
 4b77 68494781 fetcht 2 ,mem_mouse_no_data_timer 
 4b78 98460400 isub temp ,temp 
-4b79 6fe14869 fetch 2 ,mem_keyboard_caps_led_on_timer 
+4b79 6fe14c23 fetch 2 ,mem_keyboard_caps_led_on_timer 
 4b7a 98467e00 isub temp ,pdata 
 4b7b 20214b7e branch keyboard_capslock_led_check_on ,positive 
 
 keyboard_capslock_led_off:
-4b7c 6848c866 fetcht 1 ,mem_keyboard_caps_led_gpio 
+4b7c 6848cc20 fetcht 1 ,mem_keyboard_caps_led_gpio 
 4b7d 20206ef3 branch gpio_out_inactive 
 
 keyboard_capslock_led_check_on:
-4b7e 6fe0c9aa fetch 1 ,mem_keyboard_led_status 
+4b7e 6fe0cd64 fetch 1 ,mem_keyboard_led_status 
 4b7f c300cb7c bbit0 kb_pc_keysel_capslock ,keyboard_capslock_led_off 
-4b80 6848c866 fetcht 1 ,mem_keyboard_caps_led_gpio 
+4b80 6848cc20 fetcht 1 ,mem_keyboard_caps_led_gpio 
 4b81 20206ef7 branch gpio_out_active 
 
 keyboard_long_press_timer:
-4b82 da6048ee arg mem_same_keyvalue_timer ,regc 
+4b82 da604ca8 arg mem_same_keyvalue_timer ,regc 
 4b83 da404b85 arg keyboard_long_press_timerout ,regb 
 4b84 202042e7 branch timer_single_step_2b 
 
 keyboard_long_press_timerout:
-4b85 7048eb01 jam 1 ,mem_same_keyvalue_timerout_flag 
+4b85 704ca501 jam 1 ,mem_same_keyvalue_timerout_flag 
 4b86 20204327 branch app_enter_hibernate 
 
 keyboard_commbination_delay_release_timer:
-4b87 da6049c4 arg mem_keyboard_commbination_control_key_delay_release_timer ,regc 
+4b87 da604d7e arg mem_keyboard_commbination_control_key_delay_release_timer ,regc 
 4b88 da404d9e arg keyboard_commbination_key_null_set ,regb 
 4b89 202042e0 branch timer_single_step 
 
@@ -15467,7 +16160,7 @@
 4b9a 58000000 setarg 0 
 4b9b 67e147c0 store 2 ,mem_le_battery_level_updata_timer 
 4b9c 20404b7c call keyboard_capslock_led_off 
-4b9d 7049c6ff jam 0xff ,mem_kb_computer_system 
+4b9d 704d80ff jam 0xff ,mem_kb_computer_system 
 4b9e 6fe144e9 fetch 2 ,mem_ui_state_map 
 4b9f 2feffe0b isolate1 ui_state_ble_adv ,pdata 
 4ba0 2040dc3e call mouse_stop_le_adv ,true 
@@ -15494,7 +16187,7 @@
 4bb3 67e147c0 store 2 ,mem_le_battery_level_updata_timer 
 4bb4 67e0c845 store 1 ,mem_mouse_direct_timer 
 4bb5 67e0c792 store 1 ,mem_mouse_bluetooth_reconnect_timeout 
-4bb6 67e0c956 store 1 ,mem_mouse_clear_sensor_data_flag 
+4bb6 67e0cd10 store 1 ,mem_mouse_clear_sensor_data_flag 
 4bb7 d8e00002 arg mouse_store_eeprom_flag ,queue 
 4bb8 20405f00 call mouse_enable_function_flag 
 4bb9 20405ef4 call mouse_bt_discovery_button_down_disable 
@@ -15544,9 +16237,9 @@
 4bdb c280cf6b bbit1 1 ,keyboard_power_down 
 
 keyboard_start_work_next:
-4bdc 6fe0c9a4 fetch 1 ,mem_keyboard_pairing_type 
+4bdc 6fe0cd5e fetch 1 ,mem_keyboard_pairing_type 
 4bdd 205a4e24 call keyboard_enable_bt_button_pairing ,blank 
-4bde 6fe0c9a3 fetch 1 ,mem_keyboard_bt_button_flag 
+4bde 6fe0cd5d fetch 1 ,mem_keyboard_bt_button_flag 
 4bdf 247a0000 nrtn blank 
 4be0 6fe0c666 fetch 1 ,mem_device_flag 
 4be1 c000602f beq mode_24g_device ,mouse_24g_reconn_general_dongle 
@@ -15577,7 +16270,7 @@
 4bf6 204056b1 call mouse_wheel_trigger 
 4bf7 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 4bf8 c30b5b3c bbit0 mouse_enable_keyboard ,mouse_le_send_mouse_data 
-4bf9 6fe0c96c fetch 1 ,mem_customer_key 
+4bf9 6fe0cd26 fetch 1 ,mem_customer_key 
 4bfa 20205b3d branch mouse_le_send_keyboard_package_data 
 
 kscan_dispatch:
@@ -15591,27 +16284,27 @@
 4c00 44a74009 bpatch patch09_6 ,mem_patch09 
 4c01 20404c85 call keyboard_stb_state_low 
 4c02 58000000 setarg 0 
-4c03 67e148e9 store 2 ,mem_keyscan_exmcu_wait_wake_count 
-4c04 d8c0489c arg mem_keyscan_value_current ,contr 
-4c05 d8a048b0 arg mem_keyscan_value_check ,contw 
+4c03 67e14ca3 store 2 ,mem_keyscan_exmcu_wait_wake_count 
+4c04 d8c04c56 arg mem_keyscan_value_current ,contr 
+4c05 d8a04c6a arg mem_keyscan_value_check ,contw 
 4c06 df200014 arg 20 ,loopcnt 
 4c07 20407cda call memcpy 
-4c08 5800489c setarg mem_keyscan_value_current 
-4c09 67e148e3 store 2 ,mem_keyscan_value_ptr 
-4c0a 580048d8 setarg mem_keyscan_exmcu_value 
-4c0b 67e148e5 store 2 ,mem_keyscan_exmcu_value_ptr 
+4c08 58004c56 setarg mem_keyscan_value_current 
+4c09 67e14c9d store 2 ,mem_keyscan_value_ptr 
+4c0a 58004c92 setarg mem_keyscan_exmcu_value 
+4c0b 67e14c9f store 2 ,mem_keyscan_exmcu_value_ptr 
 4c0c 20404c2f call keyboard_keyscan_get_exmcu_value 
 4c0d 20404c53 call keyboard_keyscan_get_mcu_value 
 4c0e 20404c83 call keyboard_stb_state_high 
 
 keyboard_keyscan_copy_value:
-4c0f 6fe1489a fetch 2 ,mem_kb_excol_ptr 
+4c0f 6fe14c54 fetch 2 ,mem_kb_excol_ptr 
 4c10 1fe22400 copy pdata ,regb 
-4c11 7048e800 jam 0 ,mem_keyscan_col_loop_count 
+4c11 704ca200 jam 0 ,mem_keyscan_col_loop_count 
 
 keyboard_compare_col_excol_gpio_loop:
 4c12 e8408012 ifetcht 1 ,regb 
-4c13 6fe14898 fetch 2 ,mem_kb_col_ptr 
+4c13 6fe14c52 fetch 2 ,mem_kb_col_ptr 
 4c14 1fe22200 copy pdata ,rega 
 4c15 1a222600 copy rega ,regc 
 4c16 df200014 arg 20 ,loopcnt 
@@ -15625,22 +16318,22 @@
 
 keyboard_compare_col_excol_gpio_loop_next:
 4c1c 1a40a401 increase 1 ,regb 
-4c1d 6fe0c8e8 fetch 1 ,mem_keyscan_col_loop_count 
+4c1d 6fe0cca2 fetch 1 ,mem_keyscan_col_loop_count 
 4c1e 1fe0fe01 increase 1 ,pdata 
-4c1f 67e0c8e8 store 1 ,mem_keyscan_col_loop_count 
+4c1f 67e0cca2 store 1 ,mem_keyscan_col_loop_count 
 4c20 1fe67c0a sub pdata ,10 ,null 
 4c21 20214c12 branch keyboard_compare_col_excol_gpio_loop ,positive 
 4c22 20600000 rtn 
 
 keyboard_copy_value_exmcu_to_mcu:
-4c23 6fe148e3 fetch 2 ,mem_keyscan_value_ptr 
+4c23 6fe14c9d fetch 2 ,mem_keyscan_value_ptr 
 4c24 1fe20a00 copy pdata ,contw 
 4c25 1a227e00 copy rega ,pdata 
 4c26 9a667e00 isub regc ,pdata 
 4c27 98a08a00 iadd contw ,contw 
-4c28 6fe148e5 fetch 2 ,mem_keyscan_exmcu_value_ptr 
+4c28 6fe14c9f fetch 2 ,mem_keyscan_exmcu_value_ptr 
 4c29 1fe22600 copy pdata ,regc 
-4c2a 6fe0c8e8 fetch 1 ,mem_keyscan_col_loop_count 
+4c2a 6fe0cca2 fetch 1 ,mem_keyscan_col_loop_count 
 4c2b 9a60a600 iadd regc ,regc 
 4c2c efe08013 ifetch 1 ,regc 
 4c2d e7e08005 istore 1 ,contw 
@@ -15652,17 +16345,17 @@
 4c31 20404c81 call keyboard_clk_input 
 
 keyboard_keyscan_exmcu_start:
-4c32 6fe148e9 fetch 2 ,mem_keyscan_exmcu_wait_wake_count 
+4c32 6fe14ca3 fetch 2 ,mem_keyscan_exmcu_wait_wake_count 
 4c33 1fe0fe01 increase 1 ,pdata 
-4c34 67e148e9 store 2 ,mem_keyscan_exmcu_wait_wake_count 
+4c34 67e14ca3 store 2 ,mem_keyscan_exmcu_wait_wake_count 
 4c35 c284cc71 bbit1 9 ,keyboard_keyscan_reset_exmcu 
-4c36 6848c864 fetcht 1 ,mem_mcu_clk_gpio 
+4c36 6848cc1e fetcht 1 ,mem_mcu_clk_gpio 
 4c37 20406ee6 call gpio_get_bit 
 4c38 2420cc32 nbranch keyboard_keyscan_exmcu_start ,true 
 4c39 20000014 nop 20 
 4c3a 20404c79 call keyboard_clk_state_high 
 4c3b 20404c85 call keyboard_stb_state_low 
-4c3c 7048e800 jam 0 ,mem_keyscan_col_loop_count 
+4c3c 704ca200 jam 0 ,mem_keyscan_col_loop_count 
 
 keyboard_keyscan_exmcu_start_loop:
 4c3d 20404c7b call keyboard_clk_state_low 
@@ -15676,30 +16369,30 @@
 4c45 20204c79 branch keyboard_clk_state_high 
 
 keyboard_keyscan_exmcu_get_col_value:
-4c46 7048e700 jam 0 ,mem_keyscan_value_temp 
+4c46 704ca100 jam 0 ,mem_keyscan_value_temp 
 4c47 20000032 nop 50 
 4c48 20404c65 call keyboard_keyscan_get_col_value 
-4c49 6fe148e5 fetch 2 ,mem_keyscan_exmcu_value_ptr 
+4c49 6fe14c9f fetch 2 ,mem_keyscan_exmcu_value_ptr 
 
 keyboard_keyscan_value_store:
 4c4a 1fe20a00 copy pdata ,contw 
-4c4b 6fe0c8e8 fetch 1 ,mem_keyscan_col_loop_count 
+4c4b 6fe0cca2 fetch 1 ,mem_keyscan_col_loop_count 
 4c4c 98a08a00 iadd contw ,contw 
-4c4d 6fe0c8e7 fetch 1 ,mem_keyscan_value_temp 
+4c4d 6fe0cca1 fetch 1 ,mem_keyscan_value_temp 
 4c4e e7e08005 istore 1 ,contw 
-4c4f 6fe0c8e8 fetch 1 ,mem_keyscan_col_loop_count 
+4c4f 6fe0cca2 fetch 1 ,mem_keyscan_col_loop_count 
 4c50 1fe0fe01 increase 1 ,pdata 
-4c51 67e0c8e8 store 1 ,mem_keyscan_col_loop_count 
+4c51 67e0cca2 store 1 ,mem_keyscan_col_loop_count 
 4c52 20600000 rtn 
 
 keyboard_keyscan_get_mcu_value:
 4c53 20000014 nop 20 
-4c54 6fe14898 fetch 2 ,mem_kb_col_ptr 
+4c54 6fe14c52 fetch 2 ,mem_kb_col_ptr 
 4c55 1fe22400 copy pdata ,regb 
-4c56 7048e800 jam 0 ,mem_keyscan_col_loop_count 
+4c56 704ca200 jam 0 ,mem_keyscan_col_loop_count 
 
 keyboard_keyscan_mcu_start:
-4c57 7048e700 jam 0 ,mem_keyscan_value_temp 
+4c57 704ca100 jam 0 ,mem_keyscan_value_temp 
 4c58 e8408012 ifetcht 1 ,regb 
 4c59 284ffe07 isolate1 7 ,temp 
 4c5a 2020cc5f branch keyboard_keyscan_mcu_start_loop ,true 
@@ -15710,44 +16403,44 @@
 
 keyboard_keyscan_mcu_start_loop:
 4c5f 1a40a401 increase 1 ,regb 
-4c60 6fe148e3 fetch 2 ,mem_keyscan_value_ptr 
+4c60 6fe14c9d fetch 2 ,mem_keyscan_value_ptr 
 4c61 20404c4a call keyboard_keyscan_value_store 
 4c62 1fe67c13 sub pdata ,19 ,null 
 4c63 20214c57 branch keyboard_keyscan_mcu_start ,positive 
 4c64 20600000 rtn 
 
 keyboard_keyscan_get_col_value:
-4c65 6fe14896 fetch 2 ,mem_kb_row_ptr 
+4c65 6fe14c50 fetch 2 ,mem_kb_row_ptr 
 4c66 1fe22600 copy pdata ,regc 
 4c67 df200008 arg 8 ,loopcnt 
 
 keyboard_keyscan_get_col_value_loop:
 4c68 e8408013 ifetcht 1 ,regc 
 4c69 20406ee6 call gpio_get_bit 
-4c6a 6fe0c8e7 fetch 1 ,mem_keyscan_value_temp 
+4c6a 6fe0cca1 fetch 1 ,mem_keyscan_value_temp 
 4c6b 1fe37e00 rshift pdata ,pdata 
 4c6c 7920fe07 setflag true ,7 ,pdata 
-4c6d 67e0c8e7 store 1 ,mem_keyscan_value_temp 
+4c6d 67e0cca1 store 1 ,mem_keyscan_value_temp 
 4c6e 1a60a601 increase 1 ,regc 
 4c6f c2004c68 loop keyboard_keyscan_get_col_value_loop 
 4c70 20600000 rtn 
 
 keyboard_keyscan_reset_exmcu:
-4c71 6848c865 fetcht 1 ,mem_mcu_rstb_gpio 
+4c71 6848cc1f fetcht 1 ,mem_mcu_rstb_gpio 
 4c72 20406ef7 call gpio_out_active 
 4c73 20000014 nop 20 
-4c74 6848c865 fetcht 1 ,mem_mcu_rstb_gpio 
+4c74 6848cc1f fetcht 1 ,mem_mcu_rstb_gpio 
 4c75 20406ef3 call gpio_out_inactive 
 4c76 20001770 nop 6000 
 4c77 20600000 rtn 
 4c78 20204c00 branch keyboard_keyscan 
 
 keyboard_clk_state_high:
-4c79 6848c864 fetcht 1 ,mem_mcu_clk_gpio 
+4c79 6848cc1e fetcht 1 ,mem_mcu_clk_gpio 
 4c7a 20206ef3 branch gpio_out_inactive 
 
 keyboard_clk_state_low:
-4c7b 6848c864 fetcht 1 ,mem_mcu_clk_gpio 
+4c7b 6848cc1e fetcht 1 ,mem_mcu_clk_gpio 
 4c7c 20206ef7 branch gpio_out_active 
 
 keyboard_gpio_config_input_pu:
@@ -15757,149 +16450,149 @@
 4c80 20206edd branch gpio_config_input 
 
 keyboard_clk_input:
-4c81 6848c864 fetcht 1 ,mem_mcu_clk_gpio 
+4c81 6848cc1e fetcht 1 ,mem_mcu_clk_gpio 
 4c82 20206edd branch gpio_config_input 
 
 keyboard_stb_state_high:
-4c83 6848c863 fetcht 1 ,mem_mcu_stb_gpio 
+4c83 6848cc1d fetcht 1 ,mem_mcu_stb_gpio 
 4c84 20206ef3 branch gpio_out_inactive 
 
 keyboard_stb_state_low:
-4c85 6848c863 fetcht 1 ,mem_mcu_stb_gpio 
+4c85 6848cc1d fetcht 1 ,mem_mcu_stb_gpio 
 4c86 20206ef7 branch gpio_out_active 
 
 keyboard_press_change_or_no_key:
-4c87 7048eb00 jam 0 ,mem_same_keyvalue_timerout_flag 
-4c88 6fe148ec fetch 2 ,mem_same_keyvalue_timer_init 
-4c89 67e148ee store 2 ,mem_same_keyvalue_timer 
+4c87 704ca500 jam 0 ,mem_same_keyvalue_timerout_flag 
+4c88 6fe14ca6 fetch 2 ,mem_same_keyvalue_timer_init 
+4c89 67e14ca8 store 2 ,mem_same_keyvalue_timer 
 4c8a 20600000 rtn 
 
 keyboard_key_process:
 4c8b 44a8400a bpatch patch0a_0 ,mem_patch0a 
-4c8c da20489c arg mem_keyscan_value_current ,rega 
-4c8d da4048b0 arg mem_keyscan_value_check ,regb 
+4c8c da204c56 arg mem_keyscan_value_current ,rega 
+4c8d da404c6a arg mem_keyscan_value_check ,regb 
 4c8e df200014 arg 20 ,loopcnt 
 4c8f 20407d64 call string_compare 
 4c90 2422cc87 nbranch keyboard_press_change_or_no_key ,zero 
 4c91 20404cc5 call keyboard_keyscan_value_current_zero_check 
 4c92 205a4c87 call keyboard_press_change_or_no_key ,blank 
 4c93 20404ccd call keyboard_ghost_key_check 
-4c94 6fe0c97b fetch 1 ,mem_mouse_ghost_flag 
+4c94 6fe0cd35 fetch 1 ,mem_mouse_ghost_flag 
 4c95 247a0000 nrtn blank 
-4c96 6fe0c9c1 fetch 1 ,mem_keyboard_commbination_key_step 
+4c96 6fe0cd7b fetch 1 ,mem_keyboard_commbination_key_step 
 4c97 c1008000 rtneq cammbination_key_press 
 4c98 c1010000 rtneq cammbination_key_hold 
 4c99 c1020000 rtneq cammbination_key_wait_release 
-4c9a 7048e800 jam 0 ,mem_keyscan_col_loop_count 
-4c9b da20489c arg mem_keyscan_value_current ,rega 
-4c9c da4048c4 arg mem_keyscan_value_old ,regb 
+4c9a 704ca200 jam 0 ,mem_keyscan_col_loop_count 
+4c9b da204c56 arg mem_keyscan_value_current ,rega 
+4c9c da404c7e arg mem_keyscan_value_old ,regb 
 
 keyboard_keyvalue_process:
 4c9d e8408011 ifetcht 1 ,rega 
 4c9e efe08012 ifetch 1 ,regb 
 4c9f 9842fe00 ixor temp ,pdata 
 4ca0 203a4cbd branch keyboard_keyvalue_process_loop ,blank 
-4ca1 67e0c8e7 store 1 ,mem_keyscan_value_temp 
-4ca2 6048c8f6 storet 1 ,mem_keyboard_press_flag_temp 
+4ca1 67e0cca1 store 1 ,mem_keyscan_value_temp 
+4ca2 6048ccb0 storet 1 ,mem_keyboard_press_flag_temp 
 4ca3 e0408012 istoret 1 ,regb 
-4ca4 7048f401 jam 1 ,mem_keyboard_data_change_flag 
-4ca5 7048f700 jam 0 ,mem_keyboard_keyvalue_bit_loop_count 
+4ca4 704cae01 jam 1 ,mem_keyboard_data_change_flag 
+4ca5 704cb100 jam 0 ,mem_keyboard_keyvalue_bit_loop_count 
 
 keyboard_keyvalue_change:
-4ca6 6fe0c8e7 fetch 1 ,mem_keyscan_value_temp 
+4ca6 6fe0cca1 fetch 1 ,mem_keyscan_value_temp 
 4ca7 c3004cb3 bbit0 0 ,keyboard_keyvalue_change_loop 
-4ca8 6fe0c8e8 fetch 1 ,mem_keyscan_col_loop_count 
+4ca8 6fe0cca2 fetch 1 ,mem_keyscan_col_loop_count 
 4ca9 1feffe08 mul32 pdata ,8 ,pdata 
-4caa 6848c8f7 fetcht 1 ,mem_keyboard_keyvalue_bit_loop_count 
+4caa 6848ccb1 fetcht 1 ,mem_keyboard_keyvalue_bit_loop_count 
 4cab 9840fe00 iadd temp ,pdata 
-4cac d8c04901 arg mem_keyboard_keyvalue_map ,contr 
+4cac d8c04cbb arg mem_keyboard_keyvalue_map ,contr 
 4cad 98c08c00 iadd contr ,contr 
 4cae efe08006 ifetch 1 ,contr 
-4caf 67e0c8f5 store 1 ,mem_keyboard_keyvalue_temp 
+4caf 67e0ccaf store 1 ,mem_keyboard_keyvalue_temp 
 4cb0 20404cfc call keyboard_keyvalue_fn_replace 
 4cb1 20404d3a call keyboard_keyvalue_commbination_replace 
 4cb2 20404dbb call keyboard_keyvalue_in_out 
 
 keyboard_keyvalue_change_loop:
-4cb3 6fe0c8e7 fetch 1 ,mem_keyscan_value_temp 
+4cb3 6fe0cca1 fetch 1 ,mem_keyscan_value_temp 
 4cb4 1fe37e00 rshift pdata ,pdata 
-4cb5 67e0c8e7 store 1 ,mem_keyscan_value_temp 
-4cb6 6fe0c8f6 fetch 1 ,mem_keyboard_press_flag_temp 
+4cb5 67e0cca1 store 1 ,mem_keyscan_value_temp 
+4cb6 6fe0ccb0 fetch 1 ,mem_keyboard_press_flag_temp 
 4cb7 1fe37e00 rshift pdata ,pdata 
-4cb8 67e0c8f6 store 1 ,mem_keyboard_press_flag_temp 
-4cb9 6fe0c8f7 fetch 1 ,mem_keyboard_keyvalue_bit_loop_count 
+4cb8 67e0ccb0 store 1 ,mem_keyboard_press_flag_temp 
+4cb9 6fe0ccb1 fetch 1 ,mem_keyboard_keyvalue_bit_loop_count 
 4cba 1fe0fe01 increase 1 ,pdata 
-4cbb 67e0c8f7 store 1 ,mem_keyboard_keyvalue_bit_loop_count 
+4cbb 67e0ccb1 store 1 ,mem_keyboard_keyvalue_bit_loop_count 
 4cbc c2004ca6 loop keyboard_keyvalue_change 
 
 keyboard_keyvalue_process_loop:
 4cbd 1a20a201 increase 1 ,rega 
 4cbe 1a40a401 increase 1 ,regb 
-4cbf 6fe0c8e8 fetch 1 ,mem_keyscan_col_loop_count 
+4cbf 6fe0cca2 fetch 1 ,mem_keyscan_col_loop_count 
 4cc0 1fe0fe01 increase 1 ,pdata 
-4cc1 67e0c8e8 store 1 ,mem_keyscan_col_loop_count 
+4cc1 67e0cca2 store 1 ,mem_keyscan_col_loop_count 
 4cc2 1fe67c13 sub pdata ,19 ,null 
 4cc3 20214c9d branch keyboard_keyvalue_process ,positive 
 4cc4 20600000 rtn 
 
 keyboard_keyscan_value_current_zero_check:
-4cc5 6fe4489c fetch 8 ,mem_keyscan_value_current 
+4cc5 6fe44c56 fetch 8 ,mem_keyscan_value_current 
 4cc6 247a0000 nrtn blank 
-4cc7 6fe448a4 fetch 8 ,mem_keyscan_value_current + 8 
+4cc7 6fe44c5e fetch 8 ,mem_keyscan_value_current + 8 
 4cc8 247a0000 nrtn blank 
-4cc9 6fe248ac fetch 4 ,mem_keyscan_value_current + 16 
+4cc9 6fe24c66 fetch 4 ,mem_keyscan_value_current + 16 
 4cca 247a0000 nrtn blank 
-4ccb 7049c100 jam cammbination_key_free ,mem_keyboard_commbination_key_step 
+4ccb 704d7b00 jam cammbination_key_free ,mem_keyboard_commbination_key_step 
 4ccc 20600000 rtn 
 
 keyboard_ghost_key_check:
 4ccd 44a8c00a bpatch patch0a_1 ,mem_patch0a 
-4cce 70497b00 jam 0 ,mem_mouse_ghost_flag 
-4ccf 7048f100 jam 0 ,mem_keyboard_all_press_key_count 
-4cd0 da20489c arg mem_keyscan_value_current ,rega 
+4cce 704d3500 jam 0 ,mem_mouse_ghost_flag 
+4ccf 704cab00 jam 0 ,mem_keyboard_all_press_key_count 
+4cd0 da204c56 arg mem_keyscan_value_current ,rega 
 4cd1 df200014 arg 20 ,loopcnt 
 
 keyboard_ghost_key_check_loop:
-4cd2 7048f000 jam 0 ,mem_keyboard_current_col_press_key_count 
+4cd2 704caa00 jam 0 ,mem_keyboard_current_col_press_key_count 
 4cd3 efe08011 ifetch 1 ,rega 
 4cd4 203a4cf7 branch keyboard_ghost_key_check_next_loop ,blank 
 
 keyboard_current_col_press_key_count_check:
-4cd5 6848c8f0 fetcht 1 ,mem_keyboard_current_col_press_key_count 
+4cd5 6848ccaa fetcht 1 ,mem_keyboard_current_col_press_key_count 
 4cd6 18408401 increase 1 ,temp 
-4cd7 6048c8f0 storet 1 ,mem_keyboard_current_col_press_key_count 
+4cd7 6048ccaa storet 1 ,mem_keyboard_current_col_press_key_count 
 4cd8 1fe20400 copy pdata ,temp 
 4cd9 1fe0ffff increase -1 ,pdata 
 4cda 98417e00 iand temp ,pdata 
 4cdb 2422ccd5 nbranch keyboard_current_col_press_key_count_check ,zero 
-4cdc 6fe0c8f0 fetch 1 ,mem_keyboard_current_col_press_key_count 
-4cdd 6848c8f1 fetcht 1 ,mem_keyboard_all_press_key_count 
+4cdc 6fe0ccaa fetch 1 ,mem_keyboard_current_col_press_key_count 
+4cdd 6848ccab fetcht 1 ,mem_keyboard_all_press_key_count 
 4cde 98408400 iadd temp ,temp 
-4cdf 6048c8f1 storet 1 ,mem_keyboard_all_press_key_count 
+4cdf 6048ccab storet 1 ,mem_keyboard_all_press_key_count 
 4ce0 1fe67c01 sub pdata ,1 ,null 
 4ce1 20214cf7 branch keyboard_ghost_key_check_next_loop ,positive 
 4ce2 18467c02 sub temp ,2 ,null 
 4ce3 20214cf7 branch keyboard_ghost_key_check_next_loop ,positive 
-4ce4 7048e800 jam 0 ,mem_keyscan_col_loop_count 
-4ce5 7048f200 jam 0 ,mem_keyboard_same_row_press_key_count 
+4ce4 704ca200 jam 0 ,mem_keyscan_col_loop_count 
+4ce5 704cac00 jam 0 ,mem_keyboard_same_row_press_key_count 
 4ce6 e8408011 ifetcht 1 ,rega 
-4ce7 da40489c arg mem_keyscan_value_current ,regb 
+4ce7 da404c56 arg mem_keyscan_value_current ,regb 
 
 keyboard_same_row_key_check:
-4ce8 6fe0c8e8 fetch 1 ,mem_keyscan_col_loop_count 
+4ce8 6fe0cca2 fetch 1 ,mem_keyscan_col_loop_count 
 4ce9 1fe0fe01 increase 1 ,pdata 
-4cea 67e0c8e8 store 1 ,mem_keyscan_col_loop_count 
+4cea 67e0cca2 store 1 ,mem_keyscan_col_loop_count 
 4ceb 1fe67c13 sub pdata ,19 ,null 
 4cec 24214cf7 nbranch keyboard_ghost_key_check_next_loop ,positive 
 4ced efe08012 ifetch 1 ,regb 
 4cee 98417c00 iand temp ,null 
 4cef 2022ccfa branch keyboard_same_row_key_check_loop ,zero 
-4cf0 6fe0c8f2 fetch 1 ,mem_keyboard_same_row_press_key_count 
+4cf0 6fe0ccac fetch 1 ,mem_keyboard_same_row_press_key_count 
 4cf1 1fe0fe01 increase 1 ,pdata 
-4cf2 67e0c8f2 store 1 ,mem_keyboard_same_row_press_key_count 
+4cf2 67e0ccac store 1 ,mem_keyboard_same_row_press_key_count 
 4cf3 1fe67c01 sub pdata ,1 ,null 
 4cf4 20214cfa branch keyboard_same_row_key_check_loop ,positive 
-4cf5 70497b01 jam 1 ,mem_mouse_ghost_flag 
+4cf5 704d3501 jam 1 ,mem_mouse_ghost_flag 
 4cf6 20600000 rtn 
 
 keyboard_ghost_key_check_next_loop:
@@ -15913,15 +16606,15 @@
 
 keyboard_keyvalue_fn_replace:
 4cfc 44a9400a bpatch patch0a_2 ,mem_patch0a 
-4cfd 6fe0c8f6 fetch 1 ,mem_keyboard_press_flag_temp 
+4cfd 6fe0ccb0 fetch 1 ,mem_keyboard_press_flag_temp 
 4cfe 245a4d4e ncall keyboard_commbination_delay_release_clear ,blank 
-4cff 6fe0c9a1 fetch 1 ,mem_keyboard_fn_flag 
+4cff 6fe0cd5b fetch 1 ,mem_keyboard_fn_flag 
 4d00 245a4d11 ncall keyboard_keyvalue_fn_replace_press ,blank 
-4d01 6fe0c9ae fetch 1 ,mem_keyboard_fn_first 
-4d02 6848c9a1 fetcht 1 ,mem_keyboard_fn_flag 
+4d01 6fe0cd68 fetch 1 ,mem_keyboard_fn_first 
+4d02 6848cd5b fetcht 1 ,mem_keyboard_fn_flag 
 4d03 9842fe00 ixor temp ,pdata 
 4d04 20628000 rtn zero 
-4d05 6fe0c8f5 fetch 1 ,mem_keyboard_keyvalue_temp 
+4d05 6fe0ccaf fetch 1 ,mem_keyboard_keyvalue_temp 
 4d06 c014cd19 beq hid_key_esc ,keyboard_keyvalue_fn_esc 
 4d07 c0264d1b beq hid_key_delete ,keyboard_keyvalue_fn_delete 
 4d08 1fe67c45 sub pdata ,hid_key_f12 ,null 
@@ -15929,13 +16622,13 @@
 4d0a d840003a arg hid_key_f1 ,temp 
 4d0b 98467e00 isub temp ,pdata 
 4d0c 24610000 nrtn positive 
-4d0d d8c049b0 arg mem_keyboard_fn_f1 ,contr 
+4d0d d8c04d6a arg mem_keyboard_fn_f1 ,contr 
 4d0e 98c08c00 iadd contr ,contr 
 4d0f efe08006 ifetch 1 ,contr 
 4d10 20204d38 branch keyboard_keyvalue_store_temp 
 
 keyboard_keyvalue_fn_replace_press:
-4d11 6fe0c8f5 fetch 1 ,mem_keyboard_keyvalue_temp 
+4d11 6fe0ccaf fetch 1 ,mem_keyboard_keyvalue_temp 
 4d12 c0294d1d beq hid_key_up_arrow ,keyboard_keyvalue_fn_up_arrow 
 4d13 c028cd21 beq hid_key_down_arrow ,keyboard_keyvalue_fn_down_arrow 
 4d14 c0284d25 beq hid_key_left_arrow ,keyboard_keyvalue_fn_left_arrow 
@@ -15945,41 +16638,41 @@
 4d18 20600000 rtn 
 
 keyboard_keyvalue_fn_esc:
-4d19 6fe0c9af fetch 1 ,mem_keyboard_fn_esc 
+4d19 6fe0cd69 fetch 1 ,mem_keyboard_fn_esc 
 4d1a 20204d38 branch keyboard_keyvalue_store_temp 
 
 keyboard_keyvalue_fn_delete:
-4d1b 6fe0c9bc fetch 1 ,mem_keyboard_fn_del 
+4d1b 6fe0cd76 fetch 1 ,mem_keyboard_fn_del 
 4d1c 20204d38 branch keyboard_keyvalue_store_temp 
 
 keyboard_keyvalue_fn_up_arrow:
-4d1d 6fe0c9bd fetch 1 ,mem_keyboard_fn_arrow_enable_flag 
+4d1d 6fe0cd77 fetch 1 ,mem_keyboard_fn_arrow_enable_flag 
 4d1e 207a0000 rtn blank 
 4d1f 5800004b setarg hid_key_page_up 
 4d20 20204d38 branch keyboard_keyvalue_store_temp 
 
 keyboard_keyvalue_fn_down_arrow:
-4d21 6fe0c9bd fetch 1 ,mem_keyboard_fn_arrow_enable_flag 
+4d21 6fe0cd77 fetch 1 ,mem_keyboard_fn_arrow_enable_flag 
 4d22 207a0000 rtn blank 
 4d23 5800004e setarg hid_key_page_down 
 4d24 20204d38 branch keyboard_keyvalue_store_temp 
 
 keyboard_keyvalue_fn_left_arrow:
-4d25 6fe0c9bd fetch 1 ,mem_keyboard_fn_arrow_enable_flag 
+4d25 6fe0cd77 fetch 1 ,mem_keyboard_fn_arrow_enable_flag 
 4d26 207a0000 rtn blank 
 4d27 5800004a setarg hid_key_home 
 4d28 20204d38 branch keyboard_keyvalue_store_temp 
 
 keyboard_keyvalue_fn_right_arrow:
-4d29 6fe0c9bd fetch 1 ,mem_keyboard_fn_arrow_enable_flag 
+4d29 6fe0cd77 fetch 1 ,mem_keyboard_fn_arrow_enable_flag 
 4d2a 207a0000 rtn blank 
 4d2b 5800004d setarg hid_key_end 
 4d2c 20204d38 branch keyboard_keyvalue_store_temp 
 
 keyboard_keyvalue_fn_left_ctrl:
-4d2d 6fe0c9be fetch 1 ,mem_keyboard_fn_left_ctrl_enable_flag 
+4d2d 6fe0cd78 fetch 1 ,mem_keyboard_fn_left_ctrl_enable_flag 
 4d2e 207a0000 rtn blank 
-4d2f 6fe0c9c6 fetch 1 ,mem_kb_computer_system 
+4d2f 6fe0cd80 fetch 1 ,mem_kb_computer_system 
 4d30 c0004d33 beq system_os_windows ,keyboard_keyvalue_windows_osk 
 4d31 580000fd setarg hid_key_os_soft_kb 
 4d32 20204d38 branch keyboard_keyvalue_store_temp 
@@ -15989,17 +16682,17 @@
 4d34 20204d38 branch keyboard_keyvalue_store_temp 
 
 keyboard_keyvalue_fn_space:
-4d35 6fe0c9bf fetch 1 ,mem_keyboard_fn_space_enable_flag 
+4d35 6fe0cd79 fetch 1 ,mem_keyboard_fn_space_enable_flag 
 4d36 207a0000 rtn blank 
 4d37 580000ab setarg hid_key_language 
 
 keyboard_keyvalue_store_temp:
-4d38 67e0c8f5 store 1 ,mem_keyboard_keyvalue_temp 
+4d38 67e0ccaf store 1 ,mem_keyboard_keyvalue_temp 
 4d39 20600000 rtn 
 
 keyboard_keyvalue_commbination_replace:
 4d3a 44a9c00a bpatch patch0a_3 ,mem_patch0a 
-4d3b 6fe0c8f5 fetch 1 ,mem_keyboard_keyvalue_temp 
+4d3b 6fe0ccaf fetch 1 ,mem_keyboard_keyvalue_temp 
 4d3c c0234d50 beq hid_key_print_screen ,keyboard_commination_screen_shot_replace 
 4d3d c025cd56 beq hid_key_page_up ,keyboard_commination_pageup_replace 
 4d3e c0274d5c beq hid_key_page_down ,keyboard_commination_pagedown_replace 
@@ -16016,209 +16709,209 @@
 4d49 20600000 rtn 
 
 keyboard_commbination_delay_release_set:
-4d4a 6fe0c8f6 fetch 1 ,mem_keyboard_press_flag_temp 
+4d4a 6fe0ccb0 fetch 1 ,mem_keyboard_press_flag_temp 
 4d4b 247a0000 nrtn blank 
-4d4c 7049c40a jam 10 ,mem_keyboard_commbination_control_key_delay_release_timer 
+4d4c 704d7e0a jam 10 ,mem_keyboard_commbination_control_key_delay_release_timer 
 4d4d 20600000 rtn 
 
 keyboard_commbination_delay_release_clear:
-4d4e 7049c400 jam 0 ,mem_keyboard_commbination_control_key_delay_release_timer 
+4d4e 704d7e00 jam 0 ,mem_keyboard_commbination_control_key_delay_release_timer 
 4d4f 20600000 rtn 
 
 keyboard_commination_screen_shot_replace:
-4d50 6fe0c9c6 fetch 1 ,mem_kb_computer_system 
+4d50 6fe0cd80 fetch 1 ,mem_kb_computer_system 
 4d51 c1000000 rtneq system_os_windows 
 4d52 c1008000 rtneq system_os_andriod 
-4d53 7049c20a jam left_shift_gui ,mem_keyboard_commbination_control_key_value 
-4d54 7049c320 jam hid_key_3 ,mem_keyboard_commbination_standard_key_value 
+4d53 704d7c0a jam left_shift_gui ,mem_keyboard_commbination_control_key_value 
+4d54 704d7d20 jam hid_key_3 ,mem_keyboard_commbination_standard_key_value 
 4d55 20204d95 branch keyboard_commbination_keypress 
 
 keyboard_commination_pageup_replace:
-4d56 7049c352 jam hid_key_up_arrow ,mem_keyboard_commbination_standard_key_value 
+4d56 704d7d52 jam hid_key_up_arrow ,mem_keyboard_commbination_standard_key_value 
 
 keyboard_commination_ios_mac_command_commiation:
-4d57 6fe0c9c6 fetch 1 ,mem_kb_computer_system 
+4d57 6fe0cd80 fetch 1 ,mem_kb_computer_system 
 4d58 c1000000 rtneq system_os_windows 
 4d59 c1008000 rtneq system_os_andriod 
-4d5a 7049c208 jam left_gui ,mem_keyboard_commbination_control_key_value 
+4d5a 704d7c08 jam left_gui ,mem_keyboard_commbination_control_key_value 
 4d5b 20204d95 branch keyboard_commbination_keypress 
 
 keyboard_commination_pagedown_replace:
-4d5c 7049c351 jam hid_key_down_arrow ,mem_keyboard_commbination_standard_key_value 
+4d5c 704d7d51 jam hid_key_down_arrow ,mem_keyboard_commbination_standard_key_value 
 4d5d 20204d57 branch keyboard_commination_ios_mac_command_commiation 
 
 keyboard_commination_home_replace:
-4d5e 7049c350 jam hid_key_left_arrow ,mem_keyboard_commbination_standard_key_value 
+4d5e 704d7d50 jam hid_key_left_arrow ,mem_keyboard_commbination_standard_key_value 
 4d5f 20204d57 branch keyboard_commination_ios_mac_command_commiation 
 
 keyboard_commination_end_replace:
-4d60 7049c34f jam hid_key_right_arrow ,mem_keyboard_commbination_standard_key_value 
+4d60 704d7d4f jam hid_key_right_arrow ,mem_keyboard_commbination_standard_key_value 
 4d61 20204d57 branch keyboard_commination_ios_mac_command_commiation 
 
 keyboard_commination_select_all:
-4d62 7049c304 jam hid_key_a ,mem_keyboard_commbination_standard_key_value 
+4d62 704d7d04 jam hid_key_a ,mem_keyboard_commbination_standard_key_value 
 
 keyboard_commbination_text_edit:
-4d63 7049c201 jam left_control ,mem_keyboard_commbination_control_key_value 
-4d64 6fe0c9c6 fetch 1 ,mem_kb_computer_system 
+4d63 704d7c01 jam left_control ,mem_keyboard_commbination_control_key_value 
+4d64 6fe0cd80 fetch 1 ,mem_kb_computer_system 
 4d65 c0004d95 beq system_os_windows ,keyboard_commbination_keypress 
 4d66 c000cd95 beq system_os_andriod ,keyboard_commbination_keypress 
-4d67 7049c208 jam left_gui ,mem_keyboard_commbination_control_key_value 
+4d67 704d7c08 jam left_gui ,mem_keyboard_commbination_control_key_value 
 4d68 20204d95 branch keyboard_commbination_keypress 
 
 keyboard_commbination_copy:
-4d69 7049c306 jam hid_key_c ,mem_keyboard_commbination_standard_key_value 
+4d69 704d7d06 jam hid_key_c ,mem_keyboard_commbination_standard_key_value 
 4d6a 20204d63 branch keyboard_commbination_text_edit 
 
 keyboard_commbination_paste:
-4d6b 7049c319 jam hid_key_v ,mem_keyboard_commbination_standard_key_value 
+4d6b 704d7d19 jam hid_key_v ,mem_keyboard_commbination_standard_key_value 
 4d6c 20204d63 branch keyboard_commbination_text_edit 
 
 keyboard_commbination_cut:
-4d6d 7049c31b jam hid_key_x ,mem_keyboard_commbination_standard_key_value 
+4d6d 704d7d1b jam hid_key_x ,mem_keyboard_commbination_standard_key_value 
 4d6e 20204d63 branch keyboard_commbination_text_edit 
 
 keyboard_commination_os_lock:
-4d6f 6fe0c9c6 fetch 1 ,mem_kb_computer_system 
+4d6f 6fe0cd80 fetch 1 ,mem_kb_computer_system 
 4d70 c0004d74 beq system_os_windows ,keyboard_commination_windows_lock 
 4d71 c001cd77 beq system_os_mac ,keyboard_commination_mac_lock 
 4d72 580000fc setarg hid_key_ios_android_os_lock 
 4d73 20204d38 branch keyboard_keyvalue_store_temp 
 
 keyboard_commination_windows_lock:
-4d74 7049c208 jam left_gui ,mem_keyboard_commbination_control_key_value 
-4d75 7049c30f jam hid_key_l ,mem_keyboard_commbination_standard_key_value 
+4d74 704d7c08 jam left_gui ,mem_keyboard_commbination_control_key_value 
+4d75 704d7d0f jam hid_key_l ,mem_keyboard_commbination_standard_key_value 
 4d76 20204d95 branch keyboard_commbination_keypress 
 
 keyboard_commination_mac_lock:
-4d77 7049c209 jam left_gui_control ,mem_keyboard_commbination_control_key_value 
-4d78 7049c314 jam hid_key_q ,mem_keyboard_commbination_standard_key_value 
+4d77 704d7c09 jam left_gui_control ,mem_keyboard_commbination_control_key_value 
+4d78 704d7d14 jam hid_key_q ,mem_keyboard_commbination_standard_key_value 
 4d79 20204d95 branch keyboard_commbination_keypress 
 
 keyboard_commbination_osk:
-4d7a 6fe0c9c6 fetch 1 ,mem_kb_computer_system 
+4d7a 6fe0cd80 fetch 1 ,mem_kb_computer_system 
 4d7b c0004d7e beq system_os_windows ,keyboard_commbination_windows_osk 
 4d7c 580000fd setarg hid_key_os_soft_kb 
 4d7d 20204d38 branch keyboard_keyvalue_store_temp 
 
 keyboard_commbination_windows_osk:
-4d7e 7049c209 jam left_gui_control ,mem_keyboard_commbination_control_key_value 
-4d7f 7049c312 jam hid_key_o ,mem_keyboard_commbination_standard_key_value 
+4d7e 704d7c09 jam left_gui_control ,mem_keyboard_commbination_control_key_value 
+4d7f 704d7d12 jam hid_key_o ,mem_keyboard_commbination_standard_key_value 
 4d80 20204d95 branch keyboard_commbination_keypress 
 
 keyboard_commbination_language:
-4d81 6fe0c9c6 fetch 1 ,mem_kb_computer_system 
+4d81 6fe0cd80 fetch 1 ,mem_kb_computer_system 
 4d82 c0004d88 beq system_os_windows ,keyboard_commbination_language_windows 
 4d83 c000cd8a beq system_os_andriod ,keyboard_commbination_language_andriod 
-4d84 7049c201 jam left_control ,mem_keyboard_commbination_control_key_value 
+4d84 704d7c01 jam left_control ,mem_keyboard_commbination_control_key_value 
 
 keyboard_commbination_language_next:
-4d85 7049c32c jam hid_key_space ,mem_keyboard_commbination_standard_key_value 
+4d85 704d7d2c jam hid_key_space ,mem_keyboard_commbination_standard_key_value 
 4d86 20404d4a call keyboard_commbination_delay_release_set 
 4d87 20204d95 branch keyboard_commbination_keypress 
 
 keyboard_commbination_language_windows:
-4d88 7049c208 jam left_gui ,mem_keyboard_commbination_control_key_value 
+4d88 704d7c08 jam left_gui ,mem_keyboard_commbination_control_key_value 
 4d89 20204d85 branch keyboard_commbination_language_next 
 
 keyboard_commbination_language_andriod:
-4d8a 7049c202 jam left_shift ,mem_keyboard_commbination_control_key_value 
+4d8a 704d7c02 jam left_shift ,mem_keyboard_commbination_control_key_value 
 4d8b 20204d85 branch keyboard_commbination_language_next 
 
 keyboard_commbination_app_tiling:
-4d8c 6fe0c9c6 fetch 1 ,mem_kb_computer_system 
+4d8c 6fe0cd80 fetch 1 ,mem_kb_computer_system 
 4d8d c0004d92 beq system_os_windows ,keyboard_commbination_app_tiling_windows_android 
 4d8e c000cd92 beq system_os_andriod ,keyboard_commbination_app_tiling_windows_android 
-4d8f 7049c201 jam left_control ,mem_keyboard_commbination_control_key_value 
-4d90 7049c352 jam hid_key_up_arrow ,mem_keyboard_commbination_standard_key_value 
+4d8f 704d7c01 jam left_control ,mem_keyboard_commbination_control_key_value 
+4d90 704d7d52 jam hid_key_up_arrow ,mem_keyboard_commbination_standard_key_value 
 4d91 20204d95 branch keyboard_commbination_keypress 
 
 keyboard_commbination_app_tiling_windows_android:
-4d92 7049c208 jam left_gui ,mem_keyboard_commbination_control_key_value 
-4d93 7049c32b jam hid_key_tab ,mem_keyboard_commbination_standard_key_value 
+4d92 704d7c08 jam left_gui ,mem_keyboard_commbination_control_key_value 
+4d93 704d7d2b jam hid_key_tab ,mem_keyboard_commbination_standard_key_value 
 4d94 20204d95 branch keyboard_commbination_keypress 
 
 keyboard_commbination_keypress:
-4d95 7048f500 jam 0 ,mem_keyboard_keyvalue_temp 
-4d96 6fe0c8f6 fetch 1 ,mem_keyboard_press_flag_temp 
+4d95 704caf00 jam 0 ,mem_keyboard_keyvalue_temp 
+4d96 6fe0ccb0 fetch 1 ,mem_keyboard_press_flag_temp 
 4d97 c3004d9c bbit0 0 ,keyboard_commbination_key_wait_release_set 
-4d98 6fe0c9c1 fetch 1 ,mem_keyboard_commbination_key_step 
+4d98 6fe0cd7b fetch 1 ,mem_keyboard_commbination_key_step 
 4d99 c001cda8 beq cammbination_key_complete ,keyboard_commbination_key_hold_set 
 
 keyboard_commbination_key_press_set:
-4d9a 7049c101 jam cammbination_key_press ,mem_keyboard_commbination_key_step 
+4d9a 704d7b01 jam cammbination_key_press ,mem_keyboard_commbination_key_step 
 4d9b 20600000 rtn 
 
 keyboard_commbination_key_wait_release_set:
-4d9c 7049c104 jam cammbination_key_wait_release ,mem_keyboard_commbination_key_step 
+4d9c 704d7b04 jam cammbination_key_wait_release ,mem_keyboard_commbination_key_step 
 4d9d 20600000 rtn 
 
 keyboard_commbination_key_null_set:
-4d9e 7049c106 jam cammbination_key_null ,mem_keyboard_commbination_key_step 
+4d9e 704d7b06 jam cammbination_key_null ,mem_keyboard_commbination_key_step 
 4d9f 20600000 rtn 
 
 keyboard_commbination_key_value_store:
-4da0 67e0c856 store 1 ,mem_keyboard_tx_data + 1 
-4da1 6048c858 storet 1 ,mem_keyboard_tx_data + 3 
+4da0 67e0cc10 store 1 ,mem_keyboard_tx_data + 1 
+4da1 6048cc12 storet 1 ,mem_keyboard_tx_data + 3 
 4da2 20407dba call enable_user 
-4da3 70485500 jam hid_reportid_key_standard ,mem_keyboard_tx_data 
+4da3 704c0f00 jam hid_reportid_key_standard ,mem_keyboard_tx_data 
 4da4 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_commbination_key_press_process:
-4da5 6fe0c9c2 fetch 1 ,mem_keyboard_commbination_control_key_value 
+4da5 6fe0cd7c fetch 1 ,mem_keyboard_commbination_control_key_value 
 4da6 d8400000 arg 0 ,temp 
 4da7 20404da0 call keyboard_commbination_key_value_store 
 
 keyboard_commbination_key_hold_set:
-4da8 7049c102 jam cammbination_key_hold ,mem_keyboard_commbination_key_step 
+4da8 704d7b02 jam cammbination_key_hold ,mem_keyboard_commbination_key_step 
 4da9 20600000 rtn 
 
 keyboard_commbination_key_hold_process:
-4daa 7049c103 jam cammbination_key_complete ,mem_keyboard_commbination_key_step 
-4dab 6fe0c9c2 fetch 1 ,mem_keyboard_commbination_control_key_value 
-4dac 6848c9c3 fetcht 1 ,mem_keyboard_commbination_standard_key_value 
+4daa 704d7b03 jam cammbination_key_complete ,mem_keyboard_commbination_key_step 
+4dab 6fe0cd7c fetch 1 ,mem_keyboard_commbination_control_key_value 
+4dac 6848cd7d fetcht 1 ,mem_keyboard_commbination_standard_key_value 
 4dad 20204da0 branch keyboard_commbination_key_value_store 
 
 keyboard_commbination_key_wait_release_process:
-4dae 70485500 jam hid_reportid_key_standard ,mem_keyboard_tx_data 
-4daf 6fe0c9c2 fetch 1 ,mem_keyboard_commbination_control_key_value 
+4dae 704c0f00 jam hid_reportid_key_standard ,mem_keyboard_tx_data 
+4daf 6fe0cd7c fetch 1 ,mem_keyboard_commbination_control_key_value 
 4db0 d8400000 arg 0 ,temp 
 4db1 20404da0 call keyboard_commbination_key_value_store 
-4db2 6fe0c9c4 fetch 1 ,mem_keyboard_commbination_control_key_delay_release_timer 
+4db2 6fe0cd7e fetch 1 ,mem_keyboard_commbination_control_key_delay_release_timer 
 4db3 203a4d9e branch keyboard_commbination_key_null_set ,blank 
 
 keyboard_commbination_key_release_set:
-4db4 7049c105 jam cammbination_key_release ,mem_keyboard_commbination_key_step 
+4db4 704d7b05 jam cammbination_key_release ,mem_keyboard_commbination_key_step 
 4db5 20600000 rtn 
 
 keyboard_commbination_key_release_process:
 4db6 20204da2 branch keyboard_commbination_key_value_store + 2 
 
 keyboard_commbination_key_null_process:
-4db7 7049c100 jam cammbination_key_free ,mem_keyboard_commbination_key_step 
+4db7 704d7b00 jam cammbination_key_free ,mem_keyboard_commbination_key_step 
 4db8 dfe00000 arg 0 ,pdata 
 4db9 d8400000 arg 0 ,temp 
 4dba 20204da0 branch keyboard_commbination_key_value_store 
 
 keyboard_keyvalue_in_out:
 4dbb 44aa400a bpatch patch0a_4 ,mem_patch0a 
-4dbc 6fe0c8f5 fetch 1 ,mem_keyboard_keyvalue_temp 
+4dbc 6fe0ccaf fetch 1 ,mem_keyboard_keyvalue_temp 
 4dbd 1fe67ce7 sub pdata ,hid_key_right_gui ,null 
 4dbe 20214dc3 branch keyboard_keyvalue_standard ,positive 
-4dbf 7049c501 jam keyboard_consumer_key_press ,mem_keyboard_consumer_key_status 
-4dc0 6fe0c8f6 fetch 1 ,mem_keyboard_press_flag_temp 
+4dbf 704d7f01 jam keyboard_consumer_key_press ,mem_keyboard_consumer_key_status 
+4dc0 6fe0ccb0 fetch 1 ,mem_keyboard_press_flag_temp 
 4dc1 c2804dc3 bbit1 0 ,keyboard_keyvalue_standard 
-4dc2 7049c502 jam keyboard_consumer_key_release ,mem_keyboard_consumer_key_status 
+4dc2 704d7f02 jam keyboard_consumer_key_release ,mem_keyboard_consumer_key_status 
 
 keyboard_keyvalue_standard:
-4dc3 70490000 jam 0 ,mem_keyboard_keyvalue_buffer + 8 
-4dc4 6fe0c8f6 fetch 1 ,mem_keyboard_press_flag_temp 
+4dc3 704cba00 jam 0 ,mem_keyboard_keyvalue_buffer + 8 
+4dc4 6fe0ccb0 fetch 1 ,mem_keyboard_press_flag_temp 
 4dc5 c2804ddd bbit1 0 ,keyboard_keyvalue_standard_in 
 
 keyboard_keyvalue_standard_out:
-4dc6 6848c8f5 fetcht 1 ,mem_keyboard_keyvalue_temp 
+4dc6 6848ccaf fetcht 1 ,mem_keyboard_keyvalue_temp 
 4dc7 df200006 arg 6 ,loopcnt 
-4dc8 d8c048fa arg mem_keyboard_keyvalue_buffer + 2 ,contr 
+4dc8 d8c04cb4 arg mem_keyboard_keyvalue_buffer + 2 ,contr 
 
 keyboard_keyvalue_standard_out_loop:
 4dc9 efe08006 ifetch 1 ,contr 
@@ -16241,15 +16934,15 @@
 
 keyboard_keyvalue_control_key_out:
 4dd8 18410e07 and temp ,0x07 ,queue 
-4dd9 6fe0c8f8 fetch 1 ,mem_keyboard_keyvalue_buffer 
+4dd9 6fe0ccb2 fetch 1 ,mem_keyboard_keyvalue_buffer 
 4dda f93ffe00 qset0 pdata 
-4ddb 67e0c8f8 store 1 ,mem_keyboard_keyvalue_buffer 
+4ddb 67e0ccb2 store 1 ,mem_keyboard_keyvalue_buffer 
 4ddc 20600000 rtn 
 
 keyboard_keyvalue_standard_in:
-4ddd 6848c8f5 fetcht 1 ,mem_keyboard_keyvalue_temp 
+4ddd 6848ccaf fetcht 1 ,mem_keyboard_keyvalue_temp 
 4dde df200006 arg 6 ,loopcnt 
-4ddf d8c048fa arg mem_keyboard_keyvalue_buffer + 2 ,contr 
+4ddf d8c04cb4 arg mem_keyboard_keyvalue_buffer + 2 ,contr 
 
 keyboard_keyvalue_standard_in_loop:
 4de0 efe08006 ifetch 1 ,contr 
@@ -16264,9 +16957,9 @@
 
 keyboard_keyvalue_control_key_in:
 4de9 18410e07 and temp ,0x07 ,queue 
-4dea 6fe0c8f8 fetch 1 ,mem_keyboard_keyvalue_buffer 
+4dea 6fe0ccb2 fetch 1 ,mem_keyboard_keyvalue_buffer 
 4deb f9207e00 qset1 pdata 
-4dec 67e0c8f8 store 1 ,mem_keyboard_keyvalue_buffer 
+4dec 67e0ccb2 store 1 ,mem_keyboard_keyvalue_buffer 
 4ded 20600000 rtn 
 
 keyboard_keyvalue_standard_in_data:
@@ -16283,12 +16976,12 @@
 keyboard_special_key_check:
 4df5 44aac00a bpatch patch0a_5 ,mem_patch0a 
 4df6 20404e14 call keyboard_pairing_button_check 
-4df7 7049a100 jam 0 ,mem_keyboard_fn_flag 
-4df8 7049a200 jam 0 ,mem_keyboard_control_key_flag 
-4df9 7049a300 jam 0 ,mem_keyboard_bt_button_flag 
-4dfa 6fe0c8f8 fetch 1 ,mem_keyboard_keyvalue_buffer 
+4df7 704d5b00 jam 0 ,mem_keyboard_fn_flag 
+4df8 704d5c00 jam 0 ,mem_keyboard_control_key_flag 
+4df9 704d5d00 jam 0 ,mem_keyboard_bt_button_flag 
+4dfa 6fe0ccb2 fetch 1 ,mem_keyboard_keyvalue_buffer 
 4dfb 245a4e41 ncall keyborad_control_key_set ,blank 
-4dfc d8c048fa arg mem_keyboard_keyvalue_buffer + 2 ,contr 
+4dfc d8c04cb4 arg mem_keyboard_keyvalue_buffer + 2 ,contr 
 4dfd df200006 arg 6 ,loopcnt 
 
 keyboard_special_key_check_loop:
@@ -16303,10 +16996,10 @@
 
 keyboard_special_key_check_bluetooth:
 4e06 20404b37 call keyboard_commbination_fast_conn_bt_check 
-4e07 6fe0c9a4 fetch 1 ,mem_keyboard_pairing_type 
+4e07 6fe0cd5e fetch 1 ,mem_keyboard_pairing_type 
 4e08 203a4e24 branch keyboard_enable_bt_button_pairing ,blank 
-4e09 6fe148fa fetch 2 ,mem_keyboard_keyvalue_buffer + 2 
-4e0a 684949a5 fetcht 2 ,mem_keyboard_commbination_key_bt 
+4e09 6fe14cb4 fetch 2 ,mem_keyboard_keyvalue_buffer + 2 
+4e0a 68494d5f fetcht 2 ,mem_keyboard_commbination_key_bt 
 4e0b 98467c00 isub temp ,null 
 4e0c 2022ce29 branch keyboard_long_button_bt_discovery ,zero 
 4e0d 18508400 byteswap temp ,temp 
@@ -16315,12 +17008,12 @@
 4e10 20600000 rtn 
 
 keyboard_special_key_check_24g:
-4e11 6fe0c9a4 fetch 1 ,mem_keyboard_pairing_type 
+4e11 6fe0cd5e fetch 1 ,mem_keyboard_pairing_type 
 4e12 203a4e24 branch keyboard_enable_bt_button_pairing ,blank 
 4e13 20204e32 branch keyboard_commbination_pairing_24g_check 
 
 keyboard_pairing_button_check:
-4e14 6fe0c9a4 fetch 1 ,mem_keyboard_pairing_type 
+4e14 6fe0cd5e fetch 1 ,mem_keyboard_pairing_type 
 4e15 247a0000 nrtn blank 
 4e16 6848c655 fetcht 1 ,mem_config_select_device_button_gpio 
 4e17 18467cff sub temp ,ui_button_gpio_disable ,null 
@@ -16328,26 +17021,26 @@
 4e19 20406ee6 call gpio_get_bit 
 4e1a 2420ce20 nbranch keyboard_pairing_button_release ,true 
 4e1b df200008 arg 8 ,loopcnt 
-4e1c d8a048f8 arg mem_keyboard_keyvalue_buffer ,contw 
+4e1c d8a04cb2 arg mem_keyboard_keyvalue_buffer ,contw 
 4e1d 20407ca1 call clear_mem 
-4e1e 7048fade jam hid_key_pb ,mem_keyboard_keyvalue_buffer + 2 
+4e1e 704cb4de jam hid_key_pb ,mem_keyboard_keyvalue_buffer + 2 
 4e1f 20600000 rtn 
 
 keyboard_pairing_button_release:
-4e20 6fe0c8fa fetch 1 ,mem_keyboard_keyvalue_buffer + 2 
+4e20 6fe0ccb4 fetch 1 ,mem_keyboard_keyvalue_buffer + 2 
 4e21 c1ef0000 rtnne hid_key_pb 
-4e22 7048fa00 jam hid_key_null ,mem_keyboard_keyvalue_buffer + 2 
+4e22 704cb400 jam hid_key_null ,mem_keyboard_keyvalue_buffer + 2 
 4e23 20600000 rtn 
 
 keyboard_enable_bt_button_pairing:
 4e24 44ab400a bpatch patch0a_6 ,mem_patch0a 
-4e25 6fe0c9a3 fetch 1 ,mem_keyboard_bt_button_flag 
+4e25 6fe0cd5d fetch 1 ,mem_keyboard_bt_button_flag 
 4e26 207a0000 rtn blank 
 4e27 6fe0c666 fetch 1 ,mem_device_flag 
 4e28 c0004e39 beq mode_24g_device ,keyboard_24g_start_pair_mode 
 
 keyboard_long_button_bt_discovery:
-4e29 7048f400 jam 0 ,mem_keyboard_data_change_flag 
+4e29 704cae00 jam 0 ,mem_keyboard_data_change_flag 
 4e2a 6fe0c666 fetch 1 ,mem_device_flag 
 4e2b c1000000 rtneq mode_24g_device 
 4e2c 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
@@ -16358,8 +17051,8 @@
 4e31 20204b90 branch keyboard_bb_event_discovery_btn 
 
 keyboard_commbination_pairing_24g_check:
-4e32 6fe148fa fetch 2 ,mem_keyboard_keyvalue_buffer + 2 
-4e33 684949a7 fetcht 2 ,mem_keyboard_commbination_key_24g 
+4e32 6fe14cb4 fetch 2 ,mem_keyboard_keyvalue_buffer + 2 
+4e33 68494d61 fetcht 2 ,mem_keyboard_commbination_key_24g 
 4e34 98467c00 isub temp ,null 
 4e35 2022ce39 branch keyboard_24g_start_pair_mode ,zero 
 4e36 18508400 byteswap temp ,temp 
@@ -16368,7 +17061,7 @@
 
 keyboard_24g_start_pair_mode:
 4e39 204049f8 call keyboard_pairing_check_otp_offset 
-4e3a 7048f400 jam 0 ,mem_keyboard_data_change_flag 
+4e3a 704cae00 jam 0 ,mem_keyboard_data_change_flag 
 4e3b 6fe145d8 fetch 2 ,mem_24g_pair_timeout 
 4e3c 247a0000 nrtn blank 
 4e3d 58000000 setarg 0 
@@ -16377,43 +17070,43 @@
 4e40 20206047 branch mouse_24g_start_pair_mode 
 
 keyborad_control_key_set:
-4e41 7049a201 jam 1 ,mem_keyboard_control_key_flag 
+4e41 704d5c01 jam 1 ,mem_keyboard_control_key_flag 
 4e42 20600000 rtn 
 
 keyboard_fn_set:
-4e43 7049a101 jam 1 ,mem_keyboard_fn_flag 
+4e43 704d5b01 jam 1 ,mem_keyboard_fn_flag 
 4e44 20600000 rtn 
 
 keyboard_pb_set:
-4e45 7049a301 jam 1 ,mem_keyboard_bt_button_flag 
+4e45 704d5d01 jam 1 ,mem_keyboard_bt_button_flag 
 4e46 20600000 rtn 
 
 keyboard_motion:
 4e47 44abc00a bpatch patch0a_7 ,mem_patch0a 
 4e48 78547c00 disable user 
-4e49 70496c00 jam 0 ,mem_customer_key 
-4e4a 70496d00 jam 0 ,mem_customer_data_trigger 
-4e4b 70496e00 jam 0 ,mem_customer_data_trigger_last 
-4e4c 6fe0c9c1 fetch 1 ,mem_keyboard_commbination_key_step 
+4e49 704d2600 jam 0 ,mem_customer_key 
+4e4a 704d2700 jam 0 ,mem_customer_data_trigger 
+4e4b 704d2800 jam 0 ,mem_customer_data_trigger_last 
+4e4c 6fe0cd7b fetch 1 ,mem_keyboard_commbination_key_step 
 4e4d c000cda5 beq cammbination_key_press ,keyboard_commbination_key_press_process 
 4e4e c0014daa beq cammbination_key_hold ,keyboard_commbination_key_hold_process 
 4e4f c001cdaa beq cammbination_key_complete ,keyboard_commbination_key_hold_process 
 4e50 c0024dae beq cammbination_key_wait_release ,keyboard_commbination_key_wait_release_process 
 4e51 c0034db7 beq cammbination_key_null ,keyboard_commbination_key_null_process 
-4e52 6fe0c8f4 fetch 1 ,mem_keyboard_data_change_flag 
+4e52 6fe0ccae fetch 1 ,mem_keyboard_data_change_flag 
 4e53 203a4e64 branch keyboard_no_key_press ,blank 
 4e54 1fe0ffff increase -1 ,pdata 
-4e55 67e0c8f4 store 1 ,mem_keyboard_data_change_flag 
+4e55 67e0ccae store 1 ,mem_keyboard_data_change_flag 
 4e56 20404e61 call keyboard_current_mult_update 
-4e57 7049ac0a jam 10 ,mem_keyboard_led_status_get_timer 
+4e57 704d660a jam 10 ,mem_keyboard_led_status_get_timer 
 4e58 20405c0b call mouse_no_data_timer_init 
-4e59 6fe0c9c1 fetch 1 ,mem_keyboard_commbination_key_step 
+4e59 6fe0cd7b fetch 1 ,mem_keyboard_commbination_key_step 
 4e5a c002cdb6 beq cammbination_key_release ,keyboard_commbination_key_release_process 
-4e5b d8a04855 arg mem_keyboard_tx_data ,contw 
+4e5b d8a04c0f arg mem_keyboard_tx_data ,contw 
 4e5c df20000a arg 10 ,loopcnt 
 4e5d 20407ca1 call clear_mem 
 4e5e 20404e74 call keyboard_motion_data_check 
-4e5f 70485f00 jam 0 ,mem_keyboard_data_send_flag 
+4e5f 704c1900 jam 0 ,mem_keyboard_data_send_flag 
 4e60 20600000 rtn 
 
 keyboard_current_mult_update:
@@ -16424,25 +17117,25 @@
 keyboard_no_key_press:
 4e64 6fe0c666 fetch 1 ,mem_device_flag 
 4e65 c1008000 rtneq mode_bt_device1 
-4e66 6fe0c9ab fetch 1 ,mem_keyboard_led_status_get 
+4e66 6fe0cd65 fetch 1 ,mem_keyboard_led_status_get 
 4e67 207a0000 rtn blank 
-4e68 6fe0c9a9 fetch 1 ,mem_24g_repeat_send_flag 
+4e68 6fe0cd63 fetch 1 ,mem_24g_repeat_send_flag 
 4e69 247a0000 nrtn blank 
-4e6a 6848c9ad fetcht 1 ,mem_keyboard_led_status_get_timer_last 
-4e6b 6fe0c9ac fetch 1 ,mem_keyboard_led_status_get_timer 
+4e6a 6848cd67 fetcht 1 ,mem_keyboard_led_status_get_timer_last 
+4e6b 6fe0cd66 fetch 1 ,mem_keyboard_led_status_get_timer 
 4e6c 98467c00 isub temp ,null 
-4e6d 67e0c9ad store 1 ,mem_keyboard_led_status_get_timer_last 
+4e6d 67e0cd67 store 1 ,mem_keyboard_led_status_get_timer_last 
 4e6e 20628000 rtn zero 
-4e6f d8a04855 arg mem_keyboard_tx_data ,contw 
+4e6f d8a04c0f arg mem_keyboard_tx_data ,contw 
 4e70 df20000a arg 10 ,loopcnt 
 4e71 20407ca1 call clear_mem 
 4e72 20407dba call enable_user 
 4e73 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_motion_data_check:
-4e74 6fe0c9c5 fetch 1 ,mem_keyboard_consumer_key_status 
+4e74 6fe0cd7f fetch 1 ,mem_keyboard_consumer_key_status 
 4e75 c0014f05 beq keyboard_consumer_key_release ,keyboard_value_consumer_release 
-4e76 d8c048fa arg mem_keyboard_keyvalue_buffer + 2 ,contr 
+4e76 d8c04cb4 arg mem_keyboard_keyvalue_buffer + 2 ,contr 
 4e77 df200006 arg 6 ,loopcnt 
 
 keyboard_value_tpye_check:
@@ -16452,14 +17145,14 @@
 
 keyboard_value_tpye_check_loop:
 4e7b c2004e78 loop keyboard_value_tpye_check 
-4e7c 6fe0c8f1 fetch 1 ,mem_keyboard_all_press_key_count 
+4e7c 6fe0ccab fetch 1 ,mem_keyboard_all_press_key_count 
 4e7d 205a4e92 call keyboard_value_release_all_key ,blank 
-4e7e 70485500 jam hid_reportid_key_standard ,mem_keyboard_tx_data 
-4e7f 6fe0c8fa fetch 1 ,mem_keyboard_keyvalue_buffer + 2 
+4e7e 704c0f00 jam hid_reportid_key_standard ,mem_keyboard_tx_data 
+4e7f 6fe0ccb4 fetch 1 ,mem_keyboard_keyvalue_buffer + 2 
 4e80 1fe67c7f sub pdata ,hid_key_fn ,null 
 4e81 2022ce95 branch keyboard_tx_data_skip_fn ,zero 
-4e82 d8c048f8 arg mem_keyboard_keyvalue_buffer ,contr 
-4e83 d8a04856 arg mem_keyboard_tx_data + 1 ,contw 
+4e82 d8c04cb2 arg mem_keyboard_keyvalue_buffer ,contr 
+4e83 d8a04c10 arg mem_keyboard_tx_data + 1 ,contw 
 4e84 df200008 arg 8 ,loopcnt 
 
 keyboard_tx_data_store:
@@ -16472,7 +17165,7 @@
 
 keyboard_motion_data_check_next:
 4e89 20404f10 call keyboard_device_data_tpye_check 
-4e8a 6fe0c85f fetch 1 ,mem_keyboard_data_send_flag 
+4e8a 6fe0cc19 fetch 1 ,mem_keyboard_data_send_flag 
 4e8b c000fdba beq device_data_tpye_mouse ,enable_user 
 4e8c c0014e90 beq device_data_tpye_standard_keyboard ,device_send_keyboard_data 
 4e8d c001ce90 beq device_data_tpye_nonstarndard_keyboard ,device_send_keyboard_data 
@@ -16484,15 +17177,15 @@
 4e91 20207dba branch enable_user 
 
 keyboard_value_release_all_key:
-4e92 d8a048f8 arg mem_keyboard_keyvalue_buffer ,contw 
+4e92 d8a04cb2 arg mem_keyboard_keyvalue_buffer ,contw 
 4e93 df200009 arg 9 ,loopcnt 
 4e94 20207ca1 branch clear_mem 
 
 keyboard_tx_data_skip_fn:
-4e95 6fe148f8 fetch 2 ,mem_keyboard_keyvalue_buffer 
-4e96 67e14856 store 2 ,mem_keyboard_tx_data + 1 
-4e97 6fe348fb fetch 6 ,mem_keyboard_keyvalue_buffer + 3 
-4e98 67e34858 store 6 ,mem_keyboard_tx_data + 3 
+4e95 6fe14cb2 fetch 2 ,mem_keyboard_keyvalue_buffer 
+4e96 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
+4e97 6fe34cb5 fetch 6 ,mem_keyboard_keyvalue_buffer + 3 
+4e98 67e34c12 store 6 ,mem_keyboard_tx_data + 3 
 4e99 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_tx_data_clear_fn:
@@ -16503,8 +17196,8 @@
 4e9c 1fe20400 copy pdata ,temp 
 4e9d 44ac400b bpatch patch0b_0 ,mem_patch0b 
 4e9e 18427e00 copy temp ,pdata 
-4e9f 70485503 jam hid_reportid_consumer_key ,mem_keyboard_tx_data 
-4ea0 6848c8f1 fetcht 1 ,mem_keyboard_all_press_key_count 
+4e9f 704c0f03 jam hid_reportid_consumer_key ,mem_keyboard_tx_data 
+4ea0 6848ccab fetcht 1 ,mem_keyboard_all_press_key_count 
 4ea1 18467c00 sub temp ,hid_key_null ,null 
 4ea2 2022cf05 branch keyboard_value_consumer_all_key_release ,zero 
 4ea3 c0744ebb beq hid_key_multikey_media ,keyboard_value_media 
@@ -16534,153 +17227,153 @@
 
 keyboard_value_media:
 4ebb 58000183 setarg 0x0183 
-4ebc 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ebc 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ebd 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_play:
 4ebe 580000cd setarg 0x00cd 
-4ebf 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ebf 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ec0 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_stop:
 4ec1 580000b7 setarg 0x00b7 
-4ec2 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ec2 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ec3 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_pre_track:
 4ec4 580000b6 setarg 0x00b6 
-4ec5 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ec5 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ec6 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_next_track:
 4ec7 580000b5 setarg 0x00b5 
-4ec8 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ec8 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ec9 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_vol_down:
 4eca 580000ea setarg 0x00ea 
-4ecb 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ecb 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ecc 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_vol_up:
 4ecd 580000e9 setarg 0x00e9 
-4ece 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ece 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ecf 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_mute:
 4ed0 580000e2 setarg 0x00e2 
-4ed1 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ed1 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ed2 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_my_computer:
 4ed3 58000194 setarg 0x0194 
-4ed4 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ed4 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ed5 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_mail:
 4ed6 5800018a setarg 0x018a 
-4ed7 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ed7 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ed8 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_calculator:
 4ed9 58000192 setarg 0x0192 
-4eda 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4eda 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4edb 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_light_down:
 4edc 58000070 setarg 0x0070 
-4edd 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4edd 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ede 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_light_up:
 4edf 5800006f setarg 0x006f 
-4ee0 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ee0 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ee1 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_ac_favorites:
 4ee2 5800022a setarg 0x022a 
-4ee3 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ee3 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ee4 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_ac_forward:
 4ee5 58000225 setarg 0x0225 
-4ee6 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ee6 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ee7 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_ac_back:
 4ee8 58000224 setarg 0x0224 
-4ee9 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ee9 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4eea 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_ac_stop:
 4eeb 58000226 setarg 0x0226 
-4eec 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4eec 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4eed 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_ac_refresh:
 4eee 58000227 setarg 0x0227 
-4eef 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4eef 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ef0 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_ac_search:
-4ef1 6fe0c9c6 fetch 1 ,mem_kb_computer_system 
+4ef1 6fe0cd80 fetch 1 ,mem_kb_computer_system 
 4ef2 c0014ef7 beq system_os_ios ,keyboard_value_ac_home 
 4ef3 c001cef7 beq system_os_mac ,keyboard_value_ac_home 
 4ef4 58000221 setarg 0x0221 
-4ef5 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ef5 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ef6 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_ac_home:
 4ef7 58000223 setarg 0x0223 
-4ef8 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4ef8 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4ef9 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_os_lock:
 4efa 58000030 setarg 0x0030 
-4efb 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4efb 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4efc 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_os_soft_kb:
-4efd 6fe0c9c6 fetch 1 ,mem_kb_computer_system 
+4efd 6fe0cd80 fetch 1 ,mem_kb_computer_system 
 4efe c000cf02 beq system_os_andriod ,keyboard_value_os_soft_kb_andriod 
 4eff 580001ae setarg 0x01ae 
-4f00 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4f00 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4f01 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_os_soft_kb_andriod:
 4f02 58000307 setarg 0x0307 
-4f03 67e14856 store 2 ,mem_keyboard_tx_data + 1 
+4f03 67e14c10 store 2 ,mem_keyboard_tx_data + 1 
 4f04 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_consumer_all_key_release:
 
 keyboard_value_consumer_release:
-4f05 7048f402 jam 2 ,mem_keyboard_data_change_flag 
-4f06 6fe0c8f1 fetch 1 ,mem_keyboard_all_press_key_count 
+4f05 704cae02 jam 2 ,mem_keyboard_data_change_flag 
+4f06 6fe0ccab fetch 1 ,mem_keyboard_all_press_key_count 
 4f07 205a4e92 call keyboard_value_release_all_key ,blank 
-4f08 7049c500 jam keyboard_consumer_key_standby ,mem_keyboard_consumer_key_status 
+4f08 704d7f00 jam keyboard_consumer_key_standby ,mem_keyboard_consumer_key_status 
 4f09 58000003 setarg 0x03 
-4f0a 67e1c855 store 3 ,mem_keyboard_tx_data 
+4f0a 67e1cc0f store 3 ,mem_keyboard_tx_data 
 4f0b 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_value_system_sleep:
-4f0c 70485502 jam hid_reportid_system_ctrl ,mem_keyboard_tx_data 
+4f0c 704c0f02 jam hid_reportid_system_ctrl ,mem_keyboard_tx_data 
 4f0d 58000002 setarg 0x02 
-4f0e 67e0c856 store 1 ,mem_keyboard_tx_data + 1 
+4f0e 67e0cc10 store 1 ,mem_keyboard_tx_data + 1 
 4f0f 20204e89 branch keyboard_motion_data_check_next 
 
 keyboard_device_data_tpye_check:
 4f10 44acc00b bpatch patch0b_1 ,mem_patch0b 
 4f11 6fe0c666 fetch 1 ,mem_device_flag 
 4f12 c0804f18 bne mode_24g_device ,keyboard_device_data_tpye_check_next 
-4f13 7049a900 jam 0 ,mem_24g_repeat_send_flag 
-4f14 6fe14855 fetch 2 ,mem_keyboard_tx_data 
+4f13 704d6300 jam 0 ,mem_24g_repeat_send_flag 
+4f14 6fe14c0f fetch 2 ,mem_keyboard_tx_data 
 4f15 245a4afc ncall keyboard_set_repeat_send_flag ,blank 
-4f16 6fe34858 fetch 6 ,mem_keyboard_tx_data + 3 
+4f16 6fe34c12 fetch 6 ,mem_keyboard_tx_data + 3 
 4f17 245a4afc ncall keyboard_set_repeat_send_flag ,blank 
 
 keyboard_device_data_tpye_check_next:
-4f18 6fe0c855 fetch 1 ,mem_keyboard_tx_data 
+4f18 6fe0cc0f fetch 1 ,mem_keyboard_tx_data 
 4f19 c0004f23 beq hid_reportid_key_standard ,keyboard_standard_data_send 
 4f1a c000cf1e beq hid_reportid_mouse ,keyboard_mouse_data_send 
 4f1b c001cf2e beq hid_reportid_consumer_key ,keyboard_consumer_data_send 
@@ -16688,44 +17381,44 @@
 4f1d 20600000 rtn 
 
 keyboard_mouse_data_send:
-4f1e 70485f01 jam device_data_tpye_mouse ,mem_keyboard_data_send_flag 
-4f1f d8c04855 arg mem_keyboard_tx_data ,contr 
-4f20 d8a04846 arg mem_mouse_key ,contw 
+4f1e 704c1901 jam device_data_tpye_mouse ,mem_keyboard_data_send_flag 
+4f1f d8c04c0f arg mem_keyboard_tx_data ,contr 
+4f20 d8a04c00 arg mem_mouse_key ,contw 
 4f21 df200007 arg 7 ,loopcnt 
 4f22 20207cda branch memcpy 
 
 keyboard_standard_data_send:
-4f23 70485f02 jam device_data_tpye_standard_keyboard ,mem_keyboard_data_send_flag 
+4f23 704c1902 jam device_data_tpye_standard_keyboard ,mem_keyboard_data_send_flag 
 4f24 20404f3e call keyboard_clear_key_data 
 4f25 6fe0c666 fetch 1 ,mem_device_flag 
 4f26 c000cf2a beq mode_bt_device1 ,keyboard_standard_data_send_end 
 4f27 20404af1 call keyboard_24g_led_get_status_check 
-4f28 6fe0c9ab fetch 1 ,mem_keyboard_led_status_get 
-4f29 67e0c857 store 1 ,mem_keyboard_tx_data + 2 
+4f28 6fe0cd65 fetch 1 ,mem_keyboard_led_status_get 
+4f29 67e0cc11 store 1 ,mem_keyboard_tx_data + 2 
 
 keyboard_standard_data_send_end:
-4f2a d8c04855 arg mem_keyboard_tx_data ,contr 
+4f2a d8c04c0f arg mem_keyboard_tx_data ,contr 
 4f2b d8a0472a arg mem_customer_key_press ,contw 
 4f2c df200009 arg 9 ,loopcnt 
 4f2d 20207cda branch memcpy 
 
 keyboard_consumer_data_send:
-4f2e 70485f04 jam device_data_tpye_consumer ,mem_keyboard_data_send_flag 
+4f2e 704c1904 jam device_data_tpye_consumer ,mem_keyboard_data_send_flag 
 4f2f 20404f3e call keyboard_clear_key_data 
 4f30 58000003 setarg 0x03 
 4f31 20405f15 call mouse_customer_media_key_set 
-4f32 d8c04856 arg mem_keyboard_tx_data + 1 ,contr 
+4f32 d8c04c10 arg mem_keyboard_tx_data + 1 ,contr 
 4f33 d8a0472b arg mem_customer_key_press + 1 ,contw 
 4f34 df200002 arg 2 ,loopcnt 
 4f35 20207cda branch memcpy 
 
 keyboard_system_control_data_send:
-4f36 70485f05 jam device_data_tpye_system_conctol ,mem_keyboard_data_send_flag 
+4f36 704c1905 jam device_data_tpye_system_conctol ,mem_keyboard_data_send_flag 
 4f37 20404f3e call keyboard_clear_key_data 
 4f38 58000002 setarg 0x02 
 4f39 67e4472a store 8 ,mem_customer_key_press 
 4f3a 67e44733 store 8 ,mem_customer_key_release 
-4f3b 6fe0c856 fetch 1 ,mem_keyboard_tx_data + 1 
+4f3b 6fe0cc10 fetch 1 ,mem_keyboard_tx_data + 1 
 4f3c 67e0c72b store 1 ,mem_customer_key_press + 1 
 4f3d 20600000 rtn 
 
@@ -16743,7 +17436,7 @@
 4f46 20406eb2 call gpio_set_wake_by_current_state 
 4f47 6848c655 fetcht 1 ,mem_config_select_device_button_gpio 
 4f48 20406eb6 call gpio_set_wake 
-4f49 6fe14898 fetch 2 ,mem_kb_col_ptr 
+4f49 6fe14c52 fetch 2 ,mem_kb_col_ptr 
 4f4a 1fe22400 copy pdata ,regb 
 4f4b df200014 arg 20 ,loopcnt 
 
@@ -16753,7 +17446,7 @@
 4f4e 2440eef7 ncall gpio_out_active ,true 
 4f4f 1a40a401 increase 1 ,regb 
 4f50 c2004f4c loop keyboard_key_col_wake_init 
-4f51 6fe14896 fetch 2 ,mem_kb_row_ptr 
+4f51 6fe14c50 fetch 2 ,mem_kb_row_ptr 
 4f52 1fe22400 copy pdata ,regb 
 4f53 df200008 arg 8 ,loopcnt 
 
@@ -16766,7 +17459,7 @@
 4f59 20600000 rtn 
 
 keyboard_key_row_wake_set:
-4f5a 6fe0c8eb fetch 1 ,mem_same_keyvalue_timerout_flag 
+4f5a 6fe0cca5 fetch 1 ,mem_same_keyvalue_timerout_flag 
 4f5b 203a6eb6 branch gpio_set_wake ,blank 
 4f5c 20206eb2 branch gpio_set_wake_by_current_state 
 
@@ -16843,11 +17536,11 @@
 4f90 20204fdb branch keyboard_g24_transmit_start_next 
 
 keyboard_g24_nodata_transmit:
-4f91 6fe4489c fetch 8 ,mem_keyscan_value_current 
+4f91 6fe44c56 fetch 8 ,mem_keyscan_value_current 
 4f92 243a4f8e nbranch keyboard_g24_transmit_start ,blank 
-4f93 6fe448a4 fetch 8 ,mem_keyscan_value_current + 8 
+4f93 6fe44c5e fetch 8 ,mem_keyscan_value_current + 8 
 4f94 243a4f8e nbranch keyboard_g24_transmit_start ,blank 
-4f95 6fe248ac fetch 4 ,mem_keyscan_value_current + 16 
+4f95 6fe24c66 fetch 4 ,mem_keyscan_value_current + 16 
 4f96 243a4f8e nbranch keyboard_g24_transmit_start ,blank 
 4f97 6fe0c618 fetch 1 ,mem_24g_transmit_by_interrupt 
 4f98 c1008000 rtneq g24_tx_timer_int_enable 
@@ -16869,7 +17562,7 @@
 4fa2 69610040 fetchr timeup ,2 ,mem_param_rx_setup 
 4fa3 34730200 until clkn_rt ,meet 
 4fa4 20404df5 call keyboard_special_key_check 
-4fa5 6fe0c9a3 fetch 1 ,mem_keyboard_bt_button_flag 
+4fa5 6fe0cd5d fetch 1 ,mem_keyboard_bt_button_flag 
 4fa6 243a5ed1 nbranch mouse_soft_reset ,blank 
 4fa7 20403651 call g24_transmit_receive_ack 
 4fa8 6fe0c57f fetch 1 ,mem_24g_no_ack 
@@ -16916,11 +17609,11 @@
 4fc9 20402408 call lpo_calibration 
 4fca 6fe1c0bd fetch 3 ,mem_clks_per_lpo 
 4fcb 203a7dbc branch disable_user ,blank 
-4fcc 6fe0c9a1 fetch 1 ,mem_keyboard_fn_flag 
+4fcc 6fe0cd5b fetch 1 ,mem_keyboard_fn_flag 
 4fcd 243a7dbc nbranch disable_user ,blank 
-4fce 6fe0c9a2 fetch 1 ,mem_keyboard_control_key_flag 
+4fce 6fe0cd5c fetch 1 ,mem_keyboard_control_key_flag 
 4fcf 243a7dbc nbranch disable_user ,blank 
-4fd0 6fe0c9c4 fetch 1 ,mem_keyboard_commbination_control_key_delay_release_timer 
+4fd0 6fe0cd7e fetch 1 ,mem_keyboard_commbination_control_key_delay_release_timer 
 4fd1 243a7dbc nbranch disable_user ,blank 
 4fd2 6fe0c618 fetch 1 ,mem_24g_transmit_by_interrupt 
 4fd3 c000fdbc beq g24_tx_timer_int_enable ,disable_user 
@@ -16954,14 +17647,14 @@
 4fe7 24740000 nrtn user 
 4fe8 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 4fe9 c30b60a1 bbit0 mouse_enable_keyboard ,mouse_24g_mouse_package_data 
-4fea 6fe0c96c fetch 1 ,mem_customer_key 
+4fea 6fe0cd26 fetch 1 ,mem_customer_key 
 4feb 243a4fed nbranch keyboard_24g_keyboard_package_data ,blank 
 4fec 202060a1 branch mouse_24g_mouse_package_data 
 
 keyboard_24g_keyboard_package_data:
 4fed 70458902 jam type_kb ,mem_24g_data_type 
 4fee da200009 arg 9 ,rega 
-4fef 6fe0c96d fetch 1 ,mem_customer_data_trigger 
+4fef 6fe0cd27 fetch 1 ,mem_customer_data_trigger 
 4ff0 243a4ff3 nbranch keyboard_customer_key_press ,blank 
 4ff1 da404733 arg mem_customer_key_release ,regb 
 4ff2 20600000 rtn 
@@ -17045,7 +17738,7 @@
 502e 20600000 rtn 
 
 keyboard_le_send_att_find_by_type_value_request_ancs:
-502f 7049f101 jam 1 ,mem_le_connect_ios_mac_flag 
+502f 704dab01 jam 1 ,mem_le_connect_ios_mac_flag 
 5030 da200017 arg 23 ,rega 
 5031 da400004 arg le_l2cap_cid_att ,regb 
 5032 204029fb call le_fifo_malloc_tx_l2cap 
@@ -17057,12 +17750,12 @@
 5038 e7e10005 istore 2 ,contw 
 5039 58002800 setarg 0x2800 
 503a e7e10005 istore 2 ,contw 
-503b d8c049e1 arg mem_le_search_service_uuid ,contr 
+503b d8c04d9b arg mem_le_search_service_uuid ,contr 
 503c 20207c8f branch memcpy16 
 
 keyboard_le_att_auto_reco_process:
 503d 44b0c00c bpatch patch0c_1 ,mem_patch0c 
-503e 6fe0c9f1 fetch 1 ,mem_le_connect_ios_mac_flag 
+503e 6fe0cdab fetch 1 ,mem_le_connect_ios_mac_flag 
 503f 207a0000 rtn blank 
 5040 1a220c00 copy rega ,contr 
 5041 efe18006 ifetch 3 ,contr 
@@ -17074,38 +17767,38 @@
 5047 20202b96 branch le_parse_att2 
 
 keyboard_le_parse_att_find_by_type_value_rsp:
-5048 6fe0c9f1 fetch 1 ,mem_le_connect_ios_mac_flag 
+5048 6fe0cdab fetch 1 ,mem_le_connect_ios_mac_flag 
 5049 c001506c beq 2 ,keyboard_le_parse_att_find_by_type_value_rsp_mac 
 
 keyboard_le_parse_att_find_ios_report:
-504a 7049c602 jam system_os_ios ,mem_kb_computer_system 
+504a 704d8002 jam system_os_ios ,mem_kb_computer_system 
 504b 20205050 branch keyboard_otp_store_computer_system_ble 
 
 keyboard_le_parse_att_not_find_mac_report:
 504c 6fe0c2cb fetch 1 ,mem_le_conn_peer_addr_type 
-504d 67e0c9c6 store 1 ,mem_kb_computer_system 
+504d 67e0cd80 store 1 ,mem_kb_computer_system 
 504e 20205050 branch keyboard_otp_store_computer_system_ble 
 
 keyboard_le_parse_att_find_mac_report:
-504f 7049c603 jam system_os_mac ,mem_kb_computer_system 
+504f 704d8003 jam system_os_mac ,mem_kb_computer_system 
 
 keyboard_otp_store_computer_system_ble:
-5050 7049f100 jam 0 ,mem_le_connect_ios_mac_flag 
-5051 684949df fetcht 2 ,mem_otp_read_retention_offset 
+5050 704dab00 jam 0 ,mem_le_connect_ios_mac_flag 
+5051 68494d99 fetcht 2 ,mem_otp_read_retention_offset 
 5052 58001fd0 setarg 0x1fd0 
 5053 98462400 isub temp ,regb 
-5054 da2049c6 arg mem_kb_computer_system ,rega 
+5054 da204d80 arg mem_kb_computer_system ,rega 
 5055 df200001 arg 1 ,loopcnt 
 5056 20406b45 call otp_write 
-5057 684949df fetcht 2 ,mem_otp_read_retention_offset 
+5057 68494d99 fetcht 2 ,mem_otp_read_retention_offset 
 5058 1840840e increase 14 ,temp 
-5059 604949df storet 2 ,mem_otp_read_retention_offset 
+5059 60494d99 storet 2 ,mem_otp_read_retention_offset 
 505a 20600000 rtn 
 
 keyboard_le_send_att_find_by_type_value_request_mac:
-505b 6fe0c9f1 fetch 1 ,mem_le_connect_ios_mac_flag 
+505b 6fe0cdab fetch 1 ,mem_le_connect_ios_mac_flag 
 505c c001504c beq 2 ,keyboard_le_parse_att_not_find_mac_report 
-505d 7049f102 jam 2 ,mem_le_connect_ios_mac_flag 
+505d 704dab02 jam 2 ,mem_le_connect_ios_mac_flag 
 505e da200009 arg 9 ,rega 
 505f da400004 arg le_l2cap_cid_att ,regb 
 5060 204029fb call le_fifo_malloc_tx_l2cap 
@@ -17118,7 +17811,7 @@
 5067 58002800 setarg 0x2800 
 5068 e7e10005 istore 2 ,contw 
 5069 df200002 arg 2 ,loopcnt 
-506a d8c049f2 arg mem_le_search_mac_uuid ,contr 
+506a d8c04dac arg mem_le_search_mac_uuid ,contr 
 506b 20207cda branch memcpy 
 
 keyboard_le_parse_att_find_by_type_value_rsp_mac:
@@ -17171,7 +17864,7 @@
 5092 df200009 arg 9 ,loopcnt 
 5093 6fe14339 fetch 2 ,mem_le_payload_ptr 
 5094 1fe0a205 add pdata ,5 ,rega 
-5095 da4049f4 arg mem_le_search_mac_manu_name ,regb 
+5095 da404dae arg mem_le_search_mac_manu_name ,regb 
 5096 20407d64 call string_compare 
 5097 2022d04f branch keyboard_le_parse_att_find_mac_report ,zero 
 5098 2020504c branch keyboard_le_parse_att_not_find_mac_report 
@@ -18411,8 +19104,8 @@
 543c 67e142f7 store 2 ,mem_ui_le_uuid_table 
 543d 7040c103 jam 3 ,mem_lpm_mult_timeout 
 543e 7040a608 jam 8 ,mem_lpm_overhead 
-543f 70497f00 jam pb_button_state_up ,mem_select_device_button_statue 
-5440 70498000 jam commbination_key_state_up ,mem_commbination_key_statue 
+543f 704d3900 jam pb_button_state_up ,mem_select_device_button_statue 
+5440 704d3a00 jam commbination_key_state_up ,mem_commbination_key_statue 
 5441 58000200 setarg 0x0200 
 5442 67e140a4 store 2 ,mem_lpm_interval 
 5443 7042e117 jam 0x17 ,mem_le_local_mtu 
@@ -18426,7 +19119,7 @@
 mouse_param_init:
 544a 44b6400d bpatch patch0d_4 ,mem_patch0d 
 544b 2040543b call mouse_param_common_init 
-544c 70487a00 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+544c 704c3400 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
 544d 58000a77 setarg 0x0a77 
 544e 67e143f5 store 2 ,mem_spi_init_clk 
 544f 38001224 setsect 0 ,0x1224 
@@ -18449,20 +19142,20 @@
 545c 6fe1c608 fetch 3 ,mem_24g_short_sleep_set 
 545d 67e1c75d store 3 ,mem_mouse_24g_short_sleep_set_init 
 545e 6fe0c666 fetch 1 ,mem_device_flag 
-545f 67e0c9a1 store 1 ,mem_device_flag_temp 
+545f 67e0cd5b store 1 ,mem_device_flag_temp 
 5460 6fe1c2de fetch 3 ,mem_le_lap + 3 
 5461 67e1c797 store 3 ,mem_mouse_le_lap_temp 
 5462 58000000 setarg 0 
-5463 67e3c846 store 7 ,mem_mouse_key 
+5463 67e3cc00 store 7 ,mem_mouse_key 
 5464 6fe0c4eb fetch 1 ,mem_ui_button_timeout 
-5465 67e0c97c store 1 ,mem_bt_discovery_count 
-5466 67e0c97d store 1 ,mem_select_device_count 
+5465 67e0cd36 store 1 ,mem_bt_discovery_count 
+5466 67e0cd37 store 1 ,mem_select_device_count 
 5467 20402969 call le_modified_name_adv 
 
 mouse_sensor_set_angle:
 5468 44b6c00d bpatch patch0d_5 ,mem_patch0d 
 5469 6fe0c64f fetch 1 ,mem_sensor_angle_default 
-546a 67e0c958 store 1 ,mem_config_sensor_angle 
+546a 67e0cd12 store 1 ,mem_config_sensor_angle 
 546b 6fe0c64e fetch 1 ,mem_select_sensor_angle_gpio 
 546c c17f8000 rtneq gpio_disable 
 546d 6848c64e fetcht 1 ,mem_select_sensor_angle_gpio 
@@ -18474,7 +19167,7 @@
 
 mouse_sensor_switch_angle:
 5473 6fe0c650 fetch 1 ,mem_sensor_angle_switch 
-5474 67e0c958 store 1 ,mem_config_sensor_angle 
+5474 67e0cd12 store 1 ,mem_config_sensor_angle 
 5475 20600000 rtn 
 
 mouse_g24_interval_param_4ms:
@@ -18586,11 +19279,11 @@
 
 mouse_lpm_check_wake_lock:
 54c5 c5134308 bmark1 mark_24g ,app_get_lpm_wake_lock 
-54c6 6fe0c956 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+54c6 6fe0cd10 fetch 1 ,mem_mouse_clear_sensor_data_flag 
 54c7 203a4308 branch app_get_lpm_wake_lock ,blank 
 54c8 6fe0c7c2 fetch 1 ,mem_mouse_le_conn_param_reject 
 54c9 c000c308 beq le_lpm_disable ,app_get_lpm_wake_lock 
-54ca 6fe0c857 fetch 1 ,mem_mouse_wheel_trigger 
+54ca 6fe0cc11 fetch 1 ,mem_mouse_wheel_trigger 
 54cb 243a4308 nbranch app_get_lpm_wake_lock ,blank 
 54cc 2020430a branch app_put_lpm_wake_lock 
 
@@ -18915,9 +19608,9 @@
 
 mouse_le_name_modify:
 55c6 44bcc00f bpatch patch0f_1 ,mem_patch0f 
-55c7 6fe4498d fetch 8 ,mem_le_name_patch 
+55c7 6fe44d47 fetch 8 ,mem_le_name_patch 
 55c8 207a0000 rtn blank 
-55c9 6fe0c98c fetch 1 ,mem_le_name_patch_len 
+55c9 6fe0cd46 fetch 1 ,mem_le_name_patch_len 
 55ca 1fe22200 copy pdata ,rega 
 55cb 1fe67c0b sub pdata ,11 ,null 
 55cc 242155dd nbranch mouse_le_name_patch_len_overflow ,positive 
@@ -18929,7 +19622,7 @@
 55d2 d8a0426c arg mem_le_name ,contw 
 
 mouse_le_name_modify_next:
-55d3 d8c0498d arg mem_le_name_patch ,contr 
+55d3 d8c04d47 arg mem_le_name_patch ,contr 
 55d4 1a227200 copy rega ,loopcnt 
 55d5 20207cda branch memcpy 
 
@@ -18946,25 +19639,25 @@
 
 mouse_le_name_patch_len_overflow:
 55dd 204055f3 call mouse_le_swift_pair_disable 
-55de 6fe0c98c fetch 1 ,mem_le_name_patch_len 
+55de 6fe0cd46 fetch 1 ,mem_le_name_patch_len 
 55df 1fe0fe01 increase 1 ,pdata 
 55e0 67e0c7a0 store 1 ,mem_le_adv_swift_pair 
 55e1 7047a109 jam 9 ,mem_le_adv_swift_pair + 1 
-55e2 d8c0498d arg mem_le_name_patch ,contr 
+55e2 d8c04d47 arg mem_le_name_patch ,contr 
 55e3 d8a047a2 arg mem_le_adv_swift_pair + 2 ,contw 
 55e4 1a227200 copy rega ,loopcnt 
 55e5 20407cda call memcpy 
-55e6 6fe0c98c fetch 1 ,mem_le_name_patch_len 
+55e6 6fe0cd46 fetch 1 ,mem_le_name_patch_len 
 55e7 1fe0fe01 increase 1 ,pdata 
 55e8 67e0c369 store 1 ,mem_le_scan_data 
 55e9 70436a09 jam 9 ,mem_le_scan_data + 1 
-55ea d8c0498d arg mem_le_name_patch ,contr 
+55ea d8c04d47 arg mem_le_name_patch ,contr 
 55eb d8a0436b arg mem_le_scan_data + 2 ,contw 
 55ec 1a227200 copy rega ,loopcnt 
 55ed 20407cda call memcpy 
 
 mouse_le_name_patch_len_next:
-55ee d8c0498c arg mem_le_name_patch_len ,contr 
+55ee d8c04d46 arg mem_le_name_patch_len ,contr 
 55ef d8a0426b arg mem_le_name_len ,contw 
 55f0 1a227200 copy rega ,loopcnt 
 55f1 1f20f201 increase 1 ,loopcnt 
@@ -18998,7 +19691,7 @@
 5601 44bd400f bpatch patch0f_2 ,mem_patch0f 
 5602 78547c00 disable user 
 5603 58000000 setarg 0 
-5604 67e34847 store 6 ,mem_mouse_x 
+5604 67e34c01 store 6 ,mem_mouse_x 
 5605 204059f6 call mouse_check_sensor_data 
 5606 58000089 setarg 0x0089 
 5607 204069e4 call twspi_write 
@@ -19006,38 +19699,38 @@
 5609 20405612 call mouse_zwheel 
 560a 20405617 call mouse_t_zwheel 
 560b 204057a6 call mouse_key 
-560c 6fe0c846 fetch 1 ,mem_mouse_key 
+560c 6fe0cc00 fetch 1 ,mem_mouse_key 
 560d 1fe17e1f and_into 0x1f ,pdata 
-560e 67e0c846 store 1 ,mem_mouse_key 
+560e 67e0cc00 store 1 ,mem_mouse_key 
 560f 24345f37 nbranch mouse_drawing_optima_init ,user 
 5610 20405f26 call mouse_drawing_optima 
 5611 20205c0b branch mouse_no_data_timer_init 
 
 mouse_zwheel:
-5612 6fe0c856 fetch 1 ,mem_mouse_z_data 
+5612 6fe0cc10 fetch 1 ,mem_mouse_z_data 
 5613 207a0000 rtn blank 
-5614 67e0c84b store 1 ,mem_mouse_z 
-5615 70485600 jam 0 ,mem_mouse_z_data 
+5614 67e0cc05 store 1 ,mem_mouse_z 
+5615 704c1000 jam 0 ,mem_mouse_z_data 
 5616 20207dba branch enable_user 
 
 mouse_t_zwheel:
-5617 6fe0c852 fetch 1 ,mem_mouse_tz_data 
+5617 6fe0cc0c fetch 1 ,mem_mouse_tz_data 
 5618 207a0000 rtn blank 
-5619 67e0c84c store 1 ,mem_mouse_tz 
-561a 70485200 jam 0 ,mem_mouse_tz_data 
+5619 67e0cc06 store 1 ,mem_mouse_tz 
+561a 704c0c00 jam 0 ,mem_mouse_tz_data 
 561b 20207dba branch enable_user 
 
 mouse_wheel_check:
 561c 20405629 call mouse_t_wheel_scan 
 561d 20405665 call mouse_wheel_scan 
-561e 6fe0c850 fetch 1 ,mem_wheel_tb_new_pinlevel 
-561f 6848c84f fetcht 1 ,mem_wheel_tb_old_pinlevel 
-5620 67e0c84f store 1 ,mem_wheel_tb_old_pinlevel 
+561e 6fe0cc0a fetch 1 ,mem_wheel_tb_new_pinlevel 
+561f 6848cc09 fetcht 1 ,mem_wheel_tb_old_pinlevel 
+5620 67e0cc09 store 1 ,mem_wheel_tb_old_pinlevel 
 5621 98467c00 isub temp ,null 
 5622 2422c30c nbranch app_lpm_wake_auto_lock ,zero 
-5623 6fe0c854 fetch 1 ,mem_mwheel_b_new_pinlevel 
-5624 6848c853 fetcht 1 ,mem_mwheel_b_old_pinlevel 
-5625 67e0c853 store 1 ,mem_mwheel_b_old_pinlevel 
+5623 6fe0cc0e fetch 1 ,mem_mwheel_b_new_pinlevel 
+5624 6848cc0d fetcht 1 ,mem_mwheel_b_old_pinlevel 
+5625 67e0cc0d store 1 ,mem_mwheel_b_old_pinlevel 
 5626 98467c00 isub temp ,null 
 5627 2422c30c nbranch app_lpm_wake_auto_lock ,zero 
 5628 20600000 rtn 
@@ -19053,45 +19746,45 @@
 5630 20406ee6 call gpio_get_bit 
 5631 7920a201 setflag true ,1 ,rega 
 5632 1a227e00 copy rega ,pdata 
-5633 67e0c850 store 1 ,mem_wheel_tb_new_pinlevel 
+5633 67e0cc0a store 1 ,mem_wheel_tb_new_pinlevel 
 5634 c000d639 beq 0x01 ,mouse_t_wheel_scan_judge1 
 5635 c001563d beq 0x02 ,mouse_t_wheel_scan_judge2 
-5636 6fe0c851 fetch 1 ,mem_wheel_tog 
+5636 6fe0cc0b fetch 1 ,mem_wheel_tog 
 5637 c283d649 bbit1 7 ,mouse_t_wheel_scan_judge3 
 5638 20600000 rtn 
 
 mouse_t_wheel_scan_judge1:
-5639 6fe0c84f fetch 1 ,mem_wheel_tb_old_pinlevel 
+5639 6fe0cc09 fetch 1 ,mem_wheel_tb_old_pinlevel 
 563a c0005641 beq 0 ,mouse_t_wheel_scan_judge11 
 563b c001d643 beq 3 ,mouse_t_wheel_scan_judge12 
 563c 20600000 rtn 
 
 mouse_t_wheel_scan_judge2:
-563d 6fe0c84f fetch 1 ,mem_wheel_tb_old_pinlevel 
+563d 6fe0cc09 fetch 1 ,mem_wheel_tb_old_pinlevel 
 563e c0005645 beq 0 ,mouse_t_wheel_scan_judge21 
 563f c001d647 beq 3 ,mouse_t_wheel_scan_judge22 
 5640 20600000 rtn 
 
 mouse_t_wheel_scan_judge11:
-5641 70485182 jam 0x82 ,mem_wheel_tog 
+5641 704c0b82 jam 0x82 ,mem_wheel_tog 
 5642 20600000 rtn 
 
 mouse_t_wheel_scan_judge12:
-5643 70485181 jam 0x81 ,mem_wheel_tog 
+5643 704c0b81 jam 0x81 ,mem_wheel_tog 
 5644 20600000 rtn 
 
 mouse_t_wheel_scan_judge21:
-5645 70485180 jam 0x80 ,mem_wheel_tog 
+5645 704c0b80 jam 0x80 ,mem_wheel_tog 
 5646 20600000 rtn 
 
 mouse_t_wheel_scan_judge22:
-5647 70485183 jam 0x83 ,mem_wheel_tog 
+5647 704c0b83 jam 0x83 ,mem_wheel_tog 
 5648 20600000 rtn 
 
 mouse_t_wheel_scan_judge3:
-5649 6fe0c851 fetch 1 ,mem_wheel_tog 
+5649 6fe0cc0b fetch 1 ,mem_wheel_tog 
 564a 793ffe07 set0 7 ,pdata 
-564b 67e0c851 store 1 ,mem_wheel_tog 
+564b 67e0cc0b store 1 ,mem_wheel_tog 
 564c c0005651 beq 0 ,mouse_t_wheel_scan_judge30 
 564d c000d654 beq 1 ,mouse_t_wheel_scan_judge31 
 564e c0015657 beq 2 ,mouse_t_wheel_scan_judge32 
@@ -19099,35 +19792,35 @@
 5650 20600000 rtn 
 
 mouse_t_wheel_scan_judge30:
-5651 6fe0c850 fetch 1 ,mem_wheel_tb_new_pinlevel 
+5651 6fe0cc0a fetch 1 ,mem_wheel_tb_new_pinlevel 
 5652 c001d65d beq 3 ,mouse_wheel_t_forward 
 5653 20600000 rtn 
 
 mouse_t_wheel_scan_judge31:
-5654 6fe0c850 fetch 1 ,mem_wheel_tb_new_pinlevel 
+5654 6fe0cc0a fetch 1 ,mem_wheel_tb_new_pinlevel 
 5655 c000565d beq 0 ,mouse_wheel_t_forward 
 5656 20600000 rtn 
 
 mouse_t_wheel_scan_judge32:
-5657 6fe0c850 fetch 1 ,mem_wheel_tb_new_pinlevel 
+5657 6fe0cc0a fetch 1 ,mem_wheel_tb_new_pinlevel 
 5658 c001d661 beq 3 ,mouse_wheel_t_back 
 5659 20600000 rtn 
 
 mouse_t_wheel_scan_judge33:
-565a 6fe0c850 fetch 1 ,mem_wheel_tb_new_pinlevel 
+565a 6fe0cc0a fetch 1 ,mem_wheel_tb_new_pinlevel 
 565b c0005661 beq 0 ,mouse_wheel_t_back 
 565c 20600000 rtn 
 
 mouse_wheel_t_forward:
-565d 6fe0c852 fetch 1 ,mem_mouse_tz_data 
+565d 6fe0cc0c fetch 1 ,mem_mouse_tz_data 
 565e 1fe0fe01 increase 1 ,pdata 
-565f 67e0c852 store 1 ,mem_mouse_tz_data 
+565f 67e0cc0c store 1 ,mem_mouse_tz_data 
 5660 20600000 rtn 
 
 mouse_wheel_t_back:
-5661 6fe0c852 fetch 1 ,mem_mouse_tz_data 
+5661 6fe0cc0c fetch 1 ,mem_mouse_tz_data 
 5662 1fe0ffff increase -1 ,pdata 
-5663 67e0c852 store 1 ,mem_mouse_tz_data 
+5663 67e0cc0c store 1 ,mem_mouse_tz_data 
 5664 20600000 rtn 
 
 mouse_wheel_scan:
@@ -19141,45 +19834,45 @@
 566c 20406ee6 call gpio_get_bit 
 566d 7920a201 setflag true ,1 ,rega 
 566e 1a227e00 copy rega ,pdata 
-566f 67e0c854 store 1 ,mem_mwheel_b_new_pinlevel 
+566f 67e0cc0e store 1 ,mem_mwheel_b_new_pinlevel 
 5670 c000d675 beq 0x01 ,mouse_wheel_scan_judge1 
 5671 c0015679 beq 0x02 ,mouse_wheel_scan_judge2 
-5672 6fe0c855 fetch 1 ,mem_mwheel_tog 
+5672 6fe0cc0f fetch 1 ,mem_mwheel_tog 
 5673 c283d685 bbit1 7 ,mouse_wheel_scan_judge3 
 5674 20600000 rtn 
 
 mouse_wheel_scan_judge1:
-5675 6fe0c853 fetch 1 ,mem_mwheel_b_old_pinlevel 
+5675 6fe0cc0d fetch 1 ,mem_mwheel_b_old_pinlevel 
 5676 c000567d beq 0 ,mouse_wheel_scan_judge11 
 5677 c001d67f beq 3 ,mouse_wheel_scan_judge12 
 5678 20600000 rtn 
 
 mouse_wheel_scan_judge2:
-5679 6fe0c853 fetch 1 ,mem_mwheel_b_old_pinlevel 
+5679 6fe0cc0d fetch 1 ,mem_mwheel_b_old_pinlevel 
 567a c0005681 beq 0 ,mouse_wheel_scan_judge21 
 567b c001d683 beq 3 ,mouse_wheel_scan_judge22 
 567c 20600000 rtn 
 
 mouse_wheel_scan_judge11:
-567d 70485582 jam 0x82 ,mem_mwheel_tog 
+567d 704c0f82 jam 0x82 ,mem_mwheel_tog 
 567e 20600000 rtn 
 
 mouse_wheel_scan_judge12:
-567f 70485581 jam 0x81 ,mem_mwheel_tog 
+567f 704c0f81 jam 0x81 ,mem_mwheel_tog 
 5680 20600000 rtn 
 
 mouse_wheel_scan_judge21:
-5681 70485580 jam 0x80 ,mem_mwheel_tog 
+5681 704c0f80 jam 0x80 ,mem_mwheel_tog 
 5682 20600000 rtn 
 
 mouse_wheel_scan_judge22:
-5683 70485583 jam 0x83 ,mem_mwheel_tog 
+5683 704c0f83 jam 0x83 ,mem_mwheel_tog 
 5684 20600000 rtn 
 
 mouse_wheel_scan_judge3:
-5685 6fe0c855 fetch 1 ,mem_mwheel_tog 
+5685 6fe0cc0f fetch 1 ,mem_mwheel_tog 
 5686 793ffe07 set0 7 ,pdata 
-5687 67e0c855 store 1 ,mem_mwheel_tog 
+5687 67e0cc0f store 1 ,mem_mwheel_tog 
 5688 c000568d beq 0 ,mouse_wheel_scan_judge30 
 5689 c000d690 beq 1 ,mouse_wheel_scan_judge31 
 568a c0015693 beq 2 ,mouse_wheel_scan_judge32 
@@ -19187,35 +19880,35 @@
 568c 20600000 rtn 
 
 mouse_wheel_scan_judge30:
-568d 6fe0c854 fetch 1 ,mem_mwheel_b_new_pinlevel 
+568d 6fe0cc0e fetch 1 ,mem_mwheel_b_new_pinlevel 
 568e c001d699 beq 3 ,mouse_wheel_forward 
 568f 20600000 rtn 
 
 mouse_wheel_scan_judge31:
-5690 6fe0c854 fetch 1 ,mem_mwheel_b_new_pinlevel 
+5690 6fe0cc0e fetch 1 ,mem_mwheel_b_new_pinlevel 
 5691 c0005699 beq 0 ,mouse_wheel_forward 
 5692 20600000 rtn 
 
 mouse_wheel_scan_judge32:
-5693 6fe0c854 fetch 1 ,mem_mwheel_b_new_pinlevel 
+5693 6fe0cc0e fetch 1 ,mem_mwheel_b_new_pinlevel 
 5694 c001d69d beq 3 ,mouse_wheel_back 
 5695 20600000 rtn 
 
 mouse_wheel_scan_judge33:
-5696 6fe0c854 fetch 1 ,mem_mwheel_b_new_pinlevel 
+5696 6fe0cc0e fetch 1 ,mem_mwheel_b_new_pinlevel 
 5697 c000569d beq 0 ,mouse_wheel_back 
 5698 20600000 rtn 
 
 mouse_wheel_forward:
-5699 6fe0c856 fetch 1 ,mem_mouse_z_data 
+5699 6fe0cc10 fetch 1 ,mem_mouse_z_data 
 569a 1fe0fe01 increase 1 ,pdata 
-569b 67e0c856 store 1 ,mem_mouse_z_data 
+569b 67e0cc10 store 1 ,mem_mouse_z_data 
 569c 20600000 rtn 
 
 mouse_wheel_back:
-569d 6fe0c856 fetch 1 ,mem_mouse_z_data 
+569d 6fe0cc10 fetch 1 ,mem_mouse_z_data 
 569e 1fe0ffff increase -1 ,pdata 
-569f 67e0c856 store 1 ,mem_mouse_z_data 
+569f 67e0cc10 store 1 ,mem_mouse_z_data 
 56a0 20600000 rtn 
 
 mouse_wheel_gpio_set_wake:
@@ -19239,31 +19932,31 @@
 56b0 202055ab branch mouse_gpio_set_pupd_by_input 
 
 mouse_wheel_trigger:
-56b1 6fe1484b fetch 2 ,mem_mouse_z 
+56b1 6fe14c05 fetch 2 ,mem_mouse_z 
 56b2 207a0000 rtn blank 
-56b3 70485701 jam 1 ,mem_mouse_wheel_trigger 
-56b4 7048580a jam 10 ,mem_mouse_wheel_trigger_timer 
+56b3 704c1101 jam 1 ,mem_mouse_wheel_trigger 
+56b4 704c120a jam 10 ,mem_mouse_wheel_trigger_timer 
 56b5 20600000 rtn 
 
 mouse_wheel_trigger_timer:
-56b6 da604858 arg mem_mouse_wheel_trigger_timer ,regc 
+56b6 da604c12 arg mem_mouse_wheel_trigger_timer ,regc 
 56b7 da4056b9 arg mouse_wheel_trigger_disable ,regb 
 56b8 202042e0 branch timer_single_step 
 
 mouse_wheel_trigger_disable:
-56b9 70485700 jam 0 ,mem_mouse_wheel_trigger 
+56b9 704c1100 jam 0 ,mem_mouse_wheel_trigger 
 56ba 20600000 rtn 
 
 mouse_dpi_check:
 56bb 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
 56bc c17f8000 rtneq gpio_disable 
 56bd da200000 arg 0 ,rega 
-56be 70497705 jam mouse_dpi_key ,mem_mouse_key_temp 
+56be 704d3105 jam mouse_dpi_key ,mem_mouse_key_temp 
 56bf 6848c649 fetcht 1 ,mem_dpi_button_gpio 
 56c0 204056c8 call mouse_dpi_key_check 
 
 mouse_dpi_check_next:
-56c1 67e0c974 store 1 ,mem_mouse_dpikey_press_status 
+56c1 67e0cd2e store 1 ,mem_mouse_dpikey_press_status 
 56c2 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
 56c3 c07fd6d8 beq gpio_disable ,mouse_3io6key_dpi_check_end 
 56c4 204058df call mouse_matrix_public_gpio_reset 
@@ -19276,13 +19969,13 @@
 mouse_dpi_key_check:
 56c8 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 56c9 c295d6de bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-56ca 6fe0c974 fetch 1 ,mem_mouse_dpikey_press_status 
+56ca 6fe0cd2e fetch 1 ,mem_mouse_dpikey_press_status 
 56cb 1fe22600 copy pdata ,regc 
 56cc 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
 56cd c07fd931 beq gpio_disable ,mouse_3io6key_check 
 
 mouse_dpi_key_check_next:
-56ce 6fe0c97b fetch 1 ,mem_mouse_ghost_flag 
+56ce 6fe0cd35 fetch 1 ,mem_mouse_ghost_flag 
 56cf 243a56db nbranch mouse_dpi_check_end ,blank 
 
 mouse_dpi_key_connect_matrix:
@@ -19292,7 +19985,7 @@
 56d3 6848c654 fetcht 1 ,mem_matrix_public_gpio 
 56d4 20406ef7 call gpio_out_active 
 56d5 6848c649 fetcht 1 ,mem_dpi_button_gpio 
-56d6 6fe0c974 fetch 1 ,mem_mouse_dpikey_press_status 
+56d6 6fe0cd2e fetch 1 ,mem_mouse_dpikey_press_status 
 56d7 20205925 branch mouse_check_key_connect_gnd 
 
 mouse_3io6key_dpi_check_end:
@@ -19301,43 +19994,43 @@
 56da 202056c5 branch mouse_dpi_check_exit 
 
 mouse_dpi_check_end:
-56db 70487a00 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
-56dc 70497400 jam 0 ,mem_mouse_dpikey_press_status 
+56db 704c3400 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+56dc 704d2e00 jam 0 ,mem_mouse_dpikey_press_status 
 56dd 20600000 rtn 
 
 mouse_dpi_key_connect_gnd:
-56de 6fe0c974 fetch 1 ,mem_mouse_dpikey_press_status 
+56de 6fe0cd2e fetch 1 ,mem_mouse_dpikey_press_status 
 56df 20205925 branch mouse_check_key_connect_gnd 
 
 mouse_dpi_down:
-56e0 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+56e0 6fe0cc34 fetch 1 ,mem_mouse_dpi_button_state 
 56e1 c1008000 rtneq dpi_button_state_down 
-56e2 70487a01 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+56e2 704c3401 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
 56e3 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 56e4 c3940000 rtnbit1 mouse_enable_select_device_by_dpi_button 
 56e5 c39b0000 rtnbit1 mouse_enable_dpi_key_long_press_disconvery 
 56e6 202056f7 branch mouse_dpi_process 
 
 mouse_dpi_up:
-56e7 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+56e7 6fe0cc34 fetch 1 ,mem_mouse_dpi_button_state 
 56e8 c1000000 rtneq dpi_button_state_up 
-56e9 70487a00 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+56e9 704c3400 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
 56ea 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 56eb c29456ee bbit1 mouse_enable_select_device_by_dpi_button ,mouse_dpi_up_next 
 56ec c29b56ee bbit1 mouse_enable_dpi_key_long_press_disconvery ,mouse_dpi_up_next 
 56ed 20600000 rtn 
 
 mouse_dpi_up_next:
-56ee 6fe0c87b fetch 1 ,mem_mouse_dpi_long_press_flag 
+56ee 6fe0cc35 fetch 1 ,mem_mouse_dpi_long_press_flag 
 56ef 243a56f2 nbranch mouse_dpi_up_after_long_press ,blank 
-56f0 6fe0c97d fetch 1 ,mem_select_device_count 
+56f0 6fe0cd37 fetch 1 ,mem_select_device_count 
 56f1 245a56f7 ncall mouse_dpi_process ,blank 
 
 mouse_dpi_up_after_long_press:
-56f2 70487b00 jam 0 ,mem_mouse_dpi_long_press_flag 
+56f2 704c3500 jam 0 ,mem_mouse_dpi_long_press_flag 
 56f3 6fe0c4eb fetch 1 ,mem_ui_button_timeout 
-56f4 67e0c97d store 1 ,mem_select_device_count 
-56f5 67e0c97c store 1 ,mem_bt_discovery_count 
+56f4 67e0cd37 store 1 ,mem_select_device_count 
+56f5 67e0cd36 store 1 ,mem_bt_discovery_count 
 56f6 20600000 rtn 
 
 mouse_dpi_process:
@@ -19360,7 +20053,7 @@
 5703 20205cac branch mouse_store_dpi_info_check 
 
 mouse_double_dpi_check:
-5704 6fe0c98a fetch 1 ,mem_dpi_another_button_down_enable 
+5704 6fe0cd44 fetch 1 ,mem_dpi_another_button_down_enable 
 5705 243a5721 nbranch mouse_another_dpi_button_down ,blank 
 
 mouse_dpi_increase:
@@ -19432,25 +20125,25 @@
 572f 20600000 rtn 
 
 mouse_select_device_by_dpi_button:
-5730 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+5730 6fe0cc34 fetch 1 ,mem_mouse_dpi_button_state 
 5731 c1808000 rtnne dpi_button_state_down 
-5732 da60497d arg mem_select_device_count ,regc 
+5732 da604d37 arg mem_select_device_count ,regc 
 5733 da405735 arg mouse_ready_reconnection_by_dpi_button ,regb 
 5734 202042e0 branch timer_single_step 
 
 mouse_ready_reconnection_by_dpi_button:
-5735 70487b01 jam 1 ,mem_mouse_dpi_long_press_flag 
+5735 704c3501 jam 1 ,mem_mouse_dpi_long_press_flag 
 5736 20205ec6 branch mouse_ready_reconnection_by_button 
 
 mouse_discovery_by_dpi_button:
-5737 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+5737 6fe0cc34 fetch 1 ,mem_mouse_dpi_button_state 
 5738 c1808000 rtnne dpi_button_state_down 
-5739 da60497c arg mem_bt_discovery_count ,regc 
+5739 da604d36 arg mem_bt_discovery_count ,regc 
 573a da40573c arg mouse_long_dpi_button_bt_discovery ,regb 
 573b 202042e0 branch timer_single_step 
 
 mouse_long_dpi_button_bt_discovery:
-573c 70487b01 jam 1 ,mem_mouse_dpi_long_press_flag 
+573c 704c3501 jam 1 ,mem_mouse_dpi_long_press_flag 
 573d 20205ba3 branch mouse_long_button_bt_discovery 
 
 mouse_setting_dpi_4_level:
@@ -19470,7 +20163,7 @@
 
 mouse_setting_sensor_type:
 5747 44bec00f bpatch patch0f_5 ,mem_patch0f 
-5748 6fe0c957 fetch 1 ,mem_config_sensor_type 
+5748 6fe0cd11 fetch 1 ,mem_config_sensor_type 
 5749 c006576b beq s201x ,mouse_seting_s201_dpi 
 574a c001d785 beq p3212 ,mouse_seting_3212_dpi 
 574b c005d799 beq ka8g2 ,mouse_seting_ka8g2_dpi 
@@ -19481,22 +20174,22 @@
 5750 c001d757 beq mouse_dpi_level4 ,mouse_set_cpi3 
 
 mouse_set_cpi1:
-5751 6848c869 fetcht 1 ,mem_320x_dpi_1 
+5751 6848cc23 fetcht 1 ,mem_320x_dpi_1 
 5752 20205758 branch mouse_dpi_store 
 
 mouse_set_cpi0:
-5753 6848c868 fetcht 1 ,mem_320x_dpi_0 
+5753 6848cc22 fetcht 1 ,mem_320x_dpi_0 
 5754 20205758 branch mouse_dpi_store 
 
 mouse_set_cpi2:
-5755 6848c86a fetcht 1 ,mem_320x_dpi_2 
+5755 6848cc24 fetcht 1 ,mem_320x_dpi_2 
 5756 20205758 branch mouse_dpi_store 
 
 mouse_set_cpi3:
-5757 6848c86b fetcht 1 ,mem_320x_dpi_3 
+5757 6848cc25 fetcht 1 ,mem_320x_dpi_3 
 
 mouse_dpi_store:
-5758 6fe0c957 fetch 1 ,mem_config_sensor_type 
+5758 6fe0cd11 fetch 1 ,mem_config_sensor_type 
 5759 c0025767 beq p3065_xy ,mouse_3065xy_set_dpi 
 575a c002d767 beq mx8650 ,mouse_3065xy_set_dpi 
 575b c0045769 beq ka8 ,mouse_ka8_set_dpi 
@@ -19504,11 +20197,11 @@
 575d c0035767 beq p8009 ,mouse_3065xy_set_dpi 
 
 mouse_dpi_write:
-575e 6048c879 storet 1 ,mem_mouse_cpi_count 
+575e 6048cc33 storet 1 ,mem_mouse_cpi_count 
 575f 58000006 setarg mouse_dpi_address 
 5760 204069e5 call twspi_read 
 5761 1fe104f8 and pdata ,0xf8 ,temp 
-5762 6fe0c879 fetch 1 ,mem_mouse_cpi_count 
+5762 6fe0cc33 fetch 1 ,mem_mouse_cpi_count 
 5763 9840fe00 iadd temp ,pdata 
 5764 1fed7e00 lshift8 pdata ,pdata 
 5765 1fe0fe06 add pdata ,mouse_dpi_address ,pdata 
@@ -19529,27 +20222,27 @@
 576e c0015778 beq mouse_dpi_level3 ,mouse_set_s201_dpi_3 
 
 mouse_set_s201_dpi_0:
-576f 6fe0c874 fetch 1 ,mem_sensor_s201_dpi_0 
+576f 6fe0cc2e fetch 1 ,mem_sensor_s201_dpi_0 
 5770 1fe22200 copy pdata ,rega 
 5771 2020577d branch mouse_dpi_s201_store 
 
 mouse_set_s201_dpi_1:
-5772 6fe0c875 fetch 1 ,mem_sensor_s201_dpi_1 
+5772 6fe0cc2f fetch 1 ,mem_sensor_s201_dpi_1 
 5773 1fe22200 copy pdata ,rega 
 5774 2020577d branch mouse_dpi_s201_store 
 
 mouse_set_s201_dpi_2:
-5775 6fe0c876 fetch 1 ,mem_sensor_s201_dpi_2 
+5775 6fe0cc30 fetch 1 ,mem_sensor_s201_dpi_2 
 5776 1fe22200 copy pdata ,rega 
 5777 2020577d branch mouse_dpi_s201_store 
 
 mouse_set_s201_dpi_3:
-5778 6fe0c877 fetch 1 ,mem_sensor_s201_dpi_3 
+5778 6fe0cc31 fetch 1 ,mem_sensor_s201_dpi_3 
 5779 1fe22200 copy pdata ,rega 
 577a 2020577d branch mouse_dpi_s201_store 
 
 mouse_set_s201_dpi_4:
-577b 6fe0c878 fetch 1 ,mem_sensor_s201_dpi_4 
+577b 6fe0cc32 fetch 1 ,mem_sensor_s201_dpi_4 
 577c 1fe22200 copy pdata ,rega 
 
 mouse_dpi_s201_store:
@@ -19570,22 +20263,22 @@
 5789 c001d790 beq mouse_dpi_level4 ,mouse_set_p3212_cpi3 
 
 mouse_set_p3212_cpi1:
-578a 6fe0c86d fetch 1 ,mem_3212_dpi_1 
+578a 6fe0cc27 fetch 1 ,mem_3212_dpi_1 
 578b 20205791 branch mouse_p3212_dpi 
 
 mouse_set_p3212_cpi0:
-578c 6fe0c86c fetch 1 ,mem_3212_dpi_0 
+578c 6fe0cc26 fetch 1 ,mem_3212_dpi_0 
 578d 20205791 branch mouse_p3212_dpi 
 
 mouse_set_p3212_cpi2:
-578e 6fe0c86e fetch 1 ,mem_3212_dpi_2 
+578e 6fe0cc28 fetch 1 ,mem_3212_dpi_2 
 578f 20205791 branch mouse_p3212_dpi 
 
 mouse_set_p3212_cpi3:
-5790 6fe0c86f fetch 1 ,mem_3212_dpi_3 
+5790 6fe0cc29 fetch 1 ,mem_3212_dpi_3 
 
 mouse_p3212_dpi:
-5791 67e0c879 store 1 ,mem_mouse_cpi_count 
+5791 67e0cc33 store 1 ,mem_mouse_cpi_count 
 5792 1fed7e00 lshift8 pdata ,pdata 
 5793 1fe22200 copy pdata ,rega 
 5794 1fe0fe0d add pdata ,mouse_p3212_dpi_xaddress ,pdata 
@@ -19602,35 +20295,35 @@
 579d c001d7a4 beq mouse_dpi_level4 ,mouse_set_pka8g2_cpi3 
 
 mouse_set_pka8g2_cpi1:
-579e 6fe0c871 fetch 1 ,mem_ka8g2_dpi_1 
+579e 6fe0cc2b fetch 1 ,mem_ka8g2_dpi_1 
 579f 20205791 branch mouse_p3212_dpi 
 
 mouse_set_pka8g2_cpi0:
-57a0 6fe0c870 fetch 1 ,mem_ka8g2_dpi_0 
+57a0 6fe0cc2a fetch 1 ,mem_ka8g2_dpi_0 
 57a1 20205791 branch mouse_p3212_dpi 
 
 mouse_set_pka8g2_cpi2:
-57a2 6fe0c872 fetch 1 ,mem_ka8g2_dpi_2 
+57a2 6fe0cc2c fetch 1 ,mem_ka8g2_dpi_2 
 57a3 20205791 branch mouse_p3212_dpi 
 
 mouse_set_pka8g2_cpi3:
-57a4 6fe0c873 fetch 1 ,mem_ka8g2_dpi_3 
+57a4 6fe0cc2d fetch 1 ,mem_ka8g2_dpi_3 
 57a5 20205791 branch mouse_p3212_dpi 
 
 mouse_key:
 57a6 2040584c call mouse_check_firekey_gpio 
-57a7 6fe0c987 fetch 1 ,mem_fire_key_flag 
+57a7 6fe0cd41 fetch 1 ,mem_fire_key_flag 
 57a8 243a5860 nbranch fire_key_press ,blank 
-57a9 6fe0c982 fetch 1 ,mem_fire_key_status 
+57a9 6fe0cd3c fetch 1 ,mem_fire_key_status 
 57aa 243a585f nbranch fire_key_process ,blank 
 57ab 20405888 call mouse_check_key_gpio 
 57ac 204057bc call mouse_ghost_key_check 
 57ad 2040552f call mouse_set_mult 
 57ae 204057b7 call mouse_24g_key 
 57af 1a227e00 copy rega ,pdata 
-57b0 6848c84e fetcht 1 ,mem_mouse_key_last 
-57b1 67e0c84e store 1 ,mem_mouse_key_last 
-57b2 67e0c846 store 1 ,mem_mouse_key 
+57b0 6848cc08 fetcht 1 ,mem_mouse_key_last 
+57b1 67e0cc08 store 1 ,mem_mouse_key_last 
+57b2 67e0cc00 store 1 ,mem_mouse_key 
 57b3 9842fe00 ixor temp ,pdata 
 57b4 1fe67c00 sub pdata ,0 ,null 
 57b5 20628000 rtn zero 
@@ -19640,13 +20333,13 @@
 57b7 c6930000 rtnmark0 mark_24g 
 57b8 1a227e00 copy rega ,pdata 
 57b9 207a0000 rtn blank 
-57ba 67e0c846 store 1 ,mem_mouse_key 
+57ba 67e0cc00 store 1 ,mem_mouse_key 
 57bb 20207dba branch enable_user 
 
 mouse_ghost_key_check:
-57bc 70497900 jam 0 ,mem_mouse_matrix_key_cow_count 
-57bd 70497a00 jam 0 ,mem_mouse_matrix_key_row_count 
-57be 70497b00 jam 0 ,mem_mouse_ghost_flag 
+57bc 704d3300 jam 0 ,mem_mouse_matrix_key_cow_count 
+57bd 704d3400 jam 0 ,mem_mouse_matrix_key_row_count 
+57be 704d3500 jam 0 ,mem_mouse_ghost_flag 
 57bf 1fe22400 copy pdata ,regb 
 57c0 6848c644 fetcht 1 ,mem_lbutton_gpio 
 57c1 6fe0c647 fetch 1 ,mem_bk_button_gpio 
@@ -19709,12 +20402,12 @@
 mouse_ghost_key_check_next:
 57e5 20405801 call mouse_ghost_key_check_bk_fw 
 57e6 20405804 call mouse_ghost_key_check_lmr 
-57e7 6fe0c97a fetch 1 ,mem_mouse_matrix_key_row_count 
+57e7 6fe0cd34 fetch 1 ,mem_mouse_matrix_key_row_count 
 57e8 207a0000 rtn blank 
-57e9 6fe0c979 fetch 1 ,mem_mouse_matrix_key_cow_count 
+57e9 6fe0cd33 fetch 1 ,mem_mouse_matrix_key_cow_count 
 57ea 207a0000 rtn blank 
-57eb 70497b01 jam 1 ,mem_mouse_ghost_flag 
-57ec 6fe0c84e fetch 1 ,mem_mouse_key_last 
+57eb 704d3501 jam 1 ,mem_mouse_ghost_flag 
+57ec 6fe0cc08 fetch 1 ,mem_mouse_key_last 
 57ed 1fe22200 copy pdata ,rega 
 57ee 20600000 rtn 
 
@@ -19762,11 +20455,11 @@
 5809 20600000 rtn 
 
 mouse_matrix_row_more_than_one_key:
-580a 70497a01 jam 1 ,mem_mouse_matrix_key_row_count 
+580a 704d3401 jam 1 ,mem_mouse_matrix_key_row_count 
 580b 20600000 rtn 
 
 mouse_matrix_cow_more_than_one_key:
-580c 70497901 jam 1 ,mem_mouse_matrix_key_cow_count 
+580c 704d3301 jam 1 ,mem_mouse_matrix_key_cow_count 
 580d 20600000 rtn 
 
 mouse_dpi_another_gpio_check:
@@ -19784,9 +20477,9 @@
 mouse_dpi_another_gpio_connect_vin_check:
 5816 6fe0c658 fetch 1 ,mem_dpi_another_button_gpio 
 5817 20405946 call mouse_gpio_config_output_low 
-5818 70498b00 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
+5818 704d4500 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
 5819 6848c658 fetcht 1 ,mem_dpi_another_button_gpio 
-581a 6fe0c988 fetch 1 ,mem_dpi_another_press_status 
+581a 6fe0cd42 fetch 1 ,mem_dpi_another_press_status 
 581b 2040583d call mouse_check_key_connect_vin_new 
 581c 20405828 call mouse_dpi_another_state_check 
 581d 6848c658 fetcht 1 ,mem_dpi_another_button_gpio 
@@ -19794,32 +20487,32 @@
 
 mouse_dpi_another_down_new:
 581f 204055b5 call mouse_gpio_config_input_pu 
-5820 6fe0c989 fetch 1 ,mem_dpi_another_button_state 
+5820 6fe0cd43 fetch 1 ,mem_dpi_another_button_state 
 5821 c1008000 rtneq dpi_button_state_down 
-5822 70498901 jam dpi_button_state_down ,mem_dpi_another_button_state 
+5822 704d4301 jam dpi_button_state_down ,mem_dpi_another_button_state 
 5823 202056f7 branch mouse_dpi_process 
 
 mouse_dpi_another_check:
-5824 70498b00 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
+5824 704d4500 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
 5825 6848c658 fetcht 1 ,mem_dpi_another_button_gpio 
-5826 6fe0c988 fetch 1 ,mem_dpi_another_press_status 
+5826 6fe0cd42 fetch 1 ,mem_dpi_another_press_status 
 5827 20405833 call mouse_check_key_connect_gnd_new 
 
 mouse_dpi_another_state_check:
-5828 67e0c988 store 1 ,mem_dpi_another_press_status 
-5829 6fe0c98a fetch 1 ,mem_dpi_another_button_down_enable 
+5828 67e0cd42 store 1 ,mem_dpi_another_press_status 
+5829 6fe0cd44 fetch 1 ,mem_dpi_another_button_down_enable 
 582a 203a582f branch mouse_dpi_another_up ,blank 
 
 mouse_dpi_another_down:
-582b 6fe0c989 fetch 1 ,mem_dpi_another_button_state 
+582b 6fe0cd43 fetch 1 ,mem_dpi_another_button_state 
 582c c1008000 rtneq dpi_button_state_down 
-582d 70498901 jam dpi_button_state_down ,mem_dpi_another_button_state 
+582d 704d4301 jam dpi_button_state_down ,mem_dpi_another_button_state 
 582e 202056f7 branch mouse_dpi_process 
 
 mouse_dpi_another_up:
-582f 6fe0c989 fetch 1 ,mem_dpi_another_button_state 
+582f 6fe0cd43 fetch 1 ,mem_dpi_another_button_state 
 5830 c1000000 rtneq dpi_button_state_up 
-5831 70498900 jam dpi_button_state_up ,mem_dpi_another_button_state 
+5831 704d4300 jam dpi_button_state_up ,mem_dpi_another_button_state 
 5832 20600000 rtn 
 
 mouse_check_key_connect_gnd_new:
@@ -19828,7 +20521,7 @@
 5835 20406ee6 call gpio_get_bit 
 5836 7920a400 setflag true ,0 ,regb 
 5837 1a417e07 and regb ,0x07 ,pdata 
-5838 6848c98b fetcht 1 ,mem_mouse_key_temp_patch 
+5838 6848cd45 fetcht 1 ,mem_mouse_key_temp_patch 
 5839 18420e00 copy temp ,queue 
 583a c003d848 beq 0x07 ,mouse_another_dpi_key_press 
 583b c000584a beq 0x00 ,mouse_another_dpi_key_release 
@@ -19841,18 +20534,18 @@
 5840 20406ee6 call gpio_get_bit 
 5841 7920a400 setflag true ,0 ,regb 
 5842 1a417e07 and regb ,0x07 ,pdata 
-5843 6848c98b fetcht 1 ,mem_mouse_key_temp_patch 
+5843 6848cd45 fetcht 1 ,mem_mouse_key_temp_patch 
 5844 18420e00 copy temp ,queue 
 5845 c003d848 beq 0x07 ,mouse_another_dpi_key_press 
 5846 c000584a beq 0x00 ,mouse_another_dpi_key_release 
 5847 20600000 rtn 
 
 mouse_another_dpi_key_press:
-5848 70498a01 jam 1 ,mem_dpi_another_button_down_enable 
+5848 704d4401 jam 1 ,mem_dpi_another_button_down_enable 
 5849 20600000 rtn 
 
 mouse_another_dpi_key_release:
-584a 70498a00 jam 0 ,mem_dpi_another_button_down_enable 
+584a 704d4400 jam 0 ,mem_dpi_another_button_down_enable 
 584b 20600000 rtn 
 
 mouse_check_firekey_gpio:
@@ -19871,7 +20564,7 @@
 
 mouse_firekey_state_store:
 5856 1a427e00 copy regb ,pdata 
-5857 67e0c987 store 1 ,mem_fire_key_flag 
+5857 67e0cd41 store 1 ,mem_fire_key_flag 
 5858 20600000 rtn 
 
 mouse_check_firekey_connect_vin:
@@ -19887,14 +20580,14 @@
 
 fire_key_press:
 5860 2040587b call firekey_clkn_bt_timer_check 
-5861 6fe24983 fetch 4 ,mem_fire_key_delay 
+5861 6fe24d3d fetch 4 ,mem_fire_key_delay 
 5862 d84000a0 arg 0xa0 ,temp 
 5863 98408400 iadd temp ,temp 
 5864 1c427e00 copy clkn_bt ,pdata 
 5865 98467c00 isub temp ,null 
 5866 24610000 nrtn positive 
-5867 67e24983 store 4 ,mem_fire_key_delay 
-5868 6fe0c982 fetch 1 ,mem_fire_key_status 
+5867 67e24d3d store 4 ,mem_fire_key_delay 
+5868 6fe0cd3c fetch 1 ,mem_fire_key_status 
 5869 c000586e beq 0 ,fire_key_process_start 
 586a c000d871 beq 1 ,fire_key_process_release1 
 586b c0015874 beq 2 ,fire_key_process_start2 
@@ -19902,34 +20595,34 @@
 586d 20600000 rtn 
 
 fire_key_process_start:
-586e 70498201 jam 1 ,mem_fire_key_status 
+586e 704d3c01 jam 1 ,mem_fire_key_status 
 
 fire_key_down:
-586f 70484601 jam 1 ,mem_mouse_key 
+586f 704c0001 jam 1 ,mem_mouse_key 
 5870 20207dba branch enable_user 
 
 fire_key_process_release1:
-5871 70498202 jam 2 ,mem_fire_key_status 
+5871 704d3c02 jam 2 ,mem_fire_key_status 
 
 fire_key_release:
-5872 70484600 jam 0 ,mem_mouse_key 
+5872 704c0000 jam 0 ,mem_mouse_key 
 5873 20207dba branch enable_user 
 
 fire_key_process_start2:
-5874 70498203 jam 3 ,mem_fire_key_status 
+5874 704d3c03 jam 3 ,mem_fire_key_status 
 5875 2020586f branch fire_key_down 
 
 fire_key_process_release2:
-5876 70498200 jam 0 ,mem_fire_key_status 
+5876 704d3c00 jam 0 ,mem_fire_key_status 
 5877 20205872 branch fire_key_release 
 
 fire_key_process_end:
-5878 70498200 jam 0 ,mem_fire_key_status 
-5879 70484600 jam 0 ,mem_mouse_key 
+5878 704d3c00 jam 0 ,mem_fire_key_status 
+5879 704c0000 jam 0 ,mem_mouse_key 
 587a 20600000 rtn 
 
 firekey_clkn_bt_timer_check:
-587b 684a4983 fetcht 4 ,mem_fire_key_delay 
+587b 684a4d3d fetcht 4 ,mem_fire_key_delay 
 587c 1c427e00 copy clkn_bt ,pdata 
 587d 98467c00 isub temp ,null 
 587e 24415880 ncall firekey_clkn_bt_timer_timeout ,positive 
@@ -19937,14 +20630,14 @@
 
 firekey_clkn_bt_timer_timeout:
 5880 58000000 setarg 0 
-5881 67e24983 store 4 ,mem_fire_key_delay 
+5881 67e24d3d store 4 ,mem_fire_key_delay 
 5882 20600000 rtn 
 
 mouse_key_check_once:
 5883 20405895 call mouse_check_key_gpio_once 
 5884 20405888 call mouse_check_key_gpio 
 5885 58000000 setarg 0x00 
-5886 67e1c96f store 3 ,mem_mouse_lkey_press_status 
+5886 67e1cd29 store 3 ,mem_mouse_lkey_press_status 
 5887 20600000 rtn 
 
 mouse_check_key_gpio:
@@ -19964,47 +20657,47 @@
 
 mouse_check_key_gpio_once:
 5895 58030303 setarg 0x030303 
-5896 67e1c96f store 3 ,mem_mouse_lkey_press_status 
+5896 67e1cd29 store 3 ,mem_mouse_lkey_press_status 
 5897 20600000 rtn 
 
 mouse_check_lkey_gpio:
 5898 6fe0c644 fetch 1 ,mem_lbutton_gpio 
 5899 20405943 call mouse_gpio_config_output_high 
-589a 70497700 jam mouse_l_key ,mem_mouse_key_temp 
+589a 704d3100 jam mouse_l_key ,mem_mouse_key_temp 
 589b 6848c644 fetcht 1 ,mem_lbutton_gpio 
-589c 6fe0c96f fetch 1 ,mem_mouse_lkey_press_status 
+589c 6fe0cd29 fetch 1 ,mem_mouse_lkey_press_status 
 589d 20405925 call mouse_check_key_connect_gnd 
-589e 67e0c96f store 1 ,mem_mouse_lkey_press_status 
+589e 67e0cd29 store 1 ,mem_mouse_lkey_press_status 
 589f 6848c644 fetcht 1 ,mem_lbutton_gpio 
 58a0 202055b5 branch mouse_gpio_config_input_pu 
 
 mouse_check_rkey_gpio:
 58a1 6fe0c646 fetch 1 ,mem_rbutton_gpio 
 58a2 20405943 call mouse_gpio_config_output_high 
-58a3 70497701 jam mouse_r_key ,mem_mouse_key_temp 
+58a3 704d3101 jam mouse_r_key ,mem_mouse_key_temp 
 58a4 6848c646 fetcht 1 ,mem_rbutton_gpio 
-58a5 6fe0c970 fetch 1 ,mem_mouse_rkey_press_status 
+58a5 6fe0cd2a fetch 1 ,mem_mouse_rkey_press_status 
 58a6 20405925 call mouse_check_key_connect_gnd 
-58a7 67e0c970 store 1 ,mem_mouse_rkey_press_status 
+58a7 67e0cd2a store 1 ,mem_mouse_rkey_press_status 
 58a8 6848c646 fetcht 1 ,mem_rbutton_gpio 
 58a9 202055b5 branch mouse_gpio_config_input_pu 
 
 mouse_check_mkey_gpio:
 58aa 6fe0c645 fetch 1 ,mem_mbutton_gpio 
 58ab 20405943 call mouse_gpio_config_output_high 
-58ac 70497702 jam mouse_m_key ,mem_mouse_key_temp 
+58ac 704d3102 jam mouse_m_key ,mem_mouse_key_temp 
 58ad 6848c645 fetcht 1 ,mem_mbutton_gpio 
-58ae 6fe0c971 fetch 1 ,mem_mouse_mkey_press_status 
+58ae 6fe0cd2b fetch 1 ,mem_mouse_mkey_press_status 
 58af 20405925 call mouse_check_key_connect_gnd 
-58b0 67e0c971 store 1 ,mem_mouse_mkey_press_status 
+58b0 67e0cd2b store 1 ,mem_mouse_mkey_press_status 
 58b1 6848c645 fetcht 1 ,mem_mbutton_gpio 
 58b2 202055b5 branch mouse_gpio_config_input_pu 
 
 mouse_check_bkkey_gpio:
 58b3 6fe0c647 fetch 1 ,mem_bk_button_gpio 
 58b4 c17f8000 rtneq gpio_disable 
-58b5 70497703 jam mouse_bk_key ,mem_mouse_key_temp 
-58b6 6fe0c972 fetch 1 ,mem_mouse_bkkey_press_status 
+58b5 704d3103 jam mouse_bk_key ,mem_mouse_key_temp 
+58b6 6fe0cd2c fetch 1 ,mem_mouse_bkkey_press_status 
 58b7 1fe22600 copy pdata ,regc 
 58b8 6848c647 fetcht 1 ,mem_bk_button_gpio 
 58b9 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
@@ -20014,16 +20707,16 @@
 58bd 6848c654 fetcht 1 ,mem_matrix_public_gpio 
 58be 20406ef7 call gpio_out_active 
 58bf 6848c647 fetcht 1 ,mem_bk_button_gpio 
-58c0 6fe0c972 fetch 1 ,mem_mouse_bkkey_press_status 
+58c0 6fe0cd2c fetch 1 ,mem_mouse_bkkey_press_status 
 58c1 20405925 call mouse_check_key_connect_gnd 
 
 mouse_check_bkkey_gpio_end:
-58c2 67e0c972 store 1 ,mem_mouse_bkkey_press_status 
+58c2 67e0cd2c store 1 ,mem_mouse_bkkey_press_status 
 58c3 202058df branch mouse_matrix_public_gpio_reset 
 
 mouse_check_bk_button_connect_gnd:
 58c4 6848c654 fetcht 1 ,mem_matrix_public_gpio 
-58c5 6fe0c972 fetch 1 ,mem_mouse_bkkey_press_status 
+58c5 6fe0cd2c fetch 1 ,mem_mouse_bkkey_press_status 
 58c6 20405925 call mouse_check_key_connect_gnd 
 58c7 202058c2 branch mouse_check_bkkey_gpio_end 
 
@@ -20032,15 +20725,15 @@
 58c9 20405946 call mouse_gpio_config_output_low 
 58ca 6848c647 fetcht 1 ,mem_bk_button_gpio 
 58cb 20405931 call mouse_3io6key_check 
-58cc 67e0c972 store 1 ,mem_mouse_bkkey_press_status 
+58cc 67e0cd2c store 1 ,mem_mouse_bkkey_press_status 
 58cd 6848c647 fetcht 1 ,mem_bk_button_gpio 
 58ce 202055b5 branch mouse_gpio_config_input_pu 
 
 mouse_check_fwkey_gpio:
 58cf 6fe0c648 fetch 1 ,mem_fw_button_gpio 
 58d0 c17f8000 rtneq gpio_disable 
-58d1 70497704 jam mouse_fw_key ,mem_mouse_key_temp 
-58d2 6fe0c973 fetch 1 ,mem_mouse_fwkey_press_status 
+58d1 704d3104 jam mouse_fw_key ,mem_mouse_key_temp 
+58d2 6fe0cd2d fetch 1 ,mem_mouse_fwkey_press_status 
 58d3 1fe22600 copy pdata ,regc 
 58d4 6848c648 fetcht 1 ,mem_fw_button_gpio 
 58d5 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
@@ -20050,11 +20743,11 @@
 58d9 6848c654 fetcht 1 ,mem_matrix_public_gpio 
 58da 20406ef7 call gpio_out_active 
 58db 6848c648 fetcht 1 ,mem_fw_button_gpio 
-58dc 6fe0c973 fetch 1 ,mem_mouse_fwkey_press_status 
+58dc 6fe0cd2d fetch 1 ,mem_mouse_fwkey_press_status 
 58dd 20405925 call mouse_check_key_connect_gnd 
 
 mouse_check_fwkey_gpio_end:
-58de 67e0c973 store 1 ,mem_mouse_fwkey_press_status 
+58de 67e0cd2d store 1 ,mem_mouse_fwkey_press_status 
 
 mouse_matrix_public_gpio_reset:
 58df 6848c654 fetcht 1 ,mem_matrix_public_gpio 
@@ -20062,7 +20755,7 @@
 
 mouse_check_fw_button_connect_gnd:
 58e1 6848c654 fetcht 1 ,mem_matrix_public_gpio 
-58e2 6fe0c973 fetch 1 ,mem_mouse_fwkey_press_status 
+58e2 6fe0cd2d fetch 1 ,mem_mouse_fwkey_press_status 
 58e3 20405925 call mouse_check_key_connect_gnd 
 58e4 202058de branch mouse_check_fwkey_gpio_end 
 
@@ -20071,12 +20764,12 @@
 58e6 20405946 call mouse_gpio_config_output_low 
 58e7 6848c648 fetcht 1 ,mem_fw_button_gpio 
 58e8 20405931 call mouse_3io6key_check 
-58e9 67e0c973 store 1 ,mem_mouse_fwkey_press_status 
+58e9 67e0cd2d store 1 ,mem_mouse_fwkey_press_status 
 58ea 6848c648 fetcht 1 ,mem_fw_button_gpio 
 58eb 202055b5 branch mouse_gpio_config_input_pu 
 
 mouse_check_customerkey_gpio:
-58ec 70496c00 jam 0 ,mem_customer_key 
+58ec 704d2600 jam 0 ,mem_customer_key 
 58ed 6fe0c656 fetch 1 ,mem_customer_key_gpio 
 58ee c17f8000 rtneq gpio_disable 
 58ef 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
@@ -20084,11 +20777,11 @@
 58f1 c297d8fd bbit1 mouse_enable_customer_key_connect_vin_or_matrix ,mouse_customer_key_connect_vin 
 
 mouse_customer_key_connect_gnd:
-58f2 70497707 jam mouse_customer_key ,mem_mouse_key_temp 
+58f2 704d3107 jam mouse_customer_key ,mem_mouse_key_temp 
 58f3 6848c656 fetcht 1 ,mem_customer_key_gpio 
-58f4 6fe0c976 fetch 1 ,mem_mouse_customerkey_press_status 
+58f4 6fe0cd30 fetch 1 ,mem_mouse_customerkey_press_status 
 58f5 20405925 call mouse_check_key_connect_gnd 
-58f6 67e0c976 store 1 ,mem_mouse_customerkey_press_status 
+58f6 67e0cd30 store 1 ,mem_mouse_customerkey_press_status 
 
 mouse_check_customerkey_gpio_next:
 58f7 1a227e00 copy rega ,pdata 
@@ -20096,13 +20789,13 @@
 58f9 2040591a call mouse_customerkey_release 
 
 mouse_check_customerkey_gpio_exit:
-58fa 6fe0c96d fetch 1 ,mem_customer_data_trigger 
-58fb 67e0c96e store 1 ,mem_customer_data_trigger_last 
+58fa 6fe0cd27 fetch 1 ,mem_customer_data_trigger 
+58fb 67e0cd28 store 1 ,mem_customer_data_trigger_last 
 58fc 20600000 rtn 
 
 mouse_customer_key_connect_vin:
-58fd 70497707 jam mouse_customer_key ,mem_mouse_key_temp 
-58fe 6fe0c976 fetch 1 ,mem_mouse_customerkey_press_status 
+58fd 704d3107 jam mouse_customer_key ,mem_mouse_key_temp 
+58fe 6fe0cd30 fetch 1 ,mem_mouse_customerkey_press_status 
 58ff 1fe22600 copy pdata ,regc 
 5900 6848c656 fetcht 1 ,mem_customer_key_gpio 
 5901 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
@@ -20112,13 +20805,13 @@
 5905 6848c654 fetcht 1 ,mem_matrix_public_gpio 
 5906 20406ef7 call gpio_out_active 
 5907 6848c656 fetcht 1 ,mem_customer_key_gpio 
-5908 6fe0c976 fetch 1 ,mem_mouse_customerkey_press_status 
+5908 6fe0cd30 fetch 1 ,mem_mouse_customerkey_press_status 
 5909 20405925 call mouse_check_key_connect_gnd 
 590a 20205913 branch mouse_check_customerkey_gpio_over 
 
 mouse_check_customer_button_connect_gnd:
 590b 6848c654 fetcht 1 ,mem_matrix_public_gpio 
-590c 6fe0c976 fetch 1 ,mem_mouse_customerkey_press_status 
+590c 6fe0cd30 fetch 1 ,mem_mouse_customerkey_press_status 
 590d 20405925 call mouse_check_key_connect_gnd 
 590e 20205913 branch mouse_check_customerkey_gpio_over 
 
@@ -20129,28 +20822,28 @@
 5912 20405931 call mouse_3io6key_check 
 
 mouse_check_customerkey_gpio_over:
-5913 67e0c976 store 1 ,mem_mouse_customerkey_press_status 
+5913 67e0cd30 store 1 ,mem_mouse_customerkey_press_status 
 5914 204058f7 call mouse_check_customerkey_gpio_next 
 5915 6848c656 fetcht 1 ,mem_customer_key_gpio 
 5916 202055b5 branch mouse_gpio_config_input_pu 
 
 mouse_customerkey_press:
-5917 70496d01 jam 1 ,mem_customer_data_trigger 
+5917 704d2701 jam 1 ,mem_customer_data_trigger 
 5918 2040591d call mouse_customer_key_need_send 
 5919 202058fa branch mouse_check_customerkey_gpio_exit 
 
 mouse_customerkey_release:
-591a 70496d00 jam 0 ,mem_customer_data_trigger 
-591b 6fe0c96e fetch 1 ,mem_customer_data_trigger_last 
+591a 704d2700 jam 0 ,mem_customer_data_trigger 
+591b 6fe0cd28 fetch 1 ,mem_customer_data_trigger_last 
 591c 207a0000 rtn blank 
 
 mouse_customer_key_need_send:
-591d 70496c01 jam 1 ,mem_customer_key 
+591d 704d2601 jam 1 ,mem_customer_key 
 591e 20600000 rtn 
 
 mouse_check_matrix_button_connect_gnd:
 591f 20406ee6 call gpio_get_bit 
-5920 6848c977 fetcht 1 ,mem_mouse_key_temp 
+5920 6848cd31 fetcht 1 ,mem_mouse_key_temp 
 5921 18420e00 copy temp ,queue 
 5922 2020d92f branch mouse_key_press ,true 
 
@@ -20168,7 +20861,7 @@
 5929 1a417e07 and regb ,0x07 ,pdata 
 
 mouse_check_key_connect_gnd_next:
-592a 6848c977 fetcht 1 ,mem_mouse_key_temp 
+592a 6848cd31 fetcht 1 ,mem_mouse_key_temp 
 592b 18420e00 copy temp ,queue 
 592c c003d92f beq 0x07 ,mouse_key_press 
 592d c0005923 beq 0x00 ,mouse_key_release 
@@ -20181,7 +20874,7 @@
 mouse_3io6key_check:
 5931 44bfc00f bpatch patch0f_7 ,mem_patch0f 
 5932 1a627e00 copy regc ,pdata 
-5933 67e0c978 store 1 ,mem_mouse_key_status 
+5933 67e0cd32 store 1 ,mem_mouse_key_status 
 5934 1fe3fe00 lshift pdata ,pdata 
 5935 1fe22400 copy pdata ,regb 
 5936 18422600 copy temp ,regc 
@@ -20193,7 +20886,7 @@
 593c 2020592a branch mouse_check_key_connect_gnd_next 
 
 mouse_check_press:
-593d 6848c978 fetcht 1 ,mem_mouse_key_status 
+593d 6848cd32 fetcht 1 ,mem_mouse_key_status 
 593e 18410401 and_into 0x01 ,temp 
 593f 1a417e01 and regb ,0x01 ,pdata 
 5940 98467c00 isub temp ,null 
@@ -20236,14 +20929,14 @@
 mouse_read_sensor_id:
 5958 58000001 setarg pan_reg_pid_h 
 5959 204069e5 call twspi_read 
-595a 67e0c85a store 1 ,mem_sensor_id2 
+595a 67e0cc14 store 1 ,mem_sensor_id2 
 595b 58000000 setarg pan_reg_pid_l 
 595c 204069e5 call twspi_read 
-595d 67e0c859 store 1 ,mem_sensor_id1 
+595d 67e0cc13 store 1 ,mem_sensor_id1 
 595e 20600000 rtn 
 
 mouse_init_p32xx_id2_judge:
-595f 6fe0c85a fetch 1 ,mem_sensor_id2 
+595f 6fe0cc14 fetch 1 ,mem_sensor_id2 
 5960 c02d596e beq p_mx8650 ,mouse_mx8650_init_param 
 5961 c06c5974 beq p8009_id2 ,mouse_8009_init_param 
 5962 c068d968 beq p3205_tj3t_id2 ,mouse_s210x_3205_3t_judge 
@@ -20260,14 +20953,14 @@
 596b 20205983 branch mouse_3205_3t_init_param 
 
 mouse_s201x_init_param:
-596c 7049570c jam s201x ,mem_config_sensor_type 
+596c 704d110c jam s201x ,mem_config_sensor_type 
 596d 20600000 rtn 
 
 mouse_mx8650_init_param:
-596e 70495705 jam mx8650 ,mem_config_sensor_type 
+596e 704d1105 jam mx8650 ,mem_config_sensor_type 
 596f 204059da call mouse_sensor_reset 
 5970 20407c95 call delay_10ms 
-5971 da6048d6 arg mem_sensor_8650_init ,regc 
+5971 da604c90 arg mem_sensor_8650_init ,regc 
 
 mouse_sensor_init_end:
 5972 20405995 call mouse_sensor_wr_seq 
@@ -20286,33 +20979,33 @@
 597d 204069e5 call twspi_read 
 597e 1fe67c1d sub pdata ,0x1d ,null 
 597f 2422d949 nbranch mouse_init_sunt ,zero 
-5980 70495706 jam p8009 ,mem_config_sensor_type 
-5981 da60491a arg mem_sensor_8009_init ,regc 
+5980 704d1106 jam p8009 ,mem_config_sensor_type 
+5981 da604cd4 arg mem_sensor_8009_init ,regc 
 5982 20205995 branch mouse_sensor_wr_seq 
 
 mouse_3205_3t_init_param:
-5983 70495700 jam p3205 ,mem_config_sensor_type 
-5984 da604890 arg mem_sensor_3205_init ,regc 
+5983 704d1100 jam p3205 ,mem_config_sensor_type 
+5984 da604c4a arg mem_sensor_3205_init ,regc 
 5985 20405995 call mouse_sensor_wr_seq 
-5986 da60489a arg mem_sensor_32xx_init ,regc 
+5986 da604c54 arg mem_sensor_32xx_init ,regc 
 5987 20405995 call mouse_sensor_wr_seq 
 5988 58000943 setarg 0x0943 
 5989 204069e4 call twspi_write 
-598a da6048b4 arg mem_sensor_32xx_init_1 ,regc 
+598a da604c6e arg mem_sensor_32xx_init_1 ,regc 
 598b 20205995 branch mouse_sensor_wr_seq 
 
 mouse_3204_3l_init_param:
-598c 70495702 jam p3204 ,mem_config_sensor_type 
-598d da604886 arg mem_sensor_3204_init ,regc 
+598c 704d1102 jam p3204 ,mem_config_sensor_type 
+598d da604c40 arg mem_sensor_3204_init ,regc 
 598e 20405995 call mouse_sensor_wr_seq 
-598f da60489a arg mem_sensor_32xx_init ,regc 
+598f da604c54 arg mem_sensor_32xx_init ,regc 
 5990 20405995 call mouse_sensor_wr_seq 
-5991 da6048b4 arg mem_sensor_32xx_init_1 ,regc 
+5991 da604c6e arg mem_sensor_32xx_init_1 ,regc 
 5992 20205995 branch mouse_sensor_wr_seq 
 
 mouse_3212_init_param:
-5993 70495703 jam p3212 ,mem_config_sensor_type 
-5994 da60487c arg mem_sensor_3212_init ,regc 
+5993 704d1103 jam p3212 ,mem_config_sensor_type 
+5994 da604c36 arg mem_sensor_3212_init ,regc 
 
 mouse_sensor_wr_seq:
 5995 efe10013 ifetch 2 ,regc 
@@ -20344,12 +21037,12 @@
 59ad 204059c0 call mouse_enable_ka8_sensor_wp 
 
 mouse_ka8_init_param:
-59ae 70495708 jam ka8 ,mem_config_sensor_type 
+59ae 704d1108 jam ka8 ,mem_config_sensor_type 
 59af 20600000 rtn 
 
 mouse_ka8ul_init_param:
-59b0 70495709 jam ka8_ul ,mem_config_sensor_type 
-59b1 da6048fc arg mem_sensor_ka8ul_init ,regc 
+59b0 704d1109 jam ka8_ul ,mem_config_sensor_type 
+59b1 da604cb6 arg mem_sensor_ka8ul_init ,regc 
 59b2 20205995 branch mouse_sensor_wr_seq 
 
 mouse_ka8hd_sensor_judge:
@@ -20366,7 +21059,7 @@
 
 mouse_ka8hd_init_param:
 59bd 204059c0 call mouse_enable_ka8_sensor_wp 
-59be 7049570a jam ka8_hd ,mem_config_sensor_type 
+59be 704d110a jam ka8_hd ,mem_config_sensor_type 
 59bf 20600000 rtn 
 
 mouse_enable_ka8_sensor_wp:
@@ -20375,34 +21068,34 @@
 59c2 202059d6 branch mouse_sensor_enable_wp 
 
 mouse_p6520_init_param:
-59c3 70495707 jam p6520 ,mem_config_sensor_type 
-59c4 da60493a arg mem_sensor_p6520_init ,regc 
+59c3 704d1107 jam p6520 ,mem_config_sensor_type 
+59c4 da604cf4 arg mem_sensor_p6520_init ,regc 
 59c5 20205995 branch mouse_sensor_wr_seq 
 
 mouse_init_p3065:
 59c6 204059e7 call mouse_sensor_poweron 
-59c7 6fe0c85a fetch 1 ,mem_sensor_id2 
+59c7 6fe0cc14 fetch 1 ,mem_sensor_id2 
 59c8 c03859cd beq p3065_xy_id2 ,mouse_p3065xy_init_param 
 59c9 c00059cb beq p3065_id2 ,mouse_p3065_init_param 
 59ca 2020594d branch mouse_init_sensor 
 
 mouse_p3065_init_param:
-59cb 70495701 jam p3065 ,mem_config_sensor_type 
+59cb 704d1101 jam p3065 ,mem_config_sensor_type 
 59cc 20600000 rtn 
 
 mouse_p3065xy_init_param:
-59cd 70495704 jam p3065_xy ,mem_config_sensor_type 
+59cd 704d1104 jam p3065_xy ,mem_config_sensor_type 
 59ce 20600000 rtn 
 
 mouse_ka8g2_id2_judge:
 59cf 204059e7 call mouse_sensor_poweron 
-59d0 6fe0c85a fetch 1 ,mem_sensor_id2 
+59d0 6fe0cc14 fetch 1 ,mem_sensor_id2 
 59d1 c02cd9d3 beq pka8g2_id2 ,mouse_ka8g2_init_param 
 59d2 2020595f branch mouse_init_p32xx_id2_judge 
 
 mouse_ka8g2_init_param:
-59d3 7049570b jam ka8g2 ,mem_config_sensor_type 
-59d4 da60492a arg mem_sensor_ka8g2_init ,regc 
+59d3 704d110b jam ka8g2 ,mem_config_sensor_type 
+59d4 da604ce4 arg mem_sensor_ka8g2_init ,regc 
 59d5 20205995 branch mouse_sensor_wr_seq 
 
 mouse_sensor_enable_wp:
@@ -20415,7 +21108,7 @@
 
 mouse_sensor_reset:
 59da d8408006 arg 0x8006 ,temp 
-59db 6fe0c957 fetch 1 ,mem_config_sensor_type 
+59db 6fe0cd11 fetch 1 ,mem_config_sensor_type 
 59dc c085d9de bne ka8g2 ,mouse_sensor_reset_end 
 59dd d8409706 arg 0x9706 ,temp 
 
@@ -20426,10 +21119,10 @@
 59e1 20600000 rtn 
 
 mouse_sensor_poweron_init:
-59e2 da604946 arg mem_sensor_poweron_init ,regc 
-59e3 6fe0c957 fetch 1 ,mem_config_sensor_type 
+59e2 da604d00 arg mem_sensor_poweron_init ,regc 
+59e3 6fe0cd11 fetch 1 ,mem_config_sensor_type 
 59e4 c1858000 rtnne ka8g2 
-59e5 da60494e arg mem_sensor_ka8g2_poweron_init ,regc 
+59e5 da604d08 arg mem_sensor_ka8g2_poweron_init ,regc 
 59e6 20600000 rtn 
 
 mouse_sensor_poweron:
@@ -20445,7 +21138,7 @@
 59ee 20405949 call mouse_init_sunt 
 59ef 204055f6 call mouse_sensor_spi_init 
 59f0 d8400806 arg 0x0806 ,temp 
-59f1 6fe0c957 fetch 1 ,mem_config_sensor_type 
+59f1 6fe0cd11 fetch 1 ,mem_config_sensor_type 
 59f2 c085d9f4 bne ka8g2 ,mouse_sensor_powerdown_end 
 59f3 d8401f06 arg 0x1f06 ,temp 
 
@@ -20456,7 +21149,7 @@
 mouse_check_sensor_data:
 59f6 6fe0c420 fetch 1 ,mem_spi_write_flash_sm 
 59f7 c1800000 rtnne flash_sm_no_buys 
-59f8 6fe0c957 fetch 1 ,mem_config_sensor_type 
+59f8 6fe0cd11 fetch 1 ,mem_config_sensor_type 
 59f9 c0005a02 beq p3205 ,mouse_p32xx_sensor_motion 
 59fa c000da02 beq p3065 ,mouse_p32xx_sensor_motion 
 59fb c0045a02 beq ka8 ,mouse_p32xx_sensor_motion 
@@ -20486,13 +21179,13 @@
 5a0d 204069e5 call twspi_read 
 5a0e c4038000 rtnbit0 7 
 5a0f 20405a84 call mouse_read_sensor_common 
-5a10 6fe0c847 fetch 1 ,mem_mouse_x 
+5a10 6fe0cc01 fetch 1 ,mem_mouse_x 
 5a11 20405a7c call mouse_data_extsign 
-5a12 67e14847 store 2 ,mem_mouse_x 
-5a13 6fe0c849 fetch 1 ,mem_mouse_y 
+5a12 67e14c01 store 2 ,mem_mouse_x 
+5a13 6fe0cc03 fetch 1 ,mem_mouse_y 
 5a14 20405a7c call mouse_data_extsign 
-5a15 67e14849 store 2 ,mem_mouse_y 
-5a16 6fe0c958 fetch 1 ,mem_config_sensor_angle 
+5a15 67e14c03 store 2 ,mem_mouse_y 
+5a16 6fe0cd12 fetch 1 ,mem_config_sensor_angle 
 5a17 c0005a1e beq mouse_6clk_angle ,mouse_motion32xx_6clk_direction_selection 
 5a18 c000da20 beq mouse_9clk_angle ,mouse_motion32xx_9clk_direction_selection 
 5a19 c0015a22 beq mouse_12clk_angle ,mouse_motion32xx_12clk_direction_selection 
@@ -20538,15 +21231,15 @@
 5a31 c4038000 rtnbit0 7 
 5a32 20405a84 call mouse_read_sensor_common 
 5a33 20405a42 call mouse_read_3212sensor_xy_high 
-5a34 67e0c84d store 1 ,mem_mouse_xy_h 
+5a34 67e0cc07 store 1 ,mem_mouse_xy_h 
 5a35 1ff1fe00 rshift4 pdata ,pdata 
 5a36 20405a80 call mouse_data_extsign_bit3 
-5a37 67e0c848 store 1 ,mem_mouse_x + 1 
-5a38 6fe0c84d fetch 1 ,mem_mouse_xy_h 
+5a37 67e0cc02 store 1 ,mem_mouse_x + 1 
+5a38 6fe0cc07 fetch 1 ,mem_mouse_xy_h 
 5a39 1fe17e0f and pdata ,0x0f ,pdata 
 5a3a 20405a80 call mouse_data_extsign_bit3 
-5a3b 67e0c84a store 1 ,mem_mouse_y + 1 
-5a3c 6fe0c958 fetch 1 ,mem_config_sensor_angle 
+5a3b 67e0cc04 store 1 ,mem_mouse_y + 1 
+5a3c 6fe0cd12 fetch 1 ,mem_config_sensor_angle 
 5a3d c0005a56 beq mouse_6clk_angle ,mouse_motion_6clk_direction_dispose 
 5a3e c000da5e beq mouse_9clk_angle ,mouse_motion_9clk_direction_dispose 
 5a3f c0015a5a beq mouse_12clk_angle ,mouse_motion_12clk_direction_dispose 
@@ -20578,28 +21271,28 @@
 5a51 204069e5 call twspi_read 
 5a52 203a5a0f branch mouse_p32xx_sensor_motion_1 + 3 ,blank 
 5a53 58000000 setarg 0 
-5a54 67e34847 store 6 ,mem_mouse_x 
+5a54 67e34c01 store 6 ,mem_mouse_x 
 5a55 20600000 rtn 
 
 mouse_motion_6clk_direction_dispose:
-5a56 6fe14847 fetch 2 ,mem_mouse_x 
+5a56 6fe14c01 fetch 2 ,mem_mouse_x 
 5a57 1fe67e00 sub pdata ,0 ,pdata 
-5a58 67e14847 store 2 ,mem_mouse_x 
+5a58 67e14c01 store 2 ,mem_mouse_x 
 5a59 20207dba branch enable_user 
 
 mouse_motion_12clk_direction_dispose:
-5a5a 6fe14849 fetch 2 ,mem_mouse_y 
+5a5a 6fe14c03 fetch 2 ,mem_mouse_y 
 5a5b 1fe67e00 sub pdata ,0 ,pdata 
-5a5c 67e14849 store 2 ,mem_mouse_y 
+5a5c 67e14c03 store 2 ,mem_mouse_y 
 5a5d 20207dba branch enable_user 
 
 mouse_motion_9clk_direction_dispose:
-5a5e 6fe14849 fetch 2 ,mem_mouse_y 
+5a5e 6fe14c03 fetch 2 ,mem_mouse_y 
 5a5f 1fe67e00 sub pdata ,0 ,pdata 
-5a60 67e14849 store 2 ,mem_mouse_y 
-5a61 6fe14847 fetch 2 ,mem_mouse_x 
+5a60 67e14c03 store 2 ,mem_mouse_y 
+5a61 6fe14c01 fetch 2 ,mem_mouse_x 
 5a62 1fe67e00 sub pdata ,0 ,pdata 
-5a63 67e14847 store 2 ,mem_mouse_x 
+5a63 67e14c01 store 2 ,mem_mouse_x 
 5a64 20405a68 call mouse_sensor_data_swap_places 
 5a65 20207dba branch enable_user 
 
@@ -20608,20 +21301,20 @@
 5a67 20207dba branch enable_user 
 
 mouse_sensor_data_swap_places:
-5a68 6fe14849 fetch 2 ,mem_mouse_y 
-5a69 68494847 fetcht 2 ,mem_mouse_x 
-5a6a 67e14847 store 2 ,mem_mouse_x 
-5a6b 60494849 storet 2 ,mem_mouse_y 
+5a68 6fe14c03 fetch 2 ,mem_mouse_y 
+5a69 68494c01 fetcht 2 ,mem_mouse_x 
+5a6a 67e14c01 store 2 ,mem_mouse_x 
+5a6b 60494c03 storet 2 ,mem_mouse_y 
 5a6c 20600000 rtn 
 
 mouse_clear_sensor_data:
-5a6d 6fe0c860 fetch 1 ,mem_mouse_move_flag 
+5a6d 6fe0cc1a fetch 1 ,mem_mouse_move_flag 
 5a6e 205a5a84 call mouse_read_sensor_common ,blank 
-5a6f 70486001 jam 1 ,mem_mouse_move_flag 
+5a6f 704c1a01 jam 1 ,mem_mouse_move_flag 
 5a70 20600000 rtn 
 
 mouse_clear_sensor_data_by_reset:
-5a71 70495601 jam 1 ,mem_mouse_clear_sensor_data_flag 
+5a71 704d1001 jam 1 ,mem_mouse_clear_sensor_data_flag 
 5a72 204029c9 call le_set_config_more_data 
 
 mouse_init_sensor_reset:
@@ -20634,7 +21327,7 @@
 5a77 c1808000 rtnne 1 
 5a78 58000000 setarg 0 
 5a79 67e0c77d store 1 ,mem_mouse_long_mult_flag 
-5a7a 67e24847 store 4 ,mem_mouse_x 
+5a7a 67e24c01 store 4 ,mem_mouse_x 
 5a7b 20205a73 branch mouse_init_sensor_reset 
 
 mouse_data_extsign:
@@ -20652,10 +21345,10 @@
 mouse_read_sensor_common:
 5a84 dfe00003 arg pan_reg_delta_x ,pdata 
 5a85 204069e5 call twspi_read 
-5a86 67e14847 store 2 ,mem_mouse_x 
+5a86 67e14c01 store 2 ,mem_mouse_x 
 5a87 dfe00004 arg pan_reg_delta_y ,pdata 
 5a88 204069e5 call twspi_read 
-5a89 67e14849 store 2 ,mem_mouse_y 
+5a89 67e14c03 store 2 ,mem_mouse_y 
 5a8a 20600000 rtn 
 
 mouse_sensor_sdio_low:
@@ -20725,14 +21418,14 @@
 
 mouse_bluetooth_125hz:
 5ab4 24345aba nbranch mouse_bluetooth_125hz_clear ,user 
-5ab5 6fe0c959 fetch 1 ,mem_bluetooth_125hz_cnt 
+5ab5 6fe0cd13 fetch 1 ,mem_bluetooth_125hz_cnt 
 5ab6 1fe0fe01 increase 1 ,pdata 
 5ab7 1fe17e0f and_into 0x0f ,pdata 
-5ab8 67e0c959 store 1 ,mem_bluetooth_125hz_cnt 
+5ab8 67e0cd13 store 1 ,mem_bluetooth_125hz_cnt 
 5ab9 247a0000 nrtn blank 
 
 mouse_bluetooth_125hz_clear:
-5aba 70495900 jam 0 ,mem_bluetooth_125hz_cnt 
+5aba 704d1300 jam 0 ,mem_bluetooth_125hz_cnt 
 5abb 20207dbc branch disable_user 
 
 mouse_current_mult_update:
@@ -20792,7 +21485,7 @@
 5ae7 604942d3 storet 2 ,mem_le_interval_min 
 5ae8 604942d5 storet 2 ,mem_le_interval_min + 2 
 5ae9 7047c200 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
-5aea 70495600 jam 0 ,mem_mouse_clear_sensor_data_flag 
+5aea 704d1000 jam 0 ,mem_mouse_clear_sensor_data_flag 
 5aeb 204029cb call le_clr_config_more_data 
 5aec 20205b76 branch mouse_bb_disconnected 
 
@@ -20861,7 +21554,7 @@
 5b14 67e142d5 store 2 ,mem_le_interval_min + 2 
 5b15 6fe081a4 fetch 1 ,mem_le_new_connslavelatency 
 5b16 203a5b1d branch mouse_le_lpm_mult_reinit ,blank 
-5b17 6848c96b fetcht 1 ,mem_lpm_mult_init 
+5b17 6848cd25 fetcht 1 ,mem_lpm_mult_init 
 5b18 98467c00 isub temp ,null 
 5b19 20215b1d branch mouse_le_lpm_mult_reinit ,positive 
 5b1a 6fe081a4 fetch 1 ,mem_le_new_connslavelatency 
@@ -20869,7 +21562,7 @@
 5b1c 20205b1f branch mouse_le_conn_param_lpm_enable 
 
 mouse_le_lpm_mult_reinit:
-5b1d 6fe0c96b fetch 1 ,mem_lpm_mult_init 
+5b1d 6fe0cd25 fetch 1 ,mem_lpm_mult_init 
 5b1e 67e0c0c0 store 1 ,mem_lpm_mult 
 
 mouse_le_conn_param_lpm_enable:
@@ -20891,7 +21584,7 @@
 5b2a c1818000 rtnne 0x03 
 
 mouse_le_next:
-5b2b 6fe0c956 fetch 1 ,mem_mouse_clear_sensor_data_flag 
+5b2b 6fe0cd10 fetch 1 ,mem_mouse_clear_sensor_data_flag 
 5b2c 205a5a71 call mouse_clear_sensor_data_by_reset ,blank 
 5b2d 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5b2e c280db5b bbit1 mouse_24g_pairing_flag ,mouse_le_send_empty_packet 
@@ -20906,14 +21599,14 @@
 5b37 204056b1 call mouse_wheel_trigger 
 5b38 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5b39 c30b5b3c bbit0 mouse_enable_keyboard ,mouse_le_send_mouse_data 
-5b3a 6fe0c96c fetch 1 ,mem_customer_key 
+5b3a 6fe0cd26 fetch 1 ,mem_customer_key 
 5b3b c000db3d beq 1 ,mouse_le_send_keyboard_package_data 
 
 mouse_le_send_mouse_data:
 5b3c 20205b5d branch mouse_fill_mouse_data_le 
 
 mouse_le_send_keyboard_package_data:
-5b3d 6fe0c96d fetch 1 ,mem_customer_data_trigger 
+5b3d 6fe0cd27 fetch 1 ,mem_customer_data_trigger 
 5b3e 203a5b4d branch mouse_le_release_keyboard_data ,blank 
 5b3f 6fe4472b fetch 8 ,mem_customer_key_press + 1 
 
@@ -20958,11 +21651,11 @@
 
 mouse_le_send_empty_packet:
 5b5b 58000000 setarg 0 
-5b5c 67e3c846 store 7 ,mem_mouse_key 
+5b5c 67e3cc00 store 7 ,mem_mouse_key 
 
 mouse_fill_mouse_data_le:
 5b5d 7047b407 jam 7 ,mem_le_data_len 
-5b5e 6fe3c846 fetch 7 ,mem_mouse_key 
+5b5e 6fe3cc00 fetch 7 ,mem_mouse_key 
 5b5f 67e38670 store 7 ,mem_pdatatemp 
 5b60 6849439b fetcht 2 ,mem_le_notify_handle 
 5b61 20205b46 branch mouse_fill_data_le 
@@ -21004,9 +21697,9 @@
 
 mouse_bb_discon_clear_stack:
 5b7b 58000000 setarg 0 
-5b7c 67e4484f store 8 ,mem_wheel_tb_old_pinlevel 
+5b7c 67e44c09 store 8 ,mem_wheel_tb_old_pinlevel 
 5b7d e7e20005 istore 4 ,contw 
-5b7e 70486000 jam 0 ,mem_mouse_move_flag 
+5b7e 704c1a00 jam 0 ,mem_mouse_move_flag 
 5b7f 70429a00 jam 0 ,mem_ltk_exists 
 5b80 20600000 rtn 
 
@@ -21046,9 +21739,9 @@
 5b9d 20600000 rtn 
 
 mouse_bt_discovery_by_pb_button:
-5b9e 6fe0c97f fetch 1 ,mem_select_device_button_statue 
+5b9e 6fe0cd39 fetch 1 ,mem_select_device_button_statue 
 5b9f c1808000 rtnne pb_button_state_down 
-5ba0 da60497c arg mem_bt_discovery_count ,regc 
+5ba0 da604d36 arg mem_bt_discovery_count ,regc 
 5ba1 da405ba3 arg mouse_long_button_bt_discovery ,regb 
 5ba2 202042e0 branch timer_single_step 
 
@@ -21076,36 +21769,36 @@
 5bb3 6848c728 fetcht 1 ,mem_mouse_commbination_key_24g 
 
 mouse_commbination_key_start:
-5bb4 6048c97e storet 1 ,mem_mouse_commbination_key 
+5bb4 6048cd38 storet 1 ,mem_mouse_commbination_key 
 5bb5 20405888 call mouse_check_key_gpio 
 5bb6 1fe17e07 and pdata ,0x07 ,pdata 
-5bb7 6848c97e fetcht 1 ,mem_mouse_commbination_key 
+5bb7 6848cd38 fetcht 1 ,mem_mouse_commbination_key 
 5bb8 98467c00 isub temp ,null 
 5bb9 2022dbc0 branch mouse_commbination_key_down ,zero 
 
 mouse_commbination_key_up:
 5bba 6fe0c4eb fetch 1 ,mem_ui_button_timeout 
-5bbb 67e0c981 store 1 ,mem_combination_ui_button_count 
-5bbc 6fe0c980 fetch 1 ,mem_commbination_key_statue 
+5bbb 67e0cd3b store 1 ,mem_combination_ui_button_count 
+5bbc 6fe0cd3a fetch 1 ,mem_commbination_key_statue 
 5bbd c1000000 rtneq commbination_key_state_up 
-5bbe 70498000 jam commbination_key_state_up ,mem_commbination_key_statue 
+5bbe 704d3a00 jam commbination_key_state_up ,mem_commbination_key_statue 
 5bbf 20600000 rtn 
 
 mouse_commbination_key_down:
 5bc0 20405bc5 call mouse_combination_ui_timer 
-5bc1 6fe0c980 fetch 1 ,mem_commbination_key_statue 
+5bc1 6fe0cd3a fetch 1 ,mem_commbination_key_statue 
 5bc2 c1008000 rtneq commbination_key_state_down 
-5bc3 70498001 jam commbination_key_state_down ,mem_commbination_key_statue 
+5bc3 704d3a01 jam commbination_key_state_down ,mem_commbination_key_statue 
 5bc4 20600000 rtn 
 
 mouse_combination_ui_timer:
 5bc5 da406047 arg mouse_24g_start_pair_mode ,regb 
-5bc6 da604981 arg mem_combination_ui_button_count ,regc 
+5bc6 da604d3b arg mem_combination_ui_button_count ,regc 
 5bc7 6fe0c666 fetch 1 ,mem_device_flag 
 5bc8 c00042e0 beq mode_24g_device ,timer_single_step 
 5bc9 da405ba3 arg mouse_long_button_bt_discovery ,regb 
 5bca 204042e0 call timer_single_step 
-5bcb 6fe0c981 fetch 1 ,mem_combination_ui_button_count 
+5bcb 6fe0cd3b fetch 1 ,mem_combination_ui_button_count 
 5bcc c000def2 beq 1 ,mouse_bt_discovery_button_down_enable 
 5bcd 20600000 rtn 
 
@@ -21185,7 +21878,7 @@
 5c00 202042e0 branch timer_single_step 
 
 mouse_current_mult_reinit:
-5c01 6fe0c96b fetch 1 ,mem_lpm_mult_init 
+5c01 6fe0cd25 fetch 1 ,mem_lpm_mult_init 
 5c02 67e0c0c0 store 1 ,mem_lpm_mult 
 5c03 70477d01 jam 1 ,mem_mouse_long_mult_flag 
 5c04 20600000 rtn 
@@ -21252,7 +21945,7 @@
 5c31 67e147c0 store 2 ,mem_le_battery_level_updata_timer 
 5c32 67e0c845 store 1 ,mem_mouse_direct_timer 
 5c33 67e0c792 store 1 ,mem_mouse_bluetooth_reconnect_timeout 
-5c34 67e0c956 store 1 ,mem_mouse_clear_sensor_data_flag 
+5c34 67e0cd10 store 1 ,mem_mouse_clear_sensor_data_flag 
 5c35 d8e00002 arg mouse_store_eeprom_flag ,queue 
 5c36 20405f00 call mouse_enable_function_flag 
 5c37 20405ef4 call mouse_bt_discovery_button_down_disable 
@@ -21289,12 +21982,12 @@
 5c4c 20600000 rtn 
 
 mouse_check_le_device_addr:
-5c4d 67e0c95a store 1 ,mem_device_addr_temp 
+5c4d 67e0cd14 store 1 ,mem_device_addr_temp 
 5c4e 6fe30178 fetch 6 ,mem_le_plap 
 
 mouse_check_bt_device_addr_common:
-5c4f 67e3495b store 6 ,mem_device_addr_temp + 1 
-5c50 6fe3c95a fetch 7 ,mem_device_addr_temp 
+5c4f 67e34d15 store 6 ,mem_device_addr_temp + 1 
+5c50 6fe3cd14 fetch 7 ,mem_device_addr_temp 
 5c51 d8c04667 arg mem_device1_type ,contr 
 5c52 df200003 arg 3 ,loopcnt 
 
@@ -21329,7 +22022,7 @@
 mouse_clean_addr:
 5c69 18c08dfa increase -6 ,contr 
 5c6a 18c20a00 copy contr ,contw 
-5c6b 684b495b fetcht 6 ,mem_device_addr_temp + 1 
+5c6b 684b4d15 fetcht 6 ,mem_device_addr_temp + 1 
 5c6c 18408403 increase 3 ,temp 
 5c6d e0430005 istoret 6 ,contw 
 5c6e 20600000 rtn 
@@ -21367,7 +22060,7 @@
 mouse_app_initflag_check_next:
 5c85 6049468e storet 2 ,mem_store_flag 
 5c86 20405c9c call mouse_ble_init_address 
-5c87 6fe0c9a1 fetch 1 ,mem_device_flag_temp 
+5c87 6fe0cd5b fetch 1 ,mem_device_flag_temp 
 5c88 67e0c666 store 1 ,mem_device_flag 
 5c89 6fe245e4 fetch 4 ,mem_24g_fast_conn_addr 
 5c8a 67e245e8 store 4 ,mem_24g_receiver_addr 
@@ -21388,10 +22081,10 @@
 mouse_otp_load_dpi:
 5c94 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5c95 c4078000 rtnbit0 mouse_enable_load_and_store_dpi 
-5c96 6fe149fa fetch 2 ,mem_otp_offset_dpi 
+5c96 6fe14db4 fetch 2 ,mem_otp_offset_dpi 
 5c97 1fe22400 copy pdata ,regb 
 5c98 20405e51 call mouse_read_otp_dpi_common 
-5c99 6fe0c9d4 fetch 1 ,mem_mouse_dpi_temp 
+5c99 6fe0cd8e fetch 1 ,mem_mouse_dpi_temp 
 5c9a 205a5c8c call mouse_load_default_dpi ,blank 
 5c9b 20600000 rtn 
 
@@ -21451,44 +22144,44 @@
 5cc2 20205d26 branch mouse_write_otp_le_addr_increase_count_info 
 
 mouse_write_otp_device_flag:
-5cc3 6a4149e2 fetchr regb ,2 ,mem_otp_offset_device_flag 
+5cc3 6a414d9c fetchr regb ,2 ,mem_otp_offset_device_flag 
 5cc4 1a422600 copy regb ,regc 
 
 mouse_write_otp_device_flag_loop:
 5cc5 20405dc0 call mouse_read_otp_device_flag_common 
-5cc6 6fe0c9a1 fetch 1 ,mem_device_flag_temp 
+5cc6 6fe0cd5b fetch 1 ,mem_device_flag_temp 
 5cc7 203a5ccf branch mouse_device_flag_store ,blank 
-5cc8 67e0c9a0 store 1 ,mem_device_flag_last 
+5cc8 67e0cd5a store 1 ,mem_device_flag_last 
 5cc9 1a60a601 increase 1 ,regc 
-5cca 6fe149e4 fetch 2 ,mem_otp_offset_device_flag_end 
+5cca 6fe14d9e fetch 2 ,mem_otp_offset_device_flag_end 
 5ccb 9a667c00 isub regc ,null 
 5ccc 24610000 nrtn positive 
 5ccd 1a622400 copy regc ,regb 
 5cce 20205cc5 branch mouse_write_otp_device_flag_loop 
 
 mouse_device_flag_store:
-5ccf 6fe0c9a0 fetch 1 ,mem_device_flag_last 
+5ccf 6fe0cd5a fetch 1 ,mem_device_flag_last 
 5cd0 1fe17ef0 and pdata ,0xf0 ,pdata 
 5cd1 203a5cd8 branch mouse_device_flag_store_check ,blank 
 5cd2 6fe0c666 fetch 1 ,mem_device_flag 
-5cd3 67e0c9a2 store 1 ,mem_device_flag_value 
+5cd3 67e0cd5c store 1 ,mem_device_flag_value 
 
 mouse_devoce_flag_store_end:
 5cd4 df200001 arg 1 ,loopcnt 
 5cd5 1a622400 copy regc ,regb 
-5cd6 da2049a2 arg mem_device_flag_value ,rega 
+5cd6 da204d5c arg mem_device_flag_value ,rega 
 5cd7 20206b45 branch otp_write 
 
 mouse_device_flag_store_check:
-5cd8 6fe0c9a0 fetch 1 ,mem_device_flag_last 
+5cd8 6fe0cd5a fetch 1 ,mem_device_flag_last 
 5cd9 6848c666 fetcht 1 ,mem_device_flag 
 5cda 98467c00 isub temp ,null 
 5cdb 20628000 rtn zero 
 5cdc 18520400 lshift4 temp ,temp 
 5cdd 9840fe00 iadd temp ,pdata 
-5cde 67e0c9a2 store 1 ,mem_device_flag_value 
+5cde 67e0cd5c store 1 ,mem_device_flag_value 
 5cdf 1a627e00 copy regc ,pdata 
-5ce0 684949e2 fetcht 2 ,mem_otp_offset_device_flag 
+5ce0 68494d9c fetcht 2 ,mem_otp_offset_device_flag 
 5ce1 98467c00 isub temp ,null 
 5ce2 2022dcd4 branch mouse_devoce_flag_store_end ,zero 
 5ce3 1a60a7ff increase -1 ,regc 
@@ -21502,23 +22195,23 @@
 5ce9 20600000 rtn 
 
 mouse_write_otp_24g_addr:
-5cea 6a4149e6 fetchr regb ,2 ,mem_otp_offset_24g_addr 
+5cea 6a414da0 fetchr regb ,2 ,mem_otp_offset_24g_addr 
 5ceb 1a422600 copy regb ,regc 
 
 mouse_otp_store_24g_addr_loop:
 5cec 20405e29 call mouse_read_otp_24g_addr_common 
-5ced 6fe249da fetch 4 ,mem_mouse_24g_addr_temp 
+5ced 6fe24d94 fetch 4 ,mem_mouse_24g_addr_temp 
 5cee 203a5cf6 branch mouse_24g_addr_store ,blank 
-5cef 67e249d6 store 4 ,mem_mouse_24g_addr_last 
+5cef 67e24d90 store 4 ,mem_mouse_24g_addr_last 
 5cf0 1a60a604 increase 4 ,regc 
-5cf1 6fe149e8 fetch 2 ,mem_otp_offset_24g_addr_end 
+5cf1 6fe14da2 fetch 2 ,mem_otp_offset_24g_addr_end 
 5cf2 9a667c00 isub regc ,null 
 5cf3 24610000 nrtn positive 
 5cf4 1a622400 copy regc ,regb 
 5cf5 20205cec branch mouse_otp_store_24g_addr_loop 
 
 mouse_24g_addr_store:
-5cf6 6fe249d6 fetch 4 ,mem_mouse_24g_addr_last 
+5cf6 6fe24d90 fetch 4 ,mem_mouse_24g_addr_last 
 5cf7 684a4691 fetcht 4 ,mem_mouse_24g_addr 
 5cf8 98467c00 isub temp ,null 
 5cf9 20628000 rtn zero 
@@ -21528,23 +22221,23 @@
 5cfd 20206b45 branch otp_write 
 
 mouse_write_otp_le_device1:
-5cfe 6a4149ea fetchr regb ,2 ,mem_otp_offset_le_addr1 
+5cfe 6a414da4 fetchr regb ,2 ,mem_otp_offset_le_addr1 
 5cff 1a422600 copy regb ,regc 
 
 mouse_otp_store_le_addr1_loop:
 5d00 20405de1 call mouse_read_otp_le_addr1_common 
-5d01 6fe349a9 fetch 6 ,mem_mouse_le_addr1_temp 
+5d01 6fe34d63 fetch 6 ,mem_mouse_le_addr1_temp 
 5d02 203a5d0a branch mouse_le_addr1_store ,blank 
-5d03 67e349a3 store 6 ,mem_mouse_le_addr1_last 
+5d03 67e34d5d store 6 ,mem_mouse_le_addr1_last 
 5d04 1a60a606 increase 6 ,regc 
-5d05 6fe149ec fetch 2 ,mem_otp_offset_le_addr1_end 
+5d05 6fe14da6 fetch 2 ,mem_otp_offset_le_addr1_end 
 5d06 9a667c00 isub regc ,null 
 5d07 24610000 nrtn positive 
 5d08 1a622400 copy regc ,regb 
 5d09 20205d00 branch mouse_otp_store_le_addr1_loop 
 
 mouse_le_addr1_store:
-5d0a 6fe349a3 fetch 6 ,mem_mouse_le_addr1_last 
+5d0a 6fe34d5d fetch 6 ,mem_mouse_le_addr1_last 
 5d0b 684b4668 fetcht 6 ,mem_device1_addr 
 5d0c 98467c00 isub temp ,null 
 5d0d 20628000 rtn zero 
@@ -21554,23 +22247,23 @@
 5d11 20206b45 branch otp_write 
 
 mouse_write_otp_le_device2:
-5d12 6a4149f2 fetchr regb ,2 ,mem_otp_offset_le_addr2 
+5d12 6a414dac fetchr regb ,2 ,mem_otp_offset_le_addr2 
 5d13 1a422600 copy regb ,regc 
 
 mouse_otp_store_le_addr2_loop:
 5d14 20405e05 call mouse_read_otp_le_addr2_common 
-5d15 6fe349c1 fetch 6 ,mem_mouse_le_addr2_temp 
+5d15 6fe34d7b fetch 6 ,mem_mouse_le_addr2_temp 
 5d16 203a5d1e branch mouse_le_addr2_store ,blank 
-5d17 67e349bb store 6 ,mem_mouse_le_addr2_last 
+5d17 67e34d75 store 6 ,mem_mouse_le_addr2_last 
 5d18 1a60a606 increase 6 ,regc 
-5d19 6fe149f4 fetch 2 ,mem_otp_offset_le_addr2_end 
+5d19 6fe14dae fetch 2 ,mem_otp_offset_le_addr2_end 
 5d1a 9a667c00 isub regc ,null 
 5d1b 24610000 nrtn positive 
 5d1c 1a622400 copy regc ,regb 
 5d1d 20205d14 branch mouse_otp_store_le_addr2_loop 
 
 mouse_le_addr2_store:
-5d1e 6fe349bb fetch 6 ,mem_mouse_le_addr2_last 
+5d1e 6fe34d75 fetch 6 ,mem_mouse_le_addr2_last 
 5d1f 684b4675 fetcht 6 ,mem_device2_addr 
 5d20 98467c00 isub temp ,null 
 5d21 20628000 rtn zero 
@@ -21582,23 +22275,23 @@
 mouse_write_otp_le_addr_increase_count_info:
 5d26 6fe0c666 fetch 1 ,mem_device_flag 
 5d27 c1000000 rtneq mode_24g_device 
-5d28 6a4149fe fetchr regb ,2 ,mem_otp_offset_le_addr_increase_count 
+5d28 6a414db8 fetchr regb ,2 ,mem_otp_offset_le_addr_increase_count 
 5d29 1a422600 copy regb ,regc 
 
 mouse_otp_store_le_addr_increase_count_loop:
 5d2a 20405e3d call mouse_read_otp_le_addr_increase_count_common 
-5d2b 6fe149e0 fetch 2 ,mem_random_addr_increase_count_temp 
+5d2b 6fe14d9a fetch 2 ,mem_random_addr_increase_count_temp 
 5d2c 203a5d34 branch mouse_le_addr_increase_count_store ,blank 
-5d2d 67e149de store 2 ,mem_random_addr_increase_count_last 
+5d2d 67e14d98 store 2 ,mem_random_addr_increase_count_last 
 5d2e 1a60a602 increase 2 ,regc 
-5d2f 6fe14a00 fetch 2 ,mem_otp_offset_le_addr_increase_count_end 
+5d2f 6fe14dba fetch 2 ,mem_otp_offset_le_addr_increase_count_end 
 5d30 9a667c00 isub regc ,null 
 5d31 24610000 nrtn positive 
 5d32 1a622400 copy regc ,regb 
 5d33 20205d2a branch mouse_otp_store_le_addr_increase_count_loop 
 
 mouse_le_addr_increase_count_store:
-5d34 6fe149de fetch 2 ,mem_random_addr_increase_count_last 
+5d34 6fe14d98 fetch 2 ,mem_random_addr_increase_count_last 
 5d35 68494695 fetcht 2 ,mem_random_addr_increase_count 
 5d36 98467c00 isub temp ,null 
 5d37 20628000 rtn zero 
@@ -21610,46 +22303,46 @@
 mouse_store_otp_dpi:
 5d3c 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5d3d c4078000 rtnbit0 mouse_enable_load_and_store_dpi 
-5d3e 6a4149fa fetchr regb ,2 ,mem_otp_offset_dpi 
+5d3e 6a414db4 fetchr regb ,2 ,mem_otp_offset_dpi 
 5d3f 1a422600 copy regb ,regc 
 
 mouse_otp_store_dpi_loop:
 5d40 20405e51 call mouse_read_otp_dpi_common 
-5d41 6fe0c9d4 fetch 1 ,mem_mouse_dpi_temp 
+5d41 6fe0cd8e fetch 1 ,mem_mouse_dpi_temp 
 5d42 203a5d4a branch mouse_otp_dpi_store ,blank 
-5d43 67e0c9d3 store 1 ,mem_mouse_dpi_last 
+5d43 67e0cd8d store 1 ,mem_mouse_dpi_last 
 5d44 1a60a601 increase 1 ,regc 
-5d45 6fe149fc fetch 2 ,mem_otp_offset_dpi_end 
+5d45 6fe14db6 fetch 2 ,mem_otp_offset_dpi_end 
 5d46 9a667c00 isub regc ,null 
 5d47 24610000 nrtn positive 
 5d48 1a622400 copy regc ,regb 
 5d49 20205d40 branch mouse_otp_store_dpi_loop 
 
 mouse_otp_dpi_store:
-5d4a 6fe0c9d3 fetch 1 ,mem_mouse_dpi_last 
+5d4a 6fe0cd8d fetch 1 ,mem_mouse_dpi_last 
 5d4b 1fe17ef0 and pdata ,0xf0 ,pdata 
 5d4c 203a5d53 branch mouse_dpi_store_last ,blank 
 5d4d 6fe0c690 fetch 1 ,mem_mouse_dpi 
-5d4e 67e0c9d5 store 1 ,mem_mouse_otp_dpi_value 
+5d4e 67e0cd8f store 1 ,mem_mouse_otp_dpi_value 
 
 mouse_dpi_store_end:
 5d4f df200001 arg 1 ,loopcnt 
 5d50 1a622400 copy regc ,regb 
-5d51 da2049d5 arg mem_mouse_otp_dpi_value ,rega 
+5d51 da204d8f arg mem_mouse_otp_dpi_value ,rega 
 5d52 20206b45 branch otp_write 
 
 mouse_dpi_store_last:
-5d53 6fe0c9d3 fetch 1 ,mem_mouse_dpi_last 
+5d53 6fe0cd8d fetch 1 ,mem_mouse_dpi_last 
 5d54 6848c690 fetcht 1 ,mem_mouse_dpi 
 5d55 98467c00 isub temp ,null 
 5d56 20628000 rtn zero 
 5d57 18520400 lshift4 temp ,temp 
 5d58 9840fe00 iadd temp ,pdata 
-5d59 67e0c9d5 store 1 ,mem_mouse_otp_dpi_value 
+5d59 67e0cd8f store 1 ,mem_mouse_otp_dpi_value 
 
 mouse_dpi_store_last_end:
 5d5a 1a627e00 copy regc ,pdata 
-5d5b 684949fa fetcht 2 ,mem_otp_offset_dpi 
+5d5b 68494db4 fetcht 2 ,mem_otp_offset_dpi 
 5d5c 98467c00 isub temp ,null 
 5d5d 2022dd4f branch mouse_dpi_store_end ,zero 
 5d5e 1a60a7ff increase -1 ,regc 
@@ -21757,7 +22450,7 @@
 
 mouse_otp_load_app_initflag:
 5daa df200002 arg 2 ,loopcnt 
-5dab 6fe14a02 fetch 2 ,mem_otp_offset_app_initflag 
+5dab 6fe14dbc fetch 2 ,mem_otp_offset_app_initflag 
 5dac 1fe22400 copy pdata ,regb 
 5dad da20468e arg mem_store_flag ,rega 
 5dae 20406b74 call otp_read_data 
@@ -21766,20 +22459,20 @@
 mouse_otp_store_app_initflag:
 5db0 df200002 arg 2 ,loopcnt 
 5db1 da20468e arg mem_store_flag ,rega 
-5db2 6a414a02 fetchr regb ,2 ,mem_otp_offset_app_initflag 
+5db2 6a414dbc fetchr regb ,2 ,mem_otp_offset_app_initflag 
 5db3 20206b45 branch otp_write 
 
 mouse_read_otp_device_flag:
-5db4 6a4149e2 fetchr regb ,2 ,mem_otp_offset_device_flag 
+5db4 6a414d9c fetchr regb ,2 ,mem_otp_offset_device_flag 
 5db5 1a422600 copy regb ,regc 
 
 mouse_read_otp_device_flag_loop:
 5db6 20405dc0 call mouse_read_otp_device_flag_common 
-5db7 6fe0c9a1 fetch 1 ,mem_device_flag_temp 
+5db7 6fe0cd5b fetch 1 ,mem_device_flag_temp 
 5db8 203a5dc3 branch mouse_device_flag_load ,blank 
-5db9 67e0c9a0 store 1 ,mem_device_flag_last 
+5db9 67e0cd5a store 1 ,mem_device_flag_last 
 5dba 1a60a601 increase 1 ,regc 
-5dbb 6fe149e4 fetch 2 ,mem_otp_offset_device_flag_end 
+5dbb 6fe14d9e fetch 2 ,mem_otp_offset_device_flag_end 
 5dbc 9a667c00 isub regc ,null 
 5dbd 24215dc3 nbranch mouse_device_flag_load ,positive 
 5dbe 1a622400 copy regc ,regb 
@@ -21787,11 +22480,11 @@
 
 mouse_read_otp_device_flag_common:
 5dc0 df200001 arg 1 ,loopcnt 
-5dc1 da2049a1 arg mem_device_flag_temp ,rega 
+5dc1 da204d5b arg mem_device_flag_temp ,rega 
 5dc2 20206b74 branch otp_read_data 
 
 mouse_device_flag_load:
-5dc3 6fe0c9a0 fetch 1 ,mem_device_flag_last 
+5dc3 6fe0cd5a fetch 1 ,mem_device_flag_last 
 5dc4 1fe20400 copy pdata ,temp 
 5dc5 1fe17ef0 and pdata ,0xf0 ,pdata 
 5dc6 203a5dc9 branch mouse_device_flag_load_last ,blank 
@@ -21821,16 +22514,16 @@
 5dd4 20205e0b branch mouse_read_otp_le_device2_locall_addr 
 
 mouse_read_otp_le_device1_addr:
-5dd5 6a4149ea fetchr regb ,2 ,mem_otp_offset_le_addr1 
+5dd5 6a414da4 fetchr regb ,2 ,mem_otp_offset_le_addr1 
 5dd6 1a422600 copy regb ,regc 
 
 mouse_read_otp_le_device1_addr_loop:
 5dd7 20405de1 call mouse_read_otp_le_addr1_common 
-5dd8 6fe349a9 fetch 6 ,mem_mouse_le_addr1_temp 
+5dd8 6fe34d63 fetch 6 ,mem_mouse_le_addr1_temp 
 5dd9 203a5de4 branch mouse_le_addr1_load ,blank 
-5dda 67e349a3 store 6 ,mem_mouse_le_addr1_last 
+5dda 67e34d5d store 6 ,mem_mouse_le_addr1_last 
 5ddb 1a60a606 increase 6 ,regc 
-5ddc 6fe149ec fetch 2 ,mem_otp_offset_le_addr1_end 
+5ddc 6fe14da6 fetch 2 ,mem_otp_offset_le_addr1_end 
 5ddd 9a667c00 isub regc ,null 
 5dde 24215de4 nbranch mouse_le_addr1_load ,positive 
 5ddf 1a622400 copy regc ,regb 
@@ -21838,25 +22531,25 @@
 
 mouse_read_otp_le_addr1_common:
 5de1 df200006 arg 6 ,loopcnt 
-5de2 da2049a9 arg mem_mouse_le_addr1_temp ,rega 
+5de2 da204d63 arg mem_mouse_le_addr1_temp ,rega 
 5de3 20206b74 branch otp_read_data 
 
 mouse_le_addr1_load:
-5de4 6fe349a3 fetch 6 ,mem_mouse_le_addr1_last 
+5de4 6fe34d5d fetch 6 ,mem_mouse_le_addr1_last 
 5de5 67e34668 store 6 ,mem_device1_addr 
 5de6 20600000 rtn 
 
 mouse_read_otp_le_device1_locall_addr:
-5de7 6a4149ee fetchr regb ,2 ,mem_otp_offset_le_locall_addr1 
+5de7 6a414da8 fetchr regb ,2 ,mem_otp_offset_le_locall_addr1 
 5de8 1a422600 copy regb ,regc 
 
 mouse_read_otp_le_device1_locall_addr_loop:
 5de9 20405df3 call mouse_read_otp_le_locall_addr1_common 
-5dea 6fe349b5 fetch 6 ,mem_mouse_le_locall_addr1_temp 
+5dea 6fe34d6f fetch 6 ,mem_mouse_le_locall_addr1_temp 
 5deb 203a5df6 branch mouse_le_locall_addr1_load ,blank 
-5dec 67e349af store 6 ,mem_mouse_le_locall_addr1_last 
+5dec 67e34d69 store 6 ,mem_mouse_le_locall_addr1_last 
 5ded 1a60a606 increase 6 ,regc 
-5dee 6fe149f0 fetch 2 ,mem_otp_offset_le_locall_addr1_end 
+5dee 6fe14daa fetch 2 ,mem_otp_offset_le_locall_addr1_end 
 5def 9a667c00 isub regc ,null 
 5df0 24215df6 nbranch mouse_le_locall_addr1_load ,positive 
 5df1 1a622400 copy regc ,regb 
@@ -21864,25 +22557,25 @@
 
 mouse_read_otp_le_locall_addr1_common:
 5df3 df200006 arg 6 ,loopcnt 
-5df4 da2049b5 arg mem_mouse_le_locall_addr1_temp ,rega 
+5df4 da204d6f arg mem_mouse_le_locall_addr1_temp ,rega 
 5df5 20206b74 branch otp_read_data 
 
 mouse_le_locall_addr1_load:
-5df6 6fe349af fetch 6 ,mem_mouse_le_locall_addr1_last 
+5df6 6fe34d69 fetch 6 ,mem_mouse_le_locall_addr1_last 
 5df7 67e3466e store 6 ,mem_device1_locall_addr 
 5df8 20600000 rtn 
 
 mouse_read_otp_le_device2_addr:
-5df9 6a4149f2 fetchr regb ,2 ,mem_otp_offset_le_addr2 
+5df9 6a414dac fetchr regb ,2 ,mem_otp_offset_le_addr2 
 5dfa 1a422600 copy regb ,regc 
 
 mouse_read_otp_le_device2_addr_loop:
 5dfb 20405e05 call mouse_read_otp_le_addr2_common 
-5dfc 6fe349c1 fetch 6 ,mem_mouse_le_addr2_temp 
+5dfc 6fe34d7b fetch 6 ,mem_mouse_le_addr2_temp 
 5dfd 203a5e08 branch mouse_le_addr2_load ,blank 
-5dfe 67e349bb store 6 ,mem_mouse_le_addr2_last 
+5dfe 67e34d75 store 6 ,mem_mouse_le_addr2_last 
 5dff 1a60a606 increase 6 ,regc 
-5e00 6fe149f4 fetch 2 ,mem_otp_offset_le_addr2_end 
+5e00 6fe14dae fetch 2 ,mem_otp_offset_le_addr2_end 
 5e01 9a667c00 isub regc ,null 
 5e02 24215e08 nbranch mouse_le_addr2_load ,positive 
 5e03 1a622400 copy regc ,regb 
@@ -21890,25 +22583,25 @@
 
 mouse_read_otp_le_addr2_common:
 5e05 df200006 arg 6 ,loopcnt 
-5e06 da2049c1 arg mem_mouse_le_addr2_temp ,rega 
+5e06 da204d7b arg mem_mouse_le_addr2_temp ,rega 
 5e07 20206b74 branch otp_read_data 
 
 mouse_le_addr2_load:
-5e08 6fe349bb fetch 6 ,mem_mouse_le_addr2_last 
+5e08 6fe34d75 fetch 6 ,mem_mouse_le_addr2_last 
 5e09 67e34675 store 6 ,mem_device2_addr 
 5e0a 20600000 rtn 
 
 mouse_read_otp_le_device2_locall_addr:
-5e0b 6a4149f6 fetchr regb ,2 ,mem_otp_offset_le_locall_addr2 
+5e0b 6a414db0 fetchr regb ,2 ,mem_otp_offset_le_locall_addr2 
 5e0c 1a422600 copy regb ,regc 
 
 mouse_read_otp_le_device2_locall_addr_loop:
 5e0d 20405e17 call mouse_read_otp_le_locall_addr2_common 
-5e0e 6fe349cd fetch 6 ,mem_mouse_le_locall_addr2_temp 
+5e0e 6fe34d87 fetch 6 ,mem_mouse_le_locall_addr2_temp 
 5e0f 203a5e1a branch mouse_le_locall_addr2_load ,blank 
-5e10 67e349c7 store 6 ,mem_mouse_le_locall_addr2_last 
+5e10 67e34d81 store 6 ,mem_mouse_le_locall_addr2_last 
 5e11 1a60a606 increase 6 ,regc 
-5e12 6fe149f8 fetch 2 ,mem_otp_offset_le_locall_addr2_end 
+5e12 6fe14db2 fetch 2 ,mem_otp_offset_le_locall_addr2_end 
 5e13 9a667c00 isub regc ,null 
 5e14 24215e1a nbranch mouse_le_locall_addr2_load ,positive 
 5e15 1a622400 copy regc ,regb 
@@ -21916,25 +22609,25 @@
 
 mouse_read_otp_le_locall_addr2_common:
 5e17 df200006 arg 6 ,loopcnt 
-5e18 da2049cd arg mem_mouse_le_locall_addr2_temp ,rega 
+5e18 da204d87 arg mem_mouse_le_locall_addr2_temp ,rega 
 5e19 20206b74 branch otp_read_data 
 
 mouse_le_locall_addr2_load:
-5e1a 6fe349c7 fetch 6 ,mem_mouse_le_locall_addr2_last 
+5e1a 6fe34d81 fetch 6 ,mem_mouse_le_locall_addr2_last 
 5e1b 67e3467b store 6 ,mem_device2_locall_addr 
 5e1c 20600000 rtn 
 
 mouse_read_otp_24g_addr:
-5e1d 6a4149e6 fetchr regb ,2 ,mem_otp_offset_24g_addr 
+5e1d 6a414da0 fetchr regb ,2 ,mem_otp_offset_24g_addr 
 5e1e 1a422600 copy regb ,regc 
 
 mouse_read_otp_24g_addr_loop:
 5e1f 20405e29 call mouse_read_otp_24g_addr_common 
-5e20 6fe249da fetch 4 ,mem_mouse_24g_addr_temp 
+5e20 6fe24d94 fetch 4 ,mem_mouse_24g_addr_temp 
 5e21 203a5e2c branch mouse_24g_addr_load ,blank 
-5e22 67e249d6 store 4 ,mem_mouse_24g_addr_last 
+5e22 67e24d90 store 4 ,mem_mouse_24g_addr_last 
 5e23 1a60a604 increase 4 ,regc 
-5e24 6fe149e8 fetch 2 ,mem_otp_offset_24g_addr_end 
+5e24 6fe14da2 fetch 2 ,mem_otp_offset_24g_addr_end 
 5e25 9a667c00 isub regc ,null 
 5e26 24215e2c nbranch mouse_24g_addr_load ,positive 
 5e27 1a622400 copy regc ,regb 
@@ -21942,27 +22635,27 @@
 
 mouse_read_otp_24g_addr_common:
 5e29 df200004 arg 4 ,loopcnt 
-5e2a da2049da arg mem_mouse_24g_addr_temp ,rega 
+5e2a da204d94 arg mem_mouse_24g_addr_temp ,rega 
 5e2b 20206b74 branch otp_read_data 
 
 mouse_24g_addr_load:
-5e2c 6fe249d6 fetch 4 ,mem_mouse_24g_addr_last 
+5e2c 6fe24d90 fetch 4 ,mem_mouse_24g_addr_last 
 5e2d 67e24691 store 4 ,mem_mouse_24g_addr 
 5e2e 20600000 rtn 
 
 mouse_read_otp_le_addr_increase_count_info:
 5e2f 6fe0c666 fetch 1 ,mem_device_flag 
 5e30 c1000000 rtneq mode_24g_device 
-5e31 6a4149fe fetchr regb ,2 ,mem_otp_offset_le_addr_increase_count 
+5e31 6a414db8 fetchr regb ,2 ,mem_otp_offset_le_addr_increase_count 
 5e32 1a422600 copy regb ,regc 
 
 mouse_read_otp_le_addr_increase_count_loop:
 5e33 20405e3d call mouse_read_otp_le_addr_increase_count_common 
-5e34 6fe149e0 fetch 2 ,mem_random_addr_increase_count_temp 
+5e34 6fe14d9a fetch 2 ,mem_random_addr_increase_count_temp 
 5e35 203a5e40 branch mouse_le_addr_increase_count_load ,blank 
-5e36 67e149de store 2 ,mem_random_addr_increase_count_last 
+5e36 67e14d98 store 2 ,mem_random_addr_increase_count_last 
 5e37 1a60a602 increase 2 ,regc 
-5e38 6fe14a00 fetch 2 ,mem_otp_offset_le_addr_increase_count_end 
+5e38 6fe14dba fetch 2 ,mem_otp_offset_le_addr_increase_count_end 
 5e39 9a667c00 isub regc ,null 
 5e3a 24215e40 nbranch mouse_le_addr_increase_count_load ,positive 
 5e3b 1a622400 copy regc ,regb 
@@ -21970,11 +22663,11 @@
 
 mouse_read_otp_le_addr_increase_count_common:
 5e3d df200002 arg 2 ,loopcnt 
-5e3e da2049e0 arg mem_random_addr_increase_count_temp ,rega 
+5e3e da204d9a arg mem_random_addr_increase_count_temp ,rega 
 5e3f 20206b74 branch otp_read_data 
 
 mouse_le_addr_increase_count_load:
-5e40 6fe149e0 fetch 2 ,mem_random_addr_increase_count_temp 
+5e40 6fe14d9a fetch 2 ,mem_random_addr_increase_count_temp 
 
 mouse_le_addr_increase_store:
 5e41 67e14695 store 2 ,mem_random_addr_increase_count 
@@ -21983,16 +22676,16 @@
 mouse_read_otp_dpi:
 5e43 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5e44 c307dc8c bbit0 mouse_enable_load_and_store_dpi ,mouse_load_default_dpi 
-5e45 6a4149fa fetchr regb ,2 ,mem_otp_offset_dpi 
+5e45 6a414db4 fetchr regb ,2 ,mem_otp_offset_dpi 
 5e46 1a422600 copy regb ,regc 
 
 mouse_read_otp_dpi_loop:
 5e47 20405e51 call mouse_read_otp_dpi_common 
-5e48 6fe0c9d4 fetch 1 ,mem_mouse_dpi_temp 
+5e48 6fe0cd8e fetch 1 ,mem_mouse_dpi_temp 
 5e49 203a5e54 branch mouse_dpi_load ,blank 
-5e4a 67e0c9d3 store 1 ,mem_mouse_dpi_last 
+5e4a 67e0cd8d store 1 ,mem_mouse_dpi_last 
 5e4b 1a60a601 increase 1 ,regc 
-5e4c 6fe149fc fetch 2 ,mem_otp_offset_dpi_end 
+5e4c 6fe14db6 fetch 2 ,mem_otp_offset_dpi_end 
 5e4d 9a667c00 isub regc ,null 
 5e4e 24215e54 nbranch mouse_dpi_load ,positive 
 5e4f 1a622400 copy regc ,regb 
@@ -22000,11 +22693,11 @@
 
 mouse_read_otp_dpi_common:
 5e51 df200001 arg 1 ,loopcnt 
-5e52 da2049d4 arg mem_mouse_dpi_temp ,rega 
+5e52 da204d8e arg mem_mouse_dpi_temp ,rega 
 5e53 20206b74 branch otp_read_data 
 
 mouse_dpi_load:
-5e54 6fe0c9d3 fetch 1 ,mem_mouse_dpi_last 
+5e54 6fe0cd8d fetch 1 ,mem_mouse_dpi_last 
 5e55 1fe20400 copy pdata ,temp 
 5e56 1fe17ef0 and pdata ,0xf0 ,pdata 
 5e57 203a5e5a branch mouse_dpi_load_last ,blank 
@@ -22036,7 +22729,7 @@
 5e69 20600000 rtn 
 
 mouse_select_device_by_pb_button_check_once:
-5e6a 70497503 jam 0x03 ,mem_mouse_pbkey_press_status 
+5e6a 704d2f03 jam 0x03 ,mem_mouse_pbkey_press_status 
 
 mouse_select_device_by_pb_button:
 5e6b 20405e6d call mouse_select_device_by_pb_button_check 
@@ -22047,10 +22740,10 @@
 5e6e 6fe0c655 fetch 1 ,mem_config_select_device_button_gpio 
 5e6f c17f8000 rtneq gpio_disable 
 5e70 da200000 arg 0 ,rega 
-5e71 70497706 jam mouse_pb_key ,mem_mouse_key_temp 
+5e71 704d3106 jam mouse_pb_key ,mem_mouse_key_temp 
 5e72 6848c655 fetcht 1 ,mem_config_select_device_button_gpio 
 5e73 20405e81 call mouse_pb_button_check 
-5e74 67e0c975 store 1 ,mem_mouse_pbkey_press_status 
+5e74 67e0cd2f store 1 ,mem_mouse_pbkey_press_status 
 5e75 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
 5e76 c07fde7c beq gpio_disable ,mouse_3io6key_pb_button_check_end 
 5e77 202058df branch mouse_matrix_public_gpio_reset 
@@ -22073,21 +22766,21 @@
 mouse_pb_button_check:
 5e81 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5e82 c296de8d bbit1 mouse_enable_pb_button_connect_gnd ,mouse_pb_button_connect_gnd 
-5e83 6fe0c975 fetch 1 ,mem_mouse_pbkey_press_status 
+5e83 6fe0cd2f fetch 1 ,mem_mouse_pbkey_press_status 
 5e84 1fe22600 copy pdata ,regc 
 5e85 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
 5e86 c07fd931 beq gpio_disable ,mouse_3io6key_check 
-5e87 6fe0c97b fetch 1 ,mem_mouse_ghost_flag 
+5e87 6fe0cd35 fetch 1 ,mem_mouse_ghost_flag 
 5e88 243a5e8a nbranch mouse_select_device_by_pb_button_end ,blank 
 5e89 20205e8f branch mouse_pb_button_connect_matrix 
 
 mouse_select_device_by_pb_button_end:
-5e8a 70497f00 jam pb_button_state_up ,mem_select_device_button_statue 
-5e8b 70497500 jam 0 ,mem_mouse_pbkey_press_status 
+5e8a 704d3900 jam pb_button_state_up ,mem_select_device_button_statue 
+5e8b 704d2f00 jam 0 ,mem_mouse_pbkey_press_status 
 5e8c 20600000 rtn 
 
 mouse_pb_button_connect_gnd:
-5e8d 6fe0c975 fetch 1 ,mem_mouse_pbkey_press_status 
+5e8d 6fe0cd2f fetch 1 ,mem_mouse_pbkey_press_status 
 5e8e 20205925 branch mouse_check_key_connect_gnd 
 
 mouse_pb_button_connect_matrix:
@@ -22097,28 +22790,28 @@
 5e92 6848c654 fetcht 1 ,mem_matrix_public_gpio 
 5e93 20406ef7 call gpio_out_active 
 5e94 6848c655 fetcht 1 ,mem_config_select_device_button_gpio 
-5e95 6fe0c975 fetch 1 ,mem_mouse_pbkey_press_status 
+5e95 6fe0cd2f fetch 1 ,mem_mouse_pbkey_press_status 
 5e96 20205925 branch mouse_check_key_connect_gnd 
 
 mouse_select_device_button_up:
-5e97 6fe0c97f fetch 1 ,mem_select_device_button_statue 
+5e97 6fe0cd39 fetch 1 ,mem_select_device_button_statue 
 5e98 c1000000 rtneq pb_button_state_up 
-5e99 70497f00 jam pb_button_state_up ,mem_select_device_button_statue 
+5e99 704d3900 jam pb_button_state_up ,mem_select_device_button_statue 
 5e9a 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5e9b c39a0000 rtnbit1 mouse_enable_pb_button_short_press_enter_discovery 
-5e9c 6fe0c97c fetch 1 ,mem_bt_discovery_count 
+5e9c 6fe0cd36 fetch 1 ,mem_bt_discovery_count 
 5e9d 1fe67c14 sub pdata ,20 ,null 
 5e9e 24415ec6 ncall mouse_ready_reconnection_by_button ,positive 
 5e9f 6fe0c4eb fetch 1 ,mem_ui_button_timeout 
-5ea0 67e0c97c store 1 ,mem_bt_discovery_count 
+5ea0 67e0cd36 store 1 ,mem_bt_discovery_count 
 5ea1 20600000 rtn 
 
 mouse_select_device_button_down:
 5ea2 20405eae call mouse_select_device_ghost_check 
 5ea3 20740000 rtn user 
-5ea4 6fe0c97f fetch 1 ,mem_select_device_button_statue 
+5ea4 6fe0cd39 fetch 1 ,mem_select_device_button_statue 
 5ea5 c1008000 rtneq pb_button_state_down 
-5ea6 70497f01 jam pb_button_state_down ,mem_select_device_button_statue 
+5ea6 704d3901 jam pb_button_state_down ,mem_select_device_button_statue 
 5ea7 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5ea8 c29a5ba3 bbit1 mouse_enable_pb_button_short_press_enter_discovery ,mouse_long_button_bt_discovery 
 5ea9 6fe0c845 fetch 1 ,mem_mouse_direct_timer 
@@ -22133,9 +22826,9 @@
 5eb0 c3968000 rtnbit1 mouse_enable_pb_button_connect_gnd 
 
 mouse_ghost_key_value_check:
-5eb1 6fe0c96f fetch 1 ,mem_mouse_lkey_press_status 
+5eb1 6fe0cd29 fetch 1 ,mem_mouse_lkey_press_status 
 5eb2 207a0000 rtn blank 
-5eb3 6fe0c970 fetch 1 ,mem_mouse_rkey_press_status 
+5eb3 6fe0cd2a fetch 1 ,mem_mouse_rkey_press_status 
 5eb4 207a0000 rtn blank 
 5eb5 20207dba branch enable_user 
 
@@ -22319,11 +23012,11 @@
 
 mouse_drawing_optima:
 5f26 44c9c012 bpatch patch12_3 ,mem_patch12 
-5f27 6fe0c957 fetch 1 ,mem_config_sensor_type 
+5f27 6fe0cd11 fetch 1 ,mem_config_sensor_type 
 5f28 c1018000 rtneq p3212 
 5f29 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5f2a c41c0000 rtnbit0 mouse_enable_smoother 
-5f2b 6fe24847 fetch 4 ,mem_mouse_x 
+5f2b 6fe24c01 fetch 4 ,mem_mouse_x 
 5f2c 207a0000 rtn blank 
 5f2d 20405fcd call mouse_data_abs_check 
 5f2e 58000003 setarg 0x03 
@@ -22333,58 +23026,58 @@
 5f32 58000002 setarg 0x02 
 5f33 20405fc8 call mouse_data_less_than_check 
 5f34 205a5fbf call mouse_disable_asm ,blank 
-5f35 6fe0c861 fetch 1 ,mem_mouse_asm_flag 
+5f35 6fe0cc1b fetch 1 ,mem_mouse_asm_flag 
 5f36 c000df3c beq 1 ,mouse_drawing_optima_modify 
 
 mouse_drawing_optima_init:
 5f37 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5f38 c41c0000 rtnbit0 mouse_enable_smoother 
 5f39 df200005 arg 5 ,loopcnt 
-5f3a d8a04861 arg mem_mouse_asm_flag ,contw 
+5f3a d8a04c1b arg mem_mouse_asm_flag ,contw 
 5f3b 20207ca1 branch clear_mem 
 
 mouse_drawing_optima_modify:
 5f3c 20405f50 call mouse_drawing_optima_xy_offset_modify 
-5f3d 6fe14862 fetch 2 ,mem_mouse_x_pre 
+5f3d 6fe14c1c fetch 2 ,mem_mouse_x_pre 
 5f3e 67e1070b store 2 ,mem_data_pre 
-5f3f 6fe14847 fetch 2 ,mem_mouse_x 
+5f3f 6fe14c01 fetch 2 ,mem_mouse_x 
 5f40 67e1070d store 2 ,mem_data_current 
 5f41 20405f89 call mouse_drawing_optima_data_x 
 5f42 6fe1070b fetch 2 ,mem_data_pre 
-5f43 67e14862 store 2 ,mem_mouse_x_pre 
+5f43 67e14c1c store 2 ,mem_mouse_x_pre 
 5f44 6fe1070d fetch 2 ,mem_data_current 
-5f45 67e14847 store 2 ,mem_mouse_x 
-5f46 6fe14864 fetch 2 ,mem_mouse_y_pre 
+5f45 67e14c01 store 2 ,mem_mouse_x 
+5f46 6fe14c1e fetch 2 ,mem_mouse_y_pre 
 5f47 67e1070b store 2 ,mem_data_pre 
-5f48 6fe14849 fetch 2 ,mem_mouse_y 
+5f48 6fe14c03 fetch 2 ,mem_mouse_y 
 5f49 67e1070d store 2 ,mem_data_current 
 5f4a 20405f91 call mouse_drawing_optima_data_y 
 5f4b 6fe1070b fetch 2 ,mem_data_pre 
-5f4c 67e14864 store 2 ,mem_mouse_y_pre 
+5f4c 67e14c1e store 2 ,mem_mouse_y_pre 
 5f4d 6fe1070d fetch 2 ,mem_data_current 
-5f4e 67e14849 store 2 ,mem_mouse_y 
+5f4e 67e14c03 store 2 ,mem_mouse_y 
 5f4f 20600000 rtn 
 
 mouse_drawing_optima_xy_offset_modify:
 5f50 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 5f51 c41c8000 rtnbit0 mouse_enable_xy_offset 
 5f52 44ca4012 bpatch patch12_4 ,mem_patch12 
-5f53 6fe14862 fetch 2 ,mem_mouse_x_pre 
+5f53 6fe14c1c fetch 2 ,mem_mouse_x_pre 
 5f54 67e10712 store 2 ,mem_data_value 
 5f55 20405f64 call mouse_pre_xy_data_judge 
-5f56 67e14862 store 2 ,mem_mouse_x_pre 
-5f57 6fe14847 fetch 2 ,mem_mouse_x 
+5f56 67e14c1c store 2 ,mem_mouse_x_pre 
+5f57 6fe14c01 fetch 2 ,mem_mouse_x 
 5f58 67e10712 store 2 ,mem_data_value 
 5f59 20405f72 call mouse_current_xy_data_judge 
-5f5a 67e14847 store 2 ,mem_mouse_x 
-5f5b 6fe14864 fetch 2 ,mem_mouse_y_pre 
+5f5a 67e14c01 store 2 ,mem_mouse_x 
+5f5b 6fe14c1e fetch 2 ,mem_mouse_y_pre 
 5f5c 67e10712 store 2 ,mem_data_value 
 5f5d 20405f64 call mouse_pre_xy_data_judge 
-5f5e 67e14864 store 2 ,mem_mouse_y_pre 
-5f5f 6fe14849 fetch 2 ,mem_mouse_y 
+5f5e 67e14c1e store 2 ,mem_mouse_y_pre 
+5f5f 6fe14c03 fetch 2 ,mem_mouse_y 
 5f60 67e10712 store 2 ,mem_data_value 
 5f61 20405f72 call mouse_current_xy_data_judge 
-5f62 67e14849 store 2 ,mem_mouse_y 
+5f62 67e14c03 store 2 ,mem_mouse_y 
 5f63 20600000 rtn 
 
 mouse_pre_xy_data_judge:
@@ -22446,20 +23139,20 @@
 5f89 6fe1070b fetch 2 ,mem_data_pre 
 5f8a 6849070d fetcht 2 ,mem_data_current 
 5f8b 9840fe00 iadd temp ,pdata 
-5f8c 6848c866 fetcht 1 ,mem_mouse_data_xtemp 
+5f8c 6848cc20 fetcht 1 ,mem_mouse_data_xtemp 
 5f8d 9840fe00 iadd temp ,pdata 
 5f8e 1fe10401 and pdata ,0x01 ,temp 
-5f8f 6048c866 storet 1 ,mem_mouse_data_xtemp 
+5f8f 6048cc20 storet 1 ,mem_mouse_data_xtemp 
 5f90 20205f99 branch mouse_drawing_optima_data 
 
 mouse_drawing_optima_data_y:
 5f91 6fe1070b fetch 2 ,mem_data_pre 
 5f92 6849070d fetcht 2 ,mem_data_current 
 5f93 9840fe00 iadd temp ,pdata 
-5f94 6848c867 fetcht 1 ,mem_mouse_data_ytemp 
+5f94 6848cc21 fetcht 1 ,mem_mouse_data_ytemp 
 5f95 9840fe00 iadd temp ,pdata 
 5f96 1fe10401 and pdata ,0x01 ,temp 
-5f97 6048c867 storet 1 ,mem_mouse_data_ytemp 
+5f97 6048cc21 storet 1 ,mem_mouse_data_ytemp 
 5f98 20205f99 branch mouse_drawing_optima_data 
 
 mouse_drawing_optima_data:
@@ -22523,11 +23216,11 @@
 5fbe 20600000 rtn 
 
 mouse_disable_asm:
-5fbf 70486100 jam 0 ,mem_mouse_asm_flag 
+5fbf 704c1b00 jam 0 ,mem_mouse_asm_flag 
 5fc0 20600000 rtn 
 
 mouse_enable_asm:
-5fc1 70486101 jam 1 ,mem_mouse_asm_flag 
+5fc1 704c1b01 jam 1 ,mem_mouse_asm_flag 
 5fc2 20600000 rtn 
 
 mouse_pdata_greater_than_check:
@@ -22545,10 +23238,10 @@
 5fcc 20207dca branch enable_blank 
 
 mouse_data_abs_check:
-5fcd 6fe14847 fetch 2 ,mem_mouse_x 
+5fcd 6fe14c01 fetch 2 ,mem_mouse_x 
 5fce 20405fd4 call mouse_data_abs 
 5fcf 1fe22200 copy pdata ,rega 
-5fd0 6fe14849 fetch 2 ,mem_mouse_y 
+5fd0 6fe14c03 fetch 2 ,mem_mouse_y 
 5fd1 20405fd4 call mouse_data_abs 
 5fd2 1fe22400 copy pdata ,regb 
 5fd3 20600000 rtn 
@@ -22612,7 +23305,7 @@
 5ff5 5fffffff setarg -1 
 5ff6 67e245af store 4 ,mem_24g_enter_hibernate 
 5ff7 58000000 setarg 0 
-5ff8 67e3c846 store 7 ,mem_mouse_key 
+5ff8 67e3cc00 store 7 ,mem_mouse_key 
 5ff9 70473f01 jam 1 ,mem_sensor_shutdown_flag 
 5ffa 204059ed call mouse_sensor_powerdown 
 5ffb 204054dc call mouse_setgpio_hibernate 
@@ -22818,7 +23511,7 @@
 608b 67e145d8 store 2 ,mem_24g_pair_timeout 
 608c 67e145de store 2 ,mem_24g_reconn_timeout 
 608d 67e0c5fc store 1 ,mem_24g_conn_sm 
-608e 67e0c860 store 1 ,mem_mouse_move_flag 
+608e 67e0cc1a store 1 ,mem_mouse_move_flag 
 608f 67e0c5e2 store 1 ,mem_24g_reconn_type 
 6090 6fe2458f fetch 4 ,mem_24g_addr 
 6091 67e245e8 store 4 ,mem_24g_receiver_addr 
@@ -22839,7 +23532,7 @@
 609c 245a6094 ncall mouse_24g_short_sleep_clear_wake ,blank 
 609d 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
 609e c30b60a1 bbit0 mouse_enable_keyboard ,mouse_24g_mouse_package_data 
-609f 6fe0c96c fetch 1 ,mem_customer_key 
+609f 6fe0cd26 fetch 1 ,mem_customer_key 
 60a0 243a60b6 nbranch mouse_24g_keyboard_package_data ,blank 
 
 mouse_24g_mouse_package_data:
@@ -22847,30 +23540,30 @@
 60a2 6fe0c589 fetch 1 ,mem_24g_data_type 
 60a3 c280e0b0 bbit1 1 ,mouse_24g_mouse_package_data_now 
 60a4 6848c51a fetcht 1 ,mem_24g_txbuf + 1 
-60a5 6fe0c846 fetch 1 ,mem_mouse_key 
+60a5 6fe0cc00 fetch 1 ,mem_mouse_key 
 60a6 9841fe00 ior temp ,pdata 
-60a7 67e0c846 store 1 ,mem_mouse_key 
+60a7 67e0cc00 store 1 ,mem_mouse_key 
 60a8 6848c51f fetcht 1 ,mem_24g_txbuf + 6 
-60a9 6fe0c84b fetch 1 ,mem_mouse_z 
+60a9 6fe0cc05 fetch 1 ,mem_mouse_z 
 60aa 9840fe00 iadd temp ,pdata 
-60ab 67e0c84b store 1 ,mem_mouse_z 
+60ab 67e0cc05 store 1 ,mem_mouse_z 
 60ac 6848c520 fetcht 1 ,mem_24g_txbuf + 7 
-60ad 6fe0c84c fetch 1 ,mem_mouse_tz 
+60ad 6fe0cc06 fetch 1 ,mem_mouse_tz 
 60ae 9840fe00 iadd temp ,pdata 
-60af 67e0c84c store 1 ,mem_mouse_tz 
+60af 67e0cc06 store 1 ,mem_mouse_tz 
 
 mouse_24g_mouse_package_data_now:
 60b0 70458901 jam type_ms ,mem_24g_data_type 
 60b1 da200007 arg 7 ,rega 
-60b2 da404846 arg mem_mouse_key ,regb 
-60b3 6fe1484b fetch 2 ,mem_mouse_z 
+60b2 da404c00 arg mem_mouse_key ,regb 
+60b3 6fe14c05 fetch 2 ,mem_mouse_z 
 60b4 207a0000 rtn blank 
 60b5 202036db branch g24_transmit_by_interrupt_enable 
 
 mouse_24g_keyboard_package_data:
 60b6 70458902 jam type_kb ,mem_24g_data_type 
 60b7 da200009 arg 9 ,rega 
-60b8 6fe0c96d fetch 1 ,mem_customer_data_trigger 
+60b8 6fe0cd27 fetch 1 ,mem_customer_data_trigger 
 60b9 243a60bc nbranch mouse_customer_key_press ,blank 
 60ba da404733 arg mem_customer_key_release ,regb 
 60bb 20600000 rtn 
@@ -23018,7 +23711,7 @@
 
 mouse_dpi_led_blink_init:
 6121 44cc4013 bpatch patch13_0 ,mem_patch13 
-6122 6fe0c957 fetch 1 ,mem_config_sensor_type 
+6122 6fe0cd11 fetch 1 ,mem_config_sensor_type 
 6123 c001e131 beq p3212 ,mouse_dpi_led_blink_init_another 
 6124 c005e131 beq ka8g2 ,mouse_dpi_led_blink_init_another 
 6125 6848c690 fetcht 1 ,mem_mouse_dpi 
Index: output/romcode.rom
===================================================================
--- /1121s/branch/tools/audio_demo/output/romcode.rom	(revision 4856)
+++ /1121s/branch/tools/audio_demo/output/romcode.rom	(working copy)
@@ -10574,7 +10574,7 @@
 c1878000
 204054ac
 24342002
-6fe0c846
+6fe0cc00
 203a2002
 6fe0c655
 c17f8000
@@ -10659,7 +10659,7 @@
 204035f0
 2040325b
 204049af
-6848c865
+6848cc1f
 20406ef3
 20404b6d
 20406177
@@ -10670,7 +10670,7 @@
 c2895d6e
 20600000
 2040543b
-7048eb00
+704ca500
 58230170
 67e1c62d
 58015301
@@ -10694,19 +10694,19 @@
 20207cda
 d8a047a0
 202049c1
-6848c864
+6848cc1e
 20406f0f
-6848c863
+6848cc1d
 20406f0f
-6848c865
+6848cc1f
 20406f0f
-5800486e
-67e14896
-58004876
-67e14898
-5800488a
-67e1489a
-6fe14896
+58004c28
+67e14c50
+58004c30
+67e14c52
+58004c44
+67e14c54
+6fe14c50
 1fe22400
 df200008
 e8408012
@@ -10715,7 +10715,7 @@
 1a40a401
 c20049d7
 204023fd
-6fe14898
+6fe14c52
 1fe22400
 1fe22600
 df20000b
@@ -10735,14 +10735,14 @@
 6fe0c40c
 c4000000
 20205fe4
-70496b0c
+704d250c
 6fe0c40c
 c4000000
-70496b10
+704d2510
 6fe0c77e
 203a5c01
 20600000
-6fe149df
+6fe14d99
 d8400528
 98467c00
 24610000
@@ -10773,15 +10773,15 @@
 dd60000e
 20204a16
 60488678
-da2049c7
+da204d81
 da600000
 1fe22400
 6f208678
 20406b74
-6fe449c7
-684c49cf
+6fe44d81
+684c4d89
 9841fe00
-684c49d7
+684c4d91
 9841fe00
 203a4a28
 1a60a601
@@ -10798,41 +10798,41 @@
 1fe22400
 6f208678
 20406b74
-6fe449c7
-684c49cf
+6fe44d81
+684c4d89
 9841fe00
-684c49d7
+684c4d91
 9841fe00
 203a4a3a
 1a427e00
 20204a2c
-6560c9df
+6560cd99
 20600000
 44a1c008
 58001fd0
 9a467e00
-67e149df
+67e14d99
 1a427e00
 9d60a400
 6f208678
-da2049c7
+da204d81
 20406b74
 6fe0c666
 c0004a47
 c000ca4a
 20600000
-6fe349c7
+6fe34d81
 67e24691
 20204a76
-6fe0c9c7
+6fe0cd81
 1fe67c03
 24417dca
-67e0c9c6
-6fe0c9c8
+67e0cd80
+6fe0cd82
 67e0c667
-6fe349c9
+6fe34d83
 67e34668
-6fe349cf
+6fe34d89
 67e3466e
 20205c6f
 2020235a
@@ -10847,17 +10847,17 @@
 c0004a61
 c000ca6b
 20600000
-684949df
+68494d99
 58001fd0
 98462400
 da204691
 df200004
 20406b45
-684949df
+68494d99
 18408404
-604949df
+60494d99
 20600000
-684949df
+68494d99
 58001fd0
 98462400
 1a40a401
@@ -10936,11 +10936,11 @@
 20204bbd
 58000000
 67e147c0
-67e0c860
-67e0c861
+67e0cc1a
+67e0cc1b
 67e0c794
 7047c200
-70495600
+704d1000
 204029cb
 20204ac1
 20405b7b
@@ -10956,7 +10956,7 @@
 6fe0c795
 c000cad0
 70484414
-70486205
+704c1c05
 20205af6
 20405aef
 70484405
@@ -10965,16 +10965,16 @@
 1fe67c0c
 24215b06
 6fe081a4
-6848c96b
+6848cd25
 98467c00
 20215b1d
 6fe081a4
 67e0c0c0
 20205b1f
-6fe0c860
+6fe0cc1a
 247a0000
-70486001
-7048611e
+704c1a01
+704c1b1e
 20600000
 20404af9
 20405c0b
@@ -10987,22 +10987,22 @@
 2040618e
 20405c0b
 20206075
-70485f02
+704c1902
 20404f3e
 70472c03
 20600000
 df200006
-d8c04858
+d8c04c12
 efe08006
 c029caf9
 c01ccaf9
 c023caf9
 c2004af3
 20600000
-7049ab03
-7048f401
+704d6503
+704cae01
 20600000
-7049a901
+704d6301
 20600000
 6fe0c600
 243a4b11
@@ -11028,7 +11028,7 @@
 5fffffff
 67e445af
 58000000
-67e3c846
+67e3cc00
 70473f01
 20204f9a
 44a3c008
@@ -11056,22 +11056,22 @@
 6fe0c666
 c0004b8a
 20205c05
-6fe0c980
+6fe0cd3a
 c1808000
-da604981
+da604d3b
 da405a94
 202042e0
-6fe148fa
-684949ff
+6fe14cb4
+68494db9
 98467c00
 2022cb3f
 18508400
 98467c00
 2022cb3f
 20205bba
-6fe0c980
+6fe0cd3a
 c1008000
-70498001
+704d3a01
 20600000
 da604790
 da404b46
@@ -11091,7 +11091,7 @@
 20600000
 70463135
 20600000
-da604862
+da604c1c
 da40502f
 202042e0
 da604845
@@ -11101,47 +11101,47 @@
 6fe44713
 c39d8000
 20205bee
-da604861
+da604c1b
 da405aef
 202042e0
-6fe0c9a9
+6fe0cd63
 207a0000
-7049a900
-7048f401
+704d6300
+704cae01
 20403625
 20204fa0
-da6049ac
+da604d66
 da404b6b
 202042e0
-7049ab00
+704d6500
 20600000
 204061ea
 20404b7c
-6848c868
+6848cc22
 20206ef3
 20600000
-6fe0c866
+6fe0cc20
 c17f8000
 6fe14781
 207a0000
 6fe14725
 68494781
 98460400
-6fe14869
+6fe14c23
 98467e00
 20214b7e
-6848c866
+6848cc20
 20206ef3
-6fe0c9aa
+6fe0cd64
 c300cb7c
-6848c866
+6848cc20
 20206ef7
-da6048ee
+da604ca8
 da404b85
 202042e7
-7048eb01
+704ca501
 20204327
-da6049c4
+da604d7e
 da404d9e
 202042e0
 da604781
@@ -11163,7 +11163,7 @@
 58000000
 67e147c0
 20404b7c
-7049c6ff
+704d80ff
 6fe144e9
 2feffe0b
 2040dc3e
@@ -11188,7 +11188,7 @@
 67e147c0
 67e0c845
 67e0c792
-67e0c956
+67e0cd10
 d8e00002
 20405f00
 20405ef4
@@ -11226,9 +11226,9 @@
 20405563
 6fe0c40c
 c280cf6b
-6fe0c9a4
+6fe0cd5e
 205a4e24
-6fe0c9a3
+6fe0cd5d
 247a0000
 6fe0c666
 c000602f
@@ -11255,7 +11255,7 @@
 204056b1
 6fe44713
 c30b5b3c
-6fe0c96c
+6fe0cd26
 20205b3d
 6fe0c3cb
 c1878000
@@ -11265,23 +11265,23 @@
 44a74009
 20404c85
 58000000
-67e148e9
-d8c0489c
-d8a048b0
+67e14ca3
+d8c04c56
+d8a04c6a
 df200014
 20407cda
-5800489c
-67e148e3
-580048d8
-67e148e5
+58004c56
+67e14c9d
+58004c92
+67e14c9f
 20404c2f
 20404c53
 20404c83
-6fe1489a
+6fe14c54
 1fe22400
-7048e800
+704ca200
 e8408012
-6fe14898
+6fe14c52
 1fe22200
 1a222600
 df200014
@@ -11291,20 +11291,20 @@
 1a20a201
 c2004c17
 1a40a401
-6fe0c8e8
+6fe0cca2
 1fe0fe01
-67e0c8e8
+67e0cca2
 1fe67c0a
 20214c12
 20600000
-6fe148e3
+6fe14c9d
 1fe20a00
 1a227e00
 9a667e00
 98a08a00
-6fe148e5
+6fe14c9f
 1fe22600
-6fe0c8e8
+6fe0cca2
 9a60a600
 efe08013
 e7e08005
@@ -11312,17 +11312,17 @@
 44a7c009
 20404c83
 20404c81
-6fe148e9
+6fe14ca3
 1fe0fe01
-67e148e9
+67e14ca3
 c284cc71
-6848c864
+6848cc1e
 20406ee6
 2420cc32
 20000014
 20404c79
 20404c85
-7048e800
+704ca200
 20404c7b
 20404c46
 20404c79
@@ -11332,24 +11332,24 @@
 20404c7b
 20404c46
 20204c79
-7048e700
+704ca100
 20000032
 20404c65
-6fe148e5
+6fe14c9f
 1fe20a00
-6fe0c8e8
+6fe0cca2
 98a08a00
-6fe0c8e7
+6fe0cca1
 e7e08005
-6fe0c8e8
+6fe0cca2
 1fe0fe01
-67e0c8e8
+67e0cca2
 20600000
 20000014
-6fe14898
+6fe14c52
 1fe22400
-7048e800
-7048e700
+704ca200
+704ca100
 e8408012
 284ffe07
 2020cc5f
@@ -11358,156 +11358,156 @@
 e8408012
 20406f0f
 1a40a401
-6fe148e3
+6fe14c9d
 20404c4a
 1fe67c13
 20214c57
 20600000
-6fe14896
+6fe14c50
 1fe22600
 df200008
 e8408013
 20406ee6
-6fe0c8e7
+6fe0cca1
 1fe37e00
 7920fe07
-67e0c8e7
+67e0cca1
 1a60a601
 c2004c68
 20600000
-6848c865
+6848cc1f
 20406ef7
 20000014
-6848c865
+6848cc1f
 20406ef3
 20001770
 20600000
 20204c00
-6848c864
+6848cc1e
 20206ef3
-6848c864
+6848cc1e
 20206ef7
 18467cff
 20628000
 793f8407
 20206edd
-6848c864
+6848cc1e
 20206edd
-6848c863
+6848cc1d
 20206ef3
-6848c863
+6848cc1d
 20206ef7
-7048eb00
-6fe148ec
-67e148ee
+704ca500
+6fe14ca6
+67e14ca8
 20600000
 44a8400a
-da20489c
-da4048b0
+da204c56
+da404c6a
 df200014
 20407d64
 2422cc87
 20404cc5
 205a4c87
 20404ccd
-6fe0c97b
+6fe0cd35
 247a0000
-6fe0c9c1
+6fe0cd7b
 c1008000
 c1010000
 c1020000
-7048e800
-da20489c
-da4048c4
+704ca200
+da204c56
+da404c7e
 e8408011
 efe08012
 9842fe00
 203a4cbd
-67e0c8e7
-6048c8f6
+67e0cca1
+6048ccb0
 e0408012
-7048f401
-7048f700
-6fe0c8e7
+704cae01
+704cb100
+6fe0cca1
 c3004cb3
-6fe0c8e8
+6fe0cca2
 1feffe08
-6848c8f7
+6848ccb1
 9840fe00
-d8c04901
+d8c04cbb
 98c08c00
 efe08006
-67e0c8f5
+67e0ccaf
 20404cfc
 20404d3a
 20404dbb
-6fe0c8e7
+6fe0cca1
 1fe37e00
-67e0c8e7
-6fe0c8f6
+67e0cca1
+6fe0ccb0
 1fe37e00
-67e0c8f6
-6fe0c8f7
+67e0ccb0
+6fe0ccb1
 1fe0fe01
-67e0c8f7
+67e0ccb1
 c2004ca6
 1a20a201
 1a40a401
-6fe0c8e8
+6fe0cca2
 1fe0fe01
-67e0c8e8
+67e0cca2
 1fe67c13
 20214c9d
 20600000
-6fe4489c
+6fe44c56
 247a0000
-6fe448a4
+6fe44c5e
 247a0000
-6fe248ac
+6fe24c66
 247a0000
-7049c100
+704d7b00
 20600000
 44a8c00a
-70497b00
-7048f100
-da20489c
+704d3500
+704cab00
+da204c56
 df200014
-7048f000
+704caa00
 efe08011
 203a4cf7
-6848c8f0
+6848ccaa
 18408401
-6048c8f0
+6048ccaa
 1fe20400
 1fe0ffff
 98417e00
 2422ccd5
-6fe0c8f0
-6848c8f1
+6fe0ccaa
+6848ccab
 98408400
-6048c8f1
+6048ccab
 1fe67c01
 20214cf7
 18467c02
 20214cf7
-7048e800
-7048f200
+704ca200
+704cac00
 e8408011
-da40489c
-6fe0c8e8
+da404c56
+6fe0cca2
 1fe0fe01
-67e0c8e8
+67e0cca2
 1fe67c13
 24214cf7
 efe08012
 98417c00
 2022ccfa
-6fe0c8f2
+6fe0ccac
 1fe0fe01
-67e0c8f2
+67e0ccac
 1fe67c01
 20214cfa
-70497b01
+704d3501
 20600000
 1a20a201
 c2004cd2
@@ -11515,15 +11515,15 @@
 1a40a401
 20204ce8
 44a9400a
-6fe0c8f6
+6fe0ccb0
 245a4d4e
-6fe0c9a1
+6fe0cd5b
 245a4d11
-6fe0c9ae
-6848c9a1
+6fe0cd68
+6848cd5b
 9842fe00
 20628000
-6fe0c8f5
+6fe0ccaf
 c014cd19
 c0264d1b
 1fe67c45
@@ -11531,11 +11531,11 @@
 d840003a
 98467e00
 24610000
-d8c049b0
+d8c04d6a
 98c08c00
 efe08006
 20204d38
-6fe0c8f5
+6fe0ccaf
 c0294d1d
 c028cd21
 c0284d25
@@ -11543,41 +11543,41 @@
 c0704d2d
 c0164d35
 20600000
-6fe0c9af
+6fe0cd69
 20204d38
-6fe0c9bc
+6fe0cd76
 20204d38
-6fe0c9bd
+6fe0cd77
 207a0000
 5800004b
 20204d38
-6fe0c9bd
+6fe0cd77
 207a0000
 5800004e
 20204d38
-6fe0c9bd
+6fe0cd77
 207a0000
 5800004a
 20204d38
-6fe0c9bd
+6fe0cd77
 207a0000
 5800004d
 20204d38
-6fe0c9be
+6fe0cd78
 207a0000
-6fe0c9c6
+6fe0cd80
 c0004d33
 580000fd
 20204d38
 580000aa
 20204d38
-6fe0c9bf
+6fe0cd79
 207a0000
 580000ab
-67e0c8f5
+67e0ccaf
 20600000
 44a9c00a
-6fe0c8f5
+6fe0ccaf
 c0234d50
 c025cd56
 c0274d5c
@@ -11592,133 +11592,133 @@
 c055cd81
 c0564d8c
 20600000
-6fe0c8f6
+6fe0ccb0
 247a0000
-7049c40a
+704d7e0a
 20600000
-7049c400
+704d7e00
 20600000
-6fe0c9c6
+6fe0cd80
 c1000000
 c1008000
-7049c20a
-7049c320
+704d7c0a
+704d7d20
 20204d95
-7049c352
-6fe0c9c6
+704d7d52
+6fe0cd80
 c1000000
 c1008000
-7049c208
+704d7c08
 20204d95
-7049c351
+704d7d51
 20204d57
-7049c350
+704d7d50
 20204d57
-7049c34f
+704d7d4f
 20204d57
-7049c304
-7049c201
-6fe0c9c6
+704d7d04
+704d7c01
+6fe0cd80
 c0004d95
 c000cd95
-7049c208
+704d7c08
 20204d95
-7049c306
+704d7d06
 20204d63
-7049c319
+704d7d19
 20204d63
-7049c31b
+704d7d1b
 20204d63
-6fe0c9c6
+6fe0cd80
 c0004d74
 c001cd77
 580000fc
 20204d38
-7049c208
-7049c30f
+704d7c08
+704d7d0f
 20204d95
-7049c209
-7049c314
+704d7c09
+704d7d14
 20204d95
-6fe0c9c6
+6fe0cd80
 c0004d7e
 580000fd
 20204d38
-7049c209
-7049c312
+704d7c09
+704d7d12
 20204d95
-6fe0c9c6
+6fe0cd80
 c0004d88
 c000cd8a
-7049c201
-7049c32c
+704d7c01
+704d7d2c
 20404d4a
 20204d95
-7049c208
+704d7c08
 20204d85
-7049c202
+704d7c02
 20204d85
-6fe0c9c6
+6fe0cd80
 c0004d92
 c000cd92
-7049c201
-7049c352
+704d7c01
+704d7d52
 20204d95
-7049c208
-7049c32b
+704d7c08
+704d7d2b
 20204d95
-7048f500
-6fe0c8f6
+704caf00
+6fe0ccb0
 c3004d9c
-6fe0c9c1
+6fe0cd7b
 c001cda8
-7049c101
+704d7b01
 20600000
-7049c104
+704d7b04
 20600000
-7049c106
+704d7b06
 20600000
-67e0c856
-6048c858
+67e0cc10
+6048cc12
 20407dba
-70485500
+704c0f00
 20204e89
-6fe0c9c2
+6fe0cd7c
 d8400000
 20404da0
-7049c102
+704d7b02
 20600000
-7049c103
-6fe0c9c2
-6848c9c3
+704d7b03
+6fe0cd7c
+6848cd7d
 20204da0
-70485500
-6fe0c9c2
+704c0f00
+6fe0cd7c
 d8400000
 20404da0
-6fe0c9c4
+6fe0cd7e
 203a4d9e
-7049c105
+704d7b05
 20600000
 20204da2
-7049c100
+704d7b00
 dfe00000
 d8400000
 20204da0
 44aa400a
-6fe0c8f5
+6fe0ccaf
 1fe67ce7
 20214dc3
-7049c501
-6fe0c8f6
+704d7f01
+6fe0ccb0
 c2804dc3
-7049c502
-70490000
-6fe0c8f6
+704d7f02
+704cba00
+6fe0ccb0
 c2804ddd
-6848c8f5
+6848ccaf
 df200006
-d8c048fa
+d8c04cb4
 efe08006
 203a4dd4
 98467c00
@@ -11735,13 +11735,13 @@
 18467cbf
 20610000
 18410e07
-6fe0c8f8
+6fe0ccb2
 f93ffe00
-67e0c8f8
+67e0ccb2
 20600000
-6848c8f5
+6848ccaf
 df200006
-d8c048fa
+d8c04cb4
 efe08006
 203a4dee
 98467c00
@@ -11752,9 +11752,9 @@
 18467cbf
 20610000
 18410e07
-6fe0c8f8
+6fe0ccb2
 f9207e00
-67e0c8f8
+67e0ccb2
 20600000
 18467ce7
 24214df2
@@ -11765,12 +11765,12 @@
 20600000
 44aac00a
 20404e14
-7049a100
-7049a200
-7049a300
-6fe0c8f8
+704d5b00
+704d5c00
+704d5d00
+6fe0ccb2
 245a4e41
-d8c048fa
+d8c04cb4
 df200006
 efe08006
 1fe67c7f
@@ -11781,20 +11781,20 @@
 6fe0c666
 c0004e11
 20404b37
-6fe0c9a4
+6fe0cd5e
 203a4e24
-6fe148fa
-684949a5
+6fe14cb4
+68494d5f
 98467c00
 2022ce29
 18508400
 98467c00
 2022ce29
 20600000
-6fe0c9a4
+6fe0cd5e
 203a4e24
 20204e32
-6fe0c9a4
+6fe0cd5e
 247a0000
 6848c655
 18467cff
@@ -11802,20 +11802,20 @@
 20406ee6
 2420ce20
 df200008
-d8a048f8
+d8a04cb2
 20407ca1
-7048fade
+704cb4de
 20600000
-6fe0c8fa
+6fe0ccb4
 c1ef0000
-7048fa00
+704cb400
 20600000
 44ab400a
-6fe0c9a3
+6fe0cd5d
 207a0000
 6fe0c666
 c0004e39
-7048f400
+704cae00
 6fe0c666
 c1000000
 6fe44713
@@ -11824,95 +11824,95 @@
 20405f00
 204042d0
 20204b90
-6fe148fa
-684949a7
+6fe14cb4
+68494d61
 98467c00
 2022ce39
 18508400
 98467c00
 24628000
 204049f8
-7048f400
+704cae00
 6fe145d8
 247a0000
 58000000
 67e14781
 20404b7c
 20206047
-7049a201
+704d5c01
 20600000
-7049a101
+704d5b01
 20600000
-7049a301
+704d5d01
 20600000
 44abc00a
 78547c00
-70496c00
-70496d00
-70496e00
-6fe0c9c1
+704d2600
+704d2700
+704d2800
+6fe0cd7b
 c000cda5
 c0014daa
 c001cdaa
 c0024dae
 c0034db7
-6fe0c8f4
+6fe0ccae
 203a4e64
 1fe0ffff
-67e0c8f4
+67e0ccae
 20404e61
-7049ac0a
+704d660a
 20405c0b
-6fe0c9c1
+6fe0cd7b
 c002cdb6
-d8a04855
+d8a04c0f
 df20000a
 20407ca1
 20404e74
-70485f00
+704c1900
 20600000
 7040c003
 70477e0a
 20600000
 6fe0c666
 c1008000
-6fe0c9ab
+6fe0cd65
 207a0000
-6fe0c9a9
+6fe0cd63
 247a0000
-6848c9ad
-6fe0c9ac
+6848cd67
+6fe0cd66
 98467c00
-67e0c9ad
+67e0cd67
 20628000
-d8a04855
+d8a04c0f
 df20000a
 20407ca1
 20407dba
 20204e89
-6fe0c9c5
+6fe0cd7f
 c0014f05
-d8c048fa
+d8c04cb4
 df200006
 efe08006
 1fe67ce7
 24214e9c
 c2004e78
-6fe0c8f1
+6fe0ccab
 205a4e92
-70485500
-6fe0c8fa
+704c0f00
+6fe0ccb4
 1fe67c7f
 2022ce95
-d8c048f8
-d8a04856
+d8c04cb2
+d8a04c10
 df200008
 efe08006
 c03fce9a
 e7e08005
 c2004e85
 20404f10
-6fe0c85f
+6fe0cc19
 c000fdba
 c0014e90
 c001ce90
@@ -11920,21 +11920,21 @@
 c002ce90
 20405917
 20207dba
-d8a048f8
+d8a04cb2
 df200009
 20207ca1
-6fe148f8
-67e14856
-6fe348fb
-67e34858
+6fe14cb2
+67e14c10
+6fe34cb5
+67e34c12
 20204e89
 58000000
 20204e87
 1fe20400
 44ac400b
 18427e00
-70485503
-6848c8f1
+704c0f03
+6848ccab
 18467c00
 2022cf05
 c0744ebb
@@ -11962,134 +11962,134 @@
 c07fcf0c
 20204e89
 58000183
-67e14856
+67e14c10
 20204e89
 580000cd
-67e14856
+67e14c10
 20204e89
 580000b7
-67e14856
+67e14c10
 20204e89
 580000b6
-67e14856
+67e14c10
 20204e89
 580000b5
-67e14856
+67e14c10
 20204e89
 580000ea
-67e14856
+67e14c10
 20204e89
 580000e9
-67e14856
+67e14c10
 20204e89
 580000e2
-67e14856
+67e14c10
 20204e89
 58000194
-67e14856
+67e14c10
 20204e89
 5800018a
-67e14856
+67e14c10
 20204e89
 58000192
-67e14856
+67e14c10
 20204e89
 58000070
-67e14856
+67e14c10
 20204e89
 5800006f
-67e14856
+67e14c10
 20204e89
 5800022a
-67e14856
+67e14c10
 20204e89
 58000225
-67e14856
+67e14c10
 20204e89
 58000224
-67e14856
+67e14c10
 20204e89
 58000226
-67e14856
+67e14c10
 20204e89
 58000227
-67e14856
+67e14c10
 20204e89
-6fe0c9c6
+6fe0cd80
 c0014ef7
 c001cef7
 58000221
-67e14856
+67e14c10
 20204e89
 58000223
-67e14856
+67e14c10
 20204e89
 58000030
-67e14856
+67e14c10
 20204e89
-6fe0c9c6
+6fe0cd80
 c000cf02
 580001ae
-67e14856
+67e14c10
 20204e89
 58000307
-67e14856
+67e14c10
 20204e89
-7048f402
-6fe0c8f1
+704cae02
+6fe0ccab
 205a4e92
-7049c500
+704d7f00
 58000003
-67e1c855
+67e1cc0f
 20204e89
-70485502
+704c0f02
 58000002
-67e0c856
+67e0cc10
 20204e89
 44acc00b
 6fe0c666
 c0804f18
-7049a900
-6fe14855
+704d6300
+6fe14c0f
 245a4afc
-6fe34858
+6fe34c12
 245a4afc
-6fe0c855
+6fe0cc0f
 c0004f23
 c000cf1e
 c001cf2e
 c0014f36
 20600000
-70485f01
-d8c04855
-d8a04846
+704c1901
+d8c04c0f
+d8a04c00
 df200007
 20207cda
-70485f02
+704c1902
 20404f3e
 6fe0c666
 c000cf2a
 20404af1
-6fe0c9ab
-67e0c857
-d8c04855
+6fe0cd65
+67e0cc11
+d8c04c0f
 d8a0472a
 df200009
 20207cda
-70485f04
+704c1904
 20404f3e
 58000003
 20405f15
-d8c04856
+d8c04c10
 d8a0472b
 df200002
 20207cda
-70485f05
+704c1905
 20404f3e
 58000002
 67e4472a
 67e44733
-6fe0c856
+6fe0cc10
 67e0c72b
 20600000
 df200012
@@ -12103,7 +12103,7 @@
 20406eb2
 6848c655
 20406eb6
-6fe14898
+6fe14c52
 1fe22400
 df200014
 e8408012
@@ -12111,7 +12111,7 @@
 2440eef7
 1a40a401
 c2004f4c
-6fe14896
+6fe14c50
 1fe22400
 df200008
 e8408012
@@ -12120,7 +12120,7 @@
 1a40a401
 c2004f54
 20600000
-6fe0c8eb
+6fe0cca5
 203a6eb6
 20206eb2
 c6130000
@@ -12175,11 +12175,11 @@
 20404fa0
 20404fd5
 20204fdb
-6fe4489c
+6fe44c56
 243a4f8e
-6fe448a4
+6fe44c5e
 243a4f8e
-6fe248ac
+6fe24c66
 243a4f8e
 6fe0c618
 c1008000
@@ -12195,7 +12195,7 @@
 69610040
 34730200
 20404df5
-6fe0c9a3
+6fe0cd5d
 243a5ed1
 20403651
 6fe0c57f
@@ -12234,11 +12234,11 @@
 20402408
 6fe1c0bd
 203a7dbc
-6fe0c9a1
+6fe0cd5b
 243a7dbc
-6fe0c9a2
+6fe0cd5c
 243a7dbc
-6fe0c9c4
+6fe0cd7e
 243a7dbc
 6fe0c618
 c000fdbc
@@ -12264,12 +12264,12 @@
 24740000
 6fe44713
 c30b60a1
-6fe0c96c
+6fe0cd26
 243a4fed
 202060a1
 70458902
 da200009
-6fe0c96d
+6fe0cd27
 243a4ff3
 da404733
 20600000
@@ -12333,7 +12333,7 @@
 6fe0c4f9
 c07fcb11
 20600000
-7049f101
+704dab01
 da200017
 da400004
 204029fb
@@ -12345,10 +12345,10 @@
 e7e10005
 58002800
 e7e10005
-d8c049e1
+d8c04d9b
 20207c8f
 44b0c00c
-6fe0c9f1
+6fe0cdab
 207a0000
 1a220c00
 efe18006
@@ -12358,28 +12358,28 @@
 c003d048
 c000d05b
 20202b96
-6fe0c9f1
+6fe0cdab
 c001506c
-7049c602
+704d8002
 20205050
 6fe0c2cb
-67e0c9c6
+67e0cd80
 20205050
-7049c603
-7049f100
-684949df
+704d8003
+704dab00
+68494d99
 58001fd0
 98462400
-da2049c6
+da204d80
 df200001
 20406b45
-684949df
+68494d99
 1840840e
-604949df
+60494d99
 20600000
-6fe0c9f1
+6fe0cdab
 c001504c
-7049f102
+704dab02
 da200009
 da400004
 204029fb
@@ -12392,7 +12392,7 @@
 58002800
 e7e10005
 df200002
-d8c049f2
+d8c04dac
 20207cda
 da200007
 da400004
@@ -12435,7 +12435,7 @@
 df200009
 6fe14339
 1fe0a205
-da4049f4
+da404dae
 20407d64
 2022d04f
 2020504c
@@ -13373,8 +13373,8 @@
 67e142f7
 7040c103
 7040a608
-70497f00
-70498000
+704d3900
+704d3a00
 58000200
 67e140a4
 7042e117
@@ -13386,7 +13386,7 @@
 20205539
 44b6400d
 2040543b
-70487a00
+704c3400
 58000a77
 67e143f5
 38001224
@@ -13405,18 +13405,18 @@
 6fe1c608
 67e1c75d
 6fe0c666
-67e0c9a1
+67e0cd5b
 6fe1c2de
 67e1c797
 58000000
-67e3c846
+67e3cc00
 6fe0c4eb
-67e0c97c
-67e0c97d
+67e0cd36
+67e0cd37
 20402969
 44b6c00d
 6fe0c64f
-67e0c958
+67e0cd12
 6fe0c64e
 c17f8000
 6848c64e
@@ -13426,7 +13426,7 @@
 2040d473
 202055b1
 6fe0c650
-67e0c958
+67e0cd12
 20600000
 6fe1c743
 67e1c608
@@ -13508,11 +13508,11 @@
 20405b72
 20207870
 c5134308
-6fe0c956
+6fe0cd10
 203a4308
 6fe0c7c2
 c000c308
-6fe0c857
+6fe0cc11
 243a4308
 2020430a
 44b8c00e
@@ -13765,9 +13765,9 @@
 c20055bd
 20600000
 44bcc00f
-6fe4498d
+6fe44d47
 207a0000
-6fe0c98c
+6fe0cd46
 1fe22200
 1fe67c0b
 242155dd
@@ -13777,7 +13777,7 @@
 d8a0436b
 204055d3
 d8a0426c
-d8c0498d
+d8c04d47
 1a227200
 20207cda
 d8a047a9
@@ -13788,23 +13788,23 @@
 df20000b
 20207ca1
 204055f3
-6fe0c98c
+6fe0cd46
 1fe0fe01
 67e0c7a0
 7047a109
-d8c0498d
+d8c04d47
 d8a047a2
 1a227200
 20407cda
-6fe0c98c
+6fe0cd46
 1fe0fe01
 67e0c369
 70436a09
-d8c0498d
+d8c04d47
 d8a0436b
 1a227200
 20407cda
-d8c0498c
+d8c04d46
 d8a0426b
 1a227200
 1f20f201
@@ -13826,7 +13826,7 @@
 44bd400f
 78547c00
 58000000
-67e34847
+67e34c01
 204059f6
 58000089
 204069e4
@@ -13834,32 +13834,32 @@
 20405612
 20405617
 204057a6
-6fe0c846
+6fe0cc00
 1fe17e1f
-67e0c846
+67e0cc00
 24345f37
 20405f26
 20205c0b
-6fe0c856
+6fe0cc10
 207a0000
-67e0c84b
-70485600
+67e0cc05
+704c1000
 20207dba
-6fe0c852
+6fe0cc0c
 207a0000
-67e0c84c
-70485200
+67e0cc06
+704c0c00
 20207dba
 20405629
 20405665
-6fe0c850
-6848c84f
-67e0c84f
+6fe0cc0a
+6848cc09
+67e0cc09
 98467c00
 2422c30c
-6fe0c854
-6848c853
-67e0c853
+6fe0cc0e
+6848cc0d
+67e0cc0d
 98467c00
 2422c30c
 20600000
@@ -13873,55 +13873,55 @@
 20406ee6
 7920a201
 1a227e00
-67e0c850
+67e0cc0a
 c000d639
 c001563d
-6fe0c851
+6fe0cc0b
 c283d649
 20600000
-6fe0c84f
+6fe0cc09
 c0005641
 c001d643
 20600000
-6fe0c84f
+6fe0cc09
 c0005645
 c001d647
 20600000
-70485182
+704c0b82
 20600000
-70485181
+704c0b81
 20600000
-70485180
+704c0b80
 20600000
-70485183
+704c0b83
 20600000
-6fe0c851
+6fe0cc0b
 793ffe07
-67e0c851
+67e0cc0b
 c0005651
 c000d654
 c0015657
 c001d65a
 20600000
-6fe0c850
+6fe0cc0a
 c001d65d
 20600000
-6fe0c850
+6fe0cc0a
 c000565d
 20600000
-6fe0c850
+6fe0cc0a
 c001d661
 20600000
-6fe0c850
+6fe0cc0a
 c0005661
 20600000
-6fe0c852
+6fe0cc0c
 1fe0fe01
-67e0c852
+67e0cc0c
 20600000
-6fe0c852
+6fe0cc0c
 1fe0ffff
-67e0c852
+67e0cc0c
 20600000
 6fe0c64a
 c17f8000
@@ -13933,55 +13933,55 @@
 20406ee6
 7920a201
 1a227e00
-67e0c854
+67e0cc0e
 c000d675
 c0015679
-6fe0c855
+6fe0cc0f
 c283d685
 20600000
-6fe0c853
+6fe0cc0d
 c000567d
 c001d67f
 20600000
-6fe0c853
+6fe0cc0d
 c0005681
 c001d683
 20600000
-70485582
+704c0f82
 20600000
-70485581
+704c0f81
 20600000
-70485580
+704c0f80
 20600000
-70485583
+704c0f83
 20600000
-6fe0c855
+6fe0cc0f
 793ffe07
-67e0c855
+67e0cc0f
 c000568d
 c000d690
 c0015693
 c001d696
 20600000
-6fe0c854
+6fe0cc0e
 c001d699
 20600000
-6fe0c854
+6fe0cc0e
 c0005699
 20600000
-6fe0c854
+6fe0cc0e
 c001d69d
 20600000
-6fe0c854
+6fe0cc0e
 c000569d
 20600000
-6fe0c856
+6fe0cc10
 1fe0fe01
-67e0c856
+67e0cc10
 20600000
-6fe0c856
+6fe0cc10
 1fe0ffff
-67e0c856
+67e0cc10
 20600000
 6848c64a
 20406eb2
@@ -13999,23 +13999,23 @@
 204055ab
 6848c653
 202055ab
-6fe1484b
+6fe14c05
 207a0000
-70485701
-7048580a
+704c1101
+704c120a
 20600000
-da604858
+da604c12
 da4056b9
 202042e0
-70485700
+704c1100
 20600000
 6fe0c649
 c17f8000
 da200000
-70497705
+704d3105
 6848c649
 204056c8
-67e0c974
+67e0cd2e
 6fe0c654
 c07fd6d8
 204058df
@@ -14024,11 +14024,11 @@
 202056e7
 6fe44713
 c295d6de
-6fe0c974
+6fe0cd2e
 1fe22600
 6fe0c654
 c07fd931
-6fe0c97b
+6fe0cd35
 243a56db
 20406ee6
 6848c654
@@ -14036,38 +14036,38 @@
 6848c654
 20406ef7
 6848c649
-6fe0c974
+6fe0cd2e
 20205925
 6848c649
 204055b5
 202056c5
-70487a00
-70497400
+704c3400
+704d2e00
 20600000
-6fe0c974
+6fe0cd2e
 20205925
-6fe0c87a
+6fe0cc34
 c1008000
-70487a01
+704c3401
 6fe44713
 c3940000
 c39b0000
 202056f7
-6fe0c87a
+6fe0cc34
 c1000000
-70487a00
+704c3400
 6fe44713
 c29456ee
 c29b56ee
 20600000
-6fe0c87b
+6fe0cc35
 243a56f2
-6fe0c97d
+6fe0cd37
 245a56f7
-70487b00
+704c3500
 6fe0c4eb
-67e0c97d
-67e0c97c
+67e0cd37
+67e0cd36
 20600000
 44bdc00f
 20405728
@@ -14082,7 +14082,7 @@
 67e0c690
 20405744
 20205cac
-6fe0c98a
+6fe0cd44
 243a5721
 6fe44713
 c28e5715
@@ -14126,19 +14126,19 @@
 c2945730
 c29b5737
 20600000
-6fe0c87a
+6fe0cc34
 c1808000
-da60497d
+da604d37
 da405735
 202042e0
-70487b01
+704c3501
 20205ec6
-6fe0c87a
+6fe0cc34
 c1808000
-da60497c
+da604d36
 da40573c
 202042e0
-70487b01
+704c3501
 20205ba3
 6fe44713
 c38e0000
@@ -14150,7 +14150,7 @@
 2040573e
 2040613a
 44bec00f
-6fe0c957
+6fe0cd11
 c006576b
 c001d785
 c005d799
@@ -14159,24 +14159,24 @@
 c000d751
 c0015755
 c001d757
-6848c869
+6848cc23
 20205758
-6848c868
+6848cc22
 20205758
-6848c86a
+6848cc24
 20205758
-6848c86b
-6fe0c957
+6848cc25
+6fe0cd11
 c0025767
 c002d767
 c0045769
 c003d769
 c0035767
-6048c879
+6048cc33
 58000006
 204069e5
 1fe104f8
-6fe0c879
+6fe0cc33
 9840fe00
 1fed7e00
 1fe0fe06
@@ -14189,19 +14189,19 @@
 c000576f
 c000d775
 c0015778
-6fe0c874
+6fe0cc2e
 1fe22200
 2020577d
-6fe0c875
+6fe0cc2f
 1fe22200
 2020577d
-6fe0c876
+6fe0cc30
 1fe22200
 2020577d
-6fe0c877
+6fe0cc31
 1fe22200
 2020577d
-6fe0c878
+6fe0cc32
 1fe22200
 5800c309
 204069e4
@@ -14216,14 +14216,14 @@
 c000d78a
 c001578e
 c001d790
-6fe0c86d
+6fe0cc27
 20205791
-6fe0c86c
+6fe0cc26
 20205791
-6fe0c86e
+6fe0cc28
 20205791
-6fe0c86f
-67e0c879
+6fe0cc29
+67e0cc33
 1fed7e00
 1fe22200
 1fe0fe0d
@@ -14236,27 +14236,27 @@
 c000d79e
 c00157a2
 c001d7a4
-6fe0c871
+6fe0cc2b
 20205791
-6fe0c870
+6fe0cc2a
 20205791
-6fe0c872
+6fe0cc2c
 20205791
-6fe0c873
+6fe0cc2d
 20205791
 2040584c
-6fe0c987
+6fe0cd41
 243a5860
-6fe0c982
+6fe0cd3c
 243a585f
 20405888
 204057bc
 2040552f
 204057b7
 1a227e00
-6848c84e
-67e0c84e
-67e0c846
+6848cc08
+67e0cc08
+67e0cc00
 9842fe00
 1fe67c00
 20628000
@@ -14264,11 +14264,11 @@
 c6930000
 1a227e00
 207a0000
-67e0c846
+67e0cc00
 20207dba
-70497900
-70497a00
-70497b00
+704d3300
+704d3400
+704d3500
 1fe22400
 6848c644
 6fe0c647
@@ -14309,12 +14309,12 @@
 204057f5
 20405801
 20405804
-6fe0c97a
+6fe0cd34
 207a0000
-6fe0c979
+6fe0cd33
 207a0000
-70497b01
-6fe0c84e
+704d3501
+6fe0cc08
 1fe22200
 20600000
 1a417e09
@@ -14344,9 +14344,9 @@
 c003580a
 c003d80a
 20600000
-70497a01
+704d3401
 20600000
-70497901
+704d3301
 20600000
 6fe44713
 c40b8000
@@ -14358,39 +14358,39 @@
 202055b5
 6fe0c658
 20405946
-70498b00
+704d4500
 6848c658
-6fe0c988
+6fe0cd42
 2040583d
 20405828
 6848c658
 202055b5
 204055b5
-6fe0c989
+6fe0cd43
 c1008000
-70498901
+704d4301
 202056f7
-70498b00
+704d4500
 6848c658
-6fe0c988
+6fe0cd42
 20405833
-67e0c988
-6fe0c98a
+67e0cd42
+6fe0cd44
 203a582f
-6fe0c989
+6fe0cd43
 c1008000
-70498901
+704d4301
 202056f7
-6fe0c989
+6fe0cd43
 c1000000
-70498900
+704d4300
 20600000
 1fe3fe00
 1fe22400
 20406ee6
 7920a400
 1a417e07
-6848c98b
+6848cd45
 18420e00
 c003d848
 c000584a
@@ -14401,14 +14401,14 @@
 20406ee6
 7920a400
 1a417e07
-6848c98b
+6848cd45
 18420e00
 c003d848
 c000584a
 20600000
-70498a01
+704d4401
 20600000
-70498a00
+704d4400
 20600000
 da400000
 6fe0c657
@@ -14421,7 +14421,7 @@
 20406ee6
 7920a400
 1a427e00
-67e0c987
+67e0cd41
 20600000
 6848c657
 204055b1
@@ -14431,44 +14431,44 @@
 20205856
 c0025878
 2040587b
-6fe24983
+6fe24d3d
 d84000a0
 98408400
 1c427e00
 98467c00
 24610000
-67e24983
-6fe0c982
+67e24d3d
+6fe0cd3c
 c000586e
 c000d871
 c0015874
 c001d876
 20600000
-70498201
-70484601
+704d3c01
+704c0001
 20207dba
-70498202
-70484600
+704d3c02
+704c0000
 20207dba
-70498203
+704d3c03
 2020586f
-70498200
+704d3c00
 20205872
-70498200
-70484600
+704d3c00
+704c0000
 20600000
-684a4983
+684a4d3d
 1c427e00
 98467c00
 24415880
 20600000
 58000000
-67e24983
+67e24d3d
 20600000
 20405895
 20405888
 58000000
-67e1c96f
+67e1cd29
 20600000
 44bf400f
 6fe0c73f
@@ -14484,39 +14484,39 @@
 1a227e00
 20600000
 58030303
-67e1c96f
+67e1cd29
 20600000
 6fe0c644
 20405943
-70497700
+704d3100
 6848c644
-6fe0c96f
+6fe0cd29
 20405925
-67e0c96f
+67e0cd29
 6848c644
 202055b5
 6fe0c646
 20405943
-70497701
+704d3101
 6848c646
-6fe0c970
+6fe0cd2a
 20405925
-67e0c970
+67e0cd2a
 6848c646
 202055b5
 6fe0c645
 20405943
-70497702
+704d3102
 6848c645
-6fe0c971
+6fe0cd2b
 20405925
-67e0c971
+67e0cd2b
 6848c645
 202055b5
 6fe0c647
 c17f8000
-70497703
-6fe0c972
+704d3103
+6fe0cd2c
 1fe22600
 6848c647
 6fe0c654
@@ -14526,25 +14526,25 @@
 6848c654
 20406ef7
 6848c647
-6fe0c972
+6fe0cd2c
 20405925
-67e0c972
+67e0cd2c
 202058df
 6848c654
-6fe0c972
+6fe0cd2c
 20405925
 202058c2
 6fe0c647
 20405946
 6848c647
 20405931
-67e0c972
+67e0cd2c
 6848c647
 202055b5
 6fe0c648
 c17f8000
-70497704
-6fe0c973
+704d3104
+6fe0cd2d
 1fe22600
 6848c648
 6fe0c654
@@ -14554,41 +14554,41 @@
 6848c654
 20406ef7
 6848c648
-6fe0c973
+6fe0cd2d
 20405925
-67e0c973
+67e0cd2d
 6848c654
 202055b5
 6848c654
-6fe0c973
+6fe0cd2d
 20405925
 202058de
 6fe0c648
 20405946
 6848c648
 20405931
-67e0c973
+67e0cd2d
 6848c648
 202055b5
-70496c00
+704d2600
 6fe0c656
 c17f8000
 6fe44713
 c40b0000
 c297d8fd
-70497707
+704d3107
 6848c656
-6fe0c976
+6fe0cd30
 20405925
-67e0c976
+67e0cd30
 1a227e00
 c283d917
 2040591a
-6fe0c96d
-67e0c96e
+6fe0cd27
+67e0cd28
 20600000
-70497707
-6fe0c976
+704d3107
+6fe0cd30
 1fe22600
 6848c656
 6fe0c654
@@ -14598,31 +14598,31 @@
 6848c654
 20406ef7
 6848c656
-6fe0c976
+6fe0cd30
 20405925
 20205913
 6848c654
-6fe0c976
+6fe0cd30
 20405925
 20205913
 6fe0c656
 20405946
 6848c656
 20405931
-67e0c976
+67e0cd30
 204058f7
 6848c656
 202055b5
-70496d01
+704d2701
 2040591d
 202058fa
-70496d00
-6fe0c96e
+704d2700
+6fe0cd28
 207a0000
-70496c01
+704d2601
 20600000
 20406ee6
-6848c977
+6848cd31
 18420e00
 2020d92f
 f93fa200
@@ -14632,7 +14632,7 @@
 20406ee6
 7920a400
 1a417e07
-6848c977
+6848cd31
 18420e00
 c003d92f
 c0005923
@@ -14641,7 +14641,7 @@
 20600000
 44bfc00f
 1a627e00
-67e0c978
+67e0cd32
 1fe3fe00
 1fe22400
 18422600
@@ -14651,7 +14651,7 @@
 7d20a400
 2040593d
 2020592a
-6848c978
+6848cd32
 18410401
 1a417e01
 98467c00
@@ -14680,12 +14680,12 @@
 202055fb
 58000001
 204069e5
-67e0c85a
+67e0cc14
 58000000
 204069e5
-67e0c859
+67e0cc13
 20600000
-6fe0c85a
+6fe0cc14
 c02d596e
 c06c5974
 c068d968
@@ -14698,12 +14698,12 @@
 204069e5
 c050d96c
 20205983
-7049570c
+704d110c
 20600000
-70495705
+704d1105
 204059da
 20407c95
-da6048d6
+da604c90
 20405995
 20205747
 58000016
@@ -14718,27 +14718,27 @@
 204069e5
 1fe67c1d
 2422d949
-70495706
-da60491a
+704d1106
+da604cd4
 20205995
-70495700
-da604890
+704d1100
+da604c4a
 20405995
-da60489a
+da604c54
 20405995
 58000943
 204069e4
-da6048b4
+da604c6e
 20205995
-70495702
-da604886
+704d1102
+da604c40
 20405995
-da60489a
+da604c54
 20405995
-da6048b4
+da604c6e
 20205995
-70495703
-da60487c
+704d1103
+da604c36
 efe10013
 d840ffff
 98467c00
@@ -14764,10 +14764,10 @@
 1fe67ca5
 2022d9b0
 204059c0
-70495708
+704d1108
 20600000
-70495709
-da6048fc
+704d1109
+da604cb6
 20205995
 1fe67c10
 2422d94d
@@ -14780,46 +14780,46 @@
 1fe67c38
 2422d94d
 204059c0
-7049570a
+704d110a
 20600000
 5800005b
 204069e4
 202059d6
-70495707
-da60493a
+704d1107
+da604cf4
 20205995
 204059e7
-6fe0c85a
+6fe0cc14
 c03859cd
 c00059cb
 2020594d
-70495701
+704d1101
 20600000
-70495704
+704d1104
 20600000
 204059e7
-6fe0c85a
+6fe0cc14
 c02cd9d3
 2020595f
-7049570b
-da60492a
+704d110b
+da604ce4
 20205995
 58000009
 202069e4
 58005a09
 202069e4
 d8408006
-6fe0c957
+6fe0cd11
 c085d9de
 d8409706
 18427e00
 204069e4
 20002ee0
 20600000
-da604946
-6fe0c957
+da604d00
+6fe0cd11
 c1858000
-da60494e
+da604d08
 20600000
 44c14010
 204055f6
@@ -14831,14 +14831,14 @@
 20405949
 204055f6
 d8400806
-6fe0c957
+6fe0cd11
 c085d9f4
 d8401f06
 18427e00
 202069e4
 6fe0c420
 c1800000
-6fe0c957
+6fe0cd11
 c0005a02
 c000da02
 c0045a02
@@ -14862,13 +14862,13 @@
 204069e5
 c4038000
 20405a84
-6fe0c847
+6fe0cc01
 20405a7c
-67e14847
-6fe0c849
+67e14c01
+6fe0cc03
 20405a7c
-67e14849
-6fe0c958
+67e14c03
+6fe0cd12
 c0005a1e
 c000da20
 c0015a22
@@ -14898,15 +14898,15 @@
 c4038000
 20405a84
 20405a42
-67e0c84d
+67e0cc07
 1ff1fe00
 20405a80
-67e0c848
-6fe0c84d
+67e0cc02
+6fe0cc07
 1fe17e0f
 20405a80
-67e0c84a
-6fe0c958
+67e0cc04
+6fe0cd12
 c0005a56
 c000da5e
 c0015a5a
@@ -14930,36 +14930,36 @@
 204069e5
 203a5a0f
 58000000
-67e34847
+67e34c01
 20600000
-6fe14847
+6fe14c01
 1fe67e00
-67e14847
+67e14c01
 20207dba
-6fe14849
+6fe14c03
 1fe67e00
-67e14849
+67e14c03
 20207dba
-6fe14849
+6fe14c03
 1fe67e00
-67e14849
-6fe14847
+67e14c03
+6fe14c01
 1fe67e00
-67e14847
+67e14c01
 20405a68
 20207dba
 20405a68
 20207dba
-6fe14849
-68494847
-67e14847
-60494849
+6fe14c03
+68494c01
+67e14c01
+60494c03
 20600000
-6fe0c860
+6fe0cc1a
 205a5a84
-70486001
+704c1a01
 20600000
-70495601
+704d1001
 204029c9
 20205949
 6fe0c659
@@ -14968,7 +14968,7 @@
 c1808000
 58000000
 67e0c77d
-67e24847
+67e24c01
 20205a73
 c4038000
 d840ff00
@@ -14980,10 +14980,10 @@
 20600000
 dfe00003
 204069e5
-67e14847
+67e14c01
 dfe00004
 204069e5
-67e14849
+67e14c03
 20600000
 6848c64d
 20406ee6
@@ -15027,12 +15027,12 @@
 6fe44713
 c40d8000
 24345aba
-6fe0c959
+6fe0cd13
 1fe0fe01
 1fe17e0f
-67e0c959
+67e0cd13
 247a0000
-70495900
+704d1300
 20207dbc
 6fe0c659
 c1ff8000
@@ -15080,7 +15080,7 @@
 604942d3
 604942d5
 7047c200
-70495600
+704d1000
 204029cb
 20205b76
 d8e00002
@@ -15125,13 +15125,13 @@
 67e142d5
 6fe081a4
 203a5b1d
-6848c96b
+6848cd25
 98467c00
 20215b1d
 6fe081a4
 67e0c0c0
 20205b1f
-6fe0c96b
+6fe0cd25
 67e0c0c0
 7047c200
 20600000
@@ -15145,7 +15145,7 @@
 6fe0c843
 1fe17e03
 c1818000
-6fe0c956
+6fe0cd10
 205a5a71
 6fe44713
 c280db5b
@@ -15160,10 +15160,10 @@
 204056b1
 6fe44713
 c30b5b3c
-6fe0c96c
+6fe0cd26
 c000db3d
 20205b5d
-6fe0c96d
+6fe0cd27
 203a5b4d
 6fe4472b
 67e40670
@@ -15194,9 +15194,9 @@
 e7e08005
 20600000
 58000000
-67e3c846
+67e3cc00
 7047b407
-6fe3c846
+6fe3cc00
 67e38670
 6849439b
 20205b46
@@ -15226,9 +15226,9 @@
 c28042fc
 20205c1a
 58000000
-67e4484f
+67e44c09
 e7e20005
-70486000
+704c1a00
 70429a00
 20600000
 20405b21
@@ -15260,9 +15260,9 @@
 6fe44713
 c29bdb9e
 20600000
-6fe0c97f
+6fe0cd39
 c1808000
-da60497c
+da604d36
 da405ba3
 202042e0
 6fe0c666
@@ -15282,30 +15282,30 @@
 6fe44713
 c4190000
 6848c728
-6048c97e
+6048cd38
 20405888
 1fe17e07
-6848c97e
+6848cd38
 98467c00
 2022dbc0
 6fe0c4eb
-67e0c981
-6fe0c980
+67e0cd3b
+6fe0cd3a
 c1000000
-70498000
+704d3a00
 20600000
 20405bc5
-6fe0c980
+6fe0cd3a
 c1008000
-70498001
+704d3a01
 20600000
 da406047
-da604981
+da604d3b
 6fe0c666
 c00042e0
 da405ba3
 204042e0
-6fe0c981
+6fe0cd3b
 c000def2
 20600000
 da604790
@@ -15359,7 +15359,7 @@
 da60477e
 da405c01
 202042e0
-6fe0c96b
+6fe0cd25
 67e0c0c0
 70477d01
 20600000
@@ -15410,7 +15410,7 @@
 67e147c0
 67e0c845
 67e0c792
-67e0c956
+67e0cd10
 d8e00002
 20405f00
 20405ef4
@@ -15435,10 +15435,10 @@
 6fe08032
 c01a5c4d
 20600000
-67e0c95a
+67e0cd14
 6fe30178
-67e3495b
-6fe3c95a
+67e34d15
+6fe3cd14
 d8c04667
 df200003
 e8438006
@@ -15465,7 +15465,7 @@
 20600000
 18c08dfa
 18c20a00
-684b495b
+684b4d15
 18408403
 e0430005
 20600000
@@ -15493,7 +15493,7 @@
 2022dc8f
 6049468e
 20405c9c
-6fe0c9a1
+6fe0cd5b
 67e0c666
 6fe245e4
 67e245e8
@@ -15508,10 +15508,10 @@
 20600000
 6fe44713
 c4078000
-6fe149fa
+6fe14db4
 1fe22400
 20405e51
-6fe0c9d4
+6fe0cd8e
 205a5c8c
 20600000
 6fe342db
@@ -15553,36 +15553,36 @@
 20405cc3
 20405ce5
 20205d26
-6a4149e2
+6a414d9c
 1a422600
 20405dc0
-6fe0c9a1
+6fe0cd5b
 203a5ccf
-67e0c9a0
+67e0cd5a
 1a60a601
-6fe149e4
+6fe14d9e
 9a667c00
 24610000
 1a622400
 20205cc5
-6fe0c9a0
+6fe0cd5a
 1fe17ef0
 203a5cd8
 6fe0c666
-67e0c9a2
+67e0cd5c
 df200001
 1a622400
-da2049a2
+da204d5c
 20206b45
-6fe0c9a0
+6fe0cd5a
 6848c666
 98467c00
 20628000
 18520400
 9840fe00
-67e0c9a2
+67e0cd5c
 1a627e00
-684949e2
+68494d9c
 98467c00
 2022dcd4
 1a60a7ff
@@ -15592,19 +15592,19 @@
 c000dcfe
 c0015d12
 20600000
-6a4149e6
+6a414da0
 1a422600
 20405e29
-6fe249da
+6fe24d94
 203a5cf6
-67e249d6
+67e24d90
 1a60a604
-6fe149e8
+6fe14da2
 9a667c00
 24610000
 1a622400
 20205cec
-6fe249d6
+6fe24d90
 684a4691
 98467c00
 20628000
@@ -15612,19 +15612,19 @@
 da204691
 1a622400
 20206b45
-6a4149ea
+6a414da4
 1a422600
 20405de1
-6fe349a9
+6fe34d63
 203a5d0a
-67e349a3
+67e34d5d
 1a60a606
-6fe149ec
+6fe14da6
 9a667c00
 24610000
 1a622400
 20205d00
-6fe349a3
+6fe34d5d
 684b4668
 98467c00
 20628000
@@ -15632,19 +15632,19 @@
 da204668
 1a622400
 20206b45
-6a4149f2
+6a414dac
 1a422600
 20405e05
-6fe349c1
+6fe34d7b
 203a5d1e
-67e349bb
+67e34d75
 1a60a606
-6fe149f4
+6fe14dae
 9a667c00
 24610000
 1a622400
 20205d14
-6fe349bb
+6fe34d75
 684b4675
 98467c00
 20628000
@@ -15654,19 +15654,19 @@
 20206b45
 6fe0c666
 c1000000
-6a4149fe
+6a414db8
 1a422600
 20405e3d
-6fe149e0
+6fe14d9a
 203a5d34
-67e149de
+67e14d98
 1a60a602
-6fe14a00
+6fe14dba
 9a667c00
 24610000
 1a622400
 20205d2a
-6fe149de
+6fe14d98
 68494695
 98467c00
 20628000
@@ -15676,36 +15676,36 @@
 20206b45
 6fe44713
 c4078000
-6a4149fa
+6a414db4
 1a422600
 20405e51
-6fe0c9d4
+6fe0cd8e
 203a5d4a
-67e0c9d3
+67e0cd8d
 1a60a601
-6fe149fc
+6fe14db6
 9a667c00
 24610000
 1a622400
 20205d40
-6fe0c9d3
+6fe0cd8d
 1fe17ef0
 203a5d53
 6fe0c690
-67e0c9d5
+67e0cd8f
 df200001
 1a622400
-da2049d5
+da204d8f
 20206b45
-6fe0c9d3
+6fe0cd8d
 6848c690
 98467c00
 20628000
 18520400
 9840fe00
-67e0c9d5
+67e0cd8f
 1a627e00
-684949fa
+68494db4
 98467c00
 2022dd4f
 1a60a7ff
@@ -15785,31 +15785,31 @@
 20405dcc
 20405e2f
 df200002
-6fe14a02
+6fe14dbc
 1fe22400
 da20468e
 20406b74
 20405c80
 df200002
 da20468e
-6a414a02
+6a414dbc
 20206b45
-6a4149e2
+6a414d9c
 1a422600
 20405dc0
-6fe0c9a1
+6fe0cd5b
 203a5dc3
-67e0c9a0
+67e0cd5a
 1a60a601
-6fe149e4
+6fe14d9e
 9a667c00
 24215dc3
 1a622400
 20205db6
 df200001
-da2049a1
+da204d5b
 20206b74
-6fe0c9a0
+6fe0cd5a
 1fe20400
 1fe17ef0
 203a5dc9
@@ -15827,134 +15827,134 @@
 20205de7
 20405df9
 20205e0b
-6a4149ea
+6a414da4
 1a422600
 20405de1
-6fe349a9
+6fe34d63
 203a5de4
-67e349a3
+67e34d5d
 1a60a606
-6fe149ec
+6fe14da6
 9a667c00
 24215de4
 1a622400
 20205dd7
 df200006
-da2049a9
+da204d63
 20206b74
-6fe349a3
+6fe34d5d
 67e34668
 20600000
-6a4149ee
+6a414da8
 1a422600
 20405df3
-6fe349b5
+6fe34d6f
 203a5df6
-67e349af
+67e34d69
 1a60a606
-6fe149f0
+6fe14daa
 9a667c00
 24215df6
 1a622400
 20205de9
 df200006
-da2049b5
+da204d6f
 20206b74
-6fe349af
+6fe34d69
 67e3466e
 20600000
-6a4149f2
+6a414dac
 1a422600
 20405e05
-6fe349c1
+6fe34d7b
 203a5e08
-67e349bb
+67e34d75
 1a60a606
-6fe149f4
+6fe14dae
 9a667c00
 24215e08
 1a622400
 20205dfb
 df200006
-da2049c1
+da204d7b
 20206b74
-6fe349bb
+6fe34d75
 67e34675
 20600000
-6a4149f6
+6a414db0
 1a422600
 20405e17
-6fe349cd
+6fe34d87
 203a5e1a
-67e349c7
+67e34d81
 1a60a606
-6fe149f8
+6fe14db2
 9a667c00
 24215e1a
 1a622400
 20205e0d
 df200006
-da2049cd
+da204d87
 20206b74
-6fe349c7
+6fe34d81
 67e3467b
 20600000
-6a4149e6
+6a414da0
 1a422600
 20405e29
-6fe249da
+6fe24d94
 203a5e2c
-67e249d6
+67e24d90
 1a60a604
-6fe149e8
+6fe14da2
 9a667c00
 24215e2c
 1a622400
 20205e1f
 df200004
-da2049da
+da204d94
 20206b74
-6fe249d6
+6fe24d90
 67e24691
 20600000
 6fe0c666
 c1000000
-6a4149fe
+6a414db8
 1a422600
 20405e3d
-6fe149e0
+6fe14d9a
 203a5e40
-67e149de
+67e14d98
 1a60a602
-6fe14a00
+6fe14dba
 9a667c00
 24215e40
 1a622400
 20205e33
 df200002
-da2049e0
+da204d9a
 20206b74
-6fe149e0
+6fe14d9a
 67e14695
 20600000
 6fe44713
 c307dc8c
-6a4149fa
+6a414db4
 1a422600
 20405e51
-6fe0c9d4
+6fe0cd8e
 203a5e54
-67e0c9d3
+67e0cd8d
 1a60a601
-6fe149fc
+6fe14db6
 9a667c00
 24215e54
 1a622400
 20205e47
 df200001
-da2049d4
+da204d8e
 20206b74
-6fe0c9d3
+6fe0cd8d
 1fe20400
 1fe17ef0
 203a5e5a
@@ -15976,17 +15976,17 @@
 c294de6b
 c29bde6b
 20600000
-70497503
+704d2f03
 20405e6d
 20205e7e
 44c7c011
 6fe0c655
 c17f8000
 da200000
-70497706
+704d3106
 6848c655
 20405e81
-67e0c975
+67e0cd2f
 6fe0c654
 c07fde7c
 202058df
@@ -16001,17 +16001,17 @@
 20205e97
 6fe44713
 c296de8d
-6fe0c975
+6fe0cd2f
 1fe22600
 6fe0c654
 c07fd931
-6fe0c97b
+6fe0cd35
 243a5e8a
 20205e8f
-70497f00
-70497500
+704d3900
+704d2f00
 20600000
-6fe0c975
+6fe0cd2f
 20205925
 20406ee6
 6848c654
@@ -16019,24 +16019,24 @@
 6848c654
 20406ef7
 6848c655
-6fe0c975
+6fe0cd2f
 20205925
-6fe0c97f
+6fe0cd39
 c1000000
-70497f00
+704d3900
 6fe44713
 c39a0000
-6fe0c97c
+6fe0cd36
 1fe67c14
 24415ec6
 6fe0c4eb
-67e0c97c
+67e0cd36
 20600000
 20405eae
 20740000
-6fe0c97f
+6fe0cd39
 c1008000
-70497f01
+704d3901
 6fe44713
 c29a5ba3
 6fe0c845
@@ -16047,9 +16047,9 @@
 78547c00
 6fe44713
 c3968000
-6fe0c96f
+6fe0cd29
 207a0000
-6fe0c970
+6fe0cd2a
 207a0000
 20207dba
 44c84012
@@ -16165,11 +16165,11 @@
 20405c59
 202054a0
 44c9c012
-6fe0c957
+6fe0cd11
 c1018000
 6fe44713
 c41c0000
-6fe24847
+6fe24c01
 207a0000
 20405fcd
 58000003
@@ -16179,52 +16179,52 @@
 58000002
 20405fc8
 205a5fbf
-6fe0c861
+6fe0cc1b
 c000df3c
 6fe44713
 c41c0000
 df200005
-d8a04861
+d8a04c1b
 20207ca1
 20405f50
-6fe14862
+6fe14c1c
 67e1070b
-6fe14847
+6fe14c01
 67e1070d
 20405f89
 6fe1070b
-67e14862
+67e14c1c
 6fe1070d
-67e14847
-6fe14864
+67e14c01
+6fe14c1e
 67e1070b
-6fe14849
+6fe14c03
 67e1070d
 20405f91
 6fe1070b
-67e14864
+67e14c1e
 6fe1070d
-67e14849
+67e14c03
 20600000
 6fe44713
 c41c8000
 44ca4012
-6fe14862
+6fe14c1c
 67e10712
 20405f64
-67e14862
-6fe14847
+67e14c1c
+6fe14c01
 67e10712
 20405f72
-67e14847
-6fe14864
+67e14c01
+6fe14c1e
 67e10712
 20405f64
-67e14864
-6fe14849
+67e14c1e
+6fe14c03
 67e10712
 20405f72
-67e14849
+67e14c03
 20600000
 6fe08713
 203a5f67
@@ -16266,18 +16266,18 @@
 6fe1070b
 6849070d
 9840fe00
-6848c866
+6848cc20
 9840fe00
 1fe10401
-6048c866
+6048cc20
 20205f99
 6fe1070b
 6849070d
 9840fe00
-6848c867
+6848cc21
 9840fe00
 1fe10401
-6048c867
+6048cc21
 20205f99
 67e1870f
 2feffe10
@@ -16317,9 +16317,9 @@
 67e08684
 6fe08684
 20600000
-70486100
+704c1b00
 20600000
-70486101
+704c1b01
 20600000
 9a267c00
 24217dc8
@@ -16331,10 +16331,10 @@
 9a467c00
 24610000
 20207dca
-6fe14847
+6fe14c01
 20405fd4
 1fe22200
-6fe14849
+6fe14c03
 20405fd4
 1fe22400
 20600000
@@ -16374,7 +16374,7 @@
 5fffffff
 67e245af
 58000000
-67e3c846
+67e3cc00
 70473f01
 204059ed
 204054dc
@@ -16524,7 +16524,7 @@
 67e145d8
 67e145de
 67e0c5fc
-67e0c860
+67e0cc1a
 67e0c5e2
 6fe2458f
 67e245e8
@@ -16541,32 +16541,32 @@
 245a6094
 6fe44713
 c30b60a1
-6fe0c96c
+6fe0cd26
 243a60b6
 20405a74
 6fe0c589
 c280e0b0
 6848c51a
-6fe0c846
+6fe0cc00
 9841fe00
-67e0c846
+67e0cc00
 6848c51f
-6fe0c84b
+6fe0cc05
 9840fe00
-67e0c84b
+67e0cc05
 6848c520
-6fe0c84c
+6fe0cc06
 9840fe00
-67e0c84c
+67e0cc06
 70458901
 da200007
-da404846
-6fe1484b
+da404c00
+6fe14c05
 207a0000
 202036db
 70458902
 da200009
-6fe0c96d
+6fe0cd27
 243a60bc
 da404733
 20600000
@@ -16672,7 +16672,7 @@
 da406121
 202042e0
 44cc4013
-6fe0c957
+6fe0cd11
 c001e131
 c005e131
 6848c690
@@ -24573,4 +24573,4 @@
 00000000
 00000000
 00000000
-0000c0a6
\ No newline at end of file
+0000ea6f
\ No newline at end of file
Index: program/patch.prog
===================================================================
--- /1121s/branch/tools/audio_demo/program/patch.prog	(revision 4856)
+++ /1121s/branch/tools/audio_demo/program/patch.prog	(working copy)
@@ -5,6 +5,7 @@
 //define ADC_1121SB_1V8_MODE
 //define XTAL_CALP_SET
 define AUDIO_DEMO
+define UART_LOG
 
 	bbit1 8,pf_patch_ext
 	beq patch00_0,p_soft_reset
@@ -26,6 +27,7 @@
 endif
 	beq patch0f_7,p_mouse_3io6key_check
 	beq patch11_6,p_mouse_idle
+	beq patch16_1,p_app_init
 	beq patch18_5,p_otp_read_data
 	beq patch1a_6,p_gpio_set_wake
 	beq patch1b_2,p_sadc_calibration
@@ -48,6 +50,785 @@
 	rtneq patch3f_7
 	branch assert
 
+	
+/****************************************audio demo*****************************************/
+
+p_mouse_100ms_timer:
+	arg 12,queue
+	call timer_check
+	nrtn blank
+	call p_app_audio_enable_100ms_timer
+p_mouse_100ms_timer_init:
+	arg 12,queue
+	setarg 160
+	branch timer_init
+
+p_app_init:
+	//uart init
+	call p_voice_queue_init
+	jam 0,mem_ms_audio_enable_timer
+	jam KEY_UP,mem_ms_audio_key_state
+p_audio_test_loop:
+ifdef UART_LOG
+	call p_app_uarta_init
+endif
+	call p_mouse_audio_key_check
+	call p_mouse_100ms_timer
+	call p_voice_adpcm_enter_queue
+	call p_voice_notify_from_queue
+	branch p_audio_test_loop
+
+p_voice_queue_init:
+	setarg mem_voice_adpcm_buf
+	arg VOICE_QUEUE_SIZE,temp
+	call p_queue_init_config
+	jam 0,mem_voice_queue_count
+	rtn
+
+p_queue_init_config:
+	increase -1,temp
+	copy pdata,contw
+	increase -8,contw
+	istore 2,contw
+	iadd temp,pdata
+	istore 2,contw
+	isub temp,pdata
+	istore 2,contw
+	istore 2,contw
+	rtn
+
+/*
+ * @brief: config push queue addr
+ * @param: none
+ * @return: pdata: adpcm data buff start addr
+ */
+p_queue_enter_config:
+	increase -8,pdata
+	ifetchr contus,2,pdata
+	increase 2,pdata	
+	ifetchr contue,2,pdata
+	increase 2,pdata	
+	ifetchr temp,2,pdata
+	increase 2,pdata
+	ifetchr contu,2,pdata
+	copy pdata,rega
+	rtn
+
+/*
+ * @brief: config pop queue addr
+ * @param: none
+ * @return: pdata: adpcm data buff start addr
+ */
+p_queue_out_config:
+	increase -8,pdata
+	ifetchr contus,2,pdata
+	increase 2,pdata	
+	ifetchr contue,2,pdata
+	increase 2,pdata
+	ifetchr contu,2,pdata
+	copy pdata,rega
+	increase 2,pdata	
+	ifetchr temp,2,pdata
+	rtn
+
+p_app_audio_enable_100ms_timer:
+	fetch 1,mem_ms_audio_enable_timer
+	rtn blank
+	increase -1,pdata
+	store 1,mem_ms_audio_enable_timer
+	nrtn blank
+p_audio_data_get_enable:
+	jam 1,mem_voice_enable
+p_audio_init_data_clear:
+	arg mem_voice_raw_start,contw
+	arg 400,loopcnt
+	branch clear_mem	
+
+//==================audio key check and enable/disable config========================//
+p_mouse_audio_key_check:
+	call p_audio_key_check
+	fetch 1,mem_ms_audio_key_state
+	beq KEY_UP,p_audio_disable
+	beq KEY_DOWN,p_audio_enable
+	rtn
+
+p_audio_key_check:
+	fetch 1,mem_ms_audio_key_gpio
+	call mouse_gpio_config_output_high
+	fetcht 1,mem_ms_audio_key_gpio
+	call gpio_get_bit
+	nbranch p_audio_key_up,true
+p_audio_key_down:
+	fetch 1,mem_ms_audio_key_state
+	rtneq KEY_DOWN
+	jam KEY_DOWN,mem_ms_audio_key_state
+	rtn
+
+p_audio_key_up:
+	fetch 1,mem_ms_audio_key_state
+	rtneq KEY_UP
+	jam KEY_UP,mem_ms_audio_key_state
+	rtn
+
+p_audio_disable:
+	fetch 1,mem_ms_audio_enable_flag
+	rtn blank
+	jam 0,mem_ms_audio_enable_flag
+	jam 1,mem_lpm_mode
+	jam 0,mem_voice_enable
+	jam 0,mem_adc_dma_enable
+	jam 0,core_sadc_ctrl
+	jam ADC_BATTERY,mem_ms_adc_mode
+	rtn
+
+p_audio_enable:
+	fetch 1,mem_ms_audio_enable_flag
+	nrtn blank
+	jam 1,mem_ms_audio_enable_flag
+	jam 0,mem_lpm_mode
+	jam 5,mem_ms_audio_enable_timer
+p_audio_enable_config:
+	fetcht 1,mem_ms_audio_micinp_gpio
+	call gpio_set_high_impedance
+	fetcht 1,mem_ms_audio_micbisa_gpio
+	call gpio_set_high_impedance
+	//call p_voice_updata_connect_param_req
+	branch p_audio_init
+
+p_audio_init:
+	call p_sadc_calibration
+	jam 0x00,mem_adc_channel//gpio9
+	jam 1,mem_adc_clkdiv
+	jam 1,mem_adc_dma_enable
+	jam ADC_AUDIO,mem_ms_adc_mode
+	fetch 2,mem_adc_audio_saddr_ptr
+	store 2,mem_adc_dma_rptr	
+	branch p_enable_adc
+
+p_enable_adc:
+	fetch 1,mem_ms_adc_mode
+//	beq ADC_BATTERY,p_enable_adc_battery
+	beq ADC_AUDIO,p_enable_adc_audio
+	rtn
+
+p_enable_adc_audio:
+	jam 0x1b,0x8ac6	//micbias enable
+	jam 0x6a,0x8ac7	//micbias gain control
+	call sadc_cal_write
+	fetch 1,core_gpadc_cfg1
+	set0 7,pdata
+	store 1,core_gpadc_cfg1
+	jam 0x70,core_gpadc_ctrl	//adc ouput voltage set
+	jam 0x43,core_gpadc_cfg0	
+	jam 0x0c,core_gpadc_cfg3	//vol from channel
+	jam 0xef,core_gpadc_cfg2	//disable write
+	call sadc_channel
+	fetch 1,mem_adc_clkdiv
+	store 1,core_sadc_clkdiv
+	nop 3000
+	call p_sadc_read
+	jam 0,core_sadc_clkdiv
+	branch p_sadc_audio_dma
+
+p_sadc_audio_dma:
+	fetch 1,mem_adc_dma_enable
+	rtn blank	
+	fetch 1,core_gpadc_cfg1
+	set1 7,pdata
+	store 1,core_gpadc_cfg1
+	fetch 1,mem_adc_clkdiv
+	store 1,core_sadc_clkdiv
+	fetch 2,mem_adc_audio_saddr_ptr
+	store 2,core_sadc_saddr
+	fetch 2,mem_adc_audio_eaddr_ptr
+	store 2,core_sadc_eaddr
+	jam 0x8b,core_sadc_ctrl
+	nop 3000
+	jam 0x83,core_sadc_ctrl
+	jam 2,core_sadc_clkdiv
+	rtn
+
+//================get audio data=====================//
+p_voice_adpcm_enter_queue:
+	fetch 1,mem_voice_enable
+	rtn blank
+	call p_audio_get_len
+	sub pdata,AUDIO_BUF_UINT,null
+	rtn positive
+ifdef UART_LOG
+	call p_print_audio_raw_data
+endif
+//=============audio data encode and enter fifo============//
+	call p_audio_adpcm_encode
+	call p_audio_update_adc_rptr	
+	setarg mem_adpcm
+p_voice_enter_queue:
+	force 0,regext_index
+	call p_save_reg
+	fetch 1,mem_voice_queue_count
+	arg VOICE_QUEUE_MAX_COUNT,temp
+	increase -1,temp
+	isub temp,null
+	rtn positive
+	setarg mem_voice_adpcm_buf
+	call p_queue_enter_config
+	call p_rescue_reg
+	copy pdata,contr
+	arg VOICE_QUEUE_UNIT,loopcnt
+	call p_enter_queue
+	fetch 1,mem_voice_queue_count
+	increase 1,pdata
+	store 1,mem_voice_queue_count
+	rtn
+
+/*********************************************************************************
+ * Description  : get audio data len
+ * Parameters  : none
+ * Returns         : len= wptr-rptr>0 or wptr<rptr-->len=max_buff-(rptr-wptr)
+**********************************************************************************/
+p_audio_get_len:
+	fetch 2,core_adc_dma_wptr
+	copy pdata,rega
+	fetcht 2,mem_adc_dma_rptr
+	isub temp,pdata
+	nbranch p_audio_get_len_wptr_over,positive
+	rtn
+
+p_audio_get_len_wptr_over:
+	copy rega,temp
+	fetch 2,mem_adc_dma_rptr
+	isub temp,temp
+	setarg AUDIO_BUF_LEN
+	isub temp,pdata
+	rtn
+
+p_audio_update_adc_rptr:
+	fetch 2,mem_adc_dma_rptr
+	increase AUDIO_BUF_UINT,pdata
+	arg mem_voice_raw_end,temp
+	increase 1,temp
+	isub temp,null
+	branch p_audio_adc_dma_ptr_over,zero
+	store 2,mem_adc_dma_rptr
+	rtn
+
+p_audio_adc_dma_ptr_over:	
+	setarg mem_voice_raw_start
+	store 2,mem_adc_dma_rptr
+	rtn
+
+ /*
+ * @brief: save register addr ptr
+ * @param: pdata: need save ptr
+ * @return: none
+ */
+p_save_reg:
+ 	increase 1,regext_index
+ 	copy pdata,regext
+ 	rtn
+
+  /*
+ * @brief: load register addr ptr
+ * @param: none
+ * @return: pdata: need load ptr
+ */
+p_rescue_reg:
+ 	copy regext,pdata
+ 	increase -1,regext_index
+ 	rtn	
+
+/*
+ * @brief: audio data push queue
+ * @param: contr: queue read ptr value, contwu:queue write ptr value, rega: queue write ptr
+ * @param: loopcnt: length, temp: queue read ptr value
+ * @return: none
+ */
+p_enter_queue:
+p_enter_queue_loop:
+	ifetch 1,contr
+	istore 1,contwu
+	loop p_enter_queue_loop	
+	istorer contwu,2,rega
+	copy contwu,pdata	
+	isub temp,null
+	branch assert,zero
+	rtn
+
+p_voice_notify_from_queue:
+	fetch 1,mem_voice_enable
+	rtn blank
+	fetch 1,mem_voice_queue_count
+	rtn blank
+	call p_voice_out_queue
+//	copy pdata,contr
+//	arg mem_voice_notify,contw 
+//	arg VOICE_QUEUE_UNIT,loopcnt
+//	call memcpy
+//	fetch 1,mem_g_audio_apk_flag
+//	ncall p_voice_notify_apk,blank
+//	fetch 1,mem_g_audio_apk_flag
+//	call p_voice_notify,blank
+	branch p_voice_notify_from_queue
+
+/*
+ * @brief: get audio data buff addr
+ * @param: none
+ * @return: pdata: mem_queue_buf ptr
+ */
+p_voice_out_queue:
+	setarg mem_voice_adpcm_buf
+	call p_queue_out_config
+	arg VOICE_QUEUE_UNIT,loopcnt
+	arg mem_queue_buf,contw
+	call p_out_queue
+	fetch 1,mem_voice_queue_count
+	increase -1,pdata
+	store 1,mem_voice_queue_count
+	setarg mem_queue_buf
+	rtn
+
+/*
+ * @brief: audio data pop queue
+ * @param: contu: queue read ptr value, contru:queue read ptr
+ * @param: loopcnt: length, temp: queue write ptr value
+ * @return: none
+ */
+p_out_queue:
+	copy contu,pdata
+	isub temp,null
+	branch assert,zero
+p_out_queue_loop:
+	ifetch 1,contru
+	istore 1,contw
+	loop p_out_queue_loop	
+	istorer contru,2,rega
+	rtn
+//======================adpcm========================//
+p_audio_adpcm_encode:	
+	jam 40,mem_ad_in_numSamples1
+	fetch 2,mem_adc_dma_rptr
+	store 2,mem_ad_in_ptr1
+	setarg mem_adpcm
+	store 2,mem_ad_out_ptr1
+p_adpcm_encode:
+	fetch 4,mem_ad_state_valpred1
+	store 4,mem_ad_valpred1
+	
+	fetch 4,mem_ad_state_index1
+	store 4,mem_ad_index1
+	
+	fetch 1,mem_ad_index1		// step = stepsizeTable[index];  
+	lshift2 pdata,pdata
+	arg mem_ad_stepsizeTable1,temp
+	iadd temp,temp
+	ifetch 4,temp
+	store 4,mem_ad_step1
+	
+	jam 1,mem_ad_bufferstep1
+p_adpcm_encode_loop:
+	call p_adpcm_get_val_from_inp 	// val = *inp++;
+
+	fetch 4,mem_ad_val1			// diff = val - valpred;
+	fetcht 4,mem_ad_valpred1
+	isub temp,pdata
+	store 4,mem_ad_diff1
+	
+	call p_adpcm_encode_cal_delta	//sign = (diff < 0) ? 8 : 0;
+	call p_adpcm_set_diff_by_sign	//if ( sign ) diff = (-diff);
+
+	jam 0,mem_ad_delta1			//delta = 0;
+
+	fetch 4,mem_ad_step1 			//vpdiff = (step >> 3);
+	rshift3 pdata,pdata
+	store 4,mem_ad_vpdiff1
+
+	call p_check_diff_big_step1  		//if ( diff >= step ) {  delta = 4;
+
+	fetch 4,mem_ad_step1			//step >>= 1;
+	rshift pdata,pdata
+	store 4,mem_ad_step1
+
+	call p_check_diff_big_step2		//if ( diff >= step  ) {    delta |= 2;
+
+	fetch 4,mem_ad_step1			//step >>= 1;
+	rshift pdata,pdata
+	store 4,mem_ad_step1
+
+	call p_check_diff_big_step3		//if ( diff >= step ) {delta |= 1;
+
+	call p_check_sign_deal1			//	if ( sign )
+
+	call p_adpcm_check_valpred_more_32767 //if ( valpred > 32767 )
+
+	fetch 1,mem_ad_delta1			//delta |= sign;
+	fetcht 1,mem_ad_sign1
+	ior temp,pdata
+	store 1,mem_ad_delta1
+
+	fetch 1,mem_ad_delta1			//index += indexTable[delta];
+	arg mem_ad_indexTable1,temp
+	iadd temp,temp
+	ifetch 1,temp
+	call p_char_2_int32
+	fetcht 4,mem_ad_index1
+	iadd temp,pdata
+	store 4,mem_ad_index1
+
+	call p_adpcm_check_index_less_0		//if ( index < 0 ) index = 0;
+	call p_adpcm_check_index_big_88		//if ( index > 88 ) index = 88;
+
+	fetch 4,mem_ad_index1			// step = stepsizeTable[index];  
+	lshift2 pdata,pdata
+	arg mem_ad_stepsizeTable1,temp
+	iadd temp,temp
+	ifetch 4,temp
+	store 4,mem_ad_step1
+
+	call p_adpcm_check_bufferstep		//if(bufferstep){
+
+	fetch 1,mem_ad_bufferstep1		//bufferstep = !bufferstep;
+	arg 0x01,temp
+	ixor temp,pdata
+	store 1,mem_ad_bufferstep1
+
+	fetch 1,mem_ad_in_numSamples1
+	increase -1,pdata
+	store 1,mem_ad_in_numSamples1
+	nbranch p_adpcm_encode_loop, blank
+
+
+	fetch 1,mem_ad_bufferstep1
+	call p_adpcm_set_bufferstep_to_outp,blank
+
+	fetch 4,mem_ad_valpred1
+	store 4,mem_ad_state_valpred1
+
+	fetch 4,mem_ad_index1
+	store 4,mem_ad_state_index1
+	rtn
+
+//pdata :diff
+p_adpcm_encode_cal_delta:
+	fetch 4,mem_ad_diff1
+	bbit1 31,p_adpcm_encode_cal_smaller_zero
+	setarg 0
+	store 1,mem_ad_sign1
+	rtn
+
+p_adpcm_encode_cal_smaller_zero:
+	setarg 8
+	store 1,mem_ad_sign1
+	rtn
+
+p_adpcm_set_diff_by_sign:
+	fetch 1,mem_ad_sign1
+	nbranch p_adpcm_diff_negation,blank
+	rtn
+
+p_adpcm_diff_negation:
+	fetch 4,mem_ad_diff1
+	sub pdata,0,pdata
+	store 4,mem_ad_diff1
+	rtn
+
+p_check_diff_big_step1:
+	fetch 4,mem_ad_diff1
+	fetcht 4,mem_ad_step1
+	isub temp,pdata
+	rtnbit1 31
+	jam 4,mem_ad_delta1
+	fetch 4,mem_ad_diff1
+	fetcht 4,mem_ad_step1
+	isub temp,pdata
+	store 4,mem_ad_diff1
+	fetch 4,mem_ad_vpdiff1
+	fetcht 4,mem_ad_step1
+	iadd temp,pdata
+	store 4,mem_ad_vpdiff1
+	rtn
+
+p_check_diff_big_step2:
+	fetch 4,mem_ad_diff1
+	fetcht 4,mem_ad_step1
+	isub temp,pdata
+	rtnbit1 31
+	fetch 1,mem_ad_delta1
+	or pdata,2,pdata
+	store 1,mem_ad_delta1
+
+	fetch 4,mem_ad_diff1
+	fetcht 4,mem_ad_step1
+	isub temp,pdata
+	store 4,mem_ad_diff1
+
+	fetch 4,mem_ad_vpdiff1
+	fetcht 4,mem_ad_step1
+	iadd temp,pdata
+	store 4,mem_ad_vpdiff1
+	rtn
+
+p_check_diff_big_step3:
+	fetch 4,mem_ad_diff1
+	fetcht 4,mem_ad_step1
+	isub temp,pdata
+	rtnbit1 31
+	fetch 1,mem_ad_delta1
+	or pdata,1,pdata
+	store 1,mem_ad_delta1
+
+	fetch 4,mem_ad_vpdiff1
+	fetcht 4,mem_ad_step1
+	iadd temp,pdata
+	store 4,mem_ad_vpdiff1
+	rtn
+
+p_check_sign_deal1:
+	fetch 1,mem_ad_sign1
+	branch p_valpred_add_vpdiff,blank
+p_valpred_sub_vpdiff:
+	fetch 4,mem_ad_valpred1
+	fetcht 4,mem_ad_vpdiff1
+	isub temp,pdata
+	store 4,mem_ad_valpred1
+	rtn
+
+p_valpred_add_vpdiff:
+	fetch 4,mem_ad_valpred1
+	fetcht 4,mem_ad_vpdiff1
+	iadd temp,pdata
+	store 4,mem_ad_valpred1
+	rtn
+
+p_adpcm_check_valpred_more_32767:
+	fetch 4,mem_ad_valpred1
+	arg 32767,temp
+	isub temp,pdata
+	bbit0 31,p_adpcm_valpred_more_32767
+p_adpcm_check_valpred_less_f32767:	
+	fetch 4,mem_ad_valpred1
+	arg -32767,temp
+	isub temp,pdata
+	bbit1 31,p_adpcm_valpred_less_f32767
+	rtn
+
+p_adpcm_valpred_more_32767:
+	setarg 32767
+	store 4,mem_ad_valpred1
+	rtn
+p_adpcm_valpred_less_f32767:
+	setarg -32767
+	store 4,mem_ad_valpred1
+	rtn
+
+p_adpcm_check_index_less_0:
+	fetch 4,mem_ad_index1
+	arg 0,temp
+	isub temp,pdata
+	bbit1 31,p_adpcm_set_0_index
+	rtn
+
+p_adpcm_check_index_big_88:
+	fetch 4,mem_ad_index1
+	arg 88,temp
+	isub temp,pdata
+	bbit0 31,p_adpcm_set_88_index
+	rtn
+
+p_adpcm_set_0_index:
+	setarg 0
+	store 4,mem_ad_index1
+	rtn
+
+p_adpcm_set_88_index:
+	setarg 88
+	store 4,mem_ad_index1
+	rtn
+
+p_adpcm_check_bufferstep:
+	fetch 1,mem_ad_bufferstep1
+	branch p_adpcm_bufferstep_eque_0,blank
+p_adpcm_bufferstep_neque_0:
+	fetch 1,mem_ad_delta1
+	and pdata,0x0f,pdata
+	store 4,mem_ad_outputbuffer1	
+	rtn
+
+//*outp++=((delta<<4)&0xf0)|outputbuffer
+p_adpcm_bufferstep_eque_0:
+	fetch 1,mem_ad_delta1
+	lshift4,pdata,pdata
+	and pdata,0xf0,pdata
+	fetcht 4,mem_ad_outputbuffer1
+	ior temp,pdata
+	fetcht 2,mem_ad_out_ptr1
+	istore 1,temp	
+	increase 1,temp
+	storet 2,mem_ad_out_ptr1
+	rtn
+
+p_adpcm_set_bufferstep_to_outp:
+	fetch 4,mem_ad_outputbuffer1
+	fetcht 2,mem_ad_out_ptr1
+	istore 1,temp
+	increase 1,temp
+	storet 2,mem_ad_out_ptr1
+	rtn
+
+//val = *inp++;
+//val: int ,4 byte
+//inp:shourt int ,2byte
+p_adpcm_get_val_from_inp:	
+	fetcht 2,mem_ad_in_ptr1
+	ifetch 2,temp
+	increase 2,temp
+	storet 2,mem_ad_in_ptr1
+	call p_int16_2_int32
+	store 4,mem_ad_val1
+	rtn
+
+/*
+pdata: intput,int16 data
+pdata:output int data
+*/
+p_int16_2_int32:
+	bbit1 15,p_int16_2_int32_less_0
+	rtn
+
+p_int16_2_int32_less_0:
+	arg 0xffff,temp
+	lshift16 temp,temp
+	ixor temp,pdata
+	rtn
+
+/*
+pdata: intput,char data
+pdata:output int data
+*/
+p_char_2_int32:
+	bbit1 7,p_char_2_int32_less_0
+	rtn
+p_char_2_int32_less_0:
+	arg 0xffffff,temp
+	lshift8 temp,temp
+	ixor temp,pdata
+	rtn
+
+p_adpcm_init:
+	setarg 0
+	store 8,mem_ad_state_valpred1
+	rtn
+/****************************************uart demo*****************************************/
+ifdef UART_LOG
+p_app_uarta_init:
+	fetch 1,core_uart_ctrl
+	set0 BIT_UART_CONTROL_ENABLE,pdata
+	store 1,core_uart_ctrl
+	fetch 8,mem_app_uart_rx_buff_sptr
+	call uarta_init_dma_mem
+	fetch uart_baud_len,mem_app_uart_baud_rate
+	call uarta_init_baud_rate
+	call uart_clock_select_main_freq_crystal
+	fetch 1,mem_app_uart_tx_gpio
+	arg gpcfg_uart_txd,temp
+	call gpio_config_function_int
+	fetch 1,mem_app_uart_rx_gpio
+	arg gpcfg_uart_rxd|gpcfg_pullup,temp
+	call gpio_config_function_int
+	arg FUN_UART_CONTROL_ENABLE|FUN_UART_CONTROL_SETTING_RATE_BAUD,temp
+	storet 1,core_uart_ctrl
+	rtn
+
+//input: 1 byte hex @pdata  
+//output: 4 byte  '0','x', ASCII,ASCII, @pdata
+hex2ascii:
+	rshift4 pdata,rega  //high 4bit in rega
+	and_into 0x0f,pdata
+	call hex2ascii_half_byte
+	copy pdata,regb
+	copy rega,pdata
+	call hex2ascii_half_byte
+	lshift8 regb,regb
+	iadd regb,pdata
+//	lshift16 pdata,pdata
+//	arg 0x7830,regb   //0x
+//	iadd regb,pdata
+	rtn
+	
+//input: 1 byte hex @pdata  
+//output: 4 byte  '0','x', ASCII,ASCII, @pdata
+hex2ascii_half_byte:
+	arg 0xa,temp
+	isub temp,temp
+	nbranch hex2ascii_half_byte_numberic,positive
+	setarg 0x41  // A
+	iadd temp,pdata
+	rtn
+hex2ascii_half_byte_numberic:
+	arg 0x30,temp
+	iadd temp,pdata
+	rtn
+
+//input: loopcnt--length,regc--data ptr	
+log_bytes:
+	copy loopcnt,pdata
+	branch log_len0,blank
+log_bytes_loop:
+	ifetch 1,regc
+	increase 1,regc
+	call log_byte
+	call log_space
+	loop log_bytes_loop
+uart_wait:
+	fetch 1,core_uart_status
+	bbit1 uart_status_tx_busy,uart_wait
+//	nop 12000
+	rtn
+
+//input 1byte @pdata
+log_byte:
+	call uarta_prepare_tx
+	//call hex2ascii
+//	istore 4,contu	//0x
+	//istore 2,contwu
+	istore 1,contwu
+	branch uarta_send
+
+log_len0:
+	call uarta_prepare_tx
+	setarg 0x656c
+	istore 2,contwu
+	setarg 0x306e
+	istore 2,contwu
+	call uarta_send
+	branch log_end
+
+log_space:
+	call uarta_prepare_tx
+	setarg 0x20
+	istore 1,contwu
+	branch uarta_send
+
+log_end:
+	call uarta_prepare_tx
+	setarg 0x0a0d
+	istore 2,contwu
+	branch uarta_send
+
+p_print_audio_raw_data:
+	fetchr regc,2,mem_adc_dma_rptr
+	arg 80,loopcnt
+p_audio_log_bytes_loop:
+	ifetch 1,regc
+	increase 1,regc
+	call log_byte
+	loop p_audio_log_bytes_loop
+p_audio_uart_wait:
+	fetch 1,core_uart_status
+	bbit1 uart_status_tx_busy,p_audio_uart_wait
+//	nop 12000
+	rtn
+
+endif
 /****************************************yichip ic bug*****************************************/
 p_soft_reset:
 	nbranch soft_reset+1,wake
@@ -157,7 +938,7 @@
 	rtn wake
 	jam 0x77,core_gpadc_ctrl
 	jam 0xc9,core_gpadc_cfg0
-	jam 0x01,core_gpadc_cfg3
+	jam 0x00,core_gpadc_cfg3	//1=vdcdc 0=vbat
 	fetch 1,mem_adc_clkdiv
 	store 1,core_sadc_clkdiv
 	nop 3000
@@ -170,7 +951,7 @@
 	store 1,mem_adc_cal_c7
 	storer regb,1,mem_spi_write_addr
 	rtn
-
+/*
 p_sadc_read:
 	jam 0x03,core_sadc_ctrl
 p_sadc_read_wait:
@@ -179,7 +960,28 @@
 	fetcht 2,core_sadc_data
 	storet 2,mem_adc_current_value
 	branch sadc_read_wait2+2
-	
+*/
+
+p_sadc_read:
+	jam 0x83,core_sadc_ctrl
+	fetch 1,mem_ms_adc_mode
+	ncall p_sadc_ctrl_set,blank
+p_sadc_read_wait:
+	fetch 1,core_perf_status
+	bbit0 SARADC_DONE,p_sadc_read_wait
+	fetcht 2,core_sadc_data
+	storet 2,mem_adc_current_value
+	jam 0x80,core_sadc_ctrl
+	rtn
+p_sadc_ctrl_set:
+	jam 0x8b,core_sadc_ctrl
+	rtn
+
+p_sar_adc_read_wait:
+	fetch 1,core_perf_status
+	bbit0 SARADC_DONE,p_sar_adc_read_wait
+	rtn
+
 p_set_xtal_cap:
 ifndef XTAL_CALP_SET 
 	rtn wake
@@ -771,7 +1573,7 @@
 	jam 0x00,core_gpadc_cfg3
 	rtn
 
-p_enable_adc:
+p_enable_adc_battery:
 ifdef ADC_1121SB_1V8_MODE
 	fetch 1,mem_adc_reference_mode
 	beq SADC_REFERENCE_INTER3V,p_enable_adc_reference_source_inter3V
@@ -926,3 +1728,4 @@
 	call p_pwm_clk_set
 	branch pwm_out_set+2
 endif
+
Index: sched/mouse.dat
===================================================================
--- /1121s/branch/tools/audio_demo/sched/mouse.dat	(revision 4856)
+++ /1121s/branch/tools/audio_demo/sched/mouse.dat	(working copy)
@@ -85,6 +85,7 @@
 #bit7 MOUSE_ENABLE_SWITCH_GPIO_CONNECT_VIN
 1b
 
+
 mem_mouse_param_config:
 ff #mem_lbutton_gpio
 ff #mem_mbutton_gpio
@@ -425,3 +426,148 @@
 #mem_rf_debug_rx_gpio:87
 #mem_rf_debug_tx_gpio:88
 
+mem_otp_load_check_sum:5a
+
+##########################UART INIT#################################
+mem_app_uart_tx_gpio:07
+mem_app_uart_rx_gpio:ff
+mem_app_uart_baud_rate:10 00	#d0=115200 10=1500000
+mem_app_uart_tx_buff_sptr:mem_app_uart_tx_buff_start
+mem_app_uart_tx_buff_eptr:mem_app_uart_tx_buff_end
+mem_app_uart_rx_buff_sptr:mem_app_uart_rx_buff_start
+mem_app_uart_rx_buff_eptr:mem_app_uart_rx_buff_end
+
+###########################audio demo#######################
+
+mem_ms_audio_key_gpio:10
+mem_ms_audio_micinp_gpio:04
+mem_ms_audio_micbisa_gpio:06
+
+mem_adc_dma_enable:00
+
+#mem_queue_ptr:mem_g_queue_each_size
+#mem_g_queue_each_size:01 20
+
+mem_adc_dma_enable:00
+mem_adc_saddr_ptr:00 07
+mem_adc_eaddr_ptr:ff 07
+
+mem_adc_audio_saddr_ptr:mem_voice_raw_start
+mem_adc_audio_eaddr_ptr:mem_voice_raw_end
+
+mem_ad_indexTable1:ff ff ff ff 02 04 06 08 ff ff ff ff 02 04 06 08
+
+mem_ad_stepsizeTable1:
+07 00 00 00
+08 00 00 00
+09 00 00 00
+0a 00 00 00
+0b 00 00 00
+0c 00 00 00
+0d 00 00 00
+0e 00 00 00
+10 00 00 00
+11 00 00 00
+13 00 00 00
+15 00 00 00
+17 00 00 00
+19 00 00 00
+1c 00 00 00
+1f 00 00 00
+22 00 00 00
+25 00 00 00
+29 00 00 00
+2d 00 00 00
+32 00 00 00
+37 00 00 00
+3c 00 00 00
+42 00 00 00
+49 00 00 00
+50 00 00 00
+58 00 00 00
+61 00 00 00
+6b 00 00 00
+76 00 00 00
+82 00 00 00
+8f 00 00 00
+9d 00 00 00
+ad 00 00 00
+be 00 00 00
+d1 00 00 00
+e6 00 00 00
+fd 00 00 00
+17 01 00 00
+33 01 00 00
+51 01 00 00
+73 01 00 00
+98 01 00 00
+c1 01 00 00
+ee 01 00 00
+20 02 00 00
+56 02 00 00
+92 02 00 00
+d4 02 00 00
+1c 03 00 00
+6c 03 00 00
+c3 03 00 00
+24 04 00 00
+8e 04 00 00
+02 05 00 00
+83 05 00 00
+10 06 00 00
+ab 06 00 00
+56 07 00 00
+12 08 00 00
+e0 08 00 00
+c3 09 00 00
+bd 0a 00 00
+d0 0b 00 00
+ff 0c 00 00
+4c 0e 00 00
+ba 0f 00 00
+4c 11 00 00
+07 13 00 00
+ee 14 00 00
+06 17 00 00
+54 19 00 00
+dc 1b 00 00
+a5 1e 00 00
+b6 21 00 00
+15 25 00 00
+ca 28 00 00
+df 2c 00 00
+5b 31 00 00
+4b 36 00 00
+b9 3b 00 00
+b2 41 00 00
+44 48 00 00
+7e 4f 00 00
+71 57 00 00
+2f 60 00 00
+ce 69 00 00
+62 74 00 00
+ff 7f 00 00
+
+mem_test_data:
+11 11 11 11
+22 22 22 22
+11 11 11 11
+22 22 22 22
+11 11 11 11
+22 22 22 22
+11 11 11 11
+22 22 22 22
+11 11 11 11
+22 22 22 22
+11 11 11 11
+22 22 22 22
+11 11 11 11
+22 22 22 22
+11 11 11 11
+22 22 22 22
+11 11 11 11
+22 22 22 22
+ff ff ff ff 
+ff ff ff ff
+
+
