From ff1773710f2214ae4c42f85115b79ae70e3ff2da Mon Sep 17 00:00:00 2001
From:  <vc2310@LAPTOP-FCB0H0KM.localdomain>
Date: Fri, 9 Nov 2018 23:16:48 -0500
Subject: [PATCH] MIS

---
 BlankProjectTemplate/Doc/Design/MIS/Makefile  |   18 +
 BlankProjectTemplate/Doc/Design/MIS/doxConfig | 2427 +++++++++++++++++
 .../Doc/Design/MIS/html/Food_8py.html         |  111 +
 .../Doc/Design/MIS/html/Snake_8py.html        |  111 +
 .../Doc/Design/MIS/html/annotated.html        |  109 +
 .../Doc/Design/MIS/html/arrowdown.png         |  Bin 0 -> 246 bytes
 .../Doc/Design/MIS/html/arrowright.png        |  Bin 0 -> 229 bytes
 .../Doc/Design/MIS/html/bc_s.png              |  Bin 0 -> 676 bytes
 .../Doc/Design/MIS/html/bdwn.png              |  Bin 0 -> 147 bytes
 .../MIS/html/classFood_1_1Food-members.html   |  108 +
 .../Design/MIS/html/classFood_1_1Food.html    |  257 ++
 .../html/classInterface_1_1GUI-members.html   |  107 +
 .../MIS/html/classInterface_1_1GUI.html       |  262 ++
 .../MIS/html/classSnake_1_1Snake-members.html |  110 +
 .../Design/MIS/html/classSnake_1_1Snake.html  |  235 ++
 .../Doc/Design/MIS/html/classes.html          |  109 +
 .../classhighscore_1_1HighScore-members.html  |  108 +
 .../MIS/html/classhighscore_1_1HighScore.html |  283 ++
 .../Doc/Design/MIS/html/closed.png            |  Bin 0 -> 132 bytes
 .../Doc/Design/MIS/html/doc.png               |  Bin 0 -> 746 bytes
 .../Doc/Design/MIS/html/doxygen.css           | 1475 ++++++++++
 .../Doc/Design/MIS/html/doxygen.png           |  Bin 0 -> 3779 bytes
 .../Doc/Design/MIS/html/dynsections.js        |   97 +
 .../Doc/Design/MIS/html/files.html            |  102 +
 .../Doc/Design/MIS/html/folderclosed.png      |  Bin 0 -> 616 bytes
 .../Doc/Design/MIS/html/folderopen.png        |  Bin 0 -> 597 bytes
 .../Doc/Design/MIS/html/functions.html        |  129 +
 .../Doc/Design/MIS/html/functions_func.html   |  129 +
 .../Doc/Design/MIS/html/graph_legend.html     |  119 +
 .../Doc/Design/MIS/html/graph_legend.md5      |    1 +
 .../Doc/Design/MIS/html/graph_legend.png      |  Bin 0 -> 18535 bytes
 .../Doc/Design/MIS/html/highscore_8py.html    |  137 +
 .../Doc/Design/MIS/html/index.html            |   90 +
 .../Doc/Design/MIS/html/jquery.js             |   68 +
 .../Doc/Design/MIS/html/md_README.html        |   91 +
 .../Doc/Design/MIS/html/nav_f.png             |  Bin 0 -> 153 bytes
 .../Doc/Design/MIS/html/nav_g.png             |  Bin 0 -> 95 bytes
 .../Doc/Design/MIS/html/nav_h.png             |  Bin 0 -> 98 bytes
 .../Doc/Design/MIS/html/open.png              |  Bin 0 -> 123 bytes
 .../Doc/Design/MIS/html/pages.html            |   95 +
 .../Doc/Design/MIS/html/search/all_0.html     |   26 +
 .../Doc/Design/MIS/html/search/all_0.js       |    4 +
 .../Doc/Design/MIS/html/search/all_1.html     |   26 +
 .../Doc/Design/MIS/html/search/all_1.js       |    4 +
 .../Doc/Design/MIS/html/search/all_2.html     |   26 +
 .../Doc/Design/MIS/html/search/all_2.js       |    5 +
 .../Doc/Design/MIS/html/search/all_3.html     |   26 +
 .../Doc/Design/MIS/html/search/all_3.js       |    6 +
 .../Doc/Design/MIS/html/search/all_4.html     |   26 +
 .../Doc/Design/MIS/html/search/all_4.js       |    4 +
 .../Doc/Design/MIS/html/search/all_5.html     |   26 +
 .../Doc/Design/MIS/html/search/all_5.js       |    5 +
 .../Doc/Design/MIS/html/search/all_6.html     |   26 +
 .../Doc/Design/MIS/html/search/all_6.js       |    5 +
 .../Doc/Design/MIS/html/search/all_7.html     |   26 +
 .../Doc/Design/MIS/html/search/all_7.js       |    5 +
 .../Doc/Design/MIS/html/search/all_8.html     |   26 +
 .../Doc/Design/MIS/html/search/all_8.js       |    5 +
 .../Doc/Design/MIS/html/search/all_9.html     |   26 +
 .../Doc/Design/MIS/html/search/all_9.js       |    4 +
 .../Doc/Design/MIS/html/search/classes_0.html |   26 +
 .../Doc/Design/MIS/html/search/classes_0.js   |    4 +
 .../Doc/Design/MIS/html/search/classes_1.html |   26 +
 .../Doc/Design/MIS/html/search/classes_1.js   |    4 +
 .../Doc/Design/MIS/html/search/classes_2.html |   26 +
 .../Doc/Design/MIS/html/search/classes_2.js   |    4 +
 .../Doc/Design/MIS/html/search/classes_3.html |   26 +
 .../Doc/Design/MIS/html/search/classes_3.js   |    4 +
 .../Doc/Design/MIS/html/search/close.png      |  Bin 0 -> 273 bytes
 .../Doc/Design/MIS/html/search/files_0.html   |   26 +
 .../Doc/Design/MIS/html/search/files_0.js     |    4 +
 .../Doc/Design/MIS/html/search/files_1.html   |   26 +
 .../Doc/Design/MIS/html/search/files_1.js     |    4 +
 .../Doc/Design/MIS/html/search/files_2.html   |   26 +
 .../Doc/Design/MIS/html/search/files_2.js     |    4 +
 .../Design/MIS/html/search/functions_0.html   |   26 +
 .../Doc/Design/MIS/html/search/functions_0.js |    4 +
 .../Design/MIS/html/search/functions_1.html   |   26 +
 .../Doc/Design/MIS/html/search/functions_1.js |    4 +
 .../Design/MIS/html/search/functions_2.html   |   26 +
 .../Doc/Design/MIS/html/search/functions_2.js |    5 +
 .../Design/MIS/html/search/functions_3.html   |   26 +
 .../Doc/Design/MIS/html/search/functions_3.js |    4 +
 .../Design/MIS/html/search/functions_4.html   |   26 +
 .../Doc/Design/MIS/html/search/functions_4.js |    4 +
 .../Design/MIS/html/search/functions_5.html   |   26 +
 .../Doc/Design/MIS/html/search/functions_5.js |    5 +
 .../Design/MIS/html/search/functions_6.html   |   26 +
 .../Doc/Design/MIS/html/search/functions_6.js |    4 +
 .../Doc/Design/MIS/html/search/mag_sel.png    |  Bin 0 -> 563 bytes
 .../Doc/Design/MIS/html/search/nomatches.html |   12 +
 .../Doc/Design/MIS/html/search/pages_0.html   |   26 +
 .../Doc/Design/MIS/html/search/pages_0.js     |    4 +
 .../Doc/Design/MIS/html/search/search.css     |  271 ++
 .../Doc/Design/MIS/html/search/search.js      |  791 ++++++
 .../Doc/Design/MIS/html/search/search_l.png   |  Bin 0 -> 604 bytes
 .../Doc/Design/MIS/html/search/search_m.png   |  Bin 0 -> 158 bytes
 .../Doc/Design/MIS/html/search/search_r.png   |  Bin 0 -> 612 bytes
 .../Doc/Design/MIS/html/search/searchdata.js  |   27 +
 .../Doc/Design/MIS/html/splitbar.png          |  Bin 0 -> 314 bytes
 .../Doc/Design/MIS/html/sync_off.png          |  Bin 0 -> 853 bytes
 .../Doc/Design/MIS/html/sync_on.png           |  Bin 0 -> 845 bytes
 .../Doc/Design/MIS/html/tab_a.png             |  Bin 0 -> 142 bytes
 .../Doc/Design/MIS/html/tab_b.png             |  Bin 0 -> 169 bytes
 .../Doc/Design/MIS/html/tab_h.png             |  Bin 0 -> 177 bytes
 .../Doc/Design/MIS/html/tab_s.png             |  Bin 0 -> 184 bytes
 .../Doc/Design/MIS/html/tabs.css              |   60 +
 .../Doc/Design/MIS/latex/Food_8py.tex         |   23 +
 .../Doc/Design/MIS/latex/Makefile             |   21 +
 .../Doc/Design/MIS/latex/Snake_8py.tex        |   23 +
 .../Doc/Design/MIS/latex/annotated.tex        |    7 +
 .../Design/MIS/latex/classFood_1_1Food.tex    |   96 +
 .../MIS/latex/classInterface_1_1GUI.tex       |   99 +
 .../Design/MIS/latex/classSnake_1_1Snake.tex  |   87 +
 .../MIS/latex/classhighscore_1_1HighScore.tex |  112 +
 .../Doc/Design/MIS/latex/doxygen.sty          |  477 ++++
 .../Doc/Design/MIS/latex/files.tex            |    6 +
 .../Doc/Design/MIS/latex/highscore_8py.tex    |   43 +
 .../Doc/Design/MIS/latex/md_README.tex        |    1 +
 .../Doc/Design/MIS/latex/refman.idx           |   33 +
 .../Doc/Design/MIS/latex/refman.ilg           |    6 +
 .../Doc/Design/MIS/latex/refman.ind           |   77 +
 .../Doc/Design/MIS/latex/refman.pdf           |  Bin 0 -> 75347 bytes
 .../Doc/Design/MIS/latex/refman.tex           |  167 ++
 124 files changed, 10086 insertions(+)
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/Makefile
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/doxConfig
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/Food_8py.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/Snake_8py.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/annotated.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/arrowdown.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/arrowright.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/bc_s.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/bdwn.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food-members.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI-members.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake-members.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classes.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore-members.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/closed.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/doc.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/doxygen.css
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/doxygen.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/dynsections.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/files.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/folderclosed.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/folderopen.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/functions.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/functions_func.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.md5
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/highscore_8py.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/index.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/jquery.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/md_README.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/nav_f.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/nav_g.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/nav_h.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/open.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/pages.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/close.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/mag_sel.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/nomatches.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.html
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/search.css
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/search.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/search_l.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/search_m.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/search_r.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/search/searchdata.js
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/splitbar.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/sync_off.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/sync_on.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/tab_a.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/tab_b.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/tab_h.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/tab_s.png
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/html/tabs.css
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/Food_8py.tex
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/Makefile
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/Snake_8py.tex
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/annotated.tex
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/classFood_1_1Food.tex
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/classInterface_1_1GUI.tex
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/classSnake_1_1Snake.tex
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/classhighscore_1_1HighScore.tex
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/doxygen.sty
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/files.tex
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/highscore_8py.tex
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/md_README.tex
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/refman.idx
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/refman.ilg
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/refman.ind
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/refman.pdf
 create mode 100644 BlankProjectTemplate/Doc/Design/MIS/latex/refman.tex

diff --git a/BlankProjectTemplate/Doc/Design/MIS/Makefile b/BlankProjectTemplate/Doc/Design/MIS/Makefile
new file mode 100644
index 0000000..4482aaf
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/Makefile
@@ -0,0 +1,18 @@
+PY = python3
+DOXY = doxygen
+DOXYCFG = doxConfig
+
+RMDIR = rm -rf
+
+.PHONY: test doc clean
+
+test:
+	$(PY) ../../../src/*
+
+doc:
+	$(DOXY) $(DOXYCFG)
+	cd latex && $(MAKE)
+  
+clean:
+	@- $(RMDIR) html
+	@- $(RMDIR) latex
diff --git a/BlankProjectTemplate/Doc/Design/MIS/doxConfig b/BlankProjectTemplate/Doc/Design/MIS/doxConfig
new file mode 100644
index 0000000..00b0c66
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/doxConfig
@@ -0,0 +1,2427 @@
+# Doxyfile 1.8.11
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all text
+# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+# for the list of possible encodings.
+# The default value is: UTF-8.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
+
+PROJECT_NAME           = "Snake"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
+
+PROJECT_NUMBER         =
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF          =
+
+# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
+# in the documentation. The maximum height of the logo should not exceed 55
+# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+# the logo to the output directory.
+
+PROJECT_LOGO           =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       =
+
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
+
+CREATE_SUBDIRS         = NO
+
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES    = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
+# The default value is: English.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+# The default value is: YES.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
+
+ABBREVIATE_BRIEF       =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# doxygen will generate a detailed section even if there is only a brief
+# description.
+# The default value is: NO.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+# The default value is: NO.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
+
+FULL_PATH_NAMES        = YES
+
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
+STRIP_FROM_PATH        =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
+
+STRIP_FROM_INC_PATH    =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
+# page for each member. If set to NO, the documentation of a member will be part
+# of the file/class/namespace that contains it.
+# The default value is: NO.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
+
+TAB_SIZE               = 4
+
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:\n"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". You can put \n's in the value part of an alias to insert
+# newlines.
+
+ALIASES                =
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding "class=itcl::class"
+# will allow you to use the command class in the itcl::class meaning.
+
+TCL_SUBST              =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
+#
+# Note: For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen.
+
+EXTENSION_MAPPING      =
+
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
+
+MARKDOWN_SUPPORT       = YES
+
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by putting a % sign in front of the word or
+# globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+
+AUTOLINK_SUPPORT       = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+# The default value is: NO.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+# The default value is: NO.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# If one adds a struct or class to a group and this option is enabled, then also
+# any nested class or struct is added to the same group. By default this option
+# is disabled and one has to add nested compounds explicitly via \ingroup.
+# The default value is: NO.
+
+GROUP_NESTED_COMPOUNDS = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YES.
+
+SUBGROUPING            = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NO.
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NO.
+
+INLINE_SIMPLE_STRUCTS  = NO
+
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
+
+LOOKUP_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PACKAGE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
+
+EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO,
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. If set to YES, local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO, only methods in the interface are
+# included.
+# The default value is: NO.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO, these classes will be included in the various overviews. This option
+# has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# (class|struct|union) declarations. If set to NO, these declarations will be
+# included in the documentation.
+# The default value is: NO.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO, these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+# names in lower-case letters. If set to YES, upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+# The default value is: system dependent.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES, the
+# scope will be hidden.
+# The default value is: NO.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
+# append additional text to a page's title, such as Class Reference. If set to
+# YES the compound reference will be hidden.
+# The default value is: NO.
+
+HIDE_COMPOUND_REFERENCE= NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC  = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
+
+FORCE_LOCAL_INCLUDES   = NO
+
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order.
+# The default value is: YES.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
+# The default value is: NO.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
+
+STRICT_PROTO_MATCHING  = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
+# list. This list is created by putting \todo commands in the documentation.
+# The default value is: YES.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
+# list. This list is created by putting \test commands in the documentation.
+# The default value is: YES.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if <section_label> ... \endif and \cond <section_label>
+# ... \endcond blocks.
+
+ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES, the
+# list will mention the files that were used to generate the documentation.
+# The default value is: YES.
+
+SHOW_USED_FILES        = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
+
+FILE_VERSION_FILTER    =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
+
+LAYOUT_FILE            =
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. See also \cite for info how to create references.
+
+CITE_BIB_FILES         =
+
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
+
+WARNINGS               = YES
+
+# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some parameters
+# in a documented function, or documenting parameters that don't exist or using
+# markup commands wrongly.
+# The default value is: YES.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO, doxygen will only warn about wrong or incomplete
+# parameter documentation, but not about the absence of documentation.
+# The default value is: NO.
+
+WARN_NO_PARAMDOC       = NO
+
+# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
+# a warning is encountered.
+# The default value is: NO.
+
+WARN_AS_ERROR          = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
+
+WARN_LOGFILE           =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
+# Note: If this tag is empty the current directory is searched.
+
+INPUT                  =
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see: http://www.gnu.org/software/libiconv) for the list of
+# possible encodings.
+# The default value is: UTF-8.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# read by doxygen.
+#
+# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
+# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
+# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
+# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f, *.for, *.tcl,
+# *.vhd, *.vhdl, *.ucf, *.qsf, *.as and *.js.
+
+FILE_PATTERNS          =
+
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE                =
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+# The default value is: NO.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
+
+EXCLUDE_SYMBOLS        =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
+
+EXAMPLE_PATH           =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
+
+EXAMPLE_PATTERNS       =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
+
+IMAGE_PATH             =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command:
+#
+# <filter> <input-file>
+#
+# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
+
+FILTER_SOURCE_FILES    = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
+FILTER_SOURCE_PATTERNS =
+
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# function all documented functions referencing it will be listed.
+# The default value is: NO.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
+
+REFERENCES_RELATION    = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+SOURCE_TOOLTIPS        = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see http://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
+# The default value is: NO.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
+
+VERBATIM_HEADERS       = YES
+
+# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
+# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
+# cost of reduced performance. This can be particularly helpful with template
+# rich C++ code for which doxygen's built-in parser lacks the necessary type
+# information.
+# Note: The availability of this option depends on whether or not doxygen was
+# generated with the -Duse-libclang=ON option for CMake.
+# The default value is: NO.
+
+CLANG_ASSISTED_PARSING = NO
+
+# If clang assisted parsing is enabled you can provide the compiler with command
+# line options that you would normally use when invoking the compiler. Note that
+# the include paths will already be set by doxygen for the files and directories
+# specified with INPUT and INCLUDE_PATH.
+# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
+
+CLANG_OPTIONS          =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
+
+ALPHABETICAL_INDEX     = YES
+
+# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+# which the alphabetical index list will be split.
+# Minimum value: 1, maximum value: 20, default value: 5.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
+# The default value is: YES.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_HEADER            =
+
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FOOTER            =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_STYLESHEET        =
+
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefore more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_STYLESHEET  =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_FILES       =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the style sheet and background images according to
+# this color. Hue is specified as an angle on a colorwheel, see
+# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_HUE    = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use grayscales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_SAT    = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_GAMMA  = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting this
+# to YES can help to show when doxygen was last run and thus if the
+# documentation is up to date.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_TIMESTAMP         = NO
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see: http://developer.apple.com/tools/xcode/), introduced with
+# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+# Makefile in the HTML output directory. Running make will produce the docset in
+# that directory and running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_DOCSET        = NO
+
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_NAME  = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+# Windows.
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_HTMLHELP      = NO
+
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
+# written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_FILE               =
+
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler (hhc.exe). If non-empty,
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+HHC_LOCATION           =
+
+# The GENERATE_CHI flag controls if a separate .chi index file is generated
+# (YES) or that it should be included in the master .chm file (NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+GENERATE_CHI           = NO
+
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_INDEX_ENCODING     =
+
+# The BINARY_TOC flag controls whether a binary table of contents is generated
+# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QCH_FILE               =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_NAMESPACE          = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+# folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_NAME   =
+
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_ATTRS  =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_SECT_FILTER_ATTRS  =
+
+# The QHG_LOCATION tag can be used to specify the location of Qt's
+# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+# generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHG_LOCATION           =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_ECLIPSEHELP   = NO
+
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
+ECLIPSE_DOC_ID         = org.doxygen.Project
+
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+DISABLE_INDEX          = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine-tune the look of the index. As an example, the default style
+# sheet generated by doxygen has an example that shows how to put an image at
+# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+# the same information as the tab index, you could consider setting
+# DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_TREEVIEW      = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+TREEVIEW_WIDTH         = 250
+
+# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+EXT_LINKS_IN_WINDOW    = NO
+
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_FONTSIZE       = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_TRANSPARENT    = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# http://www.mathjax.org) which uses client side Javascript for the rendering
+# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+USE_MATHJAX            = NO
+
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. See the MathJax site (see:
+# http://docs.mathjax.org/en/latest/output.html) for more details.
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility), NativeMML (i.e. MathML) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_FORMAT         = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from http://www.mathjax.org before deployment.
+# The default value is: http://cdn.mathjax.org/mathjax/latest.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_EXTENSIONS     =
+
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_CODEFILE       =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use <access key> + S
+# (what the <access key> is depends on the OS and browser, but it is typically
+# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
+# key> to jump into the search results window, the results can be navigated
+# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
+# the search. The filter options can be selected when the cursor is inside the
+# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
+# to select a filter and <Enter> or <escape> to activate or cancel the filter
+# option.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+SEARCHENGINE           = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a web server instead of a web client using Javascript. There
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SERVER_BASED_SEARCH    = NO
+
+# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+# script for searching. Instead the search results are written to an XML file
+# which needs to be processed by an external indexer. Doxygen will invoke an
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+# search results.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/).
+#
+# See the section "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH        = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
+# which will return the search results when EXTERNAL_SEARCH is enabled.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/). See the section "External Indexing and
+# Searching" for details.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHENGINE_URL       =
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+# search data is written to a file for indexing by an external tool. With the
+# SEARCHDATA_FILE tag the name of this file can be specified.
+# The default file is: searchdata.xml.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHDATA_FILE        = searchdata.xml
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+# projects and redirect the results back to the right project.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH_ID     =
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+# projects other than the one defined by this configuration file, but that are
+# all added to the same external search index. Each project needs to have a
+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+# to a relative location where the documentation can be found. The format is:
+# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTRA_SEARCH_MAPPINGS  =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
+# The default value is: YES.
+
+GENERATE_LATEX         = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked.
+#
+# Note that when enabling USE_PDFLATEX this option is only used for generating
+# bitmaps for formulas in the HTML output, but not in the Makefile that is
+# written to the output directory.
+# The default file is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+# index for LaTeX.
+# The default file is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used by the
+# printer.
+# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+# 14 inches) and executive (7.25 x 10.5 inches).
+# The default value is: a4.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PAPER_TYPE             = a4
+
+# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+# that should be included in the LaTeX output. The package can be specified just
+# by its name or with the correct syntax as to be used with the LaTeX
+# \usepackage command. To get the times font for instance you can specify :
+# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
+# To use the option intlimits with the amsmath package you can specify:
+# EXTRA_PACKAGES=[intlimits]{amsmath}
+# If left blank no extra packages will be included.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+# generated LaTeX document. The header should contain everything until the first
+# chapter. If it is left blank doxygen will generate a standard header. See
+# section "Doxygen usage" for information on how to let doxygen write the
+# default header to a separate file.
+#
+# Note: Only use a user-defined header if you know what you are doing! The
+# following commands have a special meaning inside the header: $title,
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
+# string, for the replacement values of the other commands the user is referred
+# to HTML_HEADER.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HEADER           =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+# generated LaTeX document. The footer should contain everything after the last
+# chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer.
+#
+# Note: Only use a user-defined footer if you know what you are doing!
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_FOOTER           =
+
+# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# LaTeX style sheets that are included after the standard style sheets created
+# by doxygen. Using this option one can overrule certain style aspects. Doxygen
+# will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list).
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_STYLESHEET =
+
+# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the LATEX_OUTPUT output
+# directory. Note that the files will be copied as-is; there are no commands or
+# markers available.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_FILES      =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+# contain links (just like the HTML output) instead of page references. This
+# makes the output suitable for online browsing using a PDF viewer.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# the PDF file directly from the LaTeX files. Set this option to YES, to get a
+# higher quality PDF documentation.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+# command to the generated LaTeX files. This will instruct LaTeX to keep running
+# if errors occur, instead of asking the user for help. This option is also used
+# when generating formulas in HTML.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BATCHMODE        = NO
+
+# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+# index chapters (such as File Index, Compound Index, etc.) in the output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HIDE_INDICES     = NO
+
+# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+# code with syntax highlighting in the LaTeX output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_SOURCE_CODE      = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. See
+# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+# The default value is: plain.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BIB_STYLE        = plain
+
+# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
+# page will contain the date and time when the page was generated. Setting this
+# to NO can help when comparing the output of multiple runs.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_TIMESTAMP        = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
+# RTF output is optimized for Word 97 and may not look too pretty with other RTF
+# readers/editors.
+# The default value is: NO.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: rtf.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+# contain hyperlink fields. The RTF file will contain links (just like the HTML
+# output) instead of page references. This makes the output suitable for online
+# browsing using Word or some other Word compatible readers that support those
+# fields.
+#
+# Note: WordPad (write) and others do not support links.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's config
+# file, i.e. a series of assignments. You only have to provide replacements,
+# missing definitions are set to their default value.
+#
+# See also section "Doxygen usage" for information on how to generate the
+# default style sheet that doxygen normally uses.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an RTF document. Syntax is
+# similar to doxygen's config file. A template extensions file can be generated
+# using doxygen -e rtf extensionFile.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_EXTENSIONS_FILE    =
+
+# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
+# with syntax highlighting in the RTF output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_SOURCE_CODE        = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
+# classes and files.
+# The default value is: NO.
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it. A directory man3 will be created inside the directory specified by
+# MAN_OUTPUT.
+# The default directory is: man.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to the generated
+# man pages. In case the manual section does not start with a number, the number
+# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+# optional.
+# The default value is: .3.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_EXTENSION          = .3
+
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_SUBDIR             =
+
+# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+# will generate one additional man file for each entity documented in the real
+# man page(s). These additional files only source the real man page, but without
+# them the man command would be unable to find the correct page.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
+# captures the structure of the code including all documentation.
+# The default value is: NO.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: xml.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_OUTPUT             = xml
+
+# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
+# listings (including syntax highlighting and cross-referencing information) to
+# the XML output. Note that enabling this will significantly increase the size
+# of the XML output.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
+# that can be used to generate PDF.
+# The default value is: NO.
+
+GENERATE_DOCBOOK       = NO
+
+# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+# front of it.
+# The default directory is: docbook.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_OUTPUT         = docbook
+
+# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
+# program listings (including syntax highlighting and cross-referencing
+# information) to the DOCBOOK output. Note that enabling this will significantly
+# increase the size of the DOCBOOK output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_PROGRAMLISTING = NO
+
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
+# AutoGen Definitions (see http://autogen.sf.net) file that captures the
+# structure of the code including all documentation. Note that this feature is
+# still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
+# file that captures the structure of the code including all documentation.
+#
+# Note that this feature is still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
+# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+# output from the Perl module output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
+# formatted so it can be parsed by a human reader. This is useful if you want to
+# understand what is going on. On the other hand, if this tag is set to NO, the
+# size of the Perl module output will be much smaller and Perl will parse it
+# just the same.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file are
+# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+# so different doxyrules.make files included by the same Makefile don't
+# overwrite each other's variables.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
+# C-preprocessor directives found in the sources and include files.
+# The default value is: YES.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
+# in the source code. If set to NO, only conditional compilation will be
+# performed. Macro expansion can be done in a controlled way by setting
+# EXPAND_ONLY_PREDEF to YES.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+# the macro expansion is limited to the macros specified with the PREDEFINED and
+# EXPAND_AS_DEFINED tags.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES, the include files in the
+# INCLUDE_PATH will be searched if a #include is found.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by the
+# preprocessor.
+# This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
+INCLUDE_PATH           =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will be
+# used.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that are
+# defined before the preprocessor is started (similar to the -D option of e.g.
+# gcc). The argument of the tag is a list of macros of the form: name or
+# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+# is assumed. To prevent a macro definition from being undefined via #undef or
+# recursively expanded use the := operator instead of the = operator.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+PREDEFINED             =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+# tag can be used to specify a list of macro names that should be expanded. The
+# macro definition that is found in the sources will be used. Use the PREDEFINED
+# tag if you want to use a different macro definition that overrules the
+# definition found in the source code.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
+# removed.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tag files. For each tag
+# file the location of the external documentation should be added. The format of
+# a tag file without this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where loc1 and loc2 can be relative or absolute paths or URLs. See the
+# section "Linking to external documentation" for more information about the use
+# of tag files.
+# Note: Each tag file must have a unique name (where the name does NOT include
+# the path). If a tag file is not located in the directory in which doxygen is
+# run, you must also specify the path to the tagfile here.
+
+TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+# tag file that is based on the input files it reads. See section "Linking to
+# external documentation" for more information about the usage of tag files.
+
+GENERATE_TAGFILE       =
+
+# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
+# the class index. If set to NO, only the inherited external classes will be
+# listed.
+# The default value is: NO.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will be
+# listed.
+# The default value is: YES.
+
+EXTERNAL_GROUPS        = YES
+
+# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
+# the related pages index. If set to NO, only the current project's pages will
+# be listed.
+# The default value is: YES.
+
+EXTERNAL_PAGES         = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of 'which perl').
+# The default file (with absolute path) is: /usr/bin/perl.
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
+# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+# NO turns the diagrams off. Note that this option also works with HAVE_DOT
+# disabled, but it is recommended to install and use dot, since it yields more
+# powerful graphs.
+# The default value is: YES.
+
+CLASS_DIAGRAMS         = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see:
+# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH            =
+
+# You can include diagrams made with dia in doxygen documentation. Doxygen will
+# then run dia to produce the diagram and insert it in the documentation. The
+# DIA_PATH tag allows you to specify the directory where the dia binary resides.
+# If left empty dia is assumed to be found in the default search path.
+
+DIA_PATH               =
+
+# If set to YES the inheritance and collaboration graphs will hide inheritance
+# and usage relations if the target is undocumented or is not a class.
+# The default value is: YES.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz (see:
+# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+# Bell Labs. The other options in this section have no effect if this option is
+# set to NO
+# The default value is: YES.
+
+HAVE_DOT               = YES
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+# to run in parallel. When set to 0 doxygen will base this on the number of
+# processors available in the system. You can set it explicitly to a value
+# larger than 0 to get control over the balance between CPU load and processing
+# speed.
+# Minimum value: 0, maximum value: 32, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_NUM_THREADS        = 0
+
+# When you want a differently looking font in the dot files that doxygen
+# generates you can specify the font name using DOT_FONTNAME. You need to make
+# sure dot is able to find the font, which can be done by putting it in a
+# standard location or by setting the DOTFONTPATH environment variable or by
+# setting DOT_FONTPATH to the directory containing the font.
+# The default value is: Helvetica.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTNAME           = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+# dot graphs.
+# Minimum value: 4, maximum value: 24, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the default font as specified with
+# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+# the path where dot can find it using this tag.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTPATH           =
+
+# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+# each documented class showing the direct and indirect inheritance relations.
+# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+# graph for each documented class showing the direct and indirect implementation
+# dependencies (inheritance, containment, and class references variables) of the
+# class with other documented classes.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+# groups, showing the direct groups dependencies.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LOOK               = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+# class node. If there are many fields or methods and many nodes the graph may
+# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+# number of items for each type to make the size more manageable. Set this to 0
+# for no limit. Note that the threshold may be exceeded by 50% before the limit
+# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+# but if the number exceeds 15, the total amount of fields shown is limited to
+# 10.
+# Minimum value: 0, maximum value: 100, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LIMIT_NUM_FIELDS   = 10
+
+# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+# collaboration graphs will show the relations between templates and their
+# instances.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+# YES then doxygen will generate a graph for each documented file showing the
+# direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDE_GRAPH          = YES
+
+# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+# set to YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command. Disabling a call graph can be
+# accomplished by means of the command \hidecallgraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command. Disabling a caller graph can be
+# accomplished by means of the command \hidecallergraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+# hierarchy of all classes instead of a textual one.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+# dependencies a directory has on other directories in a graphical way. The
+# dependency relations are determined by the #include relations between the
+# files in the directories.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. For an explanation of the image formats see the section
+# output formats in the documentation of the dot tool (Graphviz (see:
+# http://www.graphviz.org/)).
+# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+# to make the SVG files visible in IE 9+ (other browsers do not have this
+# requirement).
+# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd,
+# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo,
+# gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo,
+# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
+# png:gdiplus:gdiplus.
+# The default value is: png.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_IMAGE_FORMAT       = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+#
+# Note that this requires a modern browser other than Internet Explorer. Tested
+# and working are Firefox, Chrome, Safari, and Opera.
+# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+# the SVG files visible. Older versions of IE do not have SVG support.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INTERACTIVE_SVG        = NO
+
+# The DOT_PATH tag can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the \dotfile
+# command).
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOTFILE_DIRS           =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the \mscfile
+# command).
+
+MSCFILE_DIRS           =
+
+# The DIAFILE_DIRS tag can be used to specify one or more directories that
+# contain dia files that are included in the documentation (see the \diafile
+# command).
+
+DIAFILE_DIRS           =
+
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+
+PLANTUML_JAR_PATH      =
+
+# When using plantuml, the specified paths are searched for files specified by
+# the !include statement in a plantuml block.
+
+PLANTUML_INCLUDE_PATH  =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+# that will be shown in the graph. If the number of nodes in a graph becomes
+# larger than this value, doxygen will truncate the graph, which is visualized
+# by representing a node as a red box. Note that doxygen if the number of direct
+# children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+# Minimum value: 0, maximum value: 10000, default value: 50.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+# generated by dot. A depth value of 3 means that only nodes reachable from the
+# root by following a path via at most 3 edges will be shown. Nodes that lay
+# further from the root node will be omitted. Note that setting this option to 1
+# or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+# Minimum value: 0, maximum value: 1000, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not seem
+# to support this out of the box.
+#
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10) support
+# this, this feature is disabled by default.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+# explaining the meaning of the various boxes and arrows in the dot generated
+# graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
+# files that are used to generate the various graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_CLEANUP            = YES
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/Food_8py.html b/BlankProjectTemplate/Doc/Design/MIS/html/Food_8py.html
new file mode 100644
index 0000000..fe75c38
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/Food_8py.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Food.py File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">Food.py File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>implements an abstract data type for a snake's food  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFood_1_1Food.html">Food.Food</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An Abstract Data type which represents a one-unit of food.  <a href="classFood_1_1Food.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>implements an abstract data type for a snake's food </p>
+<dl class="section author"><dt>Author</dt><dd>Usman Irfan </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>11/09/2018 </dd></dl>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/Snake_8py.html b/BlankProjectTemplate/Doc/Design/MIS/html/Snake_8py.html
new file mode 100644
index 0000000..6260412
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/Snake_8py.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Snake.py File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">Snake.py File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>implements an abstract data type for a snake  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An Abstract Data type representing a snake character object.  <a href="classSnake_1_1Snake.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>implements an abstract data type for a snake </p>
+<dl class="section author"><dt>Author</dt><dd>Andy Hameed </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>11/09/2018 </dd></dl>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/annotated.html b/BlankProjectTemplate/Doc/Design/MIS/html/annotated.html
new file mode 100644
index 0000000..7e1518f
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/annotated.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Class List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Class List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Food</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classFood_1_1Food.html" target="_self">Food</a></td><td class="desc">An Abstract Data type which represents a one-unit of food </td></tr>
+<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>highscore</b></td><td class="desc"></td></tr>
+<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classhighscore_1_1HighScore.html" target="_self">HighScore</a></td><td class="desc">A Class that will contain useful functions in order for the creation of highscore page </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Interface</b></td><td class="desc"></td></tr>
+<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classInterface_1_1GUI.html" target="_self">GUI</a></td><td class="desc">A Class that will contain useful functions in order for the creation of main interface </td></tr>
+<tr id="row_3_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Snake</b></td><td class="desc"></td></tr>
+<tr id="row_3_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classSnake_1_1Snake.html" target="_self">Snake</a></td><td class="desc">An Abstract Data type representing a snake character object </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/arrowdown.png b/BlankProjectTemplate/Doc/Design/MIS/html/arrowdown.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b63f6d38c4b9ec907b820192ebe9724ed6eca22
GIT binary patch
literal 246
zcmV<S015wzP)<h;3K|Lk000e1NJLTq000mG000&U1^@s6$*LTD0002JNkl<ZcmeI*
zAx;B97{&1)q=(=LT%h;h3{`DFU=Y+bY0?v5>kw!R34#Lv2LOS^S2tZA31X++9RY}n
zChwn@Z)Wz*WWHH{)HDtJnq&A2hk$<w7_^JU^7%7%0zJH4kA|nU6I?=t2?`YfNxzFd
zLI<~*e?p<IJGcmIw6zLXu+2_Dc6pD@(bhEM-}eIron6S{S?uGdd`*1=UDVom9yVbN
wee?!o*N50y`~~``KBRnn4>b-y(>?@z0iHr41EKCGp#T5?07*qoM6N<$f(V3Pvj6}9

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/arrowright.png b/BlankProjectTemplate/Doc/Design/MIS/html/arrowright.png
new file mode 100644
index 0000000000000000000000000000000000000000..c6ee22f937a07d1dbfc27c669d11f8ed13e2f152
GIT binary patch
literal 229
zcmV<B02=>^P)<h;3K|Lk000e1NJLTq000mG000&U1^@s6$*LTD00022Nkl<ZcmeI5
zJq`g;6h;q`*aoFUtJG`64iq|xMyXIs*n>R?RzRoKvklcaQ%HF6%rK2&ZgO(-ihJ_C
zzrK<r3Bb=(0g6xxp!U32tWOu)WH##T0rK!7uo|*cw6RYWr9yxxq2N&i=_#5kSpmd|
z3DT;|QpwOhR&)di$#aNpIVkD_gya#NrE7vMK**;p+$8f1VhPe)Xk`t*OK>gp4jgO(
fd_(yg|3PpEQb#9`a?Pz_00000NkvXXu0mjftR`5K

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/bc_s.png b/BlankProjectTemplate/Doc/Design/MIS/html/bc_s.png
new file mode 100644
index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2
GIT binary patch
literal 676
zcmV;V0$crwP)<h;3K|Lk000e1NJLTq000O80015c1^@s65rAI}0007ONkl<ZcmeI5
z%WD%+6voe;xyj6=NhXt~4{e$zF*P<SZp4L@2Hd!iQY<tJD@e5{RU55hl&Talf{KWb
zN*6A=C`Gqz5#NvcXzNOCOH(I9n<#?l<k5ws2omoMCgj%s3y1G=&gJ~>y__>=_9%My
z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s
z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK
ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS
zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3
zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U
zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o%
zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2
zBrW#G7Ss9wvzr@>H*`r>zE<Gz)cj&*s5lRy$b&*W@2j<GZEpXZ$P|Z!4Q$_|`5gj>
z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66
zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000<
KMNUMnLSTYoA~SLT

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/bdwn.png b/BlankProjectTemplate/Doc/Design/MIS/html/bdwn.png
new file mode 100644
index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452
GIT binary patch
literal 147
zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C<wUB513~7
zF-Lk{?g8$ijf`2F^ip|Vw7EpzIJxiU`6~>2wk~_T<sM_r%les%%^JdHy*A#$ew5wb
vr&wL1c8#4j*F5jfGT)c(PZrEb5O3m+yDrVre6KeTXbXd<tDnm{r-UW|3$!!q

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food-members.html b/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food-members.html
new file mode 100644
index 0000000..f339a3c
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food-members.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>Food</b></li><li class="navelem"><a class="el" href="classFood_1_1Food.html">Food</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Food.Food Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classFood_1_1Food.html">Food.Food</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f">__init__</a>(self, blockSize)</td><td class="entry"><a class="el" href="classFood_1_1Food.html">Food.Food</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f">draw_food</a>(self, location)</td><td class="entry"><a class="el" href="classFood_1_1Food.html">Food.Food</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6">redraw_food</a>(self, x, y, location, screenSize)</td><td class="entry"><a class="el" href="classFood_1_1Food.html">Food.Food</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size</b> (defined in <a class="el" href="classFood_1_1Food.html">Food.Food</a>)</td><td class="entry"><a class="el" href="classFood_1_1Food.html">Food.Food</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food.html b/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food.html
new file mode 100644
index 0000000..d4a2265
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/classFood_1_1Food.html
@@ -0,0 +1,257 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Food.Food Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>Food</b></li><li class="navelem"><a class="el" href="classFood_1_1Food.html">Food</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="classFood_1_1Food-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">Food.Food Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>An Abstract Data type which represents a one-unit of food.  
+ <a href="classFood_1_1Food.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae4c3146df2eab1cffad7a10bab5b721f"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f">__init__</a> (self, blockSize)</td></tr>
+<tr class="memdesc:ae4c3146df2eab1cffad7a10bab5b721f"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classFood_1_1Food.html" title="An Abstract Data type which represents a one-unit of food. ">Food</a> constructor.  <a href="#ae4c3146df2eab1cffad7a10bab5b721f">More...</a><br /></td></tr>
+<tr class="separator:ae4c3146df2eab1cffad7a10bab5b721f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad94875bc7f2f6c990b826c9dc40092f"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f">draw_food</a> (self, location)</td></tr>
+<tr class="memdesc:aad94875bc7f2f6c990b826c9dc40092f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw method uses pygame to draw the food object on the window.  <a href="#aad94875bc7f2f6c990b826c9dc40092f">More...</a><br /></td></tr>
+<tr class="separator:aad94875bc7f2f6c990b826c9dc40092f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a84b471eb86eaab7414ce1f28915fd6"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6">redraw_food</a> (self, x, y, location, screenSize)</td></tr>
+<tr class="memdesc:a4a84b471eb86eaab7414ce1f28915fd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">redraw_food method redraws the food on the screen randomly  <a href="#a4a84b471eb86eaab7414ce1f28915fd6">More...</a><br /></td></tr>
+<tr class="separator:a4a84b471eb86eaab7414ce1f28915fd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a811a8754b4796d69534a0649520a5993"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a811a8754b4796d69534a0649520a5993"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>size</b></td></tr>
+<tr class="separator:a811a8754b4796d69534a0649520a5993"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>An Abstract Data type which represents a one-unit of food. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ae4c3146df2eab1cffad7a10bab5b721f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def Food.Food.__init__ </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>blockSize</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="classFood_1_1Food.html" title="An Abstract Data type which represents a one-unit of food. ">Food</a> constructor. </p>
+<p>Initializes the size of the food, this needs to be the same as snake's block size </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">blockSize</td><td>the width and height of the square block representing the food </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aad94875bc7f2f6c990b826c9dc40092f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def Food.Food.draw_food </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>location</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Draw method uses pygame to draw the food object on the window. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">location</td><td>A list which consists the x and y location of the food </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a4a84b471eb86eaab7414ce1f28915fd6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def Food.Food.redraw_food </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>location</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>screenSize</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>redraw_food method redraws the food on the screen randomly </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>is the location of snake's x-axis head location </td></tr>
+    <tr><td class="paramname">y</td><td>is the location of snake's y-axis head location </td></tr>
+    <tr><td class="paramname">location</td><td>is a list that gives the location of present food </td></tr>
+    <tr><td class="paramname">screenSize</td><td>is the size of the screen </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="Food_8py.html">Food.py</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI-members.html b/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI-members.html
new file mode 100644
index 0000000..439a043
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI-members.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>Interface</b></li><li class="navelem"><a class="el" href="classInterface_1_1GUI.html">GUI</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Interface.GUI Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classInterface_1_1GUI.html">Interface.GUI</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280">button</a>(Surface, color, Rect, width)</td><td class="entry"><a class="el" href="classInterface_1_1GUI.html">Interface.GUI</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591">runfile</a>(runfilename)</td><td class="entry"><a class="el" href="classInterface_1_1GUI.html">Interface.GUI</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93">text</a>(text, fontStyle, fontSize, color, coord, surface)</td><td class="entry"><a class="el" href="classInterface_1_1GUI.html">Interface.GUI</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI.html b/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI.html
new file mode 100644
index 0000000..6ad1fed
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/classInterface_1_1GUI.html
@@ -0,0 +1,262 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Interface.GUI Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>Interface</b></li><li class="navelem"><a class="el" href="classInterface_1_1GUI.html">GUI</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classInterface_1_1GUI-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">Interface.GUI Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A Class that will contain useful functions in order for the creation of main interface.  
+ <a href="classInterface_1_1GUI.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aea50c45b0173d626777b9aee47a23591"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591">runfile</a> (runfilename)</td></tr>
+<tr class="memdesc:aea50c45b0173d626777b9aee47a23591"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function for running other files.  <a href="#aea50c45b0173d626777b9aee47a23591">More...</a><br /></td></tr>
+<tr class="separator:aea50c45b0173d626777b9aee47a23591"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e96c109143b0d74c039338673435280"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280">button</a> (Surface, color, Rect, width)</td></tr>
+<tr class="memdesc:a6e96c109143b0d74c039338673435280"><td class="mdescLeft">&#160;</td><td class="mdescRight">A method to create a button.  <a href="#a6e96c109143b0d74c039338673435280">More...</a><br /></td></tr>
+<tr class="separator:a6e96c109143b0d74c039338673435280"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1017c12e07fbe580fa27aa4c0c634b93"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93">text</a> (text, fontStyle, fontSize, color, coord, surface)</td></tr>
+<tr class="memdesc:a1017c12e07fbe580fa27aa4c0c634b93"><td class="mdescLeft">&#160;</td><td class="mdescRight">A method to display text.  <a href="#a1017c12e07fbe580fa27aa4c0c634b93">More...</a><br /></td></tr>
+<tr class="separator:a1017c12e07fbe580fa27aa4c0c634b93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A Class that will contain useful functions in order for the creation of main interface. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a6e96c109143b0d74c039338673435280"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def Interface.GUI.button </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>Surface</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>color</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>Rect</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>width</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>A method to create a button. </p>
+<p>This method will make a box on the interface </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">surface</td><td>The background (surface) the box should be made on </td></tr>
+    <tr><td class="paramname">color</td><td>The color of the button to be made </td></tr>
+    <tr><td class="paramname">Rect</td><td>The coordinate of the button with the length and width </td></tr>
+    <tr><td class="paramname">width</td><td>The width of the sides of button </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aea50c45b0173d626777b9aee47a23591"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def Interface.GUI.runfile </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>runfilename</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>A function for running other files. </p>
+<p>Executes another python file when this is selected, Given that the file is in same folder. </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">runfilename</td><td>The name of the file to be executed </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a1017c12e07fbe580fa27aa4c0c634b93"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def Interface.GUI.text </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>text</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>fontStyle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>fontSize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>color</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>coord</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>surface</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>A method to display text. </p>
+<p>This function will print the text on the interface </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">text</td><td>The text to be printed </td></tr>
+    <tr><td class="paramname">fontStyle</td><td>The font Style of the text to be displayed </td></tr>
+    <tr><td class="paramname">fontSize</td><td>The size of the text written </td></tr>
+    <tr><td class="paramname">color</td><td>The color of the text </td></tr>
+    <tr><td class="paramname">coord</td><td>The coordinate at which the text should start displaying </td></tr>
+    <tr><td class="paramname">surface</td><td>The background (surface) the text should be printed on </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>Interface.py</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake-members.html b/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake-members.html
new file mode 100644
index 0000000..21e4a58
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake-members.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>Snake</b></li><li class="navelem"><a class="el" href="classSnake_1_1Snake.html">Snake</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Snake.Snake Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a">__init__</a>(self, blockSize, direct, speed, axis)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>axis</b> (defined in <a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a>)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>direct</b> (defined in <a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a>)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3">draw</a>(self, x, y)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b> (defined in <a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a>)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>speed</b> (defined in <a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a>)</td><td class="entry"><a class="el" href="classSnake_1_1Snake.html">Snake.Snake</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake.html b/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake.html
new file mode 100644
index 0000000..f13087d
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/classSnake_1_1Snake.html
@@ -0,0 +1,235 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Snake.Snake Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>Snake</b></li><li class="navelem"><a class="el" href="classSnake_1_1Snake.html">Snake</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="classSnake_1_1Snake-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">Snake.Snake Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>An Abstract Data type representing a snake character object.  
+ <a href="classSnake_1_1Snake.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aeb38fdae78144abf6a84c7ba35af536a"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a">__init__</a> (self, blockSize, direct, speed, axis)</td></tr>
+<tr class="memdesc:aeb38fdae78144abf6a84c7ba35af536a"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classSnake_1_1Snake.html" title="An Abstract Data type representing a snake character object. ">Snake</a> constructor.  <a href="#aeb38fdae78144abf6a84c7ba35af536a">More...</a><br /></td></tr>
+<tr class="separator:aeb38fdae78144abf6a84c7ba35af536a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0507605e291c7ea3423021d4e718df3"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3">draw</a> (self, x, y)</td></tr>
+<tr class="memdesc:ad0507605e291c7ea3423021d4e718df3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draw method uses pygame to draw the snake object.  <a href="#ad0507605e291c7ea3423021d4e718df3">More...</a><br /></td></tr>
+<tr class="separator:ad0507605e291c7ea3423021d4e718df3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a0b25a63b667813d471a04e3091304ad6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b25a63b667813d471a04e3091304ad6"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>speed</b></td></tr>
+<tr class="separator:a0b25a63b667813d471a04e3091304ad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afb56639cdb67222e4e31ca4cfffebd2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb56639cdb67222e4e31ca4cfffebd2d"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>direct</b></td></tr>
+<tr class="separator:afb56639cdb67222e4e31ca4cfffebd2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a886db89c556bb8e85c462c821b56089a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a886db89c556bb8e85c462c821b56089a"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>size</b></td></tr>
+<tr class="separator:a886db89c556bb8e85c462c821b56089a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ed7ae05b60f642abc4184f349ef279a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ed7ae05b60f642abc4184f349ef279a"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>axis</b></td></tr>
+<tr class="separator:a3ed7ae05b60f642abc4184f349ef279a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>An Abstract Data type representing a snake character object. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aeb38fdae78144abf6a84c7ba35af536a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def Snake.Snake.__init__ </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>blockSize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>direct</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>speed</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>axis</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p><a class="el" href="classSnake_1_1Snake.html" title="An Abstract Data type representing a snake character object. ">Snake</a> constructor. </p>
+<p>Initializes a <a class="el" href="classSnake_1_1Snake.html" title="An Abstract Data type representing a snake character object. ">Snake</a> object with its initial attributes </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">blockSize</td><td>the width and height of the square block representing the snake </td></tr>
+    <tr><td class="paramname">direct</td><td>The direction of the snake's movement </td></tr>
+    <tr><td class="paramname">speed</td><td>The initial speed of the snake's movement </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ad0507605e291c7ea3423021d4e718df3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def Snake.Snake.draw </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>self</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Draw method uses pygame to draw the snake object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>The x-coordinate where the block should be drawn </td></tr>
+    <tr><td class="paramname">y</td><td>The y-coordinate where the block should be drawn </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="Snake_8py.html">Snake.py</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classes.html b/BlankProjectTemplate/Doc/Design/MIS/html/classes.html
new file mode 100644
index 0000000..37eb1cb
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/classes.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Class Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Class Index</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a></div>
+<table class="classindex">
+<tr><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;G&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
+</td><td></td></tr>
+<tr><td></td></tr>
+<tr><td valign="top"><a class="el" href="classFood_1_1Food.html">Food</a> (Food)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classInterface_1_1GUI.html">GUI</a> (Interface)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classhighscore_1_1HighScore.html">HighScore</a> (highscore)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classSnake_1_1Snake.html">Snake</a> (Snake)&#160;&#160;&#160;</td><td></td></tr>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</table>
+<div class="qindex"><a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a></div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore-members.html b/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore-members.html
new file mode 100644
index 0000000..bdb2f16
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore-members.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>highscore</b></li><li class="navelem"><a class="el" href="classhighscore_1_1HighScore.html">HighScore</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">highscore.HighScore Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604">button</a>(Surface, color, Rect, width)</td><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88">findHighscore</a>()</td><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72">runfile</a>(runfilename)</td><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650">text</a>(text, fontStyle, fontSize, color, coord, surface)</td><td class="entry"><a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore.html b/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore.html
new file mode 100644
index 0000000..ad7ad89
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/classhighscore_1_1HighScore.html
@@ -0,0 +1,283 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: highscore.HighScore Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>highscore</b></li><li class="navelem"><a class="el" href="classhighscore_1_1HighScore.html">HighScore</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classhighscore_1_1HighScore-members.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">highscore.HighScore Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A Class that will contain useful functions in order for the creation of highscore page.  
+ <a href="classhighscore_1_1HighScore.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a790e2026c698c7a97f3302a17d324a72"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72">runfile</a> (runfilename)</td></tr>
+<tr class="memdesc:a790e2026c698c7a97f3302a17d324a72"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function for running other files.  <a href="#a790e2026c698c7a97f3302a17d324a72">More...</a><br /></td></tr>
+<tr class="separator:a790e2026c698c7a97f3302a17d324a72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5fad87aae40bcfc2f5a1b2c5726bf650"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650">text</a> (text, fontStyle, fontSize, color, coord, surface)</td></tr>
+<tr class="memdesc:a5fad87aae40bcfc2f5a1b2c5726bf650"><td class="mdescLeft">&#160;</td><td class="mdescRight">A method to display text.  <a href="#a5fad87aae40bcfc2f5a1b2c5726bf650">More...</a><br /></td></tr>
+<tr class="separator:a5fad87aae40bcfc2f5a1b2c5726bf650"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a857b76e0be22a3d5476690a253fdd604"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604">button</a> (Surface, color, Rect, width)</td></tr>
+<tr class="memdesc:a857b76e0be22a3d5476690a253fdd604"><td class="mdescLeft">&#160;</td><td class="mdescRight">A method to create a button.  <a href="#a857b76e0be22a3d5476690a253fdd604">More...</a><br /></td></tr>
+<tr class="separator:a857b76e0be22a3d5476690a253fdd604"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9db9bf4036615d55829c96cd1d78ba88"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88">findHighscore</a> ()</td></tr>
+<tr class="memdesc:a9db9bf4036615d55829c96cd1d78ba88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the highest score from the file.  <a href="#a9db9bf4036615d55829c96cd1d78ba88">More...</a><br /></td></tr>
+<tr class="separator:a9db9bf4036615d55829c96cd1d78ba88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A Class that will contain useful functions in order for the creation of highscore page. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a857b76e0be22a3d5476690a253fdd604"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def highscore.HighScore.button </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>Surface</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>color</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>Rect</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>width</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>A method to create a button. </p>
+<p>This method will make a box on the interface </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">surface</td><td>The background (surface) the box should be made on </td></tr>
+    <tr><td class="paramname">color</td><td>The color of the button to be made </td></tr>
+    <tr><td class="paramname">Rect</td><td>The coordinate of the button with the length and width </td></tr>
+    <tr><td class="paramname">width</td><td>The width of the sides of button </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a9db9bf4036615d55829c96cd1d78ba88"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def highscore.HighScore.findHighscore </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Finds the highest score from the file. </p>
+<p>This writes the input from the file in an array and find the max number from it </p>
+
+</div>
+</div>
+<a class="anchor" id="a790e2026c698c7a97f3302a17d324a72"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def highscore.HighScore.runfile </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>runfilename</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>A function for running other files. </p>
+<p>Executes another python file when this is selected, Given that the file is in same folder. </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">runfilename</td><td>The name of the file to be executed </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a5fad87aae40bcfc2f5a1b2c5726bf650"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def highscore.HighScore.text </td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>text</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>fontStyle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>fontSize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>color</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>coord</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname"><em>surface</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>A method to display text. </p>
+<p>This function will print the text on the interface </p><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">text</td><td>The text to be printed </td></tr>
+    <tr><td class="paramname">fontStyle</td><td>The font Style of the text to be displayed </td></tr>
+    <tr><td class="paramname">fontSize</td><td>The size of the text written </td></tr>
+    <tr><td class="paramname">color</td><td>The color of the text </td></tr>
+    <tr><td class="paramname">coord</td><td>The coordinate at which the text should start displaying </td></tr>
+    <tr><td class="paramname">surface</td><td>The background (surface) the text should be printed on </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="highscore_8py.html">highscore.py</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/closed.png b/BlankProjectTemplate/Doc/Design/MIS/html/closed.png
new file mode 100644
index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5
GIT binary patch
literal 132
zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8<G4C~~x2bkCl7
zlF9slZh~6z%aUT|WfKm3{P*dDAfv<6>{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf
f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/doc.png b/BlankProjectTemplate/Doc/Design/MIS/html/doc.png
new file mode 100644
index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501
GIT binary patch
literal 746
zcmV<G0u}v<P)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz00089Nkl<ZcmeI5
zO;1x>7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$))<VZ%w8AHp|fq%mP;4ffy
zZ-fC6h(S;T@^On$pg;?)``rZ-=s7qr4DR5hE4!!NdDmX=TJJeiSGimUI5QXkXNfZ>
zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV
zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE
z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!n<GayH9yHg8K}
z>w*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=}
zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXR<pt)Tx_l7FX`b+T&0J~3Ac
zDisC2f48s?Pz6U1j(Y#7FGXj244=p1VQ-4TfmZrD8|c58q%jdB67*815?3si0IJ}q
zK#I#XHom~r+!`&75xy*K>bTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$
z8v{MfJbTiiRg4bza<41N<zz(9MkMF~u!W-n>Azrl{=3fl_D+$t+^!xlQ8S}{UtY`e
z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D?
z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3
z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3<FfbmLT1ma;4wB2Ka6K
c|6iFu0IFBSu=gW%4*&oF07*qoM6N<$f>OR*Hvj+t

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/doxygen.css b/BlankProjectTemplate/Doc/Design/MIS/html/doxygen.css
new file mode 100644
index 0000000..1425ec5
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/doxygen.css
@@ -0,0 +1,1475 @@
+/* The standard CSS for doxygen 1.8.11 */
+
+body, table, div, p, dl {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+	font-size: 150%;
+}
+
+.title {
+	font: 400 14px/28px Roboto,sans-serif;
+	font-size: 150%;
+	font-weight: bold;
+	margin: 10px 2px;
+}
+
+h2.groupheader {
+	border-bottom: 1px solid #879ECB;
+	color: #354C7B;
+	font-size: 150%;
+	font-weight: normal;
+	margin-top: 1.75em;
+	padding-top: 8px;
+	padding-bottom: 4px;
+	width: 100%;
+}
+
+h3.groupheader {
+	font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+	-webkit-transition: text-shadow 0.5s linear;
+	-moz-transition: text-shadow 0.5s linear;
+	-ms-transition: text-shadow 0.5s linear;
+	-o-transition: text-shadow 0.5s linear;
+	transition: text-shadow 0.5s linear;
+	margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+	text-shadow: 0 0 15px cyan;
+}
+
+dt {
+	font-weight: bold;
+}
+
+div.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+}
+
+p.startli, p.startdd {
+	margin-top: 2px;
+}
+
+p.starttd {
+	margin-top: 0px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+        font-size: 70%;
+        text-align: center;
+}
+
+h3.version {
+        font-size: 90%;
+        text-align: center;
+}
+
+div.qindex, div.navtab{
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+}
+
+div.qindex, div.navpath {
+	width: 100%;
+	line-height: 140%;
+}
+
+div.navtab {
+	margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+	color: #3D578C;
+	font-weight: normal;
+	text-decoration: none;
+}
+
+.contents a:visited {
+	color: #4665A2;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+a.qindex {
+	font-weight: bold;
+}
+
+a.qindexHL {
+	font-weight: bold;
+	background-color: #9CAFD4;
+	color: #ffffff;
+	border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+        color: #ffffff;
+}
+
+a.el {
+	font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+	color: #4665A2; 
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+	color: #4665A2; 
+}
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+pre.fragment {
+        border: 1px solid #C4CFE5;
+        background-color: #FBFCFD;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: break-word;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+div.fragment {
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+	background-color: #FBFCFD;
+	border: 1px solid #C4CFE5;
+}
+
+div.line {
+	font-family: monospace, fixed;
+        font-size: 13px;
+	min-height: 13px;
+	line-height: 1.0;
+	text-wrap: unrestricted;
+	white-space: -moz-pre-wrap; /* Moz */
+	white-space: -pre-wrap;     /* Opera 4-6 */
+	white-space: -o-pre-wrap;   /* Opera 7 */
+	white-space: pre-wrap;      /* CSS3  */
+	word-wrap: break-word;      /* IE 5.5+ */
+	text-indent: -53px;
+	padding-left: 53px;
+	padding-bottom: 0px;
+	margin: 0px;
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+div.line:after {
+    content:"\000A";
+    white-space: pre;
+}
+
+div.line.glow {
+	background-color: cyan;
+	box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+	padding-right: 4px;
+	text-align: right;
+	border-right: 2px solid #0F0;
+	background-color: #E8E8E8;
+        white-space: pre;
+}
+span.lineno a {
+	background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+	background-color: #C8C8C8;
+}
+
+div.ah, span.ah {
+	background-color: black;
+	font-weight: bold;
+	color: #ffffff;
+	margin-bottom: 3px;
+	margin-top: 3px;
+	padding: 0.2em;
+	border: solid thin #333;
+	border-radius: 0.5em;
+	-webkit-border-radius: .5em;
+	-moz-border-radius: .5em;
+	box-shadow: 2px 2px 3px #999;
+	-webkit-box-shadow: 2px 2px 3px #999;
+	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
+}
+
+div.classindex ul {
+        list-style: none;
+        padding-left: 0;
+}
+
+div.classindex span.ai {
+        display: inline-block;
+}
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	font-weight: bold;
+}
+
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
+}
+
+body {
+	background-color: white;
+	color: black;
+        margin: 0;
+}
+
+div.contents {
+	margin-top: 10px;
+	margin-left: 12px;
+	margin-right: 8px;
+}
+
+td.indexkey {
+	background-color: #EBEFF6;
+	font-weight: bold;
+	border: 1px solid #C4CFE5;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
+        white-space: nowrap;
+        vertical-align: top;
+}
+
+td.indexvalue {
+	background-color: #EBEFF6;
+	border: 1px solid #C4CFE5;
+	padding: 2px 10px;
+	margin: 2px 0px;
+}
+
+tr.memlist {
+	background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+	text-align: center;
+}
+
+img.formulaDsp {
+	
+}
+
+img.formulaInl {
+	vertical-align: middle;
+}
+
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
+}
+
+div.center img {
+	border: 0px;
+}
+
+address.footer {
+	text-align: right;
+	padding-right: 12px;
+}
+
+img.footer {
+	border: 0px;
+	vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
+}
+
+span.keywordtype {
+	color: #604020
+}
+
+span.keywordflow {
+	color: #e08000
+}
+
+span.comment {
+	color: #800000
+}
+
+span.preprocessor {
+	color: #806020
+}
+
+span.stringliteral {
+	color: #002080
+}
+
+span.charliteral {
+	color: #008080
+}
+
+span.vhdldigit { 
+	color: #ff00ff 
+}
+
+span.vhdlchar { 
+	color: #000000 
+}
+
+span.vhdlkeyword { 
+	color: #700070 
+}
+
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+blockquote {
+        background-color: #F7F8FB;
+        border-left: 2px solid #9CAFD4;
+        margin: 0 24px 0 4px;
+        padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+	background: #EBEFF6;
+	font-weight: bold;
+}
+
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+	border-spacing: 0px;
+	padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+	background-color: cyan;
+	box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #F9FAFC;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memSeparator {
+        border-bottom: 1px solid #DEE4F0;
+        line-height: 1px;
+        margin: 0px;
+        padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memItemRight {
+	width: 100%;
+}
+
+.memTemplParams {
+	color: #4665A2;
+        white-space: nowrap;
+	font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+	font-size: 80%;
+	color: #4665A2;
+	font-weight: normal;
+	margin-left: 9px;
+}
+
+.memnav {
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.mempage {
+	width: 100%;
+}
+
+.memitem {
+	padding: 0;
+	margin-bottom: 10px;
+	margin-right: 5px;
+        -webkit-transition: box-shadow 0.5s linear;
+        -moz-transition: box-shadow 0.5s linear;
+        -ms-transition: box-shadow 0.5s linear;
+        -o-transition: box-shadow 0.5s linear;
+        transition: box-shadow 0.5s linear;
+        display: table !important;
+        width: 100%;
+}
+
+.memitem.glow {
+         box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+        font-weight: bold;
+        margin-left: 6px;
+}
+
+.memname td {
+	vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+        border-top: 1px solid #A8B8D9;
+        border-left: 1px solid #A8B8D9;
+        border-right: 1px solid #A8B8D9;
+        padding: 6px 0px 6px 0px;
+        color: #253555;
+        font-weight: bold;
+        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        /* opera specific markup */
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        /* firefox specific markup */
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 4px;
+        -moz-border-radius-topleft: 4px;
+        /* webkit specific markup */
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 4px;
+        -webkit-border-top-left-radius: 4px;
+
+}
+
+.memdoc, dl.reflist dd {
+        border-bottom: 1px solid #A8B8D9;      
+        border-left: 1px solid #A8B8D9;      
+        border-right: 1px solid #A8B8D9; 
+        padding: 6px 10px 2px 10px;
+        background-color: #FBFCFD;
+        border-top-width: 0;
+        background-image:url('nav_g.png');
+        background-repeat:repeat-x;
+        background-color: #FFFFFF;
+        /* opera specific markup */
+        border-bottom-left-radius: 4px;
+        border-bottom-right-radius: 4px;
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 4px;
+        -moz-border-radius-bottomright: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 4px;
+        -webkit-border-bottom-right-radius: 4px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+        padding: 5px;
+}
+
+dl.reflist dd {
+        margin: 0px 0px 10px 0px;
+        padding: 5px;
+}
+
+.paramkey {
+	text-align: right;
+}
+
+.paramtype {
+	white-space: nowrap;
+}
+
+.paramname {
+	color: #602020;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+.paramname code {
+        line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+        margin-left: 0px;
+        padding-left: 0px;
+}       
+
+.params .paramname, .retval .paramname {
+        font-weight: bold;
+        vertical-align: top;
+}
+        
+.params .paramtype {
+        font-style: italic;
+        vertical-align: top;
+}       
+        
+.params .paramdir {
+        font-family: "courier new",courier,monospace;
+        vertical-align: top;
+}
+
+table.mlabels {
+	border-spacing: 0px;
+}
+
+td.mlabels-left {
+	width: 100%;
+	padding: 0px;
+}
+
+td.mlabels-right {
+	vertical-align: bottom;
+	padding: 0px;
+	white-space: nowrap;
+}
+
+span.mlabels {
+        margin-left: 8px;
+}
+
+span.mlabel {
+        background-color: #728DC1;
+        border-top:1px solid #5373B4;
+        border-left:1px solid #5373B4;
+        border-right:1px solid #C4CFE5;
+        border-bottom:1px solid #C4CFE5;
+	text-shadow: none;
+	color: white;
+	margin-right: 4px;
+	padding: 2px 3px;
+	border-radius: 3px;
+	font-size: 7pt;
+	white-space: nowrap;
+	vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+        margin: 10px 0px;
+        border-top: 1px solid #9CAFD4;
+        border-bottom: 1px solid #9CAFD4;
+        width: 100%;
+}
+
+.directory table {
+        border-collapse:collapse;
+}
+
+.directory td {
+        margin: 0px;
+        padding: 0px;
+	vertical-align: top;
+}
+
+.directory td.entry {
+        white-space: nowrap;
+        padding-right: 6px;
+	padding-top: 3px;
+}
+
+.directory td.entry a {
+        outline:none;
+}
+
+.directory td.entry a img {
+        border: none;
+}
+
+.directory td.desc {
+        width: 100%;
+        padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 3px;
+	border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+	padding-left: 6px;
+	background-color: #F7F8FB;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+.directory .levels {
+        white-space: nowrap;
+        width: 100%;
+        text-align: right;
+        font-size: 9pt;
+}
+
+.directory .levels span {
+        cursor: pointer;
+        padding-left: 2px;
+        padding-right: 2px;
+	color: #3D578C;
+}
+
+.arrow {
+    color: #9CAFD4;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    cursor: pointer;
+    font-size: 80%;
+    display: inline-block;
+    width: 16px;
+    height: 22px;
+}
+
+.icon {
+    font-family: Arial, Helvetica;
+    font-weight: bold;
+    font-size: 12px;
+    height: 14px;
+    width: 16px;
+    display: inline-block;
+    background-color: #728DC1;
+    color: white;
+    text-align: center;
+    border-radius: 4px;
+    margin-left: 2px;
+    margin-right: 2px;
+}
+
+.icona {
+    width: 24px;
+    height: 22px;
+    display: inline-block;
+}
+
+.iconfopen {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderopen.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.iconfclosed {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderclosed.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.icondoc {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('doc.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+table.directory {
+    font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+        margin-top: 8px;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+address {
+	font-style: normal;
+	color: #2A3D61;
+}
+
+table.doxtable caption {
+	caption-side: top;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+table.fieldtable {
+        /*width: 100%;*/
+        margin-bottom: 10px;
+        border: 1px solid #A8B8D9;
+        border-spacing: 0px;
+        -moz-border-radius: 4px;
+        -webkit-border-radius: 4px;
+        border-radius: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+        padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+        white-space: nowrap;
+        border-right: 1px solid #A8B8D9;
+        border-bottom: 1px solid #A8B8D9;
+        vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+        padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+        border-bottom: 1px solid #A8B8D9;
+        /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+        margin-top: 0px;
+}       
+        
+.fieldtable td.fielddoc p:last-child {
+        margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+        border-bottom: none;
+}
+
+.fieldtable th {
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        font-size: 90%;
+        color: #253555;
+        padding-bottom: 4px;
+        padding-top: 5px;
+        text-align:left;
+        -moz-border-radius-topleft: 4px;
+        -moz-border-radius-topright: 4px;
+        -webkit-border-top-left-radius: 4px;
+        -webkit-border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        border-top-right-radius: 4px;
+        border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+	top: 0px;
+	left: 10px;
+	height: 36px;
+	background-image: url('tab_b.png');
+	z-index: 101;
+	overflow: hidden;
+	font-size: 13px;
+}
+
+.navpath ul
+{
+	font-size: 11px;
+	background-image:url('tab_b.png');
+	background-repeat:repeat-x;
+	background-position: 0 -5px;
+	height:30px;
+	line-height:30px;
+	color:#8AA0CC;
+	border:solid 1px #C2CDE4;
+	overflow:hidden;
+	margin:0px;
+	padding:0px;
+}
+
+.navpath li
+{
+	list-style-type:none;
+	float:left;
+	padding-left:10px;
+	padding-right:15px;
+	background-image:url('bc_s.png');
+	background-repeat:no-repeat;
+	background-position:right;
+	color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+	height:32px;
+	display:block;
+	text-decoration: none;
+	outline: none;
+	color: #283A5D;
+	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+	text-decoration: none;        
+}
+
+.navpath li.navelem a:hover
+{
+	color:#6884BD;
+}
+
+.navpath li.footer
+{
+        list-style-type:none;
+        float:right;
+        padding-left:10px;
+        padding-right:15px;
+        background-image:none;
+        background-repeat:no-repeat;
+        background-position:right;
+        color:#364D7C;
+        font-size: 8pt;
+}
+
+
+div.summary
+{
+	float: right;
+	font-size: 8pt;
+	padding-right: 5px;
+	width: 50%;
+	text-align: right;
+}       
+
+div.summary a
+{
+	white-space: nowrap;
+}
+
+table.classindex
+{
+        margin: 10px;
+        white-space: nowrap;
+        margin-left: 3%;
+        margin-right: 3%;
+        width: 94%;
+        border: 0;
+        border-spacing: 0; 
+        padding: 0;
+}
+
+div.ingroups
+{
+	font-size: 8pt;
+	width: 50%;
+	text-align: left;
+}
+
+div.ingroups a
+{
+	white-space: nowrap;
+}
+
+div.header
+{
+        background-image:url('nav_h.png');
+        background-repeat:repeat-x;
+	background-color: #F9FAFC;
+	margin:  0px;
+	border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+	padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+        padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+	margin-left: 0px;
+	padding-left: 0px;
+}
+
+dl.note
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #00D000;
+}
+
+dl.deprecated
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #505050;
+}
+
+dl.todo
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #00C0E0;
+}
+
+dl.test
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #3030E0;
+}
+
+dl.bug
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #C08050;
+}
+
+dl.section dd {
+	margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+	text-align: center;
+	vertical-align: bottom;
+	border-collapse: separate;
+}
+ 
+#projectlogo img
+{ 
+	border: 0px none;
+}
+ 
+#projectalign
+{
+        vertical-align: middle;
+}
+
+#projectname
+{
+	font: 300% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 2px 0px;
+}
+    
+#projectbrief
+{
+	font: 120% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#projectnumber
+{
+	font: 50% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#titlearea
+{
+	padding: 0px;
+	margin: 0px;
+	width: 100%;
+	border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+        text-align: center;
+}
+
+.dotgraph
+{
+        text-align: center;
+}
+
+.mscgraph
+{
+        text-align: center;
+}
+
+.diagraph
+{
+        text-align: center;
+}
+
+.caption
+{
+	font-weight: bold;
+}
+
+div.zoom
+{
+	border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+        margin-bottom:50px;
+}
+
+dl.citelist dt {
+        color:#334975;
+        float:left;
+        font-weight:bold;
+        margin-right:10px;
+        padding:5px;
+}
+
+dl.citelist dd {
+        margin:2px 0;
+        padding:5px 0;
+}
+
+div.toc {
+        padding: 14px 25px;
+        background-color: #F4F6FA;
+        border: 1px solid #D8DFEE;
+        border-radius: 7px 7px 7px 7px;
+        float: right;
+        height: auto;
+        margin: 0 8px 10px 10px;
+        width: 200px;
+}
+
+div.toc li {
+        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+        margin-top: 5px;
+        padding-left: 10px;
+        padding-top: 2px;
+}
+
+div.toc h3 {
+        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+	color: #4665A2;
+        border-bottom: 0 none;
+        margin: 0;
+}
+
+div.toc ul {
+        list-style: none outside none;
+        border: medium none;
+        padding: 0px;
+}       
+
+div.toc li.level1 {
+        margin-left: 0px;
+}
+
+div.toc li.level2 {
+        margin-left: 15px;
+}
+
+div.toc li.level3 {
+        margin-left: 30px;
+}
+
+div.toc li.level4 {
+        margin-left: 45px;
+}
+
+.inherit_header {
+        font-weight: bold;
+        color: gray;
+        cursor: pointer;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+.inherit_header td {
+        padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+        display: none;
+}
+
+tr.heading h2 {
+        margin-top: 12px;
+        margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+        position: absolute;
+        display: none;
+}
+
+#powerTip {
+	cursor: default;
+	white-space: nowrap;
+	background-color: white;
+	border: 1px solid gray;
+	border-radius: 4px 4px 4px 4px;
+	box-shadow: 1px 1px 7px gray;
+	display: none;
+	font-size: smaller;
+	max-width: 80%;
+	opacity: 0.9;
+	padding: 1ex 1em 1em;
+	position: absolute;
+	z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+        color: grey;
+	font-style: italic;
+}
+
+#powerTip div.ttname a {
+        font-weight: bold;
+}
+
+#powerTip div.ttname {
+        font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+        color: #006318;
+}
+
+#powerTip div {
+        margin: 0px;
+        padding: 0px;
+        font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+	content: "";
+	position: absolute;
+	margin: 0px;
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.w:after,  #powerTip.w:before,
+#powerTip.e:after,  #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	border: solid transparent;
+	content: " ";
+	height: 0;
+	width: 0;
+	position: absolute;
+}
+
+#powerTip.n:after,  #powerTip.s:after,
+#powerTip.w:after,  #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+	border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before,  #powerTip.s:before,
+#powerTip.w:before,  #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+	border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+	top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+	border-top-color: #ffffff;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+#powerTip.n:before {
+	border-top-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+	left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+	right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+	left: 14px;
+}
+
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+	border-bottom-color: #ffffff;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+	border-bottom-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+	left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+	right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+	left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+	left: 100%;
+}
+#powerTip.e:after {
+	border-left-color: #ffffff;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.e:before {
+	border-left-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+	right: 100%;
+}
+#powerTip.w:after {
+	border-right-color: #ffffff;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.w:before {
+	border-right-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+@media print
+{
+  #top { display: none; }
+  #side-nav { display: none; }
+  #nav-path { display: none; }
+  body { overflow:visible; }
+  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+  .summary { display: none; }
+  .memitem { page-break-inside: avoid; }
+  #doc-content
+  {
+    margin-left:0 !important;
+    height:auto !important;
+    width:auto !important;
+    overflow:inherit;
+    display:inline;
+  }
+}
+
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/doxygen.png b/BlankProjectTemplate/Doc/Design/MIS/html/doxygen.png
new file mode 100644
index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1
GIT binary patch
literal 3779
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

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/dynsections.js b/BlankProjectTemplate/Doc/Design/MIS/html/dynsections.js
new file mode 100644
index 0000000..85e1836
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/dynsections.js
@@ -0,0 +1,97 @@
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+   content.hide();
+   summary.show();
+   $(linkObj).addClass('closed').removeClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+   content.show();
+   summary.hide();
+   $(linkObj).removeClass('closed').addClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ } 
+ return false;
+}
+
+function updateStripes()
+{
+  $('table.directory tr').
+       removeClass('even').filter(':visible:even').addClass('even');
+}
+
+function toggleLevel(level)
+{
+  $('table.directory tr').each(function() {
+    var l = this.id.split('_').length-1;
+    var i = $('#img'+this.id.substring(3));
+    var a = $('#arr'+this.id.substring(3));
+    if (l<level+1) {
+      i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
+      a.html('&#9660;');
+      $(this).show();
+    } else if (l==level+1) {
+      i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
+      a.html('&#9658;');
+      $(this).show();
+    } else {
+      $(this).hide();
+    }
+  });
+  updateStripes();
+}
+
+function toggleFolder(id)
+{
+  // the clicked row
+  var currentRow = $('#row_'+id);
+
+  // all rows after the clicked row
+  var rows = currentRow.nextAll("tr");
+
+  var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+
+  // only match elements AFTER this one (can't hide elements before)
+  var childRows = rows.filter(function() { return this.id.match(re); });
+
+  // first row is visible we are HIDING
+  if (childRows.filter(':first').is(':visible')===true) {
+    // replace down arrow by right arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    currentRowSpans.filter(".arrow").html('&#9658;');
+    rows.filter("[id^=row_"+id+"]").hide(); // hide all children
+  } else { // we are SHOWING
+    // replace right arrow by down arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
+    currentRowSpans.filter(".arrow").html('&#9660;');
+    // replace down arrows by right arrows for child rows
+    var childRowsSpans = childRows.find("span");
+    childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    childRowsSpans.filter(".arrow").html('&#9658;');
+    childRows.show(); //show all children
+  }
+  updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+  var rows = $('tr.inherit.'+id);
+  var img = $('tr.inherit_header.'+id+' img');
+  var src = $(img).attr('src');
+  if (rows.filter(':first').is(':visible')===true) {
+    rows.css('display','none');
+    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+  } else {
+    rows.css('display','table-row'); // using show() causes jump in firefox
+    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+  }
+}
+
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/files.html b/BlankProjectTemplate/Doc/Design/MIS/html/files.html
new file mode 100644
index 0000000..0f83b42
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/files.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: File List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">File List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="Food_8py.html" target="_self">Food.py</a></td><td class="desc">Implements an abstract data type for a snake's food </td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="highscore_8py.html" target="_self">highscore.py</a></td><td class="desc">Implements the highscore interface </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="Snake_8py.html" target="_self">Snake.py</a></td><td class="desc">Implements an abstract data type for a snake </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/folderclosed.png b/BlankProjectTemplate/Doc/Design/MIS/html/folderclosed.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66
GIT binary patch
literal 616
zcmV-u0+;=XP)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0006nNkl<ZcmeHQ
zO;6N77=GINb=Z(>a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i
z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU
zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6`
zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM<n!c>
zlFX`g{k$X}yIe%$N)cn1LNu=q<K5OS7CNKPk1f&9-+dXiicCfAy8a*|m;2$mAHWmO
zXHGi+kV1-pHt+rM<gA>9_CS)*<?(PP8<}W6a5(^^keLBRMb50K&dQM@pmn94ZU=xQ
zQX)TlxfVQ_9);_LB~VUu;v|U_-?p*(;VWJ|=^7%ZGN6sBL~)dHv|OyK(wPKdmH>>A
zsX_mM4<gjHpqc8Q=uo450T?4i;CdW;`z|<XAntIp>L@`(cSNQKMFc$RtYbx{79<Tw
zWXi-A43v#7I@t_Ijx7TKV2n(H{k|uniNrjlLmWw}y*t^*R9a-QX?;6B==9%$de=Kk
z*QYpi761&SjtX%clomR5cK>#j-J7hk*>*+ZZhM4Hw?<fJyv$}=71o`ou(^pUn-ky6
z->I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000<MNUMnLSTaR
CZX#j;

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/folderopen.png b/BlankProjectTemplate/Doc/Design/MIS/html/folderopen.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6c7f676a3b3ef8c2c307d319dff3c6a604eb227
GIT binary patch
literal 597
zcmV-b0;>IqP)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0006UNkl<ZcmeHQ
zKX21e5dS%8nlx#!9XpK>X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e=
zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2
zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+!
zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z(
zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l
zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa(
z0QgY<a!3GSVHw98r3tc|WLmCr=#k@b07--d0B^h;_*7huEOe@B5HbiIMnQNV2X-w6
zOrIHW*Nh!-3RJ{NFA7|xb7mLqy*mtQR%uj&==!8@USn{@{Ji@c`@7F#U6jIrqNF?z
zhGG8IoU)VO(*u}!lcNr&IgdJw?)fXgkFy?t@!%{)3!Y}PHt9|Ph>gTWqf1qN++Gqp
z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ
j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/functions.html b/BlankProjectTemplate/Doc/Design/MIS/html/functions.html
new file mode 100644
index 0000000..0bc7ccc
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/functions.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
+<li>__init__()
+: <a class="el" href="classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f">Food.Food</a>
+, <a class="el" href="classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a">Snake.Snake</a>
+</li>
+<li>button()
+: <a class="el" href="classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604">highscore.HighScore</a>
+, <a class="el" href="classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280">Interface.GUI</a>
+</li>
+<li>draw()
+: <a class="el" href="classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3">Snake.Snake</a>
+</li>
+<li>draw_food()
+: <a class="el" href="classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f">Food.Food</a>
+</li>
+<li>findHighscore()
+: <a class="el" href="classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88">highscore.HighScore</a>
+</li>
+<li>redraw_food()
+: <a class="el" href="classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6">Food.Food</a>
+</li>
+<li>runfile()
+: <a class="el" href="classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72">highscore.HighScore</a>
+, <a class="el" href="classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591">Interface.GUI</a>
+</li>
+<li>text()
+: <a class="el" href="classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650">highscore.HighScore</a>
+, <a class="el" href="classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93">Interface.GUI</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/functions_func.html b/BlankProjectTemplate/Doc/Design/MIS/html/functions_func.html
new file mode 100644
index 0000000..ecda0f7
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/functions_func.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;<ul>
+<li>__init__()
+: <a class="el" href="classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f">Food.Food</a>
+, <a class="el" href="classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a">Snake.Snake</a>
+</li>
+<li>button()
+: <a class="el" href="classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604">highscore.HighScore</a>
+, <a class="el" href="classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280">Interface.GUI</a>
+</li>
+<li>draw()
+: <a class="el" href="classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3">Snake.Snake</a>
+</li>
+<li>draw_food()
+: <a class="el" href="classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f">Food.Food</a>
+</li>
+<li>findHighscore()
+: <a class="el" href="classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88">highscore.HighScore</a>
+</li>
+<li>redraw_food()
+: <a class="el" href="classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6">Food.Food</a>
+</li>
+<li>runfile()
+: <a class="el" href="classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72">highscore.HighScore</a>
+, <a class="el" href="classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591">Interface.GUI</a>
+</li>
+<li>text()
+: <a class="el" href="classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650">highscore.HighScore</a>
+, <a class="el" href="classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93">Interface.GUI</a>
+</li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.html b/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.html
new file mode 100644
index 0000000..a8ce92c
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Graph Legend</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Graph Legend</div>  </div>
+</div><!--header-->
+<div class="contents">
+<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
+<p>Consider the following example: </p><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;/*! Invisible class because of truncation */</div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;class Invisible { };</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;/*! Truncated class, inheritance relation is hidden */</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;class Truncated : public Invisible { };</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;/* Class not documented with doxygen comments */</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;class Undocumented { };</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;/*! Class that is inherited using public inheritance */</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;class PublicBase : public Truncated { };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;/*! A template class */</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;template&lt;class T&gt; class Templ { };</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;/*! Class that is inherited using protected inheritance */</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;class ProtectedBase { };</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;/*! Class that is inherited using private inheritance */</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;class PrivateBase { };</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;/*! Class that is used by the Inherited class */</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;class Used { };</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;/*! Super class that inherits a number of other classes */</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;class Inherited : public PublicBase,</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;                  protected ProtectedBase,</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                  private PrivateBase,</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                  public Undocumented,</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                  public Templ&lt;int&gt;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;{</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  private:</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    Used *m_usedClass;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;};</div></div><!-- fragment --><p> This will result in the following graph:</p>
+<center><div class="image">
+<img src="graph_legend.png" />
+</div>
+</center><p>The boxes in the above graph have the following meaning: </p>
+<ul>
+<li>
+A filled gray box represents the struct or class for which the graph is generated. </li>
+<li>
+A box with a black border denotes a documented struct or class. </li>
+<li>
+A box with a gray border denotes an undocumented struct or class. </li>
+<li>
+A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
+</ul>
+<p>The arrows have the following meaning: </p>
+<ul>
+<li>
+A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
+<li>
+A dark green arrow is used for protected inheritance. </li>
+<li>
+A dark red arrow is used for private inheritance. </li>
+<li>
+A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li>
+<li>
+A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.md5 b/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.md5
new file mode 100644
index 0000000..a06ed05
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.md5
@@ -0,0 +1 @@
+387ff8eb65306fa251338d3c9bd7bfff
\ No newline at end of file
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.png b/BlankProjectTemplate/Doc/Design/MIS/html/graph_legend.png
new file mode 100644
index 0000000000000000000000000000000000000000..37f264eaab188569820fd1b8761b533912cb628f
GIT binary patch
literal 18535
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

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/highscore_8py.html b/BlankProjectTemplate/Doc/Design/MIS/html/highscore_8py.html
new file mode 100644
index 0000000..5a531a5
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/highscore_8py.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: highscore.py File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">highscore.py File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>implements the highscore interface  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classhighscore_1_1HighScore.html">highscore.HighScore</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Class that will contain useful functions in order for the creation of highscore page.  <a href="classhighscore_1_1HighScore.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a24956ded9e2477e6e67122f930ba18f2"><td class="memItemLeft" align="right" valign="top">def&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highscore_8py.html#a24956ded9e2477e6e67122f930ba18f2">highscore.main</a> ()</td></tr>
+<tr class="memdesc:a24956ded9e2477e6e67122f930ba18f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the highscore interface.  <a href="highscore_8py.html#a24956ded9e2477e6e67122f930ba18f2">More...</a><br /></td></tr>
+<tr class="separator:a24956ded9e2477e6e67122f930ba18f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>implements the highscore interface </p>
+<dl class="section author"><dt>Author</dt><dd>Vaibhav Chadha </dd></dl>
+<dl class="section date"><dt>Date</dt><dd>11/09/2018 </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="file_a24956ded9e2477e6e67122f930ba18f2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">def highscore.main </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Makes the highscore interface. </p>
+<p>This will output the final interface using the class above which can be seen by executing this function. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/index.html b/BlankProjectTemplate/Doc/Design/MIS/html/index.html
new file mode 100644
index 0000000..0631fd0
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/index.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Main Page</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Snake Documentation</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/jquery.js b/BlankProjectTemplate/Doc/Design/MIS/html/jquery.js
new file mode 100644
index 0000000..d52a1c7
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/jquery.js
@@ -0,0 +1,68 @@
+/*
+ * jQuery JavaScript Library v1.7.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Nov 21 21:11:03 2011 -0500
+ */
+(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
+/*
+ * Sizzle CSS Selector Engine
+ *  Copyright 2011, The Dojo Foundation
+ *  Released under the MIT, BSD, and GPL Licenses.
+ *  More information: http://sizzlejs.com/
+ */
+(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*
+ * jQuery UI 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h<j.length;h++){if(e.options[j[h][0]]){j[h][1].apply(e.element,f)}}}},contains:function(f,e){return document.compareDocumentPosition?f.compareDocumentPosition(e)&16:f!==e&&f.contains(e)},hasScroll:function(h,f){if(a(h).css("overflow")==="hidden"){return false}var e=(f&&f==="left")?"scrollLeft":"scrollTop",g=false;if(h[e]>0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*
+ * jQuery UI Widget 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*
+ * jQuery UI Mouse 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ *	jquery.ui.widget.js
+ */
+(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g<l.length;g++){var j=c.trim(l[g]),e="ui-resizable-"+j;var h=c('<div class="ui-resizable-handle '+e+'"></div>');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(h<e.maxWidth){e.maxWidth=h}if(k<e.maxHeight){e.maxHeight=k}}this._vBoundaries=e},_updateCache:function(e){var f=this.options;this.offset=this.helper.offset();if(a(e.left)){this.position.left=e.left}if(a(e.top)){this.position.top=e.top}if(a(e.height)){this.size.height=e.height}if(a(e.width)){this.size.width=e.width}},_updateRatio:function(h,g){var i=this.options,j=this.position,f=this.size,e=this.axis;if(a(h.height)){h.width=(h.height*this.aspectRatio)}else{if(a(h.width)){h.height=(h.width/this.aspectRatio)}}if(e=="sw"){h.left=j.left+(f.width-h.width);h.top=null}if(e=="nw"){h.top=j.top+(f.height-h.height);h.left=j.left+(f.width-h.width)}return h},_respectSize:function(l,g){var j=this.helper,i=this._vBoundaries,r=this._aspectRatio||g.shiftKey,q=this.axis,t=a(l.width)&&i.maxWidth&&(i.maxWidth<l.width),m=a(l.height)&&i.maxHeight&&(i.maxHeight<l.height),h=a(l.width)&&i.minWidth&&(i.minWidth>l.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f<this._proportionallyResizeElements.length;f++){var h=this._proportionallyResizeElements[f];if(!this.borderDif){var e=[h.css("borderTopWidth"),h.css("borderRightWidth"),h.css("borderBottomWidth"),h.css("borderLeftWidth")],j=[h.css("paddingTop"),h.css("paddingRight"),h.css("paddingBottom"),h.css("paddingLeft")];this.borderDif=c.map(e,function(l,n){var m=parseInt(l,10)||0,o=parseInt(j[n],10)||0;return m+o})}if(c.browser.msie&&!(!(c(g).is(":hidden")||c(g).parents(":hidden").length))){continue}h.css({height:(g.height()-this.borderDif[0]-this.borderDif[2])||0,width:(g.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var f=this.element,i=this.options;this.elementOffset=f.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*
+ * jQuery hashchange event - v1.3 - 7/21/2010
+ * http://benalman.com/projects/jquery-hashchange-plugin/
+ * 
+ * Copyright (c) 2010 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode=="BackCompat"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case"object":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(""),function(q,r){var s=r=="x"?"Left":"Top",u=s.toLowerCase(),p="scroll"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css("margin"+s))||0;g[p]-=parseInt(k.css("border"+s+"Width"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r=="x"?"width":"height"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)=="%"?parseFloat(t)/100*n:t}if(/^\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i=="x"?"Width":"Height",e="scroll"+h;if(!c(j).is("html,body")){return j[e]-c(j)[h.toLowerCase()]()}var g="client"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);/*
+ PowerTip - v1.2.0 - 2013-04-03
+ http://stevenbenner.github.com/jquery-powertip/
+ Copyright (c) 2013 Steven Benner (http://stevenbenner.com/).
+ Released under MIT license.
+ https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
+*/
+(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P<N.intentSensitivity){F.showTip(K)}else{c.previousX=c.currentX;c.previousY=c.currentY;L()}}function M(){J=clearTimeout(J);c.delayInProgress=false}function H(){F.resetPosition(K)}this.show=L;this.hide=G;this.cancel=M;this.resetPosition=H}function j(){function G(M,L,J,O,P){var K=L.split("-")[0],N=new b(),I;if(q(M)){I=H(M,K)}else{I=F(M,K)}switch(L){case"n":N.set("left",I.left-(J/2));N.set("bottom",c.windowHeight-I.top+P);break;case"e":N.set("left",I.left+P);N.set("top",I.top-(O/2));break;case"s":N.set("left",I.left-(J/2));N.set("top",I.top+P);break;case"w":N.set("top",I.top-(O/2));N.set("right",c.windowWidth-I.left+P);break;case"nw":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"nw-alt":N.set("left",I.left);N.set("bottom",c.windowHeight-I.top+P);break;case"ne":N.set("left",I.left-20);N.set("bottom",c.windowHeight-I.top+P);break;case"ne-alt":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left);break;case"sw":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"sw-alt":N.set("left",I.left);N.set("top",I.top+P);break;case"se":N.set("left",I.left-20);N.set("top",I.top+P);break;case"se-alt":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left);break}return N}function F(K,J){var O=K.offset(),N=K.outerWidth(),I=K.outerHeight(),M,L;switch(J){case"n":M=O.left+N/2;L=O.top;break;case"e":M=O.left+N;L=O.top+I/2;break;case"s":M=O.left+N/2;L=O.top+I;break;case"w":M=O.left;L=O.top+I/2;break;case"nw":M=O.left;L=O.top;break;case"ne":M=O.left+N;L=O.top;break;case"sw":M=O.left;L=O.top+I;break;case"se":M=O.left+N;L=O.top+I;break}return{top:L,left:M}}function H(O,K){var S=O.closest("svg")[0],N=O[0],W=S.createSVGPoint(),L=N.getBBox(),V=N.getScreenCTM(),M=L.width/2,Q=L.height/2,P=[],I=["nw","n","ne","e","se","s","sw","w"],U,X,R,T;function J(){P.push(W.matrixTransform(V))}W.x=L.x;W.y=L.y;J();W.x+=M;J();W.x+=M;J();W.y+=Q;J();W.y+=Q;J();W.x-=M;J();W.x-=M;J();W.y-=Q;J();if(P[0].y!==P[1].y||P[0].x!==P[7].x){X=Math.atan2(V.b,V.a)*E;R=Math.ceil(((X%360)-22.5)/45);if(R<1){R+=8}while(R--){I.push(I.shift())}}for(T=0;T<P.length;T++){if(I[T]===K){U=P[T];break}}return{top:U.y+c.scrollTop,left:U.x+c.scrollLeft}}this.compute=G}function x(Q){var P=new j(),O=k("#"+Q.popupId);if(O.length===0){O=k("<div/>",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.top<G||Math.abs(M.bottom-c.windowHeight)-K<G){H|=p.top}if(M.top+K>I||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.left<J||M.right+L>F){H|=p.left}if(M.left+L>F||M.right<J){H|=p.right}return H}function a(G){var F=0;while(G){G&=G-1;F++}return F}}));
\ No newline at end of file
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/md_README.html b/BlankProjectTemplate/Doc/Design/MIS/html/md_README.html
new file mode 100644
index 0000000..a7dd9db
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/md_README.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Module Interface Specification</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Module Interface Specification </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Use doxygen (or equivalent) to document the interface for your modules. </p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/nav_f.png b/BlankProjectTemplate/Doc/Design/MIS/html/nav_f.png
new file mode 100644
index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2
GIT binary patch
literal 153
zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc)
zn!W8uqtnIQ>_<lqdB{jiFDSaaN3W^xbJMH7CDK7=Q3_$6tQ&<~Cp4L6ZEndC`8;cO
zrss?`_g+2sGU&M|cu~La_w1Rnf~7w`e!jQgteDwDLg6kW!`DinT@0SCelF{r5}E+Y
CM>z8U

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/nav_g.png b/BlankProjectTemplate/Doc/Design/MIS/html/nav_g.png
new file mode 100644
index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81
GIT binary patch
literal 95
zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE
tr?otc=hd~V+ws&_A@j8Fiv!K<?EJwDd;c`qumW{3c)I$ztaD0e0syCC7$E=v

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/nav_h.png b/BlankProjectTemplate/Doc/Design/MIS/html/nav_h.png
new file mode 100644
index 0000000000000000000000000000000000000000..33389b101d9cd9b4c98ad286b5d9c46a6671f650
GIT binary patch
literal 98
zcmeAS@N?(olHy`uVBq!ia0vp^j6lr8!2~3AUOE6t22D>F$B+ufw|5=67#uj90@pIL
wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&v<Kx}xDV3h>FVdQ&MBb@0HFXL<NyEw

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/open.png b/BlankProjectTemplate/Doc/Design/MIS/html/open.png
new file mode 100644
index 0000000000000000000000000000000000000000..30f75c7efe2dd0c9e956e35b69777a02751f048b
GIT binary patch
literal 123
zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y
znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM<Rdl=8h
W@EqZ{ytxBt8iS{+pUXO@geCxcDJg#d

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/pages.html b/BlankProjectTemplate/Doc/Design/MIS/html/pages.html
new file mode 100644
index 0000000..0b8297b
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/pages.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Snake: Related Pages</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Snake
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+</div><!-- top -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Related Pages</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md_README.html" target="_self">Module Interface Specification</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.html
new file mode 100644
index 0000000..d54e0bd
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.js
new file mode 100644
index 0000000..eb08fc8
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['_5f_5finit_5f_5f',['__init__',['../classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f',1,'Food.Food.__init__()'],['../classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a',1,'Snake.Snake.__init__()']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.html
new file mode 100644
index 0000000..8cc6a1d
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.js
new file mode 100644
index 0000000..26151ee
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['button',['button',['../classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604',1,'highscore.HighScore.button()'],['../classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280',1,'Interface.GUI.button()']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.html
new file mode 100644
index 0000000..d15ac65
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.js
new file mode 100644
index 0000000..c856813
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_2.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['draw',['draw',['../classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3',1,'Snake::Snake']]],
+  ['draw_5ffood',['draw_food',['../classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f',1,'Food::Food']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.html
new file mode 100644
index 0000000..9f526c6
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.js
new file mode 100644
index 0000000..8b9899e
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_3.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+  ['findhighscore',['findHighscore',['../classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88',1,'highscore::HighScore']]],
+  ['food',['Food',['../classFood_1_1Food.html',1,'Food']]],
+  ['food_2epy',['Food.py',['../Food_8py.html',1,'']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.html
new file mode 100644
index 0000000..7b814aa
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.js
new file mode 100644
index 0000000..ef3387e
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['gui',['GUI',['../classInterface_1_1GUI.html',1,'Interface']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.html
new file mode 100644
index 0000000..d8de556
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.js
new file mode 100644
index 0000000..aae01d7
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_5.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['highscore',['HighScore',['../classhighscore_1_1HighScore.html',1,'highscore']]],
+  ['highscore_2epy',['highscore.py',['../highscore_8py.html',1,'']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.html
new file mode 100644
index 0000000..9ba0cc2
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.js
new file mode 100644
index 0000000..66fe84d
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_6.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['main',['main',['../highscore_8py.html#a24956ded9e2477e6e67122f930ba18f2',1,'highscore']]],
+  ['module_20interface_20specification',['Module Interface Specification',['../md_README.html',1,'']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.html
new file mode 100644
index 0000000..9384ec9
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_7.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.js
new file mode 100644
index 0000000..e97db7c
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_7.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['redraw_5ffood',['redraw_food',['../classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6',1,'Food::Food']]],
+  ['runfile',['runfile',['../classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72',1,'highscore.HighScore.runfile()'],['../classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591',1,'Interface.GUI.runfile()']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.html
new file mode 100644
index 0000000..37566c5
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_8.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.js
new file mode 100644
index 0000000..7ed53f7
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_8.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['snake',['Snake',['../classSnake_1_1Snake.html',1,'Snake']]],
+  ['snake_2epy',['Snake.py',['../Snake_8py.html',1,'']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.html
new file mode 100644
index 0000000..c8c5102
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_9.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.js
new file mode 100644
index 0000000..7e967a9
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/all_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['text',['text',['../classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650',1,'highscore.HighScore.text()'],['../classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93',1,'Interface.GUI.text()']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.html
new file mode 100644
index 0000000..025587a
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.js
new file mode 100644
index 0000000..202f43d
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['food',['Food',['../classFood_1_1Food.html',1,'Food']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.html
new file mode 100644
index 0000000..86dc4ff
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.js
new file mode 100644
index 0000000..ef3387e
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['gui',['GUI',['../classInterface_1_1GUI.html',1,'Interface']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.html
new file mode 100644
index 0000000..014caf8
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.js
new file mode 100644
index 0000000..74c227f
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['highscore',['HighScore',['../classhighscore_1_1HighScore.html',1,'highscore']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.html
new file mode 100644
index 0000000..2e97201
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="classes_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.js
new file mode 100644
index 0000000..2c8ef52
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/classes_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['snake',['Snake',['../classSnake_1_1Snake.html',1,'Snake']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/close.png b/BlankProjectTemplate/Doc/Design/MIS/html/search/close.png
new file mode 100644
index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9
GIT binary patch
literal 273
zcmV+s0q*{ZP)<h;3K|Lk000e1NJLTq000XB000XJ1^@s6sjPP<0002kNkl<Z7#Vd@
zy%I)14BQwM3KSF?L+drXf2Tud1~Vwo-gkQ=D&H2DpWDkOIl+T{-_5ct*tQMlc_NA;
z#Bq!~&yl97kminQn#?$kxUNgzzBUX)lx2ycD8xIC<1djfsKP>4(RlMby96)VwnbG{
zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b)
zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC
X2MT$R4iQDd00000NkvXXu0mjfia~GN

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.html
new file mode 100644
index 0000000..0b637cf
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.js
new file mode 100644
index 0000000..176cbb2
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['food_2epy',['Food.py',['../Food_8py.html',1,'']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.html
new file mode 100644
index 0000000..1094e74
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.js
new file mode 100644
index 0000000..223e392
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['highscore_2epy',['highscore.py',['../highscore_8py.html',1,'']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.html
new file mode 100644
index 0000000..a08dbd3
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.js
new file mode 100644
index 0000000..06a5aeb
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/files_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['snake_2epy',['Snake.py',['../Snake_8py.html',1,'']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.html
new file mode 100644
index 0000000..6bc52b6
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.js
new file mode 100644
index 0000000..eb08fc8
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['_5f_5finit_5f_5f',['__init__',['../classFood_1_1Food.html#ae4c3146df2eab1cffad7a10bab5b721f',1,'Food.Food.__init__()'],['../classSnake_1_1Snake.html#aeb38fdae78144abf6a84c7ba35af536a',1,'Snake.Snake.__init__()']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.html
new file mode 100644
index 0000000..648831f
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.js
new file mode 100644
index 0000000..26151ee
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['button',['button',['../classhighscore_1_1HighScore.html#a857b76e0be22a3d5476690a253fdd604',1,'highscore.HighScore.button()'],['../classInterface_1_1GUI.html#a6e96c109143b0d74c039338673435280',1,'Interface.GUI.button()']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.html
new file mode 100644
index 0000000..c93d089
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.js
new file mode 100644
index 0000000..c856813
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_2.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['draw',['draw',['../classSnake_1_1Snake.html#ad0507605e291c7ea3423021d4e718df3',1,'Snake::Snake']]],
+  ['draw_5ffood',['draw_food',['../classFood_1_1Food.html#aad94875bc7f2f6c990b826c9dc40092f',1,'Food::Food']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.html
new file mode 100644
index 0000000..caa48ea
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.js
new file mode 100644
index 0000000..b16ff02
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['findhighscore',['findHighscore',['../classhighscore_1_1HighScore.html#a9db9bf4036615d55829c96cd1d78ba88',1,'highscore::HighScore']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.html
new file mode 100644
index 0000000..a9c64ad
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_4.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.js
new file mode 100644
index 0000000..7c4c463
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['main',['main',['../highscore_8py.html#a24956ded9e2477e6e67122f930ba18f2',1,'highscore']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.html
new file mode 100644
index 0000000..9d135fa
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_5.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.js
new file mode 100644
index 0000000..e97db7c
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_5.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+  ['redraw_5ffood',['redraw_food',['../classFood_1_1Food.html#a4a84b471eb86eaab7414ce1f28915fd6',1,'Food::Food']]],
+  ['runfile',['runfile',['../classhighscore_1_1HighScore.html#a790e2026c698c7a97f3302a17d324a72',1,'highscore.HighScore.runfile()'],['../classInterface_1_1GUI.html#aea50c45b0173d626777b9aee47a23591',1,'Interface.GUI.runfile()']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.html
new file mode 100644
index 0000000..5fca897
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_6.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.js
new file mode 100644
index 0000000..7e967a9
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/functions_6.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['text',['text',['../classhighscore_1_1HighScore.html#a5fad87aae40bcfc2f5a1b2c5726bf650',1,'highscore.HighScore.text()'],['../classInterface_1_1GUI.html#a1017c12e07fbe580fa27aa4c0c634b93',1,'Interface.GUI.text()']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/mag_sel.png b/BlankProjectTemplate/Doc/Design/MIS/html/search/mag_sel.png
new file mode 100644
index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17
GIT binary patch
literal 563
zcmV-30?hr1P)<h;3K|Lk000e1NJLTq000yK000vR1^@s6kc=(000009a7bBm000XU
z000XU0RWnu7ytkOAY({UO#lFGm;eBCjsO7QH~;{G)c^o`2LJ%dv;Y7zL;wIBc7!%6
zy#N3Kxk*GpRCwCtl)H)|K@^6++7>zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy?
zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg>
z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O
zl}b@6mB?f=tX3;#vl)}ggh(Vpy<UI4WZSj@D3{ArDit(M6QNK@DvH8-y~eg}>h(IK
z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y
zUH;rZ;vb;mk7JX|<p3Cu$C##x>$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4#
z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT
z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb
zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW
B_l^Jn

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/nomatches.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/nomatches.html
new file mode 100644
index 0000000..b1ded27
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/nomatches.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.html b/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.html
new file mode 100644
index 0000000..0db7267
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="pages_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.js
new file mode 100644
index 0000000..8bd5797
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/pages_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['module_20interface_20specification',['Module Interface Specification',['../md_README.html',1,'']]]
+];
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/search.css b/BlankProjectTemplate/Doc/Design/MIS/html/search/search.css
new file mode 100644
index 0000000..4d7612f
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/search.css
@@ -0,0 +1,271 @@
+/*---------------- Search Box */
+
+#FSearchBox {
+    float: left;
+}
+
+#MSearchBox {
+    white-space : nowrap;
+    position: absolute;
+    float: none;
+    display: inline;
+    margin-top: 8px;
+    right: 0px;
+    width: 170px;
+    z-index: 102;
+    background-color: white;
+}
+
+#MSearchBox .left
+{
+    display:block;
+    position:absolute;
+    left:10px;
+    width:20px;
+    height:19px;
+    background:url('search_l.png') no-repeat;
+    background-position:right;
+}
+
+#MSearchSelect {
+    display:block;
+    position:absolute;
+    width:20px;
+    height:19px;
+}
+
+.left #MSearchSelect {
+    left:4px;
+}
+
+.right #MSearchSelect {
+    right:5px;
+}
+
+#MSearchField {
+    display:block;
+    position:absolute;
+    height:19px;
+    background:url('search_m.png') repeat-x;
+    border:none;
+    width:111px;
+    margin-left:20px;
+    padding-left:4px;
+    color: #909090;
+    outline: none;
+    font: 9pt Arial, Verdana, sans-serif;
+}
+
+#FSearchBox #MSearchField {
+    margin-left:15px;
+}
+
+#MSearchBox .right {
+    display:block;
+    position:absolute;
+    right:10px;
+    top:0px;
+    width:20px;
+    height:19px;
+    background:url('search_r.png') no-repeat;
+    background-position:left;
+}
+
+#MSearchClose {
+    display: none;
+    position: absolute;
+    top: 4px;
+    background : none;
+    border: none;
+    margin: 0px 4px 0px 0px;
+    padding: 0px 0px;
+    outline: none;
+}
+
+.left #MSearchClose {
+    left: 6px;
+}
+
+.right #MSearchClose {
+    right: 2px;
+}
+
+.MSearchBoxActive #MSearchField {
+    color: #000000;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+    display: none;
+    position: absolute;
+    left: 0; top: 0;
+    border: 1px solid #90A5CE;
+    background-color: #F9FAFC;
+    z-index: 1;
+    padding-top: 4px;
+    padding-bottom: 4px;
+    -moz-border-radius: 4px;
+    -webkit-border-top-left-radius: 4px;
+    -webkit-border-top-right-radius: 4px;
+    -webkit-border-bottom-left-radius: 4px;
+    -webkit-border-bottom-right-radius: 4px;
+    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+    font: 8pt Arial, Verdana, sans-serif;
+    padding-left:  2px;
+    padding-right: 12px;
+    border: 0px;
+}
+
+span.SelectionMark {
+    margin-right: 4px;
+    font-family: monospace;
+    outline-style: none;
+    text-decoration: none;
+}
+
+a.SelectItem {
+    display: block;
+    outline-style: none;
+    color: #000000; 
+    text-decoration: none;
+    padding-left:   6px;
+    padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+    color: #000000; 
+    outline-style: none;
+    text-decoration: none;
+}
+
+a.SelectItem:hover {
+    color: #FFFFFF;
+    background-color: #3D578C;
+    outline-style: none;
+    text-decoration: none;
+    cursor: pointer;
+    display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+    width: 60ex;
+    height: 15em;
+}
+
+#MSearchResultsWindow {
+    display: none;
+    position: absolute;
+    left: 0; top: 0;
+    border: 1px solid #000;
+    background-color: #EEF1F7;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+    clear:both; 
+    padding-bottom: 15px;
+}
+
+.SREntry {
+    font-size: 10pt;
+    padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+    font-size: 8pt;
+    padding: 1px 5px;
+}
+
+body.SRPage {
+    margin: 5px 2px;
+}
+
+.SRChildren {
+    padding-left: 3ex; padding-bottom: .5em 
+}
+
+.SRPage .SRChildren {
+    display: none;
+}
+
+.SRSymbol {
+    font-weight: bold; 
+    color: #425E97;
+    font-family: Arial, Verdana, sans-serif;
+    text-decoration: none;
+    outline: none;
+}
+
+a.SRScope {
+    display: block;
+    color: #425E97; 
+    font-family: Arial, Verdana, sans-serif;
+    text-decoration: none;
+    outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+    text-decoration: underline;
+}
+
+span.SRScope {
+    padding-left: 4px;
+}
+
+.SRPage .SRStatus {
+    padding: 2px 5px;
+    font-size: 8pt;
+    font-style: italic;
+}
+
+.SRResult {
+    display: none;
+}
+
+DIV.searchresults {
+    margin-left: 10px;
+    margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+    background-color: #F0F3F8;
+}
+
+.pages b {
+   color: white;
+   padding: 5px 5px 3px 5px;
+   background-image: url("../tab_a.png");
+   background-repeat: repeat-x;
+   text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+    line-height: 17px;
+    margin-left: 4px;
+    text-decoration: none;
+}
+
+.hl {
+    font-weight: bold;
+}
+
+#searchresults {
+    margin-bottom: 20px;
+}
+
+.searchpages {
+    margin-top: 10px;
+}
+
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/search.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/search.js
new file mode 100644
index 0000000..dedce3b
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/search.js
@@ -0,0 +1,791 @@
+function convertToId(search)
+{
+  var result = '';
+  for (i=0;i<search.length;i++)
+  {
+    var c = search.charAt(i);
+    var cn = c.charCodeAt(0);
+    if (c.match(/[a-z0-9\u0080-\uFFFF]/))
+    {
+      result+=c;
+    }
+    else if (cn<16)
+    {
+      result+="_0"+cn.toString(16);
+    }
+    else
+    {
+      result+="_"+cn.toString(16);
+    }
+  }
+  return result;
+}
+
+function getXPos(item)
+{
+  var x = 0;
+  if (item.offsetWidth)
+  {
+    while (item && item!=document.body)
+    {
+      x   += item.offsetLeft;
+      item = item.offsetParent;
+    }
+  }
+  return x;
+}
+
+function getYPos(item)
+{
+  var y = 0;
+  if (item.offsetWidth)
+  {
+     while (item && item!=document.body)
+     {
+       y   += item.offsetTop;
+       item = item.offsetParent;
+     }
+  }
+  return y;
+}
+
+/* A class handling everything associated with the search panel.
+
+   Parameters:
+   name - The name of the global variable that will be
+          storing this instance.  Is needed to be able to set timeouts.
+   resultPath - path to use for external files
+*/
+function SearchBox(name, resultsPath, inFrame, label)
+{
+  if (!name || !resultsPath) {  alert("Missing parameters to SearchBox."); }
+
+  // ---------- Instance variables
+  this.name                  = name;
+  this.resultsPath           = resultsPath;
+  this.keyTimeout            = 0;
+  this.keyTimeoutLength      = 500;
+  this.closeSelectionTimeout = 300;
+  this.lastSearchValue       = "";
+  this.lastResultsPage       = "";
+  this.hideTimeout           = 0;
+  this.searchIndex           = 0;
+  this.searchActive          = false;
+  this.insideFrame           = inFrame;
+  this.searchLabel           = label;
+
+  // ----------- DOM Elements
+
+  this.DOMSearchField = function()
+  {  return document.getElementById("MSearchField");  }
+
+  this.DOMSearchSelect = function()
+  {  return document.getElementById("MSearchSelect");  }
+
+  this.DOMSearchSelectWindow = function()
+  {  return document.getElementById("MSearchSelectWindow");  }
+
+  this.DOMPopupSearchResults = function()
+  {  return document.getElementById("MSearchResults");  }
+
+  this.DOMPopupSearchResultsWindow = function()
+  {  return document.getElementById("MSearchResultsWindow");  }
+
+  this.DOMSearchClose = function()
+  {  return document.getElementById("MSearchClose"); }
+
+  this.DOMSearchBox = function()
+  {  return document.getElementById("MSearchBox");  }
+
+  // ------------ Event Handlers
+
+  // Called when focus is added or removed from the search field.
+  this.OnSearchFieldFocus = function(isActive)
+  {
+    this.Activate(isActive);
+  }
+
+  this.OnSearchSelectShow = function()
+  {
+    var searchSelectWindow = this.DOMSearchSelectWindow();
+    var searchField        = this.DOMSearchSelect();
+
+    if (this.insideFrame)
+    {
+      var left = getXPos(searchField);
+      var top  = getYPos(searchField);
+      left += searchField.offsetWidth + 6;
+      top += searchField.offsetHeight;
+
+      // show search selection popup
+      searchSelectWindow.style.display='block';
+      left -= searchSelectWindow.offsetWidth;
+      searchSelectWindow.style.left =  left + 'px';
+      searchSelectWindow.style.top  =  top  + 'px';
+    }
+    else
+    {
+      var left = getXPos(searchField);
+      var top  = getYPos(searchField);
+      top += searchField.offsetHeight;
+
+      // show search selection popup
+      searchSelectWindow.style.display='block';
+      searchSelectWindow.style.left =  left + 'px';
+      searchSelectWindow.style.top  =  top  + 'px';
+    }
+
+    // stop selection hide timer
+    if (this.hideTimeout)
+    {
+      clearTimeout(this.hideTimeout);
+      this.hideTimeout=0;
+    }
+    return false; // to avoid "image drag" default event
+  }
+
+  this.OnSearchSelectHide = function()
+  {
+    this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
+                                  this.closeSelectionTimeout);
+  }
+
+  // Called when the content of the search field is changed.
+  this.OnSearchFieldChange = function(evt)
+  {
+    if (this.keyTimeout) // kill running timer
+    {
+      clearTimeout(this.keyTimeout);
+      this.keyTimeout = 0;
+    }
+
+    var e  = (evt) ? evt : window.event; // for IE
+    if (e.keyCode==40 || e.keyCode==13)
+    {
+      if (e.shiftKey==1)
+      {
+        this.OnSearchSelectShow();
+        var win=this.DOMSearchSelectWindow();
+        for (i=0;i<win.childNodes.length;i++)
+        {
+          var child = win.childNodes[i]; // get span within a
+          if (child.className=='SelectItem')
+          {
+            child.focus();
+            return;
+          }
+        }
+        return;
+      }
+      else if (window.frames.MSearchResults.searchResults)
+      {
+        var elem = window.frames.MSearchResults.searchResults.NavNext(0);
+        if (elem) elem.focus();
+      }
+    }
+    else if (e.keyCode==27) // Escape out of the search field
+    {
+      this.DOMSearchField().blur();
+      this.DOMPopupSearchResultsWindow().style.display = 'none';
+      this.DOMSearchClose().style.display = 'none';
+      this.lastSearchValue = '';
+      this.Activate(false);
+      return;
+    }
+
+    // strip whitespaces
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+
+    if (searchValue != this.lastSearchValue) // search value has changed
+    {
+      if (searchValue != "") // non-empty search
+      {
+        // set timer for search update
+        this.keyTimeout = setTimeout(this.name + '.Search()',
+                                     this.keyTimeoutLength);
+      }
+      else // empty search field
+      {
+        this.DOMPopupSearchResultsWindow().style.display = 'none';
+        this.DOMSearchClose().style.display = 'none';
+        this.lastSearchValue = '';
+      }
+    }
+  }
+
+  this.SelectItemCount = function(id)
+  {
+    var count=0;
+    var win=this.DOMSearchSelectWindow();
+    for (i=0;i<win.childNodes.length;i++)
+    {
+      var child = win.childNodes[i]; // get span within a
+      if (child.className=='SelectItem')
+      {
+        count++;
+      }
+    }
+    return count;
+  }
+
+  this.SelectItemSet = function(id)
+  {
+    var i,j=0;
+    var win=this.DOMSearchSelectWindow();
+    for (i=0;i<win.childNodes.length;i++)
+    {
+      var child = win.childNodes[i]; // get span within a
+      if (child.className=='SelectItem')
+      {
+        var node = child.firstChild;
+        if (j==id)
+        {
+          node.innerHTML='&#8226;';
+        }
+        else
+        {
+          node.innerHTML='&#160;';
+        }
+        j++;
+      }
+    }
+  }
+
+  // Called when an search filter selection is made.
+  // set item with index id as the active item
+  this.OnSelectItem = function(id)
+  {
+    this.searchIndex = id;
+    this.SelectItemSet(id);
+    var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+    if (searchValue!="" && this.searchActive) // something was found -> do a search
+    {
+      this.Search();
+    }
+  }
+
+  this.OnSearchSelectKey = function(evt)
+  {
+    var e = (evt) ? evt : window.event; // for IE
+    if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
+    {
+      this.searchIndex++;
+      this.OnSelectItem(this.searchIndex);
+    }
+    else if (e.keyCode==38 && this.searchIndex>0) // Up
+    {
+      this.searchIndex--;
+      this.OnSelectItem(this.searchIndex);
+    }
+    else if (e.keyCode==13 || e.keyCode==27)
+    {
+      this.OnSelectItem(this.searchIndex);
+      this.CloseSelectionWindow();
+      this.DOMSearchField().focus();
+    }
+    return false;
+  }
+
+  // --------- Actions
+
+  // Closes the results window.
+  this.CloseResultsWindow = function()
+  {
+    this.DOMPopupSearchResultsWindow().style.display = 'none';
+    this.DOMSearchClose().style.display = 'none';
+    this.Activate(false);
+  }
+
+  this.CloseSelectionWindow = function()
+  {
+    this.DOMSearchSelectWindow().style.display = 'none';
+  }
+
+  // Performs a search.
+  this.Search = function()
+  {
+    this.keyTimeout = 0;
+
+    // strip leading whitespace
+    var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+    var code = searchValue.toLowerCase().charCodeAt(0);
+    var idxChar = searchValue.substr(0, 1).toLowerCase();
+    if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
+    {
+      idxChar = searchValue.substr(0, 2);
+    }
+
+    var resultsPage;
+    var resultsPageWithSearch;
+    var hasResultsPage;
+
+    var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+    if (idx!=-1)
+    {
+       var hexCode=idx.toString(16);
+       resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
+       resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+       hasResultsPage = true;
+    }
+    else // nothing available for this search term
+    {
+       resultsPage = this.resultsPath + '/nomatches.html';
+       resultsPageWithSearch = resultsPage;
+       hasResultsPage = false;
+    }
+
+    window.frames.MSearchResults.location = resultsPageWithSearch;
+    var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+    if (domPopupSearchResultsWindow.style.display!='block')
+    {
+       var domSearchBox = this.DOMSearchBox();
+       this.DOMSearchClose().style.display = 'inline';
+       if (this.insideFrame)
+       {
+         var domPopupSearchResults = this.DOMPopupSearchResults();
+         domPopupSearchResultsWindow.style.position = 'relative';
+         domPopupSearchResultsWindow.style.display  = 'block';
+         var width = document.body.clientWidth - 8; // the -8 is for IE :-(
+         domPopupSearchResultsWindow.style.width    = width + 'px';
+         domPopupSearchResults.style.width          = width + 'px';
+       }
+       else
+       {
+         var domPopupSearchResults = this.DOMPopupSearchResults();
+         var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+         var top  = getYPos(domSearchBox) + 20;  // domSearchBox.offsetHeight + 1;
+         domPopupSearchResultsWindow.style.display = 'block';
+         left -= domPopupSearchResults.offsetWidth;
+         domPopupSearchResultsWindow.style.top     = top  + 'px';
+         domPopupSearchResultsWindow.style.left    = left + 'px';
+       }
+    }
+
+    this.lastSearchValue = searchValue;
+    this.lastResultsPage = resultsPage;
+  }
+
+  // -------- Activation Functions
+
+  // Activates or deactivates the search panel, resetting things to
+  // their default values if necessary.
+  this.Activate = function(isActive)
+  {
+    if (isActive || // open it
+        this.DOMPopupSearchResultsWindow().style.display == 'block'
+       )
+    {
+      this.DOMSearchBox().className = 'MSearchBoxActive';
+
+      var searchField = this.DOMSearchField();
+
+      if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+      {
+        searchField.value = '';
+        this.searchActive = true;
+      }
+    }
+    else if (!isActive) // directly remove the panel
+    {
+      this.DOMSearchBox().className = 'MSearchBoxInactive';
+      this.DOMSearchField().value   = this.searchLabel;
+      this.searchActive             = false;
+      this.lastSearchValue          = ''
+      this.lastResultsPage          = '';
+    }
+  }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+    // The number of matches from the last run of <Search()>.
+    this.lastMatchCount = 0;
+    this.lastKey = 0;
+    this.repeatOn = false;
+
+    // Toggles the visibility of the passed element ID.
+    this.FindChildElement = function(id)
+    {
+      var parentElement = document.getElementById(id);
+      var element = parentElement.firstChild;
+
+      while (element && element!=parentElement)
+      {
+        if (element.nodeName == 'DIV' && element.className == 'SRChildren')
+        {
+          return element;
+        }
+
+        if (element.nodeName == 'DIV' && element.hasChildNodes())
+        {
+           element = element.firstChild;
+        }
+        else if (element.nextSibling)
+        {
+           element = element.nextSibling;
+        }
+        else
+        {
+          do
+          {
+            element = element.parentNode;
+          }
+          while (element && element!=parentElement && !element.nextSibling);
+
+          if (element && element!=parentElement)
+          {
+            element = element.nextSibling;
+          }
+        }
+      }
+    }
+
+    this.Toggle = function(id)
+    {
+      var element = this.FindChildElement(id);
+      if (element)
+      {
+        if (element.style.display == 'block')
+        {
+          element.style.display = 'none';
+        }
+        else
+        {
+          element.style.display = 'block';
+        }
+      }
+    }
+
+    // Searches for the passed string.  If there is no parameter,
+    // it takes it from the URL query.
+    //
+    // Always returns true, since other documents may try to call it
+    // and that may or may not be possible.
+    this.Search = function(search)
+    {
+      if (!search) // get search word from URL
+      {
+        search = window.location.search;
+        search = search.substring(1);  // Remove the leading '?'
+        search = unescape(search);
+      }
+
+      search = search.replace(/^ +/, ""); // strip leading spaces
+      search = search.replace(/ +$/, ""); // strip trailing spaces
+      search = search.toLowerCase();
+      search = convertToId(search);
+
+      var resultRows = document.getElementsByTagName("div");
+      var matches = 0;
+
+      var i = 0;
+      while (i < resultRows.length)
+      {
+        var row = resultRows.item(i);
+        if (row.className == "SRResult")
+        {
+          var rowMatchName = row.id.toLowerCase();
+          rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+          if (search.length<=rowMatchName.length &&
+             rowMatchName.substr(0, search.length)==search)
+          {
+            row.style.display = 'block';
+            matches++;
+          }
+          else
+          {
+            row.style.display = 'none';
+          }
+        }
+        i++;
+      }
+      document.getElementById("Searching").style.display='none';
+      if (matches == 0) // no results
+      {
+        document.getElementById("NoMatches").style.display='block';
+      }
+      else // at least one result
+      {
+        document.getElementById("NoMatches").style.display='none';
+      }
+      this.lastMatchCount = matches;
+      return true;
+    }
+
+    // return the first item with index index or higher that is visible
+    this.NavNext = function(index)
+    {
+      var focusItem;
+      while (1)
+      {
+        var focusName = 'Item'+index;
+        focusItem = document.getElementById(focusName);
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+        {
+          break;
+        }
+        else if (!focusItem) // last element
+        {
+          break;
+        }
+        focusItem=null;
+        index++;
+      }
+      return focusItem;
+    }
+
+    this.NavPrev = function(index)
+    {
+      var focusItem;
+      while (1)
+      {
+        var focusName = 'Item'+index;
+        focusItem = document.getElementById(focusName);
+        if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+        {
+          break;
+        }
+        else if (!focusItem) // last element
+        {
+          break;
+        }
+        focusItem=null;
+        index--;
+      }
+      return focusItem;
+    }
+
+    this.ProcessKeys = function(e)
+    {
+      if (e.type == "keydown")
+      {
+        this.repeatOn = false;
+        this.lastKey = e.keyCode;
+      }
+      else if (e.type == "keypress")
+      {
+        if (!this.repeatOn)
+        {
+          if (this.lastKey) this.repeatOn = true;
+          return false; // ignore first keypress after keydown
+        }
+      }
+      else if (e.type == "keyup")
+      {
+        this.lastKey = 0;
+        this.repeatOn = false;
+      }
+      return this.lastKey!=0;
+    }
+
+    this.Nav = function(evt,itemIndex)
+    {
+      var e  = (evt) ? evt : window.event; // for IE
+      if (e.keyCode==13) return true;
+      if (!this.ProcessKeys(e)) return false;
+
+      if (this.lastKey==38) // Up
+      {
+        var newIndex = itemIndex-1;
+        var focusItem = this.NavPrev(newIndex);
+        if (focusItem)
+        {
+          var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+          if (child && child.style.display == 'block') // children visible
+          {
+            var n=0;
+            var tmpElem;
+            while (1) // search for last child
+            {
+              tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+              if (tmpElem)
+              {
+                focusItem = tmpElem;
+              }
+              else // found it!
+              {
+                break;
+              }
+              n++;
+            }
+          }
+        }
+        if (focusItem)
+        {
+          focusItem.focus();
+        }
+        else // return focus to search field
+        {
+           parent.document.getElementById("MSearchField").focus();
+        }
+      }
+      else if (this.lastKey==40) // Down
+      {
+        var newIndex = itemIndex+1;
+        var focusItem;
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem && elem.style.display == 'block') // children visible
+        {
+          focusItem = document.getElementById('Item'+itemIndex+'_c0');
+        }
+        if (!focusItem) focusItem = this.NavNext(newIndex);
+        if (focusItem)  focusItem.focus();
+      }
+      else if (this.lastKey==39) // Right
+      {
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem) elem.style.display = 'block';
+      }
+      else if (this.lastKey==37) // Left
+      {
+        var item = document.getElementById('Item'+itemIndex);
+        var elem = this.FindChildElement(item.parentNode.parentNode.id);
+        if (elem) elem.style.display = 'none';
+      }
+      else if (this.lastKey==27) // Escape
+      {
+        parent.searchBox.CloseResultsWindow();
+        parent.document.getElementById("MSearchField").focus();
+      }
+      else if (this.lastKey==13) // Enter
+      {
+        return true;
+      }
+      return false;
+    }
+
+    this.NavChild = function(evt,itemIndex,childIndex)
+    {
+      var e  = (evt) ? evt : window.event; // for IE
+      if (e.keyCode==13) return true;
+      if (!this.ProcessKeys(e)) return false;
+
+      if (this.lastKey==38) // Up
+      {
+        if (childIndex>0)
+        {
+          var newIndex = childIndex-1;
+          document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+        }
+        else // already at first child, jump to parent
+        {
+          document.getElementById('Item'+itemIndex).focus();
+        }
+      }
+      else if (this.lastKey==40) // Down
+      {
+        var newIndex = childIndex+1;
+        var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+        if (!elem) // last child, jump to parent next parent
+        {
+          elem = this.NavNext(itemIndex+1);
+        }
+        if (elem)
+        {
+          elem.focus();
+        }
+      }
+      else if (this.lastKey==27) // Escape
+      {
+        parent.searchBox.CloseResultsWindow();
+        parent.document.getElementById("MSearchField").focus();
+      }
+      else if (this.lastKey==13) // Enter
+      {
+        return true;
+      }
+      return false;
+    }
+}
+
+function setKeyActions(elem,action)
+{
+  elem.setAttribute('onkeydown',action);
+  elem.setAttribute('onkeypress',action);
+  elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+  elem.setAttribute('class',attr);
+  elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+  var results = document.getElementById("SRResults");
+  for (var e=0; e<searchData.length; e++)
+  {
+    var id = searchData[e][0];
+    var srResult = document.createElement('div');
+    srResult.setAttribute('id','SR_'+id);
+    setClassAttr(srResult,'SRResult');
+    var srEntry = document.createElement('div');
+    setClassAttr(srEntry,'SREntry');
+    var srLink = document.createElement('a');
+    srLink.setAttribute('id','Item'+e);
+    setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
+    setClassAttr(srLink,'SRSymbol');
+    srLink.innerHTML = searchData[e][1][0];
+    srEntry.appendChild(srLink);
+    if (searchData[e][1].length==2) // single result
+    {
+      srLink.setAttribute('href',searchData[e][1][1][0]);
+      if (searchData[e][1][1][1])
+      {
+       srLink.setAttribute('target','_parent');
+      }
+      var srScope = document.createElement('span');
+      setClassAttr(srScope,'SRScope');
+      srScope.innerHTML = searchData[e][1][1][2];
+      srEntry.appendChild(srScope);
+    }
+    else // multiple results
+    {
+      srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
+      var srChildren = document.createElement('div');
+      setClassAttr(srChildren,'SRChildren');
+      for (var c=0; c<searchData[e][1].length-1; c++)
+      {
+        var srChild = document.createElement('a');
+        srChild.setAttribute('id','Item'+e+'_c'+c);
+        setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
+        setClassAttr(srChild,'SRScope');
+        srChild.setAttribute('href',searchData[e][1][c+1][0]);
+        if (searchData[e][1][c+1][1])
+        {
+         srChild.setAttribute('target','_parent');
+        }
+        srChild.innerHTML = searchData[e][1][c+1][2];
+        srChildren.appendChild(srChild);
+      }
+      srEntry.appendChild(srChildren);
+    }
+    srResult.appendChild(srEntry);
+    results.appendChild(srResult);
+  }
+}
+
+function init_search()
+{
+  var results = document.getElementById("MSearchSelectWindow");
+  for (var key in indexSectionLabels)
+  {
+    var link = document.createElement('a');
+    link.setAttribute('class','SelectItem');
+    link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
+    link.href='javascript:void(0)';
+    link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
+    results.appendChild(link);
+  }
+  searchBox.OnSelectItem(0);
+}
+
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/search_l.png b/BlankProjectTemplate/Doc/Design/MIS/html/search/search_l.png
new file mode 100644
index 0000000000000000000000000000000000000000..c872f4da4a01d0754f923e6c94fd8159c0621bd1
GIT binary patch
literal 604
zcmV-i0;BzjP)<h;3K|Lk000e1NJLTq000yK000vR1^@s6kc=(000009a7bBm000XU
z000XU0RWnu7ytkOAY({UO#lFGm;eBCjsO7QH~;{G)c^o`2LJ%dv;Y7zL;wIBc7!%6
zy#N3K;z>k7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W
zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&<Zo01f
zZnN3kY`5D4=NybN{0l51>~_1%^SsPxG<xm2?uTqPdy~uML^_>@rfE<VB|c%N(_!=Z
z{K<GczSVX8d8JYjrfDLTN<q^!2qC~2i$y2^V6|GMCzHviVzKzLTCF0V&%-bbNGZWN
zM_juAAlmIVpH8Q*Ow)W(uh(H&7Ia;QloFRfEEWrsh~Cy}HQll-7={5M1TF>lJg-?U
zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>|
z=jL2WIR<cCi@57?)-n-w_WS+O>eZzX(YN(_9fV;BBD$VXQIxNa<NVz1cK9FQiA3VZ
za=HBOI1YT@KU%-vc5K2%qwy;Ug4^M6=qwfs1VI2Iy0{$vX9d1^p7(h$7>sAL8AT<X
zQ%OWP91b`w^UiMrU@3(7=y{&o@Au!AN~OoqQ&d$IQp&#+3n3nihn*f;t(E{#C!#m1
qsx}S7C?=Chp=p}JIggdW?*RZc<<(x$?F{_@0000<MNUMnLSTX?9|#Tr

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/search_m.png b/BlankProjectTemplate/Doc/Design/MIS/html/search/search_m.png
new file mode 100644
index 0000000000000000000000000000000000000000..b429a16ba641960da1e52e5da85dc80fd82635c8
GIT binary patch
literal 158
zcmeAS@N?(olHy`uVBq!ia0vp^Oh7Em0U}M~ynTTbOS+@4BLl;=8&~`zjDUQ}64!{5
z;QX|b^2DN42FH~Aq*MjZ+{E<Mpwz^a%EFVWHb6xNo-U3d6}OUf^!3vd5)y3c{#bPU
z`teb@<JbTH_7jql7?`61bOfX$^6u_pUBbY`!?2W{-=^-N>vEu822WQ%mvv4FO#qs`
BFGc_W

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/search_r.png b/BlankProjectTemplate/Doc/Design/MIS/html/search/search_r.png
new file mode 100644
index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a
GIT binary patch
literal 612
zcmV-q0-ODbP)<h;3K|Lk000e1NJLTq000sI000vR1^@s6oswPh00009a7bBm000XU
z000XU0RWnu7ytkOAY({UO#lFGm;eBCjsO7QH~;{G)c^o`2LJ%dv;Y7zL;wIBc7!%6
zy#N3K>PbXFRCwB?)W514K@<k?Z}y+E3TvfSi=>j&X?z2*SxFI6-@HT2E2K=9X9%Pb
zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li
z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd
z{gaTC@_>b5h~;ug<MCL=as0uy?dOi;gaE*#lqVq~f|L?cN~CFuD2lLHEHE4nh3mTS
zYqi=<tJR7$#@Hzbj4>#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p
zD4<fQpkA+Q0A8%u>qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm
zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg
zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH
z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J<j<{$8qis?{G94
y;eY>8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000<MNUMnLSTZ*_y_g?

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/search/searchdata.js b/BlankProjectTemplate/Doc/Design/MIS/html/search/searchdata.js
new file mode 100644
index 0000000..4c71477
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/search/searchdata.js
@@ -0,0 +1,27 @@
+var indexSectionsWithContent =
+{
+  0: "_bdfghmrst",
+  1: "fghs",
+  2: "fhs",
+  3: "_bdfmrt",
+  4: "m"
+};
+
+var indexSectionNames =
+{
+  0: "all",
+  1: "classes",
+  2: "files",
+  3: "functions",
+  4: "pages"
+};
+
+var indexSectionLabels =
+{
+  0: "All",
+  1: "Classes",
+  2: "Files",
+  3: "Functions",
+  4: "Pages"
+};
+
diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/splitbar.png b/BlankProjectTemplate/Doc/Design/MIS/html/splitbar.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e
GIT binary patch
literal 314
zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc>
z_*`QK&+BH@jW<lVxsx`Ym~nPnqw$O~`M84{XS6<Mm0<Zit<Tk``D^RashfFq{wG<#
zZG2vRxL<$IhkFMSBd@N1`uRtp)t>rYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O
zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|E<fHWtM%;-WUJ&>EGLnJsniYK!2U1
Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/sync_off.png b/BlankProjectTemplate/Doc/Design/MIS/html/sync_off.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc
GIT binary patch
literal 853
zcmV-b1FHOqP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0009VNkl<ZcmeI*
zOK4PA7{KxW<S|JmGnqI|rb(KahDirA+8B+gVk8A)%pe9yF;+3L5iKZG7xuBS&@L(k
z33MTXOIxMHjirbWgs8M;qhM?(_-v^nS(KzU#%Ih_`hB-^XYSm&39)2*I6vmhow@fr
z=iKj{vvuv-e;!~uA+biR6pf-n<cdGVuox5<#BBg4c>oT|#XixUYy%lpuf3i8{fX!o
zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh
zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V
zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py;
zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK
zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh
zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO<q-Bsh$IuZaopT|9E
z-75alp&U9s%(|8uI^NA(#AD;nc=%{ivdZX(QFJ7~-yf%_Adjk`W@NhjJTyZ8*;|!n
z9=K#TJuZz+={YZ#>8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK&
z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sT<tBHx6XfOFDx2(ijpMiR>xLGlJY5nc&Re
zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y
zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb
zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E
f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j*

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/sync_on.png b/BlankProjectTemplate/Doc/Design/MIS/html/sync_on.png
new file mode 100644
index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76
GIT binary patch
literal 845
zcmV-T1G4;yP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0009NNkl<ZcmeI*
zUr1D09KiAKIOC-Ar)j4&EoU~y1|7@QCTmeCsMH~fFw#|0OWK8m>Y;xxyHF2B5Wzm|
zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I<ojWskx{8*sm){4kXJ+p2oO6HY
zoL5W7@h*VL_(ZL!7GaSmtl}SWU-XD;q7T4~4ZuW>_))aP?*T)ow&n59{}X4$3Goat
zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F<o_Z}1zllSWC8!Z+rkFN>={P0Y^?$4t
z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K
zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ
z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT
zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m
zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M
z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu
zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU#
z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+
z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a
z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$M<u9&-IHqnYs=DL+lbi3lG2ysF!p!_2H=p
zj-g89hmThki^;JHknVE4V`@zS$(ZbTd?1=dsrXLRiJbUBq7weAmVjEk@rP>j4Uq05
X8=0q~qBNan00000NkvXXu0mjfptF>5

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/tab_a.png b/BlankProjectTemplate/Doc/Design/MIS/html/tab_a.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247
GIT binary patch
literal 142
zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD#
z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD
r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/tab_b.png b/BlankProjectTemplate/Doc/Design/MIS/html/tab_b.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18
GIT binary patch
literal 169
zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr
z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn<f<Rf3mJ=+uzfrOMlc%s`x4TZtnrR|B~W{
zyZP0m7vvtXV80W5^J2vvp97)4WrPK1-P<H^B$Ll|TGvzm;+92|BpdT89$b1Qf7x5g
UZ&RH}7SL`6Pgg&ebxsLQ0A}n&iU0rr

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/tab_h.png b/BlankProjectTemplate/Doc/Design/MIS/html/tab_h.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd5cb705488e60fcf30f56fcc951dee74f3b095b
GIT binary patch
literal 177
zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QWc&qjv*C{Z}0jF9dr<AdpNI7
zaOs_6=O($9b?lc?Qk=SJVv5%FA{O^TY1^*qJ@<p}E}!uH_1eoPJ&tpVl={bg{Skd2
zp1FO|;|R90%G3WYZM5AU=A4%H?3qaQhHt%H9G|xYJ)ff*|MmI*zD3`*Z|LP?7d&26
cn!ZiLK0QM$CeyB_80ZEDPgg&ebxsLQ0C?O;!~g&Q

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/tab_s.png b/BlankProjectTemplate/Doc/Design/MIS/html/tab_s.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab478c95b67371d700a20869f7de1ddd73522d50
GIT binary patch
literal 184
zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QuUrLjv*C{Z|^p8HaRdjTwH7)
zC?wLlL}}I{)n%R&r+1}IGmDnq;&J#%V6)9VsYhS`O^BVBQlxOUep0c$RENLq#g8A$
z)z7%K_bI&n@J+X_=x}fJoEKed-$<>=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan
kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/html/tabs.css b/BlankProjectTemplate/Doc/Design/MIS/html/tabs.css
new file mode 100644
index 0000000..9cf578f
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/html/tabs.css
@@ -0,0 +1,60 @@
+.tabs, .tabs2, .tabs3 {
+    background-image: url('tab_b.png');
+    width: 100%;
+    z-index: 101;
+    font-size: 13px;
+    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+}
+
+.tabs2 {
+    font-size: 10px;
+}
+.tabs3 {
+    font-size: 9px;
+}
+
+.tablist {
+    margin: 0;
+    padding: 0;
+    display: table;
+}
+
+.tablist li {
+    float: left;
+    display: table-cell;
+    background-image: url('tab_b.png');
+    line-height: 36px;
+    list-style: none;
+}
+
+.tablist a {
+    display: block;
+    padding: 0 20px;
+    font-weight: bold;
+    background-image:url('tab_s.png');
+    background-repeat:no-repeat;
+    background-position:right;
+    color: #283A5D;
+    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+    text-decoration: none;
+    outline: none;
+}
+
+.tabs3 .tablist a {
+    padding: 0 10px;
+}
+
+.tablist a:hover {
+    background-image: url('tab_h.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+    text-decoration: none;
+}
+
+.tablist li.current a {
+    background-image: url('tab_a.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/Food_8py.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/Food_8py.tex
new file mode 100644
index 0000000..6e49c86
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/Food_8py.tex
@@ -0,0 +1,23 @@
+\hypertarget{Food_8py}{}\section{Food.\+py File Reference}
+\label{Food_8py}\index{Food.\+py@{Food.\+py}}
+
+
+implements an abstract data type for a snake\textquotesingle{}s food  
+
+
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item 
+class \hyperlink{classFood_1_1Food}{Food.\+Food}
+\begin{DoxyCompactList}\small\item\em An Abstract Data type which represents a one-\/unit of food. \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+implements an abstract data type for a snake\textquotesingle{}s food 
+
+\begin{DoxyAuthor}{Author}
+Usman Irfan 
+\end{DoxyAuthor}
+\begin{DoxyDate}{Date}
+11/09/2018 
+\end{DoxyDate}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/Makefile b/BlankProjectTemplate/Doc/Design/MIS/latex/Makefile
new file mode 100644
index 0000000..8cc3866
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/Makefile
@@ -0,0 +1,21 @@
+all: refman.pdf
+
+pdf: refman.pdf
+
+refman.pdf: clean refman.tex
+	pdflatex refman
+	makeindex refman.idx
+	pdflatex refman
+	latex_count=8 ; \
+	while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
+	    do \
+	      echo "Rerunning latex...." ;\
+	      pdflatex refman ;\
+	      latex_count=`expr $$latex_count - 1` ;\
+	    done
+	makeindex refman.idx
+	pdflatex refman
+
+
+clean:
+	rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/Snake_8py.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/Snake_8py.tex
new file mode 100644
index 0000000..ce95ab2
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/Snake_8py.tex
@@ -0,0 +1,23 @@
+\hypertarget{Snake_8py}{}\section{Snake.\+py File Reference}
+\label{Snake_8py}\index{Snake.\+py@{Snake.\+py}}
+
+
+implements an abstract data type for a snake  
+
+
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item 
+class \hyperlink{classSnake_1_1Snake}{Snake.\+Snake}
+\begin{DoxyCompactList}\small\item\em An Abstract Data type representing a snake character object. \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+implements an abstract data type for a snake 
+
+\begin{DoxyAuthor}{Author}
+Andy Hameed 
+\end{DoxyAuthor}
+\begin{DoxyDate}{Date}
+11/09/2018 
+\end{DoxyDate}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/annotated.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/annotated.tex
new file mode 100644
index 0000000..d03a0cd
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/annotated.tex
@@ -0,0 +1,7 @@
+\section{Class List}
+Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
+\item\contentsline{section}{\hyperlink{classFood_1_1Food}{Food.\+Food} \\*An Abstract Data type which represents a one-\/unit of food }{\pageref{classFood_1_1Food}}{}
+\item\contentsline{section}{\hyperlink{classInterface_1_1GUI}{Interface.\+G\+UI} \\*A Class that will contain useful functions in order for the creation of main interface }{\pageref{classInterface_1_1GUI}}{}
+\item\contentsline{section}{\hyperlink{classhighscore_1_1HighScore}{highscore.\+High\+Score} \\*A Class that will contain useful functions in order for the creation of highscore page }{\pageref{classhighscore_1_1HighScore}}{}
+\item\contentsline{section}{\hyperlink{classSnake_1_1Snake}{Snake.\+Snake} \\*An Abstract Data type representing a snake character object }{\pageref{classSnake_1_1Snake}}{}
+\end{DoxyCompactList}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/classFood_1_1Food.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/classFood_1_1Food.tex
new file mode 100644
index 0000000..32dce15
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/classFood_1_1Food.tex
@@ -0,0 +1,96 @@
+\hypertarget{classFood_1_1Food}{}\section{Food.\+Food Class Reference}
+\label{classFood_1_1Food}\index{Food.\+Food@{Food.\+Food}}
+
+
+An Abstract Data type which represents a one-\/unit of food.  
+
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item 
+def \hyperlink{classFood_1_1Food_ae4c3146df2eab1cffad7a10bab5b721f}{\+\_\+\+\_\+init\+\_\+\+\_\+} (self, block\+Size)
+\begin{DoxyCompactList}\small\item\em \hyperlink{classFood_1_1Food}{Food} constructor. \end{DoxyCompactList}\item 
+def \hyperlink{classFood_1_1Food_aad94875bc7f2f6c990b826c9dc40092f}{draw\+\_\+food} (self, location)
+\begin{DoxyCompactList}\small\item\em Draw method uses pygame to draw the food object on the window. \end{DoxyCompactList}\item 
+def \hyperlink{classFood_1_1Food_a4a84b471eb86eaab7414ce1f28915fd6}{redraw\+\_\+food} (self, x, y, location, screen\+Size)
+\begin{DoxyCompactList}\small\item\em redraw\+\_\+food method redraws the food on the screen randomly \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item 
+{\bfseries size}\hypertarget{classFood_1_1Food_a811a8754b4796d69534a0649520a5993}{}\label{classFood_1_1Food_a811a8754b4796d69534a0649520a5993}
+
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+An Abstract Data type which represents a one-\/unit of food. 
+
+\subsection{Constructor \& Destructor Documentation}
+\index{Food\+::\+Food@{Food\+::\+Food}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}}
+\index{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Food\+::\+Food@{Food\+::\+Food}}
+\subsubsection[{\texorpdfstring{\+\_\+\+\_\+init\+\_\+\+\_\+(self, block\+Size)}{__init__(self, blockSize)}}]{\setlength{\rightskip}{0pt plus 5cm}def Food.\+Food.\+\_\+\+\_\+init\+\_\+\+\_\+ (
+\begin{DoxyParamCaption}
+\item[{}]{self, }
+\item[{}]{block\+Size}
+\end{DoxyParamCaption}
+)}\hypertarget{classFood_1_1Food_ae4c3146df2eab1cffad7a10bab5b721f}{}\label{classFood_1_1Food_ae4c3146df2eab1cffad7a10bab5b721f}
+
+
+\hyperlink{classFood_1_1Food}{Food} constructor. 
+
+Initializes the size of the food, this needs to be the same as snake\textquotesingle{}s block size 
+\begin{DoxyParams}{Parameters}
+{\em block\+Size} & the width and height of the square block representing the food \\
+\hline
+\end{DoxyParams}
+
+
+\subsection{Member Function Documentation}
+\index{Food\+::\+Food@{Food\+::\+Food}!draw\+\_\+food@{draw\+\_\+food}}
+\index{draw\+\_\+food@{draw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}}
+\subsubsection[{\texorpdfstring{draw\+\_\+food(self, location)}{draw_food(self, location)}}]{\setlength{\rightskip}{0pt plus 5cm}def Food.\+Food.\+draw\+\_\+food (
+\begin{DoxyParamCaption}
+\item[{}]{self, }
+\item[{}]{location}
+\end{DoxyParamCaption}
+)}\hypertarget{classFood_1_1Food_aad94875bc7f2f6c990b826c9dc40092f}{}\label{classFood_1_1Food_aad94875bc7f2f6c990b826c9dc40092f}
+
+
+Draw method uses pygame to draw the food object on the window. 
+
+
+\begin{DoxyParams}{Parameters}
+{\em location} & A list which consists the x and y location of the food \\
+\hline
+\end{DoxyParams}
+\index{Food\+::\+Food@{Food\+::\+Food}!redraw\+\_\+food@{redraw\+\_\+food}}
+\index{redraw\+\_\+food@{redraw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}}
+\subsubsection[{\texorpdfstring{redraw\+\_\+food(self, x, y, location, screen\+Size)}{redraw_food(self, x, y, location, screenSize)}}]{\setlength{\rightskip}{0pt plus 5cm}def Food.\+Food.\+redraw\+\_\+food (
+\begin{DoxyParamCaption}
+\item[{}]{self, }
+\item[{}]{x, }
+\item[{}]{y, }
+\item[{}]{location, }
+\item[{}]{screen\+Size}
+\end{DoxyParamCaption}
+)}\hypertarget{classFood_1_1Food_a4a84b471eb86eaab7414ce1f28915fd6}{}\label{classFood_1_1Food_a4a84b471eb86eaab7414ce1f28915fd6}
+
+
+redraw\+\_\+food method redraws the food on the screen randomly 
+
+
+\begin{DoxyParams}{Parameters}
+{\em x} & is the location of snake\textquotesingle{}s x-\/axis head location \\
+\hline
+{\em y} & is the location of snake\textquotesingle{}s y-\/axis head location \\
+\hline
+{\em location} & is a list that gives the location of present food \\
+\hline
+{\em screen\+Size} & is the size of the screen \\
+\hline
+\end{DoxyParams}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item 
+\hyperlink{Food_8py}{Food.\+py}\end{DoxyCompactItemize}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/classInterface_1_1GUI.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/classInterface_1_1GUI.tex
new file mode 100644
index 0000000..281de84
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/classInterface_1_1GUI.tex
@@ -0,0 +1,99 @@
+\hypertarget{classInterface_1_1GUI}{}\section{Interface.\+G\+UI Class Reference}
+\label{classInterface_1_1GUI}\index{Interface.\+G\+UI@{Interface.\+G\+UI}}
+
+
+A Class that will contain useful functions in order for the creation of main interface.  
+
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item 
+def \hyperlink{classInterface_1_1GUI_aea50c45b0173d626777b9aee47a23591}{runfile} (runfilename)
+\begin{DoxyCompactList}\small\item\em A function for running other files. \end{DoxyCompactList}\item 
+def \hyperlink{classInterface_1_1GUI_a6e96c109143b0d74c039338673435280}{button} (Surface, color, Rect, width)
+\begin{DoxyCompactList}\small\item\em A method to create a button. \end{DoxyCompactList}\item 
+def \hyperlink{classInterface_1_1GUI_a1017c12e07fbe580fa27aa4c0c634b93}{text} (text, font\+Style, font\+Size, color, coord, surface)
+\begin{DoxyCompactList}\small\item\em A method to display text. \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+A Class that will contain useful functions in order for the creation of main interface. 
+
+\subsection{Member Function Documentation}
+\index{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!button@{button}}
+\index{button@{button}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}}
+\subsubsection[{\texorpdfstring{button(\+Surface, color, Rect, width)}{button(Surface, color, Rect, width)}}]{\setlength{\rightskip}{0pt plus 5cm}def Interface.\+G\+U\+I.\+button (
+\begin{DoxyParamCaption}
+\item[{}]{Surface, }
+\item[{}]{color, }
+\item[{}]{Rect, }
+\item[{}]{width}
+\end{DoxyParamCaption}
+)}\hypertarget{classInterface_1_1GUI_a6e96c109143b0d74c039338673435280}{}\label{classInterface_1_1GUI_a6e96c109143b0d74c039338673435280}
+
+
+A method to create a button. 
+
+This method will make a box on the interface 
+\begin{DoxyParams}{Parameters}
+{\em surface} & The background (surface) the box should be made on \\
+\hline
+{\em color} & The color of the button to be made \\
+\hline
+{\em Rect} & The coordinate of the button with the length and width \\
+\hline
+{\em width} & The width of the sides of button \\
+\hline
+\end{DoxyParams}
+\index{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!runfile@{runfile}}
+\index{runfile@{runfile}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}}
+\subsubsection[{\texorpdfstring{runfile(runfilename)}{runfile(runfilename)}}]{\setlength{\rightskip}{0pt plus 5cm}def Interface.\+G\+U\+I.\+runfile (
+\begin{DoxyParamCaption}
+\item[{}]{runfilename}
+\end{DoxyParamCaption}
+)}\hypertarget{classInterface_1_1GUI_aea50c45b0173d626777b9aee47a23591}{}\label{classInterface_1_1GUI_aea50c45b0173d626777b9aee47a23591}
+
+
+A function for running other files. 
+
+Executes another python file when this is selected, Given that the file is in same folder. 
+\begin{DoxyParams}{Parameters}
+{\em runfilename} & The name of the file to be executed \\
+\hline
+\end{DoxyParams}
+\index{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!text@{text}}
+\index{text@{text}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}}
+\subsubsection[{\texorpdfstring{text(text, font\+Style, font\+Size, color, coord, surface)}{text(text, fontStyle, fontSize, color, coord, surface)}}]{\setlength{\rightskip}{0pt plus 5cm}def Interface.\+G\+U\+I.\+text (
+\begin{DoxyParamCaption}
+\item[{}]{text, }
+\item[{}]{font\+Style, }
+\item[{}]{font\+Size, }
+\item[{}]{color, }
+\item[{}]{coord, }
+\item[{}]{surface}
+\end{DoxyParamCaption}
+)}\hypertarget{classInterface_1_1GUI_a1017c12e07fbe580fa27aa4c0c634b93}{}\label{classInterface_1_1GUI_a1017c12e07fbe580fa27aa4c0c634b93}
+
+
+A method to display text. 
+
+This function will print the text on the interface 
+\begin{DoxyParams}{Parameters}
+{\em text} & The text to be printed \\
+\hline
+{\em font\+Style} & The font Style of the text to be displayed \\
+\hline
+{\em font\+Size} & The size of the text written \\
+\hline
+{\em color} & The color of the text \\
+\hline
+{\em coord} & The coordinate at which the text should start displaying \\
+\hline
+{\em surface} & The background (surface) the text should be printed on \\
+\hline
+\end{DoxyParams}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item 
+Interface.\+py\end{DoxyCompactItemize}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/classSnake_1_1Snake.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/classSnake_1_1Snake.tex
new file mode 100644
index 0000000..ee11695
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/classSnake_1_1Snake.tex
@@ -0,0 +1,87 @@
+\hypertarget{classSnake_1_1Snake}{}\section{Snake.\+Snake Class Reference}
+\label{classSnake_1_1Snake}\index{Snake.\+Snake@{Snake.\+Snake}}
+
+
+An Abstract Data type representing a snake character object.  
+
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item 
+def \hyperlink{classSnake_1_1Snake_aeb38fdae78144abf6a84c7ba35af536a}{\+\_\+\+\_\+init\+\_\+\+\_\+} (self, block\+Size, direct, speed, axis)
+\begin{DoxyCompactList}\small\item\em \hyperlink{classSnake_1_1Snake}{Snake} constructor. \end{DoxyCompactList}\item 
+def \hyperlink{classSnake_1_1Snake_ad0507605e291c7ea3423021d4e718df3}{draw} (self, x, y)
+\begin{DoxyCompactList}\small\item\em Draw method uses pygame to draw the snake object. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item 
+{\bfseries speed}\hypertarget{classSnake_1_1Snake_a0b25a63b667813d471a04e3091304ad6}{}\label{classSnake_1_1Snake_a0b25a63b667813d471a04e3091304ad6}
+
+\item 
+{\bfseries direct}\hypertarget{classSnake_1_1Snake_afb56639cdb67222e4e31ca4cfffebd2d}{}\label{classSnake_1_1Snake_afb56639cdb67222e4e31ca4cfffebd2d}
+
+\item 
+{\bfseries size}\hypertarget{classSnake_1_1Snake_a886db89c556bb8e85c462c821b56089a}{}\label{classSnake_1_1Snake_a886db89c556bb8e85c462c821b56089a}
+
+\item 
+{\bfseries axis}\hypertarget{classSnake_1_1Snake_a3ed7ae05b60f642abc4184f349ef279a}{}\label{classSnake_1_1Snake_a3ed7ae05b60f642abc4184f349ef279a}
+
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+An Abstract Data type representing a snake character object. 
+
+\subsection{Constructor \& Destructor Documentation}
+\index{Snake\+::\+Snake@{Snake\+::\+Snake}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}}
+\index{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Snake\+::\+Snake@{Snake\+::\+Snake}}
+\subsubsection[{\texorpdfstring{\+\_\+\+\_\+init\+\_\+\+\_\+(self, block\+Size, direct, speed, axis)}{__init__(self, blockSize, direct, speed, axis)}}]{\setlength{\rightskip}{0pt plus 5cm}def Snake.\+Snake.\+\_\+\+\_\+init\+\_\+\+\_\+ (
+\begin{DoxyParamCaption}
+\item[{}]{self, }
+\item[{}]{block\+Size, }
+\item[{}]{direct, }
+\item[{}]{speed, }
+\item[{}]{axis}
+\end{DoxyParamCaption}
+)}\hypertarget{classSnake_1_1Snake_aeb38fdae78144abf6a84c7ba35af536a}{}\label{classSnake_1_1Snake_aeb38fdae78144abf6a84c7ba35af536a}
+
+
+\hyperlink{classSnake_1_1Snake}{Snake} constructor. 
+
+Initializes a \hyperlink{classSnake_1_1Snake}{Snake} object with its initial attributes 
+\begin{DoxyParams}{Parameters}
+{\em block\+Size} & the width and height of the square block representing the snake \\
+\hline
+{\em direct} & The direction of the snake\textquotesingle{}s movement \\
+\hline
+{\em speed} & The initial speed of the snake\textquotesingle{}s movement \\
+\hline
+\end{DoxyParams}
+
+
+\subsection{Member Function Documentation}
+\index{Snake\+::\+Snake@{Snake\+::\+Snake}!draw@{draw}}
+\index{draw@{draw}!Snake\+::\+Snake@{Snake\+::\+Snake}}
+\subsubsection[{\texorpdfstring{draw(self, x, y)}{draw(self, x, y)}}]{\setlength{\rightskip}{0pt plus 5cm}def Snake.\+Snake.\+draw (
+\begin{DoxyParamCaption}
+\item[{}]{self, }
+\item[{}]{x, }
+\item[{}]{y}
+\end{DoxyParamCaption}
+)}\hypertarget{classSnake_1_1Snake_ad0507605e291c7ea3423021d4e718df3}{}\label{classSnake_1_1Snake_ad0507605e291c7ea3423021d4e718df3}
+
+
+Draw method uses pygame to draw the snake object. 
+
+
+\begin{DoxyParams}{Parameters}
+{\em x} & The x-\/coordinate where the block should be drawn \\
+\hline
+{\em y} & The y-\/coordinate where the block should be drawn \\
+\hline
+\end{DoxyParams}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item 
+\hyperlink{Snake_8py}{Snake.\+py}\end{DoxyCompactItemize}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/classhighscore_1_1HighScore.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/classhighscore_1_1HighScore.tex
new file mode 100644
index 0000000..7c37e07
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/classhighscore_1_1HighScore.tex
@@ -0,0 +1,112 @@
+\hypertarget{classhighscore_1_1HighScore}{}\section{highscore.\+High\+Score Class Reference}
+\label{classhighscore_1_1HighScore}\index{highscore.\+High\+Score@{highscore.\+High\+Score}}
+
+
+A Class that will contain useful functions in order for the creation of highscore page.  
+
+
+\subsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item 
+def \hyperlink{classhighscore_1_1HighScore_a790e2026c698c7a97f3302a17d324a72}{runfile} (runfilename)
+\begin{DoxyCompactList}\small\item\em A function for running other files. \end{DoxyCompactList}\item 
+def \hyperlink{classhighscore_1_1HighScore_a5fad87aae40bcfc2f5a1b2c5726bf650}{text} (text, font\+Style, font\+Size, color, coord, surface)
+\begin{DoxyCompactList}\small\item\em A method to display text. \end{DoxyCompactList}\item 
+def \hyperlink{classhighscore_1_1HighScore_a857b76e0be22a3d5476690a253fdd604}{button} (Surface, color, Rect, width)
+\begin{DoxyCompactList}\small\item\em A method to create a button. \end{DoxyCompactList}\item 
+def \hyperlink{classhighscore_1_1HighScore_a9db9bf4036615d55829c96cd1d78ba88}{find\+Highscore} ()
+\begin{DoxyCompactList}\small\item\em Finds the highest score from the file. \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+A Class that will contain useful functions in order for the creation of highscore page. 
+
+\subsection{Member Function Documentation}
+\index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!button@{button}}
+\index{button@{button}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}}
+\subsubsection[{\texorpdfstring{button(\+Surface, color, Rect, width)}{button(Surface, color, Rect, width)}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+button (
+\begin{DoxyParamCaption}
+\item[{}]{Surface, }
+\item[{}]{color, }
+\item[{}]{Rect, }
+\item[{}]{width}
+\end{DoxyParamCaption}
+)}\hypertarget{classhighscore_1_1HighScore_a857b76e0be22a3d5476690a253fdd604}{}\label{classhighscore_1_1HighScore_a857b76e0be22a3d5476690a253fdd604}
+
+
+A method to create a button. 
+
+This method will make a box on the interface 
+\begin{DoxyParams}{Parameters}
+{\em surface} & The background (surface) the box should be made on \\
+\hline
+{\em color} & The color of the button to be made \\
+\hline
+{\em Rect} & The coordinate of the button with the length and width \\
+\hline
+{\em width} & The width of the sides of button \\
+\hline
+\end{DoxyParams}
+\index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!find\+Highscore@{find\+Highscore}}
+\index{find\+Highscore@{find\+Highscore}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}}
+\subsubsection[{\texorpdfstring{find\+Highscore()}{findHighscore()}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+find\+Highscore (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)}\hypertarget{classhighscore_1_1HighScore_a9db9bf4036615d55829c96cd1d78ba88}{}\label{classhighscore_1_1HighScore_a9db9bf4036615d55829c96cd1d78ba88}
+
+
+Finds the highest score from the file. 
+
+This writes the input from the file in an array and find the max number from it \index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!runfile@{runfile}}
+\index{runfile@{runfile}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}}
+\subsubsection[{\texorpdfstring{runfile(runfilename)}{runfile(runfilename)}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+runfile (
+\begin{DoxyParamCaption}
+\item[{}]{runfilename}
+\end{DoxyParamCaption}
+)}\hypertarget{classhighscore_1_1HighScore_a790e2026c698c7a97f3302a17d324a72}{}\label{classhighscore_1_1HighScore_a790e2026c698c7a97f3302a17d324a72}
+
+
+A function for running other files. 
+
+Executes another python file when this is selected, Given that the file is in same folder. 
+\begin{DoxyParams}{Parameters}
+{\em runfilename} & The name of the file to be executed \\
+\hline
+\end{DoxyParams}
+\index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!text@{text}}
+\index{text@{text}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}}
+\subsubsection[{\texorpdfstring{text(text, font\+Style, font\+Size, color, coord, surface)}{text(text, fontStyle, fontSize, color, coord, surface)}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+text (
+\begin{DoxyParamCaption}
+\item[{}]{text, }
+\item[{}]{font\+Style, }
+\item[{}]{font\+Size, }
+\item[{}]{color, }
+\item[{}]{coord, }
+\item[{}]{surface}
+\end{DoxyParamCaption}
+)}\hypertarget{classhighscore_1_1HighScore_a5fad87aae40bcfc2f5a1b2c5726bf650}{}\label{classhighscore_1_1HighScore_a5fad87aae40bcfc2f5a1b2c5726bf650}
+
+
+A method to display text. 
+
+This function will print the text on the interface 
+\begin{DoxyParams}{Parameters}
+{\em text} & The text to be printed \\
+\hline
+{\em font\+Style} & The font Style of the text to be displayed \\
+\hline
+{\em font\+Size} & The size of the text written \\
+\hline
+{\em color} & The color of the text \\
+\hline
+{\em coord} & The coordinate at which the text should start displaying \\
+\hline
+{\em surface} & The background (surface) the text should be printed on \\
+\hline
+\end{DoxyParams}
+
+
+The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
+\item 
+\hyperlink{highscore_8py}{highscore.\+py}\end{DoxyCompactItemize}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/doxygen.sty b/BlankProjectTemplate/Doc/Design/MIS/latex/doxygen.sty
new file mode 100644
index 0000000..3f21871
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/doxygen.sty
@@ -0,0 +1,477 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+
+% Packages used by this style file
+\RequirePackage{alltt}
+\RequirePackage{array}
+\RequirePackage{calc}
+\RequirePackage{float}
+\RequirePackage{ifthen}
+\RequirePackage{verbatim}
+\RequirePackage[table]{xcolor}
+\RequirePackage{longtable}
+\RequirePackage{tabu}
+\RequirePackage{tabularx}
+\RequirePackage{multirow}
+
+%---------- Internal commands used in this style file ----------------
+
+\newcommand{\ensurespace}[1]{%
+  \begingroup%
+    \setlength{\dimen@}{#1}%
+    \vskip\z@\@plus\dimen@%
+    \penalty -100\vskip\z@\@plus -\dimen@%
+    \vskip\dimen@%
+    \penalty 9999%
+    \vskip -\dimen@%
+    \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
+  \endgroup%
+}
+
+\newcommand{\DoxyLabelFont}{}
+\newcommand{\entrylabel}[1]{%
+  {%
+    \parbox[b]{\labelwidth-4pt}{%
+      \makebox[0pt][l]{\DoxyLabelFont#1}%
+      \vspace{1.5\baselineskip}%
+    }%
+  }%
+}
+
+\newenvironment{DoxyDesc}[1]{%
+  \ensurespace{4\baselineskip}%
+  \begin{list}{}{%
+    \settowidth{\labelwidth}{20pt}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\itemsep}{0pt}%
+    \setlength{\leftmargin}{\labelwidth+\labelsep}%
+    \renewcommand{\makelabel}{\entrylabel}%
+  }%
+  \item[#1]%
+}{%
+  \end{list}%
+}
+
+\newsavebox{\xrefbox}
+\newlength{\xreflength}
+\newcommand{\xreflabel}[1]{%
+  \sbox{\xrefbox}{#1}%
+  \setlength{\xreflength}{\wd\xrefbox}%
+  \ifthenelse{\xreflength>\labelwidth}{%
+    \begin{minipage}{\textwidth}%
+      \setlength{\parindent}{0pt}%
+      \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
+    \end{minipage}%
+  }{%
+   \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
+  }%
+}
+
+%---------- Commands used by doxygen LaTeX output generator ----------
+
+% Used by <pre> ... </pre>
+\newenvironment{DoxyPre}{%
+  \small%
+  \begin{alltt}%
+}{%
+  \end{alltt}%
+  \normalsize%
+}
+
+% Used by @code ... @endcode
+\newenvironment{DoxyCode}{%
+  \par%
+  \scriptsize%
+  \begin{alltt}%
+}{%
+  \end{alltt}%
+  \normalsize%
+}
+
+% Used by @example, @include, @includelineno and @dontinclude
+\newenvironment{DoxyCodeInclude}{%
+  \DoxyCode%
+}{%
+  \endDoxyCode%
+}
+
+% Used by @verbatim ... @endverbatim
+\newenvironment{DoxyVerb}{%
+  \footnotesize%
+  \verbatim%
+}{%
+  \endverbatim%
+  \normalsize%
+}
+
+% Used by @verbinclude
+\newenvironment{DoxyVerbInclude}{%
+  \DoxyVerb%
+}{%
+  \endDoxyVerb%
+}
+
+% Used by numbered lists (using '-#' or <ol> ... </ol>)
+\newenvironment{DoxyEnumerate}{%
+  \enumerate%
+}{%
+  \endenumerate%
+}
+
+% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
+\newenvironment{DoxyItemize}{%
+  \itemize%
+}{%
+  \enditemize%
+}
+
+% Used by description lists (using <dl> ... </dl>)
+\newenvironment{DoxyDescription}{%
+  \description%
+}{%
+  \enddescription%
+}
+
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
+% (only if caption is specified)
+\newenvironment{DoxyImage}{%
+  \begin{figure}[H]%
+    \begin{center}%
+}{%
+    \end{center}%
+  \end{figure}%
+}
+
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
+% (only if no caption is specified)
+\newenvironment{DoxyImageNoCaption}{%
+  \begin{center}%
+}{%
+  \end{center}%
+}
+
+% Used by @attention
+\newenvironment{DoxyAttention}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @author and @authors
+\newenvironment{DoxyAuthor}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @date
+\newenvironment{DoxyDate}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @invariant
+\newenvironment{DoxyInvariant}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @note
+\newenvironment{DoxyNote}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @post
+\newenvironment{DoxyPostcond}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @pre
+\newenvironment{DoxyPrecond}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @copyright
+\newenvironment{DoxyCopyright}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @remark
+\newenvironment{DoxyRemark}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @return and @returns
+\newenvironment{DoxyReturn}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @since
+\newenvironment{DoxySince}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @see
+\newenvironment{DoxySeeAlso}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @version
+\newenvironment{DoxyVersion}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @warning
+\newenvironment{DoxyWarning}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @internal
+\newenvironment{DoxyInternal}[1]{%
+  \paragraph*{#1}%
+}{%
+}
+
+% Used by @par and @paragraph
+\newenvironment{DoxyParagraph}[1]{%
+  \begin{list}{}{%
+    \settowidth{\labelwidth}{40pt}%
+    \setlength{\leftmargin}{\labelwidth}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\itemsep}{-4pt}%
+    \renewcommand{\makelabel}{\entrylabel}%
+  }%
+  \item[#1]%
+}{%
+  \end{list}%
+}
+
+% Used by parameter lists
+\newenvironment{DoxyParams}[2][]{%
+    \tabulinesep=1mm%
+    \par%
+    \ifthenelse{\equal{#1}{}}%
+      {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
+    {\ifthenelse{\equal{#1}{1}}%
+      {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
+      {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
+    }
+    \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
+    \hline%
+    \endfirsthead%
+    \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
+    \hline%
+    \endhead%
+}{%
+    \end{longtabu}%
+    \vspace{6pt}%
+}
+
+% Used for fields of simple structs
+\newenvironment{DoxyFields}[1]{%
+    \tabulinesep=1mm%
+    \par%
+    \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
+    \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+    \hline%
+    \endfirsthead%
+    \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+    \hline%
+    \endhead%
+}{%
+    \end{longtabu}%
+    \vspace{6pt}%
+}
+
+% Used for parameters within a detailed function description
+\newenvironment{DoxyParamCaption}{%
+  \renewcommand{\item}[2][]{##1 {\em ##2}}%
+}{%
+}
+
+% Used by return value lists
+\newenvironment{DoxyRetVals}[1]{%
+    \tabulinesep=1mm%
+    \par%
+    \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+    \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+    \hline%
+    \endfirsthead%
+    \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+    \hline%
+    \endhead%
+}{%
+    \end{longtabu}%
+    \vspace{6pt}%
+}
+
+% Used by exception lists
+\newenvironment{DoxyExceptions}[1]{%
+    \tabulinesep=1mm%
+    \par%
+    \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+    \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+    \hline%
+    \endfirsthead%
+    \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+    \hline%
+    \endhead%
+}{%
+    \end{longtabu}%
+    \vspace{6pt}%
+}
+
+% Used by template parameter lists
+\newenvironment{DoxyTemplParams}[1]{%
+    \tabulinesep=1mm%
+    \par%
+    \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+    \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+    \hline%
+    \endfirsthead%
+    \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+    \hline%
+    \endhead%
+}{%
+    \end{longtabu}%
+    \vspace{6pt}%
+}
+
+% Used for member lists
+\newenvironment{DoxyCompactItemize}{%
+  \begin{itemize}%
+    \setlength{\itemsep}{-3pt}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\topsep}{0pt}%
+    \setlength{\partopsep}{0pt}%
+}{%
+  \end{itemize}%
+}
+
+% Used for member descriptions
+\newenvironment{DoxyCompactList}{%
+  \begin{list}{}{%
+    \setlength{\leftmargin}{0.5cm}%
+    \setlength{\itemsep}{0pt}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\topsep}{0pt}%
+    \renewcommand{\makelabel}{\hfill}%
+  }%
+}{%
+  \end{list}%
+}
+
+% Used for reference lists (@bug, @deprecated, @todo, etc.)
+\newenvironment{DoxyRefList}{%
+  \begin{list}{}{%
+    \setlength{\labelwidth}{10pt}%
+    \setlength{\leftmargin}{\labelwidth}%
+    \addtolength{\leftmargin}{\labelsep}%
+    \renewcommand{\makelabel}{\xreflabel}%
+  }%
+}{%
+  \end{list}%
+}
+
+% Used by @bug, @deprecated, @todo, etc.
+\newenvironment{DoxyRefDesc}[1]{%
+  \begin{list}{}{%
+    \renewcommand\makelabel[1]{\textbf{##1}}%
+    \settowidth\labelwidth{\makelabel{#1}}%
+    \setlength\leftmargin{\labelwidth+\labelsep}%
+  }%
+}{%
+  \end{list}%
+}
+
+% Used by parameter lists and simple sections
+\newenvironment{Desc}
+{\begin{list}{}{%
+    \settowidth{\labelwidth}{20pt}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\itemsep}{0pt}%
+    \setlength{\leftmargin}{\labelwidth+\labelsep}%
+    \renewcommand{\makelabel}{\entrylabel}%
+  }
+}{%
+  \end{list}%
+}
+
+% Used by tables
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
+\newenvironment{TabularC}[1]%
+{\tabulinesep=1mm
+\begin{longtabu} spread 0pt [c]{*#1{|X[-1]}|}}%
+{\end{longtabu}\par}%
+
+\newenvironment{TabularNC}[1]%
+{\begin{tabu} spread 0pt [l]{*#1{|X[-1]}|}}%
+{\end{tabu}\par}%
+
+% Used for member group headers
+\newenvironment{Indent}{%
+  \begin{list}{}{%
+    \setlength{\leftmargin}{0.5cm}%
+  }%
+  \item[]\ignorespaces%
+}{%
+  \unskip%
+  \end{list}%
+}
+
+% Used when hyperlinks are turned off
+\newcommand{\doxyref}[3]{%
+  \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
+}
+
+% Used to link to a table when hyperlinks are turned on
+\newcommand{\doxytablelink}[2]{%
+  \ref{#1}%
+}
+
+% Used to link to a table when hyperlinks are turned off
+\newcommand{\doxytableref}[3]{%
+  \ref{#3}%
+}
+
+% Used by @addindex
+\newcommand{\lcurly}{\{}
+\newcommand{\rcurly}{\}}
+
+% Colors used for syntax highlighting
+\definecolor{comment}{rgb}{0.5,0.0,0.0}
+\definecolor{keyword}{rgb}{0.0,0.5,0.0}
+\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
+\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
+\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
+\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
+\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
+\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
+\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
+\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
+\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
+
+% Color used for table heading
+\newcommand{\tableheadbgcolor}{lightgray}%
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/files.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/files.tex
new file mode 100644
index 0000000..9543cff
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/files.tex
@@ -0,0 +1,6 @@
+\section{File List}
+Here is a list of all documented files with brief descriptions\+:\begin{DoxyCompactList}
+\item\contentsline{section}{\hyperlink{Food_8py}{Food.\+py} \\*Implements an abstract data type for a snake\textquotesingle{}s food }{\pageref{Food_8py}}{}
+\item\contentsline{section}{\hyperlink{highscore_8py}{highscore.\+py} \\*Implements the highscore interface }{\pageref{highscore_8py}}{}
+\item\contentsline{section}{\hyperlink{Snake_8py}{Snake.\+py} \\*Implements an abstract data type for a snake }{\pageref{Snake_8py}}{}
+\end{DoxyCompactList}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/highscore_8py.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/highscore_8py.tex
new file mode 100644
index 0000000..d36f4bf
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/highscore_8py.tex
@@ -0,0 +1,43 @@
+\hypertarget{highscore_8py}{}\section{highscore.\+py File Reference}
+\label{highscore_8py}\index{highscore.\+py@{highscore.\+py}}
+
+
+implements the highscore interface  
+
+
+\subsection*{Classes}
+\begin{DoxyCompactItemize}
+\item 
+class \hyperlink{classhighscore_1_1HighScore}{highscore.\+High\+Score}
+\begin{DoxyCompactList}\small\item\em A Class that will contain useful functions in order for the creation of highscore page. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+def \hyperlink{highscore_8py_a24956ded9e2477e6e67122f930ba18f2}{highscore.\+main} ()
+\begin{DoxyCompactList}\small\item\em Makes the highscore interface. \end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+implements the highscore interface 
+
+\begin{DoxyAuthor}{Author}
+Vaibhav Chadha 
+\end{DoxyAuthor}
+\begin{DoxyDate}{Date}
+11/09/2018 
+\end{DoxyDate}
+
+
+\subsection{Function Documentation}
+\index{highscore.\+py@{highscore.\+py}!main@{main}}
+\index{main@{main}!highscore.\+py@{highscore.\+py}}
+\subsubsection[{\texorpdfstring{main()}{main()}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+main (
+\begin{DoxyParamCaption}
+{}
+\end{DoxyParamCaption}
+)}\hypertarget{highscore_8py_file_a24956ded9e2477e6e67122f930ba18f2}{}\label{highscore_8py_file_a24956ded9e2477e6e67122f930ba18f2}
+
+
+Makes the highscore interface. 
+
+This will output the final interface using the class above which can be seen by executing this function. 
\ No newline at end of file
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/md_README.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/md_README.tex
new file mode 100644
index 0000000..d31d831
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/md_README.tex
@@ -0,0 +1 @@
+Use doxygen (or equivalent) to document the interface for your modules. 
\ No newline at end of file
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/refman.idx b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.idx
new file mode 100644
index 0000000..49fb737
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.idx
@@ -0,0 +1,33 @@
+\indexentry{Food.\+Food@{Food.\+Food}|hyperpage}{7}
+\indexentry{Food\+::\+Food@{Food\+::\+Food}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}|hyperpage}{7}
+\indexentry{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Food\+::\+Food@{Food\+::\+Food}|hyperpage}{7}
+\indexentry{Food\+::\+Food@{Food\+::\+Food}!draw\+\_\+food@{draw\+\_\+food}|hyperpage}{8}
+\indexentry{draw\+\_\+food@{draw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}|hyperpage}{8}
+\indexentry{Food\+::\+Food@{Food\+::\+Food}!redraw\+\_\+food@{redraw\+\_\+food}|hyperpage}{8}
+\indexentry{redraw\+\_\+food@{redraw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}|hyperpage}{8}
+\indexentry{Interface.\+G\+UI@{Interface.\+G\+UI}|hyperpage}{8}
+\indexentry{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!button@{button}|hyperpage}{9}
+\indexentry{button@{button}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}|hyperpage}{9}
+\indexentry{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!runfile@{runfile}|hyperpage}{9}
+\indexentry{runfile@{runfile}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}|hyperpage}{9}
+\indexentry{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!text@{text}|hyperpage}{9}
+\indexentry{text@{text}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}|hyperpage}{9}
+\indexentry{highscore.\+High\+Score@{highscore.\+High\+Score}|hyperpage}{10}
+\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!button@{button}|hyperpage}{10}
+\indexentry{button@{button}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{10}
+\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!find\+Highscore@{find\+Highscore}|hyperpage}{10}
+\indexentry{find\+Highscore@{find\+Highscore}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{10}
+\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!runfile@{runfile}|hyperpage}{10}
+\indexentry{runfile@{runfile}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{10}
+\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!text@{text}|hyperpage}{11}
+\indexentry{text@{text}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{11}
+\indexentry{Snake.\+Snake@{Snake.\+Snake}|hyperpage}{11}
+\indexentry{Snake\+::\+Snake@{Snake\+::\+Snake}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}|hyperpage}{12}
+\indexentry{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Snake\+::\+Snake@{Snake\+::\+Snake}|hyperpage}{12}
+\indexentry{Snake\+::\+Snake@{Snake\+::\+Snake}!draw@{draw}|hyperpage}{12}
+\indexentry{draw@{draw}!Snake\+::\+Snake@{Snake\+::\+Snake}|hyperpage}{12}
+\indexentry{Food.\+py@{Food.\+py}|hyperpage}{13}
+\indexentry{highscore.\+py@{highscore.\+py}|hyperpage}{13}
+\indexentry{highscore.\+py@{highscore.\+py}!main@{main}|hyperpage}{14}
+\indexentry{main@{main}!highscore.\+py@{highscore.\+py}|hyperpage}{14}
+\indexentry{Snake.\+py@{Snake.\+py}|hyperpage}{14}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ilg b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ilg
new file mode 100644
index 0000000..3e54b19
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ilg
@@ -0,0 +1,6 @@
+This is makeindex, version 2.15 [TeX Live 2015] (kpathsea + Thai support).
+Scanning input file refman.idx....done (33 entries accepted, 0 rejected).
+Sorting entries....done (176 comparisons).
+Generating output file refman.ind....done (77 lines written, 0 warnings).
+Output written in refman.ind.
+Transcript written in refman.ilg.
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ind b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ind
new file mode 100644
index 0000000..4a805be
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.ind
@@ -0,0 +1,77 @@
+\begin{theindex}
+
+  \item {\+\_\+\+\_\+init\+\_\+\+\_\+}
+    \subitem {Food\+::\+Food}, \hyperpage{7}
+    \subitem {Snake\+::\+Snake}, \hyperpage{12}
+
+  \indexspace
+
+  \item {button}
+    \subitem {highscore\+::\+High\+Score}, \hyperpage{10}
+    \subitem {Interface\+::\+G\+UI}, \hyperpage{9}
+
+  \indexspace
+
+  \item {draw}
+    \subitem {Snake\+::\+Snake}, \hyperpage{12}
+  \item {draw\+\_\+food}
+    \subitem {Food\+::\+Food}, \hyperpage{8}
+
+  \indexspace
+
+  \item {find\+Highscore}
+    \subitem {highscore\+::\+High\+Score}, \hyperpage{10}
+  \item {Food.\+Food}, \hyperpage{7}
+  \item {Food.\+py}, \hyperpage{13}
+  \item {Food\+::\+Food}
+    \subitem {\+\_\+\+\_\+init\+\_\+\+\_\+}, \hyperpage{7}
+    \subitem {draw\+\_\+food}, \hyperpage{8}
+    \subitem {redraw\+\_\+food}, \hyperpage{8}
+
+  \indexspace
+
+  \item {highscore.\+High\+Score}, \hyperpage{10}
+  \item {highscore.\+py}, \hyperpage{13}
+    \subitem {main}, \hyperpage{14}
+  \item {highscore\+::\+High\+Score}
+    \subitem {button}, \hyperpage{10}
+    \subitem {find\+Highscore}, \hyperpage{10}
+    \subitem {runfile}, \hyperpage{10}
+    \subitem {text}, \hyperpage{11}
+
+  \indexspace
+
+  \item {Interface.\+G\+UI}, \hyperpage{8}
+  \item {Interface\+::\+G\+UI}
+    \subitem {button}, \hyperpage{9}
+    \subitem {runfile}, \hyperpage{9}
+    \subitem {text}, \hyperpage{9}
+
+  \indexspace
+
+  \item {main}
+    \subitem {highscore.\+py}, \hyperpage{14}
+
+  \indexspace
+
+  \item {redraw\+\_\+food}
+    \subitem {Food\+::\+Food}, \hyperpage{8}
+  \item {runfile}
+    \subitem {highscore\+::\+High\+Score}, \hyperpage{10}
+    \subitem {Interface\+::\+G\+UI}, \hyperpage{9}
+
+  \indexspace
+
+  \item {Snake.\+py}, \hyperpage{14}
+  \item {Snake.\+Snake}, \hyperpage{11}
+  \item {Snake\+::\+Snake}
+    \subitem {\+\_\+\+\_\+init\+\_\+\+\_\+}, \hyperpage{12}
+    \subitem {draw}, \hyperpage{12}
+
+  \indexspace
+
+  \item {text}
+    \subitem {highscore\+::\+High\+Score}, \hyperpage{11}
+    \subitem {Interface\+::\+G\+UI}, \hyperpage{9}
+
+\end{theindex}
diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/refman.pdf b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..7690de2f8fdb93b71fbdb991cc37666527bad7bc
GIT binary patch
literal 75347
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

literal 0
HcmV?d00001

diff --git a/BlankProjectTemplate/Doc/Design/MIS/latex/refman.tex b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.tex
new file mode 100644
index 0000000..f458fdc
--- /dev/null
+++ b/BlankProjectTemplate/Doc/Design/MIS/latex/refman.tex
@@ -0,0 +1,167 @@
+\documentclass[twoside]{book}
+
+% Packages required by doxygen
+\usepackage{fixltx2e}
+\usepackage{calc}
+\usepackage{doxygen}
+\usepackage[export]{adjustbox} % also loads graphicx
+\usepackage{graphicx}
+\usepackage[utf8]{inputenc}
+\usepackage{makeidx}
+\usepackage{multicol}
+\usepackage{multirow}
+\PassOptionsToPackage{warn}{textcomp}
+\usepackage{textcomp}
+\usepackage[nointegrals]{wasysym}
+\usepackage[table]{xcolor}
+
+% Font selection
+\usepackage[T1]{fontenc}
+\usepackage[scaled=.90]{helvet}
+\usepackage{courier}
+\usepackage{amssymb}
+\usepackage{sectsty}
+\renewcommand{\familydefault}{\sfdefault}
+\allsectionsfont{%
+  \fontseries{bc}\selectfont%
+  \color{darkgray}%
+}
+\renewcommand{\DoxyLabelFont}{%
+  \fontseries{bc}\selectfont%
+  \color{darkgray}%
+}
+\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
+
+% Page & text layout
+\usepackage{geometry}
+\geometry{%
+  a4paper,%
+  top=2.5cm,%
+  bottom=2.5cm,%
+  left=2.5cm,%
+  right=2.5cm%
+}
+\tolerance=750
+\hfuzz=15pt
+\hbadness=750
+\setlength{\emergencystretch}{15pt}
+\setlength{\parindent}{0cm}
+\setlength{\parskip}{3ex plus 2ex minus 2ex}
+\makeatletter
+\renewcommand{\paragraph}{%
+  \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
+    \normalfont\normalsize\bfseries\SS@parafont%
+  }%
+}
+\renewcommand{\subparagraph}{%
+  \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
+    \normalfont\normalsize\bfseries\SS@subparafont%
+  }%
+}
+\makeatother
+
+% Headers & footers
+\usepackage{fancyhdr}
+\pagestyle{fancyplain}
+\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
+\fancyhead[CE]{\fancyplain{}{}}
+\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
+\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
+\fancyhead[CO]{\fancyplain{}{}}
+\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
+\fancyfoot[LE]{\fancyplain{}{}}
+\fancyfoot[CE]{\fancyplain{}{}}
+\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
+\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
+\fancyfoot[CO]{\fancyplain{}{}}
+\fancyfoot[RO]{\fancyplain{}{}}
+\renewcommand{\footrulewidth}{0.4pt}
+\renewcommand{\chaptermark}[1]{%
+  \markboth{#1}{}%
+}
+\renewcommand{\sectionmark}[1]{%
+  \markright{\thesection\ #1}%
+}
+
+% Indices & bibliography
+\usepackage{natbib}
+\usepackage[titles]{tocloft}
+\setcounter{tocdepth}{3}
+\setcounter{secnumdepth}{5}
+\makeindex
+
+% Hyperlinks (required, but should be loaded last)
+\usepackage{ifpdf}
+\ifpdf
+  \usepackage[pdftex,pagebackref=true]{hyperref}
+\else
+  \usepackage[ps2pdf,pagebackref=true]{hyperref}
+\fi
+\hypersetup{%
+  colorlinks=true,%
+  linkcolor=blue,%
+  citecolor=blue,%
+  unicode%
+}
+
+% Custom commands
+\newcommand{\clearemptydoublepage}{%
+  \newpage{\pagestyle{empty}\cleardoublepage}%
+}
+
+\usepackage{caption}
+\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
+
+%===== C O N T E N T S =====
+
+\begin{document}
+
+% Titlepage & ToC
+\hypersetup{pageanchor=false,
+             bookmarksnumbered=true,
+             pdfencoding=unicode
+            }
+\pagenumbering{roman}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}%
+{\Large Snake }\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.8.11}\\
+\end{center}
+\end{titlepage}
+\clearemptydoublepage
+\tableofcontents
+\clearemptydoublepage
+\pagenumbering{arabic}
+\hypersetup{pageanchor=true}
+
+%--- Begin generated contents ---
+\chapter{Module Interface Specification}
+\label{md_README}
+\hypertarget{md_README}{}
+\input{md_README}
+\chapter{Class Index}
+\input{annotated}
+\chapter{File Index}
+\input{files}
+\chapter{Class Documentation}
+\input{classFood_1_1Food}
+\input{classInterface_1_1GUI}
+\input{classhighscore_1_1HighScore}
+\input{classSnake_1_1Snake}
+\chapter{File Documentation}
+\input{Food_8py}
+\input{highscore_8py}
+\input{Snake_8py}
+%--- End generated contents ---
+
+% Index
+\backmatter
+\newpage
+\phantomsection
+\clearemptydoublepage
+\addcontentsline{toc}{chapter}{Index}
+\printindex
+
+\end{document}
-- 
GitLab