proc Vgrid
	filen	vgrid.icn
	local	0,001000,params
	local	1,000020,self
	local	2,000020,i
	local	3,000020,frame
	local	4,000020,x
	local	5,000020,y
	local	6,000020,ins
	local	7,000040,procs
	local	8,000000,Vstd
	local	9,000000,event_Vgrid
	local	10,000000,draw_Vgrid
	local	11,000000,outline_Vidget
	local	12,000000,resize_Vgrid
	local	13,000000,inrange_Vpane
	local	14,000000,init_Vgrid
	local	15,000000,Vinsert_check
	local	16,000000,pop
	local	17,000000,Vgrid_rec
	local	18,000000,Vwin_check
	local	19,000000,numeric
	local	20,000000,_Vbomb
	local	21,000000,Vstd_pos
	local	22,000000,Vget_uid
	local	23,000000,VInsert
	con	0,002000,1,1
	con	1,002000,1,8
	con	2,002000,1,0
	con	3,010000,7,126,147,162,151,144,050,051
	con	4,010000,31,151,156,166,141,154,151,144,040,141,167,040,160,141,162,141,155,145,164,145,162,040,164,157,040,126,147,162,151,144,050,051
	con	5,010000,31,151,156,166,141,154,151,144,040,141,150,040,160,141,162,141,155,145,164,145,162,040,164,157,040,126,147,162,151,144,050,051
	con	6,010000,33,151,156,166,141,154,151,144,040,162,157,167,163,040,160,141,162,141,155,145,164,145,162,040,164,157,040,126,147,162,151,144,050,051
	con	7,010000,33,151,156,166,141,154,151,144,040,143,157,154,163,040,160,141,162,141,155,145,164,145,162,040,164,157,040,126,147,162,151,144,050,051
	declend
	line	26
	colm	11
	init	L1
	mark	L1
	pnull
	var	7
	var	8
	var	9
	var	10
	var	11
	var	12
	var	13
	var	14
	line	30
	colm	25
	invoke	6
	line	30
	colm	18
	asgn
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	6
	var	15
	var	0
	line	33
	colm	27
	invoke	1
	line	33
	colm	11
	asgn
	unmark
	mark	L3
	pnull
	var	3
	var	16
	var	0
	line	34
	colm	19
	invoke	1
	line	34
	colm	13
	asgn
	unmark
lab L3
	mark	L4
	pnull
	var	4
	var	16
	var	0
	line	34
	colm	37
	invoke	1
	line	34
	colm	31
	asgn
	unmark
lab L4
	pnull
	var	5
	var	16
	var	0
	line	34
	colm	54
	invoke	1
	line	34
	colm	48
	asgn
	unmark
lab L2
	mark	L5
	pnull
	var	1
	var	17
	pnull
	var	0
	int	0
	mark	L6
	int	1
	esusp
	goto	L7
lab L6
	int	2
lab L7
	line	36
	colm	32
	sect
	invoke	-1
	line	36
	colm	9
	asgn
	unmark
lab L5
	mark	L8
	var	18
	pnull
	var	1
	line	37
	colm	19
	field	win
	str	3
	line	37
	colm	14
	invoke	2
	unmark
lab L8
	mark	L9
	mark0
	pushn1
	pnull
	pnull
	var	1
	line	38
	colm	13
	field	aw
	line	38
	colm	8
	nonnull
	mark	L10
	var	19
	pnull
	var	1
	line	38
	colm	34
	field	aw
	line	38
	colm	29
	invoke	1
	unmark
	efail
lab L10
	pnull
	line	38
	colm	7
	invoke	2
	unmark
	var	20
	str	4
	line	39
	colm	13
	invoke	1
	unmark
lab L9
	mark	L11
	mark0
	pushn1
	pnull
	pnull
	var	1
	line	40
	colm	13
	field	ah
	line	40
	colm	8
	nonnull
	mark	L12
	var	19
	pnull
	var	1
	line	40
	colm	34
	field	ah
	line	40
	colm	29
	invoke	1
	unmark
	efail
lab L12
	pnull
	line	40
	colm	7
	invoke	2
	unmark
	var	20
	str	5
	line	41
	colm	13
	invoke	1
	unmark
lab L11
	mark	L13
	mark0
	pushn1
	pnull
	pnull
	var	1
	line	42
	colm	13
	field	rows
	line	42
	colm	8
	nonnull
	mark	L14
	var	19
	pnull
	var	1
	line	42
	colm	36
	field	rows
	line	42
	colm	31
	invoke	1
	unmark
	efail
lab L14
	pnull
	line	42
	colm	7
	invoke	2
	unmark
	var	20
	str	6
	line	43
	colm	13
	invoke	1
	unmark
lab L13
	mark	L15
	mark0
	pushn1
	pnull
	pnull
	var	1
	line	44
	colm	13
	field	cols
	line	44
	colm	8
	nonnull
	mark	L16
	var	19
	pnull
	var	1
	line	44
	colm	36
	field	cols
	line	44
	colm	31
	invoke	1
	unmark
	efail
lab L16
	pnull
	line	44
	colm	7
	invoke	2
	unmark
	var	20
	str	7
	line	45
	colm	13
	invoke	1
	unmark
lab L15
	mark	L17
	pnull
	pnull
	var	1
	line	47
	colm	8
	field	V
	var	7
	line	47
	colm	11
	asgn
	unmark
lab L17
	mark	L18
	pnull
	pnull
	var	1
	line	48
	colm	8
	field	P
	var	21
	line	48
	colm	22
	invoke	0
	line	48
	colm	11
	asgn
	unmark
lab L18
	mark	L19
	pnull
	pnull
	var	1
	line	49
	colm	8
	field	uid
	var	22
	line	49
	colm	24
	invoke	0
	line	49
	colm	13
	asgn
	unmark
lab L19
	mark	L20
	pnull
	pnull
	var	1
	line	51
	colm	8
	field	V
	line	51
	colm	10
	field	init
	var	1
	line	51
	colm	15
	invoke	1
	unmark
lab L20
	mark	L21
	mark0
	pnull
	var	6
	line	52
	colm	7
	nonnull
	unmark
	var	23
	var	3
	var	1
	var	4
	var	5
	line	52
	colm	24
	invoke	4
	unmark
lab L21
	mark	L22
	mark	L23
	var	1
	line	53
	colm	4
	pret
lab L23
	pfail
	unmark
lab L22
	pnull
	line	54
	colm	1
	pfail
	end
proc init_Vgrid
	local	0,001000,self
	local	1,000020,p
	local	2,000000,table
	local	3,000000,Vcoupler
	local	4,000000,add_clients_Vinit
	con	0,002000,3,100
	con	1,002000,2,10
	declend
	line	56
	colm	11
	mark	L1
	pnull
	pnull
	var	0
	line	59
	colm	8
	field	Hpos
	var	2
	line	59
	colm	22
	invoke	0
	line	59
	colm	14
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	60
	colm	8
	field	Vpos
	var	2
	line	60
	colm	22
	invoke	0
	line	60
	colm	14
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	pnull
	var	0
	line	61
	colm	9
	field	aw
	line	61
	colm	4
	null
	int	0
	line	61
	colm	13
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	pnull
	var	0
	line	62
	colm	9
	field	ah
	line	62
	colm	4
	null
	int	0
	line	62
	colm	13
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	pnull
	var	0
	line	63
	colm	9
	field	rows
	line	63
	colm	4
	null
	int	1
	line	63
	colm	15
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	pnull
	var	0
	line	64
	colm	9
	field	cols
	line	64
	colm	4
	null
	int	1
	line	64
	colm	15
	asgn
	unmark
lab L6
	mark	L7
	pnull
	var	1
	pnull
	pnull
	var	0
	line	66
	colm	14
	field	callback
	line	66
	colm	9
	nonnull
	line	66
	colm	6
	asgn
	unmark
lab L7
	mark	L8
	pnull
	pnull
	var	0
	line	67
	colm	8
	field	callback
	var	3
	line	67
	colm	29
	invoke	0
	line	67
	colm	18
	asgn
	unmark
lab L8
	mark	L9
	var	4
	pnull
	var	0
	line	68
	colm	26
	field	callback
	var	1
	var	0
	line	68
	colm	21
	invoke	3
	unmark
lab L9
	mark	L10
	mark	L11
	var	0
	line	69
	colm	4
	pret
lab L11
	pfail
	unmark
lab L10
	pnull
	line	70
	colm	1
	pfail
	end
proc draw_Vgrid
	local	0,001000,self
	local	1,000020,i
	local	2,000000,DrawLine
	con	0,002000,1,0
	declend
	line	72
	colm	11
	mark	L1
	mark0
	pnull
	var	1
	pnull
	int	0
	pnull
	var	0
	line	76
	colm	24
	field	cols
	push1
	line	76
	colm	17
	toby
	line	76
	colm	12
	asgn
	pop
	mark0
	var	2
	pnull
	var	0
	line	77
	colm	20
	field	win
	pnull
	pnull
	var	0
	line	77
	colm	30
	field	ax
	pnull
	pnull
	var	0
	line	77
	colm	38
	field	Hpos
	var	1
	line	77
	colm	43
	subsc
	line	77
	colm	33
	plus
	pnull
	var	0
	line	77
	colm	52
	field	ay
	pnull
	pnull
	var	0
	line	78
	colm	14
	field	ax
	pnull
	pnull
	var	0
	line	78
	colm	22
	field	Hpos
	var	1
	line	78
	colm	27
	subsc
	line	78
	colm	17
	plus
	pnull
	pnull
	var	0
	line	78
	colm	36
	field	ay
	pnull
	var	0
	line	78
	colm	44
	field	ah
	line	78
	colm	39
	plus
	line	77
	colm	15
	invoke	5
	unmark
lab L2
	efail
lab L3
	unmark
lab L1
	mark	L4
	mark0
	pnull
	var	1
	pnull
	int	0
	pnull
	var	0
	line	81
	colm	24
	field	rows
	push1
	line	81
	colm	17
	toby
	line	81
	colm	12
	asgn
	pop
	mark0
	var	2
	pnull
	var	0
	line	82
	colm	20
	field	win
	pnull
	var	0
	line	82
	colm	30
	field	ax
	pnull
	pnull
	var	0
	line	82
	colm	39
	field	ay
	pnull
	pnull
	var	0
	line	82
	colm	47
	field	Vpos
	var	1
	line	82
	colm	52
	subsc
	line	82
	colm	42
	plus
	pnull
	pnull
	var	0
	line	83
	colm	14
	field	ax
	pnull
	var	0
	line	83
	colm	22
	field	aw
	line	83
	colm	17
	plus
	pnull
	pnull
	var	0
	line	83
	colm	31
	field	ay
	pnull
	pnull
	var	0
	line	83
	colm	39
	field	Vpos
	var	1
	line	83
	colm	44
	subsc
	line	83
	colm	34
	plus
	line	82
	colm	15
	invoke	5
	unmark
lab L5
	efail
lab L6
	unmark
lab L4
	pnull
	line	84
	colm	1
	pfail
	end
proc event_Vgrid
	local	0,001000,self
	local	1,001000,e
	local	2,000020,row
	local	3,000020,col
	local	4,000000,VGetCol
	local	5,000000,VGetRow
	declend
	line	86
	colm	11
	mark	L1
	mark0
	pnull
	pnull
	pnull
	var	0
	line	89
	colm	12
	field	callback
	line	89
	colm	21
	field	locked
	line	89
	colm	7
	nonnull
	unmark
	line	89
	colm	34
	pfail
	unmark
lab L1
	mark	L2
	pnull
	var	3
	var	4
	var	0
	line	90
	colm	25
	keywd	x
	line	90
	colm	18
	invoke	2
	line	90
	colm	8
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	2
	var	5
	var	0
	line	91
	colm	25
	keywd	y
	line	91
	colm	18
	invoke	2
	line	91
	colm	8
	asgn
	unmark
lab L3
	mark	L4
	mark	L5
	pnull
	pnull
	pnull
	var	0
	line	92
	colm	15
	field	callback
	line	92
	colm	24
	field	V
	line	92
	colm	26
	field	set
	pnull
	var	0
	line	92
	colm	35
	field	callback
	var	0
	pnull
	var	2
	var	3
	var	1
	line	92
	colm	52
	llist	3
	line	92
	colm	30
	invoke	3
	line	92
	colm	4
	pret
lab L5
	pfail
	unmark
lab L4
	pnull
	line	93
	colm	1
	pfail
	end
proc resize_Vgrid
	local	0,001000,self
	local	1,001000,x
	local	2,001000,y
	local	3,001000,w
	local	4,001000,h
	local	5,000020,i
	local	6,000000,resize_Vidget
	local	7,000000,real
	local	8,000000,integer
	con	0,002000,1,1
	con	1,002000,1,0
	declend
	line	95
	colm	11
	mark	L1
	var	6
	var	0
	var	1
	var	2
	var	3
	var	4
	line	98
	colm	17
	invoke	5
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	100
	colm	8
	field	hpad
	mark	L3
	pnull
	int	0
	pnull
	pnull
	var	0
	line	100
	colm	26
	field	aw
	var	7
	pnull
	var	0
	line	100
	colm	41
	field	cols
	line	100
	colm	36
	invoke	1
	line	100
	colm	30
	div
	line	100
	colm	19
	numle
	esusp
	goto	L4
lab L3
	int	0
lab L4
	line	100
	colm	14
	asgn
	unmark
lab L2
	mark	L5
	pnull
	pnull
	var	0
	line	101
	colm	8
	field	vpad
	mark	L6
	pnull
	int	0
	pnull
	pnull
	var	0
	line	101
	colm	26
	field	ah
	var	7
	pnull
	var	0
	line	101
	colm	41
	field	rows
	line	101
	colm	36
	invoke	1
	line	101
	colm	30
	div
	line	101
	colm	19
	numle
	esusp
	goto	L7
lab L6
	int	0
lab L7
	line	101
	colm	14
	asgn
	unmark
lab L5
	mark	L8
	mark0
	pnull
	var	5
	pnull
	int	1
	pnull
	var	0
	line	103
	colm	24
	field	cols
	push1
	line	103
	colm	17
	toby
	line	103
	colm	12
	asgn
	pop
	mark0
	pnull
	pnull
	pnull
	var	0
	line	104
	colm	11
	field	Hpos
	var	5
	line	104
	colm	16
	subsc
	var	8
	pnull
	var	5
	pnull
	var	0
	line	104
	colm	40
	field	hpad
	line	104
	colm	34
	mult
	line	104
	colm	31
	invoke	1
	line	104
	colm	20
	asgn
	unmark
lab L9
	efail
lab L10
	unmark
lab L8
	mark	L11
	mark0
	pnull
	var	5
	pnull
	int	1
	pnull
	var	0
	line	106
	colm	24
	field	rows
	push1
	line	106
	colm	17
	toby
	line	106
	colm	12
	asgn
	pop
	mark0
	pnull
	pnull
	pnull
	var	0
	line	107
	colm	11
	field	Vpos
	var	5
	line	107
	colm	16
	subsc
	var	8
	pnull
	var	5
	pnull
	var	0
	line	107
	colm	39
	field	vpad
	line	107
	colm	33
	mult
	line	107
	colm	30
	invoke	1
	line	107
	colm	20
	asgn
	unmark
lab L12
	efail
lab L13
	unmark
lab L11
	pnull
	line	108
	colm	1
	pfail
	end
proc VFillGrid
	local	0,001000,self
	local	1,001000,row
	local	2,001000,col
	local	3,000000,FillRectangle
	con	0,002000,1,1
	declend
	line	110
	colm	11
	mark	L1
	var	3
	pnull
	var	0
	line	112
	colm	22
	field	win
	pnull
	pnull
	var	0
	line	112
	colm	32
	field	ax
	pnull
	pnull
	var	0
	line	112
	colm	40
	field	Hpos
	var	2
	line	112
	colm	45
	subsc
	line	112
	colm	35
	plus
	pnull
	pnull
	var	0
	line	112
	colm	56
	field	ay
	pnull
	pnull
	var	0
	line	112
	colm	64
	field	Vpos
	var	1
	line	112
	colm	69
	subsc
	line	112
	colm	59
	plus
	mark	L2
	pnull
	int	0
	pnull
	pnull
	pnull
	var	0
	line	113
	colm	16
	field	Hpos
	pnull
	var	2
	int	0
	line	113
	colm	25
	plus
	line	113
	colm	21
	subsc
	pnull
	pnull
	var	0
	line	113
	colm	35
	field	Hpos
	var	2
	line	113
	colm	40
	subsc
	line	113
	colm	29
	minus
	line	113
	colm	9
	numle
	esusp
	goto	L3
lab L2
	int	0
lab L3
	mark	L4
	pnull
	int	0
	pnull
	pnull
	pnull
	var	0
	line	114
	colm	16
	field	Vpos
	pnull
	var	1
	int	0
	line	114
	colm	25
	plus
	line	114
	colm	21
	subsc
	pnull
	pnull
	var	0
	line	114
	colm	35
	field	Vpos
	var	1
	line	114
	colm	40
	subsc
	line	114
	colm	29
	minus
	line	114
	colm	9
	numle
	esusp
	goto	L5
lab L4
	int	0
lab L5
	line	112
	colm	17
	invoke	5
	unmark
lab L1
	pnull
	line	115
	colm	1
	pfail
	end
proc check_Vgrid
	local	0,001000,self
	local	1,001000,row
	local	2,001000,col
	declend
	line	117
	colm	11
	line	119
	colm	1
	pfail
	end
proc VEraseGrid
	local	0,001000,self
	local	1,001000,row
	local	2,001000,col
	local	3,000000,EraseArea
	con	0,002000,1,1
	declend
	line	121
	colm	11
	mark	L1
	var	3
	pnull
	var	0
	line	123
	colm	18
	field	win
	pnull
	pnull
	pnull
	var	0
	line	123
	colm	28
	field	ax
	pnull
	pnull
	var	0
	line	123
	colm	36
	field	Hpos
	var	2
	line	123
	colm	41
	subsc
	line	123
	colm	31
	plus
	int	0
	line	123
	colm	46
	plus
	pnull
	pnull
	pnull
	var	0
	line	123
	colm	54
	field	ay
	pnull
	pnull
	var	0
	line	123
	colm	62
	field	Vpos
	var	1
	line	123
	colm	67
	subsc
	line	123
	colm	57
	plus
	int	0
	line	123
	colm	72
	plus
	mark	L2
	pnull
	int	0
	pnull
	pnull
	pnull
	pnull
	var	0
	line	124
	colm	18
	field	Hpos
	pnull
	var	2
	int	0
	line	124
	colm	27
	plus
	line	124
	colm	23
	subsc
	pnull
	pnull
	var	0
	line	124
	colm	37
	field	Hpos
	var	2
	line	124
	colm	42
	subsc
	line	124
	colm	31
	minus
	int	0
	line	124
	colm	48
	minus
	line	124
	colm	9
	numle
	esusp
	goto	L3
lab L2
	int	0
lab L3
	mark	L4
	pnull
	int	0
	pnull
	pnull
	pnull
	pnull
	var	0
	line	125
	colm	18
	field	Vpos
	pnull
	var	1
	int	0
	line	125
	colm	27
	plus
	line	125
	colm	23
	subsc
	pnull
	pnull
	var	0
	line	125
	colm	37
	field	Vpos
	var	1
	line	125
	colm	42
	subsc
	line	125
	colm	31
	minus
	int	0
	line	125
	colm	48
	minus
	line	125
	colm	9
	numle
	esusp
	goto	L5
lab L4
	int	0
lab L5
	line	123
	colm	13
	invoke	5
	unmark
lab L1
	pnull
	line	126
	colm	1
	pfail
	end
proc VGetRow
	local	0,001000,self
	local	1,001000,y
	local	2,000020,row
	local	3,000000,integer
	local	4,000000,real
	con	0,002000,1,0
	con	1,002000,1,1
	declend
	line	128
	colm	11
	mark	L1
	pnull
	var	2
	var	3
	pnull
	pnull
	var	1
	pnull
	var	0
	line	131
	colm	29
	field	ay
	line	131
	colm	23
	minus
	var	4
	pnull
	var	0
	line	131
	colm	45
	field	vpad
	line	131
	colm	40
	invoke	1
	line	131
	colm	34
	div
	line	131
	colm	18
	invoke	1
	line	131
	colm	8
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	2
	mark	L3
	pnull
	var	2
	int	0
	line	132
	colm	15
	numlt
	esusp
	goto	L4
lab L3
	pnull
	var	2
	pnull
	pnull
	var	0
	line	132
	colm	31
	field	rows
	int	1
	line	132
	colm	37
	minus
	line	132
	colm	25
	numgt
lab L4
	line	132
	colm	8
	asgn
	unmark
lab L2
	mark	L5
	mark	L6
	var	2
	line	133
	colm	4
	pret
lab L6
	pfail
	unmark
lab L5
	pnull
	line	134
	colm	1
	pfail
	end
proc VGetCol
	local	0,001000,self
	local	1,001000,x
	local	2,000020,col
	local	3,000000,integer
	local	4,000000,real
	con	0,002000,1,0
	con	1,002000,1,1
	declend
	line	136
	colm	11
	mark	L1
	pnull
	var	2
	var	3
	pnull
	pnull
	var	1
	pnull
	var	0
	line	139
	colm	29
	field	ax
	line	139
	colm	23
	minus
	var	4
	pnull
	var	0
	line	139
	colm	45
	field	hpad
	line	139
	colm	40
	invoke	1
	line	139
	colm	34
	div
	line	139
	colm	18
	invoke	1
	line	139
	colm	8
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	2
	mark	L3
	pnull
	var	2
	int	0
	line	140
	colm	15
	numlt
	esusp
	goto	L4
lab L3
	pnull
	var	2
	pnull
	pnull
	var	0
	line	140
	colm	31
	field	cols
	int	1
	line	140
	colm	37
	minus
	line	140
	colm	25
	numgt
lab L4
	line	140
	colm	8
	asgn
	unmark
lab L2
	mark	L5
	mark	L6
	var	2
	line	141
	colm	4
	pret
lab L6
	pfail
	unmark
lab L5
	pnull
	line	142
	colm	1
	pfail
	end
