	.file	"823524.c"
	.intel_syntax noprefix
	.text
	.local	yy_current_buffer
	.comm	yy_current_buffer,8,8
	.local	yy_hold_char
	.comm	yy_hold_char,1,1
	.local	yy_n_chars
	.comm	yy_n_chars,4,4
	.globl	yyleng
	.bss
	.align 4
	.type	yyleng, @object
	.size	yyleng, 4
yyleng:
	.zero	4
	.local	yy_c_buf_p
	.comm	yy_c_buf_p,8,8
	.data
	.align 4
	.type	yy_init, @object
	.size	yy_init, 4
yy_init:
	.long	1
	.local	yy_start
	.comm	yy_start,4,4
	.local	yy_did_buffer_switch_on_eof
	.comm	yy_did_buffer_switch_on_eof,4,4
	.globl	yyin
	.bss
	.align 8
	.type	yyin, @object
	.size	yyin, 8
yyin:
	.zero	8
	.globl	yyout
	.align 8
	.type	yyout, @object
	.size	yyout, 8
yyout:
	.zero	8
	.section	.rodata
	.align 32
	.type	yy_accept, @object
	.size	yy_accept, 212
yy_accept:
	.value	0
	.value	0
	.value	0
	.value	17
	.value	15
	.value	13
	.value	14
	.value	15
	.value	15
	.value	15
	.value	9
	.value	8
	.value	4
	.value	4
	.value	13
	.value	0
	.value	11
	.value	0
	.value	0
	.value	0
	.value	6
	.value	5
	.value	9
	.value	0
	.value	0
	.value	9
	.value	9
	.value	0
	.value	8
	.value	8
	.value	8
	.value	4
	.value	4
	.value	0
	.value	0
	.value	12
	.value	0
	.value	0
	.value	0
	.value	6
	.value	5
	.value	0
	.value	5
	.value	0
	.value	7
	.value	9
	.value	9
	.value	10
	.value	8
	.value	8
	.value	4
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	6
	.value	0
	.value	5
	.value	7
	.value	10
	.value	10
	.value	4
	.value	4
	.value	0
	.value	0
	.value	0
	.value	0
	.value	10
	.value	10
	.value	4
	.value	4
	.value	0
	.value	0
	.value	4
	.value	4
	.value	0
	.value	0
	.value	4
	.value	4
	.value	0
	.value	0
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	3
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	4
	.value	2
	.value	1
	.value	0
	.align 32
	.type	yy_ec, @object
	.size	yy_ec, 1024
yy_ec:
	.long	0
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	2
	.long	3
	.long	1
	.long	2
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	2
	.long	1
	.long	4
	.long	1
	.long	1
	.long	1
	.long	1
	.long	5
	.long	1
	.long	1
	.long	1
	.long	6
	.long	1
	.long	6
	.long	7
	.long	1
	.long	8
	.long	9
	.long	10
	.long	10
	.long	10
	.long	10
	.long	10
	.long	10
	.long	11
	.long	11
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	12
	.long	1
	.long	13
	.long	13
	.long	14
	.long	15
	.long	16
	.long	17
	.long	18
	.long	18
	.long	19
	.long	18
	.long	18
	.long	20
	.long	18
	.long	18
	.long	18
	.long	21
	.long	18
	.long	18
	.long	22
	.long	18
	.long	23
	.long	18
	.long	18
	.long	24
	.long	18
	.long	18
	.long	1
	.long	25
	.long	1
	.long	1
	.long	18
	.long	1
	.long	26
	.long	27
	.long	28
	.long	13
	.long	29
	.long	30
	.long	18
	.long	18
	.long	31
	.long	18
	.long	32
	.long	33
	.long	34
	.long	35
	.long	36
	.long	37
	.long	18
	.long	38
	.long	18
	.long	39
	.long	23
	.long	40
	.long	18
	.long	24
	.long	18
	.long	18
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.long	1
	.align 32
	.type	yy_meta, @object
	.size	yy_meta, 164
yy_meta:
	.long	0
	.long	1
	.long	1
	.long	2
	.long	3
	.long	4
	.long	1
	.long	1
	.long	5
	.long	5
	.long	5
	.long	6
	.long	4
	.long	6
	.long	6
	.long	6
	.long	6
	.long	6
	.long	7
	.long	7
	.long	7
	.long	7
	.long	7
	.long	7
	.long	8
	.long	4
	.long	5
	.long	5
	.long	6
	.long	6
	.long	5
	.long	7
	.long	7
	.long	7
	.long	7
	.long	8
	.long	7
	.long	7
	.long	8
	.long	8
	.long	8
	.align 32
	.type	yy_base, @object
	.size	yy_base, 230
yy_base:
	.value	0
	.value	0
	.value	25
	.value	226
	.value	415
	.value	223
	.value	415
	.value	13
	.value	198
	.value	10
	.value	44
	.value	71
	.value	0
	.value	185
	.value	217
	.value	18
	.value	415
	.value	32
	.value	19
	.value	37
	.value	97
	.value	123
	.value	189
	.value	150
	.value	87
	.value	189
	.value	29
	.value	0
	.value	0
	.value	187
	.value	37
	.value	0
	.value	173
	.value	111
	.value	0
	.value	415
	.value	137
	.value	0
	.value	159
	.value	415
	.value	0
	.value	165
	.value	415
	.value	75
	.value	172
	.value	415
	.value	415
	.value	43
	.value	415
	.value	415
	.value	50
	.value	186
	.value	85
	.value	189
	.value	98
	.value	140
	.value	207
	.value	176
	.value	233
	.value	415
	.value	183
	.value	38
	.value	175
	.value	168
	.value	86
	.value	263
	.value	99
	.value	290
	.value	415
	.value	415
	.value	173
	.value	151
	.value	184
	.value	196
	.value	145
	.value	141
	.value	313
	.value	336
	.value	146
	.value	132
	.value	112
	.value	138
	.value	117
	.value	128
	.value	115
	.value	111
	.value	53
	.value	102
	.value	93
	.value	97
	.value	96
	.value	87
	.value	78
	.value	0
	.value	66
	.value	62
	.value	53
	.value	55
	.value	43
	.value	30
	.value	10
	.value	6
	.value	4
	.value	0
	.value	0
	.value	415
	.value	366
	.value	374
	.value	382
	.value	386
	.value	393
	.value	400
	.value	404
	.value	406
	.value	408
	.align 32
	.type	yy_def, @object
	.size	yy_def, 230
yy_def:
	.value	0
	.value	106
	.value	106
	.value	105
	.value	105
	.value	105
	.value	105
	.value	107
	.value	108
	.value	105
	.value	105
	.value	105
	.value	109
	.value	109
	.value	105
	.value	107
	.value	105
	.value	110
	.value	108
	.value	111
	.value	105
	.value	105
	.value	10
	.value	105
	.value	105
	.value	105
	.value	105
	.value	112
	.value	11
	.value	105
	.value	105
	.value	109
	.value	109
	.value	107
	.value	113
	.value	105
	.value	108
	.value	114
	.value	105
	.value	105
	.value	21
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	112
	.value	105
	.value	105
	.value	109
	.value	107
	.value	107
	.value	108
	.value	108
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	109
	.value	109
	.value	107
	.value	107
	.value	108
	.value	108
	.value	105
	.value	105
	.value	109
	.value	109
	.value	107
	.value	108
	.value	109
	.value	109
	.value	65
	.value	67
	.value	109
	.value	109
	.value	107
	.value	108
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	109
	.value	0
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.align 32
	.type	yy_nxt, @object
	.size	yy_nxt, 912
yy_nxt:
	.value	0
	.value	4
	.value	5
	.value	6
	.value	7
	.value	8
	.value	4
	.value	9
	.value	10
	.value	11
	.value	11
	.value	11
	.value	4
	.value	104
	.value	13
	.value	103
	.value	105
	.value	16
	.value	20
	.value	20
	.value	20
	.value	20
	.value	16
	.value	35
	.value	105
	.value	4
	.value	4
	.value	5
	.value	6
	.value	7
	.value	8
	.value	4
	.value	9
	.value	10
	.value	11
	.value	11
	.value	11
	.value	4
	.value	17
	.value	13
	.value	33
	.value	33
	.value	33
	.value	17
	.value	19
	.value	36
	.value	36
	.value	36
	.value	102
	.value	46
	.value	4
	.value	21
	.value	22
	.value	22
	.value	22
	.value	23
	.value	34
	.value	49
	.value	69
	.value	101
	.value	24
	.value	37
	.value	46
	.value	60
	.value	25
	.value	62
	.value	61
	.value	26
	.value	27
	.value	63
	.value	49
	.value	69
	.value	100
	.value	24
	.value	88
	.value	89
	.value	60
	.value	25
	.value	21
	.value	28
	.value	28
	.value	28
	.value	28
	.value	44
	.value	44
	.value	44
	.value	44
	.value	24
	.value	99
	.value	16
	.value	16
	.value	29
	.value	98
	.value	43
	.value	30
	.value	44
	.value	44
	.value	44
	.value	44
	.value	97
	.value	24
	.value	96
	.value	35
	.value	35
	.value	29
	.value	20
	.value	20
	.value	20
	.value	20
	.value	65
	.value	17
	.value	17
	.value	95
	.value	38
	.value	39
	.value	16
	.value	16
	.value	39
	.value	94
	.value	51
	.value	51
	.value	51
	.value	67
	.value	19
	.value	19
	.value	93
	.value	38
	.value	39
	.value	92
	.value	91
	.value	39
	.value	40
	.value	40
	.value	40
	.value	40
	.value	90
	.value	17
	.value	17
	.value	87
	.value	41
	.value	42
	.value	35
	.value	35
	.value	42
	.value	86
	.value	53
	.value	53
	.value	53
	.value	56
	.value	56
	.value	56
	.value	56
	.value	41
	.value	42
	.value	85
	.value	84
	.value	42
	.value	21
	.value	23
	.value	23
	.value	23
	.value	23
	.value	19
	.value	19
	.value	83
	.value	55
	.value	24
	.value	56
	.value	56
	.value	56
	.value	56
	.value	57
	.value	82
	.value	58
	.value	58
	.value	58
	.value	58
	.value	79
	.value	78
	.value	24
	.value	44
	.value	44
	.value	44
	.value	44
	.value	58
	.value	58
	.value	58
	.value	58
	.value	16
	.value	59
	.value	16
	.value	75
	.value	59
	.value	35
	.value	64
	.value	64
	.value	64
	.value	66
	.value	66
	.value	66
	.value	35
	.value	74
	.value	59
	.value	71
	.value	70
	.value	59
	.value	68
	.value	50
	.value	76
	.value	17
	.value	48
	.value	17
	.value	45
	.value	105
	.value	19
	.value	56
	.value	56
	.value	56
	.value	56
	.value	14
	.value	77
	.value	19
	.value	32
	.value	19
	.value	39
	.value	14
	.value	105
	.value	39
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	39
	.value	105
	.value	105
	.value	39
	.value	58
	.value	58
	.value	58
	.value	58
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	42
	.value	105
	.value	105
	.value	42
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	42
	.value	105
	.value	105
	.value	42
	.value	16
	.value	105
	.value	105
	.value	105
	.value	72
	.value	72
	.value	72
	.value	72
	.value	105
	.value	72
	.value	72
	.value	72
	.value	72
	.value	72
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	17
	.value	72
	.value	72
	.value	72
	.value	72
	.value	72
	.value	35
	.value	105
	.value	105
	.value	105
	.value	73
	.value	73
	.value	73
	.value	73
	.value	105
	.value	73
	.value	73
	.value	73
	.value	73
	.value	73
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	19
	.value	73
	.value	73
	.value	73
	.value	73
	.value	73
	.value	80
	.value	80
	.value	80
	.value	80
	.value	105
	.value	80
	.value	80
	.value	80
	.value	80
	.value	80
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	80
	.value	80
	.value	80
	.value	80
	.value	80
	.value	81
	.value	81
	.value	81
	.value	81
	.value	105
	.value	81
	.value	81
	.value	81
	.value	81
	.value	81
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	81
	.value	81
	.value	81
	.value	81
	.value	81
	.value	12
	.value	12
	.value	12
	.value	12
	.value	12
	.value	12
	.value	12
	.value	12
	.value	15
	.value	105
	.value	15
	.value	15
	.value	15
	.value	15
	.value	15
	.value	15
	.value	18
	.value	105
	.value	105
	.value	18
	.value	18
	.value	18
	.value	18
	.value	18
	.value	31
	.value	31
	.value	31
	.value	31
	.value	15
	.value	15
	.value	15
	.value	15
	.value	105
	.value	105
	.value	15
	.value	18
	.value	18
	.value	18
	.value	18
	.value	105
	.value	105
	.value	18
	.value	47
	.value	47
	.value	52
	.value	52
	.value	54
	.value	54
	.value	3
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.align 32
	.type	yy_chk, @object
	.size	yy_chk, 912
yy_chk:
	.value	0
	.value	1
	.value	1
	.value	1
	.value	1
	.value	1
	.value	1
	.value	1
	.value	1
	.value	1
	.value	1
	.value	1
	.value	1
	.value	102
	.value	1
	.value	101
	.value	0
	.value	7
	.value	9
	.value	9
	.value	9
	.value	9
	.value	15
	.value	18
	.value	0
	.value	1
	.value	2
	.value	2
	.value	2
	.value	2
	.value	2
	.value	2
	.value	2
	.value	2
	.value	2
	.value	2
	.value	2
	.value	2
	.value	7
	.value	2
	.value	17
	.value	17
	.value	17
	.value	15
	.value	18
	.value	19
	.value	19
	.value	19
	.value	100
	.value	26
	.value	2
	.value	10
	.value	10
	.value	10
	.value	10
	.value	10
	.value	17
	.value	30
	.value	61
	.value	99
	.value	10
	.value	19
	.value	26
	.value	47
	.value	10
	.value	50
	.value	47
	.value	10
	.value	10
	.value	50
	.value	30
	.value	61
	.value	98
	.value	10
	.value	86
	.value	86
	.value	47
	.value	10
	.value	11
	.value	11
	.value	11
	.value	11
	.value	11
	.value	43
	.value	43
	.value	43
	.value	43
	.value	11
	.value	97
	.value	52
	.value	64
	.value	11
	.value	96
	.value	24
	.value	11
	.value	24
	.value	24
	.value	24
	.value	24
	.value	95
	.value	11
	.value	94
	.value	54
	.value	66
	.value	11
	.value	20
	.value	20
	.value	20
	.value	20
	.value	52
	.value	52
	.value	64
	.value	92
	.value	20
	.value	20
	.value	33
	.value	80
	.value	20
	.value	91
	.value	33
	.value	33
	.value	33
	.value	54
	.value	54
	.value	66
	.value	90
	.value	20
	.value	20
	.value	89
	.value	88
	.value	20
	.value	21
	.value	21
	.value	21
	.value	21
	.value	87
	.value	33
	.value	80
	.value	85
	.value	21
	.value	21
	.value	36
	.value	81
	.value	21
	.value	84
	.value	36
	.value	36
	.value	36
	.value	55
	.value	55
	.value	55
	.value	55
	.value	21
	.value	21
	.value	83
	.value	82
	.value	21
	.value	23
	.value	23
	.value	23
	.value	23
	.value	23
	.value	36
	.value	81
	.value	79
	.value	38
	.value	23
	.value	38
	.value	38
	.value	38
	.value	38
	.value	41
	.value	78
	.value	41
	.value	41
	.value	41
	.value	41
	.value	75
	.value	74
	.value	23
	.value	44
	.value	44
	.value	44
	.value	44
	.value	57
	.value	57
	.value	57
	.value	57
	.value	72
	.value	44
	.value	51
	.value	71
	.value	44
	.value	53
	.value	51
	.value	51
	.value	51
	.value	53
	.value	53
	.value	53
	.value	73
	.value	70
	.value	44
	.value	63
	.value	62
	.value	44
	.value	60
	.value	32
	.value	72
	.value	72
	.value	29
	.value	51
	.value	25
	.value	22
	.value	53
	.value	56
	.value	56
	.value	56
	.value	56
	.value	14
	.value	73
	.value	73
	.value	13
	.value	8
	.value	56
	.value	5
	.value	3
	.value	56
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	56
	.value	0
	.value	0
	.value	56
	.value	58
	.value	58
	.value	58
	.value	58
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	58
	.value	0
	.value	0
	.value	58
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	58
	.value	0
	.value	0
	.value	58
	.value	65
	.value	0
	.value	0
	.value	0
	.value	65
	.value	65
	.value	65
	.value	65
	.value	0
	.value	65
	.value	65
	.value	65
	.value	65
	.value	65
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	65
	.value	65
	.value	65
	.value	65
	.value	65
	.value	65
	.value	67
	.value	0
	.value	0
	.value	0
	.value	67
	.value	67
	.value	67
	.value	67
	.value	0
	.value	67
	.value	67
	.value	67
	.value	67
	.value	67
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	67
	.value	67
	.value	67
	.value	67
	.value	67
	.value	67
	.value	76
	.value	76
	.value	76
	.value	76
	.value	0
	.value	76
	.value	76
	.value	76
	.value	76
	.value	76
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	76
	.value	76
	.value	76
	.value	76
	.value	76
	.value	77
	.value	77
	.value	77
	.value	77
	.value	0
	.value	77
	.value	77
	.value	77
	.value	77
	.value	77
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	0
	.value	77
	.value	77
	.value	77
	.value	77
	.value	77
	.value	106
	.value	106
	.value	106
	.value	106
	.value	106
	.value	106
	.value	106
	.value	106
	.value	107
	.value	0
	.value	107
	.value	107
	.value	107
	.value	107
	.value	107
	.value	107
	.value	108
	.value	0
	.value	0
	.value	108
	.value	108
	.value	108
	.value	108
	.value	108
	.value	109
	.value	109
	.value	109
	.value	109
	.value	110
	.value	110
	.value	110
	.value	110
	.value	0
	.value	0
	.value	110
	.value	111
	.value	111
	.value	111
	.value	111
	.value	0
	.value	0
	.value	111
	.value	112
	.value	112
	.value	113
	.value	113
	.value	114
	.value	114
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.value	105
	.local	yy_last_accepting_state
	.comm	yy_last_accepting_state,4,4
	.local	yy_last_accepting_cpos
	.comm	yy_last_accepting_cpos,8,8
	.globl	yytext
	.bss
	.align 8
	.type	yytext, @object
	.size	yytext, 8
yytext:
	.zero	8
	.globl	tok_lineno
	.align 4
	.type	tok_lineno, @object
	.size	tok_lineno, 4
tok_lineno:
	.zero	4
	.globl	yytoktype
	.align 4
	.type	yytoktype, @object
	.size	yytoktype, 4
yytoktype:
	.zero	4
	.globl	file_src
	.align 8
	.type	file_src, @object
	.size	file_src, 8
file_src:
	.zero	8
	.globl	file_cpm
	.align 8
	.type	file_cpm, @object
	.size	file_cpm, 8
file_cpm:
	.zero	8
	.section	.rodata
	.align 8
.LC0:
	.string	"fatal flex scanner internal error--no action found"
	.text
	.globl	yylex
	.type	yylex, @function
yylex:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 16
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
	mov	eax, DWORD PTR yy_init[rip]
	test	eax, eax
	je	.L46
	mov	DWORD PTR yy_init[rip], 0
	mov	eax, DWORD PTR yy_start[rip]
	test	eax, eax
	jne	.L3
	mov	DWORD PTR yy_start[rip], 1
.L3:
	mov	rax, QWORD PTR yyin[rip]
	test	rax, rax
	jne	.L4
	mov	rax, QWORD PTR stdin[rip]
	mov	QWORD PTR yyin[rip], rax
.L4:
	mov	rax, QWORD PTR yyout[rip]
	test	rax, rax
	jne	.L5
	mov	rax, QWORD PTR stdout[rip]
	mov	QWORD PTR yyout[rip], rax
.L5:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	test	rax, rax
	jne	.L6
	mov	rax, QWORD PTR yyin[rip]
	mov	esi, 16384
	mov	rdi, rax
	call	yy_create_buffer
	mov	QWORD PTR yy_current_buffer[rip], rax
.L6:
	call	yy_load_buffer_state
.L46:
	mov	rbx, QWORD PTR yy_c_buf_p[rip]
	movzx	eax, BYTE PTR yy_hold_char[rip]
	mov	BYTE PTR [rbx], al
	mov	r13, rbx
	mov	r12d, DWORD PTR yy_start[rip]
.L7:
.L11:
	movzx	eax, BYTE PTR [rbx]
	movzx	eax, al
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, yy_ec[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	r14d, eax
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, yy_accept[rip]
	movzx	eax, WORD PTR [rdx+rax]
	test	ax, ax
	je	.L9
	mov	DWORD PTR yy_last_accepting_state[rip], r12d
	mov	QWORD PTR yy_last_accepting_cpos[rip], rbx
	jmp	.L9
.L10:
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, yy_def[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	r12d, ax
	cmp	r12d, 105
	jle	.L9
	movzx	eax, r14b
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, yy_meta[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	r14d, eax
.L9:
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, yy_base[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	movzx	eax, r14b
	add	eax, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yy_chk[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	cmp	r12d, eax
	jne	.L10
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, yy_base[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	movzx	eax, r14b
	add	eax, edx
	mov	eax, eax
	lea	rdx, [rax+rax]
	lea	rax, yy_nxt[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	r12d, ax
	add	rbx, 1
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, yy_base[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cmp	ax, 415
	jne	.L11
	nop
.L12:
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, yy_accept[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	r12d, ax
	test	r12d, r12d
	jne	.L13
	mov	rbx, QWORD PTR yy_last_accepting_cpos[rip]
	mov	r12d, DWORD PTR yy_last_accepting_state[rip]
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, yy_accept[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	r12d, ax
.L13:
	mov	QWORD PTR yytext[rip], r13
	mov	rax, rbx
	sub	rax, r13
	mov	DWORD PTR yyleng[rip], eax
	movzx	eax, BYTE PTR [rbx]
	mov	BYTE PTR yy_hold_char[rip], al
	mov	BYTE PTR [rbx], 0
	mov	QWORD PTR yy_c_buf_p[rip], rbx
.L14:
	cmp	r12d, 18
	ja	.L15
	mov	eax, r12d
	lea	rdx, 0[0+rax*4]
	lea	rax, .L17[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L17[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L17:
	.long	.L35-.L17
	.long	.L34-.L17
	.long	.L33-.L17
	.long	.L32-.L17
	.long	.L31-.L17
	.long	.L30-.L17
	.long	.L29-.L17
	.long	.L28-.L17
	.long	.L27-.L17
	.long	.L26-.L17
	.long	.L25-.L17
	.long	.L24-.L17
	.long	.L23-.L17
	.long	.L47-.L17
	.long	.L21-.L17
	.long	.L20-.L17
	.long	.L19-.L17
	.long	.L18-.L17
	.long	.L16-.L17
	.text
.L35:
	movzx	eax, BYTE PTR yy_hold_char[rip]
	mov	BYTE PTR [rbx], al
	mov	rbx, QWORD PTR yy_last_accepting_cpos[rip]
	mov	r12d, DWORD PTR yy_last_accepting_state[rip]
	jmp	.L12
.L34:
	mov	eax, 80
	jmp	.L36
.L33:
	mov	eax, 83
	jmp	.L36
.L32:
	mov	eax, 73
	jmp	.L36
.L31:
	mov	eax, 105
	jmp	.L36
.L30:
	mov	eax, 48
	jmp	.L36
.L29:
	mov	eax, 48
	jmp	.L36
.L28:
	mov	eax, 48
	jmp	.L36
.L27:
	mov	eax, 48
	jmp	.L36
.L26:
	mov	eax, 48
	jmp	.L36
.L25:
	mov	eax, 48
	jmp	.L36
.L24:
	mov	eax, 34
	jmp	.L36
.L23:
	mov	eax, 99
	jmp	.L36
.L21:
	mov	eax, DWORD PTR tok_lineno[rip]
	add	eax, 1
	mov	DWORD PTR tok_lineno[rip], eax
	jmp	.L37
.L20:
	mov	rax, QWORD PTR yytext[rip]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	jmp	.L36
.L19:
	mov	rdx, QWORD PTR yyout[rip]
	mov	eax, DWORD PTR yyleng[rip]
	movsx	rsi, eax
	mov	rax, QWORD PTR yytext[rip]
	mov	rcx, rdx
	mov	edx, 1
	mov	rdi, rax
	call	fwrite@PLT
	jmp	.L37
.L16:
	mov	eax, 0
	jmp	.L36
.L18:
	mov	rdx, QWORD PTR yytext[rip]
	mov	rax, rbx
	sub	rax, rdx
	sub	eax, 1
	mov	DWORD PTR -40[rbp], eax
	movzx	eax, BYTE PTR yy_hold_char[rip]
	mov	BYTE PTR [rbx], al
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jne	.L38
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR yy_n_chars[rip], eax
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR yyin[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	DWORD PTR 48[rax], 1
.L38:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR yy_n_chars[rip]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	cmp	rdx, rax
	jb	.L39
	mov	rdx, QWORD PTR yytext[rip]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR yy_c_buf_p[rip], rax
	call	yy_get_previous_state
	mov	r12d, eax
	mov	edi, r12d
	call	yy_try_NUL_trans
	mov	DWORD PTR -36[rbp], eax
	mov	r13, QWORD PTR yytext[rip]
	cmp	DWORD PTR -36[rbp], 0
	je	.L40
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	add	rax, 1
	mov	QWORD PTR yy_c_buf_p[rip], rax
	mov	rbx, QWORD PTR yy_c_buf_p[rip]
	mov	r12d, DWORD PTR -36[rbp]
	jmp	.L11
.L40:
	mov	rbx, QWORD PTR yy_c_buf_p[rip]
	jmp	.L12
.L39:
	call	yy_get_next_buffer
	cmp	eax, 2
	je	.L41
	cmp	eax, 2
	jg	.L48
	test	eax, eax
	je	.L43
	cmp	eax, 1
	jne	.L48
	mov	DWORD PTR yy_did_buffer_switch_on_eof[rip], 0
	call	yywrap
	test	eax, eax
	je	.L44
	mov	rax, QWORD PTR yytext[rip]
	mov	QWORD PTR yy_c_buf_p[rip], rax
	mov	eax, DWORD PTR yy_start[rip]
	sub	eax, 1
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	lea	r12d, 18[rax]
	jmp	.L14
.L44:
	mov	eax, DWORD PTR yy_did_buffer_switch_on_eof[rip]
	test	eax, eax
	jne	.L49
	mov	rax, QWORD PTR yyin[rip]
	mov	rdi, rax
	call	yyrestart
	jmp	.L49
.L43:
	mov	rdx, QWORD PTR yytext[rip]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR yy_c_buf_p[rip], rax
	call	yy_get_previous_state
	mov	r12d, eax
	mov	rbx, QWORD PTR yy_c_buf_p[rip]
	mov	r13, QWORD PTR yytext[rip]
	jmp	.L11
.L41:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR yy_n_chars[rip]
	cdqe
	add	rax, rdx
	mov	QWORD PTR yy_c_buf_p[rip], rax
	call	yy_get_previous_state
	mov	r12d, eax
	mov	rbx, QWORD PTR yy_c_buf_p[rip]
	mov	r13, QWORD PTR yytext[rip]
	jmp	.L12
.L49:
	nop
	jmp	.L48
.L15:
	lea	rdi, .LC0[rip]
	call	yy_fatal_error
	jmp	.L46
.L47:
	nop
	jmp	.L46
.L48:
	nop
.L37:
	jmp	.L46
.L36:
	add	rsp, 16
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	yylex, .-yylex
	.section	.rodata
	.align 8
.LC1:
	.string	"fatal flex scanner internal error--end of buffer missed"
	.align 8
.LC2:
	.string	"fatal error - scanner input buffer overflow"
.LC3:
	.string	"input in flex scanner failed"
	.text
	.type	yy_get_next_buffer, @function
yy_get_next_buffer:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 32
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	r13, QWORD PTR 8[rax]
	mov	r14, QWORD PTR yytext[rip]
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR yy_n_chars[rip]
	cdqe
	add	rax, 1
	add	rdx, rax
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	cmp	rdx, rax
	jnb	.L51
	lea	rdi, .LC1[rip]
	call	yy_fatal_error
.L51:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	jne	.L52
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	mov	rdx, QWORD PTR yytext[rip]
	sub	rax, rdx
	cmp	rax, 1
	jne	.L53
	mov	eax, 1
	jmp	.L54
.L53:
	mov	eax, 2
	jmp	.L54
.L52:
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	mov	rdx, QWORD PTR yytext[rip]
	sub	rax, rdx
	lea	ebx, -1[rax]
	mov	r12d, 0
	jmp	.L55
.L56:
	mov	rdx, r14
	lea	r14, 1[rdx]
	mov	rax, r13
	lea	r13, 1[rax]
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	add	r12d, 1
.L55:
	cmp	r12d, ebx
	jl	.L56
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	eax, DWORD PTR 48[rax]
	cmp	eax, 2
	jne	.L57
	mov	DWORD PTR yy_n_chars[rip], 0
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	edx, DWORD PTR yy_n_chars[rip]
	mov	DWORD PTR 28[rax], edx
	jmp	.L58
.L57:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, ebx
	sub	eax, edx
	sub	eax, 1
	mov	DWORD PTR -60[rbp], eax
	jmp	.L59
.L65:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR yy_c_buf_p[rip]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	DWORD PTR -48[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L60
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	add	eax, eax
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	jg	.L61
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	shr	eax, 3
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 24[rax], edx
	jmp	.L62
.L61:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, [rax+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 24[rax], edx
.L62:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	yy_flex_realloc
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L63
.L60:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], 0
.L63:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L64
	lea	rdi, .LC2[rip]
	call	yy_fatal_error
.L64:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR yy_c_buf_p[rip], rax
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, ebx
	sub	eax, edx
	sub	eax, 1
	mov	DWORD PTR -60[rbp], eax
.L59:
	cmp	DWORD PTR -60[rbp], 0
	jle	.L65
	cmp	DWORD PTR -60[rbp], 8192
	jle	.L66
	mov	DWORD PTR -60[rbp], 8192
.L66:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	je	.L67
	mov	DWORD PTR -56[rbp], 42
	mov	DWORD PTR -52[rbp], 0
	jmp	.L68
.L70:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR 8[rax]
	movsx	rcx, ebx
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	rax, rcx
	add	rax, rdx
	mov	edx, DWORD PTR -56[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -52[rbp], 1
.L68:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jge	.L69
	mov	rax, QWORD PTR yyin[rip]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], -1
	je	.L69
	cmp	DWORD PTR -56[rbp], 10
	jne	.L70
.L69:
	cmp	DWORD PTR -56[rbp], 10
	jne	.L71
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rcx, QWORD PTR 8[rax]
	movsx	rsi, ebx
	mov	eax, DWORD PTR -52[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -52[rbp], edx
	cdqe
	add	rax, rsi
	add	rax, rcx
	mov	edx, DWORD PTR -56[rbp]
	mov	BYTE PTR [rax], dl
.L71:
	cmp	DWORD PTR -56[rbp], -1
	jne	.L72
	mov	rax, QWORD PTR yyin[rip]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	je	.L72
	lea	rdi, .LC3[rip]
	call	yy_fatal_error
.L72:
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR yy_n_chars[rip], eax
	jmp	.L73
.L67:
	mov	rdx, QWORD PTR yyin[rip]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	mov	rcx, QWORD PTR yy_current_buffer[rip]
	mov	rsi, QWORD PTR 8[rcx]
	movsx	rcx, ebx
	lea	rdi, [rsi+rcx]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 1
	call	fread@PLT
	mov	DWORD PTR yy_n_chars[rip], eax
	mov	eax, DWORD PTR yy_n_chars[rip]
	test	eax, eax
	jne	.L73
	mov	rax, QWORD PTR yyin[rip]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	je	.L73
	lea	rdi, .LC3[rip]
	call	yy_fatal_error
.L73:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	edx, DWORD PTR yy_n_chars[rip]
	mov	DWORD PTR 28[rax], edx
.L58:
	mov	eax, DWORD PTR yy_n_chars[rip]
	test	eax, eax
	jne	.L74
	test	ebx, ebx
	jne	.L75
	mov	DWORD PTR -64[rbp], 1
	mov	rax, QWORD PTR yyin[rip]
	mov	rdi, rax
	call	yyrestart
	jmp	.L76
.L75:
	mov	DWORD PTR -64[rbp], 2
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	DWORD PTR 48[rax], 2
	jmp	.L76
.L74:
	mov	DWORD PTR -64[rbp], 0
.L76:
	mov	eax, DWORD PTR yy_n_chars[rip]
	add	eax, ebx
	mov	DWORD PTR yy_n_chars[rip], eax
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR yy_n_chars[rip]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR yy_n_chars[rip]
	cdqe
	add	rax, 1
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR yytext[rip], rax
	mov	eax, DWORD PTR -64[rbp]
.L54:
	add	rsp, 32
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	yy_get_next_buffer, .-yy_get_next_buffer
	.type	yy_get_previous_state, @function
yy_get_previous_state:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	ebx, DWORD PTR yy_start[rip]
	mov	r12, QWORD PTR yytext[rip]
	jmp	.L78
.L84:
	movzx	eax, BYTE PTR [r12]
	test	al, al
	je	.L79
	movzx	eax, BYTE PTR [r12]
	movzx	eax, al
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, yy_ec[rip]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L80
.L79:
	mov	eax, 1
.L80:
	mov	r13d, eax
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, yy_accept[rip]
	movzx	eax, WORD PTR [rdx+rax]
	test	ax, ax
	je	.L82
	mov	DWORD PTR yy_last_accepting_state[rip], ebx
	mov	QWORD PTR yy_last_accepting_cpos[rip], r12
	jmp	.L82
.L83:
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, yy_def[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	ebx, ax
	cmp	ebx, 105
	jle	.L82
	movzx	eax, r13b
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, yy_meta[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	r13d, eax
.L82:
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, yy_base[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	movzx	eax, r13b
	add	eax, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yy_chk[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	cmp	ebx, eax
	jne	.L83
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, yy_base[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	movzx	eax, r13b
	add	eax, edx
	mov	eax, eax
	lea	rdx, [rax+rax]
	lea	rax, yy_nxt[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	ebx, ax
	add	r12, 1
.L78:
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	cmp	r12, rax
	jb	.L84
	mov	eax, ebx
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	yy_get_previous_state, .-yy_get_previous_state
	.type	yy_try_NUL_trans, @function
yy_try_NUL_trans:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	DWORD PTR -20[rbp], edi
	mov	r12, QWORD PTR yy_c_buf_p[rip]
	mov	ebx, 1
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yy_accept[rip]
	movzx	eax, WORD PTR [rdx+rax]
	test	ax, ax
	je	.L88
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR yy_last_accepting_state[rip], eax
	mov	QWORD PTR yy_last_accepting_cpos[rip], r12
	jmp	.L88
.L89:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yy_def[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 105
	jle	.L88
	movzx	eax, bl
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, yy_meta[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	ebx, eax
.L88:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yy_base[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	movzx	eax, bl
	add	eax, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yy_chk[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	cmp	DWORD PTR -20[rbp], eax
	jne	.L89
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yy_base[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	movzx	eax, bl
	add	eax, edx
	mov	eax, eax
	lea	rdx, [rax+rax]
	lea	rax, yy_nxt[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 105
	sete	al
	movzx	ebx, al
	test	ebx, ebx
	jne	.L90
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L92
.L90:
	mov	eax, 0
.L92:
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	yy_try_NUL_trans, .-yy_try_NUL_trans
	.section	.rodata
	.align 8
.LC4:
	.string	"flex scanner push-back overflow"
	.text
	.type	yyunput, @function
yyunput:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 16
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
	mov	DWORD PTR -36[rbp], edi
	mov	r14, rsi
	mov	rbx, QWORD PTR yy_c_buf_p[rip]
	movzx	eax, BYTE PTR yy_hold_char[rip]
	mov	BYTE PTR [rbx], al
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 2
	cmp	rbx, rax
	jnb	.L94
	mov	eax, DWORD PTR yy_n_chars[rip]
	lea	r13d, 2[rax]
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	eax, DWORD PTR 24[rax]
	add	eax, 2
	mov	eax, eax
	lea	r12, [rdx+rax]
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR 8[rax]
	movsx	rax, r13d
	lea	r13, [rdx+rax]
	jmp	.L95
.L96:
	sub	r13, 1
	sub	r12, 1
	movzx	eax, BYTE PTR 0[r13]
	mov	BYTE PTR [r12], al
.L95:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rax, QWORD PTR 8[rax]
	cmp	r13, rax
	ja	.L96
	mov	rax, r12
	sub	rax, r13
	cdqe
	add	rbx, rax
	mov	rax, r12
	sub	rax, r13
	cdqe
	add	r14, rax
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR yy_n_chars[rip], eax
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	edx, DWORD PTR yy_n_chars[rip]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 2
	cmp	rbx, rax
	jnb	.L94
	lea	rdi, .LC4[rip]
	call	yy_fatal_error
.L94:
	sub	rbx, 1
	mov	eax, DWORD PTR -36[rbp]
	mov	BYTE PTR [rbx], al
	mov	QWORD PTR yytext[rip], r14
	movzx	eax, BYTE PTR [rbx]
	mov	BYTE PTR yy_hold_char[rip], al
	mov	QWORD PTR yy_c_buf_p[rip], rbx
	nop
	add	rsp, 16
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	yyunput, .-yyunput
	.section	.rodata
.LC5:
	.string	"_XPG"
	.text
	.type	input, @function
input:
.LFB11:
	.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	eax, DWORD PTR _xpg.0[rip]
	cmp	eax, -1
	jne	.L98
	lea	rdi, .LC5[rip]
	call	getenv@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L99
	mov	DWORD PTR _xpg.0[rip], 0
	jmp	.L98
.L99:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR _xpg.0[rip], eax
	mov	eax, DWORD PTR _xpg.0[rip]
	test	eax, eax
	jns	.L98
	mov	DWORD PTR _xpg.0[rip], 0
.L98:
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	movzx	edx, BYTE PTR yy_hold_char[rip]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L109
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR yy_n_chars[rip]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	cmp	rdx, rax
	jbe	.L101
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	mov	BYTE PTR [rax], 0
	jmp	.L100
.L101:
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	mov	rdx, QWORD PTR yytext[rip]
	sub	rax, rdx
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	add	rax, 1
	mov	QWORD PTR yy_c_buf_p[rip], rax
	call	yy_get_next_buffer
	cmp	eax, 2
	je	.L102
	cmp	eax, 2
	jg	.L100
	test	eax, eax
	je	.L103
	cmp	eax, 1
	je	.L104
	jmp	.L100
.L102:
	mov	rax, QWORD PTR yyin[rip]
	mov	rdi, rax
	call	yyrestart
.L104:
	mov	eax, DWORD PTR _xpg.0[rip]
	test	eax, eax
	je	.L105
	mov	eax, 0
	jmp	.L106
.L105:
	call	yywrap
	test	eax, eax
	je	.L107
	mov	eax, 0
	jmp	.L106
.L107:
	mov	eax, DWORD PTR yy_did_buffer_switch_on_eof[rip]
	test	eax, eax
	jne	.L108
	mov	rax, QWORD PTR yyin[rip]
	mov	rdi, rax
	call	yyrestart
.L108:
	call	input
	jmp	.L106
.L103:
	mov	rdx, QWORD PTR yytext[rip]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR yy_c_buf_p[rip], rax
	jmp	.L100
.L109:
	nop
.L100:
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	add	rax, 1
	mov	QWORD PTR yy_c_buf_p[rip], rax
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR yy_hold_char[rip], al
	mov	eax, DWORD PTR -12[rbp]
.L106:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	input, .-input
	.globl	yyrestart
	.type	yyrestart, @function
yyrestart:
.LFB12:
	.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 yy_current_buffer[rip]
	test	rax, rax
	jne	.L111
	mov	rax, QWORD PTR yyin[rip]
	mov	esi, 16384
	mov	rdi, rax
	call	yy_create_buffer
	mov	QWORD PTR yy_current_buffer[rip], rax
.L111:
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	yy_init_buffer
	call	yy_load_buffer_state
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	yyrestart, .-yyrestart
	.globl	yy_switch_to_buffer
	.type	yy_switch_to_buffer, @function
yy_switch_to_buffer:
.LFB13:
	.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 yy_current_buffer[rip]
	cmp	QWORD PTR -8[rbp], rax
	je	.L116
	mov	rax, QWORD PTR yy_current_buffer[rip]
	test	rax, rax
	je	.L115
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	movzx	edx, BYTE PTR yy_hold_char[rip]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rdx, QWORD PTR yy_c_buf_p[rip]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	edx, DWORD PTR yy_n_chars[rip]
	mov	DWORD PTR 28[rax], edx
.L115:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR yy_current_buffer[rip], rax
	call	yy_load_buffer_state
	mov	DWORD PTR yy_did_buffer_switch_on_eof[rip], 1
	jmp	.L112
.L116:
	nop
.L112:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	yy_switch_to_buffer, .-yy_switch_to_buffer
	.globl	yy_load_buffer_state
	.type	yy_load_buffer_state, @function
yy_load_buffer_state:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR yy_n_chars[rip], eax
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR yy_c_buf_p[rip], rax
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	mov	QWORD PTR yytext[rip], rax
	mov	rax, QWORD PTR yy_current_buffer[rip]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR yyin[rip], rax
	mov	rax, QWORD PTR yy_c_buf_p[rip]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR yy_hold_char[rip], al
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	yy_load_buffer_state, .-yy_load_buffer_state
	.section	.rodata
	.align 8
.LC6:
	.string	"out of dynamic memory in yy_create_buffer()"
	.text
	.globl	yy_create_buffer
	.type	yy_create_buffer, @function
yy_create_buffer:
.LFB15:
	.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	DWORD PTR -28[rbp], esi
	mov	edi, 56
	call	yy_flex_alloc
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L119
	lea	rdi, .LC6[rip]
	call	yy_fatal_error
.L119:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	add	eax, 2
	mov	edi, eax
	call	yy_flex_alloc
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L120
	lea	rdi, .LC6[rip]
	call	yy_fatal_error
.L120:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 1
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	yy_init_buffer
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	yy_create_buffer, .-yy_create_buffer
	.globl	yy_delete_buffer
	.type	yy_delete_buffer, @function
yy_delete_buffer:
.LFB16:
	.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
	cmp	QWORD PTR -8[rbp], 0
	je	.L127
	mov	rax, QWORD PTR yy_current_buffer[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L125
	mov	QWORD PTR yy_current_buffer[rip], 0
.L125:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L126
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	yy_flex_free
.L126:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	yy_flex_free
	jmp	.L122
.L127:
	nop
.L122:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	yy_delete_buffer, .-yy_delete_buffer
	.globl	yy_init_buffer
	.type	yy_init_buffer, @function
yy_init_buffer:
.LFB17:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	yy_flush_buffer
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 44[rax], 1
	cmp	QWORD PTR -16[rbp], 0
	je	.L129
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	fileno@PLT
	mov	edi, eax
	call	isatty@PLT
	test	eax, eax
	jle	.L129
	mov	edx, 1
	jmp	.L130
.L129:
	mov	edx, 0
.L130:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	yy_init_buffer, .-yy_init_buffer
	.globl	yy_flush_buffer
	.type	yy_flush_buffer, @function
yy_flush_buffer:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L134
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 28[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	add	rax, 1
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR yy_current_buffer[rip]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L131
	call	yy_load_buffer_state
	jmp	.L131
.L134:
	nop
.L131:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	yy_flush_buffer, .-yy_flush_buffer
	.section	.rodata
	.align 8
.LC7:
	.string	"out of dynamic memory in yy_scan_buffer()"
	.text
	.globl	yy_scan_buffer
	.type	yy_scan_buffer, @function
yy_scan_buffer:
.LFB19:
	.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	DWORD PTR -28[rbp], esi
	cmp	DWORD PTR -28[rbp], 1
	jbe	.L136
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L136
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L137
.L136:
	mov	eax, 0
	jmp	.L138
.L137:
	mov	edi, 56
	call	yy_flex_alloc
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L139
	lea	rdi, .LC7[rip]
	call	yy_fatal_error
.L139:
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 44[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	yy_switch_to_buffer
	mov	rax, QWORD PTR -8[rbp]
.L138:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	yy_scan_buffer, .-yy_scan_buffer
	.globl	yy_scan_string
	.type	yy_scan_string, @function
yy_scan_string:
.LFB20:
	.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	DWORD PTR -4[rbp], 0
	jmp	.L141
.L142:
	add	DWORD PTR -4[rbp], 1
.L141:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L142
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	yy_scan_bytes
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	yy_scan_string, .-yy_scan_string
	.section	.rodata
	.align 8
.LC8:
	.string	"out of dynamic memory in yy_scan_bytes()"
.LC9:
	.string	"bad buffer in yy_scan_bytes()"
	.text
	.globl	yy_scan_bytes
	.type	yy_scan_bytes, @function
yy_scan_bytes:
.LFB21:
	.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	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 2
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	yy_flex_alloc
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L145
	lea	rdi, .LC8[rip]
	call	yy_fatal_error
.L145:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L146
.L147:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -24[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -24[rbp], 1
.L146:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jl	.L147
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	edx, DWORD PTR -44[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -16[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	yy_scan_buffer
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L148
	lea	rdi, .LC9[rip]
	call	yy_fatal_error
.L148:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	yy_scan_bytes, .-yy_scan_bytes
	.section	.rodata
.LC10:
	.string	"%s\n"
	.text
	.type	yy_fatal_error, @function
yy_fatal_error:
.LFB22:
	.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 stderr[rip]
	mov	rdx, QWORD PTR -8[rbp]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 2
	call	exit@PLT
	.cfi_endproc
.LFE22:
	.size	yy_fatal_error, .-yy_fatal_error
	.type	yy_flex_alloc, @function
yy_flex_alloc:
.LFB23:
	.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	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	rdi, rax
	call	malloc@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	yy_flex_alloc, .-yy_flex_alloc
	.type	yy_flex_realloc, @function
yy_flex_realloc:
.LFB24:
	.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	DWORD PTR -12[rbp], esi
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	yy_flex_realloc, .-yy_flex_realloc
	.type	yy_flex_free, @function
yy_flex_free:
.LFB25:
	.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	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	yy_flex_free, .-yy_flex_free
	.globl	yywrap
	.type	yywrap, @function
yywrap:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	yywrap, .-yywrap
	.globl	yytokget
	.type	yytokget, @function
yytokget:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	yylex
	mov	DWORD PTR yytoktype[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	yytokget, .-yytokget
	.section	.rodata
.LC11:
	.string	"%s expected\n"
	.text
	.globl	yychkword
	.type	yychkword, @function
yychkword:
.LFB28:
	.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 yytext[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L161
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -8[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L161:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	yychkword, .-yychkword
	.section	.rodata
.LC12:
	.string	"identifier expected\n"
.LC13:
	.string	"%c expected\n"
	.text
	.globl	yychktype
	.type	yychktype, @function
yychktype:
.LFB29:
	.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	eax, edi
	mov	BYTE PTR -4[rbp], al
	movsx	edx, BYTE PTR -4[rbp]
	mov	eax, DWORD PTR yytoktype[rip]
	cmp	edx, eax
	je	.L167
	cmp	BYTE PTR -4[rbp], 105
	jne	.L165
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 20
	mov	esi, 1
	lea	rdi, .LC12[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L165:
	movsx	edx, BYTE PTR -4[rbp]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L167:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	yychktype, .-yychktype
	.globl	mod_funcs
	.bss
	.align 32
	.type	mod_funcs, @object
	.size	mod_funcs, 8000
mod_funcs:
	.zero	8000
	.globl	mod_len
	.align 4
	.type	mod_len, @object
	.size	mod_len, 4
mod_len:
	.zero	4
	.globl	type_name
	.align 32
	.type	type_name, @object
	.size	type_name, 8000
type_name:
	.zero	8000
	.globl	type_kind
	.align 32
	.type	type_kind, @object
	.size	type_kind, 4000
type_kind:
	.zero	4000
	.globl	type_count
	.align 4
	.type	type_count, @object
	.size	type_count, 4
type_count:
	.zero	4
	.globl	func_name
	.align 8
	.type	func_name, @object
	.size	func_name, 8
func_name:
	.zero	8
	.globl	func_args
	.align 32
	.type	func_args, @object
	.size	func_args, 8000
func_args:
	.zero	8000
	.globl	func_array
	.align 32
	.type	func_array, @object
	.size	func_array, 4000
func_array:
	.zero	4000
	.globl	func_pointer
	.align 32
	.type	func_pointer, @object
	.size	func_pointer, 4000
func_pointer:
	.zero	4000
	.globl	func_len
	.align 4
	.type	func_len, @object
	.size	func_len, 4
func_len:
	.zero	4
	.globl	func_static
	.align 4
	.type	func_static, @object
	.size	func_static, 4
func_static:
	.zero	4
	.section	.rodata
.LC14:
	.string	"Unknown type %s\n"
	.text
	.globl	type_simple
	.type	type_simple, @function
type_simple:
.LFB30:
	.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	DWORD PTR -4[rbp], 0
	jmp	.L169
.L172:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, type_name[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L170
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, type_kind[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, 83
	sete	al
	movzx	eax, al
	jmp	.L173
.L170:
	add	DWORD PTR -4[rbp], 1
.L169:
	mov	eax, DWORD PTR type_count[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L172
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -24[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L173:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	type_simple, .-type_simple
	.section	.rodata
.LC15:
	.string	"error: type table overflow.\n"
	.text
	.globl	type_declare
	.type	type_declare, @function
type_declare:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	eax, DWORD PTR type_count[rip]
	cmp	eax, 1000
	jne	.L175
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 28
	mov	esi, 1
	lea	rdi, .LC15[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L175:
	mov	ebx, DWORD PTR type_count[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rcx, rax
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	lea	rax, type_name[rip]
	mov	QWORD PTR [rdx+rax], rcx
	mov	eax, DWORD PTR type_count[rip]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rdx, type_kind[rip]
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rcx+rdx], eax
	mov	eax, DWORD PTR type_count[rip]
	add	eax, 1
	mov	DWORD PTR type_count[rip], eax
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	type_declare, .-type_declare
	.section	.rodata
.LC16:
	.string	"CpmA0"
.LC17:
	.string	",CpmA%d"
.LC18:
	.string	");\n"
	.text
	.globl	gen_actual_args
	.type	gen_actual_args, @function
gen_actual_args:
.LFB32:
	.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	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 40
	call	fputc@PLT
	mov	eax, DWORD PTR func_len[rip]
	test	eax, eax
	je	.L177
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 5
	mov	esi, 1
	lea	rdi, .LC16[rip]
	call	fwrite@PLT
	mov	DWORD PTR -4[rbp], 1
	jmp	.L178
.L179:
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC17[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -4[rbp], 1
.L178:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L179
.L177:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC18[rip]
	call	fwrite@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	gen_actual_args, .-gen_actual_args
	.section	.rodata
	.align 8
.LC19:
	.string	"CpmDim required before array.\n"
	.text
	.globl	gen_dimension_required
	.type	gen_dimension_required, @function
gen_dimension_required:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 30
	mov	esi, 1
	lea	rdi, .LC19[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE33:
	.size	gen_dimension_required, .-gen_dimension_required
	.section	.rodata
.LC20:
	.string	"struct CpmSt_%s\n"
.LC21:
	.string	"{\n"
	.align 8
.LC22:
	.string	"char convcore[CmiMsgHeaderSizeBytes];\n"
.LC23:
	.string	"unsigned int envpos;\n"
.LC24:
	.string	"%s f%d;\n"
.LC25:
	.string	"int f%d;\n"
.LC26:
	.string	"};\n"
	.text
	.globl	gen_func_struct
	.type	gen_func_struct, @function
gen_func_struct:
.LFB34:
	.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	rdx, QWORD PTR func_name[rip]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC21[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 38
	mov	esi, 1
	lea	rdi, .LC22[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 21
	mov	esi, 1
	lea	rdi, .LC23[rip]
	call	fwrite@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L182
.L185:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_pointer[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L183
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L183
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -4[rbp]
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L184
.L183:
	mov	rax, QWORD PTR file_cpm[rip]
	mov	edx, DWORD PTR -4[rbp]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L184:
	add	DWORD PTR -4[rbp], 1
.L182:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L185
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC26[rip]
	call	fwrite@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	gen_func_struct, .-gen_func_struct
	.section	.rodata
	.align 8
.LC27:
	.string	"static void CpmRecv_%s(char *CpmM)\n"
	.align 8
.LC28:
	.string	"struct CpmSt_%s *CpmS=(struct CpmSt_%s *)CpmM;\n"
.LC29:
	.string	"char *CpmX = (char *)CpmS;\n"
.LC30:
	.string	"int i;\n"
.LC31:
	.string	"*"
.LC32:
	.string	""
.LC33:
	.string	"%s %sCpmA%d;\n"
.LC34:
	.string	"CpmA%d = CpmS->f%d;\n"
.LC35:
	.string	"CpmUnpack_%s(CpmA%d);\n"
.LC36:
	.string	"CpmDim"
	.align 8
.LC37:
	.string	"CpmA%d = (%s *)(CpmX+(CpmS->f%d));\n"
.LC38:
	.string	"for (i=0; i<CpmA%d; i++)\n"
.LC39:
	.string	"  CpmUnpack_%s(CpmA%d[i]);\n"
	.align 8
.LC40:
	.string	"CpmA%d = (%s)(CpmX+(CpmS->f%d));\n"
.LC41:
	.string	"CpmPtrUnpack_%s(CpmA%d);\n"
.LC42:
	.string	"for (i=0; i<CpmA%d; i++) {\n"
	.align 8
.LC43:
	.string	"  CpmA%d[i] = CpmM + (size_t)(CpmA%d[i]);\n"
	.align 8
.LC44:
	.string	"  CpmPtrUnpack_%s(CpmA%d[i]);\n"
.LC45:
	.string	"}\n"
.LC46:
	.string	"CmiFree(CpmM);\n"
	.text
	.globl	gen_func_recv
	.type	gen_func_recv, @function
gen_func_recv:
.LFB35:
	.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	rdx, QWORD PTR func_name[rip]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC27[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC21[rip]
	call	fwrite@PLT
	mov	rcx, QWORD PTR func_name[rip]
	mov	rdx, QWORD PTR func_name[rip]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC28[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 27
	mov	esi, 1
	lea	rdi, .LC29[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC30[rip]
	call	fwrite@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L187
.L190:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L188
	lea	rax, .LC31[rip]
	jmp	.L189
.L188:
	lea	rax, .LC32[rip]
.L189:
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, func_args[rip]
	mov	rdx, QWORD PTR [rcx+rdx]
	mov	rdi, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	mov	r8d, ecx
	mov	rcx, rax
	lea	rsi, .LC33[rip]
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -8[rbp], 1
.L187:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L190
	mov	DWORD PTR -8[rbp], 0
	jmp	.L191
.L203:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_pointer[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L192
	mov	ecx, 2
	jmp	.L193
.L192:
	mov	ecx, 0
.L193:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	setne	al
	movzx	eax, al
	add	eax, ecx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 3
	je	.L194
	cmp	DWORD PTR -4[rbp], 3
	jg	.L195
	cmp	DWORD PTR -4[rbp], 2
	je	.L196
	cmp	DWORD PTR -4[rbp], 2
	jg	.L195
	cmp	DWORD PTR -4[rbp], 0
	je	.L197
	cmp	DWORD PTR -4[rbp], 1
	je	.L198
	jmp	.L195
.L197:
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC34[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	lea	rsi, .LC35[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L195
.L198:
	cmp	DWORD PTR -8[rbp], 0
	je	.L199
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L199
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rax, QWORD PTR [rdx+rax]
	lea	rsi, .LC36[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L200
.L199:
	mov	eax, 0
	call	gen_dimension_required
.L200:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	esi, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	mov	r8d, esi
	lea	rsi, .LC37[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC38[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	lea	rsi, .LC39[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L195
.L196:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	esi, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	mov	r8d, esi
	lea	rsi, .LC40[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	lea	rsi, .LC41[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L195
.L194:
	cmp	DWORD PTR -8[rbp], 0
	je	.L201
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L201
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rax, QWORD PTR [rdx+rax]
	lea	rsi, .LC36[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L202
.L201:
	mov	eax, 0
	call	gen_dimension_required
.L202:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	esi, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	mov	r8d, esi
	lea	rsi, .LC37[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC42[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC43[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	lea	rsi, .LC44[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC45[rip]
	call	fwrite@PLT
	nop
.L195:
	add	DWORD PTR -8[rbp], 1
.L191:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L203
	mov	rax, QWORD PTR func_name[rip]
	mov	rdx, QWORD PTR file_cpm[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rdi, rax
	call	gen_actual_args
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC46[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC45[rip]
	call	fwrite@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	gen_func_recv, .-gen_func_recv
	.section	.rodata
.LC47:
	.string	"static "
	.align 8
.LC48:
	.string	"void *Cpm_%s(CpmDestination ctrl"
.LC49:
	.string	",%s %sa%d"
.LC50:
	.string	")\n"
.LC51:
	.string	"struct CpmSt_%s *msg;\n"
	.align 8
.LC52:
	.string	"char *data; int size, i, envpos; void *result;\n"
	.align 8
.LC53:
	.string	"int offs = CpmAlign(sizeof(struct CpmSt_%s), double);\n"
.LC54:
	.string	"int aoffs%d;\n"
	.align 8
.LC55:
	.string	"size_t *poffs%d = (size_t *)malloc(a%d*sizeof(size_t));\n"
.LC56:
	.string	"int poffs%d;\n"
	.align 8
.LC57:
	.string	"envpos=offs; offs=CpmAlign(offs+(ctrl->envsize),double);\n"
.LC58:
	.string	"size=a%d*sizeof(%s);\n"
	.align 8
.LC59:
	.string	"aoffs%d=offs; offs=CpmAlign(offs+size,double);\n"
.LC60:
	.string	"for (i=0; i<a%d; i++) {\n"
	.align 8
.LC61:
	.string	"  size = CpmPtrSize_%s(a%d[i]);\n"
	.align 8
.LC62:
	.string	"  poffs%d[i]=offs; offs=CpmAlign(offs+size,double);\n"
.LC63:
	.string	"size = CpmPtrSize_%s(a%d);\n"
	.align 8
.LC64:
	.string	"poffs%d=offs; offs=CpmAlign(offs+size, double);\n"
	.align 8
.LC65:
	.string	"data = (char *)CmiAlloc(offs);\n"
	.align 8
.LC66:
	.string	"msg = (struct CpmSt_%s *)data;\n"
.LC67:
	.string	"msg->envpos = envpos;\n"
.LC68:
	.string	"CpmPack_%s(a%d);\n"
.LC69:
	.string	"msg->f%d = a%d;\n"
.LC70:
	.string	"msg->f%d = poffs%d;\n"
	.align 8
.LC71:
	.string	"CpmPtrPack_%s(((%s)(data+poffs%d)), a%d);\n"
.LC72:
	.string	"msg->f%d = aoffs%d;\n"
	.align 8
.LC73:
	.string	"memcpy(data+aoffs%d, a%d, a%d*sizeof(%s));\n"
.LC74:
	.string	"for(i=0; i<a%d; i++)\n"
	.align 8
.LC75:
	.string	"  CpmPack_%s(((%s *)(data+aoffs%d))[i]);\n"
	.align 8
.LC76:
	.string	"memcpy(data+aoffs%d, poffs%d, a%d*sizeof(size_t));\n"
	.align 8
.LC77:
	.string	"  CpmPtrPack_%s(((%s)(data+(poffs%d[i]))), a%d[i]);\n"
	.align 8
.LC78:
	.string	"CmiSetHandler(msg, CpvAccess(CpmIndex_%s));\n"
	.align 8
.LC79:
	.string	"result = (ctrl->sendfn)(ctrl, offs, msg);\n"
.LC80:
	.string	"free(poffs%d);\n"
.LC81:
	.string	"return result;\n"
	.text
	.globl	gen_func_send
	.type	gen_func_send, @function
gen_func_send:
.LFB36:
	.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	eax, DWORD PTR func_static[rip]
	test	eax, eax
	je	.L205
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC47[rip]
	call	fwrite@PLT
.L205:
	mov	rdx, QWORD PTR func_name[rip]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L206
.L209:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L207
	lea	rax, .LC31[rip]
	jmp	.L208
.L207:
	lea	rax, .LC32[rip]
.L208:
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, func_args[rip]
	mov	rdx, QWORD PTR [rcx+rdx]
	mov	rdi, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	mov	r8d, ecx
	mov	rcx, rax
	lea	rsi, .LC49[rip]
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -8[rbp], 1
.L206:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L209
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC50[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC21[rip]
	call	fwrite@PLT
	mov	rdx, QWORD PTR func_name[rip]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC51[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 47
	mov	esi, 1
	lea	rdi, .LC52[rip]
	call	fwrite@PLT
	mov	rdx, QWORD PTR func_name[rip]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC53[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L210
.L214:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L211
	mov	rax, QWORD PTR file_cpm[rip]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC54[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L211:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_pointer[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L212
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L213
	mov	eax, DWORD PTR -8[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC55[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L212
.L213:
	mov	rax, QWORD PTR file_cpm[rip]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC56[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L212:
	add	DWORD PTR -8[rbp], 1
.L210:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L214
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 57
	mov	esi, 1
	lea	rdi, .LC57[rip]
	call	fwrite@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L215
.L217:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L216
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	lea	esi, -1[rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rdx
	mov	edx, esi
	lea	rsi, .LC58[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC59[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L216:
	add	DWORD PTR -8[rbp], 1
.L215:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L217
	mov	DWORD PTR -8[rbp], 0
	jmp	.L218
.L221:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_pointer[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L219
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L220
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC60[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	lea	rsi, .LC61[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC62[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC45[rip]
	call	fwrite@PLT
	jmp	.L219
.L220:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC64[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L219:
	add	DWORD PTR -8[rbp], 1
.L218:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L221
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 31
	mov	esi, 1
	lea	rdi, .LC65[rip]
	call	fwrite@PLT
	mov	rdx, QWORD PTR func_name[rip]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC66[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 22
	mov	esi, 1
	lea	rdi, .LC67[rip]
	call	fwrite@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L222
.L230:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L223
	mov	ecx, 2
	jmp	.L224
.L223:
	mov	ecx, 0
.L224:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_pointer[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	setne	al
	movzx	eax, al
	or	eax, ecx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 3
	je	.L225
	cmp	DWORD PTR -4[rbp], 3
	jg	.L226
	cmp	DWORD PTR -4[rbp], 2
	je	.L227
	cmp	DWORD PTR -4[rbp], 2
	jg	.L226
	cmp	DWORD PTR -4[rbp], 0
	je	.L228
	cmp	DWORD PTR -4[rbp], 1
	je	.L229
	jmp	.L226
.L228:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	lea	rsi, .LC68[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L226
.L229:
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC70[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	edi, DWORD PTR -8[rbp]
	mov	esi, DWORD PTR -8[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC71[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L226
.L227:
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rsi, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	lea	edi, -1[rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	mov	r9, rsi
	mov	r8d, edi
	lea	rsi, .LC73[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC74[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	esi, DWORD PTR -8[rbp]
	mov	r8d, esi
	lea	rsi, .LC75[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L226
.L225:
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	lea	esi, -1[rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -8[rbp]
	mov	r8d, esi
	lea	rsi, .LC76[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC74[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	edi, DWORD PTR -8[rbp]
	mov	esi, DWORD PTR -8[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC77[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	nop
.L226:
	add	DWORD PTR -8[rbp], 1
.L222:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L230
	mov	rdx, QWORD PTR func_name[rip]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC78[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 42
	mov	esi, 1
	lea	rdi, .LC79[rip]
	call	fwrite@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L231
.L233:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_pointer[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L232
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L232
	mov	rax, QWORD PTR file_cpm[rip]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC80[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L232:
	add	DWORD PTR -8[rbp], 1
.L231:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L233
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC81[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC45[rip]
	call	fwrite@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	gen_func_send, .-gen_func_send
	.section	.rodata
	.align 8
.LC82:
	.string	"CpvStaticDeclare(int, CpmIndex_%s);\n"
.LC83:
	.string	"void %s("
.LC84:
	.string	"%s %s"
.LC85:
	.string	",%s %s"
	.text
	.globl	gen_func_protos
	.type	gen_func_protos, @function
gen_func_protos:
.LFB37:
	.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	rdx, QWORD PTR func_name[rip]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC82[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR func_name[rip]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC83[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR func_len[rip]
	test	eax, eax
	je	.L235
	mov	eax, DWORD PTR func_array[rip]
	test	eax, eax
	je	.L236
	lea	rax, .LC31[rip]
	jmp	.L237
.L236:
	lea	rax, .LC32[rip]
.L237:
	mov	rdx, QWORD PTR func_args[rip]
	mov	rdi, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	lea	rsi, .LC84[rip]
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -4[rbp], 1
	jmp	.L238
.L241:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L239
	lea	rax, .LC31[rip]
	jmp	.L240
.L239:
	lea	rax, .LC32[rip]
.L240:
	mov	edx, DWORD PTR -4[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, func_args[rip]
	mov	rdx, QWORD PTR [rcx+rdx]
	mov	rdi, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	lea	rsi, .LC85[rip]
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -4[rbp], 1
.L238:
	mov	eax, DWORD PTR func_len[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L241
.L235:
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC18[rip]
	call	fwrite@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	gen_func_protos, .-gen_func_protos
	.globl	gen_func_c
	.type	gen_func_c, @function
gen_func_c:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 0
	call	gen_func_protos
	mov	eax, 0
	call	gen_func_struct
	mov	eax, 0
	call	gen_func_recv
	mov	eax, 0
	call	gen_func_send
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	gen_func_c, .-gen_func_c
	.section	.rodata
	.align 8
.LC86:
	.string	"CpvStaticDeclare(int, CpmIPRIO);\n"
	.text
	.globl	gen_mod_head
	.type	gen_mod_head, @function
gen_mod_head:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 33
	mov	esi, 1
	lea	rdi, .LC86[rip]
	call	fwrite@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	gen_mod_head, .-gen_mod_head
	.section	.rodata
	.align 8
.LC87:
	.string	"static void CpmInitializeThisModule()\n"
	.align 8
.LC88:
	.string	"CpvInitialize(int, CpmIPRIO);\n"
	.align 8
.LC89:
	.string	"CpvInitialize(int, CpmIndex_%s);\n"
	.align 8
.LC90:
	.string	"CpvAccess(CpmIndex_%s) = CmiRegisterHandler((CmiHandler)CpmRecv_%s);\n"
	.text
	.globl	gen_mod_tail
	.type	gen_mod_tail, @function
gen_mod_tail:
.LFB40:
	.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	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 38
	mov	esi, 1
	lea	rdi, .LC87[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC21[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 30
	mov	esi, 1
	lea	rdi, .LC88[rip]
	call	fwrite@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L245
.L246:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, mod_funcs[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC89[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, mod_funcs[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, mod_funcs[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR file_cpm[rip]
	lea	rsi, .LC90[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -4[rbp], 1
.L245:
	mov	eax, DWORD PTR mod_len[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L246
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC45[rip]
	call	fwrite@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	gen_mod_tail, .-gen_mod_tail
	.section	.rodata
.LC91:
	.string	"CpmType_"
	.text
	.globl	parse_type
	.type	parse_type, @function
parse_type:
.LFB41:
	.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	eax, DWORD PTR yytoktype[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, 0
	call	yytokget
	mov	rax, QWORD PTR yytext[rip]
	mov	edx, 8
	lea	rsi, .LC91[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L248
	mov	rax, QWORD PTR yytext[rip]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	mov	rdi, rdx
	call	type_declare
.L248:
	mov	eax, 0
	call	yytokget
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	parse_type, .-parse_type
	.globl	parse_list
	.type	parse_list, @function
parse_list:
.LFB42:
	.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	DWORD PTR -4[rbp], 1
	mov	edi, 123
	call	yychktype
	mov	eax, 0
	call	yytokget
	jmp	.L250
.L255:
	mov	eax, DWORD PTR yytoktype[rip]
	cmp	eax, 123
	jne	.L251
	add	DWORD PTR -4[rbp], 1
.L251:
	mov	eax, DWORD PTR yytoktype[rip]
	cmp	eax, 125
	jne	.L252
	sub	DWORD PTR -4[rbp], 1
.L252:
	mov	eax, DWORD PTR yytoktype[rip]
	test	eax, eax
	je	.L256
	mov	eax, 0
	call	yytokget
.L250:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L255
	jmp	.L249
.L256:
	nop
.L249:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	parse_list, .-parse_list
	.section	.rodata
.LC92:
	.string	"CpmInvokable"
.LC93:
	.string	"static"
	.text
	.globl	parse_func
	.type	parse_func, @function
parse_func:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 8
	.cfi_offset 3, -24
	lea	rdi, .LC92[rip]
	call	yychkword
	mov	eax, 0
	call	yytokget
	mov	eax, DWORD PTR yytoktype[rip]
	cmp	eax, 59
	je	.L265
	mov	DWORD PTR func_len[rip], 0
	mov	DWORD PTR func_static[rip], 0
	mov	rax, QWORD PTR yytext[rip]
	lea	rsi, .LC93[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L260
	mov	DWORD PTR func_static[rip], 1
	mov	eax, 0
	call	yytokget
.L260:
	mov	edi, 105
	call	yychktype
	mov	rax, QWORD PTR yytext[rip]
	mov	rdi, rax
	call	strdup@PLT
	mov	QWORD PTR func_name[rip], rax
	mov	eax, 0
	call	yytokget
	mov	edi, 40
	call	yychktype
	mov	eax, 0
	call	yytokget
	mov	eax, DWORD PTR yytoktype[rip]
	cmp	eax, 41
	je	.L261
.L264:
	mov	edi, 105
	call	yychktype
	mov	rax, QWORD PTR yytext[rip]
	mov	ebx, DWORD PTR func_len[rip]
	mov	rdi, rax
	call	strdup@PLT
	mov	rcx, rax
	movsx	rax, ebx
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	QWORD PTR [rdx+rax], rcx
	mov	eax, DWORD PTR func_len[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	DWORD PTR [rdx+rax], 0
	mov	eax, 0
	call	yytokget
	mov	eax, DWORD PTR yytoktype[rip]
	cmp	eax, 42
	jne	.L262
	mov	eax, 0
	call	yytokget
	mov	eax, DWORD PTR func_len[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, func_array[rip]
	mov	DWORD PTR [rdx+rax], 1
.L262:
	mov	eax, DWORD PTR func_len[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, func_args[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	type_simple
	test	eax, eax
	sete	al
	mov	edx, DWORD PTR func_len[rip]
	movzx	eax, al
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, func_pointer[rip]
	mov	DWORD PTR [rcx+rdx], eax
	mov	eax, DWORD PTR func_len[rip]
	add	eax, 1
	mov	DWORD PTR func_len[rip], eax
	mov	edi, 105
	call	yychktype
	mov	eax, 0
	call	yytokget
	mov	eax, DWORD PTR yytoktype[rip]
	cmp	eax, 41
	je	.L266
	mov	edi, 44
	call	yychktype
	mov	eax, 0
	call	yytokget
	jmp	.L264
.L266:
	nop
.L261:
	mov	eax, 0
	call	yytokget
	mov	eax, DWORD PTR mod_len[rip]
	lea	edx, 1[rax]
	mov	DWORD PTR mod_len[rip], edx
	mov	rdx, QWORD PTR func_name[rip]
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rax, mod_funcs[rip]
	mov	QWORD PTR [rcx+rax], rdx
	mov	eax, 0
	call	gen_func_c
	jmp	.L257
.L265:
	nop
.L257:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	parse_func, .-parse_func
	.globl	parse_all
	.type	parse_all, @function
parse_all:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR file_src[rip]
	mov	QWORD PTR yyin[rip], rax
	mov	eax, 0
	call	yytokget
	mov	eax, 0
	call	gen_mod_head
.L268:
	mov	eax, DWORD PTR yytoktype[rip]
	cmp	eax, 123
	je	.L269
	cmp	eax, 123
	jg	.L270
	cmp	eax, 83
	je	.L271
	cmp	eax, 83
	jg	.L270
	cmp	eax, 80
	je	.L272
	cmp	eax, 80
	jg	.L270
	test	eax, eax
	je	.L273
	cmp	eax, 73
	je	.L274
	jmp	.L270
.L273:
	mov	eax, 0
	call	gen_mod_tail
	jmp	.L275
.L272:
	mov	eax, 0
	call	parse_type
	jmp	.L268
.L271:
	mov	eax, 0
	call	parse_type
	jmp	.L268
.L274:
	mov	eax, 0
	call	parse_func
	jmp	.L268
.L269:
	mov	eax, 0
	call	parse_list
	jmp	.L268
.L270:
	mov	eax, 0
	call	yytokget
	jmp	.L268
.L275:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	parse_all, .-parse_all
	.section	.rodata
.LC94:
	.string	"usage: cpm <modulename>\n"
	.text
	.globl	usage
	.type	usage, @function
usage:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 24
	mov	esi, 1
	lea	rdi, .LC94[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
	.cfi_endproc
.LFE45:
	.size	usage, .-usage
	.section	.rodata
	.align 8
.LC95:
	.string	"Couldn't open %s with mode %s\n"
	.text
	.globl	fopen_nofail
	.type	fopen_nofail, @function
fopen_nofail:
.LFB46:
	.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	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L278
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	lea	rsi, .LC95[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L278:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	fopen_nofail, .-fopen_nofail
	.section	.rodata
	.align 8
.LC96:
	.string	"/* WARNING: This file generated by Converse */\n"
	.align 8
.LC97:
	.string	"/* Marshalling System from source-file %s. */\n"
	.text
	.globl	disclaim
	.type	disclaim, @function
disclaim:
.LFB47:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rax
	mov	edx, 47
	mov	esi, 1
	lea	rdi, .LC96[rip]
	call	fwrite@PLT
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC97[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	disclaim, .-disclaim
	.section	.rodata
.LC98:
	.string	"r"
.LC99:
	.string	"w"
	.text
	.globl	main
	.type	main, @function
main:
.LFB48:
	.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	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	cmp	DWORD PTR -4[rbp], 3
	je	.L282
	mov	eax, 0
	call	usage
.L282:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC98[rip]
	mov	rdi, rax
	call	fopen_nofail
	mov	QWORD PTR file_src[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC99[rip]
	mov	rdi, rax
	call	fopen_nofail
	mov	QWORD PTR file_cpm[rip], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR file_cpm[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	disclaim
	mov	eax, 0
	call	parse_all
	mov	edi, 0
	call	exit@PLT
	.cfi_endproc
.LFE48:
	.size	main, .-main
	.data
	.align 4
	.type	_xpg.0, @object
	.size	_xpg.0, 4
_xpg.0:
	.long	-1
	.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	"823524.c"
	.text
	.local	yy_current_buffer
	.comm	yy_current_buffer,4,4
	.local	yy_hold_char
	.comm	yy_hold_char,1,1
	.local	yy_n_chars
	.comm	yy_n_chars,4,4
	.comm	yyleng,4,4
	.local	yy_c_buf_p
	.comm	yy_c_buf_p,4,4
	.data
	.align	2
	.type	yy_init, %object
	.size	yy_init, 4
yy_init:
	.word	1
	.local	yy_start
	.comm	yy_start,4,4
	.local	yy_did_buffer_switch_on_eof
	.comm	yy_did_buffer_switch_on_eof,4,4
	.global	yyin
	.bss
	.align	2
	.type	yyin, %object
	.size	yyin, 4
yyin:
	.space	4
	.global	yyout
	.align	2
	.type	yyout, %object
	.size	yyout, 4
yyout:
	.space	4
	.section	.rodata
	.align	2
	.type	yy_accept, %object
	.size	yy_accept, 212
yy_accept:
	.short	0
	.short	0
	.short	0
	.short	17
	.short	15
	.short	13
	.short	14
	.short	15
	.short	15
	.short	15
	.short	9
	.short	8
	.short	4
	.short	4
	.short	13
	.short	0
	.short	11
	.short	0
	.short	0
	.short	0
	.short	6
	.short	5
	.short	9
	.short	0
	.short	0
	.short	9
	.short	9
	.short	0
	.short	8
	.short	8
	.short	8
	.short	4
	.short	4
	.short	0
	.short	0
	.short	12
	.short	0
	.short	0
	.short	0
	.short	6
	.short	5
	.short	0
	.short	5
	.short	0
	.short	7
	.short	9
	.short	9
	.short	10
	.short	8
	.short	8
	.short	4
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	6
	.short	0
	.short	5
	.short	7
	.short	10
	.short	10
	.short	4
	.short	4
	.short	0
	.short	0
	.short	0
	.short	0
	.short	10
	.short	10
	.short	4
	.short	4
	.short	0
	.short	0
	.short	4
	.short	4
	.short	0
	.short	0
	.short	4
	.short	4
	.short	0
	.short	0
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	3
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	4
	.short	2
	.short	1
	.short	0
	.align	2
	.type	yy_ec, %object
	.size	yy_ec, 1024
yy_ec:
	.word	0
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	2
	.word	3
	.word	1
	.word	2
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	2
	.word	1
	.word	4
	.word	1
	.word	1
	.word	1
	.word	1
	.word	5
	.word	1
	.word	1
	.word	1
	.word	6
	.word	1
	.word	6
	.word	7
	.word	1
	.word	8
	.word	9
	.word	10
	.word	10
	.word	10
	.word	10
	.word	10
	.word	10
	.word	11
	.word	11
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	12
	.word	1
	.word	13
	.word	13
	.word	14
	.word	15
	.word	16
	.word	17
	.word	18
	.word	18
	.word	19
	.word	18
	.word	18
	.word	20
	.word	18
	.word	18
	.word	18
	.word	21
	.word	18
	.word	18
	.word	22
	.word	18
	.word	23
	.word	18
	.word	18
	.word	24
	.word	18
	.word	18
	.word	1
	.word	25
	.word	1
	.word	1
	.word	18
	.word	1
	.word	26
	.word	27
	.word	28
	.word	13
	.word	29
	.word	30
	.word	18
	.word	18
	.word	31
	.word	18
	.word	32
	.word	33
	.word	34
	.word	35
	.word	36
	.word	37
	.word	18
	.word	38
	.word	18
	.word	39
	.word	23
	.word	40
	.word	18
	.word	24
	.word	18
	.word	18
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.align	2
	.type	yy_meta, %object
	.size	yy_meta, 164
yy_meta:
	.word	0
	.word	1
	.word	1
	.word	2
	.word	3
	.word	4
	.word	1
	.word	1
	.word	5
	.word	5
	.word	5
	.word	6
	.word	4
	.word	6
	.word	6
	.word	6
	.word	6
	.word	6
	.word	7
	.word	7
	.word	7
	.word	7
	.word	7
	.word	7
	.word	8
	.word	4
	.word	5
	.word	5
	.word	6
	.word	6
	.word	5
	.word	7
	.word	7
	.word	7
	.word	7
	.word	8
	.word	7
	.word	7
	.word	8
	.word	8
	.word	8
	.align	2
	.type	yy_base, %object
	.size	yy_base, 230
yy_base:
	.short	0
	.short	0
	.short	25
	.short	226
	.short	415
	.short	223
	.short	415
	.short	13
	.short	198
	.short	10
	.short	44
	.short	71
	.short	0
	.short	185
	.short	217
	.short	18
	.short	415
	.short	32
	.short	19
	.short	37
	.short	97
	.short	123
	.short	189
	.short	150
	.short	87
	.short	189
	.short	29
	.short	0
	.short	0
	.short	187
	.short	37
	.short	0
	.short	173
	.short	111
	.short	0
	.short	415
	.short	137
	.short	0
	.short	159
	.short	415
	.short	0
	.short	165
	.short	415
	.short	75
	.short	172
	.short	415
	.short	415
	.short	43
	.short	415
	.short	415
	.short	50
	.short	186
	.short	85
	.short	189
	.short	98
	.short	140
	.short	207
	.short	176
	.short	233
	.short	415
	.short	183
	.short	38
	.short	175
	.short	168
	.short	86
	.short	263
	.short	99
	.short	290
	.short	415
	.short	415
	.short	173
	.short	151
	.short	184
	.short	196
	.short	145
	.short	141
	.short	313
	.short	336
	.short	146
	.short	132
	.short	112
	.short	138
	.short	117
	.short	128
	.short	115
	.short	111
	.short	53
	.short	102
	.short	93
	.short	97
	.short	96
	.short	87
	.short	78
	.short	0
	.short	66
	.short	62
	.short	53
	.short	55
	.short	43
	.short	30
	.short	10
	.short	6
	.short	4
	.short	0
	.short	0
	.short	415
	.short	366
	.short	374
	.short	382
	.short	386
	.short	393
	.short	400
	.short	404
	.short	406
	.short	408
	.align	2
	.type	yy_def, %object
	.size	yy_def, 230
yy_def:
	.short	0
	.short	106
	.short	106
	.short	105
	.short	105
	.short	105
	.short	105
	.short	107
	.short	108
	.short	105
	.short	105
	.short	105
	.short	109
	.short	109
	.short	105
	.short	107
	.short	105
	.short	110
	.short	108
	.short	111
	.short	105
	.short	105
	.short	10
	.short	105
	.short	105
	.short	105
	.short	105
	.short	112
	.short	11
	.short	105
	.short	105
	.short	109
	.short	109
	.short	107
	.short	113
	.short	105
	.short	108
	.short	114
	.short	105
	.short	105
	.short	21
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	112
	.short	105
	.short	105
	.short	109
	.short	107
	.short	107
	.short	108
	.short	108
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	109
	.short	109
	.short	107
	.short	107
	.short	108
	.short	108
	.short	105
	.short	105
	.short	109
	.short	109
	.short	107
	.short	108
	.short	109
	.short	109
	.short	65
	.short	67
	.short	109
	.short	109
	.short	107
	.short	108
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	109
	.short	0
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.align	2
	.type	yy_nxt, %object
	.size	yy_nxt, 912
yy_nxt:
	.short	0
	.short	4
	.short	5
	.short	6
	.short	7
	.short	8
	.short	4
	.short	9
	.short	10
	.short	11
	.short	11
	.short	11
	.short	4
	.short	104
	.short	13
	.short	103
	.short	105
	.short	16
	.short	20
	.short	20
	.short	20
	.short	20
	.short	16
	.short	35
	.short	105
	.short	4
	.short	4
	.short	5
	.short	6
	.short	7
	.short	8
	.short	4
	.short	9
	.short	10
	.short	11
	.short	11
	.short	11
	.short	4
	.short	17
	.short	13
	.short	33
	.short	33
	.short	33
	.short	17
	.short	19
	.short	36
	.short	36
	.short	36
	.short	102
	.short	46
	.short	4
	.short	21
	.short	22
	.short	22
	.short	22
	.short	23
	.short	34
	.short	49
	.short	69
	.short	101
	.short	24
	.short	37
	.short	46
	.short	60
	.short	25
	.short	62
	.short	61
	.short	26
	.short	27
	.short	63
	.short	49
	.short	69
	.short	100
	.short	24
	.short	88
	.short	89
	.short	60
	.short	25
	.short	21
	.short	28
	.short	28
	.short	28
	.short	28
	.short	44
	.short	44
	.short	44
	.short	44
	.short	24
	.short	99
	.short	16
	.short	16
	.short	29
	.short	98
	.short	43
	.short	30
	.short	44
	.short	44
	.short	44
	.short	44
	.short	97
	.short	24
	.short	96
	.short	35
	.short	35
	.short	29
	.short	20
	.short	20
	.short	20
	.short	20
	.short	65
	.short	17
	.short	17
	.short	95
	.short	38
	.short	39
	.short	16
	.short	16
	.short	39
	.short	94
	.short	51
	.short	51
	.short	51
	.short	67
	.short	19
	.short	19
	.short	93
	.short	38
	.short	39
	.short	92
	.short	91
	.short	39
	.short	40
	.short	40
	.short	40
	.short	40
	.short	90
	.short	17
	.short	17
	.short	87
	.short	41
	.short	42
	.short	35
	.short	35
	.short	42
	.short	86
	.short	53
	.short	53
	.short	53
	.short	56
	.short	56
	.short	56
	.short	56
	.short	41
	.short	42
	.short	85
	.short	84
	.short	42
	.short	21
	.short	23
	.short	23
	.short	23
	.short	23
	.short	19
	.short	19
	.short	83
	.short	55
	.short	24
	.short	56
	.short	56
	.short	56
	.short	56
	.short	57
	.short	82
	.short	58
	.short	58
	.short	58
	.short	58
	.short	79
	.short	78
	.short	24
	.short	44
	.short	44
	.short	44
	.short	44
	.short	58
	.short	58
	.short	58
	.short	58
	.short	16
	.short	59
	.short	16
	.short	75
	.short	59
	.short	35
	.short	64
	.short	64
	.short	64
	.short	66
	.short	66
	.short	66
	.short	35
	.short	74
	.short	59
	.short	71
	.short	70
	.short	59
	.short	68
	.short	50
	.short	76
	.short	17
	.short	48
	.short	17
	.short	45
	.short	105
	.short	19
	.short	56
	.short	56
	.short	56
	.short	56
	.short	14
	.short	77
	.short	19
	.short	32
	.short	19
	.short	39
	.short	14
	.short	105
	.short	39
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	39
	.short	105
	.short	105
	.short	39
	.short	58
	.short	58
	.short	58
	.short	58
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	42
	.short	105
	.short	105
	.short	42
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	42
	.short	105
	.short	105
	.short	42
	.short	16
	.short	105
	.short	105
	.short	105
	.short	72
	.short	72
	.short	72
	.short	72
	.short	105
	.short	72
	.short	72
	.short	72
	.short	72
	.short	72
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	17
	.short	72
	.short	72
	.short	72
	.short	72
	.short	72
	.short	35
	.short	105
	.short	105
	.short	105
	.short	73
	.short	73
	.short	73
	.short	73
	.short	105
	.short	73
	.short	73
	.short	73
	.short	73
	.short	73
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	19
	.short	73
	.short	73
	.short	73
	.short	73
	.short	73
	.short	80
	.short	80
	.short	80
	.short	80
	.short	105
	.short	80
	.short	80
	.short	80
	.short	80
	.short	80
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	80
	.short	80
	.short	80
	.short	80
	.short	80
	.short	81
	.short	81
	.short	81
	.short	81
	.short	105
	.short	81
	.short	81
	.short	81
	.short	81
	.short	81
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	81
	.short	81
	.short	81
	.short	81
	.short	81
	.short	12
	.short	12
	.short	12
	.short	12
	.short	12
	.short	12
	.short	12
	.short	12
	.short	15
	.short	105
	.short	15
	.short	15
	.short	15
	.short	15
	.short	15
	.short	15
	.short	18
	.short	105
	.short	105
	.short	18
	.short	18
	.short	18
	.short	18
	.short	18
	.short	31
	.short	31
	.short	31
	.short	31
	.short	15
	.short	15
	.short	15
	.short	15
	.short	105
	.short	105
	.short	15
	.short	18
	.short	18
	.short	18
	.short	18
	.short	105
	.short	105
	.short	18
	.short	47
	.short	47
	.short	52
	.short	52
	.short	54
	.short	54
	.short	3
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.align	2
	.type	yy_chk, %object
	.size	yy_chk, 912
yy_chk:
	.short	0
	.short	1
	.short	1
	.short	1
	.short	1
	.short	1
	.short	1
	.short	1
	.short	1
	.short	1
	.short	1
	.short	1
	.short	1
	.short	102
	.short	1
	.short	101
	.short	0
	.short	7
	.short	9
	.short	9
	.short	9
	.short	9
	.short	15
	.short	18
	.short	0
	.short	1
	.short	2
	.short	2
	.short	2
	.short	2
	.short	2
	.short	2
	.short	2
	.short	2
	.short	2
	.short	2
	.short	2
	.short	2
	.short	7
	.short	2
	.short	17
	.short	17
	.short	17
	.short	15
	.short	18
	.short	19
	.short	19
	.short	19
	.short	100
	.short	26
	.short	2
	.short	10
	.short	10
	.short	10
	.short	10
	.short	10
	.short	17
	.short	30
	.short	61
	.short	99
	.short	10
	.short	19
	.short	26
	.short	47
	.short	10
	.short	50
	.short	47
	.short	10
	.short	10
	.short	50
	.short	30
	.short	61
	.short	98
	.short	10
	.short	86
	.short	86
	.short	47
	.short	10
	.short	11
	.short	11
	.short	11
	.short	11
	.short	11
	.short	43
	.short	43
	.short	43
	.short	43
	.short	11
	.short	97
	.short	52
	.short	64
	.short	11
	.short	96
	.short	24
	.short	11
	.short	24
	.short	24
	.short	24
	.short	24
	.short	95
	.short	11
	.short	94
	.short	54
	.short	66
	.short	11
	.short	20
	.short	20
	.short	20
	.short	20
	.short	52
	.short	52
	.short	64
	.short	92
	.short	20
	.short	20
	.short	33
	.short	80
	.short	20
	.short	91
	.short	33
	.short	33
	.short	33
	.short	54
	.short	54
	.short	66
	.short	90
	.short	20
	.short	20
	.short	89
	.short	88
	.short	20
	.short	21
	.short	21
	.short	21
	.short	21
	.short	87
	.short	33
	.short	80
	.short	85
	.short	21
	.short	21
	.short	36
	.short	81
	.short	21
	.short	84
	.short	36
	.short	36
	.short	36
	.short	55
	.short	55
	.short	55
	.short	55
	.short	21
	.short	21
	.short	83
	.short	82
	.short	21
	.short	23
	.short	23
	.short	23
	.short	23
	.short	23
	.short	36
	.short	81
	.short	79
	.short	38
	.short	23
	.short	38
	.short	38
	.short	38
	.short	38
	.short	41
	.short	78
	.short	41
	.short	41
	.short	41
	.short	41
	.short	75
	.short	74
	.short	23
	.short	44
	.short	44
	.short	44
	.short	44
	.short	57
	.short	57
	.short	57
	.short	57
	.short	72
	.short	44
	.short	51
	.short	71
	.short	44
	.short	53
	.short	51
	.short	51
	.short	51
	.short	53
	.short	53
	.short	53
	.short	73
	.short	70
	.short	44
	.short	63
	.short	62
	.short	44
	.short	60
	.short	32
	.short	72
	.short	72
	.short	29
	.short	51
	.short	25
	.short	22
	.short	53
	.short	56
	.short	56
	.short	56
	.short	56
	.short	14
	.short	73
	.short	73
	.short	13
	.short	8
	.short	56
	.short	5
	.short	3
	.short	56
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	56
	.short	0
	.short	0
	.short	56
	.short	58
	.short	58
	.short	58
	.short	58
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	58
	.short	0
	.short	0
	.short	58
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	58
	.short	0
	.short	0
	.short	58
	.short	65
	.short	0
	.short	0
	.short	0
	.short	65
	.short	65
	.short	65
	.short	65
	.short	0
	.short	65
	.short	65
	.short	65
	.short	65
	.short	65
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	65
	.short	65
	.short	65
	.short	65
	.short	65
	.short	65
	.short	67
	.short	0
	.short	0
	.short	0
	.short	67
	.short	67
	.short	67
	.short	67
	.short	0
	.short	67
	.short	67
	.short	67
	.short	67
	.short	67
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	67
	.short	67
	.short	67
	.short	67
	.short	67
	.short	67
	.short	76
	.short	76
	.short	76
	.short	76
	.short	0
	.short	76
	.short	76
	.short	76
	.short	76
	.short	76
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	76
	.short	76
	.short	76
	.short	76
	.short	76
	.short	77
	.short	77
	.short	77
	.short	77
	.short	0
	.short	77
	.short	77
	.short	77
	.short	77
	.short	77
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	0
	.short	77
	.short	77
	.short	77
	.short	77
	.short	77
	.short	106
	.short	106
	.short	106
	.short	106
	.short	106
	.short	106
	.short	106
	.short	106
	.short	107
	.short	0
	.short	107
	.short	107
	.short	107
	.short	107
	.short	107
	.short	107
	.short	108
	.short	0
	.short	0
	.short	108
	.short	108
	.short	108
	.short	108
	.short	108
	.short	109
	.short	109
	.short	109
	.short	109
	.short	110
	.short	110
	.short	110
	.short	110
	.short	0
	.short	0
	.short	110
	.short	111
	.short	111
	.short	111
	.short	111
	.short	0
	.short	0
	.short	111
	.short	112
	.short	112
	.short	113
	.short	113
	.short	114
	.short	114
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.short	105
	.local	yy_last_accepting_state
	.comm	yy_last_accepting_state,4,4
	.local	yy_last_accepting_cpos
	.comm	yy_last_accepting_cpos,4,4
	.comm	yytext,4,4
	.global	tok_lineno
	.bss
	.align	2
	.type	tok_lineno, %object
	.size	tok_lineno, 4
tok_lineno:
	.space	4
	.comm	yytoktype,4,4
	.comm	file_src,4,4
	.comm	file_cpm,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"fatal flex scanner internal error--no action found\000"
	.text
	.align	2
	.global	yylex
	.syntax unified
	.arm
	.fpu softvfp
	.type	yylex, %function
yylex:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #8
	ldr	r3, .L50
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L45
	ldr	r3, .L50
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L50+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3
	ldr	r3, .L50+4
	mov	r2, #1
	str	r2, [r3]
.L3:
	ldr	r3, .L50+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L4
	ldr	r3, .L50+12
	ldr	r3, [r3]
	ldr	r2, .L50+8
	str	r3, [r2]
.L4:
	ldr	r3, .L50+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5
	ldr	r3, .L50+20
	ldr	r3, [r3]
	ldr	r2, .L50+16
	str	r3, [r2]
.L5:
	ldr	r3, .L50+24
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L6
	ldr	r3, .L50+8
	ldr	r3, [r3]
	mov	r1, #16384
	mov	r0, r3
	bl	yy_create_buffer
	mov	r3, r0
	ldr	r2, .L50+24
	str	r3, [r2]
.L6:
	bl	yy_load_buffer_state
.L45:
	ldr	r3, .L50+28
	ldr	r4, [r3]
	ldr	r3, .L50+32
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r4]
	mov	r6, r4
	ldr	r3, .L50+4
	ldr	r5, [r3]
	b	.L7
.L46:
	nop
.L7:
	ldrb	r3, [r4]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L50+36
	ldr	r3, [r3, r2, lsl #2]
	and	r7, r3, #255
	ldr	r2, .L50+40
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L9
	ldr	r3, .L50+44
	str	r5, [r3]
	ldr	r3, .L50+48
	str	r4, [r3]
	b	.L9
.L10:
	ldr	r2, .L50+52
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r5, r3
	cmp	r5, #105
	ble	.L9
	mov	r2, r7
	ldr	r3, .L50+56
	ldr	r3, [r3, r2, lsl #2]
	and	r7, r3, #255
.L9:
	ldr	r2, .L50+60
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r3, r7
	add	r3, r2, r3
	ldr	r2, .L50+64
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r5, r3
	bne	.L10
	ldr	r2, .L50+60
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r3, r7
	add	r3, r2, r3
	ldr	r2, .L50+68
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r5, r3
	add	r4, r4, #1
	ldr	r2, .L50+60
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	ldr	r2, .L50+72
	cmp	r3, r2
	bne	.L46
	nop
.L11:
	ldr	r2, .L50+40
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r5, r3
	cmp	r5, #0
	bne	.L12
	ldr	r3, .L50+48
	ldr	r4, [r3]
	ldr	r3, .L50+44
	ldr	r5, [r3]
	ldr	r2, .L50+40
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r5, r3
.L12:
	ldr	r3, .L50+76
	str	r6, [r3]
	sub	r3, r4, r6
	ldr	r2, .L50+80
	str	r3, [r2]
	ldrb	r2, [r4]	@ zero_extendqisi2
	ldr	r3, .L50+32
	strb	r2, [r3]
	mov	r3, #0
	strb	r3, [r4]
	ldr	r3, .L50+28
	str	r4, [r3]
.L13:
	cmp	r5, #18
	ldrls	pc, [pc, r5, asl #2]
	b	.L14
.L16:
	.word	.L34
	.word	.L33
	.word	.L32
	.word	.L31
	.word	.L30
	.word	.L29
	.word	.L28
	.word	.L27
	.word	.L26
	.word	.L25
	.word	.L24
	.word	.L23
	.word	.L22
	.word	.L47
	.word	.L20
	.word	.L19
	.word	.L18
	.word	.L17
	.word	.L15
.L34:
	ldr	r3, .L50+32
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r4]
	ldr	r3, .L50+48
	ldr	r4, [r3]
	ldr	r3, .L50+44
	ldr	r5, [r3]
	b	.L11
.L33:
	mov	r3, #80
	b	.L35
.L32:
	mov	r3, #83
	b	.L35
.L31:
	mov	r3, #73
	b	.L35
.L30:
	mov	r3, #105
	b	.L35
.L29:
	mov	r3, #48
	b	.L35
.L28:
	mov	r3, #48
	b	.L35
.L27:
	mov	r3, #48
	b	.L35
.L26:
	mov	r3, #48
	b	.L35
.L25:
	mov	r3, #48
	b	.L35
.L24:
	mov	r3, #48
	b	.L35
.L23:
	mov	r3, #34
	b	.L35
.L22:
	mov	r3, #99
	b	.L35
.L20:
	ldr	r3, .L50+84
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L50+84
	str	r3, [r2]
	b	.L36
.L19:
	ldr	r3, .L50+76
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	b	.L35
.L18:
	ldr	r3, .L50+76
	ldr	r0, [r3]
	ldr	r3, .L50+80
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r3, .L50+16
	ldr	r3, [r3]
	mov	r2, #1
	bl	fwrite
	b	.L36
.L15:
	mov	r3, #0
	b	.L35
.L17:
	ldr	r3, .L50+76
	ldr	r3, [r3]
	sub	r3, r4, r3
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, .L50+32
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r4]
	ldr	r3, .L50+24
	ldr	r3, [r3]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L37
	ldr	r3, .L50+24
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r2, .L50+88
	str	r3, [r2]
	ldr	r3, .L50+24
	ldr	r3, [r3]
	ldr	r2, .L50+8
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, .L50+24
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #36]
.L37:
	ldr	r3, .L50+24
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L50+88
	ldr	r2, [r2]
	add	r2, r3, r2
	ldr	r3, .L50+28
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L38
	ldr	r3, .L50+76
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, .L50+28
	str	r3, [r2]
	bl	yy_get_previous_state
	mov	r5, r0
	mov	r0, r5
	bl	yy_try_NUL_trans
	str	r0, [fp, #-24]
	ldr	r3, .L50+76
	ldr	r6, [r3]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L39
	ldr	r3, .L50+28
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L50+28
	str	r3, [r2]
	ldr	r3, .L50+28
	ldr	r4, [r3]
	ldr	r5, [fp, #-24]
	b	.L7
.L39:
	ldr	r3, .L50+28
	ldr	r4, [r3]
	b	.L11
.L38:
	bl	yy_get_next_buffer
	mov	r3, r0
	cmp	r3, #2
	beq	.L40
	cmp	r3, #2
	bgt	.L48
	cmp	r3, #0
	beq	.L42
	cmp	r3, #1
	bne	.L48
	ldr	r3, .L50+92
	mov	r2, #0
	str	r2, [r3]
	bl	yywrap
	mov	r3, r0
	cmp	r3, #0
	beq	.L43
	ldr	r3, .L50+76
	ldr	r3, [r3]
	ldr	r2, .L50+28
	str	r3, [r2]
	ldr	r3, .L50+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	add	r5, r3, #18
	b	.L13
.L43:
	ldr	r3, .L50+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L49
	ldr	r3, .L50+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	yyrestart
	b	.L49
.L42:
	ldr	r3, .L50+76
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, .L50+28
	str	r3, [r2]
	bl	yy_get_previous_state
	mov	r5, r0
	ldr	r3, .L50+28
	ldr	r4, [r3]
	ldr	r3, .L50+76
	ldr	r6, [r3]
	b	.L7
.L40:
	ldr	r3, .L50+24
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L50+88
	ldr	r2, [r2]
	add	r3, r3, r2
	ldr	r2, .L50+28
	str	r3, [r2]
	bl	yy_get_previous_state
	mov	r5, r0
	ldr	r3, .L50+28
	ldr	r4, [r3]
	ldr	r3, .L50+76
	ldr	r6, [r3]
	b	.L11
.L49:
	nop
	b	.L48
.L14:
	ldr	r0, .L50+96
	bl	yy_fatal_error
	b	.L45
.L47:
	nop
	b	.L45
.L48:
	nop
.L36:
	b	.L45
.L35:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L51:
	.align	2
.L50:
	.word	yy_init
	.word	yy_start
	.word	yyin
	.word	stdin
	.word	yyout
	.word	stdout
	.word	yy_current_buffer
	.word	yy_c_buf_p
	.word	yy_hold_char
	.word	yy_ec
	.word	yy_accept
	.word	yy_last_accepting_state
	.word	yy_last_accepting_cpos
	.word	yy_def
	.word	yy_meta
	.word	yy_base
	.word	yy_chk
	.word	yy_nxt
	.word	415
	.word	yytext
	.word	yyleng
	.word	tok_lineno
	.word	yy_n_chars
	.word	yy_did_buffer_switch_on_eof
	.word	.LC0
	.size	yylex, .-yylex
	.section	.rodata
	.align	2
.LC1:
	.ascii	"fatal flex scanner internal error--end of buffer mi"
	.ascii	"ssed\000"
	.align	2
.LC2:
	.ascii	"fatal error - scanner input buffer overflow\000"
	.align	2
.LC3:
	.ascii	"input in flex scanner failed\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_get_next_buffer, %function
yy_get_next_buffer:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #32
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r6, [r3, #4]
	ldr	r3, .L79+4
	ldr	r7, [r3]
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L79+8
	ldr	r3, [r3]
	add	r3, r3, #1
	add	r2, r2, r3
	ldr	r3, .L79+12
	ldr	r3, [r3]
	cmp	r2, r3
	bcs	.L53
	ldr	r0, .L79+16
	bl	yy_fatal_error
.L53:
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L54
	ldr	r3, .L79+12
	ldr	r2, [r3]
	ldr	r3, .L79+4
	ldr	r3, [r3]
	sub	r3, r2, r3
	cmp	r3, #1
	bne	.L55
	mov	r3, #1
	b	.L56
.L55:
	mov	r3, #2
	b	.L56
.L54:
	ldr	r3, .L79+12
	ldr	r2, [r3]
	ldr	r3, .L79+4
	ldr	r3, [r3]
	sub	r3, r2, r3
	sub	r4, r3, #1
	mov	r5, #0
	b	.L57
.L58:
	mov	r2, r7
	add	r7, r2, #1
	mov	r3, r6
	add	r6, r3, #1
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	add	r5, r5, #1
.L57:
	cmp	r5, r4
	blt	.L58
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r3, [r3, #36]
	cmp	r3, #2
	bne	.L59
	ldr	r3, .L79+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r2, .L79+8
	ldr	r2, [r2]
	str	r2, [r3, #16]
	b	.L60
.L59:
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	mov	r2, r4
	sub	r3, r3, r2
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L61
.L67:
	ldr	r3, .L79
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, .L79+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L62
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bgt	.L63
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsr	r3, r3, #3
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	str	r2, [r3, #12]
	b	.L64
.L63:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #12]
.L64:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	add	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	yy_flex_realloc
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	b	.L65
.L62:
	ldr	r3, [fp, #-32]
	mov	r2, #0
	str	r2, [r3, #4]
.L65:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L66
	ldr	r0, .L79+20
	bl	yy_fatal_error
.L66:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldr	r2, .L79+12
	str	r3, [r2]
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	mov	r2, r4
	sub	r3, r3, r2
	sub	r3, r3, #1
	str	r3, [fp, #-44]
.L61:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	ble	.L67
	ldr	r3, [fp, #-44]
	cmp	r3, #8192
	ble	.L68
	mov	r3, #8192
	str	r3, [fp, #-44]
.L68:
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L69
	mov	r3, #42
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L70
.L72:
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	mov	r1, r4
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L70:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bge	.L71
	ldr	r3, .L79+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	getc
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmn	r3, #1
	beq	.L71
	ldr	r3, [fp, #-40]
	cmp	r3, #10
	bne	.L72
.L71:
	ldr	r3, [fp, #-40]
	cmp	r3, #10
	bne	.L73
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	add	r1, r3, #1
	str	r1, [fp, #-36]
	mov	r1, r3
	mov	r3, r4
	add	r3, r1, r3
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	and	r2, r2, #255
	strb	r2, [r3]
.L73:
	ldr	r3, [fp, #-40]
	cmn	r3, #1
	bne	.L74
	ldr	r3, .L79+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	beq	.L74
	ldr	r0, .L79+28
	bl	yy_fatal_error
.L74:
	ldr	r2, .L79+8
	ldr	r3, [fp, #-36]
	str	r3, [r2]
	b	.L75
.L69:
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	mov	r2, r4
	add	r0, r3, r2
	ldr	r2, [fp, #-44]
	ldr	r3, .L79+24
	ldr	r3, [r3]
	mov	r1, #1
	bl	fread
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L79+8
	str	r2, [r3]
	ldr	r3, .L79+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L75
	ldr	r3, .L79+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	beq	.L75
	ldr	r0, .L79+28
	bl	yy_fatal_error
.L75:
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r2, .L79+8
	ldr	r2, [r2]
	str	r2, [r3, #16]
.L60:
	ldr	r3, .L79+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L76
	cmp	r4, #0
	bne	.L77
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, .L79+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	yyrestart
	b	.L78
.L77:
	mov	r3, #2
	str	r3, [fp, #-48]
	ldr	r3, .L79
	ldr	r3, [r3]
	mov	r2, #2
	str	r2, [r3, #36]
	b	.L78
.L76:
	mov	r3, #0
	str	r3, [fp, #-48]
.L78:
	ldr	r3, .L79+8
	ldr	r3, [r3]
	add	r3, r4, r3
	ldr	r2, .L79+8
	str	r3, [r2]
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L79+8
	ldr	r2, [r2]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L79+8
	ldr	r3, [r3]
	add	r3, r3, #1
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L79
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L79+4
	str	r3, [r2]
	ldr	r3, [fp, #-48]
.L56:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L80:
	.align	2
.L79:
	.word	yy_current_buffer
	.word	yytext
	.word	yy_n_chars
	.word	yy_c_buf_p
	.word	.LC1
	.word	.LC2
	.word	yyin
	.word	.LC3
	.size	yy_get_next_buffer, .-yy_get_next_buffer
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_get_previous_state, %function
yy_get_previous_state:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, fp}
	add	fp, sp, #12
	ldr	r3, .L90
	ldr	r4, [r3]
	ldr	r3, .L90+4
	ldr	r5, [r3]
	b	.L82
.L88:
	ldrb	r3, [r5]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L83
	ldrb	r3, [r5]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L90+8
	ldr	r3, [r3, r2, lsl #2]
	and	r3, r3, #255
	b	.L84
.L83:
	mov	r3, #1
.L84:
	mov	r6, r3
	ldr	r2, .L90+12
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L86
	ldr	r3, .L90+16
	str	r4, [r3]
	ldr	r3, .L90+20
	str	r5, [r3]
	b	.L86
.L87:
	ldr	r2, .L90+24
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r4, r3
	cmp	r4, #105
	ble	.L86
	mov	r2, r6
	ldr	r3, .L90+28
	ldr	r3, [r3, r2, lsl #2]
	and	r6, r3, #255
.L86:
	ldr	r2, .L90+32
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r3, r6
	add	r3, r2, r3
	ldr	r2, .L90+36
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r4, r3
	bne	.L87
	ldr	r2, .L90+32
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r3, r6
	add	r3, r2, r3
	ldr	r2, .L90+40
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r4, r3
	add	r5, r5, #1
.L82:
	ldr	r3, .L90+44
	ldr	r3, [r3]
	cmp	r5, r3
	bcc	.L88
	mov	r3, r4
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, r6, fp}
	bx	lr
.L91:
	.align	2
.L90:
	.word	yy_start
	.word	yytext
	.word	yy_ec
	.word	yy_accept
	.word	yy_last_accepting_state
	.word	yy_last_accepting_cpos
	.word	yy_def
	.word	yy_meta
	.word	yy_base
	.word	yy_chk
	.word	yy_nxt
	.word	yy_c_buf_p
	.size	yy_get_previous_state, .-yy_get_previous_state
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_try_NUL_trans, %function
yy_try_NUL_trans:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, .L99
	ldr	r5, [r3]
	mov	r4, #1
	ldr	r2, .L99+4
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L94
	ldr	r2, .L99+8
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, .L99+12
	str	r5, [r3]
	b	.L94
.L95:
	ldr	r2, .L99+16
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #105
	ble	.L94
	mov	r2, r4
	ldr	r3, .L99+20
	ldr	r3, [r3, r2, lsl #2]
	and	r4, r3, #255
.L94:
	ldr	r2, .L99+24
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r3, r4
	add	r3, r2, r3
	ldr	r2, .L99+28
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L95
	ldr	r2, .L99+24
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r3, r4
	add	r3, r2, r3
	ldr	r2, .L99+32
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #105
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r4, r3
	cmp	r4, #0
	bne	.L96
	ldr	r3, [fp, #-16]
	b	.L98
.L96:
	mov	r3, #0
.L98:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
.L100:
	.align	2
.L99:
	.word	yy_c_buf_p
	.word	yy_accept
	.word	yy_last_accepting_state
	.word	yy_last_accepting_cpos
	.word	yy_def
	.word	yy_meta
	.word	yy_base
	.word	yy_chk
	.word	yy_nxt
	.size	yy_try_NUL_trans, .-yy_try_NUL_trans
	.section	.rodata
	.align	2
.LC4:
	.ascii	"flex scanner push-back overflow\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	yyunput, %function
yyunput:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #8
	str	r0, [fp, #-24]
	mov	r7, r1
	ldr	r3, .L105
	ldr	r4, [r3]
	ldr	r3, .L105+4
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r4]
	ldr	r3, .L105+8
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	add	r3, r3, #2
	cmp	r4, r3
	bcs	.L102
	ldr	r3, .L105+12
	ldr	r3, [r3]
	add	r5, r3, #2
	ldr	r3, .L105+8
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, .L105+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	add	r3, r3, #2
	add	r6, r2, r3
	ldr	r3, .L105+8
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	mov	r2, r5
	add	r5, r3, r2
	b	.L103
.L104:
	sub	r5, r5, #1
	sub	r6, r6, #1
	ldrb	r3, [r5]	@ zero_extendqisi2
	strb	r3, [r6]
.L103:
	ldr	r3, .L105+8
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r5, r3
	bhi	.L104
	sub	r3, r6, r5
	add	r4, r4, r3
	sub	r3, r6, r5
	add	r7, r7, r3
	ldr	r3, .L105+8
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r3, .L105+12
	str	r2, [r3]
	ldr	r3, .L105+8
	ldr	r3, [r3]
	ldr	r2, .L105+12
	ldr	r2, [r2]
	str	r2, [r3, #16]
	ldr	r3, .L105+8
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	add	r3, r3, #2
	cmp	r4, r3
	bcs	.L102
	ldr	r0, .L105+16
	bl	yy_fatal_error
.L102:
	sub	r4, r4, #1
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	strb	r3, [r4]
	ldr	r3, .L105+20
	str	r7, [r3]
	ldrb	r2, [r4]	@ zero_extendqisi2
	ldr	r3, .L105+4
	strb	r2, [r3]
	ldr	r3, .L105
	str	r4, [r3]
	nop
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L106:
	.align	2
.L105:
	.word	yy_c_buf_p
	.word	yy_hold_char
	.word	yy_current_buffer
	.word	yy_n_chars
	.word	.LC4
	.word	yytext
	.size	yyunput, .-yyunput
	.section	.rodata
	.align	2
.LC5:
	.ascii	"_XPG\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	input, %function
input:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L120
	ldr	r3, [r3]
	cmn	r3, #1
	bne	.L108
	ldr	r0, .L120+4
	bl	getenv
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L109
	ldr	r3, .L120
	mov	r2, #0
	str	r2, [r3]
	b	.L108
.L109:
	ldr	r0, [fp, #-16]
	bl	atoi
	mov	r3, r0
	ldr	r2, .L120
	str	r3, [r2]
	ldr	r3, .L120
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L108
	ldr	r3, .L120
	mov	r2, #0
	str	r2, [r3]
.L108:
	ldr	r3, .L120+8
	ldr	r3, [r3]
	ldr	r2, .L120+12
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, .L120+8
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L119
	ldr	r3, .L120+16
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L120+20
	ldr	r2, [r2]
	add	r2, r3, r2
	ldr	r3, .L120+8
	ldr	r3, [r3]
	cmp	r2, r3
	bls	.L111
	ldr	r3, .L120+8
	ldr	r3, [r3]
	mov	r2, #0
	strb	r2, [r3]
	b	.L110
.L111:
	ldr	r3, .L120+8
	ldr	r2, [r3]
	ldr	r3, .L120+24
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, .L120+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L120+8
	str	r3, [r2]
	bl	yy_get_next_buffer
	mov	r3, r0
	cmp	r3, #2
	beq	.L112
	cmp	r3, #2
	bgt	.L110
	cmp	r3, #0
	beq	.L113
	cmp	r3, #1
	beq	.L114
	b	.L110
.L112:
	ldr	r3, .L120+28
	ldr	r3, [r3]
	mov	r0, r3
	bl	yyrestart
.L114:
	ldr	r3, .L120
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L115
	mov	r3, #0
	b	.L116
.L115:
	bl	yywrap
	mov	r3, r0
	cmp	r3, #0
	beq	.L117
	mov	r3, #0
	b	.L116
.L117:
	ldr	r3, .L120+32
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L118
	ldr	r3, .L120+28
	ldr	r3, [r3]
	mov	r0, r3
	bl	yyrestart
.L118:
	bl	input
	mov	r3, r0
	b	.L116
.L113:
	ldr	r3, .L120+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, .L120+8
	str	r3, [r2]
	b	.L110
.L119:
	nop
.L110:
	ldr	r3, .L120+8
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, .L120+8
	ldr	r3, [r3]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L120+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L120+8
	str	r3, [r2]
	ldr	r3, .L120+8
	ldr	r3, [r3]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L120+12
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
.L116:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L121:
	.align	2
.L120:
	.word	_xpg.5484
	.word	.LC5
	.word	yy_c_buf_p
	.word	yy_hold_char
	.word	yy_current_buffer
	.word	yy_n_chars
	.word	yytext
	.word	yyin
	.word	yy_did_buffer_switch_on_eof
	.size	input, .-input
	.align	2
	.global	yyrestart
	.syntax unified
	.arm
	.fpu softvfp
	.type	yyrestart, %function
yyrestart:
	@ 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, .L124
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L123
	ldr	r3, .L124+4
	ldr	r3, [r3]
	mov	r1, #16384
	mov	r0, r3
	bl	yy_create_buffer
	mov	r3, r0
	ldr	r2, .L124
	str	r3, [r2]
.L123:
	ldr	r3, .L124
	ldr	r3, [r3]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	yy_init_buffer
	bl	yy_load_buffer_state
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L125:
	.align	2
.L124:
	.word	yy_current_buffer
	.word	yyin
	.size	yyrestart, .-yyrestart
	.align	2
	.global	yy_switch_to_buffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_switch_to_buffer, %function
yy_switch_to_buffer:
	@ 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, .L131
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L130
	ldr	r3, .L131
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L129
	ldr	r3, .L131+4
	ldr	r3, [r3]
	ldr	r2, .L131+8
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, .L131
	ldr	r3, [r3]
	ldr	r2, .L131+4
	ldr	r2, [r2]
	str	r2, [r3, #8]
	ldr	r3, .L131
	ldr	r3, [r3]
	ldr	r2, .L131+12
	ldr	r2, [r2]
	str	r2, [r3, #16]
.L129:
	ldr	r2, .L131
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	bl	yy_load_buffer_state
	ldr	r3, .L131+16
	mov	r2, #1
	str	r2, [r3]
	b	.L126
.L130:
	nop
.L126:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L132:
	.align	2
.L131:
	.word	yy_current_buffer
	.word	yy_c_buf_p
	.word	yy_hold_char
	.word	yy_n_chars
	.word	yy_did_buffer_switch_on_eof
	.size	yy_switch_to_buffer, .-yy_switch_to_buffer
	.align	2
	.global	yy_load_buffer_state
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_load_buffer_state, %function
yy_load_buffer_state:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L134
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r2, .L134+4
	str	r3, [r2]
	ldr	r3, .L134
	ldr	r3, [r3]
	ldr	r3, [r3, #8]
	ldr	r2, .L134+8
	str	r3, [r2]
	ldr	r3, .L134+8
	ldr	r3, [r3]
	ldr	r2, .L134+12
	str	r3, [r2]
	ldr	r3, .L134
	ldr	r3, [r3]
	ldr	r3, [r3]
	ldr	r2, .L134+16
	str	r3, [r2]
	ldr	r3, .L134+8
	ldr	r3, [r3]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, .L134+20
	strb	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L135:
	.align	2
.L134:
	.word	yy_current_buffer
	.word	yy_n_chars
	.word	yy_c_buf_p
	.word	yytext
	.word	yyin
	.word	yy_hold_char
	.size	yy_load_buffer_state, .-yy_load_buffer_state
	.section	.rodata
	.align	2
.LC6:
	.ascii	"out of dynamic memory in yy_create_buffer()\000"
	.text
	.align	2
	.global	yy_create_buffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_create_buffer, %function
yy_create_buffer:
	@ 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	r0, #40
	bl	yy_flex_alloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L137
	ldr	r0, .L140
	bl	yy_fatal_error
.L137:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	add	r3, r3, #2
	mov	r0, r3
	bl	yy_flex_alloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L138
	ldr	r0, .L140
	bl	yy_fatal_error
.L138:
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #20]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	yy_init_buffer
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L141:
	.align	2
.L140:
	.word	.LC6
	.size	yy_create_buffer, .-yy_create_buffer
	.align	2
	.global	yy_delete_buffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_delete_buffer, %function
yy_delete_buffer:
	@ 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]
	cmp	r3, #0
	beq	.L147
	ldr	r3, .L148
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L145
	ldr	r3, .L148
	mov	r2, #0
	str	r2, [r3]
.L145:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L146
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	yy_flex_free
.L146:
	ldr	r0, [fp, #-8]
	bl	yy_flex_free
	b	.L142
.L147:
	nop
.L142:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L149:
	.align	2
.L148:
	.word	yy_current_buffer
	.size	yy_delete_buffer, .-yy_delete_buffer
	.align	2
	.global	yy_init_buffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_init_buffer, %function
yy_init_buffer:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	yy_flush_buffer
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L151
	ldr	r0, [fp, #-12]
	bl	fileno
	mov	r3, r0
	mov	r0, r3
	bl	isatty
	mov	r3, r0
	cmp	r3, #0
	ble	.L151
	mov	r2, #1
	b	.L152
.L151:
	mov	r2, #0
.L152:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #24]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	yy_init_buffer, .-yy_init_buffer
	.align	2
	.global	yy_flush_buffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_flush_buffer, %function
yy_flush_buffer:
	@ 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]
	cmp	r3, #0
	beq	.L156
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r3, .L157
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L153
	bl	yy_load_buffer_state
	b	.L153
.L156:
	nop
.L153:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L158:
	.align	2
.L157:
	.word	yy_current_buffer
	.size	yy_flush_buffer, .-yy_flush_buffer
	.section	.rodata
	.align	2
.LC7:
	.ascii	"out of dynamic memory in yy_scan_buffer()\000"
	.text
	.align	2
	.global	yy_scan_buffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_scan_buffer, %function
yy_scan_buffer:
	@ 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]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bls	.L160
	ldr	r3, [fp, #-20]
	sub	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L160
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L161
.L160:
	mov	r3, #0
	b	.L162
.L161:
	mov	r0, #40
	bl	yy_flex_alloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L163
	ldr	r0, .L164
	bl	yy_fatal_error
.L163:
	ldr	r3, [fp, #-20]
	sub	r2, r3, #2
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r0, [fp, #-8]
	bl	yy_switch_to_buffer
	ldr	r3, [fp, #-8]
.L162:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L165:
	.align	2
.L164:
	.word	.LC7
	.size	yy_scan_buffer, .-yy_scan_buffer
	.align	2
	.global	yy_scan_string
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_scan_string, %function
yy_scan_string:
	@ 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]
	b	.L167
.L168:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L167:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L168
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	yy_scan_bytes
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	yy_scan_string, .-yy_scan_string
	.section	.rodata
	.align	2
.LC8:
	.ascii	"out of dynamic memory in yy_scan_bytes()\000"
	.align	2
.LC9:
	.ascii	"bad buffer in yy_scan_bytes()\000"
	.text
	.align	2
	.global	yy_scan_bytes
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_scan_bytes, %function
yy_scan_bytes:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	yy_flex_alloc
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L171
	ldr	r0, .L176
	bl	yy_fatal_error
.L171:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L172
.L173:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	ldr	r1, [fp, #-12]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L172:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L173
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-12]
	add	r2, r1, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r2]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	yy_scan_buffer
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L174
	ldr	r0, .L176+4
	bl	yy_fatal_error
.L174:
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L177:
	.align	2
.L176:
	.word	.LC8
	.word	.LC9
	.size	yy_scan_bytes, .-yy_scan_bytes
	.section	.rodata
	.align	2
.LC10:
	.ascii	"%s\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_fatal_error, %function
yy_fatal_error:
	@ 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, .L179
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r1, .L179+4
	mov	r0, r3
	bl	fprintf
	mov	r0, #2
	bl	exit
.L180:
	.align	2
.L179:
	.word	stderr
	.word	.LC10
	.size	yy_fatal_error, .-yy_fatal_error
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_flex_alloc, %function
yy_flex_alloc:
	@ 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	malloc
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	yy_flex_alloc, .-yy_flex_alloc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_flex_realloc, %function
yy_flex_realloc:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	realloc
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	yy_flex_realloc, .-yy_flex_realloc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	yy_flex_free, %function
yy_flex_free:
	@ 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	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	yy_flex_free, .-yy_flex_free
	.align	2
	.global	yywrap
	.syntax unified
	.arm
	.fpu softvfp
	.type	yywrap, %function
yywrap:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	mov	r3, #1
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	yywrap, .-yywrap
	.align	2
	.global	yytokget
	.syntax unified
	.arm
	.fpu softvfp
	.type	yytokget, %function
yytokget:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	yylex
	mov	r3, r0
	ldr	r2, .L189
	str	r3, [r2]
	nop
	pop	{fp, pc}
.L190:
	.align	2
.L189:
	.word	yytoktype
	.size	yytokget, .-yytokget
	.section	.rodata
	.align	2
.LC11:
	.ascii	"%s expected\012\000"
	.text
	.align	2
	.global	yychkword
	.syntax unified
	.arm
	.fpu softvfp
	.type	yychkword, %function
yychkword:
	@ 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, .L194
	ldr	r3, [r3]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L193
	ldr	r3, .L194+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r1, .L194+8
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L193:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L195:
	.align	2
.L194:
	.word	yytext
	.word	stderr
	.word	.LC11
	.size	yychkword, .-yychkword
	.section	.rodata
	.align	2
.LC12:
	.ascii	"identifier expected\012\000"
	.align	2
.LC13:
	.ascii	"%c expected\012\000"
	.text
	.align	2
	.global	yychktype
	.syntax unified
	.arm
	.fpu softvfp
	.type	yychktype, %function
yychktype:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, .L202
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L201
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #105
	bne	.L199
	ldr	r3, .L202+4
	ldr	r3, [r3]
	mov	r2, #20
	mov	r1, #1
	ldr	r0, .L202+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L199:
	ldr	r3, .L202+4
	ldr	r3, [r3]
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r1, .L202+12
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L201:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L203:
	.align	2
.L202:
	.word	yytoktype
	.word	stderr
	.word	.LC12
	.word	.LC13
	.size	yychktype, .-yychktype
	.comm	mod_funcs,4000,4
	.comm	mod_len,4,4
	.comm	type_name,4000,4
	.comm	type_kind,4000,4
	.comm	type_count,4,4
	.comm	func_name,4,4
	.comm	func_args,4000,4
	.comm	func_array,4000,4
	.comm	func_pointer,4000,4
	.comm	func_len,4,4
	.comm	func_static,4,4
	.section	.rodata
	.align	2
.LC14:
	.ascii	"Unknown type %s\012\000"
	.text
	.align	2
	.global	type_simple
	.syntax unified
	.arm
	.fpu softvfp
	.type	type_simple, %function
type_simple:
	@ 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]
	b	.L205
.L208:
	ldr	r2, .L210
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L206
	ldr	r2, .L210+4
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #83
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L209
.L206:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L205:
	ldr	r3, .L210+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L208
	ldr	r3, .L210+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	ldr	r1, .L210+16
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L209:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L211:
	.align	2
.L210:
	.word	type_name
	.word	type_kind
	.word	type_count
	.word	stderr
	.word	.LC14
	.size	type_simple, .-type_simple
	.section	.rodata
	.align	2
.LC15:
	.ascii	"error: type table overflow.\012\000"
	.text
	.align	2
	.global	type_declare
	.syntax unified
	.arm
	.fpu softvfp
	.type	type_declare, %function
type_declare:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L214
	ldr	r3, [r3]
	cmp	r3, #1000
	bne	.L213
	ldr	r3, .L214+4
	ldr	r3, [r3]
	mov	r2, #28
	mov	r1, #1
	ldr	r0, .L214+8
	bl	fwrite
	mov	r0, #1
	bl	exit
.L213:
	ldr	r3, .L214
	ldr	r4, [r3]
	ldr	r0, [fp, #-16]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L214+12
	str	r2, [r3, r4, lsl #2]
	ldr	r3, .L214
	ldr	r3, [r3]
	ldr	r1, .L214+16
	ldr	r2, [fp, #-20]
	str	r2, [r1, r3, lsl #2]
	ldr	r3, .L214
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L214
	str	r3, [r2]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L215:
	.align	2
.L214:
	.word	type_count
	.word	stderr
	.word	.LC15
	.word	type_name
	.word	type_kind
	.size	type_declare, .-type_declare
	.section	.rodata
	.align	2
.LC16:
	.ascii	"CpmA0\000"
	.align	2
.LC17:
	.ascii	",CpmA%d\000"
	.align	2
.LC18:
	.ascii	");\012\000"
	.text
	.align	2
	.global	gen_actual_args
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_actual_args, %function
gen_actual_args:
	@ 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]
	ldr	r1, [fp, #-16]
	mov	r0, #40
	bl	fputc
	ldr	r3, .L220
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L217
	ldr	r3, [fp, #-16]
	mov	r2, #5
	mov	r1, #1
	ldr	r0, .L220+4
	bl	fwrite
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L218
.L219:
	ldr	r2, [fp, #-8]
	ldr	r1, .L220+8
	ldr	r0, [fp, #-16]
	bl	fprintf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L218:
	ldr	r3, .L220
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L219
.L217:
	ldr	r3, [fp, #-16]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L220+12
	bl	fwrite
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L221:
	.align	2
.L220:
	.word	func_len
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.size	gen_actual_args, .-gen_actual_args
	.section	.rodata
	.align	2
.LC19:
	.ascii	"CpmDim required before array.\012\000"
	.text
	.align	2
	.global	gen_dimension_required
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_dimension_required, %function
gen_dimension_required:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L223
	ldr	r3, [r3]
	mov	r2, #30
	mov	r1, #1
	ldr	r0, .L223+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L224:
	.align	2
.L223:
	.word	stderr
	.word	.LC19
	.size	gen_dimension_required, .-gen_dimension_required
	.section	.rodata
	.align	2
.LC20:
	.ascii	"struct CpmSt_%s\012\000"
	.align	2
.LC21:
	.ascii	"{\012\000"
	.align	2
.LC22:
	.ascii	"char convcore[CmiMsgHeaderSizeBytes];\012\000"
	.align	2
.LC23:
	.ascii	"unsigned int envpos;\012\000"
	.align	2
.LC24:
	.ascii	"%s f%d;\012\000"
	.align	2
.LC25:
	.ascii	"int f%d;\012\000"
	.align	2
.LC26:
	.ascii	"};\012\000"
	.text
	.align	2
	.global	gen_func_struct
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_func_struct, %function
gen_func_struct:
	@ 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, .L230
	ldr	r3, [r3]
	ldr	r2, .L230+4
	ldr	r2, [r2]
	ldr	r1, .L230+8
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L230
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L230+12
	bl	fwrite
	ldr	r3, .L230
	ldr	r3, [r3]
	mov	r2, #38
	mov	r1, #1
	ldr	r0, .L230+16
	bl	fwrite
	ldr	r3, .L230
	ldr	r3, [r3]
	mov	r2, #21
	mov	r1, #1
	ldr	r0, .L230+20
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L226
.L229:
	ldr	r2, .L230+24
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L227
	ldr	r2, .L230+28
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L227
	ldr	r3, .L230
	ldr	r0, [r3]
	ldr	r2, .L230+32
	ldr	r3, [fp, #-8]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-8]
	ldr	r1, .L230+36
	bl	fprintf
	b	.L228
.L227:
	ldr	r3, .L230
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r1, .L230+40
	mov	r0, r3
	bl	fprintf
.L228:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L226:
	ldr	r3, .L230+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L229
	ldr	r3, .L230
	ldr	r3, [r3]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L230+48
	bl	fwrite
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L231:
	.align	2
.L230:
	.word	file_cpm
	.word	func_name
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	func_pointer
	.word	func_array
	.word	func_args
	.word	.LC24
	.word	.LC25
	.word	func_len
	.word	.LC26
	.size	gen_func_struct, .-gen_func_struct
	.section	.rodata
	.align	2
.LC27:
	.ascii	"static void CpmRecv_%s(char *CpmM)\012\000"
	.align	2
.LC28:
	.ascii	"struct CpmSt_%s *CpmS=(struct CpmSt_%s *)CpmM;\012\000"
	.align	2
.LC29:
	.ascii	"char *CpmX = (char *)CpmS;\012\000"
	.align	2
.LC30:
	.ascii	"int i;\012\000"
	.align	2
.LC31:
	.ascii	"*\000"
	.align	2
.LC32:
	.ascii	"\000"
	.align	2
.LC33:
	.ascii	"%s %sCpmA%d;\012\000"
	.align	2
.LC34:
	.ascii	"CpmA%d = CpmS->f%d;\012\000"
	.align	2
.LC35:
	.ascii	"CpmUnpack_%s(CpmA%d);\012\000"
	.align	2
.LC36:
	.ascii	"CpmDim\000"
	.align	2
.LC37:
	.ascii	"CpmA%d = (%s *)(CpmX+(CpmS->f%d));\012\000"
	.align	2
.LC38:
	.ascii	"for (i=0; i<CpmA%d; i++)\012\000"
	.align	2
.LC39:
	.ascii	"  CpmUnpack_%s(CpmA%d[i]);\012\000"
	.align	2
.LC40:
	.ascii	"CpmA%d = (%s)(CpmX+(CpmS->f%d));\012\000"
	.align	2
.LC41:
	.ascii	"CpmPtrUnpack_%s(CpmA%d);\012\000"
	.align	2
.LC42:
	.ascii	"for (i=0; i<CpmA%d; i++) {\012\000"
	.align	2
.LC43:
	.ascii	"  CpmA%d[i] = CpmM + (size_t)(CpmA%d[i]);\012\000"
	.align	2
.LC44:
	.ascii	"  CpmPtrUnpack_%s(CpmA%d[i]);\012\000"
	.align	2
.LC45:
	.ascii	"}\012\000"
	.align	2
.LC46:
	.ascii	"CmiFree(CpmM);\012\000"
	.text
	.align	2
	.global	gen_func_recv
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_func_recv, %function
gen_func_recv:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L251
	ldr	r3, [r3]
	ldr	r2, .L251+4
	ldr	r2, [r2]
	ldr	r1, .L251+8
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L251
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L251+12
	bl	fwrite
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r3, .L251+4
	ldr	r2, [r3]
	ldr	r3, .L251+4
	ldr	r3, [r3]
	ldr	r1, .L251+16
	bl	fprintf
	ldr	r3, .L251
	ldr	r3, [r3]
	mov	r2, #27
	mov	r1, #1
	ldr	r0, .L251+20
	bl	fwrite
	ldr	r3, .L251
	ldr	r3, [r3]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L251+24
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L233
.L236:
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r2, .L251+28
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L251+32
	ldr	r3, [fp, #-12]
	ldr	r3, [r1, r3, lsl #2]
	cmp	r3, #0
	beq	.L234
	ldr	r1, .L251+36
	b	.L235
.L234:
	ldr	r1, .L251+40
.L235:
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L251+44
	bl	fprintf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L233:
	ldr	r3, .L251+48
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L236
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L237
.L250:
	ldr	r2, .L251+52
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L238
	mov	r3, #2
	b	.L239
.L238:
	mov	r3, #0
.L239:
	ldr	r1, .L251+32
	ldr	r2, [fp, #-12]
	ldr	r2, [r1, r2, lsl #2]
	cmp	r2, #0
	movne	r2, #1
	moveq	r2, #0
	and	r2, r2, #255
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L240
.L242:
	.word	.L245
	.word	.L244
	.word	.L243
	.word	.L241
.L245:
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, .L251+56
	bl	fprintf
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r2, .L251+28
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	ldr	r1, .L251+60
	bl	fprintf
	b	.L240
.L244:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L246
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, .L251+32
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L246
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, .L251+28
	ldr	r3, [r2, r3, lsl #2]
	ldr	r1, .L251+64
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L247
.L246:
	bl	gen_dimension_required
.L247:
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r2, .L251+28
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-12]
	ldr	r1, .L251+68
	bl	fprintf
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L251+72
	bl	fprintf
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r2, .L251+28
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	ldr	r1, .L251+76
	bl	fprintf
	b	.L240
.L243:
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r2, .L251+28
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-12]
	ldr	r1, .L251+80
	bl	fprintf
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r2, .L251+28
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	ldr	r1, .L251+84
	bl	fprintf
	b	.L240
.L241:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L248
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, .L251+32
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L248
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, .L251+28
	ldr	r3, [r2, r3, lsl #2]
	ldr	r1, .L251+64
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L249
.L248:
	bl	gen_dimension_required
.L249:
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r2, .L251+28
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-12]
	ldr	r1, .L251+68
	bl	fprintf
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L251+88
	bl	fprintf
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, .L251+92
	bl	fprintf
	ldr	r3, .L251
	ldr	r0, [r3]
	ldr	r2, .L251+28
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	ldr	r1, .L251+96
	bl	fprintf
	ldr	r3, .L251
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L251+100
	bl	fwrite
	nop
.L240:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L237:
	ldr	r3, .L251+48
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L250
	ldr	r3, .L251
	ldr	r2, [r3]
	ldr	r3, .L251+4
	ldr	r3, [r3]
	mov	r1, r2
	mov	r0, r3
	bl	fputs
	ldr	r3, .L251
	ldr	r3, [r3]
	mov	r0, r3
	bl	gen_actual_args
	ldr	r3, .L251
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L251+104
	bl	fwrite
	ldr	r3, .L251
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L251+100
	bl	fwrite
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L252:
	.align	2
.L251:
	.word	file_cpm
	.word	func_name
	.word	.LC27
	.word	.LC21
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	func_args
	.word	func_array
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	func_len
	.word	func_pointer
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.size	gen_func_recv, .-gen_func_recv
	.section	.rodata
	.align	2
.LC47:
	.ascii	"static \000"
	.align	2
.LC48:
	.ascii	"void *Cpm_%s(CpmDestination ctrl\000"
	.align	2
.LC49:
	.ascii	",%s %sa%d\000"
	.align	2
.LC50:
	.ascii	")\012\000"
	.align	2
.LC51:
	.ascii	"struct CpmSt_%s *msg;\012\000"
	.align	2
.LC52:
	.ascii	"char *data; int size, i, envpos; void *result;\012\000"
	.align	2
.LC53:
	.ascii	"int offs = CpmAlign(sizeof(struct CpmSt_%s), double"
	.ascii	");\012\000"
	.align	2
.LC54:
	.ascii	"int aoffs%d;\012\000"
	.align	2
.LC55:
	.ascii	"size_t *poffs%d = (size_t *)malloc(a%d*sizeof(size_"
	.ascii	"t));\012\000"
	.align	2
.LC56:
	.ascii	"int poffs%d;\012\000"
	.align	2
.LC57:
	.ascii	"envpos=offs; offs=CpmAlign(offs+(ctrl->envsize),dou"
	.ascii	"ble);\012\000"
	.align	2
.LC58:
	.ascii	"size=a%d*sizeof(%s);\012\000"
	.align	2
.LC59:
	.ascii	"aoffs%d=offs; offs=CpmAlign(offs+size,double);\012\000"
	.align	2
.LC60:
	.ascii	"for (i=0; i<a%d; i++) {\012\000"
	.align	2
.LC61:
	.ascii	"  size = CpmPtrSize_%s(a%d[i]);\012\000"
	.align	2
.LC62:
	.ascii	"  poffs%d[i]=offs; offs=CpmAlign(offs+size,double);"
	.ascii	"\012\000"
	.align	2
.LC63:
	.ascii	"size = CpmPtrSize_%s(a%d);\012\000"
	.align	2
.LC64:
	.ascii	"poffs%d=offs; offs=CpmAlign(offs+size, double);\012"
	.ascii	"\000"
	.align	2
.LC65:
	.ascii	"data = (char *)CmiAlloc(offs);\012\000"
	.align	2
.LC66:
	.ascii	"msg = (struct CpmSt_%s *)data;\012\000"
	.align	2
.LC67:
	.ascii	"msg->envpos = envpos;\012\000"
	.align	2
.LC68:
	.ascii	"CpmPack_%s(a%d);\012\000"
	.align	2
.LC69:
	.ascii	"msg->f%d = a%d;\012\000"
	.align	2
.LC70:
	.ascii	"msg->f%d = poffs%d;\012\000"
	.align	2
.LC71:
	.ascii	"CpmPtrPack_%s(((%s)(data+poffs%d)), a%d);\012\000"
	.align	2
.LC72:
	.ascii	"msg->f%d = aoffs%d;\012\000"
	.align	2
.LC73:
	.ascii	"memcpy(data+aoffs%d, a%d, a%d*sizeof(%s));\012\000"
	.align	2
.LC74:
	.ascii	"for(i=0; i<a%d; i++)\012\000"
	.align	2
.LC75:
	.ascii	"  CpmPack_%s(((%s *)(data+aoffs%d))[i]);\012\000"
	.align	2
.LC76:
	.ascii	"memcpy(data+aoffs%d, poffs%d, a%d*sizeof(size_t));\012"
	.ascii	"\000"
	.align	2
.LC77:
	.ascii	"  CpmPtrPack_%s(((%s)(data+(poffs%d[i]))), a%d[i]);"
	.ascii	"\012\000"
	.align	2
.LC78:
	.ascii	"CmiSetHandler(msg, CpvAccess(CpmIndex_%s));\012\000"
	.align	2
.LC79:
	.ascii	"result = (ctrl->sendfn)(ctrl, offs, msg);\012\000"
	.align	2
.LC80:
	.ascii	"free(poffs%d);\012\000"
	.align	2
.LC81:
	.ascii	"return result;\012\000"
	.text
	.align	2
	.global	gen_func_send
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_func_send, %function
gen_func_send:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L284
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L254
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L284+8
	bl	fwrite
.L254:
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, .L284+12
	ldr	r2, [r2]
	ldr	r1, .L284+16
	mov	r0, r3
	bl	fprintf
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L255
.L258:
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r2, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L284+24
	ldr	r3, [fp, #-12]
	ldr	r3, [r1, r3, lsl #2]
	cmp	r3, #0
	beq	.L256
	ldr	r1, .L284+28
	b	.L257
.L256:
	ldr	r1, .L284+32
.L257:
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L284+36
	bl	fprintf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L255:
	ldr	r3, .L284+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L258
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L284+44
	bl	fwrite
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L284+48
	bl	fwrite
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, .L284+12
	ldr	r2, [r2]
	ldr	r1, .L284+52
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #47
	mov	r1, #1
	ldr	r0, .L284+56
	bl	fwrite
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, .L284+12
	ldr	r2, [r2]
	ldr	r1, .L284+60
	mov	r0, r3
	bl	fprintf
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L259
.L263:
	ldr	r2, .L284+24
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L260
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+64
	mov	r0, r3
	bl	fprintf
.L260:
	ldr	r2, .L284+68
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L261
	ldr	r2, .L284+24
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L262
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+72
	bl	fprintf
	b	.L261
.L262:
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+76
	mov	r0, r3
	bl	fprintf
.L261:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L259:
	ldr	r3, .L284+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L263
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #57
	mov	r1, #1
	ldr	r0, .L284+80
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L264
.L266:
	ldr	r2, .L284+24
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L265
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	sub	r2, r3, #1
	ldr	r1, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r3, [r1, r3, lsl #2]
	ldr	r1, .L284+84
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+88
	mov	r0, r3
	bl	fprintf
.L265:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L264:
	ldr	r3, .L284+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L266
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L267
.L270:
	ldr	r2, .L284+68
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L268
	ldr	r2, .L284+24
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L269
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L284+92
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r2, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	ldr	r1, .L284+96
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+100
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L284+104
	bl	fwrite
	b	.L268
.L269:
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r2, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	ldr	r1, .L284+108
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+112
	mov	r0, r3
	bl	fprintf
.L268:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L267:
	ldr	r3, .L284+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L270
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #31
	mov	r1, #1
	ldr	r0, .L284+116
	bl	fwrite
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, .L284+12
	ldr	r2, [r2]
	ldr	r1, .L284+120
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #22
	mov	r1, #1
	ldr	r0, .L284+124
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L271
.L280:
	ldr	r2, .L284+24
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L272
	mov	r3, #2
	b	.L273
.L272:
	mov	r3, #0
.L273:
	ldr	r1, .L284+68
	ldr	r2, [fp, #-12]
	ldr	r2, [r1, r2, lsl #2]
	cmp	r2, #0
	movne	r2, #1
	moveq	r2, #0
	and	r2, r2, #255
	orr	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L274
.L276:
	.word	.L279
	.word	.L278
	.word	.L277
	.word	.L275
.L279:
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r2, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-12]
	ldr	r1, .L284+128
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+132
	bl	fprintf
	b	.L274
.L278:
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+136
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r2, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r1, [r1, r3, lsl #2]
	ldr	r3, [fp, #-12]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L284+140
	bl	fprintf
	b	.L274
.L277:
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+144
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r1, .L284+20
	ldr	r2, [fp, #-12]
	ldr	r2, [r1, r2, lsl #2]
	str	r2, [sp, #4]
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+148
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L284+152
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r2, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r1, [r1, r3, lsl #2]
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L284+156
	bl	fprintf
	b	.L274
.L275:
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+144
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+160
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, .L284+152
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r0, [r3]
	ldr	r2, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L284+20
	ldr	r3, [fp, #-12]
	ldr	r1, [r1, r3, lsl #2]
	ldr	r3, [fp, #-12]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-12]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L284+164
	bl	fprintf
	nop
.L274:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L271:
	ldr	r3, .L284+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L280
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, .L284+12
	ldr	r2, [r2]
	ldr	r1, .L284+168
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #42
	mov	r1, #1
	ldr	r0, .L284+172
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L281
.L283:
	ldr	r2, .L284+68
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L282
	ldr	r2, .L284+24
	ldr	r3, [fp, #-12]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	beq	.L282
	ldr	r3, .L284+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, .L284+176
	mov	r0, r3
	bl	fprintf
.L282:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L281:
	ldr	r3, .L284+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L283
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L284+180
	bl	fwrite
	ldr	r3, .L284+4
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L284+104
	bl	fwrite
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L285:
	.align	2
.L284:
	.word	func_static
	.word	file_cpm
	.word	.LC47
	.word	func_name
	.word	.LC48
	.word	func_args
	.word	func_array
	.word	.LC31
	.word	.LC32
	.word	.LC49
	.word	func_len
	.word	.LC50
	.word	.LC21
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	func_pointer
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC45
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC80
	.word	.LC81
	.size	gen_func_send, .-gen_func_send
	.section	.rodata
	.align	2
.LC82:
	.ascii	"CpvStaticDeclare(int, CpmIndex_%s);\012\000"
	.align	2
.LC83:
	.ascii	"void %s(\000"
	.align	2
.LC84:
	.ascii	"%s %s\000"
	.align	2
.LC85:
	.ascii	",%s %s\000"
	.text
	.align	2
	.global	gen_func_protos
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_func_protos, %function
gen_func_protos:
	@ 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, .L294
	ldr	r3, [r3]
	ldr	r2, .L294+4
	ldr	r2, [r2]
	ldr	r1, .L294+8
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L294
	ldr	r3, [r3]
	ldr	r2, .L294+4
	ldr	r2, [r2]
	ldr	r1, .L294+12
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L294+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L287
	ldr	r3, .L294
	ldr	r0, [r3]
	ldr	r3, .L294+20
	ldr	r2, [r3]
	ldr	r3, .L294+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L288
	ldr	r3, .L294+28
	b	.L289
.L288:
	ldr	r3, .L294+32
.L289:
	ldr	r1, .L294+36
	bl	fprintf
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L290
.L293:
	ldr	r3, .L294
	ldr	r0, [r3]
	ldr	r2, .L294+20
	ldr	r3, [fp, #-8]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L294+24
	ldr	r3, [fp, #-8]
	ldr	r3, [r1, r3, lsl #2]
	cmp	r3, #0
	beq	.L291
	ldr	r3, .L294+28
	b	.L292
.L291:
	ldr	r3, .L294+32
.L292:
	ldr	r1, .L294+40
	bl	fprintf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L290:
	ldr	r3, .L294+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L293
.L287:
	ldr	r3, .L294
	ldr	r3, [r3]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L294+44
	bl	fwrite
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L295:
	.align	2
.L294:
	.word	file_cpm
	.word	func_name
	.word	.LC82
	.word	.LC83
	.word	func_len
	.word	func_args
	.word	func_array
	.word	.LC31
	.word	.LC32
	.word	.LC84
	.word	.LC85
	.word	.LC18
	.size	gen_func_protos, .-gen_func_protos
	.align	2
	.global	gen_func_c
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_func_c, %function
gen_func_c:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	gen_func_protos
	bl	gen_func_struct
	bl	gen_func_recv
	bl	gen_func_send
	nop
	pop	{fp, pc}
	.size	gen_func_c, .-gen_func_c
	.section	.rodata
	.align	2
.LC86:
	.ascii	"CpvStaticDeclare(int, CpmIPRIO);\012\000"
	.text
	.align	2
	.global	gen_mod_head
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_mod_head, %function
gen_mod_head:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L298
	ldr	r3, [r3]
	mov	r2, #33
	mov	r1, #1
	ldr	r0, .L298+4
	bl	fwrite
	nop
	pop	{fp, pc}
.L299:
	.align	2
.L298:
	.word	file_cpm
	.word	.LC86
	.size	gen_mod_head, .-gen_mod_head
	.section	.rodata
	.align	2
.LC87:
	.ascii	"static void CpmInitializeThisModule()\012\000"
	.align	2
.LC88:
	.ascii	"CpvInitialize(int, CpmIPRIO);\012\000"
	.align	2
.LC89:
	.ascii	"CpvInitialize(int, CpmIndex_%s);\012\000"
	.align	2
.LC90:
	.ascii	"CpvAccess(CpmIndex_%s) = CmiRegisterHandler((CmiHan"
	.ascii	"dler)CpmRecv_%s);\012\000"
	.text
	.align	2
	.global	gen_mod_tail
	.syntax unified
	.arm
	.fpu softvfp
	.type	gen_mod_tail, %function
gen_mod_tail:
	@ 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, .L303
	ldr	r3, [r3]
	mov	r2, #38
	mov	r1, #1
	ldr	r0, .L303+4
	bl	fwrite
	ldr	r3, .L303
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L303+8
	bl	fwrite
	ldr	r3, .L303
	ldr	r3, [r3]
	mov	r2, #30
	mov	r1, #1
	ldr	r0, .L303+12
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L301
.L302:
	ldr	r3, .L303
	ldr	r0, [r3]
	ldr	r2, .L303+16
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r2, r3
	ldr	r1, .L303+20
	bl	fprintf
	ldr	r3, .L303
	ldr	r0, [r3]
	ldr	r2, .L303+16
	ldr	r3, [fp, #-8]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L303+16
	ldr	r3, [fp, #-8]
	ldr	r3, [r1, r3, lsl #2]
	ldr	r1, .L303+24
	bl	fprintf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L301:
	ldr	r3, .L303+28
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L302
	ldr	r3, .L303
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L303+32
	bl	fwrite
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L304:
	.align	2
.L303:
	.word	file_cpm
	.word	.LC87
	.word	.LC21
	.word	.LC88
	.word	mod_funcs
	.word	.LC89
	.word	.LC90
	.word	mod_len
	.word	.LC45
	.size	gen_mod_tail, .-gen_mod_tail
	.section	.rodata
	.align	2
.LC91:
	.ascii	"CpmType_\000"
	.text
	.align	2
	.global	parse_type
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_type, %function
parse_type:
	@ 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, .L307
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	bl	yytokget
	ldr	r3, .L307+4
	ldr	r3, [r3]
	mov	r2, #8
	ldr	r1, .L307+8
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L306
	ldr	r3, .L307+4
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	type_declare
.L306:
	bl	yytokget
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L308:
	.align	2
.L307:
	.word	yytoktype
	.word	yytext
	.word	.LC91
	.size	parse_type, .-parse_type
	.align	2
	.global	parse_list
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_list, %function
parse_list:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #1
	str	r3, [fp, #-8]
	mov	r0, #123
	bl	yychktype
	bl	yytokget
	b	.L310
.L315:
	ldr	r3, .L317
	ldr	r3, [r3]
	cmp	r3, #123
	bne	.L311
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L311:
	ldr	r3, .L317
	ldr	r3, [r3]
	cmp	r3, #125
	bne	.L312
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
.L312:
	ldr	r3, .L317
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L316
	bl	yytokget
.L310:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L315
	b	.L309
.L316:
	nop
.L309:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L318:
	.align	2
.L317:
	.word	yytoktype
	.size	parse_list, .-parse_list
	.section	.rodata
	.align	2
.LC92:
	.ascii	"CpmInvokable\000"
	.align	2
.LC93:
	.ascii	"static\000"
	.text
	.align	2
	.global	parse_func
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_func, %function
parse_func:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	ldr	r0, .L329
	bl	yychkword
	bl	yytokget
	ldr	r3, .L329+4
	ldr	r3, [r3]
	cmp	r3, #59
	beq	.L327
	ldr	r3, .L329+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L329+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L329+16
	ldr	r3, [r3]
	ldr	r1, .L329+20
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L322
	ldr	r3, .L329+12
	mov	r2, #1
	str	r2, [r3]
	bl	yytokget
.L322:
	mov	r0, #105
	bl	yychktype
	ldr	r3, .L329+16
	ldr	r3, [r3]
	mov	r0, r3
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L329+24
	str	r2, [r3]
	bl	yytokget
	mov	r0, #40
	bl	yychktype
	bl	yytokget
	ldr	r3, .L329+4
	ldr	r3, [r3]
	cmp	r3, #41
	beq	.L323
.L326:
	mov	r0, #105
	bl	yychktype
	ldr	r3, .L329+16
	ldr	r3, [r3]
	ldr	r2, .L329+8
	ldr	r4, [r2]
	mov	r0, r3
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L329+28
	str	r2, [r3, r4, lsl #2]
	ldr	r3, .L329+8
	ldr	r3, [r3]
	ldr	r2, .L329+32
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	bl	yytokget
	ldr	r3, .L329+4
	ldr	r3, [r3]
	cmp	r3, #42
	bne	.L324
	bl	yytokget
	ldr	r3, .L329+8
	ldr	r3, [r3]
	ldr	r2, .L329+32
	mov	r1, #1
	str	r1, [r2, r3, lsl #2]
.L324:
	ldr	r3, .L329+8
	ldr	r3, [r3]
	ldr	r2, .L329+28
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	type_simple
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r2, r3, #255
	ldr	r3, .L329+8
	ldr	r3, [r3]
	mov	r1, r2
	ldr	r2, .L329+36
	str	r1, [r2, r3, lsl #2]
	ldr	r3, .L329+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L329+8
	str	r3, [r2]
	mov	r0, #105
	bl	yychktype
	bl	yytokget
	ldr	r3, .L329+4
	ldr	r3, [r3]
	cmp	r3, #41
	beq	.L328
	mov	r0, #44
	bl	yychktype
	bl	yytokget
	b	.L326
.L328:
	nop
.L323:
	bl	yytokget
	ldr	r3, .L329+40
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L329+40
	str	r2, [r1]
	ldr	r2, .L329+24
	ldr	r2, [r2]
	ldr	r1, .L329+44
	str	r2, [r1, r3, lsl #2]
	bl	gen_func_c
	pop	{r4, r5, fp, pc}
.L327:
	nop
	pop	{r4, r5, fp, pc}
.L330:
	.align	2
.L329:
	.word	.LC92
	.word	yytoktype
	.word	func_len
	.word	func_static
	.word	yytext
	.word	.LC93
	.word	func_name
	.word	func_args
	.word	func_array
	.word	func_pointer
	.word	mod_len
	.word	mod_funcs
	.size	parse_func, .-parse_func
	.align	2
	.global	parse_all
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_all, %function
parse_all:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L340
	ldr	r3, [r3]
	ldr	r2, .L340+4
	str	r3, [r2]
	bl	yytokget
	bl	gen_mod_head
.L332:
	ldr	r3, .L340+8
	ldr	r3, [r3]
	cmp	r3, #123
	beq	.L333
	cmp	r3, #123
	bgt	.L334
	cmp	r3, #83
	beq	.L335
	cmp	r3, #83
	bgt	.L334
	cmp	r3, #80
	beq	.L336
	cmp	r3, #80
	bgt	.L334
	cmp	r3, #0
	beq	.L337
	cmp	r3, #73
	beq	.L338
	b	.L334
.L337:
	bl	gen_mod_tail
	pop	{fp, pc}
.L336:
	bl	parse_type
	b	.L332
.L335:
	bl	parse_type
	b	.L332
.L338:
	bl	parse_func
	b	.L332
.L333:
	bl	parse_list
	b	.L332
.L334:
	bl	yytokget
	b	.L332
.L341:
	.align	2
.L340:
	.word	file_src
	.word	yyin
	.word	yytoktype
	.size	parse_all, .-parse_all
	.section	.rodata
	.align	2
.LC94:
	.ascii	"usage: cpm <modulename>\012\000"
	.text
	.align	2
	.global	usage
	.syntax unified
	.arm
	.fpu softvfp
	.type	usage, %function
usage:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L343
	ldr	r3, [r3]
	mov	r2, #24
	mov	r1, #1
	ldr	r0, .L343+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L344:
	.align	2
.L343:
	.word	stderr
	.word	.LC94
	.size	usage, .-usage
	.section	.rodata
	.align	2
.LC95:
	.ascii	"Couldn't open %s with mode %s\012\000"
	.text
	.align	2
	.global	fopen_nofail
	.syntax unified
	.arm
	.fpu softvfp
	.type	fopen_nofail, %function
fopen_nofail:
	@ 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]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	fopen
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L346
	ldr	r3, .L348
	ldr	r0, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r1, .L348+4
	bl	fprintf
	mov	r0, #1
	bl	exit
.L346:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L349:
	.align	2
.L348:
	.word	stderr
	.word	.LC95
	.size	fopen_nofail, .-fopen_nofail
	.section	.rodata
	.align	2
.LC96:
	.ascii	"/* WARNING: This file generated by Converse */\012\000"
	.align	2
.LC97:
	.ascii	"/* Marshalling System from source-file %s. */\012\000"
	.text
	.align	2
	.global	disclaim
	.syntax unified
	.arm
	.fpu softvfp
	.type	disclaim, %function
disclaim:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	mov	r2, #47
	mov	r1, #1
	ldr	r0, .L351
	bl	fwrite
	ldr	r2, [fp, #-12]
	ldr	r1, .L351+4
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r1, [fp, #-8]
	mov	r0, #10
	bl	fputc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L352:
	.align	2
.L351:
	.word	.LC96
	.word	.LC97
	.size	disclaim, .-disclaim
	.section	.rodata
	.align	2
.LC98:
	.ascii	"r\000"
	.align	2
.LC99:
	.ascii	"w\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	beq	.L354
	bl	usage
.L354:
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L355
	mov	r0, r3
	bl	fopen_nofail
	mov	r3, r0
	ldr	r2, .L355+4
	str	r3, [r2]
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r1, .L355+8
	mov	r0, r3
	bl	fopen_nofail
	mov	r3, r0
	ldr	r2, .L355+12
	str	r3, [r2]
	ldr	r3, .L355+12
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	disclaim
	bl	parse_all
	mov	r0, #0
	bl	exit
.L356:
	.align	2
.L355:
	.word	.LC98
	.word	file_src
	.word	.LC99
	.word	file_cpm
	.size	main, .-main
	.data
	.align	2
	.type	_xpg.5484, %object
	.size	_xpg.5484, 4
_xpg.5484:
	.word	-1
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
