	.file	"9511986.c"
	.intel_syntax noprefix
	.text
	.globl	unicode_attributes
	.bss
	.align 32
	.type	unicode_attributes, @object
	.size	unicode_attributes, 115867648
unicode_attributes:
	.zero	115867648
	.section	.rodata
.LC0:
	.string	"index too large\n"
.LC1:
	.string	"Cs"
.LC2:
	.string	""
	.text
	.type	fill_attribute, @function
fill_attribute:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	cmp	DWORD PTR -20[rbp], 1114111
	jbe	.L2
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 16
	mov	esi, 1
	lea	rdi, .LC0[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L2:
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L29
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	lea	rdx, unicode_attributes[rip]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L5
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rdx, rax
	jmp	.L6
.L5:
	lea	rdx, .LC2[rip]
.L6:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L7
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rdx, rax
	jmp	.L8
.L7:
	lea	rdx, .LC2[rip]
.L8:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L9
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rdx, rax
	jmp	.L10
.L9:
	lea	rdx, .LC2[rip]
.L10:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L11
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rdx, rax
	jmp	.L12
.L11:
	lea	rdx, .LC2[rip]
.L12:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR 16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L13
	mov	rdi, QWORD PTR 16[rbp]
	call	strdup@PLT
	mov	rdx, rax
	jmp	.L14
.L13:
	lea	rdx, .LC2[rip]
.L14:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR 24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L15
	mov	rax, QWORD PTR 24[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rdx, rax
	jmp	.L16
.L15:
	lea	rdx, .LC2[rip]
.L16:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR 32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L17
	mov	rax, QWORD PTR 32[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rdx, rax
	jmp	.L18
.L17:
	lea	rdx, .LC2[rip]
.L18:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR 40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 89
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR 48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L19
	mov	rax, QWORD PTR 48[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rdx, rax
	jmp	.L20
.L19:
	lea	rdx, .LC2[rip]
.L20:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR 56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L21
	mov	rax, QWORD PTR 56[rbp]
	mov	rdi, rax
	call	strdup@PLT
	mov	rdx, rax
	jmp	.L22
.L21:
	lea	rdx, .LC2[rip]
.L22:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 80[rax], rdx
	mov	rax, QWORD PTR 64[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L23
	mov	rax, QWORD PTR 64[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	strtoul@PLT
	mov	edx, eax
	jmp	.L24
.L23:
	mov	edx, -1
.L24:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 88[rax], edx
	mov	rax, QWORD PTR 72[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L25
	mov	rax, QWORD PTR 72[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	strtoul@PLT
	mov	edx, eax
	jmp	.L26
.L25:
	mov	edx, -1
.L26:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 92[rax], edx
	mov	rax, QWORD PTR 80[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L27
	mov	rax, QWORD PTR 80[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	strtoul@PLT
	mov	edx, eax
	jmp	.L28
.L27:
	mov	edx, -1
.L28:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 96[rax], edx
	jmp	.L1
.L29:
	nop
.L1:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	fill_attribute, .-fill_attribute
	.section	.rodata
.LC3:
	.string	"field too long\n"
	.text
	.type	getfield, @function
getfield:
.LFB7:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -8[rbp], 0
	jmp	.L31
.L36:
	cmp	DWORD PTR -4[rbp], 13
	jne	.L32
	jmp	.L31
.L32:
	add	DWORD PTR -8[rbp], 1
	cmp	DWORD PTR -8[rbp], 118
	jle	.L33
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 15
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L33:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	edx, DWORD PTR -4[rbp]
	mov	BYTE PTR [rax], dl
.L31:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	getc@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	je	.L34
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	je	.L34
	mov	eax, 1
	jmp	.L35
.L34:
	mov	eax, 0
.L35:
	test	eax, eax
	jne	.L36
	cmp	DWORD PTR -4[rbp], -1
	jne	.L37
	mov	eax, 0
	jmp	.L38
.L37:
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, 1
.L38:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	getfield, .-getfield
	.section	.rodata
.LC4:
	.string	"r"
.LC5:
	.string	"error during fopen of '%s'\n"
.LC6:
	.string	"short line in'%s':%d\n"
.LC7:
	.string	", First>"
.LC8:
	.string	"missing end range in '%s':%d\n"
.LC9:
	.string	", Last>"
.LC10:
	.string	"error reading from '%s'\n"
	.text
	.type	fill_attributes, @function
fill_attributes:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1968
	mov	QWORD PTR -1960[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1940[rbp], 0
	mov	DWORD PTR -1944[rbp], 0
	jmp	.L40
.L41:
	mov	edx, DWORD PTR -1944[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	QWORD PTR [rdx+rax], 0
	add	DWORD PTR -1944[rbp], 1
.L40:
	cmp	DWORD PTR -1944[rbp], 1114111
	jbe	.L41
	mov	rax, QWORD PTR -1960[rbp]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -1928[rbp], rax
	cmp	QWORD PTR -1928[rbp], 0
	jne	.L42
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -1960[rbp]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L42:
	add	DWORD PTR -1940[rbp], 1
	lea	rcx, -1920[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	mov	DWORD PTR -1936[rbp], eax
	lea	rcx, -1792[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1664[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1536[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1408[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1280[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1152[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1024[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -896[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -768[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -640[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -512[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -384[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -256[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -128[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	cmp	DWORD PTR -1936[rbp], 0
	je	.L57
	cmp	DWORD PTR -1936[rbp], 15
	je	.L45
	mov	rax, QWORD PTR stderr[rip]
	mov	ecx, DWORD PTR -1940[rbp]
	mov	rdx, QWORD PTR -1960[rbp]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L45:
	lea	rax, -1920[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	strtoul@PLT
	mov	DWORD PTR -1944[rbp], eax
	movzx	eax, BYTE PTR -1792[rbp]
	cmp	al, 60
	jne	.L46
	lea	rax, -1792[rbp]
	mov	rdi, rax
	call	strlen@PLT
	cmp	rax, 8
	jbe	.L46
	lea	rax, -1792[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -8[rax]
	lea	rax, -1792[rbp]
	add	rax, rdx
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L46
	add	DWORD PTR -1940[rbp], 1
	lea	rcx, -1920[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	mov	DWORD PTR -1936[rbp], eax
	lea	rcx, -1792[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1664[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1536[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1408[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1280[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1152[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -1024[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -896[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -768[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -640[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -512[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -384[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -256[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 59
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	lea	rcx, -128[rbp]
	mov	rax, QWORD PTR -1928[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	getfield
	add	DWORD PTR -1936[rbp], eax
	cmp	DWORD PTR -1936[rbp], 15
	je	.L47
	mov	rax, QWORD PTR stderr[rip]
	mov	ecx, DWORD PTR -1940[rbp]
	mov	rdx, QWORD PTR -1960[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L47:
	movzx	eax, BYTE PTR -1792[rbp]
	cmp	al, 60
	jne	.L48
	lea	rax, -1792[rbp]
	mov	rdi, rax
	call	strlen@PLT
	cmp	rax, 7
	jbe	.L48
	lea	rax, -1792[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -7[rax]
	lea	rax, -1792[rbp]
	add	rax, rdx
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L49
.L48:
	mov	rax, QWORD PTR stderr[rip]
	mov	ecx, DWORD PTR -1940[rbp]
	mov	rdx, QWORD PTR -1960[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L49:
	lea	rax, -1792[rbp]
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 7
	mov	BYTE PTR -1792[rbp+rax], 0
	lea	rax, -1920[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	strtoul@PLT
	mov	DWORD PTR -1932[rbp], eax
	jmp	.L50
.L51:
	lea	rax, -1792[rbp]
	add	rax, 1
	lea	r9, -1280[rbp]
	lea	r8, -1408[rbp]
	lea	rcx, -1536[rbp]
	lea	rdx, -1664[rbp]
	mov	edi, DWORD PTR -1944[rbp]
	sub	rsp, 8
	lea	rsi, -128[rbp]
	push	rsi
	lea	rsi, -256[rbp]
	push	rsi
	lea	rsi, -384[rbp]
	push	rsi
	lea	rsi, -512[rbp]
	push	rsi
	lea	rsi, -640[rbp]
	push	rsi
	lea	rsi, -768[rbp]
	push	rsi
	lea	rsi, -896[rbp]
	push	rsi
	lea	rsi, -1024[rbp]
	push	rsi
	lea	rsi, -1152[rbp]
	push	rsi
	mov	rsi, rax
	call	fill_attribute
	add	rsp, 80
	add	DWORD PTR -1944[rbp], 1
.L50:
	mov	eax, DWORD PTR -1944[rbp]
	cmp	eax, DWORD PTR -1932[rbp]
	jbe	.L51
	jmp	.L52
.L46:
	lea	r9, -1280[rbp]
	lea	r8, -1408[rbp]
	lea	rcx, -1536[rbp]
	lea	rdx, -1664[rbp]
	lea	rsi, -1792[rbp]
	mov	eax, DWORD PTR -1944[rbp]
	sub	rsp, 8
	lea	rdi, -128[rbp]
	push	rdi
	lea	rdi, -256[rbp]
	push	rdi
	lea	rdi, -384[rbp]
	push	rdi
	lea	rdi, -512[rbp]
	push	rdi
	lea	rdi, -640[rbp]
	push	rdi
	lea	rdi, -768[rbp]
	push	rdi
	lea	rdi, -896[rbp]
	push	rdi
	lea	rdi, -1024[rbp]
	push	rdi
	lea	rdi, -1152[rbp]
	push	rdi
	mov	edi, eax
	call	fill_attribute
	add	rsp, 80
.L52:
	jmp	.L42
.L57:
	nop
	mov	rax, QWORD PTR -1928[rbp]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	jne	.L53
	mov	rax, QWORD PTR -1928[rbp]
	mov	rdi, rax
	call	fclose@PLT
	test	eax, eax
	je	.L58
.L53:
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -1960[rbp]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L58:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L55
	call	__stack_chk_fail@PLT
.L55:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	fill_attributes, .-fill_attributes
	.type	to_upper, @function
to_upper:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L60
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+88]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	je	.L60
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+88]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L61
.L60:
	mov	eax, DWORD PTR -4[rbp]
.L61:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	to_upper, .-to_upper
	.type	to_lower, @function
to_lower:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L63
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+92]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	je	.L63
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+92]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L64
.L63:
	mov	eax, DWORD PTR -4[rbp]
.L64:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	to_lower, .-to_lower
	.type	to_title, @function
to_title:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L66
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+96]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	je	.L66
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+96]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L67
.L66:
	mov	eax, DWORD PTR -4[rbp]
.L67:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	to_title, .-to_title
	.type	is_upper, @function
is_upper:
.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, 8
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	to_lower
	cmp	DWORD PTR -4[rbp], eax
	setne	al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	is_upper, .-is_upper
	.type	is_lower, @function
is_lower:
.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, 8
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	to_upper
	cmp	DWORD PTR -4[rbp], eax
	jne	.L71
	cmp	DWORD PTR -4[rbp], 223
	jne	.L72
.L71:
	mov	eax, 1
	jmp	.L73
.L72:
	mov	eax, 0
.L73:
	and	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	is_lower, .-is_lower
	.section	.rodata
.LC11:
	.string	" LETTER "
	.text
	.type	is_alpha, @function
is_alpha:
.LFB14:
	.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	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L76
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 76
	jne	.L77
	cmp	DWORD PTR -4[rbp], 3631
	je	.L77
	cmp	DWORD PTR -4[rbp], 3654
	jne	.L78
.L77:
	cmp	DWORD PTR -4[rbp], 3633
	je	.L78
	cmp	DWORD PTR -4[rbp], 3635
	jbe	.L79
	cmp	DWORD PTR -4[rbp], 3642
	jbe	.L78
.L79:
	cmp	DWORD PTR -4[rbp], 3654
	jbe	.L80
	cmp	DWORD PTR -4[rbp], 3662
	jbe	.L78
.L80:
	cmp	DWORD PTR -4[rbp], 837
	je	.L78
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 78
	jne	.L81
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 108
	je	.L78
.L81:
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 83
	jne	.L82
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 111
	jne	.L82
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	strstr@PLT
	test	rax, rax
	jne	.L78
.L82:
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 78
	jne	.L76
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 100
	jne	.L76
	cmp	DWORD PTR -4[rbp], 47
	jbe	.L78
	cmp	DWORD PTR -4[rbp], 57
	jbe	.L76
.L78:
	mov	eax, 1
	jmp	.L83
.L76:
	mov	eax, 0
.L83:
	and	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	is_alpha, .-is_alpha
	.type	is_digit, @function
is_digit:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 47
	jbe	.L86
	cmp	DWORD PTR -4[rbp], 57
	ja	.L86
	mov	eax, 1
	jmp	.L87
.L86:
	mov	eax, 0
.L87:
	and	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	is_digit, .-is_digit
	.type	is_outdigit, @function
is_outdigit:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 47
	jbe	.L90
	cmp	DWORD PTR -4[rbp], 57
	ja	.L90
	mov	eax, 1
	jmp	.L91
.L90:
	mov	eax, 0
.L91:
	and	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	is_outdigit, .-is_outdigit
	.section	.rodata
.LC12:
	.string	"<noBreak>"
	.text
	.type	is_blank, @function
is_blank:
.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	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 9
	je	.L94
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L95
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jne	.L95
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 115
	jne	.L95
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+32]
	mov	rax, QWORD PTR [rdx+rax]
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	strstr@PLT
	test	rax, rax
	jne	.L95
.L94:
	mov	eax, 1
	jmp	.L96
.L95:
	mov	eax, 0
.L96:
	and	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	is_blank, .-is_blank
	.type	is_space, @function
is_space:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 32
	je	.L99
	cmp	DWORD PTR -4[rbp], 12
	je	.L99
	cmp	DWORD PTR -4[rbp], 10
	je	.L99
	cmp	DWORD PTR -4[rbp], 13
	je	.L99
	cmp	DWORD PTR -4[rbp], 9
	je	.L99
	cmp	DWORD PTR -4[rbp], 11
	je	.L99
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L100
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jne	.L100
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 108
	je	.L99
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 112
	je	.L99
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 115
	jne	.L100
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+32]
	mov	rax, QWORD PTR [rdx+rax]
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	strstr@PLT
	test	rax, rax
	jne	.L100
.L99:
	mov	eax, 1
	jmp	.L101
.L100:
	mov	eax, 0
.L101:
	and	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	is_space, .-is_space
	.section	.rodata
.LC13:
	.string	"<control>"
	.text
	.type	is_cntrl, @function
is_cntrl:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L104
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L105
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jne	.L104
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 108
	je	.L105
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 112
	jne	.L104
.L105:
	mov	eax, 1
	jmp	.L106
.L104:
	mov	eax, 0
.L106:
	and	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	is_cntrl, .-is_cntrl
	.type	is_xdigit, @function
is_xdigit:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 47
	jbe	.L109
	cmp	DWORD PTR -4[rbp], 57
	jbe	.L110
.L109:
	cmp	DWORD PTR -4[rbp], 64
	jbe	.L111
	cmp	DWORD PTR -4[rbp], 70
	jbe	.L110
.L111:
	cmp	DWORD PTR -4[rbp], 96
	jbe	.L112
	cmp	DWORD PTR -4[rbp], 102
	ja	.L112
.L110:
	mov	eax, 1
	jmp	.L113
.L112:
	mov	eax, 0
.L113:
	and	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	is_xdigit, .-is_xdigit
	.type	is_graph, @function
is_graph:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L116
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L116
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	is_space
	xor	eax, 1
	test	al, al
	je	.L116
	mov	eax, 1
	jmp	.L117
.L116:
	mov	eax, 0
.L117:
	and	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	is_graph, .-is_graph
	.type	is_print, @function
is_print:
.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	DWORD PTR -4[rbp], edi
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L120
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L120
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L121
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 90
	jne	.L121
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 108
	je	.L120
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 112
	je	.L120
.L121:
	mov	eax, 1
	jmp	.L122
.L120:
	mov	eax, 0
.L122:
	and	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	is_print, .-is_print
	.type	is_punct, @function
is_punct:
.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	edi, eax
	call	is_graph
	test	al, al
	je	.L125
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	is_alpha
	xor	eax, 1
	test	al, al
	je	.L125
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	is_digit
	xor	eax, 1
	test	al, al
	je	.L125
	mov	eax, 1
	jmp	.L126
.L125:
	mov	eax, 0
.L126:
	and	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	is_punct, .-is_punct
	.type	is_combining, @function
is_combining:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L129
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 77
	jne	.L129
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 110
	je	.L130
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 99
	je	.L130
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 101
	jne	.L129
.L130:
	mov	eax, 1
	jmp	.L131
.L129:
	mov	eax, 0
.L131:
	and	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	is_combining, .-is_combining
	.type	is_combining_level3, @function
is_combining_level3:
.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	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	is_combining
	test	al, al
	je	.L134
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L135
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 48
	je	.L135
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, unicode_attributes[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	mov	edx, 10
	mov	esi, 0
	mov	rdi, rax
	call	strtoul@PLT
	cmp	rax, 199
	ja	.L134
.L135:
	mov	eax, 1
	jmp	.L136
.L134:
	mov	eax, 0
.L136:
	and	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	is_combining_level3, .-is_combining_level3
	.section	.rodata
.LC14:
	.string	"<U%04X>"
.LC15:
	.string	"<U%08X>"
	.text
	.type	ucs_symbol, @function
ucs_symbol:
.LFB26:
	.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
	cmp	DWORD PTR -4[rbp], 65535
	ja	.L139
	lea	rax, .LC14[rip]
	jmp	.L140
.L139:
	lea	rax, .LC15[rip]
.L140:
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rax
	lea	rdi, buf.1[rip]
	mov	eax, 0
	call	sprintf@PLT
	lea	rax, buf.1[rip]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	ucs_symbol, .-ucs_symbol
	.type	ucs_symbol_range, @function
ucs_symbol_range:
.LFB27:
	.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	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rsi, rax
	lea	rdi, buf.0[rip]
	call	strcpy@PLT
	lea	rdi, buf.0[rip]
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, buf.0[rip]
	add	rax, rdx
	mov	WORD PTR [rax], 11822
	mov	BYTE PTR 2[rax], 0
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rsi, rax
	lea	rdi, buf.0[rip]
	call	strcat@PLT
	lea	rax, buf.0[rip]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	ucs_symbol_range, .-ucs_symbol_range
	.section	.rodata
.LC16:
	.string	"%s "
.LC17:
	.string	"/\n   "
	.text
	.type	output_charclass, @function
output_charclass:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	lea	r11, -1114112[rsp]
.LPSRL0:
	sub	rsp, 4096
	or	DWORD PTR [rsp], 0
	cmp	rsp, r11
	jne	.LPSRL0
	sub	rsp, 120
	.cfi_offset 3, -24
	mov	QWORD PTR -1114216[rbp], rdi
	mov	QWORD PTR -1114224[rbp], rsi
	mov	QWORD PTR -1114232[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1114188[rbp], 75
	mov	DWORD PTR -1114196[rbp], 0
	jmp	.L145
.L146:
	mov	eax, DWORD PTR -1114196[rbp]
	mov	rdx, QWORD PTR -1114232[rbp]
	mov	edi, eax
	call	rdx
	mov	edx, eax
	mov	eax, DWORD PTR -1114196[rbp]
	mov	BYTE PTR -1114144[rbp+rax], dl
	add	DWORD PTR -1114196[rbp], 1
.L145:
	cmp	DWORD PTR -1114196[rbp], 1114111
	jbe	.L146
	mov	rdx, QWORD PTR -1114224[rbp]
	mov	rax, QWORD PTR -1114216[rbp]
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	BYTE PTR -1114197[rbp], 0
	mov	DWORD PTR -1114192[rbp], 1000
	mov	DWORD PTR -1114196[rbp], 0
	jmp	.L147
.L155:
	mov	eax, DWORD PTR -1114196[rbp]
	movzx	eax, BYTE PTR -1114144[rbp+rax]
	test	al, al
	jne	.L148
	add	DWORD PTR -1114196[rbp], 1
	jmp	.L147
.L148:
	mov	eax, DWORD PTR -1114196[rbp]
	mov	DWORD PTR -1114184[rbp], eax
.L150:
	add	DWORD PTR -1114196[rbp], 1
	cmp	DWORD PTR -1114196[rbp], 1114111
	ja	.L149
	mov	eax, DWORD PTR -1114196[rbp]
	movzx	eax, BYTE PTR -1114144[rbp+rax]
	test	al, al
	jne	.L150
.L149:
	mov	eax, DWORD PTR -1114196[rbp]
	sub	eax, 1
	mov	DWORD PTR -1114180[rbp], eax
	mov	eax, DWORD PTR -1114184[rbp]
	cmp	eax, DWORD PTR -1114180[rbp]
	jne	.L151
	mov	eax, DWORD PTR -1114184[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	lea	rax, -1114176[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	jmp	.L152
.L151:
	mov	edx, DWORD PTR -1114180[rbp]
	mov	eax, DWORD PTR -1114184[rbp]
	mov	esi, edx
	mov	edi, eax
	call	ucs_symbol_range
	mov	rdx, rax
	lea	rax, -1114176[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
.L152:
	cmp	BYTE PTR -1114197[rbp], 0
	je	.L153
	mov	rax, QWORD PTR -1114216[rbp]
	mov	rsi, rax
	mov	edi, 59
	call	fputc@PLT
	add	DWORD PTR -1114192[rbp], 1
.L153:
	mov	eax, DWORD PTR -1114192[rbp]
	movsx	rbx, eax
	lea	rax, -1114176[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, [rbx+rax]
	mov	eax, DWORD PTR -1114188[rbp]
	cdqe
	cmp	rdx, rax
	jbe	.L154
	mov	rax, QWORD PTR -1114216[rbp]
	mov	rcx, rax
	mov	edx, 5
	mov	esi, 1
	lea	rdi, .LC17[rip]
	call	fwrite@PLT
	mov	DWORD PTR -1114192[rbp], 3
.L154:
	mov	rdx, QWORD PTR -1114216[rbp]
	lea	rax, -1114176[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	lea	rax, -1114176[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR -1114192[rbp]
	add	eax, edx
	mov	DWORD PTR -1114192[rbp], eax
	mov	BYTE PTR -1114197[rbp], 1
.L147:
	cmp	DWORD PTR -1114196[rbp], 1114111
	jbe	.L155
	mov	rax, QWORD PTR -1114216[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L156
	call	__stack_chk_fail@PLT
.L156:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	output_charclass, .-output_charclass
	.type	output_charmap, @function
output_charmap:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	lea	r11, -1114112[rsp]
.LPSRL1:
	sub	rsp, 4096
	or	DWORD PTR [rsp], 0
	cmp	rsp, r11
	jne	.LPSRL1
	sub	rsp, 104
	.cfi_offset 3, -24
	mov	QWORD PTR -1114200[rbp], rdi
	mov	QWORD PTR -1114208[rbp], rsi
	mov	QWORD PTR -1114216[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1114180[rbp], 75
	mov	DWORD PTR -1114188[rbp], 0
	jmp	.L158
.L159:
	mov	eax, DWORD PTR -1114188[rbp]
	mov	rdx, QWORD PTR -1114216[rbp]
	mov	edi, eax
	call	rdx
	cmp	DWORD PTR -1114188[rbp], eax
	setne	al
	mov	edx, eax
	mov	eax, DWORD PTR -1114188[rbp]
	mov	BYTE PTR -1114144[rbp+rax], dl
	add	DWORD PTR -1114188[rbp], 1
.L158:
	cmp	DWORD PTR -1114188[rbp], 1114111
	jbe	.L159
	mov	rdx, QWORD PTR -1114208[rbp]
	mov	rax, QWORD PTR -1114200[rbp]
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	BYTE PTR -1114189[rbp], 0
	mov	DWORD PTR -1114184[rbp], 1000
	mov	DWORD PTR -1114188[rbp], 0
	jmp	.L160
.L164:
	mov	eax, DWORD PTR -1114188[rbp]
	movzx	eax, BYTE PTR -1114144[rbp+rax]
	test	al, al
	je	.L161
	lea	rax, -1114176[rbp]
	mov	WORD PTR [rax], 40
	mov	eax, DWORD PTR -1114188[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	lea	rax, -1114176[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcat@PLT
	lea	rax, -1114176[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -1114176[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 44
	mov	eax, DWORD PTR -1114188[rbp]
	mov	rdx, QWORD PTR -1114216[rbp]
	mov	edi, eax
	call	rdx
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	lea	rax, -1114176[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcat@PLT
	lea	rax, -1114176[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -1114176[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 41
	cmp	BYTE PTR -1114189[rbp], 0
	je	.L162
	mov	rax, QWORD PTR -1114200[rbp]
	mov	rsi, rax
	mov	edi, 59
	call	fputc@PLT
	add	DWORD PTR -1114184[rbp], 1
.L162:
	mov	eax, DWORD PTR -1114184[rbp]
	movsx	rbx, eax
	lea	rax, -1114176[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, [rbx+rax]
	mov	eax, DWORD PTR -1114180[rbp]
	cdqe
	cmp	rdx, rax
	jbe	.L163
	mov	rax, QWORD PTR -1114200[rbp]
	mov	rcx, rax
	mov	edx, 5
	mov	esi, 1
	lea	rdi, .LC17[rip]
	call	fwrite@PLT
	mov	DWORD PTR -1114184[rbp], 3
.L163:
	mov	rdx, QWORD PTR -1114200[rbp]
	lea	rax, -1114176[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	lea	rax, -1114176[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	eax, DWORD PTR -1114184[rbp]
	add	eax, edx
	mov	DWORD PTR -1114184[rbp], eax
	mov	BYTE PTR -1114189[rbp], 1
.L161:
	add	DWORD PTR -1114188[rbp], 1
.L160:
	cmp	DWORD PTR -1114188[rbp], 1114111
	jbe	.L164
	mov	rax, QWORD PTR -1114200[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L165
	call	__stack_chk_fail@PLT
.L165:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	output_charmap, .-output_charmap
	.type	output_widthmap, @function
output_widthmap:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	output_widthmap, .-output_widthmap
	.section	.rodata
.LC18:
	.string	"w"
.LC19:
	.string	"cannot open '%s' for writing\n"
.LC20:
	.string	"escape_char /\n"
.LC21:
	.string	"comment_char %%\n"
	.align 8
.LC22:
	.string	"%% Generated automatically by gen-unicode-ctype for Unicode %s.\n"
.LC23:
	.string	"LC_IDENTIFICATION\n"
	.align 8
.LC24:
	.string	"title     \"Unicode %s FDCC-set\"\n"
	.align 8
.LC25:
	.string	"source    \"UnicodeData.txt, PropList.txt\"\n"
.LC26:
	.string	"address   \"\"\n"
.LC27:
	.string	"contact   \"\"\n"
	.align 8
.LC28:
	.string	"email     \"bug-glibc-locales@gnu.org\"\n"
.LC29:
	.string	"tel       \"\"\n"
.LC30:
	.string	"fax       \"\"\n"
.LC31:
	.string	"language  \"\"\n"
.LC32:
	.string	"territory \"Earth\"\n"
.LC33:
	.string	"revision  \"%s\"\n"
.LC34:
	.string	"%Y-%m-%d"
.LC35:
	.string	"date      \"%s\"\n"
	.align 8
.LC36:
	.string	"category  \"unicode:2001\";LC_CTYPE\n"
.LC37:
	.string	"END LC_IDENTIFICATION\n"
	.align 8
.LC38:
	.string	"%s is not upper|lower but toupper(0x%04X) = 0x%04X\n"
	.align 8
.LC39:
	.string	"%s is not upper|lower but tolower(0x%04X) = 0x%04X\n"
	.align 8
.LC40:
	.string	"%s is upper|lower but not alpha\n"
.LC41:
	.string	"%s is alpha and cntrl\n"
.LC42:
	.string	"%s is alpha and digit\n"
.LC43:
	.string	"%s is alpha and punct\n"
.LC44:
	.string	"%s is alpha and space\n"
.LC45:
	.string	"%s is space and digit\n"
.LC46:
	.string	"%s is space and graph\n"
.LC47:
	.string	"%s is space and xdigit\n"
.LC48:
	.string	"%s is cntrl and digit\n"
.LC49:
	.string	"%s is cntrl and punct\n"
.LC50:
	.string	"%s is cntrl and graph\n"
.LC51:
	.string	"%s is cntrl and print\n"
.LC52:
	.string	"%s is cntrl and xdigit\n"
.LC53:
	.string	"%s is punct and digit\n"
.LC54:
	.string	"%s is punct and xdigit\n"
.LC55:
	.string	"%s is punct\n"
	.align 8
.LC56:
	.string	"%s is print but not graph|<space>\n"
	.align 8
.LC57:
	.string	"%s is graph|<space> but not print\n"
.LC58:
	.string	"LC_CTYPE\n"
.LC59:
	.string	"upper"
.LC60:
	.string	"lower"
.LC61:
	.string	"alpha"
.LC62:
	.string	"digit"
.LC63:
	.string	"outdigit"
.LC64:
	.string	"blank"
.LC65:
	.string	"space"
.LC66:
	.string	"cntrl"
.LC67:
	.string	"punct"
.LC68:
	.string	"xdigit"
.LC69:
	.string	"graph"
.LC70:
	.string	"print"
.LC71:
	.string	"class \"combining\";"
.LC72:
	.string	"class \"combining_level3\";"
.LC73:
	.string	"toupper"
.LC74:
	.string	"tolower"
.LC75:
	.string	"map \"totitle\";"
.LC76:
	.string	"END LC_CTYPE\n"
.LC77:
	.string	"error writing to '%s'\n"
	.text
	.type	output_tables, @function
output_tables:
.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, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L168
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -72[rbp]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L168:
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC20[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC21[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 18
	mov	esi, 1
	lea	rdi, .LC23[rip]
	call	fwrite@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 42
	mov	esi, 1
	lea	rdi, .LC25[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC26[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC27[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 38
	mov	esi, 1
	lea	rdi, .LC28[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC29[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC30[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC31[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 18
	mov	esi, 1
	lea	rdi, .LC32[rip]
	call	fwrite@PLT
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -56[rbp], rax
	lea	rax, -56[rbp]
	mov	rdi, rax
	call	gmtime@PLT
	mov	rdx, rax
	lea	rax, -35[rbp]
	mov	rcx, rdx
	lea	rdx, .LC34[rip]
	mov	esi, 11
	mov	rdi, rax
	call	strftime@PLT
	lea	rdx, -35[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC35[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 34
	mov	esi, 1
	lea	rdi, .LC36[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 22
	mov	esi, 1
	lea	rdi, .LC37[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	DWORD PTR -60[rbp], 0
	jmp	.L169
.L192:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	to_upper
	cmp	DWORD PTR -60[rbp], eax
	je	.L170
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_lower
	xor	eax, 1
	test	al, al
	je	.L170
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_upper
	xor	eax, 1
	test	al, al
	je	.L170
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	to_upper
	mov	ebx, eax
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rsi, rax
	mov	rax, QWORD PTR stderr[rip]
	mov	edx, DWORD PTR -60[rbp]
	mov	r8d, ebx
	mov	ecx, edx
	mov	rdx, rsi
	lea	rsi, .LC38[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L170:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	to_lower
	cmp	DWORD PTR -60[rbp], eax
	je	.L171
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_lower
	xor	eax, 1
	test	al, al
	je	.L171
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_upper
	xor	eax, 1
	test	al, al
	je	.L171
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	to_lower
	mov	ebx, eax
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rsi, rax
	mov	rax, QWORD PTR stderr[rip]
	mov	edx, DWORD PTR -60[rbp]
	mov	r8d, ebx
	mov	ecx, edx
	mov	rdx, rsi
	lea	rsi, .LC39[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L171:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_lower
	test	al, al
	jne	.L172
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_upper
	test	al, al
	je	.L173
.L172:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_alpha
	xor	eax, 1
	test	al, al
	je	.L173
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC40[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L173:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_alpha
	test	al, al
	je	.L174
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_cntrl
	test	al, al
	je	.L174
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC41[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L174:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_alpha
	test	al, al
	je	.L175
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_digit
	test	al, al
	je	.L175
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC42[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L175:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_alpha
	test	al, al
	je	.L176
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_punct
	test	al, al
	je	.L176
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC43[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L176:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_alpha
	test	al, al
	je	.L177
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_space
	test	al, al
	je	.L177
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC44[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L177:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_space
	test	al, al
	je	.L178
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_digit
	test	al, al
	je	.L178
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC45[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L178:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_space
	test	al, al
	je	.L179
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_graph
	test	al, al
	je	.L179
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC46[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L179:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_space
	test	al, al
	je	.L180
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_xdigit
	test	al, al
	je	.L180
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC47[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L180:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_cntrl
	test	al, al
	je	.L181
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_digit
	test	al, al
	je	.L181
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L181:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_cntrl
	test	al, al
	je	.L182
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_punct
	test	al, al
	je	.L182
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L182:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_cntrl
	test	al, al
	je	.L183
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_graph
	test	al, al
	je	.L183
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC50[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L183:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_cntrl
	test	al, al
	je	.L184
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_print
	test	al, al
	je	.L184
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC51[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L184:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_cntrl
	test	al, al
	je	.L185
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_xdigit
	test	al, al
	je	.L185
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC52[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L185:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_punct
	test	al, al
	je	.L186
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_digit
	test	al, al
	je	.L186
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC53[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L186:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_punct
	test	al, al
	je	.L187
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_xdigit
	test	al, al
	je	.L187
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC54[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L187:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_punct
	test	al, al
	je	.L188
	cmp	DWORD PTR -60[rbp], 32
	jne	.L188
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC55[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L188:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_print
	test	al, al
	je	.L189
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_graph
	xor	eax, 1
	test	al, al
	je	.L189
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_space
	xor	eax, 1
	test	al, al
	je	.L189
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC56[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L189:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_print
	xor	eax, 1
	test	al, al
	je	.L190
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	is_graph
	test	al, al
	jne	.L191
	cmp	DWORD PTR -60[rbp], 32
	jne	.L190
.L191:
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	ucs_symbol
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC57[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L190:
	add	DWORD PTR -60[rbp], 1
.L169:
	cmp	DWORD PTR -60[rbp], 1114111
	jbe	.L192
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 9
	mov	esi, 1
	lea	rdi, .LC58[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_upper[rip]
	lea	rsi, .LC59[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_lower[rip]
	lea	rsi, .LC60[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_alpha[rip]
	lea	rsi, .LC61[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_digit[rip]
	lea	rsi, .LC62[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_outdigit[rip]
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_blank[rip]
	lea	rsi, .LC64[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_space[rip]
	lea	rsi, .LC65[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_cntrl[rip]
	lea	rsi, .LC66[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_punct[rip]
	lea	rsi, .LC67[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_xdigit[rip]
	lea	rsi, .LC68[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_graph[rip]
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_print[rip]
	lea	rsi, .LC70[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_combining[rip]
	lea	rsi, .LC71[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, is_combining_level3[rip]
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	call	output_charclass
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, to_upper[rip]
	lea	rsi, .LC73[rip]
	mov	rdi, rax
	call	output_charmap
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, to_lower[rip]
	lea	rsi, .LC74[rip]
	mov	rdi, rax
	call	output_charmap
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, to_title[rip]
	lea	rsi, .LC75[rip]
	mov	rdi, rax
	call	output_charmap
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	output_widthmap
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC76[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	jne	.L193
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	fclose@PLT
	test	eax, eax
	je	.L196
.L193:
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -72[rbp]
	lea	rsi, .LC77[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L196:
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L195
	call	__stack_chk_fail@PLT
.L195:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	output_tables, .-output_tables
	.section	.rodata
	.align 8
.LC78:
	.string	"Usage: %s UnicodeData.txt version\n"
.LC79:
	.string	"unicode"
	.text
	.globl	main
	.type	main, @function
main:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	cmp	DWORD PTR -4[rbp], 3
	je	.L198
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC78[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 1
	call	exit@PLT
.L198:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	fill_attributes
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC79[rip]
	call	output_tables
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	main, .-main
	.local	buf.1
	.comm	buf.1,12,8
	.local	buf.0
	.comm	buf.0,25,16
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"9511986.c"
	.text
	.comm	unicode_attributes,62390272,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"index too large\012\000"
	.align	2
.LC1:
	.ascii	"Cs\000"
	.align	2
.LC2:
	.ascii	"\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fill_attribute, %function
fill_attribute:
	@ args = 44, 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #1114112
	bcc	.L2
	ldr	r3, .L30
	ldr	r3, [r3]
	mov	r2, #16
	mov	r1, #1
	ldr	r0, .L30+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L2:
	ldr	r1, .L30+8
	ldr	r0, [fp, #-24]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L29
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	ldr	r2, .L30+12
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5
	ldr	r0, [fp, #-24]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	b	.L6
.L5:
	ldr	r2, .L30+16
.L6:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L7
	ldr	r0, [fp, #-28]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	b	.L8
.L7:
	ldr	r2, .L30+16
.L8:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #4]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L9
	ldr	r0, [fp, #4]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	b	.L10
.L9:
	ldr	r2, .L30+16
.L10:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L11
	ldr	r0, [fp, #8]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	b	.L12
.L11:
	ldr	r2, .L30+16
.L12:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L13
	ldr	r0, [fp, #12]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	b	.L14
.L13:
	ldr	r2, .L30+16
.L14:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L15
	ldr	r0, [fp, #16]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	b	.L16
.L15:
	ldr	r2, .L30+16
.L16:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #24]
	ldr	r3, [fp, #20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L17
	ldr	r0, [fp, #20]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	b	.L18
.L17:
	ldr	r2, .L30+16
.L18:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #28]
	ldr	r3, [fp, #24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #89
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #32]
	ldr	r3, [fp, #28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L19
	ldr	r0, [fp, #28]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	b	.L20
.L19:
	ldr	r2, .L30+16
.L20:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #36]
	ldr	r3, [fp, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L21
	ldr	r0, [fp, #32]
	bl	strdup
	mov	r3, r0
	mov	r2, r3
	b	.L22
.L21:
	ldr	r2, .L30+16
.L22:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #40]
	ldr	r3, [fp, #36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L23
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #36]
	bl	strtoul
	mov	r3, r0
	b	.L24
.L23:
	mvn	r3, #0
.L24:
	ldr	r2, [fp, #-8]
	str	r3, [r2, #44]
	ldr	r3, [fp, #40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L25
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #40]
	bl	strtoul
	mov	r3, r0
	b	.L26
.L25:
	mvn	r3, #0
.L26:
	ldr	r2, [fp, #-8]
	str	r3, [r2, #48]
	ldr	r3, [fp, #44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L27
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #44]
	bl	strtoul
	mov	r3, r0
	b	.L28
.L27:
	mvn	r3, #0
.L28:
	ldr	r2, [fp, #-8]
	str	r3, [r2, #52]
	b	.L1
.L29:
	nop
.L1:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L31:
	.align	2
.L30:
	.word	stderr
	.word	.LC0
	.word	.LC1
	.word	unicode_attributes
	.word	.LC2
	.size	fill_attribute, .-fill_attribute
	.section	.rodata
	.align	2
.LC3:
	.ascii	"field too long\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getfield, %function
getfield:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L33
.L38:
	ldr	r3, [fp, #-8]
	cmp	r3, #13
	bne	.L34
	b	.L33
.L34:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #118
	ble	.L35
	ldr	r3, .L41
	ldr	r3, [r3]
	mov	r2, #15
	mov	r1, #1
	ldr	r0, .L41+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L35:
	ldr	r3, [fp, #-20]
	add	r2, r3, #1
	str	r2, [fp, #-20]
	ldr	r2, [fp, #-8]
	and	r2, r2, #255
	strb	r2, [r3]
.L33:
	ldr	r0, [fp, #-16]
	bl	getc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L36
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	beq	.L36
	mov	r3, #1
	b	.L37
.L36:
	mov	r3, #0
.L37:
	cmp	r3, #0
	bne	.L38
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L39
	mov	r3, #0
	b	.L40
.L39:
	ldr	r3, [fp, #-20]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #1
.L40:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L42:
	.align	2
.L41:
	.word	stderr
	.word	.LC3
	.size	getfield, .-getfield
	.section	.rodata
	.align	2
.LC4:
	.ascii	"r\000"
	.align	2
.LC5:
	.ascii	"error during fopen of '%s'\012\000"
	.align	2
.LC6:
	.ascii	"short line in'%s':%d\012\000"
	.align	2
.LC7:
	.ascii	", First>\000"
	.align	2
.LC8:
	.ascii	"missing end range in '%s':%d\012\000"
	.align	2
.LC9:
	.ascii	", Last>\000"
	.align	2
.LC10:
	.ascii	"error reading from '%s'\012\000"
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fill_attributes, %function
fill_attributes:
	@ args = 0, pretend = 0, frame = 1832
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1872
	sub	sp, sp, #8
	str	r0, [fp, #-1832]
	ldr	r3, .L63
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-1824]
	mov	r3, #0
	str	r3, [fp, #-1828]
	b	.L44
.L45:
	ldr	r1, .L63+4
	ldr	r2, [fp, #-1828]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-1828]
	add	r3, r3, #1
	str	r3, [fp, #-1828]
.L44:
	ldr	r3, [fp, #-1828]
	cmp	r3, #1114112
	bcc	.L45
	ldr	r1, .L63+8
	ldr	r0, [fp, #-1832]
	bl	fopen
	str	r0, [fp, #-1820]
	ldr	r3, [fp, #-1820]
	cmp	r3, #0
	bne	.L46
	ldr	r3, .L63+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-1832]
	ldr	r1, .L63+16
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L46:
	ldr	r3, [fp, #-1824]
	add	r3, r3, #1
	str	r3, [fp, #-1824]
	sub	r3, fp, #1792
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	str	r0, [fp, #-1816]
	sub	r3, fp, #1680
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #1552
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #1440
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #1312
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #1200
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #1072
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #968
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #848
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #728
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #608
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #488
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #368
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #248
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #128
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	ldr	r3, [fp, #-1816]
	cmp	r3, #0
	beq	.L61
	ldr	r3, [fp, #-1816]
	cmp	r3, #15
	beq	.L49
	ldr	r3, .L63+12
	ldr	r0, [r3]
	ldr	r3, [fp, #-1824]
	ldr	r2, [fp, #-1832]
	ldr	r1, .L63+20
	bl	fprintf
	mov	r0, #1
	bl	exit
.L49:
	sub	r3, fp, #1792
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #16
	mov	r1, #0
	mov	r0, r3
	bl	strtoul
	str	r0, [fp, #-1828]
	ldrb	r3, [fp, #-1688]	@ zero_extendqisi2
	cmp	r3, #60
	bne	.L50
	sub	r3, fp, #1680
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	cmp	r3, #8
	bls	.L50
	sub	r3, fp, #1680
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r2, r3, #8
	sub	r3, fp, #1680
	sub	r3, r3, #4
	sub	r3, r3, #4
	add	r3, r3, r2
	ldr	r1, .L63+24
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L50
	ldr	r3, [fp, #-1824]
	add	r3, r3, #1
	str	r3, [fp, #-1824]
	sub	r3, fp, #1792
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	str	r0, [fp, #-1816]
	sub	r3, fp, #1680
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #1552
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #1440
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #1312
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #1200
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #1072
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #968
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #848
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #728
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #608
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #488
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #368
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #248
	mov	r2, #59
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	sub	r3, fp, #128
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-1820]
	bl	getfield
	mov	r2, r0
	ldr	r3, [fp, #-1816]
	add	r3, r3, r2
	str	r3, [fp, #-1816]
	ldr	r3, [fp, #-1816]
	cmp	r3, #15
	beq	.L51
	ldr	r3, .L63+12
	ldr	r0, [r3]
	ldr	r3, [fp, #-1824]
	ldr	r2, [fp, #-1832]
	ldr	r1, .L63+28
	bl	fprintf
	mov	r0, #1
	bl	exit
.L51:
	ldrb	r3, [fp, #-1688]	@ zero_extendqisi2
	cmp	r3, #60
	bne	.L52
	sub	r3, fp, #1680
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	cmp	r3, #7
	bls	.L52
	sub	r3, fp, #1680
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r2, r3, #7
	sub	r3, fp, #1680
	sub	r3, r3, #4
	sub	r3, r3, #4
	add	r3, r3, r2
	ldr	r1, .L63+32
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L53
.L52:
	ldr	r3, .L63+12
	ldr	r0, [r3]
	ldr	r3, [fp, #-1824]
	ldr	r2, [fp, #-1832]
	ldr	r1, .L63+28
	bl	fprintf
	mov	r0, #1
	bl	exit
.L53:
	sub	r3, fp, #1680
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #7
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #-1684]
	sub	r3, fp, #1792
	sub	r3, r3, #4
	sub	r3, r3, #12
	mov	r2, #16
	mov	r1, #0
	mov	r0, r3
	bl	strtoul
	str	r0, [fp, #-1812]
	b	.L54
.L55:
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #4
	add	r1, r1, #1
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #4
	sub	r2, fp, #1552
	sub	r2, r2, #4
	sub	r2, r2, #12
	sub	r3, fp, #128
	str	r3, [sp, #40]
	sub	r3, fp, #248
	str	r3, [sp, #36]
	sub	r3, fp, #368
	str	r3, [sp, #32]
	sub	r3, fp, #488
	str	r3, [sp, #28]
	sub	r3, fp, #608
	str	r3, [sp, #24]
	sub	r3, fp, #728
	str	r3, [sp, #20]
	sub	r3, fp, #848
	str	r3, [sp, #16]
	sub	r3, fp, #968
	str	r3, [sp, #12]
	sub	r3, fp, #1072
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp, #8]
	sub	r3, fp, #1200
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [sp, #4]
	sub	r3, fp, #1312
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-1828]
	bl	fill_attribute
	ldr	r3, [fp, #-1828]
	add	r3, r3, #1
	str	r3, [fp, #-1828]
.L54:
	ldr	r2, [fp, #-1828]
	ldr	r3, [fp, #-1812]
	cmp	r2, r3
	bls	.L55
	b	.L56
.L50:
	sub	r0, fp, #1440
	sub	r0, r0, #4
	sub	r0, r0, #4
	sub	r2, fp, #1552
	sub	r2, r2, #4
	sub	r2, r2, #12
	sub	r1, fp, #1680
	sub	r1, r1, #4
	sub	r1, r1, #4
	sub	r3, fp, #128
	str	r3, [sp, #40]
	sub	r3, fp, #248
	str	r3, [sp, #36]
	sub	r3, fp, #368
	str	r3, [sp, #32]
	sub	r3, fp, #488
	str	r3, [sp, #28]
	sub	r3, fp, #608
	str	r3, [sp, #24]
	sub	r3, fp, #728
	str	r3, [sp, #20]
	sub	r3, fp, #848
	str	r3, [sp, #16]
	sub	r3, fp, #968
	str	r3, [sp, #12]
	sub	r3, fp, #1072
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp, #8]
	sub	r3, fp, #1200
	sub	r3, r3, #4
	sub	r3, r3, #4
	str	r3, [sp, #4]
	sub	r3, fp, #1312
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-1828]
	bl	fill_attribute
.L56:
	b	.L46
.L61:
	nop
	ldr	r0, [fp, #-1820]
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	bne	.L57
	ldr	r0, [fp, #-1820]
	bl	fclose
	mov	r3, r0
	cmp	r3, #0
	beq	.L62
.L57:
	ldr	r3, .L63+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-1832]
	ldr	r1, .L63+36
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L62:
	nop
	ldr	r3, .L63
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L59
	bl	__stack_chk_fail
.L59:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L64:
	.align	2
.L63:
	.word	.LC11
	.word	unicode_attributes
	.word	.LC4
	.word	stderr
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.size	fill_attributes, .-fill_attributes
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	to_upper, %function
to_upper:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r1, .L68
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L66
	ldr	r1, .L68
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #44
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L66
	ldr	r1, .L68
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #44
	ldr	r3, [r3]
	b	.L67
.L66:
	ldr	r3, [fp, #-8]
.L67:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L69:
	.align	2
.L68:
	.word	unicode_attributes
	.size	to_upper, .-to_upper
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	to_lower, %function
to_lower:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r1, .L73
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L71
	ldr	r1, .L73
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #48
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L71
	ldr	r1, .L73
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #48
	ldr	r3, [r3]
	b	.L72
.L71:
	ldr	r3, [fp, #-8]
.L72:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L74:
	.align	2
.L73:
	.word	unicode_attributes
	.size	to_lower, .-to_lower
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	to_title, %function
to_title:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r1, .L78
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L76
	ldr	r1, .L78
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #52
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L76
	ldr	r1, .L78
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #52
	ldr	r3, [r3]
	b	.L77
.L76:
	ldr	r3, [fp, #-8]
.L77:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L79:
	.align	2
.L78:
	.word	unicode_attributes
	.size	to_title, .-to_title
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_upper, %function
is_upper:
	@ 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	to_lower
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	is_upper, .-is_upper
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_lower, %function
is_lower:
	@ 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	to_upper
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L83
	ldr	r3, [fp, #-8]
	cmp	r3, #223
	bne	.L84
.L83:
	mov	r3, #1
	b	.L85
.L84:
	mov	r3, #0
.L85:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	is_lower, .-is_lower
	.section	.rodata
	.align	2
.LC12:
	.ascii	" LETTER \000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_alpha, %function
is_alpha:
	@ 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	r1, .L97
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L88
	ldr	r1, .L97
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #76
	bne	.L89
	ldr	r3, [fp, #-8]
	ldr	r2, .L97+4
	cmp	r3, r2
	beq	.L89
	ldr	r3, [fp, #-8]
	ldr	r2, .L97+8
	cmp	r3, r2
	bne	.L90
.L89:
	ldr	r3, [fp, #-8]
	ldr	r2, .L97+12
	cmp	r3, r2
	beq	.L90
	ldr	r3, [fp, #-8]
	ldr	r2, .L97+16
	cmp	r3, r2
	bls	.L91
	ldr	r3, [fp, #-8]
	ldr	r2, .L97+20
	cmp	r3, r2
	bls	.L90
.L91:
	ldr	r3, [fp, #-8]
	ldr	r2, .L97+8
	cmp	r3, r2
	bls	.L92
	ldr	r3, [fp, #-8]
	ldr	r2, .L97+24
	cmp	r3, r2
	bls	.L90
.L92:
	ldr	r3, [fp, #-8]
	ldr	r2, .L97+28
	cmp	r3, r2
	beq	.L90
	ldr	r1, .L97
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #78
	bne	.L93
	ldr	r1, .L97
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #108
	beq	.L90
.L93:
	ldr	r1, .L97
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #83
	bne	.L94
	ldr	r1, .L97
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #111
	bne	.L94
	ldr	r1, .L97
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r1, .L97+32
	mov	r0, r3
	bl	strstr
	mov	r3, r0
	cmp	r3, #0
	bne	.L90
.L94:
	ldr	r1, .L97
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #78
	bne	.L88
	ldr	r1, .L97
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #100
	bne	.L88
	ldr	r3, [fp, #-8]
	cmp	r3, #47
	bls	.L90
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	bls	.L88
.L90:
	mov	r3, #1
	b	.L95
.L88:
	mov	r3, #0
.L95:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L98:
	.align	2
.L97:
	.word	unicode_attributes
	.word	3631
	.word	3654
	.word	3633
	.word	3635
	.word	3642
	.word	3662
	.word	837
	.word	.LC12
	.size	is_alpha, .-is_alpha
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_digit, %function
is_digit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #47
	bls	.L100
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	bhi	.L100
	mov	r3, #1
	b	.L101
.L100:
	mov	r3, #0
.L101:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_digit, .-is_digit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_outdigit, %function
is_outdigit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #47
	bls	.L104
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	bhi	.L104
	mov	r3, #1
	b	.L105
.L104:
	mov	r3, #0
.L105:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_outdigit, .-is_outdigit
	.section	.rodata
	.align	2
.LC13:
	.ascii	"<noBreak>\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_blank, %function
is_blank:
	@ 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, #9
	beq	.L108
	ldr	r1, .L112
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L109
	ldr	r1, .L112
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bne	.L109
	ldr	r1, .L112
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #115
	bne	.L109
	ldr	r1, .L112
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldr	r3, [r3]
	ldr	r1, .L112+4
	mov	r0, r3
	bl	strstr
	mov	r3, r0
	cmp	r3, #0
	bne	.L109
.L108:
	mov	r3, #1
	b	.L110
.L109:
	mov	r3, #0
.L110:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L113:
	.align	2
.L112:
	.word	unicode_attributes
	.word	.LC13
	.size	is_blank, .-is_blank
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_space, %function
is_space:
	@ 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, #32
	beq	.L115
	ldr	r3, [fp, #-8]
	cmp	r3, #12
	beq	.L115
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	beq	.L115
	ldr	r3, [fp, #-8]
	cmp	r3, #13
	beq	.L115
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	beq	.L115
	ldr	r3, [fp, #-8]
	cmp	r3, #11
	beq	.L115
	ldr	r1, .L119
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L116
	ldr	r1, .L119
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bne	.L116
	ldr	r1, .L119
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #108
	beq	.L115
	ldr	r1, .L119
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #112
	beq	.L115
	ldr	r1, .L119
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #115
	bne	.L116
	ldr	r1, .L119
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldr	r3, [r3]
	ldr	r1, .L119+4
	mov	r0, r3
	bl	strstr
	mov	r3, r0
	cmp	r3, #0
	bne	.L116
.L115:
	mov	r3, #1
	b	.L117
.L116:
	mov	r3, #0
.L117:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L120:
	.align	2
.L119:
	.word	unicode_attributes
	.word	.LC13
	.size	is_space, .-is_space
	.section	.rodata
	.align	2
.LC14:
	.ascii	"<control>\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_cntrl, %function
is_cntrl:
	@ 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	r1, .L126
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L122
	ldr	r1, .L126
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r1, .L126+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L123
	ldr	r1, .L126
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bne	.L122
	ldr	r1, .L126
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #108
	beq	.L123
	ldr	r1, .L126
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #112
	bne	.L122
.L123:
	mov	r3, #1
	b	.L124
.L122:
	mov	r3, #0
.L124:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L127:
	.align	2
.L126:
	.word	unicode_attributes
	.word	.LC14
	.size	is_cntrl, .-is_cntrl
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_xdigit, %function
is_xdigit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #47
	bls	.L129
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	bls	.L130
.L129:
	ldr	r3, [fp, #-8]
	cmp	r3, #64
	bls	.L131
	ldr	r3, [fp, #-8]
	cmp	r3, #70
	bls	.L130
.L131:
	ldr	r3, [fp, #-8]
	cmp	r3, #96
	bls	.L132
	ldr	r3, [fp, #-8]
	cmp	r3, #102
	bhi	.L132
.L130:
	mov	r3, #1
	b	.L133
.L132:
	mov	r3, #0
.L133:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_xdigit, .-is_xdigit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_graph, %function
is_graph:
	@ 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	r1, .L139
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L136
	ldr	r1, .L139
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r1, .L139+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L136
	ldr	r0, [fp, #-8]
	bl	is_space
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L136
	mov	r3, #1
	b	.L137
.L136:
	mov	r3, #0
.L137:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L140:
	.align	2
.L139:
	.word	unicode_attributes
	.word	.LC14
	.size	is_graph, .-is_graph
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_print, %function
is_print:
	@ 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	r1, .L146
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L142
	ldr	r1, .L146
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r1, .L146+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L142
	ldr	r1, .L146
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L143
	ldr	r1, .L146
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #90
	bne	.L143
	ldr	r1, .L146
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #108
	beq	.L142
	ldr	r1, .L146
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #112
	beq	.L142
.L143:
	mov	r3, #1
	b	.L144
.L142:
	mov	r3, #0
.L144:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L147:
	.align	2
.L146:
	.word	unicode_attributes
	.word	.LC14
	.size	is_print, .-is_print
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_punct, %function
is_punct:
	@ 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	is_graph
	mov	r3, r0
	cmp	r3, #0
	beq	.L149
	ldr	r0, [fp, #-8]
	bl	is_alpha
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L149
	ldr	r0, [fp, #-8]
	bl	is_digit
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L149
	mov	r3, #1
	b	.L150
.L149:
	mov	r3, #0
.L150:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	is_punct, .-is_punct
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_combining, %function
is_combining:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r1, .L157
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L153
	ldr	r1, .L157
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #77
	bne	.L153
	ldr	r1, .L157
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #110
	beq	.L154
	ldr	r1, .L157
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #99
	beq	.L154
	ldr	r1, .L157
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #101
	bne	.L153
.L154:
	mov	r3, #1
	b	.L155
.L153:
	mov	r3, #0
.L155:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L158:
	.align	2
.L157:
	.word	unicode_attributes
	.size	is_combining, .-is_combining
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_combining_level3, %function
is_combining_level3:
	@ 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	is_combining
	mov	r3, r0
	cmp	r3, #0
	beq	.L160
	ldr	r1, .L164
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L161
	ldr	r1, .L164
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #48
	beq	.L161
	ldr	r1, .L164
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, #10
	mov	r1, #0
	mov	r0, r3
	bl	strtoul
	mov	r3, r0
	cmp	r3, #199
	bhi	.L160
.L161:
	mov	r3, #1
	b	.L162
.L160:
	mov	r3, #0
.L162:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L165:
	.align	2
.L164:
	.word	unicode_attributes
	.size	is_combining_level3, .-is_combining_level3
	.section	.rodata
	.align	2
.LC15:
	.ascii	"<U%04X>\000"
	.align	2
.LC16:
	.ascii	"<U%08X>\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ucs_symbol, %function
ucs_symbol:
	@ 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, #65536
	bcs	.L167
	ldr	r3, .L170
	b	.L168
.L167:
	ldr	r3, .L170+4
.L168:
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, .L170+8
	bl	sprintf
	ldr	r3, .L170+8
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L171:
	.align	2
.L170:
	.word	.LC15
	.word	.LC16
	.word	buf.5533
	.size	ucs_symbol, .-ucs_symbol
	.section	.rodata
	.align	2
.LC17:
	.ascii	"..\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ucs_symbol_range, %function
ucs_symbol_range:
	@ 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	ucs_symbol
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L174
	bl	strcpy
	ldr	r0, .L174
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L174
	add	r3, r2, r3
	ldr	r2, .L174+4
	mov	r0, r3
	mov	r1, r2
	mov	r3, #3
	mov	r2, r3
	bl	memcpy
	ldr	r0, [fp, #-12]
	bl	ucs_symbol
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L174
	bl	strcat
	ldr	r3, .L174
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L175:
	.align	2
.L174:
	.word	buf.5538
	.word	.LC17
	.size	ucs_symbol_range, .-ucs_symbol_range
	.section	.rodata
	.align	2
.LC18:
	.ascii	"%s \000"
	.align	2
.LC19:
	.ascii	"/\012   \000"
	.align	2
.LC20:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_charclass, %function
output_charclass:
	@ args = 0, pretend = 0, frame = 1114184
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1114112
	sub	sp, sp, #72
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	str	r0, [r3, #-60]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	str	r1, [r3, #-64]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	str	r2, [r3, #-68]
	ldr	r3, .L189
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #75
	str	r3, [r2, #-44]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-52]
	b	.L177
.L178:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-68]
	ldr	r0, [r2, #-52]
	blx	r3
	mov	r3, r0
	mov	r1, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	add	r3, r2, r3
	sub	r3, r3, #4
	mov	r2, r1
	strb	r2, [r3]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	add	r3, r3, #1
	str	r3, [r2, #-52]
.L177:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	cmp	r3, #1114112
	bcc	.L178
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r2, [r2, #-64]
	ldr	r1, .L189+4
	ldr	r0, [r3, #-60]
	bl	fprintf
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, #0
	strb	r2, [r3, #-53]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #1000
	str	r3, [r2, #-48]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-52]
	b	.L179
.L187:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	add	r3, r2, r3
	sub	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L180
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	add	r3, r3, #1
	str	r3, [r2, #-52]
	b	.L179
.L180:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	str	r3, [r2, #-40]
.L182:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	add	r3, r3, #1
	str	r3, [r2, #-52]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	cmp	r3, #1114112
	bcs	.L181
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	add	r3, r2, r3
	sub	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L182
.L181:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	sub	r3, r3, #1
	str	r3, [r2, #-36]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r2, [r2, #-40]
	ldr	r3, [r3, #-36]
	cmp	r2, r3
	bne	.L183
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r0, [r3, #-40]
	bl	ucs_symbol
	mov	r2, r0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	b	.L184
.L183:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r1, [r2, #-36]
	ldr	r0, [r3, #-40]
	bl	ucs_symbol_range
	mov	r2, r0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
.L184:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldrb	r3, [r3, #-53]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L185
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r1, [r3, #-60]
	mov	r0, #59
	bl	fputc
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-48]
	add	r3, r3, #1
	str	r3, [r2, #-48]
.L185:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-48]
	add	r2, r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-44]
	cmp	r2, r3
	bls	.L186
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-60]
	mov	r2, #5
	mov	r1, #1
	ldr	r0, .L189+8
	bl	fwrite
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #3
	str	r3, [r2, #-48]
.L186:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	ldr	r1, [r2, #-60]
	mov	r0, r3
	bl	fputs
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-48]
	add	r3, r2, r3
	sub	r2, fp, #1114112
	sub	r2, r2, #4
	str	r3, [r2, #-48]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, #1
	strb	r2, [r3, #-53]
.L179:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	cmp	r3, #1114112
	bcc	.L187
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r1, [r3, #-60]
	mov	r0, #10
	bl	fputc
	nop
	ldr	r3, .L189
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L188
	bl	__stack_chk_fail
.L188:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L190:
	.align	2
.L189:
	.word	.LC20
	.word	.LC18
	.word	.LC19
	.size	output_charclass, .-output_charclass
	.section	.rodata
	.align	2
.LC21:
	.ascii	",\000"
	.align	2
.LC22:
	.ascii	")\000"
	.align	2
.LC23:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_charmap, %function
output_charmap:
	@ args = 0, pretend = 0, frame = 1114176
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #1114112
	sub	sp, sp, #64
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	str	r0, [r3, #-52]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	str	r1, [r3, #-56]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	str	r2, [r3, #-60]
	ldr	r3, .L200
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #75
	str	r3, [r2, #-36]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-44]
	b	.L192
.L193:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-60]
	ldr	r0, [r2, #-44]
	blx	r3
	mov	r2, r0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-44]
	cmp	r3, r2
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-44]
	add	r3, r2, r3
	sub	r3, r3, #4
	mov	r2, r1
	strb	r2, [r3]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-44]
	add	r3, r3, #1
	str	r3, [r2, #-44]
.L192:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-44]
	cmp	r3, #1114112
	bcc	.L193
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r2, [r2, #-56]
	ldr	r1, .L200+4
	ldr	r0, [r3, #-52]
	bl	fprintf
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, #0
	strb	r2, [r3, #-45]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #1000
	str	r3, [r2, #-40]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-44]
	b	.L194
.L198:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-44]
	add	r3, r2, r3
	sub	r3, r3, #4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L195
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r2, #40
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r0, [r3, #-44]
	bl	ucs_symbol
	mov	r2, r0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r1, r2
	mov	r0, r3
	bl	strcat
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	add	r3, r3, r2
	ldr	r2, .L200+8
	mov	r0, r3
	mov	r1, r2
	mov	r3, #2
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-60]
	ldr	r0, [r2, #-44]
	blx	r3
	mov	r3, r0
	mov	r0, r3
	bl	ucs_symbol
	mov	r2, r0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r1, r2
	mov	r0, r3
	bl	strcat
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	add	r3, r3, r2
	ldr	r2, .L200+12
	mov	r0, r3
	mov	r1, r2
	mov	r3, #2
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldrb	r3, [r3, #-45]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L196
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r1, [r3, #-52]
	mov	r0, #59
	bl	fputc
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-40]
	add	r3, r3, #1
	str	r3, [r2, #-40]
.L196:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-40]
	add	r2, r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-36]
	cmp	r2, r3
	bls	.L197
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-52]
	mov	r2, #5
	mov	r1, #1
	ldr	r0, .L200+16
	bl	fwrite
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	mov	r3, #3
	str	r3, [r2, #-40]
.L197:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	ldr	r1, [r2, #-52]
	mov	r0, r3
	bl	fputs
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	sub	r3, r3, #32
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-40]
	add	r3, r2, r3
	sub	r2, fp, #1114112
	sub	r2, r2, #4
	str	r3, [r2, #-40]
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, #1
	strb	r2, [r3, #-45]
.L195:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	mov	r2, r3
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-44]
	add	r3, r3, #1
	str	r3, [r2, #-44]
.L194:
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r3, [r3, #-44]
	cmp	r3, #1114112
	bcc	.L198
	sub	r3, fp, #1114112
	sub	r3, r3, #4
	ldr	r1, [r3, #-52]
	mov	r0, #10
	bl	fputc
	nop
	ldr	r3, .L200
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L199
	bl	__stack_chk_fail
.L199:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L201:
	.align	2
.L200:
	.word	.LC23
	.word	.LC18
	.word	.LC21
	.word	.LC22
	.word	.LC19
	.size	output_charmap, .-output_charmap
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_widthmap, %function
output_widthmap:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	output_widthmap, .-output_widthmap
	.section	.rodata
	.align	2
.LC24:
	.ascii	"w\000"
	.align	2
.LC25:
	.ascii	"cannot open '%s' for writing\012\000"
	.align	2
.LC26:
	.ascii	"escape_char /\012\000"
	.align	2
.LC27:
	.ascii	"comment_char %%\012\000"
	.align	2
.LC28:
	.ascii	"%% Generated automatically by gen-unicode-ctype for"
	.ascii	" Unicode %s.\012\000"
	.align	2
.LC29:
	.ascii	"LC_IDENTIFICATION\012\000"
	.align	2
.LC30:
	.ascii	"title     \"Unicode %s FDCC-set\"\012\000"
	.align	2
.LC31:
	.ascii	"source    \"UnicodeData.txt, PropList.txt\"\012\000"
	.align	2
.LC32:
	.ascii	"address   \"\"\012\000"
	.align	2
.LC33:
	.ascii	"contact   \"\"\012\000"
	.align	2
.LC34:
	.ascii	"email     \"bug-glibc-locales@gnu.org\"\012\000"
	.align	2
.LC35:
	.ascii	"tel       \"\"\012\000"
	.align	2
.LC36:
	.ascii	"fax       \"\"\012\000"
	.align	2
.LC37:
	.ascii	"language  \"\"\012\000"
	.align	2
.LC38:
	.ascii	"territory \"Earth\"\012\000"
	.align	2
.LC39:
	.ascii	"revision  \"%s\"\012\000"
	.align	2
.LC40:
	.ascii	"%Y-%m-%d\000"
	.align	2
.LC41:
	.ascii	"date      \"%s\"\012\000"
	.align	2
.LC42:
	.ascii	"category  \"unicode:2001\";LC_CTYPE\012\000"
	.align	2
.LC43:
	.ascii	"END LC_IDENTIFICATION\012\000"
	.align	2
.LC44:
	.ascii	"%s is not upper|lower but toupper(0x%04X) = 0x%04X\012"
	.ascii	"\000"
	.align	2
.LC45:
	.ascii	"%s is not upper|lower but tolower(0x%04X) = 0x%04X\012"
	.ascii	"\000"
	.align	2
.LC46:
	.ascii	"%s is upper|lower but not alpha\012\000"
	.align	2
.LC47:
	.ascii	"%s is alpha and cntrl\012\000"
	.align	2
.LC48:
	.ascii	"%s is alpha and digit\012\000"
	.align	2
.LC49:
	.ascii	"%s is alpha and punct\012\000"
	.align	2
.LC50:
	.ascii	"%s is alpha and space\012\000"
	.align	2
.LC51:
	.ascii	"%s is space and digit\012\000"
	.align	2
.LC52:
	.ascii	"%s is space and graph\012\000"
	.align	2
.LC53:
	.ascii	"%s is space and xdigit\012\000"
	.align	2
.LC54:
	.ascii	"%s is cntrl and digit\012\000"
	.align	2
.LC55:
	.ascii	"%s is cntrl and punct\012\000"
	.align	2
.LC56:
	.ascii	"%s is cntrl and graph\012\000"
	.align	2
.LC57:
	.ascii	"%s is cntrl and print\012\000"
	.align	2
.LC58:
	.ascii	"%s is cntrl and xdigit\012\000"
	.align	2
.LC59:
	.ascii	"%s is punct and digit\012\000"
	.align	2
.LC60:
	.ascii	"%s is punct and xdigit\012\000"
	.align	2
.LC61:
	.ascii	"%s is punct\012\000"
	.align	2
.LC62:
	.ascii	"%s is print but not graph|<space>\012\000"
	.align	2
.LC63:
	.ascii	"%s is graph|<space> but not print\012\000"
	.align	2
.LC64:
	.ascii	"LC_CTYPE\012\000"
	.align	2
.LC65:
	.ascii	"upper\000"
	.align	2
.LC66:
	.ascii	"lower\000"
	.align	2
.LC67:
	.ascii	"alpha\000"
	.align	2
.LC68:
	.ascii	"digit\000"
	.align	2
.LC69:
	.ascii	"outdigit\000"
	.align	2
.LC70:
	.ascii	"blank\000"
	.align	2
.LC71:
	.ascii	"space\000"
	.align	2
.LC72:
	.ascii	"cntrl\000"
	.align	2
.LC73:
	.ascii	"punct\000"
	.align	2
.LC74:
	.ascii	"xdigit\000"
	.align	2
.LC75:
	.ascii	"graph\000"
	.align	2
.LC76:
	.ascii	"print\000"
	.align	2
.LC77:
	.ascii	"class \"combining\";\000"
	.align	2
.LC78:
	.ascii	"class \"combining_level3\";\000"
	.align	2
.LC79:
	.ascii	"toupper\000"
	.align	2
.LC80:
	.ascii	"tolower\000"
	.align	2
.LC81:
	.ascii	"map \"totitle\";\000"
	.align	2
.LC82:
	.ascii	"END LC_CTYPE\012\000"
	.align	2
.LC83:
	.ascii	"error writing to '%s'\012\000"
	.align	2
.LC84:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	output_tables, %function
output_tables:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L233
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r1, .L233+4
	ldr	r0, [fp, #-48]
	bl	fopen
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L204
	ldr	r3, .L233+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	ldr	r1, .L233+12
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L204:
	ldr	r3, [fp, #-32]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L233+16
	bl	fwrite
	ldr	r1, .L233+20
	ldr	r0, [fp, #-32]
	bl	fprintf
	ldr	r1, [fp, #-32]
	mov	r0, #10
	bl	fputc
	ldr	r2, [fp, #-52]
	ldr	r1, .L233+24
	ldr	r0, [fp, #-32]
	bl	fprintf
	ldr	r1, [fp, #-32]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-32]
	mov	r2, #18
	mov	r1, #1
	ldr	r0, .L233+28
	bl	fwrite
	ldr	r2, [fp, #-52]
	ldr	r1, .L233+32
	ldr	r0, [fp, #-32]
	bl	fprintf
	ldr	r3, [fp, #-32]
	mov	r2, #42
	mov	r1, #1
	ldr	r0, .L233+36
	bl	fwrite
	ldr	r3, [fp, #-32]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L233+40
	bl	fwrite
	ldr	r3, [fp, #-32]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L233+44
	bl	fwrite
	ldr	r3, [fp, #-32]
	mov	r2, #38
	mov	r1, #1
	ldr	r0, .L233+48
	bl	fwrite
	ldr	r3, [fp, #-32]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L233+52
	bl	fwrite
	ldr	r3, [fp, #-32]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L233+56
	bl	fwrite
	ldr	r3, [fp, #-32]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L233+60
	bl	fwrite
	ldr	r3, [fp, #-32]
	mov	r2, #18
	mov	r1, #1
	ldr	r0, .L233+64
	bl	fwrite
	ldr	r2, [fp, #-52]
	ldr	r1, .L233+68
	ldr	r0, [fp, #-32]
	bl	fprintf
	mov	r0, #0
	bl	time
	mov	r3, r0
	str	r3, [fp, #-40]
	sub	r3, fp, #40
	mov	r0, r3
	bl	gmtime
	mov	r3, r0
	sub	r0, fp, #28
	ldr	r2, .L233+72
	mov	r1, #11
	bl	strftime
	sub	r3, fp, #28
	mov	r2, r3
	ldr	r1, .L233+76
	ldr	r0, [fp, #-32]
	bl	fprintf
	ldr	r3, [fp, #-32]
	mov	r2, #34
	mov	r1, #1
	ldr	r0, .L233+80
	bl	fwrite
	ldr	r3, [fp, #-32]
	mov	r2, #22
	mov	r1, #1
	ldr	r0, .L233+84
	bl	fwrite
	ldr	r1, [fp, #-32]
	mov	r0, #10
	bl	fputc
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L205
.L228:
	ldr	r0, [fp, #-36]
	bl	to_upper
	mov	r2, r0
	ldr	r3, [fp, #-36]
	cmp	r3, r2
	beq	.L206
	ldr	r0, [fp, #-36]
	bl	is_lower
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L206
	ldr	r0, [fp, #-36]
	bl	is_upper
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L206
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r5, r0
	ldr	r0, [fp, #-36]
	bl	to_upper
	mov	r3, r0
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	mov	r2, r5
	ldr	r1, .L233+88
	mov	r0, r4
	bl	fprintf
.L206:
	ldr	r0, [fp, #-36]
	bl	to_lower
	mov	r2, r0
	ldr	r3, [fp, #-36]
	cmp	r3, r2
	beq	.L207
	ldr	r0, [fp, #-36]
	bl	is_lower
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L207
	ldr	r0, [fp, #-36]
	bl	is_upper
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L207
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r5, r0
	ldr	r0, [fp, #-36]
	bl	to_lower
	mov	r3, r0
	str	r3, [sp]
	ldr	r3, [fp, #-36]
	mov	r2, r5
	ldr	r1, .L233+92
	mov	r0, r4
	bl	fprintf
.L207:
	ldr	r0, [fp, #-36]
	bl	is_lower
	mov	r3, r0
	cmp	r3, #0
	bne	.L208
	ldr	r0, [fp, #-36]
	bl	is_upper
	mov	r3, r0
	cmp	r3, #0
	beq	.L209
.L208:
	ldr	r0, [fp, #-36]
	bl	is_alpha
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L209
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+96
	mov	r0, r4
	bl	fprintf
.L209:
	ldr	r0, [fp, #-36]
	bl	is_alpha
	mov	r3, r0
	cmp	r3, #0
	beq	.L210
	ldr	r0, [fp, #-36]
	bl	is_cntrl
	mov	r3, r0
	cmp	r3, #0
	beq	.L210
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+100
	mov	r0, r4
	bl	fprintf
.L210:
	ldr	r0, [fp, #-36]
	bl	is_alpha
	mov	r3, r0
	cmp	r3, #0
	beq	.L211
	ldr	r0, [fp, #-36]
	bl	is_digit
	mov	r3, r0
	cmp	r3, #0
	beq	.L211
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+104
	mov	r0, r4
	bl	fprintf
.L211:
	ldr	r0, [fp, #-36]
	bl	is_alpha
	mov	r3, r0
	cmp	r3, #0
	beq	.L212
	ldr	r0, [fp, #-36]
	bl	is_punct
	mov	r3, r0
	cmp	r3, #0
	beq	.L212
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+108
	mov	r0, r4
	bl	fprintf
.L212:
	ldr	r0, [fp, #-36]
	bl	is_alpha
	mov	r3, r0
	cmp	r3, #0
	beq	.L213
	ldr	r0, [fp, #-36]
	bl	is_space
	mov	r3, r0
	cmp	r3, #0
	beq	.L213
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+112
	mov	r0, r4
	bl	fprintf
.L213:
	ldr	r0, [fp, #-36]
	bl	is_space
	mov	r3, r0
	cmp	r3, #0
	beq	.L214
	ldr	r0, [fp, #-36]
	bl	is_digit
	mov	r3, r0
	cmp	r3, #0
	beq	.L214
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+116
	mov	r0, r4
	bl	fprintf
.L214:
	ldr	r0, [fp, #-36]
	bl	is_space
	mov	r3, r0
	cmp	r3, #0
	beq	.L215
	ldr	r0, [fp, #-36]
	bl	is_graph
	mov	r3, r0
	cmp	r3, #0
	beq	.L215
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+120
	mov	r0, r4
	bl	fprintf
.L215:
	ldr	r0, [fp, #-36]
	bl	is_space
	mov	r3, r0
	cmp	r3, #0
	beq	.L216
	ldr	r0, [fp, #-36]
	bl	is_xdigit
	mov	r3, r0
	cmp	r3, #0
	beq	.L216
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+124
	mov	r0, r4
	bl	fprintf
.L216:
	ldr	r0, [fp, #-36]
	bl	is_cntrl
	mov	r3, r0
	cmp	r3, #0
	beq	.L217
	ldr	r0, [fp, #-36]
	bl	is_digit
	mov	r3, r0
	cmp	r3, #0
	beq	.L217
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+128
	mov	r0, r4
	bl	fprintf
.L217:
	ldr	r0, [fp, #-36]
	bl	is_cntrl
	mov	r3, r0
	cmp	r3, #0
	beq	.L218
	ldr	r0, [fp, #-36]
	bl	is_punct
	mov	r3, r0
	cmp	r3, #0
	beq	.L218
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+132
	mov	r0, r4
	bl	fprintf
.L218:
	ldr	r0, [fp, #-36]
	bl	is_cntrl
	mov	r3, r0
	cmp	r3, #0
	beq	.L219
	ldr	r0, [fp, #-36]
	bl	is_graph
	mov	r3, r0
	cmp	r3, #0
	beq	.L219
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+136
	mov	r0, r4
	bl	fprintf
.L219:
	ldr	r0, [fp, #-36]
	bl	is_cntrl
	mov	r3, r0
	cmp	r3, #0
	beq	.L220
	ldr	r0, [fp, #-36]
	bl	is_print
	mov	r3, r0
	cmp	r3, #0
	beq	.L220
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+140
	mov	r0, r4
	bl	fprintf
.L220:
	ldr	r0, [fp, #-36]
	bl	is_cntrl
	mov	r3, r0
	cmp	r3, #0
	beq	.L221
	ldr	r0, [fp, #-36]
	bl	is_xdigit
	mov	r3, r0
	cmp	r3, #0
	beq	.L221
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+144
	mov	r0, r4
	bl	fprintf
.L221:
	ldr	r0, [fp, #-36]
	bl	is_punct
	mov	r3, r0
	cmp	r3, #0
	beq	.L222
	ldr	r0, [fp, #-36]
	bl	is_digit
	mov	r3, r0
	cmp	r3, #0
	beq	.L222
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+148
	mov	r0, r4
	bl	fprintf
.L222:
	ldr	r0, [fp, #-36]
	bl	is_punct
	mov	r3, r0
	cmp	r3, #0
	beq	.L223
	ldr	r0, [fp, #-36]
	bl	is_xdigit
	mov	r3, r0
	cmp	r3, #0
	beq	.L223
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+152
	mov	r0, r4
	bl	fprintf
.L223:
	ldr	r0, [fp, #-36]
	bl	is_punct
	mov	r3, r0
	cmp	r3, #0
	beq	.L224
	ldr	r3, [fp, #-36]
	cmp	r3, #32
	bne	.L224
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+156
	mov	r0, r4
	bl	fprintf
.L224:
	ldr	r0, [fp, #-36]
	bl	is_print
	mov	r3, r0
	cmp	r3, #0
	beq	.L225
	ldr	r0, [fp, #-36]
	bl	is_graph
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L225
	ldr	r0, [fp, #-36]
	bl	is_space
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L225
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+160
	mov	r0, r4
	bl	fprintf
.L225:
	ldr	r0, [fp, #-36]
	bl	is_print
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L226
	ldr	r0, [fp, #-36]
	bl	is_graph
	mov	r3, r0
	cmp	r3, #0
	bne	.L227
	ldr	r3, [fp, #-36]
	cmp	r3, #32
	bne	.L226
.L227:
	ldr	r3, .L233+8
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	ucs_symbol
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L233+164
	mov	r0, r4
	bl	fprintf
.L226:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L205:
	ldr	r3, [fp, #-36]
	cmp	r3, #1114112
	bcc	.L228
	ldr	r3, [fp, #-32]
	mov	r2, #9
	mov	r1, #1
	ldr	r0, .L233+168
	bl	fwrite
	ldr	r2, .L233+172
	ldr	r1, .L233+176
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+180
	ldr	r1, .L233+184
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+188
	ldr	r1, .L233+192
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+196
	ldr	r1, .L233+200
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+204
	ldr	r1, .L233+208
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+212
	ldr	r1, .L233+216
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+220
	ldr	r1, .L233+224
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+228
	ldr	r1, .L233+232
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+236
	ldr	r1, .L233+240
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+244
	ldr	r1, .L233+248
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+252
	ldr	r1, .L233+256
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+260
	ldr	r1, .L233+264
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+268
	ldr	r1, .L233+272
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+276
	ldr	r1, .L233+280
	ldr	r0, [fp, #-32]
	bl	output_charclass
	ldr	r2, .L233+284
	ldr	r1, .L233+288
	ldr	r0, [fp, #-32]
	bl	output_charmap
	ldr	r2, .L233+292
	ldr	r1, .L233+296
	ldr	r0, [fp, #-32]
	bl	output_charmap
	ldr	r2, .L233+300
	ldr	r1, .L233+304
	ldr	r0, [fp, #-32]
	bl	output_charmap
	ldr	r0, [fp, #-32]
	bl	output_widthmap
	ldr	r3, [fp, #-32]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L233+308
	bl	fwrite
	ldr	r0, [fp, #-32]
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	bne	.L229
	ldr	r0, [fp, #-32]
	bl	fclose
	mov	r3, r0
	cmp	r3, #0
	beq	.L232
.L229:
	ldr	r3, .L233+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	ldr	r1, .L233+312
	mov	r0, r3
	bl	fprintf
	mov	r0, #1
	bl	exit
.L232:
	nop
	ldr	r3, .L233
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L231
	bl	__stack_chk_fail
.L231:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L234:
	.align	2
.L233:
	.word	.LC84
	.word	.LC24
	.word	stderr
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.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
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	is_upper
	.word	.LC65
	.word	is_lower
	.word	.LC66
	.word	is_alpha
	.word	.LC67
	.word	is_digit
	.word	.LC68
	.word	is_outdigit
	.word	.LC69
	.word	is_blank
	.word	.LC70
	.word	is_space
	.word	.LC71
	.word	is_cntrl
	.word	.LC72
	.word	is_punct
	.word	.LC73
	.word	is_xdigit
	.word	.LC74
	.word	is_graph
	.word	.LC75
	.word	is_print
	.word	.LC76
	.word	is_combining
	.word	.LC77
	.word	is_combining_level3
	.word	.LC78
	.word	to_upper
	.word	.LC79
	.word	to_lower
	.word	.LC80
	.word	to_title
	.word	.LC81
	.word	.LC82
	.word	.LC83
	.size	output_tables, .-output_tables
	.section	.rodata
	.align	2
.LC85:
	.ascii	"Usage: %s UnicodeData.txt version\012\000"
	.align	2
.LC86:
	.ascii	"unicode\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	.L236
	ldr	r3, .L238
	ldr	r0, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L238+4
	bl	fprintf
	mov	r0, #1
	bl	exit
.L236:
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fill_attributes
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L238+8
	bl	output_tables
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L239:
	.align	2
.L238:
	.word	stderr
	.word	.LC85
	.word	.LC86
	.size	main, .-main
	.local	buf.5533
	.comm	buf.5533,12,4
	.local	buf.5538
	.comm	buf.5538,25,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
