proc nextadd
	filen	adlutils.icn
	local	0,000020,comments
	local	1,000020,header
	local	2,000020,line
	local	3,000020,text
	local	4,000000,Read
	local	5,000000,PutBack
	local	6,000000,pos
	local	7,000000,move
	local	8,000000,tab
	local	9,000000,label
	con	0,010000,1,043
	con	1,010000,0
	con	2,002000,1,0
	con	3,010000,1,052
	con	4,010000,1,012
	con	5,002000,1,1
	declend
	line	40
	colm	11
	init	L1
	mark	L1
lab L2
	mark0
	pnull
	var	2
	var	4
	line	44
	colm	25
	invoke	0
	line	44
	colm	18
	asgn
	unmark
	mark	L2
	var	2
	line	45
	colm	15
	bscan
	mark0
	pnull
	str	0
	line	46
	colm	16
	tabmat
	unmark
	mark	L5
	var	5
	var	2
	line	47
	colm	23
	invoke	1
	unmark
lab L5
	unmark
	pnull
	goto	L4
	line	45
	colm	15
	escan
lab L3
	unmark
	goto	L2
lab L4
	unmark
lab L1
	mark	L6
	pnull
	var	1
	mark	L7
	var	4
	line	53
	colm	18
	invoke	0
	esusp
	goto	L8
lab L7
	line	53
	colm	23
	pfail
lab L8
	line	53
	colm	11
	asgn
	unmark
lab L6
	mark	L9
	pnull
	var	0
	pnull
	var	3
	str	1
	line	55
	colm	21
	asgn
	line	55
	colm	13
	asgn
	unmark
lab L9
	mark	L10
lab L11
	mark0
	pnull
	var	2
	var	4
	line	57
	colm	22
	invoke	0
	line	57
	colm	15
	asgn
	unmark
	mark	L11
	var	2
	line	58
	colm	12
	bscan
	mark	L14
	var	6
	int	2
	line	59
	colm	16
	invoke	1
	unmark
	goto	L12
	goto	L15
lab L14
	mark	L16
	pnull
	str	3
	line	60
	colm	18
	tabmat
	unmark
	pnull
	var	0
	dup
	pnull
	str	4
	var	2
	line	60
	colm	47
	cat
	line	60
	colm	37
	cat
	asgn
	goto	L17
lab L16
	mark	L18
	pnull
	str	0
	line	61
	colm	18
	tabmat
	unmark
	mark	L20
	var	5
	var	2
	line	62
	colm	20
	invoke	1
	unmark
lab L20
	unmark
	pnull
	goto	L13
	goto	L19
lab L18
	pnull
	var	3
	dup
	pnull
	str	4
	var	2
	line	65
	colm	30
	cat
	line	65
	colm	20
	cat
	asgn
lab L19
lab L17
lab L15
	line	58
	colm	12
	escan
lab L12
	unmark
	goto	L11
lab L13
	unmark
lab L10
	mark	L21
	mark0
	pnull
	mark	L24
	var	3
	esusp
	goto	L25
lab L24
	var	0
lab L25
	sdup
	line	67
	colm	26
	bscan
	mark	L26
	var	7
	int	5
	line	68
	colm	11
	invoke	1
	unmark
lab L26
	var	8
	int	2
	line	69
	colm	10
	invoke	1
	line	67
	colm	26
	escan
	asgn
	pop
lab L22
	efail
lab L23
	unmark
lab L21
	mark	L27
	mark	L28
	var	9
	var	1
	var	3
	var	0
	line	72
	colm	16
	invoke	3
	line	72
	colm	4
	pret
lab L28
	pfail
	unmark
lab L27
	pnull
	line	74
	colm	1
	pfail
	end
proc writeadd
	local	0,001000,add
	local	1,000000,write
	con	0,002000,1,0
	declend
	line	76
	colm	11
	mark	L1
	mark0
	pnull
	pnull
	pnull
	pnull
	var	0
	line	78
	colm	11
	field	text
	line	78
	colm	7
	size
	pnull
	pnull
	var	0
	line	78
	colm	23
	field	comments
	line	78
	colm	19
	size
	line	78
	colm	17
	plus
	int	0
	line	78
	colm	33
	numeq
	unmark
	mark	L2
	pnull
	line	78
	colm	42
	pret
lab L2
	pfail
	unmark
lab L1
	mark	L3
	var	1
	pnull
	var	0
	line	79
	colm	13
	field	header
	line	79
	colm	9
	invoke	1
	unmark
lab L3
	mark	L4
	mark0
	pnull
	pnull
	pnull
	var	0
	line	80
	colm	11
	field	text
	line	80
	colm	7
	size
	int	0
	line	80
	colm	17
	numgt
	unmark
	var	1
	pnull
	var	0
	line	80
	colm	35
	field	text
	line	80
	colm	31
	invoke	1
	unmark
lab L4
	mark	L5
	mark0
	pnull
	pnull
	pnull
	var	0
	line	81
	colm	11
	field	comments
	line	81
	colm	7
	size
	int	0
	line	81
	colm	21
	numgt
	unmark
	var	1
	pnull
	var	0
	line	81
	colm	39
	field	comments
	line	81
	colm	35
	invoke	1
	unmark
lab L5
	mark	L6
	mark	L7
	pnull
	line	83
	colm	4
	pret
lab L7
	pfail
	unmark
lab L6
	pnull
	line	85
	colm	1
	pfail
	end
proc get_country
	local	0,001000,add
	local	1,000000,trim
	local	2,000000,tab
	local	3,000000,upto
	local	4,000000,move
	local	5,000000,any
	con	0,020000,1,012
	con	1,002000,1,1
	con	2,002000,1,0
	con	3,010000,6,125,056,123,056,101,056
	declend
	line	87
	colm	11
	mark	L1
	var	1
	pnull
	var	0
	line	89
	colm	12
	field	text
	line	89
	colm	8
	invoke	1
	line	89
	colm	19
	bscan
	mark	L2
lab L3
	mark0
	var	2
	var	3
	cset	0
	line	90
	colm	21
	invoke	1
	line	90
	colm	16
	invoke	1
	unmark
	mark	L3
	var	4
	int	1
	line	90
	colm	36
	invoke	1
lab L4
	unmark
	goto	L3
lab L5
	unmark
lab L2
	mark	L6
	var	2
	int	2
	line	91
	colm	13
	invoke	1
	line	91
	colm	17
	bscan
	mark	L8
	var	2
	pnull
	int	1
	line	92
	colm	14
	neg
	line	92
	colm	13
	invoke	1
	unmark
lab L8
	var	5
	line	93
	colm	14
	keywd	digits
	line	93
	colm	13
	invoke	1
	line	91
	colm	17
	escan
	unmark
	mark	L9
	str	3
	line	94
	colm	17
	pret
lab L9
	pfail
	goto	L7
lab L6
	mark	L10
	var	2
	int	2
	line	95
	colm	22
	invoke	1
	line	95
	colm	12
	pret
lab L10
	pfail
lab L7
	line	89
	colm	19
	escan
	unmark
lab L1
	pnull
	line	97
	colm	1
	pfail
	end
proc get_state
	local	0,001000,add
	local	1,000000,trim
	local	2,000000,tab
	local	3,000000,upto
	local	4,000000,move
	local	5,000000,many
	local	6,000000,any
	con	0,020000,1,012
	con	1,002000,1,1
	con	2,010000,3,101,120,117
	con	3,020000,1,054
	con	4,020000,1,040
	con	5,010000,2,130,130
	declend
	line	99
	colm	11
	mark	L1
	var	1
	pnull
	var	0
	line	101
	colm	12
	field	text
	line	101
	colm	8
	invoke	1
	line	101
	colm	19
	bscan
	mark	L2
lab L3
	mark0
	var	2
	var	3
	cset	0
	line	102
	colm	21
	invoke	1
	line	102
	colm	16
	invoke	1
	unmark
	mark	L3
	var	4
	int	1
	line	102
	colm	36
	invoke	1
lab L4
	unmark
	goto	L3
lab L5
	unmark
lab L2
	mark	L6
	pnull
	str	2
	line	103
	colm	7
	tabmat
	unmark
lab L6
	mark	L7
lab L8
	mark0
	var	2
	var	3
	cset	3
	line	104
	colm	21
	invoke	1
	line	104
	colm	16
	invoke	1
	unmark
	mark	L8
	var	4
	int	1
	line	104
	colm	35
	invoke	1
lab L9
	unmark
	goto	L8
lab L10
	unmark
lab L7
	mark	L11
	var	2
	var	5
	cset	4
	line	105
	colm	15
	invoke	1
	line	105
	colm	10
	invoke	1
	unmark
lab L11
	mark	L12
	mark	L13
	pnull
	var	2
	var	6
	line	106
	colm	23
	keywd	ucase
	line	106
	colm	22
	invoke	1
	line	106
	colm	18
	invoke	1
	var	2
	var	6
	line	106
	colm	43
	keywd	ucase
	line	106
	colm	42
	invoke	1
	line	106
	colm	38
	invoke	1
	line	106
	colm	32
	cat
	esusp
	goto	L14
lab L13
	str	5
lab L14
	line	106
	colm	7
	pret
lab L12
	pfail
	line	101
	colm	19
	escan
	unmark
lab L1
	pnull
	line	109
	colm	1
	pfail
	end
proc get_city
	local	0,001000,add
	local	1,000020,result
	local	2,000000,trim
	local	3,000000,tab
	local	4,000000,upto
	local	5,000000,move
	con	0,010000,0
	con	1,020000,1,012
	con	2,002000,1,1
	con	3,010000,3,101,120,117
	con	4,020000,1,054
	declend
	line	111
	colm	11
	mark	L1
	pnull
	var	1
	str	0
	line	114
	colm	11
	asgn
	unmark
lab L1
	mark	L2
	var	2
	pnull
	var	0
	line	115
	colm	12
	field	text
	line	115
	colm	8
	invoke	1
	line	115
	colm	19
	bscan
	mark	L3
lab L4
	mark0
	var	3
	var	4
	cset	1
	line	116
	colm	21
	invoke	1
	line	116
	colm	16
	invoke	1
	unmark
	mark	L4
	var	5
	int	2
	line	116
	colm	36
	invoke	1
lab L5
	unmark
	goto	L4
lab L6
	unmark
lab L3
	mark	L7
	pnull
	var	1
	pnull
	str	3
	line	117
	colm	17
	tabmat
	line	117
	colm	14
	asgn
	unmark
lab L7
	mark	L8
	pnull
	var	1
	dup
	var	3
	var	4
	cset	4
	line	118
	colm	27
	invoke	1
	line	118
	colm	22
	invoke	1
	line	118
	colm	14
	cat
	asgn
	unmark
lab L8
	mark	L9
	var	1
	line	119
	colm	7
	pret
lab L9
	pfail
	line	115
	colm	19
	escan
	unmark
lab L2
	pnull
	line	122
	colm	1
	pfail
	end
proc get_zipcode
	local	0,001000,add
	local	1,000020,zip
	local	2,000000,trim
	local	3,000000,tab
	local	4,000000,upto
	local	5,000000,move
	local	6,000000,many
	local	7,000000,integer
	con	0,020000,1,012
	con	1,002000,1,1
	con	2,020000,1,040
	con	3,002000,1,0
	con	4,002000,1,5
	con	5,002000,2,10
	con	6,010000,1,055
	con	7,010000,10,071,071,071,071,071,071,071,071,071,071
	declend
	line	126
	colm	11
	mark	L1
	var	2
	pnull
	var	0
	line	129
	colm	12
	field	text
	line	129
	colm	8
	invoke	1
	line	129
	colm	19
	bscan
	mark	L2
lab L3
	mark0
	var	3
	var	4
	cset	0
	line	130
	colm	21
	invoke	1
	line	130
	colm	16
	invoke	1
	unmark
	mark	L3
	var	5
	int	1
	line	130
	colm	36
	invoke	1
lab L4
	unmark
	goto	L3
lab L5
	unmark
lab L2
	mark	L6
lab L7
	mark0
	var	3
	var	4
	cset	2
	line	131
	colm	21
	invoke	1
	line	131
	colm	16
	invoke	1
	unmark
	mark	L7
	var	3
	var	6
	cset	2
	line	131
	colm	39
	invoke	1
	line	131
	colm	34
	invoke	1
lab L8
	unmark
	goto	L7
lab L9
	unmark
lab L6
	mark	L10
	pnull
	var	1
	var	3
	int	3
	line	132
	colm	17
	invoke	1
	line	132
	colm	11
	asgn
	unmark
lab L10
	mark	L11
	pnull
	pnull
	var	1
	line	133
	colm	10
	size
	int	4
	line	133
	colm	15
	numeq
	pop
	var	7
	var	1
	line	133
	colm	28
	invoke	1
	unmark
	mark	L13
	var	1
	line	133
	colm	39
	pret
lab L13
	pfail
	goto	L12
lab L11
	mark	L14
	pnull
	pnull
	var	1
	line	134
	colm	15
	size
	int	5
	line	134
	colm	20
	numeq
	pop
	var	1
	line	134
	colm	31
	bscan
	var	7
	var	5
	int	4
	line	135
	colm	22
	invoke	1
	line	135
	colm	17
	invoke	1
	pop
	pnull
	str	6
	line	135
	colm	29
	tabmat
	pop
	var	7
	var	3
	int	3
	line	135
	colm	47
	invoke	1
	line	135
	colm	43
	invoke	1
	line	134
	colm	31
	escan
	unmark
	mark	L16
	var	1
	line	137
	colm	12
	pret
lab L16
	pfail
	goto	L15
lab L14
	mark	L17
	str	7
	line	138
	colm	12
	pret
lab L17
	pfail
lab L15
lab L12
	line	129
	colm	19
	escan
	unmark
lab L1
	pnull
	line	141
	colm	1
	pfail
	end
proc get_lastname
	local	0,001000,add
	local	1,000000,lastname
	local	2,000000,tab
	local	3,000000,upto
	con	0,020000,1,012
	con	1,002000,1,0
	declend
	line	143
	colm	11
	mark	L1
	mark	L2
	var	1
	pnull
	var	0
	line	145
	colm	23
	field	text
	line	145
	colm	29
	bscan
	var	2
	mark	L3
	var	3
	cset	0
	line	145
	colm	39
	invoke	1
	esusp
	goto	L4
lab L3
	int	1
lab L4
	line	145
	colm	34
	invoke	1
	line	145
	colm	29
	escan
	line	145
	colm	19
	invoke	1
	line	145
	colm	4
	pret
lab L2
	pfail
	unmark
lab L1
	pnull
	line	147
	colm	1
	pfail
	end
proc get_namepfx
	local	0,001000,add
	local	1,000000,namepfx
	local	2,000000,tab
	local	3,000000,upto
	con	0,020000,1,012
	con	1,002000,1,0
	declend
	line	149
	colm	11
	mark	L1
	mark	L2
	var	1
	pnull
	var	0
	line	151
	colm	22
	field	text
	line	151
	colm	28
	bscan
	var	2
	mark	L3
	var	3
	cset	0
	line	151
	colm	38
	invoke	1
	esusp
	goto	L4
lab L3
	int	1
lab L4
	line	151
	colm	33
	invoke	1
	line	151
	colm	28
	escan
	line	151
	colm	18
	invoke	1
	line	151
	colm	4
	pret
lab L2
	pfail
	unmark
lab L1
	pnull
	line	153
	colm	1
	pfail
	end
proc get_title
	local	0,001000,add
	local	1,000000,title
	local	2,000000,tab
	local	3,000000,upto
	con	0,020000,1,012
	con	1,002000,1,0
	declend
	line	155
	colm	11
	mark	L1
	mark	L2
	var	1
	pnull
	var	0
	line	157
	colm	20
	field	text
	line	157
	colm	26
	bscan
	var	2
	mark	L3
	var	3
	cset	0
	line	157
	colm	36
	invoke	1
	esusp
	goto	L4
lab L3
	int	1
lab L4
	line	157
	colm	31
	invoke	1
	line	157
	colm	26
	escan
	line	157
	colm	16
	invoke	1
	line	157
	colm	4
	pret
lab L2
	pfail
	unmark
lab L1
	pnull
	line	159
	colm	1
	pfail
	end
proc format_country
	local	0,001000,s
	local	1,000020,t
	local	2,000020,word
	local	3,000000,map
	local	4,000000,tab
	local	5,000000,upto
	local	6,000000,many
	local	7,000000,move
	con	0,010000,0
	con	1,010000,2,157,146
	con	2,002000,1,1
	con	3,002000,1,0
	declend
	line	161
	colm	11
	mark	L1
	pnull
	var	0
	var	3
	var	0
	line	164
	colm	12
	invoke	1
	line	164
	colm	6
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	1
	str	0
	line	165
	colm	6
	asgn
	unmark
lab L2
	mark	L3
	var	0
	line	166
	colm	6
	bscan
lab L4
	mark0
	var	4
	var	5
	line	166
	colm	23
	keywd	lcase
	line	166
	colm	22
	invoke	1
	line	166
	colm	17
	invoke	1
	unmark
	mark	L4
	mark	L7
	pnull
	var	2
	var	4
	var	6
	line	167
	colm	24
	keywd	lcase
	line	167
	colm	23
	invoke	1
	line	167
	colm	18
	invoke	1
	line	167
	colm	12
	asgn
	unmark
lab L7
	mark	L8
	mark	L9
	pnull
	var	2
	str	1
	line	168
	colm	15
	lexeq
	unmark
	pnull
	var	1
	dup
	var	2
	line	168
	colm	30
	cat
	asgn
	goto	L10
lab L9
	pnull
	var	1
	dup
	var	2
	line	170
	colm	15
	bscan
	pnull
	var	3
	var	7
	int	2
	line	171
	colm	21
	invoke	1
	line	171
	colm	25
	keywd	lcase
	line	171
	colm	32
	keywd	ucase
	line	171
	colm	16
	invoke	3
	var	4
	int	3
	line	171
	colm	46
	invoke	1
	line	171
	colm	40
	cat
	line	170
	colm	15
	escan
	line	169
	colm	14
	cat
	asgn
lab L10
	unmark
lab L8
	pnull
	var	1
	dup
	var	7
	int	2
	line	174
	colm	18
	invoke	1
	line	174
	colm	9
	cat
	asgn
lab L5
	unmark
	goto	L4
lab L6
	line	166
	colm	6
	escan
	unmark
lab L3
	mark	L11
	mark	L12
	var	1
	line	176
	colm	4
	pret
lab L12
	pfail
	unmark
lab L11
	pnull
	line	177
	colm	1
	pfail
	end
