	.file	"370126.c"
	.intel_syntax noprefix
	.text
	.type	nrf_gpio_pin_port_decode, @function
nrf_gpio_pin_port_decode:
.LFB125:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rax, 31
	ja	.L2
	mov	eax, 1342177280
	jmp	.L3
.L2:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	and	eax, 31
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1342178048
.L3:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE125:
	.size	nrf_gpio_pin_port_decode, .-nrf_gpio_pin_port_decode
	.type	nrf_gpio_cfg_sense_set, @function
nrf_gpio_cfg_sense_set:
.LFB135:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	lea	rax, -24[rbp]
	mov	rdi, rax
	call	nrf_gpio_pin_port_decode
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, 448
	mov	rax, QWORD PTR [rax+rdx*8]
	mov	rdx, QWORD PTR -24[rbp]
	and	rax, -196609
	mov	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, 448
	mov	QWORD PTR [rax+rdx*8], rcx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, 448
	mov	rcx, QWORD PTR [rax+rdx*8]
	mov	eax, DWORD PTR -28[rbp]
	sal	eax, 16
	mov	eax, eax
	mov	rdx, QWORD PTR -24[rbp]
	or	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, 448
	mov	QWORD PTR [rax+rdx*8], rcx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE135:
	.size	nrf_gpio_cfg_sense_set, .-nrf_gpio_cfg_sense_set
	.local	m_stable_state
	.comm	m_stable_state,4,4
	.local	m_leds_clear
	.comm	m_leds_clear,1,1
	.local	m_indication_type
	.comm	m_indication_type,8,8
	.local	m_alert_on
	.comm	m_alert_on,1,1
	.local	m_leds_timer_id_data
	.comm	m_leds_timer_id_data,32,32
	.section	.data.rel.ro.local,"aw"
	.align 8
	.type	m_leds_timer_id, @object
	.size	m_leds_timer_id, 8
m_leds_timer_id:
	.quad	m_leds_timer_id_data
	.local	m_alert_timer_id_data
	.comm	m_alert_timer_id_data,32,32
	.align 8
	.type	m_alert_timer_id, @object
	.size	m_alert_timer_id, 8
m_alert_timer_id:
	.quad	m_alert_timer_id_data
	.local	m_registered_callback
	.comm	m_registered_callback,8,8
	.local	m_events_list
	.comm	m_events_list,48,32
	.local	m_button_timer_id_data
	.comm	m_button_timer_id_data,32,32
	.align 8
	.type	m_button_timer_id, @object
	.size	m_button_timer_id, 8
m_button_timer_id:
	.quad	m_button_timer_id_data
	.align 32
	.type	app_buttons, @object
	.size	app_buttons, 64
app_buttons:
	.byte	11
	.byte	0
	.zero	2
	.long	3
	.quad	bsp_button_event_handler
	.byte	12
	.byte	0
	.zero	2
	.long	3
	.quad	bsp_button_event_handler
	.byte	24
	.byte	0
	.zero	2
	.long	3
	.quad	bsp_button_event_handler
	.byte	25
	.byte	0
	.zero	2
	.long	3
	.quad	bsp_button_event_handler
	.text
	.globl	bsp_button_is_pressed
	.type	bsp_button_is_pressed, @function
bsp_button_is_pressed:
.LFB173:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	bsp_board_button_state_get@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE173:
	.size	bsp_button_is_pressed, .-bsp_button_is_pressed
	.type	bsp_button_event_handler, @function
bsp_button_event_handler:
.LFB174:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	edx, edi
	mov	eax, esi
	mov	BYTE PTR -36[rbp], dl
	mov	BYTE PTR -40[rbp], al
	mov	DWORD PTR -20[rbp], 0
	mov	QWORD PTR -16[rbp], 0
	movzx	eax, BYTE PTR -36[rbp]
	mov	rdi, rax
	call	bsp_board_pin_to_button_idx@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 3
	ja	.L14
	movzx	eax, BYTE PTR -40[rbp]
	cmp	eax, 2
	je	.L9
	cmp	eax, 2
	jg	.L8
	test	eax, eax
	je	.L10
	cmp	eax, 1
	jne	.L8
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, m_events_list[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -20[rbp], eax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, m_events_list[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L11
	lea	rax, m_button_timer_id_data[rip]
	lea	rdx, current_long_push_pin_no.1[rip]
	mov	esi, 32768
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L11
	movzx	eax, BYTE PTR -36[rbp]
	mov	BYTE PTR current_long_push_pin_no.1[rip], al
.L11:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, m_events_list[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -16[rbp]
	lea	rcx, 0[0+rdx*4]
	lea	rdx, release_event_at_push.0[rip]
	mov	DWORD PTR [rcx+rdx], eax
	jmp	.L8
.L10:
	lea	rax, m_button_timer_id_data[rip]
	mov	rdi, rax
	call	app_timer_stop@PLT
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, release_event_at_push.0[rip]
	mov	ecx, DWORD PTR [rdx+rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, m_events_list[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	ecx, eax
	jne	.L15
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, m_events_list[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L15
.L9:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, m_events_list[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L8
.L14:
	nop
	jmp	.L8
.L15:
	nop
.L8:
	cmp	DWORD PTR -20[rbp], 0
	je	.L16
	mov	rax, QWORD PTR m_registered_callback[rip]
	test	rax, rax
	je	.L16
	mov	rdx, QWORD PTR m_registered_callback[rip]
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	rdx
.L16:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE174:
	.size	bsp_button_event_handler, .-bsp_button_event_handler
	.type	button_timer_handler, @function
button_timer_handler:
.LFB175:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	esi, 2
	mov	edi, eax
	call	bsp_button_event_handler
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE175:
	.size	button_timer_handler, .-button_timer_handler
	.type	leds_off, @function
leds_off:
.LFB176:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	movzx	eax, BYTE PTR m_alert_on[rip]
	test	al, al
	je	.L19
	mov	QWORD PTR -8[rbp], 0
	jmp	.L20
.L22:
	cmp	QWORD PTR -8[rbp], 2
	je	.L21
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	bsp_board_led_off@PLT
.L21:
	add	QWORD PTR -8[rbp], 1
.L20:
	cmp	QWORD PTR -8[rbp], 3
	jbe	.L22
	jmp	.L24
.L19:
	call	bsp_board_leds_off@PLT
.L24:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE176:
	.size	leds_off, .-leds_off
	.type	bsp_led_indication, @function
bsp_led_indication:
.LFB177:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -16[rbp], 0
	mov	QWORD PTR -8[rbp], 0
	movzx	eax, BYTE PTR m_leds_clear[rip]
	test	al, al
	je	.L26
	mov	BYTE PTR m_leds_clear[rip], 0
	call	leds_off
.L26:
	cmp	DWORD PTR -20[rbp], 23
	ja	.L72
	mov	eax, DWORD PTR -20[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L29[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L29[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L29:
	.long	.L46-.L29
	.long	.L45-.L29
	.long	.L45-.L29
	.long	.L44-.L29
	.long	.L43-.L29
	.long	.L42-.L29
	.long	.L41-.L29
	.long	.L40-.L29
	.long	.L39-.L29
	.long	.L38-.L29
	.long	.L37-.L29
	.long	.L36-.L29
	.long	.L35-.L29
	.long	.L34-.L29
	.long	.L34-.L29
	.long	.L34-.L29
	.long	.L34-.L29
	.long	.L34-.L29
	.long	.L33-.L29
	.long	.L32-.L29
	.long	.L31-.L29
	.long	.L30-.L29
	.long	.L28-.L29
	.long	.L28-.L29
	.text
.L46:
	call	leds_off
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	jmp	.L47
.L45:
	mov	edi, 0
	call	bsp_board_led_state_get@PLT
	test	al, al
	je	.L48
	mov	edi, 0
	call	bsp_board_led_off@PLT
	cmp	DWORD PTR -20[rbp], 2
	jne	.L49
	mov	eax, 1800
	jmp	.L50
.L49:
	mov	eax, 4000
.L50:
	mov	QWORD PTR -8[rbp], rax
	jmp	.L51
.L48:
	mov	edi, 0
	call	bsp_board_led_on@PLT
	cmp	DWORD PTR -20[rbp], 2
	jne	.L52
	mov	eax, 200
	jmp	.L53
.L52:
	mov	eax, 400
.L53:
	mov	QWORD PTR -8[rbp], rax
.L51:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 15
	add	rax, 500
	shr	rax, 3
	movabs	rdx, 2361183241434822607
	mul	rdx
	mov	rcx, rdx
	shr	rcx, 4
	lea	rax, m_leds_timer_id_data[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -16[rbp], rax
	jmp	.L47
.L44:
	mov	edi, 0
	call	bsp_board_led_state_get@PLT
	test	al, al
	je	.L54
	mov	edi, 0
	call	bsp_board_led_off@PLT
	cmp	DWORD PTR -20[rbp], 3
	jne	.L55
	mov	eax, 800
	jmp	.L56
.L55:
	mov	eax, 4000
.L56:
	mov	QWORD PTR -8[rbp], rax
	jmp	.L57
.L54:
	mov	edi, 0
	call	bsp_board_led_on@PLT
	cmp	DWORD PTR -20[rbp], 3
	jne	.L58
	mov	eax, 200
	jmp	.L59
.L58:
	mov	eax, 400
.L59:
	mov	QWORD PTR -8[rbp], rax
.L57:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 15
	add	rax, 500
	shr	rax, 3
	movabs	rdx, 2361183241434822607
	mul	rdx
	mov	rcx, rdx
	shr	rcx, 4
	lea	rax, m_leds_timer_id_data[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -16[rbp], rax
	jmp	.L47
.L43:
	mov	edi, 0
	call	bsp_board_led_state_get@PLT
	test	al, al
	je	.L60
	mov	edi, 0
	call	bsp_board_led_off@PLT
	mov	QWORD PTR -8[rbp], 4000
	jmp	.L61
.L60:
	mov	edi, 0
	call	bsp_board_led_on@PLT
	mov	QWORD PTR -8[rbp], 400
.L61:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 15
	add	rax, 500
	shr	rax, 3
	movabs	rdx, 2361183241434822607
	mul	rdx
	mov	rcx, rdx
	shr	rcx, 4
	lea	rax, m_leds_timer_id_data[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -16[rbp], rax
	jmp	.L47
.L42:
	mov	edi, 0
	call	bsp_board_led_state_get@PLT
	test	al, al
	je	.L62
	mov	edi, 0
	call	bsp_board_led_off@PLT
	cmp	DWORD PTR -20[rbp], 5
	jne	.L63
	mov	eax, 200
	jmp	.L64
.L63:
	mov	eax, 4000
.L64:
	mov	QWORD PTR -8[rbp], rax
	jmp	.L65
.L62:
	mov	edi, 0
	call	bsp_board_led_on@PLT
	cmp	DWORD PTR -20[rbp], 5
	jne	.L66
	mov	eax, 200
	jmp	.L67
.L66:
	mov	eax, 400
.L67:
	mov	QWORD PTR -8[rbp], rax
.L65:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	sal	rax, 15
	add	rax, 500
	shr	rax, 3
	movabs	rdx, 2361183241434822607
	mul	rdx
	mov	rcx, rdx
	shr	rcx, 4
	lea	rax, m_leds_timer_id_data[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -16[rbp], rax
	jmp	.L47
.L41:
	mov	edi, 0
	call	bsp_board_led_invert@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	lea	rax, m_leds_timer_id_data[rip]
	mov	edx, 0
	mov	esi, 3277
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -16[rbp], rax
	jmp	.L47
.L40:
	mov	edi, 0
	call	bsp_board_led_on@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	jmp	.L47
.L39:
	mov	BYTE PTR m_leds_clear[rip], 1
	mov	edi, 1
	call	bsp_board_led_invert@PLT
	lea	rax, m_leds_timer_id_data[rip]
	mov	edx, 0
	mov	esi, 3277
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -16[rbp], rax
	jmp	.L47
.L38:
	mov	BYTE PTR m_leds_clear[rip], 1
	mov	edi, 1
	call	bsp_board_led_invert@PLT
	lea	rax, m_leds_timer_id_data[rip]
	mov	edx, 0
	mov	esi, 16384
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -16[rbp], rax
	jmp	.L47
.L37:
	mov	BYTE PTR m_leds_clear[rip], 1
	mov	edi, 1
	call	bsp_board_led_invert@PLT
	lea	rax, m_leds_timer_id_data[rip]
	mov	edx, 0
	mov	esi, 3277
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -16[rbp], rax
	jmp	.L47
.L36:
	mov	BYTE PTR m_leds_clear[rip], 1
	mov	edi, 1
	call	bsp_board_led_invert@PLT
	lea	rax, m_leds_timer_id_data[rip]
	mov	edx, 0
	mov	esi, 16384
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -16[rbp], rax
	jmp	.L47
.L35:
	call	bsp_board_leds_on@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	jmp	.L47
.L34:
	lea	rax, m_alert_timer_id_data[rip]
	mov	rdi, rax
	call	app_timer_stop@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, 17
	sub	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L68
	cmp	QWORD PTR -16[rbp], 0
	jne	.L68
	cmp	QWORD PTR -8[rbp], 1
	jbe	.L69
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, ax
	imul	eax, eax, 200
	cdqe
	sal	rax, 15
	add	rax, 500
	shr	rax, 3
	movabs	rdx, 2361183241434822607
	mul	rdx
	mov	rcx, rdx
	shr	rcx, 4
	lea	rax, m_alert_timer_id_data[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	app_timer_start@PLT
	mov	QWORD PTR -16[rbp], rax
.L69:
	mov	edi, 2
	call	bsp_board_led_on@PLT
	mov	BYTE PTR m_alert_on[rip], 1
	jmp	.L47
.L68:
	mov	edi, 2
	call	bsp_board_led_off@PLT
	mov	BYTE PTR m_alert_on[rip], 0
	jmp	.L47
.L33:
	call	leds_off
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	jmp	.L47
.L32:
	call	leds_off
	mov	edi, 0
	call	bsp_board_led_on@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	jmp	.L47
.L31:
	call	leds_off
	mov	edi, 1
	call	bsp_board_led_on@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	jmp	.L47
.L30:
	call	leds_off
	mov	edi, 0
	call	bsp_board_led_on@PLT
	mov	edi, 1
	call	bsp_board_led_on@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	jmp	.L47
.L28:
	call	bsp_board_leds_on@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR m_stable_state[rip], eax
	jmp	.L47
.L72:
	nop
.L47:
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE177:
	.size	bsp_led_indication, .-bsp_led_indication
	.type	leds_timer_handler, @function
leds_timer_handler:
.LFB178:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR m_indication_type[rip]
	and	eax, 1
	test	rax, rax
	je	.L75
	mov	eax, DWORD PTR m_stable_state[rip]
	mov	edi, eax
	call	bsp_led_indication
.L75:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE178:
	.size	leds_timer_handler, .-leds_timer_handler
	.type	alert_timer_handler, @function
alert_timer_handler:
.LFB179:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	edi, 2
	call	bsp_board_led_invert@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE179:
	.size	alert_timer_handler, .-alert_timer_handler
	.globl	bsp_indication_set
	.type	bsp_indication_set, @function
bsp_indication_set:
.LFB180:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR m_indication_type[rip]
	and	eax, 1
	test	rax, rax
	je	.L78
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	bsp_led_indication
	mov	QWORD PTR -8[rbp], rax
.L78:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE180:
	.size	bsp_indication_set, .-bsp_indication_set
	.globl	bsp_init
	.type	bsp_init, @function
bsp_init:
.LFB181:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR m_indication_type[rip], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR m_registered_callback[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	and	eax, 2
	test	rax, rax
	je	.L81
	mov	QWORD PTR -8[rbp], 0
	jmp	.L82
.L84:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	bsp_event_to_button_action_assign
	mov	QWORD PTR -16[rbp], rax
	add	QWORD PTR -8[rbp], 1
.L82:
	cmp	QWORD PTR -8[rbp], 3
	ja	.L83
	cmp	QWORD PTR -16[rbp], 0
	je	.L84
.L83:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L85
	mov	edx, 1638
	mov	esi, 4
	lea	rdi, app_buttons[rip]
	call	app_button_init@PLT
	mov	QWORD PTR -16[rbp], rax
.L85:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L86
	call	app_button_enable@PLT
	mov	QWORD PTR -16[rbp], rax
.L86:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L81
	lea	rdx, button_timer_handler[rip]
	mov	esi, 0
	lea	rdi, m_button_timer_id[rip]
	call	app_timer_create@PLT
	mov	QWORD PTR -16[rbp], rax
.L81:
	mov	rax, QWORD PTR -24[rbp]
	and	eax, 1
	test	rax, rax
	je	.L87
	call	bsp_board_leds_init@PLT
.L87:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L88
	lea	rdx, leds_timer_handler[rip]
	mov	esi, 0
	lea	rdi, m_leds_timer_id[rip]
	call	app_timer_create@PLT
	mov	QWORD PTR -16[rbp], rax
.L88:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L89
	lea	rdx, alert_timer_handler[rip]
	mov	esi, 1
	lea	rdi, m_alert_timer_id[rip]
	call	app_timer_create@PLT
	mov	QWORD PTR -16[rbp], rax
.L89:
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE181:
	.size	bsp_init, .-bsp_init
	.globl	bsp_event_to_button_action_assign
	.type	bsp_event_to_button_action_assign, @function
bsp_event_to_button_action_assign:
.LFB182:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	DWORD PTR -32[rbp], edx
	mov	BYTE PTR -28[rbp], al
	mov	QWORD PTR -8[rbp], 0
	cmp	QWORD PTR -24[rbp], 3
	ja	.L92
	cmp	DWORD PTR -32[rbp], 1
	jne	.L93
	cmp	BYTE PTR -28[rbp], 1
	jne	.L94
	mov	rax, QWORD PTR -24[rbp]
	add	eax, 14
	jmp	.L95
.L94:
	mov	eax, 0
.L95:
	mov	DWORD PTR -32[rbp], eax
.L93:
	movzx	eax, BYTE PTR -28[rbp]
	cmp	eax, 2
	je	.L96
	cmp	eax, 2
	jg	.L97
	test	eax, eax
	je	.L98
	cmp	eax, 1
	jne	.L97
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rcx, rax
	lea	rdx, m_events_list[rip]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rcx+rdx], eax
	jmp	.L100
.L96:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rcx, rax
	lea	rdx, m_events_list[rip+4]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rcx+rdx], eax
	jmp	.L100
.L98:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	rcx, rax
	lea	rdx, m_events_list[rip+8]
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rcx+rdx], eax
	jmp	.L100
.L97:
	mov	QWORD PTR -8[rbp], 7
	jmp	.L100
.L92:
	mov	QWORD PTR -8[rbp], 7
.L100:
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE182:
	.size	bsp_event_to_button_action_assign, .-bsp_event_to_button_action_assign
	.globl	bsp_buttons_enable
	.type	bsp_buttons_enable, @function
bsp_buttons_enable:
.LFB183:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	app_button_enable@PLT
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE183:
	.size	bsp_buttons_enable, .-bsp_buttons_enable
	.globl	bsp_buttons_disable
	.type	bsp_buttons_disable, @function
bsp_buttons_disable:
.LFB184:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	app_button_disable@PLT
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE184:
	.size	bsp_buttons_disable, .-bsp_buttons_disable
	.globl	bsp_wakeup_button_enable
	.type	bsp_wakeup_button_enable, @function
bsp_wakeup_button_enable:
.LFB185:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	bsp_board_button_idx_to_pin@PLT
	mov	esi, 3
	mov	rdi, rax
	call	nrf_gpio_cfg_sense_set
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE185:
	.size	bsp_wakeup_button_enable, .-bsp_wakeup_button_enable
	.globl	bsp_wakeup_button_disable
	.type	bsp_wakeup_button_disable, @function
bsp_wakeup_button_disable:
.LFB186:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	bsp_board_button_idx_to_pin@PLT
	mov	esi, 0
	mov	rdi, rax
	call	nrf_gpio_cfg_sense_set
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE186:
	.size	bsp_wakeup_button_disable, .-bsp_wakeup_button_disable
	.local	current_long_push_pin_no.1
	.comm	current_long_push_pin_no.1,1,1
	.local	release_event_at_push.0
	.comm	release_event_at_push.0,16,16
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"370126.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	nrf_gpio_pin_port_decode, %function
nrf_gpio_pin_port_decode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #31
	bhi	.L2
	mov	r3, #1342177280
	b	.L3
.L2:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	and	r2, r3, #31
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L4
.L3:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L5:
	.align	2
.L4:
	.word	1342178048
	.size	nrf_gpio_pin_port_decode, .-nrf_gpio_pin_port_decode
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	nrf_gpio_cfg_sense_set, %function
nrf_gpio_cfg_sense_set:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	sub	r3, fp, #16
	mov	r0, r3
	bl	nrf_gpio_pin_port_decode
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r2, r2, #448
	ldr	r3, [r3, r2, lsl #2]
	ldr	r2, [fp, #-16]
	bic	r1, r3, #196608
	ldr	r3, [fp, #-8]
	add	r2, r2, #448
	str	r1, [r3, r2, lsl #2]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r2, r2, #448
	ldr	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #16
	ldr	r2, [fp, #-16]
	orr	r1, r1, r3
	ldr	r3, [fp, #-8]
	add	r2, r2, #448
	str	r1, [r3, r2, lsl #2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	nrf_gpio_cfg_sense_set, .-nrf_gpio_cfg_sense_set
	.local	m_stable_state
	.comm	m_stable_state,4,4
	.local	m_leds_clear
	.comm	m_leds_clear,1,1
	.local	m_indication_type
	.comm	m_indication_type,4,4
	.local	m_alert_on
	.comm	m_alert_on,1,1
	.local	m_leds_timer_id_data
	.comm	m_leds_timer_id_data,32,4
	.section	.rodata
	.align	2
	.type	m_leds_timer_id, %object
	.size	m_leds_timer_id, 4
m_leds_timer_id:
	.word	m_leds_timer_id_data
	.local	m_alert_timer_id_data
	.comm	m_alert_timer_id_data,32,4
	.align	2
	.type	m_alert_timer_id, %object
	.size	m_alert_timer_id, 4
m_alert_timer_id:
	.word	m_alert_timer_id_data
	.local	m_registered_callback
	.comm	m_registered_callback,4,4
	.local	m_events_list
	.comm	m_events_list,48,4
	.local	m_button_timer_id_data
	.comm	m_button_timer_id_data,32,4
	.align	2
	.type	m_button_timer_id, %object
	.size	m_button_timer_id, 4
m_button_timer_id:
	.word	m_button_timer_id_data
	.align	2
	.type	app_buttons, %object
	.size	app_buttons, 48
app_buttons:
	.byte	11
	.byte	0
	.space	2
	.word	3
	.word	bsp_button_event_handler
	.byte	12
	.byte	0
	.space	2
	.word	3
	.word	bsp_button_event_handler
	.byte	24
	.byte	0
	.space	2
	.word	3
	.word	bsp_button_event_handler
	.byte	25
	.byte	0
	.space	2
	.word	3
	.word	bsp_button_event_handler
	.text
	.align	2
	.global	bsp_button_is_pressed
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsp_button_is_pressed, %function
bsp_button_is_pressed:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	bsp_board_button_state_get
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	bsp_button_is_pressed, .-bsp_button_is_pressed
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsp_button_event_handler, %function
bsp_button_event_handler:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	mov	r3, r0
	mov	r2, r1
	strb	r3, [fp, #-21]
	mov	r3, r2
	strb	r3, [fp, #-22]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	mov	r0, r3
	bl	bsp_board_pin_to_button_idx
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bhi	.L16
	ldrb	r3, [fp, #-22]	@ zero_extendqisi2
	cmp	r3, #2
	beq	.L11
	cmp	r3, #2
	bgt	.L10
	cmp	r3, #0
	beq	.L12
	cmp	r3, #1
	bne	.L10
	ldr	r1, .L19
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r1, .L19
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L13
	ldr	r3, .L19+4
	ldr	r2, .L19+8
	mov	r1, #32768
	mov	r0, r3
	bl	app_timer_start
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L13
	ldr	r2, .L19+8
	ldrb	r3, [fp, #-21]
	strb	r3, [r2]
.L13:
	ldr	r1, .L19
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r2, [r3]
	ldr	r1, .L19+12
	ldr	r3, [fp, #-12]
	str	r2, [r1, r3, lsl #2]
	b	.L10
.L12:
	ldr	r3, .L19+4
	mov	r0, r3
	bl	app_timer_stop
	ldr	r2, .L19+12
	ldr	r3, [fp, #-12]
	ldr	r1, [r2, r3, lsl #2]
	ldr	r0, .L19
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	cmp	r1, r3
	bne	.L17
	ldr	r1, .L19
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L17
.L11:
	ldr	r1, .L19
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L10
.L16:
	nop
	b	.L10
.L17:
	nop
.L10:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L18
	ldr	r3, .L19+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L18
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r0, [fp, #-16]
	blx	r3
.L18:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L20:
	.align	2
.L19:
	.word	m_events_list
	.word	m_button_timer_id_data
	.word	current_long_push_pin_no.8433
	.word	release_event_at_push.8434
	.word	m_registered_callback
	.size	bsp_button_event_handler, .-bsp_button_event_handler
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	button_timer_handler, %function
button_timer_handler:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, #2
	mov	r0, r3
	bl	bsp_button_event_handler
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	button_timer_handler, .-button_timer_handler
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	leds_off, %function
leds_off:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L29
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L23
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L24
.L26:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	beq	.L25
	ldr	r0, [fp, #-8]
	bl	bsp_board_led_off
.L25:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L24:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bls	.L26
	b	.L28
.L23:
	bl	bsp_board_leds_off
.L28:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L30:
	.align	2
.L29:
	.word	m_alert_on
	.size	leds_off, .-leds_off
	.global	__aeabi_uldivmod
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsp_led_indication, %function
bsp_led_indication:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #32
	str	r0, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, .L79
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L32
	ldr	r3, .L79
	mov	r2, #0
	strb	r2, [r3]
	bl	leds_off
.L32:
	ldr	r3, [fp, #-40]
	cmp	r3, #23
	ldrls	pc, [pc, r3, asl #2]
	b	.L78
.L35:
	.word	.L52
	.word	.L51
	.word	.L51
	.word	.L50
	.word	.L49
	.word	.L48
	.word	.L47
	.word	.L46
	.word	.L45
	.word	.L44
	.word	.L43
	.word	.L42
	.word	.L41
	.word	.L40
	.word	.L40
	.word	.L40
	.word	.L40
	.word	.L40
	.word	.L39
	.word	.L38
	.word	.L37
	.word	.L36
	.word	.L34
	.word	.L34
.L52:
	bl	leds_off
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	b	.L53
.L51:
	mov	r0, #0
	bl	bsp_board_led_state_get
	mov	r3, r0
	cmp	r3, #0
	beq	.L54
	mov	r0, #0
	bl	bsp_board_led_off
	ldr	r3, [fp, #-40]
	cmp	r3, #2
	bne	.L55
	ldr	r3, .L79+8
	b	.L56
.L55:
	mov	r3, #4000
.L56:
	str	r3, [fp, #-32]
	b	.L57
.L54:
	mov	r0, #0
	bl	bsp_board_led_on
	ldr	r3, [fp, #-40]
	cmp	r3, #2
	bne	.L58
	mov	r3, #200
	b	.L59
.L58:
	mov	r3, #400
.L59:
	str	r3, [fp, #-32]
.L57:
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	ldr	r4, .L79+12
	ldr	r3, [fp, #-32]
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #15
	orr	r3, r3, r0, lsr #17
	lsl	r2, r0, #15
	adds	r1, r2, #500
	str	r1, [fp, #-52]
	adc	r3, r3, #0
	str	r3, [fp, #-48]
	mov	r2, #1000
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_uldivmod
	mov	r2, r0
	mov	r3, r1
	mov	r3, r2
	mov	r2, #0
	mov	r1, r3
	mov	r0, r4
	bl	app_timer_start
	str	r0, [fp, #-36]
	b	.L53
.L50:
	mov	r0, #0
	bl	bsp_board_led_state_get
	mov	r3, r0
	cmp	r3, #0
	beq	.L60
	mov	r0, #0
	bl	bsp_board_led_off
	ldr	r3, [fp, #-40]
	cmp	r3, #3
	bne	.L61
	mov	r3, #800
	b	.L62
.L61:
	mov	r3, #4000
.L62:
	str	r3, [fp, #-32]
	b	.L63
.L60:
	mov	r0, #0
	bl	bsp_board_led_on
	ldr	r3, [fp, #-40]
	cmp	r3, #3
	bne	.L64
	mov	r3, #200
	b	.L65
.L64:
	mov	r3, #400
.L65:
	str	r3, [fp, #-32]
.L63:
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	ldr	r4, .L79+12
	ldr	r3, [fp, #-32]
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #15
	orr	r3, r3, r0, lsr #17
	lsl	r2, r0, #15
	adds	r1, r2, #500
	str	r1, [fp, #-60]
	adc	r3, r3, #0
	str	r3, [fp, #-56]
	mov	r2, #1000
	mov	r3, #0
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_uldivmod
	mov	r2, r0
	mov	r3, r1
	mov	r3, r2
	mov	r2, #0
	mov	r1, r3
	mov	r0, r4
	bl	app_timer_start
	str	r0, [fp, #-36]
	b	.L53
.L49:
	mov	r0, #0
	bl	bsp_board_led_state_get
	mov	r3, r0
	cmp	r3, #0
	beq	.L66
	mov	r0, #0
	bl	bsp_board_led_off
	mov	r3, #4000
	str	r3, [fp, #-32]
	b	.L67
.L66:
	mov	r0, #0
	bl	bsp_board_led_on
	mov	r3, #400
	str	r3, [fp, #-32]
.L67:
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	ldr	r4, .L79+12
	ldr	r3, [fp, #-32]
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #15
	orr	r3, r3, r0, lsr #17
	lsl	r2, r0, #15
	adds	r8, r2, #500
	adc	r9, r3, #0
	mov	r2, #1000
	mov	r3, #0
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_uldivmod
	mov	r2, r0
	mov	r3, r1
	mov	r3, r2
	mov	r2, #0
	mov	r1, r3
	mov	r0, r4
	bl	app_timer_start
	str	r0, [fp, #-36]
	b	.L53
.L48:
	mov	r0, #0
	bl	bsp_board_led_state_get
	mov	r3, r0
	cmp	r3, #0
	beq	.L68
	mov	r0, #0
	bl	bsp_board_led_off
	ldr	r3, [fp, #-40]
	cmp	r3, #5
	bne	.L69
	mov	r3, #200
	b	.L70
.L69:
	mov	r3, #4000
.L70:
	str	r3, [fp, #-32]
	b	.L71
.L68:
	mov	r0, #0
	bl	bsp_board_led_on
	ldr	r3, [fp, #-40]
	cmp	r3, #5
	bne	.L72
	mov	r3, #200
	b	.L73
.L72:
	mov	r3, #400
.L73:
	str	r3, [fp, #-32]
.L71:
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	ldr	r4, .L79+12
	ldr	r3, [fp, #-32]
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #15
	orr	r3, r3, r0, lsr #17
	lsl	r2, r0, #15
	adds	r6, r2, #500
	adc	r7, r3, #0
	mov	r2, #1000
	mov	r3, #0
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_uldivmod
	mov	r2, r0
	mov	r3, r1
	mov	r3, r2
	mov	r2, #0
	mov	r1, r3
	mov	r0, r4
	bl	app_timer_start
	str	r0, [fp, #-36]
	b	.L53
.L47:
	mov	r0, #0
	bl	bsp_board_led_invert
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	ldr	r3, .L79+12
	mov	r2, #0
	ldr	r1, .L79+16
	mov	r0, r3
	bl	app_timer_start
	str	r0, [fp, #-36]
	b	.L53
.L46:
	mov	r0, #0
	bl	bsp_board_led_on
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	b	.L53
.L45:
	ldr	r3, .L79
	mov	r2, #1
	strb	r2, [r3]
	mov	r0, #1
	bl	bsp_board_led_invert
	ldr	r3, .L79+12
	mov	r2, #0
	ldr	r1, .L79+16
	mov	r0, r3
	bl	app_timer_start
	str	r0, [fp, #-36]
	b	.L53
.L44:
	ldr	r3, .L79
	mov	r2, #1
	strb	r2, [r3]
	mov	r0, #1
	bl	bsp_board_led_invert
	ldr	r3, .L79+12
	mov	r2, #0
	mov	r1, #16384
	mov	r0, r3
	bl	app_timer_start
	str	r0, [fp, #-36]
	b	.L53
.L43:
	ldr	r3, .L79
	mov	r2, #1
	strb	r2, [r3]
	mov	r0, #1
	bl	bsp_board_led_invert
	ldr	r3, .L79+12
	mov	r2, #0
	ldr	r1, .L79+16
	mov	r0, r3
	bl	app_timer_start
	str	r0, [fp, #-36]
	b	.L53
.L42:
	ldr	r3, .L79
	mov	r2, #1
	strb	r2, [r3]
	mov	r0, #1
	bl	bsp_board_led_invert
	ldr	r3, .L79+12
	mov	r2, #0
	mov	r1, #16384
	mov	r0, r3
	bl	app_timer_start
	str	r0, [fp, #-36]
	b	.L53
.L41:
	bl	bsp_board_leds_on
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	b	.L53
.L40:
	ldr	r3, .L79+20
	mov	r0, r3
	bl	app_timer_stop
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-40]
	rsb	r3, r3, #17
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L74
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L74
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	bls	.L75
	ldr	r6, .L79+20
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r0, r3
	asr	r1, r0, #31
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #15
	orr	r3, r3, r0, lsr #17
	lsl	r2, r0, #15
	adds	r4, r2, #500
	adc	r5, r3, #0
	mov	r2, #1000
	mov	r3, #0
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_uldivmod
	mov	r2, r0
	mov	r3, r1
	mov	r3, r2
	mov	r2, #0
	mov	r1, r3
	mov	r0, r6
	bl	app_timer_start
	str	r0, [fp, #-36]
.L75:
	mov	r0, #2
	bl	bsp_board_led_on
	ldr	r3, .L79+24
	mov	r2, #1
	strb	r2, [r3]
	b	.L53
.L74:
	mov	r0, #2
	bl	bsp_board_led_off
	ldr	r3, .L79+24
	mov	r2, #0
	strb	r2, [r3]
	b	.L53
.L39:
	bl	leds_off
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	b	.L53
.L38:
	bl	leds_off
	mov	r0, #0
	bl	bsp_board_led_on
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	b	.L53
.L37:
	bl	leds_off
	mov	r0, #1
	bl	bsp_board_led_on
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	b	.L53
.L36:
	bl	leds_off
	mov	r0, #0
	bl	bsp_board_led_on
	mov	r0, #1
	bl	bsp_board_led_on
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	b	.L53
.L34:
	bl	bsp_board_leds_on
	ldr	r2, .L79+4
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	b	.L53
.L78:
	nop
.L53:
	ldr	r3, [fp, #-36]
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L80:
	.align	2
.L79:
	.word	m_leds_clear
	.word	m_stable_state
	.word	1800
	.word	m_leds_timer_id_data
	.word	3277
	.word	m_alert_timer_id_data
	.word	m_alert_on
	.size	bsp_led_indication, .-bsp_led_indication
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	leds_timer_handler, %function
leds_timer_handler:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L84
	ldr	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L83
	ldr	r3, .L84+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	bsp_led_indication
.L83:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L85:
	.align	2
.L84:
	.word	m_indication_type
	.word	m_stable_state
	.size	leds_timer_handler, .-leds_timer_handler
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	alert_timer_handler, %function
alert_timer_handler:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r0, #2
	bl	bsp_board_led_invert
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	alert_timer_handler, .-alert_timer_handler
	.align	2
	.global	bsp_indication_set
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsp_indication_set, %function
bsp_indication_set:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, .L90
	ldr	r3, [r3]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L88
	ldr	r0, [fp, #-16]
	bl	bsp_led_indication
	str	r0, [fp, #-8]
.L88:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L91:
	.align	2
.L90:
	.word	m_indication_type
	.size	bsp_indication_set, .-bsp_indication_set
	.align	2
	.global	bsp_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsp_init, %function
bsp_init:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r2, .L103
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r2, .L103+4
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L93
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L94
.L96:
	mov	r2, #1
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	bsp_event_to_button_action_assign
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L94:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bhi	.L95
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L96
.L95:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L97
	ldr	r2, .L103+8
	mov	r1, #4
	ldr	r0, .L103+12
	bl	app_button_init
	str	r0, [fp, #-12]
.L97:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L98
	bl	app_button_enable
	str	r0, [fp, #-12]
.L98:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L93
	ldr	r2, .L103+16
	mov	r1, #0
	ldr	r0, .L103+20
	bl	app_timer_create
	str	r0, [fp, #-12]
.L93:
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L99
	bl	bsp_board_leds_init
.L99:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L100
	ldr	r2, .L103+24
	mov	r1, #0
	ldr	r0, .L103+28
	bl	app_timer_create
	str	r0, [fp, #-12]
.L100:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L101
	ldr	r2, .L103+32
	mov	r1, #1
	ldr	r0, .L103+36
	bl	app_timer_create
	str	r0, [fp, #-12]
.L101:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L104:
	.align	2
.L103:
	.word	m_indication_type
	.word	m_registered_callback
	.word	1638
	.word	app_buttons
	.word	button_timer_handler
	.word	m_button_timer_id
	.word	leds_timer_handler
	.word	m_leds_timer_id
	.word	alert_timer_handler
	.word	m_alert_timer_id
	.size	bsp_init, .-bsp_init
	.align	2
	.global	bsp_event_to_button_action_assign
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsp_event_to_button_action_assign, %function
bsp_event_to_button_action_assign:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	mov	r3, r1
	str	r2, [fp, #-24]
	strb	r3, [fp, #-17]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bhi	.L106
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L107
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L108
	ldr	r3, [fp, #-16]
	add	r3, r3, #14
	b	.L109
.L108:
	mov	r3, #0
.L109:
	str	r3, [fp, #-24]
.L107:
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #2
	beq	.L110
	cmp	r3, #2
	bgt	.L111
	cmp	r3, #0
	beq	.L112
	cmp	r3, #1
	bne	.L111
	ldr	r1, .L116
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L114
.L110:
	ldr	r1, .L116
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L114
.L112:
	ldr	r1, .L116
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L114
.L111:
	mov	r3, #7
	str	r3, [fp, #-8]
	b	.L114
.L106:
	mov	r3, #7
	str	r3, [fp, #-8]
.L114:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L117:
	.align	2
.L116:
	.word	m_events_list
	.size	bsp_event_to_button_action_assign, .-bsp_event_to_button_action_assign
	.align	2
	.global	bsp_buttons_enable
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsp_buttons_enable, %function
bsp_buttons_enable:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	app_button_enable
	mov	r3, r0
	mov	r0, r3
	pop	{fp, pc}
	.size	bsp_buttons_enable, .-bsp_buttons_enable
	.align	2
	.global	bsp_buttons_disable
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsp_buttons_disable, %function
bsp_buttons_disable:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	app_button_disable
	mov	r3, r0
	mov	r0, r3
	pop	{fp, pc}
	.size	bsp_buttons_disable, .-bsp_buttons_disable
	.align	2
	.global	bsp_wakeup_button_enable
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsp_wakeup_button_enable, %function
bsp_wakeup_button_enable:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	bsp_board_button_idx_to_pin
	mov	r3, r0
	mov	r1, #3
	mov	r0, r3
	bl	nrf_gpio_cfg_sense_set
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	bsp_wakeup_button_enable, .-bsp_wakeup_button_enable
	.align	2
	.global	bsp_wakeup_button_disable
	.syntax unified
	.arm
	.fpu softvfp
	.type	bsp_wakeup_button_disable, %function
bsp_wakeup_button_disable:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	bsp_board_button_idx_to_pin
	mov	r3, r0
	mov	r1, #0
	mov	r0, r3
	bl	nrf_gpio_cfg_sense_set
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	bsp_wakeup_button_disable, .-bsp_wakeup_button_disable
	.local	current_long_push_pin_no.8433
	.comm	current_long_push_pin_no.8433,1,1
	.local	release_event_at_push.8434
	.comm	release_event_at_push.8434,16,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
