proc Drag
	filen	drag.icn
	local	0,001000,win
	local	1,001000,x
	local	2,001000,y
	local	3,001000,w
	local	4,001000,h
	local	5,000020,dx
	local	6,000020,dy
	local	7,000020,x0
	local	8,000020,y0
	local	9,000020,x1
	local	10,000020,y1
	local	11,000020,behind
	local	12,000020,xoff
	local	13,000020,yoff
	local	14,000020,xnew
	local	15,000020,ynew
	local	16,000020,xshift
	local	17,000020,yshift
	local	18,000000,type
	local	19,000000,Drag
	local	20,000000,runerr
	local	21,000000,WAttrib
	local	22,000000,ScratchCanvas
	local	23,000000,stop
	local	24,000000,CopyArea
	local	25,000000,Bg
	local	26,000000,EraseArea
	local	27,000000,Event
	local	28,000000,abs
	con	0,010000,6,167,151,156,144,157,167
	con	1,002000,3,140
	con	2,002000,1,0
	con	3,010000,2,144,170
	con	4,010000,2,144,171
	con	5,010000,5,167,151,144,164,150
	con	6,010000,6,150,145,151,147,150,164
	con	7,010000,5,143,154,151,160,170
	con	8,010000,5,143,154,151,160,171
	con	9,010000,5,143,154,151,160,167
	con	10,010000,5,143,154,151,160,150
	con	11,010000,8,137,137,104,162,141,147,137,137
	con	12,010000,33,143,141,156,047,164,040,147,145,164,040,123,143,162,141,164,143,150,103,141,156,166,141,163,040,151,156,040,104,162,141,147,050,051
	declend
	line	55
	colm	11
	mark	L1
	mark0
	pnull
	var	18
	var	0
	line	59
	colm	11
	invoke	1
	str	0
	line	59
	colm	17
	lexne
	unmark
	mark	L2
	var	19
	mark	L3
	pnull
	line	60
	colm	21
	keywd	window
	line	60
	colm	20
	nonnull
	esusp
	goto	L4
lab L3
	var	20
	int	1
	line	60
	colm	37
	invoke	1
lab L4
	var	0
	var	1
	var	2
	var	3
	line	60
	colm	18
	invoke	5
	line	60
	colm	7
	pret
lab L2
	pfail
	unmark
lab L1
	mark	L5
	mark0
	pnull
	var	3
	int	2
	line	62
	colm	9
	numlt
	unmark
	pnull
	var	1
	dup
	pnull
	var	3
	pnull
	var	3
	line	63
	colm	19
	neg
	line	63
	colm	16
	asgn
	line	63
	colm	9
	minus
	asgn
	unmark
lab L5
	mark	L6
	mark0
	pnull
	var	4
	int	2
	line	64
	colm	9
	numlt
	unmark
	pnull
	var	2
	dup
	pnull
	var	4
	pnull
	var	4
	line	65
	colm	19
	neg
	line	65
	colm	16
	asgn
	line	65
	colm	9
	minus
	asgn
	unmark
lab L6
	mark	L7
	pnull
	var	5
	var	21
	var	0
	str	3
	line	67
	colm	17
	invoke	2
	line	67
	colm	7
	asgn
	unmark
lab L7
	mark	L8
	pnull
	var	6
	var	21
	var	0
	str	4
	line	68
	colm	17
	invoke	2
	line	68
	colm	7
	asgn
	unmark
lab L8
	mark	L9
	pnull
	var	7
	pnull
	var	5
	line	70
	colm	10
	neg
	line	70
	colm	7
	asgn
	unmark
lab L9
	mark	L10
	pnull
	var	8
	pnull
	var	6
	line	71
	colm	10
	neg
	line	71
	colm	7
	asgn
	unmark
lab L10
	mark	L11
	pnull
	var	9
	pnull
	pnull
	var	21
	var	0
	str	5
	line	72
	colm	17
	invoke	2
	var	5
	line	72
	colm	32
	minus
	var	3
	line	72
	colm	37
	minus
	line	72
	colm	7
	asgn
	unmark
lab L11
	mark	L12
	pnull
	var	10
	pnull
	pnull
	var	21
	var	0
	str	6
	line	73
	colm	17
	invoke	2
	var	6
	line	73
	colm	33
	minus
	var	4
	line	73
	colm	38
	minus
	line	73
	colm	7
	asgn
	unmark
lab L12
	mark	L13
	pnull
	var	7
	dup
	pnull
	var	21
	var	0
	str	7
	line	75
	colm	19
	invoke	2
	line	75
	colm	11
	nonnull
	line	75
	colm	7
	numlt
	asgn
	unmark
lab L13
	mark	L14
	pnull
	var	8
	dup
	pnull
	var	21
	var	0
	str	8
	line	76
	colm	19
	invoke	2
	line	76
	colm	11
	nonnull
	line	76
	colm	7
	numlt
	asgn
	unmark
lab L14
	mark	L15
	pnull
	var	9
	dup
	pnull
	pnull
	pnull
	var	21
	var	0
	str	7
	line	77
	colm	19
	invoke	2
	line	77
	colm	11
	nonnull
	pnull
	var	21
	var	0
	str	9
	line	77
	colm	44
	invoke	2
	line	77
	colm	36
	nonnull
	line	77
	colm	34
	plus
	var	3
	line	77
	colm	59
	minus
	line	77
	colm	7
	numgt
	asgn
	unmark
lab L15
	mark	L16
	pnull
	var	10
	dup
	pnull
	pnull
	pnull
	var	21
	var	0
	str	8
	line	78
	colm	19
	invoke	2
	line	78
	colm	11
	nonnull
	pnull
	var	21
	var	0
	str	10
	line	78
	colm	44
	invoke	2
	line	78
	colm	36
	nonnull
	line	78
	colm	34
	plus
	var	4
	line	78
	colm	59
	minus
	line	78
	colm	7
	numgt
	asgn
	unmark
lab L16
	mark	L17
	pnull
	var	11
	mark	L18
	var	22
	var	0
	pnull
	pnull
	str	11
	line	80
	colm	27
	invoke	4
	esusp
	goto	L19
lab L18
	var	23
	str	12
	line	81
	colm	11
	invoke	1
lab L19
	line	80
	colm	11
	asgn
	unmark
lab L17
	mark	L20
	var	24
	var	0
	var	11
	pnull
	var	5
	line	82
	colm	26
	neg
	pnull
	var	6
	line	82
	colm	31
	neg
	line	82
	colm	12
	invoke	4
	unmark
lab L20
	mark	L21
	var	25
	var	11
	var	25
	var	0
	line	83
	colm	17
	invoke	1
	line	83
	colm	6
	invoke	2
	unmark
lab L21
	mark	L22
	var	26
	var	11
	pnull
	var	1
	var	5
	line	84
	colm	24
	plus
	pnull
	var	2
	var	6
	line	84
	colm	32
	plus
	var	3
	var	4
	line	84
	colm	13
	invoke	5
	unmark
lab L22
	mark	L23
	pnull
	var	12
	pnull
	var	1
	line	86
	colm	16
	keywd	x
	line	86
	colm	14
	minus
	line	86
	colm	9
	asgn
	unmark
lab L23
	mark	L24
	pnull
	var	13
	pnull
	var	2
	line	87
	colm	16
	keywd	y
	line	87
	colm	14
	minus
	line	87
	colm	9
	asgn
	unmark
lab L24
	mark	L25
lab L26
	mark	L27
	pnull
	var	27
	var	0
	line	89
	colm	15
	invoke	1
	mark	L30
	line	89
	colm	26
	keywd	lrelease
	esusp
	goto	L31
lab L30
	mark	L32
	line	89
	colm	38
	keywd	mrelease
	esusp
	goto	L33
lab L32
	line	89
	colm	50
	keywd	rrelease
lab L33
lab L31
	line	89
	colm	21
	eqv
	unmark
	efail
lab L27
	mark	L26
	mark	L34
	pnull
	var	14
	pnull
	line	92
	colm	15
	keywd	x
	var	12
	line	92
	colm	18
	plus
	line	92
	colm	12
	asgn
	unmark
lab L34
	mark	L35
	pnull
	var	15
	pnull
	line	93
	colm	15
	keywd	y
	var	13
	line	93
	colm	18
	plus
	line	93
	colm	12
	asgn
	unmark
lab L35
	mark	L36
	pnull
	var	14
	dup
	var	7
	line	94
	colm	12
	numlt
	asgn
	unmark
lab L36
	mark	L37
	pnull
	var	15
	dup
	var	8
	line	95
	colm	12
	numlt
	asgn
	unmark
lab L37
	mark	L38
	pnull
	var	14
	dup
	var	9
	line	96
	colm	12
	numgt
	asgn
	unmark
lab L38
	mark	L39
	pnull
	var	15
	dup
	var	10
	line	97
	colm	12
	numgt
	asgn
	unmark
lab L39
	mark	L40
	var	24
	var	0
	var	1
	var	2
	var	3
	var	4
	var	14
	var	15
	line	98
	colm	15
	invoke	7
	unmark
lab L40
	mark	L41
	pnull
	var	16
	pnull
	var	14
	var	1
	line	101
	colm	22
	minus
	line	101
	colm	14
	asgn
	unmark
lab L41
	mark	L42
	pnull
	var	17
	pnull
	var	15
	var	2
	line	102
	colm	22
	minus
	line	102
	colm	14
	asgn
	unmark
lab L42
	mark	L43
	mark	L44
	mark	L46
	pnull
	var	28
	var	16
	line	104
	colm	13
	invoke	1
	var	3
	line	104
	colm	22
	numge
	esusp
	goto	L47
lab L46
	pnull
	var	28
	var	17
	line	104
	colm	32
	invoke	1
	var	4
	line	104
	colm	41
	numge
lab L47
	unmark
	var	24
	var	11
	var	0
	pnull
	var	1
	var	5
	line	107
	colm	34
	plus
	pnull
	var	2
	var	6
	line	107
	colm	42
	plus
	var	3
	var	4
	var	1
	var	2
	line	107
	colm	18
	invoke	8
	goto	L45
lab L44
	mark	L48
	mark	L49
	pnull
	var	16
	int	2
	line	113
	colm	20
	numgt
	unmark
	var	24
	var	11
	var	0
	pnull
	var	1
	var	5
	line	114
	colm	37
	plus
	pnull
	var	2
	var	6
	line	114
	colm	45
	plus
	var	16
	var	4
	var	1
	var	2
	line	114
	colm	21
	invoke	8
	goto	L50
lab L49
	mark0
	pnull
	var	16
	int	2
	line	115
	colm	25
	numlt
	unmark
	var	24
	var	11
	var	0
	pnull
	pnull
	pnull
	var	1
	var	5
	line	117
	colm	18
	plus
	var	3
	line	117
	colm	23
	plus
	var	16
	line	117
	colm	27
	plus
	pnull
	var	2
	var	6
	line	117
	colm	39
	plus
	pnull
	var	16
	line	117
	colm	45
	neg
	var	4
	pnull
	pnull
	var	1
	var	3
	line	117
	colm	59
	plus
	var	16
	line	117
	colm	63
	plus
	var	2
	line	116
	colm	21
	invoke	8
lab L50
	unmark
lab L48
	mark	L51
	pnull
	var	17
	int	2
	line	118
	colm	20
	numgt
	unmark
	var	24
	var	11
	var	0
	pnull
	var	1
	var	5
	line	119
	colm	37
	plus
	pnull
	var	2
	var	6
	line	119
	colm	45
	plus
	var	3
	var	17
	var	1
	var	2
	line	119
	colm	21
	invoke	8
	goto	L52
lab L51
	mark0
	pnull
	var	17
	int	2
	line	120
	colm	25
	numlt
	unmark
	var	24
	var	11
	var	0
	pnull
	var	1
	var	5
	line	122
	colm	18
	plus
	pnull
	pnull
	pnull
	var	2
	var	6
	line	122
	colm	26
	plus
	var	4
	line	122
	colm	31
	plus
	var	17
	line	122
	colm	35
	plus
	var	3
	pnull
	var	17
	line	122
	colm	48
	neg
	var	1
	pnull
	pnull
	var	2
	var	4
	line	122
	colm	62
	plus
	var	17
	line	122
	colm	66
	plus
	line	121
	colm	21
	invoke	8
lab L52
lab L45
	unmark
lab L43
	mark	L53
	pnull
	var	1
	var	14
	line	125
	colm	9
	asgn
	unmark
lab L53
	pnull
	var	2
	var	15
	line	126
	colm	9
	asgn
lab L28
	unmark
	goto	L26
lab L29
	unmark
lab L25
	mark	L54
	var	26
	var	11
	line	129
	colm	13
	invoke	1
	unmark
lab L54
	mark	L55
	pnull
	line	130
	colm	4
	keywd	x
	var	1
	line	130
	colm	7
	asgn
	unmark
lab L55
	mark	L56
	pnull
	line	131
	colm	4
	keywd	y
	var	2
	line	131
	colm	7
	asgn
	unmark
lab L56
	mark	L57
	mark	L58
	var	0
	line	132
	colm	4
	pret
lab L58
	pfail
	unmark
lab L57
	pnull
	line	133
	colm	1
	pfail
	end
proc DragOutline
	local	0,001000,win
	local	1,001000,x
	local	2,001000,y
	local	3,001000,w
	local	4,001000,h
	local	5,000020,wrev
	local	6,000020,xoff
	local	7,000020,yoff
	local	8,000000,type
	local	9,000000,DragOutline
	local	10,000000,runerr
	local	11,000000,Clone
	local	12,000000,DrawRectangle
	local	13,000000,Event
	local	14,000000,Uncouple
	con	0,010000,6,167,151,156,144,157,167
	con	1,002000,3,140
	con	2,002000,1,0
	con	3,010000,14,144,162,141,167,157,160,075,162,145,166,145,162,163,145
	con	4,002000,1,1
	declend
	line	138
	colm	11
	mark	L1
	mark0
	pnull
	var	8
	var	0
	line	141
	colm	11
	invoke	1
	str	0
	line	141
	colm	17
	lexne
	unmark
	mark	L2
	var	9
	mark	L3
	pnull
	line	142
	colm	28
	keywd	window
	line	142
	colm	27
	nonnull
	esusp
	goto	L4
lab L3
	var	10
	int	1
	line	142
	colm	44
	invoke	1
lab L4
	var	0
	var	1
	var	2
	var	3
	line	142
	colm	25
	invoke	5
	line	142
	colm	7
	pret
lab L2
	pfail
	unmark
lab L1
	mark	L5
	mark0
	pnull
	var	3
	int	2
	line	144
	colm	9
	numlt
	unmark
	pnull
	var	1
	dup
	pnull
	var	3
	pnull
	var	3
	line	145
	colm	19
	neg
	line	145
	colm	16
	asgn
	line	145
	colm	9
	minus
	asgn
	unmark
lab L5
	mark	L6
	mark0
	pnull
	var	4
	int	2
	line	146
	colm	9
	numlt
	unmark
	pnull
	var	2
	dup
	pnull
	var	4
	pnull
	var	4
	line	147
	colm	19
	neg
	line	147
	colm	16
	asgn
	line	147
	colm	9
	minus
	asgn
	unmark
lab L6
	mark	L7
	pnull
	var	5
	var	11
	var	0
	str	3
	line	149
	colm	17
	invoke	2
	line	149
	colm	9
	asgn
	unmark
lab L7
	mark	L8
	pnull
	var	6
	pnull
	var	1
	line	150
	colm	16
	keywd	x
	line	150
	colm	14
	minus
	line	150
	colm	9
	asgn
	unmark
lab L8
	mark	L9
	pnull
	var	7
	pnull
	var	2
	line	151
	colm	16
	keywd	y
	line	151
	colm	14
	minus
	line	151
	colm	9
	asgn
	unmark
lab L9
	mark	L10
	pnull
	var	3
	dup
	int	4
	line	153
	colm	6
	minus
	asgn
	unmark
lab L10
	mark	L11
	pnull
	var	4
	dup
	int	4
	line	154
	colm	6
	minus
	asgn
	unmark
lab L11
	mark	L12
	var	12
	var	5
	var	1
	var	2
	var	3
	var	4
	line	156
	colm	17
	invoke	5
	unmark
lab L12
	mark	L13
lab L14
	mark	L15
	pnull
	var	13
	var	5
	line	157
	colm	15
	invoke	1
	mark	L18
	line	157
	colm	27
	keywd	lrelease
	esusp
	goto	L19
lab L18
	mark	L20
	line	157
	colm	39
	keywd	mrelease
	esusp
	goto	L21
lab L20
	line	157
	colm	51
	keywd	rrelease
lab L21
lab L19
	line	157
	colm	22
	eqv
	unmark
	efail
lab L15
	mark	L14
	mark	L22
	var	12
	var	5
	var	1
	var	2
	var	3
	var	4
	line	158
	colm	20
	invoke	5
	unmark
lab L22
	mark	L23
	pnull
	var	1
	pnull
	line	159
	colm	12
	keywd	x
	var	6
	line	159
	colm	15
	plus
	line	159
	colm	9
	asgn
	unmark
lab L23
	mark	L24
	pnull
	var	2
	pnull
	line	160
	colm	12
	keywd	y
	var	7
	line	160
	colm	15
	plus
	line	160
	colm	9
	asgn
	unmark
lab L24
	var	12
	var	5
	var	1
	var	2
	var	3
	var	4
	line	161
	colm	20
	invoke	5
lab L16
	unmark
	goto	L14
lab L17
	unmark
lab L13
	mark	L25
	var	12
	var	5
	var	1
	var	2
	var	3
	var	4
	line	163
	colm	17
	invoke	5
	unmark
lab L25
	mark	L26
	var	14
	var	5
	line	164
	colm	12
	invoke	1
	unmark
lab L26
	mark	L27
	pnull
	line	166
	colm	4
	keywd	x
	var	1
	line	166
	colm	7
	asgn
	unmark
lab L27
	mark	L28
	pnull
	line	167
	colm	4
	keywd	y
	var	2
	line	167
	colm	7
	asgn
	unmark
lab L28
	mark	L29
	mark	L30
	var	0
	line	168
	colm	4
	pret
lab L30
	pfail
	unmark
lab L29
	pnull
	line	169
	colm	1
	pfail
	end
