<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'

	#*****************************************************************************
	#
	# 2016_annual_report.php
	#
	# Author: 		Mike Milinkovich
	# Date:			2016-06-29
	#
	# Description: The 2016 Eclipse Community Annual Report
	#
	#
	#****************************************************************************

	#
	# Begin: page-specific settings.  Change these.
	$pageTitle 		= "2016 Annual Community Report";
	$pageKeywords	= "eclipse, foundation, community, annual report, 2016, vision, mission, eclipse vision, eclipse foundation mission, eclipse mission";
	$pageAuthor		= "Mike Milinkovich";

	# End: page-specific settings
	#

	# Paste your HTML content between the EOHTML markers!

	# Paste your HTML content between the EOHTML markers!
	$html = <<<EOHTML

	<div id="midcolumn">
EOHTML;

	$html .= file_get_contents('2016_annual_report.html');

	$html .= $related_links;

	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>

