// SAL_VERSION=4.1.2 XML_VERSION=5.1.0
module Scheduler {
struct avoidanceRegions_6bf8c59c {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	avoidanceRegions; // @Metadata=(Units="unitless",Description="To be deleted?")
	  float	scale; // @Metadata=(Units="unitless",Description="To be deleted?")
	  float	zero; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timestamp; // @Metadata=(Units="unitless",Description="To be deleted?")
	};
#pragma keylist avoidanceRegions_6bf8c59c SchedulerID
struct bulkCloud_ffb26074 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	bulkCloud; // @Metadata=(Units="unitless",Description="Bulk cloud cover.")
	  double	timestamp; // @Metadata=(Units="second",Description="Timestamp when the measurement was taken.")
	};
#pragma keylist bulkCloud_ffb26074 SchedulerID
struct cameraConfig_9b4d9e5f {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	readoutTime; // @Metadata=(Units="s",Description="Camera readout time")
	  double	shutterTime; // @Metadata=(Units="s",Description="Camera open/close shutter time.")
	  double	filterMountTime; // @Metadata=(Units="s",Description="How long does it take to replace a filter in the camera?")
	  double	filterChangeTime; // @Metadata=(Units="s",Description="How long does it take to change the filter?")
	  string	filterMounted; // @Metadata=(Units="unitless",Description="Comma separated string with the name of the mounted filters")
	  string	filterPos; // @Metadata=(Units="unitless",Description="Current filter position.")
	  string	filterRemovable; // @Metadata=(Units="unitless",Description="Which filters can be removed from the camera?")
	  string	filterUnmounted; // @Metadata=(Units="unitless",Description="Currently unmounted and available filters.")
	};
#pragma keylist cameraConfig_9b4d9e5f SchedulerID
struct cloudMap_c1e4e1de {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	cloudMap; // @Metadata=(Units="unitless",Description="Cloud map")
	  float	scale; // @Metadata=(Units="unitless",Description="Scale to convert int to float (multiplicative factor)")
	  float	zero; // @Metadata=(Units="unitless",Description="Zero point for the map (additive factor).")
	  double	timestamp; // @Metadata=(Units="second",Description="Time when the measurement was taken.")
	};
#pragma keylist cloudMap_c1e4e1de SchedulerID
struct command_abort_cbe4f31b {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_abort_cbe4f31b SchedulerID
struct command_disable_8b7cefca {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_disable_8b7cefca SchedulerID
struct command_enable_f4202c2e {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_enable_f4202c2e SchedulerID
struct command_enterControl_ab4a6c32 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_enterControl_ab4a6c32 SchedulerID
struct command_exitControl_ddb27a71 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_exitControl_ddb27a71 SchedulerID
struct command_setLogLevel_ae9bb4e3 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	level; // @Metadata=(Units="unitless",Description="Logging level; as a Python logging level: error=40; warning=30; info=20; debug=10.")
	};
#pragma keylist command_setLogLevel_ae9bb4e3 SchedulerID
struct command_setSimulationMode_cfc4a23e {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	mode; // @Metadata=(Units="unitless",Description="Desired simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.")
	};
#pragma keylist command_setSimulationMode_cfc4a23e SchedulerID
struct command_setValue_f6e045d7 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	parametersAndValues; // @Metadata=(Units="unitless",Description="List of parameters and their values as a Json string")
	};
#pragma keylist command_setValue_f6e045d7 SchedulerID
struct command_standby_982c56e0 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_standby_982c56e0 SchedulerID
struct command_start_a555a116 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	settingsToApply; // @Metadata=(Units="unitless",Description="Name of the selected settings set")
	};
#pragma keylist command_start_a555a116 SchedulerID
struct domeConfig_20e4d77e {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	altitudeMaxspeed; // @Metadata=(Units="deg/s",Description="Dome altitude maximum speed.")
	  double	altitudeAccel; // @Metadata=(Units="deg/s2",Description="Dome acceleration in altitude.")
	  double	altitudeDecel; // @Metadata=(Units="deg/s2",Description="Dome deceleration in altitude")
	  double	altitudeFreerange; // @Metadata=(Units="deg",Description="Dome free range in altitude.")
	  double	azimuthMaxspeed; // @Metadata=(Units="deg/s",Description="Dome maximum speed in azimuth.")
	  double	azimuthAccel; // @Metadata=(Units="deg/s2",Description="Dome acceleration in azimuth.")
	  double	azimuthDecel; // @Metadata=(Units="deg/s2",Description="Dome deceleration in azimuth.")
	  double	azimuthFreerange; // @Metadata=(Units="deg",Description="Dome free range in azimuth.")
	  double	settleTime; // @Metadata=(Units="second",Description="Dome settle time.")
	};
#pragma keylist domeConfig_20e4d77e SchedulerID
struct downtime_ca3c8e5e {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	scheduledDowntime[200]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	unscheduledDowntimes[200]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timestamp; // @Metadata=(Units="unitless",Description="To be deleted?")
	};
#pragma keylist downtime_ca3c8e5e SchedulerID
struct driverConfig_15ba5026 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	nightBoundary; // @Metadata=(Units="deg",Description="Sun altitude that marks the beginning/end of the night.")
	  double	newMoonPhaseThreshold; // @Metadata=(Units="unitless",Description="Moon illumination that marks the beginning/end of dark nights")
	  string	startupType; // @Metadata=(Units="unitless",Description="What type of startup should the scheduler do? COLD; WARM or HOT?")
	  string	startupDatabase; // @Metadata=(Units="unitless",Description="If WARM or HOT start; give the path to the startup database.")
	};
#pragma keylist driverConfig_15ba5026 SchedulerID
struct generalPropConfig_6b052aa1 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	name; // @Metadata=(Units="unitless",Description="Name of the proposal")
	  long	propId; // @Metadata=(Units="unitless",Description="Proposal id")
	  double	twilightBoundary; // @Metadata=(Units="deg",Description="Sun altitude for when night start/end for this proposal.")
	  double	deltaLst; // @Metadata=(Units="hour",Description="What is the acceptable sidereal time variation?")
	  double	decWindow; // @Metadata=(Units="deg",Description="Size of the declination window.")
	  double	maxAirmass; // @Metadata=(Units="unitless",Description="Maximum acceptable airmass")
	  double	maxCloud; // @Metadata=(Units="unitless",Description="Maximum acceptable cloud.")
	  double	minDistanceMoon; // @Metadata=(Units="unitless",Description="Minimum moon distance.")
	  boolean	excludePlanets; // @Metadata=(Units="unitless",Description="Avoid observing a tile with a bright solar planet in it?")
	  long	numRegionSelections; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	regionTypes; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	regionMinimums[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	regionMaximums[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	regionBounds[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	regionCombiners; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numTimeRanges; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	timeRangeStarts[20]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	timeRangeEnds[20]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numSelectionMappings[20]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	selectionMappings[100]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numExclusionSelections; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	exclusionTypes; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	exclusionMinimums[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	exclusionMaximums[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	exclusionBounds[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	fieldRevisitLimit; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numFilters; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	filterNames; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numVisits[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numGroupedVisits[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	maxGroupedVisits[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	brightLimit[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	darkLimit[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	maxSeeing[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numFilterExposures[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	exposures[20]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	maxNumTargets; // @Metadata=(Units="unitless",Description="To be deleted?")
	  boolean	acceptSerendipity; // @Metadata=(Units="unitless",Description="To be deleted?")
	  boolean	acceptConsecutiveVisits; // @Metadata=(Units="unitless",Description="To be deleted?")
	  boolean	restartLostSequences; // @Metadata=(Units="unitless",Description="To be deleted?")
	  boolean	restartCompleteSequences; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	maxVisitsGoal; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	airmassBonus; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	hourAngleBonus; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	hourAngleMax; // @Metadata=(Units="unitless",Description="To be deleted?")
	  boolean	restrictGroupedVisits; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timeInterval; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timeWindowStart; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timeWindowMax; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timeWindowEnd; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timeWeight; // @Metadata=(Units="unitless",Description="To be deleted?")
	};
#pragma keylist generalPropConfig_6b052aa1 SchedulerID
struct interestedProposal_794a02dc {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	observationId; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numProposals; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	proposalIds[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	proposalValues[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	proposalNeeds[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	proposalBonuses[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	proposalBoosts[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	};
#pragma keylist interestedProposal_794a02dc SchedulerID
struct logevent_appliedSettingsMatchStart_356d0560 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	appliedSettingsMatchStartIsTrue; // @Metadata=(Units="unitless",Description="True when the configuration matches the start conditions")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_appliedSettingsMatchStart_356d0560 SchedulerID
struct logevent_dependenciesVersions_b99c86c2 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	version; // @Metadata=(Units="unitless",Description="Applied settings version.")
	  string	scheduler; // @Metadata=(Units="unitless",Description="Scheduler version")
	  string	cloudModel; // @Metadata=(Units="unitless",Description="Cloud model version")
	  string	downtimeModel; // @Metadata=(Units="unitless",Description="Downtime model version")
	  string	seeingModel; // @Metadata=(Units="unitless",Description="Seeing model version")
	  string	skybrightnessModel; // @Metadata=(Units="unitless",Description="Skybrightness model version")
	  string	observatoryModel; // @Metadata=(Units="unitless",Description="Observatory model version.")
	  string	observatoryLocation; // @Metadata=(Units="unitless",Description="Observatory location version")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_dependenciesVersions_b99c86c2 SchedulerID
	 const long Scheduler_shared_DetailedState_DisabledState=1;
	 const long Scheduler_shared_DetailedState_EnabledState=2;
	 const long Scheduler_shared_DetailedState_FaultState=3;
	 const long Scheduler_shared_DetailedState_OfflineState=4;
	 const long Scheduler_shared_DetailedState_StandbyState=5;
struct logevent_errorCode_1783c6d7 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	errorCode; // @Metadata=(Units="unitless",Description="A numeric error code")
	  string	errorReport; // @Metadata=(Units="unitless",Description="An string providing detailed information about the error")
	  string	traceback; // @Metadata=(Units="unitless",Description="An optional stack trace of the error condition")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_errorCode_1783c6d7 SchedulerID
struct logevent_heartbeat_ab5770e9 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	heartbeat; // @Metadata=(Units="unitless",Description="Beats the drum.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_heartbeat_ab5770e9 SchedulerID
struct logevent_invalidateTarget_f05d396f {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	targetId; // @Metadata=(Units="unitless",Description="Unique target id.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_invalidateTarget_f05d396f SchedulerID
struct logevent_logLevel_86a28933 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	level; // @Metadata=(Units="unitless",Description="Current logging level; a Python logging level: error=40; warning=30; info=20; debug=10.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_logLevel_86a28933 SchedulerID
struct logevent_logMessage_3da9a63a {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	name; // @Metadata=(Units="unitless",Description="Log name.")
	  long	level; // @Metadata=(Units="unitless",Description="Message level; a Python logging level: error=40; warning=30; info=20; debug=10.")
	  string	message; // @Metadata=(Units="unitless",Description="Log message.")
	  string	traceback; // @Metadata=(Units="unitless",Description="Exception traceback; "" if not an exception.")
	  string	filePath; // @Metadata=(Units="unitless",Description="Path to source file.")
	  string	functionName; // @Metadata=(Units="unitless",Description="Function or method name.")
	  long	lineNumber; // @Metadata=(Units="unitless",Description="Line number in the file specified by filePath.")
	  long	process; // @Metadata=(Units="unitless",Description="Process ID.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_logMessage_3da9a63a SchedulerID
struct logevent_needFilterSwap_94313c04 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	needSwap; // @Metadata=(Units="unitless",Description="Does the scheduler need a new filter mounted on the camera?")
	  string	filterToMount; // @Metadata=(Units="unitless",Description="Which filter to add.")
	  string	filterToUnmount; // @Metadata=(Units="unitless",Description="Which filter to remove.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_needFilterSwap_94313c04 SchedulerID
struct logevent_settingVersions_a38acf01 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	recommendedSettingsVersion; // @Metadata=(Units="unitless",Description="List of comma seperated recomended versions of settings sets")
	  string	recommendedSettingsLabels; // @Metadata=(Units="unitless",Description="List of comma seperated names of settings sets")
	  string	settingsUrl; // @Metadata=(Units="unitless",Description="The URL where the settings sets definitions can be found")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_settingVersions_a38acf01 SchedulerID
struct logevent_settingsApplied_c2c5cab0 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	settingsVersion; // @Metadata=(Units="unitless",Description="The SHA or name corresponding to the published configuration")
	  string	otherSettingsEvents; // @Metadata=(Units="unitless",Description="A comma delimited list of other specific CSC configuration events. This may be blank if no other CSC specific events are necessary")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_settingsApplied_c2c5cab0 SchedulerID
struct logevent_simulationMode_13252ecf {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	mode; // @Metadata=(Units="unitless",Description="Current simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_simulationMode_13252ecf SchedulerID
struct logevent_softwareVersions_3788119d {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<16>	salVersion; // @Metadata=(Units="unitless",Description="This is the current version of SAL generation")
	  string<16>	xmlVersion; // @Metadata=(Units="unitless",Description="This is the current version of CSC XML")
	  string<16>	openSpliceVersion; // @Metadata=(Units="unitless",Description="This is the current version of OpenSplice")
	  string<16>	cscVersion; // @Metadata=(Units="unitless",Description="This is the top-level version of the CSC")
	  string	subsystemVersions; // @Metadata=(Units="unitless",Description="A comma delimited list of key=value pairs relating subsystem name (key) to its version number (value). This may be left blank if there are no subsystems within a CSC")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_softwareVersions_3788119d SchedulerID
struct logevent_summaryState_0e1a68a1 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	summaryState; // @Metadata=(Units="unitless",Description="High level state machine state identifier")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_summaryState_0e1a68a1 SchedulerID
struct logevent_target_f1f1ea59 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	targetId; // @Metadata=(Units="unitless",Description="Unique target id.")
	  double	requestTime; // @Metadata=(Units="second",Description="Time on target.")
	  double	requestMjd; // @Metadata=(Units="day",Description="MJD of the start of the observation")
	  double	ra; // @Metadata=(Units="deg",Description="Right Ascention of the target.")
	  double	decl; // @Metadata=(Units="deg",Description="Declination of the target.")
	  double	skyAngle; // @Metadata=(Units="deg",Description="Sky position angle.")
	  string	filter; // @Metadata=(Units="unitless",Description="Filter name.")
	  long	numExposures; // @Metadata=(Units="unitless",Description="Number of exposures.")
	  double	exposureTimes[10]; // @Metadata=(Units="second",Description="Exposure time.")
	  double	slewTime; // @Metadata=(Units="second",Description="Expected slew time.")
	  double	offsetX; // @Metadata=(Units="arcsec",Description="Offset in X direction (sensor).")
	  double	offsetY; // @Metadata=(Units="arcsec",Description="Offset in Y direction (sensor).")
	  long	numProposals; // @Metadata=(Units="unitless",Description="Number of science proposals this target is part of.")
	  long	proposalId[5]; // @Metadata=(Units="unitless",Description="Id of the proposals this target is part of.")
	  boolean	isSequence; // @Metadata=(Units="unitless",Description="Is this target part of a sequence of observations for the same target?")
	  long	sequenceNVisits; // @Metadata=(Units="unitless",Description="If isSequence=True; number of visits in this sequence.")
	  long	sequenceVisits; // @Metadata=(Units="unitless",Description="If isSequence=True; which visit is this (1-sequenceNVisits)?")
	  double	sequenceDuration; // @Metadata=(Units="unitless",Description="Total duration of the sequence.")
	  double	airmass; // @Metadata=(Units="unitless",Description="Expected airmass of the observation")
	  double	skyBrightness; // @Metadata=(Units="unitless",Description="Expected sky brightness of the observation.")
	  double	cloud; // @Metadata=(Units="unitless",Description="Expected cloud extintion for this observation")
	  double	seeing; // @Metadata=(Units="arcsec",Description="Expected seeing of this observation.")
	  double	moonRa; // @Metadata=(Units="deg",Description="Expected RA of the moon.")
	  double	moonDec; // @Metadata=(Units="deg",Description="Expected Dec of the moon")
	  double	moonAlt; // @Metadata=(Units="deg",Description="Expected altitude of the moon.")
	  double	moonAz; // @Metadata=(Units="deg",Description="Expected azimuth of the moon")
	  double	moonDistance; // @Metadata=(Units="deg",Description="Expected distance to the moon.")
	  double	moonPhase; // @Metadata=(Units="unitless",Description="Expected moon phase/illumination (0-1).")
	  double	sunRa; // @Metadata=(Units="deg",Description="Expected sun RA.")
	  double	sunDec; // @Metadata=(Units="deg",Description="Expected sun dec.")
	  double	sunAlt; // @Metadata=(Units="deg",Description="Expected sun altitude.")
	  double	sunAz; // @Metadata=(Units="deg",Description="Expected sun Az.")
	  double	solarElong; // @Metadata=(Units="deg",Description="Expected solar elongation.")
	  string	note; // @Metadata=(Units="unitless",Description="Note about the target.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_target_f1f1ea59 SchedulerID
struct nightSummary_00a2f3fc {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	totalVisits; // @Metadata=(Units="unitless",Description="Total number of visits performed by the scheduler this night.")
	};
#pragma keylist nightSummary_00a2f3fc SchedulerID
struct obsSiteConfig_ed26aa36 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	name; // @Metadata=(Units="unitless",Description="Name of the observatory.")
	  double	latitude; // @Metadata=(Units="deg",Description="Latitude of the observatory.")
	  double	longitude; // @Metadata=(Units="deg",Description="Longitude of the observatory.")
	  double	height; // @Metadata=(Units="m",Description="Height of the observatory.")
	  double	pressure; // @Metadata=(Units="Pa",Description="Barometric air pressure of the observatory.")
	  double	temperature; // @Metadata=(Units="Celsius",Description="Ambient temperature at the observatory.")
	  double	relativeHumidity; // @Metadata=(Units="unitless",Description="Relative humidity")
	};
#pragma keylist obsSiteConfig_ed26aa36 SchedulerID
struct observation_1d9af3cb {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	observationId; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	observationStartTime; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	observationStartMjd; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	observationStartLst; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	night; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	targetId; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	fieldId; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	groupId; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	filter; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numProposals; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	proposalIds[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	ra; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	decl; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	angle; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	altitude; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	azimuth; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numExposures; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	exposureTimes[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	visitTime; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	skyBrightness; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	airmass; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	cloud; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	seeingFwhm500; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	seeingFwhmGeom; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	seeingFwhmEff; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	fiveSigmaDepth; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	moonRa; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	moonDec; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	moonAlt; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	moonAz; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	moonPhase; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	moonDistance; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	sunAlt; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	sunAz; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	sunRa; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	sunDec; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	solarElong; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	slewTime; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	note; // @Metadata=(Units="unitless",Description="To be deleted?")
	};
#pragma keylist observation_1d9af3cb SchedulerID
struct observatoryState_c11f3859 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	timestamp; // @Metadata=(Units="second",Description="Current timestamp at the observatory")
	  double	pointingRa; // @Metadata=(Units="deg",Description="Current pointing RA.")
	  double	pointingDec; // @Metadata=(Units="deg",Description="Current pointing Declination")
	  double	pointingAngle; // @Metadata=(Units="deg",Description="Current pointing sky position angle")
	  double	pointingAltitude; // @Metadata=(Units="deg",Description="Current pointing altitude.")
	  double	pointingAzimuth; // @Metadata=(Units="deg",Description="Current pointing azimuth.")
	  double	pointingPa; // @Metadata=(Units="deg",Description="Current pointing camera position angle.")
	  double	pointingRot; // @Metadata=(Units="deg",Description="Current pointing rotator position")
	  boolean	tracking; // @Metadata=(Units="unitless",Description="Is the telescope tracking?")
	  double	telescopeAltitude; // @Metadata=(Units="deg",Description="Telescope altitude.")
	  double	telescopeAzimuth; // @Metadata=(Units="deg",Description="telescope azimuth")
	  double	telescopeRotator; // @Metadata=(Units="deg",Description="telescope rotator position")
	  double	domeAltitude; // @Metadata=(Units="deg",Description="Dome altitude position")
	  double	domeAzimuth; // @Metadata=(Units="deg",Description="dome azimuth position")
	  string	filterPosition; // @Metadata=(Units="unitless",Description="Current filter.")
	  string	filterMounted; // @Metadata=(Units="unitless",Description="Current mounted/available filters.")
	  string	filterUnmounted; // @Metadata=(Units="unitless",Description="Current unmounted/unavailable filters.")
	};
#pragma keylist observatoryState_c11f3859 SchedulerID
struct opticsLoopCorrConfig_743495a2 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	telOpticsOlSlope; // @Metadata=(Units="second/deg",Description="Multiplication factor to account the time it takes to align the optics given the size of a slew.")
	  double	telOpticsClAltLimit[3]; // @Metadata=(Units="deg",Description="How much can altitude change without the need to perform closed loop correction?")
	  double	telOpticsClDelay[2]; // @Metadata=(Units="second",Description="How long does it take to perform a closed loop?")
	};
#pragma keylist opticsLoopCorrConfig_743495a2 SchedulerID
struct parkConfig_febf5157 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	telescopeAltitude; // @Metadata=(Units="deg",Description="Telescope parking altitude.")
	  double	telescopeAzimuth; // @Metadata=(Units="deg",Description="Telescope parking azimuth")
	  double	telescopeRotator; // @Metadata=(Units="deg",Description="Telescope parking rotator position.")
	  double	domeAltitude; // @Metadata=(Units="deg",Description="Dome parking altitude.")
	  double	domeAzimuth; // @Metadata=(Units="deg",Description="Dome parking azimuth.")
	  string	filterPosition; // @Metadata=(Units="unitless",Description="Parking filter.")
	};
#pragma keylist parkConfig_febf5157 SchedulerID
struct photometricQuality_401fd2b9 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	photometricQuality; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timestamp; // @Metadata=(Units="unitless",Description="To be deleted?")
	};
#pragma keylist photometricQuality_401fd2b9 SchedulerID
struct predictedSchedule_5ba12cdb {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	ra; // @Metadata=(Units="deg",Description="RA of the upcomming targets.")
	  double	decl; // @Metadata=(Units="unitless",Description="Declination of upcomming targets.")
	  double	skyAngle; // @Metadata=(Units="deg",Description="Sky position angle of upcomming targets.")
	  double	visitTime; // @Metadata=(Units="second",Description="Total visit time for each upcomming target.")
	  string	filter; // @Metadata=(Units="unitless",Description="Filter for each upcomming observation.")
	};
#pragma keylist predictedSchedule_5ba12cdb SchedulerID
struct rotatorConfig_6c344638 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	minpos; // @Metadata=(Units="deg",Description="Camera rotator minimum position.")
	  double	maxpos; // @Metadata=(Units="deg",Description="Camera rotator maximum position.")
	  double	filterChangePos; // @Metadata=(Units="deg",Description="Camera rotator position for changing the filter.")
	  double	maxspeed; // @Metadata=(Units="deg/s",Description="Camera rotator maximum speed.")
	  double	accel; // @Metadata=(Units="deg/s2",Description="Camera rotator acceleration.")
	  double	decel; // @Metadata=(Units="deg/s2",Description="Camera rotator deceleration.")
	  boolean	manualRotator; // @Metadata=(Units="unitless",Description="Is rotator in manual mode?")
	  boolean	followsky; // @Metadata=(Units="unitless",Description="Should rotator aways align north with camera y-axis?")
	  boolean	resumeAngle; // @Metadata=(Units="unitless",Description="After a filter change; should rotator move back to original position?")
	};
#pragma keylist rotatorConfig_6c344638 SchedulerID
struct schedulerConfig_ec3e11cd {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	surveyDuration; // @Metadata=(Units="year",Description="Survey duration.")
	};
#pragma keylist schedulerConfig_ec3e11cd SchedulerID
struct seeing_dbc73c8a {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	seeing; // @Metadata=(Units="unitless",Description="Seeing measurement.")
	  double	timestamp; // @Metadata=(Units="second",Description="Time when the measurement was taken")
	};
#pragma keylist seeing_dbc73c8a SchedulerID
struct sequencePropConfig_587d1a9c {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	name; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	propId; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	twilightBoundary; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	deltaLst; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	decWindow; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	maxAirmass; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	maxCloud; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	minDistanceMoon; // @Metadata=(Units="unitless",Description="To be deleted?")
	  boolean	excludePlanets; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numUserRegions; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	userRegionIds[20]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numSubSequences; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	subSequenceNames; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numSubSequenceFilters[20]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	subSequenceFilters; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numSubSequenceFilterVisits[60]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numSubSequenceEvents[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numSubSequenceMaxMissed[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	subSequenceTimeIntervals[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	subSequenceTimeWindowStarts[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	subSequenceTimeWindowMaximums[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	subSequenceTimeWindowEnds[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	subSequenceTimeWeights[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numMasterSubSequences; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	masterSubSequenceNames; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numNestedSubSequences; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	nestedSubSequenceNames; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numMasterSubSequenceEvents; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numMasterSubSequenceMaxMissed; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	masterSubSequenceTimeIntervals; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	masterSubSequenceTimeWindowStarts; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	masterSubSequenceTimeWindowMaximums; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	masterSubSequenceTimeWindowEnds; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	masterSubSequenceTimeWeights; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numNestedSubSequenceFilters; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	nestedSubSequenceFilters; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numNestedSubSequenceFilterVisits; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numNestedSubSequenceEvents; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numNestedSubSequenceMaxMissed; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	nestedSubSequenceTimeIntervals; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	nestedSubSequenceTimeWindowStarts; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	nestedSubSequenceTimeWindowMaximums; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	nestedSubSequenceTimeWindowEnds; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	nestedSubSequenceTimeWights; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numFilters; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	filterNames; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	brightLimit[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	darkLimit[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	maxSeeing[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	numFilterExposures[10]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	exposures[50]; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	maxNumTargets; // @Metadata=(Units="unitless",Description="To be deleted?")
	  boolean	acceptSerendipity; // @Metadata=(Units="unitless",Description="To be deleted?")
	  boolean	acceptConsecutiveVisits; // @Metadata=(Units="unitless",Description="To be deleted?")
	  boolean	restartLostSequences; // @Metadata=(Units="unitless",Description="To be deleted?")
	  boolean	restartCompleteSequences; // @Metadata=(Units="unitless",Description="To be deleted?")
	  long	maxVisitsGoal; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	airmassBonus; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	hourAngleBonus; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	hourAngleMax; // @Metadata=(Units="unitless",Description="To be deleted?")
	};
#pragma keylist sequencePropConfig_587d1a9c SchedulerID
struct skyBrightness_9b978d4f {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	skyBrightnress; // @Metadata=(Units="unitless",Description="To be deleted?")
	  float	scale; // @Metadata=(Units="unitless",Description="To be deleted?")
	  float	zero; // @Metadata=(Units="unitless",Description="To be deleted?")
	  string	filter; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timestamp; // @Metadata=(Units="unitless",Description="To be deleted?")
	};
#pragma keylist skyBrightness_9b978d4f SchedulerID
struct slewConfig_ae9505a2 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	prereqDomalt; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for dome to start moving in altitude. Will wait for these actions before moving.")
	  string	prereqDomaz; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for dome to start moving in azimuth. Will wait for these actions before moving.")
	  string	prereqDomazSettle; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for dome to settle in azimuth.")
	  string	prereqTelalt; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for telescope to start moving in altitude. Will wait for these actions before moving.")
	  string	prereqTelaz; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for telescope to start moving in azimuth. Will wait for these actions before moving.")
	  string	prereqTelOpticsOpenLoop; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for telescope optics open loop to start adjusting. Will wait for these actions before moving.")
	  string	prereqTelOpticsClosedLoop; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for telescope optics closed loop to start adjusting. Will wait for these actions before moving.")
	  string	prereqTelSettle; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for telescope to settle. Will wait for these actions before moving.")
	  string	prereqTelRot; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for camera rotator to start moving. Will wait for these actions before moving.")
	  string	prereqFilter; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for filter change. Will wait for these actions before moving.")
	  string	prereqExposures; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for exposure to start. Will wait for these actions before moving.")
	  string	prereqReadout; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for exposure readout to start. Will wait for these actions before moving.")
	  string	prereqAdc; // @Metadata=(Units="unitless",Description="Not sure what this is about.")
	  string	prereqInsOptics; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for optics alignment. Will wait for these actions before moving.")
	  string	prereqGuiderPos; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites for positioning guider. Will wait for these actions before moving.")
	  string	prereqGuiderAdq; // @Metadata=(Units="unitless",Description="Comma-separated prerequisites guider to start operating. Will wait for these actions before moving.")
	};
#pragma keylist slewConfig_ae9505a2 SchedulerID
struct surveyTopology_95f6e3a8 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	numGeneralProps; // @Metadata=(Units="unitless",Description="Number of general proposals.")
	  string	generalPropos; // @Metadata=(Units="unitless",Description="Comma-separated string with the ids of the general proposals.")
	  long	numSeqProps; // @Metadata=(Units="unitless",Description="Number of time-series proposals.")
	  string	sequencePropos; // @Metadata=(Units="unitless",Description="Comma-separated string with the ids of the sequence proposals.")
	};
#pragma keylist surveyTopology_95f6e3a8 SchedulerID
struct telescopeConfig_4b343c4c {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	altitudeMinpos; // @Metadata=(Units="deg",Description="Telescope minimum reachable altitude position.")
	  double	altitudeMaxpos; // @Metadata=(Units="deg",Description="Telescope maximum reachable altitude position.")
	  double	azimuthMinpos; // @Metadata=(Units="deg",Description="Telescope minimum reachable azimuth position.")
	  double	azimuthMaxpos; // @Metadata=(Units="deg",Description="Telescope maximum reachable azimuth position.")
	  double	altitudeMaxspeed; // @Metadata=(Units="deg/s",Description="Telescope maximum speed of the altitude axis.")
	  double	altitudeAccel; // @Metadata=(Units="deg/s2",Description="Telescope altitude acceleration.")
	  double	altitudeDecel; // @Metadata=(Units="deg/s2",Description="Telescope altitude deceleration.")
	  double	azimuthMaxspeed; // @Metadata=(Units="deg/s",Description="Telescope maximum speed in azimuth")
	  double	azimuthAccel; // @Metadata=(Units="deg/s2",Description="Telescope azimuth acceleration.")
	  double	azimuthDecel; // @Metadata=(Units="deg/s2",Description="Telescope azimuth deceleration.")
	  double	settleTime; // @Metadata=(Units="second",Description="Telescope settle time.")
	};
#pragma keylist telescopeConfig_4b343c4c SchedulerID
struct temperature_dc91e9a8 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	temperature; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timestamp; // @Metadata=(Units="unitless",Description="To be deleted?")
	};
#pragma keylist temperature_dc91e9a8 SchedulerID
struct timeHandler_3ded6b12 {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	night; // @Metadata=(Units="day",Description="Current observing night from start of the survey.")
	  boolean	isDown; // @Metadata=(Units="unitless",Description="Is the observatory closed?")
	  double	downDuration; // @Metadata=(Units="unitless",Description="If closed; how long will the observatory be closed?")
	  double	timestamp; // @Metadata=(Units="second",Description="Timestamp the data was generated.")
	};
#pragma keylist timeHandler_3ded6b12 SchedulerID
struct timestamp_4038e55c {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	timestamp; // @Metadata=(Units="second",Description="The system time (TAI).")
	};
#pragma keylist timestamp_4038e55c SchedulerID
struct wind_6b1661ac {  // @Metadata=(Description="")
	  long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	speed; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	direction; // @Metadata=(Units="unitless",Description="To be deleted?")
	  double	timestamp; // @Metadata=(Units="unitless",Description="To be deleted?")
	};
#pragma keylist wind_6b1661ac SchedulerID
struct ackcmd_9cb10ef6 {  // @Metadata=(Description="")
      string<8>	private_revCode;
      double		private_sndStamp;
      double		private_rcvStamp;
      long		private_origin;
      long 		private_host;
      long		private_seqNum;
      long	SchedulerID; // @Metadata=(Description="Index number for CSC with multiple instances")
      long 		ack;
      long 		error;
      string<256>	result;
      long		host;
      long		origin;
      long		cmdtype;
      double		timeout;
	};
#pragma keylist ackcmd_9cb10ef6 SchedulerID
};

