/* * Copyright 1986, 1987, 1988, 1989, 1990 Ithaca Software, Alameda, CA * */

#ifndef _485

#define _1740(_9730)	\
  (--_9730->h.utility == 0 ? (HI_Au_Revoir ((Anything *)_9730), 0) : 0)

#define _3411(g)		((*g->h._4577 = g->h.next) == null ? 0 :		\
						 (g->h.next->h._4577 = g->h._4577, 0))

/* _6809 _9938 _8714 _10783 _5622 _7309 _1699._6975: */
#undef	Segment
#undef	Camera
#undef	Driver
#undef	Event
#undef	Anything
#undef	Generic_Color
#undef	Modelling_Matrix
#undef	Option_Value
#undef	Polygon

typedef char			Database_Flags;

#define DB_DELETED				  (Database_Flags)01 /* _6625 _4437 */
#define _494			  (Database_Flags)02 /* _6625 _6797, _7342, _10146 */
#define DB_MAY_BE_3D			  (Database_Flags)04 /* _6625 _6797, _8081, _4874 */

/*#_5606 _489			  (_607)04 */
/*#_5606 _488			 (_607)010 */
/*#_5606 _492			 (_607)020 */
/*#_5606 _493	 (_607)040 */

#define _498	(Database_Flags)0100
#define _499	(Database_Flags)0200

#define _76				(Activity)0000001
#define _75				(Activity)0000002 
#define _77		(Activity)0000004
#define _66		(Activity)0000010
#define _69				(Activity)0000020
#define _73		(Activity)0000040
#define _72		(Activity)0000100
#define _78				(Activity)0000200
#define _65				(Activity)0000400
#define _64						(Activity)0001000
#define _74				(Activity)0041777

#define Act_MODIFIED					(Activity)0002000 
#define Act_CREATED						(Activity)0004000
#define _68				(Activity)0010000

#ifdef MORRIS
#	define		Act_INNER_GEOMETRY_CHANGES		(Activity)0020000
#	define		_86		Act_INNER_GEOMETRY_CHANGES
#endif

#define _70		(Activity)0040000/* _2349 = _8897 _8714 _8865 */

#define _85				_68
#define _87				(_85|_69)
#define _95		(_87|_78|_65)
#define _84		(_95|_66|_70)
#define _92		(_84|_75)
#define _93				(_95|_76)
#define _94		(_95|_77)
#define _91		(_95|_77|_76)
#define _90		(_92|_77|_76) 
#define _81				(_92|_76|_64)
#define _80		(_90|_64) 
#define _89				(_95|_73|_72)
#define _88						(_85|Act_MODIFIED)
#define _79						(_85|Act_CREATED)
#define _83				(_92|Act_MODIFIED)
#define _82				(_92|Act_CREATED)

#define _2632(_11483, what)		(ALLBITS ((_11483)->h.activity, (what)) ?\
					0 : (HC_1480 ((_3151 *)(_11483), (what)), 0))

typedef struct _7077 {
	union _4436 *next,			
						**_4577;		
	short				utility;		
	_3384				type;			
	Database_Flags		dbflags;				
	union _4436 *owner;
}		_1658;

/* _3589: _3230/_1779 _4519 _29 _4414 _3040 _4481 _10831 _10000 _10361! */

typedef struct _4347 {
	union _4537 *next,			
						**_4577;		
	short				utility;		
	_3384				type;			
	Database_Flags		dbflags;		
	struct segment		*owner;			
	Activity			activity,
						_8733;
}		_28;

typedef struct _6852 {
	union geometry		*next,			
						**_4577;		
	short				utility;		
	_3384				type;			
	Database_Flags		dbflags;		
	struct segment		*owner;			
	Activity			activity,
						_8733;
}		_1051;

typedef struct _10500 {
	union subsegment	*next,			
						**_4577;		
	short				utility;		
	_3384				type;			
	Database_Flags		dbflags;		
	struct segment		*owner;			
	Activity			activity,
						_8733;
}		_3039;

typedef struct _10604 { /* _10831 _11142 _8714 _10831 _4216 _11056 */
	union _10167		*next,			
						**_4577;		
	short				utility;		
	_3384				type;			
	Database_Flags		dbflags;		
	struct segment		*owner;			
	Activity			activity,
						_8733;
}		_3229;

#define T_LIGHTS				   (Type_Flags)01 
#define T_EDGES					   (Type_Flags)02
#define T_FACES					   (Type_Flags)04
#define T_POLYGONS				   (Type_Flags)06
#define T_LINES					  (Type_Flags)010
#define T_MARKERS				  (Type_Flags)020
#define T_PIXEL_ARRAYS			  (Type_Flags)040
#define T_TEXT					 (Type_Flags)0100
#define _3339	 (Type_Flags)0200
#define _3340			 (Type_Flags)0400
#define _3329			 (Type_Flags)0376
#define _3337			 (Type_Flags)0777
#define _3325			 (Type_Flags)0777

#define _3326			(Type_Flags)01000
#define _3334	(Type_Flags)02000
#define _3331	(Type_Flags)04000 
#define _3332	  (Type_Flags)010000
#define _3342	(Type_Flags)020000 
#define _3343	   (Type_Flags)040000 
#define _3324				  (Type_Flags)0100000
#define _3344	  (Type_Flags)0200000
#define _3333		  (Type_Flags)0400000
#define _3336		 (Type_Flags)01000000
#define _3335		 (Type_Flags)02000000

typedef short			_3123;
#define _3145					   (_3123)01
#define Seg_GEOMETRY_DISORDERED			   (_3123)02
#define _3146	(_3123)01000
#define _3118			   (_3123)04

#if _1728
#define _3125			  (_3123)010 /* _6281 _103 */
#define _3124			  (_3123)020 
#define _3120			  (_3123)040 
#define _3147			 (_3123)0100 
#define _3144			  (_3123)070
#define _3121					 (_3123)0170

#define _3138	 (_3123)0200
#define _3137	 (_3123)0400
#define _3135	(_3123)01000
#define _3140	(_3123)02000
#define _3139	(_3123)01600
#define _3136			(_3123)03600
#endif

/* _6038 _4215 _10847: _10852'_9636 _7309 _10831 _9426 _8714 _4642 _9787 */
#define _3142			(_3123)04000
#define _3148				(_3123)010
#define _3141		   (_3123)010000
#define _3134				   (_3123)020000
#define _3127				   (_3123)040000
#define _3126		   (_3123)000200
#define _3132				  (_3123)0100000
#define _3133			  (_3123)020
#define _3129	  (_3123)040
#define _3128			 (_3123)0400
#define _3131			 (_3123)0100

typedef char			_2849;

#define _2831	  (_2849)01
#define _2828	  (_2849)02
#define _2825			  (_2849)04
#define _2827	 (_2849)010
#define _2826	 (_2849)020
#define _2829			 (_2849)040
#define _2824	(_2849)0100

#define _2823	(_2828|_2825|_2827|_2826|_2829)
#define _2822	(_2823|_2831)

typedef struct instance {
	struct {
		struct instance *next,			
						**_4577;		
		short			utility;		
		_3384			type;			
		Database_Flags	dbflags;				
		struct instance *owner;
	}					h; 
	_2849		_9713,
						_8752;
	union subsegment	*_7478; /* _8121 _4627 _3149 _8864 _1775 */
	struct instance		*_7480,
						**_7479;
	struct instance		*_10617;		/* _7267 _6132 _3149 _8864 _1775 */
	struct _8397 *_8397;
}		_1800;

typedef struct segment {		
	_3039				h;
#if		_1728
	struct instance		*_7481;
#endif
	_3123				segflags;		
	Type_Flags			_8124;

	union _4537 *attributes;
	union geometry		*geometry;
	union subsegment	*subsegments;

	union _11727				*_9741;
	Name				name;
	short				_8668;

#ifdef	MORRIS
	void				*driver_data;
#endif

}		Segment;		

typedef struct include {		
	_3039				h;
#if		_1728
	struct instance		*_7481;
#endif
	Segment				*referee;
	union _11727				*_9737;
	union _11727				**_9736;
}		_1774;

typedef struct style {	
	_28			h;
	Segment				*referee;
	union _11727				*_9737;
	union _11727				**_9736;
}		Style;					/* _10831 _10000, _6625 _8633 */

typedef _1774			_3709;

typedef union _11727 {	/* _10860 _10829 _4481 _7804 _7309 _5384-_9738 _7885 */
	_3709				_11700; 
	_3039				h;				/* ?? */

	_1774				include;		
	Style				style;			
}		_4018;

typedef union subsegment {
	_3039				h;

	_1774				include;		
	Segment				segment;
}		Subsegment;

#define _2401			_498

typedef struct open_list {		
	struct {
		struct open_list		*next,
								**_4577;
		short					utility;
		_3384					type;
		Database_Flags			dbflags;
		struct _11585			*owner;
	}					h;

	Segment				*referee;
	Segment				*_8878;
	struct polyline		*_7424;
	struct point_list	**_7426;
}		_2400;

typedef struct point_list {
	struct point_list	*next;
	Point				point;
}		Point_List;

#define _2709			_498

typedef struct polyline {		
	_1051				h;
	Point_List			*point_list;
	int					count;

#	if	_2442
		struct {int offset, count;}		_9713, _8752;
#	endif
}		Polyline;

#define Polygon_PLANE_TESTED	   _498
#define Polygon_PLANE_VALID		   _499

typedef struct polygon {		
	_1051				h;
	Point_List			*point_list;
	int					count;
	_2695				plane;
#ifdef	CHAUVIN
	Color_Index			*indices, /* _6625 _9290-_11561-_7382 */
						_8098;
#endif
#ifdef	GEORGE
	boolean				*_6090; /* _6625 _9290-_11561-_6085-_6556 */
#endif
}		Polygon;

/* _2286: _4365 _5016 & _6140 _10600 _4481 _4495 _10929 _10279 _4365 _5175
 * _11290 _7299 _4337 _10831 _7078.	 _1773 _4318, _4365 _5175 _4477 _8864 _10418
 * _9024 _10842 _8074 _6074 _8886.
 */

typedef struct _5015 {	
	_1051				h;
	Point				center;			/* _5175 _10929 _4365 */
	_2695				plane;
	Point				_4616,
						_4617;

	FLOAT				radius;			/* _7909 */
	Point				start,
						_8196,
						end;
}		Circle;

typedef struct _5019 {	
	_1051				h;
	Point				center;			/* _5175 _10929 _4365 */
	_2695				plane;
	Point				_4616,
						_4617;

	FLOAT				_4479,	/* _5175 _10929 _4480 */
						_4478;

	FLOAT				radius;			/* _7909 */
	Point				start,
						_8196,
						end;

}		Circular_Arc;

typedef struct ellipse {		
	_1051				h;
	Point				center;			/* _5175 _10929 _4365 */
	_2695				plane;
	Point				_4616,
						_4617;

	Point				major,			/* _7909 */
						minor;
}		Ellipse;

typedef struct elliptical_arc { 
	_1051				h;
	Point				center;			/* _5175 _10929 _4365 */
	_2695				plane;
	Point				_4616,
						_4617;

	FLOAT				start,			/* _5175 _10929 _4480 */
						end;

	Point				major,			/* _7909 */
						minor;
}		Elliptical_Arc;

typedef union _6785 {
	struct {
		_1051			h;
		Point			center;			/* _5175 _10929 _4365 */
		_2695			plane;
		Point			_4616,
						_4617;
	}					_6781;

	Circle				_5015;
	Ellipse				ellipse;
	Circular_Arc		_5019;
	Elliptical_Arc		elliptical_arc;
}		_1094;

typedef struct marker { 
	_1051				h;
	Point				whereabouts;
}		Marker;

typedef struct _5777 {	
	_1051				h;
	Point				direction;
	Point				_11163;
}		_648;

typedef struct missing_geometry {
	_1051				h;
	Type_Flags			which;
}		_2239;

typedef struct _10579 { 
	_1051				h;		/* _8958 _4831 _3352 _8864 _251 _3352 */
	int					row,
						_5150;
}		_3223;

typedef struct text {	
	_1051				h;
	Point				whereabouts;
	int					count, 
						offset;
	Karacter			*_7655;
	char				*_9801;
	_3223		*cursors;

#	if	_2442
		struct {int offset, count;}		_9713, _8752;
#	endif
}		Text;

typedef struct _4715 {	
	_1051				h;
	Point				whereabouts;
	int					_9974, 
						_5152;
	Karacter			*_7655;
	char				*_9801;
	_3223		*cursors;

#	if	_2442
		struct {int offset, count;} _9713, _8752;
#	endif
}		_252;


#define _2685	_498

typedef struct pixel_array {	
	_1051				h;
	Point				whereabouts;
	int					width,
						height;
	Color_Index			**rasters;
	Color_Index			color_max;

#	if	_2442
		struct {
			int		_11718,
					_11800,
					_11675,
					_11782;
		}						_9713, _8752;
#	endif
}		Pixel_Array;

typedef union geometry {
	_1051				h;

	_252				_4715;
	Circle				_5015;
	Circular_Arc		_5019;
	_648		_5777;
	Ellipse				ellipse;
	Elliptical_Arc		elliptical_arc;
	Polyline			line;
	Marker				marker;
	_2239		missing_geometry;
	Pixel_Array			pixel_array;
	Polyline			polyline;
	Polygon				polygon;
	_3223		_10579;
	Text				text;
}		Geometry;

#define _2243	_498

typedef struct modelling_matrix {		
	_28			h;
	FLOAT				matrix[4][4];
}		Modelling_Matrix;

typedef struct window {			
	_28			h;
	Rectangle			bounds,
						_9713, 
						_8752;
}		Window;

typedef struct visibility {		
	_28			h;
	Type_Flags			mask,
						value;
}		_3505;

typedef struct selectability {	
	_28			h;
	Type_Flags			mask,
						up,
						down,
						still_up,
						still_down,
						_4431;
}		_3154;

typedef struct _11528 { 
	_28			h;
	boolean				flag;
}		_3645;

typedef struct _6995 {	
	_28			h;
	int					which;
#	define		_2802	0
#	define		_1949	1
}		_1653;

typedef struct _10572 { 
	_28			h;
	Segment				*_6167;
	boolean				flag;
}		_3220;

typedef struct heuristics {		
	_28			h;
	Heuristics_Flags	mask,
						value;
#	define		_1667					   (Heuristics_Flags)01
#	define		_1686			   (Heuristics_Flags)02
#	define		_1675	   (Heuristics_Flags)04
#	define		Heur_BACKPLANE_CULL				  (Heuristics_Flags)010
#	define		Heur_CONCAVE_POLYGONS			  (Heuristics_Flags)020
#	define		_1682			  (Heuristics_Flags)040
#	define		Heur_RIGHT_HANDED_POLYGONS_ONLY	 (Heuristics_Flags)0100
#	define		Heur_LEFT_HANDED_POLYGONS_ONLY	 (Heuristics_Flags)0200
#	define		_1673	 (Heuristics_Flags)0400
#	define		_1671			(Heuristics_Flags)01000 
#	define		_1678			(Heuristics_Flags)02000 
#	define		_1679					(Heuristics_Flags)04000 
#	define		_1680		   (Heuristics_Flags)010000
#	define		_1684	(Heuristics_Flags)020000
#	define		_1670  (Heuristics_Flags)040000 
#	define		_1688		  (Heuristics_Flags)0100000 
#	define		_1665				  (Heuristics_Flags)0177777

	int			related_selection_limit;
}		_1689;

typedef struct font_name {
	struct font_name	*next;

	/* (_6782 _6614 _8338 _11290 (_1049) _4481 _5616 _7309 _1699._6975, _6625 
	 *	_5988 _5280) */
	Generic_Font_Name	_6781;
	Name				_6320;
}		_975;

typedef int		_974;

typedef struct text_font {
	_28			h;

	_975				*names;
	
	FLOAT				size;
	FLOAT				size_tolerance;

	/* (_9484 _4365 _10831 "_4955" _7614 _4525 _10831 _6163 _8714 _10831 _10599) */

	/* _3285 _1979 _2201 _2076 _2347 _1712 _3178! */
#	define		_910	(Font_Size_Units)0
#	define		_915			(Font_Size_Units)1
#	define		_916			(Font_Size_Units)2
#	define		_914	(Font_Size_Units)3
#	define		_913	(Font_Size_Units)4
#	define		_912	(Font_Size_Units)5

	Font_Size_Units		size_units;
	Font_Size_Units		size_tolerance_units;

#	define		_920			(Font_Transform)0
#	define		_918					(Font_Transform)1
#	define		_919					(Font_Transform)2
#	define		_921	(Font_Transform)3

	Font_Transform		transform;		/* _5001 _8811 */
}		_3355;

#define _434	_498

typedef struct _6783 {	
	_28			h;
	RGB					rgb;
	Color_Index			index;
	void				*driver_data;
	Name				name;
}		Generic_Color;

typedef Generic_Color			_2215,
								_3641,
								_750,
								_931,
								_3354,
								_2033,
								_2026,
								_119,
								_932,
								_3642;

typedef struct color_map {		
	_28			h;
	int					length;
	RGB					*_9933; /* _4497 _8714 _2790'_9991 */
	void				*driver_data;

#	if	_2441
		struct {int offset, count;}		_9713, _8752;
#	endif
}		_436;
	

typedef struct _6794 {	
	_28			h;
	FLOAT				value;
}		_1098;

typedef _1098	_2036,
								_752,
								_3357,
								_2216;

typedef struct _10820 { 
	_28			h;
	Point				value;
}		_3356;

typedef struct camera {			
	_28			h;
	Point				_9316,
						target,			/* _8121 _4627 == _9317 */
						_11184; /* _8607 */
	FLOAT				field_width,
						field_height;			/* (_8121 _4627 _11860) */

#	define		_2487	0
#	define		_2361	1
#	define		_3056	2
	int					_9435;

	/* _5676 _7392... */
	Point				_6347,			/* _10750 - _9317, _8607 */
						_11183; /* _8607 */
	FLOAT				eye_distance,	/* _8121 _4627 _11860 */
						field_width_tangent, /* _6430 / _6349; _4406 _6883 */
						field_height_tangent;
	FLOAT				(*matrix)[4][4], /* _6473 _7309 _4831 _403-_10929-_3375 */
						(*_7541)[4][4];
	FLOAT				_7143,
						aspect;
	FLOAT				_11840, /* _6473 _7309 _4831 _403-_10929-_3375 */
						_11842,
						_8082;
}		Camera;

typedef struct _6793 {	
	_28			h;
	short				value;
}		_1097;

typedef _1097			_933,
								_751,
								_3646,
								_2035,
								_2217,
								_3353;

typedef struct _11256 { 
	_28			h;
	long				data;
}		_3458;

typedef struct _8178 {
	_28			h;
#	define		_2137					(int)0x001
#	define		_2140					(int)0x002
#	define		_2134					(int)0x004
#	define		_2132					(int)0x008
#	define		_2131					(int)0x010
#	define		_2135			(int)0x020
#	define		_2133	(int)0x040
#	define		_2136					(int)0x080
#	define		_2138					(int)0x100
#	define		_2139			(int)0X200
	int					mask, 
						value;
	Name				name, 
						directory, 
						comment, 
						_8877;
	struct _8178		*_11611,
						**_11606;
	boolean				_11236;
}		_2228;	  

typedef int				_2048; /* _5616 _6736 _7309 "_9228._6975" */
typedef int				_679;	 /* _5616 _6736 _7309 "_9228._6975" */
typedef struct _10584 {
	struct _10584		*next,
						*prev;
	_1897				string;
}		_3225;

typedef struct driver {	   
	_28			h;
	_679		dflags;
	struct driver		*driver_list,
						**_6002;
	union _7140 *_7720;
	boolean				(*action)(),		   /* _11352 _10929 _11249 _9432 */
						(*_5237)();
	void				*driver_data,
						*_5992, /* _11245 _8816 _4831 _684 */
						*_9229;	 /* _11245 _8816 _4831 _2698 */

	_1800				*_7477; /* _8816 _7267 _599 */
	
	struct _5994 {
		int				_7932,			/* _6698 _11249 _4872 */
						_7925,
						_7931,
						_7930;
		struct driver	*target;						/* _6698 _11249 _4872 */
		int				_10751, /* _6698 _11249 _4872 */
						_5459;			/* _6698 _11249 _4872 */
		int				*_4820;			/* _4497 _8714 256 (_8864 _10409)! */
		long			_10955;
		int				_10581;
		_3223	*_10579;
		int				_10580;
		int				*_11280;
		long			_10961;
	}					_9105, 
						active;

	int					_10586;
	_1897				_5441;
	_3225				*_10584,
						*_7723;
	int					_10585;

	boolean				_7672,
						_11281;

	_2048		_7918,			/* _8393 _8714 _10831 _4216 */
						_10177,			/* _8393 _8714 _8893 _8957 */
						locater_has_been_enabled; /* _7919 | _10750->_10178 */
	struct {	
		_2048	action;
		FLOAT			x, y;
		int				status; 
	}					_9397;

	boolean				double_buffering;
						
	Window				_6379;	/* _10929 _7155 _9714 _10097 _6556 _6242 */

	boolean				(*secondary_action)(); /* _6625 _11040-_7819 _6012 (_2898) */

}		Driver;

typedef struct _6004 {	
	_28			h;
	struct option_value *_8856;
}		_680;

typedef _680	_3455;

typedef union _4537 {
	_28			h;

	Style				style;

	Generic_Color		_6783;
	_1097		_6793;
	_1098		_6794;

	_119		ambient_color;
	Camera				camera;
	_436				color_map;
	Driver				driver;
	_680		_6004;
	_750				_6087;
	_751		_6091;
	_752				_6094;
	_931				_6359;
	_932		_6361;
	_933		_6362;
	_1653				_6995;
	_1689				heuristics;
	_2026		lighting_color;
	_2033				line_color;
	_2035		line_pattern;
	_2036				line_weight;
	_2215		_8060;
	_2216				_8061;
	_2217		_8062;
	_2228				_8178;
	Modelling_Matrix	modelling_matrix;
	_3154		selectability;
	_3220		_10572;
	_3353		_10813;
	_3354				_10815;
	_3355				text_font;
	_3356				_10820;
	_3357		_10821;
	_3455		_11252;
	_3458				_11256;
	_3505				visibility;
	Window				window;
	_3645		_11528;
	_3641		window_color;
	_3642 window_contrast_color;
	_3646		window_pattern;
}		_131;

typedef struct color_name {
	struct color_name	*next;
	struct _5124		*def;
	Name				name;
	int					_5630;
	struct color_name	*hash_next,
						**_7027;
}		_437;

typedef struct _5124 {	
	struct {
		struct _5124	*next,			
								**_4577;
		short					utility;		
		_3384					type;			
		Database_Flags			dbflags;		
		struct _11585			*owner;			
	}	h;
		
	_437				*_5095;
	Name				_5620;
	HLS					color;
}		_435;

typedef struct _4353 {
	struct {
		struct _4353			*next,
								**_4577;
		short					utility;		
		_3384					type;			
#		define					_112	_498
#		define					_113	_499
		Database_Flags			dbflags;
		struct _11585			*owner; 
	}					h;

	Name				name;
	struct _9066		*def;
}		_111;

typedef struct option_value {	/* _8567 _5384-_9742 _4387 - _10409 _5827'_10721
								 * _8372 _3459 _6242 */
	struct option_value *next;
	struct _8857		*type;
	union {
		boolean			*_4092;
		FLOAT			*_float;
		int				*_int;
		Name			*_4128;
		long			*_4114;
		void			*_4150;
	}					value;
	boolean				_8383;
	int					_4304;
}		Option_Value;

#define _2296	0	/* _2665 _4521 _10847 _4481 _7309 _10866 _8865! */
#define _210	1	
#define _878	2
#define _1738	3
#define _2263	4
#define _3061	5	/* _10000 _4504 _2306, _6281 _8610 _4885 */
#define _1995	6
#define _3429	7	

typedef struct _8857 {
	struct {
		struct _8857	*next,
								**_4577;
		short					utility;		
		_3384					type;			
#		define	_2366	_498
		Database_Flags			dbflags;
		struct _11585			*owner;
	}					h;

	int					id;
	Name				name;
	int					_11285;
	int					_11283;	   /* -1 _7267 _11292 */
	boolean				_8381;
}		_2403;

typedef struct _5246 {
	const int			id;
	_449		name;
	const int			_11285;
	const int			_11283;	   /* -1 _7267 _11292 */
	const boolean		_8381;
}		_450;

typedef struct _7000 {
	struct {
		struct _7000			*next,
								**_4577;
		short					utility;		
		_3384					type;			
		Database_Flags			dbflags;
		struct _11585			*owner;
	}					h;

	void				(*_9966)();
}		_1655;

typedef _1655			_1096,
						_772,
						_778;

typedef struct wakeup {
	struct {
		struct wakeup			*next,
								**_4577;
		short					utility;		
		_3384					type;			
		Database_Flags			dbflags;
		struct _11585			*owner; 
	}					h;

	int					_6158;
	FLOAT				interval;
	Time				ticks,
						_8534;
	int					_6264;
}		_3587;

#define _698	_498

typedef struct _6129 {
	union event			*next,	
						**_4577;				
	short				utility;		
	_3384				type;			
	Database_Flags		dbflags;				
	struct _11585		*owner;
	Time				_10905;
}		_700;
		
typedef struct _11410 {
	_700				h;
	_3587				*wakeup;
}		_3588;

typedef struct _4821 {
	_700				h;
	struct driver		*source;
	Button				button;
	int					status;
}		_270;

typedef struct _10582 {
	_700				h;
	struct driver		*source;
	_1897				string;
}		_3224;

typedef struct _10460 {
	_700				h;
	Name				type,
						value;
}		_3196;

typedef struct _7935 {
	_700				h;
	struct driver		*source;
	FLOAT				x, y;
	int					status;
	_2048		action;
}		_2049;

typedef struct _7353 {
	struct _7353		*prev;
	_1774				*include;
}		_1776;

typedef struct _10182 {
	struct _10182		*next;
	union _4436 *item;
	_1776		*_7353;
	_2048		_7609;
	int					_8720, _8721;
	FLOAT				_11738, _11818;
	FLOAT				_11669, _11779, _11850;

	FLOAT				_10114; /* _6625 _5988 _5280 */
	FLOAT				proximity;		/* _7835 */
	struct transform_rendition	*transform_rendition;	/* _7835 */
}		_3158;

#define _2950			_498
#define _2951	_499

typedef struct selection_event {
	_700				h;

	struct driver		*source,
						*target;
	_2048		_7922;
	int					status;

	Rectangle			_7924;

	Segment				*_10526;
	
	_3158		*_7611;

}		_3156;

typedef union event {
	_700				h;

	_3588		_11410;
	_270		_4821;
	_3196		_10460;
	_3224		_10582;
	_2049		_7935;
	_3156		selection_event;
}		Event;

typedef struct {
	union _7140 *_6738, 
						*_9054;			
	short				utility;		
	_3384				type;			
	Database_Flags		dbflags;				
	struct _11585		*owner;
}		_1325;

typedef struct {		
	_1325				h;
}		_3106;

typedef struct {		
	_1325				h;
	Polyline			*_8742;
}		_2872;

typedef struct {		
	_1325				h;
	union _4436 *new;
}		_468;

typedef struct {		
	_1325				h;
	union _4436 *old;
}		_621;

typedef struct {		
	_1325				h;
	union _4436			*old, 
						*new;
}		_2862,
		_457;

typedef struct {		
	_1325				h;
	Segment				*seg,	
						*_8782,
						*_8494;
	Name				_8781,
						_8491;
}		_2855;

typedef struct {		
	_1325				h;
	Segment				*seg;
	union _4436 *_8737;
}		_966;

typedef struct {		
	_1325				h;
	Polygon				*polygon;
	int					offset;
	int					_5634,
						_7450;
	Point_List			*_5637,
						*_7462;			/* (_5305) */
}		_754;

typedef struct {		
	_1325				h;
	Polyline			*polyline;
	int					offset;
	int					_5634,
						_7450;
	Point_List			*_5637,
						*_7462;			/* (_5305) */
}		_755;

typedef struct {		
	_1325				h;
	union _4436 *text;
	int					row,
						_5150;
	_1897				_5639,
						_7464,
						_6216,
						_8933;
}		_756;

typedef struct {		
	_1325				h;
	union geometry		*text;
	int					row,
						_5150;
	Name				_8753,
						_8446;
}		_2857;

typedef struct {		
	_1325				h;
	Pixel_Array			*pixel_array;
	int					_11718,
						_11800,
						_11675,
						_11782;
	Color_Index			**_8751;
}		_753;

typedef struct {		
	_1325				h;
	_436				*color_map;
	int					offset,
						count;
	RGB					*_8756;
}		_2244;

typedef struct {		
	_1325				h;
	union geometry		*text;
	int					_7803,
						_11219,
						_10953;
	char				*_8753;
	Karacter			*_8763;
}		_3111;

typedef struct {		
	_1325				h;
	_3223		*_10579;
	int					_8757,
						_8736;
}		_2254;

typedef struct {		
	_1325				h;
	Point				_7420;
	Polyline			*_5379;
}		_1797;

typedef union _7140 {
	_1325				h;
	_240				_4638;
	_457				_5304;
	_468				_5381;
	_621				_5643;
	_753		_6105;
	_754		_6106;
	_755		_6107;
	_756				_6108;
	_966		_6579;
	_1797				_7456;
	_2244		_8258;
	_2254		_8288;
	_2855		_9792;
	_2857				_9797;
	_2862				_9814;
	_2872		_9887;
	_3106				_10047;
	_3111				_10120;
}		_1697;


typedef union _10167 {
	_3229				h;
	Subsegment			subsegment;
	_131				_4537;
	Geometry			geometry;
}		_3151;

typedef union _4436 {
	_1658				h;

	_3151				_10167;
	Subsegment			subsegment;
	_131				_4537;
	Geometry			geometry;
	Event				event;
	_1697				_7140;
	_2400				open_list;
	_3651				_11585;
	_1800				instance;
	_435				_5124;
	_2403				_8857;
	_111				_4353;
	_3587				wakeup;
	_1096		_6792;
	_772		error_handler;
	_778		_6299;
}		Anything;

typedef struct _8152 {
	struct _8152		*next,
						**_4577;
	long				size;
}		_2222;

/* _9687 _7392 _11056 */
		
/*** _2201 _2076 _3251 _1712 _2962-_1878-_3320! ***/

/* (_10831 / * * /'_9991 _4481 _6556 _6625 _10831 _6110) */

#define _864			(int)0/**/
#define _3055			(_3384)_864		/* _8327 _4627 _6515 */

#define _3062					(_3384)1/**/	/* _8327 _4627 _4636 _4541 */

#define _850			(int)2/**/

/* _9484 _4153 _6421 _8267-_10827-_5185-_7509 _4541 _6077, _6625 _3152... */
#define _2918			(_3384)_850
#define _3469			(_3384)3/**/
#define _3532			(_3384)4/**/ /* _8327 _4627 _4636 _3527 */
#define WINDOW					(_3384)5/**/

/* _5116 _8038 _8327 _4627 _4636 _8886 _5146 */
#define _346			(_3384)6/**/

/* _5146 _4481 _6515 _6625 _956; _5072 _6625 _3162 & _3439 _432 */
#define _851			(int)7/**/
#define _38				(_3384)_851
#define _690			(_3384)8/**/
#define _807			(_3384)9/**/
#define _808	(_3384)10/**/
#define _1955			(_3384)11/**/
#define _1967			(_3384)12/**/
#define _2065			(_3384)13/**/
#define _3273			(_3384)14/**/
#define _3529			(_3384)15/**/
#define _3530	(_3384)_1915
#define _1915			(int)16/**/

#define _276					(_3384)17/**/
#define _570					(_3384)18/**/
#define _573			(_3384)19/**/
#define _691			(_3384)20/**/
#define _692			(_3384)21/**/
#define _809			(_3384)22/**/
#define _1158			(_3384)23/**/
#define _1322			(_3384)24/**/
#define _1976			(_3384)25/**/
#define _1978			(_3384)26/**/
#define _2071			(_3384)27/**/
#define _2073			(_3384)28/**/
#define _2128			(_3384)29/**/
#define _2159	(_3384)30/**/
#define _3272			(_3384)31/**/
#define _3275			(_3384)32/**/
#define _3277			(_3384)33/**/
#define _3278			(_3384)34/**/
#define _3427			(_3384)35/**/
#define _3430			(_3384)36/**/
#define _3536			(_3384)_1914
#define _1914			(int)37/**/

#define _855			(int)38/**/
#define BLOCK_TEXT				(_3384)_855
#define CIRCLE					(_3384)39/**/
#define CIRCULAR_ARC			(_3384)40/**/
#define DISTANT_LIGHT			(_3384)41/**/
#define ELLIPSE					(_3384)42/**/
#define ELLIPTICAL_ARC			(_3384)43/**/
#define LINE					(_3384)44/**/
#define MARKER					(_3384)45/**/
#define PIXEL_ARRAY				(_3384)46/**/
#define POLYLINE				(_3384)47/**/
#define POLYGON					(_3384)48/**/
#define _3058			(_3384)49/**/
#define TEXT					(_3384)50/**/
#define MISSING_GEOMETRY		(_3384)_1920 /* _8327 _4627 _7719 _6797 */
#define _1920			(int)51/**/

#define _863			(int)52/**/
#define INCLUDE					(_3384)_863
#define SEGMENT					(_3384)_1928	/* _8327 _4627 _7719 */
#define _1928			(int)53/**/

/* _10831 _9884 _8714 _10847 _4880 _4627 _7309 _4428 _8865... */
#define _858			(int)54/**/
#define _2355			(_3384)_858
#define _3578					(_3384)55/**/
#define _1727			(_3384)56/**/
#define _343			(_3384)57/**/
#define _31						(_3384)58/**/
#define _3509					(_3384)59/**/
#define _731			(_3384)60/**/
#define _742			(_3384)61/**/
#define _2357			(_3384)_1924
#define _1924			(int)62/**/

#define _854			(int)63/**/
#define _227			(_3384)_854
#define _1986			(_3384)64/**/
#define _2922			(_3384)65/**/
#define _3028			(_3384)66/**/
#define _3059			(_3384)67/**/
#define _3510			(_3384)_1917
#define _1917			(int)68/**/

#define _856			(int)69/**/
#define _182			(_3384)_856
#define _359					(_3384)70/**/
#define _370			(_3384)71/**/
#define _529			(_3384)72/**/
#define _694	(_3384)73/**/
#define _695			(_3384)74/**/
#define _696			(_3384)75/**/
#define _697			(_3384)76/**/
#define _882			(_3384)77/**/
#define _1725			(_3384)78/**/
#define _2161	(_3384)79/**/
#define _2180	(_3384)80/**/
#define _2767			(_3384)81/**/
#define _2768			(_3384)82/**/
#define _2773			(_3384)83/**/
#define _2785			(_3384)84/**/
#define _2895			(_3384)85/**/
#define _2906			(_3384)_1921
#define _1921			(int)86/**/

#define _1929			(int)87/**/
#define _171			(_3384)_1929

#define _485
#endif

/* (_8328'_10721 _6163 _11561 _4153 '#' _7842) */
