proc wreflect
	filen	xformimg.icn
	local	0,001000,win1
	local	1,001000,dir
	local	2,000020,win2
	local	3,000020,x1
	local	4,000020,x2
	local	5,000020,y1
	local	6,000020,y2
	local	7,000020,width
	local	8,000020,height
	local	9,000000,Height
	local	10,000000,Width
	local	11,000000,WOpen
	local	12,000000,stop
	local	13,000000,Fg
	local	14,000000,Pixel
	local	15,000000,DrawPoint
	con	0,010000,1,166
	con	1,010000,13,143,141,156,166,141,163,075,150,151,144,144,145,156
	con	2,010000,6,167,151,144,164,150,075
	con	3,010000,7,150,145,151,147,150,164,075
	con	4,010000,32,052,052,052,040,143,141,156,156,157,164,040,167,151,156,144,157,167,040,146,157,162,040,162,145,146,154,145,143,164,151,157,156
	con	5,010000,1,150
	con	6,002000,1,0
	con	7,002000,1,1
	con	8,010000,39,052,052,052,040,151,156,166,141,154,151,144,040,163,160,145,143,151,146,151,143,141,164,151,157,156,040,146,157,162,040,162,145,146,154,145,143,164,050,051
	declend
	line	36
	colm	11
	mark	L1
	pnull
	pnull
	var	1
	line	39
	colm	4
	null
	str	0
	line	39
	colm	9
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	8
	var	9
	var	0
	line	41
	colm	20
	invoke	1
	line	41
	colm	11
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	7
	var	10
	var	0
	line	42
	colm	18
	invoke	1
	line	42
	colm	10
	asgn
	unmark
lab L3
	mark	L4
	pnull
	var	2
	mark	L5
	var	11
	str	1
	pnull
	str	2
	var	7
	line	44
	colm	44
	cat
	pnull
	str	3
	var	8
	line	44
	colm	64
	cat
	line	44
	colm	17
	invoke	3
	esusp
	goto	L6
lab L5
	var	12
	str	4
	line	45
	colm	11
	invoke	1
lab L6
	line	44
	colm	9
	asgn
	unmark
lab L4
	mark	L7
	mark0
	var	1
	eret
	mark	L9
	ccase
	str	5
	line	48
	colm	10
	eqv
	unmark
	pop
	mark	L10
	pnull
	var	4
	int	6
	line	49
	colm	13
	asgn
	unmark
lab L10
	mark	L11
	pnull
	var	6
	pnull
	var	8
	int	7
	line	50
	colm	23
	minus
	line	50
	colm	13
	asgn
	unmark
lab L11
	mark0
	var	13
	var	2
	var	14
	var	0
	line	51
	colm	30
	invoke	1
	line	51
	colm	18
	invoke	2
	pop
	mark0
	mark	L14
	var	15
	var	2
	var	4
	var	6
	line	52
	colm	22
	invoke	3
	unmark
lab L14
	mark	L15
	pnull
	var	4
	pnull
	var	7
	int	7
	line	53
	colm	27
	minus
	line	53
	colm	19
	numeq
	unmark
	mark	L17
	pnull
	var	4
	int	6
	line	54
	colm	19
	asgn
	unmark
lab L17
	pnull
	var	6
	dup
	int	7
	line	55
	colm	19
	minus
	asgn
	goto	L16
lab L15
	pnull
	var	4
	dup
	int	7
	line	57
	colm	21
	plus
	asgn
lab L16
	unmark
lab L12
	efail
lab L13
	goto	L8
lab L9
	mark	L18
	ccase
	str	0
	line	60
	colm	10
	eqv
	unmark
	pop
	mark	L19
	pnull
	var	4
	pnull
	var	7
	int	7
	line	61
	colm	22
	minus
	line	61
	colm	13
	asgn
	unmark
lab L19
	mark	L20
	pnull
	var	6
	int	6
	line	62
	colm	13
	asgn
	unmark
lab L20
	mark0
	var	13
	var	2
	var	14
	var	0
	line	63
	colm	30
	invoke	1
	line	63
	colm	18
	invoke	2
	pop
	mark0
	mark	L23
	var	15
	var	2
	var	4
	var	6
	line	64
	colm	22
	invoke	3
	unmark
lab L23
	mark	L24
	pnull
	var	4
	int	6
	line	65
	colm	19
	numeq
	unmark
	mark	L26
	pnull
	var	4
	pnull
	var	7
	int	7
	line	66
	colm	28
	minus
	line	66
	colm	19
	asgn
	unmark
lab L26
	pnull
	var	6
	dup
	int	7
	line	67
	colm	19
	plus
	asgn
	goto	L25
lab L24
	pnull
	var	4
	dup
	int	7
	line	69
	colm	21
	minus
	asgn
lab L25
	unmark
lab L21
	efail
lab L22
	goto	L8
lab L18
	pop
	var	12
	str	8
	line	72
	colm	21
	invoke	1
lab L8
	unmark
lab L7
	mark	L27
	mark	L28
	var	2
	line	75
	colm	4
	pret
lab L28
	pfail
	unmark
lab L27
	pnull
	line	77
	colm	1
	pfail
	end
proc wrotate
	local	0,001000,win1
	local	1,001000,dir
	local	2,000020,win2
	local	3,000020,x1
	local	4,000020,x2
	local	5,000020,y1
	local	6,000020,y2
	local	7,000020,width
	local	8,000020,height
	local	9,000000,Height
	local	10,000000,Width
	local	11,000000,integer
	local	12,000000,WOpen
	local	13,000000,stop
	local	14,000000,Fg
	local	15,000000,Pixel
	local	16,000000,DrawPoint
	con	0,010000,2,071,060
	con	1,002000,2,90
	con	2,002000,1,1
	con	3,002000,1,0
	con	4,010000,13,143,141,156,166,141,163,075,150,151,144,144,145,156
	con	5,010000,6,167,151,144,164,150,075
	con	6,010000,7,150,145,151,147,150,164,075
	con	7,010000,29,052,052,052,040,143,141,156,156,157,164,040,157,160,145,156,040,164,141,162,147,145,164,040,167,151,156,144,157,167
	con	8,002000,3,180
	con	9,010000,38,052,052,052,040,151,156,166,141,154,151,144,040,163,160,145,143,151,146,151,143,141,164,151,157,156,040,146,157,162,040,162,157,164,141,164,145,050,051
	declend
	line	79
	colm	11
	mark	L1
	pnull
	pnull
	var	1
	line	82
	colm	4
	null
	str	0
	line	82
	colm	9
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	8
	var	9
	var	0
	line	84
	colm	20
	invoke	1
	line	84
	colm	11
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	7
	var	10
	var	0
	line	85
	colm	18
	invoke	1
	line	85
	colm	10
	asgn
	unmark
lab L3
	mark	L4
	mark	L5
	mark0
	var	11
	var	1
	line	88
	colm	16
	invoke	1
	eret
	mark	L8
	ccase
	int	1
	line	89
	colm	9
	eqv
	unmark
	pop
	mark	L9
	pnull
	var	4
	pnull
	var	8
	int	2
	line	90
	colm	23
	minus
	line	90
	colm	13
	asgn
	unmark
lab L9
	mark	L10
	pnull
	var	6
	int	3
	line	91
	colm	13
	asgn
	unmark
lab L10
	mark	L11
	pnull
	var	2
	mark	L12
	var	12
	str	4
	pnull
	str	5
	var	8
	line	92
	colm	50
	cat
	pnull
	str	6
	var	7
	line	93
	colm	23
	cat
	line	92
	colm	23
	invoke	3
	esusp
	goto	L13
lab L12
	var	13
	str	7
	line	93
	colm	39
	invoke	1
lab L13
	line	92
	colm	15
	asgn
	unmark
lab L11
	mark0
	var	14
	var	2
	var	15
	var	0
	line	94
	colm	30
	invoke	1
	line	94
	colm	18
	invoke	2
	pop
	mark0
	mark	L16
	var	16
	var	2
	var	4
	var	6
	line	95
	colm	22
	invoke	3
	unmark
lab L16
	mark	L17
	pnull
	var	6
	pnull
	var	7
	int	2
	line	96
	colm	27
	minus
	line	96
	colm	19
	numeq
	unmark
	mark	L19
	pnull
	var	6
	int	3
	line	97
	colm	19
	asgn
	unmark
lab L19
	pnull
	var	4
	dup
	int	2
	line	98
	colm	19
	minus
	asgn
	goto	L18
lab L17
	pnull
	var	6
	dup
	int	2
	line	100
	colm	21
	plus
	asgn
lab L18
	unmark
lab L14
	efail
lab L15
	goto	L7
lab L8
	mark	L20
	ccase
	pnull
	int	1
	line	103
	colm	7
	neg
	line	103
	colm	10
	eqv
	unmark
	pop
	mark	L21
	pnull
	var	2
	mark	L22
	var	12
	str	4
	pnull
	str	5
	var	8
	line	104
	colm	50
	cat
	pnull
	str	6
	var	7
	line	105
	colm	23
	cat
	line	104
	colm	23
	invoke	3
	esusp
	goto	L23
lab L22
	var	13
	str	7
	line	105
	colm	39
	invoke	1
lab L23
	line	104
	colm	15
	asgn
	unmark
lab L21
	mark	L24
	pnull
	var	4
	int	3
	line	106
	colm	13
	asgn
	unmark
lab L24
	mark	L25
	pnull
	var	6
	pnull
	var	7
	int	2
	line	107
	colm	22
	minus
	line	107
	colm	13
	asgn
	unmark
lab L25
	mark0
	var	14
	var	2
	var	15
	var	0
	line	108
	colm	30
	invoke	1
	line	108
	colm	18
	invoke	2
	pop
	mark0
	mark	L28
	var	16
	var	2
	var	4
	var	6
	line	109
	colm	22
	invoke	3
	unmark
lab L28
	mark	L29
	pnull
	var	6
	int	3
	line	110
	colm	19
	numeq
	unmark
	mark	L31
	pnull
	var	6
	pnull
	var	7
	int	2
	line	111
	colm	28
	minus
	line	111
	colm	19
	asgn
	unmark
lab L31
	pnull
	var	4
	dup
	int	2
	line	112
	colm	19
	plus
	asgn
	goto	L30
lab L29
	pnull
	var	6
	dup
	int	2
	line	114
	colm	21
	minus
	asgn
lab L30
	unmark
lab L26
	efail
lab L27
	goto	L7
lab L20
	mark	L32
	ccase
	int	8
	line	117
	colm	10
	eqv
	unmark
	pop
	mark	L33
	pnull
	var	2
	mark	L34
	var	12
	str	4
	pnull
	str	5
	var	7
	line	118
	colm	50
	cat
	pnull
	str	6
	var	8
	line	119
	colm	23
	cat
	line	118
	colm	23
	invoke	3
	esusp
	goto	L35
lab L34
	var	13
	str	7
	line	119
	colm	40
	invoke	1
lab L35
	line	118
	colm	15
	asgn
	unmark
lab L33
	mark	L36
	pnull
	var	4
	pnull
	var	7
	int	2
	line	120
	colm	22
	minus
	line	120
	colm	13
	asgn
	unmark
lab L36
	mark	L37
	pnull
	var	6
	pnull
	var	8
	int	2
	line	121
	colm	23
	minus
	line	121
	colm	13
	asgn
	unmark
lab L37
	mark0
	var	14
	var	2
	var	15
	var	0
	line	122
	colm	30
	invoke	1
	line	122
	colm	18
	invoke	2
	pop
	mark0
	mark	L40
	var	16
	var	2
	var	4
	var	6
	line	123
	colm	22
	invoke	3
	unmark
lab L40
	mark	L41
	pnull
	var	4
	int	3
	line	124
	colm	19
	numeq
	unmark
	mark	L43
	pnull
	var	4
	pnull
	var	7
	int	2
	line	125
	colm	28
	minus
	line	125
	colm	19
	asgn
	unmark
lab L43
	pnull
	var	6
	dup
	int	2
	line	126
	colm	19
	minus
	asgn
	goto	L42
lab L41
	pnull
	var	4
	dup
	int	2
	line	128
	colm	21
	minus
	asgn
lab L42
	unmark
lab L38
	efail
lab L39
	goto	L7
lab L32
	pop
	var	13
	str	9
	line	131
	colm	21
	invoke	1
lab L7
	esusp
	goto	L6
lab L5
	var	13
	str	9
	line	132
	colm	15
	invoke	1
lab L6
	unmark
lab L4
	mark	L44
	mark	L45
	var	2
	line	134
	colm	4
	pret
lab L45
	pfail
	unmark
lab L44
	pnull
	line	136
	colm	1
	pfail
	end
proc wcatenate
	local	0,001000,win1
	local	1,001000,win2
	local	2,001000,dir
	local	3,000020,width1
	local	4,000020,width2
	local	5,000020,height1
	local	6,000020,height2
	local	7,000020,win3
	local	8,000000,Width
	local	9,000000,Height
	local	10,000000,WOpen
	local	11,000000,max
	local	12,000000,stop
	local	13,000000,CopyArea
	con	0,010000,1,150
	con	1,010000,13,143,141,156,166,141,163,075,150,151,144,144,145,156
	con	2,010000,6,167,151,144,164,150,075
	con	3,010000,7,150,145,151,147,150,164,075
	con	4,010000,40,052,052,052,040,143,141,156,156,157,164,040,157,160,145,156,040,167,151,156,144,157,167,040,146,157,162,040,143,157,156,143,141,164,145,156,141,164,151,157,156
	con	5,002000,1,0
	con	6,010000,1,166
	con	7,010000,40,052,052,052,040,151,156,166,141,154,151,144,040,163,160,145,143,151,146,151,143,141,164,151,157,156,040,146,157,162,040,143,141,164,145,156,141,164,145,050,051
	declend
	line	138
	colm	11
	mark	L1
	pnull
	pnull
	var	2
	line	141
	colm	4
	null
	str	0
	line	141
	colm	9
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	3
	var	8
	var	0
	line	143
	colm	19
	invoke	1
	line	143
	colm	11
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	4
	var	8
	var	1
	line	144
	colm	19
	invoke	1
	line	144
	colm	11
	asgn
	unmark
lab L3
	mark	L4
	pnull
	var	5
	var	9
	var	0
	line	145
	colm	21
	invoke	1
	line	145
	colm	12
	asgn
	unmark
lab L4
	mark	L5
	pnull
	var	6
	var	9
	var	1
	line	146
	colm	21
	invoke	1
	line	146
	colm	12
	asgn
	unmark
lab L5
	mark	L6
	mark0
	var	2
	eret
	mark	L8
	ccase
	str	0
	line	149
	colm	10
	eqv
	unmark
	pop
	mark	L9
	pnull
	var	7
	mark	L10
	var	10
	str	1
	pnull
	str	2
	pnull
	var	3
	var	4
	line	150
	colm	61
	plus
	line	150
	colm	50
	cat
	pnull
	str	3
	var	11
	var	5
	var	6
	line	151
	colm	29
	invoke	2
	line	151
	colm	23
	cat
	line	150
	colm	23
	invoke	3
	esusp
	goto	L11
lab L10
	var	12
	str	4
	line	152
	colm	20
	invoke	1
lab L11
	line	150
	colm	15
	asgn
	unmark
lab L9
	mark	L12
	var	13
	var	0
	var	7
	line	153
	colm	18
	invoke	2
	unmark
lab L12
	var	13
	var	1
	var	7
	int	5
	int	5
	var	4
	var	6
	var	3
	int	5
	line	154
	colm	18
	invoke	8
	goto	L7
lab L8
	mark	L13
	ccase
	str	6
	line	156
	colm	10
	eqv
	unmark
	pop
	mark	L14
	pnull
	var	7
	mark	L15
	var	10
	str	1
	pnull
	str	2
	var	11
	var	3
	var	4
	line	157
	colm	56
	invoke	2
	line	157
	colm	50
	cat
	pnull
	str	3
	pnull
	var	5
	var	6
	line	158
	colm	35
	plus
	line	158
	colm	23
	cat
	line	157
	colm	23
	invoke	3
	esusp
	goto	L16
lab L15
	var	12
	str	4
	line	159
	colm	20
	invoke	1
lab L16
	line	157
	colm	15
	asgn
	unmark
lab L14
	mark	L17
	var	13
	var	0
	var	7
	line	160
	colm	18
	invoke	2
	unmark
lab L17
	var	13
	var	1
	var	7
	int	5
	int	5
	var	4
	var	6
	int	5
	var	5
	line	161
	colm	18
	invoke	8
	goto	L7
lab L13
	pop
	var	12
	str	7
	line	163
	colm	21
	invoke	1
lab L7
	unmark
lab L6
	mark	L18
	mark	L19
	var	7
	line	166
	colm	4
	pret
lab L19
	pfail
	unmark
lab L18
	pnull
	line	168
	colm	1
	pfail
	end
